@charset "UTF-8";
/*----- 採用情報 -----*/
.recruit .page_top{height: 540px;}
.recruit .page_title{
	font-size: 1.8rem;
	line-height: 2.2rem;
	letter-spacing: 1.44px;
	text-align: center;
}
.recruit .page_title::before{
	font-size: 4.6rem;
	line-height: 4.6rem;
	letter-spacing: 1.84px;
	margin-bottom: 10px;
}
.recruit .page_title::after{
	content: '';
	display: block;
	width: 32px;
	height: 1px;
	background: #fff;
	margin: 23px auto 0;
}
.recruit_content_area{
	padding: 0 30px;
	margin: 0 auto;
}
.bg_area{
	position: relative;
	padding: 0 0 100px;
}
.bg_area::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background: #F6F3F3;
	z-index: -2;
	pointer-events: none;
}
.recruit_intro{
	position: relative;
	padding: 60px 0 90px;
	margin-top: 80px;
}
.recruit_intro::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background: url(/img/recruit/bg.png) no-repeat center center/auto 100%;
	z-index: -1;
	pointer-events: none;
}
.recruit_intro_box{
	max-width: 780px;
	padding: 85px 30px 70px;
	margin: 0 auto;
	background: #fff;
	text-align: center;
}
.recruit_intro_ttl{
	font-size: 3.2rem;
	line-height: 4.2rem;
	letter-spacing: 2.56px;
	color: #961E23;
	padding: 0;
	margin: 0 0 40px;
}
.recruit_intro_ttl::before{display: none;}
.recruit_intro_txt p{
	line-height: 3.2rem;
	letter-spacing: 0.64px;
}
.recruit_slide_item{width: 500px;}
.recruit_slide .slick-list{overflow: visible;}
.recruit_slide img{
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.recruit_h2{
	font-size: 1.8rem;
	line-height: 2.2rem;
	letter-spacing: 1.44px;
	padding: 0;
	margin: 0;
	text-align: center;
}
.recruit_h2::before{
	all: unset;
	content: attr(data-en);
	display: block;
	font-weight: 700;
	font-size: 4.6rem;
	line-height: 4.6rem;
	letter-spacing: 1.84px;
	color: #961E23;
	margin-bottom: 10px;
}
.recruit_jobs_area{
	max-width: 1180px;
	padding: 105px 0 115px;
	margin: 0 auto;
}
.recruit_jobs_area .recruit_h2{margin-bottom: 32px;}
.recruit_jobs_box{margin-bottom: 45px;}
.recruit_jobs_box p{text-align: center;}
.recruit_jobs_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 55px 50px;
	padding: 0;
	margin: 0;
}
.recruit_jobs_item{
	margin: 0;
	list-style: none;
}
.recruit_jobs_link{
	display: flex;
	flex-direction: column-reverse;
	color: #000 !important;
	text-decoration: none;
}
.recruit_jobs_info{
	position: relative;
	padding: 25px 30px 0 0;
	margin: -80px 60px 0 0;
	background: #fff;
	z-index: 1;
}
.recruit_jobs_ttl{
	font-size: 2.2rem;
	line-height: 3rem;
	letter-spacing: 1.1px;
	padding: 0;
	margin: 0 0 13px;
}
.recruit_jobs_ttl::before{display: none;}
.recruit_jobs_ttl::after{
	content: attr(data-en);
	display: block;
	font-weight: 700;
	font-size: 1.4rem;
	line-height: 1.5rem;
	letter-spacing: 0;
	color: #961E23;
	margin-top: 5px;
}
.recruit_jobs_ttl span{
	padding-right: 20px;
	background: url(/img/common/arrow_r_red.svg) right center no-repeat;
}
.recruit_jobs_info p{
	line-height: 2.4rem;
	letter-spacing: 0.8px;
	margin-bottom: 0;
}
.recruit_jobs_thumb{
	width: 100%;
	max-width: 360px;
	border-radius: 50%;
	overflow: hidden;
}
.recruit_jobs_thumb img{transition: transform 0.3s;}
.recruit_jobs_link:hover .recruit_jobs_thumb img{transform: scale(1.05);}
.recruit_jobs_link_btn{margin: 50px auto 0;}
.recruit_environment_area{
	position: relative;
	padding: 80px 0;
}
.recruit_environment_area::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background: url(/img/recruit/bg_environment.jpg) no-repeat center center/cover;
	z-index: -1;
	pointer-events: none;
}
.recruit_environment_box{
	max-width: 780px;
	padding: 70px 30px 80px;
	margin: 0 auto;
	background: #fff;
}
.recruit_environment_area .recruit_h2{margin-bottom: 30px;}
.recruit_environment_txt{
	font-size: 1.6rem;
	line-height: 3.2rem;
	letter-spacing: 0.64px;
	text-align: center;
}
.recruit_environment_col{
	display: flex;
	justify-content: center;
	gap: 40px;
	margin: 33px 0 40px;
}
.recruit_environment_item{width: 140px;}
.recruit_environment_item img{
	max-width: 120px;
	margin: 0 auto 13px;
}
.recruit_environment_item p{
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 2.2rem;
	letter-spacing: 1.44px;
	margin-bottom: 0;
	text-align: center;
}
.recruit_environment_item p span{color: #961E23;}
.recruit_environment_area .link_btn{margin: 0 auto;}
.recruit_apply_area{
	position: relative;
	max-width: 1100px;
	padding: 90px 0 100px;
	margin: 0 auto;
}
.recruit_apply_area::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background: #F6F3F3;
	z-index: -1;
	pointer-events: none;
}
.recruit_apply_list{
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0 30px;
	padding: 0;
	margin: 40px 0 0;
}
.recruit_apply_item{
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 2.2rem;
	letter-spacing: 1.44px;
	margin: 0;
	list-style: none;
}
.recruit_apply_link{
	position: relative;
	display: block;
	padding: 29px 40px 29px 20px;
	color: #000 !important;
	background: #fff;
	text-decoration: none;
	transition: color 0.3s, background 0.3s;
}
.recruit_apply_link:hover{
	color: #fff !important;
	background: #000;
}
.recruit_apply_link::before, .recruit_apply_link::after{
	content: '';
	position: absolute;
	top: 0;
	right: 20px;
	bottom: 0;
	width: 6px;
	height: 13px;
	margin: auto;
	transition: opacity 0.3s;
}
.recruit_apply_link::before{background: url(/img/common/arrow_r_red.svg) no-repeat center center;}
.recruit_apply_link::after{
	background: url(/img/common/arrow_r_white.svg) no-repeat center center;
	opacity: 0;
}
.recruit_apply_link:hover::before{opacity: 0;}
.recruit_apply_link:hover::after{opacity: 1;}

/*----- 職種と仕事紹介 -----*/
.jobs .content_area{
	max-width: 1240px;
	padding-bottom: 120px;
}

/*----- 職種と仕事紹介 下層ページ -----*/
.jobs_child_page_top{position: relative;}
.jobs_child_page_title{
	position: absolute;
	bottom: 0;
	left: 0;
	font-weight: 700;
	font-size: 1.8rem;
	letter-spacing: 1.44px;
	padding: 40px 55px 27px 50px;
	background: #fff;
	z-index: 1;
}
.jobs_child_page_title::before{
	content: attr(data-en);
	display: block;
	font-weight: 700;
	font-size: 4.6rem;
	line-height: 4.6rem;
	letter-spacing: 0;
	color: #973131;
	margin-bottom: 7px;
}
.jobs_child_page_top_img{
	width: 100%;
	height: 540px;
	-o-object-fit: cover;
	object-fit: cover;
}
.workflow_list{
	counter-reset: workflow;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	padding: 0;
	margin: 20px 0 0;
	border-top: 1px solid #973131;
	border-left: 1px solid #973131;
}
.workflow_item{
	counter-increment: workflow;
	padding: 38px 30px;
	margin: 0;
	border-right: 1px solid #973131;
	border-bottom: 1px solid #973131;
	list-style: none;
}
.workflow_item h3{
	padding: 0;
	margin: 0 0 12px;
}
.workflow_item h3::before{
	all: unset;
	content: counter(workflow, decimal-leading-zero);
	display: block;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.6rem;
	letter-spacing: 0;
	color: #961E23;
	margin-bottom: 3px;
}
.workflow_item p{line-height: 2.4rem;}
.workflow_item p:last-child{margin-bottom: 0;}
.feature_h3{margin: 47px 0 15px;}
.target_box{
	display: grid;
	grid-template-columns: 390px 1fr;
	align-items: center;
	gap: 30px;
	padding: 33px 38px;
	margin-top: 90px;
	border: 2px solid #973131;
}
.target_ttl{
	font-size: 2.6rem;
	line-height: 3.1rem;
	letter-spacing: 2.08px;
	color: #973131;
	padding: 0;
	margin: 0;
}
.target_ttl::before{display: none;}
.target_list{
	padding: 0;
	margin: 0;
}
.target_list li{
	position: relative;
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 3.5rem;
	letter-spacing: 1.44px;
	padding-left: 35px;
	list-style: none;
}
.target_list li::before{
	content: '';
	position: absolute;
	top: 7px;
	left: 0;
	display: block;
	width: 25px;
	height: 25px;
	background: url(/img/common/icon_check.svg) no-repeat center center;
}
.target_list li:last-child{margin-bottom: 0;}
.interview_top{
	display: grid;
	grid-template-columns: 430px 1fr;
	align-items: center;
	gap: 30px;
	margin: 20px 0 50px;
}
.interview_ttl{
	font-size: 2rem;
	line-height: 3.5rem;
	letter-spacing: 1.6px;
	padding: 0;
	margin: 27px 0 40px;
}
.interview_ttl::before{
	all: unset;
	content: 'INTERVIEW';
	display: block;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 2.4rem;
	letter-spacing: 0;
	color: #973131;
	margin-bottom: 27px;
}
.interview_name{
	font-weight: 700;
	font-size: 1.8rem;
	line-height: 2.2rem;
	letter-spacing: 1.44px;
}
.interview_info{
	font-size: 1.3rem;
	line-height: 2.5rem;
	letter-spacing: 1.04px;
	margin-bottom: 0;
}
.interview_content{
	counter-reset: interview;
	border-top: 1px solid #000;
}
.interview_content_box{
	display: grid;
	grid-template-columns: 430px 1fr;
	gap: 30px;
	padding: 75px 0 45px;
	border-bottom: 1px solid #000;
}
.interview_content_box h4{
	counter-increment: interview;
	font-size: 2rem;
	line-height: 2.9rem;
	letter-spacing: 1.6px;
	padding: 0;
	margin: -28px 0 0;
}
.interview_content_box h4::before{
	all: unset;
	content: 'Q' counter(interview);
	display: block;
	font-weight: 700;
	font-size: 2.4rem;
	line-height: 2.4rem;
	letter-spacing: 0;
	color: #973131;
	margin-bottom: 4px;
}
.interview_content_box p:last-child{margin-bottom: 0;}
.schedule_col{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	align-items: start;
	gap: 60px;
	margin-top: 30px;
}
.schedule_list{
	position: relative;
	display: flex;
	flex-wrap: wrap;
	gap: 20px 0;
	padding: 7px 0;
}
.schedule_list::before{
	content: '';
	position: absolute;
	top: 0;
	left: 5px;
	width: 2px;
	height: 100%;
	background: rgba(204, 204, 204, 0.8);
}
.schedule_time{
	position: relative;
	width: 105px;
	font-weight: 700;
	font-size: 2rem;
	line-height: 3rem;
	color: #973131;
	padding-left: 25px;
}
.schedule_time::after{
	content: '';
	position: absolute;
	top: 8px;
	left: 0;
	width: 12px;
	height: 12px;
	background: #973131;
	border-radius: 50%;
}
.schedule_data{
	width: calc(100% - 105px);
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 3rem;
	letter-spacing: 1.28px;
}
.schedule_data:last-child{margin-bottom: 0;}

/*----- 働く環境 -----*/
.env_h2{
	font-size: 1.6rem;
	line-height: 3.5rem;
	letter-spacing: 1.28px;
	padding: 0;
	margin: 0;
}
.env_h2::before{
	all: unset;
	content: attr(data-en);
	font-weight: 700;
	font-size: 5.4rem;
	line-height: 5.4rem;
	letter-spacing: 0;
	color: #961E23;
	margin: 0 20px 0 0;
}
.data_area{
	position: relative;
	padding: 70px 0 80px;
	margin-top: 98px;
}
.data_area::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background: #F5F3F0;
	z-index: -1;
	pointer-events: none;
}
.data_area .env_h2{margin-bottom: 32px;}
.data_box{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	border-top: 1px solid #000;
	border-left: 1px solid #000;
}
.data_item{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	min-height: 288px;
	padding: 27px 10px 20px;
	background: #fff;
	border-right: 1px solid #000;
	border-bottom: 1px solid #000;
}
.data_item:nth-last-child(-n+2){grid-column: span 2;}
.data_item h3{
	font-size: 2rem;
	line-height: 2.4rem;
	letter-spacing: 1.6px;
	padding: 0;
	margin: 0;
	text-align: center;
}
.data_item h3::before{display: none;}
.data_item img{
	flex: 1;
	width: 100%;
	max-width: 225px;
	margin: 0 auto 10px;
}
.data_note{
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: 1.12px;
	margin-bottom: 0;
	text-align: center;
}
.benefits_area{
	counter-reset: benefits;
	position: relative;
	padding: 70px 0 60px;
}
.benefits_area::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background: #961E23;
	z-index: -1;
	pointer-events: none;
}
.benefits_area .env_h2{
	color: #fff;
	margin-bottom: 32px;
}
.benefits_area .env_h2::before{color: #fff;}
.benefits_box{
	counter-increment: benefits;
	display: grid;
	grid-template-columns: minmax(320px, 1fr) minmax(0, 640px);
	align-items: flex-start;
	gap: 20px;
	padding: 55px 40px 30px;
	margin-bottom: 20px;
	background: #fff;
}
.benefits_box h3{
	padding: 0;
	margin: -20px 0 0;
}
.benefits_box h3::before{
	all: unset;
	content: 'BENEFITS ' counter(benefits, decimal-leading-zero);
	display: block;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.6rem;
	letter-spacing: 0;
	color: #961E23;
	margin-bottom: 5px;
}
.benefits_list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 25px;
	margin: 25px 0 0;
}
.benefits_list li{
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 3rem;
	letter-spacing: 1.28px;
	margin-bottom: 3px;
}
.growth_area{
	counter-reset: growth;
	position: relative;
	padding: 65px 0 0;
	margin-bottom: 80px;
}
.growth_area .env_h2{margin-bottom: 32px;}
.growth_col{
	counter-increment: growth;
	display: grid;
	grid-template-columns: minmax(260px, 1fr) minmax(0, 720px);
	gap: 40px;
	padding: 55px 40px 35px;
	border-top: 1px solid #961E23;
}
.growth_col:last-of-type{border-bottom: 1px solid #961E23;}
.growth_col h3{
	padding: 0;
	margin: -20px 0 0;
}
.growth_col h3::before{
	all: unset;
	content: 'GROWTH ' counter(growth, decimal-leading-zero);
	display: block;
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 1.6rem;
	letter-spacing: 0;
	color: #961E23;
	margin-bottom: 5px;
}
.growth_list{
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0 35px;
	margin: 25px 0 0;
}
.growth_list li{
	font-weight: 700;
	font-size: 1.6rem;
	line-height: 3rem;
	letter-spacing: 1.28px;
	margin-bottom: 3px;
}
.certification_area{
	position: relative;
	padding: 70px 0 90px;
}
.certification_area::before{
	content: '';
	position: absolute;
	top: 0;
	left: calc(50% - var(--vw-50));
	width: var(--vw-100);
	height: 100%;
	background: #F5F3F0;
	z-index: -1;
	pointer-events: none;
}
.certification_area .env_h2{margin-bottom: 25px;}
.certification_col{
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
}

/*----- よくあるご質問 -----*/
.faq_q{
	display: flex;
	align-items: baseline;
	gap: 10px;
	padding: 0;
}
.faq_q::before{
	all: unset;
	content: 'Q.';
	font-weight: 700;
	font-size: 2.8rem;
	line-height: 2.8rem;
	letter-spacing: 0;
	color: #961E23;
}

/*----- 新卒募集要項・中途募集要項 -----*/
.recruit_flow{
	counter-reset: flow;
	padding: 0;
	margin: 0;
}
.recruit_flow li{
	counter-increment: flow;
	position: relative;
	display: grid;
	grid-template-columns: 200px 1fr;
	align-items: center;
	padding: 30px 30px 35px 0;
	margin-bottom: 60px;
	border: 1px solid #973131;
	list-style: none;
}
.recruit_flow li::after{
	content: '';
	position: absolute;
	top: calc(100% + 26px);
	right: 0;
	left: 0;
	display: block;
	width: 0;
	height: 0;
	margin: 0 auto;
	border-left: 13px solid transparent;
	border-right: 13px solid transparent;
	border-top: 12px solid #973131;
}
.recruit_flow li:last-child::after{display: none;}
.recruit_flow_label{
	font-family: var(--font-poppins);
	font-weight: 700;
	font-size: 1.6rem;
	color: #973131;
	text-align: center;
}
.recruit_flow_num{
	display: block;
	font-weight: 500;
	font-size: 5.6rem;
	line-height: 5.6rem;
}
.recruit_flow h3{
	padding: 0;
	margin: 0 0 5px;
}
.recruit_flow h3::before{display: none;}
.recruit_flow p{margin-bottom: 13px;}
.recruit_flow p:last-child{margin-bottom: 0;}
.recruit_bnr_link{
	position: relative;
	display: inline-block;
	max-width: 280px;
}
.recruit_bnr_link::before{
	content: '';
	position: absolute;
	inset: 0;
	border: 2px solid #800000;
	opacity: 0;
	transition: opacity 0.3s;
}
.recruit_bnr_link:hover::before{opacity: 1;}
.recruit_bnr_link::after{
	content: '';
	position: absolute;
	top: 8px;
	right: 8px;
	display: block;
	width: 12px;
	height: 12px;
	background: url(/img/common/icon_popup.svg) no-repeat;
	z-index: 1;
	pointer-events: none;
}

@media screen and (max-width: 1024px){
.recruit .page_top{height: 310px;}
.recruit .page_title{
	font-size: 1.6rem;
	line-height: 2rem;
	letter-spacing: 1.28px;
}
.recruit .page_title::before{
	font-size: 3.6rem;
	line-height: 3.6rem;
	letter-spacing: 1.44px;
}
.recruit .page_title::after{margin: 15px auto 0;}
.recruit_content_area{padding: 0 20px;}
.bg_area{padding: 0 0 80px;}
.recruit_intro{
	padding: 50px 0 55px;
	margin-top: 60px;
}
.recruit_intro_box{
	max-width: 528px;
	padding: 55px 20px 27px;
}
.recruit_intro_ttl{
	font-size: 2.2rem;
	line-height: 3.3rem;
	letter-spacing: 1.76px;
	margin-bottom: 12px;
}
.recruit_intro_txt p{
	line-height: 2.8rem;
	letter-spacing: 0.56px;
	margin-bottom: 12px;
}
.recruit_slide_item{width: 280px;}
.recruit_h2{
	font-size: 1.6rem;
	line-height: 2rem;
	letter-spacing: 1.28px;
}
.recruit_h2::before{
	font-size: 3.6rem;
	line-height: 3.6rem;
	letter-spacing: 1.44px;
	margin-bottom: 15px;
}
.recruit_jobs_area{padding: 75px 0 110px;}
.recruit_jobs_area .recruit_h2{margin-bottom: 25px;}
.recruit_jobs_list{
	grid-template-columns: repeat(2, 1fr);
	gap: 50px 34px;
	max-width: 670px;
	margin: 0 auto;
}
.recruit_jobs_info{
	padding: 20px 20px 0 0;
	margin: -75px 55px 0 0;
}
.recruit_jobs_ttl{
	font-size: 2rem;
	letter-spacing: 1px;
	margin-bottom: 16px;
}
.recruit_jobs_ttl::after{
	font-size: 1.2rem;
	line-height: 1.3rem;
	margin-top: 2px;
}
.recruit_jobs_info p{
	line-height: 2.6rem;
	letter-spacing: 1.12px;
}
.recruit_environment_area{padding: 60px 0;}
.recruit_environment_box{
	max-width: 668px;
	padding: 50px 30px 60px;
}
.recruit_environment_area .recruit_h2{margin-bottom: 23px;}
.recruit_environment_col{
	gap: 20px;
	margin: 38px 0 30px;
}
.recruit_environment_item img{
	max-width: 80px;
	margin: 0 auto 10px;
}
.recruit_environment_item p{
	font-size: 1.6rem;
	letter-spacing: 1.28px;
}
.recruit_apply_area{padding: 75px 0 80px;}
.recruit_apply_list{
	gap: 0 20px;
	margin: 30px 0 0;
}
.recruit_apply_item{
	font-size: 1.6rem;
	line-height: 1.9rem;
	letter-spacing: 1.28px;
}
.recruit_apply_link{padding: 20px 40px 21px 20px;}
.jobs_child_page_title{
	font-size: 1.5rem;
	letter-spacing: 1.2px;
	padding: 30px 40px 20px 35px;
}
.jobs_child_page_title::before{
	font-size: 2.4rem;
	line-height: 2.4rem;
}
.jobs_child_page_top_img{height: 360px;}
.workflow_list{grid-template-columns: repeat(2, 1fr);}
.workflow_item{padding: 28px 20px 25px;}
.workflow_item h3{
	font-size: 2.2rem;
	line-height: 3.3rem;
	letter-spacing: 1.76px;
}
.target_box{
	grid-template-columns: 300px 1fr;
	gap: 20px;
	margin-top: 45px;
	padding: 30px 18px 35px;
}
.target_ttl{
	font-size: 2.2rem;
	line-height: 3.3rem;
	letter-spacing: 1.76px;
}
.target_list li{
	font-size: 1.5rem;
	line-height: 2.4rem;
	letter-spacing: 1.2px;
	margin-bottom: 12px;
}
.target_list li::before{top: 0;}
.interview_top{
	grid-template-columns: 1fr 1fr;
	gap: 20px;
	margin: 30px 0 45px;
}
.interview_ttl{
	line-height: 3rem;
	margin: 0 0 28px;
}
.interview_ttl br{display: none;}
.interview_ttl::before{
	font-size: 1.6rem;
	line-height: 1.6rem;
	margin-bottom: 12px;
}
.interview_name{margin-bottom: 12px;}
.interview_info{
	font-size: 1.2rem;
	line-height: 2rem;
	letter-spacing: 0.96px;
}
.interview_content_box{
	grid-template-columns: 1fr;
	gap: 12px;
	padding: 65px 0 30px;
}
.interview_content_box h4{
	font-size: 1.8rem;
	line-height: 2.7rem;
	letter-spacing: 1.44px;
}
.interview_content_box h4::before{margin-bottom: 8px;}
.schedule_list{
	gap: 12px 0;
	padding: 6px 0;
}
.schedule_time{
	width: 90px;
	font-size: 1.6rem;
	line-height: 2.1rem;
	padding-left: 23px;
}
.schedule_time::after{top: 4px;}
.schedule_data{
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: 1.12px;
}
.env_h2{
	font-size: 1.5rem;
	line-height: 2.4rem;
	letter-spacing: 1.2px;
}
.env_h2::before{
	display: block;
	font-size: 4.2rem;
	line-height: 4.2rem;
	margin: 0 0 5px;
}
.data_area{
	padding: 55px 0 80px;
	margin-top: 80px;
}
.data_area .env_h2{margin-bottom: 25px;}
.data_item{
	min-height: auto;
	padding: 25px 15px 23px;
}
.data_item h3{margin: 0 0 20px;}
.benefits_area{padding: 56px 0 40px;}
.benefits_area .env_h2{margin-bottom: 25px;}
.benefits_box{
	grid-template-columns: 1fr;
	gap: 30px;
	padding: 55px 20px 30px;
}
.benefits_box h3 br{display: none;}
.benefits_list li{
	font-size: 1.4rem;
	line-height: 2.4rem;
	letter-spacing: 1.12px;
	margin-bottom: 5px;
}
.growth_area{padding: 55px 0 0;}
.growth_col{
	grid-template-columns: 1fr;
	padding: 55px 20px 35px;
	gap: 30px;
}
.growth_col h3 br{display: none;}
.growth_list li{
	font-size: 1.4rem;
	line-height: 2.4rem;
	letter-spacing: 1.12px;
	margin-bottom: 5px;
}
.certification_col{gap: 20px 13px;}
.recruit_flow li{
	grid-template-columns: 180px 1fr;
	margin-bottom: 50px;
}
.recruit_flow li::after{top: calc(100% + 20px);}
.recruit_flow_label{
	font-size: 1.4rem;
	margin-bottom: 13px;
}
.recruit_flow_num{
	font-size: 4.6rem;
	line-height: 4.6rem;
}
.recruit_flow h3{
	font-size: 2.2rem;
	line-height: 3.3rem;
	letter-spacing: 1.76px;
	margin-bottom: 22px;
}
.recruit_flow p{
	line-height: 2.4rem;
	margin-bottom: 15px;
}
}

@media screen and (max-width: 767px){
.recruit .page_top{height: 200px;}
.bg_area{padding: 0 0 60px;}
.recruit_intro{
	padding: 60px 0 55px;
	margin-top: 55px;
}
.recruit_intro::before{
	background: 
		url(/img/recruit/smp_bg_1.png) no-repeat top center/125% auto,
		url(/img/recruit/smp_bg_2.png) no-repeat bottom center/125% auto;
}
.recruit_intro_box{padding: 42px 20px 27px;}
.recruit_intro_ttl{margin-bottom: 17px;}
.recruit_intro_txt p{margin-bottom: 16px;}
.recruit_jobs_area{padding: 75px 0 80px;}
.recruit_jobs_box{margin-bottom: 30px;}
.recruit_jobs_list{
	grid-template-columns: 1fr;
	gap: 40px;
	max-width: 315px;
}
.recruit_environment_area{padding: 50px 0;}
.recruit_environment_box{padding: 55px 20px 60px;}
.recruit_environment_col{
	flex-direction: column;
	align-items: center;
	margin: 22px 0 40px;
}
.recruit_environment_item{
	display: grid;
	grid-template-columns: 80px 1fr;
	align-items: center;
	gap: 14px;
	width: 255px;
}
.recruit_environment_item img{margin: 0;}
.recruit_environment_item p{text-align: left;}
.recruit_apply_area{padding: 70px 0 80px;}
.recruit_apply_h2::before{
	line-height: 4.4rem;
	margin-bottom: 10px;
}
.recruit_apply_list{
	grid-template-columns: 1fr;
	gap: 9px 0;
}
.recruit_apply_link{padding: 20px 30px 21px 15px;}
.recruit_apply_link::before, .recruit_apply_link::after{right: 15px;}
.jobs_child_page_top{
	display: flex;
	flex-direction: column-reverse;
}
.jobs_child_page_title{
	position: static;
	padding: 27px 20px 25px;
	border-bottom: 1px solid #D6D6D6;
}
.jobs_child_page_top_img{height: 240px;}
.workflow_list{grid-template-columns: repeat(1, 1fr);}
.target_box{grid-template-columns: 1fr;}
.interview_top{
	grid-template-columns: 1fr;
	gap: 28px;
	margin: 20px 0 45px;
}
.interview_top img{order: -1;}
.schedule_col{
	grid-template-columns: 1fr;
	gap: 0;
}
.data_box{grid-template-columns: repeat(1, 1fr);}
.data_item:nth-last-child(-n+2){grid-column: span 1;}
.benefits_box{
	gap: 12px;
	padding: 36px 20px 30px;
	margin-bottom: 10px;
}
.benefits_box h3{margin: 0;}
.benefits_list{
	grid-template-columns: repeat(1, 1fr);
	margin: 15px 0 0;
}
.growth_col{
	padding: 40px 20px 35px;
	gap: 15px;
}
.growth_col h3{margin: 0;}
.growth_list{
	grid-template-columns: repeat(1, 1fr);
	margin: 15px 0 0;
}
.certification_col{grid-template-columns: repeat(2, 1fr);}
.faq_q{
	font-size: 2rem;
	line-height: 3rem;
	letter-spacing: 1.6px;
	margin-top: 35px;
}
.faq_q::before{
	font-size: 2.6rem;
	line-height: 2.6rem;
}
.recruit_flow li{
	grid-template-columns: 1fr;
	padding: 35px 20px;
	text-align: center;
}
}