@charset "UTF-8";



:root{
	
	/* color */
	--c-base: #2C1111;
	--c-red: #DF0615;
	--c-white: #fff;
	
}



/*-------------------- PAGE --------------------*/
html, body{
    margin:0;
    padding:0;
}
body{
	--c_base: var(--c-base);
	--c_red: var(--c-red);
	--c_white: var(--c-white);
	interpolate-size: allow-keywords;
	font-size:16px;
	line-height:2;
	font-weight:500;
	font-family: "Lexend Giga", sans-serif;
	color:var(--c_base);
	background:#EDEDED;
	position:relative;
}
.pagewidth{
    width:1100px;
	max-width:84%;
	margin-left:auto;
	margin-right:auto;
}
body.home .pagewidth{
	width:1140px;
}
header,
section,
footer{
	width:100%;
	max-width:1440px;
	margin:0 auto;
}
section.full .section_inner.pagewidth{
	width:100%;
	max-width:none;
}
body *,
body *:before,
body *:after{
	box-sizing: border-box;
	transition: all 0.5s cubic-bezier(.165,.84,.44,1);
}
body img{
	vertical-align:top;
	box-sizing:content-box;
	max-width:100%;
}
a{
	text-underline-offset:2px;
	color:var(--c_base);
}
a:hover{
	opacity:0.7;
}
a:focus{outline: none;}
p{
	margin:0 0 1.2em;
}
strong{
	font-weight:bold;
}
#header p:last-child,
#content p:last-child,
#footer p:last-child{
	margin-bottom:0;
}
h1,
h2,
h3,
h4,
h5,
h6{
	line-height:1.4;
	margin:0;
}

/*--------------------------------- END PAGE ---------------------------------*/
/*--------------------------------- HEADER ---------------------------------*/
header{
	position:relative;
	z-index:999;
}
body.home header{
	position:absolute;
	top:0;
	left:0;right:0;
}
#header{
	padding:0 0 0 min(4%,40px);
	position:relative;
}
.lb{
	display:flex;
	align-content:center;
	align-items:center;
	column-gap:min(5.333vw,40px);
	padding-right:186px;
}
body.home .lb{
	padding:20px 0;
}
body[class*="staff"] .lb{
	padding:20px 0 30px;
}
#header_logo{
	max-width:173px;
	padding:12px 0;
}
.header_txt,
.footer_txt{
	font-size:15px;
	line-height:1.4;
	font-family: "Noto Sans JP", sans-serif;
	padding:8px 0 4px;
}
.header_txt p:first-child,
.footer_txt p:first-child{
	margin-bottom:6px;
}
.header_txt p:last-child,
.footer_txt p:last-child{
	font-size:32px;
	line-height:1;
	font-family: "Teko", sans-serif;
	color:var(--c_red);
}
.header_btn{
/* 	position:absolute; */
	position:fixed;
	z-index:1;
	top:10px;
	right:10px;
	max-width:166px;
}
body:not(.recruit,[class*="staff"]) .header_btn{
	display:none;
}

/*--------------------------------- END HEADER ---------------------------------*/
/*--------------------------------- FOOTER ---------------------------------*/
footer{
	background:var(--c_base);
}
.footer_info{
	display:flex;
	align-content:center;
	align-items:center;
	justify-content:center;
	column-gap:40px;
	flex-wrap:wrap;
	padding:70px 0 55px;
}
.footer_logo{
	max-width:188px;
	padding:20px 0;
}
.footer_txt{
	padding:16px 0 12px;
}
.copyright{
	font-size:12px;
	font-weight:normal;
	font-family: "Inter", sans-serif;
	text-align:center;
	color:#595C5E;
	padding-bottom:25px;
}

/*--------------------------------- END FOOTER ---------------------------------*/
section.top_main:before,
section.top_main:after,
section.banner_entry:before,
section.banner_entry:after,
section.banner_entry article:last-child a:before,
section.top_message:before,
section.top_business:before,
section.top_people:before,
section.top_people section:before,
section.banner_staff section:before,
section.top_about .top_about02 ul li:before,
section.top_about:before,
section.top_career:before,
section.top_career:after,
section.top_step h2:before,
section.top_sp:before,
section.top_sp section .column:first-child:before,
section.staff_greeting .column:last-child article:before,
section.staff .image-wrap:before,
section.banner_staff .section_inner > .column:first-child article:not(.tit_fc) h2:before,
section.banner_staff:before{
	content:'';
	display:block;
	position:absolute;
	top:0;bottom:0;
	left:0;right:0;
}



/*--------------------------------------------------
- TITLE -
--------------------------------------------------*/
span{
	display:inline-block;
	vertical-align:top;
}
.m_fff{
	--c_base: var(--c-white);
	--c_dark: var(--c-white);
    color:var(--c_base);
}

.tit_fc h2 > div:first-child span{
	vertical-align:bottom;
}
.tit_fc h2 > div:first-child span:first-child{
	font-size:28px;
	letter-spacing:-1.12px;
	color:var(--c_red);
	padding:0 20px 0 0;
}
.tit_fc h2 > div:first-child span:last-child{
	font-size:17px;
	letter-spacing:0.68px;
	font-weight:500;
	font-family: "Noto Sans JP", sans-serif;
	padding:6px 0 5px;
}
.tit_fc h2 > div:last-child{
	font-size:62px;
	line-height:105.4px;
	font-weight:800;
	padding:40px 0 0;
}

/*--------------------------------------------------
- TEXT -
--------------------------------------------------*/
.top_message article p{
	font-size:23px;
	line-height:52.9px;
	letter-spacing:0.92px;
	font-weight:600;
	margin-bottom:1.52em;
}
br.pc{
	display:none;
}

/*--------------------------------------------------
- SECTION -
--------------------------------------------------*/
section,
.column,
article,
div{
	position:relative;
	z-index:1;
}
section,
.column,
article,
section div{
	width:100%;
}
#content > section{
	overflow:clip;
}
.image-wrap{
	text-align:center;
}
section.top_main:before{
	left:auto;
	width:16.8%;
	background:var(--c_base);
}
section.top_main:after{
	top:auto;
	left:auto;
	width:65.6%;
	background:var(--c_red);
	padding-top:6.32%;
}
section.top_main .section_inner{
	display:flex;
	justify-content:flex-end;
}
section.top_main article:not(.top_main_txt){
	position:absolute;
	z-index:1;
}
section.top_main article:not(.top_main_txt) img:last-child{
	display:none;
}
section.top_main .top_main01{
	top:0;
	left:0;
	max-width:32.014%;
	padding-top:12%;
}
section.top_main .top_main02{
	top:0;
	right:9.722%;
	max-width:43.37%;
}
section.top_main .top_main03{
	bottom:0;
	right:0;
	max-width:42.7%;
}
section.top_main .top_main_txt{
	font-size:min(11.8vw,170px);
	line-height:1;
	font-weight:bold;
	width:auto;
	padding:22.6% min(1.388vw,20px) 17.535% 0;
	position:relative;
	z-index:2;
}
section.top_main .top_main_txt p{
	letter-spacing: max(-0.708vw,-10.2px);
	color:var(--c_red);
	margin:0;
}
section.top_main .top_main_txt span{
	display:block;
	font-size:39px;
	text-align:right;
	padding:5px min(15.4vw,221px) 0 0;
}
section.banner_entry{
	background:var(--c_red);
	padding:242px 0 137px;
}
section.banner_entry .section_inner{
	display:flex;
	align-content:center;
	align-items:center;
	column-gap:9.1128%;
	width:1140px;
}
section.banner_entry:before{
	right:33%;
	background:url(../../uploads/banner_entry_bg.webp)right center no-repeat;
	background-size:cover;
}
section.banner_entry:after{
	left:auto;
	background:url(../../uploads/banner_entry_icon.webp)right top no-repeat;
	background-size:contain;
	width:min(16.81%,242px);
}
section.banner_entry article{
	font-size:18px;
	line-height:30.6px;
	letter-spacing:0.72px;
	font-weight:600;
}
section.banner_entry article{
	width:auto;
}
section.banner_entry article:first-child{
	flex:1;
	padding-left: 12px;
}
section.banner_entry article:first-child h2{
	font-size:38px;
	letter-spacing:1.52px;
	margin-bottom:40px;
}
section.banner_entry article:first-child p:not(:last-child){
	margin-bottom:0.777em;
}
section.banner_entry article:last-child{
	padding:8px 0;
}
section.banner_entry article:last-child h2{
	font-size:min(7.222vw,98px);
	line-height:1;
	text-align:center;
	margin-top:-0.163em;
	margin-bottom:calc(-0.133em + 33px);
}
section.banner_entry article:last-child a{
	display:block;
	font-size:20px;
	line-height:1.4;
	letter-spacing:0.8px;
	font-weight:bold;
	text-align:center;
	text-decoration-color:transparent;
	background:var(--c-white);
	padding:30px 70px 29px;
	position:relative;
}
section.banner_entry article:last-child a:before{
	left:auto;right:25px;
	width:45px;
	background:url(../../uploads/banner_entry_btn_icon.webp)center center no-repeat;
	background-size:contain;
}
section.top_message{
	background:url(../../uploads/top_message_bg-scaled-1.webp)center center no-repeat;
	background-size:cover;
	padding-top:200px;
	padding-bottom:193px;
}
section.top_message:before,
section.top_business:before,
section.top_people:before,
section.banner_staff:before{
	top:65px;
	left:auto;
	width:42.8%;
	background:url(../../uploads/top_message_icon.webp)right top no-repeat;
	background-size:100% auto;
}
section.top_message .tit_fc{
	margin-bottom:40px;
}
section.top_message .tit_fc div:last-child span{
	display:inline-block;
	padding-left:0.484em;
}
section.top_message article{
	max-width:1001px;
}
section.top_business:before{
	top:80px;
	right:3.8%;
	width:19.5%;
	background-image:url(../../uploads/top_business_icon.webp);
}
section.top_people:before,
section.banner_staff:before{
	width:22.2%;
	background-image:url(../../uploads/top_people_icon.webp);
}
section.top_people:before{
	top:80px;
	right:44%;
	transform:translate(50%,0);
	background-position:center top;
}
section.banner_staff:before{
	top:0;bottom:12px;
	left:8.6%;right:auto;
	background-position:left bottom;
}
section.top_about{
	counter-reset:top_about;
	background:var(--c-base);
	padding-top:120px;
	padding-bottom:85px;
}
section.top_about:before,
section.top_career:after{
	bottom:auto;
	right:auto;
	width:45px;height:465px;
	background:var(--c_red);
}
section.top_about .section_inner{
	position:static;
}
section.top_about .top_about_img{
	position:absolute;
	z-index:0;
	top:0;
	right:0;
	width:52.8%;
	max-width:760px;
}
section.top_about .top_about_num h2{
	font-size:48px;
	font-weight:800;
}
section.top_about .top_about_num h2:before{
	counter-increment:top_about;
	content:counter(top_about, decimal-leading-zero);
	display:inline-block;
	vertical-align:bottom;
	font-size:66px;
	line-height:1;
	font-weight:700;
	color:var(--c_red);
	margin:-2px 36px 2px 0;
}
section.top_about .top_about01{
	width:43.5%;
	margin-left:0;
}
section.top_about .top_about01 .tit_fc{
	margin-bottom:130px;
}
section.top_about .top_about01 .top_about_num{
	margin-bottom:160px;
}
section.top_about .top_about01 .top_about_num h2{
	margin-bottom:20px;
}
section.top_about .top_about01 p{
	font-size:17px;
	line-height:39.1px;
	letter-spacing:0.68px;
	font-weight:bold;
}
section.top_about .top_about_img img:last-child,
section.top_about .top_about01 .top_about_num + article{
	display:none;
}
section.top_about .top_about02{
	display:flex;
	column-gap:7.9%;
}
section.top_about .top_about02 .column{
	flex:1;
}
section.top_about .top_about02 .column:first-child{
	padding-bottom:38px;
}
section.top_about .top_about02 .column:first-child .top_about_num{
	margin-bottom:50px;
}
section.top_about .top_about02 .column:first-child .top_about_num h2{
	margin-bottom:27px;
}
section.top_about .top_about02 .top_about_num p{
	display:inline;
	vertical-align:top;
	font-size:33px;
	line-height:1.4;
	letter-spacing:1.32px;
	font-weight:bold;
	border-bottom:1px solid var(--c_red);
}
section.top_about .top_about02 ul{
	line-height:inherit;
	padding:0;
	margin:0;
}
section.top_about .top_about02 ul li{
	display:flex;
	align-content:center;
	flex-wrap:wrap;
	align-items:center;
	line-height:inherit;
	letter-spacing:0.68px;
	min-height:58px;
	padding:0 0 0 65px;
	margin:0 0 15px;
	position:relative;
}
section.top_about .top_about02 ul li:last-child{
	margin-bottom:0;
}
section.top_about .top_about02 ul li:before{
	right:auto;
	width:42px;
	background:url(../../uploads/icon_check.webp)left center no-repeat;
	background-size:contain;
}
section.top_about .top_about02 .column:last-child{
	padding-bottom:45px;
}
section.top_about .top_about02 .column:last-child .top_about_num{
	margin-bottom:20px;
}
section.top_about .top_about02 .column:last-child article:not(.top_about_num){
	border-left:1px solid var(--c_base);
	padding:2px 0 0 40px;
	margin-bottom:35px;
}
section.top_about .top_about02 .column:last-child article:not(.top_about_num):last-child{
	margin-bottom:0;
}
section.top_about .top_about02 .column:last-child article:not(.top_about_num) strong{
	display:inline-block;
	vertical-align:top;
	font-size:20px;
	line-height:46px;
	letter-spacing:0.8px;
	margin-bottom:5px;
}
section.top_about .top_about02 .column:last-child article:not(.top_about_num) p{
	line-height:36.8px;
	letter-spacing:0.64px;
	font-weight:bold;
}
section.top_business{
	counter-reset:top_business;
	background:#f0f0f0;
	padding:200px 8% 155px 0;
}
section.top_business .section_inner{
	display:flex;
	column-gap:min(1.1%,11px);
}
section.top_business .column:first-child{
	width:35.94%;
	max-width:354px;
}
section.top_business .column:first-child article{
	margin-top:calc(-11.3% + 10px);
	margin-bottom:55px;
}
section.top_business .column:first-child article .image-wrap img:last-child{
	display:none;
}
section.top_business .column:last-child{
	max-width:620px;
	margin:0 auto;
}
section.top_business .column:last-child p{
	font-size:14px;
	line-height:25.2px;
	letter-spacing:0.56px;
}
section.top_business .column:last-child article:not(.tit_fc){
	display:flex;
	align-content:center;
	align-items:center;
	column-gap:9.4%;
	font-weight:bold;
	border-bottom:1px solid var(--c_base);
	padding:50px 0 28px;
}
section.top_business .column:last-child article:not(.tit_fc):last-child{
	border:none;
}
section.top_business .column:last-child .image-wrap{
	width:24.84%;
	padding:3px 0 27px;
}
section.top_business .column:last-child .image-content{
	flex:1;
	padding-bottom:20px;
}
section.top_business .column:last-child .image-content h2{
	font-size:28px;
	line-height:46.2px;
	letter-spacing:1.12px;
	margin-bottom:10px;
}
section.top_business .column:last-child .image-content h2:before{
	counter-increment:top_business;
	content:'POINT ' counter(top_business, decimal-leading-zero);
	display:block;
	font-size:17px;
	line-height:1;
	color:var(--c_red);
	margin-bottom:20px;
}
section.top_people{
	counter-reset:top_people;
	background:var(--c-white);
	padding-top:200px;
	padding-bottom:210px;
}
section.top_people .tit_fc{
	margin-bottom:65px;
}
section.top_people section{
	display:flex;
	column-gap:2.85%;
	width:92%;
	max-width:1290px;
	padding-right:6.944%;
	margin:0 0 0 auto;
}
section.top_people section:before,
section.banner_staff section:before{
	top:25.82%;
	left:5.43%;
	background:var(--c_red);
}
section.banner_staff section:before{
	left:9%;
}
section.top_people section .column,
section.banner_staff section .column{
	margin-bottom:90px;
}
section.top_people section .column > a,
section.banner_staff section .column > a{
	display:block;
	position:absolute;
	z-index:3;
	top:0;bottom:0;
	left:0;right:0;
	opacity:0;
}
section.top_people section article:before{
	counter-increment:top_people;
	content:"# "counter(top_people, decimal-leading-zero);
}
section.top_people section article:before,
section.banner_staff section article > span{
	display:block;
	position:absolute;
	z-index:2;
	top:0;
	left:0;
	font-size:min(12.135vw,54px);
	line-height:1;
	font-weight:bold;
	color:var(--c_red);
	padding:min(3.4vw,4%) 0 0 min(5.618vw,6.6%);
}
section.top_people section article:after,
section.banner_staff section article:after{
	content:'';
	display:block;
	position:absolute;
	z-index:2;
	bottom:0;
	right:0;
	transform:translate(14%,59%);
	width:min(18.667vw,77px);height:min(18.667vw,77px);
	background:url(../../uploads/btn_arrow_right.webp)center center no-repeat;
	background-size:contain;
}
section.top_people section article .image-wrap,
section.banner_staff section article .image-wrap{
	overflow:clip;
}
section.top_people section .column:hover article .image-wrap img,
section.banner_staff section .column:hover article .image-wrap img{
	transform:scale(1.1);
}
section.top_people section article .image-content,
section.banner_staff section article .image-content{
	position:absolute;
	z-index:3;
	bottom:0;
	left:0;
	color:var(--c-white);
	padding:0 min(5.4vw,7.98%) min(6.74vw,6.3%);
}
section.top_people section article .image-content h2,
section.banner_staff section article .image-content h2{
	font-size:min(8.09vw,36px);
	line-height:min(10.337vw,46px);
	margin-bottom:0.3em;
}
section.top_people section article .image-content p,
section.banner_staff section article .image-content p{
	font-size:14px;
	line-height:23.8px;
	letter-spacing:0.56px;
}
section.top_career{
	background:var(--c-base);
	padding-top:120px;
	padding-bottom:115px;
}
section.top_career:before{
	top:103px;
	left:auto;right:18.4%;
	width:25.66%;
	background:url(../../uploads/top_career_icon.webp)center top no-repeat;
	background-size:contain;
}
section.top_career .tit_fc{
	margin-bottom:47px;
}
section.top_career .bp{
	background:var(--c-white);
	padding:0 6.14%;
	margin-bottom:15px;
}
section.top_career .bp:before,
section.top_career .bp:after{
	content:'';
	display:table;
	clear:both;
}
section.top_career .bp > article:first-child{
	padding-top:63px;
	padding-bottom:62px;
}
section.top_career .bp > article:first-child h2{
	font-size:33px;
	letter-spacing:1.32px;
	font-weight:800;
	margin-bottom:15px;
}
section.top_career .bp > article:first-child p{
	letter-spacing:0.64px;
}
section.top_career .bp > article:last-child:not(:first-child){
	background:#f0f0f0;
	border-radius:30px;
	padding:51px 6% 49px;
	margin-bottom:70px;
}
section.top_career .bp > article:last-child:not(:first-child) p{
	font-size:26px;
	line-height:44.2px;
	letter-spacing:1.04px;
	font-weight:bold;
	text-align:center;
}
section.top_career section{
	display:flex;
	column-gap:1.7%;
}
section.top_career section.top_step{
	padding-top:40px;
	counter-reset:top_career;
}
section.top_career .column{
	flex:1;
}
section.top_step .column{
	display:flex;
	flex:1;
	min-height:220px;
}
section.top_step .column article{
	padding-top:11.8%;
}
section.top_step .column:first-child article{
	padding-top:23.6%;
}
section.top_step .column:last-child article{
	padding-top:0;
}
section.top_step .column h2{
	display:flex;
	flex-direction:column;
	align-content:center;
	align-items:center;
	justify-content:center;
	font-size:28px;
	letter-spacing:1.12px;
	font-weight:800;
	color:var(--c-white);
	text-align:center;
	height:100%;
	background:var(--c_red);
	border-radius:26px 26px 0 0;
	position:relative;
	z-index:1;
}
section.top_step .column:first-child h2{
	background:#E93615;
}
section.top_step .column:last-child h2{
	background:#B10000;
}
section.top_step .column:last-child h2 div:last-child span:first-child{
	display:inline-block;
	vertical-align:bottom;
	font-size:45px;
	line-height:1;
	font-weight:700;
	margin-top:-2px;
}
section.top_step h2:before{
	top:0;bottom:auto;
	left:auto;right:max(17%,35px);
	transform:translate(0,-100%);
	width:63px;
	background:url(../../uploads/top_career_icon02.webp)center top no-repeat;
	background-size:100% auto;
	padding-top:24.54%;
}
section.top_step .column:first-child h2:before{
	width:30px;
	background-image:url(../../uploads/top_career_icon01.webp);
	padding-top:23%;
}
section.top_step .column:last-child h2:before{
	width:90px;
	background-image:url(../../uploads/top_career_icon03.webp);
	padding-top:23.3%;
}
section.top_step .column h2 div:first-child{
	position:absolute;
	z-index:2;
	top:15px;
	transform:translate(0,-100%);
	left:35px;
	font-size:18px;
	line-height:1;
	font-weight:700;
	color:var(--c-white);
	text-align:center;
	width:111px;
	background:var(--c_base);
	border-radius:6px;
	padding:11px 0 16px;
}
section.top_step .column h2 div:first-child:after{
	counter-increment:top_career;
	content:counter(top_career);
	display:inline-block;
	vertical-align:bottom;
	font-size:24px;
}
section.top_step .column h2 div:last-child span:last-child{
	display:block;
	font-size:18px;
	letter-spacing:0.72px;
	padding:16px 0 2px;
}
section.top_step_txt article{
	padding:34px 25px 30px;
}
section.top_step_txt article h2{
	display:none;
}
section.top_step_txt article p{
	font-size:17px;
	line-height:28.9px;
	letter-spacing:0.68px;
	font-weight:400;
}
section.top_sp{
	background:var(--c-white);
	padding-top:200px;
	padding-bottom:180px;
}
section.top_sp:before{
	top:127px;
	left:auto;right:12.5%;
	width:22.3%;
	background:url(../../uploads/top_sp_icon.webp)center top no-repeat;
	background-size:contain;
}
section.top_sp .tit_fc{
	margin-bottom:67px;
}
section.top_sp section{
	display:flex;
	column-gap:5.2%;
	background:#f5f5f5;
	padding:20px;
	margin-bottom:30px;
}
section.top_sp section.c_org .column:first-child{
	background:#E93615;
}
section.top_sp section.c_red .column:first-child{
	background:var(--c_red);
}
section.top_sp section.c_dark .column:first-child{
	background:#B10000;
}
section.top_sp section .column{
	display:flex;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
}
section.top_sp section .column:first-child{
	width:27.3%;
	min-height:250px;
	padding:16px 20px 15px;
}
section.top_sp section .column:first-child:before{
	left:13.333%;right:auto;
	width:83.6%;
	background:url(../../uploads/top_sp_check.webp)center top no-repeat;
	background-size:100% auto;
}
section.top_sp section .column:first-child h2{
	font-size:26px;
	line-height:34px;
	font-weight:800;
	color:var(--c-white);
	text-align:center;
}
section.top_sp section .column:last-child{
	flex:1;
	padding:16px 0 15px;
}
section.top_sp section .column:last-child article{
	max-width:650px;
}
section.top_sp section .column:last-child article:not(:last-child){
	margin-bottom:30px;
}
section.top_sp section .column:last-child h2{
	font-size:18px;
	font-weight:800;
	margin-bottom:17px;
}
section.top_sp section .column:last-child ul{
	padding-inline-start:20px;
	margin:0;
}
section.top_sp section .column:last-child ul li{
	font-size:14px;
	line-height:22.4px;
	margin-bottom:10px;
}
section.top_sp section .column:last-child ul li:last-child{
	margin-bottom:0;
}
section.top_sp section .column:last-child p{
	font-size:14px;
	line-height:19px;
	font-weight:400;
}
section.staff_greeting{
	padding-bottom:120px;
}
section.staff_greeting .section_inner{
	display:flex;
}
section.staff_greeting .column{
	display:flex;
	align-content:center;
	align-items:center;
	flex-wrap:wrap;
	width:50%;
}
section.staff_greeting .column:first-child{
	padding:17px 30px 14px 8%;
}
section.staff_greeting .column:first-child article{
	max-width:550px;
	margin-left:auto;
}
section.staff_greeting .column:last-child:before,
section.staff_greeting .column:first-child article:first-child:before{
	content:"People";
	display:block;
	font-size:20px;
	line-height:1;
	font-weight:bold;
	color:var(--c_red);
	background:linear-gradient(var(--c_red),var(--c_red))left bottom no-repeat;
	background-size:30px 1px;
	padding-bottom:18px;
	margin-bottom:28px;
}
section.staff_greeting .column:last-child:before{
	display:none;
}
section.staff_greeting .column:first-child article:first-child p{
	font-size:30px;
	line-height:48px;
	font-weight:bold;
	position:relative;
}
section.staff_greeting .column:first-child article:last-child h1{
	font-size:26px;
	padding:30px 0 15px;
}
section.staff_greeting .column:first-child article:last-child h1 span{
	display:block;
	font-size:14px;
	margin-bottom:2px;
}
section.staff_greeting .column:first-child article:last-child p,
section.staff_greeting .column:first-child article:last-child p strong{
	font-size:14px;
	line-height:23.8px;
	letter-spacing:0.28px;
}
section.staff_greeting .column:first-child article:last-child p{
	font-weight:400;
}
section.staff_greeting .column:first-child article:last-child p:not(:last-child){
	margin-bottom:0.86em;
}
section.staff_greeting .column:first-child article:last-child > *{
	max-width:480px;
}
section.staff_greeting .column:last-child article{
	min-height:100%;
	background-position:center center;
	background-size:cover;
	border-radius:min(2.08vw,30px) 0 0 min(2.08vw,30px);
	overflow:clip;
}
section.staff_greeting .column:last-child article:before{
	z-index:1;
	background:rgba(0,0,0,0.2);
}
section.staff_greeting .column:last-child .image-wrap{
	opacity:0;
}
body[class*="staff"]{
	counter-reset:staff;
}
section.staff_greeting .column:last-child h2{
	position:absolute;
	z-index:2;
	bottom:0;
	left:0;
	font-size:min(8vw,58px);
	line-height:min(10.133vw,73px);
	color:var(--c-white);
	padding:0 0 25px 7%;
}
section.staff_greeting .column:last-child h2 span{
	display:block;
	font-size:min(5.867vw,46px);
	line-height:1;
	color:var(--c_red);
	margin-bottom:0.326em;
}
section.staff h2{
	font-size:30px;
	padding-bottom:47px;
}
section.staff h2 div:first-child{
	font-size:18px;
	color:var(--c_red);
	margin-top:-4px;
	margin-bottom:12px;
}
section.staff h2 div:first-child:before{
	counter-increment:staff;
	content:counter(staff, decimal-leading-zero);
	background-image:linear-gradient(#000,#000);
	background-position:right 15px top 11px;
	background-size:10px 1px;
	background-repeat:no-repeat;
	padding-right:40px;
}
section.staff .caption{
	max-width:900px;
	padding-bottom:75px;
	margin:-8px auto 0;
}
section.staff .caption p,
section.staff_s p{
	font-size:14px;
	line-height:30.8px;
	font-weight:600;
}
section.staff .caption p:not(:last-child),
section.staff_s p:not(:last-child){
	margin-bottom:1em;
}
section.staff .image-wrap{
	border-radius:10px;
	padding:40% 0 0;
	margin-bottom:75px;
	overflow:clip;
}
section.staff .image-wrap:before{
	z-index:1;
	background:rgba(0,0,0,0.1);
}
section.staff .image-wrap img{
	display:block;
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-47%);
	width:100%;
}
section.staff_s{
	padding-bottom:110px;
}
section.staff_s article{
	display:flex;
	align-content:center;
	align-items:center;
	column-gap:4.4%;
}
section.staff_s .image-wrap{
	width:24.2%;
	margin-bottom:50px;
}
section.staff_s .image-content{
	flex:1;
	padding-bottom:42px;
}
section.staff_s h2{
	font-size:18px;
	color:var(--c_red);
	margin-top:-4px;
	margin-bottom:15px;
}
section.banner_staff{
	background:var(--c-white);
	padding-top:140px;
	padding-bottom:140px;
}
section.banner_staff .section_inner.pagewidth{
	max-width:1370px;
}
section.banner_staff .section_inner{
	display:flex;
	justify-content:flex-end;
	column-gap:min(2.7%,34px);
	padding-left:min(8%,105px);
}
section.banner_staff .section_inner > .column:first-child{
	width:27.007%;
	max-width:340px;
}
section.banner_staff .section_inner > .column:last-child{
	width:70.223%;
	max-width:882px;
}
section.banner_staff section{
	display:flex;
	column-gap:4.2%;
	padding-right:11.338%;
}
section.banner_staff section .column{
	flex:1;
}
section.banner_staff .section_inner > .column:first-child article:not(.tit_fc) h2{
	font-size:32px;
	font-weight:800;
	padding-bottom:40px;
	margin-top:-6px;
	margin-bottom:50px;
	position:relative;
}
section.banner_staff .section_inner > .column:first-child article:not(.tit_fc) h2:before{
	top:auto;
	right:auto;
	width:75px;
	border-top:1px solid var(--c_base);
}
section.banner_staff .tit_fc h2 > div:first-child span{
	display:block;
}
section.banner_staff .tit_fc h2 > div:first-child span:first-child{
	font-size:31px;
	line-height:1;
	letter-spacing:0;
	padding:0;
}
section.banner_staff .tit_fc h2 > div:first-child span:last-child{
	font-size:14px;
	letter-spacing:0;
	font-weight:600;
	font-family: inherit;
	padding:20px 0 33px;
}
section.banner_staff .tit_fc h2 > div:last-child{
	font-size:42px;
	line-height:inherit;
	padding:0;
	margin-bottom:-10px;
}






/* Recruit Page */
#content .mb0 {
	margin-bottom: 0;
}
#content .mb6 {
	margin-bottom: 6px;
}
.title-page {
	background: url(../../uploads/main-image-scaled-1.webp) no-repeat center top 60%;
	background-size: 100%;
	padding: 90px 100px 120px;
	position: relative;
}

.title-page:before {
	content: '';
	width: 100%;
	height: 100%;
	background: rgb(0 0 0 / 50%);
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
}
.title-page .section_inner {
	position: relative;
}
.title-page h1 {
	font-weight: 800;
	font-size: 62px;
	line-height: 170%;
	letter-spacing: 2.48px;
	color: white;
	margin: 0 0 40px;
}
.title-page h1 br  {
	display: none;
}
.title-page h2 {
	font-weight: 800;
	font-size: 37px;
	line-height: 170%;
	letter-spacing: 1.48px;
	color: var(--c-base);
	background: white;
	padding: 12px;
	text-align: center;
	max-width: 428px;
	margin: 0 auto;
	display: block;

}
.position-box {
	background: white;
	margin-bottom: 45px;
}
dl {
	display: flex;
	flex-wrap: wrap;
}
dl.dl-position {
	margin: 0;
}
dl.dl-position dt, dl.dl-position dd {
	font-size: 16px;
	font-weight: 500;
	line-height: 170%;
	letter-spacing: 0.48px;
	vertical-align: middle;
	width: calc(100% - 180px);
	padding: 30px 40px;
	margin: 0;
	border-bottom: 1px solid #EDEDED;
}
dl.dl-position dt {
	width: 180px;
	padding: 30px 32px;
	text-align: center;
	background: #F5F5F5;
	display: flex;
	align-items: center;
	justify-content: center;
}
dl.dl-position ul {
	padding-left: 20px;
}
dl.dl-pos-detail dt, dl.dl-pos-detail dd {
	border-bottom: 3px solid #EDEDED;
}



.grey-row {
	padding-top: 80px;
}
.grey-row h3 {
	font-size: 32px;
	font-weight: 800;
	line-height: 170%;
	letter-spacing: 0;
	text-align: center;
	margin: 0 0 35px;
	color: var(--c-base);
}

.btn-wrap {
	padding: 20px;
}
.btn-wrap a {
	background: url(../../uploads/Vector-button.webp) no-repeat bottom 10px right 9px, var(--c-red);
	background-size: 10px;
	color: white;
	font-size: 17px;
	font-weight: 800;
	line-height: 170%;
	letter-spacing: 0;
	padding: 24px;
	border-radius: 8px;
	max-width: 438px;
	display: block;
	margin: 0 auto;
	text-decoration: none;
	text-align: center;
}
.btn-wrap a img {
	padding: 8px 35px 8px 0;
	margin: 0 30px 0 0;
	border-right: 1px solid white;
	width: 100px;
}
.btn-wrap a * {
	display: inline-block;
	vertical-align: middle;
}



.sec-process {
	padding: 85px 0 100px;
}
.sec-process .section_inner {
  padding: 50px 90px 60px;
  background: var(--c-base);
  border-radius: 20px;
  color: #fff;
}

.sec-process-title {
  text-align: center;
  font-size: 32px;
  margin-bottom: 45px;
	font-weight: 700;
	line-height: 130%;
	letter-spacing: 1.28px;

}

/* process box */
.process-box {
  display: flex;
  align-items: center;
	gap: 50px;
  background: #E93615;
  border-radius: 10px;
  padding: 30px 70px;
  margin-bottom: 15px;
}

.process-box.dark {
  background: #B10000;
	margin-bottom: 0;
}

/* left text */
.process-left {
  width: 160px;
}

.process-left h3 {
	font-size: 26px;
	font-weight: 700;
	line-height: 130%;
	letter-spacing: 1.04px;
	margin-bottom: 40px;
}

.process-left p {
	font-size: 20px;
	font-weight: 400;
	line-height: 100%;
	opacity: 0.5;
	letter-spacing: -0.6px;
}

/* steps */
.process-steps {
  display: flex;
  align-items: center;
  gap: 15px;
	flex: 1;
}

.step {
	font-weight: 700;
	font-size: 18px;
	line-height: 120%;
	letter-spacing: 2px;
	background: white;
	color: var(--c-base);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 30px;
    width: 82px;
    min-height: 250px;
    text-align: center;
	writing-mode: tb-rl;
}

.arrow {
	width: 10px;
}

ul.tab {
	display: flex;
	flex-wrap: wrap;
	margin: 0 0 55px;
	padding: 0;
	justify-content: center;
}
ul.tab li {
	padding: 0 40px;
	margin: 0;
	border-right: 1px solid rgb(0 0 0 / 30%);
	display: block;
}
ul.tab li:last-child {
	border-right: none;
}
ul.tab li a {
	font-family: Noto Sans JP;
	font-weight: 600;
	font-size: 18px;
	line-height: 170%;
	letter-spacing: 0.72px;
	text-align: center;
	color: var(--c-base);
	display: block;
	padding: 12px 0;
	text-decoration: none;
}
ul.tab li.current a {
	border-bottom: 2px solid var(--c-red);
}

/* Form */
.form-row {
	padding-top: 120px;
	padding-bottom: 100px;
}
.tab-contact {
	display: flex;
	gap: 5px;
	padding: 0;
	margin: 0;
	border-radius: 10px;
	overflow: hidden;
}
.tab-contact li {
	font-size: 22px;
	font-weight: 700;
	line-height: 100%;
	letter-spacing: 2px;
	text-align: center;
	color: var(--c-base);
	background: white;
	display: block;
	flex: 1;
	padding: 26px;
}
.tab-contact li.current {
	color: white;
	background: var(--c-red);
}



.wpcf7-form dl {
	display: flex;
	align-items: center;
	flex-wrap: nowrap;
	padding: 35px 0;
	margin: 0;
	border-bottom: 1px solid #dfdfdf;
}
.wpcf7-form dl dt {
	font-weight: 700;
	font-size: 20px;
	line-height: 150%;
	letter-spacing: 0.8px;
	color: var(--c-base);
	width: 290px;
	box-sizing: border-box;
}
.wpcf7-form dl dt p {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}
.wpcf7-form dl dt p:last-child {
	margin-bottom: 0;
}
.wpcf7-form dl dt span {
	font-weight: 600;
	font-size: 12.72px;
	line-height: 100%;
	letter-spacing: 0;
	text-align: center;
	color: #F7F7F7;
	background: var(--c-red);
	border-radius: 8px;
	padding: 6px 12px;
	margin: 0;
}
.wpcf7-form dl dt span.optional {
	background: #979797;
}
.wpcf7-form dl dt .p-small {
	font-size: 14px;
	font-weight: 400;
	line-height: 170%;
	letter-spacing: 0;
	display: block;
}
.wpcf7-form dl dd {
	flex: 1;
	margin: 0;
	font-size: 16px;
	max-width: calc(100% - 290px);
}
.wpcf7-form dl dd p > span {
	display: block;
	width: 100%;
}
.wpcf7-form input, .wpcf7-form textarea {
	font-family: "Lexend Giga", sans-serif;
}
.wpcf7-form input[type="text"], .wpcf7-form input[type="tel"], .wpcf7-form input[type="email"], .wpcf7-form textarea {
	background: #F7F7F7;
	padding: 7px 19px;
	border-radius: 5px;
	border: none;
	box-shadow: none;
	font-size: 16px;
	line-height: 27px;
	display: block;
	box-sizing: border-box;
	width: 100%;
	max-width: 100%;
}

.wpcf7-form input::placeholder, .wpcf7-form textarea::placeholder  {
	color: #BAB6B6;
}
.wpcf7-form dl span[data-name="add-01"] {
	display: inline-block;
    width: 144px;
    vertical-align: middle;
	margin-left: 12px;
}
.wpcf7-form dl span[data-name="add-02"] {
	margin-top: 20px;
}

.wpcf7-form .wpcf7-radio {
    display: flex;
    gap: 6px;
    flex-wrap: wrap;
}
.wpcf7-form .wpcf7-list-item {
	margin: 0;
}
/* Label = button */
.wpcf7-form .wpcf7-radio label {
    position: relative;
    cursor: pointer;
}
/* Hide Radio */
.wpcf7-form .wpcf7-radio input[type="radio"] {
    display: none;
}
/* Style button */
.wpcf7-form .wpcf7-radio label span {
    display: inline-block;
    padding: 6px 19px;
    border: 1px solid var(--c-white);
    border-radius: 6px;
    background: #fff;
    font-size: 18px;
    font-weight: 400;
    line-height: 27px;
    transition: all 0.2s ease;
	font-family: "Lexend Giga", sans-serif;
}
/* Hover */
.wpcf7-form .wpcf7-radio label:hover span {
    border-color: var(--c-red);
}
/* Selected */
.wpcf7-form .wpcf7-radio input[type="radio"]:checked + span {
    background: var(--c-red);
    color: #fff;
    border-color: var(--c-red);
}

/* Checkbox */
.wpcf7-form input[type="checkbox"] {
	width: 25px;
    height: 25px;
    border: 2px solid #C6C6C6;
    margin-right: 20px;
    border-radius: 5px;
/*     appearance: none;
    -webkit-appearance: none; */
}

/*Submit Button */
input.wpcf7-submit {
	background: url(../../uploads/button-arrow-ct.webp) no-repeat right 20px center, var(--c-red);
	background-size: 23px;
	font-weight: 600;
	font-size: 21px;
	line-height: 100%;
	letter-spacing: 2px;
	text-align: center;
	border-radius: 10px;
	padding: 30px 40px;
	display: block;
    width: 100%;
    max-width: 420px;
    margin: 30px auto 0;
    border: none;
    color: white;
	cursor: pointer;
}


.policy-text {
	font-weight: 600;
	font-size: 16px;
	line-height: 100%;
	letter-spacing: 2px;
	text-align: center;
	color: var(--c-base);
}
.policy-text a:before {
	content: '「';
	display: inline-block;
}
.policy-text a:after {
	content: '」';
	display: inline-block;
}
.policy-text a p {
	display: inline;
	color: var(--c-red);
}


/* Thank Page */
.thank-message {
	background: white;
	padding: 140px 100px;
	margin-top: 45px;
	margin-bottom: 100px;
	color: var(--c-base)
}
body .thank-message h3 {
	font-weight: 700;
	font-size: 30px;
	line-height: 100%;
	letter-spacing: 0;
	text-align: center;
	margin-bottom: 40px;
}
.thank-message p {
	font-weight: 600;
	font-size: 14px;
	line-height: 220%;
	letter-spacing: 0;
	text-align: center;
}


