@import url("../../common.css");
:root {
    --bg-color-black: #0c0c0c;
    --bg-color-gray: #f7f7f7;
    --bg-color-white: #fff;
    --text-color-black: #0c0c0c;
    --text-color-gray: #8e8e8e;
    --text-color-red: #da1c1c;
    --bg-text-color-wht: #eee;
    --bg-text-color-black: #1a1a1a;
    --text-color-white: #fff;
    --box-shadow: 4px 4px;
    --border-solid: 2px solid var(--text-color-black);
    --border-radius: 1rem;
    --color-arata: #1d2088;
}

/* ============================================
   COMMON PARTS
   ============================================ */
.dib { display: inline-block;}
.db { display: block;}
.fs12 {font-size: 1.2rem; line-height: 1.2;}
.fs13 {font-size: 1.3rem; line-height: 1.2;}
.fs14 {font-size: 1.4rem; line-height: 1.2;}
.fs16 {font-size: 1.6rem; line-height: 1.3;}
.fs18 { font-size: clamp(1.6rem, 1.8rem + 0.5vw, 2rem); line-height: 1.3;}
.fs2 {  font-size: 2rem; line-height: 1.8;}
.fs28 {font-size: clamp(2.4rem, 1.8rem + 0.8vw, 2.8rem);line-height: 1.4;}
.fs46 { font-size: clamp(3.6rem, 2.8rem + 1vw, 4.6rem);}
.fs64 {font-size: clamp(3.2rem, 2.7rem + 1.2vw, 6.4rem);}
.fwb { font-weight: bold;}
.mb1 {  margin-bottom: 1.6rem;line-height: 1.8;}
.mb2 {  margin-bottom: 2rem;}
.mb3 {  margin-bottom: 3rem;}
.mb4 {  margin-bottom: 4rem;}
.mb5 {  margin-bottom: 5rem;}
.tac { text-align: center;}
.border-r{border-radius: var(--border-radius);}

/*flex*/
.flex {display: flex;}
.inline-flex { display: inline-flex;}

/* direction */
.flex_row { flex-direction: row;}
.flex_row-reverse { flex-direction: row-reverse;}
.flex_col {flex-direction: column;}

/* wrap */
.flex_wrap { flex-wrap: wrap;}

/* justify-content */
.justify_start { justify-content: flex-start;}
.justify_center { justify-content: center;}
.justify_end {justify-content: flex-end;}
.justify_between {justify-content: space-between;}
.justify_around {justify-content: space-around;}
.justify_evenly { justify-content: space-evenly;}

/* align-items */
.items_start {align-items: flex-start;}
.items_center { align-items: center;}
.items_end {align-items: flex-end;}
.items_stretch {align-items: stretch;}
.items_baseline {align-items: baseline;}

/* 2カラム */
.flexcol2>* {flex: 0 0 calc((100% - var(--gap, 20px)) / 2);}
.flexcol3>* { flex: 0 0 calc((100% - (var(--gap, 20px) * 2)) / 3);}

/* gap */
.gap10 {gap: 10px;--gap: 10px;}
.gap20 { gap: 20px; --gap: 20px;}
.gap30 { gap: 30px;  --gap: 30px;}
.gap40 { gap: 40px;   --gap: 40px;}

/*色*/
.bg_white { background-color: var(--bg-color-white);}
.c_red{color: var(--text-color-red);}
.c_gray{color: var(--text-color-gray);}
.c_white{color: var(--text-color-white);}

.bg_black { background-color: var(--bg-color-black);color:var(--bg-color-white);    padding: 5px 5px 10px;}

/*ボタン*/
.red_btn>*{
    display:inline-block;
    font-size: 1.6rem;
    background-color: var(--text-color-red);
    color: var(--text-color-white);
    padding: 1.8rem 4rem 2rem;
    border-radius: 8rem;
    cursor: pointer;
    letter-spacing: .1rem;
    border: 2px solid transparent;
    transition: .3s;
}
.red_btn>*:hover{
    border-color:var(--text-color-red);
    background-color: var(--text-color-white);
    color: var(--text-color-red);
}

.quote {
    display: inline-flex;
    column-gap: 10px;
}

.quote::before,
.quote::after {
    content: "“";
    line-height: 1;
    color: inherit;
    font-family: Georgia, serif;
    font-weight: bold;
}
.quote::after { content: "”";}
.border_box{
    padding: 1rem 1.5rem;
    border: var(--border-solid);  
    background-color: var(--bg-color-white); 
}
.shadow_box {
    padding: 1rem 1.5rem;
    border: var(--border-solid);
    box-shadow: var(--box-shadow);
}

.slick-list:focus { outline: 0 !important}

.cross-icon:before {
    content: "";
    position: absolute;
    top: 25px;
    right: 10px;
    width: 10px;
    aspect-ratio: 1;
    background: var(--text-color-white);
    clip-path: polygon(40% 0%, 60% 0%, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0% 60%, 0% 40%, 40% 40%);
}

.cross-icon.close:before {transform: rotate(45deg);}

.fade_y {
    transform: translateY(30px);
    opacity: 0;
    transition: .3s ease-out;
    will-change: transform
}

.fade_y.on {
    opacity: 1;
    transform: translateY(0)
}

.fade_x_left {
    transform: translateX(-30px);
    opacity: 0;
    transition: .3s ease-out;
    will-change: transform
}

.fade_x_left.on {
    opacity: 1;
    transform: translateX(0)
}

.fade_x_right {
    transform: translateX(30px);
    opacity: 0;
    transition: .3s ease-out;
    will-change: transform
}

.fade_x_right.on {
    opacity: 1;
    transform: translateX(0)
}

@media screen and (min-width:897px) {
    
    .flex.col_pc3_sp2{gap:var(--pc-gap);    }
    .flex.col_pc3_sp2>*{width: calc((100% - (var(--pc-gap) * 2)) / 3); }
}

@media screen and (max-width:896px) {
    
    .flex.col_pc3_sp2{ gap:var(--sp-gap);    }
    .flex.col_pc3_sp2>*{width: calc((100% - (var(--sp-gap) * 2)) / 2); }
}

.baselink {
    display: inline-block;
    padding: 18px 36px;
    background-color: var(--text-color-red);
    border: 1px solid var(--text-color-red);
    border-radius: 25px;
    font-size: 1.4rem;
    font-weight: 500;
    letter-spacing: .1em;
    color: #fff
}

@media screen and (min-width:897px) {
    .baselink:hover {
        background-color: #fff;
        color: var(--text-color-red)
    }
    .baselink:hover .txt {
        background-image: url(../../../img/common/icon_arrow_link_red.png)
    }
}

.baselink .txt {
    padding-right: 34px;
    background-image: url(../../../img/common/icon_arrow_link.png);
    background-repeat: no-repeat;
    background-position: right center;
    background-size: 24px
}

@keyframes fluidrotate {
    0%,
    100% {border-radius: 63% 37% 54% 46%/55% 48% 52% 45% }
    14% {border-radius: 40% 60% 54% 46%/49% 60% 40% 51%}
    28% { border-radius: 54% 46% 38% 62%/49% 70% 30% 51%}
    42% {border-radius: 61% 39% 55% 45%/61% 38% 62% 39%}
    56% {border-radius: 61% 39% 67% 33%/70% 50% 50% 30%}
    70% {border-radius: 50% 50% 34% 66%/56% 68% 32% 44%}
    84% {border-radius: 46% 54% 50% 50%/35% 61% 39% 65%}
}

@media screen and (max-width:896px) {
    #stage {
        overflow-x: hidden
    }
}


@media screen and (max-width:896px) {
}


/* ============================================
   section共通
   ============================================ */

section[class^="recruit__"] h2.border_b_ttl {
    margin-bottom: 5rem;
}

.border_b_ttl .en {
    font-size: clamp(3.2rem, 2.4rem + 1vw, 4.2rem);
    font-weight: 700;
    display: block;
    position: relative;
    margin-bottom: 2rem;
}

.border_b_ttl .en:after {
    content: "";
    display: block;
    width: 60px;
    height: 1px;
    background-color: var(--bg-color-black);
    position: absolute;
    bottom: -0.8rem;
    left: 50%;
    transform: translateX(-50%);
}

.border_b_ttl .jp {
    font-size: clamp(1.2rem, 1rem + 0.6vw, 1.8rem);
    font-weight: 700;
    display: block;
    line-height: 1.6;
}
.border_l_ttl{
    border-left:1px solid  var(--bg-color-black);
    padding: .2rem .2rem .2rem 1.5rem;
}
.border_l_ttl >span{display: block;}
.border_l_ttl .en {font-size: clamp(1.2rem, 1rem + 0.6vw, 1.8rem);}
.border_l_ttl .jp {
    font-size: clamp(1rem, 1rem + 0.6vw, 1.4rem);
    font-weight: 700;
}
@media screen and (min-width:897px) {
    section[class^="recruit__"]:not(.w100){
        padding: 100px 6%;
    }
    section.w100 .sec_inner{
        padding: 100px 6%;
    }

    .wrap_inner {
        max-width: calc(1660px + 12%);
        margin-left: auto;
        margin-right: auto;
    }
    .wrap_inner_short {
        max-width: 1400px;
        margin-left: auto;
        margin-right: auto;
    }
}

@media screen and (max-width:896px) {
    section[class^="recruit__"]:not(.w100){
        padding: 60px 5%;
    }
    section.w100 .sec_inner{
        padding: 60px 5%;
    }
}
/* ============================================
   サイドバー
   ============================================ */

.recruit__wrapper-sidenav{  

  width: 240px;
  display: flex;
  justify-content: center;
  border-left: 1px solid #e0e0e0;
  align-items: center;
   
}
.recruit__wrapper-sidenav>div{
    width: 100%;
    padding: 1rem 3rem;
}
.recruit__wrapper-sidenav .txtlink:before{
    content:attr(data-num);
    position:absolute;
    top:50%;
    left:0;
    transform:translateY(-50%);
    font-size:1.2rem;
    font-family:Montserrat;
    font-weight:900;
    letter-spacing:.1em;
    color:#b2b2b2
}
.recruit__wrapper-sidenav li:not(.recruit__wrapper-sidenavli:first-child){
    margin-top:30px
}
.recruit__wrapper-sidenav .txtlink{
    display:block;
    position:relative;
    padding-left:24px;
    background-image:url(../../../img/common/icon_circle_red_arrow.png);
    background-size:14px;
    background-position:right center;
    background-repeat:no-repeat;
    font-size:1.4rem;
    font-weight:900;
    line-height:1.2;
    letter-spacing:.05em;
}
.recruit__wrapper-sidenav .entrybtn {
    display: block;
    width: 120px;
    height: 120px;
    margin: 40px auto 0;
    border-radius: 50%;
    line-height: 120px;
    background-color: var(--text-color-red);
    border: 1px solid var(--text-color-red);
    font-size: 1.6rem;
    text-align: center;
    color: #fff;
    position: relative;
    overflow: hidden;
}
@media screen and (min-width:897px) {
    .recruit__wrapper-sidenav{
        --header:74px;
        position:sticky;
        top: var(--header);
        right: 0;
        align-self: flex-start;
        height: calc(100vh - var(--header)); 
    }
    .recruit__wrapper-sidenav.fixed{
        position:fixed;
    }
    .recruit__wrapper-sidenav .txtlink.on,
    .recruit__wrapper-sidenav .txtlink:hover,
    .recruit__wrapper-sidenav .txtlink.on:before,
    .recruit__wrapper-sidenav .txtlink:hover:before{
        color:var(--text-color-red)
    }   
   .main_wrap{
        width: calc(100% - 240px);
   }
   .recruit__wrapper-sidenav .entrybtn::before {
        content: "";
        position: absolute;
        top: 0;
        left: -75%;
        width: 50%;
        height: 100%;
        background-image: linear-gradient(90deg, hsla(0, 0%, 100%, 0), hsla(0, 0%, 100%, .6) 80%, hsla(0, 0%, 100%, 0));
        transform: skewX(-20deg);
    }
    .recruit__wrapper-sidenav .entrybtn:hover::before {
        animation: kirari 0.75s ease;
    }
    .recruit__wrapper-sidenav .entrybtn:hover{
        box-shadow: 0px 0px 0 10px rgba(218, 28, 28, .5);
    }

    @keyframes kirari {
        100% {
            left: 125%;
        }
    }

}
@media screen and (max-width:896px) {
        .main_wrap {
        width: 100%;
    }
 .recruit .rec_menu{
        position:fixed;
        right:2.5vw;
        bottom:-70px;
        z-index:9998;
        width:60px;
        height:60px;
        border-radius:50%;
        background-color:#0c0c0c;
        transition:transform .35s ease-out,bottom .4s;
        will-change:transform;
    }
    .scroll-on.recruit .rec_menu{bottom:2.5vw;}
    .recruit .rec_menu:after,.recruit .rec_menu:before{
        content:"";
        position:absolute;
        top:42%;
        left:50%;
        width:20px;
        height:2px;
        background-color:#fff;
        transition:.35s ease-out
    }
    .recruit .rec_menu:before{
        transform:translate(-50%,-50%) rotate(-90deg)
    }
    .recruit .rec_menu:after{
        transform:translate(-50%,-50%)
    }
    .recruit .rec_menu.on:before{
        transform:translate(-50%,-50%) rotate(-45deg)
    }
    .recruit .rec_menu.on:after{
        transform:translate(-50%,-50%) rotate(45deg)
    }
    .recruit .rec_menu .txt{
        position:absolute;
        bottom:8px;
        left:50%;
        transform:translate(-50%,0);
        font-size:.9rem;
        color:#fff
    }
    .recruit__wrapper-sidenav{
        position:fixed;
        overflow-y:scroll;
        z-index:999;
        transform:translateX(100%);
        transition:.35s ease-out;
        top: 0;
        right:0;
        height:100vh;
    }
    .recruit__wrapper-sidenav.on{
        transform:translateX(0)
    }

}
/* ============================================
   SHARED: メインビジュアル
   ============================================ */

.mvunder {
    position: relative;
    background-color: #000;
    max-height: 100vh;
}

.recruit .mvunder .page_ttl {
    position: absolute;
    bottom: 100px;
    left: 5%;
    right: 5%;
    z-index: 2
}

.recruit .mvunder .page_ttl .en,
.recruit .mvunder .page_ttl .jp {
    color: #fff
}

.mvunder .page_ttl .en {
    display: inline-block;
    letter-spacing: 0;
    color: var(--text-color-red);
    text-transform: uppercase
}

.mvunder .page_ttl .jp {
    font-size: clamp(1.8rem, 1.2rem + 1vw, 2.6rem);
    line-height: 1.4;

}

@media screen and (min-width:897px) {
    .mvunder .page_ttl .en {
        font-size: 12rem;
        text-indent: -.075em
    }
}

@media screen and (max-width:896px) {
    .mvunder .page_ttl .en {
        font-size: 5.2rem
    }
}

.mvunder .leadtxt {
    line-height: 2;
    color: #fff
}

@media screen and (min-width:897px) {
    .mvunder .leadtxt {
        margin-top: 36px;
        font-size: 1.6rem
    }
}

@media screen and (max-width:896px) {
    .mvunder .leadtxt {
        margin-top: 24px;
        font-size: 1.4rem
    }
}


.swiper-slide .swiper-img img {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transition: 7s 1s ease-out;
    transition: 7s 1s ease-out;
}

.mvslider .swiper-slide[class*=-active] .swiper-img img {
    -webkit-transition-delay: 0s;
    transition-delay: 0s;
    -webkit-transform: scale(1.05);
    transform: scale(1.05);
}

.swiper-slide .swiper-img {
    position: relative;
    overflow: hidden;
    height: 100vh;
}


/* ============================================
   SHARED: breadcrumb
   ============================================ */
.path {
    position: absolute;
    bottom: 20px;
    left: 5%;
    z-index: 2;
}

.path ul {
    display: flex;
    align-items: center
}

@media screen and (max-width:896px) {
    .path ul {
        flex-wrap: wrap
    }
}

.path li {
    color: #fff
}

.path li.arrow {
    position: relative;
    padding-left: 16px;
    margin-left: 12px
}

.path li.arrow:before {
    content: "";
    position: absolute;
    top: 50%;
    left: 0;
    transform: translate(0, -50%);
    border-style: solid;
    border-top: 3px solid transparent;
    border-bottom: 3px solid transparent;
    border-left: 5px solid #ccc;
    border-right: 0
}

.path .home {
    display: block;
    border-radius: 50%;
    background-color: #535353;
    background-image: url(../../../img/common/icon_home.svg);
    background-position: center;
    background-repeat: no-repeat
}

@media screen and (min-width:897px) {
    .path .home {
        width: 30px;
        height: 30px;
        background-size: 16px
    }
}

@media screen and (max-width:896px) {
    .path .home {
        width: 28px;
        height: 28px;
        background-size: 12px
    }
}

.path .txt {
    display: block;
    padding: 8px 14px;
    background-color: #535353;
    border-radius: 14px;
    letter-spacing: .04em;
    color: #fff
}

@media screen and (min-width:897px) {
    .path .txt {
        font-size: 1.4rem
    }
}

@media screen and (max-width:896px) {
    .path .txt {
        font-size: 1.2rem
    }
}

.path .txt.current {
    background-color: #fff;
    color: #000;
}

@media screen and (max-width:896px) {
    .path .news_ttl {
        margin-top: 10px
    }
}

@media screen and (min-width:897px) {
    .path .news_ttl .ttl {
        font-size: 1.4rem
    }
}

@media screen and (max-width:896px) {
    .path .news_ttl .ttl {
        font-size: 1.2rem
    }
}


/* ============================================
   コンセプト・ストーリー
   ============================================ */



.concept_txt p {
    margin-top: 3rem;
    line-height: 1.8;
}

.recruit__leadtxt figure {
    margin-top: 3rem;
}


@media screen and (min-width:897px) {}

@media screen and (max-width:896px) {}

/* ============================================
   仕事紹介
   ============================================ */
.recruit__work_wrap h3 {
    margin-bottom: 3.5rem;
    font-size: clamp(1.6rem, 1.3rem + 0.8vw, 2.2rem);
}

.work_acc_img {
    position: absolute;
    top: -10px;
    height: 100px;
    left: -15px;
    z-index: 3;
    transition: all .3s ease-out;
}

.arata_wrap .work_acc_img {
    height: 60px;
    top: 20px;
    left: 10px;
}

.work_acc_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.triangle {
    position: absolute;
    right: 5px;
    bottom: 5px;
    z-index: 889;
    transition: transform .3s ease;
}

.btn_triangle {
    clip-path: polygon(100% 0, 100% 100%, 0 100%);
    color: var(--text-color-white);
    width: 70px;
    height: 60px;
    display: flex;
    align-items: center;
    justify-content: right;
    position: relative;
    padding-top: 30px;
    padding-right: 5px;
    font-size: 1rem;
    transition: all .3s ease;
}

.btn_triangle.open {
    background-color: var(--bg-color-black);

}

.arata_wrap .btn_triangle.open {
    background-color: var(--color-arata);
}

.btn_triangle.close,
.work_acc_box:hover .btn_triangle.open{
    background-color: var(--text-color-red);
}



.acc_box .work_acc_label {
    padding: 3.5rem 1rem;
    width: 100%;
    font-size: 1.6rem;
}

.acc_content.work_acc_content {
    font-size: 1.6rem;
    line-height: 1.4;
}

.work_acc_content ul li {
    display: flex;
    align-items: baseline;
    column-gap: 1rem;
    margin-top: 1.5rem;
    padding-right: 2rem;
    font-size: 1.4rem;
    line-height: 1.2;
}

.work_acc_content ul li:last-child {
    padding-right: 2rem;
}

.work_acc_content ul li::before {
    content: "";
    width: 12px;
    height: 6px;
    border-left: 2px solid var(--bg-color-black);
    border-bottom: 2px solid var(--bg-color-black);
    transform: rotate(-45deg);
    position: relative;
    top: -2px;
}

/*アコーディオン*/
.acc_slot {
    width: 100%;
    position: relative;
}

.acc_box {
    position: relative;
    cursor: pointer;
}

.work_acc_box {
    border: var(--border-solid);
    border-radius: var(--border-radius);
    background-color: var(--bg-color-white);
    width: 100%;
}

.arata_wrap .work_acc_box {
    border-color: var(--color-arata);
    color: var(--color-arata);
}

.arata_wrap .work_acc_content ul li::before {
    border-color: var(--color-arata);
}

/* SPはアニメーションさせず、開閉をdisplayの切り替えだけで単純に出し分ける */
.acc_content {
    display: none;
    padding: 2rem 2rem 4rem;
    font-size: 1.4rem;
}

.acc_box.is-open .acc_content {
    display: block;
}


.acc_box .triangle .close,
.acc_box.is-open .triangle .open {
    display: none;
    transition: all .2s ease;
    opacity: 0;
}

.acc_box.is-open .triangle .close {
    display: inline-flex;
    opacity: 1;
}

@media screen and (min-width:1150px) {
    .acc_box .work_acc_label {
        padding: 4.5rem 0;
        flex: 0 1 220px;
        width: auto;
        margin: auto;
    }

    .acc_box.is-open .work_acc_label {
        flex: 0 1 150px;
    }

    .acc_slot {
        flex: 1 1 400px;
        max-width: 400px;
        z-index: 1;
        position: relative;
        will-change: clip-path;
    }

    .recruit__work .col3 .acc_slot {
        flex: 1 1 calc((100% - 4%)/3);
    }
    .recruit__work .col2 .acc_slot {
        flex: 1 1 calc((100% - 4%)/2);
    }


    .acc_slot.fade_y {
        transition: opacity .3s ease-out, transform .3s ease-out;
    }

    .acc_slot.is-open {
        z-index: 2;
    }

    .recruit__work .col3 .acc_slot.is-open {
        flex: 0 0 72%;
        max-width: 800px;
    }

    .recruit__work .col2 .acc_slot.is-open {
        flex: 0 0 76%;
        max-width: 800px;
    }

    .acc_slot.is-shrink {
        flex: 0 1 12%;
        max-width: 12%;
    }

    /* 縮んだ時、文字サイズは変えず折り返しだけ止める（折り返すと縦に伸び続けてしまうため） */
    .acc_slot.is-shrink .work_acc_label .ttl {
        display: block;
        overflow: hidden;
        text-overflow: ellipsis;
    }

    /* acc_box: ラベルの右隣にacc_contentが横から現れる。高さは開閉どちらも同じ固定値（決め打ち） */
    .acc_box {
        display: flex;
        align-items: stretch;
        height: 110px;
        position: relative;
    }
    .acc_slot.is-shrink .acc_box,
     .acc_box.is-open{
        height: 220px;
     }

    .work_acc_label {
        display: flex;
        align-items: center;
        justify-content: center;
    }

    .work_acc_label .ttl {
        display: inline-block;
        padding: 0;
        background-color: rgba(255, 255, 255, 0.95);
        z-index: 5;
        position: relative;
        border-radius: 5px;
    }

    .acc_content {
        display: block;
        flex: 0 0 auto;
        width: 0;
        max-height: none;
        opacity: 0;
        padding: 0;
        overflow: hidden;
        transition: opacity .2s ease;
    }

    .acc_box.is-open .acc_content {
        width: calc(100% - 150px);
        padding: 2rem 2rem 2rem 0;
        opacity: 1;
        transition: opacity .4s ease .25s;
        display: flex;
        justify-content: center;
        flex-direction: column;
    }

    .recruit__work_wrap .col3,
    .recruit__work_wrap .col2 {
        row-gap: 4rem;
        margin-bottom: 6rem;
    }

    .recruit__work_wrap .col3,
    .recruit__work_wrap .col2 {
        column-gap: 2%;
    }

    /* 開閉アニメーション中のレイアウト再計算を、この行の中だけに閉じ込めてページ全体への影響を減らす */
    .recruit__work_wrap .col3,
    .recruit__work_wrap .col2 {
        contain: layout;
    }

    .acc_slot.is-shrink .work_acc_label .dib,
    .acc_box.is-open .work_acc_label .dib {
        display: block;
    }
    .acc_slot.is-shrink .work_acc_img:not(.arata),
    .acc_box.is-open .work_acc_img:not(.arata) {
        transform: scale(0.7);
        top: -40px;
        left: -20px;
    }
    .work_acc_img {
        height: 120px;
    }


    .arata_wrap .acc_slot {
        margin: auto;

    }

    .arata_wrap .work_acc_img {
        height: 80px;
        top: calc(50% - 40px);
    }
 
    .arata_wrap .acc_box .work_acc_label {
        padding: 0;
    }

    .arata_wrap .acc_slot.is-open {
        max-width: 920px;
    }

    .arata_wrap .acc_box.is-open .work_acc_label {
        flex: 0 1 240px;
        padding-left: 100px;
        padding-right: 20px;
    }

    .arata_wrap .acc_box.is-open .acc_content {
        width: calc(100% - 240px);
        padding-left: 1rem;
    }
}

@media screen and (max-width:1149px) {

    .recruit__work_wrap .col3,
    .recruit__work_wrap .col2 {
        row-gap: 2rem;
        margin-bottom: 4rem;
    }
}

/* ============================================
   MEMBER
   ============================================ */
   /*popup*/
#overlay {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100001;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, .7);
}

.recruit__popup {
    max-width: 1600px;
    width: 92vw;
    display: none;
    position: fixed;
    top: 50%;
    left: 50%;
    z-index: 100002;
    transform: translate(-50%, -50%);
    height: 84.8vh;
    background-color: #fff
}

.recruit__popup-content {
    width: 100%;
    height: 100%
}


.recruit__popup .thumb.career img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

.recruit__popup .textarea .label {
    font-size: 1.4rem;
    color: var(--text-color-red);
    letter-spacing: 0;
}

.recruit__popup .textarea .phrase {
    font-weight: 900;
    line-height: 1.5;
    letter-spacing: .05em;
    font-size: clamp(2rem, 1.7rem + 0.8vw, 3rem);
}

.recruit__popup .textarea .phrase .red_bg {
    display: inline-block;
    padding: 2px 6px 4px;
    background-color: var(--text-color-red);
    line-height: 1.3;
    color: #fff;
}

.recruit__popup .textarea .basetxt {
    margin-top: 20px;
    line-height: 1.8;
}

.recruit__popup .textarea .popup_closebtn {
    padding: 18px 0;
    margin-top: 20px;
    border: 1px solid #000;
    background-color: #000;
    border-radius: 40px;
    font-size: 1.4rem;
    letter-spacing: .1em;
    color: #fff;
    text-align: center;
    transition: .35s ease-out;
    cursor: pointer;
    max-width: 250px;
    margin: 5% auto 0;
}


.recruit__member .thumb_wrap {
    position: relative;
    padding: 10px;
}

.recruit__member .thumb {
    position: relative;
    z-index: 0;
}

.recruit__member .thumb img {
    border-radius: 50%;
    overflow: hidden;
    position: relative;
    z-index: 1;
}

.recruit__member .thumb::before,
.recruit__member .thumb::after {
    content: "";
    position: absolute;
    inset: -10px;
    border: 2px solid var(--text-color-black);
    border-radius: 50%;
}

.recruit__member .thumb::before {
    clip-path: inset(58% 62% 0 0);
}

.recruit__member .thumb::after {
    clip-path: inset(0 0 58% 62%);
}

.recruit__member .info {
    position: absolute;
    z-index: 1;
    left: 0;
    top: 0;
    font-size: clamp(1.4rem, 1.1rem + 0.6vw, 1.8rem);
}

.recruit__member .info .num {
    font-size: clamp(4rem, 3.2rem + 1vw, 4.4rem);
    margin-bottom: 1rem;
}

.recruit__member .member_open {
    position: absolute;
    z-index: 1;
    right: 20px;
    bottom: 20px;
    width: 80px;
    height: 80px;
    background-color: var(--text-color-red);
    border-radius: 50%;
    justify-content: center;
    align-items: center;
    display: flex;
    flex-direction: column;
    color: var(--text-color-white);
    cursor: pointer;
    transition: .25s ease-out;
    animation: light 3s ease-out forwards infinite;
    border: 2px solid transparent;
}

.recruit__member .member_open .cross-icon:before {
    position: static;
    display: block;
    margin: 0 auto 5px;
    width: 10px;
}

.recruit__member .member_open:hover {
    color: var(--text-color-red);
    background-color: var(--bg-color-white);
    border-color: var(--text-color-red);
}

.recruit__member .member_open:hover .cross-icon:before {
    background-color: var(--text-color-red);
}

.recruit__member .textarea span {
    background-color: var(--bg-color-black);
    color: var(--text-color-white);
    display: inline-block;
    font-size: 1.6rem;
    padding: 5px 10px 8px;
}

.recruit__member .textarea span:last-child {
    margin-top: .5rem;
}
.recruit__member-acc_slot{
    max-width: 350px;
    margin-left: auto;
    margin-right: auto;
}


@media screen and (min-width:897px) {
    .recruit__popup-content {
        display: flex;
        align-items: center;
        overflow: hidden;
    }

    .recruit__popup-content .thumb.career {
        width: 40%;
        height: 100%;
    }

    .recruit__popup-content .textarea {
        width: 60%;
        padding:2rem 5rem;
    }

    .recruit__popup .textarea .basetxt {
        max-height: 50vh;
        overflow-y: auto;
    }
    .recruit__member .wrap_inner {
        row-gap: 8rem;
        }
    
}
@media screen and (min-width:1150px) {
    .flex.col_pc3_sp2 {
        gap: 4rem;
    }
}
@media screen and (max-width: 1149px) {
    .recruit__member .flex.col_pc3_sp2>* {
        width: calc((100% - (var(--sp-gap) * 2)) / 2);
    }
}
@media screen and (max-width: 896px) {
    .recruit__popup {
        overflow-y: scroll;
    }

    .recruit__popup .thumb.career {
        height: 40vh;
    }

    .recruit__popup .thumb.career img {
        width: 100%;
        height: 100%;
        object-fit: cover;
        object-position: center 20%;
    }

    .recruit__popup-content .textarea {
        padding: 5rem 2rem;

    }

    .recruit__popup .textarea .popup_closebtn {
        margin-top: 2rem;
    }
    .recruit__member .flex.col_pc3_sp2{
        row-gap: 6rem;
    }
}

@media screen and (max-width: 540px) {

    .recruit__popup .thumb.career {
        height: 35vh;
    }
    .recruit__member .flex.col_pc3_sp2>* {
        width:100%;
    }
}

/* ============================================
   社長のメッセージ
   ============================================ */
.concrete {
  background-image:url(../../../img/career/concrit.png);
  background-color:rgba(255,255,255,0.5);
  background-blend-mode:lighten;
}
.recruit__ceo_messege{position: relative;overflow: hidden;}

.recruit__ceo_messege .ceo_img{
    position: absolute;
    max-width: 500px;

}
.recruit__ceo_messege .messege_txt{
    position: relative;
    z-index: 2;
}
.recruit__ceo_messege .messege_txt h3{    margin-bottom: 2rem;}
.recruit__ceo_messege .messege_txt .shadow_box{ padding: 3rem;}
.recruit__ceo_messege .sing{margin-top: 2rem;}
.recruit__ceo_messege .sing span{display: inline-block;margin-left: 10px;}
@media screen and (min-width:1150px) {
    .recruit__ceo_messege .wrap_inner_short{position: relative;max-width: 1300px;}
    .recruit__ceo_messege .ceo_img{
       right:-5%;
       bottom:-100px;
    }
    .messege_txt{padding-right: 10%;}
    .recruit__ceo_messege .messege_txt h3{    margin-bottom: 5rem;line-height: 1.2;}
    .recruit__ceo_messege .messege_txt .shadow_box{ max-width: 660px;}

}
@media screen and (min-width:1300px) {.recruit__ceo_messege .ceo_img{ right:2%;}}
@media screen and (max-width: 1149px) {
    .recruit__ceo_messege .ceo_img{
        left: 50%;
    top: 14rem;
    width: 76%;
    transform: translateX(-50%);
    }
    .recruit__ceo_messege .messege_txt{
    padding-top: 44%;
}
    
.recruit__ceo_messege .messege_txt h3>span{
background-color: var(--bg-color-white);
line-height: 1;
        padding: 0 5px 5px;
        margin-bottom: 10px;
}

}
@media screen and (max-width: 896px) {
    .recruit__ceo_messege .ceo_img{
  
    top: 10rem;
    }

}


/* content05 */
.recruit__systems .data_box p {
    font-size: 2.0rem;
    font-weight: 600;
    letter-spacing: 0.1rem;
}

.recruit__systems .data_box .num {
    color: var(--text-color-red);
    margin-top: 2.0rem;
    font-size: 4.8rem;
}

.recruit__systems .data_box .num .unit {
    font-size: 2.4rem;
}

.recruit__systems .data_box p.note {
    font-size: 1.2rem;
    color: var(--text-color-black);
    margin-top: 1rem;
}

.recruit__systems .data_acc_box {
    border: var(--border-solid);
    border-radius: var(--border-radius);
    background-color: var(--bg-color-white);
    width: 100%;
    text-align: center;
    position: relative;
}

.recruit__systems .col3 .data_box {
    padding: 4.6rem 1rem;
    margin-bottom: 4rem;
    max-width: 350px;
}

.recruit__systems .data_area .col3 {
    column-gap: 13%;
}

.recruit__systems .data_box figure {
    position: absolute;
    width: 124px;
    left: -30px;
    bottom: -23px;
    z-index: 3;
}

.recruit__systems .data_box:nth-child(2) figure {
    width: 90px;
    left: -10px;
}

.recruit__systems .data_box:nth-child(3) figure {
    left: -14px;
    width: 136px;
}

.recruit__systems h2 {
    margin-bottom: 4rem;
}

.recruit__systems .recruit__number-companylink {
    margin-top: 6.0rem;
    text-align: center;
}

.recruit__systems .recruit__number-companylink a {
    display: inline-block;
    font-size: 1.6rem;
    background-color: var(--text-color-red);
    color: var(--text-color-white);
    padding: 1.8rem 4rem 2rem;
    border-radius: 8rem;
    cursor: pointer;
    letter-spacing: .1rem;
    border: 2px solid transparent;
    transition: .3s;
}

.recruit__systems .recruit__number-companylink a:hover {
    color: var(--text-color-red);
    background-color: var(--text-color-white);
    border: solid 2px var(--text-color-red);
}

.recruit__systems .basetxt {
    text-align: center;
}

@media screen and (min-width:1150px) {
    .recruit__systems h2 {
        margin-bottom: 5rem;
    }

    .recruit__systems .data_area .col3 {
        column-gap: 3%;
    }

    .recruit__systems .data_box p {
        margin-top: 2rem;
    }

    .recruit__systems .col3 .data_box {
        flex: 1 1 calc((100% - 4%) / 3);
        align-items: stretch;
        min-height: 250px;
        max-width: 250px;
        padding: 4.5rem 0;
    }

    .recruit__systems .data_box figure {
        width: 146px;
        left: -72px;
    }

    .recruit__systems .data_box:nth-child(2) figure {
        width: 100px;
        left: -38px;
    }

    .recruit__systems .data_box:nth-child(3) figure {
        left: 140px;
        width: 160px;
    }

    .recruit__systems .data_box figure {
        width: 160px;
    }

    .recruit__systems .basetxt {
        margin-top: 4rem;
        text-align: right;
    }

}

/* content06 */
#content06 {
    padding-top: 3rem;
}

.systems_tabs {
    display: flex;
    flex-wrap: wrap;
    gap: 0 6px;
    justify-content: center;
    border-bottom: var(--border-solid);
}

.systems_tabs .tab_btn {
    max-width: 200px;
    width: 100%;
    padding: 1rem 1rem;
    border-top: var(--border-solid);
    border-left: var(--border-solid);
    border-right: var(--border-solid);
    border-radius: 4px 4px 0 0;
    cursor: pointer;
}

.systems_tabs .tab_btn h3 {
    text-align: left;
    line-height: 1.2;
}

.systems_tabs .tab_btn.active {
    background-color: var(--bg-color-black);
    color: var(--bg-color-white);
    padding: 1rem 1rem;
    margin-top: -2rem;
    align-content: center;
}

.systems_tabs .tab_btn.active .border_l_ttl {
    border-left: 1px solid var(--bg-color-white);
    padding: .2rem .2rem .2rem 1.0rem;
}

.tab_content {
    display: none;
}

.tab_content.active {
    display: block;
}

.systems_tabs .tab_btn:not(.active) {
    opacity: 0.8;
}

.tab_content h4 {
    text-align: center;
    font-size: 1.8rem;
    padding-bottom: 3.4rem;
}

.tab_content .col3 {
    gap: 20px 16px;
}

.tab_content .systems_box {
    flex: 1 1 calc((100% - 4%) / 3);
    align-items: stretch;
    min-height: 186px;
    max-width: 300px;
    padding: 2.0rem 0.6rem 1.6rem;
    border: var(--border-solid);
    border-radius: var(--border-radius);
    background-color: var(--bg-color-white);
    width: 100%;
    text-align: center;
    max-height: 186px;
}

.tab_content .systems_box figure {
    max-width: 48px;
    margin: 0 auto;
    min-height: 48px;
    align-content: end;
}

.tab_content .systems_box p {
    font-size: 1.6rem;
    margin-top: 1.6rem;
    font-weight: 600;
}

.tab_content .systems_box p span {
    display: inline-block;
    font-size: 1.4rem;
    margin-top: 1rem;
    font-weight: 500;
    line-height: 1.4;
}

.tab_content .systems_box p span small {
    font-size: 1.0rem;
}

#systems .systems_box:nth-child(1) figure {
    max-width: 40px;
}

#systems .systems_box:nth-child(7) figure {
    max-width: 32px;
}

#benefits .systems_box:nth-child(1) figure {
    max-width: 36px;
}

#benefits .systems_box:nth-child(4) figure {
    max-width: 30px;
}

#benefits .systems_box:nth-child(6) figure {
    max-width: 34px;
}

@media screen and (min-width:1150px) {
    section.w100 #content06 .sec_inner {
        padding: 80px 6% 100px;
    }

    .systems_tabs {
        padding-top: 100px;
        gap: 0 20px;
    }

    .systems_tabs .tab_btn {
        max-width: 500px;
        padding: 1rem 2rem;
    }

    .systems_tabs .tab_content {
        padding: 64px 6% 100px;
    }

    .tab_content h4 {
        font-size: 2.2rem;
    }

    .systems_tabs .tab_btn.active {
        padding: 2rem 2rem;
    }

    .systems_tabs .tab_btn.active .border_l_ttl {
        padding: .2rem .2rem .2rem 1.5rem;
    }

    .tab_content .col3 {
        gap: 24px 24px;
    }

    .tab_content .systems_box {
        min-height: 186px;
        max-height: 186px;
        max-width: 300px;
        padding: 2.4rem 1.2rem;
    }

    .tab_content .systems_box figure {
        max-width: 60px;
        min-height: 60px;
    }

    #systems .systems_box:nth-child(7) figure {
        max-width: 42px;
    }

    #benefits .systems_box:nth-child(1) figure {
        max-width: 48px;
    }

    #benefits .systems_box:nth-child(4) figure {
        max-width: 36px;
    }

    #benefits .systems_box:nth-child(6) figure {
        max-width: 43px;
    }
}

@media screen and (max-width:1299px) {
    .systems_tabs .tab_btn {
        max-width: 300px;
    }
}

@media screen and (max-width:768px) {
    .systems_tabs .tab_btn {
        max-width: 240px;
    }
}

@media screen and (max-width:480px) {
    .systems_tabs .tab_btn {
        max-width: 200px;
    }

    .systems_tabs .border_l_ttl .jp {
        font-size: clamp(0.8rem, 1rem + 0.6vw, 1.0rem);
    }
}

@media screen and (max-width:480px) {
    .systems_tabs .tab_btn {
        max-width: 180px;
    }
}

/* office追加 */
.recruit__office {
    background-color: #f5f5f5;
}

.recruit__office .sec_inner {
    padding-top: 60px;
    padding-bottom: 0;
}

.recruit__office .tac {
    margin-bottom: 3.2rem;
}

.office_main_row {
    display: flex;
    align-items: flex-start;
    gap: 0;
    margin-bottom: 2.4rem;
}

.office_ttl {
    flex: 0 0 230px;
    padding-top: 10px;
    padding-right: 30px;
}

.office_ttl h4 {
    margin: 0 0 2.4rem;
    line-height: 0.8;
}

.office_ttl h4 span:first-child {
    display: block;
    font-family: 'Montserrat', sans-serif;
    font-size: clamp(28px, 4vw, 48px);
    font-weight: 700;
    letter-spacing: 0.04em;
    color: #111;
}

.office_ttl h4 span:last-child {
    display: block;
    font-size: 13px;
    color: #555;
    margin-top: 4px;
    font-weight: 500;
}

.recruit__office .maplink {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    border: 1px solid #333;
    border-radius: 4px;
    padding: 8px 16px;
    font-size: 13px;
    color: #333;
    text-decoration: none;
    white-space: nowrap;
    transition: background 0.2s, color 0.2s;
}

.recruit__office .maplink::after {
    content: '';
    display: inline-block;
    width: 18px;
    height: 18px;
    background-image: url(../../../img/career/icon_map.svg);
    background-size: contain;
    background-repeat: no-repeat;
}

.recruit__office .maplink:hover {
    background-color: #333;
    color: #fff;
}

.office_main_photo {
    max-width: 900px;
    margin-left: auto;
}

.office_main_photo figure {
    margin: 0;
    overflow: hidden;
    border-radius: 6px;
}

.office_main_photo figure img {
    width: 100%;
    height: auto;
    display: block;
    object-fit: cover;
    aspect-ratio: 16 / 9;
    transition: transform 0.4s ease;
}

.office_main_photo figure:hover img {
    transform: scale(1.02);
}

.office_carousel_wrap {
    box-sizing: border-box;
    width: 100%;
    margin-top: 16px;
    position: relative;
    overflow: hidden;
    cursor: grab;
}

.office_carousel_wrap:active {
    cursor: grabbing;
}

.office_track {
    display: flex;
    align-items: stretch;
    will-change: transform;
}

.office_slide {
    flex-shrink: 0;
    overflow: hidden;
}

.office_slide figure {
    margin-right: 10px;
    overflow: hidden;
}

.office_slide figure img {
    width: 100%;
    height: 260px;
    object-fit: cover;
    display: block;
    transition: transform 0.35s ease;
    border-radius: 8px;
    aspect-ratio: 16 / 9;
}

.office_slide:hover figure img {
    transform: scale(1.04);
}

.recruit__office .sec_inner+.sec_inner {
    margin-top: 60px;
}

.recruit__office .sec_inner.bg_white {
    padding-bottom: 60px;
}

.recruit__office .sec_inner:first-child {
    padding-bottom: 60px;
}

@media screen and (min-width:1150px) {
    .office_slide figure img {
        height: 260px;
    }

    .recruit__office .tac {
        margin-bottom: 5rem;
    }

    .office_main_row {
        margin-bottom: 4.8rem;
    }
}

@media screen and (max-width: 999px) {
    .office_main_row {
        flex-direction: column;
        gap: 24px;
    }

    .office_ttl {
        flex: none;
        padding-right: 0;
    }

    .office_main_photo figure img {
        aspect-ratio: 16 / 9;
    }

    .office_slide figure img {
        height: 180px;
    }
}

@media screen and (max-width: 480px) {
    .office_slide figure img {
        height: 110px;
    }
}
.office-lightbox-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.85);
    z-index: 9999;
    display: flex;
    align-items: center;
    justify-content: center;
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}

.office-lightbox-overlay.is-open {
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
}

.office-lightbox-inner {
    position: relative;
    max-width: 90vw;
    max-height: 90vh;
    display: flex;
    align-items: center;
    justify-content: center;
}
.office-lightbox-inner img {
    display: block;
    max-width: 90vw;
    max-height: 88vh;
    width: auto;
    height: auto;
    object-fit: contain;
    border-radius: 4px;
    box-shadow: 0 8px 40px rgba(0, 0, 0, 0.6);
    user-select: none;
    cursor: pointer; 
}
.office_main_photo figure,
.office_slide figure {
    cursor: zoom-in;

}

/* ============================================
   採用情報
   ============================================ */

.recruit__information .textarea .min_ttl{
    margin-top: 1.2rem;
    margin-bottom: .8rem;
}
.recruit__information .thumb{
    aspect-ratio: 4 / 3;
    overflow: hidden;
}
.recruit__information .thumb img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.recruit__information .textarea .red_btn{
    margin-top: 3rem;
}
.recruit__information .textarea .red_btn span{ position: relative;    padding: 1.8rem 4rem 2rem 5rem;}
.recruit__information .textarea .red_btn span::before{
    position: absolute;
    content: "";
    display: block;
    width: 14px;
    aspect-ratio: 1;
    background-color: currentColor;
    clip-path: polygon(40% 0%, 60% 0%, 60% 40%, 100% 40%, 100% 60%, 60% 60%, 60% 100%, 40% 100%, 40% 60%, 0% 60%, 0% 40%, 40% 40%);
    top: 50%;
    transform: translateY(-50%);
    left:2rem;
    transition: all .2s;
}
.recruit__information .textarea .red_btn.is-open >span{
    border-color:var(--text-color-red);
    background-color: var(--text-color-white);
    color: var(--text-color-red);
}
.recruit__information .textarea .red_btn.is-open span::before{    transform: translateY(-50%) rotate(45deg);}
/*アルムナイ*/
.recruit__alumini {
    overflow: hidden;
    max-height: 0;
    transition: max-height .35s ease;
}

.recruit__alumini.is-open {
    max-height: 4000px; 
}

.recruit__alumini>h2{margin-top: 100px;}
.recruit__alumini .img{
    max-width: 800px;
    margin:0 auto 3rem;
}
.alumini_info_wrap{row-gap: 6rem;}
.alumini_info_wrap h3{margin-bottom: 1rem;}
.alumini_info{width: 100%;}
.alumini_info table tr:not(:last-child){ border-bottom:1px solid #d3d3d3;}
.alumini_info table td,.alumini_info table th{padding: 1rem;}
.alumini_info table th{
    font-size: 1.3rem;
    color: var(--text-color-gray);
    padding: 1rem 0;
    width: 56px;
}
.alert_box{
    background-color:rgba(218, 28, 28, .2) ;
    padding: .8rem 1rem 1rem;
    border-radius: 10px;
}
.icon-alert.alert_box{
    position: relative;
    padding-left: calc(1rem + 30px);
    display: inline-block;

}
.red_btn .yaji{
    position: relative;
    width: 30px;
    height: 0;
    display: inline-block;
    margin-left: 1rem;
    height: 2px;
    background-color: currentColor;
    transition: all .2s;
    border-radius: 5rem;
}
.red_btn .yaji::after{
  content: "";
  position: absolute;
  top: calc(50% - 2px);
  right: 0;
  width: 10px;
  height: 2px;
  border-radius: 5rem;
  background-color: currentColor;
  transform: rotate(45deg);
  transform-origin: calc(100% - 2px) 50%;
}
.red_btn a:hover .yaji{
    transform: translateX(5px);
}
.icon-alert:before,
.icon-alert:after{
    position: absolute;
    content: "";
    display: inline-block;
    top:50%;
    transform: translateY(-50%);
    
}
.icon-alert:before{
    width: 24px;
    height: 24px;
    border-radius: 50%;
    background-color: var(--text-color-red);
    left: 10px;
    z-index: 1;
}
.icon-alert:after{
    width: 6px;
    height: 16px;
    left:19px;
    background-color: var(--text-color-white);
    mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%204.18%2016.08%22%3E%20%3Cpath%20d%3D%22M4.18%2014A2.09%202.09%200%201%201%200%2014a2.09%202.09%200%200%201%204.18%200m0-11.91a2.09%202.09%200%201%200-4.15.36l1.43%208.02c.05.3.31.53.63.53s.58-.23.63-.53l1.43-8.02z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E');
    mask-size: 90%;
    mask-repeat: no-repeat;
    mask-position: center;  
    -webkit-mask-image: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20viewBox%3D%220%200%204.18%2016.08%22%3E%20%3Cpath%20d%3D%22M4.18%2014A2.09%202.09%200%201%201%200%2014a2.09%202.09%200%200%201%204.18%200m0-11.91a2.09%202.09%200%201%200-4.15.36l1.43%208.02c.05.3.31.53.63.53s.58-.23.63-.53l1.43-8.02z%22%20class%3D%22cls-1%22%2F%3E%3C%2Fsvg%3E');
    -webkit-mask-size: contain;
    -webkit-mask-repeat: no-repeat;
    -webkit-mask-position: center;
    z-index: 2;
}
.alumini_info .process-step{counter-reset: step;}
.alumini_info .process-step li{
    counter-increment: step;
    text-align: center;
    width: calc((100% - (var(--gap) * 2))/3);
    padding: 2rem 0;
}
.alumini_info .process-step li .step::before {
  content: "STEP";
  display: block;
}
.alumini_info .process-step li .step::after {
  content: counter(step, decimal-leading-zero);
  font-size: 3rem;
}
.alumini_info .process-step li .process_img{
    margin: 1rem auto;
    max-width: 70px;
}
.alumini_info .process-step li .step_ttl::before{
    content: "";
    display: block;
    width: 5px;
    height: 5px;
    border-radius: 50%;
    background-color: var(--text-color-red);
    margin:.5rem auto 1rem;

}
.alumini_info.alumini_line ul li {
    display: flex;
    align-items: baseline;
    column-gap: .5rem;
    font-size: 1.4rem;
    line-height: 1.2;
}
.alumini_info.alumini_line ul li:not(:last-child){
    margin-bottom: 1rem;
}
.alumini_info.alumini_line ul li::before {
    content: "";
    width: 12px;
    height: 6px;
    border-left: 2px solid var(--bg-color-black);
    border-bottom: 2px solid var(--bg-color-black);
    transform: rotate(-45deg);
    position: relative;
    top: -2px;
}
.alumini_line>div>p{    line-height: 1.6;}
.alumini_line .flex ul{
    max-width: calc(100% - 140px);
    width: calc(60% - 10px);
}
.alumini_line .line_wrap{
    width: 40%;
    min-width:130px ;
    background-color:#06c755;
    padding: .5rem .5rem 1rem;
}
.alumini_line .line_img{
    margin:.2rem auto .5rem;
    max-width: 100px;}
.alumini_voice .voice_img_wrap{margin-bottom: 1rem;}
.alumini_voice .voice_img_wrap .info{
    max-width: calc(100% - 100px);

}
.alumini_voice .voice_img{
    position: relative;
    width: 60px;
    height: 60px;
    border-radius: 50%;
    border: var(--border-solid);
    overflow: hidden;
}
@media screen and (min-width:1200px) {
    .recruit__information .flex:not(.flex_row-reverse) .textarea{padding-left: 5rem;}
    .recruit__information .flex.flex_row-reverse .textarea{padding-right: 5rem;}
    /*アルムナイ*/
    .alumini_info{
        width: calc(50% - var(--gap));
        max-width: 700px;
    }
}
@media screen and (min-width:897px) {

    /*アルムナイ*/
    .recruit__alumini .border_box {padding: 2.5rem 1.5rem 2rem;max-width: 270px;}
    .alumini_info:not(.alumini_voice)>div{ padding: 3rem;}
    .alumini_info.alumini_voice>div { padding:1.5rem 2rem;}
    .recruit__alumini .wrap_inner_short { max-width: 1000px;}
    
}
@media screen and (max-width: 896px) {
    .recruit__information .flexcol2>* { flex: 0 0 100%; }
    .alumini_info:not(.alumini_voice)>div{ padding: 2rem;}
    .alumini_info.alumini_voice>div { padding: 1.5rem;}
}
@media screen and (max-width: 480px) {
  /*アルムナイ*/
  .alumini_info_wrap{row-gap: 3rem;}
  .recruit__alumini .flexcol3{--gap:10px;}
  .recruit__alumini .flexcol3 dt{font-size: 1.4rem;}  
  .alumini_info .process-step li .step_ttl >span{
        justify-content: center;
        flex-direction: column;
        display: inline-flex;
        height: 36px;
        align-items: center;
    }
    .alumini_info.alumini_line ul li { column-gap: .5rem;}
}




/* ============================================
   募集中の職種
   ============================================ */
.job-box{
    display: flex;
    justify-content: space-between;
    font-size: 1.6rem;
    margin: 40px 2.5% 0;
    padding-top: 40px;
}
.job-box .job-box__col{
    width: 48.8%;
}
.job-box .job-box__tab{
    text-align: center;
    background-color: var(--text-color-red);
    color: #fff;
    padding: 10px;
    position: relative;
    border-radius: 6px;
    font-size: 2rem;
    font-weight: 900;
}
.job-box .job-box__tab::after{
    position: absolute;
    position: absolute;
    bottom: -15px;
    width: 30px;
    height: 15px;
    background-color: var(--text-color-red);
    clip-path: polygon(0 0, 100% 0, 50% 100%);
    content: '';
    left: 50%;
    transform: translateX(-50%);
}
.job-box .job-box__tab--part{
    background-color: var(--bg-color-black);
}
.job-box .job-box__tab--part::after{
    background-color: var(--bg-color-black);
}
.job-box .job-box__col .job-empty{
    margin-top: 4rem;
}
.job-box .review-list{
    margin-top: 48px;
}
.job-box .review-list .review-item{
    border: solid 1px #8a939d;
    border-radius: 4px;
    padding: 2rem;
    background-color: #fff;
    margin-bottom: 2rem;
}
.job-box .review-list .review-item:hover{
    border: solid 1px var(--text-color-red);
     box-shadow: -5px -5px 10px 0px rgba(255, 255, 255, 0.5), 3px 3px 8px 0px rgba(0, 0, 0, 0.3);
    transition: box-shadow 0.2s ease, transform 0.2s ease;
}
.job-box .review-item__link {
  text-decoration: none;
  color: inherit;
  display: block;
}
.job-box .review-item__head{
    border-bottom: 1px solid #8a939d;
    padding-bottom: 2rem;
    position: relative;
}
.job-box .review-item__head .review-title{
    font-size: 2rem;
    font-weight: 900;
}
.job-box .review-item__head .review-title .review-subtitle{
    font-size: 1.8rem;
    display: block;
    margin-top: 0.6rem;
    font-weight: 500;
}
.job-box .review-item__head .review-icon{
    background-color: var(--text-color-red);
    width: 30px;
    height: 30px;
    display: block;
    margin-left: auto;
    border-radius: 50%;
    background-image: url(https://www.w-endless.co.jp/recruit/career/offer/wp-content/uploads/2025/11/link.png);
    background-repeat: no-repeat;
    background-position: center;
    position: absolute;
    top: -6px;
    right: 0;
}
.job-box .review-list .review-item:hover .review-icon{
    background-color: #cf0000;
        transition: background-color .3s ease;
    overflow: hidden;
}
.job-box .review-lead{
    padding-top: .6rem;
    line-height: 2;
    padding-bottom: 1rem;
}
.job-box .review-meta{
    display: flex;
    margin-top: 1rem;
    justify-content: space-between;
}
.job-box  .review-meta__item .review-meta__label{
        border: solid 1px var(--bg-color-black);
    background-color: var(--bg-color-gray);
    font-size: 1.2rem;
    padding: 0.1rem 1.0rem 0.1rem 1.2rem;
    border-radius: 30px;
    letter-spacing: 0.4rem;
    margin-right: 0.6rem;
}
@media screen and (max-width: 1380px){
    .job-box .review-meta{
        flex-direction: column;
    }
    .job-box .review-meta .review-meta__item{
        margin-bottom: 1.6rem;
    }
    .job-box .review-meta__item .review-meta__label{
        font-size: 1.4rem;
    }
}
@media screen and (max-width: 896px) {
    .job-box{
        flex-direction: column;
    }
    .job-box .job-box__col{
        width: 100%;
    }
    .job-box .job-box__tab {
        font-size: 1.8rem;
    }
    .job-box .review-lead {
        font-size: 1.4rem;
    }
    .job-box .review-list{
        margin-top: 40px;
    }
    .job-box .review-list .review-item{
        margin-bottom: 4rem;
    }
     .job-box .review-meta .review-meta__item:last-of-type{
        margin-bottom: 0;
     }
    .job-box .review-meta__item .review-meta__label{
        font-size: 1.1rem;
    }
    .job-box .review-meta__item .review-meta__text{
        font-size: 1.4rem;
    }
    .job-box .review-item__head .review-icon {
        width: 30px;
        height: 30px;
        top: -6px;
        right: -13px;
    }
    .job-box .review-item__head .review-title{
        padding-right: 20px;
    }
}
/* コンタクト */
@media screen and (min-width: 897px) {
  .contact__content {
    padding: 3vw 10vw
  }
}

@media screen and (max-width: 896px) {
  .contact__content {
    padding: 40px 5vw
  }
}

.contact__content-tab {
  background-color: var(--bg-color-gray)
}

@media screen and (min-width: 897px) {
  .contact__content-tab ul {
    display: flex;
    justify-content: space-between;
    align-items: flex-end
  }
}

.contact__content-tab li {
  display: block;
  background-color: #0c0c0c;
  font-weight: 700;
  letter-spacing: 0.04em;
  color: #808080;
  text-align: center;
  transition: background-color .35s ease-out, color .35s ease-out
}

@media screen and (min-width: 897px) {
  .contact__content-tab li {
    width: 32.6%;
    padding: 24px 0 26px;
    font-size: 2rem
  }
}

@media screen and (max-width: 896px) {
  .contact__content-tab li {
    padding: 18px 0 20px;
    font-size: 1.6rem
  }
}

.contact__content-tab li.current {
  position: relative;
  background-color: var(--text-color-red);
  color: #fff
}

@media screen and (min-width: 897px) {
  .contact__content-tab li.current {
    padding: 32px 0 34px;
    font-size: 2.6rem;
    width:100%;
  }
}

@media screen and (max-width: 896px) {
  .contact__content-tab li.current {
    padding: 28px 0 30px;
    font-size: 2rem
  }
}

@media screen and (min-width: 897px) {
  .contact__content-tab li.current:before {
    content: '';
    position: absolute;
    bottom: 0;
    left: 50%;
    z-index: 10;
    transform: translate(-50%, 100%);
    border-style: solid;
    border-right: 12px solid transparent;
    border-left: 12px solid transparent;
    border-top: 12px solid #da1c1c;
    border-bottom: 0
  }
}

@media screen and (min-width: 897px) {
  .contact__content-tab li:hover {
    cursor: pointer;
    background-color: var(--text-color-red);
    color: #fff
  }
}

.contact__content-form {
  border-width: 0 1px 1px;
  background-color: #fff
}

@media screen and (min-width: 897px) {
  .contact__content-form {
    padding: 80px 12.5%
  }
}

@media screen and (max-width: 896px) {
  .contact__content-form {
    padding: 50px 5%;
    margin-top: 30px
  }
}

.contact__content-form.disnon {
  display: none
}

.contact__content-form .note {
  font-size: 1.2rem;
  color: var(--text-color-red)
}

.contact__content-form th, .contact__content-form td {
  padding: 28px 0;
  border-bottom: 1px solid #e5e5e5
}

@media screen and (max-width: 896px) {
  .contact__content-form th, .contact__content-form td {
    display: block
  }
}

.contact__content-form th {
  font-size: 1.8rem;
  font-weight: 900
}

@media screen and (min-width: 897px) {
  .contact__content-form th {
    width: 314px
  }
}

@media screen and (max-width: 896px) {
  .contact__content-form th {
    border-bottom: 0;
    padding-bottom: 0
  }
}

.contact__content-form th .flexbox {
  align-items: flex-start
}

.contact__content-form th.top {
  vertical-align: text-top
}

.contact__content-form th .required {
  display: inline-block;
  padding: 4px 18px 6px;
  margin-right: 10px;
  background-color: var(--text-color-red);
  border-radius: 15px;
  font-size: 1.4rem;
  font-weight: 500;
  color: #fff
}

.contact__content-form th .note {
  margin-left: 6px;
  font-size: 1.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  color: #808080
}

.contact__content-form th .any {
  display: inline-block;
  padding: 4px 18px 6px;
  margin-right: 10px;
  background-color: #fff;
  border: 1px solid #7c7878;
  border-radius: 15px;
  font-size: 1.4rem;
  font-weight: 500
}

.contact__content-form th .txt b {
  display: inline-block;
  font-size: 1.4rem;
  font-weight: 500;
  color: #808080
}

@media screen and (min-width: 897px) {
  .contact__content-form th .txt b {
    margin-top: 10px
  }
}

.contact__content-form td {
  font-size: 1.6rem
}

@media screen and (max-width: 896px) {
  .contact__content-form td {
    padding-top: 8px
  }
}

.contact__content-form td .graduate {
  font-weight: 900
}

.contact__content-form .flexbox {
  display: flex
}

.contact__content-form .flexbox.jcsb {
  justify-content: space-between
}

.contact__content-form .flexbox.aic {
  align-items: center
}

.contact__content-form .flexbox.school {
  margin: 10px 0 30px
}

.contact__content-form .inputarea {
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 5px 18px;
  background-color: var(--bg-color-gray);
  color:#000;
}
.contact__content-form .inputarea_day {
  width: 100%;
  height: 50px;
  line-height: 50px;
  padding: 5px 18px;
  background-color: var(--bg-color-gray);
  color:#000;
}
.contact__content-form .inputarea.is-empty{
  color:#666;
}

.contact__content-form .inputarea.x2 {
  width: 48.5%
}

.contact__content-form .inputarea.x3 {
  width: 30%
}

.contact__content-form .inputarea.space_side {
  margin-left: 10px;
  margin-right: 10px
}

@media screen and (min-width: 897px) {
  .contact__content-form .inputarea.w50 {
    width: 50%
  }
}

@media screen and (min-width: 897px) {
  .contact__content-form .inputarea.w75 {
    width: 75%
  }
}

.contact__content-form .textarea {
  width: 100%;
  max-width: 100%;
  min-width: 100%;
  height: 250px;
  max-height: 250px;
  min-height: 250px;
  line-height: 40px;
  padding: 5px 18px;
  background-color: var(--bg-color-gray);
  border-width: 0;
  line-height: 1.75
}

.contact__content-form .checklist {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap
}

@media screen and (min-width: 897px) {
  .contact__content-form .checklist li {
    width: 50%
  }

  .contact__content-form .checklist li:nth-child(n+3) {
    margin-top: 18px
  }
}

@media screen and (max-width: 896px) {
  .contact__content-form .checklist li {
    width: 100%;
    margin-top: 20px
  }
}

.contact__content-form .checklist .checkbox {
  display: none
}

.contact__content-form .checklist .checkbox:checked+.txt:before {
  background-color: var(--text-color-red)
}

.contact__content-form .checklist .checkbox:checked+.txt:after {
  opacity: 1
}

.contact__content-form .checklist .txt {
  position: relative;
  padding-left: 32px;
  font-size: 1.4rem;
  text-align: center
}

.contact__content-form .checklist .txt:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 18px;
  height: 18px;
  border-radius: 2px;
  border: 1px solid #f0f0f0;
  background-color: #f0f0f0
}

.contact__content-form .checklist .txt:after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  transform: rotate(45deg);
  width: 6px;
  height: 12px;
  border: 1px solid #fff;
  border-width: 0 2px 2px 0;
  opacity: 0
}

@media screen and (min-width: 897px) {
  .contact__content-form .radioarea {
    display: flex
  }
}

@media screen and (min-width: 897px) {
  .contact__content-form .radioarea li {
    margin-right: 54px
  }
}

@media screen and (max-width: 896px) {
  .contact__content-form .radioarea li {
    margin-top: 30px
  }
}

.contact__content-form .radioarea .radiobtn {
  display: none
}

.contact__content-form .radioarea .radiobtn:checked+.txt:after {
  opacity: 1
}

.contact__content-form .radioarea .txt {
  position: relative;
  padding-left: 28px;
  font-size: 1.4rem;
  text-align: center
}

.contact__content-form .radioarea .txt:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 18px;
  height: 18px;
  border-radius: 50%;
  border: 1px solid #ccc;
  background-color: #f0f0f0
}

.contact__content-form .radioarea .txt:after {
  content: '';
  position: absolute;
  top: 50%;
  left: 4px;
  transform: translateY(-50%);
  width: 10px;
  height: 10px;
  border-radius: 50%;
  background-color: var(--text-color-red);
  opacity: 0
}

.contact__content-form .thanks_head {
  margin-bottom: 20px;
  font-size: 2.4rem;
  font-weight: 900;
  letter-spacing: 0.05em;
  line-height: 1.35
}

.contact__content-form .phone_number {
  display: inline-block;
  margin: 12px 0;
  font-size: 1.8rem;
  font-weight: 900
}

.contact__content-privacy {
  overflow-y: scroll;
  height: 230px;
  padding: 36px 6.2%;
  margin-top: 20px;
  background-color: var(--bg-color-gray)
}

.contact__content-privacy h4 {
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.1em
}

.contact__content-privacy p {
  margin-top: 32px;
  font-size: 1.4rem;
  line-height: 1.71;
  letter-spacing: 0.05em
}

.contact__content .agreebox {
  margin-top: 30px;
  text-align: center;
  font-size: 2rem;
}

.contact__content .agreebox .agree_check {
  display: none
}

.contact__content .agreebox .agree_check:checked+.txt:before {
  background-color: var(--text-color-red)
}

.contact__content .agreebox .txt {
  position: relative;
  padding-left: 24px;
  font-size: 1.4rem;
  text-align: center
}

.contact__content .agreebox .txt:before {
  content: '';
  position: absolute;
  top: 50%;
  left: 0;
  transform: translate(0, -50%);
  width: 18px;
  height: 18px;
  border-radius: 2px;
  border: 1px solid var(--text-color-red)
}

.contact__content .agreebox .txt:after {
  content: '';
  position: absolute;
  top: 3px;
  left: 6px;
  transform: rotate(45deg);
  width: 6px;
  height: 12px;
  border: 1px solid #fff;
  border-width: 0 2px 2px 0
}

.contact__content .submitbtn {
  display: block;
  width: 250px;
  padding: 20px 0;
  margin: 60px auto 0;
  border-radius: 32px;
  background-color: var(--text-color-red);
  border: 1px solid var(--text-color-red);
  font-size: 1.8rem;
  font-weight: 900;
  letter-spacing: 0.12em;
  color: #fff;
  transition: .35s ease
}

@media screen and (min-width: 897px) {
  .contact__content .submitbtn:hover {
    background-color: #fff;
    color: var(--text-color-red)
  }
}

.contact__content .comp{
  font-size: 1.8rem;
  line-height: 2;
  font-weight: normal;
}


.contact__content select {
  appearance: none;
  padding: 11px 15px;
  line-height: 30px !important;
  padding-right: 1em;
  border: none;
  outline: 0;
  width: 100%;
  background-color: var(--bg-color-gray);
  box-shadow: none;
  text-indent: 0.01px;
  text-overflow: ellipsis;
  cursor: pointer;
  box-sizing: inherit;
  display: inline-block;
 position: relative;
 vertical-align: middle;
}


.contact__content select:before {
  position: absolute;
  top: 18px;
  right: 16px;
  width: 0;
  height: 0;
  border-width: 10px 5px 0 5px;
  border-style: solid;
  border-color: #eee transparent transparent transparent;
  content: "";
  pointer-events: none;
}
.contact__content select:after{
  position: absolute;
  content: "";
  color: #23cb99;
  width: 100px;
  height: 200px;
}


/* ============================================
   footer直前
   ============================================ */
.recruit__entry{
    display:flex;
    align-items:center;
    justify-content:center;
    position:relative;
    z-index:3;
    background-image:url(../../../img/new_grads/bg_entry.jpg);
    background-position:center 0;
    background-repeat:no-repeat;
    background-size:cover
}
.recruit__entry h3{
    text-align:center
}
.recruit__entry h3 .en{
    color:var(--text-color-red)
}

.recruit__entry h3 .jp{
    display:block;
    font-weight:900;
    letter-spacing:.05em;
    color:#fff
}
.recruit__entry .entry{
    display:block;
    margin:20px auto 0;
    border-radius:30px;
    background-color:var(--text-color-red);
    background-image:url(../../../img/common/icon_arrow_link.png);
    background-position:86% center;
    background-repeat:no-repeat;
    font-weight:900;
    letter-spacing:.15em;
    color:#fff;
    max-width:214px;
    padding:20px 0 20px 40px;
    transition: all .5 ease;
}


@media screen and (min-width:897px){
        .recruit__entry h3 .jp{
        margin-top:10px;
        font-size:2.4rem
    }
        .recruit__entry h3 .en{
        font-size:10rem
    }
    .recruit__entry .entry{
        background-size:24px;
        font-size:2rem
    }
    .recruit__entry .entry:hover{
        background-position:90% center;
        box-shadow:0 0 0 10px rgba(255, 255, 255, 0.5);
     }
    .recruit__entry{
        height:41.4vw
    }
}
@media screen and (max-width:896px){
    .recruit__entry h3 .jp{
        margin-top:8px;
        font-size:1.6rem
    }
    .recruit__entry h3 .en{
        font-size:3.2rem
    }
        .recruit__entry{
        height:60vw
    }
    .recruit__entry .entry{
        padding: 12px 0 12px 20px;
        background-size: 18px;
        font-size: 1.6rem;
    }
}

