/*
 * page-admission.css — 入試情報TOP ページ固有調整
 * Figma 準拠リビルド (Phase 10 / 2026-10-02)
 * - SCHEDULE: 6方式グリッド + 中央オーバーレイ + 横帯 + 合否バー
 * - TYPES: 4カード
 * - FLOW: 5ステップ (矢印挟み)
 */

.page-admission {
    display: flex;
    flex-direction: column;
    gap: 50px;
    align-items: center;
    padding: 50px 0 0;
    background: #fff;
}

/* ==================================================================
 * SCHEDULE 2027年度 入試スケジュール — Figma 準拠レイアウト
 * - 6 列固定グリッド
 * - 列ヘッダー: 白地 + 青ボーダー + 「詳しくみる」リンク
 * - 高校既卒ボックス: 1列幅、グリーン
 * - 横帯: ao=col1, main=col2〜6, full=col1〜6
 * - 合否通知: フル幅 (col1〜6) 青ベタ
 * ================================================================== */
.page-admission__sch-grid {
    position: relative;
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    column-gap: 8px;
    row-gap: 10px;
    width: 100%;
    padding-bottom: 20px;
    align-items: start;
}
/* Figma 準拠: 各列ボックスの中央を通る縦ライン 6本をオーバーレイで描画
   (各列幅 = 100%/6、ラインは各列の中心 = (n*2-1)/12 * 100% 位置) */
.page-admission__sch-grid::before {
    content: "";
    position: absolute;
    inset: 0;
    background-image: repeating-linear-gradient(
        to right,
        transparent 0,
        transparent calc(100% / 12 - 1px),
        #d9d9d9 calc(100% / 12 - 1px),
        #d9d9d9 calc(100% / 12),
        transparent calc(100% / 12),
        transparent calc(100% / 6)
    );
    background-size: 100% 100%;
    background-repeat: no-repeat;
    pointer-events: none;
    z-index: 0;
}
.page-admission__sch-grid > * {
    position: relative;
    z-index: 1;
}
.page-admission__sch-col {
    display: flex;
    flex-direction: column;
    gap: 10px;
    grid-column: var(--col) / span 1;
}
.page-admission__sch-col-head {
    margin: 0;
    padding: 10px 6px;
    background: #fff;
    border: 2px solid var(--ytc-bg-brand, #439fff);
    border-radius: 6px;
    text-align: center;
}
.page-admission__sch-col-name {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 14px;
    color: var(--ytc-bg-brand, #439fff);
    line-height: 1.3;
}
.page-admission__sch-col-link {
    display: inline-block;
    margin-top: 2px;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 400;
    font-size: 11px;
    color: var(--ytc-bg-brand, #439fff);
    text-decoration: none;
    line-height: 1.2;
}
.page-admission__sch-col-link > span {
    margin-left: 2px;
}
.page-admission__sch-col-link:hover {
    text-decoration: underline;
}
.page-admission__sch-step {
    padding: 10px;
    background: #fff;
    border: 1px solid var(--ytc-border-strong, #39364e);
    border-radius: 6px;
    text-align: center;
}
.page-admission__sch-step-label {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 12px;
    color: var(--ytc-text-primary, #000);
    line-height: 1.5;
}
.page-admission__sch-step-date {
    margin: 4px 0 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 400;
    font-size: 10px;
    color: var(--ytc-text-secondary, #787878);
    line-height: 1.4;
}

/* 高校既卒 (ACF schedule_sotsu_col で指定した1列幅、グリーン、Figma は col 4) */
.page-admission__sch-sotsu {
    grid-column: var(--col, 4) / span 1;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 10px;
    background: #d8f7ec;
    border: 1px solid #1aad7c;
    border-radius: 8px;
    text-align: center;
}
.page-admission__sch-sotsu-head-wrap {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 6px 4px;
    background: #fff;
    border: 1.5px solid #1aad7c;
    border-radius: 6px;
}
.page-admission__sch-sotsu-head {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 14px;
    color: #0f6b4b;
}
.page-admission__sch-col-link--sotsu {
    color: #1aad7c;
}
.page-admission__sch-sotsu .page-admission__sch-step {
    background: #fff;
    border-color: #1aad7c;
}

/* 横帯セクション: grid-column を span 値で切替 */
.page-admission__sch-band {
    display: flex;
    flex-direction: column;
    gap: 4px;
    padding: 14px 20px;
    background: var(--ytc-bg-section, #d7f2ff);
    border-radius: 6px;
    text-align: center;
    margin-top: 10px;
}
.page-admission__sch-band--ao   { grid-column: 1 / span 1; }
.page-admission__sch-band--main { grid-column: 2 / span 5; }
.page-admission__sch-band--full { grid-column: 1 / span 6; background: #c7e8ff; }
.page-admission__sch-band-label {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 15px;
    color: var(--ytc-text-primary, #000);
}
.page-admission__sch-band-date {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 400;
    font-size: 13px;
    color: var(--ytc-text-primary, #000);
}
.page-admission__sch-band-note {
    margin: 4px auto 0;
    max-width: 760px;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 400;
    font-size: 11px;
    color: var(--ytc-text-secondary, #555);
    line-height: 1.6;
    text-align: left;
}

/* 合否通知 (フル幅、濃いブルー) */
.page-admission__sch-result {
    grid-column: 1 / span 6;
    padding: 16px;
    background: var(--ytc-bg-brand, #439fff);
    border-radius: 6px;
    text-align: center;
    margin-top: 10px;
}
.page-admission__sch-result p {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 18px;
    color: #fff;
    letter-spacing: 8px;
}

/* ==================================================================
 * TYPES 4つの入試方式
 * ================================================================== */
.page-admission__types-grid {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(4, 1fr);
    gap: 24px;
    width: 100%;
}
.page-admission__type {
    display: flex;
    flex-direction: column;
    gap: 14px;
    padding: 24px 22px;
    background: #fff;
    border: 1px solid var(--ytc-border-strong, #39364e);
    border-radius: 10px;
    height: 100%;
    text-decoration: none;
    color: inherit;
    box-sizing: border-box;
    transition: transform 0.2s;
}
.page-admission__type:hover {
    transform: translateY(-2px);
    color: inherit;
}
.page-admission__type-name {
    margin: 0;
    padding-bottom: 10px;
    border-bottom: 2px solid var(--ytc-bg-brand, #439fff);
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 20px;
    color: var(--ytc-text-primary, #000);
}
.page-admission__type-lead {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 14px;
    color: var(--ytc-text-primary, #000);
    line-height: 1.6;
}
.page-admission__type-desc {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 400;
    font-size: 13px;
    color: var(--ytc-text-secondary, #787878);
    line-height: 1.7;
    flex-grow: 1;
}
.page-admission__type-cta {
    display: inline-flex;
    align-items: center;
    gap: 4px;
    margin-top: auto;
    padding-top: 10px;
    color: var(--ytc-bg-brand, #439fff);
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 13px;
}

/* ==================================================================
 * FLOW 出願から入学までの流れ (5ステップ)
 * ================================================================== */
.page-admission__flow-highlight {
    display: inline-block;
    padding: 4px 12px;
    background: #fff;
    border-radius: 999px;
    color: var(--ytc-bg-brand, #439fff);
    font-weight: 700;
}
.page-admission__flow-steps {
    list-style: none;
    margin: 0;
    padding: 0;
    display: grid;
    grid-template-columns: repeat(5, 1fr);
    gap: 10px;
    width: 100%;
}
.page-admission__flow-step {
    position: relative;
    display: flex;
    flex-direction: column;
    gap: 8px;
    padding: 18px 14px;
    background: #fff;
    border: 1px solid #1aad7c;
    border-radius: 10px;
    text-align: center;
}
.page-admission__flow-step:not(:last-child)::after {
    content: "";
    position: absolute;
    right: -8px;
    top: 50%;
    transform: translateY(-50%);
    width: 0;
    height: 0;
    border-top: 8px solid transparent;
    border-bottom: 8px solid transparent;
    border-left: 10px solid #1aad7c;
    z-index: 1;
}
.page-admission__flow-step-no {
    margin: 0;
    font-family: var(--ytc-font-en, "Montserrat", sans-serif);
    font-weight: 700;
    font-size: 14px;
    color: #1aad7c;
    letter-spacing: 0.05em;
}
.page-admission__flow-step-title {
    margin: 0;
    font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
    font-weight: 700;
    font-size: 15px;
    color: var(--ytc-text-primary, #000);
    line-height: 1.5;
}

/* ==================================================================
 * SP (<=768px)
 * ================================================================== */
@media screen and (max-width: 768px) {
    .page-admission { gap: 30px; padding: 20px 0 0; }

    /* SP: SCHEDULE grid を 1 列縦積みに。
       2fr だと列ヘッダ (入試名) + STEP バンドで横幅が合計 375px を超えて右へはみ出すため。 */
    .page-admission__sch-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
    .page-admission__sch-col,
    .page-admission__sch-sotsu {
        grid-column: auto !important;
    }
    .page-admission__sch-band--ao,
    .page-admission__sch-band--main,
    .page-admission__sch-band--full,
    .page-admission__sch-result {
        grid-column: 1 / -1 !important;
    }
    .page-admission__sch-band-label {
        font-size: 13px;
    }

    .page-admission__types-grid {
        grid-template-columns: 1fr;
        gap: 12px;
    }

    .page-admission__flow-steps {
        grid-template-columns: 1fr;
        gap: 24px;
    }
    .page-admission__flow-step:not(:last-child)::after {
        right: 50%;
        top: auto;
        bottom: -18px;
        transform: translateX(50%) rotate(90deg);
    }
}

/* 2026-10-14 佐藤様指摘: FLOW が崩れている
   → /admission/recommendation/ (page-admission-ao__step-list) と同じ縦リスト CSS */
.page-admission__step-list {
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-direction: column;
    gap: 16px;
    width: 100%;
}



/* ============================================================================
   2026-10-14 SP 専用 SCHEDULE: ドロップダウン選択式 (Figma node 235:1488 準拠)
   ============================================================================ */
.page-admission__sch-sp { display: none; }

@media screen and (max-width: 768px) {
    /* PC 用グリッド (6列横並び) は SP で非表示 */
    .page-admission__sch-grid { display: none !important; }
    .page-admission__sch-sp { display: block; width: 100%; }

    .page-admission__sch-sp-selector {
        display: flex;
        flex-direction: column;
        gap: 8px;
        margin-bottom: 20px;
    }
    .page-admission__sch-sp-label {
        font-weight: 700;
        font-size: 14px;
        color: var(--ytc-text-primary, #000);
    }
    .page-admission__sch-sp-select-wrap {
        position: relative;
    }
    .page-admission__sch-sp-select-wrap::after {
        content: "";
        position: absolute;
        right: 14px;
        top: 50%;
        width: 0;
        height: 0;
        border-left: 6px solid transparent;
        border-right: 6px solid transparent;
        border-top: 7px solid var(--ytc-bg-brand, #439fff);
        transform: translateY(-50%);
        pointer-events: none;
    }
    .page-admission__sch-sp-select {
        appearance: none;
        -webkit-appearance: none;
        width: 100%;
        padding: 14px 44px 14px 16px;
        font-family: var(--ytc-font-jp, "Noto Sans JP", sans-serif);
        font-size: 15px;
        font-weight: 700;
        color: var(--ytc-text-primary, #000);
        background: #fff;
        border: 1px solid var(--ytc-border-strong, #39364e);
        border-radius: 8px;
        line-height: 1.4;
    }
    .page-admission__sch-sp-cards {
        display: flex;
        flex-direction: column;
        gap: 20px;
    }
    .page-admission__sch-sp-card[hidden] { display: none; }
    .page-admission__sch-sp-card {
        display: flex;
        flex-direction: column;
        gap: 16px;
        padding: 20px 16px;
        background: #fff;
        border: 1px solid var(--ytc-border-strong, #39364e);
        border-radius: 10px;
    }
    .page-admission__sch-sp-card-head {
        display: flex;
        justify-content: space-between;
        align-items: center;
        gap: 12px;
    }
    .page-admission__sch-sp-card-name {
        margin: 0;
        font-weight: 700;
        font-size: 18px;
        color: var(--ytc-bg-brand, #439fff);
    }
    .page-admission__sch-sp-card-link {
        display: inline-flex;
        align-items: center;
        gap: 4px;
        font-size: 13px;
        font-weight: 700;
        color: var(--ytc-bg-brand, #439fff);
        text-decoration: none;
    }
    .page-admission__sch-sp-card-link-arrow {
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 16px;
        height: 16px;
        border-radius: 50%;
        background: var(--ytc-bg-brand, #439fff);
        color: #fff;
        font-size: 12px;
        line-height: 1;
    }
    .page-admission__sch-sp-steps {
        list-style: none;
        margin: 0;
        padding: 0;
        display: flex;
        flex-direction: column;
        gap: 10px;
        position: relative;
    }
    .page-admission__sch-sp-step {
        position: relative;
        padding: 14px 16px;
        background: #fff;
        border: 1px solid var(--ytc-border-strong, #39364e);
        border-radius: 10px;
    }
    .page-admission__sch-sp-step:not(:last-child)::after {
        content: "";
        position: absolute;
        left: 50%;
        bottom: -8px;
        width: 1px;
        height: 6px;
        background:
            repeating-linear-gradient(to bottom, var(--ytc-border-strong, #39364e) 0 2px, transparent 2px 4px);
        transform: translateX(-50%);
    }
    .page-admission__sch-sp-step-no {
        margin: 0 0 6px;
        font-family: var(--ytc-font-en, "Montserrat", sans-serif);
        font-weight: 700;
        font-size: 11px;
        letter-spacing: 0.08em;
        color: var(--ytc-bg-brand, #439fff);
    }
    .page-admission__sch-sp-step-label {
        margin: 0;
        font-weight: 700;
        font-size: 16px;
        line-height: 1.4;
        color: var(--ytc-text-primary, #000);
    }
    .page-admission__sch-sp-step-date {
        margin: 6px 0 0;
        font-size: 13px;
        color: var(--ytc-text-secondary, #555);
    }
    .page-admission__sch-sp-step-note {
        margin: 6px 0 0;
        font-size: 12px;
        line-height: 1.7;
        color: var(--ytc-text-primary, #000);
    }
    .page-admission__sch-sp-step--result {
        background: var(--ytc-bg-brand, #439fff);
        border-color: var(--ytc-bg-brand, #439fff);
        text-align: center;
    }
    .page-admission__sch-sp-step--result .page-admission__sch-sp-step-no { color: #fff; opacity: 0.9; }
    .page-admission__sch-sp-step--result .page-admission__sch-sp-step-label { color: #fff; }
    .page-admission__sch-sp-foot-note {
        margin: 20px 0 0;
        font-size: 11px;
        line-height: 1.7;
        color: var(--ytc-text-secondary, #555);
    }
}


/* ==================================================================
 * 2026-10-19 Figma 準拠 調整 (node 781:11748 / SCHEDULE)
 * - 列ピッチ 180 + 16、見出し 74px (濃紺 1px 枠・角丸10・20px)
 * - ステップ間 20px、見出し→最初のステップ 24px
 * - 高校既卒ボックスは指定列の見出し直下 (1 行目) に配置
 * ================================================================== */
@media screen and (min-width: 769px) {
    .page-admission__sch-grid {
        column-gap: 16px;
        row-gap: 24px;
    }
    .page-admission__sch-col {
        grid-row: 1;
        gap: 20px;
        margin-bottom: 11px;
    }
    .page-admission__sch-col-head {
        display: flex;
        flex-direction: column;
        align-items: center;
        gap: 10px;
        margin-bottom: 4px;
        padding: 12px 0;
        border: 1px solid var(--ytc-border-strong, #39364e);
        border-radius: 10px;
    }
    .page-admission__sch-col-name {
        font-size: 20px;
        line-height: 24px;
        color: var(--ytc-text-primary, #000);
    }
    .page-admission__sch-col-link,
    .page-admission__sch-col-link--sotsu {
        display: inline-flex;
        align-items: center;
        gap: 6px;
        margin-top: 0;
        font-size: 14px;
        font-weight: 700;
        line-height: 14px;
        color: var(--ytc-bg-brand, #439fff);
    }
    .page-admission__sch-col-link > span {
        order: -1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 12px;
        height: 12px;
        margin: 0;
        border-radius: 50%;
        background: var(--ytc-bg-brand, #439fff);
        color: #fff;
        font-size: 11px;
        line-height: 1;
        padding-bottom: 1px;
        box-sizing: border-box;
    }
    .page-admission__sch-step {
        padding: 12px 4px;
        border-radius: 10px;
    }
    .page-admission__sch-step-label {
        font-size: 15px;
        line-height: 21px;
    }
    .page-admission__sch-step-date {
        margin-top: 2px;
        font-size: 12px;
        line-height: 17px;
    }

    /* 高校既卒: 見出し (74px) + 24px 下から開始 */
    .page-admission__sch-sotsu {
        grid-row: 1;
        align-self: start;
        margin-top: 98px;
        margin-bottom: 11px;
        gap: 15px;
        padding: 12px 8px;
        border-color: var(--ytc-border-strong, #39364e);
        border-radius: 10px;
    }
    .page-admission__sch-sotsu-head-wrap {
        gap: 10px;
        padding: 0;
        background: none;
        border: none;
    }
    .page-admission__sch-sotsu-head {
        font-size: 20px;
        line-height: 24px;
        color: var(--ytc-text-primary, #000);
    }
    .page-admission__sch-sotsu .page-admission__sch-step {
        position: relative;
        padding: 10px 4px;
        border-color: var(--ytc-border-strong, #39364e);
    }
    .page-admission__sch-sotsu .page-admission__sch-step + .page-admission__sch-step {
        margin-top: 9px;
    }
    .page-admission__sch-sotsu .page-admission__sch-step + .page-admission__sch-step::before {
        content: "";
        position: absolute;
        left: 50%;
        top: -19px;
        height: 12px;
        border-left: 1px dashed var(--ytc-border-strong, #39364e);
    }
    .page-admission__sch-sotsu .page-admission__sch-step-date {
        font-size: 11px;
        line-height: 15px;
    }
}

/* 2026-10-19 Figma 準拠: TYPES (Info Card / PC) — 275 幅 x4・gap20・pad20・方式名24px */
@media screen and (min-width: 769px) {
    .page-admission__types-grid.page-admission__types-grid {
        gap: 20px;
    }
    .page-admission__type.page-admission__type {
        gap: 10px;
        padding: 20px;
    }
    .page-admission__type-name.page-admission__type-name {
        font-size: 24px;
        line-height: 36px;
    }
    .page-admission__type-lead.page-admission__type-lead {
        font-size: 16px;
        line-height: 24px;
    }
    .page-admission__type-desc.page-admission__type-desc {
        font-size: 13px;
        line-height: 23px;
    }
    .page-admission__type-cta.page-admission__type-cta {
        gap: 6px;
        padding-top: 30px;
        font-size: 14px;
        line-height: 14px;
    }
    .page-admission__type-cta > span {
        order: -1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: var(--ytc-bg-brand, #439fff);
        color: #fff;
        font-size: 11px;
        line-height: 1;
        padding-bottom: 1px;
        box-sizing: border-box;
    }
}

/* 2026-10-19 Figma 準拠: SP SCHEDULE パネル (node 235:1488) */
@media screen and (max-width: 768px) {
    .page-admission__sch-sp-selector { margin-bottom: 24px; }
    .page-admission__sch-sp-select {
        padding: 13px 40px 13px 14px;
        border-radius: 5px;
        line-height: 27px;
    }
    .page-admission__sch-sp-card {
        gap: 16px;
        padding: 20px 16px;
    }
    .page-admission__sch-sp-card-name {
        font-size: 20px;
        line-height: 24px;
        color: var(--ytc-text-primary, #000);
    }
    .page-admission__sch-sp-card-link {
        gap: 6px;
        font-size: 14px;
        line-height: 14px;
    }
    .page-admission__sch-sp-card-link-arrow {
        width: 12px;
        height: 12px;
        font-size: 11px;
        padding-bottom: 1px;
        box-sizing: border-box;
    }
    .page-admission__sch-sp-steps { gap: 26px; }
    .page-admission__sch-sp-step.page-admission__sch-sp-step {
        padding: 14px 16px 16px;
        border-radius: 5px;
        /* 2026-10-19 [common] overflow:visible の打ち消しは不要に (custom.css の SP 安全網をページラッパーだけに限定したため) */
    }
    .page-admission__sch-sp-step:not(:last-child)::after {
        bottom: -22px;
        width: 0;
        height: 16px;
        background: none;
        border-left: 1px dashed var(--ytc-border-strong, #39364e);
    }
    .page-admission__sch-sp-step-no {
        margin: 0 0 6px;
        font-size: 11px;
        line-height: 11px;
        letter-spacing: 1px;
    }
    .page-admission__sch-sp-step-label {
        font-size: 18px;
        line-height: 27px;
    }
    .page-admission__sch-sp-step-date {
        margin-top: 6px;
        font-size: 14px;
        line-height: 22px;
        color: var(--ytc-text-secondary, #787878);
    }
    .page-admission__sch-sp-step--result {
        border-color: var(--ytc-border-strong, #39364e);
        text-align: left;
    }
    .page-admission__sch-sp-step--result .page-admission__sch-sp-step-no { opacity: 1; }
    .page-admission__sch-sp-foot-note {
        margin-top: 24px;
        font-size: 12px;
        line-height: 14px;
        color: var(--ytc-text-secondary, #787878);
    }
}

/* 2026-10-19 Figma 準拠: SP TYPES (Info Card) */
@media screen and (max-width: 768px) {
    .page-admission__types-grid.page-admission__types-grid { gap: 20px; }
    .page-admission__type.page-admission__type {
        gap: 6px;
        padding: 16px;
        border-radius: 5px;
    }
    .page-admission__type-name.page-admission__type-name {
        font-size: 20px;
        line-height: 30px;
        text-align: left;
    }
    .page-admission__type-lead.page-admission__type-lead {
        font-size: 18px;
        line-height: 27px;
    }
    .page-admission__type-desc.page-admission__type-desc {
        font-size: 14px;
        line-height: 25px;
    }
    .page-admission__type-cta.page-admission__type-cta {
        align-self: flex-end;
        gap: 6px;
        padding-top: 9px;
        font-size: 14px;
        line-height: 14px;
    }
    .page-admission__type-cta > span {
        order: -1;
        display: inline-flex;
        align-items: center;
        justify-content: center;
        width: 12px;
        height: 12px;
        border-radius: 50%;
        background: var(--ytc-bg-brand, #439fff);
        color: #fff;
        font-size: 11px;
        line-height: 1;
        padding-bottom: 1px;
        box-sizing: border-box;
    }
}

/* ---------------------------------------------------------------------------
 * [layout-restore] 2026-10-19 入学試験トップ (/admission/) FLOW を Figma 準拠に戻す
 *   PC: Figma「Step Item / PC」203x128 の STEP カードを横一列 (カード間 10+16px 点線+10 = 36px)、
 *       pad 20/24・角丸 10・濃色 1px 枠・白、STEP 16px/700 青、見出し 20px/700、説明 16px グレー、中央揃え
 *   SP: Figma「Step Item」縦積み (pad 14/16・角丸 5、STEP 11px → 見出し → 説明 14px、左揃え、縦の点線 16px)
 *   旧 2026-10-13「縦リストに揃える」は妥協だったため上書き。マークアップ (c-step-row) は不変
 * ------------------------------------------------------------------------- */
@media screen and (min-width: 769px) {
    .page-admission .page-admission__step-list.page-admission__step-list {
        display: grid;
        grid-auto-flow: column;
        grid-auto-columns: minmax(0, 1fr);
        flex-direction: row;
        gap: 36px;
        width: 100%;
    }
    .page-admission .page-admission__step-list > .c-step-row.c-step-row {
        position: relative;
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: flex-start;
        gap: 10px;
        min-height: 128px;
        padding: 20px 24px;
        background: #fff;
        border: 1px solid var(--ytc-border-strong, #39364e);
        border-radius: 10px;
        text-align: center;
    }
    .page-admission .page-admission__step-list > .c-step-row:not(:last-child)::after {
        content: "";
        display: block;
        position: absolute;
        top: 50%;
        bottom: auto;
        left: auto;
        right: -27px;
        width: 16px;
        height: 0;
        border: 0;
        border-top: 1px dashed var(--ytc-border-strong, #39364e);
        transform: none;
    }
    .page-admission .page-admission__step-list .c-step-row__no.c-step-row__no {
        display: block;
        width: 100%;
        min-width: 0;
        font-size: 16px;
        font-weight: 700;
        line-height: 1;
        text-align: center;
        color: var(--ytc-bg-brand, #439fff);
    }
    .page-admission .page-admission__step-list .c-step-row__body.c-step-row__body {
        flex: 1 0 auto;
        flex-direction: column;
        flex-wrap: nowrap;
        align-items: center;
        justify-content: center;
        gap: 6px;
        width: 100%;
        min-height: 62px;
        padding: 0;
    }
    .page-admission .page-admission__step-list .c-step-row__title.c-step-row__title {
        font-size: 20px;
        line-height: 1.5;
        text-align: center;
    }
    .page-admission .page-admission__step-list .c-step-row__desc.c-step-row__desc {
        font-size: 16px;
        line-height: 1.6;
        color: var(--ytc-text-secondary, #787878);
        text-align: center;
    }
}
@media screen and (max-width: 768px) {
    .page-admission .page-admission__step-list.page-admission__step-list {
        display: flex;
        flex-direction: column;
        gap: 26px;
    }
    .page-admission .page-admission__step-list > .c-step-row.c-step-row {
        align-items: flex-start;
        gap: 6px;
        padding: 14px 16px 16px;
        border-radius: 5px;
        text-align: left;
    }
    .page-admission .page-admission__step-list > .c-step-row:not(:last-child)::after {
        left: 50%;
        right: auto;
        top: auto;
        bottom: -21px;
        width: 0;
        height: 16px;
        border: 0;
        border-left: 1px dashed var(--ytc-border-strong, #39364e);
        transform: translateX(-50%);
    }
    .page-admission .page-admission__step-list .c-step-row__no.c-step-row__no { font-size: 11px; line-height: 1; }
    .page-admission .page-admission__step-list .c-step-row__body.c-step-row__body { gap: 6px; }
    .page-admission .page-admission__step-list .c-step-row__title.c-step-row__title { font-size: 20px; line-height: 1.5; text-align: left; }
    .page-admission .page-admission__step-list .c-step-row__desc.c-step-row__desc { font-size: 14px; line-height: 1.6; text-align: left; }
}
/* [layout-restore] FLOW のリード: Figma は白ピルなしのテキスト (16px、方式名部分が青太字) */
.page-admission .page-admission__flow .page-admission__flow-highlight {
    padding: 0;
    background: transparent;
    border-radius: 0;
}
