@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: clip;
}


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;
	margin-top: 80px;
}

body:has(.common_info_section) footer{
	margin-top: 0;
}


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: center;
	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 .add_link{
	display: block;
	width: fit-content;
	font-size: 14px;
	letter-spacing: 0.05em;
	line-height: 1.5;
	margin-top: 14px;
}

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;
	height:100vh;
	min-height: 650px;
	max-height: 1080px;
	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_text_box{
	position: relative;
	z-index: 3;
}

.top_fv_section .fv_text01{
	font-size: 64px;
	font-size: clamp(calc(64 / 1080 * 650px) , calc(64 / 1080 * 100vh) , calc(64 / 1080 * 1080px));
	line-height: 1.3;
	color: var(--green);
}

.top_fv_section .fv_text02{
	margin-top: 24px;	
	margin-top: clamp(calc(24 / 1080 * 650px) , calc(24 / 1080 * 100vh) , calc(24 / 1080 * 1080px));
	font-size: 44px;
	font-size: clamp(calc(44 / 1080 * 650px) , calc(44 / 1080 * 100vh) , calc(44 / 1080 * 1080px));
}

.top_fv_section .fv_catch{
	margin-top: 32px;
	margin-top: clamp(calc(32 / 1080 * 650px) , calc(32 / 1080 * 100vh) , calc(32 / 1080 * 1080px));
	/* max-width: 288px; */
	max-width: clamp(calc(288 / 1080 * 650px) , calc(288 / 1080 * 100vh) , calc(288 / 1080 * 1080px));
	transform: translateX(-16px);
}

.top_fv_section .fv_tel{
	margin-top: 8px;
	font-size: 15px;
	letter-spacing: 0.05em;
	line-height: 1.3;
	font-weight:400;
}

.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;
	background-color: #fff;
}

.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 575px 0 0;
	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: 32px;
}

.top_message_section .message_right{
	width:508px;
}


.top_message_section .message_text{
	line-height: 2.2;
	position: relative;
	z-index: 3;
}

.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{
	min-height: 264px;
	margin:32px auto 0;
}

.top_about_section .about_img01{
	max-width: 360px;
}
.top_about_section .about_img02{
	max-width: 330px;
}

.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;
	width: fit-content;
	margin-inline: auto;
	position: relative;
}

.top_about_section .about_name .about_balloon{
	position: absolute;
	z-index: 3;
	width:86px;
	left:-34px;
	bottom:calc(100% + 2px);
}

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

@media(any-hover:hover){
	.top_about_section .about_button:hover{
		background-color: var(--green);
		border-color: var(--green);
	}

	.top_about_section .about_button:hover .radi{
		background-color: #8FD888;
	}
	.top_about_section .about_button:hover .radi::after{
		background-image: url('../img/common/icon_angle_right_white.svg');
	}
}


.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{
	position: relative;
	z-index: 1;
	border-radius: 0 0 72px 72px;
}

.page_fv_section::after{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(255,255,255,0.56);
	position: absolute;
	top:0;
	left:0;
	border-radius: 0 0 72px 72px;
}

.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;
	
	text-align: center;
	color: var(--green);
	position: relative;
	z-index: 3;
}

.page_fv_section .page_title:has(span){
	line-height: 0.8;
}
.page_fv_section .page_title span{
	font-size: 30px;
}

.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;
	border-radius: 0 0 72px 72px;
}

.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');
	z-index: 3;
}

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

.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% - 0px);
	background-color: #E7F8DD;
	position: absolute;
	z-index: -1;
	top:-100px;
	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;
	
}

.recruit_entry_section .recaptcha_text {
    text-align: center;
    font-size: 13px;
    margin-top: 24px;
}

.grecaptcha-badge { visibility: hidden; }

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

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

/*
------------------------------------
クリニック紹介
------------------------------------
*/

.clinic_message_section{
	padding-top: 88px;
	overflow: clip;
}

.clinic_message_section .sec_title{
	font-family: var(--base_font_family);
	font-weight: bold;
}

.clinic_message_section .message_deco02{
	bottom:320px;
}
.clinic_message_section .message_deco03{
	bottom:32px;
}

.clinic_message_section .clinic_message_text{
	width: fit-content;
	margin-inline: auto;
	margin-top: 88px;
	font-size: 15px;
	line-height: 2.2;
}

.clinic_message_section .doctor_button{
	display: flex;
	align-items: center;
	max-width: 690px;
	min-height: 115px;
	border-radius: 9999px;
	padding-top: 12px;
	padding-bottom: 12px;
	padding-left: 314px;
	font-weight: bold;
	font-size: 26px;
	line-height: 1.3;
	color: var(--orange);
	transition-duration: 0.4s;
	position: relative;
	border:2px solid var(--orange);
	margin-inline: auto;
	margin-top: 172px;
}

.clinic_message_section .doctor_button::before{
	content:'';
	width:215px;
	height:215px;
	background-image: url('../img/clinic/doctor.png');
	position: absolute;
	bottom:0;
	left:52px;
}

.clinic_message_section .doctor_button .radi{
	content:'';
	width:24px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color:var(--orange);
	transition-duration: 0.4s;
	margin-left: 32px;
}

.clinic_message_section .doctor_button .radi::after{
	content:'';
	width:5px;
	height:9px;
	background-image: url('../img/common/icon_angle_right_white.svg');
	flex-shrink: 0;
	
}

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

.clinic_facility_section{
	margin-top: 24px;
	padding-top: 150px;
	padding-bottom: 80px;
	position: relative;
}

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

.clinic_facility_section .sec_head{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 600;
	font-size: 25px;
	line-height: 1.5;
	text-align: center;
	color: var(--green);
	font-family: var(--jose);
}

.clinic_facility_section .sec_head::after{
	content:'';
	width:112px;
	height:3px;
	background-color: var(--green);
}

.clinic_facility_section .facility_area{
	margin-top: 48px;
	position: relative;
}

.clinic_facility_section .facility_area + .facility_area{
	margin-top: 120px;
}

.clinic_facility_section .facility_head{
	font-weight: bold;
	font-size: 26px;
	line-height: 1.5;
	text-align: center;
	font-family: var(--zen_maru);
}

.clinic_facility_section .facility_flex{
	margin-top: 48px;
	display: flex;
	align-items: flex-start;
	gap:52px;
}

.clinic_facility_section .facility_left{
	position: relative;
	flex-shrink: 0;
	width:438px;
}

.clinic_facility_section .facility_img{
	position: relative;
	z-index: 2;
	aspect-ratio: 1 / calc(257 / 438);
}

.clinic_facility_section .facility_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 24px;
}

.clinic_facility_section .facility_right{
	width:100%;
}

.clinic_facility_section .facility_title{
	width: fit-content;
	min-height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--green);
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
	color: #fff;
	padding:3px 10px;
}

.clinic_facility_section .facility_text{
	margin-top: 24px;
	font-size: 15px;
	line-height: 2.3;
}

.clinic_facility_section .facility_deco01{
	position: absolute;
	width: 251px;
	aspect-ratio: 1 / calc(174 / 251);
	background-image: url('../img/clinic/facility_deco01.png');
	left:16px;
	bottom:calc(100% - 40px);
}

.clinic_facility_section .facility_deco02{
	position: absolute;
	width: 108px;
	aspect-ratio: 1 / calc(58 / 108);
	background-image: url('../img/clinic/facility_deco02.png');
	right:90px;
	top:-72px;
}

.clinic_facility_section .facility_gal_list{
	margin-top: 32px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:54px;
}

.clinic_facility_section .facility_gal{
	aspect-ratio: 1 / calc(387 / 548);
}

.clinic_facility_section .facility_gal img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 24px;
}

.clinic_facility_section .facility_list{
	margin-top: 130px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:40px 24px;
}

.clinic_facility_section .facility_name{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 30px;
	background-color: var(--green);
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
	color: #fff;
	padding:3px 8px;
}

.clinic_facility_section .facility_thumb{
	margin-top: 22px;
	aspect-ratio: 1 / calc(222 / 368);
}

.clinic_facility_section .facility_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 24px;
}

.clinic_facility_section .facility_remark{
	margin-top: 36px;
	max-width: 910px;
	margin-inline: auto;
	font-size: 15px;
	line-height: 2.3;
	
} 

.clinic_facility_section .facility_remark strong{
	color: #bf0000;
}

/*
------------------------------------
診療について
------------------------------------
*/

.medical_guide_section{
	padding-top: 128px;
	padding-bottom: 56px;
}

.medical_guide_section .guide_contents{
	position: relative;
}

.medical_guide_section .guide_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.8;
	text-align: center;
	color: var(--green);
	position: relative;
	z-index: 5;
}

.medical_guide_section .guide_text{
	margin-top: 20px;
	font-size: 15px;
	line-height: 2.3;
	text-align: center;
	position: relative;
	z-index: 5;
}

.medical_guide_section .guide_img_area{
	position: absolute;
	z-index: 1;
}

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

.medical_guide_section .guide_img_inner{
	position: relative;
}

.medical_guide_section .guide_deco{
	position: absolute;
	background-size: contain;
	z-index: 2;
}

.medical_guide_section .guide_img_area01{
	width:154px;
	top:-110px;
	right:248px;
}
.medical_guide_section .guide_deco01{
	width:108px;
	aspect-ratio: 1 / calc(58 / 108);
	background-image: url('../img/medical/medical01_deco.png');
	right:calc(100% - 10px);
	top:30px;
}

.medical_guide_section .guide_img_area02{
	width:245px;
	bottom:-180px;
	left:108px;
}
.medical_guide_section .guide_deco02{
	width:88px;
	aspect-ratio: 1 / calc(135 / 88);
	background-image: url('../img/medical/medical02_deco.png');
	left:-16px;
	top:-64px;
}

.medical_guide_section .guide_img_area03{
	width:173px;
	bottom:-144px;
	right:180px;
}
.medical_guide_section .guide_deco03{
	width:90px;
	aspect-ratio: 1 / calc(128 / 90);
	background-image: url('../img/medical/medical03_deco.png');
	right:-38px;
	top:100px;
}

.medical_about_section{
	padding-bottom: 150px;
} 

.medical_about_section .white_box{
	
}

/*
------------------------------------
予防・定期検診
------------------------------------
*/

.prevention_message_section{
	padding-top: 88px;
	padding-bottom: 48px;
}

.prevention_message_section .sec_head{
	font-weight: 400;
	font-size: 15px;
	line-height: 1.3;
	text-align: center;
	color: var(--green);
}

.prevention_message_section .sec_catch{
	margin-top: 24px;
	font-family:var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.8;
	text-align: center;
	color: var(--green);
}

.prevention_message_section .message_text{
	margin-top: 20px;
	font-size: 15px;
	line-height: 2.3;
	text-align: center;
	max-width: 728px;
	margin-inline: auto;
}

.prevention_flow_section{
	padding-top: 10px;
	position: relative;
	padding-bottom: 180px;
}


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


.prevention_flow_section .teeth_head{
	margin-inline: auto;
	position: relative;
}

.prevention_flow_section .teeth_head_text{
	position: absolute;
	bottom:-6px;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 35px;
	white-space: nowrap;
	width:fit-content;
	padding:6px 36px;
	background-color: var(--green);
	font-weight: bold;
	font-size: 18px;
	line-height: 1.3;
	color: #fff;
	z-index: 2;
}

.prevention_flow_section .teeth_head01{
	max-width: 205px;
}

.prevention_flow_section .teeth_head02{
	max-width: 191px;
	padding-bottom: 24px;
	margin-top: 50px;
}

.prevention_flow_section .flow_flex{
	margin-top: 20px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:78px;
}

.prevention_flow_section .flow_frame{
	width:353px;
	position: relative;
}

.prevention_flow_section .flow{
	aspect-ratio: 1 / calc(1494 / 353);
}

.prevention_flow_section .arrow{
	position: absolute;
	width:82px;
	aspect-ratio: 1 / calc(83 / 82);
	background-size: contain;
	top:-80px;
	z-index: 3;
}

.prevention_flow_section .arrow01{
	background-image: url('../img/prevention/arrow01.png');
	right:85px;
}
.prevention_flow_section .arrow02{
	background-image: url('../img/prevention/arrow02.png');
	left:85px;
}

.prevention_flow_section .arrow03{
	position: absolute;
	width:270px;
	aspect-ratio: 1 / calc(263 / 270);
	background-image: url('../img/prevention/arrow03.png');
	z-index: 5;
	left:-156px;
	top:calc(100% - 75px);
}

.prevention_flow_section .flow_message{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:32px;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	text-align: center;
	margin-top: 48px;
}

.prevention_flow_section .flow_message::before,
.prevention_flow_section .flow_message::after{
	content:'';
	flex-shrink: 0;
	width:59px;
	height:59px;
	background-image: url('../img/prevention/icon_teeth.png');
}

.prevention_guide_section{
	padding-top: 90px;
}

.prevention_guide_section .guide_contents{
	position: relative;
	min-height: 160px;
	padding-left: 470px;
}

.prevention_guide_section .guide_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.8;
	text-align: left;
	color: var(--green);
}

.prevention_guide_section .guide_text{
	margin-top: 24px;
	font-size: 15px;
	line-height: 2.3;
}

.prevention_guide_section .guide_img{
	position: absolute;
	width:322px;
	left:80px;
	top:-186px;
}

.prevention_guide_section .guide_img img{
	border-radius: 24px;
}

.prevention_guide_section .skin_box{
	position: relative;
	background-color: #FFFCF5;
	margin-top: 80px;
	padding:88px 80px 72px;
}

.prevention_guide_section .guide_deco{
	position: absolute;
}

.prevention_guide_section .guide_deco01{
	position: absolute;
	width:114px;
	aspect-ratio: 1 / calc(110 / 114);
	background-image: url('../img/prevention/guide_deco01.png');
	right:54px;
	top:-80px;
}

.prevention_guide_section .often_area{
	position: relative;
	min-height: 324px;
	padding-right: 440px;
}

.prevention_guide_section .often_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 24px;
	line-height: 1.3;
}

.prevention_guide_section .often_img{
	position: absolute;
	width:324px;
	right:70px;
	top:-20px;
}

.prevention_guide_section .often_img img{
	border-radius: 50%;
}

.prevention_guide_section .often_list{
	margin-top: 32px;
}

.prevention_guide_section .often_line{
	display: flex;
	align-items: center;
	gap:12px;
}

.prevention_guide_section .often_line + .often_line{
	margin-top: 18px;
}

.prevention_guide_section .often_title{
	flex-shrink: 0;
	width:265px;
	min-height: 48px;
	border-radius: 9999px;
	padding:3px 4px;
	border: 2px solid #D0D0D0;
	background-color: #fff;
	text-align: center;
	font-weight: bold;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 18px;
	line-height: 1.3;
}

.prevention_guide_section .often_info{
	font-size: 18px;
	line-height: 1.5;
}

.prevention_guide_section .often_text{
	margin-top: 40px;
	font-size: 15px;
	line-height: 2.3;
}

.prevention_guide_section .use_flex{
	margin-top: 80px;
	display: flex;
	align-items: flex-start;
	min-height: 360px;
}

.prevention_guide_section .use_left{
	flex-shrink: 0;
	width:430px;
	padding-right: 20px;
}

.prevention_guide_section .use_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 24px;
	line-height: 2.1;
}

.prevention_guide_section .use_img_frame{
	position: relative;
}

.prevention_guide_section .use_img{
	position: absolute;
	width:487px;
	left:-80px;
	top:0;
}

.prevention_guide_section .use_text{
	font-size: 15px;
	line-height: 2.2;
}

.prevention_guide_section .use_text strong{
	color:var(--green);
}

.prevention_guide_section .faq_button{
	margin-inline: auto;
	margin-top: 114px;
	width:690px;
	max-width: 100%;
	min-height: 115px;
	font-size: 26px;
}

.prevention_guide_section .faq_button .radi{
	transform: translateX(75px);
	width:24px;
}

.prevention_guide_section .faq_button .radi::after{
	width:5px;
	height:9px;
}

.prevention_kit_section{
	padding-top: 100px;
	padding-bottom: 70px;
}

.prevention_kit_section .kit_box{
	max-width: 785px;
	margin-inline: auto;
	background-color: #BEE8BA;
	padding:30px 25px;
	border-radius: 4px;
	position: relative;
}

.prevention_kit_section .kit_clip{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top:14px;
}

.prevention_kit_section .kit_clip01{
	z-index: 4;
	width:154px;
	height:32px;
	border-radius: 9999px;
	border:4px solid #9C9D9E;
}

.prevention_kit_section .kit_clip02{
	z-index: 1;
	width:118px;
	height:26px;
	background-color: #9C9D9E;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-inline: 12px;
}

.prevention_kit_section .kit_clip02::before,
.prevention_kit_section .kit_clip02::after{
	content:'';
	width:8px;
	height:8px;
	border-radius: 50%;
	background-color: #D6D7D8;
}

.prevention_kit_section .kit_frame{
	position: relative;
	z-index: 2;
	background-color: #fff;
	padding:72px 54px 22px;
}

.prevention_kit_section .kit_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 22px;
	line-height: 1.5;
	color: var(--green);
}

.prevention_kit_section .kit_text{
	margin-top: 32px;
	font-size: 15px;
	line-height: 2.3;
}

.prevention_kit_section .kit_img_area{
	position: relative;
	height:450px;
}

.prevention_kit_section .kit_img{
	position: absolute;
}

.prevention_kit_section .kit_img01{
	width:434px;
	top:0;
	left:-48px;
}
.prevention_kit_section .kit_img02{
	width:363px;
	bottom:0;
	right:-32px;
}

/*
------------------------------------
小児矯正歯科
------------------------------------
*/

.pediatric_fv_section .page_title{
}

.pediatric_fv_section .page_title p{
	position: relative;
}

.pediatric_fv_section .balloon{
	position: absolute;
	width:164px;
	bottom:calc(100% + 6px);
	left:60px;
}

.pediatric_guide_section{
	padding-top: 128px;
}

.pediatric_guide_section .guide_contents{
	position: relative;
	max-width: 730px;
	min-height: 490px;
	margin-inline: auto;
}

.pediatric_guide_section .guide_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.8;
	text-align: center;
	color: var(--green);
	position: relative;
	z-index: 2;
}

.pediatric_guide_section .guide_text{
	margin-top: 24px;
	font-size: 15px;
	line-height: 2.3;
	text-align: center;
	position: relative;
	z-index: 2;
}

.pediatric_guide_section .guide_img_area{
	position: absolute;
}

.pediatric_guide_section .guide_img_area img{
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
}

.pediatric_guide_section .guide_img_inner{
	position: relative;
}

.pediatric_guide_section .guide_deco{
	position: absolute;
	background-size: contain;
}

.pediatric_guide_section .guide_img_area01{
	width:245px;
	top:56px;
	left:-48px;
}
.pediatric_guide_section .guide_deco01{
	width:108px;
	aspect-ratio: 1 / calc(58 / 108);
	left:32px;
	top:calc(100% - 10px);
	background-image: url('../img/pediatric/pediatric01_deco.png');
}

.pediatric_guide_section .guide_img_area02{
	width:319px;
	top:0;
	right:-148px;
}

.pediatric_guide_section .guide_img_area03{
	width:173px;
	bottom:-115px;
	right:56px;
}
.pediatric_guide_section .guide_deco03{
	width:90px;
	aspect-ratio: 1 / calc(128 / 90);
	right: -64px;
	top:36px;
	background-image: url('../img/pediatric/pediatric03_deco.png');
}

.pediatric_merit_section{
	padding-top: 200px;
}

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

.pediatric_merit_section .merit_guide{
	font-size: 15px;
	line-height: 1.5;
	text-align: center;
	margin-top: 12px;
}

.pediatric_merit_section .merit_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:10px;
	margin-top: 100px;
}

.pediatric_merit_section .merit_item{
	background-color: #8FD888;
	border-radius: 9999px 9999px 0 0;
	padding-top: 148px;
	padding-bottom: 32px;
	min-height: 384px;
	position: relative;
}

.pediatric_merit_section .merit_img{
	width:265px;
	aspect-ratio: 1 / calc(235 / 265);
	position: absolute;

	top: -88px;
	left: 50%;
	transform: translateX(-50%);
}

.pediatric_merit_section .merit_img img{
	width:100%;
	height:100%;
	object-fit: contain;
}

.pediatric_merit_section .merit_title{
	font-family:var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.8;
	text-align: center;
	color: #fff;
}
.pediatric_merit_section .merit_text{
	margin-top: 24px;
	font-size: 15px;
	line-height: 2.3;
	text-align: center;
}

.pediatric_message_section{
	padding-top: 60px;
}

.pediatric_message_section .message_flex{
	width: fit-content;
	margin-inline: auto;
	display: flex;
	align-items: center;
	gap:50px;
	position: relative;
	z-index: 3;
}

.pediatric_message_section .message_left{
	flex-shrink: 0;
	width:482px;
}

.pediatric_message_section .message_left img{
	border-radius: 24px;
}

.pediatric_message_section .message_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.75;
	color: var(--green);
}

.pediatric_message_section .message_text{
	margin-top: 40px;
	font-weight: bold;
	font-size: 15px;
	line-height: 2.3;
}

.pediatric_message_section .example_area{
	margin-top: -10px;
	background-color: #FFFCF5;
	border-radius: 9999px 9999px 0 0;
	padding-top: 120px;
	padding-inline: 32px;
	padding-bottom: 100px;
	position: relative;
}

.pediatric_message_section .example_deco{
	position: absolute;
	background-size: contain;
}

.pediatric_message_section .example_deco01{
	width:87px;
	aspect-ratio: 1 / calc(93 / 87);
	background-image: url('../img/pediatric/merit_deco01.png');
	left:272px;
	top:80px;
}
.pediatric_message_section .example_deco02{
	width:228px;
	aspect-ratio: 1 / calc(145 / 228);
	background-image: url('../img/pediatric/merit_deco02.png');
	top:85px;
	right:90px;
}

.pediatric_message_section .example_inner{
	max-width: 785px;
	margin-inline: auto;
}

.pediatric_message_section .example_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.75;
	color: var(--green);
	text-align: center;
}

.pediatric_message_section .example_text{
	margin-top: 28px;
	font-size: 15px;
	line-height: 2.3;
	text-align: center;
}

.pediatric_message_section .action_list{
	width: fit-content;
	margin-inline: auto;
	margin-top: 56px;
}

.pediatric_message_section .action_list li{
	font-size: 18px;
	line-height: 1.5;
	position: relative;
	padding-left: 32px;
}

.pediatric_message_section .action_list li + li{
	margin-top: 24px;
}

.pediatric_message_section .action_list li::before{
	content:'';
	width:14px;
	height:14px;
	background-image: url('../img/common/icon_radi_light_green.svg');
	position: absolute;
	left:0;
	top:8px;
}

.pediatric_message_section .hearing_text{
	width: fit-content;
	min-height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 6px 16px;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
	color: var(--green);
	border-top:1px solid var(--green);
	border-bottom:1px solid var(--green);
	margin-inline: auto;
	margin-top: 64px;
}

.pediatric_message_section .example_list{
	margin-top: 50px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:30px 24px;
}

.pediatric_message_section .example_item{
	min-height: 92px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:6px 8px;
	border-radius: 9999px;
	border:2px solid #8FD888;
	background-color: #fff;
	font-weight: bold;
	font-size: 18px;
	line-height: 1.5;
	text-align: center;
}

.pediatric_message_section .example_bottom{
	max-width: 390px;
	height: 65px;
	background-repeat: no-repeat;
	background-size: contain;
	background-position: center;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='389.392' height='65.088' viewBox='0 0 389.392 65.088'%3E%3Cpath d='M380.892,21.446c-4.68-6.977-12.858-14.055-39.512-17.66-34.053-4.607-73.861-.967-109.9-.581C177.955,3.778,124.8-1.863,71.244.648-6.76,4.306-5.482,27.032,5.273,42.52,10.558,50.13,18.873,58.658,48.08,62.7c34.571,4.781,75.408,1.075,111.808.114,44.153-1.166,88.547.692,132.727-.295,32.163-.719,67.241-2.956,84.852-10.363,18.82-7.916,10.933-17.806,6.035-26.384-.808-1.415-1.632-2.867-2.609-4.324' fill='%23b4e593'/%3E%3C/svg%3E");
	display: flex;
	justify-content: center;
	align-items: center;
	font-family:var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	text-align: center;
	color: #1f8d16;
	margin-inline: auto;
	margin-top: 56px;
}

/*
------------------------------------
その他の治療
------------------------------------
*/

.other_section{

}

.other_section .sec_head{
	display: flex;
	justify-content: center;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	text-align: center;
	position: relative;
}

.other_section .sec_head::before,
.other_section .sec_head::after{
	content:'';
	position: absolute;
}

.other_section .sec_head::before{
	width:108px;
	height:58px;
	background-image: url('../img/other/head_deco01.png');
	right:calc(50% + 120px);
	top:-10px;
}
.other_section .sec_head::after{
	width:102px;
	height:50px;
	background-image: url('../img/other/head_deco02.png');
	left:calc(50% + 104px);
	top:-10px;
}

.other_section .sub_head{
	margin-top: 32px;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
	text-align: center;
	color:var(--green);
}

.other_section .sub_text{
	margin-top: 8px;
	font-size: 15px;
	line-height: 2.3;
	text-align: center;


}

.other_section .other_contents_border{
	height:1px;
	background-color:#707070;
	margin-bottom: 120px;
}

.other_link_section{
	padding-top: 120px;
}

.other_link_section .link_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:28px;
}

.other_link_section .link{
	min-height: 92px;
	border-radius: 9999px;
	border:2px solid #8FD888;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
	color: var(--green);
	padding:8px;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.other_link_section .link:hover{
		background-color: var(--green);
		color:#fff;
	}
}


.other_general_section{
	padding-top: 130px;
}

.other_general_section .general_flex{
	margin-top: 88px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:64px;
}

.other_general_section .general_img_area{
	flex-flow: 0;
	width:500px;
}

.other_general_section .general_img_area img{
	border-radius: 24px;
}

.other_general_section .general_text{
	font-size: 15px;
	line-height: 2.3;
}

.other_general_section .general_text strong{
	color:var(--green);
}

.other_general_section .general_message_area{
	margin-top: 24px;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	gap:32px;
	/* padding-bottom: 100px; */
}

.other_general_section .general_message_img{
	flex-shrink: 0;
	width:220px;
}

.other_general_section .general_message{
	font-size: 15px;
	line-height: 2.3;
}

.other_ceramic_section{
	padding-top: 80px;
}

.other_ceramic_section .ceramic_teeth{
	max-width: 144px;
	aspect-ratio: 1 / calc(140 / 144);
	background-image: url('../img/other/ceramic_teeth.png');
	background-size: contain;
	margin-inline: auto;
	margin-top: 10px;
}

.other_ceramic_section .ceramic_img_flex{
	margin-top: 24px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:88px;
}

.other_ceramic_section .ceramic_img img{
	aspect-ratio: 1 / calc(303 / 500);
	object-fit: cover;
	border-radius: 24px;
}

.other_ceramic_section .ceramic_head{
	max-width: 890px;
	min-height: 50px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin-inline: auto;
	margin-top: 72px;
	padding:6px 8px;
	border-top:1px solid var(--green);
	border-bottom:1px solid var(--green);
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
	color: var(--green);

}
.other_ceramic_section .ceramic_text{
	margin-top: 40px;
	font-size: 15px;
	line-height: 2.3;
	text-align: center;
}

.other_whitening_section{
	padding-top: 80px;
}

.other_whitening_section .whitening_list{
	width: fit-content;
	margin-inline: auto;
	margin-top: 56px;
}

.other_whitening_section .whitening_list li{
	font-size: 18px;
	line-height: 1.5;
	position: relative;
	padding-left: 32px;
}

.other_whitening_section .whitening_list li + li{
	margin-top: 24px;
}

.other_whitening_section .whitening_list li::before{
	content:'';
	width:14px;
	height:14px;
	background-image: url('../img/common/icon_radi_light_green.svg');
	position: absolute;
	left:0;
	top:8px;
}

.other_whitening_section .whitening_result{
	margin-top: 32px;
	font-size: 15px;
	text-align: center;
}

.other_whitening_section .whitening_box{
	max-width: 1040px;
	margin-inline: auto;
	border-radius: 15px;
	border: 1px solid #707070;
	margin-top: 96px;
	padding:24px 24px;
}

.other_whitening_section .whitening_contents{
	position: relative;
	min-height: 240px;
	padding-left: 36px;
	padding-right: 340px;
}

.other_whitening_section .whitening_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 24px;
	line-height: 1.5;
}

.other_whitening_section .whitening_text{
	margin-top: 12px;
	font-size: 15px;
	line-height: 2.3;
}

.other_whitening_section .whitening_img{
	position: absolute;
	top: 50%;
	right:0;
	transform: translateY(-50%);
	width: 337px;
	aspect-ratio: 1 / calc(241 / 337);
}
.other_whitening_section .whitening_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 24px;
}

/*
------------------------------------
スタッフ紹介
------------------------------------
*/

.staff_wish_section{
	padding-top: 140px;
	padding-bottom: 40px;
}

.staff_wish_section .wish_flex{
	max-width: 1000px;
	margin-inline: auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.staff_wish_section .wish_right{
	flex-shrink: 0;
	width:307px;
}

.staff_wish_section .wish_img img{
	border-radius: 24px;
}

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

.staff_wish_section .wish_text{
	margin-top: 32px;
	font-size: 15px;
	line-height: 2.3;
}

.staff_prof_section{
	padding-top: 90px;
	padding-bottom: 150px;
	background-color: #FFFCF5;
}


.staff_prof_section .greeting_box{
	max-width: 785px;
	margin-inline: auto;
	background-color: #BEE8BA;
	padding:30px 25px;
	border-radius: 4px;
	position: relative;
}

.staff_prof_section .greeting_clip{
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	top:14px;
}

.staff_prof_section .greeting_clip01{
	z-index: 4;
	width:154px;
	height:32px;
	border-radius: 9999px;
	border:4px solid #9C9D9E;
}

.staff_prof_section .greeting_clip02{
	z-index: 1;
	width:118px;
	height:26px;
	background-color: #9C9D9E;
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-inline: 12px;
}

.staff_prof_section .greeting_clip02::before,
.staff_prof_section .greeting_clip02::after{
	content:'';
	width:8px;
	height:8px;
	border-radius: 50%;
	background-color: #D6D7D8;
}

.staff_prof_section .greeting_frame{
	position: relative;
	z-index: 2;
	background-color: #fff;
	padding:72px 54px 54px;
}

.staff_prof_section .greeting_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 22px;
	line-height: 1.3;
	color: var(--green);
}

.staff_prof_section .greeting_text{
	margin-top: 32px;
	font-size: 15px;
	line-height: 2.3;
}

.staff_prof_section .greeting_deco{
	position: absolute;
	background-size: contain;
	z-index: 6;
}

.staff_prof_section .greeting_deco01{
	width:68px;
	aspect-ratio: 1 / calc(70 / 68);
	background-image: url('../img/staff/greeting_deco01.png');
	top:64px;
	right:123px;
}
.staff_prof_section .greeting_deco02{
	width:124px;
	aspect-ratio: 1 / calc(180 / 124);
	background-image: url('../img/staff/greeting_deco02.png');
	top:26px;
	right:-44px;
}
.staff_prof_section .greeting_deco03{
	width:88px;
	aspect-ratio: 1 / calc(140 / 88);
	background-image: url('../img/staff/greeting_deco03.png');
	bottom:-3px;
	left:-34px;
}

.staff_prof_section .prof_area{
	position: relative;
	z-index: 7;
	margin-top: 64px;
	max-width: 785px;
	margin-inline: auto;
	min-height: 190px;
}

.staff_prof_section .prof_img{
	position: absolute;
	width:371px;
	right:-27px;
	top:-205px;
}

.staff_prof_section .prof_img img{
	border-radius: 24px;
}

.staff_prof_section .prof_head{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap:10px;
	color:var(--green);

}

.staff_prof_section .prof_head_en{
	font-family: var(--jose);
	font-weight: bold;
	font-size: 15px;
	line-height: 1.5;
}

.staff_prof_section .prof_head_ja{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 22px;
	line-height: 35px;
	line-height: 1.5;
}

.staff_prof_section .prof_text{
	margin-top: 16px;
	font-size: 15px;
	line-height: 2.3;
}

.staff_prof_section .prof_deco{
	position: absolute;
	background-size: contain;
}

.staff_prof_section .prof_deco01{
	width:140px;
	aspect-ratio: 1 / calc(116 / 140);
	background-image: url('../img/staff/prof_deco01.png');
	position: absolute;
	top:140px;
	right:-34px;
}

.staff_prof_section .history_flex{
	margin-top: 64px;
	display: flex;
	justify-content: center;
	gap:28px;
}

.staff_prof_section .history_box{
	position: relative;
	width:490px;
	padding:56px 44px 36px;
	background-color: #fff;
}

.staff_prof_section .history_kind_frame{
	position: absolute;
	top:-20px;
	left:-14px;
}
.staff_prof_section .history_kind_inner{
	display: flex;
	justify-content: center;
	align-items: center;
	width:68px;
	aspect-ratio: 1 / 1;
	position: relative;
}

.staff_prof_section .history_kind_inner::before{
	content:'';
	width:100%;
	height:100%;
	background-image: url('../img/staff/radi_bg.png');
	position: absolute;
	top:0;
	left:0;
	transform: rotateZ(147deg);
}

.staff_prof_section .history_kind{
	position: relative;
	z-index: 3;
	font-family:var(--zen_maru);
	font-weight: bold;
	font-size: 20px;
	letter-spacing: 0.05em;
	line-height: 1.3;
	color: #fff;
}

.staff_prof_section .history_head{
	font-weight: bold;
	font-size: 15px;
	line-height: 2.3;
	color: var(--green);
}

.staff_prof_section .history_list{
	margin-top: 24px;
}

.staff_prof_section .history_list li{
	font-size: 13px;
	line-height: 1.5;
	position: relative;
	padding-left: 12px;
}

.staff_prof_section .history_list li::before{
	content:'';
	width:6px;
	height:6px;
	border-radius: 50%;
	background-color: #7AC773;
	position: absolute;
	left:0;
	top:8px;
}

.staff_prof_section .history_list li + li{
	margin-top: 12px;
}

.staff_prof_section .bottom_flex{
	margin-top: 12px;
	display: flex;
	align-items: flex-end;
	gap:50px;
}

.staff_prof_section .message_flex{
	display: flex;
	align-items: flex-end;
}

.staff_prof_section .message_doctor{
	width:181px;
	aspect-ratio: 1 / calc(211 / 181);
	flex-shrink: 0;
}

.staff_prof_section .message_doctor img{
	width:100%;
	height:100%;
	object-fit: contain;
}

.staff_prof_section .message_text_box{
	width: 314px;
	min-height: 144px;
	background: #edffeb;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:24px 32px;
	
}

.staff_prof_section .message_text_box::before{
	content:'';
	width:43px;
	height:37px;
	background: #edffeb;
	position: absolute;
	bottom:60px;
	left:-36px;
	clip-path: polygon(100% 0, 0 50%, 100% 100%);
}

.staff_prof_section .message_text{
	position: relative;
	z-index: 3;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 12px;
	line-height: 2.5;
	color: var(--green);
}

.staff_prof_section .info_flex{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:90px;
}

.staff_prof_section .info_head{
	font-weight: bold;
	font-size: 15px;
	line-height: 1.5;
	color: var(--green);
}

.staff_prof_section .info_list{
	margin-top: 20px;
}

.staff_prof_section .info_list li{
	padding-left: 12px;
	font-size: 13px;
	line-height: 1.5;
	position: relative;
}

.staff_prof_section .info_list li::before{
	content:'';
	width:6px;
	height:6px;
	border-radius: 50%;
	background-color: #7AC773;
	position: absolute;
	left:0;
	top:8px;
}

.staff_prof_section .info_list li + li{
	margin-top: 12px;
}

/*
------------------------------------
NEWS 一覧
------------------------------------
*/

.news_list_section{
	padding-top: 230px;
	padding-bottom: 80px;
}

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

.news_list_section .no_result{
	margin-top: 32px;
	text-align: center;
}

.news_list_section .news_list{
	margin-top: 72px;
}

.news_list_section .news_line{
	border-bottom:1px solid #707070;
}
.news_list_section .news_line:first-child{
	border-top:1px solid #707070;
}

.news_list_section .news_block{
	display: flex;
	align-items: flex-start;
	padding-left: 24px;
	padding-top: 24px;
	padding-bottom: 24px;
	padding-right: 160px;
	position: relative;
}

.news_list_section .news_date{
	flex-shrink: 0;
	width:180px;
	padding-right: 10px;
	font-weight: bold;
	font-size: 20px;
	line-height: 1.5;
	color: var(--orange);

}

.news_list_section .news_title{
	font-weight: bold;
	font-size: 16px;
	line-height: 1.5;
	padding-top: 4px;
}

.news_list_section .news_more{
	position: absolute;
	top: 50%;
	right:40px;
	transform: translateY(-50%);
	white-space: nowrap;
	font-size: 15px;
	letter-spacing: 0.05em;
}

.news_list_section .c_page_nation{
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:24px;
	margin-top: 40px;
}

.news_list_section .c_page_nation .current{
	border-bottom: 1px solid;
}

/*
------------------------------------
NEWS 詳細
------------------------------------
*/

.news_single_section{
	padding-top: 230px;
	padding-bottom: 80px;
}

.news_single_section .single_area{
	padding-bottom: 160px;
	border-bottom:1px solid #707070;
}

.news_single_section .single_frame{
	max-width: 750px;
	margin-inline: auto;
} 

.news_single_section .news_title{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	text-align: center;
	color: var(--green);

}

.news_single_section .single_block{
	margin-top: 80px;
	font-size: 15px;
	line-height: 2.5;
}


.news_single_section .single_block .wp-block-image{
	margin: 24px 0;
}

.news_single_section .single_block p{
	margin: 12px 0;
}


.news_single_section .news_button{
	width:360px;
	max-width: 100%;
	margin-inline: auto;
	margin-top: 80px;
}

.news_single_section .news_button .radi{
	margin-left: 72px;
}

/*
------------------------------------
初めての方へ
------------------------------------
*/

.beginner_greeting_section{
	padding-top: 140px;
	padding-bottom: 48px;
}

.beginner_greeting_section .greeting_contents{
	max-width: 990px;
	margin-inline: auto;
}

.beginner_greeting_section .sec_head{
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.5;
	color: var(--green);
	position: relative;
	z-index: 2;
}

.beginner_greeting_section .greeting_text{
	position: relative;
	z-index: 2;
	margin-top: 28px;
	font-size: 15px;
	line-height: 2.3;
}

.beginner_greeting_section .greeting_img_area{
	margin-top: 40px;
	position: relative;
	height:400px;
}

.beginner_greeting_section .greeting_img{
	position: absolute;
}

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

.beginner_greeting_section .greeting_img01{
	width:269px;
	aspect-ratio: 1 / calc(309 / 269);
	left:0;
	top:0;
}
.beginner_greeting_section .greeting_img02{
	width:308px;
	aspect-ratio: 1 / calc(366 / 308);
	left:322px;
	top:30px;
}
.beginner_greeting_section .greeting_img03{
	width:307px;
	aspect-ratio: 1 / calc(373 / 307);
	right:0;
	top:-90px;
}

.beginner_info_section{
	position: relative;
	padding-top: 100px;
	min-height: 720px;
}

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

.beginner_info_section .wave_bottom{
	bottom:120px;
}

.beginner_info_section .info_contents{
	max-width: 1030px;
	margin-inline: auto;
	position: relative;
	
}

.beginner_info_section .info_deco{
	position: absolute;
	background-size: contain;
}

.beginner_info_section .info_deco01{
	width:108px;
	aspect-ratio: 1 / calc(58 / 108);
	background-image: url('../img/beginner/info_deco01.png');
	top:-120px;
	left:-15px;
}
.beginner_info_section .sec_head{
	max-width: 485px;
	font-family:var(--zen_maru);
	font-weight: bold;
	font-size: 30px;
	line-height: 1.8;
	color: var(--green);
}

.beginner_info_section .info_text{
	margin-top: 16px;
	font-size: 15px;
	line-height: 2.3;
	max-width: 508px;
}

.beginner_info_section .info_img{
	position: absolute;
	width:450px;
	aspect-ratio: 1 / calc(513 / 450);
	top:-88px;
	right:20px;
}

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

.beginner_info_section .guide_box{
	margin-top: 64px;
	background-color: #fff;
	border-radius: 24px;
	border:2px solid #6FA86A;
	padding-top: 36px;
	padding-inline: 50px;
	padding-bottom: 28px;
}

.beginner_info_section .guide_text_area{
	position: relative;
	padding-left: 200px;
	min-height: 180px;
}

.beginner_info_section .guide_head{
	position: relative;
	z-index: 2;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 22px;
	line-height: 1.5;
	color: var(--green);
}

.beginner_info_section .guide_text{
	margin-top: 16px;
	font-size: 15px;
	line-height: 2.3;
}

.beginner_info_section .guide_img{
	position: absolute;
	width:208px;
	aspect-ratio: 1 / calc(254 / 208);
	left:-24px;
	top:-60px;
}

.beginner_info_section .guide_img img{
	width:100%;
	height:100%;
	object-fit: contain;
}

.beginner_info_section .guide_list{
	margin-top: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:34px;
}

.beginner_info_section .guide_item{
	width:141px;
	aspect-ratio: 1 / 1;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
}

.beginner_info_section .guide_item p{
	position: relative;
	z-index: 3;
	font-family:var(--zen_maru);
	font-weight: 500;
	font-size: 16px;
	line-height: 1.5;
	text-align: center;
}

.beginner_info_section .guide_radi{
	position: absolute;
	width:100%;
	height:100%;
	background-image: url('../img/beginner/info_radi.png');
	background-size: contain;
}

.beginner_info_section .guide_radi01{
	transform: rotateZ(54deg);
}
.beginner_info_section .guide_radi02{
	transform: rotateZ(147deg);
}
.beginner_info_section .guide_radi03{
	transform: rotateZ(265deg);
}
.beginner_info_section .guide_radi04{
	transform: rotateZ(54deg);
}
.beginner_info_section .guide_radi05{
	transform: rotateZ(147deg);
}

.beginner_flow_section{
	padding-top: 150px;
}

.beginner_flow_section .flow_box{
	max-width: 1025px;
	margin-inline: auto;
	border-radius: 36px;
	background-color: #FFFCF5;
	padding:54px 50px 84px;
}

.beginner_flow_section .sec_head {
    display: flex;
    flex-direction: column;
    align-items: center;
    font-weight: 600;
    font-size: 25px;
    line-height: 1.5;
    text-align: center;
    color: var(--green);
    font-family: var(--jose);
}

.beginner_flow_section .sec_head::after {
    content: '';
    width: 112px;
    height: 3px;
    background-color: var(--green);
}

.beginner_flow_section .flow_list{
	margin-top: 80px;
	padding-inline: 20px;
}

.beginner_flow_section .flow_block{
	display: flex;
	align-items: flex-start;
	gap:35px;
}

.beginner_flow_section .flow_img_area{
	flex-shrink: 0;
	width:433px;
}

.beginner_flow_section .flow_img{
	aspect-ratio: 1 / calc(295 / 433);
}

.beginner_flow_section .flow_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 24px;
}

.beginner_flow_section .flow_text_area{
	width: 100%;
}

.beginner_flow_section .flow_step{
	display: flex;
	align-items: flex-start;
	gap:12px;
	font-weight: bold;
	font-size: 16px;
	line-height: 1.5;
	color: var(--green);

}

.beginner_flow_section .flow_step .num{
	flex-shrink: 0;
	font-size: 20px;
	font-family:  var(--zen_maru);
	font-weight: 500;
	font-size: 20px;
	line-height: 1;
	padding-bottom: 2px;
	min-width: 28px;
	border-right: 1px solid var(--green);
	transform: translateY(2px);
}

.beginner_flow_section .flow_catch{
	margin-top: 32px;
	font-weight: bold;
	font-size: 24px;
	line-height: 1.4;
}

.beginner_flow_section .flow_text{
	margin-top: 12px;
	font-weight: normal;
	font-size: 15px;
	line-height: 2.3;
	font-feature-settings: 'palt';
}

.beginner_flow_section .flow_item + .flow_item{
	margin-top: 64px;
	padding-top: 64px;
	border-top:1px dotted var(--green);
}

.beginner_flow_section .flow_item:nth-child(odd) .flow_block{
	flex-direction: row-reverse;
}

.beginner_flow_section .announce_area{
	margin-top: 132px;
}

.beginner_flow_section .announce_head{
	width: fit-content;
	margin-inline: auto;
	text-align: center;
	font-family: var(--zen_maru);
	font-weight: bold;
	font-size: 24px;
	line-height: 1.5;
	text-align: center;
	color: var(--green);
	position: relative;
}

.beginner_flow_section .announce_head span{
	position: relative;
	z-index: 3;
}

.beginner_flow_section .announce_head .announce_deco{
	position: absolute;
	z-index: 1;
	background-size: contain;
}

.beginner_flow_section .announce_deco01{
	width:95px;
	aspect-ratio: 1 / calc(101 / 95);
	background-image: url('../img/beginner/flow_deco01.png');
	left:-96px;
	top:-30px;
}
.beginner_flow_section .announce_deco02{
	width:138px;
	aspect-ratio: 1 / calc(98 / 138);
	background-image: url('../img/beginner/flow_deco02.png');
	right:-120px;
	top:-20px;
}

.beginner_flow_section .announce_list{
	margin-top: 60px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:20px;
}

.beginner_flow_section .announce_item{
	aspect-ratio: 1 / calc(292 / 294);
	background-size: contain;
	background-image: url('../img/beginner/flow_teeth.png');
	overflow: hidden;
	padding-top: 118px;

}

.beginner_flow_section .announce_title{
	font-weight: bold;
	text-align: center;
}

.beginner_flow_section .announce_text{
	max-width: 197px;
	margin-inline: auto;
	margin-top: 10px;
	line-height: 2;
	font-size: 15px;
}

.beginner_flow_section .announce_button{
	width:375px;
	max-width: 100%;
	background-color: #fff;
	margin-inline: auto;
	margin-top: 64px;
}

.beginner_faq_section{
	padding-top: 120px;
	padding-bottom: 190px;
	background-color: #7AC773;
}

.beginner_faq_section .sec_head{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:20px;
	line-height: 1.5;
	text-align: center;
}

.beginner_faq_section .sec_head_en{
	font-family: var(--jose);
	font-weight: normal;
	font-size: 15px;
	color: #fff;
}

.beginner_faq_section .sec_head_ja{
	font-family: var(--zen_maru);
	font-weight: 500;
	font-size: 32px;
}

.beginner_faq_section .faq_list{
	max-width: 1025px;
	margin-inline: auto;
	margin-top: 90px;
}

.beginner_faq_section .faq_block{
	background-color: #fff;
}

.beginner_faq_section .faq_block + .faq_block{
	margin-top: 20px;
}

.beginner_faq_section .faq_question{
	cursor: pointer;
	position: relative;
	min-height: 60px;
	padding-top: 20px;
	padding-bottom: 20px;
	padding-left: 52px;
	padding-right: 80px;
	display: flex;
	align-items: center;
	font-weight: bold;
	line-height: 1.8;
}

.beginner_faq_section .faq_question::before{
	content:'Q.';
	font-weight: bold;
	font-size: 20px;
	letter-spacing: -0.05em;
	line-height: 1.5;
	color: var(--orange);
	left:24px;
	top:16px;
	position: absolute;
}

.beginner_faq_section .faq_switch{
	position: absolute;
	right:38px;
	top:20px;
	width:20px;
	aspect-ratio: 1 / 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.beginner_faq_section .faq_switch::before,
.beginner_faq_section .faq_switch::after{
	content:'';
	width:100%;
	height:4px;
	background-color: var(--orange);
}

.beginner_faq_section .faq_switch::after{
	margin-top: -4px;
	transform: rotateZ(90deg);
}

.beginner_faq_section .faq_question.active .faq_switch::after{
	display: none;
}

.beginner_faq_section .faq_answer{
	padding-bottom: 24px;
	padding-left: 52px;
	padding-right: 40px;
	font-size: 16px;
	letter-spacing: 0.05em;
	line-height: 1.9;
	color: #7c7c7c;
	position: relative;
	display: none;
}

.beginner_faq_section .faq_answer::before{
	content:'A.';
	font-weight: bold;
	font-size: 20px;
	letter-spacing: -0.05em;
	line-height: 1.5;
	color: var(--orange);
	left:24px;
	top:0;
	position: absolute;
}