/* SITE 54 EDITORIAL MOSAIC — responsive
   モバイルは 文字を縮めず カラム減→縦積み→比率変更 の順で対応（design-guide.md §3） */

/* ===== <= 1080: hero 微調整 ===== */
@media(max-width:1080px){
  .hero__figA{grid-column:8/13;grid-row:1/3}
}

/* ===== <= 980: タブレット / burger ===== */
@media(max-width:980px){
  .nav{display:none}
  .hdr__line{display:none}
  .burger{display:flex;margin-left:auto}
  .hero__masthead{grid-column:1/13}
  .hero__figA{grid-column:1/8;grid-row:auto;aspect-ratio:4/3;margin-top:14px}
  .hero__figB{grid-column:8/13;aspect-ratio:3/4;margin-top:14px}
  .hero__note{grid-column:1/13}
  .pickup{grid-template-columns:minmax(0,1fr)}
  .today{grid-template-columns:minmax(0,1fr)}
  .sys-grid{grid-template-columns:minmax(0,1fr)}
  .access{grid-template-columns:minmax(0,1fr)}
  .recruit{grid-template-columns:minmax(0,1fr)}
  .contents a{grid-template-columns:60px 108px minmax(0,1fr);gap:12px}
  .contents .date{grid-column:2/4;color:var(--muted)}
}

/* ===== <= 768: モバイル / 固定CTA表示 ===== */
@media(max-width:768px){
  body{padding-bottom:var(--cta-h)}
  .cta-bar{display:block}
  .sec-head h2{font-size:clamp(2rem,10vw,3rem)}
  /* cast mosaic → 2列の非対称を保ちつつ縦長主体 */
  .castgrid .castcard{grid-column:span 6}
  .castgrid.is-mosaic .castcard:nth-child(n){grid-column:span 6}
  .castgrid.is-mosaic .castcard:nth-child(1){grid-column:span 12}
  .castgrid.is-mosaic .castcard:nth-child(1) .castcard__fig{aspect-ratio:16/9}
  .castgrid.is-mosaic .castcard:nth-child(2) .castcard__fig,
  .castgrid.is-mosaic .castcard:nth-child(4) .castcard__fig,
  .castgrid.is-mosaic .castcard:nth-child(8) .castcard__fig{aspect-ratio:3/4}
  .castgrid.is-uniform .castcard{grid-column:span 6}
  /* gallery mosaic → 2列に再編（比率は残す） */
  .gallery .g1,.gallery .g4{grid-column:span 6}
  .gallery .g2,.gallery .g5{grid-column:span 12}
  .gallery .g3{grid-column:span 6}
  .gallery .g6{grid-column:span 12}
  .hero__bgword{font-size:38vw}
  .hero__issue{gap:10px}
  .cast-tools{width:100%;margin-left:0;margin-top:6px}
}

/* ===== <= 560: 小型モバイル ===== */
@media(max-width:560px){
  .contents a{grid-template-columns:52px minmax(0,1fr);gap:6px 12px}
  .contents .cat{grid-column:1/2}
  .contents .date{grid-column:2/3;text-align:right;margin-left:auto}
  .contents .ttl{grid-column:1/3}
  .pickup__meta{gap:10px 20px}
  .ftr__top{flex-direction:column}
  .ftr__nav{grid-template-columns:repeat(2,minmax(0,1fr))}
  .lb-nav{width:44px;height:44px}
}

/* ===== <= 400: 最小幅 ===== */
@media(max-width:400px){
  .castgrid.is-mosaic .castcard:nth-child(1) .castcard__fig{aspect-ratio:4/3}
  .cta-bar a{letter-spacing:.02em}
}

/* ===== 下層ページ レスポンシブ ===== */
@media(max-width:860px){
  .cd{grid-template-columns:minmax(0,1fr)}
  .cd__nav{flex-wrap:wrap;gap:8px}
  .cd__nav a{flex:1 1 40
/* ===== 下層ページ レスポンシブ ===== */
@media(max-width:860px){
  .cd{grid-template-columns:minmax(0,1fr)}
  .cd__nav{flex-wrap:wrap;gap:8px}
  .cd__nav a{flex:1 1 40%;text-align:center}
  .cd__nav a:nth-child(2){order:3;flex-basis:100%}
}
@media(max-width:560px){
  .cd__week{grid-template-columns:repeat(4,minmax(0,1fr))}
  .sch__tabs button{flex:1 1 auto;font-size:1.05rem;padding:12px 10px}
}
