/* 基準となる可変ユニットの定義 */
/* PC */
.recruit-content {
    --u: calc(100vw * 10 / 1440);
    font-size: calc(var(--u) * 1.6);
}
/* SP */
@media screen and (max-width: 767px) {
    .recruit-content {
        --u: calc(100vw * 10 / 390);
    }
}



/* common */
body.is-no-scroll {
    overflow: hidden;
}
section {
    margin-bottom: 0 !important;
}
.recruit-content * {
    box-sizing: border-box;
}
.pc {
    display: block;
}
.sp {
    display: none;
}
.recruit-content {
    font-family: "Inter", sans-serif;
    font-optical-sizing: auto;
    font-weight: 400;
    font-style: normal;
}
@media screen and (max-width: 767px) {
    .pc {
        display: none;
    }
    .sp {
        display: block;
    }
}



/* fv */
.rc-fv {
    position: relative;
}
.rc-fv h2 {
    width: calc(var(--u) * 66.1);
    position: absolute;
    top: calc(var(--u) * 6.8);
    left: calc(var(--u) * 3.2);
}
.rc-fv h2 img {
    width: 100%;
}
.rc-fv__img {
    width: 100%;
    aspect-ratio: 1440 / 744;
    overflow: hidden;
}
.rc-fv__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
}
.rc-fv__movie {
    width: calc(var(--u) * 56);
    padding: calc(var(--u) * 2) 0 calc(var(--u) * 2) calc(var(--u) * 2.5);
    display: flex;
    justify-content: space-between;
    align-items: center;
    position: absolute;
    bottom: 0;
    left: 0;
    cursor: pointer;
}
.rc-fv__movie::before {
    content: '';
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, .72);
    mix-blend-mode: multiply;
    position: absolute;
    top: 0;
    left: 0;
    transition: background .3s ease;
}
.rc-fv__movie:hover::before {
    background: rgba(0, 0, 0, 1);
}
.rc-fv__movie__img {
    width: calc(var(--u) * 27);
    position: relative;
    z-index: 1;
}
.rc-fv__movie__txt {
    width: calc(var(--u) * 23.5);
    position: relative;
    z-index: 1;
}
.rc-fv__movie__txt span {
    color: #FFF;
    font-size: calc(var(--u) * 4.8);
    font-style: italic;
    line-height: 1.05;
}
.rc-fv__movie__txt p {
    color: #FFF;
    font-size: calc(var(--u) * 2);
    line-height: 1.34;
    margin-top: calc(var(--u) * 1);
    position: relative;
}
.rc-fv__movie__txt p::before {
    content: '';
    width: calc(var(--u) * 16.5);
    height: calc(var(--u) * .2);
    background: #FFF;
    position: absolute;
    right: 0;
    bottom: calc(var(--u) * 1.2);
}
@media screen and (max-width: 767px) {
    .rc-fv h2 {
        width: calc(var(--u) * 23.4);
        top: calc(var(--u) * 3.8);
        left: calc(var(--u) * 1.2);
    }
    .rc-fv__img {
        aspect-ratio: 390 / 400;
    }
    .rc-fv__movie {
        width: 100%;
        padding: calc(var(--u) * 1.6) 0 calc(var(--u) * 1.6) calc(var(--u) * 2);
    }
    .rc-fv__movie__img {
        width: calc(var(--u) * 15.5);
    }
    .rc-fv__movie__txt {
        width: calc(var(--u) * 20);
    }
    .rc-fv__movie__txt span {
        font-size: calc(var(--u) * 2.4);
    }
    .rc-fv__movie__txt p {
        font-size: calc(var(--u) * 1.6);
        margin-top: 0;
    }
    .rc-fv__movie__txt p::before {
        width: calc(var(--u) * 14);
        height: calc(var(--u) * .2);
        bottom: calc(var(--u) * .8);
    }
}



/* content */
.rc-cnt {
    padding: calc(var(--u) * .5);
    display: flex;
    flex-direction: column;
    gap: calc(var(--u) * .5);
}
.rc-cnt__block {
    width: 100%;
    display: grid;
    gap: calc(var(--u) * .5);
}
.rc-cnt__block.top {
    grid-template-columns: calc(var(--u) * 75.2) auto;
}
.rc-cnt__block.middle {
    grid-template-columns: 1fr 1fr 1fr;
}
.rc-cnt__block.bottom {
    grid-template-columns: 1fr 1fr;
}
.rc-cnt__block a {
    display: block;
    overflow: hidden;
    position: relative;
}
.rc-cnt__block.top a:nth-of-type(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 3;
}
.rc-cnt__block.top a:nth-of-type(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}
.rc-cnt__block.top a:nth-of-type(3) {
    grid-column: 2 / 3;
    grid-row: 2 / 3;
}
.rc-cnt__block.middle a:nth-of-type(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
.rc-cnt__block.middle a:nth-of-type(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}
.rc-cnt__block.middle a:nth-of-type(3) {
    grid-column: 3 / 4;
    grid-row: 1 / 2;
}
.rc-cnt__block.bottom a:nth-of-type(1) {
    grid-column: 1 / 2;
    grid-row: 1 / 2;
}
.rc-cnt__block.bottom a:nth-of-type(2) {
    grid-column: 2 / 3;
    grid-row: 1 / 2;
}
.rc-cnt__block a::before {
    content: '';
    width: 100%;
    height: 100%;
    border: calc(var(--u) * .6) solid #E60012;
    opacity: 0;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 1;
    transition: opacity .3s ease;
    box-sizing: border-box;
}
.rc-cnt__block a:hover::before  {
    opacity: 1;
}
.rc-cnt__block a h3 {
    position: absolute;
    top: calc(var(--u) * .7);
    left: calc(var(--u) * .7);
    z-index: 1;
}
.rc-cnt__block a h3 img {
    width: 100%;
}
.rc-cnt__block.top a:nth-of-type(1) h3 {
    width: calc(var(--u) * 28.3);
}
.rc-cnt__block.top a:nth-of-type(2) h3 {
    width: calc(var(--u) * 38.4);
}
.rc-cnt__block.top a:nth-of-type(3) h3 {
    width: calc(var(--u) * 22.1);
}
.rc-cnt__block.middle a:nth-of-type(1) h3 {
    width: calc(var(--u) * 29.2);
}
.rc-cnt__block.middle a:nth-of-type(2) h3 {
    width: calc(var(--u) * 19.2);
}
.rc-cnt__block.middle a:nth-of-type(3) h3 {
    width: calc(var(--u) * 30);
}
.rc-cnt__block.bottom a:nth-of-type(1) h3 {
    width: calc(var(--u) * 19.2);
}
.rc-cnt__block.bottom a:nth-of-type(2) h3 {
    width: calc(var(--u) * 19.2);
}
.rc-cnt__block__img {
    width: 100%;
    position: relative;
}
.rc-cnt__block__img img {
    object-fit: cover;
    width: 100%;
    height: 100%;
    transform: scale(1);
    transition: transform .5s ease;
}
.rc-cnt__block a:hover .rc-cnt__block__img img {
    transform: scale(1.05);
}
.rc-cnt__block__img span {
    font-weight: 700;
    position: absolute;
    opacity: .3;
}
.rc-cnt__block.top a:nth-of-type(2) .rc-cnt__block__img__txtimg {
    width: calc(var(--u) * 29);
    height: auto;
    position: absolute;
    bottom: calc(var(--u) * 2);
    left: calc(var(--u) * 1.6);
}
.rc-cnt__block.top a:nth-of-type(2):hover .rc-cnt__block__img__txtimg img {
    transform: scale(1);
}
.rc-cnt__block.top a:nth-of-type(3) .rc-cnt__block__img span {
    color: #FFF;
    font-size: calc(var(--u) * 13.6);
    line-height: 1.2;
    left: 50%;
    bottom: calc(var(--u) * -2.3);
    transform: translateX(-50%);
}
.rc-cnt__block.middle a:nth-of-type(1) .rc-cnt__block__img span {
    color: #FFF;
    font-size: calc(var(--u) * 6.9);
    line-height: .9;
    left: calc(var(--u) * .6);
    bottom: calc(var(--u) * .2);
}
.rc-cnt__block.middle a:nth-of-type(2) .rc-cnt__block__img span {
    color: #FFF;
    font-size: calc(var(--u) * 6.9);
    line-height: 1;
    left: calc(var(--u) * .6);
    bottom: calc(var(--u) * .2);
}
.rc-cnt__block.middle a:nth-of-type(3) .rc-cnt__block__img span {
    color: #3A181B;
    font-size: calc(var(--u) * 6.9);
    line-height: .9;
    left: calc(var(--u) * .6);
    bottom: calc(var(--u) * .2);
}
.rc-cnt__block.bottom a .rc-cnt__block__img span {
    color: #3A181B;
    font-size: calc(var(--u) * 6.9);
    line-height: .9;
    left: calc(var(--u) * .6);
    bottom: calc(var(--u) * .2);
}
@media screen and (max-width: 767px) {
    .rc-cnt__block.top {
        grid-template-columns: 1fr;
    }
    .rc-cnt__block.middle {
        grid-template-columns: 1fr 1fr;
    }
    .rc-cnt__block.bottom {
        grid-template-columns: 1fr;
    }
    .rc-cnt__block a {
        width: 100%;
    }
    .rc-cnt__block a img {
        object-fit: contain;
        width: 100%;
        height: auto;
    }
    .rc-cnt__block.top a:nth-of-type(1),
    .rc-cnt__block.top a:nth-of-type(2),
    .rc-cnt__block.top a:nth-of-type(3) {
        grid-column: auto;
        grid-row: auto;
    }
    .rc-cnt__block.middle a:nth-of-type(1) {
        grid-column: 1 / 2;
        grid-row: 1 / 2;
    }
    .rc-cnt__block.middle a:nth-of-type(2) {
        grid-column: 2 / 3;
        grid-row: 1 / 2;
    }
    .rc-cnt__block.middle a:nth-of-type(3) {
        grid-column: 1 / 3;
        grid-row: 2 / 3;
    }
    .rc-cnt__block.bottom a:nth-of-type(1),
    .rc-cnt__block.bottom a:nth-of-type(2),
    .rc-cnt__block.bottom a:nth-of-type(3) {
        grid-column: auto;
        grid-row: auto;
    }
    .rc-cnt__block.top a:nth-of-type(1) h3 {
        width: calc(var(--u) * 13.8);
    }
    .rc-cnt__block.top a:nth-of-type(2) h3 {
        width: calc(var(--u) * 13.9);
    }
    .rc-cnt__block.top a:nth-of-type(3) h3 {
        width: calc(var(--u) * 14.2);
    }
    .rc-cnt__block.middle a:nth-of-type(1) h3 {
        width: calc(var(--u) * 11);
    }
    .rc-cnt__block.middle a:nth-of-type(2) h3 {
        width: calc(var(--u) * 11.8);
    }
    .rc-cnt__block.middle a:nth-of-type(3) h3 {
        width: calc(var(--u) * 19.8);
    }
    .rc-cnt__block.bottom a:nth-of-type(1) h3 {
        width: calc(var(--u) * 12.2);
    }
    .rc-cnt__block.bottom a:nth-of-type(2) h3 {
        width: calc(var(--u) * 12.2);
    }
    .rc-cnt__block.top a:nth-of-type(2) .rc-cnt__block__img__txtimg {
        width: calc(var(--u) * 16.3);
        bottom: calc(var(--u) * 1.1);
        left: calc(var(--u) * .8);
    }
    .rc-cnt__block.top a:nth-of-type(3) .rc-cnt__block__img span {
        font-size: calc(var(--u) * 7.7);
        bottom: calc(var(--u) * -1.2);
    }
    .rc-cnt__block.middle a:nth-of-type(1) .rc-cnt__block__img span {
        font-size: calc(var(--u) * 2.7);
        left: calc(var(--u) * .2);
        bottom: calc(var(--u) * .1);
    }
    .rc-cnt__block.middle a:nth-of-type(2) .rc-cnt__block__img span {
        font-size: calc(var(--u) * 2.7);
        left: calc(var(--u) * .2);
        bottom: calc(var(--u) * .1);
    }
    .rc-cnt__block.middle a:nth-of-type(3) .rc-cnt__block__img span {
        font-size: calc(var(--u) * 4.5);
        line-height: .9;
        left: calc(var(--u) * .5);
        bottom: calc(var(--u) * .5);
    }
    .rc-cnt__block.bottom a .rc-cnt__block__img span {
        font-size: calc(var(--u) * 4.5);
        line-height: .9;
        left: calc(var(--u) * .3);
        bottom: calc(var(--u) * .5);
    }
}



/* modal */
.rc-modal {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100vh;
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 9999;
    opacity: 0;
    visibility: hidden;
    transition: opacity 0.3s ease, visibility 0.3s ease;
}
.rc-modal.is-open {
    opacity: 1;
    visibility: visible;
}
.rc-modal__bg {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(0, 0, 0, 0.3);
    mix-blend-mode: multiply;
    cursor: pointer;
}
.rc-modal__content {
    position: relative;
    width: min(90vw, 80vh * 16 / 9);
    max-width: calc(var(--u) * 100);
    z-index: 1;
}
.rc-modal__close {
    width: calc(var(--u) * 4);
    line-height: 1;
    background: none;
    border: none;
    padding: 0;
    position: absolute;
    top: calc(var(--u) * -5.5);
    right: 0;
    cursor: pointer;
}
.rc-modal__video-wrapper {
    position: relative;
    width: 100%;
    aspect-ratio: 16 / 9;
    background: #000;
}
.rc-modal__video-wrapper iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
}