/* Shared recruitment photo marquee. */

.c-recruit-marquee {
    position: relative;
    box-sizing: border-box;
    height: clamp(620px, 60.99vw, 1171px);
    overflow: hidden;
    background: #fff5ea;
    border: 5px solid var(--color-orange);
}

.c-recruit-marquee__text {
    position: absolute;
    top: 44px;
    left: 0;
    display: flex;
    width: max-content;
    will-change: transform;
    animation: recruit-text-marquee 34s linear infinite;
}

.c-recruit-marquee__text-set {
    flex: 0 0 auto;
    padding-right: 140px;
}

.c-recruit-marquee__text span {
    display: block;
    color: transparent;
    background: linear-gradient(90deg, var(--color-red), var(--color-orange));
    background-clip: text;
    -webkit-background-clip: text;
}

.c-recruit-marquee__gallery {
    position: absolute;
    top: 306px;
    left: 0;
    width: 100%;
    overflow: hidden;
}

.c-recruit-marquee__gallery-track {
    display: flex;
    width: max-content;
    will-change: transform;
    animation: recruit-gallery-marquee 44s linear infinite;
}

.c-recruit-marquee__gallery-set {
    display: flex;
    flex: 0 0 auto;
    gap: 74px;
    padding-right: 74px;
}

.c-recruit-marquee__column {
    display: grid;
    flex: 0 0 600px;
    grid-template-rows: repeat(2, 400px);
    gap: 60px;
}

.c-recruit-marquee__photo {
    width: 600px;
    height: 400px;
    margin: 0;
    overflow: hidden;
}

.c-recruit-marquee__photo--portrait {
    flex: 0 0 600px;
    height: 860px;
}

.c-recruit-marquee__photo--feature {
    flex: 0 0 1000px;
    width: 1000px;
    height: 860px;
}

.c-recruit-marquee__photo img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

@media (min-width: 768px) and (max-width: 1699px) {
    .c-recruit-marquee__text {
        top: 2.292vw;
    }

    .c-recruit-marquee__text-set {
        padding-right: 7.292vw;
    }

    .c-recruit-marquee__gallery {
        top: calc(15.938vw - 8px);
    }

    .c-recruit-marquee__gallery-set {
        gap: 3.854vw;
        padding-right: 3.854vw;
    }

    .c-recruit-marquee__column {
        flex-basis: 31.25vw;
        grid-template-rows: repeat(2, 20.833vw);
        gap: 3.125vw;
    }

    .c-recruit-marquee__photo {
        width: 31.25vw;
        height: 20.833vw;
    }

    .c-recruit-marquee__photo--portrait {
        flex-basis: 31.25vw;
        height: 44.792vw;
    }

    .c-recruit-marquee__photo--feature {
        flex-basis: 52.083vw;
        width: 52.083vw;
        height: 44.792vw;
    }
}

@media (max-width: 767px) {
    .c-recruit-marquee {
        height: 620px;
        border-width: 3px;
    }

    .c-recruit-marquee__text {
        top: 30px;
        animation-duration: 24s;
    }

    .c-recruit-marquee__text-set {
        padding-right: 60px;
    }

    .c-recruit-marquee__gallery {
        top: 150px;
    }

    .c-recruit-marquee__gallery-track {
        animation-duration: 34s;
    }

    .c-recruit-marquee__gallery-set {
        gap: 30px;
        padding-right: 30px;
    }

    .c-recruit-marquee__column {
        flex-basis: 260px;
        grid-template-rows: repeat(2, 185px);
        gap: 30px;
    }

    .c-recruit-marquee__photo {
        width: 260px;
        height: 185px;
    }

    .c-recruit-marquee__photo--portrait {
        flex-basis: 260px;
        height: 400px;
    }

    .c-recruit-marquee__photo--feature {
        flex-basis: 460px;
        width: 460px;
        height: 400px;
    }
}

@keyframes recruit-text-marquee {
    to {
        transform: translateX(-50%);
    }
}

@keyframes recruit-gallery-marquee {
    to {
        transform: translateX(-50%);
    }
}

@media (prefers-reduced-motion: reduce) {
    .c-recruit-marquee__text,
    .c-recruit-marquee__gallery-track {
        animation-play-state: paused;
    }
}
