@charset "UTF-8";
/* ==================================================
弘道塾 トップページ専用CSS
================================================== */
.page-home {
    --home-navy: #062852;
    --home-accent: #A44A3F;
    --home-accent-hover: #7E352F;
    --home-accent-soft: #FFF4F1;
    --home-accent-border: #C99A91;
    --home-blue-soft: #F4F8FC;
    --home-focus-accent: rgba(164, 74, 63, 0.35);
}
/* ==================================================
ファーストビュー・実際の指導写真
================================================== */


/* ヒーロー内：指導について詳しく見るリンク（暖色アクセント） */


/* ヒーロー内：既卒生（浪人生）案内リンク（対象別案内・紺系を維持） */
.top-graduate-link-wrap {
margin-top: 22px;
text-align: center;
}
.top-graduate-link,
.top-graduate-link:visited {
display: inline-block;
padding: 8px 20px;
border: 1px solid #cce0ff;
border-radius: 4px;
background: var(--home-blue-soft);
color: var(--home-navy);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.02em;
line-height: 1.6;
text-decoration: none;
transition:
background-color 0.2s ease,
border-color 0.2s ease;
}
.top-graduate-link:hover {
background: #e3eef9;
border-color: #b3d1ff;
color: var(--home-navy);
}
.top-graduate-link:focus-visible {
outline: 2px solid rgba(6, 40, 82, 0.4);
outline-offset: 2px;
}
/* ==================================================
2. 共感・回答トグル
================================================== */
/* 共感ブロック全体 */
.concern-section {
padding: 32px;
}
/* ブロック見出し */
.concern-section-heading {
margin: 0 0 10px;
padding: 0;
border: none;
color: #062852;
font-size: 22px;
line-height: 1.55;
text-align: center;
}
/* 見出し下の説明 */
.concern-section-intro {
max-width: 650px;
margin: 0 auto 25px;
color: #555;
font-size: 14px;
line-height: 1.8;
text-align: center;
}
/* トグル一覧 */
.concern-accordion {
display: block;
max-width: 720px;
margin: 0 auto;
border-top: 1px solid #dbe4ec;
}
/* 各トグル */
.concern-details {
overflow: visible;
background: transparent;
border: none;
border-bottom: 1px solid #dbe4ec;
border-radius: 0;
box-shadow: none;
}
/* 質問部分 */
.concern-summary {
position: relative;
display: flex;
align-items: flex-start;
gap: 11px;
min-height: auto;
padding: 18px 42px 18px 8px;
color: #123653;
font-size: 15px;
font-weight: 700;
line-height: 1.7;
cursor: pointer;
list-style: none;
transition:
background-color 0.2s ease,
color 0.2s ease;
}
/* Safari・Chromeの標準三角形を消す */
.concern-summary::-webkit-details-marker {
display: none;
}
/* Firefoxなどを含め標準マーカーを消す */
.concern-summary::marker {
display: none;
content: "";
}
/* マウスを乗せたとき */
.concern-summary:hover {
background: rgba(244, 248, 252, 0.7);
}
/* キーボード操作時 */
.concern-summary:focus-visible {
outline: 2px solid var(--home-focus-accent);
outline-offset: -2px;
}
/* 開いている質問部分 */
.concern-details[open] .concern-summary {
background: #f7f9fb;
}
/* 右端のプラス記号（暖色アクセント） */
.concern-summary::after {
content: "＋";
position: absolute;
top: 50%;
right: 10px;
color: var(--home-accent);
font-size: 18px;
font-weight: 400;
line-height: 1;
transform: translateY(-50%);
}
/* 開いているときはマイナス記号（暖色アクセント） */
.concern-details[open] .concern-summary::after {
content: "−";
}
/* Q.の文字（暖色アクセント） */
.concern-question-mark {
flex: 0 0 auto;
color: var(--home-accent);
font-family: Arial, sans-serif;
font-size: 15px;
font-weight: 700;
line-height: 1.7;
}
/* 回答部分 */
.concern-answer {
padding: 2px 42px 20px 34px;
background: #f7f9fb;
}
/* 「弘道塾の見立て」ラベル（暖色アクセント） */
.concern-answer-label {
display: inline-block;
margin-bottom: 7px;
color: var(--home-accent);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.04em;
}
/* 回答本文 */
.concern-answer p {
margin: 0 0 12px;
color: #444;
font-size: 14px;
line-height: 1.85;
}
.concern-answer p:last-child {
margin-bottom: 0;
}
/* 回答内の具体例 */
.concern-example {
margin-top: 13px !important;
padding: 10px 13px;
background: #fff;
border-left: 2px solid var(--home-accent-border);
color: #33475b !important;
font-size: 13px !important;
line-height: 1.85 !important;
}
/* 状況別解説への追加案内 */


/* トグル下の結論 */

/* 無料相談へのリンク（暖色アクセント） */


/* ==================================================
3. 医学部ブロック前のつなぎ見出し
================================================== */

.medical-bridge-label {
display: block;
margin-bottom: 5px;
color: #8a6a1f;
font-size: 11.5px;
font-weight: 700;
line-height: 1.6;
letter-spacing: 0.08em;
}
.medical-bridge-title {
margin: 0;
color: #062852;
font-family: "Noto Serif JP", serif;
font-size: 20px;
line-height: 1.5;
}
/* ==================================================
4. 医学部ブロック
================================================== */
/*
style.css側に設定されている可能性がある
min-height・padding・displayを確実に上書きします。
*/

/* 医学部ブロックの内側 */

/* 「医学部志望の方へ」バッジ */

/* 医学部ブロック見出し */

/* 医学部ブロック導入文 */

/* 強調部分 */

/* 詳細トグル */

/* 詳細トグルの質問部分 */

/* 詳細トグルを開いた際の本文 */

/* 詳細本文 */

/* 医学部ページへのボタンを囲む部分 */

/* 医学部ページへのボタン */

/* ==================================================
5. スマートフォン表示
================================================== */
@media (max-width: 767px) {


/* ----------------------------------------------
   ファーストビュー
   ---------------------------------------------- */


/* ----------------------------------------------
   共感・回答トグル
   ---------------------------------------------- */

.concern-section {
    padding: 25px 16px;
}

.concern-section-heading {
    font-size: 19px;
    line-height: 1.55;
}

.concern-section-intro {
    margin-bottom: 20px;
    font-size: 13.5px;
    line-height: 1.8;
    text-align: left;
}

.concern-summary {
    gap: 8px;
    padding: 16px 36px 16px 3px;
    font-size: 14px;
    line-height: 1.7;
}

.concern-summary::after {
    right: 5px;
    font-size: 17px;
}

.concern-question-mark {
    font-size: 14px;
    line-height: 1.7;
}

.concern-answer {
    padding: 2px 8px 18px 25px;
}

.concern-answer-label {
    font-size: 11.5px;
}

.concern-answer p {
    font-size: 14px;
    line-height: 1.85;
}

.concern-example {
    padding: 10px 12px;
    font-size: 12.5px !important;
}


/* ----------------------------------------------
   医学部ブロック前の見出し
   ---------------------------------------------- */


.medical-bridge-label {
    margin-bottom: 4px;
    font-size: 11px;
}

.medical-bridge-title {
    font-size: 18px;
    line-height: 1.55;
}


/* ----------------------------------------------
   医学部ブロック
   ---------------------------------------------- */


}
/* ==================================================
6. 小さいスマートフォン
================================================== */
@media (max-width: 420px) {


.concern-section {
    padding: 23px 13px;
}

.concern-section-heading {
    font-size: 18px;
}

.concern-summary {
    padding-right: 32px;
    font-size: 13.5px;
}

.concern-answer {
    padding-left: 22px;
    padding-right: 5px;
}

.medical-bridge-title {
    font-size: 17px;
}


}
/* ==================================================
回遊カード・3つの理由（補助導線・開閉案内）
================================================== */
/* トップページ回遊カードの矢印（暖色アクセント） */


/* 3つの理由：開閉案内ラベル・記号（暖色アクセント） */


/* ==================================================
7. 二つの指導記録
================================================== */
/*
「3つの理由」に設定されている共通の下余白を抑え、
二つの指導記録へ自然につなげます。
*/

/* セクション全体 */

/* セクション上部 */

/* 小見出し（暖色アクセント） */

/* メイン見出し */

/* 導入文 */

/* 2列配置 */

/* 各記録カード */

/* 手紙側はわずかに色を変える */

/* 「弘道塾開校後」「前職時代」小ラベル（暖色アクセント） */

/* カード見出し */

/* カード本文 */

/* 具体例 */

/* リンクをカード下端に揃える */

/* 各詳細ページへのボタン（紺背景を維持） */


/* 前職時代であることの注記 */

/* ==================================================
二つの指導記録：スマートフォン
================================================== */

/* ==================================================
二つの指導記録：小さいスマートフォン
================================================== */

/* ==================================================
動きを抑える設定
================================================== */

/* =========================================
指導スペースのご紹介
========================================= */

.teaching-space-header {
max-width: 760px;
margin: 0 auto 34px;
text-align: center;
}
/* 小ラベル（暖色アクセント） */
.teaching-space-kicker {
display: inline-block;
margin-bottom: 10px;
color: var(--home-accent);
font-size: 13px;
font-weight: 700;
letter-spacing: 0.08em;
}
.teaching-space-title {
margin: 0;
color: #062852;
font-family: "Noto Serif JP", serif;
font-size: 28px;
font-weight: 700;
line-height: 1.5;
}
.teaching-space-lead {
max-width: 720px;
margin: 18px auto 0;
color: #444;
font-size: 15px;
line-height: 1.9;
}
.teaching-space-grid {
display: grid;
grid-template-columns: repeat(3, minmax(0, 1fr));
gap: 22px;
align-items: start;
}
.teaching-space-card {
overflow: hidden;
margin: 0;
background: #fff;
border: 1px solid #dce5ee;
border-radius: 10px;
box-shadow: 0 5px 18px rgba(6, 40, 82, 0.08);
}
.teaching-space-image-wrapper {
overflow: hidden;
background: #eef2f5;
border-bottom: 1px solid #dce5ee;
}
.teaching-space-image {
display: block;
width: 100%;
height: auto;
}
.teaching-space-caption {
padding: 20px 20px 22px;
}
/* 番号（暖色アクセント） */
.teaching-space-number {
display: block;
margin-bottom: 7px;
color: var(--home-accent);
font-size: 12px;
font-weight: 700;
letter-spacing: 0.08em;
}
.teaching-space-card-title {
margin: 0 0 10px;
color: #062852;
font-size: 17px;
font-weight: 700;
line-height: 1.5;
}
.teaching-space-card-text {
margin: 0;
color: #555;
font-size: 13.5px;
line-height: 1.8;
}


/* 補助リンク（暖色アクセント） */


/* タブレット */
@media screen and (max-width: 900px) {


.teaching-space-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.teaching-space-card:last-child {
    grid-column: 1 / -1;
    max-width: 520px;
    width: 100%;
    margin-right: auto;
    margin-left: auto;
}
}
/* スマートフォン */
@media screen and (max-width: 640px) {


.teaching-space-header {
    margin-bottom: 25px;
}

.teaching-space-title {
    font-size: 22px;
    line-height: 1.55;
}

.teaching-space-lead {
    font-size: 14px;
    line-height: 1.8;
    text-align: left;
}

.teaching-space-grid {
    grid-template-columns: 1fr;
    gap: 18px;
}

.teaching-space-card:last-child {
    grid-column: auto;
    max-width: none;
}

.teaching-space-caption {
    padding: 17px 18px 20px;
}

.teaching-space-card-title {
    font-size: 16px;
}

.teaching-space-card-text {
    font-size: 13.5px;
}


}
/* =========================================
受講開始までの流れ・Step2補足
========================================= */

/* 補助リンク（暖色アクセント） */


.teaching-space-image-wrapper picture {
display: block;
}
.teaching-space-image-wrapper picture img {
display: block;
width: 100%;
height: auto;
}
/* =========================================================
トップページ・手書き例題PDF
========================================================= */


/* キッカー（暖色ソフト背景＋アクセント文字） */


/* PDFラベルは紺背景＋白文字を維持 */


/* コンテンツラベル（暖色アクセント） */


/* PDFボタン（暖色アクセント背景＋白文字） */


/* ライブラリリンク（暖色アクセント） */


/* タブレット・スマートフォン */

/* =========================================================
トップページ・実績バッジと詳細導線
========================================================= */
/* 実績バッジのチェックマーク（テラコッタ） */
.page-home .hero-section .badge-check {
color: var(--home-accent) !important;
}
/* バッジ下の余白をなくし、補足リンクと一体化 */
.hero-section > .tag-container {
margin-bottom: 0;
}
/* 実績の根拠を確認するための補足リンク（暖色アクセント） */
.top-badge-evidence {
margin: 12px 0 30px;
text-align: center;
}
.top-badge-evidence a,
.top-badge-evidence a:visited {
display: inline-flex;
align-items: center;
gap: 6px;
color: var(--home-accent);
font-size: 12px;
font-weight: 600;
line-height: 1.7;
text-decoration: underline;
text-decoration-color: var(--home-accent-border);
text-decoration-thickness: 1px;
text-underline-offset: 4px;
transition:
color 0.2s ease,
text-decoration-color 0.2s ease;
}
.top-badge-evidence a:hover {
color: var(--home-accent-hover);
text-decoration-color: var(--home-accent-hover);
}
.top-badge-evidence a:focus-visible {
outline: 2px solid var(--home-focus-accent);
outline-offset: 3px;
border-radius: 2px;
}
@media screen and (max-width: 700px) {
.top-badge-evidence {
margin: 10px 0 27px;
padding: 0 12px;
}


.top-badge-evidence a,
.top-badge-evidence a:visited {
    font-size: 11.5px;
    line-height: 1.7;
}
}


.hero-section > .tag-container {
    margin-bottom: 0;
}


.top-badge-external-record {
    margin: 0 0 3px;
    color: #294e6d;
    font-size: 12.5px;
    font-weight: 700;
    line-height: 1.7;
}

.top-badge-external-record::before {
    content: "✓";
    margin-right: 6px;
    color: var(--home-accent);
    font-weight: 700;
}

.top-badge-evidence a,
.top-badge-evidence a:visited {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: #557086;
    font-size: 11.5px;
    font-weight: 600;
    line-height: 1.7;
    text-decoration: underline;
    text-decoration-color: #a7bac9;
    text-decoration-thickness: 1px;
    text-underline-offset: 4px;
}

.top-badge-evidence a:hover {
    color: #075fa8;
    text-decoration-color: #075fa8;
}

@media screen and (max-width: 700px) {
    .top-badge-evidence {
        margin: 10px 0 27px;
        padding: 0 12px;
    }

    .top-badge-external-record {
        font-size: 12px;
    }

    .top-badge-evidence a,
    .top-badge-evidence a:visited {
        font-size: 11px;
    }
}

/* =========================================================
   TOP PAGE STAGE 1 / 2026-09
   早期PDF導線・見立て・完全1対1
========================================================= */
.top-example-quick {
    max-width: 760px;
    margin: 26px auto 38px;
    padding: 0 18px;
}

.top-example-quick-link,
.top-example-quick-link:visited {
    display: grid;
    grid-template-columns: 1fr auto;
    gap: 5px 22px;
    align-items: center;
    padding: 18px 22px;
    background: #f8fbfd;
    border: 1px solid #cfdde8;
    border-radius: 10px;
    color: #123653;
    text-decoration: none;
    box-shadow: 0 4px 14px rgba(6, 40, 82, 0.05);
    transition: border-color 0.2s ease, box-shadow 0.2s ease, transform 0.2s ease;
}

.top-example-quick-link:hover {
    border-color: #9db6c9;
    box-shadow: 0 7px 18px rgba(6, 40, 82, 0.09);
    transform: translateY(-1px);
}

.top-example-quick-link:focus-visible {
    outline: 2px solid rgba(6, 40, 82, 0.4);
    outline-offset: 3px;
}

.top-example-quick-kicker {
    grid-column: 1;
    color: #557086;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.5;
}

.top-example-quick-title {
    grid-column: 1;
    color: #062852;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.65;
}

.top-example-quick-action {
    grid-column: 2;
    grid-row: 1 / span 2;
    color: var(--home-accent);
    font-size: 13px;
    font-weight: 700;
    white-space: nowrap;
}


.diagnosis-section {
    max-width: 860px;
    margin: 58px auto 0;
    padding: 0 22px;
}

.diagnosis-header {
    max-width: 760px;
    margin: 0 auto 30px;
    text-align: center;
}

.diagnosis-title {
    margin-bottom: 18px;
}

.diagnosis-lead {
    margin: 0 auto 14px;
    color: #123653;
    font-size: 17px;
    line-height: 1.8;
}

.diagnosis-intro {
    margin: 0;
    color: #4b5e6d;
    font-size: 14.5px;
    line-height: 1.9;
}

.diagnosis-flow {
    max-width: 760px;
    margin: 0 auto;
    border-top: 1px solid #d8e2ea;
}

.diagnosis-item {
    padding: 28px 6px;
    border-bottom: 1px solid #d8e2ea;
}

.diagnosis-item h3 {
    margin: 0 0 12px;
    color: #062852;
    font-size: 18px;
    line-height: 1.6;
}

.diagnosis-item p {
    margin: 0 0 10px;
    color: #3f5363;
    font-size: 14.5px;
    line-height: 1.9;
}

.diagnosis-item p:last-child {
    margin-bottom: 0;
}

.diagnosis-item .diagnosis-emphasis {
    color: #062852;
    font-weight: 700;
}

.one-to-one-section {
    max-width: 760px;
    margin: 52px auto 62px;
    padding: 30px 32px;
    background: #f6f9fc;
    border-left: 4px solid #294e6d;
    border-radius: 0 10px 10px 0;
}

.one-to-one-title {
    margin: 0 0 18px;
    text-align: left;
}

.one-to-one-body p {
    margin: 0 0 12px;
    color: #3f5363;
    font-size: 14.5px;
    line-height: 1.9;
}

.one-to-one-body p:last-child {
    margin-bottom: 0;
}

.one-to-one-note {
    padding-top: 4px;
    color: #123653 !important;
    font-weight: 700;
}

@media screen and (max-width: 700px) {
    .top-example-quick {
        margin: 20px auto 30px;
        padding: 0 12px;
    }

    .top-example-quick-link,
    .top-example-quick-link:visited {
        display: block;
        padding: 16px 17px;
    }

    .top-example-quick-kicker,
.top-example-quick-title,
.top-example-quick-action{
        display: block;
    }

    .top-example-quick-title {
        margin-top: 4px;
        font-size: 14.5px;
    }

    .top-example-quick-action {
        margin-top: 10px;
        font-size: 12.5px;
    }

    

    .diagnosis-section {
        margin-top: 42px;
        padding: 0 15px;
    }

    .diagnosis-header {
        margin-bottom: 20px;
        text-align: left;
    }

    .diagnosis-lead {
        font-size: 15.5px;
        line-height: 1.75;
    }

    .diagnosis-intro,
    .diagnosis-item p,
    .one-to-one-body p {
        font-size: 14px;
        line-height: 1.85;
    }

    .diagnosis-item {
        padding: 23px 2px;
    }

    .diagnosis-item h3 {
        font-size: 16.5px;
    }

    .one-to-one-section {
        margin: 40px 12px 48px;
        padding: 24px 20px;
        border-left-width: 3px;
    }
}

/* ===== 第一段階 レイアウト再調整：見立て → 完全1対1 ===== */
.diagnosis-section {
    max-width: 860px;
    margin: 58px auto 0;
    padding: 38px 44px 34px;
    background: rgba(255, 255, 255, 0.62);
    border: 1px solid #dbe5ec;
    border-radius: 12px;
}

.diagnosis-header {
    max-width: 760px;
    margin: 0 auto 24px;
    text-align: left;
}

.diagnosis-title {
    margin: 0 0 18px;
    padding-left: 14px;
    border-left: 3px solid #0877c9;
}

.diagnosis-lead {
    margin: 0 0 12px;
}

.diagnosis-intro {
    margin: 0;
}

.diagnosis-flow {
    max-width: 760px;
    margin: 0 auto;
    border-top: 0;
}

.diagnosis-item {
    padding: 25px 4px;
    border-bottom: 1px solid #d8e2ea;
}

.diagnosis-item:first-child {
    padding-top: 18px;
}

.diagnosis-item:last-child {
    padding-bottom: 4px;
    border-bottom: 0;
}

.one-to-one-section {
    max-width: 760px;
    margin: 34px auto 62px;
    padding: 28px 32px;
    background: #f6f9fc;
    border: 1px solid #dbe5ec;
    border-left: 0;
    border-radius: 10px;
}

.one-to-one-title {
    margin: 0 0 18px;
    padding-left: 14px;
    border-left: 3px solid #0877c9;
    text-align: left;
}

@media screen and (max-width: 700px) {
    .diagnosis-section {
        margin: 42px 12px 0;
        padding: 28px 20px 24px;
        border-radius: 10px;
    }

    .diagnosis-header {
        margin-bottom: 18px;
    }

    .diagnosis-title,
    .one-to-one-title {
        padding-left: 11px;
        border-left-width: 3px;
    }

    .diagnosis-item {
        padding: 22px 1px;
    }

    .diagnosis-item:first-child {
        padding-top: 14px;
    }

    .one-to-one-section {
        margin: 28px 12px 48px;
        padding: 24px 20px;
        border-left: 1px solid #dbe5ec;
    }
}

/* ===== 第二段階：指導の証拠 → 指導する人と環境 ===== */
.evidence-section,
.instructor-environment-section {
    max-width: 920px;
    margin: 64px auto 0;
    padding: 0 20px;
    box-sizing: border-box;
}
.evidence-header,
.instructor-environment-header {
    max-width: 760px;
    margin: 0 auto 28px;
    text-align: center;
}
.evidence-kicker{
    display: inline-block;
    margin-bottom: 8px;
    color: #315675;
    font-size: 12px;
    font-weight: 700;
    letter-spacing: .06em;
}
.evidence-title,
.instructor-environment-title {
    margin: 0;
    color: #062852;
    font-family: "Noto Serif JP", serif;
    font-size: 24px;
    line-height: 1.55;
}
.evidence-lead {
    margin: 12px auto 0;
    color: #555;
    font-size: 14.5px;
    line-height: 1.85;
}
.evidence-example {
    display: grid;
    grid-template-columns: minmax(260px, 340px) minmax(0, 1fr);
    gap: 30px;
    align-items: center;
    padding: 26px;
    border: 1px solid #cdddec;
    border-radius: 12px;
    background: #fff;
    box-shadow: 0 8px 24px rgba(6,40,82,.07);
    scroll-margin-top: 24px;
}
.evidence-example-image { position: relative; overflow: hidden; border: 1px solid #d8e0e8; border-radius: 6px; background:#fff; }
.evidence-example-image img { display:block; width:100%; height:auto; }
.evidence-pdf-label { position:absolute; right:9px; bottom:9px; padding:5px 9px; border-radius:4px; background:rgba(6,40,82,.92); color:#fff; font-size:11px; font-weight:700; }
.evidence-item-label { display:block; margin-bottom:8px; color:#a94b35; font-size:12.5px; font-weight:700; letter-spacing:.04em; }
.evidence-example h3,
.evidence-record h3,
.instructor-summary h3,
.study-environment-summary h3,
.teaching-space-subsection .teaching-space-title { margin:0 0 12px; color:#062852; font-family:"Noto Serif JP",serif; font-size:20px; line-height:1.55; }
.evidence-example-body p,
.evidence-record p,
.instructor-summary p,
.study-environment-summary p { color:#454f58; font-size:14px; line-height:1.85; }
.evidence-example-name { font-weight:700; color:#315675 !important; }
.evidence-link,
.evidence-link:visited,
.instructor-detail-link,
.instructor-detail-link:visited { display:inline-block; margin-top:10px; color:#a94b35; font-size:14px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.evidence-link--primary { padding:10px 18px; border-radius:5px; background:#a94b35; color:#fff !important; text-decoration:none; }
.evidence-note { display:block; margin-top:8px; color:#6b6b6b; font-size:11.5px; }
.evidence-records { display:grid; grid-template-columns:1fr 1fr; gap:24px; margin-top:26px; }
.evidence-record { padding:26px; border:1px solid #d7e1e9; border-radius:10px; background:#fff; }
.evidence-record--letter { background:#f7f2e9; border-color:#d8c9ad; box-shadow:inset 0 0 0 1px rgba(125,91,51,.04); }
.evidence-record--letter .evidence-item-label { color:#765a35; }
.evidence-small-note { margin-top:15px; color:#777 !important; font-size:11.5px !important; line-height:1.6 !important; }

.instructor-environment-section { padding-top:42px; padding-bottom:42px; border-top:1px solid #d8e2ea; border-bottom:1px solid #d8e2ea; }
.instructor-summary { max-width:760px; margin:0 auto 42px; padding:28px 32px; background:rgba(255,255,255,.62); border:1px solid #dbe5ec; border-radius:10px; }
.capacity-reason { margin-top:18px; padding:14px 16px; border-left:3px solid #315675; background:#f5f8fa; color:#062852 !important; font-weight:700; }
.teaching-space-subsection { margin-top:42px; }
.teaching-space-subsection .teaching-space-header { margin-bottom:22px; text-align:left; }
.teaching-space-subsection .teaching-space-title { font-size:20px; }
.teaching-space-subsection .teaching-space-lead { max-width:none; margin:0; text-align:left; }
.study-environment-summary { max-width:760px; margin:34px auto 0; padding-top:28px; border-top:1px solid #d8e2ea; }

@media screen and (max-width:700px) {
    .evidence-section,
    .instructor-environment-section { margin-top:46px; padding-left:12px; padding-right:12px; }
    .evidence-header,
    .instructor-environment-header { text-align:left; margin-bottom:20px; }
    .evidence-title,
    .instructor-environment-title { font-size:21px; }
    .evidence-lead { font-size:14px; }
    .evidence-example { grid-template-columns:1fr; gap:20px; padding:18px; }
    .evidence-records { grid-template-columns:1fr; gap:18px; }
    .evidence-record { padding:21px 19px; }
    .evidence-example h3,
    .evidence-record h3,
    .instructor-summary h3,
    .study-environment-summary h3,
    .teaching-space-subsection .teaching-space-title { font-size:18px; }
    .instructor-environment-section { padding-top:32px; padding-bottom:32px; }
    .instructor-summary { padding:22px 19px; margin-bottom:32px; }
    .capacity-reason { padding:12px 13px; }
    .teaching-space-subsection { margin-top:32px; }
    .study-environment-summary { margin-top:28px; }
}

/* =========================================================
   Stage 2 compacting + Stage 3: medical / course / details / FAQ / consultation
   ========================================================= */
/* Evidence block: keep the proof visible without letting it dominate the page. */
.evidence-example {
    grid-template-columns: minmax(220px, 275px) minmax(0, 1fr);
    gap: 26px;
    padding: 22px 24px;
}
.evidence-records { gap:20px; margin-top:20px; }
.evidence-record { padding:21px 22px; }
.evidence-record--case p:first-of-type { margin-bottom:8px; }
.evidence-small-note { margin-top:12px; }

.medical-section,
.course-summary-section,
.faq-navigation-section,
.consultation-section{
    max-width: 920px;
    margin: 56px auto 0;
}
.medical-section-header,
.course-summary-header,
.consultation-header { text-align:center; }
.medical-section-header { margin-bottom:24px; }
.medical-main-card {
    max-width: 780px;
    margin: 0 auto;
    padding: 30px 34px;
    border: 1px solid #d7e1e9;
    border-radius: 10px;
    background: rgba(255,255,255,.72);
}
.medical-main-card > p { margin: 12px 0; color:#454f58; font-size:14px; line-height:1.9; }
.medical-main-card > p strong { color:#062852; }


.course-summary-header h2,
.faq-navigation-section h2,
.consultation-header h2{
    color:#062852;
    font-family:"Noto Serif JP",serif;
    font-size:24px;
    line-height:1.55;
}
.course-summary-header p { max-width:650px; margin:10px auto 24px; color:#555; font-size:14px; line-height:1.8; }
.course-summary-grid { display:grid; grid-template-columns:1fr 1fr; gap:20px; }
.course-summary-card { padding:24px; border:1px solid #d7e1e9; border-radius:9px; background:#fff; }

.course-summary-card h3 { margin:0 0 10px; color:#062852; font-family:"Noto Serif JP",serif; font-size:18px; line-height:1.55; }
.course-summary-card p { margin:0; color:#505861; font-size:13.5px; line-height:1.8; }
.course-summary-card a { display:inline-block; margin-top:14px; color:#a94b35; font-size:13.5px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }


.faq-navigation-section { display:flex; align-items:center; justify-content:space-between; gap:24px; padding:26px 28px; border-top:1px solid #d8e2ea; border-bottom:1px solid #d8e2ea; }
.faq-navigation-section h2 { margin:0 0 5px; font-size:20px; }
.faq-navigation-section p { margin:0; color:#5b646c; font-size:13px; line-height:1.7; }
.faq-navigation-link { flex:0 0 auto; color:#a94b35; font-size:13.5px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

.consultation-section { margin-bottom:52px; padding:38px 42px; border:1px solid #cdddec; border-radius:12px; background:#fff; box-shadow:0 8px 24px rgba(6,40,82,.06); }
.consultation-kicker { display:block; margin-bottom:8px; color:#315675; font-size:12px; font-weight:700; letter-spacing:.06em; }
.consultation-header h2 { margin:0 0 16px; }
.consultation-header p { max-width:720px; margin:7px auto; color:#4e5861; font-size:14px; line-height:1.85; }
.consultation-flow { max-width:760px; margin:30px auto 0; }
.consultation-step { display:grid; grid-template-columns:34px 1fr; gap:14px; padding:17px 0; border-top:1px solid #e0e7ec; }
.consultation-step:last-child { border-bottom:1px solid #e0e7ec; }
.consultation-step > span { display:flex; align-items:center; justify-content:center; width:30px; height:30px; border-radius:50%; background:#315675; color:#fff; font-size:12px; font-weight:700; }
.consultation-step h3 { margin:3px 0 5px; color:#062852; font-size:15px; }
.consultation-step p { margin:0; color:#555f68; font-size:13px; line-height:1.75; }


.consultation-actions { display:flex; justify-content:center; gap:14px; margin-top:22px; }
.consultation-actions .btn { min-width:250px; }

@media screen and (max-width:700px) {
    .evidence-example { grid-template-columns:1fr; gap:18px; padding:17px; }
    .evidence-example-image { max-width:280px; margin:0 auto; }
    .evidence-records { gap:15px; margin-top:15px; }
    .evidence-record { padding:18px; }

    .medical-section,
.course-summary-section,
.faq-navigation-section,
.consultation-section{ margin-top:44px; }
    .medical-main-card { padding:23px 19px; }
    .course-summary-header h2,
.consultation-header h2{ font-size:21px; }
    .course-summary-grid{ grid-template-columns:1fr; }
    .course-summary-card { padding:20px 18px; }
    
    .faq-navigation-section { display:block; padding:22px 18px; }
    .faq-navigation-link { margin-top:12px; }
    .consultation-section { margin-left:12px; margin-right:12px; padding:28px 18px; }
    .consultation-header { text-align:left; }
    .consultation-step { grid-template-columns:30px 1fr; gap:11px; }
    .consultation-actions { flex-direction:column; }
    .consultation-actions .btn { width:100%; min-width:0; }
}

/* =========================================================
   Stage 4: old-page lightness + revised-page logic
   ========================================================= */
/* Evidence: restore the compact, clearly segmented presentation. */
.evidence-example { grid-template-columns:minmax(260px,340px) minmax(0,1fr); gap:30px; padding:26px; }
.evidence-records { gap:20px; margin-top:20px; }
.evidence-record { padding:22px 24px; }
.evidence-record-highlight { margin:14px 0 6px !important; padding:12px 14px; border-left:2px solid #8bb1d2; background:#f5f8fa; font-size:13px !important; line-height:1.75 !important; }
.evidence-record .evidence-link { display:block; margin-top:16px; padding:11px 16px; border-radius:4px; background:#174a78; color:#fff !important; text-align:center; text-decoration:none; }
.evidence-record--letter .evidence-link { background:#174a78; }

/* Capacity is a consequence of the method, not a scarcity badge. */
.instructor-summary { margin-bottom:36px; }
.capacity-reason { margin:10px 0 0; padding:0; border:0; background:transparent; color:#062852 !important; font-weight:700; }
.teaching-space-kicker { display:block; margin-bottom:7px; color:#a94b35; font-size:12px; font-weight:700; letter-spacing:.04em; }
.teaching-space-subsection .teaching-space-lead { max-width:780px; line-height:1.8; }

/* Back half: confirmation, not another sales presentation. */
.medical-section { margin-top:48px; }
.medical-section-header { margin-bottom:16px; }
.medical-main-card { max-width:780px; padding:22px 28px; }
.medical-main-card > p { margin:9px 0; line-height:1.8; }


.course-summary-section { margin-top:46px; }
.course-summary-header p { margin:8px auto 18px; }
.course-summary-grid { gap:16px; }
.course-summary-card { padding:18px 20px; }

.course-summary-card h3 { margin:0 0 7px; font-size:17px; }
.course-summary-card a { margin-top:10px; }

/* Compact final consultation: flow + supporting area link. */
.consultation-section { margin-top:48px; margin-bottom:30px; padding:0; border:0; border-radius:0; background:transparent; box-shadow:none; }
.consultation-header { text-align:left; max-width:780px; margin:0 auto 18px; }
.consultation-header h2 { margin:0 0 8px; font-size:23px; }
.consultation-header p { max-width:none; margin:0; font-size:13.5px; }
.consultation-body-grid { display:grid; grid-template-columns:minmax(0,1.65fr) minmax(230px,.8fr); gap:28px; align-items:start; }
.consultation-flow { max-width:none; margin:0; }
.consultation-flow-title { margin:0 0 8px; padding-left:12px; border-left:3px solid #315675; color:#062852; font-family:"Noto Serif JP",serif; font-size:18px; }
.consultation-step { padding:13px 0; }
.consultation-step h3 { margin:2px 0 4px; }
.consultation-inline-link { display:inline-block; margin-top:6px; color:#a94b35; font-size:12.5px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.area-guide-card { margin-top:34px; padding:20px 22px; border:1px solid #b9d2e8; border-radius:8px; background:rgba(255,255,255,.72); }
.area-guide-card h3 { margin:0 0 9px; color:#062852; font-size:16px; }
.area-guide-card p { margin:0; color:#555f68; font-size:13px; line-height:1.75; }
.area-guide-card a { display:inline-block; margin-top:13px; color:#174a78; font-size:12.5px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.consultation-availability-line { margin:20px 0 0; text-align:center; color:#062852; font-size:14px; }
.consultation-actions { margin-top:16px; }
.consultation-actions .btn { min-width:230px; padding-top:11px; padding-bottom:11px; }

/* Basic facts remain user-visible without becoming reading content. */
.basic-info-compact { max-width:920px; margin:24px auto 42px; border-top:1px solid #d8e2ea; }
.basic-info-compact details { padding:12px 0; }
.basic-info-compact summary { cursor:pointer; color:#315675; font-size:13px; font-weight:700; list-style-position:inside; }
.basic-info-compact-body { padding:14px 4px 4px; }
.basic-info-compact-body dl { margin:0; display:grid; grid-template-columns:1fr 1fr; gap:7px 24px; }
.basic-info-compact-body dl div { display:grid; grid-template-columns:90px 1fr; gap:8px; }
.basic-info-compact-body dt { color:#062852; font-size:12px; font-weight:700; }
.basic-info-compact-body dd { margin:0; color:#59636b; font-size:12px; line-height:1.6; }
.basic-info-compact-body p { margin:12px 0 0; }
.basic-info-compact-body a { color:#315675; font-size:12px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

@media screen and (max-width:700px) {
    .evidence-example { grid-template-columns:1fr; gap:18px; padding:17px; }
    .evidence-example-image { max-width:300px; }
    .evidence-record { padding:18px; }
    .medical-main-card { padding:19px 17px; }
    .consultation-header { padding:0 4px; }
    .consultation-body-grid { grid-template-columns:1fr; gap:8px; }
    .area-guide-card { margin-top:8px; }
    .consultation-actions { flex-direction:column; }
    .consultation-actions .btn { width:100%; min-width:0; }
    .basic-info-compact { margin-left:12px; margin-right:12px; }
    .basic-info-compact-body dl { grid-template-columns:1fr; }
}

/* =========================================================
   Stage 5: old UI clarity + revised information logic
   ========================================================= */
/* Proof: retain the clear button hierarchy, but reduce the visual footprint. */
.evidence-section { max-width:860px; margin-top:52px; }
.evidence-header { margin-bottom:20px; }
.evidence-example { grid-template-columns:300px minmax(0,1fr); gap:28px; padding:20px 22px; border-radius:9px; box-shadow:0 4px 14px rgba(6,40,82,.05); }
.evidence-records { gap:18px; margin-top:18px; }
.evidence-record { padding:20px 22px; }
.evidence-record-highlight { margin:10px 0 4px !important; padding:10px 12px; }
.evidence-record .evidence-link { margin-top:13px; padding:10px 14px; }

/* Instructor/environment: explanation first, decoration second. */
.instructor-environment-section { max-width:860px; margin-top:52px; padding-top:34px; padding-bottom:34px; }
.instructor-environment-header { margin-bottom:22px; }
.instructor-summary { margin-bottom:30px; padding:22px 26px; }
.teaching-space-subsection { margin-top:30px; }
.teaching-space-grid { gap:18px; }
.teaching-space-caption { padding:16px 17px 18px; }
.study-environment-summary { margin-top:26px; padding-top:22px; }

/* Medical: a compact, unmistakable upper-range proof block. */
.medical-section { max-width:860px; margin-top:44px; }
.medical-section-header { margin-bottom:14px; }
.medical-main-card { max-width:760px; padding:24px 28px; border:1px solid #b98731; border-radius:8px; background:#183b64; color:#fff; }
.medical-main-card .premium-badge { display:inline-block; margin-bottom:12px; padding:4px 10px; border:1px solid #d8a850; border-radius:4px; color:#f1c36c; font-size:11.5px; font-weight:700; }
.medical-card-title { margin:0 0 10px; color:#fff; font-family:"Noto Serif JP",serif; font-size:19px; line-height:1.6; }
.medical-main-card > p { margin:0; color:#f5f7fa; font-size:13.5px; line-height:1.8; }


.medical-detail-button { display:inline-block; margin-top:16px; padding:9px 17px; border-radius:22px; background:#efbd67; color:#062852 !important; font-size:13px; font-weight:700; text-decoration:none; }

/* Courses: no duplicate labels; the action is obvious. */
.course-summary-section { max-width:860px; margin-top:42px; }
.course-summary-header p { margin-bottom:16px; }
.course-summary-grid { gap:16px; }
.course-summary-card { padding:18px 20px 19px; }

.course-summary-card h3 { margin-bottom:6px; font-size:18px; }
.course-summary-card p { min-height:48px; }
.course-summary-card a { display:block; margin-top:12px; padding:9px 12px; border:1px solid #174a78; border-radius:5px; color:#174a78; text-align:center; text-decoration:none; }
.course-summary-card a:hover { background:#174a78; color:#fff; }

/* One supplementary resource link, not a fabricated three-item hierarchy. */


/* FAQ stays a lightweight confirmation row. */
.faq-navigation-section { max-width:860px; margin-top:34px; padding:22px 0; }

/* Consultation: restore the old page's clear two-column logic and meaningful area button. */
.consultation-section { max-width:860px; margin-top:38px; }
.consultation-header { max-width:none; margin-bottom:20px; }
.consultation-body-grid { grid-template-columns:minmax(0,1.45fr) minmax(270px,.9fr); gap:30px; }
.consultation-step { padding:12px 0; }
.area-guide-card { margin-top:34px; padding:20px 22px; background:#fff; border-color:#9fc5e6; }
.area-guide-card h3 { font-size:17px; }
.area-guide-card p { font-size:13px; }
.area-guide-note { margin-top:7px !important; color:#6a737b !important; font-size:11.5px !important; }
.area-guide-button { display:block !important; margin-top:15px !important; padding:10px 12px; border:1px solid #174a78; border-radius:22px; color:#174a78 !important; text-align:center; text-decoration:none !important; }
.area-guide-button:hover { background:#174a78; color:#fff !important; }
.consultation-availability-line { margin-top:18px; }
.consultation-actions { margin-top:14px; }

/* Basic facts remain available for users and structured-data consistency. */
.basic-info-compact { max-width:860px; }

@media screen and (max-width:700px) {
    .evidence-section,
    .instructor-environment-section,
    .medical-section,
    .course-summary-section,
    .faq-navigation-section,
    .consultation-section { max-width:none; }
    .evidence-example { grid-template-columns:1fr; padding:17px; }
    .evidence-example-image { max-width:285px; }
    .medical-main-card { padding:20px 18px; }
    
    
    .course-summary-card p { min-height:0; }
    
    
    
    .consultation-body-grid { grid-template-columns:1fr; gap:12px; }
    .area-guide-card { margin-top:4px; }
}

/* =========================================================
   Stage 6: restore proven old-page UI; keep revised logic
   ========================================================= */
/* Contextual navigation: useful, but never a competing main section. */
.study-navigation-link {
    max-width: 820px;
    margin: 26px auto 0;
    padding: 15px 18px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    border-top: 1px solid #d7e2ea;
    border-bottom: 1px solid #d7e2ea;
}
.study-navigation-link strong { color:#062852; font-size:14px; }
.study-navigation-link p { margin:4px 0 0; color:#59636b; font-size:12.5px; line-height:1.65; }
.study-navigation-link a { flex:0 0 auto; color:#a94b35; font-size:13px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }

/* Evidence: deliberately return to the old page's compact visual proportions. */
.evidence-section { max-width: 820px; margin: 42px auto 0; }
.evidence-header { margin-bottom: 16px; }
.evidence-kicker { font-size:11.5px; }
.evidence-title { font-size:22px; }
.evidence-lead { margin-top:6px; font-size:13px; }
.evidence-example {
    grid-template-columns: 340px minmax(0,1fr);
    gap: 30px;
    padding: 24px;
    border-radius: 8px;
    box-shadow: 0 3px 10px rgba(6,40,82,.045);
}
.evidence-example-body h3 { font-size:20px; }
.evidence-example-body p { line-height:1.75; }
.evidence-resource-link { margin: 13px 0 17px; text-align:center; }
.evidence-resource-link p { margin:0 0 4px; color:#66717b; font-size:11.5px; line-height:1.55; }
.evidence-resource-link a { color:#a94b35; font-size:12.5px; font-weight:700; text-decoration:underline; text-underline-offset:3px; }
.evidence-records { gap:18px; margin-top:0; }
.evidence-record { padding:20px 22px; border-radius:7px; }
.evidence-record h3 { font-size:18px; }
.evidence-record p { font-size:12.5px; line-height:1.7; }
.evidence-record-highlight { padding:9px 11px; }
.evidence-record .evidence-link { padding:10px 12px; font-size:12.5px; }

/* Medical: old visual hierarchy, with the long explanation hidden until requested. */
.medical-section { max-width: 820px; margin: 42px auto 0; }
.medical-section-header { margin-bottom:12px; }
.medical-main-card { max-width:none; padding:24px 28px; }
.medical-card-title { margin-bottom:8px; font-size:20px; }
.medical-lead { margin:0 !important; color:#f5f7fa !important; }
.medical-details { margin-top:14px; }
.medical-details summary {
    display:inline-block;
    cursor:pointer;
    padding:8px 13px;
    border:1px solid #d8a850;
    border-radius:4px;
    color:#f1c36c;
    font-size:12.5px;
    font-weight:700;
    list-style:none;
}
.medical-details summary::-webkit-details-marker { display:none; }
.medical-details summary::after { content:" ＋"; margin-left:8px; }
.medical-details[open] summary::after { content:" −"; }
.medical-details-body { margin-top:14px; padding-top:12px; border-top:1px solid rgba(255,255,255,.18); }
.medical-details-body p { margin:0 0 8px; color:#f5f7fa; font-size:12.8px; line-height:1.75; }
.medical-details-body p:last-child { margin-bottom:0; }
.medical-detail-button { margin-top:15px; }

/* Basic facts: collapsed by default, complete enough when opened. */
.basic-info-compact-body dl { grid-template-columns:1fr; gap:0; }
.basic-info-compact-body dl div { grid-template-columns:110px 1fr; gap:12px; padding:9px 0; border-bottom:1px dotted #d5dee5; }
.basic-info-compact-body dl div:last-child { border-bottom:0; }
.basic-info-compact-body dt { font-size:12.5px; }
.basic-info-compact-body dd { font-size:12.5px; }

@media screen and (max-width:700px) {
    .study-navigation-link { margin:22px 12px 0; padding:14px 4px; display:block; }
    .study-navigation-link a { display:inline-block; margin-top:8px; }
    .evidence-section, .medical-section { margin-left:12px; margin-right:12px; }
    .evidence-example { grid-template-columns:1fr; gap:18px; padding:16px; }
    .evidence-example-image { max-width:290px; margin:0 auto; }
    .evidence-records { grid-template-columns:1fr; }
    .medical-main-card { padding:20px 18px; }
    .medical-details summary { display:block; text-align:center; }
    .basic-info-compact-body dl div { grid-template-columns:1fr; gap:3px; }
}

/* =========================================================
   Stage 7: visual polish based on the proven old-page UI
   ========================================================= */
/* Study navigation belongs to the preceding explanation; do not make it look like a new section. */
.study-navigation-link {
    margin-top: 14px;
    padding: 2px 18px 0;
    border-top: 0;
    border-bottom: 0;
}

/* Evidence PDF: restore the old thumbnail treatment. The document is a preview, not a full-page display. */
.evidence-example {
    grid-template-columns: 340px minmax(0,1fr);
    align-items: center;
    padding: 20px 24px;
}
.evidence-example-image {
    height: 240px;
    display: flex;
    align-items: center;
    justify-content: center;
    background: #fff;
}
.evidence-example-image img {
    width: 100%;
    height: 100%;
    object-fit: contain;
}

/* Medical: the old centered composition is clearer for this exceptional upper-range block. */
.medical-main-card { text-align:center; }
.medical-main-card .premium-badge { margin-left:auto; margin-right:auto; }
.medical-details { text-align:center; }
.medical-details-body { max-width:680px; margin-left:auto; margin-right:auto; text-align:left; }
.medical-detail-button { margin-left:auto; margin-right:auto; }

/* Basic facts: collapsed when not needed, but complete and readable when opened. */
.basic-info-summary {
    margin: 4px 0 15px;
    padding: 0 0 14px;
    border-bottom: 1px solid #d9e2e9;
    color: #344b60;
    font-size: 13px;
    line-height: 1.85;
}
.basic-info-summary strong { color:#062852; }

@media screen and (max-width:700px) {
    .study-navigation-link { margin-top:12px; padding:0 4px; }
    .evidence-example-image { height:210px; max-width:300px; }
    .medical-details-body { text-align:left; }
    .basic-info-summary { font-size:12.5px; }
}

/* =========================================================
   Stage 8: responsive repair — evidence block
   Fixed-height thumbnail treatment caused excessive card height on mobile.
   Return the preview to intrinsic aspect-ratio sizing on every viewport.
   ========================================================= */
.evidence-example-image {
    height: auto !important;
    min-height: 0 !important;
    display: block;
}
.evidence-example-image img {
    display: block;
    width: 100%;
    max-width: 100%;
    height: auto !important;
    max-height: none !important;
    object-fit: contain;
}

@media screen and (max-width:700px) {
    .evidence-section {
        width: auto;
        max-width: none;
        margin-left: 12px;
        margin-right: 12px;
        padding-left: 0;
        padding-right: 0;
    }
    .evidence-header {
        margin-left: 0;
        margin-right: 0;
    }
    .evidence-title {
        font-size: 20px;
        line-height: 1.5;
    }
    .evidence-example {
        display: block !important;
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
        padding: 16px;
        box-sizing: border-box;
        overflow: hidden;
    }
    .evidence-example-image {
        width: 100%;
        max-width: 290px;
        height: auto !important;
        min-height: 0 !important;
        margin: 0 auto 18px;
    }
    .evidence-example-image img {
        width: 100%;
        height: auto !important;
        aspect-ratio: auto !important;
    }
    .evidence-example-body {
        width: 100%;
        height: auto !important;
        min-height: 0 !important;
    }
    .evidence-example-body h3 {
        font-size: 18px;
        line-height: 1.55;
    }
    .evidence-resource-link {
        padding-left: 4px;
        padding-right: 4px;
    }
}

/* ===== 見立てブロック：PC・スマホ共通アコーディオン ===== */
.diagnosis-flow {
    border-top: 1px solid #d8e2ea;
}

.diagnosis-item {
    padding: 0;
    border-bottom: 1px solid #d8e2ea;
}

.diagnosis-item:first-child,
.diagnosis-item:last-child {
    padding: 0;
}

.diagnosis-item:last-child {
    border-bottom: 0;
}

.diagnosis-summary {
    position: relative;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    padding: 20px 40px 20px 4px;
    color: #062852;
    font-size: 18px;
    font-weight: 700;
    line-height: 1.6;
    cursor: pointer;
    list-style: none;
}

.diagnosis-summary::-webkit-details-marker {
    display: none;
}

.diagnosis-summary::after {
    content: "+";
    position: absolute;
    right: 6px;
    top: 50%;
    transform: translateY(-50%);
    color: #b64c34;
    font-size: 23px;
    font-weight: 400;
    line-height: 1;
}

.diagnosis-item[open] > .diagnosis-summary::after {
    content: "−";
}

.diagnosis-detail-body {
    padding: 0 40px 22px 4px;
}

.diagnosis-detail-body p {
    margin: 0 0 10px;
    color: #3f5363;
    font-size: 14.5px;
    line-height: 1.9;
}

.diagnosis-detail-body p:last-child {
    margin-bottom: 0;
}

.diagnosis-detail-body .diagnosis-emphasis {
    color: #062852;
    font-weight: 700;
}

@media screen and (max-width: 700px) {
    .diagnosis-summary {
        gap: 12px;
        padding: 18px 34px 18px 1px;
        font-size: 16.5px;
        line-height: 1.55;
    }

    .diagnosis-summary::after {
        right: 2px;
        font-size: 21px;
    }

    .diagnosis-detail-body {
        padding: 0 4px 20px 1px;
    }

    .diagnosis-detail-body p {
        font-size: 14px;
        line-height: 1.85;
    }
}

/* =========================================================
   Stage 8: section breathing — keep the tighter global rhythm,
   but restore space where the meaning changes.
   ========================================================= */
/* PDF → related resources stay connected; resources → records get a clearer break. */
.evidence-resource-link {
    margin-top: 22px;
    margin-bottom: 34px;
}

/* Course → FAQ is a modest transition; FAQ → consultation is a larger change of purpose. */
.faq-navigation-section {
    margin-top: 64px;
}
.consultation-section {
    margin-top: 72px;
}

@media screen and (max-width:700px) {
    .evidence-resource-link {
        margin-top: 20px;
        margin-bottom: 30px;
    }
    .faq-navigation-section {
        margin-top: 50px;
    }
    .consultation-section {
        margin-top: 58px;
    }
}

/* 2026-09 final homepage refinements */
.evidence-thumbnail-link { display:block; }
.evidence-thumbnail-link img { display:block; width:100%; height:auto; }
.evidence-thumbnail-link:focus-visible { outline:3px solid currentColor; outline-offset:3px; }
.study-environment-layout {
    display:grid;
    grid-template-columns:minmax(0, 45fr) minmax(0, 55fr);
    gap:28px;
    align-items:center;
    margin-top:16px;
}
.study-environment-copy p { margin:0 0 12px; }
.study-environment-copy .study-environment-lead { color:#062852; }
.study-environment-image-link { display:block; margin:0; }
.study-environment-image {
    display:block;
    width:100%;
    aspect-ratio:16 / 9;
    object-fit:cover;
    border-radius:6px;
}
.study-environment-image-link:focus-visible { outline:3px solid currentColor; outline-offset:3px; }

@media screen and (max-width:700px) {
    .study-environment-layout {
        grid-template-columns:1fr;
        gap:16px;
    }
    .study-environment-image-link { order:-1; }
    .study-environment-image { aspect-ratio:16 / 9; }
}


/* =========================================================
   最近のお知らせ（Googleビジネスプロフィール更新情報）
========================================================= */
.info-notice-section {
    max-width: 760px;
    margin: 0 auto 38px;
    padding: 18px 0 16px;
    border-top: 1px solid #d2dfed;
    border-bottom: 1px solid #d2dfed;
}

.info-notice-header {
    display: flex;
    flex-wrap: wrap;
    align-items: baseline;
    justify-content: space-between;
    gap: 4px 18px;
    margin-bottom: 6px;
}

.info-notice-title {
    margin: 0;
    color: #062852;
    font-size: 14px;
    font-weight: 700;
    letter-spacing: 0.06em;
}

.info-notice-source {
    color: #6b7d8b;
    font-size: 11.5px;
    line-height: 1.5;
}

.info-notice-list {
    list-style: none;
    margin: 0;
    padding: 0;
}

.info-notice-list li {
    display: grid;
    grid-template-columns: 92px minmax(0, 1fr);
    gap: 14px;
    padding: 9px 0;
    border-bottom: 1px dotted #d5dee5;
    line-height: 1.65;
}

.info-notice-list li:last-child {
    border-bottom: 0;
}

.info-notice-date {
    color: var(--home-accent);
    font-size: 12.5px;
    font-weight: 700;
    white-space: nowrap;
}

.info-notice-text {
    color: #333333;
    font-size: 13px;
}

.info-notice-footer {
    margin-top: 7px;
    text-align: right;
}

.info-notice-link,
.info-notice-link:visited {
    color: var(--home-accent);
    font-size: 12.5px;
    font-weight: 700;
    text-decoration: none;
}

.info-notice-link:hover {
    color: var(--home-accent-hover);
    text-decoration: underline;
    text-underline-offset: 3px;
}

.info-notice-link:focus-visible {
    outline: 2px solid rgba(6, 40, 82, 0.4);
    outline-offset: 3px;
}

@media screen and (max-width: 700px) {
    .info-notice-section {
        margin: 0 12px 32px;
        padding: 15px 0 14px;
    }

    .info-notice-header {
        display: block;
        margin-bottom: 5px;
    }

    .info-notice-source {
        display: block;
        margin-top: 2px;
    }

    .info-notice-list li {
        grid-template-columns: 1fr;
        gap: 1px;
        padding: 8px 0;
    }

    .info-notice-footer {
        margin-top: 8px;
        text-align: left;
    }
}


/* =========================================================
   2026-09 Hero visual renewal
   PC: top-main.png / Smartphone: top-main_smratphone.png
   The catch copy is baked into each image, so the old .hero-catch is not used.
========================================================= */
.page-home .top-main-image-wrapper {
    width: 100%;
    max-width: none;
    margin: 18px auto 28px;
    padding: 0;
    line-height: 0;
}

.page-home .top-main-image-wrapper picture {
    display: block;
    width: 100%;
}

.page-home .top-main-image {
    display: block;
    width: 100%;
    height: auto;
    border-radius: 8px;
    box-shadow: 0 6px 20px rgba(6, 40, 82, 0.06);
}

/* New visual already contains the catch; keep H1 as the quiet explanatory label above it. */
.page-home .hero-section h1.top-main-title {
    margin-bottom: 12px;
}

/* Bring the proof badges close enough to read as supporting evidence for the hero. */
.page-home .hero-section > .tag-container {
    margin-top: 24px;
}

@media screen and (max-width: 767px) {
    .page-home .top-main-image-wrapper {
        margin: 12px auto 22px;
    }

    .page-home .top-main-image {
        border-radius: 6px;
    }

    .page-home .hero-section h1.top-main-title {
        margin-bottom: 8px;
    }

    .page-home .hero-section > .tag-container {
        margin-top: 20px;
    }
}

/* ==================================================
   塾長からのメッセージ
================================================== */
.director-message-section {
    max-width: 760px;
    margin: 46px auto;
    padding: 0 24px;
}

.director-message-inner {
    padding: 8px 0 8px 24px;
    border-left: 3px solid #A44A3F;
}

.director-message-kicker {
    margin: 0 0 8px;
    color: #A44A3F;
    font-size: 12.5px;
    font-weight: 700;
    letter-spacing: .05em;
}

.director-message-title {
    margin: 0 0 18px;
    color: #062852;
    font-family: "Noto Serif JP", serif;
    font-size: 21px;
    line-height: 1.6;
}

/* 塾長メッセージ本文 */
.director-message-body p {
    margin: 0 0 8px;
    color: #454f58;
    font-size: 14.5px;
    line-height: 1.75;
}

.director-message-body a {
    color: #A44A3F;
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* 「そうではありません。～」 */
.director-message-emphasis {
    margin-top: 3px !important;
    margin-bottom: 8px !important;
    color: #062852 !important;
    font-weight: 700;
}

@media screen and (max-width: 700px) {
    .director-message-section {
        margin: 36px auto;
        padding: 0 16px;
    }

    .director-message-inner {
        padding: 5px 0 5px 17px;
    }

    .director-message-title {
        font-size: 18px;
    }

    .director-message-body p {
        font-size: 14px;
        line-height: 1.85;
    }
}

.evidence-case-list {
    margin: 12px 0 14px;
    padding-left: 1.2em;
    line-height: 1.8;
    font-size: 14px;
}

.evidence-case-list li {
    margin-bottom: 6px;
}

.evidence-case-list a {
    color: #062852;
    text-decoration: underline;
    text-underline-offset: 3px;
}

/* スマホ：実績バッジを2列にして1画面目を圧縮 */
@media screen and (max-width: 700px) {
    .page-home .hero-section .tag-container {
        display: grid !important;
        grid-template-columns: 1fr 1fr;
        gap: 8px;
        max-width: 400px;
        margin-left: auto;
        margin-right: auto;
        padding: 0 12px;
    }
    .page-home .hero-section .badge-tag {
        display: flex !important;
        align-items: center;
        justify-content: center;
        width: auto !important;
        margin: 0 !important;
        padding: 8px 6px !important;
        font-size: 12px !important;
        line-height: 1.4;
        text-align: center;
    }
    .page-home .hero-section .badge-check {
        margin-right: 3px;
    }
}

/* 1stビュー内・既卒生向け補助導線 */
.kisotsuse-guide-link {
    margin: 30px 0 8px;
    text-align: center;
    font-size: 14px;
    line-height: 1.7;
}

.kisotsuse-guide-label {
    display: block;
    margin-bottom: 3px;
    color: #555;
    font-size: 13px;
}

.kisotsuse-guide-link a {
    color: #174f87;
    font-weight: 600;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.kisotsuse-guide-link a:hover {
    color: #062852;
}

@media (max-width: 768px) {
    .kisotsuse-guide-link {
        margin-top: 24px;
        font-size: 14px;
    }
}

.consultation-availability-status {
    width: fit-content;
    margin: 10px auto 8px;
    color: #12365a;
}

.consultation-availability-title {
    margin: 0 0 3px;
    text-align: center;
    font-size: 0.88rem;
    font-weight: 700;
}

.consultation-availability-status p:not(.consultation-availability-title) {
    margin: 0;
    text-align: left;
    font-size: 0.88rem;
    line-height: 1.5;
}

