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

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


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


	.container{
		width:calc(345 / 375 * 100vw);
		max-width: 400px;
		padding:0;
	}


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

	.c_gray_square_head::before{
		width:8px;
		height:16px;
		top:6px;
	}


	/*波線の背景*/
	.c_wave{
		width: 960px;
		height: 60px;
		background-size: 960px 60px;
		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_inner{
		max-width: 1200px;
		margin-inline: auto;
		padding-inline: 16px;
	}

	header .header_flex{
		height:70px;
	}

	header .header_logo{
		width:160px;
	}

	header .drawer_open{
		width:40px;
		height:40px;

	}

	
	header .drawer_open .bar{
		width:15px;
		height:1px;
	}

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


	#drawer_menu{
		max-width: 450px;
		padding-top: 70px;
	}



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

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


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


	.common_contact_section .sec_title{

		font-size: 32px;
		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;
		gap:48px;
	}
	.common_contact_section .button_area{
		width:495px;
		max-width: 100%;
	}

	.common_contact_section .button_head{
		gap: 16px;
		font-size: 18px;
	}

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

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

	.common_contact_section .button.web{
		gap:48px;
		font-size: 26px;
	}

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

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

	}

	.common_contact_section .button.web::before{
		width:100px;
		height:64px;
		top:40px;
	}

	.common_contact_section .button.web::after{
		content: none;
	}

	.common_contact_section .button.tel::after{
		width:45px;
		height:44px;
		bottom:8px;
		right:2px;
	}

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

	.common_contact_section .tel_num::before{
		width:16px;
		height:22px;
		margin-right: 10px;
	}

	.common_contact_section .tel_time{
		margin-top: 0;
		text-align: center;
		font-size: 13px;
	}

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

	.common_info_section{
		padding-top: 80px;
		padding-bottom: 120px;
	}

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

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

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

	.common_info_section .access_flex{
		margin-top: 10px;
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		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:100%;
	}

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

	.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: 100%;
		max-width: 100%;
		height: 70px;
		padding-left: 24px;
		margin-top: 16px;
	}

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

	.common_info_section .web_button::after{
		display: none;
	}


	.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: 22px;
		line-height: 1;
		margin-right: 16px;
	}

	.common_info_section .web_button .web_text02 span{
		font-size: 24px;
		padding-right: 16px;
	}

	.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{
		display: none;
	}
	.common_info_section .info_deco02{
		width:200px;
		bottom:-48px;
		left:6px;
	}
	.common_info_section .info_deco03{
		width:96px;
		bottom:-48px;
		right:-24px;
	}

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


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


	footer .footer_deco02{
		width:88px;
		left:calc(50% + 60px);
		top:-26px;
	}

	footer .footer_deco03{
		display: none;
	}


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

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

	footer .footer_flex{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap:40px;
	}

	footer .footer_left{
		flex-shrink: 0;
		width: 100%;
	}

	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: 100%;
		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;
		flex-direction: column;
		margin-top: 64px;
	}

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

	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: flex-start;
		flex-direction: column;
		width: 100%;
	}

	footer .footer_button_area{
		display: flex;
		align-items: flex-start;
		gap:12px;
		margin-right: 0;
		width: 100%;
	}

	footer .footer_button{
		width: 48%;
		height: 113px;

		border-radius: 9px;
		font-size: 17px;
	}


	footer .footer_button .radi{
		width: 13px;
		height: 13px;
		bottom:12px;
	}

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

	footer .footer_list_area{
		width: 100%;
		margin-top: 32px;
	}

	footer .footer_list_item a{
		gap:4px;
		font-size: 14px;
	} 

	footer .footer_list_item a .radi{
		width:20px;
	}

	footer .footer_list_item a .radi::after{
		width:5px;
		height:8px;
	}

	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: 100%;
		margin-inline: auto;
		margin-top: 40px;
	}


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

	footer .footer_parent_link{
		font-size: 14px;
	}

	footer .footer_parent_link::after{
		width:10px;
		height:6px;
		margin-left: 8px;
	}

	footer .footer_parent_slash{
		height:17px;
		margin:0 12px;
	}

	footer .recruit_button{
		width: 152px;
		height: 45px;
		border-radius: 11px;
		font-size: 17px;
		margin-inline: auto;
		margin-top: 24px;
	}

	footer .recruit_button .radi{
		width:14px;

		margin-right: 10px;
	}

	footer .recruit_button .radi::after{
		width:3px;
		height:5px;
	}
	/*
	------------------------------------
	トップ
	------------------------------------
	*/

	body.top_body{
		
	}

	main.top_main{

	}

	.top_section{

	}

	.top_fv_section{
		
		
	}

	.top_fv_section .fv_inner{
		min-height:calc(250 / 720 * 100vw);
		display: flex;
		justify-content: center;
		align-items: center;
		padding:80px 0;
	}


	.top_fv_section .fv img {
		border-radius: 0 0 24px 24px;
		object-position: right;
	}

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


	.top_fv_section .fv_text_frame{
		justify-content: center;
	}

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

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

	.top_fv_section .fv_deco{
		position: absolute;
	}

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

	.top_fv_section .fv_deco02{
		width:160px;
		bottom:-30px;
		left:calc(50% + 140px);
	}

	.top_access_section{
		padding-top: 100px;
		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{
		font-size: 14px;
		line-height: 1.5;
	}

	.top_access_section .access_area{
		min-height: 80px;
	}

	.top_access_section .access_text{
		padding-left: 16px;
		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:100%;
		position: static;
		right:0;
		top:0;
		margin-top: 24px;
	}

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

	}

	.top_access_section .reserve_button_flex{
		margin-top: 36px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		gap:40px;
	}

	.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: 72px;
		padding:32px 16px;
		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: 24px;
	}


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

	.top_access_section .news_date{
		width:85px;
		padding-inline: 10px;
		padding-left: 0;
	}

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

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

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

	.top_concept_section .concept_left{
		width:100%;
		padding-top: 64px;
	}
	.top_concept_section .concept_right{
		width:100%;
		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;
		margin-inline: auto;
	}

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

	.top_message_section .message_contents{
		position: relative;
	}

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

	.top_message_section .message_deco01{
		width:100px;
		top:20px;
		left:0px;
	}

	.top_message_section .message_deco02{
		width:50px;

		bottom:110px;
		right:-12px;
	}

	.top_message_section .message_deco03{
		width:120px;
		bottom:-80px;
		right:-48px;
	}

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

	.top_message_section .message_catch{
		gap:20px;
		margin-top: 80px;
	
		font-size: 24px;
	}

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

	.top_message_section .message_flex{
		margin-top: 56px;
		display: flex;
		align-items: flex-start;
		flex-direction: column-reverse;
		padding-inline: 24px;
	}

	.top_message_section .message_left{
		width:100%;
		flex-shrink: 0;
		padding-left:0;
		margin-right: 0;
	}

	.top_message_section .message_img{
		max-width: 180px;
		margin-inline: auto;
	}

	.top_message_section .message_button{
		margin-top: 32px;
		margin-inline: auto;
	}

	.top_message_section .message_right{
		width:100%;
		padding-right: 0;

	}

	.top_message_section .message_text{
		line-height: 2;
		margin-top: 24px;
	}

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

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

	.top_about_section::before{

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

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

	.top_about_section .catch_text{
		font-size: 26px;
		margin-top: 24px;
	}

	.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: 16px;
		padding:48px 16px 48px;

	}

	.top_about_section .about_flex{
		display: flex;
		flex-direction: column;
		gap:32px 0;
	}

	.top_about_section .about_block{
		width:100%;
		padding-inline: 0;
		padding-bottom: 16px;
	}

	.top_about_section .about_block:first-child{
		border-right: none;
	}

	.top_about_section .about_head{
		gap:16px;
		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: 220px;
		margin:4px auto 0;
	}

	.top_about_section .about_name{
		margin-top: 4px;
		font-size: 20px;
		gap:10px;
		text-align: center;
		white-space: nowrap;
	}

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

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

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

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

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

	.top_about_section .link_block{
		width:100%;
		padding-top: 16px;
		padding-bottom: 44px;
		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;
		bottom: 20px;
	}

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

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

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

	.top_about_section .gal_item03{
		width: 180px;
		margin-top: 60px;
	}
	.top_about_section .gal_item05{
		width: 115px;
		margin-top: 65px;
	}
	.top_about_section .gal_item06{
		margin-top: 20px;
	}
	.top_about_section .gal_item07{
		margin-top: 85px;
	}
	.top_about_section .gal_item08{
		width: 180px;
	}

	.top_beginner_section{
		padding-top: 100px;
	}

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

	.top_beginner_section .beginner_left{
		width:100%;
		flex-shrink: 0;
	}

	.top_beginner_section .beginner_right{
		width:100%;
		margin-top: 80px;
	}

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

	.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: block;
		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: horizontal-tb;
		margin-left: 0;
	}

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

	.top_beginner_section .guide_text{
		writing-mode: horizontal-tb;
		font-size: 15px;
		line-height: 2.2;
		margin-top: 24px;
	}

	.top_beginner_section .beginner_frame{
		position: relative;
		padding-left:0;
		padding-right: 0;
		height:530px;
	}

	.top_beginner_section .beginner_frame::before{
		width:800px;
		height:calc(100% - 100px);
		left: 50%;
		transform: translateX(-50%);
	}

	.top_beginner_section .wave{
		width:800px;
		left: 50%;
		transform: translateX(-50%);
	}

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

	.top_beginner_section .beginner_list{
		position: relative;
	}

	.top_beginner_section .beginner_block{
		width:100%;
	}

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

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

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

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

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

	.page_fv_section{
		
		
	}

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

	.page_fv_section .page_title{
		padding:60px 0;
		font-size: 32px;
	}
	.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: 80px;
		padding-bottom: 80px;
		
	}

	.recruit_message_section::before{
		height:calc(100% - 60px);
	}

	.recruit_message_section .sec_head{

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

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

	.recruit_message_section .message_img{
		position: static;
		max-width:200px;
		margin:24px auto 0;
		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;
		flex-direction: column;
		gap:80px;
	}

	.recruit_info_section .info_box{
		width:100%;
		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: 80px;
		display: flex;
		justify-content: center;
		align-items: center;
		position: relative;
	}

	.recruit_info_section .sns_flex .border{
		width:1px;
		height:32px;
		margin:0 24px;
	}

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

	.recruit_info_section .info_deco04{
		width:80px;

		top:80px;
		left:-10px;
	}

	.recruit_info_section .info_deco05{
		width:140px;
		top:70px;
		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: 32px;
	}

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

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

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

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

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

	.recruit_detail_section .detail_message{
		margin-bottom: 10px;
		width: 100%;
		padding:24px 12px;
		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: 12px;
		padding-left: 12px;
	}

	.recruit_detail_section .detail_message li::before{
		width:6px;
		height:6px;
		top:6px;
	}

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

	.recruit_detail_section .detail_table tr{
		display: flex;
		flex-direction: column;
	}

	.recruit_detail_section .detail_table th,
	.recruit_detail_section .detail_table td{
		line-height: 2;
		padding-top: 12px;
		padding-bottom: 12px;
		
	}

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

	.recruit_detail_section .detail_table th{
		width:100%;
		margin-right: 0;
		padding-inline: 16px;
	}

	.recruit_detail_section .detail_table td{
		width:100%;
		padding-inline: 16px;
	}


	.recruit_detail_section .entry_button{
		margin-top:56px;

		height: 80px;
		font-size: 22px;
	}

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

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

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

	.recruit_flow_section .sec_head{
		font-size: 24px;
		padding-bottom: 12px;
	}

	.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:56px auto 0;
		padding:24px 16px;
		font-size: 15px;
		line-height: 2;
	}

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

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

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

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

	.recruit_entry_section .tel_block{
		margin-top: 32px;
		min-width: 100%;
	}

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

	}

	.recruit_entry_section .tel_num::before{
		width: 16px;
		height: 22px;
	}

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

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

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

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

	.recruit_entry_section .form_label label{

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

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

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

	.recruit_entry_section .text_input{
		height: 50px;
		border-radius: 6px;
		padding-inline: 12px;
		font-size: 18px;
	}


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

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

	.recruit_entry_section .submit_frame{
		width: 100%;
	}

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

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

	.recruit_entry_section .submit{
		width: 100%;
		height: 80px;
		max-width: 100%;
		border: 2px solid #fff;
		font-size: 24px;
	}

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

	body.complete_body{
	}

	main.complete_body_main{
		position: relative;
	}


	.complete_section{
		min-height: auto;
		padding-top: 70px;
		display: flex;
		align-items: center;
	}


	.complete_section .complete_frame{
		padding:80px 0;

	}

	.complete_section .complete_contents{
		position: relative;

	}

	.complete_section .icon{
		max-width: 80px;
		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: 32px;
		font-size: 20px;
	}

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

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

	body.prepare_body{
	}

	main.prepare_body_main{
		position: relative;
	}


	.prepare_section{
		min-height: auto;
		padding-top: 70px;
		display: flex;
		align-items: center;
	}


	.prepare_section .prepare_frame{
		padding:80px 0;

	}

	.prepare_section .prepare_contents{
		position: relative;

	}

	.prepare_section .icon{
		max-width: 100px;
		margin-top: 48px;

	}


	.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: 20px;
		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:767px){*/