@charset "utf-8";

/*----------------------------------------------
共通設定
---------------------------------------------*/

.c_tac {
	text-align: center;
}

.c_tar {
	text-align: right;
}
.c_tal {
	text-align: left;
}
.c_flexc {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.c_link {
	transition: .3s;
}

.c_link:hover {
	filter: opacity(0.7);
}

/*幅の設定
---------------------------------------------*/
.c_page_head{
	padding: 100px 0;
}


/*----------------------------------------------
共通タイトル
---------------------------------------------*/
.c_ttl {
	display: flex;
	flex-direction: column;
	gap: 5px;
}

.c_ttl-c {
	align-items: center;
}

.c_ttl_en {
	font-weight: 700;
	font-size: 2.5rem;
	letter-spacing: 1rem;
	line-height: 1;
}

.c_ttl_jp {
	font-weight: 700;
	font-size: 4.5rem;
	line-height: 1;
}


/* Major Components */
.d-flex{
	display: flex;
}

.justify-content-between{
	justify-content: space-between;
}
.justify-content-start{
	justify-content: start;
}
.justify-content-center{
	justify-content: center !important;
}
.justify-content-end{
	justify-content: end;
}
.align-items-start{
	align-items: start  !important;
}
.align-items-center{
	align-items: center;
}
.align-items-end{
	align-items: end;
}
.lp-container{
	max-width: 1200px;
	margin: auto;
}
.cursor_pointer{
	cursor: pointer;
}
.gap-3{
	gap: 3;
}

.gap-5{
	gap: 5;
}
.s_left_container, .s_right_container{
	width: 50%;
}
.s_paragraph_container{
	line-height: 35px;
	max-width: 490px;
	font-size: var(--paragraph-font);
}
.primary-color{
	color: var(--primary-color);
}
.first-btn-color, .first-bg-color{
	background: var(--accent-one-color);
}
.first-btn-light-color, .first-bg-light-color{
	background: var(--accent-light-green-color);
}
.secondary-btn-color, .secondary-bg-color, .main_btn_arrow {
	background: var(--accent-two-color);
}
.tertiary-btn-color, .tertiary-bg-color{
	background: var(--accent-three-color);
}
.fourth-btn-color, .fourth-bg-color{
	background: var(--accent-four-color);
}
.fourth-btn-light-color, .fourth-bg-light-color{
	background: var(--accent-light-blue-color);
}
.news-btn-green {
	background: var(--accent-three-color)
}
/* .primary-bg-color{
	background: #4ebc8591
}
.secondary-bg-color{
	background: #95bc4e8b
} */
/* .tertiary-bg-color{
	background: #4e92bc91
} */

.primary-font-color{
	color: var(--primary-color);
}
.first-font-color{
	color: var(--accent-one-color);
}
.secondary-font-color{
	color: var(--accent-two-color);
}
.tertiary-font-color{
	color: var(--accent-three-color);
}
.fourth-font-color {
	color: var(--accent-four-color);
}
.c_spacer{
	padding-top: 100px;
}


/* Text */
.c_normal{
	font-weight: 400;
}
.c_medium{
	font-weight: 500;
}
.c_semibold{
	font-weight: 600;
}
.c_bold{
	font-weight: 700;
}
.c_bolder{
	font-weight: 800;
}
.c_black{
	font-weight: 900;
}

.c_fs_20{
	font-size: 1.25em;
}


/* color */
.c_accent_one_color{
	color: var(--accent-one-color);
}
.c_accent_two_color{
	color: var(--accent-two-color);
}
.c_accent_three_color{
	color: var(--accent-three-color);
}
.c_accent_four_color{
	color: var(--accent-four-color);
}

/* font family */
.c_primary_font{
	font-family: var(--primary-font);
}
.c_secondary_font{
	font-family: var(--secondary-font);
}

/* Wordbreak */
.c_break_nsm{
	display: none;
}
.c_link h2{
	font-family: var(--primary-font);
	font-weight: 500;
	font-size: 20px;
	line-height: 24px;
	letter-spacing: 1%;
	text-align: center;
	color: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
}

@media (max-width: 1200px) {
	.c_spacer{
		padding-top: 50px;
	}
}
@media (max-width: 500px) {
	.c_break_sm{
		display: none;
	}
	.c_break_nsm{
		display: flex;
	}
	.c_link{
		flex-direction: column;
	}
}
@media (max-width: 768px){
	.c_link{
		display: flex;
		justify-content: center;
		align-items: center;
	}
	.c_link .l_footer_logo{
		display: flex;
		width: 100%;
	}
	 .c_link h2{
		width: fit-content;
	}
}
/*----------------------------------------------
共通の動き
---------------------------------------------*/

.c_poyo,
.c_fuwa,
.c_mvfade,
.c_fadeUp,
.c_fadeLeft,
.c_fadeRight,
.c_fadeScale {
	opacity: 0;
}

/* その場で */
.is_fadeIn {
	animation-name: fadeInAnime;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeInAnime {
	from {
		opacity: 0;
	}

	to {
		opacity: 1;
	}
}

/* 下から */

.is_fadeUp {
	animation-name: fadeUpAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeUpAnime {
	from {
		opacity: 0;
		transform: translateY(100px);
	}

	to {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 右から */
.is_fadeRight {
	animation-name: fadeRightAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeRightAnime {
	from {
		opacity: 0;
		transform: translateX(100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.is_fadeRight_Half_Opacity {
	animation-name: fadeRightHalfOpacity;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeRightHalfOpacity {
	from {
		opacity: 0;
		transform: translateX(100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

/* 左から */
.is_fadeLeft {
	animation-name: fadeLeftAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeLeftAnime {
	from {
		opacity: 0;
		transform: translateX(-100px);
	}

	to {
		opacity: 1;
		transform: translateX(0);
	}
}

.is_fadeLeft_Half_Opacity  {
	animation-name: fadeLeftHalfOpacity;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;
}

@keyframes fadeLeftHalfOpacity {
	from {
		opacity: 0;
		transform: translateX(-100px);
	}

	to {
		opacity: .5;
		transform: translateX(0);
	}
}

.is_fadeScale {
	animation-name: fadeScaleAnime;
	animation-duration: 0.5s;
	animation-fill-mode: forwards;
	opacity: 0;

}

@keyframes fadeScaleAnime {
	from {
		transform: scale(0.5) translateY(200px);
		opacity: 0;
	}

	to {
		opacity: 1;
		transform: scale(1) translateY(0px);
	}
}

.is_poyo {
	animation: poyoyon2 1s ease-in-out forwards;
}

@keyframes poyoyon2 {
	0% {
		transform: scale(1.0, 1.0) translate(0, 0);
	}

	15% {
		transform: scale(0.98, 0.9) translate(0, 5px);
	}

	30% {
		transform: scale(1.02, 1.0) translate(0, 8px);
	}

	50% {
		transform: scale(0.98, 1.05) translate(0, -8px);
	}

	70% {
		transform: scale(1.0, 0.9) translate(0, 5px);
	}

	100% {
		transform: scale(1.0, 1.0) translate(0, 0);
	}

	0%,
	100% {
		opacity: 1;
	}
}

/* Pages */
.c_pages{
	padding-bottom: 0px;
	width: 100%;
	/* overflow: hidden; */
	overflow: visible;
}

.c_pages .lp-container{
	max-width: 1200px;
	padding: var(--padding-container);
}
.section_pages{
	width: 100%;
}
.section_pages .lp-container{
	max-width: 1200px;
	padding: var(--padding-container);
}
.c_pages .c_title_sub, .section_pages .c_title_sub{
	font-size: 1.5em
}
/* Arrow Button Component*/
.c_arrow, .main_btn_arrow{
	border-radius: 360px;
	padding: var(--padding-regular);
	min-width: 40px;
	max-width: 40px;
	width: 100%;
	height: 40px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.c_arrow{
	margin-left: 10px;
	transition: all .6s ease-in-out;
}
.c_arrow:hover{
	transform: scale(1.3);
	transition: .6s ease-in-out;
}
.c_arrow:hover .c_arrow_right{
	transform: scale(.9);
	transition-delay: 1s;
	transition: 1s ease-in-out;
}

.main_btn_arrow{
	margin-right: 10px;
}
.secondary-arrow-btn{
	background: var(--accent-two-color);
}
.tertiary-arrow-btn{
	background: var(--accent-three-color);
}
.fourth-arrow-btn, .primary-btn-color{
	background: var(--accent-four-color);
}
.transparent-arrow-btn{
	border: 1px solid var(--secondary-color);
	background: transparent;
}
.lime-arrow-btn, .green-arrow-btn{
	background: var(--secondary-color);
}

/* Section Title Component*/

.c_title_header{
	font-family: var(--primary-font);
	font-size: var(--header-font);
	font-style: normal;
	font-weight: 700;
	line-height: 40px;
}

.c_title_sub{
	font-family: var(--secondary-font);
	font-size: var(--sub-font);
	font-style: normal;
	font-weight: 600;
	line-height: 20px;
}

/* Main Button with arrow Component*/
.c_main_button {
	position: relative;
	width: 100%;
	max-width: 300px;
	height: auto;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 10px;
	border-radius: 100px;
	border: 1px solid var(--primary-color);
	transition: all ease .3s;
}
.main_btn_arrow{
	position: absolute;
	transition: all ease .3s;
	left: 10px;
}
.c_button-title{
	font-family: var(--primary-font);
	font-size: 1.375em;
	font-style: normal;
	font-weight: 600;
	line-height: 40px;
	color: var(--primary-color);
	transition: all ease .3s;
}
.c_main_button:hover .main_btn_arrow
{
	transform: translateX(600%);
}


/* page title componet */
.c_page_title_container{
	display: flex;
	align-items: center;
	justify-content: start;
	height: 100%;
	padding: var(--padding-container);
}
.c_title_border{
	width: 16px;
	height: 100%;
	min-height: 110px;
	border-radius: 10px;
	background: var(--accent-four-color);
	opacity: 40%;
	margin-right: 10px;
}
.c_title_header_jpn{
	color: var(--primary-color);
	font-size: var(--header-font);
	font-family: var(--primary-font);
	font-weight: 500;
	line-height: 40px;
	word-wrap: break-word
}
.c_title_sub_en{
	color: var(--primary-color);
	font-size: 4.375em;
	line-height: 75px;
	font-family: var(--secondary-font);
	font-weight: 400;
	letter-spacing: 3.50px;
	word-wrap: break-word
}

@media (max-width: 500px) {
	.c_title_sub_en{
		font-size: 3.5em !important;
	}
	.c_title_border{
		min-height: 90px;
	}
}
/* Floating Component */
.c_topic_parent_container{
	width: 100%;
	display: flex;
	justify-content: center;
	margin-top: 50px;
}
.c_topic_container{
	position: relative;
	background: rgba(255, 255, 255, 75%);
	padding: var(--padding-medium-container);
	border-radius: 20px;
	width: 100%;
	max-width: 400px;
	height: auto;                /* Dynamic height based on layout */
	min-height: max-content;     /* Scales fluidly with dynamic elements */
	filter: drop-shadow(0 0 5px rgba(88, 88, 88, 0.25));
	margin-top: 0px;
}
.c_topic_title_container{
	margin-bottom: 20px;
	color: var(--primary-color);
}
.c_topic_title_container img{
	margin: auto;
	text-align: center;
}
.c_topic_list{
	list-style: unstyled;
}

.c_topic_list_item, .c_topic_content{
	display: flex;
	justify-content: space-between;
	align-items: center;
}
.c_topic_list_item{
	border-top: 1px solid var(--primary-color);
	padding: 12px 0;             /* Enhanced padding for shorter heights */
	color: var(--primary-color);
}
.c_topic_list_item:hover {
	color: var(--accent-two-color);
}
.c_topic_list_item:hover .c_topic_content_topic{
	color: var(--accent-four-color);
}

.c_topic_list_item:hover .c_arrow{
	transform: scale(1.3);
	transition: .6s ease-in-out;
}
.c_topic_list_item:hover .c_arrow:hover .c_arrow_right{
	transform: scale(.9);
	transition-delay: 1s;
	transition: 1s ease-in-out;
}
.c_topic_content_topic{
	font-family: var(--secondary-font);
	font-size: var(--paragraph-font);
	color: var(--primary-color);
	font-weight: 500;
	font-style: normal;
	line-height: normal;
	margin-right: 20px;
}

.c_element_container{
	position: relative;
	width: 100%;
	padding-top: 450px;
}
.element_top-left{
	position: absolute;
	background: var(--accent-two-color);
	width: 100%;
	max-width: 330px;
	height: 250px;
	border-radius: 50% 10px 10px 50%;
	opacity: 50%;
	right: 0%;
	top: 30%;
}
.element_bottom-left{
	position: absolute;
	background: var(--accent-five-color);
	width: 100%;
	max-width: 330px;
	height: 300px;
	border-radius: 10px 50% 50% 10px;
	opacity: 50%;
	bottom: -20%;
	left: 10%;
}
@media (max-width: 1200px) {
	.c_element_container {
		position: absolute;
		width: 100%;
		padding-top: 350px;
	}
	.element_top-left{
		max-width: 250px;
		height: 200px;
		right: 0%;
		top: -20%;
	}
	.element_bottom-left{
		max-width: 280px;
		height: 230px;
		bottom: -50%;
		left: 0%;
	}
}
@media (height: 800px) {
	.c_topic_parent_container{
		margin-top: 0px;
	}
	.c_element_container{
		padding-top: 350px;
	}
	.element_top-left{
		max-width: 250px;
		height: 200px;
		right: 0%;
		top: 30%;
	}
	.element_bottom-left{
		max-width: 280px;
		height: 230px;
		bottom: -20%;
		left: 10%;
	}
}
@media (max-width: 500px) {
	.c_topic_parent_container{
		padding: var(--padding-container);
	}
    .element_bottom-left {
        left: 0% !important;
        top: 40%;
    }
	.c_topic_container {
		max-width: 400px;
		height: auto;        /* Dynamic height for mobile */
	}
	.c_pages .c_title_header, .c_pages .c_title_sub{
		font-size: 1.5em;
		line-height: 1.2;
	}
}
@media (max-height: 750px) {
	.element_bottom-left {
		max-width: 230px;
		height: 200px;
		bottom: 20%;
	}
	.c_element_container {
		padding-top: 350px;
	}
	.element_top-left {
		max-width: 230px;
		height: 200px;
	}
	.c_topic_parent_container {
		margin-top: -100px; 
	}
}
/* list component */
.c_list{
	list-style: unstyled;
}
.c_item{
	height: 100%;
	padding: var(--padding-container);
	border-radius: 10px;
}
.c_list_item {
    display: flex;         
    width: 100%;
	gap: 10px;
	margin-bottom: 10px;
	align-items: stretch !important;
	justify-content: stretch;
}

.c_left_item {
	display: flex; 
	align-self: stretch;
	justify-content: stretch;
    flex: 0 0 17%;    
	min-height: 100%;      
    align-items: center; 
	border-right: 10px white;
	height: auto;
	min-width: 160px;
}
.c_right_item {
	display: flex; 
	align-self: stretch;
	justify-content: stretch;
    flex: 1;           
	flex-direction: column;  
	background: var(--grey-color);
	height: auto;
}
.c_item_title, .c_item_description{
	color: var(--primary-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 500;
	line-height: normal;
}
#job .c_item_description_title{
	margin-bottom: 0;
}
.c_company_multi_items .c_item_description_title:first-child{
	margin-bottom: 0 !important; 
}
.c_item_description_title{
	color: var(--primary-color);
	font-family: var(--primary-font);
	font-size: 1.5em;
	font-style: normal;
	font-weight: 500;
	line-height: 25px;
	margin-bottom: 10px;
}


.c_item_title_large{
	font-family: var(--secondary-font);
	font-size: 3em  !important;
	text-align: center !important;
}


@media (max-width: 500px) {
	.c_left_item {
		min-width: 110px;
	}
	.c_left_item{
		flex: 0 0 13%; 
	}
	.c_item_title_large{
		font-size: 1.75em  !important;
	}
}


/* News */
.news_page{
	display: flex;
}
.c_page_container{
	width: 70%;
	display: flex;
	flex-direction: column;
	justify-content: start;
	align-items: end;
	margin-top: 100px;
}
.c_static_container{
	position: -webkit-sticky;
    position: sticky;
    top: 0;            
    width: 30%;           
    height: 100vh; 
    align-self: flex-start; 
	margin-bottom: 150px;
}
.c_standard_container{
	position: relative;
	width: 30%;
	height: 100%;
}
.c_section_container{
	width: 100%;
	max-width: 1000px;
}
.c_page_img{
	width: 100%;
	margin-top: 10px;
	border-radius: 0 460px 460px 0;
}
.c_bottom_container{
	display: none;
}
@media (max-width: 1200px) {
	.c_standard_container{
		margin: 100px 0;
	}
	.c_page_container{
		width: 100%;
	}
	.c_bottom_container{
		display: flex;
		width: 100%;
		padding-top: 100px;
	}
	.c_top_container{
		display: none;
	}
	.c_page_img_container{
		padding-right: 20px;
	}
	.c_section_container {
		width: 100%;
		max-width: 1100px;
		margin: auto;
	}
	.c_pages_section_container{
		width: 100%;
		max-width: 1100px;
		margin: auto;	
	}
}

@media (max-width: 500px) {
	.c_standard_container .c_topic_parent_container {
		margin-top: 0px !important;
	}
    .element_top-left {
        max-width: 120px !important;
        height: 100px !important;
        top: 0% !important;
    }
	.element_bottom-left {
        max-width: 180px !important;
        height: 130px !important;
        bottom: -20% !important;
    }
	.c_standard_container {
        margin: 20px 0;
    }
	.c_pages_section_container{
		margin-bottom: 30px !important;	
	}
}
.s_news_container{
	padding: var(--padding-container);
}

.s_news_list{
	list-style: unstyled;
	border-top: 1px solid var(--primary-color);

}

.s_news_list_item, .s_news_content{
	display: flex;
    justify-content: flex-start;
    align-items: center;
    width: stretch;
}
.s_news_list_item{
	border-bottom: 1px solid var(--primary-color);
	padding: 15px 0;
	color: var(--primary-color);
}
.s_news_list_item:hover .s_news_content_date, .s_news_list_item:hover .s_news_content_paragraph{
	color: var(--accent-four-color) !important;
	transition: all .5s ease-in-out;
}
.s_news_bottom{
	border-top: 1px solid var(--primary-color);
	border-bottom: 1px solid var(--primary-color);
}
.s_news_content p{
	color: var(--primary-color) !important;
}
.s_news_content_date{
	font-family: var(--secondary-font);
	font-size: var(--paragraph-font);
	color: var(--primary-color);
	font-weight: 500;
	font-style: normal;
	line-height: normal;
	width: 100%;
	max-width: 120px;
}
.s_category_button{
	padding: 5px 30px;
	border-radius: 50px;

	color: white;
	font-size: .875em;
	font-family: var(--primary-font);
	font-weight: 500;
	word-wrap: break-word;
	margin: 0 20px;
	min-width: fit-content;
}

.s_news_content_paragraph{
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	color: var(--primary-color);
	font-weight: 500;
	font-style: normal;
	line-height: normal;

	display: inline-block;     
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: bottom;
	max-width: 60ch;
}
.c_pagination{
	width: 100%;
	padding: 40px 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin: auto;
	gap: 10px;
	margin-bottom: 100px;
}
.page-numbers{
	border-radius: 360px;
	color: var(--secondary-color);
	background-color: var(--accent-two-color);
	font-family: "Prompt", sans-serif;
	font-size: 1.375em;
	font-style: normal;
	font-weight: 700;
	line-height: 25.2px; 
	letter-spacing: 1.1px;
	min-width: 40px;
	max-width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	text-align: center;
}
.current{
	color: var(--primary-color);
	background-color: var(--grey-color);
}
.s_news_single__nav{
	width: 100%;
	margin: 50px 0;
}
.s_news_single__nav_inner{
	width: 100%;
	display: flex;
	justify-content: space-between;
}
.s_news_single__nav_archive{
	display: flex;
	justify-content: center;
	color: var(--primary-color);
}

.s_news_single_navigation{
	display: inline-block; 
    max-width: 20ch;       
    overflow: hidden;
    white-space: nowrap;
    text-overflow: ellipsis;
    vertical-align: bottom;
}
.s_news_single__nav_prev a, .s_news_single__nav_next a{
	width: 100%;
	color: var(--primary-color);
}
.s_news_single__nav_archive_sp{
	display: none;
}

@media (max-width: 1400px) {
	.c_page_container{
		margin-top: 100px;
	}
}
@media (max-width: 1200px) {
	.c_pagination{
		margin-bottom: 0px;
		padding-bottom: 0;
	}
}
@media (max-width: 830px) {
	.s_news_content_paragraph{
		max-width: 50ch;       
	}
}
@media (max-width: 768px) {
	.s_news_content_paragraph{
		max-width: 40ch;       
	}
	.s_news_single__nav {
		margin-top: 10px;
		margin-bottom: 50px;
	}
	.s_news_single__nav_pc{
		display: none;
	}
	.s_news_single__nav_archive_sp{
		display: flex;
		margin-top: 50px;
	}
}
@media (max-width: 659px){
	.s_news_content_paragraph{
		max-width: 30ch;       
	}
}
@media (max-width: 600px){
	.s_news_content_paragraph{
		max-width: 20ch;       
	}
}
@media (max-width: 500px) {
	.page-numbers{
		font-size: 1.125em;
	}
	.s_news_list_item, .s_news_content {
		display: flex;
		justify-content: start;
		align-items: start;
		flex-wrap: wrap;
	}
	.c_page_container{
		margin-top: 80px;
	}
	.s_news_single_navigation{
		max-width: 10ch;       
	}
}

/* Company */
.c_pages_section_container{
	width: 100%;
	margin: auto;
	margin-bottom: 100px;
}

/* Company */
.p_company{
	width: 100%;
	margin-bottom: 100px;
}
.p_company .lp-container{
	width: 100%;
	max-width: 1200px !important;
	padding: var(--padding-container);
}
.company_img{
	width: 100%;
	margin-bottom: 40px;
}
.company_title{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: 2.375em;
	font-style: normal;
	font-weight: 700;
	line-height: 70px; 
	margin-bottom: 40px;
}
.company_description{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 600;
	line-height: 40px; 
}
.company_signature_container{
	width: 100%;
	display: flex;
	justify-content: end;
	flex-direction: column;
	align-items: end;
	margin: 40px 0;
	gap: 4.5px;
	padding-right: 10px;
}
.company_signature{
	color: var(--blk-color);
	text-align: right;
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 600;
	line-height: 25px; 
}
.company_signature:nth-child(2){
	padding-right: 5px;
}
.company_name{
	color: var(--blk-color);
	text-align: right;
	font-family: var(--primary-font);
	font-size: 2.063em;
	font-style: normal;
	font-weight: 500;
	line-height: 35px; 
	letter-spacing: 13.2px;
	margin-right: -10px;
	padding-top: 20px;
}
.about_list .c_item_description_title{
	margin: 0;
}

@media (max-width: 1200px) {
	.p_company{
		margin-bottom: 0;
	}
	.company_description, .recruit_description {
		line-height: 30px !important;
	}
}

@media (max-width: 500px) {
	.company_title, .recruit_title{
		font-size: 1.688em !important;
		line-height: 50px !important;
	}
	.company_description, .recruit_description {
		line-height: 30px !important;
	}
	.company_name{
		font-size: 1.68em;
	}
	.company_signature {
		font-size: 1.25em;
		line-height: 35px;
	}
}
/* Services */
.p_services{
	width: 100%;
	margin-bottom: 100px;
}
.p_services .lp-container{
	width: 100%;
	max-width: 1200px !important;
	padding: var(--padding-container);
}
.service_title{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: 2.2em;
	font-style: normal;
	font-weight: 700;
	line-height: 70px; 
	margin-bottom: 40px;
}
.service_description{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 600;
	line-height: 40px; 
}

.service_list_container {
  display: grid;
  grid-template-columns: auto auto;
  gap: 130px 60px;
  margin-top: 100px;
}
.service_card_box{
	position: relative;
	border-radius: 10px;
	background: var(--grey-color);
	padding: var(--padding-medium-container);
	padding-top: 250px;
}
.service_card_img_container{
	position: relative;
	max-width: 500px;
	margin: auto;
}
.service_card_img{
	position: absolute;
	top: -30rem;
	left: 0;
	max-width: inherit;
	width: 100%;
	max-width: 500px;
	border-radius: 20px;
}
.service_card_content{
	max-width: 500px;
	margin: auto;
}
.service_card_title{
	text-align: center;
	font-family: var(--primary-font);
	font-size: var(--header-font);
	font-style: normal;
	font-weight: 700;
	line-height: 38px;
	letter-spacing: 1.6px;
	text-align: center;
	margin: 10px 0;
}
.service_card_description{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-weight: 600;
	line-height: 38px; 
}
.c_img_link:hover {
	opacity: 0.4;
}
@media (max-width: 1200px) {
	.service_list_container {
		gap: 140px 20px;
		margin-top: 150px;
	}
	.service_card_box{
		padding-top: 150px;
	}
	.service_card_img_container{
		max-width: 400px;
	}
	.service_card_img{
		top: -25rem;
		max-width: 400px;
	}
	.service_card_content{
		max-width: 400px;
	}
}
@media (max-width: 820px) {
	.service_card_title {
		font-size: 1.5em;
	}
}

@media (max-width: 768px) {
	.service_list_container {
		gap: 140px 20px;
		margin-top: 150px;
		grid-template-columns: repeat(1, 1fr);
	}
	.service_card_box{
		padding-top: 100px;
		max-width: 400px;
		margin: auto;
	}
	.service_card_img_container{
		max-width: 400px;
	}
	.service_card_img{
		top: -20rem;
		max-width: 400px;
	}
	.service_card_content{
		max-width: 400px;
	}
	.service_title{
		font-size: 1.875em;
		line-height: 50px; 
	}
	.service_description {
		line-height: 30px;
	}
}
@media (max-width: 500px) {
	.service_list_container {
		gap: 130px 20px;
	}
    .service_card_img {
        top: -18rem;
    }
	.service_list_container {
		margin-top: 100px;
    }
	.p_services_container{
		margin-bottom: 20px !important;
	}
	.p_services {
		margin-bottom: 40px;
	}
	.p_services .lp-container{
		padding-bottom: 0;
	}
	.service_title{
		margin-bottom: 20px;
	}
	.service_card_content{
		padding-top: 20px;
	}
}

/* Recruit Page */

.p_recruit{
	width: 100%;
}
.p_recruit .lp-container{
	width: 100%;
	max-width: 1200px !important;
	padding: var(--padding-container);
}
.recruit_img{
	width: 100%;
	margin-bottom: 40px;
}
.p_recruit .company_img{
	border-radius: 20px;
}
.recruit_title{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: 2.375em;
	font-style: normal;
	font-weight: 700;
	line-height: 70px; 
	margin-bottom: 40px;
}
.recruit_description{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 600;
	line-height: 40px; 
}
.recruit_signature_container{
	width: 100%;
	display: flex;
	justify-content: end;
	flex-direction: column;
	align-items: end;
	margin: 40px 0;
}
.recruit_signature{
	color: var(--blk-color);
	text-align: right;
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 600;
	line-height: 25px; 
}
.recruit_name{
	color: var(--blk-color);
	text-align: right;
	font-family: var(--primary-font);
	font-size: 2.063em;
	font-style: normal;
	font-weight: 600;
	line-height: 35px; 
	letter-spacing: 13.2px;
	margin-top: 5px;
	margin-right: -10px;
}
.p_environment_list{
	list-style: unstyled;
	width: 100%;
}
.p_environment_list_item{
	display: flex;
	align-items: start;
	margin-bottom: 180px;
}
.p_environment .p_left_container{
	position: relative;
	width: 42%;
}
.p_environment .p_right_container{
	position: relative;
	width: 58%;
}
.p_recruit_element{
	position: absolute;
	bottom: -11rem;
	z-index: 0;
}
.p_recruit_element_1{
	right: -1rem;
}
.p_recruit_element_2{
	left: -1rem;
}
.p_recruit_element_3{
	right: -1rem;
}
.p_recruit_img{
	position: relative;
	width: 100%;
	height: auto;
	z-index: 1;
	border-radius: 20px;
}
.p_environment_content{
	padding: 0px 40px;
}
.p_environment_title_container{
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	border-radius: 20px 670px 670px 20px;
	
	width: fit-content;
	padding: 10px 30px;
}
.p_recruit_environment_title{
	color: var(--secondary-color);
	font-family: var(--secondary-font);
	font-size: 1em;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.8px;
}
.p_environment_title_container span{
	color: var(--secondary-color);
	font-family: var(--secondary-font);
	font-size: 2.125em;
	font-style: normal;
	font-weight: 600;
	line-height: normal;
	letter-spacing: 0.8px;
}
.p_recruit_environment_sub{
	font-family: var(--primary-font);
	font-size: 1.75em;
	font-style: normal;
	font-weight: 500;
	line-height: 35px; 
	margin-top: 10px;
	margin-bottom: 20px;
}
.p_recruit_environment_paragraph, .p_recruit_jd_paragraph{
	color: var(--primary-color);
	font-family: var(--primary-font);
	font-size: 1.125em;
	font-style: normal;
	font-weight: 500;
	line-height: 35px; 
}
.p_recruit_jd_paragraph{
	margin-bottom: 30px;
}
.second-item{
	display: flex;
	justify-content: end;
}
.p_recruit_btn{
	padding: 30px;
	display: flex;
	flex-direction: column;
	width: fit-content;
	border-radius: 20px;
	margin-bottom: 50px;
	margin-top: 80px;
	transition: .5s ease;
}
.p_recruit_btn:hover{
	background: var(--accent-one-color);
	margin-bottom: 50px;
}
.p_recruit_btn span{
	font-family: var(--primary-font);
	letter-spacing: 5%;
	color: var(--secondary-color);
	font-weight: 700;
}
.p_recruit_btn span:first-child{
	font-size: 33px;
}
.p_recruit_btn span:last-child{
	font-size: 20px;
}
.c_ttl_grads {
    font-size: clamp(18px, 2.2vw, 24px);
    font-weight: 700;
    color: var(--primary-color);
    margin-bottom: 20px;
    margin-top: 5px;
}
.c_img_tb {
    display: flex;
    width: 100%;
	max-width: 450px;
    box-sizing: border-box;
}
.p_recruit_grads{
	position: relative;
	width: 100%;
	height: auto;
	z-index: 1;
}
.c_pd_img {
	padding: 100px 0px !important;
}
@media (max-width: 768px) {
	.p_environment_list_item{
		flex-direction: column;
	}
	.p_environment_list_item:not(:last-child){
		margin-bottom: 50px;
	}
	.p_environment_list_item:last-child{
		margin-bottom: 0px;
	}
	.p_environment_list_item_second{
		flex-direction: column-reverse !important;
	}
	.p_environment .p_left_container, 	.p_environment .p_right_container {
		width: 100%;
	}
	.p_environment_content {
		padding: 60px 0px;
	}
	.p_recruit_img{
		width: 70%;
        margin: auto;
	}
	.p_recruit_element{
		bottom: -8rem;
	}
	.p_recruit_element_2{
		right: -1rem !important;
		left: 50%;
	}
	.p_environment_content{
		padding-bottom: 0;
	}
}
@media (max-width: 500px) {
	.p_recruit_element_2{
		left: 20% !important;
	}
	.p_recruit_btn{
		padding: 20px;
		margin-bottom: 30px;
	}
	.p_recruit_btn span:first-child{
		font-size: 25px;
	}
	.p_recruit_btn span:last-child{
		font-size: 15px;
	}
}

/* Access Page */
.p_access .lp-container{
	width: 100%;
	max-width: 1200px !important;
	padding: var(--padding-container);
	margin: auto;
	display: flex;
	align-items: start;
}
.p_access .p_left_container{
	width: 70%;
	padding-right: 40px;
}
.p_access .p_right_container{
	width: 30%;
}
.p_map_guide_list{
	list-style: unstyled;
	border-top: 1px solid #D9D9D9;
}
.p_map_guide_list_item{
	border-bottom: 1px solid #D9D9D9;
	padding: 15px 0;
}
.p_map_guide_content{
	display: flex;
	justify-content: start;
	align-items: center;
	gap: 20px;

}
.p_map_guide_content_title{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: 1.25em;
	font-style: normal;
	font-weight: 500;
	line-height: var(40px);
	letter-spacing: 1px;
	width: 100%;
	max-width: 100px;
}
.p_map_guide_circle_container{
	width: 100%;
	max-width: 50px;
}
.p_map_guide_circle{
	width: 100%;
	max-width: 15px;
	min-width: 15px;
	height: 15px;
	border-radius: 360px;
}
.p_map_guide_content_paragraph{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: 1.25em;
	font-style: normal;
	font-weight: 500;
	line-height: var(40px);
	letter-spacing: 1px;
	width: 100%;
}


@media (max-width: 1400px){
	.p_access .p_left_container{
		width: 60%;
		padding-right: 20px;
	}
	.p_access .p_right_container{
		width: 40%;
		display: flex;
        justify-content: center;
	}
}

@media (max-width: 1200px){
	.p_access .lp-container {
		max-width: 1100px !important;
		margin: auto;
	}
	.p_access .p_right_container {
        display: flex;
        justify-content: center;
    }
}

@media (max-width: 768px) {
    .p_access .lp-container {
        flex-direction: column-reverse;
		gap: 40px;
    }
	.p_access .p_left_container, .p_access .p_right_container{
		width: 100%;
		padding-right: 0px;
	}
	.p_access_map {
        width: 100%;
        height: 300px;
        max-width: 700px;
    }
}

@media (max-width: 500px) {
	.p_map_guide_circle_container{
		max-width: fit-content;
	}
	.p_map_guide_content_title {
		max-width: 90px;
	}
}

.s_thanks_container{
	width: 100%;
}
.s_thanks_container .lp-container{
	width: 100%;
	max-width: 1200px;
	padding: var(--padding-container);
}
.c_page_404_button .c_btn_arrow{
	margin-left: 20px;
}

@media (max-width: 500px) {
	.c_section_container .c_page_404_button {
		margin: 40px auto;
		padding: 10px auto;
		font-size: 1em;
	}

	.c_page_404_button .c_btn_arrow{
		width: 20px;
		height: 20px;
	}
}
/* single post */
.c_single_title{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: 1.5em;
	font-style: normal;
	font-weight: 700;
	line-height: 50px;
}
.c_details{
	display: flex;
	align-items: center;
	justify-content: start;
	gap: 20px;
	margin-bottom: 50px;
}
.c_single_category a{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: .8em;
	font-style: normal;
	font-weight: 500;
	line-height: 70px;
}
.c_single_content, .wp-block-paragraph{
	color: var(--blk-color);
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 400;
	line-height: 1.5; 
}
.c_single_date {
	color: var(--blk-color);
	font-family: var(--secondary-font);
	font-size: 1em;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
}
.c_single_category {
	color: var(--secondary-color);
	font-family: var(--primary-font);
	font-size: .8em;
	font-style: normal;
	font-weight: 500;
	line-height: 1;
}

.c_details .s_category_button{
	margin: 0;
}
.c_single .c_page_404_button{
	 margin-top: 100px;
}

/* Service table */
.c_cert-wrapper {
    width: 100%;
}
.c_title {
    font-size: clamp(18px, 2.2vw, 24px);
    font-weight: 700;
    color: #000000;
    margin-bottom: 20px;
    margin-top: 5px;
}
.c_table {
    border: 2px solid var(--accent-five-color);
    background-color: #ffffff;
    width: 100%;
    display: flex;
    flex-direction: column;
    box-sizing: border-box;
}
.c_row {
    display: flex;
    flex-direction: row; /* Strictly locked to 2 columns under all circumstances */
    border-bottom: 2px solid var(--accent-five-color);
    align-items: stretch;
    width: 100%;
    box-sizing: border-box;
}
.c_row:last-child {
    border-bottom: none;
}
.c_cell-left, .c_cell-right {
    /* Fluid horizontal padding prevents character layout clipping on ultra-small displays */
    padding: 7px clamp(4px, 1.2vw, 15px);
    display: flex;
    align-items: center;
    box-sizing: border-box;
    word-break: break-all;
    overflow-wrap: break-word;
}
/* Left column desktop architecture: exactly 300px wide */
.c_cell-left {
    width: 300px;
    flex-shrink: 0;
    border-right: 2px solid var(--accent-five-color);
    background-color: #fdfdfd;
}
/* Right column desktop architecture: fills remaining 980px */
.c_cell-right {
    flex-grow: 1;
    width: 0; /* Prevents text overflow rendering issues in flex layout calculations */
    background-color: #ffffff;
}
.c_text {
    font-weight: 700;
    color: #000000;
    line-height: 1.5;
    width: 100%;
    display: block;
    /* Ensures font size never scales below 16px while reaching 20px on desktop screens */
    font-size: clamp(16px, 1.5625vw, 20px);
}
.c_text-left { 
    letter-spacing: 0.3em; 
}

.c_text-right { 
    letter-spacing: 0.5em; 
}
@media (max-width: 1023px) {
    .c_cell-left {
        width: 25%;
        min-width: 65px; /* Keeps left cell structure stable without disappearing */
    }
    .c_text-left { 
        letter-spacing: 0.15em; 
    }
    .c_text-right { 
        letter-spacing: 0.2em; 
    }
}
@media (max-width: 480px) {
    .c_cell-left {
        width: 28%;
        min-width: 45px;
    }
    .c_text-left { 
        letter-spacing: 0.02em; 
    }
    .c_text-right { 
        letter-spacing: 0.04em; 
    }
}
/* 404 */
.c_page_404_title{
	color: #000;
	font-family: var(--primary-font);
	font-size: 2em;
	font-style: normal;
	font-weight: 500;
	line-height: 70px; 
	margin-bottom: 20px;
}
.c_page_404_description{
	color: #000;
	font-family: var(--primary-font);
	font-size: var(--paragraph-font);
	font-style: normal;
	font-weight: 500;
	line-height: 40px;
}
.c_page_404_button{
	color: var(--secondary-color);
	font-family: var(--primary-font);
	font-size: 1em;
	font-style: normal;
	font-weight: 700;
	line-height: normal;
	letter-spacing: 1.3px;

	border-radius: 10px;
	background: var(--accent-two-color);
	padding: 15px 60px;
	margin: 40px auto;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	transition: all .5s ease;
}
.c_page_404_button:hover{
	opacity: 0.70;
}
/* Divider */
.divider{
	width: 100%;
	padding: 100px 20px;
	display: flex;
	align-items: center;
	justify-content: end;
	margin: auto;
}
.divider-one,.divider-two,.divider-three{
	border-radius: 10px;
	width: 100%;
	max-width: 460px;
	height: 10px;
	opacity: 0.4;
}
.divider-one{	
	background: var(--accent-four-color);
	margin-right: -30px;
}
.divider-two{
	background: var(--accent-two-color);
}
.divider-three{
	background: var(--accent-three-color);
	margin-left: -30px;
}
@media (max-width: 768px) {
	.divider{
		padding: 50px 20px;
	}
}
@media (max-width: 500px) {
	.company_title, .recruit_title{
		font-size: 1.688em !important;
		line-height: 50px !important;
	}
	.company_description, .recruit_description {
		line-height: 30px !important;
	}
	.divider{
		padding: 30px 20px;
	}
	.c_page_404_title{
		font-size: 1.5em;
		line-height: 1.5; 
	}
	.c_page_404_button{
		padding: 20px 40px;
		margin: 40px auto;
	}
}

.ttl-inquire-policy ol {
    list-style-type: decimal !important;
    padding-left: 20px !important;
    margin-bottom: 15px;
}
.ttl-inquire-policy ul {
    list-style-type: disc !important;
    padding-left: 20px !important;
    margin-bottom: 15px;
}
.ttl-inquire-policy li {
    display: list-item !important;
    margin-bottom: 5px;
}