@media screen and (min-width:1201px){
	.pc_hide{
		display: none!important;
	}
}/*@media screen and (min-width:1201px){*/

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

	body.fixed {
		width: 100%;
		height: 100%;
		position: fixed;
	}

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


	.container{
		max-width: 720px;
		padding:0;
	}


	/*左にグレー四角のある見出し*/
	.c_gray_square_head{
		padding-left: 18px;
		font-size: 24px;
	}

	.c_gray_square_head::before{
		width:11px;
		height:20px;
		top:7px;
	}


	/*波線の背景*/
	.c_wave{
		width: 1920px;
		height: 125px;
		background-size: 1920px 125px;
		z-index: -1;
	}


	/*楕円ボタン*/
	.c_radi_button{
		width: 227px;
		height: 46px;
		font-size: 17px;
	}


	.c_radi_button .radi{
		width:14px;
		margin-left: 14px;

	}

	.c_radi_button .radi::after{
		width:3px;
		height:5px;
	}

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

	header{
		width:100%;

	}

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

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

	header .header_flex{
		display: flex;
		justify-content: space-between;
		align-items: center;
		height:90px;
	}

	header .header_logo{
		display: block;
		width:240px;
		position: static;
		top:28px;
		left: 50%;
		transform: translateX(0%);
		font-size: 18px;
	}

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

	header .header_logo_radi{
		display: none;
	}

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

	header .header_nav{
		display: none;
	}



	header .header_button_area{
		display: none;
	}

	header .reserve_area{
		display: none;
	}

	header .drawer_open{
		display: flex;
		justify-content: center;
		align-items: center;
		width:60px;
		height:60px;
		cursor: pointer;
		background-color: var(--green);
		border-radius: 50%;
	}

	header .drawer_open_inner{
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
	}
	
	header .drawer_open .bar{
		width:22px;
		height:2px;
		background-color: #fff;
		transition-duration: 0.5s;
	}

	header .drawer_open .bar02{
		margin-top: 10px;
	}
	
	header .drawer_open.active .bar01 {
		transform: translateY(1px) rotate(-45deg);
	}
	header .drawer_open.active .bar02 {
		transform: translateY(-1px) rotate(45deg);
		margin-top: 0;
	}
	header .drawer_open.active .bar03 {
		
	}


	#drawer_menu_bg{
		position: fixed;
		top:0;
		left:0;
		z-index:80;
		width:100%;
		height:100vh;
		opacity: 0;
		pointer-events: none;
		transition-duration:0.7s;
		background-color: rgba(0,0,0,0.6);
	}

	#drawer_menu_bg.show{
		opacity: 1;
		pointer-events: auto;
	}


	#drawer_menu{
		position: fixed;
		top:0;
		right:0;
		z-index:90;
		width:100%;
		max-width: 450px;
		height: 100vh;
		height: calc(var(--vh2, 1vh) * 100);
		background-color: #fff;
		transition-duration: 0.7s;
		opacity: 0;
		pointer-events: none;
		padding-top: 90px;
	}

	#drawer_menu.show{
		opacity: 1;
		pointer-events: auto;
	}

	#drawer_menu .drawer_menu_inner{
		height:100%;
		overflow-y: auto; 
	}


	#drawer_menu .drawer_menu_contents{
		padding:44px 24px;
	}

	#drawer_menu .reserve_flex{
		display: flex;
		justify-content:space-between;
		align-items: flex-start;
	}

	#drawer_menu .reserve_button{
		width:calc(178 / 365 * 100%);
		height:42px;
		display: flex;
		justify-content: center;
		align-items: center;
		border-radius: 9px;
	}

	#drawer_menu .reserve_button.web{
		background-color: var(--orange);
		color:#fff;
		font-weight: 500;
		font-size: 15px;
		line-height: 1.3;
	}

	#drawer_menu .reserve_button.web span{
		font-family: var(--jose);
		font-weight: 600;
	}

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

	#drawer_menu .reserve_button.web .radi::after{
		content:'';
		width:3px;
		height:5px;
		background-image: url('../img/common/icon_angle_right_orange.svg');
	}

	#drawer_menu .reserve_button.tel{
		border:1px solid var(--green);
		font-family: var(--rubik);
		font-size: 16px;
		color: var(--green);

	}

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

	#drawer_menu .reserve_text{
		margin-top: 12px;
		font-size: 12px;
		letter-spacing: 0.05em;
		line-height: 1.6;
		padding-left: 8px;
	}

	#drawer_menu .reserve_text p{
		position: relative;
		padding-left: 8px;
	}

	#drawer_menu .reserve_text p::before{
		content:'';
		width:5px;
		height:5px;
		border-radius: 50%;
		background-color: var(--orange);
		position: absolute;
		left:0;
		top:8px;
	}

	#drawer_menu .drawer_nav{
		margin-top: 36px;
	}

	#drawer_menu .drawer_parent_item{
		border-bottom: 1px solid #D1D1D1;
	}
	#drawer_menu .drawer_parent_item:first-child{
		border-top: 1px solid #D1D1D1;
	}

	#drawer_menu .drawer_parent_link{
		padding:5px 0;
		display: flex;
		align-items: center;
		gap:14px;
		font-family: var(--zen_maru);
		font-weight: bold;
	}

	#drawer_menu .drawer_parent_link .radi{
		flex-shrink: 0;
		width:16px;
		height:38px;
		border-radius: 4px;
		background-color: #B5E0B1;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	#drawer_menu .drawer_parent_link .radi::after{
		content:'';
		width:4px;
		height:8px;
		background-image: url('../img/common/icon_angle_right_green.svg');
	}

	#drawer_menu .recruit_button{
		display: flex;
		justify-content: center;
		align-items: center;
		width: 184px;
		height: 47px;
		border-radius: 9999px;
		background: var(--green);
		margin-top:32px;
		margin-inline: auto;
		font-weight: bold;
		font-size: 17px;
		color: #fff;
	}

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

	#drawer_menu .recruit_button .radi::after{
		content:'';
		width:3px;
		height:5px;
		background-image: url('../img/common/icon_angle_right_green.svg');
	}
	/*
	------------------------------------
	お問い合わせセクション
	------------------------------------
	*/


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


	.common_contact_section .sec_title{

		font-size: 40px;
		line-height: 1.3;
	}

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

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

	.common_contact_section .contact_text p::before{
		width:6px;
		height:6px;
		top:10px;
	}

	.common_contact_section .button_flex{
		margin-top: 32px;
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		gap:64px;
	}
	.common_contact_section .button_area{
		width:495px;
		max-width: 100%;
	}

	.common_contact_section .button_head{
		gap:24px;
		font-size: 20px;
	}

	.common_contact_section .button_head::before,
	.common_contact_section .button_head::after{
		width:11px;
		height:22px;
	}

	.common_contact_section .button{
		height:115px;
		margin-top: 12px;
	}

	.common_contact_section .button.web{
		gap:48px;
		font-weight: 600;
		font-size: 35px;
		line-height: 1.2;
	}



	.common_contact_section .button.web .radi{
		width:26px;
		right:112px;
	}

	.common_contact_section .button.web .radi::after{
		width:6px;
		height:10px;

	}

	.common_contact_section .button.web::before{
		width:130px;
		height:80px;
		top:64px;
	}

	.common_contact_section .button.web::after{
		width:183px;
		height:91px;
		top:64px;
	}


	.common_contact_section .button.tel::after{
		width:56px;
		height:55px;
		bottom:26px;
		right:22px;
	}

	.common_contact_section .tel_num{
		font-size: 36px;
	}

	.common_contact_section .tel_num::before{
		width:20px;
		height:26px;
		margin-right: 14px;
	}

	.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: center;
		flex-direction: column;
	}

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

	.common_info_section .info_img_area{
		width:100%;
		display: flex;
		justify-content: flex-end;
	}


	.common_info_section .info_img_area .info_img{
		max-width:100% ;
		width:100%;
		height:auto;
		flex-shrink: 0;
	}


	.common_info_section .info_text_area{
		width:100%;
		margin-top: 48px;
	}

	.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{
		width: 188px;
		height: 45px;
	}

	.common_info_section .access_button .radi{
		margin-left: 20px;
		width:14px;
	}

	.common_info_section .access_button .radi::after{
		width:3px;
		height:5px;
	}

	.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:100%;
	}

	.common_info_section .calendar{
		height:auto;
		aspect-ratio: 1 / calc(260 / 560);
	}

	.common_info_section .contact_area{
		width:560px;
	}

	.common_info_section .contact_box{
		min-height: auto;
		padding:24px 60px 24px;
	}

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

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

	.common_info_section .contact_text p::before{
		width:6px;
		height:6px;
		top:11px;
	}

	.common_info_section .web_button{
		width: 362px;
		max-width: 100%;
		height: 70px;
		padding-left: 24px;
		margin-top: 16px;
	}

	.common_info_section .web_button::before{
		width:80px;
		height:50px;
		top:16px;
		right:-28px;
	}

	.common_info_section .web_button::after{
		display: none;
		width:104px;
		height:66px;
		top:16px;
		right:-28px;
	}


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

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

	.common_info_section .web_button .web_text02 span{
		font-size: 28px;
		padding-right: 6px;
	}

	.common_info_section .web_button .radi{
		width:18px;
	}

	.common_info_section .web_button .radi::after{
		width:4px;
		height:7px;
	}

	.common_info_section .tel_button{
		margin-top: 20px;
		width: 260px;
		height: 54px;
		padding-left: 22px;
		font-size: 24px;
	}

	.common_info_section .tel_button::before{
		width:13px;
		height:17px;
		margin-right: 8px;
	}

	.common_info_section .tel_button::after{
		width:34px;
		height:34px;
		bottom:6px;
		right:8px;
	}


	.common_info_section .info_deco01{
		width:62px;
		aspect-ratio: 1 / calc(89 / 62);
		height:auto;
		top:8px;
		left:-10px;
	}
	.common_info_section .info_deco02{
		width:308px;
		aspect-ratio: 1 / calc(125 / 308);
		height:auto;
		bottom:-72px;
		left:6px;
	}
	.common_info_section .info_deco03{
		width:128px;
		aspect-ratio: 1 / calc(185 / 128);
		height:auto;
		bottom:-64px;
		right:-24px;
	}

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


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


	footer .footer_deco02{
		width:88px;
		aspect-ratio: 1 / calc(157 / 88);
		height:auto;
		left:calc(50% - 20px);
		top:-26px;
	}

	footer .footer_deco03{
		width:252px;
		aspect-ratio: 1 / calc(115 / 252);
		height:auto;
		left:calc(50% + 200px);
		top:16px;
	}


	footer::before{
		height:calc(100% - 100px);
	}

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

	footer .footer_flex{
		display: flex;
		align-items: flex-end;
		gap:40px;
	}

	footer .footer_left{
		flex-shrink: 0;
	}

	footer .footer_right{
		width:100%;
	}

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

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

	footer .footer_msg::before{
		width:89px;
		height:48px;
		left:-2px;
		bottom:calc(100% + 14px);
	}

	footer .footer_msg strong{
		font-size: 32px;
	}

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

	footer .footer_contact{
		width: 312px;
		height: 64px;
	}

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

	footer .footer_contact.web{
		font-size: 23px;
	}

	footer .footer_contact.web span{
		font-size: 24px;
	}

	footer .footer_contact.web .radi{
		width: 16px;
		margin-left: 32px;
	}

	footer .footer_contact.web .radi::after{
		width:4px;
		height:6px;
	}

	footer .footer_contact.tel{
		font-size: 24px;
	}

	footer .footer_contact.tel::before{
		width:13px;
		height:17px;
		margin-right: 12px;
	}

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

	footer .footer_info_area{
		margin-right: 0;
		width:100%;
		margin-bottom: 40px;
	}

	footer .footer_logo{

		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{
		min-height:calc(450 / 720 * 100vw);
		display: flex;
		justify-content: center;
		align-items: center;
		padding:80px 0;
	}

	.top_fv_section .fv_text_box{
		padding-top: 50px;
	}


	.top_fv_section .fv_text01{
		font-size: 48px;
	}

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

	.top_fv_section .fv_deco{
		position: absolute;
	}

	.top_fv_section .fv_deco01{
		width:400px;
		bottom:-80px;
		right:calc(50% + 80px);
	}

	.top_fv_section .fv_deco02{
		width:320px;
		bottom:-60px;
		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;
		flex-direction: column;
		align-items: center;

	}

	.top_access_section .access_left,
	.top_access_section .access_right{
		width:520px;
		max-width: 100%;
	}

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

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

	.top_access_section .access_area{
		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;
	}

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

	.top_access_section .reserve_button.web{
		font-size: 22px;
		line-height: 1.2;
	}

	.top_access_section .reserve_button.web span{
		padding-right: 8px;
	}

	.top_access_section .reserve_button.web .radi{
		width:16px;
		margin-left: 20px;
	}

	.top_access_section .reserve_button.web .radi::after{
		width:4px;
		height:6px;
	}

	.top_access_section .reserve_button.web .egg{
		width:49px;
		height:40px;
		left:4px;
		bottom:-20px;
	}

	.top_access_section .reserve_button.web::before{
		width:80px;
		height:50px;
		top:34px;
		right:-5px;
	}

	.top_access_section .reserve_button.web::after{
		width:104px;
		height:66px;
		top:34px;
		right:-5px;
	}

	

	.top_access_section .reserve_button.tel{
		font-size: 24px;
	}

	.top_access_section .reserve_button.tel::before{
		width:12px;
		height:16px;
		margin-right: 10px;
	}

	.top_access_section .reserve_button.tel::after{
		width:69px;
		height:68px;
		bottom:-24px;
	}

	.top_access_section .news_box{
		margin-top: 100px;
		padding:40px 60px;
		flex-direction: column;
	}

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

	.top_access_section .news_head{
		display: flex;
		flex-direction: row;
		align-items: center;
		font-size: 20px;
	}

	.top_access_section .news_head br{
		display: none;
	}

	.top_access_section .news_head::before{
		width:16px;
		height:16px;
		margin-bottom: 0;
		margin-right: 12px;
	}

	.top_access_section .news_list{
		width:100%;
		margin-top: 32px;
	}


	.top_access_section .news_link{
		padding:20px 0;
		font-size: 15px;
	}

	.top_access_section .news_date{
		width:120px;
		padding-inline: 10px;
	}

	.top_access_section .news_button_area{
		margin-left: 0;
		width: 228px;
		margin-top: 32px;
		flex-shrink: 0;
	}

	.top_access_section .news_button{
		width: 100%;
		height: 51px;
		position: static;
	}

	.top_access_section .news_button .radi{
		width:14px;
		margin-left: 24px;
	}

	.top_access_section .news_button .radi::after{
		width:3px;
		height:5px;
	}

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

	.top_concept_section::after{
		width:201px;
		height:110px;
		left:calc(50% + 270px);
		bottom:-10px;
	}

	.top_concept_section::before{

		height:calc(100% - 200px);
	}

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

	.top_concept_section .concept_left{
		width:100%;
		padding-top: 64px;
	}
	.top_concept_section .concept_right{
		width:320px;
		flex-shrink: 0;
	}


	.top_concept_section .sec_title{
		font-size: 15px;
	}

	.top_concept_section .sec_title::before{
		width:107px;
		height:58px;
		left:-6px;
		bottom:calc(100% + 36px);
	}

	.top_concept_section .concept_catch{
		font-size: 24px;
		line-height: 1.8;
	}

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

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

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

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

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

	.top_message_section .message_contents{
		position: relative;
	}

	.top_message_section .message_contents::before{
		width:100%;
		height:calc(100% + 700px);
		border-radius: 575px;
		top:8px;
	}

	.top_message_section .message_deco01{
		width:140px;
		aspect-ratio: 1 / calc(76 / 140);
		height: auto;
		top:160px;
		left:0px;
	}

	.top_message_section .message_deco02{
		width:89px;
		aspect-ratio: 1 / calc(128 / 89);
		height: auto;
		bottom:180px;
		right:-12px;
	}

	.top_message_section .message_deco03{
		width:209px;
		aspect-ratio: 1 / calc(303 / 209);
		height: auto;
		bottom:-120px;
		right:-64px;
	}

	.top_message_section .sec_title{
		font-size: 15px;
		padding-inline: 10px;
	}

	.top_message_section .message_catch{
		gap:30px;
		margin-top: 90px;
	
		font-size: 30px;
	}

	.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:280px;
		flex-shrink: 0;
		padding-left:24px;
		margin-right: 40px;
	}

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

	.top_message_section .message_right{
		width:100%;
		padding-right: 40px;
	}

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

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

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

	.top_about_section::before{

		height:calc(100% - 100px);
	}

	.top_about_section .sec_title{
		font-size: 15px;
	}

	.top_about_section .catch_text{
		font-size: 32px;
		margin-top: 36px;
	}

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

	.top_about_section .white_box{
		margin-top: 64px;
		border-radius: 22px;
		padding:80px 24px 80px;

	}

	.top_about_section .about_flex{
		display: flex;
	}

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

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

	.top_about_section .about_head{
		gap:10px;
		text-align: center;
		font-size: 20px;
	}

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

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

	.top_about_section .about_name{
		margin-top: 4px;
		font-size: 26px;
		gap:10px;
		text-align: center;
	}

	.top_about_section .about_name::before,
	.top_about_section .about_name::after{
		width:16px;
		height:16px;
	}

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

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

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

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

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

	.top_about_section .link_block{
		width:100%;
		padding-top: 8px;
		padding-bottom: 36px;
		padding-inline: 12px;
	}

	.top_about_section .link_name{
		font-size: 22px;
		letter-spacing: 0.05em;
	}

	.top_about_section .link_icon{
		max-width: 114px;
		margin:12px auto 0;
	}

	.top_about_section .link_block::after{
		width:17px;
		height:6px;
	}

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

	}

	.top_about_section .gal_flex {
		animation: gal_slide 30s linear infinite;
	}

	.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: 120px;
	}

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

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

	.top_beginner_section .beginner_right{
		width:100%;
	}

	.top_beginner_section .beginner_button{
		width: 247px;
		height: 64px;
		border-radius: 23px;
		margin-top: 72px;
	}

	.top_beginner_section .beginner_button::before{
		width:12px;
		height:20px;
		margin-right: 18px;
	}

	.top_beginner_section .beginner_button .radi{
		width:14px;
		margin-left: 18px;
	}

	.top_beginner_section .beginner_button .radi::after{
		width:3px;
		height:5px;
	}

	.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{

		font-size: 30px;
		writing-mode: vertical-rl;
		margin-left: 10px;
	}

	.top_beginner_section .sec_head::before{
		width:126px;
		height:96px;
		bottom:100%;
		right:-40px;
	}

	.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:24px;
		padding-right: 0;
		height:530px;
	}

	.top_beginner_section .beginner_frame::before{
		width:1682px;
		height:calc(100% - 100px);
	}

	.top_beginner_section .wave{
		width:1682px;
	}

	.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{
		width:100%;
		top:0;
		left:0;
		opacity: 0;
		pointer-events: none;
		transition-property: opacity;
		transition-duration: 1s;
	}

	.top_beginner_section .beginner_thumb img{
		border-radius: 14px;
	}

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

	.top_beginner_section .beginner_head{
		font-size: 24px;
		line-height: 1.3;
		letter-spacing: 0;
	}

	.top_beginner_section .beginner_head .num{
		min-width: 45px;
		padding-right: 8px;
		font-size: 34px;
		margin-top: -3px;
	}

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

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

	.page_fv_section{
		
		
	}

	.page_fv_section .fv_inner{
		min-height:calc(450 / 720 * 100vw);
		padding-top: 90px;
	}

	.page_fv_section .page_title{
		padding:80px 0;
		font-size: 64px;
	}
	.page_fv_section .fv_deco01{
		width:196px;
		aspect-ratio: 1 / calc(148 / 196);
		height:auto;
		bottom:-40px;
		right:calc(50% + 360px);
	}

	.page_fv_section .fv_deco02{
		width:192px;
		aspect-ratio: 1 / calc(117 / 192);
		height:auto;
		bottom:-18px;
		left:calc(50% + 380px);
	}
	/*
	------------------------------------
	パンクズ
	------------------------------------
	*/

	.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{
		height:calc(100% - 100px);
	}

	.recruit_message_section .sec_head{

		font-size: 30px;
		line-height: 1.8;
	}

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

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

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

	.recruit_info_section::before{
		height:calc(100% + 400px);
		top:-150px;

	}

	.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:48.5%;
		padding:114px 24px 40px;
		min-height: auto;
	}

	.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{
	
		height: 45px;
		font-size: 20px;
	}

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

	.recruit_info_section .info_deco01{
		width:107px;
		aspect-ratio: 1 / calc(58 / 107);
		height:auto;
		bottom:20px;
		left:-48px;
	}

	.recruit_info_section .info_deco02{
		width:68px;
		aspect-ratio: 1 / calc(70 / 68);
		height:auto;
		bottom:10px;
		right:-45px;
	}

	.recruit_info_section .info_deco03{
		width:96px;
		aspect-ratio: 1 / calc(140 / 96);
		height:auto;
		bottom:-44px;
		right:-32px;
	}

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

	}

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

	.recruit_info_section .info_title{
		margin-top: 16px;
		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;
		margin:0 56px;
	}

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

	.recruit_info_section .info_deco04{
		width:125px;
		aspect-ratio: 1 / calc(136 / 125);
		top:16px;
		left:-10px;
	}

	.recruit_info_section .info_deco05{
		width:190px;
		height:auto;
		aspect-ratio: 1 / calc(121 / 190);
		top:16px;
		right:-32px;
	}

	.recruit_detail_section{

	} 

	.recruit_detail_section::before{
		width: 1450px;
		height: 675px;
		top: -70px;
	}

	.recruit_detail_section::after{
		height:calc(100% - 390px);
	}

	.recruit_detail_section .sec_head{
		font-size: 40px;
	}

	.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: 24px;
		display: flex;
		align-items: flex-end;
	}

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

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

	.recruit_detail_section .detail_message{
		margin-bottom: 20px;
		width: 100%;
		padding:32px 24px;
		border-radius: 16px;
	}

	.recruit_detail_section .detail_message::before{
		width:48px;
		height:32px;
		bottom:40px;
		left:-40px;
	}

	.recruit_detail_section .detail_message li{
		font-size: 16px;
		padding-left: 16px;
	}

	.recruit_detail_section .detail_message li::before{
		width:8px;
		height:8px;
		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;
		padding-top: 30px;
		padding-bottom: 30px;
	}

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

	.recruit_detail_section .detail_table th{
		width:180px;
		margin-right: 12px;
		padding-inline: 8px;
	}

	.recruit_detail_section .detail_table td{
		width:calc(100% - 12px);
		padding-inline: 44px;
	}


	.recruit_detail_section .entry_button{
		margin-top:72px;
		max-width: 507px;
		height: 106px;
		font-size: 28px;
	}

	.recruit_detail_section .entry_button .radi{
		width:26px;
		margin-left: 40px;
	}

	.recruit_detail_section .entry_button .radi::after{
		width:6px;
		height:10px;
	}

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

	.recruit_flow_section .sec_head{
		font-size: 30px;
		padding-bottom: 16px;
	}

	.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;
		font-size: 25px;
		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;
		margin:72px auto 0;
		padding:40px 32px;
		font-size: 18px;
		line-height: 2.5;
	}

	.recruit_entry_section{
		padding-top: 100px;
		padding-bottom: 100px;
	} 

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

	.recruit_entry_section .sec_title{
		font-size: 40px;
	}

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

	.recruit_entry_section .tel_block{
		margin-top: 48px;
		min-width: 672px;
	}

	.recruit_entry_section .tel_num{
		gap:14px;
		font-size: 36px;

	}

	.recruit_entry_section .tel_num::before{
		width: 20px;
		height: 26px;
	}

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

	.recruit_entry_section .insta_text{
		margin-top: 16px;
		padding-top: 16px;
		font-size: 20px;
	}

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

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

	.recruit_entry_section .form_label label{

		font-size: 22px;
		line-height: 1.3;
	}

	.recruit_entry_section .form_label label::after{
		min-width: 80px;
		height: 32px;
		padding:2px 4px;
		font-size: 22px;
		letter-spacing: 0.2em;
		margin-left: 8px;
	}

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

	.recruit_entry_section .text_input{
		height: 68px;
		border-radius: 13px;
		padding-inline: 24px;
		font-size: 28px;
	}


	.recruit_entry_section textarea{
		height: 240px;
		border-radius: 13px;
		padding: 16px;
		font-size: 28px;
		line-height: 1.5;
	}

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


	.recruit_entry_section .submit_frame .radi{
		width:34px;
		right:80px;
		top:36px;
	}

	.recruit_entry_section .submit_frame .radi::after{
		width:7px;
		height:12px;
	}

	.recruit_entry_section .submit{
		width: 507px;
		height: 106px;
		max-width: 100%;
		border: 3px solid #fff;
		font-size: 35px;
	}

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

	body.complete_body{
	}

	main.complete_body_main{
		position: relative;
	}


	.complete_section{
		min-height: auto;
		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;
		top:48px;
		right:calc(50% + 290px);
	}

	.complete_section .deco02{
		width:266px;
		top:108px;
		left:calc(50% + 300px);
	}

	.complete_section .complete_head{
		margin-top: 44px;
		font-size: 30px;
	}

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

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

	body.prepare_body{
	}

	main.prepare_body_main{
		position: relative;
	}


	.prepare_section{
		min-height: auto;
		padding-top: 90px;
		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-top: 72px;

	}


	.prepare_section .deco01{
		width:88px;
		top:90px;
		right:calc(50% + 450px);
	}

	.prepare_section .deco02{
		width:192px;
		top:90px;
		left:calc(50% + 410px);
	}

	.prepare_section .prepare_head{
		font-size: 30px;
		line-height: 2;
	}


	/*
	------------------------------------
	404
	------------------------------------
	*/

	body.page404_body{
	}

	main.page404_body_main{
		position: relative;
	}


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

	.page404_section .p01{
		font-size: 32px;
	}

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

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