/* ===========================================================
   トップページ（home.php）
   構成はサトリ（sanoukei.net）実測に合わせた：
   旗＋導線3本 → 教科ごとの束 → ひとこと → 声 → CTA
   ⛔ 数字の自慢ブロックは置かない（2026-09-13 オーナー了承で撤去）
   =========================================================== */

.top-hero{background:var(--navy);color:#fff;padding:74px 24px 66px;position:relative;overflow:hidden}
.top-hero::after{content:"";position:absolute;right:-90px;top:-70px;width:320px;height:320px;border-radius:50%;border:1px solid rgba(201,168,76,.22)}
.top-hero-inner{max-width:860px;margin:0 auto;position:relative;z-index:1}
.top-hero-label{display:inline-block;font-size:11px;letter-spacing:.24em;color:var(--gold);font-weight:700;border:1px solid rgba(201,168,76,.5);border-radius:20px;padding:6px 16px;margin-bottom:24px}
.top-hero h1{font-family:'Noto Serif JP',serif;font-size:clamp(25px,3.9vw,42px);line-height:1.5;margin-bottom:22px;font-weight:600;color:#fff}
.top-hero h1 em{color:var(--gold);font-style:normal}
.top-hero-sub{color:rgba(255,255,255,.76);font-size:15px;line-height:2.05;margin-bottom:34px}
.top-hero-links{display:flex;flex-wrap:wrap;gap:12px}
.top-hero-links a{display:inline-flex;align-items:center;gap:8px;font-size:14px;font-weight:700;color:#fff;border:1px solid rgba(255,255,255,.28);border-radius:6px;padding:12px 20px;transition:.2s}
.top-hero-links a:hover{border-color:var(--gold);color:var(--gold)}
.top-hero-links a.is-line{background:var(--gold);color:var(--navy);border-color:var(--gold)}
.top-hero-links a.is-line:hover{opacity:.88;color:var(--navy)}

.top-wrap{max-width:1080px;margin:0 auto;padding:56px 24px 20px}
.subject-lead{font-size:11.5px;letter-spacing:.22em;color:#9a8a5e;font-weight:700;text-align:center;margin-bottom:34px}

.subject{margin-bottom:56px}
.subject-head{display:flex;align-items:baseline;gap:14px;border-bottom:2px solid var(--line);padding-bottom:12px;margin-bottom:26px;flex-wrap:wrap}
.subject-head h2{font-family:'Noto Serif JP',serif;font-size:23px;color:var(--navy);padding-left:13px;border-left:4px solid var(--gold);line-height:1.3}
.subject-count{font-size:12px;color:var(--ink-light);letter-spacing:.06em}
.subject-all{margin-left:auto;font-size:13px;font-weight:700;color:#9a7b1f}

.dr-note{background:var(--paper);border-left:3px solid var(--gold);border-radius:0 10px 10px 0;padding:28px 30px;margin:10px 0 56px}
.dr-note-label{font-size:11px;letter-spacing:.18em;color:var(--gold);font-weight:700;margin-bottom:12px}
.dr-note-body p{font-size:15px;line-height:2.05;color:var(--ink);margin:0}

.voices{margin-bottom:56px}
.voices-head{display:flex;align-items:baseline;gap:14px;border-bottom:2px solid var(--line);padding-bottom:12px;margin-bottom:24px}
.voices-head h2{font-family:'Noto Serif JP',serif;font-size:23px;color:var(--navy);padding-left:13px;border-left:4px solid var(--gold)}
.voices-head a{margin-left:auto;font-size:13px;font-weight:700;color:#9a7b1f}
.voices-body blockquote{background:#fff;border:1px solid var(--line);border-radius:10px;padding:22px 26px;margin:0 0 16px}
.voices-body blockquote p{font-size:14.5px;line-height:1.95;color:var(--ink);margin:0 0 10px}
.voices-body cite{font-style:normal;font-size:12.5px;color:var(--ink-light)}
.voices-body .voice-note{font-size:12px;color:var(--ink-light);line-height:1.8;margin-top:6px}

.top-cta{background:linear-gradient(135deg,var(--navy),#1f2d50);color:#fff;padding:64px 24px;text-align:center}
.top-cta-inner{max-width:620px;margin:0 auto}
.top-cta h2{font-family:'Noto Serif JP',serif;font-size:clamp(20px,3vw,28px);margin-bottom:14px}
.top-cta p{color:rgba(255,255,255,.76);font-size:15px;line-height:2;margin-bottom:26px}
.btn-gold-lg{display:inline-flex;align-items:center;gap:10px;background:var(--gold);color:var(--navy);font-weight:700;font-size:15px;padding:15px 34px;border-radius:6px;transition:.2s}
.btn-gold-lg:hover{transform:translateY(-2px)}
.top-cta-note{font-size:12px;color:rgba(255,255,255,.55);margin-top:16px}

@media(max-width:700px){
  .top-hero{padding:52px 20px 46px}
  .top-hero-links a{width:100%;justify-content:center}
  .subject-head h2,.voices-head h2{font-size:19px}
  .subject-all{margin-left:0;width:100%}
}
