@charset "utf-8";

h2{
	position:relative;
	padding-bottom:30px;
	margin-bottom:30px;
	font-family:var(--font_serif);
	font-size:4.4rem;
	font-weight:500;
	letter-spacing:4.4px;
	line-height:6.4rem;
}
h2[data-en]::before{
	content:attr(data-en);
	display:block;
	padding-left:25px;
	margin-bottom:5px;
	background:url(/recruit/img/common/icon_midashi.svg) no-repeat center left;
	color:#E41F1F;
	font-family:var(--font_albert);
	font-size:1.5rem;
	font-weight:normal;
	letter-spacing:1.5px;
	line-height:1.8rem;
}
h2::after{
	content:'';
	position:absolute;
	bottom:0;
	left:0;
	width:var(--vw_100);
	height:1px;
	background:#888;
}
.catch_pic{
	position:relative;
	left:calc(50% - var(--vw_50));
	width:var(--vw_100);
}
.catch_img{
	width:100%;
	max-height:700px;
	object-fit:cover;
	object-position:top center;
}
.link_btn{
	margin:auto;
	font-family:var(--font_albert);
}

.mv_area{
	display:flex;
	align-items:center;
	position:relative;
	max-width:1560px;
	padding:0 30px;
	margin:0 auto 70px;
}
.mv_area::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-10px;
	left:-250px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_red.png) no-repeat center/cover;
}
.mv_copy{
	flex-shrink:0;
	width:405px;
	padding:0 40px;
	margin-top:10px;
	margin-bottom:40px;
	font-family:var(--font_serif);
	font-size:4.6rem;
	font-weight:500;
	letter-spacing:4.6px;
	line-height:7.4rem;
}
.mv_copy::after{
	content:attr(data-en);
	display:block;
	margin-top:25px;
	color:#E41F1F;
	font-family:var(--font_albert);
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:1.5px;
	line-height:1.8rem;
}
.mv_slide{
	position:relative;
	width:calc(100% - 405px);
	padding:30px 0 60px;
}
.mv_slide::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:0;
	left:50%;
	width:var(--vw_50);
	height:100%;
	background:linear-gradient(270deg, #F4612A 0%, #BA0808 100%);
	border-bottom-left-radius:10px;
}
.mv_slide_box{
	margin:0 !important;
	border-radius:10px;
	overflow:hidden;
}
.mv_slide_img{width:100%;}
.mv_slide_box .slick-dots{
	display:flex;
	justify-content:center;
	z-index:5;
	bottom:35px;
	padding:0 70px;
}
.mv_slide_box .slick-dots li{
	width:6px;
	height:6px;
	margin:0 7px;
}
.mv_slide_box .slick-dots li button{
	width:100%;
	height:100%;
	padding:0;
	background:#fff;
	border-radius:50%;
	transition:background 0.3s;
}
.mv_slide_box .slick-dots li button:hover{background:#E41F1F;}
.mv_slide_box .slick-dots li.slick-active button{background:#E41F1F;}
.mv_slide_box .slick-dots li button::before{display:none !important;}
.mv_control{
	position:absolute;
	right:25px;
	bottom:85px;
}
.mv_btn{
	display:block;
	width:30px;
	height:30px;
	background:#fff url(/recruit/img/index/icon_stop.svg) no-repeat center;
	border-radius:50%;
	font-size:0;
	cursor:pointer;
}
.mv_btn.paused{background-image:url(/recruit/img/index/icon_start.svg);}

.message_area{
	position:relative;
	max-width:1160px;
	padding:0 30px;
	margin:0 auto 90px;
}
.message_area::before{
	content:'';
	position:absolute;
	z-index:-2;
	top:-315px;
	right:-195px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_blue.png) no-repeat center/cover;
}
.message_head{
	padding:10px 0 10px 25px;
	margin-bottom:50px;
	background:url(/recruit/img/common/icon_midashi.svg) no-repeat center left;
	color:#E41F1F;
	font-family:var(--font_albert);
	font-size:2.8rem;
	font-weight:normal;
	letter-spacing:2.8px;
	line-height:3.4rem;
}
.message_box{
	display:flex;
	gap:40px;
	position:relative;
	margin-bottom:115px;
}
.message_box::before{
	content:'';
	position:absolute;
	z-index:-1;
	bottom:-405px;
	left:-310px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_green.png) no-repeat center/cover;
}
.message_copy{
	flex-shrink:0;
	width:460px;
	border-right:1px solid #888;
	font-family:var(--font_serif);
	font-size:3.5rem;
	letter-spacing:3.5px;
	line-height:5.8rem;
}
.message_copy_txt{font-weight:500;}
.message_box_in{margin-bottom:-30px;}
.message_txt{
	margin-bottom:30px;
	font-size:1.7rem;
	letter-spacing:1.7px;
	line-height:3.1rem;
}

.company_area{
	max-width:1160px;
	padding:0 30px;
	margin:0 auto 85px;
}
.com_page_list{
	display:grid;
	grid-template-columns:1fr 1fr 1fr;
	gap:25px;
	position:relative;
	margin-bottom:100px;
}
.com_page_list::after{
	content:'';
	position:absolute;
	z-index:-1;
	right:-310px;
	bottom:-95px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_red.png) no-repeat center/cover;
}
.com_page_link{
	display:flex;
	flex-direction:column;
	height:100%;
	color:#333 !important;
	text-decoration:none !important;
}
.com_page_thumb{
	flex-shrink:0;
	margin-bottom:20px;
	border-radius:5px;
	overflow:hidden;
}
.com_page_img{transition:transform 0.6s;}
a:hover .com_page_img{transform:scale(1.05);}
.com_page_title{
	display:flex;
	align-items:center;
	position:relative;
	height:100%;
	padding-right:60px;
	font-size:1.8rem;
	font-weight:500;
	letter-spacing:1.8px;
	line-height:2.6rem;
	transition:color 0.6s;
}
a:hover .com_page_title{color:#E41F1F;}
.com_page_title::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	width:40px;
	height:40px;
	margin:auto;
	background:#fff url(/recruit/img/common/arrow_r_red.svg) no-repeat center;
	border:1px solid #ccc;
	border-radius:50%;
	transition:border 0.6s;
}
a:hover .com_page_title::after{border-color:#E41F1F;}
.blog_box{
	position:relative;
	padding:40px 40px 60px;
	margin-bottom:125px;
	background:url(/recruit/img/common/bg_gray.jpg) no-repeat center/cover;
	border-radius:10px;
}
.blog_box::before{
	content:'';
	position:absolute;
	z-index:-1;
	bottom:-275px;
	left:-290px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_blue.png) no-repeat center/cover;
}
.blog_head{
	padding:0;
	margin-bottom:10px;
	color:#E41F1F;
	font-family:var(--font_noto);
	font-size:4.5rem;
	font-weight:bold;
	letter-spacing:2.25px;
	line-height:6.5rem;
}
.blog_head::after{display:none;}
.blog_txt{
	margin-bottom:40px;
	font-size:1.5rem;
	letter-spacing:1.5px;
	line-height:2.1rem;
}
.blog_list{
	display:grid;
	grid-template-columns:repeat(4, 1fr);
	gap:30px;
	margin-bottom:30px;
}
.blog_link{
	display:block;
	padding:0 !important;
	background:none !important;
	color:#333 !important;
	text-decoration:none !important;
}
.blog_thumb{
	position:relative;
	padding-bottom:100%;
	margin-bottom:15px;
	background:#fff;
	border-radius:5px;
	overflow:hidden;
}
.blog_img{
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	left:0;
	max-height:100%;
	margin:auto;
	transition:transform 0.6s;
}
a:hover .blog_img{transform:scale(1.05);}
.blog_title{
	margin-bottom:8px;
	font-size:1.5rem;
	font-weight:500;
	letter-spacing:1.5px;
	line-height:2.2rem;
	transition:color 0.6s;
}
a:hover .blog_title{color:#E41F1F !important;}
.blog_title::before{
	content:url(/recruit/img/common/popup_red.svg);
	margin-right:5px;
}
.blog_info{
	display:flex;
	flex-wrap:wrap;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.7rem;
}
.blog_date{
	position:relative;
	margin-right:20px;
}
.blog_date::after{
	content:'';
	position:absolute;
	top:1px;
	right:-10px;
	bottom:0;
	width:1px;
	height:13px;
	margin:auto;
	background:#333;
}
.company_area .catch_pic::after{
	content:'';
	position:absolute;
	z-index:-1;
	right:-140px;
	bottom:-190px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_green.png) no-repeat center/cover;
}

.interview_area{
	position:relative;
	max-width:1160px;
	padding:0 30px;
	margin:0 auto 110px;
}
.interview_list::before{
	content:'';
	position:absolute;
	z-index:-1;
	bottom:-75px;
	left:-260px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_red.png) no-repeat center/cover;
}
.interview_btn{
	position:relative;
	margin-bottom:110px;
}
.interview_btn::before{
	content:'';
	position:absolute;
	z-index:-1;
	top:-65px;
	right:-260px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_blue.png) no-repeat center/cover;
}
.interview_area .catch_pic::after{
	content:'';
	position:absolute;
	z-index:-1;
	bottom:-275px;
	left:-220px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_green.png) no-repeat center/cover;
}

.environment_area{
	display:flex;
	align-items:center;
	gap:70px;
	position:relative;
	max-width:1160px;
	padding:0 30px;
	margin:0 auto 150px;
}
.environment_area::after{
	content:'';
	position:absolute;
	z-index:-1;
	right:-150px;
	bottom:-300px;
	width:520px;
	height:520px;
	background:url(/recruit/img/common/bg_gradation_red.png) no-repeat center/cover;
}
.environment_box{width:100%;}
.environment_head{margin-bottom:25px;}
.environment_head::after{width:100%;}
.environment_txt{
	margin-bottom:30px;
	line-height:2.9rem;
}
.env_page_list{
	display:grid;
	grid-template-columns:1fr 1fr;
	gap:30px;
}
.env_page_link{
	display:block;
	position:relative;
	padding:25px 50px 25px 0;
	border-bottom:1px solid #aaa;
	color:#333 !important;
	font-size:1.8rem;
	letter-spacing:1.8px;
	line-height:2.6rem;
	text-decoration:none !important;
	transition:border 0.3s, color 0.3s;
}
.env_page_link:hover{
	border-color:#E41F1F;
	color:#E41F1F !important;
}
.env_page_link::after{
	content:'';
	position:absolute;
	top:0;
	right:0;
	bottom:0;
	width:40px;
	height:40px;
	margin:auto;
	background:#fff url(/recruit/img/common/arrow_r_red.svg) no-repeat center;
	border:1px solid #ccc;
	border-radius:50%;
	transition:border 0.3s;
}
.env_page_link:hover::after{border-color:#E41F1F;}
.environment_pic{
	flex-shrink:0;
	width:49%;
	border-radius:10px;
	overflow:hidden;
}


@media screen and (min-width:1025px) and (max-width:1160px){

.mv_copy{
	width:350px;
	padding:0 10px;
}
.mv_slide{width:calc(100% - 350px);}
.message_copy{
	width:420px;
	font-size:3.2rem;
	letter-spacing:3.2px;
	line-height:5.3rem;
}

}


@media screen and (max-width:1024px){

h2{
	padding-bottom:15px;
	font-size:3rem;
	letter-spacing:3px;
	line-height:4.4rem;
}
h2[data-en]::before{
	padding-left:20px;
	background-size:14px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:1.5rem;
}

.mv_area{display:block;}
.mv_copy{
	width:auto;
	padding:0;
	font-weight:normal;
}
.mv_copy br:last-child{display:none;}
.mv_slide{
	width:auto;
	padding:0;
}
.mv_slide::before{top:30px;}

.message_area{margin-bottom:80px;}
.message_head{
	padding-left:22px;
	margin-bottom:30px;
	background-size:14px;
	font-size:2.5rem;
	letter-spacing:2.5px;
	line-height:3rem;
}
.message_box{
	gap:30px;
	margin-bottom:70px;
}
.message_copy{
	width:340px;
	font-size:2.5rem;
	letter-spacing:2.5px;
	line-height:4rem;
}
.message_box_in{margin-bottom:-25px;}
.message_txt{
	margin-bottom:25px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
}
.message_txt br:first-child{display:none;}

.company_area{margin-bottom:80px;}
.com_page_list{
	gap:15px;
	margin-bottom:70px;
}
.com_page_title{
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}

.blog_box{
	padding-bottom:40px;
	margin-bottom:70px;
}
.blog_head{
	margin-bottom:15px;
	font-size:3rem;
	letter-spacing:1.5px;
	line-height:4.4rem;
}
.blog_txt{
	margin-bottom:30px;
	font-size:1.3rem;
	letter-spacing:1.3px;
	line-height:2.4rem;
}
.blog_item{border-bottom:1px solid #ddd;}
.blog_link{
	display:flex;
	align-items:center;
	padding:15px 0 !important;
}
.blog_thumb{
	flex-shrink:0;
	width:100px;
	height:100px;
	padding:0;
	margin:0 12px 0 0;
}
.blog_title{
	margin-bottom:5px;
	font-size:1.3rem;
	font-weight:bold;
	letter-spacing:1.3px;
	line-height:2.1rem;
}

.interview_area{margin-bottom:80px;}
.interview_btn{margin-bottom:80px;}

.environment_area{
	gap:40px;
	margin-bottom:115px;
}
.environment_head{margin-bottom:30px;}
.environment_txt{
	margin-bottom:20px;
	font-size:1.4rem;
	letter-spacing:1.4px;
	line-height:2.5rem;
}
.env_page_list{gap:20px;}
.env_page_link{
	padding-top:20px;
	padding-bottom:20px;
	font-size:1.6rem;
	letter-spacing:1.6px;
	line-height:2.4rem;
}

}


@media screen and (min-width:768px) and (max-width:1024px){

.mv_area{padding:35px 30px 25px;}
.mv_area::before{
	top:105px;
	left:-105px;
	width:300px;
	height:300px;
}
.mv_copy{
	margin:0 0 50px;
	font-size:4.2rem;
	letter-spacing:4.2px;
	line-height:6.7rem;
}
.mv_copy::after{margin-top:15px;}
.mv_slide_box .slick-dots{bottom:30px;}
.mv_control{
	right:20px;
	bottom:20px;
}

.message_area::before{
	top:-180px;
	right:-105px;
	width:300px;
	height:300px;
}
.message_box::before{
	bottom:-190px;
	left:-105px;
	width:300px;
	height:300px;
}

.company_area{margin-bottom:80px;}
.com_page_list{
	gap:15px;
	margin-bottom:65px;
}
.com_page_list::after{
	right:-180px;
	bottom:-60px;
	width:300px;
	height:300px;
}

.blog_box::before{
	bottom:-155px;
	left:-125px;
	width:300px;
	height:300px;
}
.blog_list{
	grid-template-columns:1fr 1fr;
	gap:0 40px;
}
.blog_item:nth-child(-n+2){border-top:1px solid #ddd;}
.company_area .catch_pic::after{
	right:-60px;
	bottom:-145px;
	width:300px;
	height:300px;
}

.interview_area{margin-bottom:80px;}
.interview_list::before{
	bottom:-55px;
	left:-135px;
	width:300px;
	height:300px;
}
.interview_btn::before{
	top:-45px;
	right:-90px;
	width:300px;
	height:300px;
}
.interview_area .catch_pic::after{
	bottom:-165px;
	left:-120px;
	width:300px;
	height:300px;
}

.environment_area::after{
	right:-90px;
	bottom:-115px;
	width:300px;
	height:300px;
}
.environment_pic{width:47%;}

}


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

.mv_area{padding:40px 20px 25px;}
.mv_area::before{
	top:70px;
	left:-105px;
	width:260px;
	height:260px;
}
.mv_copy{
	margin-top:0;
	font-size:3rem;
	letter-spacing:3px;
	line-height:4.5rem;
}
.mv_copy::after{
	margin-top:15px;
	font-size:1.2rem;
	letter-spacing:1.2px;
	line-height:1.4rem;
}
.mv_slide::before{
	left:25%;
	width:75svw;
	border-bottom-left-radius:5px;
}
.mv_slide_box{border-radius:5px;}
.mv_slide_img{
	min-height:220px;
	object-fit:cover;
}
.mv_slide_box .slick-dots{
	bottom:20px;
	padding:0 60px;
}
.mv_control{
	right:10px;
	bottom:10px;
}

.message_area{padding:0 20px;}
.message_area::before{
	top:-150px;
	right:-95px;
	width:260px;
	height:260px;
}
.message_box{display:block;}
.message_box::before{
	bottom:-240px;
	left:-115px;
	width:260px;
	height:260px;
}
.message_copy{
	width:auto;
	margin-bottom:25px;
	border:none;
}
.message_box_in{margin:0;}

.company_area{padding:0 20px;}
.com_page_list{
	display:block;
	padding:0 10px;
}
.com_page_list::after{
	right:-90px;
	bottom:-110px;
	width:260px;
	height:260px;
}
.com_page_item{
	max-width:500px;
	margin:0 auto 35px;
}
.com_page_thumb{margin-bottom:20px;}
.blog_box{padding:30px 20px 40px;}
.blog_box::before{
	bottom:-100px;
	left:-115px;
	width:260px;
	height:260px;
}
.blog_list{display:block;}
.blog_item:first-child{border-top:1px solid #ddd;}
.company_area .catch_pic::after{
	right:-70px;
	bottom:-105px;
	width:260px;
	height:260px;
}

.interview_area{padding:0 20px;}
.interview_list::before{
	bottom:0;
	left:-95px;
	width:260px;
	height:260px;
}
.interview_btn::before{
	top:20px;
	right:-90px;
	width:260px;
	height:260px;
}
.interview_area .catch_pic::after{
	bottom:-165px;
	left:-120px;
	width:260px;
	height:260px;
}

.environment_area{
	gap:20px;
	padding:0 20px;
}
.environment_area::after{
	right:-70px;
	bottom:-125px;
	width:260px;
	height:260px;
}

}


@media screen and (max-width:650px){

.environment_area{display:block;}
.environment_box{margin-bottom:50px;}
.environment_pic{width:auto;}

}