/*===========================================================================*/
/*  p-recPosition  */
/*===========================================================================*/
.p-recPosition__inner {
    display: flex;
    border-bottom: #CC0700 .1rem solid;
}

.p-recPosition__contents {
    padding: 11.7rem 4rem 10rem 7.9rem;
    width: calc(100% - 3.8rem);
}

.p-jobHead {
    font-size: 12rem;
    font-weight: 400;
    line-height: .8;
    letter-spacing: -.02em;
    padding-top: .3rem;
}

.p-jobSubHead {
    margin-top: 2.5rem;
    font-size: 3.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.06em;
}

.p-recPosition__list {
    margin-top: 6rem;
    display: flex;
    flex-direction: column;
    gap: 5rem;
}

.p-recPosition__list > li {
    display: flex;
    justify-content: space-between;
    border-top: .2rem solid #CC0700;
}

.p-recPosition__list--left {
    width: 56.5rem;
}

.p-recPosition__list--heads {
    display: flex;
    gap: 1.9rem;
    align-items: center;
    margin-top: 3rem;
}

.p-recPosition__list--num {
    font-size: 5rem;
    font-weight: 400;
    line-height: .8;
    letter-spacing: -.02em;
    transform: translateY(.7rem);
}

.p-recPosition__list--head {
    font-size: 4.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.06em;
}

.p-recPosition__list--txt01 {
    margin-top: 3.6rem;
    font-size: 3.4rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
    color: #D2D2D2;
}

.p-recPosition__list--txt01 .--01 {
    position: relative;
    z-index: 1;
}

.p-recPosition__list--txt01 .--01::before {
    background-color: #CC0700;
    content: '';
    height: 3.8rem;
    left: 50%;
    position: absolute;
    top: calc(50% + .1rem);
    transform: translate(-50%,-50%);
    width: 102%;
    z-index: -1;
}

.p-recPosition__list--txt02 {
    margin-top: 1.2rem;
    text-align: justify;
    font-size: 1.8rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.p-recPosition__list--target {
    margin-top: 2rem;
    display: flex;
    align-items: center;
    gap: 1.5rem;
}

.p-recPosition__list--target-txt {
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.p-recPosition__list--target-list {
    display: flex;
    gap: .5rem;
}

.p-recPosition__list--target-list > li > .--01 {
    padding: .4rem 1.4rem .5rem;
    background-color: #fff;
    border-radius: .5rem;
    font-size: 1.6rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.p-recPosition__list--btn {
    display: flex;
    margin-top: 4.6rem;
    align-items: center;
    gap: 1.3rem;
}

.p-recPosition__list--btn .--arrow-wrapper {
    width: 3.5rem;
    height: 3.5rem;
}

.p-recPosition__list--btn .--arrow-wrapper .--arrow {
    width: 2.1rem;
    height: 2.1rem;
}

.p-recPosition__list--btn-txt {
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.1;
    letter-spacing: -.06em;
}

.p-recPosition__list--btn-txt .--01 {
    position: relative;
}

.p-recPosition__list--btn-txt .--01::before {
    background-color: #CC0700;
    content: '';
    height: .1rem;
    left: 0;
    position: absolute;
    bottom: 0;
    width: 0;
    transition: all .6s 0s cubic-bezier(.4,.53,.41,.95);
}

.p-recPosition__list--img {
    max-width: 66rem;
    width: 100%;
    position: relative;
    overflow: hidden;
}
.p-recPosition__list--img::before {
    background-color: #cc0700;
    content: '';
    position: absolute;
    inset: 0;
    z-index: 1;
    transition: transform .8s cubic-bezier(.76,0,.24,1);
}
.p-recPosition__list--img.is-shown::before {
    transform: translateY(-100%);
}

@media screen and (min-width: 901px) {
    .p-recPosition__list--btn:hover .p-recPosition__list--btn-txt .--01::before {
        width: 100%;
    }
}

@media screen and (max-width: 900px) {
    .p-recPosition__contents {
        padding: 4.4rem 2rem 6.2rem 2.1rem;
        width: calc(100% - 2rem);
    }

    .p-jobHead {
        font-size: 6rem;
    }

    .p-jobSubHead {
        margin-top: .9rem;
        font-size: 1.5rem;
    }

    .p-recPosition__list {
        margin-top: 3rem;
        gap: 4rem;
    }

    .p-recPosition__list > li {
        border-top: .1rem solid #CC0700;
        flex-direction: column;
    }

    .p-recPosition__list--left {
        width: 100%;
    }

    .p-recPosition__list--heads {
        gap: 1rem;
        margin-top: 2rem;
    }

    .p-recPosition__list--num {
        font-size: 2.4rem;
        transform: translateY(.4rem);
    }

    .p-recPosition__list--head {
        font-size: 2.2rem;
        line-height: 1;
    }

    .p-recPosition__list--txt01 {
        margin-top: 2.2rem;
        font-size: 2rem;
        line-height: 1.8;
    }

    .p-recPosition__list--txt01 .--01::before {
        height: 3rem;
        width: 105%;
    }

    .p-recPosition__list--txt02 {
        margin-top: .7rem;
        font-size: 1.4rem;
    }

    .p-recPosition__list--target {
        margin-top: 1.5rem;
        gap: 1.2rem;
    }

    .p-recPosition__list--target-txt {
        font-size: 1.2rem;
    }

    .p-recPosition__list--target-list > li > .--01 {
        font-size: 1.2rem;
    }

    .p-recPosition__list--btn {
        margin-top: 2rem;
        gap: 1rem;
    }

    .p-recPosition__list--btn .--arrow-wrapper {
        width: 2.3rem;
        height: 2.3rem;
    }

    .p-recPosition__list--btn .--arrow-wrapper .--arrow {
        width: 1.4rem;
        height: 1.4rem;
    }

    .p-recPosition__list--btn-txt {
        font-size: 1.5rem;
    }

    .p-recPosition__list--img {
        margin-top: 2rem;
        max-width: 31.9rem;
    }
}

/*===========================================================================*/
/*  p-recFlow  */
/*===========================================================================*/
.p-recFlow {
    padding-top: 19.7rem;
}

.p-recFlow__subHead .--01 {
    padding-left: 1.4rem;
    font-size: 1rem;
    font-weight: 700;
    line-height: 1.8;
    letter-spacing: .05em;
}

.p-recFlow__list {
    padding: 8.2rem 6.2rem 13.2rem;
    display: flex;
    justify-content: space-between;
}

.p-recFlow__list > li {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
}

.p-recFlow__list--num {
    position: absolute;
    color: #FFF;
    font-size: 7rem;
    font-weight: 400;
    line-height: .8;
    letter-spacing: -.02em;
    top: -3.5rem;
    left: 50%;
    transform: translateX(-50%);
    z-index: -1;
}

.p-recFlow__list--img {
    width: 11.6rem;
    position: relative;
}

.p-recFlow__list--img::before {
    background: url(../../img/recruit/requirements/job-flow-allow01.webp) no-repeat center center/contain;
    content: '';
    height: 1.15rem;
    right: -12.95rem;
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    width: 12.95rem;
}

.p-recFlow__list--img.--05::before {
    content: none;
}

.p-recFlow__list--txt {
    margin-top: 1rem;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
    text-align: center;
}

.p-recFlow__list--txt02 {
    position: absolute;
    bottom: -13.2rem;
    left: 50%;
    transform: translateX(-50%);
}

.p-recFlow__list--txt02 .--01 {
    position: relative;
    padding: 1.5rem;
    width: 35.5rem;
    border: #CC0700 solid .1rem;
    text-align: justify;
    font-size: 1.4rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
}

.p-recFlow__list--txt02 .--01::before {
    background: url(../../img/recruit/requirements/job-flow-allow02.webp) no-repeat center center/contain;
    content: '';
    height: 2.1rem;
    left: 50%;
    transform: translateX(-50%);
    position: absolute;
    top: -2.1rem;
    width: .5rem;
}

@media screen and (max-width: 900px) {
    .p-recFlow {
        padding-top: 7.4rem;
    }

    .p-recFlow__subHead .--01 {
        padding-left: 0;
        transform: translateY(-.5rem);
    }

    .p-recFlow__list {
        padding: 2rem 0rem 0rem;
        flex-direction: column;
        align-items: flex-start;
    }

    .p-recFlow__list > li {
        flex-direction: row;
        margin-top: 2.5rem;
    }

    .p-recFlow__list > li:nth-of-type(4) {
        margin-top: 12.1rem;
    }

    .p-recFlow__list--num {
        position: relative;
        font-size: 3.5rem;
        top: unset;
        left: unset;
        transform: translateX(0);
    }

    .p-recFlow__list--img {
        width: 5rem;
        margin-left: 1rem;
    }

    .p-recFlow__list--img::before {
        background: url(../../img/recruit/requirements/job-flow-allow01-sp.webp) no-repeat center center/contain;
        height: 2.5rem;
        right: unset;
        left: 50%;
        transform: translate(-50%,0);
        top: 4.6rem;
        width: .6rem;
    }

    .p-recFlow__list--img.--03::before {
        background: url(../../img/recruit/requirements/job-flow-allow02-sp.webp) no-repeat center center/contain;
        height: 11.7rem;
        left: 50%;
        content: '';
        transform: translate(-50%,0);
        top: 5rem;
        width: .6rem;
    }

    .p-recFlow__list--txt {
        margin-top: 0;
        font-size: 1.8rem;
        padding-left: 1.1rem;
    }

    .p-recFlow__list--txt02 {
        bottom: -11.1rem;
        left: 9.6rem;
        transform: translateX(0);
    }

    .p-recFlow__list--txt02 .--01 {
        padding: 1rem 1.5rem;
        width: 21.5rem;
        font-size: 1.2rem;
    }

    .p-recFlow__list--txt02 .--01::before {
        content: none;
    }
}

/*===========================================================================*/
/*  p-recFaq  */
/*===========================================================================*/
.p-recFaq {
    padding-top: 19.6rem;
}

.p-recFaq__inner {
    display: flex;
    justify-content: space-between;
}

.p-recFaq__left {
    width: 21.9rem;
}

.p-recFaq__list {
    width: calc(100% - 30rem);
}

.p-recFaq__list--q {
    background-color: #CC0700;
    color: #fff;
    padding: 2rem 1.7rem;
    font-size: 2.4rem;
    font-weight: 700;
    line-height: 1.5;
    letter-spacing: -.02em;
    align-items: center;
}

.p-recFaq__list--q .--q {
    padding-right: 1.7rem;
    font-size: 3rem;
    font-weight: 400;
    line-height: .8;
    letter-spacing: -.02em;
}

.p-recFaq__list--a {
    font-size: 1.5rem;
    font-weight: 600;
    line-height: 1.5;
    letter-spacing: -.02em;
    padding: 1.8rem 0 3rem 5rem;
}

@media screen and (max-width: 900px) {
    .p-recFaq {
        padding-top: 7.4rem;
    }

    .p-recFaq__inner {
        flex-direction: column;
        gap: 2rem;
    }

    .p-recFaq__left {
        width: 100%;
    }

    .p-recFaq__list {
        width: 100%;
    }

    .p-recFaq__list--q {
        padding: .9rem 0 1rem 1.2rem;
        font-size: 1.5rem;
    }

    .p-recFaq__list--q .--q {
        padding-right: 1.1rem;
        font-size: 2rem;
    }

    .p-recFaq__list--a {
        font-size: 1.3rem;
        padding: .8rem 0 .8rem 3.1rem;
    }
}