/* /liberty/（不登校支援）だけの見た目。共通は /assets/site/site.css。
   夜にスマホで読む保護者向けに、動きを止め、画像の大きさを抑える。 */

/* 落ち着いたトーン：点の明滅と、お問い合わせの縁の回転を止める */
.eyebrow .dot { animation: none; }
.lb-contact::before { animation: none; }

/* 目次（ページの頭の右。スマホでは下） */
.lb-toc h2 { font-size: 1.1rem; font-weight: 900; color: var(--ink); letter-spacing: .02em; margin-bottom: 2px; }
.lb-toc-note { margin: 0 0 8px; font-size: .84rem; color: var(--ink-3); line-height: 1.6; }
.hero-side .lb-toc ol { grid-template-columns: minmax(0, 1fr); }
.lb-toc a::before { flex-shrink: 0; } /* 2行に折り返しても番号を割らない */

/* はじめに */
.lb-points-kicker { margin: 0 0 12px; }

/* 代表の話：話ごとのカード */
.lb-stories { display: grid; gap: 16px; max-width: 820px; }
.lb-story { padding: 26px 30px 24px; max-width: none; }
.lb-story .kicker { display: block; }
.lb-story h3 { margin: 4px 0 .7em; }
.lb-profile p { margin: 0; font-size: .95rem; line-height: 1.9; }
.lb-profile .lb-role { color: var(--ink-3); font-size: .88rem; font-weight: 700; margin-bottom: 8px; }

/* 画像つきの節：縦長の絵が大きくなりすぎないように */
.lb-media { grid-template-columns: minmax(0, 360px) minmax(0, 1fr); gap: 32px; align-items: start; }
.lb-media figure img { box-shadow: var(--shadow-1); }
.lb-media .prose h3 { margin-top: 0; }
.lb-media .notice { margin-top: 1.4em; }
.lb-media .notice a { font-weight: 700; text-decoration: underline; text-underline-offset: 3px; }
.lb-views .point h3 { margin-top: 4px; }

/* 4つの柱・受け付けている相談（札の並び） */
ul.chips { list-style: none; margin: 0; padding: 0; }
ul.lb-pillars { margin-top: 18px; }
ul.lb-kinds { margin: 12px 0 4px; }

/* くわしく読む・絵で見る */
.lb-more { max-width: 880px; }
details.lb-more > summary .lbl { font-family: var(--f-ja); letter-spacing: .06em; }
.lb-slides { display: grid; grid-template-columns: repeat(auto-fill, minmax(230px, 1fr)); gap: 18px 16px; }
.lb-slides figure, .lb-fig { margin: 0; }
.lb-slides img, .lb-fig img { width: 100%; border-radius: 14px; border: 1px solid var(--line); }
.lb-slides figcaption, .lb-fig figcaption { margin-top: 8px; font-size: .84rem; color: var(--ink-2); line-height: 1.6; }
.lb-slides figcaption b, .lb-fig figcaption b { display: block; font-size: .74rem; color: var(--acc-ink); letter-spacing: .04em; }
.lb-slides.lb-two { margin-top: 8px; grid-template-columns: repeat(2, minmax(0, 1fr)); max-width: 560px; }
.lb-more-grid { display: grid; grid-template-columns: minmax(0, 260px) minmax(0, 1fr); gap: 28px; align-items: start; }
.lb-more-grid .prose h3 { font-size: 1.04rem; margin: 1.4em 0 .3em; }

@media (max-width: 820px) {
  .lb-media { grid-template-columns: minmax(0, 1fr); gap: 22px; }
  .lb-media figure { max-width: 320px; }
  .lb-more-grid { grid-template-columns: minmax(0, 1fr); }
  .lb-fig { max-width: 300px; }
}
@media (max-width: 560px) {
  .lb-pc { display: none; } /* 広い画面向けの改行は、スマホでは詰める */
  .lb-story { padding: 22px 20px 20px; }
  .lb-slides, .lb-slides.lb-two { grid-template-columns: minmax(0, 1fr); }
  .lb-slides figure { max-width: 320px; }
}
