@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+JP:wght@100..900&display=swap');

:root{
	--base_font_family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	--monte:"Montserrat", sans-serif;
	--base_font_color: #000;
}

*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

*::before,
*::after{
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

html {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

input,
select,
textarea{
	font-family: var(--base_font_family);
	color:var(--base_font_color);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
}

button{
	border: none;
	background: none;
	border-radius: 0;
	cursor: pointer;
}

body{
	color: var(--base_font_color);
	font-size: 16px;
	font-family: var(--base_font_family);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}


#body_wrap{
	overflow: clip;
}

#body_wrap_inner{
	padding-left: max(12.5% , 200px);
	/* padding-left: 200px; */
}

#section_wrap{
	overflow: clip;	
	padding-bottom: 16px;
}

section{
	position: relative;
}

img{
	display: block;
	width: 100%;
	object-position: center;
}

.hide{
	display: none!important;
}


a{
	color: var(--base_font_color);
}

.fax a{
	pointer-events: none;
}

@media (any-hover:hover){
	a[href^="tel:"] {
		pointer-events: none;
	}
}


.grecaptcha-badge { visibility: hidden; }
/*
------------------------------------
アニメーション関係
------------------------------------
*/

.c_hover_opa{
	transition-duration:0.4s
}


@media (any-hover:hover){
	.c_hover_opa:hover{
		opacity: 0.7;
	}
	
}


.c_hover_scale_frame{
	overflow: hidden;
}

.c_hover_scale_item{
	transition-duration: 0.4s;
	width:100%;
	height:100%;
	object-fit: cover;
}

@media(any-hover:hover){
	.c_hover_scale_trigger:hover .c_hover_scale_item,
	.c_hover_scale_trigger:hover.c_hover_scale_item{
		transform: scale(1.1);
	}
}


.anime_fadein_bottom{
	opacity: 0;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	transform: translateY(40px);
}

.anime_fadein_bottom.anime_active ,
.anime_active .anime_fadein_bottom{
	animation-name:anime_fadein_bottom;
}

@keyframes anime_fadein_bottom {
	0% {
	opacity:0;
	}
	100% {
		opacity:1;
		transform: translateY(0);
	}
}




/*
------------------------------------
共通パーツ
------------------------------------
*/

.hide{
	display: none;
}

.container{
	max-width: 1210px;
	padding:0 20px;
	margin-inline: auto;
}
.container_720{
	max-width: 720px;
	margin-inline: auto;
}
.container_1000{
	max-width: 1040px;
	margin-inline: auto;
	padding-inline:20px;
}
.container_1280{
	max-width: 1320px;
	padding:0 20px;
	margin-inline: auto;
}

.c_wave{
	position: absolute;
	width:1400px;
	min-width: 100%;
	height:100px;
	left: 50%;
	transform: translateX(-50%);
	background-size: 100% 100%;
}

.c_wave.top{
	object-position: bottom;
	top:-2px;
	background-image: url('../img/common/wave_top_white.png');
}
.c_wave.bottom{
	object-position: top;
	bottom:-2px;
	background-image: url('../img/common/wave_bottom_white.png');
}


.c_sec_head{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:12px;
	font-family: var(--monte);
	font-weight: normal;
	font-size: 30px;
	line-height: 1.3;
	color: #6f605f;
}

.c_sec_head::after{
	content:'';
	width: 100px;
	height: 2px;
	background-color: #98CBD6;
}

.c_sec_head.left{
	align-items: flex-start;
}

.c_sec_head.yellow::after{
	background-color: #f8dd85;
}

.c_sec_head.pink::after{
	background-color: #E59FA0;
}

.c_gra_border_head{
	display: flex;
	align-items: center;
	gap:16px;
	padding-bottom: 16px;
	border-bottom:1px solid #707070;
	font-weight: normal;
	font-size: 24px;
	line-height: 1.3;
}

.c_gra_border_head::before{
	content:'';
	width: 7px;
	height: 33px;
	background: linear-gradient(#85a4f8 0%, #99ccd5 100%);

}


.c_def_thumb{
	width:100%;
	height:100%;
	object-fit: cover;
	background-color: #ccc;
}

.c_pagenation{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap:20px;
	margin-top: 32px;
}

.c_pagenation span.current{/*現在のページボタン*/
	border-bottom: 1px solid;
}

.c_pagenation a.page-numbers{/*指定のページ移動ボタン*/

}

.c_pagenation a.page-numbers.next,
.c_pagenation a.page-numbers.prev{/*next prevボタン*/
}

.c_pagenation a.page-numbers:hover{

}
/*
------------------------------------
ヘッダー
------------------------------------
*/

header{
	position: fixed;
	left:0;
	top:0;
	width:max(12.5% , 200px);
	height:0;
	z-index: 100;
}

header .header_inner{
	height:100vh;
	overflow-y: auto;
	background-color: #fff;
}

header .header_contents{
	padding:36px 16px 24px;
}


header .header_logo{
	max-width: 100px;
	display: block;
	margin-inline: auto;
}

header .header_right{
	margin-top: 40px;
}

header .header_nav{
	width: fit-content;
	margin-inline: auto;
}

header .header_parent_item + .header_parent_item{
	margin-top: 20px;
}

header .header_parent_link{
	font-weight: bold;
	font-size: 14px;
	color: #6e615f;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	header .header_parent_link:hover{
		opacity: 0.7;
	}
}



/*
------------------------------------
フッター
------------------------------------
*/
footer{
	padding-top:48px;
	padding-bottom: 24px;
	background-color: #EFEFEF;
	/* margin-top: 132px; */
	margin-top: 172px;
}

footer .footer_contents{
	max-width: 1050px;
	margin-inline: auto;
}

footer .footer_flex{
	display: flex;
	justify-content: space-between;
	padding-bottom: 48px;
	position: relative;
}

footer .footer_logo{
	display: block;
	max-width: 50px;
}

footer .footer_name{
	margin-top: 20px;
	font-weight: bold;
	font-size: 13px;
}

footer .footer_address{
	margin-top: 12px;
	font-weight: bold;
	font-size: 13px;
	letter-spacing: 0.05em;
	line-height: 1.5;
}

footer .footer_tel{
	margin-top: 12px;
	font-weight: bold;
	font-size: 13px;
	letter-spacing: 0.05em;
	line-height: 2;
}

footer .footer_right{
	padding-bottom: 88px;
}

footer .footer_nav{
	display: flex;
	align-items: flex-start;
	gap:48px;
	padding-right: 32px;
}

footer .footer_parent_menu{
	
}

footer .footer_parent_item{
	margin-top: 12px;
}

footer .footer_parent_item:first-child{
	margin-top: 0;
}

footer .footer_parent_link{
	font-weight: bold;
	font-size: 14px;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	footer .footer_parent_link:hover{
		opacity: 0.7;
	}
}

footer .footer_bottom{
	position: absolute;
	right:0;
	bottom:0;
}

footer .sns_list{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:32px;
}

footer .sns{
	width:35px;
}

footer .footer_copy{
	margin-top: 10px;
	font-size: 11px;
	text-align: center;
	
}
/*
------------------------------------
TOP
------------------------------------
*/

body.top_body{
	
}

main.top_main{

}

.top_section{

}



.top_fv_section{

}

.top_fv_section .fv_frame{
	position: relative;
	height:100vh;
	min-height: 600px;
}

.top_fv_section .fv{
	width:100%;
	height:100%;
} 

.top_fv_section .fv img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_fv_section .fv_text01{
	position: absolute;
	width:654px;
	top:130px;
	left:56px;
}

.top_fv_section .fv_text02{
	position: absolute;
	width:540px;
	top:370px;
	left:100px;
	
}

.top_about_section{
	padding-top: 32px;
}

.top_about_section .about_guide{

	font-size: 20px;
	letter-spacing: 0.01em;
	line-height: 2;
	text-align: center;
}

.top_about_section .c_sec_head{
	margin-top: 48px;
}

.top_about_section .about_link_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	position: relative;
	margin-top: 50px;
}


.top_about_section .about_link_list .c_wave{
	z-index: 4;
}

.top_about_section .about_link_block{
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	height:290px;
	padding-inline: 8px;
	color:#fff;
	text-align: center;
}


.top_about_section .about_link_block::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(0,0,0,0.5);
	position: absolute;
	top:0;
	left:0;
	z-index: 2;
}

.top_about_section .about_link_img{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_about_section .about_link_text{
	position: relative;
	z-index: 3;
}

.top_about_section .about_link_text_en{
	font-family: var(--monte);
	font-weight: normal;
	font-size: 32px;
	line-height: 1.3;
}

.top_about_section .about_link_text_ja{
	font-weight: bold;
	font-size: 20px;
}

.top_business_section{
	padding-top: 110px;
	padding-bottom: 130px;
	background-image: url('../img/top/top_business_bg.png');
}

.top_business_section .business_list{
	margin-top: 50px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.top_business_section .business_item{
	width:32%;
	max-width: 344px;
}

.top_business_section .business_card{
	display: block;
}

.top_business_section .business_thumb{
	aspect-ratio: 1 / calc(232 / 344);
}

.top_business_section .business_name{
	margin-top: 24px;
	font-weight: bold;
	letter-spacing: 0.01em;
	line-height: 1.5;
}

.top_business_section .business_more{
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 24px;
	font-family: var(--monte);
	font-size: 11px;
	line-height: 1.5;
	color: #6f605f;
	gap:5px;
}

.top_business_section .more_border{
	position: relative;
	width:85px;
	height:1px;
	background-color: #000000;
	transition-duration: 0.4s;
	margin-left: 10px;
}

.top_business_section  .more_border::after{
	content:'';
	width:1px;
	height:30px;
	background-color: #000000;
	position: absolute;
	right:0;
	bottom:0;
	transform: rotate(-35deg);
	transform-origin: bottom;
}

@media(any-hover:hover){
	.top_business_section .business_card:hover .more_border{
		transform: translateX(8px);
	}
}

.top_news_section{
	padding-top: 48px;
}

.top_news_section .news_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.top_news_section .news_flex .block{
	width:48.5%;
	max-width: 550px;
}

.top_news_section .news_head_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap:12px;
	padding-bottom:16px;
	border-bottom: 2px solid #98CCD6;
}

.top_news_section .news_head{
	font-weight: bold;
	font-size: 37px;
	line-height: 1.3;
}

.top_news_section .news_more{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	min-height: 20px;
	font-family: var(--monte);
	font-size: 11px;
	line-height: 1.3;
	color: #6f605f;
}

.top_news_section .news_more_border{
	margin-top: 6px;
	width:85px;
	height:1px;
	background-color: #000;
	position: relative;
	transition-duration: 0.4s;
}

.top_news_section .news_more_border::after{
	content:'';
	width:1px;
	height:30px;
	background-color: #000000;
	position: absolute;
	right:0;
	bottom:0;
	transform: rotate(-35deg);
	transform-origin: bottom;
	
}

@media(any-hover:hover){
	.top_news_section .news_more:hover .news_more_border{
		transform: translateX(8px);
	}
}

.top_news_section .news_list{

}

.top_news_section .news_line{
	border-bottom:1px solid #A1A4A5;
}

.top_news_section .news_block{
	display: flex;
	align-items: flex-start;
	padding-top: 20px;
	padding-bottom: 20px;
}

.top_news_section .news_date{
	flex-shrink: 0;
	min-width: 120px;
	padding-right: 8px;
	font-family: var(--monte);
	font-size: 19px;
	letter-spacing: 0.01em;
	line-height: 1.3;
}

.top_news_section .news_title{
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 1.9;
}

/*
------------------------------------
下層mv
------------------------------------
*/

.page_fv_section{
	margin-bottom: 60px;
}

.page_fv_section .fv_frame{
	position: relative;
	min-height:220px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding-top: 60px;
	padding-bottom: 60px;
}

.page_fv_section .page_fv{
	position: absolute;
	z-index: -1;
	width:100%;
	height:100%;
	top:0;
	left:0;

}

.page_fv_section .page_fv img{
	width:100%;
	height:100%;
	object-fit: cover;
	opacity: 0.67;
}

.page_fv_section .page_title_area{
	width:100%;
	max-width: 1600px;
	margin-inline: auto;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	padding-right: 40px;
	color:#fff;
}

.page_fv_section .page_title_set{
	display: flex;
	flex-direction: column;
	align-items: center;

}

.page_fv_section .page_en_title{
	font-family: var(--monte);
	font-weight: normal;
	font-size: 33px;
	line-height: 1.1;
}

.page_fv_section .page_ja_title{
	font-weight: bold;
	font-size: 16px;
}

.page_fv_section .page_ja_title.big{
	font-size: 24px;
}

.page_fv_section .c_wave.bottom{
	bottom:-20px;
}

/*
------------------------------------
コネクションについて
------------------------------------
*/

body.about_body{
	
}

main.about_main{

}

.about_section{

}


.about_guide_section{
	padding-top: 56px;
}

.about_guide_section .guide_text{
	font-weight: bold;
	font-size: 20px;
	letter-spacing: 0.01em;
	line-height: 1.7;
	text-align: center;
	color: #98cbd6;

}

.about_vision_section{
	padding-top: 132px;
}

.about_vision_section .vision_head{
	margin-top: 32px;
	font-size: 20px;
	text-align: center;
}

.about_vision_section .vision_text{
	font-size: 13px;
	line-height: 2;
	text-align: center;
	margin-top: 16px;
}

.about_vision_section .vision_text p + p{
	margin-top: 16px;
}

.about_vision_section .vision_img{
	margin-top: 44px;
}

.about_message_section{
	padding-top: 40px;
}

.about_message_section .message_text{
	font-size: 13px;
	line-height: 2;
	margin-top: 16px;
}

.about_message_section .message_text p + p{
	margin-top: 16px;
}

.about_message_section .message_sign{
	margin-top: 12px;
	text-align: right;
	font-size: 13px;
	line-height: 2;
}

/*
------------------------------------
会社概要
------------------------------------
*/

body.company_body{
	
}

main.company_main{

}

.company_section{

}

.company_section .company_area{
	margin-top: 80px;
}

.company_section .company_area + .company_area{
	margin-top: 32px;
}

.company_section .company_head{
	font-weight: bold;
	font-size: 21px;
	line-height: 1.5;
	color: #98cbd6;
	border-bottom:2px solid #98CCD6;
	padding-bottom: 16px;
}

.company_section .company_list{

}

.company_section .company_line{
	border-bottom:1px dashed #000;
	padding-top: 16px;
	padding-bottom: 16px;
	display: flex;
	align-items: flex-start;
}

.company_section .company_title{
	width:130px;
	flex-shrink: 0;
	padding-right: 8px;
	font-weight: bold;
	font-size: 14px;
} 

.company_section .company_contents{
	font-size: 14px;
	line-height: 1.5;
}

/*
------------------------------------
事業所紹介
------------------------------------
*/

body.office_body{
	
}

main.office_main{

}

.office_section{
	margin-top: 40px;
}

.office_section .anchor_list{
	display: flex;
	align-items: flex-start;
	gap:20px;
	max-width: 1180px;
	margin-inline: auto;
}

.office_section .anchor_link{
	height:46px;
	min-width: 195px;
	border-radius: 11px;
	background: rgba(146, 146, 147, 0.69);
	display: flex;
	justify-content: center;
	align-items: center;
	padding-inline: 24px;
	font-size: 19px;
	color: #fff;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.office_section .anchor_link:hover{
		background-color: #98CBD6;
	}
}

.office_section .office_list{
	margin-top: 64px;
}

.office_section .office_block{
	padding:32px 40px;
	border-radius: 20px;
	border:1px solid #B4B4B5;
}

.office_section .office_block + .office_block{
	margin-top: 50px;
}

.office_section .office_flex{
	display: flex;
	align-items: flex-start;
	gap:6%;
}

.office_section .office_left{
	width:400px;
	flex-shrink: 0;
}

.office_section .office_name{
	padding-bottom: 16px;
	font-family: var(--monte);
	font-weight: bold;
	font-size: 21px;
	line-height: 1.3;
	color: #6f605f;
	border-bottom:2px solid #98CBD6;
}

.office_section .office_thumb{
	margin-top: 32px;
	aspect-ratio: 1 / calc(300 / 400);
}

.office_section .office_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.office_section .office_right{
	padding-top: 44px;
}

.office_section .office_text{
	letter-spacing: 0.01em;
	line-height: 1.75;
}

.office_section .check_list{
	margin-top: 12px;
	
}

.office_section .check_list li{
	letter-spacing: 0.01em;
	line-height: 1.5;
	position: relative;
	padding-left: 20px;
}

.office_section .check_list li::before{
	content:'';
	width:13px;
	height:12px;
	background-image: url('../img/common/icon_check_black.png');
	position: absolute;
	left:0;
	top:6px;
}

.office_section .check_list li + li{
	margin-top: 12px;
}
.office_section .info_flex{
	margin-top: 32px;
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:16px 0;
}

.office_section .office_tel{
	flex-shrink: 0;
	width:310px;
	padding-right: 8px;
}

.office_section .office_tel a{
	font-family: var(--monte);
	font-weight: normal;
	font-size: 31px;
	line-height: 1.3;
	color: #98cbd6;
}

.office_section .office_map{
	width: 278px;
	height: 40px;
	border-radius: 8px;
	border: 1px solid #b4b4b5;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: normal;
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 1.4;
	transition-duration: 0.4s;

}

@media(any-hover:hover){
	.office_section .office_map:hover{
		background-color: #000;
		color:#fff;
	}
}


/*
------------------------------------
事業紹介
------------------------------------
*/

body.service_body{
	
}

main.service_main{

}

.service_list_section{
	margin-top: 40px;
}

.service_list_section .service_list{
	margin-top: 32px;
}

.service_list_section .service_item + .service_item{
	margin-top: 50px;
}

.service_list_section .service_block{
	display: flex;
}


.service_list_section .service_item:nth-child(even) .service_block{
	flex-direction: row-reverse;
}

.service_list_section .service_thumb{
	flex-shrink: 0;
	width:50%;
}

.service_list_section .service_thumb img{
	aspect-ratio: 1 / calc(370 / 640);
	min-height:100%;
	object-fit: cover;
}

.service_list_section .service_text_area{
	width:100%;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:24px 20px;
	border: 1px solid #707070;
}

.service_list_section .service_head{
	display: flex;
	align-items: flex-end;
	font-weight: bold;
	font-size: 24px;
	line-height: 1.5;
	gap:20px;
}

.service_list_section .service_arrow{
	flex-shrink: 0;

}

.service_list_section .service_arrow{
	width:60px;
	height:1px;
	background-color: #000;
	position: relative;
	transition-duration: 0.4s;
	margin-bottom: 6px;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.service_list_section .service_block:hover .service_arrow{
		transform: translateX(8px);
	}
}



.service_list_section .service_arrow::after{
	content:'';
	width:1px;
	height:25px;
	background-color: #000000;
	position: absolute;
	right:0;
	bottom:0;
	transform: rotate(-45deg);
	transform-origin: bottom;
	
}

.service_list_section .service_text{
	margin-top: 28px;
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 2;
}

.service_list_section .service_text p + P{
	margin-top: 12px;
}



/*
------------------------------------
事業紹介 詳細
------------------------------------
*/


.service_guide_section{

}

.service_guide_section .service_button_list{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:20px;
}


.service_guide_section .service_button{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 195px;
	min-height: 46px;
	border-radius: 11px;
	background: rgba(146, 146, 147, 0.69);
	font-size: 19px;
	color: #fff;
	transition-duration: 0.4s;
	padding:4px 8px;
}

@media(any-hover:hover){
	.service_guide_section .service_button:hover{
		background-color: #bedada;
	}
}

.service_guide_section .service_button.active{
	background-color: #bedada;
}

.service_guide_section .guide_text{
	margin-top: 32px;
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 2;
	text-align: center;
}

.service_point_section{
	padding-top: 72px;
}

.c_point_list{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.c_point_list .point_item{
	width:32%;
	max-width: 330px;
}

.c_point_list .point_head_flex{
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.c_point_list .point_head{
	font-family: var(--monte);
	font-size: 30px;
	line-height: 1.2;
	color: #6f615f;
}

.c_point_list .point_head_num{
	font-size: 60px;
}

.c_point_list .point_icon{
	flex-shrink: 0;
	width:105px;
	aspect-ratio: 1/1;
}

.c_point_list .point_icon img{
	width:100%;
	height:100%;
	object-fit: contain;
}

.c_point_list .point_text_area{
	padding-top: 24px;
}

.c_point_list .point_name{
	font-weight: bold;
	font-size: 13px;
	line-height: 2;
}

.c_point_list .point_text{
	font-size: 13px;
	line-height: 2;
}

.service_flow_section{
	padding-top: 100px;
}

.c_flow_list{
	display: flex;
	flex-wrap: wrap;
	/* align-items: flex-start; */
	gap:40px 20px;
	margin-top: 56px;
}

.c_flow_list .flow_item{
	width:calc(calc(100% - calc(25px * 4 + 40px * 4)) / 5);
}


.c_flow_list .flow_arrow{
	flex-shrink: 0;
	width: 25px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
}

.c_flow_list .flow_arrow::after{
	content:'';
	width:100%;
	aspect-ratio: 1 / calc(150 / 25);
	background-color: #99CCD6;
	opacity: 0.4;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);
}

.c_flow_list .flow_icon{
	height:90px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.c_flow_list .flow_icon img{
	height:100%;
	width:auto;
	max-width: 100%;
	object-fit: contain;
}

.c_flow_list .flow_text_area{
	margin-top: 20px;
}

.c_flow_list .flow_name{
	
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
	color: #6f605f;
	text-align: center;
}

.c_flow_list .flow_text{
	font-size: 13px;
	line-height: 1.75;
	margin-top: 12px;
}

.c_flow_list .flow_item_four{
	width:calc(calc(100% - calc(25px * 3 + 40px * 3)) / 4);
}

.c_flow_list .flow_item_two{
	width:calc(calc(100% - calc(25px * 2 + 40px * 2)) / 2);
	display: flex;
	align-items: center;
	gap:0 24px;
}

.c_flow_list .flow_item_two .flow_icon{
	width: 115px;
	flex-shrink: 0;
}




.service_voice_section{
	padding-top: 80px;
}

.service_voice_section .voice_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:7%;
}

.service_voice_section .voice_card{
	display: block;
}

.service_voice_section .voice_thumb{
	aspect-ratio: 1 / calc(172 / 355);
}

.service_voice_section .voice_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.service_voice_section .voice_text_area{
	padding-top: 24px;
}

.service_voice_section .voice_title{
	font-weight: bold;
	font-size: 14px;
	line-height: 1.5;
}

.service_voice_section .voice_date{
	font-family: var(--monte);
	font-size: 13px;
	line-height: 1.3;
	margin-top: 3px;
}
/*
------------------------------------
スタッフ一覧
------------------------------------
*/

body.staff_list_body{
	
}

main.staff_list_main{

}

.staff_list_section{
	margin-top: 40px;
}

.staff_list_section .guide_text{
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 2;
}

.staff_list_section .staff_list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:48px;
	margin-top: 48px;
}

.staff_list_section .staff_card{
	display: block;
	padding-bottom: 48px;
	position: relative;
}

.staff_list_section .staff_card::before{
	content:'';
	width:100%;
	height:1px;
	background-color: #707070;
	position: absolute;
	left:0;
	bottom:0;
}

.staff_list_section .staff_card::after{
	content:'';
	width:50%;
	height:1px;
	background-color: #98CBD6;
	position: absolute;
	left:0;
	bottom:0;
}

.staff_list_section .staff_thumb{
	aspect-ratio: 1 / calc(275 / 570);
}

.staff_list_section .staff_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.staff_list_section .staff_contents{
	padding-top: 32px;
}

.staff_list_section .staff_name{
	font-weight: bold;
	font-size: 22px;
	line-height: 1.4;
}

.staff_list_section .staff_name span{
	display: inline-block;
}

.staff_list_section .staff_place{
	margin-top: 12px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	min-height: 46px;
	border-radius: 11px;
	background: #98cbd6;
	color:#fff;
	font-weight: normal;
	font-size: 19px;
	line-height: 1.5;
	padding:6px 16px;

}


/*
------------------------------------
スタッフ詳細
------------------------------------
*/

body.staff_single_body{
	
}

main.staff_single_main{

}

.staff_single_section{
	margin-top: 40px;
}

.staff_single_section .staff_flex{
	display: flex;
	align-items: flex-start;
}

.staff_single_section .staff_left{
	width:50%;
	padding-right: 32px;
}


.staff_single_section .staff_right{
	width:50%;
}

.staff_single_section .staff_img{
	aspect-ratio: 1 / calc(255 / 600);
}

.staff_single_section .staff_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.staff_single_section .staff_info{
	font-weight: bold;
	font-size: 22px;
	line-height: 1.5;
}

.staff_single_section .staff_info li {
	display: flex;
	align-items: flex-start;
}

.staff_single_section .staff_info li + li{
	margin-top: 6px;
}

.staff_single_section .staff_info_head{
	flex-shrink: 0;
} 

.staff_single_section .staff_place{
	margin-top: 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	min-height: 46px;
	border-radius: 11px;
	background: #98cbd6;
	color:#fff;
	font-weight: normal;
	font-size: 19px;
	line-height: 1.5;
	padding:6px 16px;
}

.staff_single_section .staff_inteview_list{
	margin-top: 64px;
}

.staff_single_section .staff_interview_block + .staff_interview_block{
	margin-top: 48px;
}

.staff_single_section .staff_interview_question{
	font-weight: bold;
	font-size: 20px;
	color: #98cbd6;
}

.staff_single_section .staff_interview_answer{
	margin-top: 20px;
	font-size: 14px;
	line-height: 1.75;
}

.staff_other_section{
	padding-top: 120px;
}

.staff_other_section .sec_head{
	font-weight: normal;
	font-size: 24px;
	line-height: 1.5;
	padding-bottom: 16px;
	border-bottom:1px solid #707070;
}

.staff_other_section .other_list{
	margin-top: 48px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:6%;
}

.staff_other_section .other_card{
	display: block;
}

.staff_other_section .other_thumb{
	aspect-ratio: a / calc(172 / 355);
}

.staff_other_section .other_text_area{
	padding-top: 24px;

}

.staff_other_section .other_name{
	font-weight: bold;
	font-size: 14px;
	line-height: 1.5;
}


/*
------------------------------------
ニュース一覧
------------------------------------
*/

body.article_body{
	
}

main.article_main{

}

.article_section{

}


.article_list_section{
	padding-top: 56px;
}


.article_list_section .category_list{
	width: fit-content;
	margin-inline: auto;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:24px;
	
}

.article_list_section .category_link{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 195px;
	min-height: 46px;
	padding:6px 12px;
	border-radius: 11px;
	background-color: #b4b4b5;
	font-size: 17px;
	transition-duration: 0.4s;
}

.article_list_section .category_link.active{
	background-color: #99CCD6;
}

@media(any-hover:hover){
	.article_list_section .category_link:hover{
		background-color: #99CCD6;
	}
}


.article_list_section article{
	margin-top: 140px;
}

.article_list_section .article_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:50px 6%;
}

.article_list_section .article_card{
	display: block;
	background-color: #eee;
	min-height: 100%;
}

.article_list_section .article_thumb{
	aspect-ratio: 1 / calc(250 / 350);
}

.article_list_section .article_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.article_list_section .article_text_area{
	padding:16px 24px;
}

.article_list_section .article_title{
	font-size: 15px;
	line-height: 1.5;

}

.article_list_section .article_date{
	margin-top: 16px;
	font-size: 17px;
}

/*
------------------------------------
ニュース詳細
------------------------------------
*/



.article_single_section{
	padding-top: 56px;
}


.article_single_section .article_title{
	font-size: 32px;
	font-weight: bold;
}
.c_single_contents{
	line-height: 1.75;
	margin-top: 48n px;
}

.c_single_contents h2{
	font-size: 24px;
	margin:24px 0;
	line-height: 1.5;
}

.c_single_contents h3{
	font-size: 20px;
	margin:16px 0;
}

.c_single_contents .wp-block-image{
	margin:16px 0;
}

.article_single_section .link_flex{
	margin-top: 80px;
	margin-inline: auto;
	max-width: 680px;
	display: flex;
	justify-content: space-between;
	align-items: center;
}


/*
------------------------------------
FAQ
------------------------------------
*/

body.faq_body{
	
}

main.faq_main{

}

.faq_section{
	padding-top: 56px;
}

.faq_section .p01{
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.01em;
	line-height: 1.5;
	text-align: center;
	color: #3b4043;
}

.faq_section .faq_area{
	max-width: 1060px;
	margin-inline: auto;
	margin-top: 32px;
	border-radius: 24px;
	overflow: hidden;
}

.faq_section .faq_tag_list{
	display: flex;
	justify-content: center;
}

.faq_section .faq_tag{
	width:50%;
	display: flex;
	justify-content: center;
	align-items: center;
	height:60px;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.01em;
	line-height: 1.5;
	color: #3b4043;
	background-color: rgba(244 , 244 , 244 , 0.6);
	cursor: pointer;
}

.faq_section .faq_tag.active{
	background-color: rgba(152 , 203 , 214 , 0.6);
}

.faq_section .faq_contents_frame{
	padding:40px 24px 60px;
	background-color: #EBF4F4;
}

.faq_section .faq_contents{
	max-width: 700px;
	margin-inline: auto;
}

.faq_section .faq_block{
	border-bottom:2px solid #707070;
}

.faq_section .faq_block:first-child{
	border-top:2px solid #707070;
}

.faq_section .faq_question{
	padding:16px 40px 16px 50px;
	position: relative;
	font-weight: bold;
	font-size: 14px;
	letter-spacing: 0.01em;
	line-height: 1.7;
	color: #3b4043;
	cursor: pointer;
}

.faq_section .faq_question:before{
	content:'Q';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: #e5e3e3;
	font-weight: bold;
	font-size: 19px;
	letter-spacing: 0;
	line-height: 1;
	color: #3b4043;
	position: absolute;
	left:5px;
	top:12px;
}

.faq_section .faq_question::after{
	content:'';
	width:20px;
	height:10px;
	background-image: url('../img/common/icon_angle_bottom_black.svg');
	position: absolute;
	right:10px;
	top:25px;
}

.faq_section .faq_question.active::after{
	transform: rotateZ(180deg);
}

.faq_section .faq_answer{
	display: none;
	font-size: 14px;
	padding:12px 12px 24px 50px;
	line-height: 1.75;
	position: relative;
}

.faq_section .faq_answer::before{
	content:'A';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 32px;
	height: 32px;
	border-radius: 10px;
	background: #e5e3e3;
	font-weight: bold;
	font-size: 19px;
	letter-spacing: 0;
	line-height: 1;
	color: #3b4043;
	position: absolute;
	left:5px;
	top:9px;
}

/*
------------------------------------
お問い合わせ
------------------------------------
*/

body.contact_body{
	
}

main.contact_main{

}

.contact_section{
	padding-top: 56px;
}

.contact_section .p01{
	text-align: center;
	font-size: 21px;
	line-height: 1.8;
	text-align: center;
}

.contact_section .form_area{
	max-width: 1060px;
	margin-inline: auto;
	margin-top: 48px;
	overflow: hidden;
	border-radius: 24px;
	overflow: hidden;
}

.contact_section .form_tag_list{
	display: flex;
	justify-content: center;
}

.contact_section .form_tag{
	width:50%;
	display: flex;
	justify-content: center;
	align-items: center;
	height:60px;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.01em;
	line-height: 1.5;
	color: #3b4043;
	background-color: rgba(244 , 244 , 244 , 0.6);
	cursor: pointer;
}

.contact_section .form_tag.active{
	background-color: rgba(152 , 203 , 214 , 0.6);
	pointer-events: none;
}

.contact_section .form_contents_frame{
	padding:40px 24px 60px;
	background-color: #EBF4F4;
}

.contact_section .c_form_contents{
	max-width: 700px;
	margin-inline: auto;
}

.contact_section .tel_area{
	margin-top: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:32px;
	font-weight: bold;
	font-size: 30px;
	letter-spacing: 0.01em;
	line-height: 1.2;
	color: #3b4043;

}

.contact_section .tel01{
	display: flex;
	align-items: center;
}

.contact_section .tel01::after{
	content:'';
	width:20px;
	height:20px;
	background-color: #000;
	margin-left: 10px;
	clip-path: polygon(0 0, 0% 100%, 100% 50%);

}

.contact_section .complete_text{
	font-size: 21px;
	line-height: 1.7;
	text-align: center;
}

.c_form_contents .form_line{
	padding:24px 0;
	display: flex;
	align-items: flex-start;
	border-bottom:1px solid #707070;
}

.c_form_contents .form_label{
	flex-shrink: 0;
	width:220px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 50px;
	font-size: 13px;
	margin-right: 40px;
}

.c_form_contents .form_label::after{
	content:'必須';
	flex-shrink: 0;
	width: 44px;
	height: 26px;
	background: #2e2e2e;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 8px;
	font-size: 13px;
	color: #fff;
}


.c_form_contents .form_label.free::after{
	content:'任意';
	background-color: #ADADAD;
}

.c_form_contents .form_right{
	width:100%;
}

.c_form_contents .text_input{
	width:100%;
	height:50px;
	padding-inline: 12px;
	border:1px solid #707070;
	background-color: #fff;
	font-size: 13px;
}

.c_form_contents select{
	width:100%;
	height:50px;
	padding-inline: 12px;
	border:1px solid #707070;
	background-color: #fff;
	font-size: 13px;
	cursor: pointer;
}

.c_form_contents textarea{
	width:100%;
	height:100px;
	padding: 12px;
	border:1px solid #707070;
	background-color: #fff;
	font-size: 13px;
	line-height: 1.5;
}


.c_form_contents .submit_area{
	margin-top: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.c_form_contents .submit{
	border: none;
	background: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 175px;
	height: 30px;
	background: #2e2e2e;
	cursor: pointer;
	font-weight: normal;
	font-size: 13px;
	color: #fff;
}

.c_form_contents .re_text{
	margin-top: 24px;
}

.c_form_contents .re_text a{
	border-bottom: 1px solid;
}

/*
------------------------------------
採用情報
------------------------------------
*/

body.recruit_body{

}

body.recruit_body footer{
	position: relative;
}

body.recruit_body footer::before{
	content:'';
	width:1400px;
	min-width: 100%;
	height:172px;
	background-image: url('../img/common/recruit_footer_deco.png');
	background-size:100% 100%;
	background-position: top;
	bottom:100%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.recruit_fv_section{
	margin-bottom: 60px;
}

.recruit_fv_section .fv_frame{
	position: relative;
	min-height:580px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	padding-top: 32px;
}

.recruit_fv_section .fv_frame::before{
	content:'';
	width:1400px;
	min-width: 100%;
	height:305px;
	background-image: url('../img/common/recruit_fv_wave.png');
	background-size: 100% 100%;
	background-position: top;
	position: absolute;
	bottom: -2px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -2;
}

.recruit_fv_section .recruit_fv{
	position: absolute;
	z-index: -3;
	width:100%;
	height:100%;
	top:0;
	left:0;

}

.recruit_fv_section .recruit_fv img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.recruit_fv_section .page_title_area{
	width:100%;
	max-width: 1000px;
	margin-inline: auto;
	display: flex;
	justify-content: flex-end;
	align-items: flex-start;
	padding-right: 0;
	color:#fff;
}

.recruit_fv_section .recruit_title_set{
	display: flex;
	flex-direction: column;
	align-items: center;
}

.recruit_fv_section .fv_text{
	width: 330px;
}

.recruit_fv_section .recruit_fv_deco{
	position: absolute;
	z-index: -1;
	width:242px;
	left:8%;
	bottom:110px;
}

.recruit_fv_section .recruit_fv_message{
	position: absolute;
	bottom:0;
	right:50%;
	width:600px;
	max-width: 48%;
}

.recruit_text_section{

}

.recruit_text_section .recruit_text{
	font-weight: bold;
	font-size: 18px;
	letter-spacing: 0.01em;
	line-height: 2;
	text-align: center;
	color: #3b4043;
}

.recruit_text_section .recruit_text p + p{
	margin-top: 16px;
}


.recruit_info_section{
	padding-top: 72px;
}

.recruit_info_section .sec_head{
	max-width: 1000px;
	margin-inline: auto;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.15em;
	line-height: 1.3;
	color: #6f605f;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap:12px;
}

.recruit_info_section .sec_head::after{
	content:'';
	width: 350px;
	max-width: 100%;
	height: 3px;
	background: linear-gradient(#85a4f8 0%, #99ccd5 100%);
}

.recruit_info_section .info_list{
	margin-top: 120px;
}

.recruit_info_section .info_block{
	display: flex;
	align-items: flex-start;
	justify-content: flex-end;
	gap:60px;
}

.recruit_info_section .info_img_area{
	width:100%;
	position: relative;
}

.recruit_info_section .info_img_frame{
	display: flex;
	justify-content: flex-end;
	position: relative;
}

.recruit_info_section .info_head{
	position: absolute;
	z-index: 3;
	white-space: nowrap;
	bottom:calc(100% + 32px);
	right:130px;
	font-size: 32px;
	font-weight: normal;
	line-height: 1.3;
	color: #6f605f;
}



.recruit_info_section .info_img{
	flex-shrink: 0;
	width:110%;
}

.recruit_info_section .info_text_area{
	flex-shrink: 0;
}

.recruit_info_section .info_text{
	font-size: 13px;
	line-height: 2;
}


.recruit_info_section .info_link{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	width: fit-content;
	margin-top: 32px;
	font-family: var(--monte);
	font-size: 11px;
	line-height: 1.5;
	color: #6f605f;
	gap:5px;
}

.recruit_info_section .more_border{
	position: relative;
	width:85px;
	height:1px;
	background-color: #000000;
	transition-duration: 0.4s;
}

.recruit_info_section  .more_border::after{
	content:'';
	width:1px;
	height:30px;
	background-color: #000000;
	position: absolute;
	right:0;
	bottom:0;
	transform: rotate(-35deg);
	transform-origin: bottom;
}

@media(any-hover:hover){
	.recruit_info_section .info_link:hover .more_border{
		transform: translateX(8px);
	}
}


.recruit_info_section .info_block01{

}

.recruit_info_section .info_block01 .info_deco,
.recruit_info_section .info_block03 .info_deco{
	position: absolute;
	width:340px;
	aspect-ratio: 1 / calc(190 / 340);
	background-image:url('../img/common/recruit_deco01.png') ;
	background-size: contain;
	bottom:calc(100% - 112px);
	right:0;
	z-index: 1;
}

.recruit_info_section .info_block02{
	margin-top: 40px;
	flex-direction: row-reverse;
}

.recruit_info_section .info_block02 .info_img_frame{
	display: flex;
	justify-content: flex-start;
	transform: translateY(-60px);
}

.recruit_info_section .info_block02 .info_head{
	right:auto;
	left:240px;
	bottom:calc(100% + 32px + 60px);
}

.recruit_info_section .info_block02 .info_deco{
	position: absolute;
	width:276px;
	aspect-ratio: 1 / calc(194 / 276);
	background-image:url('../img/common/recruit_deco02.png') ;
	background-size: contain;
	bottom:calc(100% - 112px + 60px);
	right:auto;
	left:260px;
	z-index: 1;
}

.recruit_info_section .info_block03{
	margin-top: 112px;
}

.recruit_link_section{
	padding-top: 160px;
}

.recruit_link_section .recruit_link_list{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:44px;
}

.recruit_link_section .recruit_link_item{
	width:282px;
}

.recruit_link_section .recruit_link{
	display: block;
}

.recruit_link_section .recruit_link_thumb{
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}

.recruit_link_section .recruit_link_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 50%;
}

.recruit_link_section .recruit_link_text_area{
	margin-top: 16px;
	font-weight: bold;
	font-size: 17px;
	text-align: center;
	color: #6f605f;
	line-height: 2;
}

.c_entry_button{
	display: flex;
	justify-content: center;
	align-items: center;
	max-width: 100%;
	width: 425px;
	min-height: 75px;
	border-radius: 9999px;
	background: linear-gradient(#fff 0%, #99ccd5 100%);
	box-shadow: 3px 5px 10px rgba(0, 0, 0, 0.43);
	padding:4px 8px;
	font-weight: bold;
	font-size: 26px;
	color: #6f737e;
	margin-inline: auto;
	margin-top: 48px;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.c_entry_button:hover{
		opacity: 0.7;
	}
}


.recruit_contents_section{
	padding-top: 100px;
}

.recruit_contents_section .sec_head_frame{
	max-width: 880px;
	margin-inline: auto;
}

.recruit_contents_section .sec_head{
	width: fit-content;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:12px;
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.15em;
	line-height: 1.3;
	color: #6f605f;
}

.recruit_contents_section .sec_head::after{
	content:'';
	width: 354px;
	height: 3px;
	background: linear-gradient(#85a4f8 0%, #99ccd5 100%);

}

.recruit_contents_section .recruit_contents_list{
	margin-top: 130px;
}

.recruit_contents_section .recruit_contents_block{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:32px;
}

.recruit_contents_section .recruit_contents_block + .recruit_contents_block{
	margin-top: 200px;
}

.recruit_contents_section .contents_img_area{
	flex-shrink: 0;
	max-width: 640px;
	width:50%;
	position: relative;
}

.recruit_contents_section .contents_head{
	white-space: nowrap;
	font-size: 32px;
	line-height: 1.5;
	font-weight: normal;
	color: #6f605f;
	position: absolute;
	z-index: 4;
	bottom:calc(100% + 44px);
	right:-190px;
}

.recruit_contents_section .contents_img{
	aspect-ratio: 1 / calc(306 / 640);
}

.recruit_contents_section .contents_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.recruit_contents_section .contents_text_area{
	position: relative;
	z-index: 3;
}

.recruit_contents_section .contents_text{
	font-size: 13px;
	line-height: 2.2;
} 

.recruit_contents_section .contents_text p + p{
	margin-top: 12px;
}

.recruit_contents_section .recruit_contents_block:nth-child(odd) {
	
}

.recruit_contents_section .recruit_contents_block:nth-child(odd) .contents_deco{
	position: absolute;
	width:340px;
	aspect-ratio: 1 / calc(190 / 340);
	background-image:url('../img/common/recruit_deco01.png') ;
	background-size: contain;
	bottom:calc(100% - 80px);
	right:-250px;
	z-index: 1;
}

.recruit_contents_section .recruit_contents_block:nth-child(even) {
	flex-direction: row-reverse;
	justify-content: flex-start;
}

.recruit_contents_section .recruit_contents_block:nth-child(even) .contents_text_area{
	display: flex;
	justify-content: center;
	width:100%;
}

.recruit_contents_section .recruit_contents_block:nth-child(even) .contents_deco{
	position: absolute;
	width:276px;
	aspect-ratio: 1 / calc(194 / 276);
	background-image:url('../img/common/recruit_deco02.png') ;
	background-size: contain;
	bottom:calc(100% - 80px);
	right:-66px;
	z-index: 1;
}


.recruit_contents_section .recruit_contents_block:nth-child(even) .contents_head{
	right:60px;
}

.recruit_guide_section{

}

.recruit_guide_section .recruit_text{
	margin-top: 36px;
	font-size: 13px;
	letter-spacing: 0.01em;
	line-height: 2;
	text-align: center;
}

.recruit_guide_section .recruit_guide_list{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:20px;
}


.recruit_guide_section .recruit_guide{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 195px;
	min-height: 46px;
	border-radius: 11px;
	background: rgba(146, 146, 147, 0.69);
	font-size: 19px;
	color: #fff;
	transition-duration: 0.4s;
	padding:4px 16px;
}

@media(any-hover:hover){
	.recruit_guide_section .recruit_guide:hover{
		background-color: #bedada;
	}
}

.recruit_guide_section .recruit_guide.active{
	background-color: #bedada;
}

.recruit_point_section{
	padding-top: 72px;
}

.recruit_flow_section{
	padding-top: 100px;
}

.recruit_staff_section{
	padding-top: 100px;
}

.recruit_staff_section .staff_list{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 7%;
}

.recruit_staff_section .staff_card{
	display: block;
}

.recruit_staff_section .staff_thumb{
	aspect-ratio: 1 / calc(172 / 355);
}

.recruit_staff_section .staff_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.recruit_staff_section .staff_text_area{
	margin-top: 32px;
}

.recruit_staff_section .staff_name{
	font-weight: bold;
	font-size: 14px;
	line-height: 1.5;
}

.recruit_staff_section .staff_name span{
	display: inline-block;
}

.recruit_appli_section{
	padding-top: 160px;
}

.recruit_appli_section .recruit_appli_list{
	margin-top: 40px;
}

.recruit_appli_section .recruit_appli_line{
	display: flex;
	align-items: flex-start;
	padding:24px 0;
	font-size: 14px;
	letter-spacing: 0.03em;
	line-height: 1.8;

}

.recruit_appli_section .recruit_appli_head{
	font-weight: bold;
	flex-shrink: 0;
	width:100px;
	padding-right: 8px;
}


/*
------------------------------------
FAQ
------------------------------------
*/

body.page404_body{
	
}

main.page404_main{

}

.page404_section{
	padding-top: 120px;
}


.page404_section .p01{
	font-size: 32px;
	font-weight: bold;
	text-align: center;
}

.page404_section .p02{
	width: fit-content;
	margin:24px auto 0;
}