@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@100..900&family=Noto+Serif+JP:wght@200..900&display=swap');

:root{
    --black: #303030;
    --pink: #DC7186;
    --green: #7AB82A;
    --blue: #2A94B8;
    --base_color: #F3F2EC;
	--top_sticky : 60px;
}


*{
	margin:0;
	padding:0;
	list-style: none;
	box-sizing: border-box;
	text-decoration: none;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

*::before,
*::after{
	background-size: contain;
	background-position: center;
	background-repeat: no-repeat;
	box-sizing: border-box;
}

html {
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
}

input,
select,
textarea{

	font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	color:var(--black);
	letter-spacing: 0.05em;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
}

button{
	border: none;
	background: none;
	border-radius: 0;
	cursor: pointer;
}

body{
	color: var(--black);
	font-size: 16px;
	letter-spacing: 0.05em;
	font-family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	
}

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

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

#body_wrap{
	position: relative;
	overflow:clip;
}

section{
	position: relative;
}

.hide{
	display: none!important;
}

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

.fax a{
	pointer-events: none;
}

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

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

.common_hover_opa{
	transition: 0.4s;
}


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


.anime_fadein{
	opacity: 0;
	animation-duration: 1.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
}

.anime_fadein.anime_active ,
.anime_active .anime_fadein{
	animation-name:anime_fadein;
}

@keyframes anime_fadein {
	0% {
		opacity:0;
	}
	100% {
		opacity:1;
	}
}



.anime_fadein_bottom{
	opacity: 0;
	animation-duration: 1.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	transform: translateY(60px);
}

.anime_fadein_bottom.anime_active ,
.anime_active .anime_fadein_bottom{
	animation-name:anime_fadein_bottom;
}

@keyframes anime_fadein_bottom {
	0% {
	opacity:0;
	}
	100% {
		opacity:1;
		transform: translateY(0);
	}
}


.anime_fadein_left{
	opacity: 0;
	animation-duration: 1.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	transform: translateX(-60px);
}

.anime_fadein_left.anime_active ,
.anime_active .anime_fadein_left{
	animation-name:anime_fadein_left;
}

@keyframes anime_fadein_left {
	0% {
	opacity:0;
	}
	100% {
		opacity:1;
		transform: translateX(0);
	}
}


.anime_fadein_right{
	opacity: 0;
	animation-duration: 1.5s;
	animation-timing-function: ease-out;
	animation-fill-mode: forwards;
	transform: translateX(60px);
}

.anime_fadein_right.anime_active ,
.anime_active .anime_fadein_right{
	animation-name:anime_fadein_right;
}

@keyframes anime_fadein_right {
	0% {
	opacity:0;
	}
	100% {
		opacity:1;
		transform: translateX(0);
	}
}




.common_hover_scale_frame{
	overflow: hidden;
}

.common_hover_scale_item{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}

.common_hover_scale_trigger:hover .common_hover_scale_item{
	transform: scale(1.1);
}


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

.hide{
	display: none!important;
}

.container{
	max-width: 1200px;
	margin:0 auto;
}


/*ページの再奥背景*/
.common_page_bg{
	position: fixed;
	width:100%;
	height:100vh;
	z-index: -10;
	top:0;
	left:0;
	/* top: 50%;
	left: 50%;
	transform: translate(-50%, -50%); */
}

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

.common_page_bg.top img{
	object-position: top;
}


/*セクションタイトルセット*/
.common_sec_title_set{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-family: 'Noto Serif JP', serif;
}

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

.common_sec_title_set .ja_title{
	
	font-size: 32px;
	font-weight: 500;
	line-height: 1.2;
}

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

.common_sec_title_set .ja_title + .en_title{
}


.common_sec_title_set.right{
	align-items: flex-end;
}

.common_sec_title_set.center{
	align-items: center;
}


.common_sec_title_set.white{
	color:#fff;
}
.common_sec_title_set.white::after{
	background-color: #fff;
}
.common_sec_title_set.green::after{
	background-color: var(--green);
}
.common_sec_title_set.pink::after{
	background-color: var(--pink);
}


/*共通ボタン*/
.common_link_button{
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: fit-content;
	min-width: 236px;
	min-height: 36px;
	padding:4px 16px 4px 40px;
	position: relative;
	font-size: 12px;
	line-height: 1;
	font-weight: 700;
	transition-duration: 0.4s;
	border-radius: 100px;
	border: 1px solid var(--black);
	background-color: #FFF;
}
.common_link_button.transparent{
	background-color: transparent;
}
.common_link_button::after{
	content:'';
	width:13px;
	height:9px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	flex-shrink: 0;
	margin-left: 8px;
}


@media(any-hover:hover){
	.common_link_button:hover{
		color:#fff;
		border: 1px solid var(--black);
		background-color: var(--black);
	}
	.common_link_button:hover::after{	
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
	
}



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

}

.common_news_list .news_line{
	border-top: 1px solid var(--black);
}

.common_news_list .news_block{
	display: flex;
	padding:56px 0;
	padding-left: 195px;
	position: relative;
}

.common_news_list .news_thumb_area{
	flex-shrink: 0;
	width:240px;
	margin-right: 80px;
}

.common_news_list .news_thumb{
	aspect-ratio: 1 / 0.79;
}

.common_news_list .news_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.common_news_list .news_right{
	width:100%;
	position: relative;
}

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

.common_news_list .news_date_area{
	position: absolute;
	left:0;
	top:56px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap:8px 0;
}

.common_news_list .news_author{
	position: absolute;
	left:0;
	bottom:56px;
	line-height: 1;
}

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

.common_news_list .news_cat_list{
	position: absolute;
	left:0;
	bottom:0;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:8px 0;
	line-height: 1.3;
}

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

.common_news_list .news_cat_item:last-child::after{
	content:none;
}

/*ページネーション*/
.common_page_nation{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap:8px;

}

.common_page_nation span.current{/*現在のページボタン*/
	width: 24px;
	height: 24px;
	border-radius: 50%;
	background-color: var(--black);
	color: #ffffff;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 2px;
}

.common_page_nation a.page-numbers{/*指定のページ移動ボタン*/
	width: 24px;
	height: 24px;
	border-radius: 50%;
	line-height: 1;
	display: flex;
	justify-content: center;
	align-items: center;
	padding-bottom: 2px;
}

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

.common_page_nation a.page-numbers.next::after{
	background-image: url('../img/common/page_next.svg');
}
.common_page_nation a.page-numbers.prev::after{
	background-image: url('../img/common/page_prev.svg');
}




/*
------------------------------------
ヘッダー
------------------------------------
*/
header{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 30;
}

header .header_inner{
	padding:5px;
}

header .header_frame{
	border-radius: 5px;
	background: #F3F2EC;
	padding:3px 20px;
	/* transition-duration: 0.4s; */
	position: relative;
}

header .header_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
}

header .header_page_title{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	white-space: nowrap;
	font-size: 12px;
	line-height: 1;
}

header .header_logo{
	display: block;
	width:269px;
}

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

header .header_insta{
	display: block;
	width:35px;
}

header .header_appli{
	margin-left: 16px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 102px;
	height: 35px;
	border-radius: 35px;
	flex-shrink: 0;
	background: var(--black);
	color: #FFF;
	font-size: 13px;
	font-weight: 700;
	transition-duration: 0.4s;
	border: 1px solid var(--black);
}

@media(any-hover:hover){
	header .header_appli:hover{
		background-color: transparent;
		color: var(--black);
	}
}

header .drawer_open{
	margin-left: 16px;
	width: 35px;
	height: 35px;
	border-radius: 50%;
	background: var(--black);
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
}

header .drawer_open .drawer_open_inner{
	display: flex;
    justify-content: center;
    align-items: center;
    flex-direction: column;
}

header .drawer_open .bar{
    width:20px;
    height:2px;
    background-color: #fff;
    transition-duration: 0.5s;
	border-radius: 1px;
}

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{
	position: fixed;
    top:5px;
    right:0;
    z-index:25;
    width:100%;
    height: calc(100vh - 5px);
    transition-duration: 0.7s;
    /* opacity: 0; */
    pointer-events: none;
	
	padding-inline: 5px;
	clip-path: inset(0 0 100% 0);
}

#drawer_menu.show{
	clip-path: inset(0);
	pointer-events: auto;
}

#drawer_menu .drawer_menu_inner{
	padding-top: 50px;
	height:100%;
	overflow-y: auto;
	background-color: var(--base_color);
}

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

#drawer_menu .drawer_menu_contents_frame{
	max-width: 1440px;
	margin:0 auto;
	padding-inline: 40px;
	padding-top: 24px;
	padding-bottom: 80px;
}

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

#drawer_menu .drawer_menu_left{
	width:530px;
	flex-shrink: 0;
	margin-right: 32px;
}

#drawer_menu .drawer_menu_right{
	width:100%;
	max-width: 760px;
}

#drawer_menu .drawer_parents_item + .drawer_parents_item{
	border-top: 1px solid #9D9D9D;
}

#drawer_menu .drawer_parents_link{
	padding:28px 0;
	display: flex;
	align-items: center;
	font-family: 'Noto Serif JP', serif;
	gap:0 24px;
	position: relative;
	cursor: pointer;
}

#drawer_menu .drawer_parents_link_ja{
	font-size: 24px;
	font-weight: 700;
	line-height: 1.4;
}

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

#drawer_menu .drawer_insta_link{
	margin-top: 28px;
	display: flex;
	align-items: center;
	width: fit-content;
	font-family: 'Noto Serif JP', serif;
	font-size: 12px;
	font-weight: 400;
	line-height: 1;
	gap:0 24px;
}

#drawer_menu .drawer_insta_link::before{
	content:'';
	width:32px;
	height:34px;
	background-image: url('../img/common/icon_insta_black.svg');
}

#drawer_menu .drawer_child_mark{
	width:16px;
	height:16px;
	background-image: url('../img/common/icon_plus_black.svg');
	background-repeat: no-repeat;
	background-size: contain;
	position: absolute;
	right:0;
	top:38px;
}

#drawer_menu  .drawer_child_open.active .drawer_child_mark{
	background-image: url('../img/common/icon_minus_black.svg');
}

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

#drawer_menu .drawer_child_link{
	position: relative;
	padding-left: 14px;
	line-height: 1.3;
	width: fit-content;
	display: block;
}

#drawer_menu .drawer_child_link::before{
	content:'>';
	line-height: 1.3;
	position: absolute;
	left:0;
	top:0;
}

#drawer_menu .drawer_child_list{
	margin-top: 14px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:14px 0;
}

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

@media(any-hover:hover){
	#drawer_menu .drawer_parents_link .drawer_parents_link_ja,
	#drawer_menu .drawer_child_link span,
	#drawer_menu .drawer_insta_link span{
		border-bottom: 1px solid transparent;
		transition-duration: 0.4s;
		transition-property: border-color;
	}
	#drawer_menu .drawer_parents_link:hover .drawer_parents_link_ja,
	#drawer_menu .drawer_child_link:hover span,
	#drawer_menu .drawer_insta_link:hover span{
		border-color: inherit;
	}
}

#drawer_menu .drawer_card_list{

}

#drawer_menu .drawer_card{
	display: block;

}

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

#drawer_menu .drawer_card_head{
	padding-left: 17px;
	font-weight: 700;
	line-height: 1.3;
	font-family: 'Noto Serif JP', serif;
	position: relative;
}

#drawer_menu .drawer_card_head::before{
	content:'・';
	font-weight: 700;
	line-height: 1.3;
	font-family: 'Noto Serif JP', serif;
	position: absolute;
	left:0;
	top:0;
}

#drawer_menu .drawer_card_head span{
	border-bottom: 1px solid transparent;
	transition-duration: 0.4s;
	transition-property: border-color;
}

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

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

#drawer_menu .drawer_card_thumb::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(48, 48, 48, 0.40);
	position: absolute;
	top:0;
	left:0;
	transition-duration: 0.4s;
	opacity: 0;
}

@media(any-hover:hover){
	#drawer_menu .drawer_card:hover .drawer_card_head span{
		border-color: inherit;
	}
	#drawer_menu .drawer_card:hover .drawer_card_thumb::before{
		opacity: 1;
	}
}

#drawer_menu .drawer_sub_list{
	max-width: 1260px;
	margin-inline: auto;
	margin-top: 80px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

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

#drawer_menu .drawer_sub_link{
	display: flex;
	justify-content: center;
	align-items: center;
	border:1px solid var(--black);
	height:48px;
	position: relative;
	font-size: 20px;
	font-weight: 500;
	line-height: 1;
	transition-duration: 0.4s;
}

#drawer_menu .drawer_sub_link::after{
	content:'';
	width:15px;
	height:9px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	position: absolute;
	right:20px;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	#drawer_menu .drawer_sub_link:hover{
		background-color: var(--black);
		color:#fff;
	}

	#drawer_menu .drawer_sub_link:hover::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}

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


.common_recruit_section::before{
	content:'';
	width:100%;
	height:100%;
	background-color: var(--black);
	opacity: 0.4;
	position: absolute;
	left:0;
	top:0;
	z-index: -1;
}

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

.common_recruit_section .link_item{
	width:277px;
}

.common_recruit_section .link_card{
	display: block;
	aspect-ratio: 1 / 0.682;
	position: relative;
}

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

.common_recruit_section .link_card .link_on{
	opacity: 0;
}

@media(any-hover:hover){
	.common_recruit_section .link_card:hover .link_on{
		opacity: 1;
	}
	.common_recruit_section .link_card:hover .link_off{
		opacity: 0;
	}
}


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

footer{
	position: relative;
	z-index: 20;
	padding-top: 65px;
	padding-bottom: 65px;
	background-color: var(--base_color);
}

footer .footer_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	max-width: 1120px;
	margin-inline: auto;
}

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

footer .footer_menu{
	display: flex;
	flex-direction: column;
	align-items: flex-end
}

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

footer .footer_link{
	display: flex;
	align-items: center;
	font-weight: 500;
}

footer .footer_link[target="_blank"]::after{
	content:'';
	width: 13px;
	height: 14px;
	flex-shrink: 0;
	margin-left: 7px;
	background: url('../img/common/icon_link_black.svg');
}
/*
------------------------------------
下層mv
------------------------------------
*/

.page_mv_section{

}


/*
------------------------------------
パンクズ
------------------------------------
*/

.common_bread_section{
	padding:40px 0;
}

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

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

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

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


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

body.top_body{
	
}

body.top_body #body_wrap{
	overflow: hidden;
}



body.top_body header .header_frame{
	background-color: transparent;
}

body.top_body header.bg_show .header_frame{
	background-color: var(--base_color);
}

main.top_main{

}




body.top_body .top_page_guide_border_frame{
	position: absolute;
	top:0;
	width:100vw;
	height:0;
	left: 50%;
	transform: translateX(-50%);
	overflow: hidden;
	pointer-events: none;
	z-index: 15;
}

body.top_body .top_page_guide_border{
	width:1510px;
	min-height: 100%;

	pointer-events: none;
	z-index: 15;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
}

body.top_body .top_page_guide_border img{
	
	min-height:100%;
	object-fit: cover;
	pointer-events: none;
	
}

.top_section{
	background-color: var(--base_color);
	position: relative;
	/* margin-top: -1px; */
}

.top_fv_section{
	padding-bottom: 24px;
	position: relative;
	z-index: 20;
	background-color:var(--base_color);
}

.top_fv_section .top_fv_inner{
	max-width: 1360px;
	margin:0 auto;
	padding:0 30px;
	min-height:100vh;
	position: relative;
}

.top_fv_section .fv_movie_frame{
	aspect-ratio: 1/0.5625;
}

.top_fv_section .fv_movie_frame img,
.top_fv_section .fv_movie_frame video{
	display: block;
	width:100%;
	height:100%;
	object-fit: cover;
}

.top_fv_section .recent_news_frame{
	display: flex;
	justify-content: flex-end;
	max-width: 1200px;
	margin:18px auto 0;
}

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

.top_fv_section .recent_news .recent_cat{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 20px;
	padding: 4px 16px;
	gap: 8px;
	flex-shrink: 0;
	margin-right: 8px;
	border-radius: 42px;
	border: 1px solid var(--black);
	font-size: 12px;
	font-weight: 700;
	
}

.top_fv_section .recent_news .recent_date{
	font-size: 12px;
	font-weight: 700;
	flex-shrink: 0;
	margin-right: 8px;
	line-height: 1.3;
	padding-top: 5px;
}

.top_fv_section .recent_news .recent_title{
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	padding-top: 5px;
}

.top_fv_section .scroll_guide{
	display: flex;
	flex-direction: column;
	align-items: center;
	position: absolute;
	bottom:0;
	right:calc(100% - 20px);
}

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

.top_fv_section .scroll_bar_frame{
	margin-top: 4px;
	width:1px;
	height:140px;
	position: relative;
	overflow: hidden;
}

.top_fv_section .scroll_bar{
	width:1px;
	height:100%;
	background-color: var(--black);
	position: absolute;
	top:0;
	animation-name: scroll_bar;
	animation-duration: 2s;
	animation-fill-mode: forwards;
	animation-iteration-count: infinite;
	transform: translateY(-100%);
}

@keyframes scroll_bar{
	0%{
		transform: translateY(-100%);
	}
	100%{
		transform: translateY(100%);
	}
}

.top_fv_message_section{
	position: relative;
	min-height: 100vh;
	padding:100px 0;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: transparent;
}

.top_fv_message_section .top_fv_message{
	width:396px;
	aspect-ratio: 1 / 1.6;
	transition-duration: 2s;
	overflow: hidden;
	clip-path: inset(0 50% 0 50%);
}

.top_fv_message_section .top_fv_message.anime_active{
	clip-path: inset(0 0% 0 0%);
}


.top_guide_section{
	padding-top: 320px;
	padding-bottom: 400px;
}

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


.top_guide_section .guide_contents{
	position: relative;
	z-index: 2;
}
.top_guide_section .guide_text{
	font-weight: 700;
	line-height: 3;
}

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


.top_guide_section .box{
	position: absolute;
	transition-duration: 2.5s;
	transition-delay: 0s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	opacity: 0;
}

.top_guide_section .box01{
	width: 29px;
	height: 29px;
	background-color: var(--green);
	left:-92px;
	top:-53px;
	transform: translate3d(320px, 265px, 0) rotateZ(360deg);
}
.top_guide_section .box02{
	width: 20px;
	height: 20px;
	background-color: var(--pink);
	right:-65px;
	top:-10px;
	transform:translate3d(-250px, 226px, 0) rotateZ(360deg) ;
}
.top_guide_section .box03{
	width: 28px;
	height: 28px;
	background-color: var(--pink);
	left:-33px;
	bottom:-100px;
	transform: translate3d(262px, -263px, 0) rotateZ(360deg);
}
.top_guide_section .box04{
	width: 31px;
	height: 31px;
	background-color: var(--green);
	right:-140px;
	bottom:24px;
	transform: translate3d(-319px, -138px, 0) rotateZ(360deg);
}

.top_guide_section .anime_active .box{
	transform:translate3d(0, 0, 0) rotateZ(0) ;
	opacity: 1;
}


.top_guide_section .guide_head_frame{
	width:46px;
	transition-duration: 1.2s;
	position: absolute;
	top:72px;
	left:calc(50% + 320px);
	/* overflow: hidden; */
	clip-path: polygon(0 0, 100% 0%, 100% 0, 0 0);
}


.top_guide_section .guide_head_frame.anime_active{
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}


.top_gal_section{
	padding-bottom: 200px;
} 

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

.top_gal_section .gal_block{
	position: absolute;
	background-color: gray;
}

.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_gal_section .gal_box{
	position: relative;
	overflow: hidden;
	height:100%;
}

.top_style_section{

}

.top_style_section .style_area{
	position: relative;
}

.top_style_section .box{
	position: absolute;
	transition-duration: 2.5s;
	opacity: 0;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	pointer-events: none;
	z-index: 3;
}

.top_style_section .box01{
	width: 34px;
	height: 34px;
	background-color: var(--green);
	right:calc(50% + 200px);
	top:168px;
	transform: translate3d(226px, 359px, 0) rotateZ(360deg)
}
.top_style_section .box02{
	width: 60px;
	height: 60px;
	background-color: var(--green);
	left:calc(50% + 220px);
	bottom:140px;
	transform:translate3d(-243px, -355px, 0) rotateZ(360deg)
}

.top_style_section .anime_active .box{
	transform:translate3d(0, 0, 0) rotateZ(0) ;
	opacity: 1;
}



.top_style_section .style_contents_frame{
	min-height:1070px;
	padding:80px 0;
	background-color: #fff;
	position: relative;
	display: flex;
	justify-content: center;
	align-items: center;
	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 .anime_active .style_contents_frame{
	clip-path: inset(0 0% 0 0%);
}

.top_style_section .style_list{
	width: 440px;
	max-width: 100%;;
	margin:96px auto 0;
}

.top_style_section .style_line{
	border-top:1px solid var(--black);
}

.top_style_section .style_link{
	display: flex;
	justify-content: space-between;
	align-items: center;
	min-height: 148px;
	padding:24px 44px;
}

.top_style_section .style_link::after{
	content:'';
	width:38px;
	height:36px;
	background-image: url('../img/common/icon_arrow_big_right_black.svg');
	background-position: right;
	flex-shrink: 0;
	margin-left: 10px;
	transition-duration: 0.4s;
}

.top_style_section .style_title_en{
	font-weight: 500;
}
.top_style_section .style_title_ja{
	font-size: 24px;
	font-weight: 700;
}

@media(any-hover:hover){
	.top_style_section .style_link:hover::after{
		transform: translateX(12px);
	}
}

.top_style_section .slide_block{
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width:390px;
	height:calc(100% - 160px);
	overflow: hidden;
	z-index: 3;
	transition-delay: 0.5s;
	transition-duration: 2s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}


.top_style_section .slide_block01{
	right:calc(50% + 330px);
	clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0% 100%);
}
.top_style_section .slide_block02{
	left:calc(50% + 330px);
	clip-path: polygon(0 0, 100% 0, 100% 0%, 0 0%);
}


.top_style_section .anime_active .slide_block01{
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}

.top_style_section .anime_active .slide_block02{
	clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%);
}



.top_style_section .slide_list{
	display: flex;
	flex-direction: column;
	gap:10px 0;
	animation-timing-function: linear;
	animation-iteration-count: infinite;	
	animation-duration: 15s;
	animation-delay: 3s;
}

.top_style_section .slide_item{
	width:100%;
	aspect-ratio: 1 / 1.15;
}

.top_style_section .slide_item img{
	width:100%;
	height:100%;
	object-fit: cover;
}


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

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

@keyframes slide-up {
	0% {
		transform: translateY(0%);
	}
	100% {
		transform: translateY(-50%);
	}
}

@keyframes slide-down {
	0% {
		transform: translateY(-50%);
	}
	100% {
		transform: translateY(0%);
	}
}

.top_staff_section{
	padding-top: 200px;
}

.top_staff_section .common_sec_title_set{
	margin-left: 40px;
}

.common_staff_area{
	
}

.common_staff_area .staff_area_inner{
	position: relative;
	width: 100vw;
	margin: 0 calc(50% - 50vw);
	margin-top: 40px;
	background-image: url('../img/top/top_staff_bg.jpg');
}


.common_staff_area .top_staff_nav{
	cursor: pointer;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index:10;
	width:168px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}

.common_staff_area .top_staff_prev{
	background-image: url('../img/top/top_staff_prev.png');
	left:-120px;
}
.common_staff_area .top_staff_next{
	background-image: url('../img/top/top_staff_next.png');
	right:-120px;
}


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

.common_staff_area .top_staff_card{
	height:490px;
	display: block;
	position: relative;
}

.common_staff_area .top_staff_card img{
	max-height:100%;
	object-fit: contain;
	position: absolute;
	bottom:0;
	left: 50%;
	transform: translateX(-50%);
	transition-duration: 0.8s;
	transition-property: opacity;
}

.common_staff_area .top_staff_text{
	position: absolute;
	z-index: 8;
	transition-duration: 0.4s;
	transition-property: clip-path;
}

.common_staff_area .top_staff_text01{
	top:32px;
	right:0;
	font-family: 'Noto Serif JP', serif;
	writing-mode: vertical-rl;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.08em;
	line-height: 2;
	clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
}

.common_staff_area .top_staff_text01 span{
	background-color: #fff;
	padding:6px 0;
	-webkit-box-decoration-break: clone;
    box-decoration-break: clone;
}

.common_staff_area .top_staff_text02{
	bottom:16px;
	left:0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap:4px;
	letter-spacing: 0.05em;
	clip-path: polygon(0 0, 0 0, 0 100%, 0% 100%);
}

.common_staff_area .top_staff_text02 .top_staff_job{
	font-size: 20px;
	font-weight: 500;
	background-color: #fff;
	padding-inline: 4px;
}
.common_staff_area .top_staff_text02 .top_staff_job02{
	font-size: 12px;
	background-color: #fff;
	padding-inline: 4px;
}
.common_staff_area .top_staff_text02 .top_staff_career{
	font-size: 12px;
	background-color: #fff;
	padding-inline: 4px;
}

.common_staff_area .top_staff_card .staff_normal{
	width:246px
}
.common_staff_area .top_staff_card .staff_active{
	width:460px;
	opacity: 0;
	pointer-events: none;
}

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

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

.top_staff_section .staff_button_frame{
	display: flex;
	justify-content: flex-end;
	margin-top: 40px;
	padding-right: 20px;
}

.top_data_section{
	padding-top: 390px;
	padding-bottom: 460px;
}

.top_data_section .data_contents{
	max-width: 393px;
	position: relative;
	margin-left: 40px;
}

.top_data_section .data_img_area{
	position: absolute;
	top: 50%;
	left:520px;
	transform: translateY(-50%);
	width:800px;

}

.top_data_section .data_img_frame{
	position: relative;
	overflow: hidden;
	aspect-ratio: 1 / 0.96;
	/* display: flex;
	justify-content: center; */

}



.top_data_section .data_text{
	margin-top: 40px;
	line-height: 1.5;
	animation-delay: 0.3s;
}

.top_data_section .data_button_frame{
	margin-top: 100px;
	animation-delay: 0.6s;
}

.top_data_section .box{
	position: absolute;
	transition-duration: 2.5s;
	opacity: 0;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	pointer-events: none;
	z-index: 3;
}

.top_data_section .box01{
	width: 19px;
	height: 19px;
	background-color: var(--green);
	left:-19px;
	top:-40px;
	transform: translate3d(213px, 225px, 0) rotateZ(360deg);
}
.top_data_section .box02{
	width: 30px;
	height: 30px;
	background-color: var(--green);
	right:-32px;
	bottom:-23px;
	transform:translate3d(-207px, -205px, 0) rotateZ(360deg);
}

.top_data_section .anime_active .box{
	transform:translate3d(0, 0, 0) rotateZ(0) ;
	opacity: 1;
}

.top_welfare_section{

}

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

.top_welfare_section .welfare_contents_frame{
	background-color: #fff;
	min-height: 660px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:32px 0;
	transition-duration: 2.5s;
	clip-path: inset(0 50% 0 50%);
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
}

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



.top_welfare_section .welfare_contents{
	width:100%;
	max-width: 1200px;
}
.top_welfare_section .common_sec_title_set{
	padding-right: 30px;
}



.top_welfare_section .wefare_list{
	margin-top: 72px;
	display: flex;
	justify-content: space-between;
}

.top_welfare_section .welfare_item{
	width:240px;
}

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

.top_welfare_section .welfare_link_inner{
	position: relative;
	z-index: 3;
}

.top_welfare_section .welfare_link::before{
	content:'';
	height:120px;
	border-radius: 50%;
	aspect-ratio: 1 / 1;
	position: absolute;
	top:0;
	left: 50%;
	transform: translateX(-50%);
	background-color: var(--base_color);
	transition-duration: 0.7s;
}

.top_welfare_section .welfare_icon{
	width:120px;
	height:120px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
	border-radius: 50%;
	margin: 0 auto;
}

@media(any-hover:hover){
	.top_welfare_section .welfare_link:hover::before{
		height:calc(100% + 24px);
	}
}

.top_welfare_section .welfare_icon img{
	flex-shrink: 0;
}

.top_welfare_section .welfare_icon01 img{
	width:90px;
}
.top_welfare_section .welfare_icon02 {
	align-items: flex-end;
}
.top_welfare_section .welfare_icon02 img{
	width:72px;
}
.top_welfare_section .welfare_icon03 img{
	width:68px;
}
.top_welfare_section .welfare_icon04 img{
	width:140px;
}

.top_welfare_section .welfare_name{
	margin-top: 24px;
	text-align: center;
	font-size: 20px;
	font-weight: 700;
}

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

.top_welfare_section .welfare_link_icon{
	position: absolute;
	bottom:0;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 21px;
	border-radius: 12px;
	border:1px solid var(--black);
	z-index: 5;
}

.top_welfare_section .welfare_link_icon::after{
	content:'';
	width:14px;
	height:10px;
	background-position: right;
	background-image: url('../img/common/icon_arrow_right_black.svg');
}

.top_welfare_section .welfare_button_frame{
	display: flex;
	justify-content: flex-end;
	padding-right: 40px;
	margin-top: 100px;
}

.top_welfare_section .box{
	position: absolute;
	transition-duration: 2.5s;
	opacity: 0;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1);
	pointer-events: none;
	z-index: 8;
}

.top_welfare_section .box01{
	width: 32px;
	height: 32px;
	background-color: var(--pink);
	left:calc(50% + 560px);
	top:-16px;
	transform: translate3d(-576px, 331px, 0) rotateZ(360deg);
}
.top_welfare_section .box02{
	width: 80px;
	height: 80px;
	background-color: var(--pink);
	right:calc(50% + 500px);
	bottom:-40px;
	transform:translate3d(540px, -331px, 0) rotateZ(360deg);
}

.top_welfare_section .anime_active .box{
	transform:translate3d(0, 0, 0) rotateZ(0) ;
	opacity: 1;
}


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

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

.top_news_section .news_list{
	margin-top: 72px;
	display: flex;
	align-items: flex-start;
	gap:0 147px;
}

.top_news_section .news_item{
	width: 275px;
}

.top_news_section .news_card{
	display: block;
}

.top_news_section .news_thumb{
	aspect-ratio:1 / 0.65;
	overflow: hidden;
}

.top_news_section .news_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
}

.top_news_section .news_card:hover .news_thumb img{
	transform: scale(1.1);
}

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

.top_news_section .news_date{
	flex-shrink: 0;
	margin-right: 16px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
	padding-top: 4px;
}

.top_news_section .cat_list{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap:12px;
}

.top_news_section .cat_item{
	min-width: 85px;
	min-height: 16px;
	padding:2px 4px;
	border-radius: 30px;
	background-color: var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-size: 12px;
}

.top_news_section .news_title{
	margin-top: 12px;
	font-weight: 500;
	line-height: 1.3;
}

.top_news_section .news_button_frame{
	display: flex;
	justify-content: flex-end;
	margin-top: 48px;
}

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

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

#page_section_wrap{
	position: relative;
}

#page_section_wrap::before{
	content:'';
	width:100%;
	height:100%;
	background-color:var(--base_color) ;
	position: absolute;
	top:0;
	left:0;
	z-index:-5;
}

.page_title_section{
	padding-top: 70px;
}



/*ページタイトル*/
.common_page_title_set{
	font-family: 'Noto Serif JP', serif;
}

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

.common_page_title_set .ja_title{
	font-size: 70px;
	font-weight: 400;
	line-height: 1.2;
	letter-spacing: 0.03em;
}

.common_page_title_set .ja_title span{
	font-size: 40px;
	display: block;
}


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



/*上部固定のアンカーリスト*/
.common_top_fix_anchor_area{
	position: sticky;
	top:var(--top_sticky);
	right:0px;
	display: flex;
	justify-content: flex-end;
	z-index: 8;
	background-color: var(--base_color);
}

.common_top_fix_anchor_area .top_anchor_list{
	max-width:886px;
	width:100%;
	gap:8px;
	display: grid;
	padding-top: 10px;
	position: relative;
	
}

.common_top_fix_anchor_area .top_anchor_list::after{
	content:'';
	width:100vw;
	height:100%;
	position: absolute;
	left:100%;
	top:0;
	background-color: var(--base_color);
}

.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{
	position: relative;
	display: flex;
	align-items: flex-start;
	padding:8px 0;
	font-size: 12px;
	font-weight: 400;
	gap:0 16px;
	transition-duration: 0.4s;
	color:#b9b9b9;
}

.common_top_fix_anchor_area .top_anchor_link::before{
	content:'';
	width:100%;
	height:1px;
	background-color: #b9b9b9;
	position: absolute;
	top:0;
	left:0;
	border-radius: 1px;
	transition-duration: 0.4s;
}

.common_top_fix_anchor_area .top_anchor_link.active{
	color:var(--black);
}
.common_top_fix_anchor_area .top_anchor_link.active::before{
	background-color:var(--black);
}



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

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


.common_left_sticky_head{
	position: sticky;
	top:var(--top_sticky);
	left:0;
	width:100%;
	max-width: 314px;
	z-index: 10;
}


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



/*上線がある見出し*/
.common_top_border_title{
	font-family: 'Noto Serif JP', serif;
	font-size: 32px;
	font-weight: 600;
	line-height:1.3;
	padding-top: 12px;
	border-top:1px solid #b9b9b9;
}

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

.common_guide_text{
	width:100%;
	max-width: 740px;
	line-height: 1.875;
}



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

body.style_body{
	
}

main.style_main{
	
}

.style_section{

}


.style_section_list{
	margin-top: 240px;
	position: sticky;
	padding-bottom: 240px;
}

.style_section_list .style_section_list_inner{
	position: relative;
	max-width: 1200px;
	margin:0 auto;
	/* padding-bottom: 2200px; */
}


.style_section .style_link_frame{
	display: flex;
	justify-content: flex-end;
	margin-top: 24px;
}

.style_section .style_link{
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 12px;
	line-height: 1;
	font-weight: 500;
}

.style_section .style_link .radi{
	display: flex;
	justify-content: center;
	align-items: center;
	flex-shrink: 0;
	width: 14px;
	height: 14px;
	border-radius: 50%;
	margin-left: 12px;
	background-color: var(--black);
}

.style_section .style_link .radi::after{
	content:'';
	width:10px;
	height:8px;
	background-image: url('../img/common/icon_arrow_right_white.svg');
}

.style_business_section{
	
} 

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


.style_business_section .style_business_text_frame{
	margin-top: 24px;
	display: flex;
	justify-content: flex-end;
}


.style_business_section .style_business_text{
	width:100%;
	max-width: 740px;
	line-height: 1.875;
}

.style_business_section .style_business_img_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:8px;
	margin-top: 24px;
}
.style_business_section .style_business_img_list li{
	aspect-ratio:1 / 0.785 ;
}
.style_business_section .style_business_img_list img{
	width:100%;
	height:100%;
	object-fit: cover;
}


.style_work_section{
	
} 

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

.style_work_section .style_work_text_frame{
	margin-top: 24px;
	display: flex;
	justify-content: flex-end;
}

.style_work_section .style_work_text{
	width:100%;
	max-width: 740px;
	line-height: 1.875;
}

.style_work_section .work_slide_area{
	margin-top: 24px;
	padding:40px 10px;
	background-color: #E7E7E7;
	position: relative;
}

.style_work_section .work_slide_inner{
	overflow: hidden;
}

.style_work_section .style_work_nav{
	width: 62px;
	height: 62px;
	border-radius: 50%;
	cursor: pointer;
	background-color: var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	z-index: 8;
	top:0;
	bottom:0;
	margin:auto;
}

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

.style_work_section .style_work_prev{
	left:-4px;
}
.style_work_section .style_work_prev::after{
	background-image: url('../img/common/icon_angle_left_white.svg');
}

.style_work_section .style_work_next{
	right:12px;
}
.style_work_section .style_work_next::after{
	background-image: url('../img/common/icon_angle_right_white.svg');
}


.style_work_section .style_work_slide{
	width:400px!important;
	height:auto;
	padding:0 20px;
}


.style_work_section .swiper-container{
	width:100%;
	overflow: hidden;
}
.style_work_section .style_work_card{
	position: relative;
	display: block;
	border-radius: 15px;
	background-color: #FFF;
	min-height: 100%;
	overflow: hidden;
	padding:56px 32px 290px;
}

.style_work_section .style_work_card::before{
	content:'';
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background-color: #E7E7E7;
	position: absolute;
	left:0;
	right:0;
	top:-36px;
	margin:auto;
}

.style_work_section .style_work_number{
	position: absolute;
	width:100%;
	top:8px;
	text-align: center;
	left:0;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0;
}

.style_work_section .style_work_head{
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0;
	text-align: center;
}


.style_work_section .style_work_text{
	margin-top: 12px;
	line-height: 1.875;
}

.style_work_section .style_work_bottom{
	position: absolute;
	bottom:0;
	left:0;
	width:100%;
	border-top:2px dotted #E9E9DF;
	padding-top: 16px;
}

.style_work_section .style_work_button{
	max-width: 275px;
	height: 36px;
	border-radius: 36px;
	display: flex;
	justify-content: center;
	align-items: center;
	margin:0 auto;
	position: relative;
	font-size: 12px;
	font-weight: 700;
	letter-spacing:0;
	border:1px solid var(--black);
	transition-duration: 0.4s;
}

.style_work_section .style_work_button::after{
	content:'';
	width: 13.5px;
	height: 9px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	transition-duration: 0.4s;
	position: absolute;
	right:16px;
	top:0;
	bottom:0;
	margin:auto;
}

@media(any-hover:hover){
	.style_work_section .style_work_button:hover{
		color:#fff;
		background-color: var(--black);
	}

	.style_work_section .style_work_button:hover::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}

.style_work_section .style_work_img{
	margin-top: 16px;
	aspect-ratio: 1 / 0.575;
}


.style_work_section .style_work_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.style_career_section{
	
}

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

.style_career_section .style_career_contents{
	width:100%;
	max-width: 740px;
	line-height: 1.875;
}

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

.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;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing: 0;
	transition-duration: 0.4s;
	color:#fff;
	background-color: #c9c9c9;
}

.style_career_section .style_career_tab.green.active{
	background-color: var(--green);
}
.style_career_section .style_career_tab.pink.active{
	background-color: var(--pink);
}
.style_career_section .style_career_tab.blue.active{
	background-color: var(--blue);
}

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

.style_career_section .style_career_info_block{
	padding:16px 0;
	border-top:1px solid #B9B9B9;
}

.style_career_section .style_career_info_head{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.2;
	letter-spacing: 0;
}

.style_career_section .style_career_info_text{
	margin-top: 8px;
	line-height: 2.5;
	max-width: 680px;
}


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

body.staff_body{
	
}


body.staff_body #page_section_wrap{
	
}

main.staff_main{
	
}

.staff_section{

}

.staff_title_section{
	position: sticky;
	top:0;
	left:0;
	padding-bottom: 220px;
}

.staff_title_section .guide_text01{
	margin-top: 40px;
	white-space: nowrap;
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5 ;
}

.staff_title_section .guide_text02{
	margin-top: 32px;
	max-width: 312px;
	line-height: 1.5;
}

.staff_title_section .anchor_list{
	max-width: 312px;
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.staff_title_section .anchor_list li{
	width:38px;
}

.staff_title_section .anchor_link{
	aspect-ratio: 1 / 1;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #b9b9b9;
	font-size: 24px;
	line-height: 1;
	letter-spacing: 0;
	border:1px solid #b9b9b9;
	border-radius: 50%;
	padding-bottom: 3px;
}

.staff_title_section .anchor_link.active{
	color:var(--black);
	border-color:var(--black);
}

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

.staff_info_section .staff_info_frame{
	padding-left: 380px;
}

.staff_info_section .staff_info_frame + .staff_info_frame{
	margin-top: 160px;
}

.staff_info_section .staff_info_block{
	width:1048px;
	/* width:calc(934 / 1440 * 100vw); */
	pointer-events: auto;
	position: relative;
	padding-top: 24px;
	display: block;
	border-top:1px solid #b9b9b9;
}

.staff_info_section .staff_info_contents{
	padding-left: 410px;
	position: relative;
	min-height: 490px;
}

.staff_info_section .staff_info_contents::after{
	content:'';
	width:228px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	transition-duration: 0.7s;
	transition-property: background-image;
	background-image: url('../img/staff/staff_radi_off.svg');
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	/* right:-114px; */
	left:min(calc(836 / 1440 * 100vw) , calc(836 / 1440 * 1440px));
}

.staff_info_section .staff_info_contents_inner{
	max-width: 340px;
} 


.staff_info_section .staff_main_head{
	font-size: 24px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	line-height: 1.5;
}

.staff_info_section .staff_kind{
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	margin-top: 24px;
    min-width: 72px;
    min-height: 20px;
    padding: 2px 8px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.3;
    border-radius: 9999px;
    border: 1px solid;
}

.staff_info_section .staff_career{
	margin-top: 10px;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.3;
}

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

.staff_info_section .staff_sub_head{
	margin-top: 40px;
	font-weight: 700;
	line-height: 1.3;
}

.staff_info_section .staff_info{
	margin-top: 32px;
	line-height: 1.3;
	font-size: 14px;
}

.staff_info_section .staff_info p{
	width: fit-content;
	background-color: #fff;
	padding:4px 8px;
}	

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

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

.staff_info_section .staff_info_img_area{
	position: absolute;
	left:0;
	top:0;
	width:370px;
}

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

.staff_info_section .staff_info_img_frame img{
	position: absolute;
	top:0;
	left:0;
	transition-duration: 0.7s;
	width:100%;
	height:100%;
	object-fit: cover;
}

.staff_info_section .staff_img_on{
	pointer-events: none;
	opacity: 0;
}

@media(any-hover:hover){
	.staff_info_section .staff_info_block:hover .staff_img_off{
		pointer-events: none;
		opacity: 0;
	}
	.staff_info_section .staff_info_block:hover .staff_img_on{
		pointer-events: auto;
		opacity: 1;
	}

	.staff_info_section  .staff_info_block:hover .staff_info_contents::after{
		background-image: url('../img/staff/staff_radi_on.svg');
	}
}



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

body.staff_single_body{
	
}


main.staff_single_main{
	
}

.staff_single_section{

}

.staff_single_title_section{
	padding-top: 110px;
}

.staff_single_title_section .title_block{
	position: relative;
	padding-left: 72px;
}

.staff_single_title_section .title_block::before{
	content:'';
	width: 47px;
	height: 47px;
	background-color: var(--green);
	position: absolute;
	left:0;
	top:-8px;
}

.staff_single_title_section .staff_kind{
	margin-top: 40px;
	width: fit-content;
	min-width: 72px;
	min-height: 20px;
	padding: 2px 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
	border-radius: 9999px;
	border:1px solid;
}

.staff_single_title_section .staff_job{
	margin-top: 6px;
	font-weight: 500;
	line-height: 1.5;
}

.staff_single_title_section .staff_name{
	margin-top: 4px;
	font-weight: 500;
	line-height: 1.5;
}

.staff_voice_section{
	padding-top: 240px;
} 

.staff_voice_section .staff_voice_area{
	

}

.staff_voice_section .staff_voice_contents{
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.staff_voice_section .staff_img_area{
	width:620px;
	position: sticky;
	top:var(--top_sticky);
	left:0;
	
}

.staff_voice_section .staff_img_frame{
	position: relative;
	aspect-ratio: 1 / 0.73;
}

.staff_voice_section .staff_float{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: 0.4s;
	position: absolute;
	top:0;
	left:0;
	opacity: 0;
	pointer-events: none;
}

.staff_voice_section [data_float_index="01"] .staff_float01{
	opacity: 1;
	position: auto;
}
.staff_voice_section [data_float_index="02"] .staff_float02{
	opacity: 1;
	position: auto;
}
.staff_voice_section [data_float_index="03"] .staff_float03{
	opacity: 1;
	position: auto;
}

.staff_voice_section .staff_voice_list{
	width:460px;
	padding-right: 32px;
}

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

.staff_voice_section .staff_voice_kind{
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 21px;
	padding:2px 12px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;	
	border:1px solid;
	border-radius: 9999px;
}

.staff_voice_section .staff_voice_title{
	margin-top: 16px;
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
}

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

.staff_faq_section{
	padding-top: 230px;
}

.staff_faq_section .staff_faq_area{
	padding-left: 140px;
}

.staff_faq_section .sec_title{
	color: #FBB90F;
	font-family: 'Noto Serif JP', serif;
	font-size: 96px;
	font-weight: 700;
	line-height: 1;
}

.staff_faq_section .sec_sub_title{
	margin-top: 30px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 600;
	line-height: 1.2;
}

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

.staff_faq_section .staff_faq_block{
	display: flex;
}

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

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

.staff_faq_section .staff_faq_question{
	display: flex;
	align-items: center;
	position: relative;
	z-index: 3;
	min-height: 100px;
	border-radius: 30px;
	background: #303030;
	padding:24px 16px 24px 95px;
	font-family: 'Noto Serif JP', serif;
	font-weight: 700;
	line-height: 1.5;
	color:#fff;
}

.staff_faq_section .staff_faq_question::before{
	content:'Q';
	color: #FBB90F;
	font-family: 'Noto Serif JP', serif;
	font-size: 40px;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	left:24px;
	top:24px;
}

.staff_faq_section .staff_faq_question::after{
	content:'';
	width: 24px;
	height: 21px;
	background-image: url('../img/common/icon_balloon_black.svg');
	position: absolute;
	left:110px;
	top:calc(100% - 2px);
}

.staff_faq_section .staff_faq_answer{
	width:100%;
	min-height:208px;
	display: flex;
	align-items: center;
	position: relative;
	padding:40px;

}

.staff_faq_section .staff_faq_answer::before{
	content:'';
	width:1020px;
	height:100%;
	background-color: #fff;
	position: absolute;
	left:-120px;
	top:0;

}

.staff_faq_section .staff_faq_answer_text{
	line-height: 2;
	position: relative;
	z-index: 2;
}

.staff_schedule_section{
	padding-top: 240px;
	padding-bottom: 240px;
}

.staff_schedule_section .staff_schedule_inner{
	position: relative;
	min-height: 772px;
	padding-top:96px;
	padding-bottom: 40px;
}

.staff_schedule_section .staff_schedule_inner::before{
	content:'';
	width:1190px;
	height:100%;
	background-color: #fff;
	position: absolute;
	top:0;
	right:130px;
}

.staff_schedule_section .sec_title{
	white-space: nowrap;
	font-family: 'Noto Serif JP', serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	bottom:calc(100% + 8px);
	right:320px;
	z-index: 3;
}

.staff_schedule_section .staff_schedule_ime_area{
	position: absolute;
	z-index: 3;
	width:380px;
	top:0;
	right:0;
}

.staff_schedule_section .staff_schedule_ime_frame{
	position: relative;
	/* backface-visibility: hidden; */
	transition-duration: 1s;
}

.staff_schedule_section .staff_schedule_ime_frame.private{
	/* transform: rotateY(360deg); */
}


.staff_schedule_section .staff_schedule_ime_frame img{
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	transition-duration: 0.7s;
	transition-property: transform;
	/* opacity: 0; */
	/* transition-delay: 0.5s; */
	backface-visibility: hidden;
}

.staff_schedule_section .staff_schedule_ime_frame .staff_private_img{
	transform: translateX(-50%) rotateY(180deg);
	pointer-events: none;
}


.staff_schedule_section .staff_schedule_ime_frame.private .staff_job_img{
	transform: translateX(-50%) rotateY(180deg);
	pointer-events: none;
}
.staff_schedule_section .staff_schedule_ime_frame.private .staff_private_img{
	transform: translateX(-50%) rotateY(360deg);
	pointer-events: auto;
}

.staff_schedule_section .staff04_private{
	width:840px;
}
.staff_schedule_section .staff06_private{
	width:400px;
}


.staff_schedule_section .staff_schedule_frame{
	max-width: 650px;
	position: relative;
	z-index: 3;
}

.staff_schedule_section .staff_schedule_tab_list{
	padding-left: 24px;
	display: flex;
	gap:0 8px;
}

.staff_schedule_section .staff_schedule_tab{
	width: 240px;
	height: 54px;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 24px;
	color:#fff;
	font-weight: 500;
	line-height: 1.2;
	letter-spacing:0;
	background: #D9D9D9;
}

.staff_schedule_section .staff_schedule_tab.job.active{
	background-color: var(--green);
}
.staff_schedule_section .staff_schedule_tab.private.active{
	background-color: var(--pink);
}

.staff_schedule_section .staff_schedule_contents{
	padding-left: 24px;
	padding-top: 36px;
	padding-bottom: 36px;
	border-top:1px solid var(--black);
	border-bottom:1px solid var(--black);
	margin-top: 12px;
}

.staff_schedule_section .staff_schedule_list{
	position: relative;
	font-feature-settings: 'palt';
}

.staff_schedule_section .staff_schedule_list::before{
	content:'';
	width:1px;
	height:100%;
	border-left: 1px dashed var(--black);
	position: absolute;
	top: 6px;
    left: 91px;
}

.staff_schedule_section .staff_schedule_line{
	padding-bottom: 24px;
	position: relative;
	display: flex;
	align-items: flex-start;
}

.staff_schedule_section .staff_schedule_time{
	flex-shrink: 0;
	width:84px;
	padding-right: 6px;
	font-size: 20px;
	font-weight: 900;
	line-height: 1;
}

.staff_schedule_section .staff_schedule_center{
	flex-shrink: 0;
	width:15px;
	margin-right: 24px;
	padding-top: 4px;
}

.staff_schedule_section .staff_schedule_radi{
	position: relative;
	z-index: 6;
	display: block;
	aspect-ratio: 1/1;
	border:3px solid var(--black);
	background-color: #fff;
	border-radius: 50%;
}

.staff_schedule_section .staff_schedule_right{
	width:100%;
}

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

.staff_schedule_section .staff_schedule_line:last-child{
	padding-bottom: 0;
}

.staff_schedule_section .staff_schedule_line:last-child::after{
	content:'';
	width:5px;
	height:100%;
	background-color: #fff;
	position: absolute;
	z-index: 1;
	top: 12px;
    left: 90px;
}

.staff_schedule_section .staff_schedule_week{
	position: absolute;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 700;
	line-height: 1;
	color:#fff;
	top:-32px;
	left:-24px;
	padding-bottom: 2px;
}
.staff_schedule_section .staff_schedule_week.saturday{
	background-color: var(--green);
}
.staff_schedule_section .staff_schedule_week.sunday{
	background-color: var(--pink);
}

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

.staff_message_section{
	
}


.staff_message_section .message_area{
	min-height: 574px;
	padding:80px 0;
	
	position: relative;
}
.staff01_message_section{
	background-image: url('../img/staff01/message_bg.jpg');
}
.staff02_message_section {
	background-image: url('../img/staff02/message_bg.jpg');
}
.staff03_message_section{
	background-image: url('../img/staff03/message_bg.jpg');
}
.staff04_message_section{
	background-image: url('../img/staff04/message_bg.jpg');
}
.staff05_message_section{
	background-image: url('../img/staff05/message_bg.jpg');
}
.staff06_message_section{
	background-image: url('../img/staff06/message_bg.jpg');
}

.staff_message_section .message_contents{
	max-width: 608px;
	color:#fff;
	margin-left: 56px;
}

.staff_message_section .sec_title{
	width: fit-content;
	min-width: 168px;
	min-height: 29px;
	padding: 2px 12px;
	border-radius: 9999px;
	display: flex;
	justify-content: center;
	align-items: center;
	border:1px solid #fff;
	text-shadow: 0px 0px 4px rgba(0, 0, 0, 0.70);
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
}

.staff_message_section .message_head{
	margin-top: 8px;
	display: flex;
	justify-content: center;
}

.staff_message_section .message_head img{
	height:138px;
	width:auto;
}

.staff_message_section .message_text{
	margin-top: 16px;
	line-height: 2;
	
}

.staff_message_section .message_img{
	position: absolute;
	width:370px;
	bottom:0;
	right:60px;

}

.staff_link_section{
	padding-top: 240px;
	padding-bottom: 240px;
}

.staff_link_section .staff_link_list{
	position: relative;
	padding-top: 100px;
	padding-inline: 60px;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	flex-wrap: wrap;
	gap:48px 
}

.staff_link_section .staff_link_list::before{
	content:'';
	width: 830px;
	height: 1px;
	background-color: #D9D9D9;
	position: absolute;
	top:0;
	left: 50%;
	transform: translateX(-50%);
}

.staff_link_section .staff_link_item{
	min-width: 290px;
	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{
	flex-shrink: 0;
	margin-left: 12px;
	width: 208px;
	aspect-ratio: 1 / 1.56;
	border-radius: 5px;
	overflow: hidden;
	background-image: url('../img/staff/staff_link_bg.jpg');
	position: relative;
}

.staff_link_section .staff_link_text{
	font-family: 'Noto Serif JP', serif;
	writing-mode: vertical-rl;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.75;
	letter-spacing: 0.08em;
	text-align: right;
}

.staff_link_section .staff_link_thumb img{
	position: absolute;
	bottom:0;
	left: 50%;
	transform: translateX(-50%);
	height:95%;
	width:auto;
	transition-duration: 0.4s;
	transition-property: opacity;
}

.staff_link_section .staff_link_thumb img.on{
	opacity: 0;
	pointer-events: auto;
}

@media(any-hover:hover){
	.staff_link_section .staff_link_card:hover .staff_link_thumb img.normal{
		opacity: 0;
		pointer-events: auto;
	}
	.staff_link_section .staff_link_card:hover .staff_link_thumb img.on{
		opacity: 1;
		pointer-events: auto;
	}
}
/*
------------------------------------
充実した福利厚生
------------------------------------
*/

body.welfare_body{
	
}

main.welfare_main{
	
}

.welfare_section{

}


.welfare_section_list{
	margin-top: 240px;
	position: sticky;
	padding-bottom: 240px;
}

.welfare_section_list .welfare_section_list_inner{
	position: relative;
	max-width: 1200px;
	margin:0 auto;
	/* padding-bottom: 2200px; */
}

.welfare_dormitory_section{
	padding-top: 88px;
}

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


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

.welfare_dormitory_section .room_frame{
	position: relative;
}

.welfare_dormitory_section .room_img{
	position: absolute;
	width:594px;
	top: 50%;
	left: 420px;
	transform: translateY(-50%);
	
}

.welfare_dormitory_section .room_box{
	width: 469px;
	min-height: 458px;
	background-color: #fff;
	display: flex;
	align-items: center;
	padding:24px 72px 24px 24px;
	position: relative;
}

.welfare_dormitory_section .room_box .box{
	position: absolute;
	pointer-events: none;
	background-color: var(--green);
	z-index: 4;
}

.welfare_dormitory_section .room_box .box01{
	width: 26px;
	height: 26px;
	top:30px;
	left:-13px;
}
.welfare_dormitory_section .room_box .box02{
	width: 40px;
	height: 40px;
	bottom:-20px;
	right:30px;
}

.welfare_dormitory_section .room_head{
	font-size: 24px;
	font-weight: 700;
	line-height: 1;
	font-family: 'Noto Serif JP', serif;
}

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

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

.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:358px;
}
.welfare_dormitory_section .room_gal02{
	width:334px;
	margin-top: -75px;
	margin-left: auto;
}

.welfare_dormitory_section .access_area{
	margin-top: 135px;
	padding-left: 150px;
}

.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_map iframe{
	width:100%;
	height:100%;
	display: block;
}

.welfare_dormitory_section .access_flex{
	margin-top: 48px;
	display: flex;
	justify-content: space-between;
}

.welfare_dormitory_section .access_box{
	padding:44px 16px 56px;
	background-color: #fff;
	width:350px;
}

.welfare_dormitory_section .access_box_head{
	font-size: 20px;
	font-weight: 500;
	line-height: 1.3;
}

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

.welfare_nursery_section .nursery_area{
	padding-left: 104px;
	margin-top: 80px;
}

.welfare_nursery_section .nursery_flex{
	display: flex;
	
}

.welfare_nursery_section .nursery_img{
	width:383px;
	aspect-ratio: 1 / 1.23;
	flex-shrink: 0;
	margin-right: 20px;
}

.welfare_nursery_section .nursery_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.welfare_nursery_section .nursery_list{
	width: 100%;
	max-width: 376px;
}

.welfare_nursery_section .nursery_item{
	min-height: 116px;
	border-radius: 20px;
	background-color: #fff;
	position: relative;
	padding:10px 48px;
	line-height: 2;
}

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

.welfare_nursery_section .nursery_item::after{
	content:'';
	width: 50px;
	height: 33px;
	background-image: url('../img/welfare/welfare_balloon.svg');
	position: absolute;
	left:8px;
	top:calc(100% - 1px);
}

.welfare_nursery_section .info_area{
	margin-top: 130px;
	background-color: #fff;
	padding:24px;
	position: relative;
}

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

.welfare_nursery_section .info_img{
	position: absolute;
	width:411px;
	top:24px;
	right:24px;
}

.welfare_dome_section{
	padding-top: 296px;
}

.welfare_dome_section .dome_gal_area{
	margin-top: 35px;
	position:relative;
	height:873px;
}

.welfare_dome_section .dome_gal{
	position: absolute;
}

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

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

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

.welfare_dome_section .dome_gal04{
	width:350px;
	left:471px;
	bottom:88px;
}

.welfare_other_section{
	padding-top: 295px;
}

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

.welfare_other_section .support_frame{
	background-color: #E9E9DF;
}

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

.welfare_other_section .support_block{
	max-width: 462px;
	position: relative;
	min-height: 390px;
	padding-top:50px;
	padding-left: 44px;
	padding-right: 4px;
	padding-bottom: 24px;
}

.welfare_other_section .support_block::before{
	content:'';
	width:64px;
	aspect-ratio: 1/1;
	border-radius: 50%;
	position: absolute;
	top:-33px;
	left:0;
	right:0;
	margin:auto;
	background-color: var(--base_color);
	clip-path: polygon(0 50%, 100% 50%, 100% 100%, 0% 100%);

}

.welfare_other_section .support_img{
	position: absolute;
	width:554px;
	aspect-ratio: 1 / 0.7;
	min-height: 390px;
	
	left:462px;
	top:0;
}

.welfare_other_section .support_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 20px 0 0 20px;
}

.welfare_other_section .support_number{
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	position: absolute;
	top:6px;
	position: absolute;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	white-space:nowrap;
}

.welfare_other_section .support_head{
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
}

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

.welfare_other_section .support_info{
	position: relative;
	font-weight: 500;
	line-height:1.875;
	padding-left: 16px;
}

.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-family: 'Noto Serif JP', serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
}

.town_section .sub_title{
	margin-top: 24px;
	line-height: 2;
}

.town_fv_section{

	position: relative;
	height:850px;
}

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

.town_fv_section .fv_text01{
	font-family: 'Noto Serif JP', serif;
	font-size: 30px;
	font-weight: 700;
	line-height: 2.1;
	text-align: center;
}

.town_fv_section .fv_text02{
	line-height: 2;
	text-align: center;
	margin-top: 80px;
}

.town_fv_section .fv_text03_frame{
	width: fit-content;
	margin-top: 280px;
	margin-inline: auto;
}
.town_fv_section .fv_text03{
	display: flex;
	justify-content: center;
	flex-direction: column;
	writing-mode: vertical-rl;
	gap:0 20px;
	font-family: 'Noto Serif JP', serif;
	font-size: 32px;
	font-weight: 600;
	white-space: nowrap;
}

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

.town_fv_section .fv_bg{
	position: sticky;
	top:260px;
	left:0;
	width:100%;
	z-index: 1;
	height:0;
	pointer-events: none;
	
}

.town_fv_section .fv_bg_inner{
	display: flex;
	justify-content: center;
}

.town_fv_section .fv_bg img{
	flex-shrink: 0;
	width:1920px;
	min-width: 100vw;
	max-height: 920px;
	object-fit: cover;
	object-position: top;
}

.town_living_section{
	padding-top: 1140px;
} 



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

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

.town_living_section .living_left{
	flex-shrink: 0;
	width:380px;
	margin-right: 96px;
	position: sticky;
	left:0;
	top:var(--top_sticky);
}

.town_living_section .livin_img{
	overflow: hidden;
	aspect-ratio: 1 / 0.71;

}

.town_living_section .livin_img img{
	height:100%;
	width:auto;
}

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

.town_living_section .living_block{
	padding-left: 52px;
}

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

.town_living_section .living_head{
	font-family: 'Noto Serif JP', serif;
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 40px;
	border-radius: 3px;
	padding:4px 24px;
	position: relative;
	color: #FFF;
}

.town_living_section .living_head .living_head_num{
	width: 72px;
	height: 72px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	right:calc(100% - 20px);
	transform: translateY(-50%);
	display: flex;
	justify-content: center;
	align-items: center;
	
	font-family: 'Noto Serif JP', serif;
	font-size: 32px;
	font-weight: 600;
	line-height:1;
}

.town_living_section .living_head.pink,
.town_living_section .living_head.pink .living_head_num{
	background-color: var(--pink);
}
.town_living_section .living_head.green,
.town_living_section .living_head.green .living_head_num{
	background-color: var(--green);
}
.town_living_section .living_head.blue,
.town_living_section .living_head.blue .living_head_num{
	background-color: var(--blue);
}

.town_living_section .living_text{
	margin-top: 16px;
	padding-left: 24px;
	line-height: 1.5;
}

.town_living_section .living_sub_list{
	position: relative;
	margin-top: 64px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:64px 0;
}

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

.town_living_section .living_sub_block{
	position: relative;
	z-index: 3;
	width:308px;
}

.town_living_section .living_sub_head{
	display: flex;
	align-items: flex-start;
	gap:0 8px;
	font-family: 'Noto Serif JP', serif;
	font-size: 18px;
	font-weight: 700;
	line-height: 1.33;
}

.town_living_section .living_sub_head_num{
	flex-shrink: 0;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	background-color: var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-size: 32px;
	font-weight: 600;
	line-height: 1;
}

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

.town_slide_section{
	padding-top: 350px;
}

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

.town_slide_section .slide_flex{
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap:0 48px;
	animation: town_slide 30s linear infinite;
}


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

.town_slide_section .slide_list{
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap:0 48px;
}

.town_slide_section .slide{
	flex-shrink: 0;
}

.town_slide_section .slide img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.town_slide_section .slide01{
	width:318px;
	aspect-ratio: 1 / calc(458 / 318);
	margin-top: 133px;
}
.town_slide_section .slide02{
	width:318px;
	aspect-ratio: 1 / calc(458 / 318);
}
.town_slide_section .slide03{
	width:512px;
	aspect-ratio: 1 / calc(384 / 512);
	margin-top: 45px;
}
.town_slide_section .slide04{
	width:318px;
	aspect-ratio: 1 / calc(458 / 318);
	margin-top: 133px;
}
.town_slide_section .slide05{
	width:318px;
	aspect-ratio: 1 / calc(458 / 318);
}
.town_slide_section .slide06{
	width:512px;
	aspect-ratio: 1 / calc(384 / 512);
	margin-top: 45px;
}

.town_play_section{
	padding-top: 330px;
}

.town_play_section .play_list{
	margin-top: 160px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:96px;
}

.town_play_section .play_card{
	position: relative;
}

.town_play_section .play_thumb{
	aspect-ratio: 1 / 1.33;
} 

.town_play_section .play_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.town_play_section .play_card::after{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(48, 48, 48, 0.40);
	position: absolute;
	top:0;
	left:0;
	transition-duration: 0.4s;
	opacity: 0;
}

.town_play_section .play_text_area{
	position: absolute;
	bottom:0;
	right:0;
	width:100%;
	padding:8px;
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	color:#fff;
	z-index: 2;
	transition-duration: 0.4s;
	opacity: 0;
} 

.town_play_section .play_title{
	font-family: 'Noto Serif JP', serif;
	font-size: 20px;
	font-weight: 700;
}

.town_play_section .play_info{
	margin-top: 8px;
}

@media(any-hover:hover){
	.town_play_section .play_card:hover:after,
	.town_play_section .play_card:hover .play_text_area{
		opacity: 1;
	}
}

@media(any-hover:none){
	.town_play_section .play_card.active:after,
	.town_play_section .play_card.active .play_text_area{
		opacity: 1;
	}
}


.town_commute_section{
	padding-top: 372px;
}

.town_commute_section .commute_list{
	margin-top: 120px;
	position: relative;
	display: flex;
	justify-content: space-between;
	position: relative;
}

.town_commute_section .commute_list::before{
	content:'';
	width:945px;
	height:587px;
	background-image: url('../img/town/commute_bg.png');
	position: absolute;
	top: -140px;
	left: 50%;
	transform: translateX(-50%);
}

.town_commute_section .commute_block{
	width:382px;
	padding:44px 26px;
	border:1px solid;
	border-top: none;
	position: relative;
	z-index: 1;
}

.town_commute_section .commute_block::before,
.town_commute_section .commute_block::after{
	content:'';
	height:1px;
	position: absolute;
	bottom:calc(100% - 1px);
	width:calc(100% / 2 - 70px);
}

.town_commute_section .commute_block::before{
	left:0;
}
.town_commute_section .commute_block::after{
	right:0;
}

.town_commute_section .commute_block_head{
	padding:0 3px;
	font-family: 'Noto Serif JP', serif;
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	position: absolute;
	bottom:calc(100% - 12px);
	left: 50%;
	transform: translateX(-50%);
}

.town_commute_section .commute_block_contents{
	padding:14px 18px;
	background-color: #fff;
	text-align: center;
	line-height: 2;
}

.town_commute_section .commute_block.pink{
	border-color: var(--pink);
}
.town_commute_section .commute_block.pink .commute_block_head{
	color: var(--pink);
}
.town_commute_section .commute_block.pink::before,
.town_commute_section .commute_block.pink::after{
	background-color: var(--pink);
}

.town_commute_section .commute_block.green{
	border-color: var(--green);
}
.town_commute_section .commute_block.green .commute_block_head{
	color: var(--green);
}
.town_commute_section .commute_block.green::before,
.town_commute_section .commute_block.green::after{
	background-color: var(--green);
}

.town_commute_section .commute_block.blue{
	border-color: var(--blue);
}
.town_commute_section .commute_block.blue .commute_block_head{
	color: var(--blue);
}
.town_commute_section .commute_block.blue::before,
.town_commute_section .commute_block.blue::after{
	background-color: var(--blue);
}

.town_commute_section .commute_remark{
	margin-top: 256px;
	width: fit-content;
	margin-inline: auto;
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
}

.town_commute_section .welfare_button{
	margin:32px auto 0;
	width: 343px;
	height: 60px;
	border-radius: 9999px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	transition-duration: 0.4s;
	border:1px solid var(--black);
	font-weight: 700;
	padding-inline: 30px;
}

.town_commute_section .welfare_button::after{
	content:'';
	width:13px;
	height:9px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	transition-duration: 0.4s;
	flex-shrink: 0;
	margin-left: 12px;
}

@media(any-hover:hover){
	.town_commute_section .welfare_button:hover{
		background-color: var(--black);
		color:#fff;
	}
	.town_commute_section .welfare_button:hover::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}


.town_moving_section{
	padding-top: 414px;
}

.town_moving_section .moving_area{
	display: flex;
	justify-content: flex-end;
	padding-right: 30px;
}

.town_moving_section .moving_block{
	width:935px;
	max-width: 100%;
	position: relative;
	padding:148px 50px 110px 564px;
	background-color: #fff;
}

.town_moving_section .moving_head{
	font-family: 'Noto Serif JP', serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
	font-feature-settings: 'palt';
	white-space: nowrap;
}

.town_moving_section .moving_img_area{
	position: absolute;
	bottom:110px;
	right:423px;
}

.town_moving_section .moving_img_frame{
	width:866px;
	aspect-ratio: 1 / 0.74;
	overflow: hidden;
}

.town_moving_section .moving_text{
	margin-top: 40px;
	line-height: 2;
}

.town_moving_section .moving_link{
	margin-top: 64px;
	display: flex;
	justify-content: center;
	align-items: center;
	border:1px solid var(--black);
	min-height: 36px;
	border-radius: 9999px;
	padding:3px 24px;
	font-size: 12px;
	font-weight: 700;
	transition-duration: 0.4s;
	position: relative;
}

.town_moving_section .moving_link::before{
	content:'';
	width: 13px;
	height: 14px;
	background-image: url('../img/common/icon_search_black.svg');
	position: absolute;
	left:16px;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: 0.4s;
}

/* @media(any-hover:hover){
	.town_moving_section .moving_link:hover{
		color:#fff;
		background-color: var(--black);
	}
	.town_moving_section .moving_link:hover::before{
		background-image: url('../img/common/icon_search_white.svg');
	}
} */

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

.town_staff_section .staff_button_frame{
	display: flex;
	justify-content: flex-end;
	margin-top: 40px;
	padding-right: 20px;
}


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

body.history_body{
	
}

main.history_main{
	
}

.history_section{

}

.history_fv_section{
	padding-top: var(--top_sticky);
	
	position: relative;
	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 16px;
}
.history_fv_section .fv_list{
	height:760px;
	max-height:calc(100vh - var(--top_sticky));
	display: flex;
	justify-content: space-between;
	position: relative;
} 


.history_fv_section .fv_item{
	width:calc(33.3% - 8px);
	position: absolute;
	top:0;
	height:760px;
	max-height:calc(100vh - var(--top_sticky));
	transition-duration: 1s;
	transition-timing-function: ease-out;
}

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

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

.history_fv_section .fv_item:nth-child(3){
	right:0;
}

.history_fv_section .fv_item img{
	animation-duration: 0.6s;
}

.history_fv_section .fv_item:nth-child(2) img{
	animation-delay: 0.1s;
}
.history_fv_section .fv_item:nth-child(3) img{
	animation-delay: 0.2s;
}

.history_fv_section:has(.fv_trigger.anime_active) .fv_item{
	width:934px;
	top:0;
}

.history_fv_section:has(.fv_trigger.anime_active) .fv_item:nth-child(1){
	left:calc(100% - 934px);
}
.history_fv_section:has(.fv_trigger.anime_active) .fv_item:nth-child(2){
	right:auto;
	left:calc(100% - 934px);
	margin:0;
}




.history_fv_section .fv_item img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.history_fv_section .text_contents{
	position: relative;
	z-index: 3;
	padding-top: 300px;
	padding-bottom: 200px;
}
.history_fv_section .page_title{
	font-size: 64px;
	font-weight: 500;
	line-height: 1.3;
}

.history_fv_section .sub_title{
	margin-top: 64px;
	font-family: 'Noto Serif JP', serif;
	font-size: 36px;
	font-weight: 700;
	line-height: 1.5;
}

.history_fv_section .fv_text{
	margin-top: 64px;
	line-height: 1.5;
}

.history_list_section{
	padding-top: 100px;
	padding-bottom: 150px;
	background-color: var(--black);
	border-radius: 10px;
	transition-duration: 1.5s;
	transition-timing-function: ease-out;
	transform: translateY(150px) scale(0.9);
}


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

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

.history_list_section .sec_title_set{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	color:#fff;
	text-align: right;
}

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

.history_list_section .sec_title_set .title02{

	font-family: 'Noto Serif JP', serif;
	font-size: 48px;
	font-weight: 700;
	margin-top: 4px;
}

.history_list_section .history_list{
	margin-top: 100px;
	display: flex;
	flex-direction: column;
	align-items: center;
}

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


.history_list_section .history_block{
	width:1333px;
	flex-shrink: 0;
	border-radius: 10px;
	overflow: hidden;
	background-color: var(--base_color);
	position: relative;
	/* opacity: 0; */
	transition-duration: 1.5s;
	transition-timing-function: ease-out;
	transform: translateY(150px) scale(0.9);
	
	/* transform-origin: bottom; */
}

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

.history_list_section .history_block_inner{
	display: flex;
	justify-content: flex-end;
	align-items: flex-end;
	min-height: 682px;
	padding:56px 0;
	max-width: 1200px;
	margin:0 auto;
}

.history_list_section .history_block_contents{
	width:456px;
}

.history_list_section .history_img{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100%;
}

.history_list_section .history_img img{
	width:100%;
	height:100%;
	object-fit: cover;
}

.history_list_section .history_title{
	text-shadow: 0px 0px 4px #FFF;
	font-family: 'Noto Serif JP', serif;
	font-size: 32px;
	font-weight: 600;
	line-height:1.25;
	position: relative;
	z-index: 2;
}

.history_list_section .history_text{
	margin-top: 40px;
	text-shadow: 0px 0px 2px #FFF;
	line-height: 1.5;
	position: relative;
	z-index: 2;
}

.history_list_section .history_text li{
	position: relative;
	padding-left: 16px;
}

.history_list_section .history_text li::before{
	content:'・';
	line-height: 1.5;
	position: absolute;
	top:0;
	left:0;
}

.history_msg_section{
	padding-top: 240px;
	padding-bottom: 200px;
} 

.history_msg_section .sec_title{
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
	font-family: 'Noto Serif JP', serif;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.3;
}

.history_msg_section .sec_title::before{
	content:'';
	width: 52px;
	height: 54px;
	background-image: url('../img/common/icon_flower.png');
	margin-bottom: 88px;
}

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

.history_msg_section .msg_list{
	margin-top: 110px;
	position: relative;
	height:558px;
	border-radius: 10px;
	overflow: hidden;
}

.history_msg_section .msg_block{
	position: absolute;
	top:0;
	overflow: hidden;
	width:400px;
	transition-duration: 600ms;
	transition-timing-function:ease-out;
}

/* @keyframes msg_index {
	0% {
		z-index: 0;
	}
	100% {
		z-index: 10;
	}
} */

.history_msg_section .msg_block.front{
	z-index:10;
}

.history_msg_section .msg_block.show{
	width:100%;
	/* animation-name:msg_index ;
	animation-delay: 0; */
}

.history_msg_section .msg_block:nth-child(1){
	background-image: url('../img/history/message01_bg.jpg');
	left:0;
}
.history_msg_section .msg_block:nth-child(2){
	background-image: url('../img/history/message02_bg.jpg');
	left:400px;
}
.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: 1200px;
	height:558px;
	display: flex;
	position: relative;
}

.history_msg_section .msg_contents:before{
	content:'';
	width:100%;
	height:100%;
	opacity: 0.7;
	background: var(--black);
	position: absolute;
	top:0;
	left:0;
}

.history_msg_section .msg_left{
	flex-shrink: 0;
	width:400px;
	min-height:100% ;
	display: flex;
	justify-content: center;
	align-items: flex-end;
	padding:34px 24px;
	position: relative;
	z-index: 2;
	color:#fff;
}

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

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

.history_msg_section .msg_switch{
	cursor: pointer;
	width: 160px;
	height: 36px;
	padding:0 16px;
	flex-shrink: 0;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border:1px solid #fff;
	color:#fff;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	margin-top: 40px;
	border-radius: 1000px;
}

.history_msg_section .msg_switch::after{
	content:'';
	width:13px;
	height:9px;
	background-image: url('../img/common/icon_arrow_right_white.svg');

}

.history_msg_section .msg_switch.rock{
	pointer-events: none;
}

.history_msg_section .msg_switch.active{
	background-color: #fff;
	color:var(--black);
}
.history_msg_section .msg_switch.active::after{
	transform: rotateZ(180deg);
	background-image: url('../img/common/icon_arrow_right_black.svg');

}


.history_msg_section .msg_right{
	padding:24px 0;
	padding-right: 80px;
	display: flex;
	align-items: center;
	position: relative;
	z-index: 2;
	width: 100%;
}

.history_msg_section .msg_text{
	color: #FFF;
	text-shadow: 0px 0px 4px #000;
	line-height: 2; 
}


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

body.data_body{
	
}

main.data_main{
	
}

.data_section{
	position: relative;
}

.data_section .data_section_bg{
	position: sticky;
	top:0;
	left:0;
	width:100%;
	height:0;
	z-index: -3;
}

.data_section .data_section_bg_inner{
	position: relative;
}

.data_section .data_section_bg_inner::before{
	content:'';
	width:100%;
	height:100vh;
	background-color: rgba(75, 75, 75, 0.40);
	position: absolute;
	top:0;
	left:0;
	z-index: -2;
	transition-duration: 0.4s;
	opacity: 0;
}

.data_section:has(.js_data_bg_point.anime_active) .data_section_bg_inner::before{
	opacity: 1;
}

.data_section .data_section_bg_item{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	background-position: top;
	z-index: -3;
}

.data_section .data_section_bg_item.fv{
	background-image: url('../img/data/fv_bg.jpg');
}
.data_section .data_section_bg_item.staff{
	background-image: url('../img/data/staff_bg.jpg');
}
.data_section .data_section_bg_item.culture{
	background-image: url('../img/data/culture_bg.jpg');
}
.data_section .data_section_bg_item.work{
	background-image: url('../img/data/work_bg.jpg');
}

.data_section .sec_title_area{
	height:100vh;
	display: flex;
	justify-content: center;
	align-items: center;
	/* position: absolute;
	top:0;
	left:0;
	width:100%; */
}

.data_section .sec_title_area .sec_title_box{
	position: relative;
	padding:28px 48px 20px;
	background-color: #fff;
	writing-mode: vertical-rl;
	font-family: 'Noto Serif JP', serif;
	transition-duration: 1.5s;
	clip-path: inset(0 50% 0 50%);
}

.data_section .sec_title_area .sec_title_box.anime_active{
	clip-path: inset(0 0% 0 0%);
}


.data_section .sec_title_area .sec_sub_title{
	position: absolute;
	
	font-size: 16px;
	font-weight: 600;
	line-height:1.5;
	top:24px;
	right:6px;
	letter-spacing: 0.4em;
}

.data_section .sec_title_area .sec_title_text{
	font-size: 36px;
	font-weight: 700;
	line-height: 1.38;
	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;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:16px 0;
	padding-bottom: 180px;
}

.data_section .contents_block{
	width:100%;
	padding:56px;
	border-radius: 10px;
	background-color: var(--base_color);
	animation-duration: 0.7s;
}

.data_section .contents_head{
	display: flex;;
	align-items: flex-start;
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 900;
	line-height: 1.2;
}

.data_section .contents_head::before{
	content:'';
	width:31px;
	height:33px;
	background-image: url('../img/common/icon_flower.png');
	flex-shrink: 0;
	margin-right: 8px;
	transform: translateY(-3px);
}

.data_section .contents_flex{
	width:100%;
	display: flex;
	gap:0 16px;
}

.data_section .contents_flex .contents_block{
	padding-top: 16px;
	padding-bottom: 24px;
	padding-inline: 48px;
}

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

.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: 36px;
	color: #FFF;
	text-align: center;
	font-weight: 700;
	line-height: 2;
}

.data_fv_section .link_list{
	margin-top: 40px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	gap:40px;
	padding-bottom: 120px;
}

.data_fv_section .link_list .link{
	width: 190px;
	height: 31px;
	flex-shrink: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	border:1px solid #fff;
	border-radius: 9999px;
	color: #FFF;
	font-size: 12px;
	font-weight: 700;
	line-height: 1;
	transition-duration: 0.4s;
	position: relative;
}

.data_fv_section .link_list .link::after{
	content:'';
	width:13px;
	height:9px;
	transition-duration: 0.4s;
	transform: rotateZ(90deg);
	background-image: url('../img/common/icon_arrow_right_white.svg');
	position: absolute;
	right:6px;
	top:0;
	bottom:0;
	margin:auto;
}

@media(any-hover:hover){
	.data_fv_section .link_list .link:hover{
		background-color: #fff;
		color:var(--black);
	}
	.data_fv_section .link_list .link:hover::after{
		background-image: url('../img/common/icon_arrow_right_black.svg');
	}
}

.data_staff_section{

}

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

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

.data_staff_section .reason_block + .reason_block{
	margin-top: 8px;
}

.data_staff_section .reason_thumb{
	flex-shrink: 0;
	width:327px;
	aspect-ratio: 1 / calc(220 / 327);
	margin-right: 24px;
}

.data_staff_section .reason_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 5px;
}

.data_staff_section .reason_text_area{
	width:100%;
}

.data_staff_section .reason_job{
	width: fit-content;
	display: flex;
	min-height: 19px;
	padding: 2px 20px;
	justify-content: center;
	align-items: center;
	border-radius: 999px;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.2;
	border:1px solid;
}

.data_staff_section .reason_title{
	margin-top: 16px;
	font-weight: 700;
	line-height: 1.3;
}

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

.data_staff_section .reason_block.pink .reason_job{
	border-color: var(--pink);
}
.data_staff_section .reason_block.pink .reason_job,
.data_staff_section .reason_block.pink .reason_title{
	color:var(--pink)
}

.data_staff_section .reason_block.green .reason_job{
	border-color: var(--green);
}
.data_staff_section .reason_block.green .reason_job,
.data_staff_section .reason_block.green .reason_title{
	color:var(--green)
}

.data_staff_section .reason_block.blue .reason_job{
	border-color: var(--blue);
}
.data_staff_section .reason_block.blue .reason_job,
.data_staff_section .reason_block.blue .reason_title{
	color:var(--blue)
}

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

.data_staff_section .decide_block{
	width:calc(50% - 4px);
	height:270px;
	/* background-color: #fff; */
	border-radius: 5px;
	
	position: relative;
}

.data_staff_section .decide_card{
	position: absolute;
	transition-duration: 0.4s;
	transition-timing-function: ease-out;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform-style: preserve-3d;
    backface-visibility: hidden;
	top:0;
	left:0;
}

.data_staff_section .decide_card_front{
	background-color: #fff;
}

.data_staff_section .decide_card_back{
	transform: rotateY(180deg);
	pointer-events: none;
}

.data_staff_section .decide_card_inner{
	padding:40px 20px 0;
	position: relative;
	height:100%;
} 

.data_staff_section .decide_kind{
	width: fit-content;
	margin:0 auto;
	min-height: 27px;
	padding: 2px 24px;
	display: flex;
	justify-content: center;
	align-items: center;
	border-radius: 999px;
	border:1px solid;
	line-height: 1.2;
	
}

.data_staff_section .decide_title{
	margin-top: 40px;
	font-size: 24px;
	font-weight: 500;
	text-align: center;
}

.data_staff_section .decide_text{
	margin-top: 16px;
	color: #FFF;
	text-align: center;
	line-height: 1.5;
}

.data_staff_section .decide_switch{
	cursor: pointer;
	width:134px;
	height:134px;
	border-radius: 50%;
	background-color: var(--black);
	position: absolute;
	left:0;
	right:0;
	bottom:-67px;
	margin:auto;

}

.data_staff_section .decide_switch span{
	position: relative;
	width:100%;
	height:100%;
	display: flex;
	justify-content: center;
	padding-top: 16px;
}
.data_staff_section .decide_switch span::after{
	content:'';
	width:32px;
	height:41px;
	background-image: url('../img/common/icon_change_white.svg');
}

.data_staff_section .decide_switch span::before{
	content:'CLICK';
	color:var(--black);
	display: block;
	font-size: 12px;
	font-weight: 500;
	line-height: 1;
	white-space: nowrap;
	position: absolute;
	position: absolute;
	bottom:calc(100% + 4px);
	left: 50%;
	transform: translateX(-50%);
}


.data_staff_section .decide_block.green{
	color:var(--green);
	border-color:var(--green);
}

.data_staff_section .decide_block.pink{
	color:var(--pink);
	border-color:var(--pink);
}

.data_staff_section .decide_block .decide_card_back{
	color:#fff;
	border-color: #fff;
}

.data_staff_section .decide_block.green .decide_card_back{
	background-color: var(--green);
}
.data_staff_section .decide_block.pink .decide_card_back{
	background-color: var(--pink);
}

.data_staff_section .decide_card_back .decide_switch{
	background-color: #fff;
}
.data_staff_section .decide_card_back .decide_switch span::after{
	background-image: url('../img/common/icon_change_black.svg');
}
.data_staff_section .decide_card_back .decide_switch span::before{
	content:none;
}

.data_staff_section .decide_block.active .decide_card_front{
	transform: rotateY(-180deg);
	pointer-events: none;
}
.data_staff_section .decide_block.active .decide_card_back{
	transform: rotateY(0);
	pointer-events: auto;
}



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

.data_staff_section .check_list li{
	display: flex;
	align-items: center;
	min-height: 96px;
	padding:16px 0;
	line-height: 2;
}


.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{
	flex-shrink: 0;
	margin-right: 16px;
	width: 37px;
	height: 37px;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
}

.data_staff_section .check_list .check::after{
	content:'';
	width:20px;
	height:13px;
	background-image: url('../img/common/icon_check_white.svg');
}

.data_staff_section .check_list.pink .check{
	background-color: var(--pink);
}
.data_staff_section .check_list.blue .check{
	background-color: var(--blue);
}

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

.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;
	font-size: 20px;
	font-weight: 700;
	line-height: 1; 
	
}

.data_staff_section .rank_list li::before{
	content:'';
	width:57px;
	height:67px;
	flex-shrink: 0;
	margin-right: 24px;
}

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

.data_staff_section .rank_list li:nth-child(1)::before{
	background-image: url('../img/common/medal_gold.png');
}
.data_staff_section .rank_list li:nth-child(2)::before{
	background-image: url('../img/common/medal_silver.png');
}
.data_staff_section .rank_list li:nth-child(3)::before{
	background-image: url('../img/common/medal_bronze.png');
}

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

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

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

.data_work_section{

}

.data_work_section .symbol_list{
	margin-top: 48px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:32px;

}

.data_work_section .symbol_box{
	width:166px;
	aspect-ratio: 1/1;
	background-image: url('../img/data/symbol_box.png');
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 24px;
}

.data_work_section .symbol_box::before{
	content:'';
	width:40px;
	height:26px;
	background-image: url('../img/common/icon_check_red.svg');

}

.data_work_section .symbol_box .symbol_text{
	margin-top: 5px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 70px;
}

.data_work_section .charm_block{
	padding:16px 32px 32px;
	
}

.data_work_section .charm_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

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

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

.data_work_section .charm_list{
	width: 376px;
}

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

.data_work_section .charm_item + .charm_item{
	margin-top: 26px;
}

.data_work_section .charm_item::after{
	content:'';
	width: 50px;
	height:33px;
	position: absolute;
	bottom:-18px;
	right:16px;
	transform: rotateY(180deg);
}

.data_work_section .charm_list_right .charm_item::after{
	right:auto;
	left:16px;
	transform: rotateY(0);
}


.data_work_section .charm_card{
	border-radius: 20px;
	height: 116px;
	
	position: relative;
	padding:12px 20px;
	background-color: #fff;
	position: relative;
	z-index: 2;
}


.data_work_section .charm_text{
	line-height: 1.5;
	position: relative;
	z-index: 3;
}

.data_work_section .charm_name{
	margin-top: 3px;
	font-size: 12px;
	text-align: right;
	font-weight: 500;
	position: relative;
	z-index: 3;
}

.data_work_section .charm_item:nth-child(1){
	color:var(--green);
	border-color:var(--green);
}
.data_work_section .charm_item:nth-child(1)::after{
	background-image: url('../img/data/balloon_green.svg');
}

.data_work_section .charm_item:nth-child(2){
	color:var(--pink);
	border-color:var(--pink);
}
.data_work_section .charm_item:nth-child(2)::after{
	background-image: url('../img/data/balloon_pink.svg');
}

.data_work_section .charm_item:nth-child(3){
	color:var(--blue);
	border-color:var(--blue);
}
.data_work_section .charm_item:nth-child(3)::after{
	background-image: url('../img/data/balloon_blue.svg');
}



.data_work_section .charm_list_right .charm_item:nth-child(1){
	color:var(--blue);
	border-color:var(--blue);
}
.data_work_section .charm_list_right .charm_item:nth-child(1)::after{
	background-image: url('../img/data/balloon_blue.svg');
}

.data_work_section .charm_list_right .charm_item:nth-child(2){
	color:var(--green);
	border-color:var(--green);
}
.data_work_section .charm_list_right .charm_item:nth-child(2)::after{
	background-image: url('../img/data/balloon_green.svg');
}

.data_work_section .charm_list_right .charm_item:nth-child(3){
	color:var(--pink);
	border-color:var(--pink);
}
.data_work_section .charm_list_right .charm_item:nth-child(3)::after{
	background-image: url('../img/data/balloon_pink.svg');
}

.data_slide_section{
	padding-top: 80px;
	padding-bottom: 240px;
	position: relative;
	z-index: 2;
	background-color: var(--base_color);
} 

.data_slide_section .sec_title{
	width: fit-content;
	margin:0 auto;
	writing-mode: vertical-rl;
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
	letter-spacing: 0.4em;
	transition-duration: 1.2s;
	white-space: nowrap;
	/* clip-path: polygon(0 0, 100% 0%, 100% 0, 0 0); */
}

.data_slide_section .sec_title.anime_active{
	/* clip-path: polygon(0 0, 100% 0, 100% 100%, 0% 100%); */
}

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

.data_slide_section .slide_flex{
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap:0 40px;
	animation: data_slide 30s linear infinite;
}


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

.data_slide_section .slide_list{
	flex-shrink: 0;
	display: flex;
	align-items: flex-start;
	gap:0 40px;
}

.data_slide_section .slide{
	flex-shrink: 0;
}


.data_slide_section .slide01{
	width:292px;
	margin-top: 113px;
}
.data_slide_section .slide02{
	width:170px;
	margin-top: 72px;
}
.data_slide_section .slide03{
	width:338px;
}
.data_slide_section .slide04{
	width:242px;
	margin-top: 72px;
}
.data_slide_section .slide05{
	width:272px;
}
.data_slide_section .slide06{
	width:170px;
	margin-top: 72px;
}
.data_slide_section .slide07{
	width:322px;
	margin-top: 30px;
}
.data_slide_section .slide08{
	width:242px;
	margin-top: 72px;
}

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

body.news_body{
	
}

main.news_main{
	
}

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

.news_list_section .news_area{
	padding-inline: 60px;
}

.news_list_section .category_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 24px;
}

.news_list_section .category_list{
	display: flex;
	flex-wrap: wrap;
	align-items: flex-start;
	gap:16px;
}

.news_list_section .category_list label{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 115px;
	min-height: 32px;
	padding: 4px 8px;
	border-radius: 999px;
	font-weight: 500;
	line-height: 1.2;
	border:1px solid var(--black);
	cursor: pointer;
}

.news_list_section .category_list label:has(input[type="checkbox"]:checked){
	background-color: var(--black);
	color:#fff;
}

.news_list_section .category_list label input{
	display: none;
}

.news_list_section .search_button{
	border:none;
	background: none;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	width: 56px;
	height: 32px;
	border-radius: 9999px;
	border:1px solid var(--black);
	transition-duration: 0.4s;
} 

.news_list_section .search_button::after{
	content:'';
	width:17px;
	height:17px;
	background-image: url('../img/common/icon_search_black.svg');
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.news_list_section .search_button:hover{
		background-color: var(--black);
	}
	.news_list_section .search_button:hover::after{
		background-image: url('../img/common/icon_search_white.svg');
	}
}



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


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

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

.news_single_section .news_frame{
	padding-inline: 60px;
	
}

.news_single_section .news_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	position: relative;
}

.news_single_section .news_info_area{
	width:420px;
	flex-shrink: 0;
	margin-right: 40px;
	position: sticky;
	left:0;
	top:var(--top_sticky);
}

.news_single_section .news_single_frame{
	width:100%;
}

.news_single_section .news_title{
	font-size: 24px;
	font-weight: 400;
	line-height: 1.5;
}

.news_single_section .news_date_area{
	margin-top: 40px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap:8px 0;
	font-size: 24px;
	line-height: 1.5;
}

.news_single_section .news_author{
	margin-top: 105px;
}

.news_single_section .archive_link{
	width: fit-content;
	margin:120px auto 0;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 20px;
	line-height: 1;
}

.news_single_section .archive_link::before{
	content:'';
	width:32px;
	height:30px;
	background-image: url('../img/common/icon_arrow_big_right_black.svg');
	flex-shrink: 0;
	margin-right: 24px;
	transform: rotateZ(180deg);
}

.common_single_block{

}

.common_single_block h2{
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.5;
	margin:24px 0;
}

.common_single_block h3{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	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;
}

.faq_section .sec_left{
	flex-shrink: 0;
	width:308px;
	padding-right: 24px;
	position: sticky;
	left:0;
	top:var(--top_sticky);
}

.faq_section .sec_right{
	width:100%;
	padding-top: 56px;
	border-top:1px solid #D9D9D9;
}

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

.faq_list_section .keyword_flex{
	display: flex;
	align-items: center;
}

.faq_list_section .keyword_head{
	flex-shrink: 0;
	width:175px;
	padding-right: 10px;
}

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

.faq_list_section .faq_keyword{
	display: block;
	width: 100%;
	height: 55px;
	border-radius: 5px;
	background-color: #fff;
	padding-right:56px;
	padding-left: 20px;
	font-weight: 700;
	border:none;
}

.faq_list_section .faq_keyword::placeholder{
	color:#ADACAC;
}

.faq_list_section .faq_search_button{
	border: none;
	background: none;
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	right:14px;
	padding:6px;
	top:0;
	bottom:0;
	margin:auto;
}

.faq_list_section .faq_search_button:after{
	content:'';
	width:17px;
	height:17px;
	background-image: url('../img/common/icon_search_black.svg');
}

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

.faq_list_section .faq_tag{
	cursor: pointer;
	min-height:36px;
	border-radius: 9999px;
	display: flex;
	align-items: center;
	padding:4px 30px 4px 16px;
	border:1px solid var(--black);
	position: relative;
}
.faq_list_section .faq_tag::after{
	content:'';
	width:0;
	height:0;
	border-style:solid;
	border-width: 10px 5px 0 5px;
	border-color: var(--black) transparent transparent transparent;
	position: absolute;
	right:16px;
	top:13px;
}

.faq_list_section .faq_tag.active{
	background-color:var(--black);
	color:#fff;
}
.faq_list_section .faq_tag.active::after{
	border-color: #fff transparent transparent transparent;
}

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

.faq_list_section .faq_block{
	padding-inline: 40px;
	background-color: #fff;
}

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

.faq_list_section .faq_block .faq_question{
	cursor: pointer;
	position: relative;
	padding:24px 40px;
	font-weight: 500;
	line-height: 1.4;
	font-family: 'Noto Serif JP', serif;
}

.faq_list_section .faq_block .faq_question::before{
	content:'Q.';
	font-family: "Noto Serif JP";
	font-weight: 800;
	line-height: 1.4;
	position: absolute;
	top:24px;
	left:0;
}

.faq_list_section .faq_block .faq_question::after{
	content:'';
	width:14px;
	height:14px;
	background-image: url('../img/common/icon_plus_black.svg');
	position: absolute;
	right:0;
	top:28px;
}

.faq_list_section .faq_block .faq_question.active::after{
	background-image: url('../img/common/icon_minus_black.svg');
}

.faq_list_section .faq_block .faq_answer{
	border-top:1px solid var(--black);
	padding:30px 40px;
	font-size: 14px;
	line-height: 1.5;
	font-weight: 500;
	position: relative;
	display: none;
}

.faq_list_section .faq_block .faq_answer::before{
	content:'A.';
	font-family: "Noto Serif JP";
	font-weight: 800;
	font-size: 16px;
	line-height: 1.4;
	position: absolute;
	top:29px;
	left:0;
}

.faq_list_section .link_button_frame{
	margin-top: 80px;
	display: flex;
	justify-content: flex-end;
}


.faq_flow_section{
	padding-bottom: 240px;

}

.faq_flow_section .faq_flow_area{
	padding-top: 60px;
}

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

.common_flow_contents .flow_list{
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.common_flow_contents .flow_block{
	width:135px;
	height: 506px;
	border:1px solid var(--black);
	display: flex;
	justify-content: center;
	padding:24px 0;
	
}

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

.common_flow_contents .flow_num{
	display: flex;
	flex-direction: column;
	align-items: center;
	font-weight: 500;
	line-height: 1.3;
}

.common_flow_contents .flow_num span{
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}

.common_flow_contents .flow_num::after{
	content:'';
	width:5px;
	height:5px;
	border-radius: 50%;
	background-color: var(--black);
	margin-top: 16px;
}

.common_flow_contents .flow_text{
	font-size: 20px;
	writing-mode: vertical-rl;
	margin-top: 16px;
	
}

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

.common_flow_contents .flow_arrow{
	width:22px;
	height:15px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	background-repeat: no-repeat;
	background-size: contain;
}

.common_flow_contents .flow_remark{
	margin-top: 80px;
	line-height: 1.5;
	font-feature-settings: 'palt';
}

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

body.appli_body{
	
}

main.appli_main{
	
}

.appli_section{

}

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

.appli_search_section .page_title{
	font-family: 'Noto Serif JP', serif;
	font-size: 64px;
	font-weight: 700;
	line-height: 1.3;
	text-align: center;
}

.appli_search_section .page_sub_title{
	font-size: 24px;
	line-height: 1.3;
	margin-top: 16px;
	text-align: center;
}

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

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

.appli_search_section .search_head{
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	font-weight: 700;
	line-height: 1.3;
	border-bottom:1px solid var(--black);
	padding-bottom: 12px;
}

.appli_search_section .check_list{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:24px 50px;
	margin-top: 32px;
}

.appli_search_section .check_list label{
	display: flex;
	align-items: center;
	cursor: pointer;
	font-size: 20px;
	line-height: 1.3;
	gap:0 8px;
}

.appli_search_section .check_list .check_mark{
	width: 21px;
	height: 21px;
	border-radius: 3px;
	border:1px solid var(--black);
}

.appli_search_section .check_list input{
	display: none;
}

.appli_search_section .check_list input[type="checkbox"]:checked + .check_mark{
	background-color: var(--black);
}

.appli_search_section .search_button{
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 100%;
	max-width: 665px;
	height: 95px;
	border-radius: 9990px;
	border:1px solid var(--black);
	margin:88px auto 0;
	font-size: 30px;
	font-weight: 500;
	line-height: 1.2;
	transition-duration: 0.4s;
	color:var(--black);
}

@media(any-hover:hover){
	.appli_search_section .search_button:hover{
		background-color: var(--black);
		color:#fff;
	}
}



.appli_list_section{
	padding-bottom: 180px;
}


.appli_list_section .appli_list{
	display: flex;
	flex-wrap: wrap;
	gap:170px 0;
}

.appli_list_section .appli_block{
	width:50%;
	position: relative;
}

.appli_list_section .appli_block:nth-child(odd){
	padding-right: 56px;
}

.appli_list_section .appli_block:nth-child(even){
	padding-left: 56px;
}
.appli_list_section .appli_block:nth-child(even)::before{
	content:'';
	width:1px;
	height:100%;
	background-color: var(--black);
	position: absolute;
	left:0;
	top:0;
}	

.appli_list_section .appli_flex{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:12px;
}

.appli_list_section .appli_job{
	font-size: 24px;
	font-weight: 900;
	line-height: 1;
	padding-bottom: 4px;
}

.appli_list_section .appli_type{
	min-width: 100px;
	min-height: 23px;
	border-radius: 9999px;
	padding:4px 8px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--black);
	color: #FFF;
	font-size: 12px;
	font-weight: 700;
	line-height: 1.3;
}

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

}

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

.appli_list_section .appli_info_line{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	padding:20px 0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	border-bottom: 1px solid var(--black);
}

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

.appli_list_section .appli_link{
	margin-top: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	min-height: 56px;
	border-radius: 9999px;
	border: 1px solid var(--black);
	background-color: #FFF;
	font-weight: 500;
	transition-duration: 0.4s;
}

.appli_list_section .appli_link::after{
	content:'';
	width: 13px;
	height: 9px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	position: absolute;
	right:30px;
	top:0;
	bottom:0;
	margin:auto;
}

@media(any-hover:hover){
	.appli_list_section .appli_link:hover{
		background-color: var(--black);
		color:#fff;
	}

	.appli_list_section .appli_link:hover::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}


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

.appli_single_section .page_title{
	font-size: 32px;
	font-weight: 700;
	text-align: center;
}

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

.appli_single_section .appli_info_list{
	max-width: 960px;
	margin:56px auto 0;
}

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

.appli_single_section .appli_info_title{
	flex-shrink: 0;
	width:190px;
	margin-right: 8px;
	padding-top: 40px;
	border-top:1px solid var(--pink);
	font-weight: 700;
	line-height: 1.75;
}

.appli_single_section .appli_info_contents{
	width:100%;
	padding-top: 40px;
	border-top:1px solid var(--green);
	line-height: 1.75;
}

.appli_single_section .entry_button{
	max-width: 527px;
	height: 56px;
	border-radius: 9999px;
	position: relative;
	border:1px solid var(--black);
	font-weight: 500;
	margin:72px auto 0;
	transition-duration: 0.4s;
	display: flex;
	justify-content: center;
	align-items: center;
}

.appli_single_section .entry_button::after{
	content:'';
	width: 13px;
	height: 9px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	position: absolute;
	right:24px;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.appli_single_section .entry_button:hover{
		background-color: var(--black);
		color:#fff;
	}
	.appli_single_section .entry_button:hover::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}

.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{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	font-weight: 400;
}

.contact_section .sec_title_set .sec_title_ja{
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	line-height: 1.2;
}

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

.contact_guide_section{
	padding-top: 120px;
}

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

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

.contact_guide_section .guide_contents .guide_text{
	width:407px;
	padding-right: 24px;
	flex-shrink: 0;
	font-family: 'Noto Serif JP', serif;
	font-size: 32px;
	line-height: 1.5;
}

.contact_guide_section .guide_contents .guide_img_frame{
	flex-shrink: 0;
	width:873px;
	height:839px;
	overflow: hidden;
}

.contact_guide_section .tel_area{
	margin-top: 180px;
	display: flex;
	align-items: flex-start;
	padding-bottom: 120px;
	border-bottom:1px solid #000;
}

.contact_guide_section .tel_head{
	width:510px;
}

.contact_guide_section .tel_number{
	display: flex;
	align-items: center;
	font-size: 64px;
	font-weight: 300;
	line-height: 1;
	gap:0 8px;
	width: fit-content;
}
.contact_guide_section .tel_number::before{
	content:'';
	width:50px;
	height:50px;
	background-image: url('../img/common/icon_tel_black.svg');
}

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


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


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

.form_section{

}

.form_section .form_flex{
	position: relative;
	max-width: 1120px;
	margin:0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.form_section .form_left{
	width:307px;
	position: sticky;
	left:0;
	top:var(--top_sticky);
}

.form_section .form_nav_header{
	display: flex;
	align-items: flex-end;
	padding-bottom: 12px;
	font-weight: 500;
	gap:0 40px;
	position: relative;
	margin-top: 6px;
}

.form_section .form_nav_header::after{
	content:'';
	width:467px;
	height:1px;
	background-color: #000;
	position: absolute;
	bottom:0;
	right:0;
}

.form_section .form_nav_header span{
	color: #FF0505;
	font-size: 64px;
	font-weight: 400;
	line-height: 1;
}

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

.form_section .form_right{
	width:608px;
}

.form_section .form_line{

}

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

.form_section .form_head{
	display: flex;
	align-items: center;
	gap:0 8px;
	font-weight: 500;
	line-height: 1.3;
}

.form_section .form_head::before{
	content:'必須';
	display: flex;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 19px;
	flex-shrink: 0;
	border-radius: 20px;
	background-color: var(--black);
	color: #FFF;
	font-size: 12px;
	font-weight: 500;
	line-height: 1.2;
}

.form_section .form_head.free::before{
	content:'任意';
	background-color: #B1B1B1;
}

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

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

.form_section .text_input{
	display: block;
	width:100%;
	height: 66px;
	border-radius: 10px;
	border: 1px solid #B0B0B0;
	background: #FFF;
	padding-inline: 24px;

}

.form_section textarea{
	display: block;
	width:100%;
	height: 327px;
	border-radius: 10px;
	border: 1px solid #B0B0B0;
	background: #FFF;
	padding: 24px;
	line-height: 1.4;
}

.form_section input::placeholder,
.form_section textarea::placeholder{
	color:#9D9D9D;
}

.form_section .label_list{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:16px;
}


.form_section .label_list .wpcf7-form-control{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:16px;
}

.form_section .label_list label{
	display: flex;
	justify-content: center;
	align-items: center;
	min-width: 134px;
	min-height: 35px;
	padding:4px 12px;
	cursor: pointer;
	background-color: #fff;
	border:1px solid var(--black);
	/* transition-duration: 0.4s; */
	border-radius: 100px;
}

.form_section .label_list label input{
	display: none;
}

.form_section .label_list label:has(input:checked){
	background-color: var(--black);
	color:#fff;
}

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

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

.form_section .agree_label{
	margin-top: 40px;
}
.form_section .agree_label label{
	display: flex;
	align-items: center;
	gap:8px;
	cursor: pointer;
	width: fit-content;
}

.form_section .wpcf7-list-item {
    margin: 0;
}

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

.form_section .submit_frame{
	position: relative;
	width: fit-content;
	margin-top: 40px;
}

.form_section .submit_frame::after{
	content:'';
	width:13px;
	height:9px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	position: absolute;
	right:24px;
	top:21px;
	transition-duration: 0.4s;
}

.form_section .submit_frame input{
	border:none;
	background: none;
	display: flex;
	justify-content: center;
	align-items: center;
	width:260px;
	height:50px;
	border-radius: 100px;
	border:1px solid var(--black);
	cursor: pointer;
	background-color: #fff;
	font-weight: 500;
	line-height: 1;
	transition-duration: 0.4s;
}

@media(any-hover:hover){
	.form_section .submit_frame:hover::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
	.form_section .submit_frame:hover input{
		background-color: var(--black);
		color:#fff;
	}
}

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

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

/*
------------------------------------
プライバシーポリシー
------------------------------------
*/

body.privacy_body{
	
}

main.privacy_main{
	
}

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

.privacy_section .page_title{
	font-family: 'Noto Serif JP', serif;
	font-size: 24px;
	text-align: center;
	font-weight: 700;
}

.privacy_section .privacy_head{
	font-size: 20px;
	font-weight: 700;
	margin-top: 32px;
}

.privacy_section .privacy_text{
	margin-top: 16px;
	line-height: 1.5;
}

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

body.complete_body{
	
}

main.complete_main{
	
}

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

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

.complete_section .finish_text02{
	margin-top: 32px;
	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 - 240px);
}


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

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

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