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

@font-face {
    font-family:'851Mk';
    src:url('../fonts//851MkPOP_101.ttf') format('truetype');
    font-weight: 400;
}


:root{
	--base_font_family: 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	--font_851 : '851Mk' , 'Noto Sans CJK JP' , 'Noto Sans JP'  ,sans-serif;
	--base_font_color: #303030;
	--black: #303030;
	--blue: #004EA2;
	--red: #E60012;
	--green: #009944;
	--gray:#F0F0F0;
	--c_duration:0.5s;
	--easeInOutBack:cubic-bezier(0.68, -0.6, 0.32, 1.9);
	--sticky_top : 110px;
	--hover_shadow: 5px 5px 0 rgba(48 , 48 , 48 , 1);
}

*{
	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: var(--base_font_family);
	color:var(--base_font_color);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	font-feature-settings: 'palt';
	touch-action: manipulation;
	resize: none;
	display: block;
	border-radius: 0;
}

select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
}

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

body{
	color: var(--base_font_color);
	font-size: 16px;
	font-family: var(--base_font_family);
	-webkit-font-smoothing: antialiased;
	-ms-text-size-adjust: none;
	-webkit-text-size-adjust: none;
	letter-spacing: 0.05em;
}

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

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


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

#body_wrap{
	overflow: clip;
}

main{
	position: relative;
	z-index: 1;
	min-height: calc(100vh - 200px);
}


main::before{
	content:'';
	width:100%;
	height:100%;
	background-color: #fff;
	position: absolute;
	top:0;
	left:0;
	z-index: -10;
}

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

.fax a{
	pointer-events: none;
}

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


.grecaptcha-badge { visibility: hidden; }
/*
------------------------------------
アニメーション関係
------------------------------------
*/

.c_hover_opa{
	transition-duration:0.4s
}


@media (any-hover:hover){
	.c_hover_opa:hover{
		opacity: 0.5;
	}
	
}

.c_hover_scale_frame{
	overflow: hidden;
}

.c_hover_scale_item{
	width:100%;
	height:100%;
	object-fit: cover;
	transition-duration: var(--c_duration);
}

.c_hover_scale_trigger:hover .c_hover_scale_item,
.c_hover_scale_trigger:hover.c_hover_scale_item{
	transform: scale(1.1);
}


.c_hover_shadow{
	transition-duration: var(--c_duration);
}

@media(any-hover:hover){
	.c_hover_shadow:hover{
		box-shadow: var(--hover_shadow);
	}
}



.anime_fadein_bottom{
	opacity: 0;
	animation-duration: 1s;
	animation-fill-mode: forwards;
	transform: translateY(40px);
}

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

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




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

.hide{
	display: none!important;
}

.vanish{
	visibility: hidden;
}

.container{
	max-width: 1200px;
	/* padding:0 20px; */
	margin:0 auto;
}

section{
	position: relative;
}


.c_radi{
	width:42px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	border:3px solid var(--black);
	background-color: #fff;
	transition-duration: var(--c_duration);
}

.c_radi::after{
	content:'';
	width:12px;
	height:12px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	transition-duration: var(--c_duration);
}

@media(any-hover:hover){
	a:hover .c_radi{
		background-color: var(--black);
	}

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


.c_radi_link{
	display: flex;
	align-items: center;
	width: fit-content;
	gap:24px;
	font-weight: 900;
}

.c_radi_link .radi{
	width:42px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	flex-shrink: 0;
	border:3px solid var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	transition-duration: var(--c_duration);
	background-color: #fff;
}

.c_radi_link .radi::after{
	content:'';
	width:12px;
	height:12px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	transition-duration: var(--c_duration);
}

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


.c_logo_head{
	display: flex;
	align-items: center;
	justify-content: center;
	gap:8px;
	font-size: 24px;
	font-weight: 900;
}

.c_logo_head::before{
	content:'';
	flex-shrink: 0;
	width:15px;
	height:18px;
	background-image: url('../img/common/logo_deco.svg');
}


.c_logo_head.sub{
	font-size: 14px;
	font-weight: 700;
}
.c_logo_head.sub::before{
	width:11px;
	height:14px;
}


.c_news_list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:24px;
}

.c_news_list .news_block{
	display: block;
	min-height: 100%;
	border-radius: 5px;
	border: 2px solid var(--black);
	background: #FFF;
	padding-top: 8px;
	padding-inline: 16px;
	padding-bottom: 32px;
}

.c_news_list .news_head_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:16px;
	padding-bottom: 8px;
	border-bottom:1px solid var(--black);
}

.c_news_list .news_date{
	flex-shrink: 0;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.c_news_list .news_category{
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	min-height: 22px;
	padding:3px 16px;
	border-radius: 9999px;
	border:1px solid var(--black);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.c_news_list .news_body_flex{
	margin-top: 32px;
	display: flex;
	align-items: flex-start;
	gap:40px;
}

.c_news_list .news_thumb{
	flex-shrink: 0;
	width:156px;
	aspect-ratio: 1 / calc(88 / 156);
	border-radius: 5px;
}

.c_news_list .news_title{
	font-weight: 700;
	line-height: 1.5;
}

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



.c_page_border_frame{
	width:100%;
	position: fixed;
	z-index: 100;
	pointer-events: none;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	justify-content: center;
	align-items: center;
	letter-spacing: 0;
}



.c_page_border_frame .page_border_inner{
	width:100%;
	height:100dvh;
	position: relative;
}

.c_page_border_frame .page_border{
	position: absolute;
	z-index: 1;
	background-color: #fff;
	pointer-events: auto;
}

.c_page_border_frame .page_border_top,
.c_page_border_frame .page_border_bottom{
	width:100%;
	height:20px;
	left:0;
}

.c_page_border_frame .page_border_top{
	top:0;
	border-bottom:2px solid var(--black);
}
.c_page_border_frame .page_border_bottom{
	bottom:0;
	border-top:2px solid var(--black);
}

.c_page_border_frame .page_border_left,
.c_page_border_frame .page_border_right{
	width:20px;
	height:100%;
	top:0;
}

.c_page_border_frame .page_border_left{
	left:0;
	border-right:2px solid var(--black);
}

.c_page_border_frame .page_border_right{
	right:0;
	border-left:2px solid var(--black);
}

.c_page_border_frame .page_curve{
	position: absolute;
	z-index: 10;
	width:11px;
	aspect-ratio: 1 / 1;
	pointer-events: auto;
	background-image: url('../img/common/page_curve_left_bottom.svg');
}

.c_page_border_frame .page_curve::after{
	content:'';
	width:20px;
	height:20px;
	background-color: #fff;
	position: absolute;
	z-index: 20;
}

.c_page_border_frame .page_curve_left_bottom{
	bottom: 17px;
    left: 17px;
}

.c_page_border_frame .page_curve_left_bottom::after{
	right:11px;
	top:0;
}

.c_page_border_frame .page_curve_right_top{
	transform: rotateZ(180deg);
	top: 17px;
    right: 17px;
}
.c_page_border_frame .page_curve_right_top::after{
	right:4px;
	bottom:-19px;
}

.c_page_border_frame .logo_area{
	position: absolute;
	top:0;
	left:0;
	z-index: 30;
	pointer-events: auto;
	background-color: #fff;
	border-radius: 0 0 10px;
	border-bottom:2px solid var(--black);
	border-right:2px solid var(--black);
}

.c_page_border_frame .logo_inner{
	position: relative;
	padding-top:20px;
	padding-left: 20px;
	padding-right: 20px;
	padding-bottom: 20px;
}

.c_page_border_frame .logo{
	display: block;
	transition-duration: 0.7s;
	width:121px;
	aspect-ratio: 1 / calc(47 / 121);
	margin-top: 8px;
}

.c_page_border_frame .logo img{
	width:100%;
	height:100%;
	object-fit: contain;
}

.c_page_border_frame .logo_curve_left_bottom{
	top: calc(100% - 1px);
    left: 17px;
	transform: rotateZ(90deg);
}

.c_page_border_frame .logo_curve_left_bottom::after{
	top: 10px;
    left: -5px;
}

.c_page_border_frame .logo_curve_right_top{
	top: 17px;
    left:calc(100% - 1px);
	transform: rotateZ(90deg);
}

.c_page_border_frame .logo_curve_right_top::after{
	/* content: none; */
	top: 6px;
    left: -20px;
}

.c_page_border_frame .news_area{
	position: absolute;
	bottom:0;
	right:0;
	z-index: 30;
	pointer-events: auto;
	background-color: #fff;
	border-radius: 10px 0 0 0;
	border-top:2px solid var(--black);
	border-left:2px solid var(--black);

}

.c_page_border_frame .news_area .news_inner{
	padding:20px;
	padding-top: 10px;
	padding-left: 10px;
}

.c_page_border_frame .news_area .news_link{
	display: flex;
	flex-direction: column;
	align-items: center;
	gap:8px;
}

.c_page_border_frame .news_area .news_text{
	position: relative;
	overflow: hidden;
	font-weight: 700;
	line-height: 1.2;
}

.c_page_border_frame .news_area .news_text_ja,
.c_page_border_frame .news_area .news_text_en{
	transition-duration: var(--c_duration);
	transition-timing-function: var(--easeInOutBack);

}

.c_page_border_frame .news_area .news_text_ja{

}

.c_page_border_frame .news_area .news_text_en{
	width:100%;
	height:100%;
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	writing-mode: vertical-lr;
	top:100%;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
}

.c_page_border_frame .news_area .radi{
	display: flex;
	justify-content: center;
	align-items: center;
	
	width:20px;
	aspect-ratio: 1 / 1;
	background-color: var(--black);
	transition-duration: var(--c_duration);
	border-radius: 9999px;
	border:1px solid var(--black);
}

.c_page_border_frame .news_area .border{
	width:20px;
	height:1px;
	border-radius: 10px;
	background-color: var(--black);
}

.c_page_border_frame .news_area .radi::after{
	content:'';
	width:13px;
	height:7px;
	background-image: url('../img/common/icon_arrow_right_long_white.svg');
	transition-duration: var(--c_duration);
	
}


@media(any-hover:hover){
	.c_page_border_frame .news_area:hover .news_text_ja{
		transform: translateY(-100%);
	}
	.c_page_border_frame .news_area:hover .news_text_en{
		top:0;
	}
	.c_page_border_frame .news_area:hover .radi{
		background-color: #fff;
	}
	.c_page_border_frame .news_area:hover .radi::after{
		background-image: url('../img/common/icon_arrow_right_long_black.svg');
	}
}

.c_page_border_frame .news_curve_left_bottom{
	right:calc(100% - 1px);
	bottom:17px;
	transform: rotateZ(-90deg);
}
.c_page_border_frame .news_curve_left_bottom::after{
	top: 6px;
    left: -18px;
}

.c_page_border_frame .news_curve_right_top{
	right:17px;
	bottom:calc(100% - 1px);
	transform: rotateZ(-90deg);
}
.c_page_border_frame .news_curve_right_top::after{
	top: 9px;
    left: -16px;
}


header{
	position: fixed;
	right:40px;
	top:40px;
	z-index: 200;
	background-color: #fff;
	border:2px solid var(--black);
	padding:3px;
	padding-left: 24px;
	border-radius: 9999px;
	letter-spacing: 0;
}

header .header_nav{
	display: flex;
	justify-content: center;
	align-items: center;
	gap:24px;
}

header .header_parent_menu{
	display: flex;
	align-items: center;
	gap:24px;
}

header .header_parent_item:has(.header_child_menu){
	display: flex;
	align-items: center;
	gap:8px;
	position: relative;
	cursor: pointer;
}

header .header_parent_item:has(.header_child_menu)::after{
	content:'';
	width:14px;
	height:10px;
	background-image: url('../img/common/icon_triangle_bottom_black.svg');
	flex-shrink: 0;
	margin-top: 2px;
	transition-duration: var(--c_duration);
}

header .header_parent_link{
	display: block;
	position: relative;
	overflow: hidden;
	font-weight: 900;
	height:24px;
}

header .header_parent_link_ja,
header .header_parent_link_en{
	transition-duration: var(--c_duration);
	transition-timing-function: var(--easeInOutBack);
	height:100%;
	display: flex;
	align-items: center;
}

@media(any-hover:hover){
	header .header_parent_item:hover .header_parent_link_ja{
		transform: translateY(-100%);
	}
	header .header_parent_item:hover .header_parent_link_en{
		transform: translateY(-100%);
	}
}

header .header_parent_item.active::after{
	transform: rotateZ(180deg);
}

header .header_parent_item.active .header_parent_link_ja{
	transform: translateY(-100%);
}
header .header_parent_item.active .header_parent_link_en{
	transform: translateY(-100%);
}


header .header_child_menu_block{
	position: absolute;
	top:calc(100% + 3px);
	left:-32px;
	border-radius: 15px;
	/* background: rgba(255, 255, 255, 0.60); */
	background: rgba(255, 255, 255, 0.90);
	box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.25);
	white-space: nowrap;
	padding:16px;
	transition-duration: 0.7s;
	transform-origin: top;
	opacity: 0;
	transform: scaleY(0);
	pointer-events: none;
}

header .header_parent_item.active .header_child_menu_block{
	opacity: 1;
	transform: scaleY(1);
	pointer-events: auto;
}

header .header_child_menu a{
	display: block;
	display: flex;
	align-items: center;
	min-height: 30px;
	padding:4px 8px;
	padding-right: 16px;
	transition-duration: var(--c_duration);
	gap:8px;
	font-weight: 900;
	border-radius: 9999px;
}

header .header_child_menu a::before{
	content:'';
	width:5px;
	height:9px;
	flex-shrink: 0;
	transition-duration: var(--c_duration);
	margin-top: 2px;
	background-image: url('../img/common/icon_angle_right_bold_black.svg');
}

header .header_child_menu a span{
	transition-duration: var(--c_duration);
}

header .header_child_item + .header_child_item{
	margin-top: 8px;
}

header .header_grandchild_menu{
	padding-left: 16px;
}

header .header_grandchild_menu a{
	font-size: 14px;
	font-weight: 700;
}

header .header_grandchild_menu a::before{
	background-image: url('../img/common/icon_angle_right_black.svg');
}

@media(any-hover:hover){
	header .header_child_menu a:hover{
		background-color: var(--black);
		color:#fff;
	}
	header .header_child_menu a:hover::before{
		background-image: url('../img/common/icon_angle_right_bold_white.svg');
	}
	header .header_child_menu a:hover span{
		transform: translateX(8px);
	}

	header .header_grandchild_menu a:hover::before{
		background-image: url('../img/common/icon_angle_right_white.svg');
	}

}


header .header_button_area{
	overflow: hidden;
	border-radius: 9999px;
	display: flex;
	align-items: center;
}

header .header_button{
	min-height: 50px;
	min-width: 110px;
	padding:8px;
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	font-weight: 900;
	text-align: center;
}

header .header_button.faq{
	background-color: var(--blue);
}
header .header_button.entry{
	background-color: var(--red);
}

header .header_button_text{
	height:24px;
	overflow: hidden;
}

header .header_button_text_ja,
header .header_button_text_en{
	transition-duration: var(--c_duration);
	transition-timing-function: var(--easeInOutBack);
	height:100%;
}


@media(any-hover:hover){
	header .header_button:hover .header_button_text_ja{
		transform: translateY(-100%);
	}
	header .header_button:hover .header_button_text_en{
		transform: translateY(-100%);
	}
}


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

#footer_blank{
	height:200px;
	background-color: #fff;
	position: relative;
	z-index: 1;
	border-bottom:2px solid var(--black);
}


footer{
	position: sticky;
	bottom:0;
	width:100%;
	z-index: 0;
	min-height:100vh;
	background-color: var(--gray);
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 40px;
	padding-bottom: 40px;
}

footer .footer_inner{
	width:100%;
	padding-top: 90px;
}

footer .footer_box_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:24px;
}

footer .footer_box{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	border-radius: 5px;
	border: 2px solid var(--black);
	background: #FFF;
	padding:32px 16px;
	transition-duration: var(--c_duration);
}

footer .footer_box_text{
	text-align: center;
}

footer .footer_box_text_ja{
	font-size: 48px;
	font-weight: 700;
}

footer .footer_box_text_en{
	margin-top: 4px;
	font-weight: 700;
}

footer .footer_box_radi{
	width:42px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	border:3px solid var(--black);
	background-color: #fff;
	transition-duration: var(--c_duration);
	margin-inline: auto;
	margin-top: 16px;
}

footer .footer_box_radi::after{
	content:'';
	width:12px;
	height:12px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	transition-duration: var(--c_duration);
}

@media(any-hover:hover){
	footer .footer_box:hover{
		box-shadow: var(--hover_shadow);
	}
	footer .footer_box:hover .footer_box_radi{
		background-color: var(--black);
	}
	footer .footer_box:hover .footer_box_radi::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}

footer .footer_box_deco{
	position: absolute;
	background-size: contain;
	left: 50%;
	transform: translateX(-50%);
}

footer .footer_box_deco01{
	width:74px;
	aspect-ratio: 1 / calc(48 / 74);
	background-image: url('../img/common/footer_deco01.png');
	top:-24px;
}
footer .footer_box_deco02{
	width:43px;
	aspect-ratio: 1 / calc(54 / 43);
	background-image: url('../img/common/footer_deco02.png');
	top:-24px;
}
footer .footer_box_deco03{
	width:34px;
	aspect-ratio: 1 / calc(51 / 34);
	background-image: url('../img/common/footer_deco03.png');
	top:-18px;
}

footer .footer_flex{
	/* margin-top: 80px; */
	margin-top: 40px;
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
}

footer .footer_logo{
	display: block;
	max-width: 146px;
}

footer .footer_site_name{
	margin-top: 16px;
	font-size: 20px;
	font-weight: 900;
}

footer .footer_address{
	margin-top: 16px;
	line-height: 1.5;
}

footer .footer_right{
	flex-shrink: 0;
}

footer .footer_link_list_frame{
	display: flex;
	justify-content: flex-end;
}

footer .footer_link_list li + li{
	margin-top: 40px;
}

footer .footer_link_list li a{
	display: block;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:8px;
	font-weight: 700;
}

footer .footer_link_list li a span{
	position: relative;
}

footer .footer_link_list li a span::after{
	content:'';
	width:100%;
	height:2px;
	background-color: var(--black);
	position: absolute;
	top:100%;
	left:0;
	transition-duration: var(--c_duration);
	transform-origin: left;
	transform: scaleX(0);
}

footer .footer_link_list li a::after{
	content:'';
	flex-shrink: 0;
	width:19px;
	height:19px;
	background-image: url('../img/common/icon_link_black.svg');
}

@media(any-hover:hover){
	footer .footer_link_list li a:hover span::after{
		transform: scaleX(1);
	}
}


footer .footer_copy{
	margin-top: 40px;
	font-weight: 500;
}
/*
------------------------------------
仕事と文化を知るセクション
------------------------------------
*/

.c_work_section{
	padding-top: 200px;
}

.c_work_section .sec_head{
	max-width: 188px;
	margin-inline: auto;
}

.c_work_section .work_grid{
	margin-top: 40px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:24px;
	padding-bottom: 20px;
}

.c_work_section .work_block{
	display: flex;
	justify-content: center;
	align-items: center;
	border:2px solid var(--black);
	background-color: #fff;
	border-radius: 5px;
	position: relative;
	padding-inline: 40px;
	padding-top: 24px;
	padding-bottom: 24px;
}


.c_work_section .work_title{
	text-align: center;
	font-weight: 900;
	font-size: 48px;
	line-height: 0.8;
}

.c_work_section .work_title span{
	font-size: 24px;
	font-weight: 700;
	line-height: 2;
	display: inline-block;
}

.c_work_section .radi{
	margin-inline: auto;
	margin-top: 16px;
}

.c_work_section .work_block01{
	min-height: 544px;
}

.c_work_section .work_block01 .work_contents{
	padding-top: 60px;
}
.c_work_section .work_block01 .work_title{
	font-size: 64px;
}

.c_work_section .work_block01 .deco01_01{
	position: absolute;
	width:300px;
	top:30px;
	left:16px;
}

.c_work_section .work_block01 .deco01_02{
	position: absolute;
	width:162px;
	bottom:38px;
	right:50px;
}

.c_work_section .work_right{
	display: flex;
	flex-direction: column;
	gap:24px;
} 

.c_work_section .work_right .work_block{
	width:100%;
	min-height: 260px;
	height: calc(50% - 12px);
	justify-content: space-between;
	gap:12px;
}

.c_work_section .work_right .work_block .work_contents{
	padding-top: 20px;
}

.c_work_section .work_block02 .deco02_01{
	width:247px;
}

.c_work_section .work_block03 .work_title{
	font-size: 44px;
}
.c_work_section .work_block03 .deco03_01{
	width:238px;
}

/*
------------------------------------
先輩の声セクション
------------------------------------
*/


.c_voice_section{
	padding-top: 200px;
}


.c_voice_section .voice_area{
	display: flex;
	justify-content: end;
}

.c_voice_section .voice_frame{
	width: calc(50% + 600px);
	display: flex;
	align-items: flex-start;
}

.c_voice_section .voice_left{
	flex-shrink: 0;
	width:250px;
	padding-right: 30px;
	min-height: 518px;
}

.c_voice_section .head_block{
	width: fit-content;
}

.c_voice_section .sec_head{
	font-size: 64px;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.3em;
	margin-top: -16px;
}

.c_voice_section .sec_sub_head{
	margin-top: 36px;
	padding-right: 16px;
}

.c_voice_section .voice_deco_area{
	margin-top: 32px;
	position: relative;
}

.c_voice_section .voice_deco{
	position: absolute;
	width:373px;
	z-index: 10;
	top:0;
	left:-64px;
}

.c_voice_section .voice_right{
	width:100%;
}

.c_voice_section .voice_swiper{
	width:100%;
	overflow: hidden;
	padding-bottom: 50px;
}

.c_voice_section .voice_slide{
	margin-inline: 20px;
	width:344px;
}

.c_voice_card{
	display: block;
	min-height: 100%;
	position: relative;
	background-color: #fff;
	border:2px solid var(--black);
	border-radius: 5px;
	padding:6px 6px 16px;
	transition-duration: var(--c_duration);
}

@media(any-hover:hover){
	.c_voice_card:hover{
		box-shadow: var(--hover_shadow);
		
	}
}

.c_voice_card .voice_card_inner{
	position: relative;
	overflow: hidden;
}

.c_voice_card .voice_thumb{
	aspect-ratio: 1 / calc(419 / 332);
	position: relative;
}

.c_voice_card .voice_thumb img{
	width:100%;
	height:100%;
	object-fit: cover;
	border-radius: 5px;
}
.c_voice_card .voice_thumb::before{
	content:'';
	width:100%;
	height:90px;
	background-color: #fff;
	position: absolute;
	bottom:5px;
	right:0;
	z-index: 1;
	clip-path: polygon(0 100%, 100% 100%, 100% 0);
}

.c_voice_card .voice_thumb::after{
	content:'';
	width:100%;
	height:10px;
	background-color: #fff;
	position: absolute;
	right:0;
	z-index: 1;
	top:calc(100% - 8px);
}

.c_voice_card .bar{
	width:200%;
	height:8px;
	position: absolute;
	left: 50%;
	transform: translateX(-50%) rotateZ(-15.3deg);
	z-index: 3;
}

.c_voice_card .bar.blue{
	background-color: var(--blue);
	bottom:50px;
}
.c_voice_card .bar.red{
	background-color: var(--red);
	bottom:58px;
}
.c_voice_card .bar.green{
	background-color: var(--green);
	bottom:66px;
}

.c_voice_card .voice_text_area{
	padding-top: 10px;
	padding-left: 16px;
	width: fit-content;
	font-weight: 500;
}

.c_voice_card .voice_name{
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap:4px 8px;

}

.c_voice_card .staff_number{
	position: absolute;
	right:12px;
	top:calc(100% - 155px);
	font-size: 24px;
	font-weight: 900;
	writing-mode: vertical-lr;
	z-index: 4;
	letter-spacing: -0.05em;
}

.c_voice_card .staff_deco{
	position: absolute;
	z-index: 5;
	background-size: contain;
}

.c_voice_card .staff_deco01{
	width:75px;
	aspect-ratio: 1 / calc(98 / 75);
	background-image: url('../img/people/people01_deco.png');
	right:12px;
	bottom:-32px;
}

.c_voice_card .staff_deco02{
	width:61px;
	aspect-ratio: 1 / calc(98 / 61);
	background-image: url('../img/people/people02_deco.png');
	right:7px;
	bottom:-32px;
}
.c_voice_card .staff_deco03{
	width:51px;
	aspect-ratio: 1 / calc(100 / 51);
	background-image: url('../img/people/people03_deco.png');
	right:8px;
	bottom:-32px;
}

.c_voice_card .staff_deco04{
	width:87px;
	aspect-ratio: 1 / calc(93 / 87);
	background-image: url('../img/people/people04_deco.png');
	right:8px;
	bottom:-25px;
}

.c_voice_card .staff_deco05{
	width:127px;
	aspect-ratio: 1 / calc(80 / 127);
	background-image: url('../img/people/people05_deco.png');
	right:0;
	bottom:-25px;
}

.c_voice_section .voice_link_frame{
	display: flex;
	justify-content: flex-end;
	margin-top: 24px;
}


.c_voice_section .this_page{
	width: 240px;
	aspect-ratio: 1 / 1;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	max-width: 90%;
	background-color: rgba(48, 48, 48, 0.65);
	display: flex;
	justify-content: center;
	align-items: center;
	color: #FFF;
	text-align: center;
	font-size: 24px;
	font-weight: 500;
	z-index: 5;
	border-radius: 50%;
}
/*
------------------------------------
ローディング画面
------------------------------------
*/

.loading_dammy_bg{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	height:100vh;
	z-index: 900;
	pointer-events: none;
	background-color: #fff;
	animation-name: dammy_bg;
	animation-duration: 0.3s;
	animation-delay: 0.5s;
	animation-fill-mode: forwards;
}

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

}

.c_loading_section{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 1000;
	pointer-events: none;
	opacity: 0;
	transition-duration: 0.3s;
}

.c_loading_section.show{
	opacity: 1;
}

.c_loading_section .loading_inner{
	height:100vh;
	position: relative;
}

.c_loading_section .loading_contents{
	height:100%;
	pointer-events: none;
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
}

.c_loading_section .loading_text{
	width:520px;
	max-width: 90%;
	transition-duration: 2s;
	transition-property:opacity ;
	opacity: 0;

}

.c_loading_section.active .loading_text{
	opacity: 1;
	transition-delay: 0.5s;
}

.c_loading_section.active .loading_contents{
	pointer-events: auto;
}

.c_loading_section .curtain{
	position: absolute;
	width:100%;
	height:100%;
	bottom:0;
	left:0;
	transform-origin: bottom;
	transition-property: transform;
	/* transition-timing-function: cubic-bezier(0.85, 0, 0.15, 1); */
	transform: scaleY(0);
	pointer-events: auto;
}

.c_loading_section .curtain.green{
	background-color: var(--green);
	transition-duration: 1.3s;
	transition-delay: 3s;
}
.c_loading_section .curtain.red{
	background-color: var(--red);
	transition-duration: 1.0s;
	transition-delay: 3.4s;
}
.c_loading_section .curtain.blue{
	background-color: var(--blue);
	transition-duration: 0.7s;
	transition-delay: 3.7s;
}

.c_loading_section.active .curtain{
	transform: scaleY(1);
}

.c_loading_section.curtain_hide .loading_contents{
	display: none;
}

.c_loading_section.curtain_hide .curtain{
	transform-origin: top;
	transform: scaleY(0);
	transition-delay: 0s!important;
	transition-duration: 1.5s!important;
}


/*
------------------------------------
YOUTUBE ポップアップ
------------------------------------
*/
#movie_pop{
	position: fixed;
	width:100%;
	background-color: rgba(0, 0, 0, 0.70);
	z-index: 10000;
	top:0;
	left:0;
	pointer-events: none;
	opacity: 0;
	transition-duration: 0.7s;
}


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

#movie_pop .pop_inner{
	height:100dvh;
	display: flex;
	justify-content: center;
	align-items: center;
}

#movie_pop .pop_block{
	position: relative;
	width:88%;
	max-width: 1000px;
}

#movie_pop .movie_frame{
	aspect-ratio: 1 / 0.5625;
	position: relative;
	
	max-height: calc(100dvh - 100px);
	/* background-color: #fff; */
}

#movie_pop .pop_close{
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	bottom:calc(100% + 10px);
	/* left:calc(100%); */
	right:0;
	
	aspect-ratio: 1 / 1;
	cursor: pointer;
}

#movie_pop .pop_close::before,
#movie_pop .pop_close::after{
	content:'';
	width:40px;
	height:3px;
	background-color: #fff;
}

#movie_pop .pop_close::before{
	rotate:45deg;
}
#movie_pop .pop_close::after{
	rotate:-45deg;
	margin-top: -3px;
}

#movie_pop iframe{
	display: block;
	width:100%;
	height:100%;
	object-fit: cover;
}
/*
------------------------------------
トップ
------------------------------------
*/

body.top_body .c_page_border_frame .logo{
	width:418px;
}

body.top_body header{
	transition-duration: 0.7s;
	opacity: 0;
	pointer-events: none;
	transform: translateY(-20px);
}

body.top_body.scroll .c_page_border_frame .logo{
	width:121px;
}

body.top_body.scroll header{
	pointer-events: auto;
	opacity: 1;
	transform: translateY(0);
}

.top_section_wrap{
	position: relative;
	
}

.top_fv_sticky_frame{
	position: relative;
	margin-top: -100vh;
}

.top_fv_sticky_frame .top_fv_sticky_block{
	width:100%;
	position: sticky;
	top:80px;
	/* bottom:0; */
	pointer-events: none;
	z-index: 3;
}

.top_fv_sticky_frame .top_fv_sticky_inner{
	max-width: 1200px;
	margin-inline: auto;
	padding-left: 380px;
}

.top_fv_sticky_frame .top_fv_sticky_img{
	width:1095px;
	height:0;
	/* height:1160px; */
}

.top_fv_sticky_frame .top_fv_sticky_img img{
	width:100%;
	object-fit: contain;
}

.top_section{
	background-color: #fff;
	z-index: 2;
}

.top_fv_section{
	padding-top: 290px;
	padding-bottom: 380px;
	/* margin-top: -1160px; */
}

.top_fv_section .contents_frame{
	max-width: 380px;
}

.top_fv_section .fv_catch{
	display: flex;
	align-items: center;
	gap:10px;
	min-height:120px;
}

.top_fv_section .fv_catch01{
	width:120px;
	animation: flashMove 3s steps(1) infinite;
}

@keyframes flashMove {
	0% {
		transform: translate(0, 0);
	}
	25% {
		transform: translate(-16px, -8px);
	}
	50% {
		transform: translate(0, 10px);
	}
	75% {
		transform: translate(-8px, -8px);
	}
	100% {
		transform: translate(0, 0);
	}
}

.top_fv_section .fv_catch02{
	width:212px;
}

.top_fv_section .contents_block{
	margin-top: 56px;
}

.top_fv_section .contents_head{
	font-size: 12px;
	font-weight: 500;
	
}

.top_fv_section .contents_list{
	margin-top: 10px;
	font-weight: 500;
}

.top_fv_section .contents_line + .contents_line{
	margin-top: 4px;
}

.top_fv_section .contents_line a{
	transition-duration: var(--c_duration);
}

@media(any-hover:hover){
	.top_fv_section .contents_line a:hover{
		opacity: 0.5;
	}
}

.top_company_section{
	min-height: 1160px;
	/* padding-top: 380px; */
}

.top_company_section .company_head{
	max-width: 170px;
}

.top_company_section .company_catch{
	margin-top: 40px;
	font-size: 32px;
	font-weight: 900;
	line-height: 2;
}

.top_company_section .company_text{
	margin-top: 40px;
	/* font-weight: 700; */
	line-height: 2;
}

.top_company_section .company_link_frame{
	margin-top: 40px;
}

.top_company_section .company_frame{
	max-width: 340px;
}

.top_head_section{
	padding-top: 200px;
	padding-bottom: 40px;

	border-bottom:2px solid var(--black);
}

.top_head_section .head_img{
	max-width: 170px;
	margin-inline: auto;
}

.top_people_section{
	width:100%;
	position: sticky;
	z-index: 0;
	top:0;

}

.top_people_section .top_people_inner {
	height:100vh;
	background-image:url('../img/top/top_people_bg.jpg');
	display: flex;
	justify-content: center;
	flex-direction: column;
	align-items: center;
	position: relative;
}

.top_people_section .top_people_inner::before{
	content:'';
	width:100%;
	height:100%;
	background-color: rgba(48 , 48 , 48 , 0.1);
	position: absolute;
	top:0;
	left:0;
	z-index: 1;
}

.top_people_section .top_people_inner video{
	width:100%;
	height:100%;
	object-fit: cover;
	position: absolute;
	top:0;
	left:0;
}

.top_people_section .link_block{
	width:458px;
	max-width: 90%;
	display: block;
	margin-inline: auto;
	background-color: #fff;
	border: 2px solid var(--black);
	padding-top: 48px;
	position: relative;
	padding-bottom: 24px;
	padding-inline: 20px;
	transition-duration: var(--c_duration);
	border-radius: 5px;
	z-index: 3;
}

.top_people_section .link_block .radi{
	margin-inline: auto;
	margin-top: 24px;
}

.top_people_section .link_block .deco_area{
	position: absolute;
	bottom:calc(100% - 20px);
	left: 50%;
	transform: translateX(-50%);
}

.top_people_section .link_block .deco_inner{
	position: relative;
}

.top_people_section .link_block .deco_img_frame{
	overflow: hidden;
	width:128px;
	aspect-ratio: 1 / calc(92 / 128);
}

.top_people_section .link_block .deco{
	display: block;
	width:100%;
	height:100%;
	background-size: contain;
	background-image: url('../img/top/top_people_deco01.png');
	transition-duration: 1.3s;
	transition-timing-function: cubic-bezier(0.65, 0, 0.35, 1)/*easeInOutCubic*/;
	transform: translateY(100%);
}

.top_people_section .link_block .balloon{
	position: absolute;
	transition-duration: var(--c_duration);
	transition-property: opacity;
	opacity: 0;
	transition-delay: 1.5s;
}

.top_people_section .link_block .balloon img{
	height:44px;
	width: auto;
}

.top_people_section .link_block .balloon01{
	bottom:calc(100% - 18px);
	right:calc(100% - 18px);
}

.top_people_section .link_block .balloon02{
	bottom:calc(100% - 34px);
	left:calc(100% - 8px);
}


.top_body:has(.top_people_copy_section.anime_active) .link_block .deco{
	transform: translateY(0);
}
.top_body:has(.top_people_copy_section.anime_active) .link_block .balloon{
	opacity: 1;
}

.top_body:has(.top_people_copy_section.vanish_trigger) .top_people_section{
	visibility: hidden;
}

.top_people_section{
	/* visibility: hidden; */
	/* transform: translate3d(0 , 0 , 0); */
}


.top_people_copy_section{
	height:100vh;
	
}

.top_voice_section{
	border-top:2px solid var(--black);
}
	

.top_guide_section{
	padding-top: 120px;
}


.top_guide_section .deco_frame{
	position: relative;
	max-width: 82px;
	margin-inline: auto;
}

.top_guide_section .deco{
	aspect-ratio: 1 / calc(138 / 82);
	background-size: contain;
	background-image: url('../img/top/top_guide_deco01.png');
}

.top_guide_section .balloon{
	position: absolute;

}

.top_guide_section .balloon img{
	height:68px;
	width:auto;
}

.top_guide_section .balloon01{
	right:calc(100% + 34px);
	top:-12px;
}
.top_guide_section .balloon02{
	left:calc(100% + 18px);
	top:3px;
}

.top_guide_section .guide_list{
	margin-top: 10px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:40px;
	padding-bottom: 20px;
}

.top_guide_section .guide_block{
	padding-top: 64px;
	padding-inline: 16px;
	padding-bottom: 48px;
	border:2px solid var(--black);
	border-radius: 10px;
	transition-duration: var(--c_duration);
}

.top_guide_section .guide_block_inner{
	max-width: 440px;
	margin-inline: auto;
}

.top_guide_section .guide_head_flex{
	display: flex;
	gap:24px;
}

.top_guide_section .guide_border{
	width:2px;
	background-color: var(--black);
	border-radius: 1px;
	flex-shrink: 0;
}

.top_guide_section .guide_head_left{
	display: flex;
	gap:5px;
	flex-shrink: 0;
}


.top_guide_section .guide_head_ja{
	font-size: 80px;
	font-weight: 900;
	line-height: 1.12;
	writing-mode: vertical-lr;
	letter-spacing: 0.1em;
}

.top_guide_section .guide_head_en{
	writing-mode: vertical-lr;
	font-size: 20px;
	font-weight: 900;

	letter-spacing: 0.3em;
}

.top_guide_section .guide_head_right{
	width:100%;
}

.top_guide_section .guide_catch{
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
	gap:10px;
}

.top_guide_section .guide_block .radi{
	flex-shrink: 0;
}

.top_guide_section .guide_text{
	margin-top: 24px;
	font-size: 14px;
	line-height: 2;
}

.top_guide_section .guide_img{
	margin-top: 56px;
	aspect-ratio: 1 / calc(242 / 440);
	overflow: hidden;
	border-radius: 5px;
}

.top_news_section{
	padding-top: 200px;
}

.top_news_section .sec_head{
	font-size: 56px;
	font-weight: 900;
	text-align: center;
}

.top_news_section .sec_sub_head{
	margin-top: 6px;
}

.top_news_section .news_list{
	margin-top: 56px;
}

.top_news_section .news_button_frame{
	display: flex;
	justify-content: center;
	margin-top: 80px;
}


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

.page_fv_section{
	z-index: 3;
	background-color: #fff;
}

.page_fv_section .fv_frame{
	min-height: 50vh;
	padding-top: 120px;
	display: flex;
	justify-content: center;
	align-items: flex-end;
}

.page_fv_section .fv_contents{
	width:100%;
	position: relative;
	padding-bottom: 8px;
}

.page_fv_section .fv_contents::after{
	content:'';
	width:100vw;
	height:1px;
	background-color: var(--black);
	position: absolute;
	bottom:0;
	left: 50%;
	transform: translateX(-50%);
}

.page_fv_section .img_head{
	max-width: 100px;
	margin-inline: auto;
}

.page_fv_section .page_title{
	margin-top: 24px;
	font-size: 56px;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-align: center;
	line-height: 1;
}

.page_fv_section .page_title span{
	font-size: 40px;
	display: inline-block;
	line-height: 1;
}

.page_fv_section .fv_deco{
	position: absolute;
	z-index: 2;
}
/*
------------------------------------
パンクズ
------------------------------------
*/

.c_bread_section{
	width: 100%;
	position: absolute;
	bottom:0;
	left:0;
	padding-bottom: 8px;
}

.c_bread_section .bread_frame{
	display: flex;
	justify-content: flex-end;
}

.c_bread_section .bread_list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap:12px 8px;
	font-size: 12px;
	line-height: 1.5;
	letter-spacing: 0;
}

.c_bread_section .bread_list a{
	transition-duration: 0.4s;
}

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

.c_bread_section .bread_list .arrow{
	width: 24px;
	aspect-ratio: 1 / calc(4 / 24);
	background-image: url('../img/common/icon_bread_arrow.svg');
	background-size: contain;
	margin-top: 2px;
}

/*
------------------------------------
ロジコム・アイについて
------------------------------------
*/

.about_section{
	background-color: #fff;
	z-index: 1;
}

.about_fv_section{
	margin-top: -100vh;
}

.about_fv_section .fv_deco{
	width:245px;
	bottom:-60px;
	left:-70px;
}

.about_mission_section{
	padding-top: 130px;
}


.about_mission_section .sec_head{
	justify-content: flex-start;
}

.about_mission_section .mission_flex{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap:30px 10px;
}

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

.about_mission_section .mission_text{
	margin-top: 24px;
	line-height: 2;
	
}

.about_mission_section .mission_left{
	max-width: 625px;
}


.about_mission_section .mission_right{
	flex-shrink: 0;
	max-width:calc(484 / 1200 * 100%);
}

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

.about_value_section .value_catch_frame{
	margin-top: 24px;
	display: flex;
	justify-content: center;
	align-items: flex-start;
	flex-direction: row-reverse;
	gap:40px;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.25;
	white-space: nowrap;
	
}

.about_value_section .value_catch_frame p{
	writing-mode: vertical-lr;
}

.about_value_section .value_catch_frame p span{
	writing-mode: horizontal-tb;
	display: inline-block;
	line-height: 1.05;
}

.about_value_section .value_guide{
	max-width: 525px;
	margin-inline: auto;
	margin-top: 80px;
	line-height: 2;
}

.about_value_section .value_list_area{
	margin-top: 80px;
}

.about_value_section .value_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:48px;
}
.about_value_section .value_slide{

}

.about_value_section .value_card{
	display: block;
	min-height: 100%;
	border-radius: 9999px;
	border:2px solid var(--black);
	padding-top: 24px;
	padding-bottom: 40px;
	padding-inline: 30px;
}

.about_value_section .value_num{
	text-align: center;
	font-size: 24px;
	font-weight: 900;
}

.about_value_section .value_title{
	margin-top: 24px;
	font-size: 32px;
	text-align: center;
	font-weight: 700;
	line-height: 2;
	border-bottom:1px solid var(--black);
	padding-bottom: 20px;
}

.about_value_section .value_text{
	margin-top: 20px;
	line-height: 2;
}

.about_value_section .value_deco{
	display: block;
	margin-inline: auto;
	margin-top: 16px;
}

.about_value_section .value_deco01{
	width:108px;
	aspect-ratio: 1 / calc(92 / 108);
	background-image: url('../img/about/value01_deco.png');
}
.about_value_section .value_deco02{
	width:50px;
	aspect-ratio: 1 / calc(81 / 50);
	background-image: url('../img/about/value02_deco.png');
}
.about_value_section .value_deco03{
	width:61px;
	aspect-ratio: 1 / calc(82 / 61);
	background-image: url('../img/about/value03_deco.png');
}

.about_bg_section{
	width: 100%;
    position: sticky;
    z-index: 0;
    top: 0;
	pointer-events: none;
}

.about_bg_section .about_bg_inner{
	height: 100vh;
    background-image: url(../img/about/page_bg.jpg);
    position: relative;
}

.about_bg_frame_section{
	height: 370px;
}

.about_message_section{
	padding-top: 200px;
}

.about_message_section .message_flex{
	position: relative;
	padding-right: 210px;
	display: flex;
	align-items: flex-start;
	gap:68px;
	padding-top: 64px;
	min-height: 600px;
}

.about_message_section .message_head_area{
	position: absolute;
	top:0;
	right:0;
}

.about_message_section .message_catch{
	margin-top: 24px;
	display: flex;
	align-items: flex-start;
	flex-direction: row-reverse;
	gap:16px;
	font-size: 32px;
	font-weight: 900;
	line-height: 1.25;
}

.about_message_section .message_catch p{
	writing-mode: vertical-lr;
}

.about_message_section .message_left{
	flex-shrink: 0;
	width:430px;
}

.about_message_section .message_img img{
	border-radius: 10px;
}

.about_message_section .message_text{
	line-height: 2;
}

.about_message_section .message_sign{
	margin-top: 20px;
	text-align: right;
	line-height: 2;
	font-size: 24px;
	font-weight: 700;
}


.about_info_section{
	padding-top: 200px;
	padding-bottom: 30px;
}
.about_info_section .sec_head_frame{
	position: relative;
	border-bottom:1px solid var(--black);
}

.about_info_section .sec_head{
	text-align: center;
	font-size: 64px;
	font-weight: 900;
	line-height: 1.4;
	letter-spacing: 0.3em;
	position: relative;
	width: fit-content;
	margin-inline: auto;
	transform: translateX(0.15em);
}

.about_info_section .sec_head::before{
	content:'';
	width:calc(100% - 0.3em);
    height: 2px;
	border-radius: 2px;
	background-color: var(--black);
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
	pointer-events: none;
	margin-top: 5px;
}

.about_info_section .info_deco{
	position: absolute;
	background-size: contain;
	z-index: 1;
}

.about_info_section .info_deco01{
	width:247px;
	aspect-ratio: 1 / calc(147 / 247);
	background-image:url('../img/about/info_deco01.png');
	left:46px;
	bottom:-36px;
}

.about_info_section .info_deco02{
	width:228px;
	aspect-ratio: 1 / calc(155 / 228);
	background-image:url('../img/about/info_deco02.png');
	right:72px;
	bottom:-30px;
}

.about_info_section .info_list{
	max-width: 1000px;
	margin-inline: auto;
	margin-top: 56px;
}

.about_info_section .info_line{
	padding-top: 20px;
	padding-bottom: 20px;
	border-bottom:1px solid var(--black);
	display: flex;
	align-items: flex-start;
	line-height: 2;
}


.about_info_section .info_head{
	flex-shrink: 0;
	width:260px;
	padding-right: 10px;
	font-weight: 500;
}
.about_info_section .info_contents{
	width:100%;
}

.about_info_section .access_area{
	margin-top: 88px;
}

.about_info_section .access_head{
	font-weight: 700;
	text-align: center;
}

.about_info_section .access_frame{
	margin-top: 16px;
	max-width: 1000px;
	margin-inline: auto;
	position: relative;
}

.about_info_section .access_inner{
	overflow: hidden;
	border-radius: 10px;
	border:2px solid var(--black);
	aspect-ratio: 1 / calc(500 / 1000);
}

.about_info_section .access_inner iframe{
	display: block;
	width:100%;
	height:100%;
}

.about_info_section .access_deco{
	position: absolute;
	z-index: 2;
}

.about_info_section .access_deco01{
	width:100px;
	aspect-ratio: 1 / calc(195 / 151);
	background-image: url('../img/about/access_deco01.png');
	left:-30px;
	top:-96px;
}

.about_info_section .access_deco02{
	width:80px;
	aspect-ratio: 1 / calc(90 / 119);
	background-image: url('../img/about/access_deco02.png');
	right:-10px;
	bottom:-30px;
}

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

.news_section{

}

.news_fv_section{

}


.news_fv_section .fv_deco{
	width:116px;
	left:10px;
	bottom:-32px;
}

.news_list_section{
	padding-top: 120px;
}

.news_list_section .news_category_list{
	width: fit-content;
	margin-inline: auto;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:24px;
}

.news_list_section .news_category_link{
	min-width: 146px;
	min-height: 28px;
	padding:2px 8px;
	border-radius: 9999px;
	border:1px solid var(--black);
	background-color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 500;
	line-height: 1.3;
	transition-duration: var(--c_duration);
}

.news_list_section .news_category_link.active{
	background-color: var(--black);
	color:#fff;
}

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

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

.c_page_nation{
	margin-top: 80px;
	display: flex;
	justify-content: center;
	align-items: center;
	gap:24px;
	flex-wrap: wrap;
}

.c_page_nation .page-numbers{
	font-weight: 500;
	font-size: 18px;
	transition-duration: var(--c_duration);
}

.c_page_nation .current{
	border-bottom:1px solid var(--black);
}

.c_page_nation .page-numbers.next,
.c_page_nation .page-numbers.prev{
	width:42px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	border:2px solid var(--black);
	background-color: #fff;
	
}

.c_page_nation .page-numbers.next::after,
.c_page_nation .page-numbers.prev::after{
	content:'';
	width:12px;
	height:12px;
	background-image: url('../img/common/icon_arrow_right_black.svg');
	transition-duration: var(--c_duration);
}

.c_page_nation .page-numbers.prev::after{
	transform: rotateZ(180deg);
}

@media(any-hover:hover){
	.c_page_nation a.page-numbers:hover{
		opacity: 0.5;
	}

	.c_page_nation .page-numbers.next:hover,
	.c_page_nation .page-numbers.prev:hover{
		background-color: var(--black);
		opacity: 1;
	}
	.c_page_nation .page-numbers.next:hover::after,
	.c_page_nation .page-numbers.prev:hover::after{
		background-image: url('../img/common/icon_arrow_right_white.svg');
	}
}

.news_single_fv_section{

}

.news_single_fv_section .fv_area{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 100vh;
	padding-top: 140px;
	padding-bottom: 140px;
}

.news_single_fv_section .fv_frame{
	flex-shrink: 0;
	width:100vw;
	max-width: 1440px;
	display: flex;
	justify-content: flex-end;
}

.news_single_fv_section .fv_flex{
	width:calc(50% + 600px);
	max-width: 1320px;
	display: flex;
	align-items: center;
	gap:40px;
}

.news_single_fv_section .fv_title_area{
	flex-shrink: 0;
	width:420px;
}

.news_single_fv_section .fv_info_flex{
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding-bottom: 8px;
	border-bottom:1px solid var(--black);
	gap:8px;
}

.news_single_fv_section .fv_category_area{

}

.news_single_fv_section .fv_category{
	width: fit-content;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 22px;
	padding-top: 2px;
	padding-bottom: 2px;
	padding-inline: 16px;
	border-radius: 9999px;
	border:1px solid var(--black);
	font-size: 14px;
	letter-spacing: 0.1em;
}

.news_single_fv_section .fv_date{
	flex-shrink: 0;
	font-size: 14px;
	letter-spacing: 0.1em;
}

.news_single_fv_section .fv_title{
	margin-top: 16px;
	font-size: 20px;
	font-weight: 700;
	line-height: 1.5;
}

.news_single_fv_section .fv_thumb_area{
	width:100%;
}

.news_single_fv_section .fv_thumb{
	aspect-ratio: 1 / calc(490 / 870);
}

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

.news_single_section{

} 

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

.c_single_block{
	line-height: 1.75;
} 

.c_single_block p{
	margin:24px 0;
}

.c_single_block h2{
	font-size: 24px;
	font-weight: 700;
	line-height: 1.67;
	letter-spacing: 0.1em;
	margin:32px 0;
}

.c_single_block h3{
	font-size: 20px;
	font-weight: 700;
	line-height: 1.67;
	margin:24px 0;
}

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

.news_single_section .back_button_frame{
	display: flex;
	justify-content: center;
	margin-top: 80px;
}

.news_single_section .back_button_frame .c_radi_link .radi{
	transform: rotateZ(180deg);
}

.news_relation_section{
	padding-top: 120px;
	padding-bottom: 20px;
}


/*
------------------------------------
ビジネスモデル
------------------------------------
*/

.business_fv_section .fv_deco{
	width:236px;
	right:-26px;
	bottom:-6px;
}

.business_section{
	background-color: #fff;
	z-index: 3;
}

.business_about_section{
	
}

.business_about_section .about_contents{
	position: relative;
	padding-top: 120px;
	min-height: 1040px;
}

.business_about_section .about_map{
	position: absolute;
	width:1320px;
	left:0;
	top:0;
}

.business_about_section .about_head{
	font-size: 64px;
	font-weight: 500;
	line-height: 1.25;
}

.business_about_section .about_text{
	margin-top: 80px;
	line-height: 2;
}

.business_gal_section{
	padding-top: 180px;
}

.business_gal_section .gal_area{
	position: relative;
	width:calc(1440 / 1440 * 100vw);
	max-width: 1920px;
	margin-inline: auto;
	aspect-ratio: 1 / calc(1162 / 1440);
}

.business_gal_section .gal_block{
	position: absolute;
}

.business_gal_section .gal_block01{
	left:0;
	top:0;
	width:min(calc(889 / 1440 * 100%), calc(889 / 1440 * 1920px));
	aspect-ratio: 1 / calc(772 / 889);
}

.business_gal_section .gal_block02{
	right:0;
	top:0;
	width:min(calc(540 / 1440 * 100%), calc(540 / 1440 * 1920px));
	aspect-ratio: 1 / calc(382 / 540);
}

.business_gal_section .gal_block03{
	right:0;
	top:min(calc(391 / 1440 * 100vw), calc(391 / 1440 * 1920px));
	width:min(calc(540 / 1440 * 100%), calc(540 / 1440 * 1920px));
	aspect-ratio: 1 / calc(381 / 540);
}

.business_gal_section .gal_block04{
	left:0;
	bottom:0;
	width:min(calc(665 / 1440 * 100%), calc(665 / 1440 * 1920px));
	aspect-ratio: 1 / calc(382 / 665);
}

.business_gal_section .gal_block05{
	right:0;
	bottom:0;
	width:min(calc(764 / 1440 * 100%), calc(764 / 1440 * 1920px));
	aspect-ratio: 1 / calc(382 / 764);
}

.business_gal_section .gal_box{
	height:100%;
	overflow: hidden;
}

.business_inno_section{
	padding-top: 200px;
	padding-bottom: 200px;
	border-bottom:2px solid var(--black);
} 

.business_inno_section .head_area{
	position: relative;
	border-bottom:1px solid var(--black);
	padding-bottom: 16px;
}

.business_inno_section .sec_head{
	justify-content: flex-start;
}

.business_inno_section .head_catch{
	font-size: 64px;
	font-weight: 500;
	line-height: 1.25;
	margin-top: 20px;
}

.business_inno_section .head_area .deco{
	width:126px;
	aspect-ratio: 1 / calc(49 / 126);
	background-image: url('../img/business/inno_deco.png');
	background-size: contain;
	position: absolute;
	right:8px;
	bottom:0;
}

.business_inno_section .text_flex{
	margin-top: 16px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:32px;
	line-height: 2;
}
.business_inno_section .text_box{
	width:570px;
	max-width: 100%;

}

.business_future_section{
	z-index: 1;
	min-height: 100vh;
}

.business_future_section.vanish_trigger{
	visibility: hidden;
}

.business_future_section .future_img{
	width:50%;
	max-width: 960px;
	height:100vh;
	position: fixed;
	bottom:0;
	right:50%;
}

.business_future_section .future_img img{
	width:100%;
	height:100%;
	object-fit: cover;
	object-position: bottom;
}

.business_future_section .business_future_inner{
	position: fixed;
	top:0;
	left:0;
	width:100%;
	z-index: 1;
}

.business_future_section.static .business_future_inner{
	position: absolute;
}

.business_future_section.static .future_img{
	position: absolute;
}

.business_future_section .future_flex{
	display: flex;
	justify-content: flex-end;
}

.business_future_section .future_right{
	width:50%;
	padding-left: 100px;
	padding-bottom: 100px;
}

.business_future_section .future_head_area{
	min-height: 100vh;
	padding-top: 120px;
	padding-bottom: 120px;
	display: flex;
	align-items: center;
}

.business_future_section .sec_head{
	justify-content: flex-start;
}

.business_future_section .future_catch{
	margin-top: 24px;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.25;
}

.business_future_section .future_list{
	max-width: 450px;
	
}

.business_future_section .future_item + .future_item{
	margin-top: 108px;
}

.business_future_section .future_point{
	width: fit-content;
	min-height: 30px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:3px 16px;
	border-radius: 9999px;
	border:1px solid var(--black);
	font-weight: 900;
	letter-spacing: 0;
}

.business_future_section .future_title{
	margin-top: 32px;
	font-size: 32px;
	font-weight: 900;
	letter-spacing: 0;
}

.business_future_section .future_text{
	margin-top: 32px;
	font-weight: 500;
	line-height: 2;
}



.business_link_section{
	border-top:2px solid var(--black);
	
}

.business_link_section .link_area{
	padding-top: 400px;
	padding-bottom: 50px;
	position: relative;
}

.business_link_section .deco{
	position: absolute;
	background-size: contain;
}

.business_link_section .deco01{
	width:484px;
	aspect-ratio: 1 / calc(321 / 484);
	background-image: url('../img/business/link_deco01.png');
	left:0;
	top:112px;
}

.business_link_section .deco02{
	width:415px;
	aspect-ratio: 1 / calc(276 / 415);
	background-image: url('../img/business/link_deco02.png');
	right:20px;
	bottom:0;
}

.business_link_section .person_area{
	position: relative;
	width: fit-content;
	margin-inline: auto;
	z-index: 3;
}

.business_link_section .person{
	display: block;
	width:108px;
	aspect-ratio: 1 / calc(144 / 108);
	background-image: url('../img/business/link_person.png');
	background-size: contain;
}

.business_link_section .balloon{
	position: absolute;
}

.business_link_section .balloon img{
	width: auto;
}

.business_link_section .balloon_inner{
	position: relative;
}

.business_link_section .balloon01{
	right:calc(100% + 6px);
	top:-44px;
}
.business_link_section .balloon01 img{
	height:72px;
}

.business_link_section .balloon02{
	left:calc(100% + 6px);
	top:-20px;
}
.business_link_section .balloon02 img{
	height:78px;
}

.business_link_section .balloon02 .radi{
	top:7px;
	right:10px;
	position: absolute;
}

/*
------------------------------------
業務内容について
------------------------------------
*/

.work_fv_section{

}

.work_fv_section .fv_deco{
	width:170px;
	left:0;
	bottom:-10px;
}

.work_about_section{
	padding-top: 172px;
}

.work_about_section .about_block + .about_block{
	margin-top: 120px;
}

.work_job_section{
	padding-top: 140px;
}

.work_job_section .sec_head{
	text-align: center;
    font-size: 64px;
    font-weight: 900;
    line-height: 1.4;
    letter-spacing: 0.3em;
    position: relative;
    width: fit-content;
    margin-inline: auto;
	transform: translateX(0.15em);
}

.work_job_section .sec_head::before {
    content: '';
    width: calc(100% - 0.3em);
    height: 2px;
	border-radius: 2px;
    background-color: var(--black);
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-50%);
    pointer-events: none;
	margin-top: 6px;
}

.work_job_section .job_list{
	margin-top: 80px;
}

.work_job_section .job_item{
	padding-top: 80px;
	padding-bottom: 80px;
	position: relative;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap:70px;
}

.work_job_section .job_item::before,
.work_job_section .job_item::after{
	
	width:100%;
	height:2px;
	border-radius: 2px;
	background-color: var(--black);
	position: absolute;
	left:0;
}

.work_job_section .job_item::before{
	content:'';
	top:0;
}

.work_job_section .job_item:last-child::after{
	content:'';
	bottom:0;
}

.work_job_section .job_item:nth-child(odd){
	flex-direction: row-reverse;
}


.work_job_section .job_thumb{
	flex-shrink: 0;
	width:450px;
	border-radius: 5px;
	aspect-ratio: 1 / calc(764 / 450);
	overflow: hidden;
}

.work_job_section .job_text_area{
	width:100%;
}

.work_job_section .job_title{
	font-size: 32px;
	font-weight: 700;
	padding-bottom: 4px;
	border-bottom:2px solid var(--black);
}

.work_job_section .job_text{
	margin-top: 16px;
	line-height: 2;
	font-weight: 700;
}

.work_job_section .info_list{
	margin-top: 16px;
}

.work_job_section .info_line{
	display: flex;
	align-items: flex-start;
	padding-top: 16px;
	padding-bottom: 16px;
	border-top:1px solid var(--black);
}

.work_job_section .info_line .info_head{
	flex-shrink: 0;
	width:210px;
	padding-right: 10px;
}

.work_job_section .info_line .info_head span{
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	min-height: 32px;
	border-radius: 9999px;
	border:1px solid var(--black);
	padding: 2px 8px;
	font-size: 14px;
	font-weight: 500;
}

.work_job_section .info_line .info_contents{
	line-height: 2;
	font-weight: 500;
}

.work_link_section{
	padding-top: 96px;
}

.work_link_section .link_area{
	display: flex;
	justify-content: flex-end;
	padding-right: 48px;
}

.work_link_section .link_frame{
	width:770px;
	aspect-ratio: 1 / calc(442 / 770);
	background-image: url('../img/work/link_deco.png');
	background-size: contain;
	position: relative;
}

.work_link_section .balloon{
	position: absolute;
}

.work_link_section .balloon_inner{
	position: relative;
}

.work_link_section .balloon01{
	right:calc(100% - 24px);
	top:152px;
}

.work_link_section .balloon01 img{
	height:93px;
	width:auto;
}

.work_link_section .balloon01 .radi{
	position: absolute;
	right:24px;
	top:14px;
}



/*
------------------------------------
数字で見る ロジコム・アイ
------------------------------------
*/

.data_fv_section{

}

.data_fv_section .data_swiper{
	min-width: 720px;
	width:100%;
	overflow: hidden;
}

.data_fv_section .data_slide{
	width:800px;
	margin-inline: 8px;
}

.data_fv_section .swiper-wrapper{
	transition-timing-function: linear;
}

.data_section .sec_head{
	width: fit-content;
	min-width:200px;
	aspect-ratio: 1 / 1;
	margin-inline: auto;
	background-size: contain;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:12px;
	font-size: 24px;
	font-weight: 700;
}

.data_section .sec_head.green{
	color:var(--green);
	background-image: url('../img/data/head_bg_green.svg');
}
.data_section .sec_head.red{
	color:var(--red);
	background-image: url('../img/data/head_bg_red.svg');
}
.data_section .sec_head.blue{
	color:var(--blue);
	background-image: url('../img/data/head_bg_blue.svg');
}

.data_section .data_list{
	margin-top: 80px;
	position: relative;
}

.data_section .data_list .deco{
	position: absolute;
}

.data_section .data_block{
	position: relative;
}

.data_link_section{
	padding-top: 200px;
}

.data_link_section .link_guide{
	text-align: center;
	font-weight: 700;
}

.data_link_section .link_list{
	position: relative;
	width: fit-content;
	margin-inline: auto;
	margin-top: 40px;
}


.data_link_section .link_list li{
	position: absolute;
	top:0;

}


.data_link_section .link_list li:nth-child(1){
	right:calc(100% + 55px);
}

.data_link_section .link_list li:nth-child(2){
	position: static;
}

.data_link_section .link_list li:nth-child(3){
	left:calc(100% + 55px);
}

.data_link_section .link{
	display: flex;
	align-items: center;
	gap:8px;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: 0.7px;
	white-space: nowrap;
}

.data_link_section .link .radi{
	width:32px;
}

.data_link_section .link .radi::after{
	content:'';
	width:10px;
	height:10px;
}

.data_link_section .link.green{
	color:var(--green);
}
.data_link_section .link.green .radi{
	border-color:var(--green);
}
.data_link_section .link.green .radi::after{
	background-image:url('../img/common/icon_arrow_bottom_green.svg')
}

.data_link_section .link.red{
	color:var(--red);
}
.data_link_section .link.red .radi{
	border-color:var(--red);
}
.data_link_section .link.red .radi::after{
	background-image:url('../img/common/icon_arrow_bottom_red.svg')
}

.data_link_section .link.blue{
	color:var(--blue);
}
.data_link_section .link.blue .radi{
	border-color:var(--blue);
}
.data_link_section .link.blue .radi::after{
	background-image:url('../img/common/icon_arrow_bottom_blue.svg')
}

@media(any-hover:hover){
	.data_link_section .link:hover .radi::after{
		background-image:url('../img/common/icon_arrow_bottom_white.svg')!important;
	}

	.data_link_section .link.green:hover .radi{
		background-color: var(--green);
	}
	.data_link_section .link.red:hover .radi{
		background-color: var(--red);
	}
	.data_link_section .link.blue:hover .radi{
		background-color: var(--blue);
	}
}

.data01_section{
	padding-top: 140px;
}

.data01_section .data_list{
	aspect-ratio: 1 / calc(995 / 1200);
}

.data01_section .data_item{
	position: absolute;
}

.data01_section .data_item01{
	width:calc(384 / 1200 * 100%);
	left:0;
	top:0;
}
.data01_section .data_item02{
	width:calc(384 / 1200 * 100%);
	left:0;
	right:0;
	margin:auto
}
.data01_section .data_item03{
	width:calc(384 / 1200 * 100%);
	right:0;
	top:0;
}
.data01_section .data_item04{
	width:calc(576 / 1200 * 100%);
	left:0;
	top:calc(245 / 995 * 100%);
}
.data01_section .data_item05{
	width:calc(576 / 1200 * 100%);
	left:0;
	top:calc(432 / 995 * 100%);
}
.data01_section .data_item06{
	width:calc(600 / 1200 * 100%);
	right:0;
	top:calc(245 / 995 * 100%);
}
.data01_section .data_item07{
	width:calc(384 / 1200 * 100%);
	left:0;
	bottom:0;
}
.data01_section .data_item08{
	width:calc(384 / 1200 * 100%);
	left:0;
	right:0;
	margin:auto;
	bottom:0;
}
.data01_section .data_item09{
	width:calc(384 / 1200 * 100%);
	right:0;
	bottom:0;
}

.data01_section .deco01{
	width:276px;
	right:0;
	bottom:calc(100% - 22px);
}
.data01_section .deco02{
	width:112px;
	left:0;
	bottom:calc(100% - 8px);
}

.data02_section{
	padding-top: 200px;
}

.data02_section .data_list{
	aspect-ratio: 1 / calc(1127 / 1200);
}

.data02_section .data_item{
	position: absolute;
}

.data02_section .data_item01{
	width:calc(384 / 1200 * 100%);
	left:0;
	top:0;
}
.data02_section .data_item02{
	width:calc(384 / 1200 * 100%);
	left:0;
	right:0;
	margin: auto;
	top:0;
}
.data02_section .data_item03{
	width:calc(384 / 1200 * 100%);
	right:0;
	top:0;
}
.data02_section .data_item04{
	width:calc(282 / 1200 * 100%);
	left:0;
	top:calc(402 / 1127 * 100%);
}
.data02_section .data_item05{
	width:calc(282 / 1200 * 100%);
	left:calc(306 / 1200 * 100%);
	top:calc(402 / 1127 * 100%);
}
.data02_section .data_item06{
	width:calc(588 / 1200 * 100%);
	right:0;
	top:calc(402 / 1127 * 100%);
}
.data02_section .data_item07{
	width:calc(588 / 1200 * 100%);
	left:0;
	top:calc(589 / 1127 * 100%);
}
.data02_section .data_item08{
	width:calc(420 / 1200 * 100%);
	left:0;
	bottom:0;
}
.data02_section .data_item09{
	width:calc(756 / 1200 * 100%);
	right:0;
	bottom:0;
}

.data02_section .deco01{
	width:74px;
	left:16px;
	bottom:calc(100% - 37px);
}
.data02_section .deco02{
	width:70px;
	right:24px;
	bottom:calc(100% - 3px);
}

.data03_section{
	padding-top: 200px;
	padding-bottom: 10px;
}

.data03_section .data_list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:24px;
}

.data03_section .deco01{
	width:198px;
	right:-16px;
	bottom:calc(100% - 36px);
}
.data03_section .deco02{
	width:70px;
	left:0;
	bottom:calc(100% - 4px);
}
.data03_section .deco03{
	width:177px;
	right:0;
	bottom:-32px;
}

/*
------------------------------------
働く環境
------------------------------------
*/

.environment_fv_section{

}

.environment_fv_section .fv_deco{
	width:87px;
	right:50px;
	bottom:-12px;
}


.environment_text_section{
	padding-top: 80px;
}

.environment_text_section .text_flex{
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	gap:24px;
}

.environment_text_section .catch{
	font-size: 64px;
	font-weight: 500;
	line-height: 1.25;
}

.environment_text_section .text{
	line-height: 2;
	text-align: right;
	max-width: 318px;
}

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

.environment_section .contents_left{
	flex-shrink: 0;
	width:730px;
	position: relative;
}

.environment_section .contents_right{
	width:100%;
}

.environment_section .sec_head{
	font-size: 24px;
	font-weight: 700;
}

.environment_section .sec_sub_head{
	justify-content: flex-start;
	margin-top: 8px;
}


.environment_section .contents_catch{
	margin-top: 24px;
	font-size: 64px;
	font-weight: 500;
	line-height: 1.25;
	white-space: nowrap;
}

.environment_section .contents_list{
	margin-top: 40px;
}

.environment_section .contents_block + .contents_block{
	margin-top: 40px;
}

.environment_section .contents_block .contents_head{
	width: fit-content;
	min-height: 28px;
	padding:3px 8px;
	border-radius: 9999px;
	border:1px solid var(--black);
	font-weight: 700;
}

.environment_section .contents_block .contents_guide{
	margin-top: 16px;
	font-weight: 700;
	line-height: 2;
}

.environment_section .contents_block .contents_text{
	margin-top: 8px;
	line-height: 2;
}

.environment_section .contents_block ul li{
	position: relative;
	padding-left: 17px;
}

.environment_section .contents_block ul li::before{
	content:'・';
	line-height: 2;
	position: absolute;
	left:0;
	top:0;
}

.environment_welfare_section{
	padding-top: 200px;
}

.environment_welfare_section .welfare_flex{
	min-height:1300px;
}

.environment_welfare_section .welfare_right{
	padding-top: 120px;
}

.environment_welfare_section .welfare_img_block{
	position: absolute;
}

.environment_welfare_section .welfare_img_inner{
	position: relative;
}

.environment_welfare_section .welfare_deco{
	position: absolute;
	background-size: contain;
	z-index: 5;
}

.environment_welfare_section .welfare_img{
	border-radius: 10px;
	overflow: hidden;
}

.environment_welfare_section .welfare01_img_block{
	top:0;
	left:26px;
}
.environment_welfare_section .welfare01_img{
	width:540px;
	aspect-ratio: 1 / calc(373 / 540);
}

.environment_welfare_section .welfare02_img_block{
	top:546px;
	left:340px;
	z-index: 3;
}
.environment_welfare_section .welfare02_img{
	width:310px;
	aspect-ratio: 1 / calc(310 / 310);
}
.environment_welfare_section .welfare02_deco{
	width:58px;
	aspect-ratio: 1 / calc(112 / 58);
	right:8px;
	bottom:calc(100% - 32px);
	background-image: url('../img/environment/welfare02_deco.png');
}


.environment_welfare_section .welfare03_img_block{
	top:786px;
	left:-50px;
}
.environment_welfare_section .welfare03_img{
	width:490px;
	aspect-ratio: 1 / calc(296 / 490);
}
.environment_welfare_section .welfare03_deco{
	width:105px;
	aspect-ratio: 1 / calc(105 / 105);
	left:50px;
	bottom:calc(100% - 20px);
	background-image: url('../img/environment/welfare03_deco.png');
}


.environment_support_section{
	padding-top: 200px;
}

.environment_support_section .support_flex{
	min-height:800px;
}

.environment_support_section .support_img_block{
	position: absolute;
}

.environment_support_section .support_img_inner{
	position: relative;
}

.environment_support_section .support_deco{
	position: absolute;
	background-size: contain;
	z-index: 5;
}

.environment_support_section .support_img{
	border-radius: 10px;
	overflow: hidden;
}

.environment_support_section .support01_img_block{
	top:-300px;
	left:16px;
}
.environment_support_section .support01_img{
	width:310px;
	aspect-ratio: 1 / calc(310 / 310);
}

.environment_support_section .support02_img_block{
	top:-44px;
	left:256px;
}
.environment_support_section .support02_img{
	width:344px;
	aspect-ratio: 1 / calc(497 / 344);
}

.environment_support_section .support03_img_block{
	top:466px;
	left:-64px;
}
.environment_support_section .support03_img{
	width:490px;
	aspect-ratio: 1 / calc(296 / 490);
}
.environment_support_section .support03_deco{
	width:130px;
	aspect-ratio: 1 / calc(78 / 130);
	left:100px;
	bottom:calc(100% - 8px);
	background-image: url('../img/environment/support03_deco.png');
}


/*
------------------------------------
座談会
------------------------------------
*/

.discussion_section_wrap{
	position: relative;
}

.discussion_section_wrap_sub{
	position: relative;
	background-color: #fff;
}

.discussion_section_wrap_sub_sub{
	position: relative;
	background-color: #fff;
	z-index: 1;
}

.discussion_section{
	z-index: 2;
}

.discussion_fv_section{
	width:100%;
	position: sticky;
	z-index: 0;
	top:0;
}

.discussion_fv_section .discussion_fv_inner {
    height: 100vh;
    background-image: url(../img/top/top_people_bg.jpg);
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
}

.discussion_fv_section .discussion_fv_inner::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(48, 48, 48, 0.1);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.discussion_body:has(.discussion_title_section.vanish_trigger) .discussion_fv_section{
	visibility: hidden;
}


.discussion_title_section{
	margin-top: -100vh;
	
}

.discussion_title_section .discussion_title_inner{
	min-height: 100vh;
	padding-top: 120px;
	padding-bottom: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.discussion_title_section .link_block{
	width: 458px;
    max-width: 90%;
    display: block;
    margin-inline: auto;
    background-color: #fff;
    border: 2px solid var(--black);
    padding-top: 48px;
    position: relative;
    padding-bottom: 48px;
    padding-inline: 20px;
    transition-duration: var(--c_duration);
    border-radius: 5px;
    z-index: 3;
}

.discussion_title_section .link_block .deco_area {
    position: absolute;
    bottom: calc(100% - 20px);
    left: 50%;
    transform: translateX(-50%);
}


.discussion_title_section .link_block .deco {
    display: block;
    width: 128px;
    aspect-ratio: 1 / calc(92 / 128);
    background-size: contain;
    background-image: url(../img/top/top_people_deco01.png);
}


.discussion_message_section{
	position: sticky;
	width:100%;
	top:0;
	z-index: 1;
}

.discussion_message_section .message_inner{
	min-height: 80vh;
	padding-top:120px;
	padding-bottom: 120px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.discussion_message_section .message_head{
	font-size: 48px;
	text-align: center;
	font-weight: 500;
}

.discussion_message_section .message_text{
	margin-top: 4px;
	line-height: 2;
	text-align: center;
}

.discussion_film_section{

}

.discussion_film_section .staff_img{
	margin-inline: auto;
	display: flex;
	justify-content: center;
}


.discussion_film_section .staff_img img{
	flex-shrink: 0;
	width:1440px;
}

.discussion_film_section .film_area{
	padding-top: 40px;
	padding-bottom: 40px;
	background-color: var(--black);
	position: relative;
	margin-top: -3px;
}

.discussion_film_section .film_area::before,
.discussion_film_section .film_area::after{
	content:'';
	width:200%;
	height:24px;
	background:
    repeating-linear-gradient(
		to right,
		#fff 0,
		#fff 16px,
		transparent 16px,
		transparent 32px
		);
	background-position: center;
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	/* animation: film_loop 1.2s linear infinite; */
}

@keyframes film_loop {
	from {
		background-position-x: 0;
	}
	to {
		background-position-x: -32px;
	}
}

.discussion_film_section .film_area::before{
	top:8px;
}

.discussion_film_section .film_area::after{
	bottom:8px;
}

.discussion_film_section .film_inner{
	max-width: 2400px;
	margin-inline: auto;
	overflow: hidden;
}

.discussion_film_section .film_slide{
	width:280px;
	margin-inline: 8px;
}

.discussion_film_section .film_card{
	aspect-ratio: 1 / calc(186 / 280);
	border-radius: 5px;
	overflow: hidden;
}

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

.discussion_film_section .swiper-wrapper{
	transition-timing-function: linear;
}

.discussion_switch_dammy_section{
	pointer-events: none;
	z-index: 2;
	margin-top: -100vh;
}

.discussion_switch_dammy_section .dammy_inner{
	height:100vh;
	position: relative;
}

.discussion_switch_dammy_section .guide{
	position: absolute;
	width:438px;
	bottom:0;
	right:calc(50% - 750px);
}

.discussion_switch_dammy_section .guide img{
	max-height: calc(100vh - 130px);
	object-fit: contain;
}

.discussion_switch_section{
	width:100%;
	position: sticky;
	z-index: 0;
	bottom:0;
	
}


.discussion_switch_section .switch_inner {
    height: 100vh;
    background-image: url(../img/top/top_people_bg.jpg);
    display: flex;
    justify-content: center;
    flex-direction: column;
    align-items: center;
    position: relative;
	cursor: pointer;
}

.discussion_switch_section .switch_inner::before {
    content: '';
    width: 100%;
    height: 100%;
    background-color: rgba(48, 48, 48, 0.1);
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
}

.discussion_switch_section .play_button{
	cursor: pointer;
	width:234px;
	position: relative;
	z-index: 3;
	transition-duration: var(--c_duration);
}

.discussion_switch_section .js_movie_open{
	cursor: pointer;
}

@media(any-hover:hover){
	.discussion_switch_section .js_movie_open:hover .play_button{
		opacity: 0.5;
	}
}

.discussion_body:has(.discussion_switch_dammy_section.vanish_trigger) .discussion_switch_section{
	visibility: hidden;
}



.discussion_time_section{
	background-color: #fff;
	z-index: 2;
}

.discussion_time_section .time_inner{
	padding-top: 200px;
	padding-bottom: 310px;
	margin-top: -100vh;
}

.discussion_time_section .sec_head{
	font-size: 48px;
	font-weight: 500;
	text-align: center;
}

.discussion_time_section .guide_text{
	line-height: 2;
	text-align: center;
}

.discussion_time_section .deco{
	width: 104px;
	aspect-ratio: 1 / calc(78 / 104);
	background-image: url('../img/discussion/time_deco.png');
	margin-inline: auto;
	margin-top: 192px;
}

.discussion_time_section .staff_area{
	position: sticky;
	top:0;
	width:100%;
	pointer-events: none;
	display: flex;
	justify-content: center;
	z-index: 3;
}

.discussion_time_section .staff_area .staff_inner{
	position: relative;
	flex-shrink: 0;
	width:1440px;
	height:100vh;
	min-height: 500px;
	margin-inline: auto;
}

.discussion_time_section .staff_area .staff_balloon_frame{
	position: relative;
}

.discussion_time_section .staff_area .balloon{
	position: absolute;
	transition-duration: var(--c_duration);
}

.discussion_time_section .staff_area .staff01{
	position: absolute;
	width:310px;
	left:0;
	bottom:0;
}

.discussion_time_section .staff_area .balloon01{
	left: calc(100% - 140px);
    bottom: calc(100% + 0px);
}

.discussion_time_section .staff_area .balloon01 img{
	width: auto;
	height:90px;
}

.discussion_time_section .staff_area .staff02{
	position: absolute;
	width:375px;
	right:0;
	bottom:0;
}

.discussion_time_section .staff_area .balloon02{
	right: calc(100% - 180px);
    bottom: calc(100% + 0px);
}

.discussion_time_section .staff_area .balloon02 img{
	width: auto;
	height:72px;
}


.discussion_time_section .staff_area .balloon01{
	opacity: 0;
}

.discussion_time_section:has(.time_list.anime_active) .balloon01{
	opacity: 1;
}
.discussion_time_section:has(.time_list.anime_active) .balloon02{
	opacity: 0;
}


.discussion_time_section .time_list{
	max-width: 800px;
	margin-inline: auto;
	margin-top: 140px;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap:50px 32px;
}


.discussion_time_section .time_block{
	padding:20px 16px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	border: 2px solid #303030;
	background: #FFF;
	border-radius: 5px;
	box-shadow: 2px 2px 0 0 #303030;
	gap:3px;
	cursor: pointer;
	transition-duration: var(--c_duration);
}

@media(any-hover:hover){
	.discussion_time_section .time_block:hover{
		opacity: 0.5;
	}
}


.discussion_time_section .time_block .icon{
	flex-shrink: 0;
	width:80px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	background-image: url('../img/discussion/time_icon.svg');
	background-size: contain;
}

.discussion_time_section .time_block .time_left{
	display: flex;
	align-items: center;
	gap:4px;
	font-weight: 700;
}

.discussion_time_section .time_block .time_num{
	flex-shrink: 0;
	min-width: 70px;
	letter-spacing: 0.5em;
}

.discussion_time_section .time_head{
	position: absolute;
	top: 0;
	left:0;
	right:0;
	width: fit-content;
	margin-inline: auto;
	transform: translateY(-50%);
	max-width: 100%;
}

.discussion_time_section .time_head .time_head_inner{
	position: relative;
}

.discussion_time_section .time_head .time_head_inner:after{
	content:'';
	width: 13px;
	height: 11px;
	position: absolute;
	top: calc(100% - 1px);
	left: 50%;
	transform: translateX(-50%);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
}

.discussion_time_section .time_head .time_head_box{
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 36px;
	padding:4px 8px;
	border-radius: 3px;
	color:#fff;
	font-weight: 500;
	letter-spacing: 0.03em;
	width: fit-content;
	margin-inline: auto;
}


.discussion_time_section .time_block .time_head_inner:after,
.discussion_time_section .time_block .time_head_box{
	background-color: var(--green);
}

.discussion_time_section .time_block:nth-child(3n + 2) .time_head_inner:after,
.discussion_time_section .time_block:nth-child(3n + 2) .time_head_box{
	background-color: var(--blue);
}

.discussion_time_section .time_block:nth-child(3n) .time_head_inner:after,
.discussion_time_section .time_block:nth-child(3n) .time_head_box{
	background-color: var(--red);
}

/* :nth-child(3n + 2) {
    transform: translateY(80px);
} */


/* .discussion_time_section .time_head.green .time_head_inner:after,
.discussion_time_section .time_head.green .time_head_box{
	background-color: var(--green);
}

.discussion_time_section .time_head.blue .time_head_inner:after,
.discussion_time_section .time_head.blue .time_head_box{
	background-color: var(--blue);
}

.discussion_time_section .time_head.red .time_head_inner:after,
.discussion_time_section .time_head.red .time_head_box{
	background-color: var(--red);
} */

/*
------------------------------------
ライフスタイル
------------------------------------
*/

.style_fv_section{

}

.style_fv_section .page_title span{
	display: block;
	white-space: nowrap;
	position: absolute;
	font-weight: 700;
	letter-spacing: 0.1em;
	left:0;
	bottom:8px;
	font-size: 16px;
}

.style_fv_section .fv_deco{
	width:73px;
	right:48px;
	bottom:-5px;
}

.style_fv_section .fv_deco_inner{
	position: relative;
}

.style_fv_section .fv_deco .balloon{
	position: absolute;
	right:100%;
	bottom:calc(100% - 30px);
}

.style_fv_section .fv_deco .balloon img{
	height:70px;
	width:auto;
}

.style_fv_section .fv_deco .balloon_inner{
	position: relative;
}

.style_fv_section .fv_deco .balloon .radi{
	position: absolute;
	width:32px;
	right:8px;
	top:11px;
}

.style_guide_section{
	padding-top: 200px;
}

.style_guide_section .sec_head{
	font-size: 48px;
	text-align: center;
	font-weight: 700;
}

.style_guide_section .guide_text{
	margin-top: 4px;
	line-height: 2;
	text-align: center;
}

.style_guide_section .guide_deco{
	width:80px;
	aspect-ratio: 1 / calc(88 / 80);
	margin-inline: auto;
	margin-top: 24px;
	background-image: url('../img/style/guide_deco.png');
	background-size: contain;
}

.style_message_section{
	padding-top: 200px;
}

.style_message_section .message_flex{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap:24px;
}

.style_message_section .message_left{
	flex-shrink: 0;
	width:595px;
	height:1080px;
	display: flex;
	align-items: flex-end;
	position: relative;
}

.style_message_section .message_bg{
	width:704px;
	height:100%;
	background-image: url('../img/style/message_bg.jpg');
	position: absolute;
	bottom:0;
	right:64px;
}

.style_message_section .message_human_frame{
	position: relative;
	transform: translateX(-40px);
	z-index: 3;
}

.style_message_section .message_human{
	width:595px;
}

.style_message_section .balloon{
	position: absolute;
}

.style_message_section .balloon01{
	left:50px;
	top:80px;
}
.style_message_section .balloon01 img{
	height:72px;
	width:auto;
}

.style_message_section .balloon02{
	left:calc(100% - 160px);
	top:20px;
}
.style_message_section .balloon02 img{
	height:72px;
	width:auto;
}

.style_message_section .message_right{
	padding-top: 40px;
	padding-bottom: 40px;
}

.style_message_section .sec_head{
	font-size: 24px;
	font-weight: 700;
}

.style_message_section .sec_sub_head{
	justify-content: flex-start;
}

.style_message_section .message_catch{
	margin-top: 12px;
	font-size: 48px;
	font-weight: 700;
}

.style_message_section .message_text{
	line-height: 2;
	margin-top: 12px;
}

.style_interview_section{

}
.style_interview_section .head_block{
	position: absolute;
	right:0;
	bottom:calc(100% + 8px);
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap:3px;
}

.style_interview_section .sec_head{
	font-size: 24px;
	font-weight: 700;
}

.style_interview_section .sec_sub_head{
	justify-content: flex-end;
}

.style_interview_section .interview_area{
	position: relative;
	display: flex;
	justify-content: center;
}

.style_interview_section .interview_inner{
	flex-shrink: 0;
	width:100vw;
}

.style_interview_section .js_movie_open{
	cursor: pointer;
}


.style_interview_section .movie_frame{
	position: relative;
	min-height: 300px;
	
}

.style_interview_section .movie_frame::before{
	content:'';
	width:100%;
	height:100%;
	background: rgba(48, 48, 48, 0.50);
	position: absolute;
	top:0;
	left:0;
}

.style_interview_section .play_icon{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width:160px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
	border:2px solid #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	transition-duration: var(--c_duration);
}

.style_interview_section .play_icon::after{
	content:'';
	width:80px;
	height:90px;
	background-image: url('../img/style/polygon.svg');
	margin-left: 12px;
}

@media(any-hover:hover){
	.style_interview_section .js_movie_open:hover .play_icon{
		opacity: 0.5;
	}
}

.style_faq_section{
	padding-top: 200px;
}

.style_faq_section .sec_head{
	font-size: 24px;
	font-weight: 700;
}

.style_faq_section .sec_sub_head{
	justify-content: flex-start;
	margin-top: 3px;
}


.style_faq_section .faq_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:24px;
	margin-top: 24px;
}

.style_faq_section .faq_block{
	height:320px;
	border-radius: 5px;
	
	position: relative;
	overflow: hidden;
}

.style_faq_section .js_turn_switch{
	cursor: pointer;
}

.style_faq_section .faq_card {
    position: absolute;
    transition-duration: var(--c_duration);
    transition-timing-function: ease-out;
    width: 100%;
    height: 100%;
    overflow: hidden;
    transform-style: preserve-3d;
    backface-visibility: hidden;
    top: 0;
    left: 0;
	border: 2px solid #303030;
}

.style_faq_section .faq_card_inner {
	display: flex;
	justify-content: center;
	align-items: center;
	padding-inline: 16px;
    position: relative;
    height: 100%;
}

.style_faq_section .faq_title{
	font-weight: 700;
	line-height: 2; 
	text-align: center;
}

.style_faq_section .faq_card .deco{
	aspect-ratio: 1 / calc(111 / 129);
	background-image: url('../img/style/faq_deco.png');
	background-size: contain;
	position: absolute;
	bottom:0;
	right:0;
}

.style_faq_section .faq_card .deco_front{
	width:129px;
}
.style_faq_section .faq_card .deco_back{
	width:77px;
}

.style_faq_section .faq_head{
	display: flex;
	justify-content: center;
	align-items: center;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translateX(-50%);
	min-width: 98px;
	min-height: 50px;
	border-radius: 0 0 9999px 9999px;
	background-color: var(--black);
	text-align: center;
	font-size: 16px;
	font-weight: 700;
	color:#fff;
	line-height: 1.2;
}

.style_faq_section .faq_switch{
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	cursor: pointer;
	z-index: 10;
}

.style_faq_section .faq_switch_inner{
	display: flex;
	justify-content: center;
	align-items: center;
	width:60px;
	aspect-ratio: 1 / calc(30 / 60);
	border-radius: 9999px 9999px 0 0;
	background-color: var(--black);
	position: relative;
}

.style_faq_section .faq_switch p{
	position: absolute;
	bottom:calc(100% + 2px);
	left: 50%;
	transform: translateX(-50%);
	white-space: nowrap;
	text-align: center;
	font-size: 10px;
	font-weight: 900;
}

.style_faq_section .faq_switch_inner::after{
	content:'';
	width:12px;
	height:12px;
	background-image: url('../img/common/icon_arrow_bottom_white.svg');
}

.style_faq_section .faq_text{
	color:#fff;
	font-weight: 700;
	line-height: 2;
	text-align: center;
	font-size: 14px;
	font-feature-settings: 'palt';
}

.style_faq_section .faq_card_back {
    transform: rotateY(180deg);
    pointer-events: none;
}

.style_faq_section .faq_block.active .faq_card_front {
    transform: rotateY(-180deg);
    pointer-events: none;
}
.style_faq_section .faq_block.active .faq_card_back {
    transform: rotateY(0);
    pointer-events: auto;
}

.style_faq_section .faq_block.red .faq_title{
	color:var(--red);
}
.style_faq_section .faq_block.red .faq_card_back{
	background-color:var(--red);
}

.style_faq_section .faq_block.blue .faq_title{
	color:var(--blue);
}
.style_faq_section .faq_block.blue .faq_card_back{
	background-color:var(--blue);
}

.style_faq_section .faq_block.green .faq_title{
	color:var(--green);
}
.style_faq_section .faq_block.green .faq_card_back{
	background-color:var(--green);
}

.style_comment_section{
	padding-top: 200px;
}

.style_comment_section .head_area{
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap:4px;
}

.style_comment_section .sec_head{
	font-size: 24px;
	font-weight: 700;
}

.style_comment_section .sec_sub_head{
	justify-content: flex-end;
}

.style_comment_section .comment_area{
	margin-top: 24px;
	display: flex;
	justify-content: center;
}

.style_comment_section .comment_inner{
	flex-shrink: 0;
	width:1440px;
	height:440px;
	background-image: url('../img/style/comment_bg.jpg');
	position: relative;
}

.style_comment_section .balloon{
	position: absolute;
}

.style_comment_section .balloon01{
	top:-11px;
	left:180px;
}
.style_comment_section .balloon01 img{
	height:158px;
	width:auto;
}

.style_comment_section .balloon02{
	top:114px;
	right:172px;
}
.style_comment_section .balloon02 img{
	height:121px;
	width:auto;
}

/*
------------------------------------
チャレンジ
------------------------------------
*/

.challenge_fv_section{

}

.challenge_fv_section .page_title span{
	display: block;
	white-space: nowrap;
	position: absolute;
	font-weight: 700;
	letter-spacing: 0.1em;
	left:0;
	bottom:8px;
	font-size: 16px;
}

.challenge_fv_section .fv_deco{
	width:65px;
	right:48px;
	bottom:-5px;
}

.challenge_fv_section .fv_deco_inner{
	position: relative;
}

.challenge_fv_section .fv_deco .balloon{
	position: absolute;
	right:calc(100% - 40px);
	bottom:calc(100% - 20px);
}

.challenge_fv_section .fv_deco .balloon img{
	height:70px;
	width:auto;
}

.challenge_fv_section .fv_deco .balloon_inner{
	position: relative;
}

.challenge_fv_section .fv_deco .balloon .radi{
	position: absolute;
	width:32px;
	right:8px;
	top:9px;
}

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

.challenge_guide_section .sec_head{
	font-size: 48px;
	font-weight: 700;
	text-align: center;
}

.challenge_guide_section .guide_text{
	margin-top: 4px;
	line-height: 2;
	text-align: center;
}

.challenge_guide_section .guide_deco{
	width:125px;
	aspect-ratio: 1 / calc(92 / 125);
	margin-inline: auto;
	margin-top: 16px;
	background-image: url('../img/challenge/guide_deco.png');
	background-size: contain;
}

.challenge_point_section{
	padding-bottom: 120px;
	border-top:2px solid var(--black);
	border-bottom:2px solid var(--black);
	background-color: #F0F0F0;
}

.challenge_point_section .point_area{
	position: relative;
}

.challenge_point_section .human_area{
	position: sticky;
	top:0;
	width:100%;
	z-index: 0;
	height:100vh;
	overflow: hidden;
	padding-top: 120px;
	display: flex;
	justify-content: center;
}

.challenge_point_section .human_frame{
	width:352px;
	position: relative;
	margin-right: 30px;
}

.challenge_point_section .human_frame .balloon{
	position: absolute;
}

.challenge_point_section .human_frame .balloon01{
	top:80px;
	right:calc(100% - 120px)
}
.challenge_point_section .human_frame .balloon01 img{
	height:68px;
	width:auto;
}

.challenge_point_section .human_frame .balloon02{
	top:12px;
	left:calc(100% - 120px)
}
.challenge_point_section .human_frame .balloon02 img{
	height:99px;
	width:auto;
}

.challenge_point_section .point_list{
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:200px 400px;
	max-width: 1040px;
	margin-inline: auto;
	position: relative;
	z-index: 3;
	margin-top: -100vh;
	padding-top: 120px;
	padding-bottom: 120px;
}

.challenge_point_section .point_block{
	width:300px;
}

.challenge_point_section .point_num{
	width: fit-content;
	min-width: 140px;
	min-height: 28px;
	border-radius: 9999px;
	border:1px solid var(--black);
	padding:2px 16px;
	font-weight: 900;
}

.challenge_point_section .point_head{
	margin-top: 32px;
	font-size: 24px;
	font-weight: 500;
	line-height: 1.5;
}

.challenge_point_section .point_text{
	margin-top: 32px;
	line-height: 2;
}

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

.challenge_history_section .sec_head{
	font-size: 48px;
	text-align: center;
	font-weight: 700;
	line-height: 1.5;
}

.challenge_history_section .career_text{
	margin-top: 24px;
	line-height: 2.5;
	text-align: center;
}

.challenge_history_section .history_area{
	position: relative;
	margin-top: 180px;
}

.challenge_history_section .history_area::before{
	content:'';
	width:6px;
	height:100%;
	background-color: rgba(48, 48, 48, 0.30);
	position: absolute;
	top:0;
	left:0;
	right:0;
	margin:auto;
}

.challenge_history_section .history_area .gear_block{
	position: absolute;
	left:0;
	right:0;
	margin:auto;
	width: fit-content;

}

.challenge_history_section .history_area .gear_block.top{
	top:0;
	transform: translateY(-50%);
}
.challenge_history_section .history_area .gear_block.bottom{
	bottom:0;
	transform: translateY(50%);
}

.challenge_history_section .history_area .gear_inner{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	min-width: 120px;
	aspect-ratio: 1 / 1;
	padding:12px;
}


.challenge_history_section .history_area .gear_inner p{
	font-size: 20px;
	text-align: center;
	font-weight: 700;
	position: relative;
	z-index: 2;
}

.challenge_history_section .history_area .gear_inner::before{
	content:'';
	width:100%;
	height:100%;
	background-image: url('../img/challenge/history_head_bg.svg');
	position: absolute;
	top:0;
	left:0;
	animation-name: gear_rotate;
	animation-duration: 10s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	/* animation-fill-mode: forwards; */
}

@keyframes gear_rotate {
	0%{
		transform: rotateZ(0deg);
	}
	100%{
		transform: rotateZ(360deg);
	}
}

.challenge_history_section .history_list{
	position: relative;
	padding-top: 80px;
	padding-bottom: 140px;
	z-index: 3;
	max-width: 1000px;
	margin-inline: auto;
}

.challenge_history_section .history_item{
	display: flex;
	align-items: flex-start;
}

.challenge_history_section .history_item_inner{
	width:50%;
	display: flex;
	align-items: flex-start;
	position: relative;
}

.challenge_history_section .history_box_frame{
	position: relative;
	width:400px;
	max-width: calc(100% - 40px);
}

.challenge_history_section .history_box{
	position: relative;
	padding:64px 40px 40px;
	background-color: #fff;
	border-radius: 10px;
	border: 2px solid #303030;
	box-shadow: 2px 2px 0 0 #303030;
	min-height: 220px;
	z-index: 2;
}

.challenge_history_section .history_year{
	position: absolute;
	top:0;
	left:0;
	width:100%;
	display: flex;
	justify-content: center;
	transform: translateY(-50%);
	
}

.challenge_history_section .history_year span{
	background-color: #fff;
	font-size: 96px;
	font-weight: 700;
	height: 115px;
	display: block;
	line-height: 1;
}

.challenge_history_section .history_title{
	font-size: 20px;
	text-align: center;
	font-weight: 700;
	line-height: 1.5;
}

.challenge_history_section .history_text{
	margin-top: 16px;
	line-height: 2;
}

.challenge_history_section .history_img{
	margin-top: 16px;
	border-radius: 5px;
	overflow: hidden;
}

.challenge_history_section .history_border{
	position: absolute;
	width:calc(100% - 10px);
	height:4px;
	top:142px;
	right:0;
}

.challenge_history_section .history_radi{
	position: absolute;
	width:0;
	height:4px;
	top:142px;
	right:0;
}

.challenge_history_section .history_radi span{
	position: relative;
	display: block;
	height:100%;
}

.challenge_history_section .history_radi span::after{
	content:'';
	width:40px;
	height:40px;
	border-radius: 50%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}


/*奇数番目*/
.challenge_history_section .history_item:nth-child(odd){
	
}
.challenge_history_section .history_item:nth-child(odd) .history_item_inner{
	
}
.challenge_history_section .history_item:nth-child(odd) .history_border{
	right:0;
}

.challenge_history_section .history_item:nth-child(odd) .history_radi{
	right:0;
}


/*偶数番目*/
.challenge_history_section .history_item:nth-child(even){
	justify-content: flex-end;
}

.challenge_history_section .history_item:nth-child(even) .history_item_inner{
	justify-content: flex-end;
}
.challenge_history_section .history_item:nth-child(even) .history_border{
	left:0;
}

.challenge_history_section .history_item:nth-child(even) .history_radi{
	left:0;
}



/* .challenge_history_section .history_item:nth-child(n+1)  */

.challenge_history_section .history_item:nth-child(3n + 1) .history_year span{
	text-shadow: 4px 4px 0 var(--green);
}
.challenge_history_section .history_item:nth-child(3n + 1) .history_border{
	background-color: var(--green);
}
.challenge_history_section .history_item:nth-child(3n + 1) .history_radi span::after{
	background-color: var(--green);
}

.challenge_history_section .history_item:nth-child(3n + 2) .history_year span{
	text-shadow: 4px 4px 0 var(--blue);
}
.challenge_history_section .history_item:nth-child(3n + 2) .history_border{
	background-color: var(--blue);
}
.challenge_history_section .history_item:nth-child(3n + 2) .history_radi span::after{
	background-color: var(--blue);
}

.challenge_history_section .history_item:nth-child(3n) .history_year span{
	text-shadow: 4px 4px 0 var(--red);
}
.challenge_history_section .history_item:nth-child(3n) .history_border{
	background-color: var(--red);
}
.challenge_history_section .history_item:nth-child(3n) .history_radi span::after{
	background-color: var(--red);
}


.challenge_history_section .history_item2009{
	margin-top: -150px;
}
.challenge_history_section .history_item2011{
	margin-top: -20px;
}
.challenge_history_section .history_item2024{
	margin-top: -250px;
}

.challenge_message_section{

}

.challenge_message_section .message_frame{
	min-height: 600px;
	padding-top: 108px;
	position: relative;
}


.challenge_message_section .message_frame::before{
	content:'';
	width:100vw;
	max-width: 1440px;
	height:100%;
	background-image: url('../img/challenge/message_bg.jpg');
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	background-size: cover;
}

.challenge_message_section .message_contents{
	position: relative;
	width: fit-content;
	z-index: 3;
}

.challenge_message_section .message_head{
	width: fit-content;
	min-height: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2px 8px;
	border-radius: 9999px;
	border: 1px solid #fff;
	font-weight: 900;
	font-size: 16px;
	color:#fff;
}

.challenge_message_section .message_catch{
	margin-top: 36px;
	width: fit-content;
	color: #FFF;
	text-align: center;
	text-shadow: 0 0 4px #303030;
	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: #303030;
	font-family: var(--font_851);
	font-size: 48px;
}

.challenge_message_section .message_text{
	margin-top: 40px;
	color: #FFF;
	text-shadow: 0 0 4px #303030;
	line-height: 2;
	font-weight: 400;
	max-width: 440px;
}

.challenge_message_section .message_human{
	position: absolute;
	width:530px;
	bottom:0;
	right:80px;
}


/*
------------------------------------
先輩の声
------------------------------------
*/


.interview_fv_section{

}

.interview_fv_section .fv_deco{
	width:151px;
	right:16px;
	bottom:-40px;
}

.interview_list_section{
	padding-top: 80px;
	padding-bottom: 200px;
}

.interview_list_section .interviw_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap:160px 80px;
}

.interview_list_section .interviw_item{

}

.interview_list_section .interviw_item:nth-child(3n + 2){
	transform: translateY(80px);
}
.interview_list_section .interviw_item:nth-child(3n){
	transform: translateY(160px);
}

/*
------------------------------------
先輩の声 詳細
------------------------------------
*/

.interview_info_section{
	padding-top: 140px;
}

.interview_info_section .info_frame{
	min-height: 660px;
	position: relative;
	padding-top: 60px;
	padding-bottom: 60px;
	display: flex;
	align-items: center;
}

.interview_info_section .info_contents{
	position: relative;
	z-index: 4;
}

.interview_info_section .page_title{
	font-size: 24px;
	font-weight: 700;
	text-align: left;
}

.interview_info_section .sub_page_title{
	justify-content: flex-start;
}

.interview_info_section .info_list{
	width: fit-content;
	min-width: 260px;
	margin-top: 8px;
}

.interview_info_section .info_line{
	min-height: 20px;
	display: flex;
	align-items: center;
	gap:4px 16px;
	padding:1px 8px;
	font-weight: 700; 
	line-height: 1.1;
	color:#fff;
	letter-spacing: 0;
}

.interview_info_section .info_line.green{
	background-color: var(--green);
}
.interview_info_section .info_line.red{
	background-color: var(--red);
}
.interview_info_section .info_line.blue{
	background-color: var(--blue);
}

.interview_info_section .info_line + .info_line{
	margin-top: 4px;
}

.interview_info_section .tag_list{
	margin-top: 8px;
}

.interview_info_section .tag_item + .tag_item{
	margin-top: 4px;
}

.interview_info_section .tag_item{
	width:fit-content;
	min-height: 22px;
	border-radius: 9999px;
	border: 1px solid var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	padding:1px 8px;
	font-size: 12px;
	font-weight: 500;
	list-style: 1.2;
	box-shadow: 0 1px 0 0 var(--black);
	letter-spacing: 0;
	background-color: #fff;
}

.interview_info_section .info_catch{
	margin-top: 72px;
	text-shadow: 2px 2px 0 #FFF;
	font-family: var(--font_851);
	font-size: 64px;
}

.interview_info_section .info_bg_area{
	position: absolute;
	height:100%;
	width:1000px;
	border-radius: 10px;
	overflow: hidden;
	top:0;
	left:320px;
}

.interview_info_section .info_bg_inner{
	position: relative;
	width:100%;
	height:100%;
}

.interview_info_section .info_bg{
	position: absolute;
	width:100%;
	height:100%;
	object-fit: cover;
	top:0;
	left:0;
	border-radius: 10px;
}

.interview_info_section .info_human{
	width:500px;
	position: absolute;
	z-index: 1;
	left:300px;
	bottom:0;
	max-height: calc(100% - 40px);
	object-fit: cover;
	object-position: top;
}


.interview_faq_section{
	padding-top: 140px;
}

.interview_faq_section .theme_list{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	position: relative;
	border-top:1px solid var(--black);
	border-bottom:1px solid var(--black);
}

.interview_faq_section .theme_list::before{
	content:'';
	width:1px;
	height:100%;
	position: absolute;
	background-color: var(--black);
	top:0;
	left:0;
	right:0;
	margin:auto;
}

.interview_faq_section .theme_deco{
	position: absolute;
	width:188px;
	aspect-ratio: 1 / calc(73 / 118);
	background-image: url('../img/interview/theme_deco.png');
	background-size: contain;
	bottom:0;
	right:0;
	transform: translate(50% , 50%);
}

.interview_faq_section .theme_block{
	position: relative;
	width:50%;
	padding-top: 80px;
	padding-bottom: 80px;
}


.interview_faq_section .theme_num{
	display: flex;
	justify-content: center;
	align-items: center;
	width: fit-content;
	min-height: 32px;
	border-radius: 9999px;
	padding:2px 16px;
	border:1px solid var(--black);
	font-weight: 900;
}

.interview_faq_section .theme_head{
	margin-top: 16px;
	font-size: 32px;
	font-weight: 900;
	/* font-feature-settings: 'palt'; */
	letter-spacing: 0;
}

.interview_faq_section .theme_text{
	margin-top: 20px;
	font-weight: 500;
	line-height: 2;
}


.interview_faq_section .theme_block:nth-child(even){
	padding-left: 48px;
}
.interview_faq_section .theme_block:nth-child(odd){
	padding-right: 48px;
}

.interview_faq_section .theme_block01{
	display: flex;
	align-items: center;
}

.interview_faq_section .theme_block01 .theme_img{
	width: 100%;
}

.interview_faq_section .theme_block01 .theme_img img{
	border-radius: 5px;
}

.interview_faq_section .theme_block03,
.interview_faq_section .theme_block04{
	border-top:1px solid var(--black);
}


.interview_career_section{
	padding-top: 200px;
}

.interview_career_section .head_area{
	padding-bottom: 24px;
	border-bottom:1px solid var(--black);
	position: relative;
}

.interview_career_section .sec_head{
	font-size: 32px;
	font-weight: 900;
	line-height: 1;
	letter-spacing: 0.1em;
}

.interview_career_section .career_deco{
	position: absolute;
	width: 54px;
	height: 99px;
	aspect-ratio: 1 / calc(99 / 54);
	background-image: url('../img/interview/career_deco.png');
	background-size: contain;
	right:0;
	bottom:-2px;
}

.interview_career_section .career_flex{
	display: flex;
	align-items: flex-start;
}

.interview_career_section .career_left{
	position: sticky;
	top:0;
	flex-shrink: 0;
	width:200px;
	min-height:100vh;
	
}

.interview_career_section .career_year_list{
	border-right:1px solid var(--black);
	padding-top: 80px;
	min-height:100vh;
}

.interview_career_section .career_year_item{
	display: flex;
	justify-content: flex-end;
	align-items: center;
	min-height: 80px;
	
}

.interview_career_section .career_year{
	width:180px;
	padding-inline: 48px;
	text-align: center;
	font-size: 14px;
	font-weight: 700;
	transition-duration: var(--c_duration);
}

.interview_career_section .career_year_item .radi{
	position: relative;
	width:1px;
	right:1px;
	background-color: red;
	transform: translateX(2px);
}

.interview_career_section .career_year_item .radi::before{
	content:'';
	width:17px;
	height:17px;
	border-radius: 50%;
	border: 4px solid var(--black);
	background-color: #fff;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
}

.interview_career_section .career_year_item .radi::after{
	content:'';
	width:80px;
	height:80px;
	border-radius: 50%;
	border:1px solid var(--green);
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	transition-duration: var(--c_duration);
	opacity: 0;
}

.interview_career_section .career_year_item + .career_year_item{
	margin-top: 24px;
}


.interview_career_section .career_year_item.active .career_year{
	color:var(--green);
}
.interview_career_section .career_year_item.active .radi::after{
	opacity: 1;
}


.interview_career_section .career_right{
	width:100%;
}

.interview_career_section .career_block{
	padding-top: 64px;
	padding-bottom: 64px;
	padding-inline: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 100vh;
}

.interview_career_section .career_contents{
	width:100%;
	max-width: 710px;
	font-weight: 500;
	line-height: 3;
}

.interview_message_section{
	padding-top: 120px;
	z-index: 2;
}


.interview_message_section .message_frame{
	min-height: 600px;
	padding-top: 80px;
	padding-bottom: 80px;
	display: flex;
	align-items: center;
	position: relative;

}

.interview_message_section .message_frame::before{
	content:'';
	background: rgba(48, 48, 48, 0.40);
	width:100vw;
	max-width: 1440px;
	height:100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index: 1;
	border-radius: 10px;
}




.interview_message_section .message_bg{
	width:100vw;
	max-width: 1440px;
	height:100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	object-fit: cover;
	border-radius: 10px;
}

.interview_message_section .message_contents{
	position: relative;
	width: 100%;
	max-width: 620px;
	z-index: 3;
}

.interview_message_section .message_head{
	width: fit-content;
	min-height: 32px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding: 2px 8px;
	border-radius: 9999px;
	border: 1px solid #fff;
	font-weight: 900;
	font-size: 16px;
	color:#fff;
}

.interview_message_section .message_catch{
	margin-top: 36px;
	width: fit-content;
	color: #FFF;
	text-shadow: 0 0 4px #303030;
	-webkit-text-stroke-width: 0.5px;
	-webkit-text-stroke-color: #303030;
	font-family: var(--font_851);
	font-size: 48px;
}

.interview_message_section .message_text{
	margin-top: 40px;
	color: #FFF;
	text-shadow: 0 0 4px #303030;
	line-height: 2;
	font-weight: 400;
}

.interview_message_section .message_human{
	position: absolute;
	width:530px;
	bottom:0;
	right:0;
	max-height: calc(100% - 40px);
	object-fit: cover;
	object-position: top;
	z-index: 2;
}


.interview_voice_section{

}

.interview_voice_section .voice_link_frame{
	display: none;
}

/*
------------------------------------
よくある質問
------------------------------------
*/

.faq_fv_section{

}

.faq_fv_section .fv_deco{
	width:77px;
	right:32px;
	bottom:-24px;
}

.faq_list_section{
	padding-top: 80px;
}

.faq_list_section .faq_inner{
	max-width: 900px;
	margin-inline: auto;
}

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

.faq_list_section .keyword_flex label{
	flex-shrink: 0;
	max-width: 200px;
	letter-spacing: 0;
}

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

.faq_list_section .faq_keyword{
	width:100%;
	height:55px;
	border-radius: 5px;
	border:1px solid var(--black);
	padding-left: 20px;
	padding-right: 48px;
	font-weight: 700;
}

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

.faq_list_section .faq_search_button{
	position: absolute;
	display: flex;
	justify-content: center;
	align-items: center;
	cursor: pointer;
	width:17px;
	aspect-ratio: 1 / 1;
	
	right:20px;
	top:0;
	bottom:0;
}

.faq_list_section .faq_search_button::after{
	content:'';
	width:100%;
	height:100%;
	background-image: url('../img/common/icon_search_black.svg');
	background-size: contain;
}

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


.faq_list_section .faq_tag{
	min-height: 36px;
	border-radius: 9999px;
	display: flex;
	justify-content: space-between;
	align-items: center;
	border:1px solid var(--black);
	cursor: pointer;
	font-weight: 700;
	background-color: #fff;
	padding:6px 16px;
	gap:6px;
}

.faq_list_section .faq_tag::after{
	content:'';
	width:12px;
	height:12px;
	background-color: var(--black);
	clip-path: polygon(50% 100%, 0 0, 100% 0);
	flex-shrink: 0;
}

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

.faq_list_section .faq_tag.active::after{
	background-color: #fff;
	transform: rotateZ(180deg);
}

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

.faq_list_section .faq_list{

}

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

.faq_list_section .faq_block{
	border: 1px solid #303030;
	background: #FFF;
	padding-inline: 40px;
}

.faq_list_section .faq_question{
	position: relative;
	padding:24px 24px 24px 40px;
	font-weight: 500;
	cursor: pointer;
}

.faq_list_section .faq_question::before{
	content:'Q.';
	font-weight: 700;
	position: absolute;
	top:22px;
	left:0;
}

.faq_list_section .faq_question .icon{
	position: absolute;
	width:14px;
	aspect-ratio: 1 / 1;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	position: absolute;
	right:0;
	top:29px
}

.faq_list_section .faq_question .icon::before,
.faq_list_section .faq_question .icon::after{
	content:'';
	width:100%;
	height:1px;
	background-color: var(--black);
	transition-duration: var(--c_duration);
}

.faq_list_section .faq_question .icon::after{
	margin-top: -1px;
	transform: rotateZ(-90deg);
}

.faq_list_section .faq_question.active .icon::after{
	transform: rotateZ(0);
}

.faq_list_section .faq_answer{
	padding-top: 10px;
	padding-bottom: 32px;
	display: none;
}

.faq_list_section .faq_answer_text{
	padding-top: 24px;
	position: relative;
	border-top:1px solid var(--black);
	font-size: 14px;
	font-weight: 500;
	line-height: 1.75;
	padding-left: 40px;
}

.faq_list_section .faq_answer_text::before{
	content:'A.';
	font-weight: 700;
	position: absolute;
	top:24px;
	left:0;
}

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

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

.description_fv_section{

}

.description_fv_section .fv_deco{
	width:157px;
	right:16px;
	bottom:-14px;
}

.description_search_section{
	padding-top: 80px;
}

.description_search_section .search_area + .search_area{
	margin-top: 32px;
}

.description_search_section .search_head{
	font-size: 20px;
	font-weight: 700;
	padding-bottom: 8px;
	border-bottom:1px solid var(--black);
}

.description_search_section .check_list{
	margin-top: 24px;
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:12px 24px;
}

.description_search_section .check_list label{
	cursor: pointer;
	display: flex;
	justify-content: center;
	align-items: center;
	min-height: 28px;
	padding:3px 16px;
	border-radius: 9999px;
	border:1px solid var(--black);
}

.description_search_section .check_list input{
	display: none;
}

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

.description_search_section .search_button{
	transition-duration: var(--c_duration);
	width: 100%;
	max-width: 480px;
	min-height: 64px;
	border-radius: 999px;
	margin-inline: auto;
	margin-top: 80px;
	border:1px solid var(--black);
	font-size: 30px;
	font-weight: 500;
	display: flex;
	justify-content: center;
	align-items: center;
	transition-duration: var(--c_duration);
}

.description_search_section .search_button:hover{
	background-color: var(--black);
	color:#fff;
}

.description_result_section{
	padding-top: 120px;
}

.description_result_section .description_list{
	display: flex;
	flex-wrap: wrap;
}

.description_result_section .description_block{
	width:50%;
	border-bottom:1px solid var(--black);
	padding-top: 56px;
	padding-bottom: 56px;
}

.description_result_section .description_block:nth-child(even){
	padding-left: 48px;
	padding-right: 24px;
	border-left:1px solid var(--black);
}

.description_result_section .description_block:nth-child(odd){
	padding-left: 24px;
	padding-right: 48px;
	
}

.description_result_section .description_block:nth-child(1),
.description_result_section .description_block:nth-child(2){
	border-top: 1px solid var(--black);

}

.description_result_section .description_flex{
	display: flex;
	align-items: center;
	gap:40px;
}

.description_result_section .description_job{
	font-size: 24px;
	font-weight: 900;
}

.description_result_section .description_type{
	flex-shrink: 0;
	min-width: 100px;
	min-height: 24px;
	border-radius: 9999px;
	background-color: var(--black);
	padding:1px 8px;
	font-size: 12px;
	font-weight: 700;
	color:#fff;
	display: flex;
	justify-content: center;
	align-items: center;
	line-height: 1.1;
}

.description_result_section .description_guide{
	margin-top: 32px;
}

.description_result_section .description_info_list{
	margin-top: 32px;
}

.description_result_section .description_info_line{
	padding-top: 16px;
	padding-bottom: 16px;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	border-bottom:1px solid #C0C0C0;
	font-size: 20px;
	font-weight: 500;
	line-height: 1.6;
	gap:8px;
}

.description_result_section .description_info_line .place_item{
	display: inline-block;
}

.description_result_section .description_info_line .place_item + .place_item::before{
	content:' , ';

}

.description_result_section .description_info_head{
	flex-shrink: 0;
}

.description_result_section .description_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: var(--c_duration);
}

.description_result_section .description_link::after{
	content:'';
	width:13px;
	height:9px;
	background-image: url('../img/common/icon_arrow_right_long_black.svg');
	position: absolute;
	right:30px;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: var(--c_duration);
}

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

.description_single_section{
	padding-top: 180px;
}

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

.description_single_section .description_img{
	max-width: 800px;
	margin-inline: auto;
	margin-top: 40px;
}

.description_single_section .description_info_list{
	margin-top: 120px;
	padding-bottom: 80px;
	border-bottom:2px solid var(--black);
}

.description_single_section .description_info_block + .description_info_block{
	margin-top: 40px;
}

.description_single_section .description_info_block{
	display: flex;
	align-items: flex-start;
	gap:10px;
	line-height: 1.75;
	max-width: 960px;
	margin-inline: auto;
}

.description_single_section .description_info_title,
.description_single_section .description_info_contents{
	position: relative;
	padding-top: 40px;
}

.description_single_section .description_info_title::before,
.description_single_section .description_info_contents::before{
	content:'';
	width:100%;
	height:2px;
	border-bottom: 9999px;
	top:0;
	left:0;
	position: absolute;
}

.description_single_section .description_info_title{
	flex-shrink: 0;
	width:190px;
	font-weight: 700;
	
}
.description_single_section .description_info_title::before{
	background-color: var(--blue);
}

.description_single_section .description_info_contents{
	width: 100%;
}
.description_single_section .description_info_contents::before{
	background-color: var(--red);
}

.description_single_section .flow_list{
	max-width: 680px;
	margin-inline: auto;
}


.description_single_section .flow_block{
	border: 1px solid var(--black);
	padding:16px 16px 32px;
	
}

.description_single_section .flow_block + .flow_block{
	margin-top: 16px;
}

.description_single_section .flow_flex{
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	max-width: 600px;
	margin-inline: auto;
	gap:10px;
}
.description_single_section .flow_step{
	flex-shrink: 0;
	min-width: 50px;
	font-weight: 500;
}

.description_single_section .flow_step span{
	display: block;
	font-size: 32px;
	font-weight: 700;
	line-height: 1.2;
}


.description_single_section .flow_contents{
	width: 100%;
	max-width: 485px;
	padding-top: 16px;
}

.description_single_section .flow_title{
	font-size: 20px;
	padding-bottom: 24px;
	border-bottom:1px solid var(--black);
	letter-spacing: 0;
}

.description_single_section .flow_text{
	margin-top: 24px;
	font-size: 14px;
	line-height: 1.7;
}

.description_single_section .entry_remark{
	width: fit-content;
	margin-inline: auto;
	margin-top: 24px;

}

.description_single_section .entry_button{
	display: flex;
	justify-content: center;
	align-items: center;
	position: relative;
	max-width: 530px;
	min-height: 56px;
	border-radius: 9999px;
	border:1px solid var(--black);
	margin-inline: auto;
	margin-top: 40px;
	transition-duration: var(--c_duration);
	font-weight: 500;
}

.description_single_section .entry_button::after{
	content:'';
	width:13px;
	height:9px;
	background-image: url('../img/common/icon_arrow_right_long_black.svg');
	position: absolute;
	right:30px;
	top:0;
	bottom:0;
	margin:auto;
	transition-duration: var(--c_duration);
}

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

.description_single_section .back_link{
	display: block;
	width: fit-content;
	margin-inline: auto;
	margin-top: 24px;
	font-size: 12px;
}


/*
------------------------------------
エントリー
------------------------------------
*/


.entry_body header{
	display: none;
}

.entry_body .c_page_border_frame{
	display: none;
}

.entry_form_section{
	padding-top: 80px;
}

.entry_form_section .entry_flex{
	display: flex;
	align-items: flex-start;
	gap:140px;
	position: relative;
}


.entry_form_section .entry_left{
	width:340px;
	padding-left: 40px;
	padding-top: 40px;
	position: sticky;
	top:0;
	flex-shrink: 0;
}

.entry_form_section .page_title{
	margin-top: 40px;
	text-align: left;
	font-size: 24px;
	font-weight: 900;
}

.entry_form_section .form_nav_box{
	width: fit-content;
	min-width:136px;
	min-height: 105px;
	margin-inline: auto;
	margin-top: 50px;
	border-radius: 10px;
	border: 1px solid var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	padding:10px;
	position: relative;
}

.entry_form_section .form_nav_count{
	color: #FF0505;
	font-size: 64px;
	line-height: 1;
	font-weight: 900;
}

.entry_form_section .form_nav_head{
	width: fit-content;
	position: absolute;
	top:0;
	left:0;
	right:0;
	margin-inline: auto;
	background-color: #fff;
	padding:3px;
	font-size: 12px;
	font-weight: 500;
	transform: translateY(-50%);
}

.entry_form_section .form_nav_text{
	margin-top: 40px;
	font-size: 14px;
	font-weight: 500;
	line-height: 2;
}

.entry_form_section .entry_right{
	flex-shrink: 0;
	width:840px;
	padding-top: 120px;
}

.entry_form_section .entry_box{
	border-radius: 10px;
	border: 4px solid #303030;
	position: relative;
	background-color: #fff;
	position: relative;
	
}

.entry_form_section .entry_box::before{
	content:'ENTRY FORM';
	white-space: nowrap;
	font-size: 12px;
	font-weight: 900;
	position: absolute;
	bottom:calc(100% + 4px);
	left:6px;
}

.entry_form_section .entry_box::after{
	content:'';
	width:6px;
	height:48px;
	background-image: url('../img/common/icon_arrow_bottom_half_black.svg');
	position: absolute;
	top:10px;
	right:calc(100% + 6px);
}

.entry_form_section .entry_box_inner{
	padding-top: 24px;
	padding-bottom: 24px;
	padding-left: 64px;
	padding-right: 160px;
	overflow: clip;

}

.c_form_block .entry_line{
	padding-top: 40px;
	padding-bottom: 40px;
	position: relative;
}

.c_form_block .entry_line::after{
	content:'';
	width:300%;
	height:1px;
	background-color: var(--black);
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
}

.c_form_block .entry_line:last-child:after{
	content:none;
}

.c_form_block .entry_label{
	display: flex;
	align-items: center;
	gap:8px;
	font-weight: 900;
	line-height: 1.1;
}

.c_form_block .entry_label::before{
	content:'必須';
	min-width: 40px;
	min-height: 20px;
	border-radius: 999px;
	display: flex;
	justify-content: center;
	align-items: center;
	padding:3px 6px;
	background-color: var(--black);
	font-size: 12px;
	line-height: 1.2;
	font-weight: 500;
	color:#fff;
}

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

.c_form_block .entry_label span{
	font-size: 12px;
	font-weight: 400;
}

.c_form_block .input_area{
	margin-top: 32px;
} 

.c_form_block .check_list .wpcf7-list-item{
	margin: 0;
}

.c_form_block .check_list input{
	display: none;
}

.c_form_block .check_list .wpcf7-radio,
.c_form_block .check_list .wpcf7-checkbox{
	display: flex;
	align-items: flex-start;
	flex-wrap: wrap;
	gap:16px 24px;
}

.c_form_block .check_list label{
	cursor: pointer;
	width: fit-content;
	min-width: 134px;
	min-height: 35px;
	border-radius: 9999px;
	border:1px solid var(--black);
	display: flex;
	justify-content: center;
	align-items: center;
	font-weight: 400;
	line-height: 1.3;
	padding:4px 8px;
}

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

.c_form_block .input_frame{
	margin-left: 50px;
}

.c_form_block .input_frame.text{
	max-width: 300px;
}

.c_form_block .input_frame.textarea{
	max-width: 420px;
}

.c_form_block .input_frame.text input{
	display: block;
	width:100%;
	font-size: 16px;
	padding-top: 8px;
	padding-bottom: 8px;
	border:none;
	border-bottom:1px solid #B0B0B0;
	
}

.c_form_block .input_frame.textarea textarea{
	display: block;
	width:100%;
	height:90px;
	font-size: 16px;
	padding-top: 8px;
	padding-bottom: 8px;
	border:none;
	border-bottom:1px solid #B0B0B0;
	
}

.c_form_block .input_frame.text input::placeholder,
.c_form_block .input_frame.text textarea::placeholder{
	color:#9D9D9D;
}


.c_form_block .agree_text{
	font-size: 14px;
	font-weight: 700;
	text-align: center;
}

.c_form_block .agree_text a{
	border-bottom:1px solid var(--black);
	transition-duration: var(--c_duration);
	transition-property: border-color;
}

@media(any-hover:hover){
	.c_form_block .agree_text a:hover{
		border-color: transparent;
	}
}


.c_form_block .agree_area{
	width: fit-content;
	margin-top: 24px;
	margin-inline: auto;
}

.c_form_block .agree_area .wpcf7-list-item{
	margin: 0;
}

.c_form_block .agree_area label{
	width: fit-content;
	margin-inline: auto;
	display: flex;
	align-items: center;
	cursor: pointer;
	gap:8px;
	font-size: 14px;
	font-weight: 700;
}

.c_form_block .agree_area label input{
	width:19px;
	height:19px;
}

.entry_form_section .bottom_area{
	margin-top: 40px;
	padding-inline: 64px;
}

.entry_form_section .submit_frame{
	max-width: 260px;
	margin-inline: auto;
	position: relative;
	margin-top: 40px;
	border-radius: 9999px;
}

.entry_form_section .submit_frame .submit{
	display: flex;
	justify-content: center;
	align-items: center;
	width:100%;
	height:50px;
	border-radius: 9999px;
	cursor: pointer;
	border:1px solid var(--black);
	background: none;
	font-weight: 500;
	transition-duration: var(--c_duration);
}

.entry_form_section .submit_frame::after{
	content:'';
	width:13px;
	height:9px;
	background-image: url('../img/common/icon_arrow_right_long_black.svg');
	position: absolute;
	right:24px;
	top:21px;
	pointer-events: none;
	transition-duration: var(--c_duration);
}

@media(any-hover:hover){
	.entry_form_section .submit_frame:hover .submit{
		background-color: var(--black);
		color:#fff;
	}
	.entry_form_section .submit_frame:hover::after{
		background-image: url('../img/common/icon_arrow_right_long_white.svg');
	}
}

.entry_form_section .re_text {
    margin-top: 24px;
}

.entry_form_section .re_text a{
	border-bottom: 1px solid;
}

.entry_complete_section{

}

.entry_complete_section .entry_complete_frame{
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 200px;
}

.entry_complete_section .finish_text01{
	font-size: 24px;
    text-align: center;
    font-weight: bold;
}

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

.entry_complete_section .link_frame{
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.entry_complete_section .link_frame .radi{
	transform: rotateZ(180deg);
}



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

.page404_body{

}


.page404_body .c_bread_section{
	display: none;
}

.entry_complete_section{

}

.page404_section .page404_frame{
	display: flex;
	justify-content: center;
	align-items: center;
	padding-top: 200px;
}

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

.page404_section .p02{
	margin-top: 32px;
    text-align: center;
    line-height: 1.75;
}

.page404_section .link_frame{
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.page404_section .link_frame .radi{
	transform: rotateZ(180deg);
}