@charset "utf-8";
/* ============================================================
   print.css : A4 縦（Portrait）印刷レイアウト
   ------------------------------------------------------------
   ・「このページを印刷」  → body.p-single（表示中ページのみ）
   ・「マニュアル一括印刷」→ body.p-manual（表紙＋目次＋全ページ）
   ・Chrome の印刷設定：用紙 A4 / 余白「既定」/ 背景のグラフィック ON
     ヘッダーとフッター（ブラウザ側）は OFF 推奨
   ============================================================ */

@page{ size:A4 portrait; margin:14mm 13mm 15mm; }

/* 画面では常に非表示（印刷時のみ組み立てて出力する） */
#manual{display:none}

@media print{
  html,body{background:#fff !important}
  body{
    font-size:9.4pt;line-height:1.62;color:#231d19;
    -webkit-print-color-adjust:exact;print-color-adjust:exact;
  }
  /* min-height:100vh が残ると先頭に白紙1ページが出るので必ず解除する */
  .app{display:block;min-height:0}
  .side,.fbar,.btn,.btn-s,.tt-bar,.tt-out,.no-print{display:none !important}
  /* 編集用の並び替え列は印刷しない */
  table.tt th.hd,table.tt td.hd{display:none !important}
  .main{padding:0;max-width:none;width:auto;min-height:0}
  body.p-manual .main{display:none}

  /* 一括印刷モードでは画面用ビューを隠す */
  body.p-manual #view{display:none !important}
  body.p-manual #manual{display:block !important}
  body.p-single #manual{display:none !important}

  a{text-decoration:none;color:inherit}

  /* ---------- シート（=1セクション） ---------- */
  .sheet{break-before:page;padding:0}
  .sheet:first-child{break-before:auto}
  .sheet-head{
    display:flex !important;justify-content:space-between;align-items:baseline;
    border-bottom:.6pt solid #c9bdb1;padding-bottom:2.4mm;margin-bottom:4.4mm;
    font-size:7.4pt;letter-spacing:.06em;color:#8a7a70;
  }
  .sheet-head .sh-l{font-weight:700;color:#3f342e}
  .sheet-foot{
    display:flex !important;justify-content:space-between;
    border-top:.5pt solid #ddd3c8;margin-top:5mm;padding-top:2mm;
    font-size:7pt;color:#a2938a;
  }

  /* ---------- 表紙 / 目次 ---------- */
  .cover{
    break-after:page;height:250mm;display:flex;flex-direction:column;
    justify-content:center;align-items:center;text-align:center;
  }
  .cover .cv-eb{font-size:8pt;letter-spacing:.32em;color:#c29a4e;margin-bottom:8mm}
  .cover h1{font-family:'Zen Maru Gothic',sans-serif;font-size:30pt;margin:0 0 3mm;letter-spacing:.04em}
  .cover .cv-tm{font-size:12pt;color:#d38fa4;letter-spacing:.14em;margin:0 0 14mm}
  .cover .cv-ttl{font-size:13pt;margin:0 0 4mm;letter-spacing:.1em}
  .cover .cv-tb{font-size:9pt;color:#5c4e46;line-height:2;margin-top:10mm}
  .cover .cv-tb b{color:#9c8c82;font-weight:400;margin-right:8px;letter-spacing:.08em}
  .cover .cv-ft{margin-top:auto;font-size:8pt;color:#a2938a}

  /* ---------- 見出し ---------- */
  .page-head{border-bottom:.8pt solid #d8cdc2;padding-bottom:3mm;margin-bottom:5mm}
  .page-head .eyebrow{font-size:7pt;letter-spacing:.18em;margin-bottom:1.5mm}
  .page-head h1{font-size:17pt;margin-bottom:2mm}
  .page-head .lead{font-size:8.8pt;max-width:none}
  .page-head .meta{font-size:7.2pt}

  .block{margin-bottom:6mm;break-inside:auto}
  .block>h2{font-size:10.6pt;margin-bottom:2.6mm}
  .block>h2::before{height:11pt}
  .sec-title{font-size:10.4pt;margin:7mm 0 3mm;break-after:avoid}

  /* ---------- 中身 ---------- */
  .card,.callout,.item,.pcard,.zone,.chk .row,.rd,.ms .r,.cl .r,.mn,.stat{
    break-inside:avoid;box-shadow:none !important;
  }
  .callout{padding:3mm 4mm;margin-bottom:4mm}
  .callout p{font-size:8.6pt}
  .callout .ct{font-size:9.2pt}

  .kv th,.kv td{padding:1.8mm 3mm;font-size:8.6pt}
  table.tb{break-inside:auto}
  table.tb thead{display:table-header-group}
  table.tb tr{break-inside:avoid}
  table.tb th,table.tb td{padding:1.5mm 2mm;font-size:8pt}

  /* 印刷では横スクロール枠と最小幅を解除して A4 幅に収める */
  .tw{overflow:visible !important}
  table.tt,table.tt.editing,table.cmp,table.ft{min-width:0 !important}

  /* フロア別3列表 */
  table.ft th,table.ft td{padding:1.4mm 1.8mm}
  table.ft thead th .fl{font-size:9.6pt}
  table.ft thead th small{font-size:6.6pt}
  table.ft td.t{font-size:8.4pt}
  table.ft td.t small{font-size:6.2pt}
  table.ft .fi b{font-size:7.8pt}
  table.ft .fi small{font-size:6.6pt}
  table.ft td.allf .fnote{font-size:6pt;top:1mm;right:1.5mm}
  table.ft tr{break-inside:avoid}
  .fchip{font-size:6.6pt;padding:.2mm 1.2mm}

  /* タイムテーブル表：A4幅に収める */
  table.tt th,table.tt td{padding:1.1mm 1.5mm;font-size:7.4pt;line-height:1.45}
  table.tt td.n b{font-size:7.8pt}
  table.tt td.d,table.tt td.c,table.tt td.rm{font-size:6.9pt}
  table.tt tr.ph > td{padding:.9mm 1.5mm;font-size:7pt}
  table.tt tr.ph{break-after:avoid}
  table.cmp th,table.cmp td{padding:1.3mm 1.8mm}
  table.cmp td b{font-size:7.8pt}
  table.cmp td small{font-size:6.8pt}
  table.cmp td.t{font-size:8pt}

  ul.ls li{font-size:8.7pt;margin-bottom:1mm}
  .chk{gap:1.2mm}
  .chk .row{padding:1.8mm 3mm;font-size:8.6pt}
  .chk .box{width:9pt;height:9pt;flex-basis:9pt;margin-top:1pt}

  .items{gap:1.6mm}
  .item{padding:2.6mm 3.4mm;border-left-width:2.4pt}
  .item .ttl{font-size:9.4pt}
  .item .dt{font-size:8.5pt}
  .item .foot{font-size:7.2pt;margin-top:1.4mm;gap:4mm}
  .item .id{font-size:7.4pt}
  .chip{font-size:7pt;padding:.4mm 2mm}
  .rel a{font-size:6.8pt;padding:.2mm 1.6mm}

  .grid-cards{grid-template-columns:1fr 1fr;gap:2.4mm}
  .pcard{padding:2.6mm 3.4mm}
  .pcard .nm{font-size:9.6pt}
  .pcard li{font-size:8pt}

  .zones{grid-template-columns:1fr 1fr 1fr;gap:2mm}
  .zone{padding:2.2mm 2.6mm}
  .zone .zn{font-size:8.6pt}
  .zone .zr{font-size:7.4pt}

  .rd{grid-template-columns:24mm 1fr;padding:1.8mm 3mm;gap:3mm}
  .rd .tm{font-size:8.4pt}
  .rd .bd .t{font-size:9pt}
  .rd .bd .m{font-size:7.6pt}
  .day-h{font-size:12pt;margin:6mm 0 2.6mm;break-after:avoid}

  .ms .r{grid-template-columns:22mm 1fr auto;padding:1.8mm 3mm;font-size:8.6pt}
  .cl .r{grid-template-columns:20mm 14mm 1fr;padding:2mm 3mm}
  .cl .r .s{font-size:8.8pt}
  .cl .r .x{font-size:8pt}

  .mn{padding:4mm 5mm;margin-bottom:4mm;break-inside:auto}
  .mn .mh h2{font-size:12.4pt}
  .mn h3{font-size:9.6pt;margin:4mm 0 1.6mm;break-after:avoid}
  .mn li{font-size:8.6pt;margin-bottom:.8mm}

  .hero{padding:6mm 7mm;margin-bottom:5mm;border-radius:4mm}
  .hero h1{font-size:20pt}
  .hero .tm{font-size:11pt}
  .stats{grid-template-columns:repeat(4,1fr);gap:2mm}
  .stat{padding:2.4mm 3mm}
  .stat .v{font-size:15pt}
  .prog .r{grid-template-columns:26mm 1fr 18mm;font-size:8.4pt}
  .cols2{grid-template-columns:1fr 1fr;gap:5mm}

  .tocs .t{font-size:9pt;padding:1.4mm 0}

  .print-only{display:block !important}
  .screen-only{display:none !important}
}
