@import url('https://fonts.googleapis.com/css2?family=Josefin+Sans:ital,wght@0,100..700;1,100..700&family=Noto+Sans+JP:wght@100..900&family=Rubik:ital,wght@0,300..900;1,300..900&family=Zen+Maru+Gothic:wght@300;400;500;700;900&display=swap');

:root{
	--base_font_family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	--zen_maru: "Zen Maru Gothic", sans-serif;
	--rubik:"Rubik", sans-serif;
	--jose:"Josefin Sans", sans-serif;
	--base_font_color: #000;
	--green:#35902c;
	--orange:#D36900;
}

*{
	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: cover;
	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: 15px;
	font-family: var(--base_font_family);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

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

#body_wrap{
	overflow: hidden;
}


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

.fax a{
	pointer-events: none;
}

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

/*
------------------------------------
アニメーション関係
------------------------------------
*/

.c_hover_opa{
	transition-duration:0.4s
}


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


.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);
	}
}




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

section{
	position: relative;
}

.hide{
	display: none;
}

.container{
	width: 100%;
	max-width: 1200px;
	padding:0 25px;
	margin:0 auto;
}


/*左にグレー四角のある見出し*/
.c_gray_square_head{
	position: relative;
	padding-left: 18px;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 24px;
	letter-spacing: 0.04em;
	line-height: 1.3;
	color: var(--green);

}

.c_gray_square_head::before{
	content:'';
	width:11px;
	height:20px;
	background-color: #AFAEA4;
	position: absolute;
	top:7px;
	left:0;
}


/*波線の背景*/
.c_wave{
	position: absolute;
    width: 1920px;
    height: 125px;
    min-width: calc(100% + 20px);
    position: absolute;
    left: 50%;
    transform: translateX(-50%);
    background-repeat: repeat-x;
    background-size: 1920px 125px;
    z-index: -1;
}

.c_wave.wave_top{
	top:0;
}
.c_wave.wave_bottom{
	bottom:0;
}

.c_wave.wave_top_green{
	background-image: url('../img/common/wave_green_top.png');
}
.c_wave.wave_bottom_green{
	background-image: url('../img/common/wave_green_bottom.png');
}

.c_wave.wave_top_light_green{
	background-image: url('../img/common/wave_light_green_top.png');
}
.c_wave.wave_bottom_light_green{
	background-image: url('../img/common/wave_light_green_bottom.png');
}

.c_wave.wave_top_skin{
	background-image: url('../img/common/wave_skin_top.png');
}
.c_wave.wave_bottom_skin{
	background-image: url('../img/common/wave_skin_bottom.png');
}


/*楕円ボタン*/
.c_radi_button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 227px;
	height: 46px;
	border-radius: 9999px;
	border: 1px solid #707070;
	transition-duration: 0.4s;
	font-weight: 500;
	font-size: 17px;
	letter-spacing: 0.05em;
	line-height: 1.2;
	font-weight: bold;
}


.c_radi_button .radi{
	width:14px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #A3A3A3;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 14px;
	transition-duration: 0.4s;
}

.c_radi_button .radi::after{
	content:'';
	width:3px;
	height:5px;
	background-image: url('../img/common/icon_angle_right_white.svg');
	transition-duration: 0.4s;
}

.c_radi_button.orange{
	border-color: var(--orange);
	color:var(--orange);
}
.c_radi_button.orange .radi{
	background-color: var(--orange);
}

.c_radi_button.green{
	border-color: var(--green);
	color:var(--green);
}
.c_radi_button.green .radi{
	background-color: var(--green);
}


@media(any-hover:hover){
	.c_radi_button:hover{
		color:#fff;
		background-color: #707070;
	}
	.c_radi_button:hover .radi{
		background-color: #fff;
	}
	.c_radi_button:hover .radi::after{
		background-image: url('../img/common/icon_angle_right_gray.svg');
	}

	.c_radi_button.orange:hover{
		background-color: var(--orange);
	}
	.c_radi_button.orange:hover .radi{
		background-color: #fff;
	}
	.c_radi_button.orange:hover .radi::after{
		background-image: url('../img/common/icon_angle_right_orange.svg');
	}

	.c_radi_button.green:hover{
		background-color: var(--green);
	}
	.c_radi_button.green:hover .radi{
		background-color: #fff;
	}
	.c_radi_button.green:hover .radi::after{
		background-image: url('../img/common/icon_angle_right_green.svg');
	}
}

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

header{
	position: fixed;
	top:0;
	left: 0;
	width:100%;
	z-index: 100;
	background-color: #fff;

}

header .header_frame{
	max-width: 1920px;
	margin-inline: auto;
}

header .header_inner{
	max-width: 1200px;
	margin-inline: auto;
}

header .header_logo{
	display: block;
	width:124px;
	position: absolute;
	top:28px;
	left: 50%;
	transform: translateX(-50%);
	z-index: 110;
	font-size: 18px;
}

header .header_logo img{
	font-size: 18px;
}

header .header_logo_radi{
	width:258px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	z-index: 101;
	pointer-events: none;
	bottom:-60px;
	left: 50%;
	transform: translateX(-50%);
	position: absolute;
}

header .header_right{
	display: flex;
	align-items: center;
	position: relative;
	width: fit-content;
	height: 110px;
}

header .header_nav{
	display: flex;
	align-items: center;
}

header .header_parent_menu{
	position: relative;
	z-index: 103;
	display: flex;
	align-items: center;
	font-family: var(--zen_maru);
}

header .header_parent_menu:first-child{
	width:740px;
}

header .header_parent_link{
	display: flex;
	align-items: center;
	transition-duration: 0.4s;
	font-weight: bold;
	line-height: 1.3;
	font-size: 16px;
}

header .header_parent_link::after{
	content:'';
	width:9px;
	height:5px;
	background-image: url('../img/common/icon_angle_bottom_green.svg');
	margin-left: 6px;
}

header .header_parent_slash{
	width:1px;
	height:16px;
	background-color: #707070;
	margin:0 24px;
}

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

header .header_button_area{
	margin-left: 40px;
	position: relative;
}

header .header_recruit_button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 152px;
	height: 45px;
	background: var(--green);
	padding:4px 8px;
	border-radius: 8px;
	font-weight: bold;
	font-size: 18px;
	color: #fff;

}

header .header_recruit_button .radi{
	width:14px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	margin-right: 8px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
}

header .header_recruit_button .radi::after{
	content:'';
	width:3px;
	height:5px;
	background-image: url("../img/common/icon_angle_right_green.svg");
}

header .reserve_area{
	position: absolute;
	height:100%;
	left:calc(100% + 40px);
	top:0;
	white-space: nowrap;
}

header .reserve_link{
	display: flex;
	justify-content: center;
	align-items: center;
	width:155px;
	height:55px;
	border-radius: 0 0 11px 11px;
	background-color: var(--orange);
	font-weight: bold;
	font-size: 18px;
	color: #fff;
}

header .reserve_link .radi{
	width:14px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	flex-shrink: 0;
	margin-right: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

header .reserve_link .radi::after{
	content:'';
	width:3px;
	height:5px;
	background-image: url("../img/common/icon_angle_right_orange.svg");
}

header .tel_link{
	margin-top: 12px;
	display: flex;
	align-items: center;
	font-family: var(--rubik);
	font-size: 19px;
	color: var(--orange);

}

header .tel_link::before{
	content:'';
	width:11px;
	height:14px;
	flex-shrink: 0;
	margin-right: 6px;
	background-image: url("../img/common/icon_tel_orange.svg");
}


@media screen and (min-width:1501px){
	.under_1500{
		display: none!important;
	}
}

@media screen and (max-width:1500px){
	.over_1500{
		display: none!important;
	}

	header .header_parent_slash{
		margin: 0 12px;
	}

	header .header_logo{
		width:96px;
		top:28px;
	}

	header .header_logo_radi{
		width:180px;
		bottom:-40px;
		left: 50%;
	}

	header .header_parent_link{
		font-size: 15px;
	}

	header .header_parent_menu:first-child{
		width:700px;
	}


}/*@media screen and (max-width:1500px){*/


/*
------------------------------------
お問い合わせセクション
------------------------------------
*/


.common_contact_section{
	padding-top: 90px;
	padding-bottom: 90px;
}


.common_contact_section .sec_title{
	font-family: var(--jose);
	text-align: center;
	font-size: 40px;
	line-height: 1.3;
	text-align: center;
	font-weight: 400;
}

.common_contact_section .contact_text{
	width: fit-content;
	margin:16px auto 0;
	line-height: 1.7;
}

.common_contact_section .contact_text p{
	padding-left: 10px;
	position: relative;
}

.common_contact_section .contact_text p::before{
	content:'';
	width:6px;
	height:6px;
	background-color: var(--orange);
	border-radius: 50%;
	position: absolute;
	left:0;
	top:10px;
}

.common_contact_section .button_flex{
	margin-top: 32px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:45px;
}
.common_contact_section .button_area{
	width:495px;
}

.common_contact_section .button_head{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:24px;
	font-weight: 500;
	font-size: 20px;
	line-height: 1.3;
	font-family: var(--zen_maru);
}

.common_contact_section .button_head::before,
.common_contact_section .button_head::after{
	content:'';
	width:11px;
	height:22px;
	flex-shrink: 0;
}

.common_contact_section .button_head.orange::before{
	background-image: url('../img/common/deco_slash_orange_left.svg');
}
.common_contact_section .button_head.orange::after{
	background-image: url('../img/common/deco_slash_orange_right.svg');
}

.common_contact_section .button_head.green::before{
	background-image: url('../img/common/deco_slash_green_left.svg');
}
.common_contact_section .button_head.green::after{
	background-image: url('../img/common/deco_slash_green_right.svg');
}

.common_contact_section .button{
	display: flex;
	justify-content: center;
	align-items: center;
	height:115px;
	color:#fff;
	margin-top: 12px;
	position: relative;
}

.common_contact_section .button.web{
	gap:48px;
	background-color: var(--orange);
	
	font-weight: 600;
	font-size: 35px;
	line-height: 1.2;
}

.common_contact_section .button.web span{
	font-family: var(--jose);
	font-weight: 600;
}

.common_contact_section .button.web .radi{
	width:26px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	position: absolute;
	right:112px;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
}

.common_contact_section .button.web .radi::after{
	content:'';
	width:6px;
	height:10px;
	background-image: url('../img/common/icon_angle_right_orange.svg');

}

.common_contact_section .button.web::before{
	content:'';
	width:130px;
	height:80px;
	background-image: url('../img/common/deco_dinosaur.png');
	position: absolute;
	z-index: 2;
	left:0;
	top:64px;
	transition-duration: 0.4s;
}

.common_contact_section .button.web::after{
	content:'';
	width:183px;
	height:91px;
	background-image: url('../img/common/deco_dinosaur_on.png');
	position: absolute;
	z-index: 2;
	left:0;
	top:64px;
	transition-duration: 0.4s;
	opacity: 0;
}

@media(any-hover:hover){
	/* .common_contact_section .button.web:hover::before{
		opacity: 0;
	} */
	.common_contact_section .button.web:hover::after{
		opacity: 1;
	}
}


.common_contact_section .button.tel{
	background-color: var(--green);
}

.common_contact_section .button.tel::after{
	content:'';
	width:56px;
	height:55px;
	background-image: url('../img/common/deco_footprints_step01.svg');
	position: absolute;
	bottom:26px;
	right:22px;
}

@media(any-hover:hover){
	.common_contact_section .tel_button_frame:hover .button.tel::after{
		animation-duration: 1s;
		animation-fill-mode: forwards;
		animation-name: footprints;
	}
}

@keyframes footprints{
	50%{
		background-image: url('../img/common/deco_footprints_step02.svg');
	}
	100%{
		background-image: url('../img/common/deco_footprints_set.svg');
	}
}


.common_contact_section .tel_num{
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--rubik);
	font-weight: normal;
	font-size: 36px;
	color: #fff;
	line-height: 1.2;
}

.common_contact_section .tel_num::before{
	content:'';
	width:20px;
	height:26px;
	flex-shrink: 0;
	margin-right: 14px;
	background-image: url('../img/common/icon_tel_white.svg');
}

.common_contact_section .tel_time{
	margin-top: 3px;
	text-align: center;
}

/*
------------------------------------
ページ下部の医院情報
------------------------------------
*/

.common_info_section{
	padding-top: 160px;
	padding-bottom: 160px;
}

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

.common_info_section .info_flex + .info_flex{
	margin-top: 60px;
}

.common_info_section .info_img_area{
	width:560px;
	display: flex;
	justify-content: flex-end;
}


.common_info_section .info_img_area .info_img{
	max-width:942px ;
	width:942px;
	height:538px;
	flex-shrink: 0;
}

.common_info_section .info_img_area .info_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 14px;
	object-position: right;
}

.common_info_section .info_text_area{
	width:510px;
}

.common_info_section .logo{
	max-width:424px;
}

.common_info_section .access_flex{
	margin-top: 10px;
	display: flex;
	align-items: center;
	gap:20px;

}

.common_info_section .access_text{
	
	line-height: 1.5;
}

.common_info_section .access_button{
	flex-shrink: 0;
	width: 188px;
	height: 45px;
	border-radius: 999px;
	background: #fff;
	border: 1px solid #707070;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
	
	line-height: 1;
}

.common_info_section .access_button .radi{
	flex-shrink: 0;
	margin-left: 20px;
	width:14px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #A3A3A3;
}

.common_info_section .access_button .radi::after{
	content:'';
	width:3px;
	height:5px;
	background-image: url('../img/common/icon_angle_right_white.svg');
}

.common_info_section .schedule_area{
	margin-top: 40px;
}
.common_info_section .schedule{
	margin-top: 24px;
}

.common_info_section .guide_area{
	margin-top: 30px;
}

.common_info_section .guide_text{
	margin-top: 16px;
	
	line-height: 1.5;
}

.common_info_section .info_flex02{
	margin-top: 60px;
}

.common_info_section .calendar_area{
	width:560px;
}

.common_info_section .calendar{
	height:260px;
}

.common_info_section .calendar iframe{
	display: block;
	width:100%;
	height:100%;
}

.common_info_section .contact_area{
	width:560px;
}

.common_info_section .contact_box{
	min-height: 260px;
	display: flex;
	justify-content: center;
	padding:24px 60px 24px;
	position: relative;
	border-radius: 10px;
	background-color: #E8F8E7;
}

.common_info_section .contact_text{
	
	line-height: 1.7;
}

.common_info_section .contact_text p{
	position: relative;
	padding-left: 10px;
}

.common_info_section .contact_text p::before{
	content:'';
	width:6px;
	height:6px;
	border-radius: 50%;
	background-color: var(--orange);
	position: absolute;
	top:11px;
	left:0;
}

.common_info_section .web_button{
	width: 362px;
	height: 70px;
	border-radius: 9px;
	background: var(--orange);
	display: flex;
	align-items: center;
	padding-left: 24px;
	color:#fff;
	margin-top: 16px;
	position: relative;

}

.common_info_section .web_button::before{
	content:'';
	width:80px;
	height:50px;
	position: absolute;
	background-image: url('../img/common/info_deco04.png');
	top:16px;
	right:-28px;
	/* transform-origin: right; */
}

.common_info_section .web_button::after{
	content:'';
	width:104px;
	height:66px;
	position: absolute;
	background-image: url('../img/common/info_deco04_on.png');
	top:16px;
	right:-28px;
	opacity: 0;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.common_info_section .web_button:hover::after{
		opacity: 1;
	}
}

.common_info_section .web_button .web_text01{
	font-weight: bold;
	font-size: 12px;
	line-height: 1.3;
	margin-right: 12px;
}

.common_info_section .web_button .web_text02{
	font-weight: 500;
	font-size: 27px;
	line-height: 1;
	margin-right: 24px;
}

.common_info_section .web_button .web_text02 span{
	font-family: var(--jose);
	font-weight: 600;
	font-size: 28px;
	line-height: 1;
	padding-right: 6px;
}

.common_info_section .web_button .radi{
	width:18px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.common_info_section .web_button .radi::after{
	content:'';
	width:4px;
	height:7px;
	background-image: url("../img/common/icon_angle_right_orange.svg");
}

.common_info_section .tel_button{
	margin-top: 20px;
	margin-inline: auto;
	display: flex;
	align-items: center;
	width: 260px;
	height: 54px;
	border-radius: 9px;
	background: #fff;
	border: 1px solid var(--green);
	padding-left: 22px;
	position: relative;
	font-family: var(--rubik);
	font-weight: normal;
	font-size: 24px;
	color: var(--green);
}

.common_info_section .tel_button::before{
	content:'';
	width:13px;
	height:17px;
	background-image: url('../img/common/icon_tel_green.svg');
	margin-right: 8px;
}

.common_info_section .tel_button::after{
	content:'';
	width:34px;
	height:34px;
	background-image: url('../img/common/deco_footprints_set.svg');
	position: absolute;
	bottom:6px;
	right:8px;
}

.common_info_section .info_deco{
	position: absolute;
}

.common_info_section .info_deco01{
	width:62px;
	height:89px;
	background-image: url('../img/common/info_deco01.svg');
	top:8px;
	left:-10px;
	z-index: 1;
}
.common_info_section .info_deco02{
	width:308px;
	height:125px;
	background-image: url('../img/common/info_deco02.svg');
	bottom:-72px;
	left:6px;
	z-index: -1;
}
.common_info_section .info_deco03{
	width:128px;
	height:185px;
	background-image: url('../img/common/info_deco03.svg');
	bottom:-64px;
	right:-24px;
	z-index: 1;
}

/*
------------------------------------
フッター
------------------------------------
*/


footer{
	position: relative;
	padding-top: 90px;
	padding-bottom: 60px;
}

footer .footer_deco{
	position: absolute;
}

footer .footer_deco02{
	width:88px;
	height:157px;
	background-image: url('../img/common/footer_deco02.png');
	position: absolute;
	left:calc(50% - 20px);
	top:-26px;
	z-index: -4;
}

footer .footer_deco03{
	width:252px;
	height:115px;
	background-image: url('../img/common/footer_deco03.png');
	position: absolute;
	left:calc(50% + 200px);
	top:16px;
	z-index: -4;
}


footer::before{
	content:'';
	width:100vw;
	height:calc(100% - 100px);
	background-color: #E7F8DD;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -2;
}

footer .footer_contents{
	width: fit-content;
	margin-inline: auto;
}	

footer .footer_flex{
	display: flex;
	align-items: flex-start;
	gap:54px;
}

footer .footer_right{
	width:500px;
}

footer .footer_map{
	aspect-ratio: 1 / calc(260 / 500);
}

footer .footer_map iframe{
	width:100%;
	height:100%;
	display: block;
}

footer .footer_msg{
	position: relative;
	font-weight: bold;
	line-height: 1.5;
}

footer .footer_msg::before{
	content:'';
	width:89px;
	height:48px;
	background-image: url('../img/common/footer_deco01.png');
	position: absolute;
	left:-2px;
	bottom:calc(100% + 14px);
}

footer .footer_msg strong{
	font-family: var(--zen_maru);
	font-weight: 700;
	font-size: 32px;
	color: var(--green);
}

footer .footer_contact_list{
	margin-top: 24px;
}

footer .footer_contact{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 312px;
	height: 64px;
	border-radius: 9px;
	border: 1px solid var(--green);
	color: var(--green);
}

footer .footer_contact + .footer_contact{
	margin-top: 15px;
}

footer .footer_contact.web{
	font-weight: 500;
	font-size: 23px;
	line-height: 1.2;
}

footer .footer_contact.web span{
	font-family: var(--jose);
	font-weight: 600;
	font-size: 24px;
	line-height: 1;
}

footer .footer_contact.web .radi{
	width: 16px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: var(--green);
	margin-left: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .footer_contact.web .radi::after{
	content:'';
	width:4px;
	height:6px;
	background-image: url('../img/common/icon_angle_right_white.svg');
}

footer .footer_contact.tel{
	font-family: var(--rubik);
	font-size: 24px;
	line-height: 1;
}

footer .footer_contact.tel::before{
	content:'';
	width:13px;
	height:17px;
	background-image: url('../img/common/icon_tel_green.svg');
	flex-shrink: 0;
	margin-right: 12px;
}

footer .footer_flex02{
	display: flex;
	align-items: flex-start;
	margin-top: 96px;
}

footer .footer_info_area{
	margin-right: 28px;
}

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

footer .footer_address{
	margin-top: 10px;
	font-size: 14px;
	line-height: 1.5;
}

footer .footer_link_area{
	display: flex;
	align-items: center;
}

footer .footer_button_area{
	display: flex;
	align-items: flex-start;
	gap:12px;
	margin-right: 28px;
}

footer .footer_button{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 147px;
	height: 113px;
	padding-inline: 8px;
	border-radius: 9px;
	position: relative;
	overflow: hidden;
	font-weight: bold;
	font-size: 17px;
	line-height: 1.2;
	color: #fff;

}

footer .footer_button::before{
	content:'';
	width:100%;
	height:100%;
	position: absolute;
	background: #5cb547;
	opacity: 0.73;
	top:0;
	left:0;
	z-index: 0;
}

footer .footer_button.beginner{
	background-image: url('../img/common/footer_beginner_bg.jpg');
}
footer .footer_button.faq{
	background-image: url('../img/common/footer_faq_bg.jpg');
}

footer .footer_button_text{
	z-index: 2;
	position: relative;
}

footer .footer_button .radi{
	width: 13px;
	height: 13px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	z-index: 2;
	bottom:12px;
	left:0;
	right:0;
	margin:auto;
}

footer .footer_button .radi::after{
	content:'';
	width:3px;
	height:5px;
	background-image: url('../img/common/icon_angle_right_light_green.svg');
	transform: rotateZ(90deg);
}

footer .footer_list_area{

}

footer .footer_list_item a{
	display: flex;
	align-items: center;
	gap:4px;
	font-weight: bold;
	font-size: 14px;
	line-height: 1.2;
} 

footer .footer_list_item a .radi{
	flex-shrink: 0;
	width:20px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #8FD888;
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .footer_list_item a .radi::after{
	content:'';
	width:5px;
	height:8px;
	background-image: url('../img/common/icon_angle_right_white.svg');
}

footer .footer_list_flex{
	margin-top: 16px;
	display: flex;
	align-items: flex-start;
}

footer .footer_list_flex .footer_list_item:first-child{
	width: 165px;
	padding-right: 8px;
}

footer .footer_nav{
	width: fit-content;
	margin-inline: auto;
	margin-top: 40px;
}

footer .footer_nav a{
	transition-duration: 0.4s;
}

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

footer .footer_parent_menu{
	display: flex;
	justify-content: center;
	align-items: center;
}

footer .footer_parent_link{
	line-height: 1.3;
	display: flex;
	align-items: center;
	font-size: 16px;
}

footer .footer_parent_link::after{
	content:'';
	width:10px;
	height:6px;
	background-image: url('../img/common/icon_angle_bottom_green.svg');
	flex-shrink: 0;
	margin-left: 8px;
}

footer .footer_parent_slash{
	width:1px;
	height:17px;
	background-color: #535353;
	margin:0 24px;
}

footer .recruit_button{
	width: 152px;
	height: 45px;
	border-radius: 11px;
	background: var(--green);
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-size: 17px;
	line-height: 1.3;
	color: #fff;
	margin-left: 44px;
}

footer .recruit_button .radi{
	width:14px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	flex-shrink: 0;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-right: 10px;
}

footer .recruit_button .radi::after{
	content:'';
	width:3px;
	height:5px;
	background-image: url('../img/common/icon_angle_right_green.svg');
}
/*
------------------------------------
トップ
------------------------------------
*/

body.top_body{
	
}

main.top_main{

}

.top_section{

}

.top_fv_section{
	
	
}

.top_fv_section .fv_inner{
	position: relative;
	min-height:100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:80px 0;
}

.top_fv_section .fv{
	position: absolute;
	z-index: -5;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	width:100%;
	height:100%;
} 

.top_fv_section .fv img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 0 0 72px 72px;
}

.top_fv_section .fv_text_frame{
	display: flex;
	justify-content: flex-end;
	font-family: var(--zen_maru);
	font-weight: bold;
}

.top_fv_section .fv_text01{
	font-size: 64px;
	line-height: 1.3;
	color: var(--green);
}

.top_fv_section .fv_text02{
	margin-top: 24px;	
	font-size: 44px;
}

.top_fv_section .fv_deco{
	position: absolute;
}

.top_fv_section .fv_deco01{
	width:504px;
	aspect-ratio: 1 / calc(318 / 504);
	background-image: url('../img/top/fv_deco01.png');
	bottom:-108px;
	right:calc(50% + 80px);
}

.top_fv_section .fv_deco02{
	width:387px;
	aspect-ratio: 1 / calc(231 / 387);
	background-image: url('../img/top/fv_deco02.png');
	bottom:-70px;
	left:calc(50% + 280px);
}

.top_access_section{
	padding-top: 140px;
	padding-bottom: 100px;
}

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

.top_access_section .access_left,
.top_access_section .access_right{
	width:520px;
}

.top_access_section .schedule{
	margin-top: 20px;
}

.top_access_section .schedule_time{
	
	line-height: 1.5;
}

.top_access_section .access_area{
	position: relative;
	min-height: 140px;
}

.top_access_section .access_text{
	padding-left: 20px;
	margin-top: 10px;
	
	line-height: 1.5;
}

.top_access_section .access_button{
	width: 188px;
	height: 45px;
	margin-top: 16px;
	font-weight: 500;
}

.top_access_section .access_img{
	width:241px;
	position: absolute;
	right:0;
	top:0;
}

.top_access_section .access_img img{
	border-radius: 14px;
}

.top_access_section .reserve_area{
	margin-top: 40px;
}

.top_access_section .reserve_guide{
	margin-top: 10px;	
}

.top_access_section .reserve_line{
	display: flex;
	align-items: flex-start;
	font-size: 15px;
	line-height: 1.7;
}

.top_access_section .reserve_line .head{
	width:135px;
	flex-shrink: 0;
	text-align: right;
	font-weight: bold;
}

.top_access_section .reserve_line .head span{
	color:var(--orange);
}

.top_access_section .reserve_button_flex{
	margin-top: 12px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.top_access_section .reserve_button{
	width: 253px;
	height: 60px;
	border-radius: 10px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.top_access_section .reserve_button.web{
	background-color: var(--orange);
	color:#fff;

	font-weight: 500;
	font-size: 22px;
	line-height: 1.2;
}

.top_access_section .reserve_button.web span{
	padding-right: 8px;
	font-weight: 700;
	font-family: var(--jose);
}

.top_access_section .reserve_button.web .radi{
	width:16px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 20px;
	padding-right: 0;
}

.top_access_section .reserve_button.web .radi::after{
	content:'';
	width:4px;
	height:6px;
	background-image: url('../img/common/icon_angle_right_orange.svg');
}

.top_access_section .reserve_button.web .egg{
	width:49px;
	height:40px;
	background-image: url('../img/common/deco_eggs.png');
	left:4px;
	bottom:-20px;
	position: absolute;
}

.top_access_section .reserve_button.web::before{
	content:'';
	width:80px;
	height:50px;
	position: absolute;
	background-image: url('../img/common/info_deco04.png');
	top:34px;
	right:-5px;
}

.top_access_section .reserve_button.web::after{
	content:'';
	width:104px;
	height:66px;
	position: absolute;
	background-image: url('../img/common/info_deco04_on.png');
	top:34px;
	right:-5px;
	opacity: 0;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.top_access_section .reserve_button.web:hover::after{
		opacity: 1;
	}
}

.top_access_section .reserve_button.tel{
	border:1px solid var(--green);
	font-family: var(--rubik);
	font-size: 24px;
	line-height: 1.2;
	color: var(--green);
	position: relative;
}

.top_access_section .reserve_button.tel::before{
	content:'';
	width:12px;
	height:16px;
	background-image: url('../img/common/icon_tel_green.svg');
	flex-shrink: 0;
	margin-right: 10px;
}

.top_access_section .reserve_button.tel::after{
	content:'';
	width:69px;
	height:68px;
	background-image: url('../img/common/deco_footprints_set.svg');
	position: absolute;
	right:0;
	bottom:-24px;
}

.top_access_section .news_box{
	margin-top: 100px;
	background-color: #FFFCF5;
	padding:40px 60px;
	display: flex;
}

.top_access_section .news_head_area{
	flex-shrink: 0;
	width:160px;
}

.top_access_section .news_head{
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	width: fit-content;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.25;
	color: var(--green);
}

.top_access_section .news_head::before{
	content:'';
	width:16px;
	height:16px;
	background-image: url('../img/common/icon_radi_light_green.svg');
	margin-bottom: 12px;
}

.top_access_section .news_list{
	width:100%;
}

.top_access_section .news_line{
	border-bottom: 1px solid #707070;
}

.top_access_section .news_link{
	display: flex;
	align-items: flex-start;
	padding:20px 0;
	font-size: 15px;
}

.top_access_section .news_date{
	flex-shrink: 0;
	width:120px;
	padding-inline: 10px;
	color: var(--green);

}
.top_access_section .news_button_area{
	margin-left: 64px;
	width: 228px;
	position: relative;
	flex-shrink: 0;
}

.top_access_section .news_button{
	width: 100%;
	height: 51px;
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	align-items: center;
	background: #7ac773;
	font-weight: 500;
	color: #fff;
	position: absolute;
	bottom:0;
	left:0;
}

.top_access_section .news_button .radi{
	width:14px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-left: 24px;
}

.top_access_section .news_button .radi::after{
	content:'';
	width:3px;
	height:5px;
	background-image: url('../img/common/icon_angle_right_light_green.svg');
}

.top_concept_section{
	padding-top: 14px;
	padding-bottom: 120px;
}

.top_concept_section::after{
	content:'';
	width:201px;
	height:110px;
	background-image: url('../img/top/concept_deco02.png');
	position: absolute;
	left:calc(50% + 270px);
	bottom:-10px;
}

.top_concept_section::before{
	content:'';
	width:100vw;
	height:calc(100% - 200px);
	background-color: #E7F8DD;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: -1;
}

.top_concept_section .concept_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding-left: 50px;
	padding-right: 80px;
}

.top_concept_section .concept_left{
	width:508px;
	padding-top: 64px;
}
.top_concept_section .concept_right{
	width:450px;
}


.top_concept_section .sec_title{
	font-family: var(--jose);
	font-size: 15px;
	font-weight: normal;
	line-height: 1.3;
	color: var(--green);
	position: relative;
}

.top_concept_section .sec_title::before{
	content:'';
	width:107px;
	height:58px;
	background-image: url('../img/top/concept_deco01.png');
	position: absolute;
	left:-6px;
	bottom:calc(100% + 36px);
}

.top_concept_section .concept_catch{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.8;
	color: var(--green);
}

.top_concept_section .concept_text{
	margin-top: 20px;
	line-height: 2;
}

.top_concept_section .concept_text p + p{
	margin-top: 24px;
}

.top_concept_section .concept_img img{
	border-radius: 14px;
}

.top_concept_section .concept_button{
	margin-top: 28px;
}

.top_message_section{
	padding-top: 172px;
	padding-bottom: 70px;
}

.top_message_section .message_contents{
	position: relative;
}

.top_message_section .message_contents::before{
	content:'';
	width:100%;
	height:calc(100% + 700px);
	border-radius: 575px;
	border:2px solid var(--green);
	position: absolute;
	top:8px;
	left:0;
	z-index: -5;
	pointer-events: none;
}

.top_message_section .message_deco{
	position: absolute;
	z-index: 1;
}

.top_message_section .message_deco01{
	width:140px;
	height:76px;
	background-image: url('../img/top/staff_deco01.png');
	top:160px;
	left:110px;
}

.top_message_section .message_deco02{
	width:89px;
	height:128px;
	background-image: url('../img/top/staff_deco02.png');
	bottom:180px;
	right:-12px;
}

.top_message_section .message_deco03{
	width:209px;
	height:303px;
	background-image: url('../img/top/staff_deco03.png');
	bottom:-120px;
	right:-64px;
}

.top_message_section .sec_title{
	width: fit-content;
	margin:0 auto;
	font-family: var(--jose);
	font-weight: normal;
	font-size: 15px;
	line-height: 1.3;
	color: var(--green);
	padding-inline: 10px;
	background-color: #fff;
}

.top_message_section .message_catch{
	display: flex;
	justify-content: center;
	flex-direction: row-reverse;
	gap:30px;
	margin-top: 90px;
	margin-inline: auto;
	font-family: var(--zen_maru);
	font-weight: 500;
	font-size: 30px;
	line-height: 1;
	color: var(--green);
}

.top_message_section .message_catch p{
	writing-mode: vertical-rl;
}

.top_message_section .message_flex{
	margin-top: 80px;
	display: flex;
	align-items: flex-start;
}

.top_message_section .message_left{
	width:430px;
	padding-left:190px;
	margin-right: 110px;
}

.top_message_section .message_button{
	margin-top: 88px;
}

.top_message_section .message_right{
	width:508px;
}


.top_message_section .message_text{
	line-height: 2.2;
}

.top_message_section .message_text p + p{
	margin-top: 36px;
}

.top_about_section{
	padding-top: 180px;
	padding-bottom: 90px;
}

.top_about_section::before{
	content:'';
	width:100vw;
	height:calc(100% - 100px);
	background-color: #FFFCF5;
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	z-index: -1;
}

.top_about_section .sec_title{
	font-family: var(--jose);
	font-weight: normal;
	font-size: 15px;
	line-height: 1.3;
	text-align: center;
	color: var(--green);
}

.top_about_section .catch_text{
	font-family: var(--zen_maru);
	font-weight: 500;
	font-size: 32px;
	text-align: center;
	margin-top: 36px;
}

.top_about_section .guide_text{
	margin-top: 16px;
	line-height: 2.2;
	text-align: center;
}

.top_about_section .white_box{
	background-color: #fff;
	margin-top: 64px;
	border-radius: 22px;
	padding:96px 24px 80px;

}

.top_about_section .about_flex{
	display: flex;
}

.top_about_section .about_block{
	width:50%;
	padding-inline: 44px;
	padding-bottom: 16px;
}

.top_about_section .about_block:first-child{
	border-right: 1px solid #707070;
}

.top_about_section .about_head{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:10px;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.2;
	color: var(--green);

}

.top_about_section .about_head::before,
.top_about_section .about_head::after{
	content:'';
	width:11px;
	height:22px;
}

.top_about_section .about_head::before{
	background-image: url('../img/common/deco_slash_green_left.svg');
}
.top_about_section .about_head::after{
	background-image: url('../img/common/deco_slash_green_right.svg');
}

.top_about_section .about_img{
	max-width: 274px;
	margin:4px auto 0;
}

.top_about_section .about_name{
	margin-top: 4px;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 26px;
	gap:10px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.top_about_section .about_name::before,
.top_about_section .about_name::after{
	content:'';
	width:16px;
	height:16px;
	background-image:url('../img/common/icon_radi_light_green.svg');
}

.top_about_section .about_text{
	line-height: 2;
	margin-top: 4px;
}

.top_about_section .about_button{
	margin:16px auto 0;
}

.top_about_section .link_list{
	margin-top: 70px;
	display: flex;
	justify-content: center;
}

.top_about_section .link_list li{
	border-left: 1px solid #707070;
}

.top_about_section .link_list li:first-child{
	border-left:none;
}

.top_about_section .link_block{
	width:330px;
	display: block;
	min-height: 100%;
	padding-top: 8px;
	padding-bottom: 36px;
	padding-inline: 12px;
	position: relative;
}

.top_about_section .link_name{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 26px;
	letter-spacing: 0.1em;
	text-align: center;
	line-height: 1.3;

}

.top_about_section .link_icon{
	max-width: 114px;
	aspect-ratio: 1 / 1;
	margin:12px auto 0;
	position: relative;
}

.top_about_section .link_icon img{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}

.top_about_section .link_icon .icon_on{
	opacity: 0;
	pointer-events: none;
}

@media(any-hover:hover){
	.top_about_section .link_block:hover .link_icon .icon_on{
		opacity: 1;
		pointer-events: auto;
	}
	.top_about_section .link_block:hover .link_icon .icon_off{
		opacity: 0;
		pointer-events: none;
	}
}

.top_about_section .link_block::after{
	content:'';
	width:17px;
	height:6px;
	background-image: url('../img/common/icon_anchor_bottom_green.svg');
	position: absolute;
	bottom:10px;
	left:0;
	right:0;
	margin:auto;
}

.top_about_section .gal_area{
	max-width: 1920px;
	margin-top:60px;
	margin-inline: auto;
	display: flex;

}

.top_about_section .gal_flex {
	flex-shrink: 0;
    display: flex;
    align-items: flex-start;
    flex-shrink: 0;
    animation: gal_slide 30s linear infinite;
}

@keyframes gal_slide{
	0%{
		transform: translateX(0%);
	}
	100%{
		transform: translateX(-50%);
	}
}

.top_about_section .gal_list {
    flex-shrink: 0;
    display: flex;
    align-items: flex-start;
}

.top_about_section .gal_item{
	padding-inline:12px ;
	width:333px
}

.top_about_section .gal_item img{
	border-radius: 14px;
}

.top_about_section .gal_item02{
	margin-top: 80px;
}

.top_about_section .gal_item03{
	width: 365px;
	margin-top: 114px;
}
.top_about_section .gal_item05{
	width: 230px;
	margin-top: 136px;
}
.top_about_section .gal_item06{
	margin-top: 40px;
}
.top_about_section .gal_item07{
	margin-top: 170px;
}
.top_about_section .gal_item08{
	width: 365px;
}

.top_beginner_section{
	padding-top: 220px;
}

.top_beginner_section .beginner_flex{
	display: flex;
	align-items: flex-start;
}

.top_beginner_section .beginner_left{
	width:320px;
	flex-shrink: 0;
}

.top_beginner_section .beginner_right{
	width:100%;
}

.top_beginner_section .beginner_button{
	width: 247px;
	height: 64px;
	border-radius: 23px;
	border: 1px solid #707070;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top: 72px;
	font-weight: 500;
	letter-spacing: 0.05em;
}

.top_beginner_section .beginner_button::before{
	content:'';
	width:12px;
	height:20px;
	background-image: url('../img/common/icon_beginner.svg');
	flex-shrink: 0;
	margin-right: 18px;
}

.top_beginner_section .beginner_button .radi{
	width:14px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #A3A3A3;
	flex-shrink: 0;
	margin-left: 18px;
}

.top_beginner_section .beginner_button .radi::after{
	content:'';
	width:3px;
	height:5px;
	background-image: url('../img/common/icon_angle_right_white.svg');
}

.top_beginner_section .text_flex{
	display: flex;
	width: fit-content;
	align-items: flex-start;
	flex-direction: row-reverse;
	position: relative;
}

.top_beginner_section .text_flex::before{
	
}

.top_beginner_section .sec_head{
	position: relative;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	color: var(--green);
	writing-mode: vertical-rl;
	margin-left: 10px;
}

.top_beginner_section .sec_head::before{
	content:'';
	width:126px;
	height:96px;
	background-image: url('../img/top/beginner_deco.png');
	position: absolute;
	bottom:100%;
	right:-50px;
}

.top_beginner_section .guide_text{
	writing-mode: vertical-rl;
	font-size: 15px;
	line-height: 2.2;
}

.top_beginner_section .beginner_frame{
	position: relative;
	padding-left:72px;
	padding-right: 100px;
	height:630px;
}

.top_beginner_section .beginner_frame::before{
	content:'';
	width:1682px;
	height:calc(100% - 100px);
	position: absolute;
	left:0;
	top:0;
	background-color: #7AC773;
	z-index: -2;
}

.top_beginner_section .wave{
	position: absolute;
	z-index: -1;
	width:1682px;
	left:0;
}

.top_beginner_section .wave_top{
	top:-90px;
}
.top_beginner_section .wave_bottom{
	bottom:0;
}

.top_beginner_section .beginner_list{
	position: relative;
}

.top_beginner_section .beginner_block{
	position: absolute;
	width:661px;
	top:0;
	left:0;
	opacity: 0;
	pointer-events: none;
	transition-property: opacity;
	transition-duration: 1s;
}

.top_beginner_section .beginner_block.show{
	opacity: 1;
	pointer-events: auto;
}

.top_beginner_section .beginner_thumb{
	aspect-ratio: 1 / calc(341 / 661);
}

.top_beginner_section .beginner_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 14px;
}

.top_beginner_section .beginner_contents{
	margin-top: 40px;
}

.top_beginner_section .beginner_head{
	display: flex;
	align-items: flex-start;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 24px;
	line-height: 1.3;
	letter-spacing: 0;
}

.top_beginner_section .beginner_head .num{
	flex-shrink: 0;
	min-width: 45px;
	padding-right: 8px;
	font-family: var(--jose);
	font-weight: bold;
	font-size: 34px;
	color: #fff;
	margin-top: -3px;
}

.top_beginner_section .beginner_text{
	margin-top: 12px;
	line-height: 2;
	letter-spacing: 0;

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

.page_fv_section{
	
	
}

.page_fv_section .fv_inner{
	min-height:600px;
	padding-top: 110px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.page_fv_section .page_title{
	padding:80px 0;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 80px;
	letter-spacing: 0.05em;
	line-height: 1.2;
	text-align: center;
	color: var(--green);

}

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

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

.page_fv_section .fv_deco{
	position: absolute;
}

.page_fv_section .fv_deco01{
	width:196px;
	height:148px;
	bottom:-40px;
	right:calc(50% + 360px);
	background-image: url('../img/recruit/fv_deco01.png');
}

.page_fv_section .fv_deco02{
	width:192px;
	height:117px;
	bottom:-18px;
	left:calc(50% + 380px);
	background-image: url('../img/recruit/fv_deco02.png');
}
/*
------------------------------------
パンクズ
------------------------------------
*/

.c_bread_section{
	padding:40px 0;
}

.c_bread_section .bread_list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:15px;
	line-height: 1.2;
	letter-spacing: 0;
}

.c_bread_section .bread_list a{
	color: #00436d;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.c_bread_section .bread_list a:hover{
		opacity: 0.5;
	}
}

.c_bread_section .bread_list .arrow{
	width: 6px;
	height: 10px;
	background-image: url('../img/c/angle_right_blue.png');
	margin-top: 1px;
}

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

body.recruit_body{

}

main.recruit_main{
	position: relative;
}

.recruit_section{

}

.recruit_message_section{
	padding-top: 124px;
	padding-bottom: 180px;
	
}

.recruit_message_section::before{
	content:'';
	width:100%;
	height:calc(100% - 100px);
	background-color: #E7F8DD;
	position: absolute;
	z-index: -1;
	top:0;
	left:0;
}

.recruit_message_section .message_frame{
	max-width: 1000px;
	margin-inline: auto;
}

.recruit_message_section .sec_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.8;
	color: var(--green);
}

.recruit_message_section .message_text{
	margin-top: 22px;
	line-height: 2.2;
}

.recruit_message_section .message_img{
	position: absolute;
	z-index: 3;
	width:355px;
	bottom:-96px;
	left:calc(50% + 100px);
}

.recruit_message_section .message_img img{
	border-radius: 50%;
}

.recruit_info_section{
	padding-top: 50px;
	padding-bottom: 270px;
}

.recruit_info_section::before{
	content:'';
	width:100%;
	height:calc(100% + 400px);
	position: absolute;
	left:0;
	top:-150px;
	background-color: #FFFCF5;
	z-index: -5;
}

.recruit_info_section .info_inner{
	max-width: 1000px;
	margin-inline: auto;
}

.recruit_info_section .info_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

.recruit_info_section .info_box{
	width:472px;
	background-color: #fff;
	box-shadow: 0px 3px 6px rgba(0, 0, 0, 0.16);
	padding:114px 56px 40px;
	min-height: 486px;
}

.recruit_info_section .info_head_area{
	position: relative;
}

.recruit_info_section .info_staff{
	position: absolute;
	bottom:100%;
	left: 50%;
	transform: translateX(-50%);
}

.recruit_info_section .info_staff img{
	height:164px;
	width:auto;
}

.recruit_info_section .info_head{
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	height: 45px;
	border-radius: 9999px;
	background: var(--green);
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.3;
	color: #fff;
}

.recruit_info_section .info_deco{
	position: absolute;
	z-index: 2;
}

.recruit_info_section .info_deco01{
	width:107px;
	height:58px;
	background-image: url('../img/recruit/info_deco01.png');
	bottom:20px;
	left:-48px;
}

.recruit_info_section .info_deco02{
	width:68px;
	height:70px;
	background-image: url('../img/recruit/info_deco02.png');
	bottom:10px;
	right:-45px;
}

.recruit_info_section .info_deco03{
	width:96px;
	height:140px;
	background-image: url('../img/recruit/info_deco03.png');
	bottom:-44px;
	right:-32px;
}

.recruit_info_section .info_box ul li{
	padding:28px 0;
	line-height: 1.8;

}

.recruit_info_section .info_box ul li + li{
	border-top:1px dashed #707070;
}

.recruit_info_section .info_open{
	margin-top: 40px;
	text-align: center;
}

.recruit_info_section .info_title{
	margin-top: 16px;
	font-weight: bold;
	font-size: 20px;
	text-align: center;
	line-height: 1.3;
}

.recruit_info_section .info_text{
	margin-top: 32px;
	line-height: 1.8;
}

.recruit_info_section .sns_flex{
	margin-top: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
}

.recruit_info_section .sns_flex .border{
	width:1px;
	height:32px;
	background-color: #626262;
	margin:0 80px;
}

.recruit_info_section .sns_flex a{
	width:180px;
}

.recruit_info_section .info_deco04{
	width:125px;
	aspect-ratio: 1 / calc(136 / 125);
	background-image: url('../img/recruit/info_deco04.png');
	top:16px;
	left:-10px;
}

.recruit_info_section .info_deco05{
	width:190px;
	height:121px;
	aspect-ratio: 1 / calc(121 / 190);
	background-image: url('../img/recruit/info_deco05.png');
	top:16px;
	right:-32px;
}

.recruit_detail_section{

} 

.recruit_detail_section::before{
	content:'';
	width: 2903px;
	height: 1351px;
	border-radius: 50%;
	background: #fff;
	position: absolute;
	top: -170px;
	left: 50%;
	transform: translateX(-50%);
	z-index: -2;
}

.recruit_detail_section::after{
	content:'';
	width:100%;
	height:calc(100% - 675px);
	background-color: #fff;
	left:0;
	bottom:0;
	z-index: -1;
}

.recruit_detail_section .sec_head{
	font-family: var(--jose);
	font-weight: normal;
	font-size: 40px;
	line-height: 1.2;
	text-align: center;
}

.recruit_detail_section .detail_list{
	margin-top: 120px;
}

.recruit_detail_section .detail_block + .detail_block{
	margin-top: 180px;
}

.recruit_detail_section .detail_flex{
	padding-left: 170px;
	display: flex;
	align-items: flex-end;
}

.recruit_detail_section .detail_img{
	min-width:280px;
	padding-right: 16px;
	flex-shrink: 0;
}

.recruit_detail_section .detail_img img{
	width:auto;
	height:188px;
}

.recruit_detail_section .detail_message{
	margin-bottom: 20px;
	width: 504px;
	padding:32px 32px;
	position: relative;
	border-radius: 16px;
	background: #f7f7f7;
}

.recruit_detail_section .detail_message::before{
	content:'';
	width:48px;
	height:32px;
	background: #f7f7f7;
	position: absolute;
	bottom:40px;
	left:-40px;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.recruit_detail_section .detail_message li{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 16px;
	line-height: 1.5;
	padding-left: 16px;
	position: relative;
}

.recruit_detail_section .detail_message li::before{
	content:'';
	width:8px;
	height:8px;
	border-radius:50%;
	background-color: #E69BC5;
	position: absolute;
	left:0;
	top:10px;
}

.recruit_detail_section .detail_message li + li{
	margin-top: 8px;
}

.recruit_detail_section .detail_table_frame{

}

.recruit_detail_section .detail_table{
	width:100%;
	/* border-collapse: collapse; */
	border-spacing: 12px 0;
}

.recruit_detail_section .detail_table th,
.recruit_detail_section .detail_table td{
	line-height: 2.3;
	font-weight: normal;
	vertical-align: top;
	padding-top: 30px;
	padding-bottom: 30px;
}

.recruit_detail_section .detail_table .job_name{
	font-size: 18px;
	font-weight: bold;
}

.recruit_detail_section .detail_table th{
	width:180px;
	margin-right: 12px;
	padding-inline: 8px;
	border-bottom: 1px solid #FFFFFF;
}

.recruit_detail_section .detail_table td{
	width:calc(100% - 12px);
	padding-inline: 44px;
	border-bottom: 1px solid #C7C7C7;
	background-color: #FFFCF5;
}

.recruit_detail_section .detail_table.pink th{
	background-color: #F7E4EE;
}
.recruit_detail_section .detail_table.blue th{
	background-color: #D7F7F7;
}
.recruit_detail_section .detail_table.brown th{
	background-color: #F4E6C8;
}

.recruit_detail_section .detail_table tr:last-child th,
.recruit_detail_section .detail_table tr:last-child td{
	border-bottom: none;
}

.recruit_detail_section .entry_button{
	display: flex;
	justify-content: center;
	align-items: center;
	margin-top:96px;
	margin-inline: auto;
	max-width: 507px;
	height: 106px;
	border-radius: 9999px;
	background: #7ac773;
	font-weight: bold;
	font-size: 28px;
	line-height: 1.3;
	color: #fff;
}

.recruit_detail_section .entry_button .radi{
	width:26px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	margin-left: 40px;
}

.recruit_detail_section .entry_button .radi::after{
	content:'';
	width:6px;
	height:10px;
	background-image: url('../img/common/icon_angle_right_light_green.svg');
}

.recruit_flow_section{
	padding-top: 224px;
	padding-bottom: 160px;
}

.recruit_flow_section .sec_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	letter-spacing: 0.1em;
	line-height: 1.5;
	color: var(--green);
	padding-bottom: 16px;
	border-bottom:2px solid #7AC773
}

.recruit_flow_section .flow_list{
	margin-top: 48px;
}

.recruit_flow_section .flow_block{
	padding-left: 56px;
	position: relative;
}

.recruit_flow_section .flow_block + .flow_block{
	margin-top: 56px;
}

.recruit_flow_section .flow_head{
	display: flex;
	align-items: flex-start;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
} 

.recruit_flow_section .flow_num{
	width:40px;
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	background-image: url('../img/recruit/flow_radi.png');
	font-weight: bold;
	font-size: 25px;
	line-height: 1;
	color: #fff;
	position: absolute;
	top:-8px;
	left:0;

}

.recruit_flow_section .entry_button{
	margin-top: 16px;
}

.recruit_flow_section .flow_text{
	margin-top: 16px;
	line-height: 2;
}

.recruit_flow_section .message_box{
	max-width: 996px;
	border-radius: 13px;
	border: 1px solid #707070;
	margin:72px auto 0;
	padding:52px 64px;
	font-family: var(--zen_maru);
	font-size: 18px;
	line-height: 2.5;
}

.recruit_entry_section{
	padding-top: 132px;
	padding-bottom: 200px;
	background-color: #7AC773;
} 

.recruit_entry_section .entry_inner{
	max-width: 1000px;
	margin-inline: auto;
}

.recruit_entry_section .sec_title{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 40px;
	line-height: 1.5;
	text-align: center;
	color: #fff;
}

.recruit_entry_section .entry_text{
	margin-top: 48px;
	font-size: 20px;
	line-height: 1.7;
	text-align: center;
}

.recruit_entry_section .tel_block{
	width: fit-content;
	margin-inline: auto;
	margin-top: 48px;
	min-width: 672px;
}

.recruit_entry_section .tel_num{
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	margin-inline: auto;
	gap:14px;
	font-family: var(--rubik);
	font-size: 36px;

}

.recruit_entry_section .tel_num::before{
	content:'';
	width: 20px;
	height: 26px;
	background-image: url('../img/common/icon_tel_black.svg');
	flex-shrink: 0;
}

.recruit_entry_section .tel_human{
	font-size: 16px;
	text-align: center;
}

.recruit_entry_section .insta_text{
	margin-top: 16px;
	border-top:1px solid #000;
	padding-top: 16px;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
}

.recruit_entry_section .form_frame{
	margin-top: 120px;
}

.recruit_entry_section .form_line + .form_line{
	margin-top: 36px;
}

.recruit_entry_section .form_label label{
	display: flex;
	align-items: center;
	font-weight: bold;
	font-size: 22px;
	line-height: 1.3;
}

.recruit_entry_section .form_label label::after{
	content:'必須';
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 80px;
	height: 32px;
	border-radius: 6px;
	background: #f46f6f;
	padding:2px 4px;
	font-weight: bold;
	font-size: 22px;
	letter-spacing: 0.2em;
	line-height: 1.2;
	color: #fff;
	margin-left: 8px;
}
.recruit_entry_section .form_label label.free::after{
	content:none;
}

.recruit_entry_section .form_input{
	margin-top: 16px;
}

.recruit_entry_section .text_input{
	display: block;
	width: 100%;
	height: 68px;
	border-radius: 13px;
	background: #fff;
	padding-inline: 24px;
	border: none;
	font-size: 28px;
}

.recruit_entry_section .text_input::placeholder{
	color:#BEBEBE;
}

.recruit_entry_section textarea{
	display: block;
	width: 100%;
	height: 240px;
	border-radius: 13px;
	background: #fff;
	padding: 16px;
	border: none;
	font-size: 28px;
	line-height: 1.5;
}

.recruit_entry_section .submit_area{
	margin-top: 120px;
}

.recruit_entry_section .submit_frame{
	width: fit-content;
	margin-inline: auto;
	position: relative;
	transition-duration: 0.4s;
}

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

.recruit_entry_section .submit_frame .radi{
	width:34px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #fff;
	position: absolute;
	right:80px;
	top:36px;
	pointer-events: none;
}

.recruit_entry_section .submit_frame .radi::after{
	content:'';
	width:7px;
	height:12px;
	background-image: url('../img/common/icon_angle_right_light_green.svg');
}

.recruit_entry_section .submit{
	border: none;
	background: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 507px;
	height: 106px;
	max-width: 100%;
	border-radius: 9999px;
	background: #64be5c;
	border: 3px solid #fff;
	font-weight: bold;
	font-size: 35px;
	line-height: 1.3;
	color: #fff;
	
}

/*
------------------------------------
応募完了画面
------------------------------------
*/

body.complete_body{
	background-color: #FFFCF5;
}

main.complete_body_main{
	position: relative;
}


.complete_section{
	min-height: 100vh;
	padding-top: 110px;
	display: flex;
	align-items: center;
}


.complete_section .complete_frame{
	padding:100px 0;

}

.complete_section .complete_contents{
	position: relative;

}

.complete_section .icon{
	max-width: 112px;
	margin-inline: auto;

}

.complete_section .deco{
	position: absolute;
}

.complete_section .deco01{
	width:213px;
	aspect-ratio: 1 / calc(273 / 213);
	top:48px;
	right:calc(50% + 290px);
	background-image: url('../img/complete/deco01.png');
}

.complete_section .deco02{
	width:266px;
	aspect-ratio: 1 / calc(198 / 266);
	top:108px;
	left:calc(50% + 300px);
	background-image: url('../img/complete/deco02.png');
}

.complete_section .complete_head{
	margin-top: 44px;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	text-align: center;
	color: var(--green);

}

.complete_section .complete_text{
	margin-top: 24px;
	line-height: 2.3;
	text-align: center;
}

/*
------------------------------------
 準備中
------------------------------------
*/

body.prepare_body{
	background-color: #FFFCF5;
}

main.prepare_body_main{
	position: relative;
}


.prepare_section{
	min-height: 100vh;
	padding-top: 110px;
	display: flex;
	align-items: center;
}


.prepare_section .prepare_frame{
	padding:100px 0;

}

.prepare_section .prepare_contents{
	position: relative;

}

.prepare_section .icon{
	max-width: 150px;
	margin-inline: auto;
	margin-top: 72px;

}

.prepare_section .deco{
	position: absolute;
}

.prepare_section .deco01{
	width:88px;
	aspect-ratio: 1 / calc(140 / 88);
	top:90px;
	right:calc(50% + 450px);
	background-image: url('../img/prepare/deco01.png');
}

.prepare_section .deco02{
	width:192px;
	aspect-ratio: 1 / calc(118 / 192);
	top:90px;
	left:calc(50% + 410px);
	background-image: url('../img/prepare/deco02.png');
}

.prepare_section .prepare_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 2;
	text-align: center;
	color: var(--green);
}


/*
------------------------------------
 準備中
------------------------------------
*/

body.page404_body{
	background-color: #FFFCF5;
}

main.page404_body_main{
	position: relative;
}


.page404_section{
	padding-top: 160px;
	padding-bottom: 80px;
}

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

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