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

	:root{
		--top_sticky : 46px;
	}


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



	/*セクションタイトルセット*/
	.common_sec_title_set{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.common_sec_title_set::after{
		width: 19px;
		height: 6px;
		border-radius: 3px;
		margin-top: 8px;
		
	}

	.common_sec_title_set .ja_title{
		font-size: 20px;
		line-height: 1.2;
	}

	.common_sec_title_set .en_title{
		line-height: 1.2;
		font-size: 14px;
		margin-top: 8px;
	}

	.common_sec_title_set .ja_title + .en_title{
	}


	/*共通ボタン*/
	.common_link_button{
		min-width: 236px;
		min-height: 36px;
		padding:4px 16px 4px 40px;
		font-size: 12px;
		
	}

	.common_link_button::after{
		width:13px;
		height:9px;
		margin-left: 8px;
	}

	/*ニュース一覧*/
	.common_news_list{

	}

	.common_news_list .news_block{
		padding:32px 0;
		padding-left: 0;
		position: relative;
		flex-direction: column;
	}

	.common_news_list .news_thumb_area{
		flex-shrink: 0;
		width:100%;
		margin-right: 0;
		
	}



	.common_news_list .news_right{

	}

	.common_news_list .news_title{
		font-size: 20px;
		font-weight: 400;
		line-height: 1.4;
	}

	.common_news_list .news_date_area{
		position: static;
		top:32px;
		gap:8px;
		display: flex;
		align-items: center;
		flex-direction: row;
		margin-top: 12px;
	}

	.common_news_list .news_author{
		display: none;
	}

	.common_news_list .news_date{
		font-size: 16px;
		line-height: 1.2;
	}
	.common_news_list .news_week{
		font-size: 16px;
		line-height: 1.2;
	}

	.common_news_list .news_cat_list{
		position: static;
		margin-top: 16px;
	}

	.common_news_list .news_title{
		margin-top: 12px;
	}

	.common_news_list .news_cat_item::after{
		line-height: 1.3;
		margin:0 8px;
	}


	/*ページネーション*/
	.common_page_nation{

		gap:8px;

	}

	.common_page_nation span.current{/*現在のページボタン*/
		width: 24px;
		height: 24px;
		padding-bottom: 2px;
	}

	.common_page_nation a.page-numbers{/*指定のページ移動ボタン*/
		width: 24px;
		height: 24px;
		padding-bottom: 2px;
	}


	.common_page_nation a.page-numbers.next::after,
	.common_page_nation a.page-numbers.prev::after{
		content:'';
		width:8px;
		height:10px;
	}

	/*
	------------------------------------
	ヘッダー
	------------------------------------
	*/
	header{

		z-index: 30;
	}

	header .header_inner{
		padding:5px;
	}

	header .header_frame{
		border-radius: 5px;
		padding:3px 12px;
		position: relative;
	}

	header .header_flex{
		height:40px;
	}

	header .header_page_title{
		display: none;
		font-size: 12px;
	}

	header .header_logo{
		width:115px;
	}

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

	header .header_appli{
		margin-left: 16px;
		width: 102px;
		height: 35px;
		border-radius: 35px;
		font-size: 13px;
	}


	header .drawer_open{
		margin-left: 10px;
		width: 35px;
		height: 35px;
	}


	header .drawer_open .bar{
		width:20px;
		height:2px;
	}

	header .drawer_open .bar02{
		margin-top: 4px;
	}

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


	#drawer_menu{
		top:5px;
		height: calc(100vh - 5px);
		padding-inline: 5px;
	}


	#drawer_menu .drawer_menu_inner{
		padding-top: 40px;

	}

	#drawer_menu .drawer_menu_contents_frame{
		max-width: 800px;
		padding-inline: 16px;
		padding-top: 24px;
		padding-bottom: 90px;
	}

	#drawer_menu .drawer_menu_flex{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	#drawer_menu .drawer_menu_left{
		width:100%;
		flex-shrink: 0;
		margin-right: 0;
	}

	#drawer_menu .drawer_menu_right{
		width:100%;
		max-width: 100%;
		margin-top: 60px;
	}

	#drawer_menu .drawer_parents_link{
		padding:20px 0;
		gap:0 16px;
	}

	#drawer_menu .drawer_parents_link_ja{
		font-size: 18px;
		line-height: 1.4;
	}

	#drawer_menu .drawer_parents_link_en{
		font-size: 12px;
		line-height: 1.4;
	}

	#drawer_menu .drawer_insta_link{
		margin-top: 28px;
		font-size: 12px;
		gap:0 16px;
	}

	#drawer_menu .drawer_insta_link::before{
		width:32px;
		height:34px;
	}

	#drawer_menu .drawer_child_mark{
		width:16px;
		height:16px;
		top:24px;
	}

	#drawer_menu .drawer_child_frame{
		padding-top:6px;
		padding-bottom: 28px;
	}

	#drawer_menu .drawer_child_link{
		padding-left: 14px;
		line-height: 1.3;
		font-size: 13px;
	}

	#drawer_menu .drawer_child_link::before{
		line-height: 1.3;
	}

	#drawer_menu .drawer_child_list{
		margin-top: 14px;
		gap:14px 0;
	}

	#drawer_menu .drawer_child_item{
		width:50%;
		padding-right: 6px;
	}


	#drawer_menu .drawer_card_list{

	}


	#drawer_menu .drawer_card + .drawer_card{
		margin-top: 16px;
	}

	#drawer_menu .drawer_card_head{
		padding-left: 17px;
	}


	#drawer_menu .drawer_card_thumb_list{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap:5px;
	}

	#drawer_menu .drawer_card_thumb{
		margin-top: 16px;
	}


	#drawer_menu .drawer_sub_list{
		max-width: 1260px;
		margin-top: 60px;
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		gap:24px 0;
	}

	#drawer_menu .drawer_sub_item{
		width: 100%;
		max-width: 356px;
	}

	#drawer_menu .drawer_sub_link{
		height:48px;

		font-size: 20px;

	}

	#drawer_menu .drawer_sub_link::after{
		width:15px;
		height:9px;

		right:20px;
	}


	/*
	------------------------------------
	ページ下部のリクルートセクション
	------------------------------------
	*/
	.common_recruit_section{
		padding-top: 88px;
		padding-bottom: 164px;
	}

	.common_recruit_section .link_list{
		margin-top: 40px;
		display: flex;
		justify-content: center;
		align-items: flex-start;
		gap:0 16px;
	}

	.common_recruit_section .link_item{
		width:100px;
	}

	.common_recruit_section .link_card{
		aspect-ratio: 1 / 2.67;

	}


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

	footer{
		padding-top: 24px;
		padding-bottom: 65px;
	}

	footer .footer_flex{
		max-width: 1120px;
		flex-direction: column;
		align-items: flex-start;
	}

	footer .footer_logo{
		display: block;
		width:240px;
	}

	footer .footer_menu{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
		margin-top: 24px;
	}

	footer .footer_item + .footer_item{
		margin-top: 16px;
	} 

	footer .footer_link{
		font-weight: 500;
	}

	footer .footer_link[target="_blank"]::after{
		width: 13px;
		height: 14px;
		margin-left: 7px;
	}
	/*
	------------------------------------
	下層mv
	------------------------------------
	*/

	.page_mv_section{

	}


	/*
	------------------------------------
	トップページ
	------------------------------------
	*/

	body.top_body{
		
	}

	main.top_main{

	}

	body.top_body .top_page_guide_border_frame{
		display: none;
	}


	.top_section{
		position: relative;
		/* margin-top: -1px; */
	}

	.top_fv_section{
		padding-bottom: 24px;
	}

	.top_fv_section .top_fv_inner{
		max-width: 1360px;
		margin:0 auto;
		padding:0 ;
		

		min-height:100vh;
		display: flex;
		flex-direction: column;
		align-items: flex-end;
		position: relative;
	}

	.top_fv_section .fv_movie_frame{
		width: 100%;
		height:calc(100vh - 250px);
		/* aspect-ratio: 1 / 0.5625; */
		aspect-ratio: auto;
	}

	.top_fv_section .recent_news_frame{
		max-width: 1200px;
		width: 100%;
		margin:18px auto 0;
		flex-shrink: 0;
		padding-left: 48px;
	}

	.top_fv_section .recent_news{
		display: flex;
		align-items: flex-start;
		flex-wrap: wrap;
	}

	.top_fv_section .recent_news .recent_cat{
		min-height: 20px;
		padding: 4px 16px;
		gap: 8px;
		margin-right: 8px;
		font-size: 12px;		
	}

	.top_fv_section .recent_news .recent_date{
		font-size: 12px;

		margin-right: 8px;
		padding-top: 5px;
	}

	.top_fv_section .recent_news .recent_title{
		font-size: 14px;
		padding-top: 5px;
		line-height: 1.4;
	}

	.top_fv_section .scroll_guide{
		bottom:0;
		right:calc(100% - 20px);
	}

	.top_fv_section .scroll_guide .scroll_text{
		width:9px;
	}

	.top_fv_section .scroll_bar_frame{
		margin-top: 4px;
		height:140px;
	}


	.top_fv_message_section{
		min-height: 100vh;
		min-height: calc(var(--vh2, 1vh) * 100);
		padding:100px 0;
	}

	.top_fv_message_section .top_fv_message{
		width:173px;
		aspect-ratio: 1 / 1.6;
	}


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

	.top_guide_section .guide_contents_frame{
		position: relative;
		margin-left: 16px;
		width: fit-content;
		
	}


	.top_guide_section .guide_contents{
		position: relative;
		z-index: 2;
	}
	.top_guide_section .guide_text{
		font-weight: 700;
		font-size: 12px;
		line-height: 2.3;
	}

	.top_guide_section .common_link_button{
		margin-top: 48px;
	}


	.top_guide_section .box01{
		width: 15px;
        height: 15px;
        left: -14px;
        top: -20px;
		transform: translate3d(120px, 165px, 0) rotateZ(360deg);
	}
	.top_guide_section .box02{
		width: 10px;
		height: 10px;
		right:30px;
		top:40px;
		transform: translate3d(-87px, 108px, 0) rotateZ(360deg);
	}
	.top_guide_section .box03{
		width: 14px;
		height: 14px;
		left:-5px;
		bottom:40px;
		transform: translate3d(112px, -188px, 0) rotateZ(360deg);
	}
	.top_guide_section .box04{
		width: 15px;
		height: 15px;
		right:-35px;
		bottom:84px;
		transform: translate3d(-150px, -145px, 0) rotateZ(360deg);
	}


	.top_guide_section .guide_head_frame{
		width:21px;
		top:80px;
		left:calc(50% + 130px);
		z-index: 6;
	}


	.top_gal_section{
		padding-bottom: 160px;
	} 

	.top_gal_section .gal_area{
		width:min(calc(1403 / 1440 * 100vw) , calc(1403 / 1440 * 1920px));
		aspect-ratio: 1 / 0.7612;
	}


	.top_gal_section .gal_block01{
		left:0;
		top:0;
		width:min(calc(709 / 1440 * 100vw) , calc(709 / 1440 * 1920px));
		height:min(calc(530 / 1440 * 100vw) , calc(530 / 1440 * 1920px));
	}

	.top_gal_section .gal_block02{
		left:0;
		bottom:0;
		width:min(calc(709 / 1440 * 100vw) , calc(709 / 1440 * 1920px));
		height:min(calc(530 / 1440 * 100vw) , calc(530 / 1440 * 1920px));
	}

	.top_gal_section .gal_block03{
		top:0;
		right:min(calc(347 / 1440 * 100vw) , calc(347 / 1440 * 1920px));
		width:min(calc(338 / 1440 * 100vw) , calc(338 / 1440 * 1920px));
		height:min(calc(345 / 1440 * 100vw) , calc(345 / 1440 * 1920px));
	}

	.top_gal_section .gal_block04{
		top:0;
		right:0;
		width:min(calc(338 / 1440 * 100vw) , calc(338 / 1440 * 1920px));
		height:min(calc(345 / 1440 * 100vw) , calc(345 / 1440 * 1920px));
	}

	.top_gal_section .gal_block05{
		bottom:0;
		right:0;
		width:min(calc(685 / 1440 * 100vw) , calc(685 / 1440 * 1920px));
		height:min(calc(715 / 1440 * 100vw) , calc(715 / 1440 * 1920px));
	}

	.top_style_section{

	}

	.top_style_section .style_area{
		width: 100vw;
		margin: 0 calc(50% - 50vw);
		padding-bottom: 40px;
		position: relative;
		transition-duration: 2.5s;
		clip-path: inset(0 50% 0 50%);
		transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	}

	.top_style_section .style_area.anime_active{
		clip-path: inset(0 0% 0 0%);
	}

	.top_style_section .box{

	}

	.top_style_section .box01{
		width: 17px;
        height: 17px;
        right: calc(50% + 140px);
        top: 23px;
        transform: translate3d(149px, 259px, 0) rotateZ(360deg);
	}
	.top_style_section .box02{
		width: 30px;
		height: 30px;
		left:calc(50% + 150px);
		bottom:20px;
		transform: translate3d(-165px, -302px, 0) rotateZ(360deg);
	}

	.top_style_section .style_contents_frame{
		min-height:auto;
		width: fit-content;
		margin:0 auto;
		padding:40px 0;
		transition-duration: 2.5s;
		clip-path: none;
		position: relative;
	}

	.top_style_section .anime_active .style_contents_frame {
		clip-path: none;
	}


	.top_style_section .style_list{
		width: 327px;
		margin:40px auto 0;
	}


	.top_style_section .style_link{
		min-height: 148px;
		padding:24px 24px;
	}

	.top_style_section .style_link::after{
		width:38px;
		height:36px;
		margin-left: 10px;
	}


	.top_style_section .style_title_en{
		font-size: 12px;
	}

	.top_style_section .style_title_ja{
		font-size: 20px;
	}


	.top_style_section .slide_list{
		flex-shrink: 0;
		display: flex;
		flex-direction: row;
		gap:10px;
		animation-duration: 15s;
		animation-delay: 3s;
	}

	.top_style_section .slide_item{
		width:256px;
		flex-shrink: 0;
		aspect-ratio: 1 / 1.15;
	}



	/* アニメーション：下から上 */
	.top_style_section .anime_active .slide_block01 .slide_list {
		animation-name: slide-right;
		
	}

	/* アニメーション：上から下 */
	.top_style_section .anime_active .slide_block02 .slide_list {
		animation-name: slide-left;
	}

	@keyframes slide-right {
		0% {
			transform: translateX(calc(-50% - 5px));
			
		}
		100% {
			transform: translateX(0);
		}
	}

	@keyframes slide-left {
		0% {
			transform: translateX(0%);
		}
		100% {
			
			transform: translateX(calc(-50% - 5px));
		}
	}

	.top_staff_section{
		padding-top: 160px;
	}

	.top_staff_section .common_sec_title_set{
		margin-left: 0;
	}

	.common_staff_area{
		margin-top: 24px;
	}

	.common_staff_area .top_staff_slide{
		width:420px;
		padding:0 8px;
	}

	.common_staff_area .top_staff_card{
		height:490px;
		display: block;
		width:375px ;
		margin: 0 auto;
		position: relative;
	}

	.common_staff_area .top_staff_text01{
		top:32px;
		font-size: 24px;
	}

	.common_staff_area .top_staff_text01 span{
		padding:6px 0;
	}

	.common_staff_area .top_staff_text02{
		bottom:16px;
		left:16px;
		gap:4px;
		letter-spacing: 0.05em;
	}

	.common_staff_area .top_staff_text02 .top_staff_job{
		font-size: 20px;
		padding-inline: 4px;
	}
	.common_staff_area .top_staff_text02 .top_staff_job02{
		font-size: 12px;
		padding-inline: 4px;
	}
	.common_staff_area .top_staff_text02 .top_staff_career{
		font-size: 12px;
		padding-inline: 4px;
	}



	.common_staff_area .top_staff_card .staff_normal{
		width:330px;
	}
	.common_staff_area .top_staff_card .staff_active{
		width:460px;
	}

	.common_staff_area .swiper-slide-active .staff_normal{
		transition-delay: 1.2s;
	}
	.common_staff_area .swiper-slide-active .staff_active{
		opacity: 1;
		pointer-events: normal;
		transition-delay: 1.2s;
	}


	.common_staff_area .swiper-slide-active .top_staff_text01{
		transition-delay: 1.2s;
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}
	.common_staff_area .swiper-slide-active .top_staff_text02{
		transition-delay: 1.2s;
		clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
	}

	.common_staff_area .sp_nav_flex{
		display: flex;
		align-items: center;
		gap:0 32px;
	}


	.common_staff_area .sp_nav{
		cursor: pointer;
		width: 29px;
		height:28px;
		background-repeat: no-repeat;
		background-size: contain;
		background-image: url('../img/common/icon_arrow_big_right_black.svg');
	}

	.common_staff_area .sp_nav_prev{
		transform: rotateZ(180deg);
	}

	.common_staff_area .staff_button_frame{
		margin-top: 56px;
		padding-right: 0;
		display: flex;
		justify-content: space-between;
		align-items: center;
	}

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

	.top_data_section .data_contents{
		max-width: 100%;
		position: relative;
		margin-left: 0;
	}

	.top_data_section .data_img_area{
		position: static;
		transform: translateY(0);
		width:100%;
		margin-top: 32px;

	}

	.top_data_section .data_img_frame{

		aspect-ratio: 1 / 0.75;
	}



	.top_data_section .data_text{
		margin-top: 24px;
		line-height: 1.5;
	}

	.top_data_section .data_button_frame{
		margin-top: 40px;
		margin-inline: auto;
	}

	.top_data_section .box{
		display: none;
	}


	.top_welfare_section{

	}

	.top_welfare_section .welfare_inner{
		max-width: 1300px;
		margin:0 auto;
		position: relative;
	}

	.top_welfare_section .welfare_contents_frame{
		min-height: auto;
		padding:32px 0;
	}

	.top_welfare_section .anime_active .welfare_contents_frame{
		clip-path: inset(0 0% 0 0%);
	}



	.top_welfare_section .welfare_contents{
		width:100%;
		width:calc(345 / 375 * 100vw);
		max-width: 400px;
		margin:0 auto;
	}
	.top_welfare_section .common_sec_title_set{
		padding-right: 0;
	}



	.top_welfare_section .wefare_list{
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		align-items: center;
		max-width: 540px;
		margin-top: 56px;
		gap:40px 0;
	}

	.top_welfare_section .welfare_item{
		width:240px;
	}

	.top_welfare_section .welfare_link{
		padding-bottom: 30px;
		min-height: 100%;
	}

	.top_welfare_section .welfare_link::before{
		height:120px;
	}

	.top_welfare_section .welfare_icon{
		width:120px;
		height:120px;
	}

	.top_welfare_section .welfare_name{
		margin-top: 24px;
		font-size: 20px;
	}

	.top_welfare_section .welfare_text{
		margin-top: 12px;
		line-height: 1.5;
	}

	.top_welfare_section .welfare_link_icon{
		width: 40px;
		height: 21px;

	}

	.top_welfare_section .welfare_link_icon::after{
		width:14px;
		height:10px;
	}

	.top_welfare_section .welfare_button_frame{
		padding-right: 0;
		margin-top: 40px;
	}

	.top_welfare_section .welfare_button_frame .common_link_button{
		min-width: 173px;
	}

	.top_welfare_section .box{
	
	}

	.top_welfare_section .box01{
		width: 16px;
        height: 16px;
        left: calc(50% + 172px);
        top: -8px;
        transform: translate3d(-180px, 804px, 0) rotateZ(360deg);
	}
	.top_welfare_section .box02{
		width: 40px;
        height: 40px;
        right: calc(50% + 147px);
        bottom: -20px;
        transform: translate3d(168px, -790px, 0) rotateZ(360deg);
	}




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

	.top_news_section .news_frame{
		margin:0 auto;
		max-width: 280px;
	}

	.top_news_section .news_list{
		margin-top: 40px;
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap:24px 0;
	}

	.top_news_section .news_item{
		width: auto;
	}

	.top_news_section .news_info_flex{
		margin-top: 15px;
		display: flex;
		align-items: flex-start;
	}

	.top_news_section .news_date{
		margin-right: 16px;
		font-size: 12px;
		padding-top: 4px;
	}

	.top_news_section .cat_list{
		gap:12px;
	}

	.top_news_section .cat_item{
		min-width: 85px;
		min-height: 16px;
		padding:2px 4px;
		font-size: 12px;
	}

	.top_news_section .news_title{
		margin-top: 12px;
		line-height: 1.5;
	}

	.top_news_section .news_button_frame{
		margin-top: 32px;
	}

	/*
	------------------------------------
	下層共通
	------------------------------------
	*/

	/*下層MV*/
	.page_mv_section{
		height:460px;
	}

	.page_title_section{
		padding-top: 70px;
	}



	/*ページタイトル*/

	.common_page_title_set .en_title{
		font-weight: 400;
	}

	.common_page_title_set .ja_title{
		font-size: 32px;
	}

	.common_page_title_set .ja_title span{
		font-size: 24px;
	}


	.common_page_title_set .en_title + .ja_title{
		margin-top: 12px;
	}



	/*上部固定のアンカーリスト*/

	.common_top_fix_anchor_area .top_anchor_list{
		max-width:720px;
		gap:8px;
		padding-top: 20px;
		padding-inline: 16px;
	}

	.common_top_fix_anchor_area .top_anchor_list.three{
		grid-template-columns: repeat(3, 1fr);
	}
	.common_top_fix_anchor_area .top_anchor_list.four{
		grid-template-columns: repeat(4, 1fr);
	}

	.common_top_fix_anchor_area .top_anchor_link{

		padding:8px 0;
		font-size: 10px;
		gap:0 4px;

	}



	/*左側固定のタイトル*/

	.common_sticky_contents{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
		max-width: 400px;
		width:calc(345 / 375 * 100vw);
		margin:0 auto;
	}


	.common_left_sticky_head{
		position: static;
		top:var(--top_sticky);
		left:0;
		width:100%;
		max-width: 100%;
		z-index: 0;
		margin-bottom: 40px;
	}


	/*右側のコンテンツ*/
	.common_right_contents{
		width:100%;
		max-width:100%;
	}



	/*上線がある見出し*/
	.common_top_border_title{
		font-size: 20px;
		padding-top: 12px;
		line-height: 1.5;
	}

	/*左余白のあるテキスト*/
	.common_guide_text_frame{
		margin-top: 24px;
	}

	.common_guide_text{
		width:100%;
		line-height: 1.75;
	}



	/*
	------------------------------------
	私たちの働き方
	------------------------------------
	*/

	body.style_body{
		
	}

	main.style_main{
		
	}

	.style_section{

	}


	.style_section_list{
		margin-top: 120px;
		position: static;
		padding-bottom: 120px;
	}

	.style_section .style_link_frame{
		margin-top: 24px;
	}

	.style_section .style_link{
		font-size: 12px;
		line-height: 1;
		font-weight: 500;
	}

	.style_section .style_link .radi{
		width: 14px;
		height: 14px;
		margin-left: 12px;
	}

	.style_section .style_link .radi::after{
		width:10px;
		height:8px;
	}

	.style_business_section{
		
	} 

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

	.style_business_section .style_business_text_frame{
		margin-top: 24px;

	}


	.style_business_section .style_business_text{
		line-height: 1.75;
	}

	.style_business_section .style_business_img_list{
		grid-template-columns: repeat(2, 1fr);
		gap:8px;
		margin-top: 24px;
	}


	.style_work_section{
		
	} 

	.style_work_section .style_work_section_inner{
		padding-bottom: 120px;	
	}

	.style_work_section .style_work_text_frame{
		margin-top: 24px;
	}

	.style_work_section .style_work_text{
		line-height: 1.875;
	}

	.style_work_section .work_slide_area{
		margin-top: 24px;
		padding:40px 10px;

	}


	.style_work_section .style_work_nav{
		width: 48px;
		height: 48px;
	}

	.style_work_section .style_work_nav::after{
		width:15px;
		height:30px;
	}

	.style_work_section .style_work_prev{
		left:-4px;
	}

	.style_work_section .style_work_next{
		right:-16px;
	}



	.style_work_section .style_work_slide{
		width:340px!important;
		padding:0 16px;
	}

	.style_work_section .style_work_card{

		border-radius: 15px;
		padding:56px 24px 290px;
	}

	.style_work_section .style_work_card::before{
		width: 72px;
		height: 72px;
		top:-36px;
	}

	.style_work_section .style_work_number{
		top:8px;
		font-size: 12px;
	}

	.style_work_section .style_work_head{
		font-size: 20px;
		line-height: 1;
	}


	.style_work_section .style_work_text{
		margin-top: 12px;
		font-size: 15px;
		line-height: 1.75;
	}


	.style_work_section .style_work_button{
		max-width: 275px;
		height: 36px;
		font-size: 12px;
	}

	.style_work_section .style_work_button::after{

		width: 13.5px;
		height: 9px;
		right:16px;
	}

	.style_work_section .style_work_img{
		margin-top: 16px;
	}

	.style_career_section{
		
	}

	.style_career_section .style_career_frame{
		margin-top: 24px;
		display: flex;
	}

	.style_career_section .style_career_contents{
		line-height: 1.75;
	}

	.style_career_section .style_career_text{
		line-height: 1.75;
	}

	.style_career_section .style_career_tab_area{
		margin-top: 24px;
	}

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

	.style_career_section .style_career_tab{
		width:32.4%;
		height:54px;
		font-size: 18px;
	}

	.style_career_section .style_career_tab_contents{
		padding-top: 24px;
	}

	.style_career_section .style_career_info_block{
		padding:16px 0;
	}

	.style_career_section .style_career_info_head{
		font-size: 18px;
	}

	.style_career_section .style_career_info_text{
		margin-top: 8px;
		line-height: 1.75;
		max-width: 100%;
	}


	/*
	------------------------------------
	明和会グループで働くひと
	------------------------------------
	*/

	body.staff_body{
		
	}


	body.staff_body #page_section_wrap{
		
	}

	main.staff_main{
		
	}

	.staff_section{

	}

	.staff_title_section{
		position: static;
		top:0;
		left:0;
		padding-bottom: 120px;
	}

	.staff_title_section .guide_text01{
		margin-top: 40px;
		white-space: normal;
		font-size: 22px;
	}

	.staff_title_section .guide_text02{
		margin-top: 32px;
		max-width: 100%;
		line-height: 1.75;
	}

	.staff_title_section .anchor_list{
		display: none;

	}

	.staff_info_section{
		padding-bottom: 160px;
		position: relative;
		z-index: 5;
		pointer-events: none;
	}

	.staff_info_section .staff_info_frame{
		padding-left: 0;
	}

	.staff_info_section .staff_info_frame + .staff_info_frame{
		margin-top: 0;
	}

	.staff_info_section .staff_info_block{
		width:100%;
		padding-bottom: 40px;
	}

	.staff_info_section .staff_info_contents{
		padding-left: 0;
		position: relative;
		min-height: auto;
	}

	.staff_info_section .staff_info_contents::after{
		width:110px;
		/* left:655px; */
		left:auto;
		bottom:auto;
		margin:0;
		top:200px;
		right:-80px;
	}

	.staff_info_section .staff_info_contents_inner{
		max-width: 100%;
	} 

	.staff_info_section .staff_main_head{
		font-size: 20px;
		margin-top: 16px;
	}

	.staff_info_section .staff_career{
		margin-top: 24px;
		font-size: 12px;
	}

	.staff_info_section .staff_career p + p{
		margin-top: 6px;
	}


	.staff_info_section .staff_info{
		margin-top: 16px;
		line-height: 1.3;
	}

	.staff_info_section .staff_text{
		margin-top: 32px;
		line-height: 1.75;
	}

	.staff_info_section .staff_info_img_area{
		width:100%;
		position: static;
	}

	.staff_info_section .staff_info_img_frame{
		aspect-ratio: 1 / 1.324;
	}



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

	body.staff_single_body{
		
	}


	main.staff_single_main{
		
	}

	.staff_single_section{

	}

	.staff_single_title_section{
		padding-top: 64px;
	}

	.staff_single_title_section .title_block{
		padding-left: 0;
	}

	.staff_single_title_section .title_block::before{
		width: 20px;
		height: 20px;
		top:-16px;
		left:-16px;
	}

	.staff_single_title_section .staff_kind{
		margin-top: 40px;
		min-width: 72px;
		min-height: 20px;
		padding: 2px 8px;	
		font-size: 12px;

	}

	.staff_single_title_section .common_page_title_set{
		white-space: nowrap;
	}

	.staff_single_title_section .staff_job{
		margin-top: 6px;
	}

	.staff_single_title_section .staff_name{
		margin-top: 4px;
	}

	.staff_voice_section{
		padding-top: 40px;
	} 

	.staff_voice_section .staff_voice_area{
		

	}

	.staff_voice_section .staff_voice_contents{
		position: relative;
		display: block;
		max-width: 600px;
		margin-inline: auto;
	}

	.staff_voice_section .staff_img_area{
		width:100%;
		position: static;
		display: none;
		
	}

	.staff_voice_section .staff_img_frame{
		margin-bottom: 24px;
		aspect-ratio: 1 / 0.73;
	}



	.staff_voice_section .staff_voice_list{
		width:100%;
		padding-right: 0;
	}

	.staff_voice_section .staff_voice_block + .staff_voice_block{
		margin-top: 40px;
	}

	.staff_voice_section .staff_voice_kind{

		min-height: 21px;
		padding:2px 12px;
		font-size: 12px;

	}

	.staff_voice_section .staff_voice_title{
		margin-top: 16px;
		font-size: 23px;
	}

	.staff_voice_section .staff_voice_text{
		margin-top: 16px;
		line-height: 2;
	}

	.staff_faq_section{
		padding-top: 80px;
	}

	.staff_faq_section .staff_faq_area{
		padding-left: 0;
	}

	.staff_faq_section .sec_title{
		font-size: 96px;
		text-align: center;
	}

	.staff_faq_section .sec_sub_title{
		margin-top: 20px;
		text-align: center;
	}

	.staff_faq_section .staff_faq_list{
		margin-top: 95px;
	}

	.staff_faq_section .staff_faq_block{
		display: flex;
		flex-direction: column;
		align-items: flex-start;
	}

	.staff_faq_section .staff_faq_block + .staff_faq_block{
		margin-top:30px;
	}

	.staff_faq_section .staff_faq_question_frame{
		width:360px;
		flex-shrink: 0;
		padding-bottom: 0;
	}

	.staff_faq_section .staff_faq_question{

		min-height: auto;
		height:60px;
		border-radius: 30px;
		padding:24px 16px 24px 72px;
	}

	.staff_faq_section .staff_faq_question br{
		display: none;
	}

	.staff_faq_section .staff_faq_question::before{
		font-size: 40px;
		left:24px;
		top:6px;
	}

	.staff_faq_section .staff_faq_question::after{
		width: 24px;
		height: 21px;
		left:24px;
		top:calc(100% - 10px);
	}

	.staff_faq_section .staff_faq_answer{
		width:100%;
		min-height:auto;
		padding:40px 0 40px 40px;
		margin-top: -10px;
	}

	.staff_faq_section .staff_faq_answer::before{
		width:100vw;
		left:15px;
	}

	.staff_faq_section .staff_faq_answer_text{
		line-height: 1.75;
	}

	.staff_schedule_section{
		padding-top: 80px;
		padding-bottom: 50px;
	}

	.staff_schedule_section .staff_schedule_inner{
		position: relative;
		min-height: auto;
		padding-top:40px;
		padding-bottom: 40px;
		padding-right: 90px;
	}

	.staff_schedule_section .staff_schedule_inner::before{
		top:0;
		left: auto;
		right:30px;
		transform: translateX(0);

	}

	.staff_schedule_section .sec_title{
		font-size: 32px;
		margin-bottom: 0;
	}


	.staff_schedule_section .staff_schedule_ime_area{
		width:100px;
		top:0;
		right:-20px;
		left:auto;
		pointer-events: none;
		
	}

	.staff_schedule_section .staff04_private{
		width:220px;
	}
	.staff_schedule_section .staff06_private{
		width:100px;
	}


	.staff_schedule_section .staff_schedule_frame{
		max-width: 520px;
	}

	.staff_schedule_section .staff_schedule_tab_list{
		padding-left: 0;
		display: flex;
		justify-content: space-between;
		gap:0;
	}

	.staff_schedule_section .staff_schedule_tab{
		width: 48.5%;
		height: 54px;
	
		font-size: 16px;
	}


	.staff_schedule_section .staff_schedule_contents{
		padding-left: 0;
		padding-top: 16px;
		padding-bottom: 16px;
		margin-top: 20px;
	}


	.staff_schedule_section .staff_schedule_list::before{
		top: 6px;
		left: 63px;
	}

	.staff_schedule_section .staff_schedule_line{
		padding-bottom: 24px;
	}

	.staff_schedule_section .staff_schedule_time{
		width:56px;
		padding-right: 4px;
		font-size: 16px;
	}

	.staff_schedule_section .staff_schedule_center{
		width:15px;
		margin-right: 8px;
		padding-top: 2px;
	}

	.staff_schedule_section .staff_schedule_radi{
		border:2px solid var(--black);
	}

	.staff_schedule_section .staff_schedule_right{
		margin-top: -1px;
	}

	.staff_schedule_section .staff_schedule_title{
		font-weight: 700;
		line-height: 1.3;
	}

	.staff_schedule_section .staff_schedule_title + .staff_schedule_text{
		margin-top: 6px;
	}

	.staff_schedule_section .staff_schedule_text{
		line-height: 1.75;
	}



	.staff_schedule_section .staff_schedule_line:last-child::after{

		width:5px;
		top: 12px;
		left: 63px;
	}

	.staff_schedule_section .staff_schedule_week{
		width: 24px;
		height: 24px;
		top:-28px;
		left:-12px;
		padding-bottom: 2px;
		font-size: 13px;
	}


	.staff_schedule_section .staff_schedule_line + .staff_schedule_line:has(.staff_schedule_week){
		margin-top: 32px;
	}

	.staff_message_section{
		overflow: hidden;
	}


	.staff_message_section .message_area{
		min-height: auto;
		padding:40px 0;
		
		position: relative;
		overflow: visible;
	}


	.staff_message_section .message_contents{
		max-width: 100%;
		margin-left: 0;
	}

	.staff_message_section .sec_title{
		min-width: 168px;
		min-height: 29px;
		padding: 2px 12px;		
		font-size: 12px;

	}

	.staff_message_section .message_head{
		margin-top: 8px;
		display: flex;
		justify-content: flex-start;
		position: relative;
		z-index: 4;
	}

	.staff_message_section .message_head img{
		height:113px;
		max-width: 100%;
		width:auto;
		object-fit: contain;
	}

	.staff_message_section .message_text{
		margin-top: 16px;
		line-height: 1.75;
		font-size: 14px;
	}

	.staff_message_section .message_img{
		position: absolute;
		width:370px;
		bottom:auto;
		top:0;
		right:-30px;
		opacity: 0.7;
	}

	.staff_message_section .message01_img{
		bottom:0;
		top:auto;
	}

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

	.staff_link_section .staff_link_list{
		padding-top: 80p;
		padding-inline: 0;
		gap:24px 0;
		justify-content: space-between;
	}

	.staff_link_section .staff_link_list::before{
		width: 260px;
	}

	.staff_link_section .staff_link_item{
		width: 165px;
		min-width: auto;
		display: flex;
		justify-content: flex-end;
	}

	.staff_link_section .staff_link_card{
		display: flex;
		justify-content: flex-end;
		align-items: flex-end;
		width: fit-content;
	}

	.staff_link_section .staff_link_thumb{
		margin-left: 8px;
		width: 110px;
		aspect-ratio: 1/2;
	}

	.staff_link_section .staff_link_text{
		
		font-size: 16px;
		line-height: 1.3;
	
	}

	/*
	------------------------------------
	充実した福利厚生
	------------------------------------
	*/

	body.welfare_body{
		
	}

	main.welfare_main{
		
	}

	.welfare_section{

	}


	.welfare_section_list{
		margin-top: 160px;
		position: static;
		padding-bottom: 160px;
	}

	.welfare_section_list .welfare_section_list_inner{

	}

	.welfare_dormitory_section{
		padding-top: 88px;
	}

	.welfare_dormitory_section .info_area{
		padding-left: 0;
		margin-top: 40px;
	}


	.welfare_dormitory_section .room_area{
		margin-top: 80px;
	}

	.welfare_dormitory_section .room_frame{
		position: relative;
	}

	.welfare_dormitory_section .room_frame::before{
		content:'';
		width:100vw;
		height:100%;
		background-color:#fff ;
		position: absolute;
		top: 0;
		left: 50%;
		transform: translateX(-50%);
	}

	.welfare_dormitory_section .room_img{
		position: static;
		width:100%;
		transform: translateY(0%);
		margin-top: 24px;
	}

	.welfare_dormitory_section .room_box{
		width: 100%;
		min-height: auto;
		position: relative;
		display: flex;
		align-items: center;
		padding:24px 0;
		position: relative;
		z-index:3;
	}

	.welfare_dormitory_section .room_box .box{
		display: none;
	}


	.welfare_dormitory_section .room_head{
		font-size: 24px;

	}

	.welfare_dormitory_section .room_contents_list{
		margin-top: 32px;
	}

	.welfare_dormitory_section .room_contents + .room_contents{
		margin-top: 24px;
	}

	.welfare_dormitory_section .room_sub_head{
		font-weight: 700;
		line-height: 1.3;
	}

	.welfare_dormitory_section .room_info_list{
		margin-top: 12px;
		padding-left: 12px;
	}

	.welfare_dormitory_section .room_info_list li{
		display: flex;
		align-items: flex-start;
		line-height: 1.3;
	}

	.welfare_dormitory_section .room_info_list li + li{
		margin-top: 8px;
	}

	.welfare_dormitory_section .room_info_list .room_info_head{
		flex-shrink: 0;
	}

	.welfare_dormitory_section .room_gal_area{
		margin-top: 95px;
	}

	.welfare_dormitory_section .room_gal01{
		width:100%;
	}
	.welfare_dormitory_section .room_gal02{
		width:100%;
		margin-top:24px;
		margin-left: auto;
	}

	.welfare_dormitory_section .access_area{
		margin-top: 90px;
		padding-left: 0;
	}

	.welfare_dormitory_section .acaccess_head{
		font-size: 24px;
	}

	.welfare_dormitory_section .access_map{
		margin-top: 40px;
		aspect-ratio: 1 / 0.54;
	}

	.welfare_dormitory_section .access_flex{
		margin-top: 48px;
		display: flex;
		justify-content: space-between;
		flex-direction: column;
		gap: 32px 0;
	}

	.welfare_dormitory_section .access_box{
		padding:24px 16px 32px;
		width:100%;
	}

	.welfare_dormitory_section .access_box_head{
		font-size: 20px;
	}

	.welfare_dormitory_section .access_info_list{
		margin-top: 14px;
	}

	.welfare_dormitory_section .access_info_list li{
		display: flex;
		align-items: flex-start;
		line-height: 1.3;
	}

	.welfare_dormitory_section .access_info_list li + li{
		margin-top: 12px;
	}

	.welfare_dormitory_section .access_info_list .access_info_head{
		flex-shrink: 0;
	}

	.welfare_nursery_section{
		padding-top: 160px;
	}

	.welfare_nursery_section .nursery_area{
		padding-left: 0;
		margin-top: 64px;
	}

	.welfare_nursery_section .nursery_flex{
		display: flex;
		flex-direction: column;
	}

	.welfare_nursery_section .nursery_img{
		width:100%;
		aspect-ratio: 1 / 1.23;
		margin-right: 0;
	}


	.welfare_nursery_section .nursery_list{
		width: 100%;
		max-width: 100%;
		margin-top: 32px;
	}

	.welfare_nursery_section .nursery_item{
		min-height: auto;

		padding:10px 24px;
		line-height: 1.75;
	}

	.welfare_nursery_section .nursery_item + .nursery_item{
		margin-top: 24px;
	}

	.welfare_nursery_section .nursery_item::after{
		content:none;
	}

	.welfare_nursery_section .info_area{
		margin-top: 80px;
		padding:24px 16px;
	}

	.welfare_nursery_section .info_contents + .info_contents{
		margin-top: 30px;
	}

	.welfare_nursery_section .info_head{
		font-size: 20px;
		font-weight: 500;
		line-height: 1.3;
	}

	.welfare_nursery_section .info_text{
		margin-top: 8px;
		padding-left: 16px;
		line-height: 1.75;
	}

	.welfare_nursery_section .info_img{
		width:100%;
		position: static;
		margin-bottom: 16px;
	}

	.welfare_dome_section{
		padding-top: 160px;
	}

	.welfare_dome_section .dome_gal_area{
		margin-top: 35px;
		height:auto;
	}

	.welfare_dome_section .dome_gal{
		position: static;
		margin-top: 32px;
	}

	.welfare_dome_section .dome_gal01{
		width:100%;
		top:0;
		left:0;
		
	}

	.welfare_dome_section .dome_gal02{
		width:100%;
		left:0;
		top:290px;
		
	}

	.welfare_dome_section .dome_gal03{
		width:100%;
		bottom:0;
		left:85px;
	}

	.welfare_dome_section .dome_gal04{
		width:100%;
	}

	.welfare_other_section{
		padding-top: 160px;
	}

	.welfare_other_section .support_list{
		margin-top: 48px;
	}


	.welfare_other_section .support_frame + .support_frame{
		margin-top: 24px;
	}

	.welfare_other_section .support_block{
		max-width: 100%;
		min-height: auto;
		padding-top:50px;
		padding-left: 16px;
		padding-right: 16px;
		padding-bottom: 24px;
	}

	.welfare_other_section .support_block::before{

		width:64px;
		top:-33px;
	}

	.welfare_other_section .support_img{
		width:100%;
		min-height: auto;
		left:370px;
		top:0;
		position: static;
		margin-bottom: 24px;
	}

	.welfare_other_section .support_img img{
		border-radius: 0;
	}

	.welfare_other_section .support_number{
		font-size: 12px;
		top:6px;
	}

	.welfare_other_section .support_head{
		font-size: 20px;
		font-weight: 700;
	}

	.welfare_other_section .support_info_list{
		margin-top: 22px;
	}

	.welfare_other_section .support_info{
		line-height:1.75;
		padding-left: 16px;
		font-feature-settings: 'palt';
	}

	.welfare_other_section .support_info::before{
		content:"・";
		position: absolute;
		left:0;
		top:0;
		font-weight: 500;
		line-height:1.875;
	}

	.welfare_other_section .support_info + .support_info{
		margin-top: 16px;
	}


	/*
	------------------------------------
	ようこそ北広島町へ
	------------------------------------
	*/

	body.town_body{
		
	}

	main.town_main{
		
	}

	.town_section .sec_title{
		font-size: 24px;
	}

	.town_section .sub_title{
		margin-top: 16px;
		font-size: 14px;
		line-height: 1.75;
	}

	.town_fv_section{
		position: relative;
		height:720px;
	}

	.town_fv_section .text_contents{
		padding-top: 160px;
	}

	.town_fv_section .fv_text01{
		font-size: 20px;
		line-height: 2;
	}

	.town_fv_section .fv_text02{
		line-height: 1.4;
		margin-top: 40px;
		font-size: 14px;
		text-align: center;
	}

	.town_fv_section .fv_text03_frame{
		width: fit-content;
		margin-top: 160px;
	}
	.town_fv_section .fv_text03{
		display: flex;
		justify-content: center;
		flex-direction: column;
		writing-mode: vertical-rl;
		gap:0 20px;
		font-size: 20px;
		font-weight: 600;

	}

	.town_fv_section .fv_text03_02{
		padding-top: 60px;
	}

	.town_fv_section .fv_bg{
		position: sticky;
		top:410px;		
	}

	.town_fv_section .fv_bg img{
		flex-shrink: 0;
		width:780px;
		min-width: 100vw;
		max-height: 920px;
	}

	.town_living_section{
		padding-top: 560px;
	} 

	.town_living_section .living_flex{
		margin-top: 48px;
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		position: relative;
		flex-direction: column;
	}

	.town_living_section .living_img_data_pos{
		position: absolute;
		top:calc(var(--top_sticky) * -1);
	}

	.town_living_section .living_left{
		flex-shrink: 0;
		width:100%;
		margin-right: 0;
		position: static;
	}


	.town_living_section .living_right{
		width:100%;
		padding-right: 0;
		font-feature-settings: 'palt';
	}

	.town_living_section .living_block{
		padding-left: 0;
	}

	.town_living_section .living_block + .living_block{
		margin-top: 40px;
	}

	.town_living_section .living_head{
		min-height: 40px;
		padding:4px 24px;
		font-weight: 700;
		margin-left: 48px;
	}

	.town_living_section .living_head .living_head_num{
		width: 72px;
		height: 72px;
		
		right:calc(100% - 20px);
		font-size: 32px;

	}

	.town_living_section .living_text{
		margin-top: 24px;
		padding-left: 0;
		line-height: 1.5;
		font-size: 14px;
	}

	.town_living_section .living_sub_area{
		margin-top: 32px;
		position: relative;
	}

	.town_living_section .living_sub_bg{
		width:100%;
		position: sticky;
		top:var(--top_sticky);
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.town_living_section .living_sub_bg img{
		flex-shrink: 0;
		width:351px;
		height:217px;
	}

	.town_living_section .living_sub_list{
		margin-top: -217px;
		
		gap:32px 0;
		flex-direction: column;
		position: relative;
		z-index: 3;
	}

	.town_living_section .living_sub_list::before{
		content:none;
		width:351px;
		height:217px;
		background-image: url('../img/town/living_bg.png');
		position: absolute;
		top: 50%;
		left: 50%;
		transform: translate(-50%, -50%);
	}

	.town_living_section .living_sub_block{
		
		width:100%;
	}

	.town_living_section .living_sub_head{
		align-items: center;
		gap:0 16px;
		font-size: 16px;
		font-weight: 700;
		line-height: 1.5;
	}

	.town_living_section .living_sub_head_num{
		width: 56px;
		height: 56px;
		font-size: 24px;
	}

	.town_living_section .living_sub_text{
		margin-top: 16px;
		line-height: 1.75;
	}

	.town_slide_section{
		padding-top: 100px;
	}

	.town_slide_section .slide_area{
		max-width: 1920px;
	}

	.town_slide_section .slide_flex{
		gap:0 24px;
		animation: town_slide 30s linear infinite;
	}


	@keyframes town_slide {
		0%{
			transform: translateX(0);
		}
		100%{
			transform: translateX(calc(-50% - 12px));
		}
	}

	.town_slide_section .slide_list{
		gap:0 24px;
	}


	.town_slide_section .slide01{
		width:158px;
		margin-top: 66px;
	}
	.town_slide_section .slide02{
		width:158px;
	}
	.town_slide_section .slide03{
		width:254px;
		margin-top: 22px;
	}
	.town_slide_section .slide04{
		width:158px;
		margin-top: 66px;
	}
	.town_slide_section .slide05{
		width:158px;
	}
	.town_slide_section .slide06{
		width:254px;
		margin-top: 22px;
	}

	.town_play_section{
		padding-top: 120px;
	}

	.town_play_section .play_list{
		margin-top: 40px;
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap:24px 16px;
	}

	.town_play_section .play_text_area{
		padding:8px;
	
	} 

	.town_play_section .play_title{
		font-size: 14px;
	}

	.town_play_section .play_info{
		margin-top: 4px;
		font-size: 12px;
	}

	.town_commute_section{
		padding-top: 120px;
	}

	.town_commute_section .commute_area{
		margin-top: 40px;
		position: relative;
	}

	.town_commute_section .commute_list{
		margin-top: -224px;

		gap:44px 0;
	}

	.town_commute_section .commute_list::before{
		content:none;
	}

	.town_commute_section .commute_bg{
		width:100%;
		position: sticky;
		top:var(--top_sticky);
		left: 0;
		display: flex;
		justify-content: center;
		align-items: center;
	}

	.town_commute_section .commute_bg img{
		flex-shrink: 0;
		width: 361px;
		height:224px;
	}

	.town_commute_section .commute_block{
		width:100%;
		padding:44px 16px;
	}

	.town_commute_section .commute_block::before,
	.town_commute_section .commute_block::after{
		width:calc(100% / 2 - 70px);
	}


	.town_commute_section .commute_block_head{
		padding:0 3px;
		font-size: 20px;
		bottom:calc(100% - 12px);
	}

	.town_commute_section .commute_block_contents{
		padding:14px 18px;
		line-height: 2;
	}


	.town_commute_section .commute_remark{
		margin-top: 40px;

		font-size: 20px;
		line-height: 1.5;
		text-align: center;
	}

	.town_commute_section .welfare_button{
		margin:32px auto 0;
		width: 343px;
		height: 60px;
		padding-inline: 30px;
	}

	.town_commute_section .welfare_button::after{

		width:13px;
		height:9px;
		margin-left: 12px;
	}


	.town_moving_section{
		padding-top: 120px;
	}

	.town_moving_section .moving_area{
		display: flex;
		justify-content: flex-end;
		flex-direction: column;
		align-items: center;
		padding-right: 0;
	}

	.town_moving_section .moving_block{
		width:100%;
		max-width: 100%;
		padding:32px 0 40px;
	}

	.town_moving_section .moving_head{
		font-size: 24px;
		font-weight: 700;
		padding-inline: 16px;
		margin-top: 32px;
		text-align: center;
	}

	.town_moving_section .moving_img_area{
		position: static;
	}

	.town_moving_section .moving_img_frame{
		width:100%;
	}

	.town_moving_section .moving_text{
		margin-top: 32px;
		line-height: 1.75;
		font-size: 14px;
		padding-inline: 16px;
		width: fit-content;
		margin-inline: auto;
	}

	.town_moving_section .moving_link{
		margin: 32px auto 0;
		width: calc(100% - 32px);
		
		min-height: 36px;
		padding:3px 24px;
		font-size: 12px;
	}



	.town_staff_section{
		padding-top: 120px;
		padding-bottom: 120px;
	}

	.town_staff_section .staff_button_frame{
		display: flex;
		justify-content: space-between;
		margin-top: 40px;
		padding-right: 0;
	}


	/*
	------------------------------------
	明和会の歴史
	------------------------------------
	*/

	body.history_body{
		
	}

	main.history_main{
		
	}

	.history_section{

	}

	.history_fv_section{
		padding-top: var(--top_sticky);
		
		margin-bottom: 120px;
		
	}

	.history_fv_section .fv_trigger{
		position: absolute;
		top:1400px;
	}
	.history_fv_section .fv_area{
		position: sticky;
		top:var(--top_sticky);
		left:0;

	}

	.history_fv_section .fv_area_inner{
		max-width: 1440px;
		width:100%;
		margin:0 auto;
		padding:0 ;
	}

	.history_fv_section .fv_list{
		/* height:760px; */
		height:calc(100vh - var(--top_sticky)) ;
		height: calc(calc(var(--vh2, 1vh) * 100) - var(--top_sticky));
		min-height: 600px;
	} 


	.history_fv_section .fv_item{
		width:100%;
		position: absolute;
		top:0;
		left:0;
		height:calc(33.3% - 5px);
		min-height: auto;
		max-height:none;
		opacity: 1;
	}

	.history_fv_section .fv_item:nth-child(1){
		left:0;
		top:0;
	}


	.history_fv_section .fv_item:nth-child(2){
		/* left:calc(50% - calc(calc(33.3% - 8px) / 2)); */
		left:0;
		top:calc(33.3% + 5px);
	}

	.history_fv_section .fv_item:nth-child(3){
		right:auto;
		left:0;
		top:calc(calc(33.3% + 5px) * 2);
	}


	.history_fv_section:has(.fv_trigger.anime_active) .fv_item{
		width:100%;
		height:100%;
		top:0;
	}

	.history_fv_section:has(.fv_trigger.anime_active) .fv_item:nth-child(1){
		left:0;
		top:0;
	}
	.history_fv_section:has(.fv_trigger.anime_active) .fv_item:nth-child(2){
		left:0;
		top:0;
	}
	.history_fv_section:has(.fv_trigger.anime_active) .fv_item:nth-child(3){
		top:0;
	}

	.history_fv_section .text_contents{

		padding-top: 700px;
		padding-bottom: 200px;
	}
	.history_fv_section .page_title{
		font-size: 64px;
		font-weight: 500;
		line-height: 1.25;
		color:#fff;
		text-shadow: 0px 0px 8px #000;
	}

	.history_fv_section .sub_title{
		margin-top: 40px;
		color: #FFF;
		font-size: 24px;
		text-shadow: 0px 0px 8px #000;
		line-height: 1.33
	}

	.history_fv_section .fv_text{
		margin-top: 40px;
		color: #FFF;
		text-shadow: 0px 0px 8px #000;
		line-height: 1.5;
	}

	.history_list_section{
		padding-top: 40px;
		padding-bottom: 40px;
		transform: translateY(80px) scaleX(0.9);
	}


	.history_list_section.anime_active{
		transform: translateY(0) scaleX(1);
	}
	.history_list_section.anime_past{
		transform: translateY(-80px) scaleX(0.9);
}

	.history_list_section + .history_list_section{
		margin-top: 80px;
	}


	.history_list_section .sec_title_set .title01{
		font-weight: 300;
		font-size: 12px;
	}

	.history_list_section .sec_title_set .title02{
		font-size: 24px;
		margin-top: 4px;
	}

	.history_list_section .history_list{
		margin-top: 40px;
	}

	.history_list_section .history_block_frame + .history_block_frame{
		margin-top: 30px;
	}

	.history_list_section .history_block_frame{
		width: 100%;
		max-width: 600px;
	}

	.history_list_section .history_block{
		width:100%;
		flex-shrink: 0;
		border-radius: 10px;
		padding:8px 8px 32px;
		transform: translateY(80px) scaleX(0.9);
	}

	.history_list_section .history_block_frame.anime_active .history_block{
		transform: translateY(0) scaleX(1);
	}
	.history_list_section .history_block_frame.anime_past .history_block{
		transform: translateY(-80px) scaleX(0.9);
	}


	.history_list_section .history_block_inner{
		display: block;

		min-height: auto;
		padding:0;
		max-width: 1200px;
		margin:0 auto;
	}

	.history_list_section .history_block_contents{
		width:100%;
	}

	.history_list_section .history_img{
		position: static;
		margin-bottom: 16px;
	}


	.history_list_section .history_title{
		text-shadow: none;
		font-size: 20px;
		line-height: 1.3;
		border-bottom: 1px solid var(--black);
		padding-bottom: 12px;
	}

	.history_list_section .history_text{
		margin-top: 24px;
		font-size: 14px;
		line-height: 1.5;
	}

	.history_list_section .history_text li{
		position: relative;
		padding-left: 14px;
		font-size: 14px;
	}

	.history_list_section .history_text li::before{
		content:'・';
		line-height: 1.5;
		font-size: 14px;
	}

	.history_msg_section{
		padding-top: 120px;
		padding-bottom: 120px;
	} 

	.history_msg_section .sec_title{

		font-size: 24px;
	}

	.history_msg_section .sec_title::before{
		width: 40px;
		height: 42px;
		margin-bottom: 32px;
	}

	.history_msg_section .sec_title span + span{
		margin-top: 16px;
	}

	.history_msg_section .msg_list{
		margin-top: 110px;

		height:auto;
		border-radius: 10px;
		overflow: hidden;
	}

	.history_msg_section .msg_block{
		position: static;
		top:0;
		overflow: hidden;
		width:100%;
		transition-duration: 600ms;
		transition-timing-function:ease-out;
		background-position: top;
	}

	.history_msg_section .msg_block:nth-child(2){
		background-image: url('../img/history/message02_bg.jpg');
		left:240px;
	}
	.history_msg_section .msg_block:nth-child(3){
		background-image: url('../img/history/message03_bg.jpg');
		right:0;
	}

	.history_msg_section .msg_block:nth-child(2).show{
		left:0;
	}

	.history_msg_section .msg_contents{
		width: 100%;
		height:auto;
		display: flex;
		position: relative;
		flex-direction: column;
		padding-inline: 32px;
	}


	.history_msg_section .msg_left{
		width:100%;
		min-height:auto ;
		display: block;
		padding:24px 0;
	}


	.history_msg_section .msg_num{
		font-size: 48px;
		line-height: 1.2;
	}

	.history_msg_section .msg_title{
		margin-top: 5px;
		font-size: 18px;
		font-weight: 700;
		line-height: 1.5;
	}

	.history_msg_section .msg_switch{
		width: 160px;
		height: 36px;
		padding:0 16px;
		font-size: 12px;

	}


	.history_msg_section .msg_right{
		padding:0;
		padding-right: 0;
		display: none;
	}

	.history_msg_section .msg_block.show .msg_right {
		display: block;
		padding-bottom: 32px;
	}

	.history_msg_section .msg_text{
		text-shadow: 0px 0px 4px #000;
		line-height: 1.75; 
		font-size: 14px;
	}


	/*
	------------------------------------
	明和会を紐解く
	------------------------------------
	*/

	body.data_body{
		
	}

	main.data_main{
		
	}


	.data_section .sec_title_area .sec_title_box{
		padding:40px 40px 40px;
	}

	.data_section .sec_title_area .sec_sub_title{
		font-size: 12px;
		top:40px;
		right:12px;
	}

	.data_section .sec_title_area .sec_title_text{
		font-size: 24px;
		letter-spacing: 0.4em;
	} 

	.data_section .sec_title_area .sec_title_text + .sec_title_text{
		margin-right: 20px;
	}

	.data_section .contents_list{
		max-width: 920px;
		margin:200px auto 0;
		gap:16px 0;
		padding-bottom: 180px;
	}

	.data_section .contents_block{
		padding:16px 12px 40px;
		border-radius: 10px;
		background-color: var(--base_color);
		animation-duration: 0.7s;
	}

	.data_section .contents_head{
		font-size: 20px;
		flex-direction: column;
		align-items: center;
		text-align: center;
	}

	.data_section .contents_head::before{
		width:27px;
		height:28px;
		margin-right: 0;
		margin-bottom: 16px;
		transform: translateY(0);
	}

	.data_section .contents_flex{
		width:100%;
		display: flex;
		flex-direction: column;
		gap:16px;
	}

	.data_section .contents_flex .contents_block{
		padding:16px 12px 40px;
	}

	.data_section .contents_flex .contents_head{
		align-items: center;
		flex-direction: column;
		white-space: normal;
		text-align: center;
	}

	.data_section .contents_flex .contents_head::before{
		margin-right: 0;
		margin-bottom: 8px;
		transform: translateY(0);
	}

	.data_fv_section{

	}

	.data_fv_section .fv_text{
		margin-top: 80px;
		line-height: 2.2;
	}

	.data_fv_section .link_list{
		margin-top: 40px;
		align-items: center;
		flex-direction: column;
		gap:16px;
		padding-bottom: 120px;
	}

	.data_fv_section .link_list .link{
		width: 190px;
		height: 31px;

		font-size: 12px;

	}

	.data_fv_section .link_list .link::after{
		width:13px;
		height:9px;
		right:6px;
	}

	.data_staff_section{

	}

	.data_staff_section .reason_list{
		margin-top: 48px;
	}

	.data_staff_section .reason_block{
		display: flex;
		align-items: center;
		flex-direction: column;
	}

	.data_staff_section .reason_block + .reason_block{
		margin-top: 40px;

	}

	.data_staff_section .reason_thumb{
		flex-shrink: 0;
		width:100%;
		margin-right: 0;
		margin-bottom: 16px;
	}

	.data_staff_section .reason_text_area{
		width:100%;
	}

	.data_staff_section .reason_job{

		min-height: 19px;
		padding: 2px 20px;
		font-size: 12px;

	}

	.data_staff_section .reason_title{
		margin-top: 8px;
	}

	.data_staff_section .reason_text{
		margin-top: 16px;
		line-height: 1.5;
	}

	.data_staff_section .decide_list{
		margin-top: 24px;
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		flex-direction: column;
		gap:16px 0;
	}

	.data_staff_section .decide_block{
		width:100%;
	}

	.data_staff_section .decide_block_place{
		order: 1;
	}	
	.data_staff_section .decide_block_job{
		order: 2;
	}	
	.data_staff_section .decide_block_gain{
		order: 3;
	}	
	.data_staff_section .decide_block_time{
		order: 4;
	}	

	.data_staff_section .decide_card_inner{
		padding:32px 16px 0;
		font-feature-settings: 'palt';
	} 


	.data_staff_section .decide_kind{
		min-height: 27px;
		padding: 2px 24px;		
	}

	.data_staff_section .decide_title{
		margin-top: 40px;
		font-size: 20px;
	}

	.data_staff_section .decide_text{
		margin-top: 24px;
		line-height: 1.5;
		font-size: 14px;
	}

	.data_staff_section .decide_switch{

		width:134px;
		height:134px;

		bottom:-67px;
	}

	.data_staff_section .decide_switch span{
		padding-top: 20px;
	}
	.data_staff_section .decide_switch span::after{
		width:30px;
		height:30px;
	}

	.data_staff_section .decide_switch span::before{
		font-size: 12px;
		bottom:calc(100% + 4px);
	}



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

	.data_staff_section .check_list li{
		display: flex;
		align-items: center;
		min-height: 96px;
		padding:16px 0;
		line-height: 1.75;
		font-size: 14px;
		font-feature-settings: 'palt';
	}


	.data_staff_section .check_list li + li{
		border-top: 2px dashed #fff;
	}


	.data_staff_section .check_list li p span{
		font-weight: 700;
	}

	.data_staff_section .check_list .check{
		margin-right: 16px;
		width: 37px;
		height: 37px;
	}

	.data_staff_section .check_list .check::after{
		width:20px;
		height:13px;
	}


	.data_staff_section .staff_word{
		margin-top: 32px;
	}

	.data_staff_section .rank_list{
		margin-top: 24px;
	}

	.data_staff_section .rank_list li{
		display: flex;
		align-items: center;
		padding:16px 0;
		line-height: 1.3;
		font-size: 20px;
		
	}

	.data_staff_section .rank_list li::before{

		width:57px;
		height:67px;
		margin-right: 24px;
	}

	.data_staff_section .rank_list li:nth-child(1){
		font-size: 24px;
	}


	.data_culture_section{

	}

	.data_culture_section .culture_list .contents_block{
		padding:0;
	}

	.data_culture_section .contents_flex_three{
		display: flex;
		width: 100%;
		justify-content: space-between;
		flex-direction: column;
		gap:16px 0;
		align-items: center;
	}

	.data_culture_section .contents_flex_three .contents_block{
		width: 300px;
	}

	.data_work_section{

	}

	.data_work_section .symbol_list{
		margin-top: 24px;
		display: flex;
		justify-content: space-around;
		align-items: flex-start;
		flex-wrap: wrap;
		gap:0 ;
		max-width: 320px;
		margin:24px auto 0;
	}

	.data_work_section .symbol_box{
		width:135px;
		padding-top: 24px;
		margin-top: -6px;
	}

	.data_work_section .symbol_box:nth-child(1),
	.data_work_section .symbol_box:nth-child(4),
	.data_work_section .symbol_box:nth-child(7){
		margin-inline:40px;
	}

	.data_work_section .symbol_box::before{
		width:23px;
		height:15px;

	}

	.data_work_section .symbol_box .symbol_text{
		margin-top: 5px;
		font-weight: 700;
		line-height: 1.3;
		min-height: auto;
		font-size: 14px;
		text-align: center;
	}

	.data_work_section .charm_block{
		padding: 24px 16px 40px;
	}

	.data_work_section .charm_block .contents_head{
		position: static;
		top: 50%;
		left: 50%;
		transform: translate(0 , 0);
		flex-direction: row;
		align-items: center;
		flex-direction: column;
	}

	.data_work_section .charm_block .contents_head br{
		display: none;
	}

	.data_work_section .charm_block .contents_head::before{
		margin-right: 0;
		margin-bottom: 12px;
	}

	.data_work_section .charm_flex{
		margin-top: 24px;
		flex-direction: column;
		gap:24px 0;
	}

	.data_work_section .charm_list{
		width: 100%;
		display: flex;
		flex-direction: column;
		align-items: center;
		gap:24px 0;
	}

	.data_work_section .charm_item{
		width: 100%;
		position: relative;
		border-radius: 20px;
		border:1px solid;
	}

	.data_work_section .charm_item + .charm_item{
		margin-top: 0;
	}

	.data_work_section .charm_item::after{
		content:none;
	}

	.data_work_section .charm_item.sp_01{
		order:1;
	}
	.data_work_section .charm_item.sp_02{
		order:2;
	}
	.data_work_section .charm_item.sp_03{
		order:3;
	}

	.data_work_section .charm_card{
		border-radius: 20px;
		min-height: 116px;
		padding:12px 16px 4px;
		line-height: 1.5;
		font-feature-settings: 'palt';
	}


	.data_work_section .charm_text{
		line-height: 1.5;
	}

	.data_work_section .charm_name{
		margin-top: 3px;
		font-size: 12px;
	}

	

	.data_slide_section{
		padding-top: 80px;
		padding-bottom: 240px;
	} 

	.data_slide_section .sec_title{
		font-size: 20px;
		font-weight: 700;
	}

	.data_slide_section .slide_area{
		display: flex;
		max-width: 1920px;
		margin-top: 72px;
	}

	.data_slide_section .slide_flex{
		gap:0 28px;
		animation: data_slide 30s linear infinite;
	}


	@keyframes data_slide {
		0%{
			transform: translateX(0);
		}
		100%{
			transform: translateX(calc(-50% - 14px));
		}
	}

	.data_slide_section .slide_list{
		gap:0 28px;
	}

	.data_slide_section .slide01{
		width:207px;
		margin-top: 50px;
	}
	.data_slide_section .slide02{
		
		margin-top: 22px;
	}
	.data_slide_section .slide03{
		width:240px;
		
		margin-top: 0;
		
	}
	.data_slide_section .slide04{
		width:172px;
		
		margin-top: 50px;
		
	}
	.data_slide_section .slide05{
		width:193px;
		
		margin-top: 0;
		
	}
	.data_slide_section .slide06{
		width:121px;
		
		margin-top: 50px;
		
	}
	.data_slide_section .slide07{
		width:229px;
		
		margin-top: 22px;
		
	}
	.data_slide_section .slide08{
		width:172px;
		margin-top: 50px;
	}

	/*
	------------------------------------
	お知らせ
	------------------------------------
	*/

	body.news_body{
		
	}

	main.news_main{
		
	}

	.news_list_section{
		padding-top: 132px;
		padding-bottom: 140px;
	}

	.news_list_section .news_area{
		padding-inline: 0;
	}


	.news_list_section .news_area{
		padding-inline: 0;
	}

	.news_list_section .category_flex{
		margin-bottom: 24px;
	}

	.news_list_section .category_list{
		gap:12px;
	}

	.news_list_section .category_list label{
		min-width: 80px;
		min-height: 32px;

		padding: 4px 8px;
		font-size: 12px;
	}


	.news_list_section .search_button{
		width: 56px;
		height: 32px;
	} 

	.news_list_section .search_button::after{
		width:17px;
		height:17px;
	}

	.news_list_section .common_page_nation{
		margin-top: 60px;
	}

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

	.news_single_section + .news_list_section{
		padding-top: 0;
	}

	.news_single_section .news_frame{
		padding-inline: 0;
		
	}

	.news_single_section .news_flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		position: relative;
		flex-direction: column;
		gap:40px 0;
	}


	.news_single_section .news_single_frame{
		width:100%;
	}

	.news_single_section .news_title{
		font-size: 24px;
	}

	.news_single_section .news_date_area{
		margin-top: 24px;

		gap:8px;
		font-size: 20px;
		flex-direction: row;
		align-items: center;
		line-height: 1.5;
	}

	.news_single_section .news_author{
		display: none;
	}

	.news_single_section .archive_link{
	
		margin:80px auto 0;
		font-size: 20px;
		line-height: 1;
	}

	.news_single_section .archive_link::before{
		width:32px;
		height:30px;

		margin-right: 24px;
	}

	.common_single_block{

	}

	.common_single_block h2{
		font-size: 24px;
		margin:24px 0;
	}

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

	.common_single_block p{
		margin:24px 0;
		line-height: 2;
	}


	/*
	------------------------------------
	よくある質問
	------------------------------------
	*/
	body.faq_body{
		
	}

	main.faq_main{
		
	}

	.faq_section{

	}

	.faq_section .sec_flex{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		flex-direction: column;
	}

	.faq_section .sec_left{
		flex-shrink: 0;
		width:100%;
		padding-right: 0;
		position: static;
	}

	.faq_section .sec_right{
		width:100%;
		margin-top: 40px;
		padding-top: 0;
		border-top:none;
	}

	.faq_list_section{
		padding-top: 120px;
		padding-bottom: 120px;
	}

	.faq_list_section .keyword_flex{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		gap:24px 0;
	}

	.faq_list_section .keyword_head{
		flex-shrink: 0;
		width:100%;
		padding-right: 0;
	}

	.faq_list_section .keyword_frame{
		width:100%;
		position: relative;
	}

	.faq_list_section .faq_keyword{
		height: 55px;
		padding-right:56px;
		padding-left: 20px;
	}


	.faq_list_section .faq_search_button{

		right:14px;
		padding:6px;
	}

	.faq_list_section .faq_search_button:after{

		width:17px;
		height:17px;
	}

	.faq_list_section .faq_tag_list{
		display: grid;
		grid-template-columns: repeat(1, 1fr);
		gap:16px 24px;
		margin-top: 48px;
	}

	.faq_list_section .faq_tag{
		cursor: pointer;
		min-height:60px;
		padding:4px 30px 4px 16px;
	}
	.faq_list_section .faq_tag::after{
		border-width: 10px 5px 0 5px;

		right:16px;
		top:0;
		bottom:0;
		margin:auto;
	}


	.faq_list_section .faq_list_area{
		margin-top: 60px;
	}

	.faq_list_section .faq_block{
		padding-inline: 16px;
	}

	.faq_list_section .faq_block + .faq_block{
		margin-top: 16px;
	}

	.faq_list_section .faq_block .faq_question{

		padding:24px 28px;
	}

	.faq_list_section .faq_block .faq_question::before{
		top:23px;

	}

	.faq_list_section .faq_block .faq_question::after{
		width:14px;
		height:14px;
		top:28px;
	}


	.faq_list_section .faq_block .faq_answer{
		padding:30px 28px;
		font-size: 14px;
	}

	.faq_list_section .faq_block .faq_answer::before{
		font-size: 16px;
		top:29px;
	}

	.faq_list_section .link_button_frame{
		margin-top: 56px;
	}


	.faq_flow_section{
		padding-bottom: 160px;

	}

	.faq_flow_section .faq_flow_area{
		padding-top: 0;
	}

	.common_flow_contents{
		max-width: 660px;
		margin:0 auto;
	}

	.common_flow_contents .flow_list{
		display: flex;
		justify-content: space-between;
		align-items: center;
		flex-direction: column;
		gap:12px 0;
	}

	.common_flow_contents .flow_block{
		width:100%;
		height: auto;
		display: flex;
		justify-content: center;
		align-items: center;
		padding:16px 0;
		
	}

	.common_flow_contents .flow_block_inner{
		display: flex;
		align-items: center;
	}

	.common_flow_contents .flow_num{
		display: flex;
		flex-direction: column;
		align-items: center;

	}

	.common_flow_contents .flow_num span{
		font-size: 32px;

	}

	.common_flow_contents .flow_num::after{
		content: none;
		width:5px;
		height:5px;
		margin-top: 16px;
	}

	.common_flow_contents .flow_text{
		font-size: 20px;
		writing-mode: horizontal-tb;
		margin-top: 8px;
		
	}

	.common_flow_contents .flow_text span{
		display: inline-block;
		transform: translateX(0);
	}

	.common_flow_contents .flow_arrow{
		width:22px;
		height:15px;
		transform: rotateZ(90deg);
	}

	.common_flow_contents .flow_remark{
		margin-top: 32px;
		line-height: 1.5;
	}

	/*
	------------------------------------
	募集要項
	------------------------------------
	*/

	body.appli_body{
		
	}

	main.appli_main{
		
	}

	.appli_section{

	}

	.appli_search_section{
		padding-top: 100px;
		padding-bottom: 80px;
	}

	.appli_search_section .page_title{
		font-size: 32px;
	}

	.appli_search_section .page_sub_title{
		font-size: 16px;
		margin-top: 16px;
	}

	.appli_search_section .search_area{
		margin-top: 80px;
	}

	.appli_search_section .search_area + .search_area{
		margin-top: 80px;
	}

	.appli_search_section .search_head{
		font-size: 20px;
		padding-bottom: 12px;
	}

	.appli_search_section .check_list{
		gap:16px 16px;
		margin-top: 32px;
	}

	.appli_search_section .check_list label{
		font-size: 16px;
		gap:0 6px;
	}

	.appli_search_section .check_list .check_mark{
		width: 16px;
		height: 16px;
	}


	.appli_search_section .search_button{
	
		height: 70px;
	
		margin:56px auto 0;
		font-size: 20px;
	}


	.appli_list_section{
		padding-bottom: 120px;
	}


	.appli_list_section .appli_list{
		display: flex;
		flex-wrap: wrap;
		flex-direction: column;
		margin:0 auto;
		gap:0;
	}

	.appli_list_section .appli_block{
		width:100%;
		position: relative;
		padding:40px 0;
		
	}

	.appli_list_section .appli_block:nth-child(odd){
		padding-right: 0;
		padding-inline: 0;
	}

	.appli_list_section .appli_block:nth-child(even){
		padding-left: 0;
		padding-inline: 0;
	}
	
	.appli_list_section .appli_flex{
		display: flex;
		align-items: center;
		flex-wrap: wrap;
		gap:12px;
	}

	.appli_list_section .appli_job{
		font-size: 24px;
		padding-bottom: 4px;
	}

	.appli_list_section .appli_type{
		padding:4px 8px;


		font-size: 12px;
	}

	.appli_list_section .appli_guide{
		margin-top: 16px;

	}

	.appli_list_section .appli_info_list{
		margin-top: 32px;
	}

	.appli_list_section .appli_info_line{
		display: flex;
		justify-content: space-between;
		align-items: flex-start;
		padding:20px 0;
		font-size: 18px;
	}

	.appli_list_section .appli_info_head{
		flex-shrink: 0;
		width:120px;
		padding-right: 10px;
	}

	.appli_list_section .appli_link{
		margin-top: 40px;
		max-width: 300px;
		margin-inline: auto;
		min-height: 56px;

	}

	.appli_list_section .appli_link::after{

		width: 13px;
		height: 9px;
		right:30px;
	}

	.appli_single_section{
		padding-top: 120px;
		padding-bottom: 120px;
	}

	.appli_single_section .page_title{
		font-size: 24px;
	}

	.appli_single_section .appli_logo{
		width:30px;
		margin:60px auto 0;
	}

	.appli_single_section .appli_info_list{
		margin:56px auto 0;
	}

	.appli_single_section .appli_info_block{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
		padding-bottom: 40px;
	}

	.appli_single_section .common_flow_contents .flow_block {
		width: 100%;	
	}


	.appli_single_section .appli_info_title{
		width:100%;
		margin-right: 0;
		padding-top: 0;
		line-height: 1.75;
		font-size: 18px;
	}

	.appli_single_section .appli_info_contents{
		padding-top: 16px;
		line-height: 1.75;
	}

	.appli_single_section .appli_info_title,
	.appli_single_section .appli_info_contents{
		border:none;
	}

	.appli_single_section .entry_button{
		max-width: 100%;
		
		margin:40px auto 0;
	}

	.appli_single_section .entry_button::after{
		
		width: 13px;
		height: 9px;

		right:24px;

	}


	.appli_single_section .list_link{
		margin:40px auto 0;
		display: block;
		width: fit-content;
	}
	/*
	------------------------------------
	お問い合わせ
	------------------------------------
	*/

	body.contact_body{
		
	}

	main.contact_main{
		
	}

	.contact_section{

	}

	.contact_section .sec_title_set{

	}

	.contact_section .sec_title_set .sec_title_ja{
		font-size: 24px;
	}

	.contact_section .sec_title_set .sec_title_en{
		font-size: 12px;
		margin-top: 5px;
	}

	.contact_guide_section{
		padding-top: 120px;
	}

	.contact_guide_section .guide_contents{
		position: relative;
		padding-inline: 0;
		
	}

	.contact_guide_section .guide_flex{
		display: flex;
		align-items: flex-start;
		flex-direction: column;
	}

	.contact_guide_section .guide_contents .guide_text{
		width:100%;
		padding-right: 0;

		font-size: 24px;

	}

	.contact_guide_section .guide_contents .guide_img_frame{
		width:100%;

		aspect-ratio: 1 / 0.6;
		margin-top: 32px;
	}

	.contact_guide_section .tel_area{
		margin-top: 80px;
		padding-bottom: 80px;
		flex-direction: column;
	}

	.contact_guide_section .tel_head{
		width:100%;
		margin-bottom: 32px;
	}

	.contact_guide_section .tel_number{
		font-size: 40px;

		gap:0 8px;
	}
	.contact_guide_section .tel_number::before{
		width:32px;
		height:32px;
	}

	.contact_guide_section .tel_time{
		margin-top: 16px;
		line-height: 1.3;
	}
	.contact_guide_section .tel_remark{
		margin-top: 8px;
		line-height: 1.3;
	}

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


	.entry_form_section{
		padding-top: 120px;
		padding-bottom: 120px;
	}


	/*
	------------------------------------
	フォーム共通
	------------------------------------
	*/

	.form_section{

	}

	.form_section .form_flex{
		position: relative;
		max-width: 1120px;
		flex-direction: column;
	}

	.form_section .form_left{
		width:100%;
		position: static;

	}

	.form_section .form_nav_header{
		display: none;

	}


	.form_section .form_nav_text{
		margin-top: 32px;
		line-height: 2;
	}

	.form_section .form_right{
		width:100%;
		margin-top: 40px;
	}

	.form_section .form_line{

	}

	.form_section .form_line + .form_line{
		margin-top: 32px;
	}

	.form_section .form_head{
		gap:0 8px;
		font-weight: 500;
		line-height: 1.3;
	}

	.form_section .form_head::before{

		width: 40px;
		height: 19px;
		border-radius: 20px;

		font-size: 12px;
	}


	.form_section .form_head span{
		font-size: 12px;
		line-height: 1.2;
	}

	.form_section .form_contents{
		margin-top: 16px;
	}

	.form_section .text_input{

		height: 66px;
		padding-inline: 24px;

	}

	.form_section textarea{
		height: 160px;
		border-radius: 10px;
		padding: 16px;
		line-height: 1.4;
	}

/* 
	.form_section .label_list .wpcf7-form-control{
		display: grid;
		grid-template-columns: repeat(3, 1fr);
		gap:16px;
	} */

	.form_section .label_list label{

		width: 100%;
		min-width: 120px;
		min-height: 30px;
		padding:4px 8px;
		font-size: 14px;
	}


	.form_section .privacy_area{
		margin-top: 40px;
	}


	.form_section .agree_label{
		margin-top: 40px;
	}


	.form_section .agree_label input{
		width:20px;
		height:20px;
	}

	.form_section .submit_frame{
		margin-top: 40px;
		margin-inline: auto;
	}

	.form_section .submit_frame::after{

		right:24px;
		top:21px;
	}

	.form_section .submit_frame input{

		width:260px;
		height:50px;
	
	}

	.form_section .recaptcha_text{
		margin-top: 56px;
		line-height: 1.5;
	}

	.form_section .recaptcha_text a{
		text-decoration: underline;
	}

	/*
	------------------------------------
	完了ページ
	------------------------------------
	*/

	body.complete_body{
		
	}

	main.complete_main{
		
	}

	.complete_section{
		padding-top: 160px;
		padding-bottom: 160px;
		min-height: calc(100vh);
	}

	.complete_section .finish_text01{
		font-size: 20px;
		text-align: center;
		font-weight: bold;
	}

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

	.complete_section .top_link{
		margin:32px auto 0;
	}


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

	.page404_section{
		padding-top: 160px;
		padding-bottom: 120px;
		min-height: calc(100vh);
	}


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

	.page404_section .p02{
		width: fit-content;
		margin:24px auto 0;
		list-style: 1.5;
		font-size: 16px;
	}

	.page404_section .top_button{
		margin:32px auto 0;
	}

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