.section__title span {
    display: block;
    line-height: 1;
}
.section__title--ja {
    font-size: 25px;
    font-weight: 400;
}
.section__title--en {
    font-family: "Raleway", sans-serif;
    font-size: 14px;
    font-weight: 400;
    margin: .5em 0 3.6em;
}

/* ========================================
キービジュアル
======================================== */
.partner-kv__img {
    position: relative;
    height: 615px;
}
.partner-kv img {
  width: 90%;
  height: 100%;
  object-fit: cover;
  display: block;
  margin-left: auto;
  opacity: 0.8;
}
.partner-kv__copy {
    position: absolute;
    font-size: 28px;
    top: 15.2em;
}
.partner-kv__copy span {
    display: inline-block;
    background: #fff;
    margin-bottom: .5em;
}
.partner-kv__description {
    text-align: center;
    font-size: 17px;
    margin: 4.5em auto;
}
.partner-kv__description p {
    margin-bottom: 1em;
    line-height: 1.95;
}

/* ========================================
募集要項
======================================== */
.job-detail {
    margin-bottom: 70px;
}
.job-detail__item {
    display: flex;
    font-size: 15px;
    font-weight: 400;
    border-bottom: 2px solid #BFE3E7;
    padding: 2.1em 0;
    line-height: 1.85;
}
.job-detail__item:first-child {
    border-top: 2px solid #BFE3E7;
}
.job-detail__item dt {
    width: 13em;
    color: #00909f;
}
.job-detail__item dd {
    flex: 1;
}
.job-detail__item li {
    text-indent: -1em;
    padding-left: 1em;
}
.job-detail__item li::before {
    content: "・";
}

/* ========================================
応募の流れ
======================================== */
.process {
    background: rgba(0, 144, 159, 0.04);
    padding: 30px 0;
    margin-bottom: 70px;
}
.process__list {
    justify-content: space-between;
}
.process__list li {
    background: rgba(0, 144, 159, 0.15);
    font-size: 25px;
    width: 5.56em;
    height: 2.2em;
    display: flex;
    align-items: center;
    justify-content: center;
    position: relative;
}
.process__list li:not(:last-child)::after {
    content: "";
    width: .9em;
    height: 1em;
    background-color: currentColor;
    clip-path: polygon(100% 50%, 0 0, 0 100%);
    position: absolute;
    right: -2em;
}

/* ========================================
よくある質問
======================================== */
.faq__list {
    margin-bottom: 80px;
}
.faq__list li {
    border-bottom: 1px solid currentColor;
}
.faq__btn {
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto;
    align-items: center;
    gap: 2.5em;
    text-align: left;
    color: #2a2a2a;
    font-size: 20px;
    font-weight: 400;
    padding: 1em 0;
}
.faq__icon {
    position: relative;
    width: 1.25em;
    height: 1.25em;
}
.faq__icon::before,
.faq__icon::after {
    content: "";
    position: absolute;
    left: 0;
    top: 50%;
    width: 100%;
    height: 1px;
    background: #2a2a2a;
    transform: translateY(-50%);
    transition: transform .5s ease, opacity .5s ease;
}
.faq__icon::after {
    transform: translateY(-50%) rotate(90deg);
}
.faq__list li.is-open .faq__icon::after {
    opacity: 0;
}
.faq__a {
    font-size: 20px;
    font-weight: 400;
    display: grid;
    grid-template-columns: auto 1fr;
    align-items: center;
    gap: 2.5em;
    opacity: 0;
    max-height: 0;
    overflow: hidden;
    transition: opacity .5s ease, max-height .5s ease, grid-template-rows .5s ease, padding .5s ease;
}
.faq__list li.is-open .faq__a {
    opacity: 1;
    max-height: 10em;
    padding-bottom: 1em;
}
.faq__btn::before,
.faq__a::before {
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 25px;
    font-family: "Raleway", sans-serif;
    width: 1.6em;
    height: 1.6em;
    border-radius: 50%;
    border: 1px solid currentColor;
}
.faq__btn::before {
    content: "Q";
}
.faq__a::before {
    content: "A";
    color: #00909f;
}
.faq__note {
    font-size: 17px;
    text-align: center;
    margin-bottom: 2em;
}
.faq .btn--pill {
    margin: 0 auto;
}

/* メディアクエリ */
@media screen and (max-width: 1280px) {
    .section__title--ja {
        font-size: 1.953125vw;
    }
    .section__title--en {
        font-size: 1.09375vw;
    }

    /* ========================================
    キービジュアル
    ======================================== */
    .partner-kv__img {
        padding-right: 0;
        height: 48.046875vw;
    }
    .partner-kv__copy {
        font-size: 2.1875vw;
    }
    .partner-kv__description {
        font-size: 1.328125vw;
    }

    /* ========================================
    応募の流れ
    ======================================== */
    .process {
        padding: 2.34375vw 0;
        margin-bottom: 5.46875vw;
    }
    .process__list li {
        font-size: 1.953125vw;
    }

    /* ========================================
    よくある質問
    ======================================== */
    .faq__list {
        margin-bottom: 6.25vw;
    }
    .faq__btn {
        font-size: 1.5625vw;
    }
    .faq__a {
        font-size: 1.5625vw;
    }
    .faq__btn::before,
    .faq__a::before {
        font-size: 1.953125vw;
    }
    .faq__note {
        font-size: 1.328125vw;
    }

}

/* メディアクエリ */
@media screen and (max-width: 768px) {
    .section__title--ja {
        font-size: 20px;
    }
    .section__title--en {
        font-size: 14px;
        margin-bottom: 32px;
    }
    
    /* ========================================
    キービジュアル
    ======================================== */
    .partner-kv.container {
        padding: 0;
    }
    .partner-kv__img {
        height: 375px;
    }
    .partner-kv img {
        width: 100%;
    }
    .partner-kv__copy {
        font-size: 12px;
        top: 280px;
        margin-left: 24px;
        margin-bottom: .6px;
    }
    .partner-kv__copy span {
        padding-left: 5px;
    }
    .partner-kv__description {
        font-size: 12px;
        margin: 2.8em auto;
    }
    
    /* ========================================
    募集要項
    ======================================== */
    .job-detail {
        margin-bottom: 50px;
    }
    .job-detail__item {
        font-size: 11px;
        padding: 16px 20px;
    }
    .job-detail__item dt {
        width: 110px;
    }

    /* ========================================
    応募の流れ
    ======================================== */
    .process {
        padding: 30px 0 50px;
        margin-bottom: 50px;
    }
    .process__list {
        flex-direction: column;
        align-items: center;
        gap: 66px;
    }
    .process__list li {
        font-size: 20px;
        width: 36%;
        height: 40px;
    }
    .process__list li:not(:last-child)::after {
        width: 26px;
        height: 22px;
        clip-path: polygon(0 0, 100% 0, 50% 100%);
        bottom: -43px;
        left: 50%;
        transform: translateX(-50%);
    }

    /* ========================================
    よくある質問
    ======================================== */
    .faq__list {
        margin-bottom: 6.25vw;
    }
    .faq__btn {
        font-size: 14px;
        gap: 1em;
    }
    .faq__a {
        font-size: 14px;
    }
    .faq__btn::before,
    .faq__a::before {
        font-size: 25px;
    }
    .faq__icon {
        width: 20px;
        height: 20px;
    }
    .faq__note {
        font-size: 12px;
    }
    
}