@charset "utf-8";

.page_title{display:none;}
h2{
	margin-bottom:30px;
	font-size:1.7rem;
	font-weight:500;
	letter-spacing:1.7px;
	line-height:2.5rem;
}
h2::before{
	content:attr(data-en);
	display:block;
	font-family:var(--font_roboto);
	font-size:6.4rem;
	font-weight:600;
	letter-spacing:3.2px;
	line-height: 8.4rem;
}
p{
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.88rem;
}
a,a:visited{color: #333;}

/* mv */
.mv_area{
	background: url(/recruit-career/img/index/bg_mv.jpg)no-repeat center bottom / cover;
}
.mv_box{
	position: relative;
	max-width: 1540px;
	margin: auto;
	padding: 0 20px;
}
.mv_txt{
	position: absolute;
	top: 17%;
	left: 10%;
	z-index: 10;
}
.mv_copy{
	font-size: 6.2rem;
	letter-spacing: 2.48px;
	line-height: 8.6rem;
	font-weight: bold;
}
.mv_p{
	font-size: 1.8rem;
	letter-spacing: 0.9px;
	line-height: 2.7rem;
	color: #1C8416;
	margin-top: 25px;
}
.mv_img{
	display: block;
	width: 62%;
	margin-left: auto;
}

/* あなたの資格～ */
.rec_wrap{
	text-align: center;
	color: #fff;
	background: url(/recruit-career/img/index/bg_requirement.jpg)no-repeat center bottom / cover;
	padding: 103px 20px;
}
.rec_h2{
	font-size: 2.7rem;
	letter-spacing: 2.7px;
	line-height: 3.68rem;
	font-weight: bold;
	margin-bottom: 20px;
}
.rec_list{
	max-width:870px;
	margin:40px auto 0;
	padding: 0 20px;
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 30px;
}
.rec_item a{
	font-size: 2rem;
	letter-spacing:2px;
	line-height: 2.9rem;
	font-weight: bold;
	text-decoration: none;
	text-align: left;
	display: block;
	width: 100%;
	height: 100%;
	border: 1px solid #fff;
	background: #fff;
	padding: 24px 40px 24px 27px;
	position: relative;
	transition: color 0.3s,background 0.3s;
}
.rec_item:hover a{
	color: #fff;
	background: transparent;
}
.rec_item a::before{
	display: inline-block;
	position: absolute;
	content: '';
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	background: url(/recruit-career/img/common/arrow_r_green.svg) no-repeat center / contain;
	transition: opacity 0.3s;
}
.rec_item a::after{
	display: inline-block;
	position: absolute;
	content: '';
	width: 20px;
	height: 20px;
	top: 0;
	bottom: 0;
	margin: auto;
	right: 20px;
	opacity: 0;
	background: url(/recruit-career/img/common/arrow_r_white.svg) no-repeat center / contain;
	transition: opacity 0.3s;
}
.rec_item a:hover::before{opacity: 0;}
.rec_item a:hover::after{opacity: 1;}
/* 社員インタビュー */
.interview_wrap{
	background: url(/recruit-career/img/index/bg_interview.jpg)no-repeat center left / 50% 100%;
}
.interview_box{
	 max-width: 1140px;
	margin: auto;
	padding: 100px 20px 86px;
	display: flex;
}
.interview_txt{
	width: 420px;
	color: #fff;
}
.interview_h2{
	margin:13px 0 48px;
}
.interview_list{
	margin-left: 34px;
	max-width: 100svw;
}
.senior_list{
	width:calc(100% - 500px);
	padding:0;
	margin:0 !important;
}

/* 職場を知る */
.env_wrap{background:#F9F9F9 url(/recruit-career/img/common/bg_common.png)no-repeat center / contain;}
.env_box{
	max-width: 1140px;
	padding: 70px 20px 80px;
	margin: auto;
}
.env_list{
	display: grid;
	grid-template-columns: 1fr 1fr;
	grid-gap: 40px;
}
.env_item{overflow: hidden;position: relative;}
.env_item::after{
	content:"";
	position:absolute;
	left:0;
	right:0;
	bottom:0;
	height:50%;
	background:linear-gradient(0deg,#000 0%,#0000 100%);
	pointer-events: none;
	z-index: 5;
}
.env_link{
	position: relative;
	display: block;
	-webkit-tap-highlight-color: transparent;
}
.env_link::before{
	position: absolute;
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	right: 0;
	bottom: 0;
	background-color: #1C8416;
	z-index: 10;
}
.env_link::after{
	position: absolute;
	content: '';
	display: inline-block;
	width: 40px;
	height: 40px;
	right: 0;
	bottom:0;
	background: url(/recruit-career/img/common/arrow_r_white.svg)no-repeat center / 21px;
	transition: background 0.3s;
	z-index: 20;
}
@-webkit-keyframes arrow_l_env{
	0%,100%{background-position:center right 10px;}
	50%,60%{background-position:center right -10px;}
	61%{opacity:0;background-position:center left -20px;}
	62%{opacity:1;background-position:center left -10px;}
}
.env_link:hover::after{animation:arrow_l .3s cubic-bezier(0.4, 0, 0.2, 1) forwards;}
.env_img{transition:transform 0.3s;position: relative;}
.env_img::after{
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg,rgba(0,0,0,0) 60%,rgba(0,0,0,.7) 100%);
  	pointer-events: none;
}
.env_link:hover .env_img{transform:scale(1.05);}
.env_txt{
	position: absolute;
	bottom: 20px;
	left: 15px;
	font-size: 2rem;
	letter-spacing: 1px;
	line-height: 2.6rem;
	font-weight: bold;
	color: #fff;
	z-index: 10;
	padding-right: 52px;
	writing-mode: horizontal-tb !important;
	text-orientation: mixed !important;
}

/* エンジプレス */
.engi_area{
	max-width: 1140px;
	margin: 70px auto 98px;
	padding: 0 20px;
}
.engi_head{margin-bottom: 20px;}
.engi_head img{
	margin: 0 auto;
}
.engi_caption{
	text-align: center;
    margin-bottom: 40px;
}
.engi_caption br{display: block;}
.engi_list{
	display: grid;
	grid-template-columns: 1fr 1fr 1fr;
	grid-gap: 40px;
}
.engi_link{
	padding-left: 0 !important;
	background: none !important;
	text-decoration: none;
}
.engi_thumb{
	overflow: hidden;
	aspect-ratio: 68 / 37;
	margin-bottom: 14px;
}
.engi_img{transition: transform 0.3s;}
.engi_item:hover .engi_img{transform: scale(1.05);}
.engi_txt{margin-top: 12px;}
.engi_info{
	font-size: 1.1rem;
	letter-spacing: 1.1px;
	line-height: 1.6rem;
	margin-bottom: 5px;
	font-weight: bold;
	display: flex;
	align-items: center;
	font-family: var(--font_saira);
}
.engi_date{
	font-size: 1.4rem;
	letter-spacing: 0;
	margin-right: 20px;
	font-family: var(--font_saira);
	font-weight: bold;
}
.engi_title{
	font-size: 1.4rem;
	line-height: 2.1rem;
	letter-spacing: 0;
	font-weight: bold;
	margin-bottom: 20px;
}
.engi_title_span{
	padding-bottom:1px;
	background:linear-gradient(0, #333) no-repeat bottom left/0 1px;
	transition:background 0.3s;
}
.engi_link:hover .engi_title_span{background-size:100% 1px;}
.engi_tag_list{
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	margin-bottom: 50px
}
.engi_tag_item{
	font-size: 1.1rem;
	letter-spacing: 1.1px;
	line-height: 1.6rem;
	color: #537551;
	transition: color 0.3s;
}
.engi_tag_item:not(:last-child){
	margin-right: 10px;
}
.engi_item:hover .engi_tag_item{color: #87B185;}
.engi_btn{margin: auto;}

@media screen and (max-width:1023px){
h2{
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2rem;
}
h2::before{
	font-size:4.4rem;
	font-weight:600;
	letter-spacing:1px;
	line-height: 5.3rem;
}
p{
	font-size: 1.5rem;
	letter-spacing: 1.5px;
	line-height: 2.88rem;
}

/* mv */
.mv_copy{
	font-size: 4.4rem;
	letter-spacing: 1.76px;
	line-height: 6.1rem;
}
.mv_p{
	font-size: 1.2rem;
	letter-spacing: 0.6px;
	line-height: 1.8rem;
	margin-top: 15px;
}

/* あなたの資格～ */
.rec_wrap{padding: 53px 20px 70px;}
.rec_h2{
	font-size: 2.4rem;
	letter-spacing: 2.4px;
	margin-bottom: 10px;
}
.rec_list{
	max-width: 695px;
	margin-top: 26px;
	grid-gap: 18px;
}
.rec_item a{
	padding: 17px 44px 19px 24px;
	font-size: 1.7rem;
	letter-spacing: 1.7px;
	line-height: 2.5rem;
}
/* 社員インタビュー */
.interview_wrap{
	background-position: top left;
	background-size: 110% 50%;
}
.interview_box{
	display: block;
	padding: 47px 0 145px;
	position: relative;
}
.interview_txt{width: auto;}
.interview_h2{margin:0 0 30px 20px;}
.interview_list{margin-left: 0;}
.senior_list{width:100%;}
.interview_btn{
	position: absolute;
	bottom: 44px;
	left: 0;
	right: 0;
	margin: auto;
}
.interview_btn a{
	border: 1px solid #1C8416;
	background: #1C8416;
	color: #fff;
}
.interview_btn a:hover{
	background: #fff;
	color: #1C8416;
}
.interview_btn a::before{background-image: url(/recruit-career/img/common/arrow_r_white.svg);}
.interview_btn a:hover::before{background-image: url(/recruit-career/img/common/arrow_r_green.svg);}
.slick-num{left: 50%;}

/* 職場を知る */
.env_list{grid-gap: 40px 22px;}
.env_txt {
	bottom: 12px;
	left: 12px;
	font-size: 1.8rem;
	letter-spacing: 0.9px;
}

/* エンジプレス */
.engi_area{margin:47px 0 49px;}
.engi_head{margin-bottom: 15px;}
.engi_list{grid-gap: 22px;}
.engi_tag_list{margin-bottom: 28px;}
}

@media screen and (max-width:767px){

p{
	font-size: 1.4rem;
	letter-spacing: 1.4px;
	line-height: 2.52rem;
}
/* MV */
.mv_txt {
    left: 3%;
}
/* あなたの資格～ */
.rec_wrap{
	padding:47px 20px 70px;
}
.rec_h2{
	font-size: 2rem;
	letter-spacing: 2px;
	line-height: 3.68rem;
	font-weight: bold;
	margin-bottom: 9px;
}
.rec_list{
	max-width:320px;
	margin-top:30px;
	padding: 0;
	grid-template-columns: 1fr;
	grid-gap: 16px;
}
.rec_item a {
	font-size: 1.6rem;
	letter-spacing: 1.6px;
	line-height: 2.4rem;
	padding: 16px 40px 16px 19px;
}

/* 社員インタビュー */
.interview_box{
	padding-bottom: 150px;
}
.interview_btn{bottom: 72px;}
/* 職場を知る */
.env_wrap{background-image:none;}
.env_box{padding: 60px 20px 50px;}
.env_list{
	grid-gap: 20px;
}
.env_txt{
	left: 10px;
	font-size: 1.7rem;
	letter-spacing: 0.85px;
	line-height: 2.8rem;
}

/* エンジプレス */
.engi_area{margin: 56px auto 70px;}
.engi_head{margin-bottom: 18px;}
.engi_head img{width: 182px;}
.engi_caption{margin-bottom: 25px;}
.engi_caption br{display: none;}
.engi_list{grid-gap: 20px;}
.engi_item:not(:last-child){margin-bottom: 40px;}
.engi_thumb{margin-bottom: 5px;}
.engi_info{
	font-size: 1rem;
	letter-spacing: 1px;
	line-height: 1.5rem;
}
.engi_date{
	font-size: 1.1rem;
	margin-right: 15px;
}
.engi_title{
	font-size: 1.2rem;
	line-height: 2.04rem;
	letter-spacing: 0;
	margin-bottom: 10px;
}
.engi_tag_list{margin-bottom: 0;}
.engi_tag_item{
	font-size: 0.9rem;
	letter-spacing: 0.9px;
	line-height: 1.3rem;
}
.engi_btn{padding-top: 30px;}
}

@media screen and (max-width:600px){
/* 職場を知る */
.env_list{grid-template-columns: 1fr;}

/* エンジプレス */
.engi_list{display: block;}

/* mv */
.mv_area{
	background-position: center;
	height: 82vh;
	position: relative;
	z-index: -20;
}

.mv_img{
	position: absolute;
	bottom: 0;
	z-index: -10;
}
.mv_box{
	padding: 0;
	height: 100%;
}
.mv_txt{
	position: static;
	margin:0 0 20px 19px;
	padding-top: 30px;
}
.mv_img{
	width: 100%;
}
}