/* WHITE CHROME — responsive.css : カラム削減→縦積み（文字は縮小しない） */

/* ===== タブレット（〜1024px） ===== */
@media (max-width: 1024px) {
  .system__grid, .access-grid { grid-template-columns: minmax(0,1fr); }
  .recruit-band__inner { grid-template-columns: minmax(0,1fr); }
  .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .host-cell--lg { grid-column: span 2; grid-row: span 1; }
  .host-cell--lg .host-cell__media .frame { aspect-ratio: 16/9; min-height: 0; }
}

/* ===== モバイル（〜860px）：ドロワー・縦積み・固定CTA ===== */
@media (max-width: 860px) {
  :root { --header-h: 62px; }
  .nav, .header__side .btn { display: none; }
  .hamburger { display: inline-flex; }

  .hero { min-height: auto; padding: 2.4rem 0 3rem; }
  .hero__plate--b, .hero__plate--c { display: none; }
  .hero__plate--a { width: 52vw; height: 62vw; top: auto; bottom: 6%; right: -8%; opacity: .7; }
  .hero__scroll { display: none; }
  .hero__copy { max-width: none; }

  .pickup__stage { grid-template-columns: minmax(0,1fr); gap: 1.2rem; }
  .layer-card { margin-top: 0 !important; }
  .layer-card--1, .layer-card--2 { margin-top: 0; }

  .host-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .host-cell--lg { grid-column: span 2; grid-row: span 1; }
  .host-cell--lg .host-cell__name { font-size: 1.25rem; }

  .step-rail { gap: .3rem; }
  .step-line { display: none; }
  .step-chip { flex: 1 1 auto; justify-content: center; }

  .footer__grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .footer__brand { grid-column: 1 / -1; }

  .cta-dock { display: block; }
  body { padding-bottom: calc(var(--cta-h) + .6rem); }
  .pagetop { bottom: calc(var(--cta-h) + 1rem); }
  .lightbox__nav--prev { left: 0; }
  .lightbox__nav--next { right: 0; }
  .lightbox__close { top: -3rem; }
}

/* ===== スモール（〜600px） ===== */
@media (max-width: 600px) {
  .gallery-grid { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .rate-row { grid-template-columns: minmax(0,1fr); gap: .35rem; }
  .rate-row dd { color: var(--ice-ink); }
  .footer__grid { grid-template-columns: minmax(0,1fr); }
  .footer__brand { grid-column: auto; }
  .footer__bottom { flex-direction: column; align-items: flex-start; }
  .access-dl > div { grid-template-columns: 6rem minmax(0,1fr); }
  .drawer__actions, .sheet-actions { grid-template-columns: minmax(0,1fr); }
}

/* ===== 極小（〜400px） ===== */
@media (max-width: 400px) {
  .host-grid { grid-template-columns: minmax(0,1fr); }
  .host-cell--lg { grid-column: auto; }
  .gallery-grid { grid-template-columns: minmax(0,1fr); }
  .cta-dock__bar { gap: .2rem; }
}

/* ===== 下層ページ：タブレット ===== */
@media (max-width: 1024px) {
  .news-list, .related-list { grid-template-columns: repeat(2, minmax(0,1fr)); }
  .info-grid { grid-template-columns: minmax(0,1fr); }
}

/* ===== 下層ページ：モバイル ===== */
@media (max-width: 860px) {
  .cd { grid-template-columns: minmax(0,1fr); }
  .news-list, .related-list { grid-template-columns: minmax(0,1fr); }
  .news-row { grid-template-columns: 6.5rem minmax(0,1fr); grid-template-areas: "date cat" "title title" "ex ex"; gap: .3rem .8rem; }
  .news-row__cat { justify-self: start; }
  .field--2 { grid-template-columns: minmax(0,1fr); }
  .cd__pager { flex-wrap: wrap; }
  .cd__pager-back { order: 3; width: 100%; justify-content: center; }
}

/* ===== 下層ページ：スモール ===== */
@media (max-width: 600px) {
  .cd__subs { grid-template-columns: 1fr 1fr; }
  .cd__profile > div, .rtable > div { grid-template-columns: 6.5rem minmax(0,1fr); }
  .cd__pager-link b { font-size: .95rem; }
}

/* ===== デスクトップ：ドロワー・CTA・シートは隠す（保険） ===== */
@media (min-width: 861px) {
  .drawer, .cta-dock { display: none; }
}
