@charset "UTF-8";
/* ============================================================
   student.css  学生向けセグメント（/student/）専用
   【42号 / 2026-08-05】
   読み込み順： common.css → top.css → student.css
   既存CSSは一切書き換えず、後ろから上書きするだけのファイル。
   ============================================================ */

/* ---- 1. カラー／フォントトークンの差し替え ---------------- */
:root {
    --primary: #1f7a6e;
    --primary-dark: #145a51;
    --primary-light: #45a08f;
    --accent: #f08a1c;
    --accent-strong: #b85c09;
    --accent-soft: #fdeacf;
    --pop: #ffd166;
    --link: #c2410c;
    --bg-light: #eef7f4;
    --border: #d5e8e2;
    --primary-dark-rgb: 20 90 81;
    --accent-rgb: 240 138 28;
    --border-rgb: 213 232 226;
    --panel-rgb: 244 250 248;
    --panel-blue-rgb: 232 244 240;
}
/* --ink-rgb / --scrim-rgb（写真にかけるベール）は紺のまま据え置く。
   緑にすると写真が濁るため。--navy / --orange / --muted は
   common.css で --primary / --accent / --text-sub の別名として
   定義済みなので、自動的に緑・橙に追随する。 */

/* ---- 2. 白文字を載せる橙は、濃いほうを使う ---------------- */
/* --accent(#f08a1c) は明るく、白文字だと 2.51:1 でコントラスト不足。
   白文字を載せる箇所だけ --accent-strong(#b85c09/ 4.59:1) に差し替える。 */
.headerPillPrimary,
.fixedContact__link,
.refNotice span,
.refCourseTabs__cta,
.refFlow li a > span {
    background: var(--accent-strong);
}

/* ---- 3. 明朝の直書きをゴシックに戻す ---------------------- */
/* top.css が3か所で "Shippori Mincho" を直接指定している。
   学生向けでは明朝を読み込まないため、トークン参照に上書きする。 */
.refExpandPanel__title,
.refCourseTabs__tabTitle,
.refCourseTabs__title {
    font-family: var(--font-heading);
}

/* ---- 4. 本文中のリンク色 ---------------------------------- */
/* 緑地・緑文字の中に緑リンクを置かない。下線は常時表示。 */
.refSection p a:not(.refButton),
.stuTheme__body a,
.stuCost a {
    color: var(--link);
    text-decoration: underline;
    text-underline-offset: 3px;
}


/* ---- 6. シグネチャー：パスポートのスタンプ ---------------- */
/* セクション見出しの背後に、消印のような二重円をうっすら敷く。
   画像素材は不要（CSSだけで描画）。 */
.stuStamp {
    position: relative;
}
.stuStamp::before {
    content: "";
    position: absolute;
    left: 50%;
    top: -30px;
    width: 136px;
    height: 136px;
    margin-left: -68px;
    border: 3px solid rgb(var(--primary-dark-rgb) / 0.14);
    border-radius: 50%;
    box-shadow: inset 0 0 0 8px transparent,
                inset 0 0 0 11px rgb(var(--primary-dark-rgb) / 0.10);
    transform: rotate(-12deg);
    pointer-events: none;
    z-index: 0;
}
.stuStamp > * {
    position: relative;
    z-index: 1;
}

/* ---- 7. 黄色の帯（CTA） ----------------------------------- */
.stuBand {
    background: var(--pop);
    padding: 44px 24px;
}
.stuBand__inner {
    max-width: var(--content-wide);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    gap: 20px 32px;
    align-items: center;
    justify-content: center;
    text-align: center;
}
.stuBand__lead {
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: clamp(18px, 2.2vw, 24px);
    line-height: 1.6;
    color: var(--primary-dark);
}
.stuBand__button {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    padding: 15px 34px;
    border-radius: 999px;
    background: var(--primary-dark);
    color: var(--white);
    font-weight: 700;
    font-size: 16px;
    white-space: nowrap;
    transition: background .3s ease, transform .3s ease;
}
.stuBand__button:hover {
    background: var(--primary);
    transform: translateY(-2px);
}

/* ---- 8. テーマ別プログラム一覧（アコーディオン） ---------- */
.stuThemeList {
    max-width: var(--content-wide);
    margin: 0 auto;
    display: grid;
    gap: 12px;
}
.stuTheme {
    border: 1px solid var(--border);
    border-radius: 14px;
    background: var(--white);
    overflow: hidden;
}
.stuTheme > summary {
    cursor: pointer;
    list-style: none;
    display: flex;
    align-items: center;
    gap: 14px;
    padding: 20px 24px;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 18px;
    color: var(--primary-dark);
}
.stuTheme > summary::-webkit-details-marker {
    display: none;
}
.stuTheme > summary::after {
    content: "+";
    margin-left: 4px;
    font-family: var(--font-display);
    font-size: 22px;
    line-height: 1;
    color: var(--primary);
}
.stuTheme[open] > summary::after {
    content: "\2212";
}
.stuTheme__count {
    margin-left: auto;
    padding: 4px 13px;
    border-radius: 999px;
    background: var(--primary);
    color: var(--white);
    font-family: var(--font-display);
    font-weight: 600;
    font-size: 13px;
}
.stuTheme__body {
    padding: 0 24px 22px;
}
.stuTheme__items {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}
.stuTheme__items li {
    padding: 8px 16px;
    border: 1px dashed rgb(var(--border-rgb));
    border-radius: 999px;
    background: var(--bg-light);
    font-size: 14px;
    color: var(--text);
}
@media (max-width: 600px) {
    .stuTheme > summary {
        font-size: 16px;
        padding: 16px 18px;
    }
    .stuTheme__body {
        padding: 0 18px 18px;
    }
}

/* ---- 9. 研修国カード -------------------------------------- */
.stuCountryGrid {
    max-width: var(--content-wide);
    margin: 0 auto;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 16px;
    list-style: none;
}
.stuCountryCard {
    display: block;
    border: 1px solid var(--border);
    border-radius: 12px;
    background: var(--white);
    overflow: hidden;
    transition: transform .3s ease, box-shadow .3s ease;
}
.stuCountryCard:hover {
    transform: translateY(-4px);
    box-shadow: 0 12px 24px rgb(var(--ink-rgb) / 0.12);
}
.stuCountryCard img {
    display: block;
    width: 100%;
    aspect-ratio: 4 / 3;
    object-fit: cover;
}
.stuCountryCard span {
    display: block;
    padding: 12px 8px;
    text-align: center;
    font-weight: 700;
    font-size: 15px;
    color: var(--primary-dark);
}
.stuCountryNote {
    max-width: var(--content-wide);
    margin: 20px auto 0;
    font-size: 13px;
    color: var(--text-sub);
}
@media (max-width: 900px) {
    .stuCountryGrid {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 560px) {
    .stuCountryGrid {
        grid-template-columns: repeat(2, 1fr);
        gap: 12px;
    }
}

/* ---- 10. 費用セクション（黄色地） ------------------------- */
.refSection.stuCostSection {
    background: var(--pop);
}
.stuCost {
    max-width: var(--content-wide);
    margin: 0 auto;
    display: grid;
    grid-template-columns: 1fr 1fr;
    gap: 24px;
}
.stuCost__box {
    padding: 30px 32px;
    border-radius: 16px;
    background: var(--white);
}
.stuCost__box h3 {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 14px;
    font-family: var(--font-heading);
    font-size: 20px;
    color: var(--primary-dark);
}
.stuCost__box--out h3 {
    color: var(--accent-strong);
}
.stuCost__box ul {
    list-style: none;
}
.stuCost__box li {
    position: relative;
    padding: 11px 0 11px 28px;
    border-bottom: 1px dashed var(--border);
    font-size: 15px;
}
.stuCost__box li:last-child {
    border-bottom: 0;
}
.stuCost__box li::before {
    content: "";
    position: absolute;
    left: 5px;
    top: 19px;
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--primary);
}
.stuCost__box--out li::before {
    background: var(--accent-strong);
}
.stuCost__foot {
    grid-column: 1 / -1;
    text-align: center;
}
.stuCost__note {
    margin-top: 14px;
    font-size: 13px;
    color: #6a4a10;
}
@media (max-width: 800px) {
    .stuCost {
        grid-template-columns: 1fr;
    }
    .stuCost__box {
        padding: 24px 22px;
    }
}

/* ---- 11. 六角形フォトグリッド ----------------------------- */
.stuHexGrid {
    max-width: var(--content-wide);
    margin: 0 auto;
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 14px;
    list-style: none;
}
.stuHex {
    position: relative;
    width: min(206px, 27vw);
    aspect-ratio: 1 / 1.1547;
    clip-path: polygon(50% 0%, 100% 25%, 100% 75%, 50% 100%, 0% 75%, 0% 25%);
    overflow: hidden;
    margin: 0;
}
.stuHex:nth-child(even) {
    margin-top: 46px;
}
.stuHex img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    transition: transform .6s ease;
}
.stuHex:hover img {
    transform: scale(1.08);
}
.stuHex figcaption {
    position: absolute;
    inset: auto 0 0 0;
    padding: 10px 6px 18px;
    text-align: center;
    font-size: 13px;
    font-weight: 700;
    color: var(--white);
    background: linear-gradient(to top, rgb(var(--ink-rgb) / 0.74), rgb(var(--ink-rgb) / 0));
}
@media (max-width: 640px) {
    .stuHexGrid {
        gap: 10px;
    }
    .stuHex:nth-child(even) {
        margin-top: 30px;
    }
}

/* ---------------------------------------------------------------
   42-5 追記：見出しの書体
   top.css 側は font-family を宣言していないため body の Noto を継承する。
   student.css は最後に読み込まれるので、同一詳細度でこちらが勝つ。
   --------------------------------------------------------------- */
.refHero__content h1,
.refPage .refTitle h2 {
    font-family: var(--font-heading);
}

.refPage .refTitle span {
    font-family: var(--font-display);
}

/* ===============================================================
   43号 追記：下層ページ（detail.css）の学生向け上書き
   detail.css は 1バイトも編集しない。
   detail.css の .detailPage ローカル変数は :root ではなく
   .detailPage に定義されているため、同じ .detailPage を
   後から書けば同一詳細度＋後読みで勝つ。
   =============================================================== */
.detailPage {
    --detail-ink: #145a51;
    --detail-rule: #bcd9d1;
    --detail-frame: #8fb8ad;
    --detail-label-bg: #145a51;
}

/* 英字ラベルは学生向けTOP（.refPage .refTitle span）と同じ Outfit にそろえる */
.detailPage .detailLabel,
.detailPage .detailTitle__label,
.detailPage .detailLeadCard__label,
.detailPage .detailMiniLabel,
.detailPage .detailFlowConsult__label {
    font-family: var(--font-display);
}

/* detail.css にベタ書きされている淡い青系の面を緑系にそろえる。
   .detailProgramCard* と .detailFaqItem__scene は 44・45号の
   ページが入るまで空振りする（意図的に先に入れておく）。 */
.detailPage .detailProgramCard__country {
    background: var(--accent-soft);
}

.detailPage .detailProgramCard__chips span,
.detailPage .detailRequirementBox,
.detailPage .detailFaqItem__scene,
.detailPage .detailProgramMiniTable--striped th,
.detailPage .detailProgramMiniTable--striped td {
    background: #f4faf8;
}

.detailPage .detailProgramMiniTable--striped .detailProgramMiniTable__row--shade th,
.detailPage .detailProgramMiniTable--striped .detailProgramMiniTable__row--shade td {
    background: #e8f4f0;
}

/* 46号（体験談）用。detail.css:2897 だけ書体がベタ書きのため先に潰しておく */
.detailPage .detailVoiceHero__label,
.detailPage .detailVoiceStory__label {
    font-family: var(--font-display);
}


/* ===============================================================
   53号 追記：一般向けセグメント
   =============================================================== */
/* 260915: メイントップの切り替えで出る写真に合わせる。school と work は同じ
   .refPage--general を使っているので、面（body[data-seg]）で写真を分ける。
   あわせてアンチグレア（減光グラデーション）を外す。 */
.refPage--general .refHero__bg {
    background: url("../img/general-life-culture.jpg?ver261003") center 50% / cover no-repeat;
}

body[data-seg="work"] .refPage--general .refHero__bg {
    /* ★この写真は Adobe Stock のウォーターマーク入り（616686436）。購入後に差し替える */
    background: url("../img/hero-work-comp.jpg?ver261004") center 45% / cover no-repeat;
}

.refChoose {
    background: #f7fbf9;
}

.refChoose__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    max-width: 1100px;
    margin: 0 auto;
}

.refChoose__box {
    padding: 24px;
    border: 1px solid var(--border);
    background: var(--white);
}

.refChoose__box h3 {
    margin: 0 0 14px;
    color: var(--ink);
    font-size: 20px;
}

.refChoose__box--country {
    grid-row: span 2;
}

.refChoose__chips {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.refChoose__chip {
    appearance: none;
    border: 1px solid #a6c9bf;
    border-radius: 999px;
    padding: 8px 14px;
    color: #145a51;
    background: #fff;
    font: inherit;
    font-weight: 700;
    cursor: pointer;
}

.refChoose__chip[aria-pressed="true"] {
    color: var(--white);
    border-color: #145a51;
    background: #145a51;
}

.refChoose__pending {
    margin: 0;
    color: #6a7f79;
}

.refChoose__actions {
    margin-top: 28px;
    text-align: center;
}

.refVoiceCard--pending .detailArchiveCard__fullLink,
.refVoiceCard--pending .detailArchiveCard__link {
    display: none;
}

.refVoice__year {
    display: block;
    min-height: 1em;
}

.detailFilterNotice {
    display: none;
    margin: 28px auto 0;
    max-width: 1100px;
    padding: 16px 20px;
    border-left: 4px solid #145a51;
    background: #f4faf8;
    color: #145a51;
    font-weight: 700;
}

.detailFilterNotice.isVisible {
    display: block;
}

@media (max-width: 640px) {
    .refChoose__grid {
        grid-template-columns: 1fr;
    }

    .refChoose__box--country {
        grid-row: auto;
    }

    .refChoose__box {
        padding: 18px;
    }
}


/* ============================================================
   63号: 一般向けの作り直し（語学留学との違い／4軸の絞り込み）
   ============================================================ */

/* --- 語学留学との違い --- */
.refVs {
    background: var(--bg-light);
}

.refVs__grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    align-items: stretch;
    margin-top: 40px;
}

.refVs__col {
    position: relative;
    padding: 30px 30px 32px;
    border-radius: 14px;
    background: #ffffff;
    border: 1px solid var(--border);
    overflow: hidden;
}

.refVs__col--iip {
    background: var(--primary-dark);
    border-color: var(--primary-dark);
    color: #ffffff;
}

/* シグネチャー：エアメール風の斜めストライプを、選ばれる側の左端に */
.refVs__col--iip::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 14px;
    background: repeating-linear-gradient(
        -45deg,
        var(--accent) 0 8px,
        transparent 8px 16px,
        rgb(255 255 255 / 0.55) 16px 24px,
        transparent 24px 32px
    );
}

.refVs__label {
    display: inline-block;
    font-family: var(--font-heading);
    font-weight: 700;
    font-size: 1.05rem;
    letter-spacing: 0.04em;
    padding-bottom: 12px;
    border-bottom: 2px solid var(--border);
    margin-bottom: 6px;
}

.refVs__col--other .refVs__label {
    color: var(--text-sub);
}

.refVs__col--iip .refVs__label {
    color: #ffffff;
    border-bottom-color: var(--accent);
}

.refVs__col--iip .refVs__label,
.refVs__col--iip .refVs__list {
    margin-left: 14px;
}

.refVs__list {
    margin: 0;
}

.refVs__row {
    display: grid;
    grid-template-columns: 7em minmax(0, 1fr);
    gap: 16px;
    align-items: baseline;
    padding: 18px 0;
    border-bottom: 1px dashed rgb(var(--border-rgb) / 0.9);
}

.refVs__col--iip .refVs__row {
    border-bottom-color: rgb(255 255 255 / 0.24);
}

.refVs__row:last-child {
    border-bottom: 0;
    padding-bottom: 0;
}

.refVs__row dt {
    margin: 0;
    font-family: var(--font-display);
    font-size: 0.82rem;
    font-weight: 600;
    letter-spacing: 0.08em;
    color: var(--text-sub);
}

.refVs__col--iip .refVs__row dt {
    color: var(--pop);
}

.refVs__row dd {
    margin: 0;
    font-size: 0.98rem;
    line-height: 1.85;
}

.refVs__col--other .refVs__row dd {
    color: var(--text-sub);
}

.refVs__note {
    margin: 26px 0 0;
    font-size: 0.94rem;
    color: var(--text-sub);
}

.refVs__actions {
    margin-top: 20px;
}

.refVs__link {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    padding: 13px 22px;
    font-weight: 800;
    color: var(--primary-dark);
    text-decoration: none;
    background: #ffffff;
    border: 2px solid var(--primary);
    border-radius: 6px;
    transition: color 0.25s ease, background-color 0.25s ease, gap 0.25s ease;
}

.refVs__link:hover,
.refVs__link:focus-visible {
    color: #ffffff;
    background: var(--primary);
    gap: 16px;
}

.refVs__link .material-symbols-rounded {
    font-size: 20px;
}

/* --- 4軸の絞り込み --- */
/* 分野は入口として一番広く見せたいので、上段を横いっぱいに使う。
   研修国は2行ぶち抜きのまま（既存の .refChoose__box--country）。 */
.refChoose__box--field {
    grid-column: 1 / -1;
}

.refChoose__chip[data-filter-field][aria-pressed="true"],
.refChoose__chip[data-filter-duration][aria-pressed="true"],
.refChoose__chip[data-filter-purpose][aria-pressed="true"] {
    background: var(--primary);
    border-color: var(--primary);
    color: #ffffff;
}

.refChoose__summary {
    margin: 22px 0 0;
    font-size: 0.94rem;
    color: var(--text-sub);
}

.refChoose__summary b {
    color: var(--primary-dark);
}

.refChoose__reset {
    margin-left: 12px;
    padding: 0;
    border: 0;
    background: none;
    font: inherit;
    color: var(--link);
    text-decoration: underline;
    cursor: pointer;
}

.refChoose__reset[hidden] {
    display: none;
}

/* --- 絞り込み結果（/general/programs/） --- */
.detailListCard--pending .stuTheme__count {
    background: rgb(var(--accent-rgb) / 0.12);
    color: var(--accent-strong);
}

.detailListCard[hidden] {
    display: none;
}

.detailFilterEmpty {
    margin: 24px 0 0;
    padding: 20px 22px;
    border-radius: 12px;
    background: var(--bg-light);
    color: var(--text-sub);
    font-size: 0.96rem;
}

.detailFilterEmpty[hidden] {
    display: none;
}

@media (max-width: 900px) {
    .refVs__grid {
        grid-template-columns: minmax(0, 1fr);
        gap: 18px;
    }
}

@media (max-width: 600px) {
    .refVs__col {
        padding: 24px 20px 26px;
    }

    .refVs__col--iip .refVs__label,
    .refVs__col--iip .refVs__list {
        margin-left: 10px;
    }

    .refVs__row {
        grid-template-columns: minmax(0, 1fr);
        gap: 4px;
        padding: 14px 0;
    }
}

/* ===============================================================
   261004：髙野さん確認（10/4）
   =============================================================== */

/* ---- 語学留学との違い：ベタ塗りが強すぎる → 薄い面＋太い枠にし、動きで「ここが違う」を伝える ---- */
.refVs__col--iip {
    color: var(--primary-dark);
    background: linear-gradient(180deg, #f3fbf8 0%, #e2f3ed 100%);
    border: 2px solid var(--primary);
    box-shadow: 0 14px 34px rgb(var(--primary-dark-rgb) / 0.14);
}

.refVs__col--iip .refVs__label {
    color: var(--primary-dark);
}

.refVs__col--iip .refVs__row {
    border-bottom-color: rgb(var(--primary-dark-rgb) / 0.2);
}

.refVs__col--iip .refVs__row dt {
    color: var(--accent-strong);
}

.refVs__col--iip::after {
    position: absolute;
    top: 14px;
    right: 16px;
    padding: 4px 12px;
    color: #ffffff;
    font-size: 0.78rem;
    font-weight: 800;
    letter-spacing: 0.06em;
    content: "ここが違います";
    background: var(--accent-strong);
    border-radius: 999px;
}

@media (max-width: 767px) {
    .refVs__col--iip::after {
        position: static;
        display: inline-block;
        margin: 0 0 12px 14px;
    }
}

/* 動き：IIPの側だけ、画面に入ったときに右から入り、行が順に現れ、見出しの線が引かれ、札が弾む。
   その後は枠の光がゆっくり脈打つ（目を引くが、うるさくない強さ）。JSが動かなければ最初から表示される */
@media (prefers-reduced-motion: no-preference) {
    .refVs__grid.isVsReady .refVs__col--iip {
        opacity: 0;
        transform: translateX(56px);
    }

    .refVs__grid.isVsReady .refVs__col--other {
        opacity: 0.55;
        transition: opacity 0.7s ease 0.2s;
    }

    .refVs__grid.isVsOn .refVs__col--other {
        opacity: 1;
    }

    .refVs__grid.isVsOn .refVs__col--iip {
        opacity: 1;
        transform: none;
        transition: opacity 0.6s ease 0.25s, transform 0.8s cubic-bezier(0.22, 0.9, 0.3, 1.1) 0.25s;
        animation: vsGlow 3.2s ease-in-out 1.4s infinite;
    }

    .refVs__grid.isVsReady .refVs__col--iip .refVs__row,
    .refVs__grid.isVsReady .refVs__col--iip::after {
        opacity: 0;
    }

    .refVs__grid.isVsOn .refVs__col--iip .refVs__row {
        animation: vsRow 0.6s ease both;
    }

    .refVs__grid.isVsOn .refVs__col--iip .refVs__row:nth-child(1) { animation-delay: 0.7s; }
    .refVs__grid.isVsOn .refVs__col--iip .refVs__row:nth-child(2) { animation-delay: 0.95s; }
    .refVs__grid.isVsOn .refVs__col--iip .refVs__row:nth-child(3) { animation-delay: 1.2s; }

    .refVs__grid.isVsOn .refVs__col--iip::after {
        animation: vsBadge 0.7s cubic-bezier(0.3, 1.6, 0.5, 1) 0.6s both;
    }

    .refVs__grid.isVsReady .refVs__col--iip .refVs__label {
        border-bottom-color: transparent;
        background: linear-gradient(var(--accent), var(--accent)) left bottom / 0 2px no-repeat;
    }

    .refVs__grid.isVsOn .refVs__col--iip .refVs__label {
        background-size: 100% 2px;
        transition: background-size 0.7s ease 0.6s;
    }
}

@keyframes vsRow {
    from { opacity: 0; transform: translateY(14px); }
    to { opacity: 1; transform: none; }
}

@keyframes vsBadge {
    from { opacity: 0; transform: scale(0.4) rotate(-8deg); }
    to { opacity: 1; transform: none; }
}

@keyframes vsGlow {
    0%, 100% { box-shadow: 0 14px 34px rgb(var(--primary-dark-rgb) / 0.14); }
    50% { box-shadow: 0 14px 34px rgb(var(--primary-dark-rgb) / 0.14), 0 0 0 7px rgb(var(--accent-rgb) / 0.2); }
}

/* ---- 研修分野の例：コンパクトに ---- */
.refChoose--compact .refFieldExcerpt {
    gap: 14px;
    margin-top: 22px;
}

.refChoose--compact .refFieldExcerpt__col {
    padding: 14px 16px;
}

.refChoose--compact .refFieldExcerpt__heading {
    margin-bottom: 8px;
    font-size: 0.9rem;
}

.refChoose--compact .fieldChips {
    gap: 5px;
}

.refChoose--compact .fieldChips li {
    padding: 3px 10px;
    font-size: 0.78rem;
}

.refChoose--compact .refTitle p {
    margin-top: 8px;
}

/* 261004：/work/ に研修分野を全部載せた（別ページ /work/fields/ を廃止）。サブ見出しの間隔 */
.refFieldExcerpt__heading--sub {
    margin-top: 14px;
}
