@charset "utf-8";

/* 色の変数　　color: var(--blue); */
:root {
    --white: #fff;
    --white02: rgba(255, 255, 255, 0.5);
    --blue01: #071d4d;
    --blue02: #0d93d6;
    --blue03: #0d68d3;
    --blue04: #014092;
    --blue05: rgba(7, 29, 77, 0.5);
    --lightBlue01: #caf1ff;
    --lightBlue02: #cfe9f7;
    --lightBlue03: #c2e6ff;
    --lightBlue04: #e4f8ff;
    --green01: #43b581;
    --green02: #ecf8f2;
    --green03: #ebffd4;
    --orange01: #fa9058;
    --orange02: #ff931e;
    --beige01: #f2f1db;
    --beige02: #fcf8ed;
    --gray01: #dcdada;
    --gray02: #d2cbc7;

    --blue02-hover: rgba(13, 147, 214, .7);
    --blue03-hover: rgba(13, 104, 211, .7);

    /* ぼかし */
    --blur: blur(10px);

    /* 書式 */
    --zenKaku: "Zen Kaku Gothic New", sans-serif;


    /* 文字サイズ */
    --size17: 1.7rem;
    --size18: 1.8rem;
    --size19: 1.9rem;
    --size20: 2rem;
    --size22: 2.2rem;
    --size23: 2.3rem;
    --size24: 2.4rem;
    --size28: 2.8rem;
    --size36: 3.6rem;
    --size40: 4rem;
    --size44: 4.4rem;

    /* ウェイト */

    --weight400: 400;
    --weight500: 500;
    --weight700: 700;

    /* 行間 */
    --lineHight20: 2.0;
    --lineHight188: 1.88;
    --lineHight175: 1.75;
    --lineHight160: 1.6;
    --lineHight144: 1.44;



    /* 文字間 */
    --fontSpace005: 0.05em;

    /* トランジションの変数　 */
    --transitionBase: all 0.3s ease-in-out;

    /* 角丸の変数　 */
    --borderRadius50: 50px;
    --borderRadius20: 20px;
    --borderRadius10: 10px;
    --borderRadiusCircle: 50%;
}




@media screen and (max-width: 1024px) {
    :root {
        --size17: 1.6rem;
        --size22: 2rem;
        --size28: 2.4rem;
        --size36: 3rem;
        --size40: 3rem;
        --size44: 3.5rem;
    }
}

@media screen and (max-width: 768px) {
    :root {
        --size17: 1.6rem;
        --size24: 1.8rem;
        --size22: 1.9rem;
        --size28: 2.2rem;
        --size36: 2.6rem;
        --size40: 2.5rem;
        --size44: 3.05rem;
    }
}

@media screen and (max-width: 480px) {
    :root {
        --size17: 1.5rem;
        --size18: 1.5rem;
        --size20: 1.5rem;
        --size24: 1.5rem;
        --size23: 1.7rem;
        --size19: 1.8rem;
        --size22: 1.8rem;
        --size40: 1.9rem;
        --size28: 2rem;
        --size36: 2rem;
        --size44: 2.6rem;
    }
}



/*******************************************
common
*******************************************/

/* html.with-featherlight {
    overflow-y: scroll;
} */

.with-featherlight body {
    overflow-y: scroll;
}

body {
    color: var(--blue01);
    font-family: var(--zenKaku);
    font-weight: var(--weight400);
    font-size: var(--size17);
    background-color: var(--lightBlue01);
}

p {
    text-align: justify;
}




.section__inner {
    width: min(100%, 1000px);
    margin: 0 auto;
}

.ttlBox {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    font-size: var(--size44);
    gap: 0.568em;

    & .icon {
        width: 3.1819em;
    }

    & .ja {
        font-weight: var(--weight700);
        color: var(--blue04);
    }
}

.mark-orange {
    position: relative;
    padding-left: 0.8em;
    padding-left: 20px;

    &::before {
        position: absolute;
        content: "";
        left: 0;
        top: 0.6em;
        background-color: var(--orange01);
        width: 0.5715em;
        width: 16px;
        aspect-ratio: 1;
        border-radius: var(--borderRadiusCircle);
        transform: translateY(-50%);
    }
}


.backBtn {
    width: min(100%, 260px);
    margin: 0 0 0 auto;
    height: 61px;


    & a {
        position: relative;
        font-size: 16px;
        display: flex;
        justify-content: center;
        align-items: center;
        background-color: var(--blue02);
        color: var(--white);
        width: 100%;
        height: 100%;
        border-radius: 0 0 10px 10px;
        transition: var(--transitionBase);

        &:hover {
            opacity: .7;
        }
    }
}

.arrow {
    display: block;
    position: absolute;
    top: 50%;
    right: 5%;
    transform: translateY(-50%);
    z-index: 2;
    background-color: var(--white);
    width: 24px;
    aspect-ratio: 1;
    border-radius: var(--borderRadiusCircle);

    & span {
        position: relative;
    }

    &::before,
    &::after {
        position: absolute;
        content: "";
        background-color: var(--blue02);
        top: 50%;
        left: 50%;
        height: 2px;
        width: 30%;
    }

    &::before {
        transform-origin: right bottom;
        transform: translate(-60%, -30%) rotate(45deg);
    }

    &::after {
        transform-origin: right top;
        transform: translate(-60%, -70%) rotate(-45deg);
    }
}

.arrow-top {
    transform: translateY(-50%) rotate(-90deg);
}


.inner1400 {
    position: relative;
    width: min(100%, 1400px);
    margin: 0 auto;
}

.block480 {
    display: none;
}

@media screen and (max-width:1024px) {
    .push1024 {
        display: inline-block;
    }

    .none1024 {
        display: none;
    }

    .section__inner {
        padding: 0 20px;
    }
}

@media screen and (max-width:768px) {
    .push768 {
        display: inline-block;
    }

    .none768 {
        display: none;
    }
}

@media screen and (max-width:480px) {
    .push480 {
        display: inline-block;
    }

    .none480 {
        display: none;
    }

    .block480 {
        display: block;
    }


    .ttlBox {
        gap: 12px;

        & .icon {
            width: 60px;
        }
    }

    .backBtn {
        & a {
            &:hover {
                opacity: 1;
            }
        }
    }

    .backBtn-work {
        width: min(100%, 200px);
    }
}



/*******************************************
btn
*******************************************/
.btn {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 60px;
    position: relative;
    text-align: center;
    border-radius: var(--borderRadius50);
    color: var(--black);
    background-color: var(--beige01);
    transition: var(--transitionBase);


    &:hover {
        opacity: .7;
    }

}

.btn-green {
    background-color: var(--green01);

    .arrow {

        &::before,
        &::after {
            background-color: var(--green01);
        }
    }
}

.btn-blue {
    background-color: var(--blue02);
}





/*******************************************
追従ボタン
*******************************************/
.main__inner {
    position: relative;
}

.topReturn {
    position: fixed;
    bottom: 0;
    right: 2%;
    width: 61px;
    height: 61px;
    opacity: 0;
    visibility: hidden;
    border-radius: var(--borderRadiusCircle);
    background-color: var(--orange01);
    transition: var(--transitionBase);
    z-index: 90;
    transform: translateY(-20%);

    &::before,
    &:after {
        position: absolute;
        content: "";
        top: 50%;
        left: 50%;
        width: 22%;
        height: 2px;
        background-color: var(--white);
        transition: var(--transitionBase);
    }

    &::before {
        transform: translate(-83%, -50%) rotate(-45deg);
    }

    &::after {
        transform: translate(-17%, -50%) rotate(45deg);
    }



    &:hover {
        opacity: .7;
    }

}

.topReturn__link {
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    height: 100%;
}

.entryBox-fixed {
    display: flex;
    flex-direction: column;
    gap: 10px;
    width: 144px;
    position: fixed;
    bottom: 0;
    right: 0;
    z-index: 10;
    opacity: 0;
    visibility: hidden;
    transition: var(--transitionBase);
    font-size: 16px;
    transform: translateY(-70%);

}

.entryBox__txt {
    background-color: var(--blue02);
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
    aspect-ratio: 144 / 72;
    border-radius: 10px 0 0 10px;
    line-height: 1.3;
    color: var(--white);
    padding-left: 20px;
    font-weight: var(--weight700);
    transition: var(--transitionBase);

    &:hover {
        opacity: .7;
    }
}

.entryBox__txt--green {
    background-color: var(--green01);
}


.show {
    opacity: 1;
    visibility: visible;
}



@media screen and (max-width: 768px) {
    .topReturn {
        width: 40px;
        height: 40px;
        transform: translateY(-200%);
    }


    .entryBox-fixed {
        transform: translate(-50%, 0);
        left: 50%;
        flex-direction: row;
        width: 92%;
    }

    .entryBox__txt {
        aspect-ratio: 170 / 60;
        max-height: 60px;
        border-radius: 10px 10px 0 0;
        padding: 0;
        width: 100%;
        justify-content: center;
        text-align: center;

        &:hover {
            opacity: 1;
        }
    }
}

@media screen and (max-width: 480px) {
    .topReturn {


        &:hover {
            background-color: var(--black);

            &::before,
            &:after {
                background-color: var(--white);
            }
        }
    }
}

/*******************************************
ページネーション
*******************************************/
.paginationFlex {
    text-align: center;

}

.pageDot {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;

    & .swiper-pagination-bullet {
        background-color: transparent;
        opacity: 1;
        border: 2px solid var(--white);
        width: 10px;
        height: 100%;
        aspect-ratio: 1;
        margin: 0 !important;
    }

    & .swiper-pagination-bullet-active {
        background-color: var(--white);
    }
}

/*******************************************
header
*******************************************/
.hamburger {
    display: none;
}

.header {
    position: fixed;
    width: 100%;
    display: flex;
    align-items: center;
    padding: 1.57% 2.858%;
    z-index: 95;
    transition: var(--transitionBase);
}

.bg-white {
    background-color: var(--white02);
    backdrop-filter: var(--blur);
}

.header__logo {
    width: 265px;
    margin-right: 10px;


    & a {
        display: inline-block;
        width: 100%;
        height: 100%;
        transition: var(--transitionBase);
    }

    & a:hover {
        opacity: .7;
    }
}


.headerNav {
    flex: 1;
}

.headerNav__list {
    display: flex;
    justify-content: flex-end;
    align-items: center;
}

.headerNav__item {
    font-size: 15px;
    margin-left: 2em;
    position: relative;
    color: var(--black);
    transition: var(--transitionBase);
    font-weight: var(--weight500);

    &:not(:last-child) a {
        transition: var(--transitionBase);

        &:hover {
            opacity: .7;
        }
    }

    &::before,
    &::after {
        position: absolute;
        content: "";
        width: 1px;
        height: 1em;
        top: 50%;
        right: -1em;
        background-color: var(--blue01);
        transform: translate(-50%, -50%);
    }

    &::after {
        display: none;
    }

    &:first-child {
        margin-left: 0;

        &::after {
            opacity: 1;
            left: -1em;
        }
    }

    &:last-child {
        width: min(100%, 180px);
        font-weight: var(--weight700);
        margin-left: 3.35em;

        &::before {
            display: none;
        }
    }
}

.btn-header {
    width: 100%;
    height: 50px;
    background: linear-gradient(115deg, var(--blue02) 50%, var(--blue03) 50%);
    color: var(--white);

    &:hover {
        background: linear-gradient(115deg, var(--blue02-hover) 50%, var(--blue03-hover) 50%);
    }
}

@media screen and (max-width:1120px) {
    .header__logo {
        width: 205px;
    }
}

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

    .header {
        position: absolute;
    }

    .bg-white {
        backdrop-filter: initial;
    }


    .hamburger {
        display: block;
        position: fixed;
        right: 0;
        top: 0;
        width: 64px;
        height: 64px;
        cursor: pointer;
        z-index: 100;
        transition: var(--transitionBase);
        background-color: var(--blue03);

        & .line {
            position: absolute;
            width: 40%;
            height: 2px;
            left: 50%;
            transform: translate(-50%, -50%);
            transition: .4s;
            background-color: var(--white);

            &:nth-of-type(1) {
                top: 33%;
            }

            &:nth-of-type(2) {
                top: 50%;
            }

            &:nth-of-type(3) {
                top: 67%;
            }
        }
    }

    .headerNav {
        position: fixed;
        width: 100%;
        height: 100vh;
        top: 0;
        left: 0;
        z-index: 95;
        transform: translateX(100%);
        background-color: var(--white02);
        backdrop-filter: blur(10px);
        transition: var(--transitionBase);
        opacity: 0;
        visibility: hidden;
        transform: none;
    }

    .headerNav__list {
        flex-direction: column;
        justify-content: flex-start;
        align-items: flex-start;
        width: min(80%, 500px);
        height: 100%;
        padding: min(5vh, 100px) 50px 0;
        margin-left: auto;
        background-color: var(--white);
    }

    .headerNav__item {
        padding: 30px 0 30px 5px;
        font-size: 16px;
        margin: 0;

        &:last-child {
            padding: 0;
            margin: 5vh 0 0;
        }

        &::before {
            width: 12.5em;
            height: 1px;
            left: 0;
            right: auto;
            top: auto;
            bottom: 0;
            transform: none;
            background-color: var(--gray01);
        }


        &::after {
            display: none;
        }

    }



    .active {


        & .line {
            background-color: var(--white);

            &:nth-of-type(1) {
                top: 50%;
                transform: translate(-50%, -50%) rotate(45deg);
            }

            &:nth-of-type(2) {
                opacity: 0;
            }

            &:nth-of-type(3) {
                top: 50%;
                transform: translate(-50%, -50%) rotate(-45deg);
            }
        }

        & .headerNav {
            opacity: 1;
            visibility: visible;
        }
    }

}

@media screen and (max-width:330px) {
    .headerNav__item {
        padding: 15px 0 15px 5px;
    }


    .headerNav__list {
        padding: 60px 20px 0;
    }
}




/*******************************************
mv
*******************************************/
.mv {
    position: relative;
    margin-top: clamp(80px, 7.1953%, 150px);
    /* ヘッダーの高さ分 */
}

.mvSwiper {
    width: 95%;
    margin: 0 auto;
    border-radius: 2.5vw;

    & .swiper-slide-active img,
    & .swiper-slide-duplicate-active img,
    & .swiper-slide-prev img {
        animation: zoomUp 10s linear 0s normal both;
    }
}

.paginationFlex-mv {
    position: absolute;
    left: 50%;
    bottom: max(7%, 20px);
    transform: translateX(-50%);
    z-index: 5;

    & .pageDot {
        gap: max(1.4285714285714286vw, 10px);

        & .swiper-pagination-bullet {
            width: max(0.7142857142857143vw, 10px);
        }
    }
}


@keyframes zoomUp {
    0% {
        transform: scale(1);
    }

    100% {
        transform: scale(1.15);
    }
}

.mv__ttl {
    position: absolute;
    z-index: 2;
    width: 36.077%;
    top: 60%;
    left: 5%;
}



@media screen and (max-width:480px) {
    .mv {
        margin-top: 64px;
    }

    .mvSwiper {
        border-radius: 0;
        width: 100%;
    }

    .paginationFlex-mv {
        display: none;
    }

    .mv__ttl {
        width: 89.07%;
        left: 5%;
        top: 68%;
    }
}

/*******************************************
about
*******************************************/
.about {
    padding: min(10.67%, 110px) 0 min(26.67%, 110px);

    .section__inner {
        width: min(100%, 1400px);
    }
}

.aboutBox {
    margin-top: 60px;
}

.aboutItem {
    position: relative;
    display: flex;
    align-items: center;
    width: min(100%, 1335px);
    margin: 0 0 0 auto;
    margin-bottom: 110px;
    z-index: 1;

    &:last-child {
        margin-bottom: 0;
    }

}

.aboutItem__img {
    width: 520px;
    transform: translateX(18%);
}

.aboutItem__txt {
    flex: 1;
    background-color: var(--white);
    border-radius: 1000px 0 0 1000px;
    height: 400px;
    display: flex;
    align-items: center;
    justify-content: center;
}

.aboutItem__detail {
    width: min(100%, 460px);

    & dt {
        font-size: var(--size28);
        color: var(--blue02);
        margin-bottom: max(5.5%, 15px);
    }

    & dd {
        line-height: var(--lineHight188);
    }
}

.aboutItem-reverse {
    flex-direction: row-reverse;
    margin: 0 auto 110px 0;
    z-index: 0;

    .aboutItem__txt {
        border-radius: 0 1000px 1000px 0;
        height: 556px;
    }

    .aboutItem__img {
        transform: translateX(-18%);
    }

    .aboutItem__detail {
        transform: translateX(-8%);
    }
}

.aboutItem__flowImg {
    margin-top: max(6.53%, 20px);
}

.thin {
    letter-spacing: -0.4em;
}

.about-bg01 {
    position: absolute;
    top: -35%;
    left: 2%;
    width: min(29.8%, 198px);
}

.about-bg02 {
    position: absolute;
    top: 2%;
    left: 78.5%;
    width: min(24.5%, 165px);
}

.about-bg03 {
    position: absolute;
    top: 98%;
    left: -1%;
    width: min(20%, 139px);
    z-index: 2;
}

.about-bg04 {
    position: absolute;
    top: 75%;
    left: 82%;
    width: min(23.45%, 157px);
}

.about-bg05 {
    position: absolute;
    width: min(23.45%, 147px);
    top: 88%;
    left: 7%;
}

.about-bg06 {
    position: absolute;
    width: min(18.4%, 132px);
    top: 92%;
    left: 87%;
}

.about-bg07 {
    position: absolute;
    width: min(12.6%, 90px);
    top: 86%;
    left: 2%;
}

.about-bg08 {
    position: absolute;
    width: min(33.2%, 215px);
    top: 71%;
    left: 61%;
}



@media screen and (max-width: 1190px) {
    .aboutItem__img {
        width: 400px;
    }

    .about-bg01 {
        top: -50%;
    }

    .about-bg02 {
        top: -15%;
        left: 82%;
    }

    .about-bg04 {
        top: 78%;
    }

    .about-bg08 {
        top: 79%;
    }

}


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

    .aboutBox {
        width: min(100%, 600px);
        margin: min(42%, 235px) auto 0;
    }

    .aboutItem {
        flex-direction: column;
        position: relative;
        margin-bottom: min(39%, 176px);
    }

    .aboutItem__img {
        position: absolute;
        top: 0;
        left: 50%;
        width: min(59.702%, 270px);
        transform: translate(-50%, -50%);
    }

    .aboutItem__txt {
        border-radius: var(--borderRadius10);
        height: auto;
        padding: min(39%, 176px) 30px max(12%, 35px);
    }

    .aboutItem-reverse {
        .aboutItem {
            flex-direction: column;
        }

        .aboutItem__img {
            transform: translate(-50%, -50%);
        }

        .aboutItem__txt {
            border-radius: var(--borderRadius10);
            height: auto;
        }

        .aboutItem__detail {
            transform: none;
        }

    }


    .about-bg01 {
        top: -60%;
    }

    .about-bg02 {
        top: -35%;
    }

    .about-bg03 {
        top: 117%;
    }

    .about-bg04 {
        top: 83%;
    }

    .about-bg06 {
        top: 105%;
    }

    .about-bg07 {
        top: 105%;
    }

    .about-bg08 {
        top: 85%;
    }


}

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

    .aboutItem-reverse {
        .aboutItem__detail {
            dt {
                padding-left: 0.4em;
                line-height: 1.4;
            }
        }
    }



    .about-bg01 {
        top: -50%;
    }

    .about-bg02 {
        top: -26%;
        left: 78%;
    }

    .about-bg03 {
        top: 117%;
    }

    .about-bg04 {
        top: 89%;
        left: 74%;
    }

    .about-bg05 {
        top: 93%;
    }

    .about-bg06 {
        left: 79%;
    }

    .about-bg07 {
        top: 110%;
        left: 3%;
    }

    .about-bg08 {
        top: 89%;
        left: 59%;
    }

}

@media screen and (max-width: 375px) {
    .about-bg01 {
        top: -40%;
    }
}


/*******************************************
loopBox
*******************************************/
/*スライドの動き等速 */
.loopSwiper__list {
    transition-timing-function: linear;

    & .swiper-slide {
        max-width: 500px;
    }
}

/*******************************************
タブ切替　タブ(recruitInfとwork共通)
*******************************************/

.swiper-tab__list {

    align-items: flex-end;

    & .swiper-slide {
        cursor: pointer;
    }

    & .swiper-slide-thumb-active {

        & .infoSwiper-tab__item,
        & .workSwiper-tab__item {
            background-color: var(--blue02);
            height: 100px;
            color: var(--white);
        }
    }

}

.infoSwiper-tab__item,
.workSwiper-tab__item {
    display: flex;
    justify-content: center;
    align-items: center;
    background-color: var(--lightBlue03);
    height: 80px;
    border-radius: 20px 20px 0 0;
    transition: var(--transitionBase);
    font-size: var(--size24);
    color: var(--blue02);
    font-weight: var(--weight700);
}



@media screen and (max-width: 768px) {
    .swiper-tab__list {
        & .swiper-slide-thumb-active .infoSwiper-tab__item {
            height: 80px;
        }
    }
}

@media screen and (max-width: 480px) {
    .swiper-tab__list {
        & .swiper-slide-thumb-active .infoSwiper-tab__item {
            height: 70px;
        }
    }

}


/*******************************************
recruitInfo
*******************************************/
.recruitInfo {
    position: relative;
    padding: clamp(40px, 7.2%, 100px) 0 clamp(40px, 9.655%, 135px);
    z-index: 1;

    & .bg {
        position: absolute;
        width: 100%;
        left: 50%;
        bottom: 0;
        transform: translateX(-50%);
        z-index: -1;
    }
}


.infoSwiper {
    position: relative;
    margin-top: max(16%, 85px);
}

/* タブ */
.infoSwiper-tab {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
}



.infoBox {
    width: min(100%, 880px);
    margin: 0 auto max(9.5%, 35px);

    &:last-child {
        margin-bottom: 0;
    }
}

/* メイン */


.infoSwiper-cont__list {
    & .swiper-slide {
        padding: max(6%, 40px) 0 max(10%, 40px);
        background-color: var(--white);
        /* border-radius: 0 0 0 20px; */
    }
}

.infoBox__ttl {
    font-size: var(--size36);
    text-align: center;
    font-weight: var(--weight700);
    margin-bottom: 30px;
}

.recruitmentBox {
    display: flex;
    justify-content: space-between;
    flex-wrap: wrap;
    gap: 40px;
}

.recruitmentItem {
    width: calc((100% - 40px)/2);
    display: flex;
    flex-direction: column;
}

.recruitmentItem__ttl {
    background-color: var(--beige01);
    color: var(--blue01);
    font-size: var(--size24);
    text-align: center;
    height: 64px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: var(--weight700);
    border-radius: 20px 20px 0 0;
}

.recruitment__detail {
    display: flex;
    flex-direction: column;
    flex: 1;

    & div {
        display: flex;
        border-bottom: 1px solid var(--gray01);

        &:last-child {
            flex: 1;
        }
    }

    & dt {
        width: 108px;
        background-color: var(--lightBlue04);
        padding: 22px 0 0 20px;
        font-weight: var(--weight500);
    }

    & dd {
        flex: 1;
        padding: 20px 20px 24px;
        line-height: var(--lineHight144);
        font-weight: var(--weight400);
    }

    & li {
        position: relative;
        padding-left: 1em;

        &::before {
            position: absolute;
            content: "";
            width: max(0.2em, 2px);
            aspect-ratio: 1;
            background-color: var(--blue01);
            border-radius: var(--borderRadiusCircle);
            left: 0.3em;
            top: 0.6em;
        }
    }
}

/* 高さ合わせるために */
.height-individual01 {
    height: min(100%, 93.25px);
}

/* .height-individual02 {
    height: min(100%, 141.92px);
} */

@media screen and (max-width:940px) {
    .recruitInfo {
        & .section__inner {
            padding: 0 10px;
        }
    }

    /* メイン */
    .infoSwiper-cont__list {
        & .swiper-slide {
            padding: max(6%, 40px) 15px max(10%, 40px);
        }
    }
}

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

    .infoBox {
        width: min(100%, 600px);
    }

    /* タブ */


    .infoSwiper-tab__item {
        height: 60px;
    }


    /* メイン */
    .recruitmentBox {
        flex-direction: column;
    }

    .recruitmentItem {
        width: 100%;
    }


    .height-individual01 {
        height: auto;
    }

    .height-individual02 {
        height: auto;
    }

}

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


    /* タブ */


    .infoSwiper-tab__item {
        height: 50px;
    }

    /* メイン */
    .recruitmentBox {
        gap: 35px;
    }

    .recruitmentItem__ttl {
        height: 35px;
        font-size: 18px;
        border-radius: 10px 10px 0 0;
    }

    .recruitment__detail {
        & dt {
            width: 86px;
            padding: 15px 0 0 10px;
        }

        & dd {
            padding: 13px;
        }
    }
}

/*******************************************
recruitInfo （福利厚生 benefitsBox）
*******************************************/
.benefitItem {
    margin-bottom: max(6.82%, 30px);

    &:last-child {
        margin-bottom: 0;
    }
}


.benefit__ttl {
    font-size: var(--size24);
    font-weight: var(--weight700);
    margin-bottom: 1em;
}

.benefitDetail {
    & div {
        display: flex;
        border-bottom: 1px solid var(--gray01);
        line-height: var(--lineHight160);

        &:first-child {
            border-top: 1px solid var(--gray01);
        }
    }

    & dt {
        width: 312px;
        background-color: var(--green02);
        padding: 19px 10px 20px 20px;
        font-weight: var(--weight500);
    }

    & dd {
        flex: 1;
        padding: 20px 10px 20px 20px;
    }
}




.benefitDetail02 {

    display: flex;
    flex-wrap: wrap;
    gap: 2px;

    & div:not(.benefitDetail02__icon) {
        background-color: var(--green02);
        width: calc((100% - 2px)/2);
        padding: 30px;

        &.others-item {
            width: calc((100% - 4px)/3);
        }
    }



    & dt {
        display: flex;
        justify-content: flex-start;
        align-items: center;
        font-size: var(--size20);
        margin-bottom: 20px;
    }

    & dd {
        line-height: var(--lineHight160);

    }
}

.benefitDetail02__icon {
    width: 48px;
    margin-right: 15px;
}








@media screen and (max-width:768px) {
    .benefitDetail {
        & dt {
            width: 200px;
        }
    }

    .benefitDetail02 {

        & div:not(.benefitDetail02__icon) {
            padding: 20px;

            &.others-item {
                width: calc((100% - 2px)/2);
            }
        }

        & dt {
            margin-bottom: 15px;
        }
    }
}

@media screen and (max-width:480px) {
    .benefit__ttl {
        margin-bottom: 15px;
        font-size: 20px;
    }

    .benefitDetail {
        & dt {
            width: 130px;
            padding: 10px;
        }

        & dd {
            padding: 10px 0 10px 15px;
        }

    }

    .benefitDetail02 {

        flex-direction: column;

        & div:not(.benefitDetail02__icon) {
            width: 100%;
            padding: 15px;

            &.others-item {
                width: 100%;
            }
        }

        & dt {
            font-size: 18px;
            margin-bottom: 10px;
        }
    }

    .benefitDetail02__icon {
        margin-right: 10px;
    }
}



/*******************************************
お仕事詳細 work
*******************************************/
.work {
    background-color: var(--white);
    padding: 0;
}

.work__inner {
    position: relative;
    width: min(100%, 1400px);
    margin: 0 auto;
    padding: clamp(40px, 8.6%, 120px) 0;

    & .bg-01 {
        position: absolute;
        width: 451px;
        top: -6.5%;
        left: -3%;
    }

    & .bg-02 {
        position: absolute;
        width: 358px;
        top: 8.5%;
        left: 77%;
    }

    & .bg-03 {
        position: absolute;
        width: 413px;
        top: 46%;
        left: -6%;
    }

    & .bg-04 {
        position: absolute;
        width: 447.5px;
        top: 60%;
        left: 70%;
        top: 60%;
        left: 77%;
    }




}

.workSwiper {
    position: relative;
    margin-top: max(16%, 130px);
    z-index: 1;
}

/* タブ */
.workSwiper-tab {
    position: absolute;
    bottom: 100%;
    left: 0;
    width: 100%;
}


.workSwiper-tab__item {
    font-size: var(--size20);
}


/* メイン */
.workSwiper-cont__list {
    & .swiper-slide {
        background-color: var(--beige01);
        padding: max(6%, 30px) 0 max(6%, 40px);
    }
}

.workSwiper-cont__item {
    width: min(100%, 880px);
    margin: 0 auto;
}

.workSwiper__ttl {
    font-size: var(--size36);
    text-align: center;
    font-weight: var(--weight700);
}

.workSwiper__txt {
    text-align: center;
    line-height: var(--lineHight188);
    margin: 20px 0 max(6.25%, 35px);
}

.workBox {
    margin-bottom: max(6.25%, 30px);


    &:last-child {
        margin-bottom: 0;
    }
}

.workBox__ttl {
    font-size: var(--size24);
    background-color: var(--blue02);
    color: var(--white);
    border-radius: 20px 20px 0 0;
    text-align: center;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-weight: var(--weight700);
}

.workAbout {
    background-color: var(--white);
    padding: max(4.546%, 20px) max(6.819%, 7px) max(6.819%, 40px);
    border-radius: 0 0 20px 20px;
}

.workAboutFlex {
    display: flex;
    align-items: center;
    margin-bottom: 24px;

    &:last-child {
        margin-bottom: 0;
    }
}

.workAboutFlex__img {
    width: 268px;
    margin-right: 20px;
}

.workAbout__detail {
    flex: 1;

    & dt {
        color: var(--blue02);
        font-size: var(--size20);
        margin-bottom: 20px;
    }

    & dd {
        line-height: var(--lineHight144);
    }
}


.workFlow_detail {
    background-color: var(--white);
    padding: 40px 0;
    border-radius: 0 0 20px 20px;

    & div {
        border-bottom: 2px dotted var(--gray02);
        width: min(100%, 760px);
        margin: 0 auto;
        display: flex;
        justify-content: flex-start;
        align-items: flex-start;
        padding: 20px 0;

        &:last-child {
            border: none;
        }
    }

    & dt {
        background-color: var(--lightBlue02);
        color: var(--blue02);
        font-size: var(--size20);
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: var(--borderRadius50);
        width: 55px;
        padding: 1px 0 2px;
        margin-right: 13px;
        font-weight: var(--weight700);
    }

    & dd {
        font-size: var(--size20);
        font-weight: var(--weight400);
        flex: 1;
    }
}

.workAbout__txt {
    text-align: center;
    line-height: var(--lineHight188);
    margin-bottom: max(3.95%, 20px);
}

.m-top {
    margin-top: max(3.95%, 20px);
}

.workPhoto-outer {
    background-color: var(--white);
    padding: 40px 0;
}

.workPhoto {
    width: min(100%, 820px);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 40px 20px;
}

.workPhoto__item {
    width: calc((100% - 40px)/3);

    & dt {
        text-align: center;
        color: var(--blue02);
        margin-bottom: 20px;
        line-height: var(--lineHight144);
    }
}

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

        & .bg-01 {
            width: 350px;
            top: -5%;
        }

        & .bg-02 {
            width: 278px;
            top: 2%;
        }

        & .bg-05 {
            width: 500px;
            top: 90%;
            left: -9%;
        }

        & .bg-03,
        & .bg-04 {
            display: none;
        }

    }
}


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

    /* メイン */
    .workSwiper-cont__list {
        & .swiper-slide {
            background-color: var(--beige01);
            padding: max(6%, 30px) 15px max(6%, 40px);
        }
    }

    .workFlow_detail {
        padding: 20px 15px;

        & div {

            width: min(100%, 600px);
        }
    }

    .workPhoto-outer {
        padding: 30px 15px;
    }
}

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

    .work__inner {
        & .bg-01 {
            width: 250px;
            top: -3%;
        }

        & .bg-02 {
            width: 180px;
            top: 4%;
        }

        & .bg-05 {
            width: 400px;
            top: 93%;
            left: -14%;
        }
    }


    .workSwiper {
        margin-top: 130px;
    }


    /* タブ */
    .workSwiper-tab__list {
        flex-wrap: wrap;
        gap: 2px;
        margin-bottom: 2px;

        & .swiper-slide {
            width: calc((100% - 2px)/2);
        }

        & .workSwiper-tab__item {
            border-radius: 10px;
            height: 48px;
        }

        & .swiper-slide-thumb-active .workSwiper-tab__item {
            height: 48px;
        }
    }

    /* メイン */
    .workAbout {
        padding: max(4.546%, 20px) max(2.1%, 5px) max(6.819%, 40px);
    }

    .workAboutFlex {
        flex-direction: column;
        margin-bottom: 30px;
    }

    .workAboutFlex__img {
        width: min(100%, 268px);
        margin: 0 auto 20px;
    }

    .workAbout__detail {
        width: min(100%, 600px);
    }

    .workPhoto__item {
        width: calc((100% - 20px)/2);
    }





}


@media screen and (max-width:605px) {
    .workPhoto__item {
        width: 100%;

        & dd {
            width: min(100%, 268px);
            margin: 0 auto;
        }
    }
}

@media screen and (max-width:585px) {
    .work__inner {
        & .bg-01 {
            width: 210px;
        }

        & .bg-05 {
            width: 350px;
            left: -19%;
        }

    }
}


@media screen and (max-width:480px) {
    .work__inner {
        & .bg-01 {
            width: 120px;
            top: -1%;
        }

        & .bg-02 {
            width: 110px;
            top: 3.5%;
            left: 74%;
        }

        & .bg-05 {
            width: 200px;
            top: 95%;
            left: -14%;
        }
    }


    /* メイン */

    .workBox__ttl {
        height: 35px;
        border-radius: 15px 15px 0 0;
    }


    .workAbout__detail {
        & dt {
            font-size: 18px;
            margin-bottom: 10px
        }

        & dd {
            line-height: var(--lineHight175);
        }
    }

    .workFlow_detail {
        padding: 5px 15px;

        & div {
            padding: 15px 0;
            width: min(100%, 600px);
        }

        & dd {
            line-height: var(--lineHight144);
        }
    }

    .workSwiper__txt {
        margin: 10px 0 max(6.25%, 35px);
    }

    .workPhoto__item {
        & dt {
            margin-bottom: 10px;
        }
    }


}

@media screen and (max-width:360px) {
    .work__inner {
        & .bg-05 {
            width: 154px;
            left: -16%;
        }
    }
}


/*******************************************
staff
*******************************************/
.staff {
    position: relative;
    background-color: var(--white);
    padding: 0;

    & .section__inner {
        padding: clamp(40px, 8.572%, 120px) 0 clamp(60px, 10%, 140px);

    }

    & .bg-05 {
        position: absolute;
        width: 635.5px;
        top: -7.7%;
        right: min(61%, 854px);
        left: max(-6.4%, -89.500px);
        z-index: 0;
    }
}

.staff__inner {
    position: relative;
    background-color: var(--green03);
    border-radius: 10vw 10vw 0 0;
    width: 100vw;
    margin: 0 calc(50% - 50vw);
    z-index: 1;
}

.staffBox {
    margin: max(5.5%, 30px) auto max(8.5%, 60px);
}

.staffBox__ttl {
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 20px 20px 0 0;
    background-color: var(--green01);
    color: var(--white);
    font-size: var(--size36);
    font-weight: var(--weight700);
    height: 80px;
}

.dataBox {
    background-color: var(--white);
    padding: max(6%, 30px) 0;

}


.dataBox__ttl {
    margin: 0 0 max(4.6%, 20px);
    font-size: var(--size36);
    text-align: center;
    font-weight: var(--weight700);
}


.dataBox__type {
    width: min(100%, 880px);
    margin: 0 auto max(5.5%, 40px);

    &:last-child {
        margin-bottom: 0;
    }
}

.dataBox__detail {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 40px;


    & dt {
        display: flex;
        justify-content: center;
        align-items: center;
        border-radius: 20px 20px 0 0;
        height: 80px;
        font-size: var(--size24);
        background-color: var(--beige01);
    }

}

.dataBox__item {
    width: calc((100% - 40px)/2);
}

.paginationFlex-data {
    display: none;
}


/* インタビュー */
.interviewBox__ttl {
    text-align: center;
    font-size: var(--size36);
    font-weight: var(--weight700);
}

.interviewSwiper {
    margin-top: 60px;
}

.interviewSwiper__list {
    flex-wrap: wrap;
    gap: 40px 50px;

    & .swiper-slide {
        width: calc((100% - 50px)/2);
        height: auto;
        border-radius: var(--borderRadius20);
        overflow: hidden;
        cursor: pointer;
        background-color: var(--white);

        &:hover .more {
            opacity: .7;
        }
    }
}

.interview__main {
    padding-bottom: 30px;
}

.interview__ttl {
    display: flex;
    flex-direction: column;
    gap: 5px;
    margin: -4.5% 0 max(6.316%, 20px);

    & span {
        background-color: var(--blue02);
        color: var(--white);
        font-size: var(--size20);
        font-weight: var(--weight700);
        width: fit-content;
        border-radius: 0 10px 10px 0;
        line-height: var(--lineHight20);
        padding: 0 10px;
    }
}

.interview__txt {
    padding: 0 30px;
}

.interview__detail {

    & dt {
        font-weight: var(--weight500);
    }

    & dd {
        margin: 15px 0 45px;
    }
}

.interview__type {
    font-weight: var(--weight500);
}

.more {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    font-weight: var(--weight500);
    transition: var(--transitionBase);
    margin-top: 25px;

    & .arrow {
        position: relative;
        transform: none;
        width: 38px;
        background-color: var(--orange01);
        top: 0;
        right: 0;
        margin-left: 15px;

        &::before,
        &::after {
            background-color: var(--white);
        }
    }
}

.paginationFlex-interview {
    display: none;
}

.interview__ttl--sp {
    display: none;
}





@media screen and (max-width:1024px) {
    .staff {
        & .section__inner {
            padding: clamp(40px, 8.572%, 120px) 20px clamp(60px, 10%, 140px);
        }

        & .bg-05 {
            width: 500px;
            left: -9%;
            top: -6.3%;
        }
    }
}

@media screen and (max-width:940px) {
    .dataBox__type {
        padding: 0 15px;
        width: min(100%, 600px);
    }
}

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

    .interviewSwiper {
        width: min(94.7vw, 730px);
        margin: 40px calc(50% - 50vw) 0 auto;
        overflow: hidden;
    }

    .interviewSwiper__list {
        flex-wrap: nowrap;
        gap: 0;
        width: min(94.7%, 730px);
        width: 100%;
        margin-left: auto;

        & .swiper-slide {
            width: 100%;
            height: auto;
            border-radius: var(--borderRadius10);

            &:hover .more {
                opacity: 1;
            }
        }
    }

    .interviewSwiper__item {
        display: flex;
        flex-direction: column;
        height: 100%;
    }

    .interview__main {
        display: flex;
        flex-direction: column;
        flex-grow: 1;
        height: 100%;
    }

    .interview__ttl {
        display: none;
    }


    .interview__ttl--sp {
        display: flex;
        margin: -15% 0 max(6.316%, 20px);
    }

    .interviewSwiper__item03 {
        & .interview__ttl--sp {
            flex-grow: 1;
        }
    }

    .paginationFlex-interview {
        display: block;
        margin: 30px auto 0;

        & .pageDot {

            & .swiper-pagination-bullet {
                border: 1px solid var(--green01);
            }

            & .swiper-pagination-bullet-active {
                background-color: var(--green01);
            }
        }
    }






}





@media screen and (max-width:768px) {
    .staff {
        & .bg-05 {
            width: 400px;
            left: -14%;
            top: -7.5%;
        }
    }


    .dataBox__type {
        padding: 0 15px;
        width: min(100%, 400px);
    }


    .dataBox__detail {
        flex-wrap: nowrap;
        justify-content: initial;
        gap: 0;


        & dt {
            display: flex;
            justify-content: center;
            align-items: center;
            border-radius: 10px 10px 0 0;
            height: 35px;
            font-size: var(--size24);
            background-color: var(--beige01);
        }

    }

    .dataBox__item {
        width: auto;
    }


    .ataBox__detail--part {
        flex-direction: column;
        gap: 20px;
    }

    .paginationFlex-data {
        display: block;
        margin: 25px auto 0;

        & .pageDot {

            & .swiper-pagination-bullet {
                border: 1px solid var(--green01);
            }

            & .swiper-pagination-bullet-active {
                background-color: var(--green01);
            }
        }
    }






    .more {
        & .arrow {
            width: 28px;
            margin-left: 10px;
        }
    }


}

@media screen and (max-width:585px) {
    .staff {
        & .bg-05 {
            width: 350px;
            left: -19%;
            top: -7%;
        }
    }
}

@media screen and (max-width:517px) {
    .staff {
        & .bg-05 {
            width: 300px;
        }
    }
}

@media screen and (max-width:480px) {
    .staff {
        & .bg-05 {
            width: 200px;
            left: -14%;
            top: -6%;
        }
    }

    .staffBox__ttl {
        height: 45px;
    }

    .dataBox__detail {
        dt {
            font-size: 18px;
        }
    }

    .interviewSwiper {
        margin: 30px calc(50% - 50vw) 0 auto;
    }

    .interview__main {
        padding-bottom: 15px;
    }


    .interview__ttl {

        & span {
            line-height: 1.5;
            border-radius: 0;
        }

    }




    .interview__txt {
        padding: 0 20px;
        display: flex;
        flex-direction: column;
        /* flex-grow: 1; */
    }

    .interview__txt:not(.interview__txt03) {
        flex-grow: 1;
    }



    .interview__detail {
        display: flex;
        flex-direction: column;
        flex-grow: 1;

        & dd {
            margin: 10px 0 20px;
        }
    }

    .more {
        margin-top: 20px;
    }

}

@media screen and (max-width:360px) {
    .staff {
        & .bg-05 {
            width: 148px;
            left: -13%;
        }
    }
}








/*******************************************
モーダル
*******************************************/

.featherlight {
    overflow: scroll;
}

.featherlight .featherlight-content {
    width: 100%;
    height: auto;
    max-height: none;
    margin: 0;
    padding: 0;
    border: none;
    background-color: transparent;
    padding: max(8svh, 50px) 0;
}

.featherlight:last-of-type {
    background: rgba(7, 29, 77, .5);
}


.featherlight .featherlight-close-icon,
.modalBox {
    display: none;
}


.modalBox {
    position: relative;
    width: min(100%, 1240px);
    margin: 0 auto;
    background-color: var(--beige01);
    padding: clamp(45px, 11.78%, 165px) 0 max(60px, 5.7%, 80px);
    border-radius: max(1.5vw, 10px);
}

.modalClose {
    transition: var(--transitionBase);
    cursor: pointer;

    &:hover {
        opacity: .7;
    }
}

.modalClose-top {
    position: absolute;
    width: 60px;
    aspect-ratio: 1;
    top: 0;
    right: 0;
    border-radius: var(--borderRadiusCircle);
    background-color: var(--orange02);
    transform: translate(50%, -50%);
    transition: var(--transitionBase);

    &::before,
    &::after {
        position: absolute;
        content: "";
        background-color: var(--white);
        height: 2px;
        width: 40%;
        top: 50%;
        left: 50%;
    }

    &::before {
        transform: translate(-50%, -50%) rotate(45deg);
    }

    &::after {
        transform: translate(-50%, -50%) rotate(-45deg);
    }
}

.modalClose-bottom {
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--size19);
    color: var(--white);
    background-color: var(--blue02);
    border-radius: var(--borderRadius50);
    width: min(100%, 220px);
    height: 62px;
    position: relative;
    margin: 40px auto 0;

    &::before,
    &::after {
        position: absolute;
        content: "";
        top: 50%;
        right: 8%;
        width: 23px;
        height: 2px;
        background-color: var(--white);
    }

    &::before {
        transform: translateY(-50%) rotate(45deg);
    }

    &::after {
        transform: translateY(-50%) rotate(-45deg);
    }
}


.modal__inner {
    position: relative;
    width: min(100%, 1000px);
    margin: 0 auto;
}


.modalMv__number {
    font-size: var(--size18);
    font-weight: var(--weight700);
    color: var(--blue02);
}

.modalMv__flex {
    position: relative;
}

.modalMv__img {
    width: 72%;
    margin: -10.5% 0 0 auto;
    border-radius: max(1vw, 10px);
    overflow: hidden;
}

.modalMv__txt {
    position: absolute;
    top: 50%;
    left: 0;
    transform: translateY(-37%);
}

.modalMv__ttl {
    display: flex;
    flex-direction: column;
    gap: 5px;

    & span {
        width: fit-content;
        background-color: var(--blue02);
        font-size: var(--size40);
        color: var(--white);
        border-radius: 0.5vw;
        line-height: 1.5;
        font-weight: var(--weight700);
        padding: 0 5px;
    }
}

.modalMv__detailOuter {
    border-left: 4px solid var(--blue02);
    font-size: var(--size18);
    padding-left: 1em;
    margin-top: 7%;

    & .mark-orange {
        display: block;
        font-weight: var(--weight500);

        &::before {
            width: 14px;
        }
    }
}

.modalMv__detail {
    & dt {
        font-weight: var(--weight500);
    }

    & dd {
        margin: 5px 0 10px;
        font-weight: var(--weight500);
    }
}

.q-box {
    margin-top: max(8%, 50px);
}

.q-box__detail {

    & dt {
        position: relative;
        font-size: var(--size23);
        padding-left: 2.868em;
        line-height: 1.35;

        &::before {
            position: absolute;
            content: "";
            background-image: url(../img/staff/q-01.svg);
            background-repeat: no-repeat;
            background-size: contain;
            top: 0;
            left: 0;
            width: 2.435em;
            aspect-ratio: 56/28;
            transform: translateY(20%);
        }

        &:nth-of-type(2)::before {
            background-image: url(../img/staff/q-02.svg);
        }

        &:nth-of-type(3)::before {
            background-image: url(../img/staff/q-03.svg);
        }

        &:nth-of-type(4)::before {
            background-image: url(../img/staff/q-04.svg);
        }

        &:nth-of-type(5)::before {
            background-image: url(../img/staff/q-05.svg);
        }
    }

    & dd {
        margin: 20px 0 35px;
        font-weight: var(--weight400);
        background-color: var(--white);
        padding: 1.15em;
        line-height: var(--lineHight175);
        border-radius: var(--borderRadius10);

        &:last-of-type {
            margin-bottom: 0;
        }
    }
}


@media screen and (max-width:1340px) {
    .modalBox {
        width: min(100%, 1100px);
    }
}



@media screen and (max-width:1250px) {
    .featherlight .featherlight-content {
        padding: max(8svh, 50px) 15px;
    }
}


@media screen and (max-width:1165px) {
    .modalClose-top {
        transform: translate(20%, -50%);
    }
}





@media screen and (max-width:1055px) {
    .modal__inner {
        padding: 0 25px;
    }
}

@media screen and (max-width:1024px) {
    .modal__inner {
        width: min(100%, 800px);
    }

    .modalMv__img {
        width: 100%;
        margin: 25px 0 0;
    }

    .modalMv__txt {
        position: relative;
        top: 0;
        left: 0;
        transform: none;
        margin-top: -17%;
    }


    .modalMv__ttl {
        & span {
            font-size: min(5.067vw, 40px);
        }
    }


    .modalMv__detailOuter {
        margin-top: max(4%, 17px);
    }

    .modalClose-top {
        transform: none;
        top: 20px;
        right: 20px;
    }

}

@media screen and (max-width:480px) {
    .modalMv__detailOuter {
        font-size: 14px;
        border-left: 3px solid var(--blue02);
        padding-left: 0.5em;
    }

    .q-box__detail {
        & dt {
            padding-left: 35px;

            &::before {
                width: 30px;
                transform: translateY(30%);
            }
        }
    }

    .modalClose-top {
        width: 40px;
    }
}



/*******************************************
search
*******************************************/

.search {
    background-color: var(--white);

    & .section__inner {
        padding: max(8.575%, 40px) 0 0;
    }

    & .ttlBox {
        margin-bottom: max(9.5%, 35px);
    }

    & .bg-01 {
        position: absolute;
        width: max(37.786%, 116px);
        top: -6%;
        left: -3.5%;
    }

    & .bg-02 {
        position: absolute;
        width: max(24.36%, 95px);
        top: 23%;
        left: -4%;
    }

    & .bg-03 {
        position: absolute;
        width: max(24.07%, 107.6px);
        top: 11%;
        left: 78.5%;
    }
}

.searchBox {
    position: relative;
    margin-bottom: max(12%, 50px);

    &:last-child {
        margin-bottom: 0;
    }
}

.searchBox02 {
    padding: max(18%, 45px) 0 max(29.5%, 105px);
}



.bg-weve {
    display: flex;
    position: absolute;
    width: 2247px;
    left: 50%;
    bottom: 0;
    transform: translateX(-50%);
    animation: waveFlow01 15s linear infinite;

}

.bg-weve__inner {
    position: relative;

    &::before,
    &::after {
        position: absolute;
        content: "";
        background-image: url(../img/search/bg-04.png);
        background-repeat: no-repeat;
        background-size: 100%;
        width: 2247px;
        top: 0;
        bottom: 0;
    }

    &::before {
        left: 100%;
    }

    &::after {
        right: 100%;
    }
}


@keyframes waveFlow01 {
    0% {
        transform: translateX(0);
    }

    100% {
        transform: translateX(-100%);
    }
}





.searchBox__ttl {
    position: relative;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: var(--size28);
    font-weight: var(--weight700);
    gap: 10px;

    & .icon01 {
        width: 1.02em;
    }

    & .icon02 {
        width: 1.43em;
    }

    & .bg-05 {
        position: absolute;
        width: max(10.5%, 50px);
        top: -270%;
        left: -7%;
    }

    & .bg-06 {
        position: absolute;
        width: max(13.6%, 50px);
        top: 55%;
        left: 80%;
    }
}

.mapBox {
    width: min(100%, 661.4px);
    margin: max(4%, 30px) auto max(8%, 30px);
}

.office__list {
    position: relative;
    margin-top: max(8%, 30px);
    display: flex;
    justify-content: space-between;
    gap: 35px 50px;
    flex-wrap: wrap;
    z-index: 1;
}

.office__item {
    width: calc((100% - 50px)/2);
}

.office__name {
    font-size: var(--size22);
    margin-bottom: max(5.27%, 15px);
    font-weight: var(--weight700);
}

.office__link {
    display: flex;
    justify-content: space-between;
    gap: 25px;

    & li {
        width: calc((100% - 25px)/2);
    }

    & .btn {
        background-color: var(--beige01);
        font-weight: var(--weight700);
        font-size: var(--size18);
    }
}

.typeBox {
    position: relative;
    margin-top: max(6%, 30px);
    margin-bottom: max(6%, 40px);

    &:last-child {
        margin: 0;
    }
}

.typeBox__ttl {
    font-size: var(--size22);
    text-align: center;
    font-weight: var(--weight700);
    margin-bottom: max(4%, 20px);
}

.typeBox__list {
    display: flex;
    justify-content: space-between;
    gap: 35px;

    & li {
        width: calc((100% - 105px)/3);
    }

    & .btn {
        color: var(--white);
        font-size: var(--size18);
        font-weight: var(--weight700);
    }
}

/* 2248以上 */
@media screen and (min-width:2248px) {
    .bg-weve {
        position: absolute;
        width: 100vw;
        max-height: 870px;
    }

    .bg-weve__inner {
        position: relative;

        &::before,
        &::after {
            width: 100vw;
        }
    }
}



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

        & .section__inner {
            padding: max(8.575%, 40px) 15px 0;
        }

        & .bg-02 {
            top: 15%;
        }

        & .bg-03 {
            top: 3%;
        }

    }

    .searchBox02 {
        padding: max(18%, 45px) 0 max(18%, 105px);
    }


    .searchBox__ttl {
        & .bg-05 {
            top: -100%;
            left: 3%;
        }
    }

    .typeBox__list {
        flex-wrap: wrap;
        gap: 35px;

        & li {
            width: calc((100% - 35px)/2);
        }
    }
}

@media screen and (max-width:900px) {
    .office__link {
        flex-direction: column;

        & li {
            width: 100%;
        }
    }
}

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

    .search {
        & .bg-01 {
            top: -2%;
            width: 30.89%;
        }

        & .bg-02 {
            top: 11%;
        }

        & .bg-03 {
            top: 1%;
        }
    }

    .searchBox02 {
        &::before {
            position: absolute;
            content: "";
            width: 100vw;
            height: 85%;
            background-color: var(--beige02);
            bottom: 0;
            left: 50%;
            transform: translateX(-50%);
        }
    }

    .bg-weve {
        width: 100vw;
        bottom: auto;
        top: 0;
    }

    .bg-weve__inner {

        &::before,
        &::after {
            background-image: url(../img/search/bg-04-sp.png);
            width: 100vw;
        }
    }
}


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

    .search {
        & .bg-01 {
            top: -1.2%;
            left: -7%;
        }

        & .bg-02 {
            top: 5.5%;
        }

        & .bg-03 {
            top: 2.5%;
        }
    }

    .searchBox__ttl {
        font-size: 18px;
        flex-direction: column;

        & .icon01 {
            width: 29px;
        }

        & .icon02 {
            width: 40px;
        }

        & .bg-05 {
            top: -20%;
        }

        & .bg-06 {
            top: 20%;
            left: 85%;
        }
    }

    .office__list {
        gap: 30px;
    }

    .office__item {
        width: calc((100% - 30px) / 2);
    }

    .typeBox-outer {
        width: min(100%, 300px);
        margin: 0 auto;
    }

    .typeBox__list {
        gap: 20px;

        & li {
            width: 100%;
        }

        & .btn {
            font-size: 17px;
        }
    }

    .bg-weve {
        transform: translate(-50%, 2%);
    }

}

@media screen and (max-width:375px) {
    .office__list {
        flex-direction: column;
        width: min(100%, 335px);
        margin: max(8%, 30px) auto 0;
    }

    .office__item {
        width: 100%;
    }

    .office__link {
        flex-direction: row;
        gap: 20px;

        & li {
            width: calc((100% -20px)/2);
        }
    }

}



/*******************************************
sectionEntry
*******************************************/
.sectionEntry {
    background-color: var(--beige02);
    margin-top: max(-10%, -152px);
    position: relative;
}

.sectionEntry__bg {
    border-radius: 13vw 13vw 0 0;
    overflow: hidden;

}

.sectionEntry__txtBox {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -39%);
    width: 100%;
}

.sectionEntry__logo {
    width: min(100%, 452.9px);
    margin: 0 auto;
}

.sectionEntry__btn {
    width: min(100%, 350px);
    margin: clamp(25px, 9%, 40px) auto 0;

    & a {
        position: relative;
        width: 100%;
        height: 100px;
        display: flex;
        justify-content: center;
        align-items: center;
        border: 1px solid var(--white);
        color: var(--white);
        font-size: var(--size20);
        font-weight: var(--weight700);
        transition: var(--transitionBase);

        &::before,
        &::after {
            position: absolute;
            content: "";
            width: 4%;
            height: 2px;
            top: 50%;
            right: 7%;
            background-color: var(--white);
            transition: var(--transitionBase);
        }


        &::before {
            transform-origin: bottom right;
            transform: translateY(-50%) rotate(45deg);
        }

        &::after {
            transform-origin: top right;
            transform: translateY(-50%) rotate(-45deg);
        }

        &:hover {
            background-color: var(--white);
            color: var(--black);

            &::before,
            &::after {
                background-color: var(--black);
            }
        }
    }

}


@media screen and (max-width:1200px) {
    .sectionEntry__logo {
        width: min(100%, 300px);
    }

    .sectionEntry__btn {
        & a {
            height: 80px;
        }
    }

    .sectionEntry__txtBox {
        transform: translate(-50%, -50%);
    }

}


@media screen and (max-width:768px) {
    .sectionEntry__btn {
        & a {
            &:hover {
                background-color: var(--transitionBase);
                color: var(--white);

                &::before,
                &::after {
                    background-color: var(--white);
                }
            }
        }
    }
}

@media screen and (max-width:480px) {
    .sectionEntry__logo {
        width: min(100%, 220px);
    }

    .sectionEntry__btn {
        width: min(100%, 300px);
        margin: 25px auto 0;

        & a {
            font-size: 17px;

            &::before,
            &::after {
                width: 15px;
            }

        }

    }
}








/*******************************************
footer
*******************************************/

.footer {
    background-color: #fff;
    padding: 40px 0 45px;
    position: relative;
}

.footer-nav {
    margin: 0 auto 20px;
    display: flex;
    justify-content: center;
    gap: 30px;

    & a {
        position: relative;
        font-size: 15px;
        font-weight: 700;

        &:hover {
            opacity: .7;
        }
    }

    & a:not(:first-child):before {
        position: absolute;
        content: "";
        width: 1px;
        height: 100%;
        background-color: #000;
        top: 50%;
        left: -14px;
        transform: translate(50%, -50%);
    }
}


.copyright {
    font-size: 15px !important;
    text-align: center;
    font-weight: 700;
}

/* 求人ページ用 #0d68d3を置き換え*/
/* .footer-nav a,
.copyright {
    color: #fff !important;
    text-decoration: none;
}

.footer-nav a:not(:first-child):before {
    background-color: #fff !important;
}

.pageid,
.button_search,
.result_box_ttl {
    background: #0d68d3;
}

.button_application {
    background-color: #0d68d3;
    color: #fff;

    &:hover {
        background-color: #fff;
        color: #0d68d3;
    }
}

.button_detail {
    background-color: #fff;
    border: 2px solid #0d68d3;
    color: #0d68d3;

    &:hover {
        background-color: #0d68d3ff;
        color: #fff;
    }
} */



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

    .footer {
        padding: 20px 0 min(19%, 100px);
    }

    .footer-nav {
        gap: 20px;

        & a {
            font-size: 14px;
        }

        & a:not(:first-child):before {
            left: -9px;
        }
    }

    .copyright {
        font-size: 14px !important;
    }
}

@media screen and (max-width:560px) {
    .footer-nav {
        flex-wrap: wrap;
        column-gap: 30px;
        row-gap: 10px;

        & a {
            font-size: 14px;
        }

        & a:last-child::before {
            display: none;
        }

        & a:not(:first-child):before {
            left: -14px;
        }
    }

    .copyright {
        font-size: 14px !important;
    }
}

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

    .footer-nav {

        & a {
            width: 100%;
            text-align: center;
            font-size: 14px;

            &::before {
                display: none;
            }
        }

    }

    .copyright {
        line-height: 1.538;
        font-size: 13px !important;
    }
}