/* ============================================================
   yomiyasu.css — 読みやすさの見直し(2026-10-01)
   すべてのページで refine.css のあとに読み込む。

   ねらい
   1. 文字を大きく: 本文 17px(スマホ)/ 18px(PC)。補足も14px未満にしない
   2. 行間をゆったり: 本文 2.0、カードや表の中も 1.8 以上
   3. 見出しの大きさに段差をつける: h1 > h2 > h3 がひと目でわかる
   4. 囲み(ボックス)を減らす: 1つの画面に囲みが並ばないように、
      ふつうの説明は囲まず「見出し+文章」にする。
      囲むのは「試験の正式な説明」「まちがえやすい」など、本当に目立たせたいものだけ
   ============================================================ */

:root {
  --yy-body: 17px;
  --yy-lh: 2;
  --yy-ink: #2f3440;
  --yy-sub: #5d5850;
  --yy-line: #e6dfd1;
  --yy-accent: #e07a5f;
  --yy-h1: 28px;
  --yy-h2: 22px;
  --yy-h3: 19px;
  --rf-body: 17px;
}
@media (min-width: 768px) {
  :root {
    --yy-body: 18px;
    --yy-h1: 34px;
    --yy-h2: 26px;
    --yy-h3: 21px;
    --rf-body: 18px;
  }
}

/* ---------- 本文 ---------- */
body {
  font-size: var(--yy-body);
  line-height: var(--yy-lh);
  color: var(--yy-ink);
}
main p,
main li,
main dd {
  line-height: var(--yy-lh);
}
.term-prose p,
.container--article :is(.guide-section, .review-section, .school-section, .column-section) > :is(p, ul > li, ol > li) {
  font-size: var(--yy-body);
  line-height: var(--yy-lh);
}
main p + p {
  margin-top: 1.2em;
}

/* 文章は自然な位置で折り返す。
   (文節ごとの改行は見出しだけにして、本文は行の右端がガタガタにならないように) */
.term-prose,
.term-prose p,
.term-formal__box,
.term-formal__box p,
.term-pitfall__box p,
.exam-advice__list li,
.container--article p,
.container--article li,
.term-similar dd,
.related__desc,
.diagram__caption {
  word-break: normal;
  overflow-wrap: anywhere;
  line-break: strict;
}

/* ---------- 見出し ---------- */
main h1 {
  font-size: var(--yy-h1);
  line-height: 1.45;
  letter-spacing: 0.04em;
}
main h2 {
  font-size: var(--yy-h2);
  line-height: 1.5;
}
main h3 {
  font-size: var(--yy-h3);
  line-height: 1.55;
}

/* 用語・理論家ページの見出し(以前は13pxの薄いラベルだったもの)を、本物の見出しに */
.term-section-title {
  font-size: var(--yy-h2);
  font-weight: 700;
  letter-spacing: 0.04em;
  color: var(--yy-ink);
  line-height: 1.5;
  padding: 0 0 12px;
  margin: 0 0 20px;
  border-bottom: 2px solid var(--yy-line);
  position: relative;
}
.term-section-title::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -2px;
  width: 64px;
  height: 2px;
  background: var(--yy-accent);
}
:is(.term-kids, .term-analogy, .term-life, .term-formal, .term-exam-advice, .term-similar, .term-theorists, .term-quiz, .term-exam-points) > .term-section-title::before {
  width: 40px;
  height: 36px;
}

/* ---------- 用語・理論家ページ: 囲みを減らす ---------- */
/* ふつうの説明(ざっくり・たとえ・子育てと仕事・覚え方)は囲まない */
.term-kids,
.term-analogy,
.term-life,
.term-oboekata,
.term-formal,
.past-questions {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 0 !important;
  margin: 0 0 64px !important;
}
.term-oneliner,
.term-diagram-section,
.term-exam-advice,
.term-pitfall,
.term-similar,
.term-theorists,
.term-exam-points,
.term-quiz,
.related {
  margin-bottom: 64px;
}
@media (min-width: 768px) {
  .term-kids,
  .term-analogy,
  .term-life,
  .term-oboekata,
  .term-formal,
  .past-questions {
    margin-bottom: 80px !important;
  }
}

/* 覚え方のヒント: 囲みをやめて、左の線だけで「ポイント」とわかるように */
.term-prose--hint {
  background: none !important;
  border: none !important;
  border-left: 4px solid #e8c95a !important;
  border-radius: 0 !important;
  padding: 4px 0 4px 18px !important;
}

/* 試験の正式な説明: このページでいちばん大事な文章なので、ここだけは囲む(1重だけ) */
.term-formal__box {
  background: #fffdf8;
  border: 1.5px solid #d9cdb4;
  border-radius: 14px;
  padding: 22px 22px;
  box-shadow: none;
}
@media (min-width: 768px) {
  .term-formal__box {
    padding: 28px 32px;
  }
}

/* まちがえやすい: 囲みではなく、左の赤い線+うすい色 */
.term-pitfall__box {
  background: #fdf1ed;
  border: none;
  border-left: 4px solid #e07a5f;
  border-radius: 0 10px 10px 0;
  padding: 16px 20px;
}

/* サニー先生の試験アドバイス: 囲みをやめて、リストだけに */
.exam-advice__box {
  background: none;
  border: none;
  box-shadow: none;
  padding: 0;
}
.exam-advice__lead {
  font-size: var(--yy-h3);
  font-weight: 700;
  margin-bottom: 8px;
}
.exam-advice__list li {
  font-size: var(--yy-body);
  line-height: var(--yy-lh);
  padding: 10px 0;
  border-bottom: 1px dashed var(--yy-line);
}
.exam-advice__list li:last-child {
  border-bottom: none;
}

/* 似た言葉: 線で区切るだけ */
.term-similar dt {
  font-size: var(--yy-h3);
}
.term-similar dd {
  font-size: var(--yy-body);
  line-height: var(--yy-lh);
}

/* 1問1答: 問題文を大きく */
.quiz-box__question {
  font-size: var(--yy-body);
  line-height: 1.9;
}

/* 図の説明文 */
.diagram__caption {
  font-size: 15px;
  line-height: 1.8;
}
.diagram__source {
  font-size: 14px;
  line-height: 1.8;
}

/* 関連用語 */
.related__item-title {
  font-size: var(--yy-h3);
}
.related__desc {
  font-size: 16px;
  line-height: 1.85;
}

/* 吹き出しの文字も本文と同じ大きさに */
.chara-guide__bubble {
  font-size: var(--yy-body);
  line-height: 1.85;
}

/* 自動でつけたことばのリンク(本文中の用語・理論家名) */
a.kw-link {
  color: inherit;
  text-decoration: underline;
  text-decoration-color: #e5b9a8;
  text-decoration-thickness: 2px;
  text-underline-offset: 4px;
}
a.kw-link:hover {
  color: #b5533a;
  text-decoration-color: currentColor;
}

/* ---------- 一覧ページ(ことば図鑑・理論家図鑑など) ---------- */
.library-item__desc,
.term-card__desc,
.theorist-card__desc {
  font-size: 15px;
  line-height: 1.8;
}

/* ---------- 表 ---------- */
main table {
  font-size: 15px;
  line-height: 1.8;
}
main th,
main td {
  line-height: 1.8;
}

/* ---------- トップページ ---------- */
.is-home main h1 {
  font-size: clamp(27px, 6.2vw, 40px);
  line-height: 1.5;
}
.is-home .hero-note__kicker,
.is-home .picnic-hero__kicker {
  font-size: 15px;
}
.hero-note__desc {
  font-size: var(--yy-body) !important;
  line-height: 1.9 !important;
}

/* 「このサイトでできること」: 10個のカードの囲みをやめて、線で区切った一覧に */
.can-list {
  gap: 0 40px !important;
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr)) !important;
  border-top: 1px solid var(--yy-line);
}
.can-list > li {
  border-bottom: 1px solid var(--yy-line);
}
.can-card {
  background: none !important;
  border: none !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  padding: 18px 4px !important;
  gap: 16px !important;
}
.can-card:hover {
  transform: none !important;
  box-shadow: none !important;
}
.can-card:hover .can-card__body b {
  color: #b5533a;
}
.can-card img {
  width: 52px !important;
  height: 52px !important;
}
.can-card__body {
  line-height: 1.7 !important;
}
.can-card__body b {
  font-size: 18px !important;
}
.can-card__body small {
  font-size: 15px !important;
  line-height: 1.75;
  color: var(--yy-sub) !important;
}
.can-card__pr,
.can-card__soon {
  font-size: 12px !important;
}
.can-group {
  font-size: var(--yy-h3) !important;
  margin-top: 2.4rem !important;
}
/* 説明会だけは目立たせる(ここだけ色をしく) */
.can-card--cta {
  background: #fff4ef !important;
  border-radius: 12px !important;
  padding: 18px 14px !important;
  margin: 8px 0;
}
.can-card--soon {
  opacity: 0.85;
}

/* マップの看板・吹き出し */
.map-guide__sign {
  font-size: 16px;
}
.map-guide__say b {
  font-size: 13px !important;
}

/* 「この順番でどうぞ」 */
.lp-river p,
.lp p {
  font-size: var(--yy-body);
  line-height: var(--yy-lh);
}

/* ---------- 本文の折り返し ----------
   以前は「文節(<wbr>)の位置でしか折り返さない」設定で、
   行の右端がガタガタになり、短い行が続いて読みにくかった。
   本文は自然に折り返し、見出し・ボタンだけ文節で折り返す */
main[data-lb] :is(p, li, dd, td, figcaption, blockquote),
main[data-lb] :is(p, li, dd, td, figcaption, blockquote) :is(a, span, strong, b, em, small) {
  word-break: normal;
}

/* ---------- ヘッダーは今までの大きさのまま ---------- */
.site-header,
.bottom-nav {
  font-size: 16px;
  line-height: 1.6;
}

/* ---------- 試験アドバイスの鉛筆アイコンの位置 ---------- */
.exam-advice__list li {
  position: relative;
  padding-left: 1.7em;
}
.exam-advice__list li::before {
  top: 10px;
}

/* ---------- 関連用語・つぎに読むなら も見出しの大きさをそろえる ---------- */
.related__title {
  font-size: var(--yy-h2);
  line-height: 1.5;
  padding-bottom: 12px;
  margin-bottom: 20px;
  border-bottom: 2px solid var(--yy-line);
}
.term-next__label {
  font-size: var(--yy-h3);
  font-weight: 700;
}
/* ヘッダーのロゴ横の小さな文字は、1行に収めるため元の大きさに戻す */
.site-logo__en { font-size: 11px; }
.header-search__label,
.header-search__click { font-size: 9px; }

/* 用語・理論家ページの名前は大きく */
.term-header__name { font-size: 30px; line-height: 1.4; }
@media (min-width: 768px) { .term-header__name { font-size: 40px; } }

/* ---------- h1の上の小さなキーワード行(検索で見つけてもらうための言葉) ---------- */
.h1-kw {
  display: block;
  font-size: 15px;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: #6f8a62;
  margin-bottom: 8px;
  line-height: 1.6;
}
@media (min-width: 768px) {
  .h1-kw { font-size: 16px; }
}
.picnic-hero h1 .picnic-kicker {
  display: block;
  font-size: 15px;
  line-height: 1.7;
  letter-spacing: 0.1em;
  margin: 0 0 12px;
}

/* ---------- ことば図鑑・理論家図鑑の一覧: カードの囲みをやめて、線で区切る ---------- */
.term-list,
.theorist-list {
  gap: 0 40px !important;
  border-top: 1px solid var(--yy-line);
}
.term-list__item a,
.theorist-list__item a {
  background: none !important;
  border: none !important;
  border-bottom: 1px solid var(--yy-line) !important;
  border-radius: 0 !important;
  box-shadow: none !important;
  transform: none !important;
  padding: 20px 4px !important;
  height: auto !important;
}
.term-list__item a:hover .term-list__name,
.theorist-list__item a:hover .theorist-list__name {
  color: #b5533a;
}
.term-list__number,
.theorist-list__number {
  background: none !important;
  padding: 0 !important;
  font-size: 13px;
}
.term-list__name,
.theorist-list__name {
  font-size: 20px;
  line-height: 1.5;
}
.term-list__reading {
  font-size: 14px;
  margin-left: 0;
}
.term-list__oneliner,
.theorist-list__oneliner {
  font-size: 15px;
  line-height: 1.8;
  color: var(--yy-sub);
}
/* 理論家: 似顔絵の右に、番号・名前・英語名・分野・ひとことを縦に並べる */
.theorist-list__item a {
  display: grid !important;
  grid-template-columns: 64px 1fr !important;
  grid-template-areas:
    "avatar num"
    "avatar name"
    "avatar en"
    "avatar field"
    "avatar oneliner" !important;
  align-items: start !important;
  gap: 2px 16px !important;
}
.theorist-list__en { grid-area: en; margin-left: 0 !important; font-size: 14px; }
.theorist-list__field { grid-area: field; margin-left: 0 !important; font-size: 14px; color: #6f8a62; font-weight: 700; }
.theorist-list__oneliner { grid-area: oneliner; margin-top: 4px; }

/* 中央ぞろえの短い文は、文節で折り返す(「気/軽に」のような切れ方を防ぐ) */
main[data-lb] :is(.hero-note, .picnic-map__head, .section-header, .can) p,
main[data-lb] :is([class*="lede"], [class*="__lead"], .hero-note__desc, .hero-cta__sub),
.hero-note p {
  word-break: keep-all !important;
}

/* 理論家ページ: おもな理論・試験でのポイントも本文の大きさに */
.term-formal__box dt {
  font-size: var(--yy-h3);
  line-height: 1.6;
}
.term-formal__box dd,
.term-exam-points li,
.term-episode li,
.term-episode p {
  font-size: var(--yy-body);
  line-height: var(--yy-lh);
}
.term-section-note {
  font-size: 15px;
  line-height: 1.85;
}

/* ---------- リンクの矢印(▶︎) ---------- */
.arw {
  display: inline-block;
  font-size: 0.72em;
  margin-left: 0.25em;
  vertical-align: 0.08em;
  text-decoration: none;
  font-family: system-ui, sans-serif;
}
.can-card__go {
  font-size: 13px;
  font-family: system-ui, sans-serif;
  color: #c2502f !important;
}

/* 2026-10-02 学習ページの末尾: まだ養成講習を受けていない人への小さな案内 */
.pre-enroll{max-width:640px;margin:28px auto 20px;padding:12px 16px;border:1px dashed var(--color-border);border-radius:12px;font-size:0.875rem;line-height:1.8;color:var(--color-text-subtle);text-align:center}
.pre-enroll a{font-weight:700;white-space:normal}
/* 2026-10-02 30秒チェックの結果のあとに出す「次の一歩」 */
.shindan__next{margin:0 0 16px;padding:0;list-style:none;display:grid;gap:8px}
.shindan__next a{display:block;padding:11px 14px;border-radius:10px;background:#fff;border:1.5px solid var(--color-border);font-weight:700;text-decoration:none;line-height:1.6}
.shindan__next a:hover{border-color:var(--color-green)}
.shindan__next[hidden]{display:none}

/* 2026-10-02 学科勉強法の表: 分野ごとのドリルへのリンク */
.domain-drill{display:inline-block;margin-top:8px;font-weight:700;font-size:0.875rem}

/* 2026-10-02 用語ページ「最近の動き」と、掲示板の法改正・時事チェック */
.term-update{margin-top:16px;padding-top:14px;border-top:1px dashed var(--color-border)}
.term-update__label{display:block;font-weight:700;font-size:0.875rem;color:var(--color-terracotta);margin-bottom:4px}
.jiji{max-width:760px;margin:28px auto;padding:22px 22px 14px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px}
.jiji h2{font-size:1.2rem;margin:0 0 12px}
.jiji h3{font-size:1rem;margin:18px 0 8px}
.jiji ul{margin:0 0 8px;padding-left:1.2em}
.jiji li{margin-bottom:6px;line-height:1.8}

/* 2026-10-02 出題範囲と対応表 */
.hani__item{margin:18px 0;padding:16px 18px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px}
.hani__item h3{margin:0 0 8px;font-size:1.05rem;line-height:1.6}
.hani__level{display:inline-block;margin-left:8px;padding:1px 8px;border-radius:999px;background:#eef4dd;font-size:0.75rem;font-weight:700;white-space:nowrap;vertical-align:2px}
.hani__pages b,.hani__missing b{display:block;font-size:0.8125rem;margin-bottom:2px}
.hani__pages a{white-space:normal}
.hani__missing{color:var(--color-text-subtle);font-size:0.9375rem}
.hani__missing ul{margin:4px 0 0;padding-left:1.2em}
.hani__missing li{margin-bottom:4px;line-height:1.8}
.hani__missing li strong{display:block;color:var(--color-text)}
.hani__missing li{margin-bottom:10px}

/* 2026-10-02 出題範囲と対応表:理解度(1問1答の結果から自動表示) */
.hani-progress{margin:18px 0;padding:18px;border-radius:14px;background:var(--color-surface);border:1px solid var(--color-border)}
.hani-progress__title{margin:0 0 12px;font-size:1.05rem}
.hani-progress__note{margin:10px 0 0;font-size:0.8125rem;color:var(--color-text-subtle);line-height:1.8}
.hani-progress__reset{border:0;background:none;padding:0;color:inherit;text-decoration:underline;font:inherit;cursor:pointer}
.rikaido-list{list-style:none;margin:0;padding:0;display:grid;gap:10px}
.rikaido{display:grid;grid-template-columns:minmax(0,15em) minmax(60px,1fr);gap:4px 12px;align-items:center;margin:0}
.rikaido__name{font-weight:700;font-size:0.9375rem}
.rikaido__label{font-weight:700;font-size:0.8125rem}
.rikaido__track{display:block;height:12px;border-radius:999px;background:#e9e4d6;overflow:hidden}
.rikaido__bar{display:block;height:100%;width:0;border-radius:999px;background:var(--color-green);transition:width .3s ease}
.rikaido__text{grid-column:2;font-size:0.8125rem;color:var(--color-text-subtle)}
.rikaido.has-data .rikaido__text{color:var(--color-text);font-weight:700}
.rikaido--inline{grid-template-columns:auto minmax(60px,1fr);margin-top:6px}
@media (max-width:640px){.rikaido{grid-template-columns:1fr}.rikaido__text{grid-column:1}}

/* 2026-10-02 出題範囲と対応表:絵と吹き出し */
.hani h2{display:flex;align-items:center;gap:12px}
.hani__icon{width:56px;height:56px;object-fit:contain;flex:none}
.hani-scene{margin:14px 0 20px}
.hani-scene img{display:block;width:100%;height:auto;border-radius:18px}
.guest-say{display:flex;align-items:flex-start;gap:10px;margin:12px 0}
.guest-say__avatar{flex:none;width:48px;height:48px;border-radius:50%;background:#fdf1ee;display:flex;align-items:center;justify-content:center;font-size:1.5rem;overflow:hidden;box-shadow:0 4px 10px rgba(60,80,110,.1)}
.guest-say__avatar img{width:100%;height:100%;object-fit:cover}
.guest-say__bubble{margin:0;padding:12px 16px;border-radius:6px 20px 20px 20px;background:#f4f8ed;font-size:0.9375rem;line-height:1.8}
.guest-say__bubble b{display:block;font-size:0.8125rem;color:#6c8265;margin-bottom:2px}
.guest-say__bubble a{white-space:nowrap;font-weight:700;font-size:0.8125rem}

/* 2026-10-02 出題範囲と対応表:項目ごとの絵と、小さな吹き出し */
.hani__item{position:relative}
.hani__item-icon{float:right;width:64px;height:64px;object-fit:contain;margin:0 0 6px 12px}
.mini-say{display:flex;align-items:flex-start;gap:10px;margin:10px 0;clear:both}
.mini-say--moyan{flex-direction:row-reverse}
.mini-say__avatar{flex:none;width:44px;height:44px}
.mini-say__avatar img{width:100%;height:100%;object-fit:contain}
.mini-say__bubble{margin:0;padding:10px 14px;border-radius:6px 18px 18px 18px;background:#fdfaea;border:1px solid #e7dd9a;font-size:0.9375rem;line-height:1.8;max-width:34em}
.mini-say--moyan .mini-say__bubble{border-radius:18px 6px 18px 18px;background:#fff;border-color:#ccd3db}
.mini-say__bubble b{display:block;font-size:0.75rem;color:#8b6a2b;margin-bottom:1px}
.mini-say--moyan .mini-say__bubble b{color:#6a7686}
.guest-say{clear:both}
@media (max-width:640px){.hani__item-icon{width:48px;height:48px}}

/* 2026-10-02 用語ページ「試験で問われたポイント」/ ドリルの案内 */
.term-kakomon{margin-top:16px;padding-top:14px;border-top:1px dashed var(--color-border)}
.term-kakomon ul{margin:4px 0 0;padding-left:1.2em}
.term-kakomon li{margin-bottom:6px;line-height:1.85}
.quiz-drill__zero{margin:10px 0 0;font-size:0.9375rem;color:var(--color-terracotta);font-weight:700}

/* 2026-10-02 試験に出る白書・調査・報告書の要点 */
.shiryo h2{display:flex;align-items:center;gap:12px}
.shiryo__list{margin:8px 0 12px;padding-left:1.2em}
.shiryo__list li{margin-bottom:10px;line-height:1.9}
.shiryo__trap{display:inline-block;margin-right:8px;padding:0 8px;border-radius:999px;background:var(--color-terracotta);color:#fff;font-size:0.75rem;font-weight:700;vertical-align:2px;white-space:nowrap}

/* 2026-10-03 試験対策マップと、ページ一覧の帯 */
.exam-map{margin:26px 0 34px}
.exam-map .map-stage{width:100%;margin:22px auto 14px}
.map-spot__note{text-align:center;white-space:nowrap;line-height:1.55}
.exam-map .map-say--sunny,.exam-map .map-say--moyan{top:auto;bottom:73%}
@media (max-width:640px){.exam-map .map-say--sunny,.exam-map .map-say--moyan{bottom:74%;max-width:52vw}}
.study-nav{max-width:880px;margin:18px auto;padding:14px 16px;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface)}
.study-nav__label{margin:0 0 10px;font-weight:700;font-size:0.9375rem;text-align:center}
.study-nav__list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px;justify-content:center}
.study-nav__list a{display:inline-block;padding:7px 14px;border-radius:999px;border:1.5px solid var(--color-border);background:#fff;font-size:0.875rem;font-weight:700;text-decoration:none;white-space:nowrap}
.study-nav__list a:hover{border-color:var(--color-green)}
.study-nav--foot{margin:34px auto 20px}
.study-back{max-width:640px;margin:22px auto 0;text-align:center;font-weight:700;font-size:0.9375rem}

/* 2026-10-03 試験対策ページ:絵のカード(横にスクロールして選ぶ。押すと、中のページが下に並ぶ) */
.study-cards{margin:20px 0 12px}
.study-cards__row{display:flex;gap:12px;overflow-x:auto;padding:4px 2px 12px;scroll-snap-type:x proximity;-webkit-overflow-scrolling:touch;scrollbar-width:thin}
.study-card{appearance:none;-webkit-appearance:none;flex:0 0 200px;border:0;border-radius:10px;background:#fff;padding:18px 14px 16px;display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;font:inherit;color:inherit;scroll-snap-align:start;transition:background .15s}
.study-card img{width:112px;height:112px;object-fit:contain}
.study-card__name{font-weight:700;font-size:1.05rem;line-height:1.4;text-align:center}
.study-card__desc{font-size:0.8125rem;line-height:1.6;color:var(--color-text-subtle);text-align:center}
.study-card:hover{background:#f7f9ef}
.study-card.is-open{background:#eef4dd}
.study-panel{margin-top:6px;padding:14px 18px;border-radius:10px;background:#fff}
.study-panel ul{list-style:none;margin:0;padding:0;columns:2;column-gap:28px}
.study-panel li{margin:0;padding:7px 0;break-inside:avoid;border-bottom:1px dotted var(--color-border);line-height:1.6}
.study-panel li a{display:block;padding-left:1.4em;text-indent:-1.4em;font-size:0.9375rem;font-weight:700;text-decoration:none}
.study-panel li a::before{content:"▶︎ ";color:var(--color-green);font-size:0.75em}
.study-panel li a:hover{text-decoration:underline}
.updated-date--right{text-align:right;justify-content:flex-end}
@media (max-width:640px){
  .study-cards__row{padding:4px 16px 12px;margin:0 -16px}
  .study-card{flex-basis:168px;padding:14px 10px}
  .study-card img{width:92px;height:92px}
  .study-panel ul{columns:1}
}
.study-nav__all{margin:10px 0 0;text-align:center;font-size:0.875rem;font-weight:700}

/* 2026-10-03 1問1答: ジャンル・学習時間の選択。項目名は横書きのまま、プルダウンは画面からはみ出さない */
.quiz-picker{min-width:0;max-width:100%}
.quiz-picker__label{white-space:nowrap;flex:none}
.quiz-picker select{min-width:0;max-width:100%;text-overflow:ellipsis;overflow:hidden;white-space:nowrap}
@media (max-width:640px){
  .quiz-pickers{flex-direction:column;align-items:stretch;gap:14px}
  .quiz-picker{flex-direction:column;align-items:stretch;gap:6px}
  .quiz-picker select{flex:none;width:100%;margin-left:0;box-sizing:border-box;font-size:1rem}
}

/* 2026-10-03 ページ下の草原: スマホではサニー先生とモヤンが重なるので、サニー先生だけにする */
@media (max-width:640px){
  .picnic-meadow .pm-moyan{display:none}
  .picnic-meadow .pm-sunny{left:50%;transform:translateX(-50%)}
}

/* 2026-10-03 ページ下の案内: 「試験対策マップにもどる」「ぜんぶのページを見る」の2行だけ。箱はなし */
.study-nav--foot{border:0;background:none;padding:0;margin:30px auto 18px;text-align:center}
.study-nav--foot .study-nav__label{margin:0 0 8px}
.study-nav--foot .study-nav__all{margin:0;font-size:0.9375rem}

/* 2026-10-03 地図(トップ・試験対策)のスマホ表示: 絵のすぐ下に、その場所の名前がくるように並べ直す */
@media (max-width:640px){
  .map-stage{aspect-ratio:5/6}
  /* 1段目: 図書館(左) / テント(右) */
  .map-stage .mp-wagon{left:6%;top:7%;width:24%}
  .map-stage .mp-pinwheel{display:none}
  .map-stage .mp-tent1{left:71%;top:6%;width:20%}
  /* 2段目: 掲示板(左) / シートとふたり(中央) / 赤いテント(右) */
  .map-stage .mp-board{left:4%;top:36%;width:21%}
  .map-stage .mp-mat{left:32%;top:37%;width:36%}
  .map-stage .mp-lunch--a{left:41%;top:38%;width:10%}
  .map-stage .mp-suito{left:55%;top:36.5%;width:4.5%}
  .map-stage .mp-tent2{left:77%;top:35%;width:17%}
  .map-stage #map-sunny{left:34%;top:43%;width:13%}
  .map-stage #map-moyan{left:55%;top:45%;width:11%}
  /* 3段目: 屋台(左) / 森とハンモック(右) */
  .map-stage .mp-stall{left:12%;top:68%;width:22%}
  .map-stage .mp-tree1{left:57%;top:66%;width:12%}
  .map-stage .mp-hammock{left:63%;top:76%;width:26%}
  .map-stage .mp-tree2{left:83%;top:66%;width:12%}
  .map-stage .mp-flowerl,.map-stage .mp-flowerr,.map-stage .mp-bushl,.map-stage .mp-bushr{display:none}
  /* 名前の札: 絵の箱の下端に置く。長い名前は2行に折り返して中央揃え */
  .map-stage .map-spot{align-items:flex-end;border-radius:14px}
  .map-stage .map-spot--blue{left:0!important;top:7%!important;width:36%!important;height:26%!important}
  .map-stage .map-spot--yellow{left:62%!important;top:6%!important;width:38%!important;height:26%!important}
  .map-stage .map-spot--green{left:0!important;top:36%!important;width:30%!important;height:23%!important}
  .map-stage .map-spot--coral{left:27%!important;top:37%!important;width:46%!important;height:25%!important}
  .map-stage .map-spot--pink{left:70%!important;top:35%!important;width:30%!important;height:24%!important}
  .map-stage .map-spot--lavender{left:3%!important;top:68%!important;width:40%!important;height:26%!important}
  .map-stage .map-spot--cream{left:54%!important;top:66%!important;width:44%!important;height:24%!important}
  .map-stage .map-spot__sign{margin-bottom:0;padding:1px 4px;font-size:0.75rem;line-height:1.35;white-space:normal;text-align:center;max-width:100%}
  .map-stage .map-spot__sign b{display:block;word-break:keep-all;overflow-wrap:anywhere}
  .map-stage .map-spot__note{display:none}
  /* 吹き出しは、上の真ん中の空きに収める */
  .map-stage .map-say--sunny,.map-stage .map-say--moyan,.exam-map .map-say--sunny,.exam-map .map-say--moyan{top:auto;bottom:76%;max-width:40vw;font-size:0.75rem;padding:7px 10px;line-height:1.6}
}

/* 2026-10-03 文章が長く続くところに、小さな絵と吹き出しを足す */
.sec-illust{float:right;width:72px;height:72px;object-fit:contain;margin:-6px 0 8px 14px}
h2:has(> .sec-illust){overflow:hidden}
.kw-talk{max-width:640px;margin:22px auto}
.guide-section .mini-say,.column-section .mini-say,.review-section .mini-say,.school-section .mini-say{margin-top:16px}
@media (max-width:640px){.sec-illust{width:54px;height:54px;margin-left:10px}}

/* 2026-10-03 30日の逆算プラン */
.plan-countdown{max-width:420px;margin:14px auto 20px;padding:14px 18px;border-radius:14px;background:var(--color-green);color:#fff;text-align:center;font-weight:700;font-size:1.1rem}
.plan-countdown b{font-size:2.2rem;margin:0 6px;vertical-align:-3px}
.plan-letter{max-width:640px;margin:0 auto 22px;padding:18px 20px;border-radius:14px;background:#fff7dd}
.plan-letter p{margin:0 0 10px;line-height:1.95}
.plan-letter__name{display:flex;align-items:center;gap:10px;font-weight:700}
.plan-letter__name img{width:44px;height:44px;border-radius:50%}
.plan-letter__sign{text-align:right;font-weight:700;margin:0}
.plan-letter--end{margin-top:26px}
.plan-week h2{display:flex;align-items:center;gap:12px}
.plan-week__when{margin:-4px 0 10px;font-weight:700;color:var(--color-terracotta);font-size:0.9375rem}
.plan-list{list-style:none;margin:12px 0;padding:0}
.plan-list li{margin:0 0 10px;padding:12px 14px;border-radius:12px;background:var(--color-surface);border:1px solid var(--color-border);line-height:1.8}
.plan-list label{display:flex;gap:10px;align-items:flex-start;cursor:pointer}
.plan-list input{flex:none;width:22px;height:22px;margin-top:4px;accent-color:var(--color-green)}
.plan-list li a{display:inline-block;margin:4px 0 0 32px;font-weight:700;font-size:0.9375rem}
.plan-list li.is-done{background:#f3f7e8;border-color:var(--color-green)}
.plan-list li.is-done label span{color:var(--color-text-subtle)}
.plan-progress__text{margin:0 0 8px}
.plan-progress__text b{font-size:1.3rem;color:var(--color-green)}
.plan-banner{max-width:640px;margin:14px auto;text-align:center}
.plan-banner a{display:block;padding:12px 16px;border-radius:12px;background:#fff7dd;text-decoration:none;font-weight:700;line-height:1.7}
.plan-banner b{display:block;font-size:0.8125rem;color:var(--color-terracotta)}
