@charset "utf-8";


/*--------------------------------------------------------------

recruit

--------------------------------------------------------------*/

/* index
--------------------------------------------------------------*/

.guideline-list { display: grid; gap: 2rem; margin-top: 2rem;}
.guideline-item { }
.guideline-item a { position: relative; display: block; padding: 2rem; border: var(--cl-gr) 1px solid; border-left: var(--cl-key) 3px solid;}
.guideline-item a::before { position: absolute; top: 50%; right: 1.5rem; transform: translate(0,-50%); content: ""; display: block; width: 1rem; height: 1rem; background-color: var(--cl-key); border-radius: 50%; transition: 0.3s; }
.guideline-item-job { font-size: 1.8rem;}
.guideline-item-area { font-size: 1.4rem;}

.guideline-btn { margin-inline: auto;}

@media print, screen and (min-width: 640px) {

.guideline-list { gap: 2rem; grid-template-columns: repeat(2,1fr); margin-top: 4rem;}
.guideline-item a { padding: 3rem;}
.guideline-item a::before { right: 3rem; z-index: 2; }
.guideline-item a::after { position: absolute; top: 50%; right: 0.9rem; transform: translate(0,-50%); content: ""; display: block; width: 5rem; height: 5rem; background: url(/assets/images/common/ar_btn_wh.svg) no-repeat center / 1.4rem; z-index: 1; transition: 0.3s; opacity: 0; }
.guideline-item a:hover { opacity: 1;  }
.guideline-item a:hover::before { transform: translate(0,-50%) scale(5);}
.guideline-item a:hover::after { z-index: 3; opacity: 1; }

}
@media print, screen and (min-width: 1024px) {
.guideline-list { gap: 4rem; grid-template-columns: repeat(3,1fr); }

}





/*--------------------------------------------------------------

add202603

--------------------------------------------------------------*/

/* common
--------------------------------------------------------------*/

/* color */
:root {
--cl-bggr: #F2F5F3;
--cl-border: #ccc;
}


/* iv-animation
---------------------------------------------------- */
.iv-fade { opacity:0; transition: 0.8s; }
.iv-fade._view { opacity:1; }
.iv-up_fade { opacity:0; transform:translate(0, 6rem); transition: 0.8s; }
.iv-up_fade._view { opacity:1; transform:translate(0, 0); }




.page-recruit .u-inner { max-width: 122rem;}
.page-recruit .u-inner._min { max-width: 88rem;}
.page-recruit .c-secbg { background-color: var(--cl-bggr);}


/* title */
.u-title-xl { font-size: 2rem; font-weight: bold; color: var(--cl-key);}
.u-title-l { font-size: 1.8rem;font-weight: bold;}
.u-title-md { font-size: 1.6rem;font-weight: bold;}
.u-title-bg { display: block; width: max-content; padding: 0 0.4em; color: var(--cl-wh); background-color: var(--cl-key); line-height: 1.6;}
.u-title-bg + .u-title-bg { margin-top: -0.2em;}

@media print, screen and (min-width: 640px) {
.u-title-xl { font-size: 4rem;}
.u-title-l { font-size: 3.6rem; }
.u-title-md { font-size: 2.4rem;font-weight: bold;}
}



/* lead */
.page-recruit .lead-title { margin-bottom: 2rem; font-size: 2rem; font-weight: bold;}
.page-recruit .lead-txt { max-width: 75rem; margin: 0 auto;}

@media print, screen and (min-width: 640px) {
.page-recruit .lead-title { margin-bottom: 4rem; font-size: 4rem; text-align: center; line-height: 1.4;}

}




/* foot-guideline */
.foot-guideline { background-color: var(--cl-bggr);}
.foot-guideline-title { margin-bottom: 2.5rem;}
.foot-guideline-sub { font-size: 5rem; color: var(--cl-key); line-height: 1.4;}
.foot-guideline-main { width: max-content; padding: 0.5em 1em; background-color: var(--cl-key); color: var(--cl-wh); font-weight: bold; line-height: 1;}

.foot-guideline-list { display: grid; gap: 1rem;}
.foot-guideline-item { }
.foot-guideline-item a { position: relative; display: block; padding: 2rem 4rem 2rem 2rem; background-color: var(--cl-wh);}
.foot-guideline-item a::before { position: absolute; top: 50%; right: 2rem; transform: translate(0,-50%); content: ""; display: block; width: 1em; height: 1em; mask: url(/assets/images/recruit/common/ar_right.svg) no-repeat center center / contain; background-color: var(--cl-key); }
.foot-guideline-job { font-size: 1.6rem; font-weight: bold;}
.foot-guideline-area { font-size: 1.4rem; font-weight: bold;}
.foot-guideline-null { margin-top: 2.5rem; padding: 1em; background-color: var(--cl-wh); font-weight: bold;}

@media print, screen and (min-width: 640px) {
.foot-guideline-title { margin-bottom: 5rem;}
.foot-guideline-list { grid-template-columns: repeat(2,1fr); gap: 2rem;}
.foot-guideline-item a { padding: 3rem 6rem 3rem 4rem; border: var(--cl-wh) 2px solid;}
.foot-guideline-item a:hover { opacity: 1; border-color: var(--cl-key);}
.foot-guideline-item a::before { right: 4rem; }
.foot-guideline-sub { font-size: 10rem;}
.foot-guideline-job { font-size: 1.8rem; }
.foot-guideline-null { padding: 2em; text-align: center;}

}


/* footer */
.page-recruit .footer { padding: 0; background: none; border-bottom: var(--cl-key) 10px solid;}
.footer-catch { margin: 0 calc(((100vw - 100%) / 2) * -1); padding: 2rem 0; }
.footer-catch p { font-size: 4rem; text-align: center; font-weight: bold; color: var(--cl-key); line-height: 1.4; }
.footer-pic { position: relative; height: 0; padding-bottom: 50%; margin: 0 calc(((100vw - 100%) / 2) * -1);}
.footer-pic img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
.footer-menu { margin: 0 calc(((100vw - 100%) / 2) * -1); }
.footer-menu-item { border-bottom: var(--cl-border) 1px solid;}
.footer-menu-link { display: block; padding: 1.5rem 2rem; font-weight: bold; font-size: 1.4rem;}
.footInfo { padding: 4rem 0 0; gap: 3rem; }
.footInfo-logo { width: auto; max-width: none; text-align: center;}
.footInfo-logo a { display: block; width: max-content; margin: 0 auto;}
.footInfo-logo a img { width: 20rem; margin: 0 auto;}
.footInfo-name { margin-top: 1rem; color: var(--cl-key);}
.footInfo-link { display: grid; grid-template-columns: max-content 0.8em; align-items: center; justify-content: center; gap: 0.5em; width: max-content; margin: 0 auto; font-size: 1.4rem; font-weight: bold;}
.footer-copy { margin: 0; padding: 4rem 0 2rem;}

@media print, screen and (min-width: 640px) {
.footer-catch { padding: 8rem 0; container-type: inline-size; width: 100%; margin: 0 auto; }
.footer-catch p { font-size: clamp(14px, 7cqw, 80px); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; text-align: center; margin: 0;}
.footer-pic { padding-bottom: 35.5rem; }
.footer-box { display: block; margin-top: 6rem;}
.footer-menu { display: flex; align-items: center; justify-content: center; gap: 5rem; margin: 0;}
.footer-menu-item { border-bottom: none;}
.footer-menu-link { padding: 0;}
.footInfo { padding: 8rem 0 0; gap: 6rem; }
.footInfo-logo a img { width: 34rem; }
.footInfo-name { margin-top: 2rem; color: var(--cl-key);}
.footer-copy { padding: 4rem 0;}

}




.spitem { display: block;}
.spnav-btn { display: block;}

@media print, screen and (min-width: 1300px) {
.spitem { display: none;}
.spnav-btn { display: none;}
}

/* spnav */
.spnavMenu { margin: 0 calc(((100vw - 100%) / 2) * -1); padding: 0;}
.spnavMenu-list:first-of-type { border: none;}
.spnavMenu-title a { padding: 1.6rem;}
.spnavMenu-title._entry a { width: 24rem; margin: 3rem auto 0; border-radius: 5rem; background-color: var(--cl-key); color: var(--cl-wh); text-align: center;}

@media print, screen and (min-width: 640px) {
.spnavMenu { margin: 0;}

}



/* 上書き
--------------------------------------------------------------*/
.page-recruit {}
.page-recruit .c-secwrap:last-child:not(.index-lead) { padding-bottom: 6rem;}

@media print, screen and (min-width: 640px) {
.page-recruit .c-secwrap:last-child:not(.index-lead) { padding-bottom: 12rem;}

}


/* header */
.page-recruit .header { border-color: var(--cl-key); border-width: 2px; }
.page-recruit .header-logo-link { }
.page-recruit .header-logo-txt { margin: 0.2rem 0 0 0.3rem; font-size: 1.2rem; font-weight: bold; color: var(--cl-key);}

@media print, screen and (min-width: 640px) {
.page-recruit .header { display: grid; grid-template-columns: 1.5fr 2fr; justify-content: space-between; align-items: center; border-width: 4px; }
.page-recruit .header-logo { position: static; width: auto; max-width: none; transform: initial; }
.page-recruit .header-logo-link img { max-width: calc(68.95% - 7.62%); }
.page-recruit .header-nav { display: none;}
.page-recruit .gnav-item { }
.page-recruit .gnav-item .gnav-item-link { padding: 0;}
.page-recruit .gnav-item:last-child { width: 100%; max-width: 12rem; margin-right: 4rem;}
.page-recruit .gnav-item:last-child .gnav-item-link { height: 4.6rem; border-radius: 5rem; border: var(--cl-key) 1px solid;}
}
@media print, screen and (min-width: 1024px) {
.page-recruit .header-logo-link { display: grid; grid-template-columns: calc(68.95% - 7.62%) max-content;  gap: 3.62%; align-items: center; }
.page-recruit .header-logo-link img { max-width: 100%; }
.page-recruit .header-logo-txt { margin: 0; line-height: 1.4;}
}
@media print, screen and (min-width: 1300px) {
.page-recruit .header-nav { display: flex;}
.page-recruit .gnav-item .gnav-item-link { padding: 0 1rem;}
.page-recruit .gnav-item .gnav-item-link:hover { opacity: 1; background-color: var(--cl-key); color: var(--cl-wh);}
.page-recruit .gnav-item:last-child .gnav-item-link:hover { background-color: var(--cl-wh); color: var(--cl-key);}

}




.page-recruit .u-btn a { background-color: var(--cl-key); border-color: var(--cl-key); color: var(--cl-wh); }
.page-recruit .u-btn a::before { width: 0.8em; height: 0.8em; mask: url(/assets/images/recruit/common/ar_right.svg) no-repeat center center / contain; background-color: var(--cl-wh); }
.page-recruit .u-btn a::after { display: none;}

@media print, screen and (min-width: 640px) {
.page-recruit .u-btn a:hover { background-color: var(--cl-wh); color: var(--cl-key); }
.page-recruit .u-btn a:hover::before { transform: translate(0, -50%); background-color: var(--cl-key); }

}




/* c-pageTitle */
.page-infoBg .c-pageTitle-m::before,
.page-infoBg .c-pageTitle-l::before { height: 20%; background: var(--cl-bggr);}
.page-infoBg .lead { padding: 10rem 0 4rem; background: var(--cl-bggr);}
.c-pageTitle .u-inner { position: relative;}
.c-pageTitle-pic { margin-top: 0; padding-bottom: 70%;}
.c-pageTitle-box { position: relative; width: max-content; z-index: 2; }
.c-pageTitle-main { }
.c-pageTitle-main span { position: relative; display: block; width: max-content; padding: 0.2em; font-size: 4rem; color: var(--cl-wh); line-height: 1; color: transparent; transition: 0.3s;}
.c-pageTitle-main span + span { margin-top: -0.2em; }
.c-pageTitle-main span::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-key); z-index: -1; transform: scaleX(0); transform-origin: left; transition: transform 0.8s cubic-bezier(0.25, 1, 0.5, 1); }
.c-pageTitle-sub { display: flex; align-items: center; gap: 0.5em; width: max-content; margin: 0; padding: 0.4em 1.2em; background-color: var(--cl-bk); color: var(--cl-wh); opacity: 0; transform: translateY(10px); transition: opacity 0.6s ease, transform 0.6s ease; transition-delay: 0.5s; }
.c-pageTitle .c-pageTitle-box { position: absolute; bottom: -7rem; margin: 0 0 0 -2rem; }

.c-pageTitle-s { border: none;}
.c-pageTitle-s .c-pageTitle-box { position: static; margin: 0;}


.is-show .c-pageTitle-main span { color: var(--cl-wh); }
.is-show .c-pageTitle-main span::before { transform: scaleX(1); }
.is-show .c-pageTitle-main span:nth-child(2)::before { transition-delay: 0.2s; }
.is-show .c-pageTitle-sub { opacity: 1; transform: translateY(0); }

@media print, screen and (min-width: 640px) {
.page-infoBg .c-pageTitle-m::before,
.page-infoBg .c-pageTitle-l::before { height: 21rem;}
.page-infoBg .lead { padding: 14rem 0 8rem; }
.c-pageTitle-pic { max-width: 116rem; margin-left: auto; padding-bottom: 55rem;}
.c-pageTitle-box { margin: 0; }
.c-pageTitle-main span { padding: 0.1em 0.2em; font-size: 10rem;}
.c-pageTitle-main span + span { margin-top: -0.1em; }
.c-pageTitle-sub { font-size: 2rem; }
.c-pageTitle .c-pageTitle-box { bottom: -12rem; margin: 0; }

.c-pageTitle-s { padding-bottom: 12rem;}

}






/* index
--------------------------------------------------------------*/


@media print, screen and (min-width: 640px) {
._idx .c-pageTitle-main span { font-size: 8rem;}
}


._idx .kv { position: relative;}
._idx .kv-inner { position: absolute; bottom: 2rem; left: 50%; width: 90%; transform: translate(-50%,0); z-index: 10;}
._idx .kv-catch { color: var(--cl-wh); font-weight: bold; font-size: 4rem; line-height: 1.2; }
._idx .kv-catch + p { margin-top: 0.5rem; color: var(--cl-wh);}
._idx .kv-slider { width: 100%; position: relative; }
._idx .kv-slider-list { position: relative; width: 100%; height: auto; aspect-ratio: 1 / 1; }
._idx .kv-slider-item { position: absolute; top: 0; left: 0; width: 100%; height: 100%; opacity: 0; visibility: hidden; transition: opacity 1.5s ease, visibility 1.5s ease; z-index: 1; }
._idx .kv-slider-item.is-active { opacity: 1; visibility: visible; z-index: 2; }
._idx .kv-slider-item img { width: 100%; height: 100%; object-fit: cover; }

@media print, screen and (min-width: 640px) {
._idx .kv-inner { bottom: 5rem; max-width: 130rem;}
._idx .kv-catch { font-size: 9.2rem; line-height: 1.1; }
._idx .kv-catch + p { margin-top: 0.5rem; font-size: 3.6rem;}
._idx .kv-slider-list { height: 68rem; }
}




._idx .pickup { position: relative;}
._idx .pickup::before { position: absolute; top: -4rem; right: -5rem; content: ""; display: block; width: 20rem; height: 20rem; background: url(/assets/images/recruit/home/pickup_bg.svg) no-repeat center center / contain; z-index: 1;}
._idx .pickup-title { position: relative; z-index: 3;}
._idx .pickup-title + p { margin-top: 1rem; }
._idx .pickup-title-main { position: relative; display: inline-block; width: max-content; padding: 0.5em; font-size: 1.6rem; color: var(--cl-wh); line-height: 1;}
._idx .pickup-title-main::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-txt); z-index: -1; }
._idx .pickup-title-sub { display: block; font-size: 4rem; color: var(--cl-key); line-height: 1; text-shadow: rgb(255, 255, 255) 3px 0px 0px, rgb(255, 255, 255) 2.83487px 0.981584px 0px, rgb(255, 255, 255) 2.35766px 1.85511px 0px, rgb(255, 255, 255) 1.62091px 2.52441px 0px, rgb(255, 255, 255) 0.705713px 2.91581px 0px, rgb(255, 255, 255) -0.287171px 2.98622px 0px, rgb(255, 255, 255) -1.24844px 2.72789px 0px, rgb(255, 255, 255) -2.07227px 2.16926px 0px, rgb(255, 255, 255) -2.66798px 1.37182px 0px, rgb(255, 255, 255) -2.96998px 0.42336px 0px, rgb(255, 255, 255) -2.94502px -0.571704px 0px, rgb(255, 255, 255) -2.59586px -1.50383px 0px, rgb(255, 255, 255) -1.96093px -2.27041px 0px, rgb(255, 255, 255) -1.11013px -2.78704px 0px, rgb(255, 255, 255) -0.137119px -2.99686px 0px, rgb(255, 255, 255) 0.850987px -2.87677px 0px, rgb(255, 255, 255) 1.74541px -2.43999px 0px, rgb(255, 255, 255) 2.44769px -1.73459px 0px, rgb(255, 255, 255) 2.88051px -0.838247px 0px;}

._idx .pickup-list { position: relative; display: grid; gap: 2rem; margin-top: 3rem; z-index: 3; }
._idx .pickup-item { display: block; }
._idx .pickup-item-pic { position: relative; margin:0 1rem;}
._idx .pickup-item-pic img { position: relative; z-index: 2;}
._idx .pickup-item-pic::before { position: absolute; top: 1rem; left: 1rem; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-key); z-index: 1; }
._idx .pickup-item-title { position: relative; margin-top: -1.2rem; z-index: 3;}
._idx .pickup-item-main { }
._idx .pickup-item-main span { position: relative; display: inline-block; width: max-content; padding: 0.2em; font-size: 2.4rem; color: var(--cl-wh); line-height: 1;}
._idx .pickup-item-main span::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-key); z-index: -1; }
._idx .pickup-item-sub { width: max-content; display: flex; align-items: center; gap: 0.5rem; padding: 0.2em 0.5em; background-color: var(--cl-txt); color: var(--cl-wh); font-weight: bold;}
._idx .pickup-item-sub + p { max-width: 53%; margin: -2rem 0 0 auto;}

@media print, screen and (min-width: 640px) {
._idx .pickup { padding: 20rem 0 16rem;}
._idx .pickup::before { top: 16rem; right: -20rem; width: 60rem; height: 60rem;}
._idx .pickup-title + p { max-width: 54rem; margin-top: 3rem; }
._idx .pickup-title-main { font-size: 2.4rem; }
._idx .pickup-title-sub { font-size: 12rem; }
._idx .pickup-list { grid-template-columns: repeat(2,1fr); gap: 6rem; }
._idx .pickup-item-pic { margin: 0 0 0 2rem; transition: 0.3s; }
._idx .pickup-item-pic::before { top: 2rem; left: 2rem; transition: 0.3s; }
._idx .pickup-item-main span { font-size: 4rem; }
._idx .pickup-item-sub { font-size: 2rem; gap: 1rem; }
._idx .pickup-item-sub + p { width: max-content; max-width: 100%;}

._idx .pickup-item:hover { opacity: 1; }
._idx .pickup-item:hover .pickup-item-pic { transform: scale(0.95);  }

}





._idx .infinit-slider { display: flex; }
._idx .infinit-slider-list { display: flex; list-style: none; padding: 0; margin: 0; flex-shrink: 0; min-width: 100%; animation: infinit-loop 60s linear infinite; }
._idx .infinit-slider-item { width: 18rem; flex-shrink: 0; }

@keyframes infinit-loop {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}
@media print, screen and (min-width: 640px) {
._idx .infinit-slider-item { width: 32rem; }

}



._idx .about {}
._idx .menu-box-wrap { display: block; }
._idx .menu-box .c-pageTitle-box + p { margin-top: 2rem;}
._idx .menu-box { }
._idx .menu-box-btn { position: relative; display: inline-block; margin-top: 2rem; padding-right: 4rem; color: var(--cl-key); font-weight: bold; transition: 0.3s;}
._idx .menu-box-btn::before,
._idx .menu-box-btn::after { position: absolute; top: 50%; right: 0; content: ""; display: block; transform: translate(0,-50%); width: 2.2em; height: 2.2em;  }
._idx .menu-box-btn::before { background-color: var(--cl-key); border-radius: 50%;}
._idx .menu-box-btn::after { background: url(/assets/images/recruit/common/ar_right.svg) no-repeat center center / 0.8em;}
._idx .menu-box-pic { overflow: hidden; margin: 3rem calc(((100vw - 100%) / 2) * -1) 0 0;}
._idx .menu-box-pic img { transition: 0.3s;}

@media print, screen and (min-width: 640px) {
._idx .about { padding-top: 16rem !important;}
._idx .menu-box-wrap { display: flex; align-items: flex-start; justify-content: space-between; }
._idx .menu-box { width: 46%; }
._idx .menu-box .c-pageTitle-box + p { margin-top: 3rem;}
._idx .menu-box-pic { margin: 0; width: calc(48% + ((100vw - 100%) / 2)); margin-right: calc(((100vw - 100%) / 2) * -1); max-width: 87rem;}

._idx .menu-box-btn { margin-top: 4rem; padding-right: 6rem; }
._idx .menu-box-btn::before,
._idx .menu-box-btn::after { width: 5rem; height: 5rem;  }
._idx .menu-box-btn::after { background-size: 0.6em;}

._idx .menu-box-wrap:hover { opacity: 1;}
._idx .menu-box-wrap:hover .menu-box-btn,
._idx .menu-box-wrap:hover .menu-box-btn { padding-right: 7rem;}
._idx .menu-box-wrap:hover .menu-box-pic img,
._idx .menu-box-wrap:hover .menu-box-pic img { transform: scale(1.1);}

._idx .works .menu-box-wrap { flex-direction: row-reverse; }
._idx .works .menu-box-pic { margin: 0 0 0 calc(((100vw - 100%) / 2) * -1);}


}



._idx .interview { position: relative;}
._idx .interview .c-pageTitle-box + p { max-width: 64rem; margin-top: 2rem;}
._idx .interview .menu-box-btn { position:  relative; z-index: 10; transition: 0.3s; }
._idx .interview-txtbtn::after { content: ""; display: block; width: 0.8em; height: 0.8em; mask: url(/assets/images/recruit/common/ar_right.svg) no-repeat center center / contain; background-color: var(--cl-key);}
._idx .interview .interview-slider { position: relative; margin-top: 3rem; }
._idx .interview .person-bg { }
._idx .interview .swiper-navigation-icon { display: none; }
._idx .interview .swiper-button-prev,
._idx .interview .swiper-button-next  { left: 1rem; width: 4rem; height: 4rem; background: url(/assets/images/recruit/home/slider_ar.svg) no-repeat center center / contain; }
._idx .interview .swiper-button-next { left: auto; right: 0; transform: scale(-1,1); }

@media print, screen and (min-width: 640px) {
._idx .interview { position: relative;}
._idx .interview > a { display: block;}
._idx .interview > a:hover { opacity: 1;}
._idx .interview > a:hover .menu-box-btn { padding-right: 7rem;}
._idx .interview .c-pageTitle-box + p { margin-top: 3rem;}
._idx .interview .menu-box-btn:hover { opacity: 1; padding-right: 7rem;  }
._idx .interview .interview-slider { position: relative; margin-top: -5rem; padding-top: 12rem;}
._idx .interview .person-bg {  }
._idx .interview .swiper-button-prev,
._idx .interview .swiper-button-next  { left: auto; top: 0; right: 9rem; width: 7rem; height: 7rem; margin-top: 0; }
._idx .interview .swiper-button-next { left: auto; right: 0; transform: scale(-1,1); }


}





._idx .bottom { padding-bottom: 0 !important;}
._idx .bottom-item { position: relative; height: 20rem; display: flex; align-items: center; justify-content: center; text-align: center; overflow: hidden;}
._idx .bottom-item > * { position: relative; z-index: 1;}
._idx .bottom-item::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background: no-repeat center center / cover; object-fit: contain; transition: 0.3s;}
._idx .bottom-item:nth-child(1)::before { background-image: url(/assets/images/recruit/home/bottom_bg01.webp) ;}
._idx .bottom-item:nth-child(2)::before  { background-image: url(/assets/images/recruit/home/bottom_bg02.webp) ;}
._idx .bottom-title-main { font-size: 2.4rem; color: var(--cl-wh);}
._idx .bottom-title-sub { width: max-content; margin: 0.5rem auto 0; padding: 0 0.5em; background-color: var(--cl-wh);}

@media print, screen and (min-width: 640px) {
._idx .bottom { display: flex; margin-top: 0 !important; padding: 15rem 0 0 !important;}
._idx .bottom-item { width: 50%; height: 50rem;}
._idx .bottom-item:hover { opacity: 1;}
._idx .bottom-item:hover::before { transform: scale(1.1);}
._idx .bottom-title-main { font-size: 5rem; }
._idx .bottom-title-sub { font-size: 1.8rem;}

}





/*_about
--------------------------------------------------------------*/


._about .lead { }
._about .lead-box { }
._about .lead-box-title { font-size: 3rem; color: var(--cl-key); }
._about .lead-box-title + p { margin-top: 1rem; }
._about .lead-box-pic { margin-top: 1rem; }


._about .point-wrap { margin-top: 4rem; }
._about .point-wrap .u-title-xl { color: var(--cl-txt);  text-align: center; }
._about .point-box { position: relative; margin-top: 3rem; padding: 3rem 2rem 2rem; background-color: var(--cl-wh); }
._about .point-box-title { position: absolute; top: -2rem; left: 0; width: max-content; padding: 0.5em; background-color: var(--cl-key); color: var(--cl-wh); line-height: 1; }
._about .point-box-pic { margin-top: 2rem; }

@media print, screen and (min-width: 640px) {
._about .lead-box { display: grid; grid-template-columns: repeat(2,1fr); grid-template-rows: 1fr max-content max-content 1fr; align-items: center; gap: 0 3rem; }
._about .lead-box-title { font-size: 6rem; grid-row: 2/3; grid-column: 2/3; }
._about .lead-box-title + p { grid-row: 3/4; grid-column: 2/3; margin-top: 2rem; }
._about .lead-box-pic { grid-row: 1/5; margin-top: 0; }

._about .point-wrap { display: grid; grid-template-columns: repeat(2,1fr); gap: 0 6rem; }
._about .point-wrap .u-title-xl { grid-column: 1/3; }
._about .point-box { margin-top: 9rem; padding: 6rem 6rem 3rem; }
._about .point-box-title { top: -4rem;  }
._about .point-box-txt { min-height: 14rem; }
._about .point-box-pic { margin-top: 3rem;  }

._about .point-box:nth-of-type(1) { grid-column: 1/3; display: grid; grid-template-columns: repeat(2,1fr); gap: 6rem; align-items: center; padding-top: 3rem; }
._about .point-box:nth-of-type(1) .point-box-pic { margin-top: 0; }

}


._about .sec02 { padding-bottom: 0 !important;}
._about .sec02 .detail-box-txt { font-size: 1.6rem;}
._about .sec02 .detail-box-txt span { display: inline-block; margin-right: 0.3em; padding: 0 0.3em; font-weight: bold; color: var(--cl-wh); background-color: var(--cl-key);}

@media print, screen and (min-width: 640px) {
._about .sec02 { padding-top: 16rem !important;}
._about .sec02 .detail-box { width: auto; max-width: none; margin: -3rem 2rem 0;}
._about .sec02 .detail-box-q { font-size: 2.2rem;}
._about .sec02 .detail-box-catch span { font-size: 5rem;}
._about .sec02 .detail-box-txt { margin-top: -4.5rem; font-size: 2rem;}

}



/* interview
--------------------------------------------------------------*/
/* common */
.interview-secTitle { margin-bottom: 1rem; font-weight: bold;}
.interview-secTitle span { display: block; font-size: 2.4rem; color: var(--cl-key); line-height: 1.1;}
@media print, screen and (min-width: 640px) {
.interview-secTitle span { font-size: 4rem; }

}

/* common - slider */
.person-list { }
.person-list-title { margin-bottom: 2rem; font-size: 2rem; color: var(--cl-key); }
.person-bg { position: relative; margin-right: calc(((100vw - 100%) / 2) * -1); padding: 0 0 3rem 3rem; }
.person-bg::before { position: absolute; bottom: 0; left: 0; content: ""; display: block; width: 100%; height: 50%; background-color: var(--cl-key); }
.person-list .person-slider { overflow: hidden; }
.person-list .swiper-wrapper { }
.person-list .swiper-slide { transition: 0.4s;  }
.person-list .swiper-slide:not(.swiper-slide-active) { transform: scale(0.85); transform-origin: 50% 80%; }
.person-list .interview-item-title { color: var(--cl-wh);}
.person-list .interview-item-title::after { display: none;}

.person01 .person-list .swiper-slide:nth-of-type(1) { }

@media print, screen and (min-width: 640px) {
.person-bg { padding: 0 0 4rem 8rem; }
.person-bg::before { height: 80%; }
.person-list .swiper-slide { width: 36rem; }
.person-list-title { margin-bottom: 5rem; font-size: 4rem; }
.person-list .person-item { transition: 0.3s; }
.person-list .person-item-pic { overflow: hidden;}
.person-list .person-item-pic img { transition: 0.3s; }
.person-list .interview-item-title { margin-top: 3rem;}
.person-list .person-item:hover { opacity: 1; }
.person-list .person-item:hover img { transform: scale(1.1); }

}

/* common - crosstalk */
.crosstalk-btn { position: relative; display: block;}
.crosstalk-btn-pic { margin-left: calc(((100vw - 100%) / 2) * -1);}
.crosstalk-btn-title { margin-left: calc(((100vw - 100%) / 2) * -1);}
.crosstalk-btn-title { width: 100%; }
.crosstalk-btn-title .c-pageTitle-sub + p { max-width: 53%; margin: -2rem 0 0 auto; }

@media print, screen and (min-width: 640px) {
.crosstalk.c-secwrap { padding-bottom: 7rem !important;}
.crosstalk-btn-title { position: absolute; bottom: -7rem; right: 0; margin-left: 0;}
.crosstalk-btn-pic { width: max-content; overflow: hidden;}
.crosstalk-btn-pic img { transition: 0.3s;}
.crosstalk-btn:hover { opacity: 1; }
.crosstalk-btn:hover .crosstalk-btn-pic img { transform: scale(1.05);}
.crosstalk-btn-title { width: max-content; }
.crosstalk-btn-title .c-pageTitle-sub + p { width: max-content; max-width: 100%; margin: -2rem 0 0 auto; }

}






/* idx*/
._interview-idx {}
.interview-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 2rem;}
.interview-item { display: block;}
.interview-item-pic { position: relative; transition: 0.3s;}
.interview-item-pic::before { position: absolute; top: 1rem; left: -1rem; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-key); z-index: -1;}
.interview-item-title { position: relative; margin-top: 2rem; font-weight: bold; line-height: 1.4;}
.interview-item-title span { display: block; margin-top: 0.5rem; font-size: 1.3rem; }
.interview-item-title::after { position: absolute; top: -3.5rem; right: 1rem; content: ""; display: block; width: 3rem; height: 3rem; background: url(/assets/images/recruit/common/ar_right.svg) no-repeat center center / 1rem var(--cl-key); border-radius: 50%; transition: 0.3s;}

@media print, screen and (min-width: 640px) {
.interview-list { grid-template-columns: repeat(3,1fr); gap: 6rem;}
.interview-item-pic::before { top: 2rem; left: -2rem; }
.interview-item-pic img { transition: 0.3s;}
.interview-item-title { margin-top: 4rem; font-size: 1.8rem; line-height: 1.6;}
.interview-item-title span { margin-top: 1rem; font-size: 1.6rem; }
.interview-item-title::after { top: 50%; right: 0; transform: translate(0,-50%);  width: 5rem; height: 5rem; }

.interview-item:hover { opacity: 1; }
.interview-item:hover .interview-item-pic { transform: scale(0.95);}
.interview-item:hover .interview-item-title::after { transform: translate(0,-50%) scale(1.1); }

}




/* detail*/
._interview-detail {}
.interview-pageTitle { padding: 4rem 0;}
.interview-pageTitle-main { font-size: 4rem; color: var(--cl-key);}
.interview-pageTitle-sub { font-weight: bold;}
@media print, screen and (min-width: 640px) {
.interview-pageTitle { padding: 8rem 0 10rem;}
.interview-pageTitle-main { font-size: 8rem; }
.interview-pageTitle-sub { margin-top: -1rem; font-size: 2rem;}
}

._interview-detail .kv { position: relative;}
._interview-detail .kv-pic { position: relative; height: 0; padding-bottom: 140%;}
._interview-detail .kv-pic img { position: absolute; top: 0; left: 0; width: 100%; height: 100%; object-fit: cover;}
._interview-detail .kv .kv-catch.u-inner { position: absolute; bottom: 10%; left: 50%; transform: translate(-50%,0);}
._interview-detail .kv-catch-txt { width: max-content; }
._interview-detail .kv-catch-txt span { display: block; width: max-content; padding: 0.3em; background-color: var(--cl-key); color: var(--cl-wh); font-size: 3rem; line-height: 1;}
._interview-detail .kv-catch span + span { margin-top: -0.3em;}
._interview-detail .kv-catch._right .kv-catch-txt { margin: 0 0 0 auto; }

@media print, screen and (min-width: 640px) {
._interview-detail .kv-pic { height: auto; padding-bottom: 0;}
._interview-detail .kv-pic img { position: static; }
._interview-detail .kv .kv-catch.u-inner { bottom: auto; top: 50%; transform: translate(-50%,-50%); }
._interview-detail .kv-catch-txt span { padding: 0.3em; font-size: 6rem; }

}


._interview-detail .info { padding-top: 2rem;}
._interview-detail .info-left { margin-top: 0; text-align: center; }
._interview-detail .info .interview-item-title::after { display: none;}
._interview-detail .info-right { margin-top: 2rem; padding: 2rem; background-color: var(--cl-bggr);}
._interview-detail .info-title { font-weight: bold; text-align: center;}
._interview-detail .info-txt { margin-top: 0.5rem;}

@media print, screen and (min-width: 640px) {
._interview-detail .info { display: grid; grid-template-columns: max-content 1fr; gap: 17rem; padding-top: 10rem;}
._interview-detail .info-left { text-align: left; font-size: 2.2rem; }
._interview-detail .info-left span { margin-top: 2rem; font-size: 2rem; }
._interview-detail .info-right { margin-top: 0; padding: 4rem; }
._interview-detail .info-title {  text-align: left;}

}



.detail-wrap {}
.detail-wrap + .detail-wrap { margin-top: 6rem;}
.detail-pic { position: relative; z-index: 1; margin-left: 2rem;}
.detail-box { position: relative; z-index: 2; margin-top: -2rem; max-width: 54rem; }
.detail-box-q { width: max-content; padding: 0.3em 0.5em; color: var(--cl-wh); font-weight: bold; background-color: var(--cl-bk); }
.detail-box-catch { position: relative; z-index: 3;}
.detail-box-catch span { display: inline-block; width: max-content; padding: 0.2em; background-color: var(--cl-key); color: var(--cl-wh); font-size: 3rem; font-weight: bold; line-height: 1;}
.detail-box-catch span:not(:first-child) { margin-top: -0.2em;}
.detail-box-txt { position: relative; margin-top: -2.5rem; z-index: 2; }
.detail-box-txt p { position: relative; margin-right: 1rem; padding: 4rem 2rem 2rem; background-color: var(--cl-wh); border: var(--cl-key) 2px solid; z-index: 2;}
.detail-box-txt::before { position: absolute; top: 1rem; left: 1rem; content: ""; display: block; width: calc(100% - 1rem); height: 100%; background-color: var(--cl-key); z-index: 1;}

.detail-wrap:nth-child(3) .detail-box { max-width: 57rem; }

@media print, screen and (min-width: 640px) {

.detail-wrap { display: flex; justify-content: space-between;}
.detail-wrap + .detail-wrap { margin-top: 10rem;}
.detail-pic { width: 56.14%; margin: 0 -4.39% 0 0; }
.detail-box { width: 51.49%; min-width: 54rem; margin-top: 8rem; }
.detail-box-catch span { font-size: 3.6rem; }
.detail-box-catch br.u-only-sp + span { margin-left: -0.2em; padding-left: 0; }
.detail-box-txt { margin-top: -2.5rem; z-index: 2; }
.detail-box-txt p { padding: 6rem 4rem 4rem; margin-right: 0; }
.detail-box-txt::before { width: 100%; top: 2rem; left: 2rem; }

.detail-wrap._rev { flex-direction: row-reverse;}
.detail-wrap._rev .detail-pic { margin: 0 0 0 -4.39%;}
.detail-wrap._rev .detail-box { margin-top: 2rem;}

}



._interview-detail .vision { margin-top: 2rem !important; border-top: var(--cl-border) 1px solid;}
._interview-detail .vision-pic { width: 14rem; height: 14rem; margin: 0 auto; border-radius: 50%; overflow: hidden;}
._interview-detail .vision-content { position: relative; margin-top: 2rem;}
._interview-detail .vision-content::before { position: absolute; top: 1rem; left: 0; content: ""; display: block; width: calc(100% - 1rem); height: 100%; background-color: var(--cl-key); z-index: 1;}
._interview-detail .vision-content > * { position: relative; margin-left: 1rem;  padding: 2rem; background-color: var(--cl-wh); border: var(--cl-key) 2px solid; z-index: 2;}
._interview-detail .vision p + .interview-secTitle { margin-top: 3rem; }

@media print, screen and (min-width: 640px) {
._interview-detail .vision { display: grid; grid-template-columns: max-content 1fr; gap: 6rem; padding-top: 7rem; }
._interview-detail .vision-pic { width: 24rem; height: 24rem}
._interview-detail .vision-content { margin-top: 0;}
._interview-detail .vision-content::before { top: 1rem; left: -1rem; }
._interview-detail .vision-content > * { margin-left: 0; padding: 6rem; }
._interview-detail .vision p + .interview-secTitle { margin-top: 4rem; }
}




._interview-detail .schedule { position: relative; padding-top: 0; background-color: var(--cl-bggr);}
._interview-detail .schedule::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 7.5rem; background-color: var(--cl-wh); z-index: 1;}
._interview-detail .schedule-pic { position: relative; z-index: 2; margin-left: calc(((100vw - 100%) / 2) * -1);}
._interview-detail .schedule-wrap { margin-top: 2rem;}
._interview-detail .schedule-item { display: grid; grid-template-columns: max-content 1fr; align-items: baseline; }
._interview-detail .schedule-item dt { width: max-content; padding: 0.2em 1em; color: var(--cl-key); background-color: var(--cl-wh); border-radius: 5rem; }
._interview-detail .schedule-item dd { position: relative; margin-left: 2rem; padding: 0 0 2rem 2rem; }
._interview-detail .schedule-item dd::before { position: absolute; top: 0.5rem; left: 0; content: "";  display: block; width: 1px; height: 105%; background-color: var(--cl-key);}
._interview-detail .schedule-item dd::after { position: absolute; top: 0.5rem; left: -0.35em; content: "";  display: block; width: 1rem; height: 1rem; background-color: var(--cl-key); border-radius: 50%;}
._interview-detail .schedule-item dd span { display: block; font-weight: bold; }
._interview-detail .schedule-item dd:last-of-type { padding-bottom: 0;}
._interview-detail .schedule-item dd:last-of-type:before { display: none;}

._interview-detail .schedule-off { position: relative; margin-top: 3rem; }
._interview-detail .schedule-off::before { position: absolute; top: 1rem; left: 0; content: ""; display: block; width: calc(100% - 1rem); height: 100%; background-color: var(--cl-key); z-index: 1;}
._interview-detail .schedule-off > * { position: relative; margin-left: 1rem;  padding: 2rem; background-color: var(--cl-wh); border: var(--cl-key) 2px solid; z-index: 2;}
._interview-detail .schedule-off .interview-secTitle { text-align: center;}
._interview-detail .schedule-off-pic { width: 18rem; margin: 2rem auto 0; border-radius: 50%; overflow: hidden; aspect-ratio: 1 / 1; }

@media print, screen and (min-width: 640px) {
._interview-detail .schedule::before { height: 25rem; }
._interview-detail .schedule-wrap { display: grid; grid-template-columns: max-content 1fr; gap: 10rem; margin-top: 10rem;}
._interview-detail .schedule-item dt { width: 10rem; height: 4rem; display: grid; justify-content: center; align-items: center; padding: 0; font-size: 1.8rem; }
._interview-detail .schedule-item dd { margin-left: 4rem; padding: 0 0 4rem 4rem; }
._interview-detail .schedule-item dd::before { top: 0.8rem;}
._interview-detail .schedule-item dd::after { top: 0.8rem; left: -0.25em; }

._interview-detail .schedule-off { margin-top: 10rem; }
._interview-detail .schedule-off > * { display: grid; grid-template-columns: repeat(2,1fr); grid-template-rows: max-content 1fr; gap: 4rem; padding: 5rem; }
._interview-detail .schedule-off .interview-secTitle { text-align: left;}
._interview-detail .schedule-off .interview-secTitle + p { max-width: 32.5rem;}
._interview-detail .schedule-off-pic { grid-row: 1/3; grid-column: 2/3; width: 100%;}
._interview-detail .schedule-off-pic { max-width: 30rem; margin: 0; }

}


/* crosstalk */
._interview-crosstalk {}
._interview-crosstalk .member-title { margin-bottom: 2rem; font-size: 1.8rem; color: var(--cl-key); text-align: center;}
._interview-crosstalk .member-list { display: grid; grid-template-columns: repeat(2,1fr); gap: 2rem;}
._interview-crosstalk .member-item {}
._interview-crosstalk .member-item-pic {}
._interview-crosstalk .member-item-title { margin-top: 1rem;}
._interview-crosstalk .member-item-title span {}
._interview-crosstalk .member-item-title::after { display: none;}

@media print, screen and (min-width: 640px) {
._interview-crosstalk .member-title { margin-bottom: 3rem; font-size: 3rem; text-align: left;}
._interview-crosstalk .member-list { grid-template-columns: repeat(4,1fr); gap: 6rem;}
._interview-crosstalk .member-item-title { margin-top: 2rem; font-size: 2.2rem;}
._interview-crosstalk .member-item-title span { font-size: 2rem;}

}

._interview-crosstalk .talk { }
._interview-crosstalk .talk-wrap { position: relative;}
._interview-crosstalk .talk-wrap + .talk-wrap { margin-top: 6rem;}
._interview-crosstalk .talk-pic { margin-top: -2rem;}
._interview-crosstalk .talk-theme {}
._interview-crosstalk .talk-list { margin-top: 3rem;}
._interview-crosstalk .talk-item {}
._interview-crosstalk .talk-item + .talk-item { margin-top: 3rem;}
._interview-crosstalk .talk-item-pic { position: relative; width: 6rem; height: 6rem; border-radius: 50%; overflow: hidden; z-index: 3;}
._interview-crosstalk .talk-item-balloon { position: relative; margin-top: -1rem; max-width: 72rem;}
._interview-crosstalk .talk-item-balloon::before { position: absolute; top: 1rem; left: 1rem; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-key); z-index: 1;}
._interview-crosstalk .talk-item-balloon::after { position: absolute; bottom: 99.2%; left: 7rem; content: ""; display: block; width: 1.4em; height: 1.4em; background: url(/assets/images/recruit/interview/crosstalk/ar_balloon.svg) no-repeat center center / contain; z-index: 4;}
._interview-crosstalk .talk-item-balloon > p { position: relative; padding: 2rem; background-color: var(--cl-wh); border: var(--cl-key) 2px solid; z-index: 2;}

._interview-crosstalk .talk-item._rev {}
._interview-crosstalk .talk-item._rev .talk-item-pic { margin: 0 0 0 auto;}
._interview-crosstalk .talk-item._rev .talk-item-balloon { margin: -1rem 0 0 auto;}
._interview-crosstalk .talk-item._rev .talk-item-balloon::before { left: -1rem; }
._interview-crosstalk .talk-item._rev .talk-item-balloon::after { left: auto; right: 7rem; transform: scale(-1, 1);}

@media print, screen and (min-width: 640px) {
._interview-crosstalk .talk-wrap + .talk-wrap { margin-top: 14rem;}
._interview-crosstalk .talk-pic { position: absolute; top: 0; right: 0; margin: 0;}
._interview-crosstalk .talk-theme { padding-top: 14rem;}
._interview-crosstalk .detail-box-q { font-size: 2.2rem;}
._interview-crosstalk .detail-box-catch span { font-size: 5rem;}

._interview-crosstalk .talk-list { margin-top: 4rem;}
._interview-crosstalk .talk-item + .talk-item { margin-top: 4rem;}
._interview-crosstalk .talk-item-pic { width: 10rem; height: 10rem; }
._interview-crosstalk .talk-item-balloon { margin-top: -3rem;}
._interview-crosstalk .talk-item-balloon::after { bottom: 98.8%; left: 12rem; content: ""; width: 2.8rem; height: 2.8rem; }
._interview-crosstalk .talk-item-balloon > p { padding: 3.5rem; }

._interview-crosstalk .talk-item._rev .talk-item-balloon { margin: -3rem 0 0 auto;}
._interview-crosstalk .talk-item._rev .talk-item-balloon::after { right: 12rem;}


}

._interview-crosstalk .message { }
._interview-crosstalk .message-pic { max-width: 94rem; margin: -2rem 0 2rem auto;}
._interview-crosstalk .message-item { position: relative; max-width: 93rem;}
._interview-crosstalk .message-item + .message-item  { margin: 3rem 0 0 auto; }
._interview-crosstalk .message-item::before { position: absolute; top: 1rem; left: 1rem; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-key); z-index: 1;}
._interview-crosstalk .message-item > p { position: relative; padding: 3rem; background-color: var(--cl-wh); border: var(--cl-key) 2px solid; z-index: 2;}

@media print, screen and (min-width: 640px) {
._interview-crosstalk .message { }
._interview-crosstalk .message .talk-theme { max-width: 94rem; margin: 0 0 0 auto; }
._interview-crosstalk .message-pic { margin: -2rem 0 -10rem auto;}
._interview-crosstalk .message-item + .message-item  { margin-top: 6rem; }
._interview-crosstalk .message-item > p { padding: 6rem; font-size: 1.8rem;}

}





/* guideline
--------------------------------------------------------------*/
._guideline-idx .foot-guideline,
._guideline-detail .foot-guideline { display: none;}

._guideline-detail {}
._guideline-detail .guideline-wrap { margin-top: 2rem; padding: 3rem 2rem; background-color: var(--cl-wh);}
._guideline-detail .c-list { max-width: 74rem; margin: 0 auto;}
._guideline-detail .guideline-btn { max-width: 54rem; margin-top: 2rem; }

@media print, screen and (min-width: 640px) {
._guideline-detail .guideline-wrap { margin-top: 4rem; padding: 8rem 6rem 12rem; }
._guideline-detail .guideline-btn { margin-top: 6rem; }
._guideline-detail .guideline-btn a { padding: 3.4rem 1.5rem; font-size: 2rem; }

}






/* environment
--------------------------------------------------------------*/
._environment {}
._environment .environment-title { margin-bottom: 2rem;}
._environment .environment-list { display: grid; gap: 2rem; margin-top: 2rem;}
._environment .environment-item {}
._environment .environment-item-pic {}
._environment .environment-item-title { margin: 1rem 0;}

._environment .benefit-wrap { margin-top: 2rem;}
._environment .benefit-wrap + .benefit-wrap { margin-top: 4rem;}
._environment .benefit-title {}
._environment .benefit-box { margin-top: 1rem;}
._environment .benefit-list { display: grid; gap: 3rem;}
._environment .benefit-item { position: relative; display: grid; grid-template-columns: 1fr 2fr; grid-template-rows: max-content max-content 1fr; gap: 1rem 2rem; margin-right: 1rem; padding: 2rem; background-color: var(--cl-wh); border: var(--cl-key) 1px solid;}
._environment .benefit-item::before { position: absolute; top: 1rem; left: 1rem; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-key); z-index: -1; }
._environment .benefit-item-title {  }
._environment .benefit-item-title + p { grid-column: 2/3;  }
._environment .benefit-item-pic { grid-row: 1/4; border-radius: 50%; overflow: hidden; aspect-ratio: 1/1; }

@media print, screen and (min-width: 640px) {
._environment .environment-title { margin-bottom: 3rem;}
._environment .environment-list { grid-template-columns: repeat(3,1fr); gap: 4rem; margin-top: 4rem;}
._environment .environment-item-title { margin: 2rem 0 1rem; text-align: center; line-height: 1.4;}

._environment .benefit-wrap { margin-top: 4rem;}
._environment .benefit-wrap + .benefit-wrap { margin-top: 10rem;}
._environment .benefit-list { grid-template-columns: repeat(2,1fr); gap: 4rem;}
._environment .benefit-box { margin-top: 2rem;}
._environment .benefit-item { grid-template-columns: 15rem 1fr; gap: 1rem 4rem; align-items: center; padding: 3rem; }
._environment .benefit-item-pic {  }

}







/* works
--------------------------------------------------------------*/

._works {}
._works .pagenav { }
._works .pagenav-list { display: flex; flex-wrap: wrap; }
._works .pagenav-item { width: 50%; border-bottom: var(--cl-border) 1px solid; }
._works .pagenav-item:nth-child(odd) {  border-right: var(--cl-border) 1px solid; }
._works .pagenav-link { display: grid; grid-template-columns: 1fr max-content; gap: 0.5rem; align-items: center; padding: 2rem; }
._works .pagenav-link::after { content: ""; display: block; width: 1.2em; height: 1.2em; background: url(/assets/images/recruit/common/ar_right.svg) no-repeat center center / 0.5em var(--cl-key); border-radius: 50%; transform: rotate(90deg); }

@media print, screen and (min-width: 640px) {
._works .pagenav { margin: 12rem 0 6rem; }
._works .pagenav-list { flex-wrap: nowrap; justify-content: center; }
._works .pagenav-item { width: auto; border-bottom: none; }
._works .pagenav-item:nth-child(odd) { border-right: none }
._works .pagenav-link { gap: 1rem; margin: 0 3rem; padding: 0; }

}

._works .works-wrap { padding: 0 0 6rem;}
._works .works-wrap:last-child { padding: 0;}
._works .works-wrap .c-boxwrap { padding: 0 0 3rem; }
._works .works-wrap .c-boxwrap + .c-boxwrap { margin-top: -3rem; padding: 3rem 0; }
._works .works-wrap .occupation-main { position: relative; margin: 0 0 3rem; padding: 4rem 2rem;}
._works .works-wrap .occupation-main::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-bggr); z-index: 1;}
._works .works-wrap .occupation-main > * { position: relative; z-index: 2;}
._works .works-wrap .occupation-info {}
._works .works-wrap .occupation-title { margin-bottom: 1rem;}
._works .works-wrap .occupation-lead {}
._works .works-wrap .occupation-sub-block { margin-top: 2rem;}
._works .works-wrap .occupation-work-list { position: relative; margin-top: 1rem;}
._works .works-wrap .occupation-work-list::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 6px; height: 100%; background-color: var(--cl-key);}
._works .works-wrap .occupation-work-list li { padding-left: 1.5rem; font-weight: bold; color: var(--cl-key);}
._works .works-wrap .occupation-work-list li + li { margin-top: 0.5rem;}
._works .works-wrap .occupation-work-list li span { display: grid; align-items: baseline; grid-template-columns: max-content 1fr; gap: 0.5rem; color: var(--cl-txt); }
._works .works-wrap .occupation-work-list li span::before { content: "◯"; font-size: 1.2rem;}
._works .works-wrap .occupation-pic { position: relative; max-width: 77rem; margin: 2rem calc(((100vw - 100%) / 2) * -1) 0 0;}
._works .works-wrap .occupation-pic img { position: relative; z-index: 2;}
._works .works-wrap .occupation-pic::before { position: absolute; top: 0; left: 0; content: ""; display: block; width: 100%; height: 100%; background-color: var(--cl-key); top: 1rem; left: -1rem; z-index: 1; }
._works .works-wrap .occupation-details { display: grid; gap: 2rem; }
._works .works-wrap .occupation-detail-box {}
._works .works-wrap .occupation-skill-list { margin-top: 1rem; padding: 2rem; background-color: var(--cl-bggr);}
._works .works-wrap .occupation-skill-list dt { color: var(--cl-key); font-weight: bold;}
._works .works-wrap .occupation-skill-list dd {}
._works .works-wrap .occupation-text { position: relative; margin-top: 1rem; padding: 3.5rem; background-color: var(--cl-bggr); font-weight: bold;}
._works .works-wrap .occupation-text::before,
._works .works-wrap .occupation-text::after { position: absolute; top: 1rem; left: 1rem; content: ""; display: block; width: 2rem; height: 2rem; background: url(/assets/images/recruit/works/ico_quotation.svg) no-repeat center center / contain;}
._works .works-wrap .occupation-text::after { top: auto; left: auto; bottom: 1rem; right: 1rem; transform: rotate(180deg); }

._works .works-wrap .occupation-person-title { display: flex; align-items: center; gap: 1rem; margin-bottom: 1rem; }
._works .works-wrap .occupation-person-title::after { flex-grow: 1; content: ""; display: block; height: 1px; background-color: var(--cl-border); }
._works .works-wrap .interview-item-pic::before { display: none;}



@media print, screen and (min-width: 640px) {
._works .works-wrap { padding: 0 0 12rem;}
._works .works-wrap .c-boxwrap { padding: 0 0 6rem; }
._works .works-wrap .c-boxwrap + .c-boxwrap { margin-top: -6rem; padding: 6rem 0; }
._works .works-wrap .occupation-main { margin: 0 0 6rem 0; padding: 8rem 0; }
._works .works-wrap .occupation-main-inner { max-width: 122rem; display: flex; justify-content: space-between; align-items: flex-start; margin: 0 auto; padding: 0 4rem;}
._works .works-wrap .occupation-info { width: 46%;}
._works .works-wrap .occupation-sub-block { margin-top: 8rem;}
._works .works-wrap .occupation-pic { margin: 0; width: calc(48% + ((100vw - 100%) / 2)); margin-right: calc(((100vw - 100%) / 2) * -1); }
._works .works-wrap .occupation-pic::before { top: 2rem; left: -2rem; }
._works .works-wrap .occupation-details { grid-template-columns: repeat(2,1fr); gap: 6rem; }
._works .works-wrap .occupation-skill-list { margin-top: 1.6rem; }
._works .works-wrap .occupation-skill-list dt { font-size: 2rem;}
._works .works-wrap .occupation-text { margin-top: 1.6rem; padding: 5rem; font-size: 2rem; }
._works .works-wrap .occupation-text::before,
._works .works-wrap .occupation-text::after { top: 2rem; left: 2rem; width: 3rem; height: 3rem; }
._works .works-wrap .occupation-text::after { top: auto; left: auto; bottom: 2rem; right: 2rem; }

._works .works-wrap .occupation-person-title { gap: 1rem; margin-bottom: 3rem; }
._works .works-wrap .interview-list { grid-template-columns: repeat(4,1fr); }


._works .works-wrap:nth-child(2n) { }
._works .works-wrap:nth-child(2n) .occupation-main-inner { flex-direction: row-reverse;}
._works .works-wrap:nth-child(2n) .occupation-pic { width: calc(48% + ((100vw - 100%) / 2)); margin: 0 0 0 calc(((100vw - 100%) / 2) * -1); }
._works .works-wrap:nth-child(2n) .occupation-pic img { width: calc(100% - 2rem); margin: 0 0 0 auto; }


}




/* data
--------------------------------------------------------------*/

._data {}
.data-list { display: flex; flex-direction: column; gap: 2rem; padding-bottom: 0 !important;}
.data-item { padding: 2rem; background-color: var(--cl-bggr);}
.data-item-title { padding-bottom: 1rem; color: var(--cl-key); text-align: center; border-bottom: var(--cl-key) 2px solid;}

@media print, screen and (min-width: 640px) {
.data-list { flex-direction: row; flex-wrap: wrap; gap: 6rem; }
.data-item { padding: 5rem; }
.data-item-title { padding-bottom: 2rem; }
.data-item { width: calc(50% - 3rem); }
.data-item:nth-child(3),
.data-item:nth-child(4) { width: 100%; }
}

.data-item-detail { position: relative;}
.data-item-detail._num { margin-top: 2rem;}
.data-item-main { font-size: 2rem; font-weight: bold; text-align: center; color: var(--cl-key); line-height: 1;}
.data-item-main span { font-size: 6rem; }
.data-item-sub { font-size: 1.6rem; font-weight: bold; color: var(--cl-key); text-align: center;}
.data-item-pic { max-width: 8rem; margin: 2rem auto 0;}

.data-item:nth-child(4) img { width: 100%;}
.data-item-detail._circle { max-width: 42rem; margin: 2rem auto 0;}
.data-item-balloon { position: absolute; top: 2rem; left: 0; max-width: 12rem;}

@media print, screen and (min-width: 640px) {
.data-item-main { font-size: 4rem; }
.data-item-main span { font-size: 12rem; }
.data-item-sub { font-size: 2.4rem; }

.data-item:nth-child(6) .data-item-main,
.data-item:nth-child(7) .data-item-main,
.data-item:nth-child(8) .data-item-main { font-size: 2.4rem;}
.data-item:nth-child(6) .data-item-main span,
.data-item:nth-child(7) .data-item-main span,
.data-item:nth-child(8) .data-item-main span { font-size: 8rem;}


.data-item-detail._circle { margin-top: 3rem;}
.data-item-balloon { top: 4rem; max-width: 24rem;}

}



.bar-chart-container { padding-bottom: 2rem;}
.bar-chart-inner { display: flex; justify-content: space-between; align-items: flex-end; height: 30rem; padding: 2rem 0 0; }
.bar-item { flex: 1; display: flex; flex-direction: column; justify-content: flex-end; align-items: center; height: 100%; position: relative; }
.bar-graph-wrapper { display: flex; flex-direction: column; align-items: center; justify-content: flex-end; width: 100%; }
.bar-value { font-size: 1.4rem; font-weight: bold; color: var(--cl-key); margin-bottom: 1rem; white-space: nowrap; }
.bar-fill { width: 4rem; height: 100%; background-color: var(--cl-key); height: 0; transition: height 1.5s cubic-bezier(0.65, 0, 0.35, 1);}
.bar-label { position: absolute; bottom: -3rem; font-size: 1.1rem; white-space: nowrap; color: var(--cl-key); }

.bar-chart-container.is-animated .bar-fill { height: 100%; }
@media screen and (min-width: 768px) {
.bar-chart-container { padding-bottom: 5rem;}
.bar-chart-inner { height: 60rem; }
.bar-value { font-size: 2.4rem; }
.bar-fill { width: 12rem; }
.bar-label { bottom: -5rem; font-size: 2.4rem; }

.bar-item:nth-child(1) .bar-fill,
.bar-item:nth-child(2) .bar-fill { background-color: #BFD1C8; }
.bar-item:nth-child(3) .bar-fill { background-color: #80A291; }
.bar-item:nth-child(4) .bar-fill { background-color: #80A291; }
.bar-item:nth-child(5) .bar-value { font-size: 3.6rem;}

}




.js-numcount { opacity: 0; transition: opacity 0.3s ease; }
.is-animated .js-numcount { opacity: 1; }



._requirements {}
._requirements .foot-guideline { display: none !important;}





/* entry
--------------------------------------------------------------*/

.page-entry {}
.page-entry .foot-guideline { display: none !important;}
.page-entry .formWrap-input input,
.page-entry .formWrap-input textarea { background-color: var(--cl-wh);}





/*----------------------------------------------------------------------------------------------------------------------------

Print Force PC Layout (Chrome Priority Fix)

----------------------------------------------------------------------------------------------------------------------------*/

@media print {
    /* 1. 用紙設定と縮小率の適正化 */
    @page {
        size: A4 portrait; /* A4縦 */
        margin: 5mm;       /* 余白5mm */
    }

    html {
        width: 1280px !important;
        font-size: 10px !important; /* PCデザインの基準(10px)に固定 */
    }

    body {
        width: 1280px !important;
        min-width: 1280px !important;
        /* 1280pxをA4幅(約794px)に余白込みで収めるため 0.52倍 に設定 */
        /* 0.6だと大きすぎてはみ出し、レイアウト崩れの原因になります */
        zoom: 0.52;
        overflow: visible !important;
    }

    /* 2. メインコンテンツの幅崩れ防止（ここが重要） */
    .main,
    .u-wrapsect {
        width: 100% !important;
        min-width: 100% !important;
        box-sizing: border-box !important;
    }

    /* インナー幅を1120pxに強制固定して、Gridが潰れるのを防ぐ */
    /* 元のCSSの90%指定を上書きします */
    .u-inner {
        width: 1120px !important;
        max-width: 1120px !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    /* Gridコンテナの幅確保 */
    .c-grid,
    [class*="grid-"],
    .page-home .aboutus,
    .page-home .job,
    .page-home .person,
    .page-home .environment {
        width: 100% !important;
        display: grid !important; /* Grid解除を防ぐ */
        box-sizing: border-box !important;
    }

    /* 3. トップ画像の高さ固定 */
    .page-home .kv {
        height: 600px !important;
        min-height: 600px !important;
        padding-top: 14rem !important;
        background-size: cover !important;
        background-position: center top !important;
        margin-top: 0 !important;
    }
    .page-home .kv-box {
        padding-top: 12rem !important;
    }

    /* 4. ヘッダーの固定 */
    .header {
        position: absolute !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        background-color: #fff !important;
        padding: 0 3rem !important;
    }
    .header-logo {
        width: 23.29% !important;
        max-width: 35rem !important;
    }

    /* 5. 不要なSP要素の非表示とPC要素の表示 */
    .u-only-sp, .spitem, .spitem-btn, .spmenu, .spmenu-bg {
        display: none !important;
    }
    .u-only-pc, .header-nav {
        display: block !important;
    }
    .header-nav-gnav {
        display: flex !important;
    }

    /* 6. 表示強制 */
    [class*="iv-"], .iv-fade, .iv-up_fade {
        opacity: 1 !important;
        transform: none !important;
        visibility: visible !important;
    }

    /* 7. 色の強制出力 */
    * {
        -webkit-print-color-adjust: exact !important;
        print-color-adjust: exact !important;
    }
}