/* MONOCHROME RUNWAY — responsive.css : カラム削減→縦積み（文字は縮小しない） */

/* ===== タブレット（〜1024px） ===== */
@media (max-width: 1024px) {
  .event__list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .guide__list { grid-template-columns: repeat(3, minmax(0,1fr)); }
  .pickup__grid { grid-template-columns: minmax(0,1fr); }
  .pickup__thumbs { flex-direction: row; flex-wrap: wrap; border-left: 0; border-top: 1px solid var(--line); padding-left: 0; padding-top: 1.2rem; }
  .pickup__thumb { flex: 1 1 40%; }
  .system__grid { grid-template-columns: minmax(0,1fr); }
}

/* ===== モバイル（〜900px）：ドロワー化・縦積み・固定CTA ===== */
@media (max-width: 900px) {
  :root { --header-h: 60px; }
  .nav, .header__side .btn { display: none; }
  .hamburger { display: inline-flex; }

  .hero { min-height: 92svh; padding-top: var(--header-h); }
  .hero__word { top: 24%; -webkit-text-stroke-width: 1px; }

  .first__inner { grid-template-columns: minmax(0,1fr); gap: 1.6rem; }
  .pickup__stage { grid-template-columns: minmax(0,1fr); }
  .pickup__poster { max-width: 420px; }
  .event__list { grid-template-columns: minmax(0,1fr); }
  .system__grid { gap: 1.6rem; }
  .access-grid { grid-template-columns: minmax(0,1fr); }
  .recruit-band__inner { grid-template-columns: minmax(0,1fr); gap: 1.4rem; }
  .footer__grid { grid-template-columns: minmax(0,1fr) minmax(0,1fr); }
  .footer__brand { grid-column: 1 / -1; }

  /* 固定CTA 表示・本文末尾に余白 */
  .cta-bar { display: grid; }
  body { padding-bottom: var(--cta-h); }
}

/* ===== スモール（〜600px） ===== */
@media (max-width: 600px) {
  .guide__list { grid-template-columns: minmax(0,1fr); }
  .guide__step { border-top: 2px solid var(--line); padding-top: .8rem; }
  .sched__list { grid-template-columns: minmax(0,1fr); }
  .pickup__thumb { flex: 1 1 100%; }
  .rate__row { grid-template-columns: minmax(0,1fr); gap: .3rem; }
  .footer__grid { grid-template-columns: minmax(0,1fr); }
  .footer__brand { grid-column: auto; }
  .access-dl > div { grid-template-columns: 6rem minmax(0,1fr); }
  .pickup__spec > div { grid-template-columns: 7rem minmax(0,1fr); }
  .lightbox__nav--prev { left: 0; } .lightbox__nav--next { right: 0; }
  .lightbox__close { top: -3rem; }
}

/* ===== 極小（〜390px） ===== */
@media (max-width: 390px) {
  .cta-bar a { font-size: .75rem; letter-spacing: .04em; }
  .cta-bar a svg { width: 18px; height: 18px; }
}

/* ===== 下層ページ レスポンシブ ===== */
@media (max-width: 1024px) {
  .host-grid { grid-template-columns: repeat(3, minmax(0,1fr)); }
}
@media (max-width: 900px) {
  .host-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cd-grid { grid-template-columns: minmax(0,1fr); }
  .cd-media { max-width: 480px; }
  .sys-first { grid-template-columns: minmax(0,1fr); }
  .acc-grid { grid-template-columns: minmax(0,1fr); }
  .nd-related__list { grid-template-columns: minmax(0,1fr); }
}
@media (max-width: 600px) {
  .host-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .nl__row { grid-template-columns: minmax(0,1fr); gap: .8rem; }
  .nl__media { max-width: 260px; }
  .cd-subs { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .cd-spec > div, .rec-dl__row { grid-template-columns: 6.5rem minmax(0,1fr); }
  .rec-dl__row { grid-template-columns: minmax(0,1fr); gap: .2rem; }
  .cd-pager { grid-template-columns: minmax(0,1fr); text-align: center; gap: .6rem; }
  .cd-pager__next { justify-content: center; }
  .page-hero__word { display: none; }
}
@media (max-width: 400px) {
  .host-grid { grid-template-columns: minmax(0,1fr); }
}

/* デスクトップ：ドロワーとCTAは隠す（保険） */
@media (min-width: 901px) {
  .drawer { display: none; }
  .cta-bar { display: none; }
}
