@charset "utf-8";

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

body.fll-time {
    .voice-modal {
        & .modalItem-outer {
            padding-bottom: 50px;

            &::after {
                display: none
            }
        }
    }

    .recruitmentFlow__item {
        width: calc((100% - (4.55% * 4)) / 5);

        .icon {
            width: max(3.3em, 54px);
        }
    }
}

.modall-full-time__txt {
    width: min(89.38%, 1260px);
    margin: 20px auto 0;
    font-size: max(var(--font19), 13px);
    line-height: 2;

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

}

.requirementsDetail__flex {

    dd {
        strong {
            margin-top: 1em;
            display: block;

            &:first-child {
                margin-top: 0;
            }
        }
    }

}

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

    @media screen and (max-width:1120px) {
        padding-left: 20px !important;
        padding-right: 20px !important;
    }
}

.section__ttl {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    font-size: max(var(--font32), 20px);
    padding-bottom: max(0.93em, 20px);
    text-align: center;
    margin: 0 auto max(1.718em, 30px);

    &::before {
        position: absolute;
        content: "";
        bottom: 0;
        left: 50%;
        transform: translateX(-50%);
        background-color: var(--green05);
        width: 3.125em;
        height: 5px;
    }

    .en {
        font-size: min(var(--font21-12), 20px);
        font-weight: var(--weight900);
        letter-spacing: var(--fontSpace110);
        color: var(--green05);
    }

    .ja {
        font-size: 1em;
        letter-spacing: var(--fontSpace070);
        line-height: 1.6;
    }

    @media screen and (max-width:480px) {
        &::before {
            height: 3px;
        }

        .ja {
            margin-top: 10px;
        }
    }
}



/*******************************************
mv
*******************************************/
.mv {
    margin-top: var(--headerHeight);
    background-color: var(--green09);
    aspect-ratio: 1440/290;
    display: flex;
    justify-content: center;
    align-items: center;
    width: 100%;
    max-height: 290px;
    min-height: 255px;
    font-size: clamp(28px, 3.125vw, 45px);
    padding: 0 20px;


    @media screen and (max-width:1024px) {
        margin-top: 0;
    }
}

.mvTxt__box {
    width: 100%;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.mv__siteCategory {
    font-size: max(0.35em, 14px);
    background-color: var(--white);
    width: 13.8125em;
    height: 2.625em;
}

.mv__ttl {
    line-height: 1.142;
    margin: 0.6em auto;
    letter-spacing: var(--fontSpace020);
    text-align: center;
}

.mv__tagList {
    font-size: max(0.4em, 17px);
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;

    li {
        position: relative;
        padding-right: 1em;
        font-size: 1em;
        letter-spacing: var(--fontSpace140);
        font-weight: var(--weight500);
        text-align: center;
        line-height: 1.488;

        &:last-child {
            padding: 0;

            &::before {
                display: none;
            }
        }

        &::before {
            position: absolute;
            content: "／";
            top: 0;
            right: 0;
        }
    }
}



/*******************************************
message
*******************************************/
.message {
    .section__inner {
        padding: clamp(50px, 7%, 95px) 0 clamp(55px, 7%, 100px);
    }
}

.message__box {
    padding-bottom: max(11.8%, 65px);
    border-bottom: 1.5px solid var(--gray04);
    margin: 0 auto max(6.8%, 30px);
}

.message__txt {
    margin: 0 auto;
    text-align: center;
    font-size: max(var(--font19), 13px);
    letter-spacing: var(--fontSpace140);
    line-height: var(--lineHight20);
    font-weight: var(--weight500);
    margin-top: 1.5em;

    &:first-child {
        margin-top: 0;
    }
}

/* work */
.messageWork__flex {
    display: flex;
    flex-direction: row-reverse;

    @media screen and (max-width:768px) {
        flex-direction: column;
    }
}

.messageWork__img {
    width: clamp(240px, 28.472vw, 410px);
    margin-right: clamp(15px, 3.125vw, 45px);

    @media screen and (max-width:768px) {
        margin: clamp(15px, 4vw, 25px) auto 0;
    }
}

.messageWork__detail {
    flex: 1;
    padding-top: 2.25%;
    font-size: max(var(--font28-14), 18px);
    letter-spacing: var(--fontSpace050);

    dt {
        font-size: 1em;
        margin-bottom: max(0.714em, 15px);
    }

    dd {
        font-size: max(var(--font19), 13px);
        line-height: var(--lineHight175);
        font-weight: var(--weight500);
    }

    @media screen and (max-width:768px) {
        dt {
            text-align: center;
        }

        dd {
            line-height: var(--lineHight153);
            letter-spacing: 0;
            font-weight: var(--weight700);
        }
    }
}

.messageWork__txt {
    margin-top: 1.57em;
    font-size: 1em;

    @media screen and (max-width:768px) {
        margin-top: clamp(13px, 1em, 15px);
    }
}



/*******************************************
point
*******************************************/
.point {
    background-color: var(--gray05);

    .section__inner {
        padding: 45px 0 clamp(55px, 6%, 85px);
    }

    @media screen and (max-width:480px) {
        .section__inner {
            padding-top: 35px;
        }
    }
}

.point__list {
    display: flex;
    justify-content: center;
    gap: 3.472vw;
    counter-reset: num;

    @media screen and (max-width:768px) {
        gap: clamp(10px, 2.66vw, 20px);
        flex-wrap: wrap;
        width: min(100%, 500px);
        margin: 0 auto;
    }
}

.point__item {
    position: relative;
    width: calc((100% - (3.472vw*2))/2);
    border-radius: var(--borderRadius20);
    overflow: hidden;
    background-color: var(--white);
    font-size: var(--font28-14);
    counter-increment: num;

    &::before {
        position: absolute;
        content: counter(num, decimal-leading-zero);
        top: 0;
        left: 0;
        font-size: 2.428em;
        color: var(--white);
        line-height: 1;
        font-weight: var(--weight500);
        transform: translate(25%, 5%);
    }

    @media screen and (max-width:768px) {
        width: calc((100% - clamp(10px, 2.66vw, 20px))/2);
    }

}

.point__detail {
    display: flex;
    flex-direction: column;
    padding: 20px 20px 35px;
    letter-spacing: var(--fontSpace050);

    dt {
        font-size: 1em;
        text-align: center;
        margin-bottom: 0.6em;
    }

    dd {
        font-size: var(--font19);
        font-weight: var(--weight500);

        p {
            font-size: 1em;
        }
    }

    @media screen and (max-width:480px) {
        padding: 15px 10px;
    }

    @media screen and (max-width:375px) {
        dd {
            font-size: 10px;
        }
    }
}



/*******************************************
voice
*******************************************/
.voice {
    .section__inner {
        padding: clamp(30px, 4%, 50px) 0 clamp(70px, 8%, 115px);
    }
}

.voice__list {
    display: flex;
    justify-content: space-between;

    @media screen and (max-width:768px) {
        flex-direction: column;
        gap: 30px;
        width: min(100%, 400px);
        margin: 0 auto;
    }

    @media screen and (max-width:370px) {
        width: min(100%, 250px);
    }
}

.voiceItem {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: flex-start;
    border: 1px solid var(--gray04);
    border-radius: var(--borderRadius20);
    width: calc((100% - 3.125vw)/2);
    padding: 1.07em 0.8em;/* 28pxの場合 */
    padding: 1.25em 1.04em;/* 24pxの場合 */
    font-size: max(var(--font24-15), 17px);
    letter-spacing: var(--fontSpace050);
    background-color: var(--white);

    &::before {
        position: absolute;
        content: "";
        width: 100%;
        height: 100%;
        top: 10px;
        left: 10px;
        background-color: var(--green10);
        border-radius: var(--borderRadius20);
        z-index: -1;
        pointer-events: none;
        transition: var(--transition01);
    }

    .icon {
        width: max(6.42em, 114px);
        width: max(7.5em, 114px);
        border-radius: var(--borderRadiusCircle);
        overflow: hidden;
        margin-right: 1.07em;
        margin-right: 1.25em;
        transition: var(--transition01);
    }

    &:hover {
        opacity: 1 !important;

        .icon {
            opacity: var(--opacity07);
        }
    }

    @media screen and (max-width:768px) {
        width: 100%;
    }

    @media screen and (max-width:480px) {
        padding: min(5.333vw, 20px);
    }

    @media screen and (max-width:370px) {
        flex-direction: column;
        align-items: center;
    }
}

.voiceItem__txtBox {
    flex: 1;
    display: flex;
    flex-direction: column;
    height: 100%;

    .frame01 {
        background-color: var(--green05);
        color: var(--white);
        border: none;
        font-size: max(var(--font17), 10.5px);
        width: max(7em, 76px);
        height: max(1.76em, 20px);
        margin: auto 0 0 auto;
    }

    @media screen and (max-width:370px) {
        width: 100%;
    }
}

.voiceItem__number {
    font-size: max(var(--font17), 10.5px);
    border-bottom: 1px solid var(--gray04);
    text-align: right;
    color: var(--green05);
    padding-bottom: 10px;
}

.voiceItem__ttl {
    font-size: 1em;
    line-height: 1.39;
    margin: 15px 0;
    text-align: left;


    @media screen and (max-width:370px) {
        width: fit-content;
        margin-left: auto;
        margin-right: auto;
    }
}