/* 歯科医師採用ページ（/recruit/dr_niigata.php ほか） */

.rec-dr .rec-title {
    margin: 30px 0 24px;
    letter-spacing: .12em;
    line-height: 1.6;
    font-size: 28px;
}

.rec-dr .title-02 {
    font-size: 22px;
    letter-spacing: .12em;
}

.rec-dr .title-03 {
    font-size: 20px;
    letter-spacing: .1em;
    margin-top: 2em;
}

.rec-dr .title-02-wrap + .title-03,
.rec-dr .title-02-wrap + p + .title-03 {
    margin-top: 0;
}

.rec-lead {
    font-size: 17px;
    line-height: 2;
}

/* リストの印（チェックではなく丸） */
.rec-dr .checklist1 li {
    position: relative;
    padding-left: 1.2em;
}

.rec-dr .checklist1 li:before {
    content: "";
    position: absolute;
    left: 0;
    top: .6em;
    width: .5em;
    height: .5em;
    margin: 0;
    background: #f6ad48;
    border-radius: 50%;
}

/* ページ内リンクの移動先（固定ヘッダーに隠れないように） */
.rec-anchor {
    scroll-margin-top: 100px;
}

/* ページ上部の訴求ラベル */
.rec-points,
.rec-univ {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 24px;
    padding: 0;
    list-style: none;
}

.rec-points {
    justify-content: center;
}

.rec-points li {
    padding: 6px 16px;
    font-size: 15px;
    font-weight: bold;
    line-height: 1.6;
    color: #7a6a63;
    background: #fff6e9;
    border: 1px solid #f6ad48;
    border-radius: 100vh;
}

/* 出身大学 */
.rec-univ li {
    padding: 8px 16px;
    font-size: 15px;
    line-height: 1.5;
    background: #f5f3f2;
    border-radius: 4px;
}

.rec-univ-title {
    font-weight: bold;
    margin-bottom: 12px;
}

.rec-note {
    font-size: 14px;
    line-height: 1.7;
    color: #666;
}

/* 写真 */
.rec-fig {
    margin: 0 0 40px;
}

.rec-fig img {
    display: block;
    width: 100%;
    height: auto;
}

.rec-fig figcaption {
    margin-top: 6px;
    font-size: 12px;
    color: #777;
    text-align: right;
}

.rec-fig--hero {
    margin-bottom: 0;
}

.rec-fig--hero img {
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

/* 解像度が低めの写真は小さめの枠で表示 */
.rec-fig--small {
    max-width: 480px;
    margin-left: auto;
    margin-right: auto;
}

.rec-fig--portrait {
    max-width: 300px;
    margin-left: auto;
    margin-right: auto;
}

/* 文章と写真の2列（PCは文章が左・写真が右、スマホは縦並び） */
.rec-split {
    margin-bottom: 40px;
}

.rec-split__text {
    margin-bottom: 20px;
}

.rec-split__text > :last-child,
.rec-split__img .rec-fig {
    margin-bottom: 0;
}

@media (min-width: 992px) {
    .rec-split {
        display: flex;
        align-items: flex-start;
        gap: 40px;
    }

    .rec-split__text {
        flex: 1 1 0;
        min-width: 0;
        margin-bottom: 0;
    }

    .rec-split__img {
        flex: 0 0 40%;
    }

    /* 写真2枚の左右並び */
    .rec-fig-row {
        display: flex;
        align-items: flex-start;
        gap: 24px;
        margin-bottom: 40px;
    }

    .rec-fig-row .rec-fig {
        flex: 1 1 0;
        min-width: 0;
        max-width: none;
        margin: 0;
    }
}

/* 表の見出し行（④働き方の例・⑥年収の目安） */
.rec-dr .table-def caption {
    caption-side: top;
    padding: 0 0 10px;
    font-weight: bold;
    color: #444;
}

.rec-dr .table-def + .rec-note,
.rec-dr .table-def + p {
    margin-top: 16px;
}

/* ボタン */
.rec-btn-wrap {
    margin: 40px 0;
    text-align: center;
}

a.rec-btn-main {
    padding: 1.4rem 5rem;
    font-size: 1.8rem;
}

/* 見学・応募フォームへのボタン */
a.rec-btn-form {
    display: block;
    max-width: 560px;
    margin: 0 auto;
    padding: 2.6rem 2rem;
    font-size: 2.2rem;
    color: #fff;
    background: #f45d39;
    border-radius: 10px;
    box-shadow: 0 4px 0 #d44009;
}

a.rec-btn-form:hover {
    color: #fff;
    background: #e9502c;
    box-shadow: 0 2px 0 #d44009;
    transform: translateY(2px);
}

a.rec-btn-form::after {
    content: "";
    display: inline-block;
    width: .5em;
    height: .5em;
    margin-left: 1.4em;
    vertical-align: .1em;
    border-top: 3px solid #fff;
    border-right: 3px solid #fff;
    transform: rotate(45deg);
}

/* 見学・応募の導線 */
.rec-cta {
    margin-top: 20px;
}

.rec-cta .rec-btn-wrap {
    margin: 24px 0;
}

@media screen and (max-width: 576px) {
    .rec-dr .rec-title {
        margin: 20px 0 16px;
        font-size: 21px;
        letter-spacing: .06em;
    }

    .rec-dr .title-02 {
        font-size: 18px;
        letter-spacing: .06em;
    }

    .rec-dr .title-03 {
        font-size: 17px;
        letter-spacing: .04em;
    }

    .rec-lead {
        font-size: 15px;
        line-height: 1.9;
    }

    .rec-points {
        justify-content: flex-start;
    }

    .rec-points li {
        padding: 4px 12px;
        font-size: 13px;
        border-radius: 14px;
    }

    .rec-univ li {
        padding: 6px 10px;
        font-size: 14px;
    }

    .rec-btn-wrap .btn-base {
        display: block;
        padding-left: 1.5rem;
        padding-right: 1.5rem;
    }

    a.rec-btn-form {
        font-size: 1.9rem;
    }

    a.rec-btn-form::after {
        margin-left: 1em;
    }
}
