@charset "UTF-8";

/* ============================================================
   統合印刷CSS v3
   - 印刷時は body > * を display:none で完全除去
   - #pc-print-container だけ表示
   - position:fixed ではなく通常フローで1ページに収める
   ============================================================ */

/* 画面表示時は印刷コンテナを完全に隠す */
#pc-print-container {
  display: none !important;
}

/* ================================================================
   印刷共通：全要素を display:none で消してページ増加を防ぐ
   ================================================================ */
@media print {

  #backToTop, #goToMenu { display: none !important; }

  /* body直下の全要素を完全に非表示（height:0になりページ増加しない） */
  body > * { display: none !important; }

  /* 印刷コンテナだけ表示 */
  #pc-print-container {
    display: block !important;
    width: 100%;
    margin: 0;
    padding: 0;
    background: #fff;
  }

  /* タイトル */
  #pc-print-title {
    display: block !important;
    text-align: center;
    font-size: 13.5pt;
    font-weight: bold;
    width: 100%;
    margin: 0;
    padding: 0;
  }

  /* グリッド共通 */
  #pc-print-grid {
    display: grid !important;
    box-sizing: border-box;
    border: 2px #000 solid;
    background: #fff;
    gap: 0;
    margin: 0;
    padding: 0;
    page-break-inside: avoid;
    break-inside: avoid;
  }

  #pc-print-grid img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: fill;
    margin: 0;
    padding: 0;
    box-sizing: border-box;
  }

  body {
    margin: 0 !important;
    padding: 0 !important;
    page-break-after: avoid;
    page-break-before: avoid;
    page-break-inside: avoid;
  }
}

/* ================================================================
   縦書き縦向き（portrait 7×10）
   ================================================================ */
@media print {
  body.pc-print-tate-tate #pc-print-container {
    padding: 8mm 10mm 0 10mm;
  }
  body.pc-print-tate-tate #pc-print-title {
    font-size: 13.5pt;
    margin: 0 0 3mm 0;
  }
  body.pc-print-tate-tate #pc-print-grid {
    width: 186mm;
    height: 262mm;
    grid-template-columns: repeat(7,  calc(100% / 7));
    grid-template-rows:    repeat(10, calc(100% / 10));
  }
}

/* ================================================================
   縦書き横向き（landscape 10×7）
   ================================================================ */
@media print and (min-width: 1px) {
  body.pc-print-tate-yoko #pc-print-container {
    padding: 6mm 8mm 0 8mm;
  }
  body.pc-print-tate-yoko #pc-print-title {
    font-size: 14pt;
    margin: 0 0 3mm 0;
  }
  body.pc-print-tate-yoko #pc-print-grid {
    width: 277mm;
    height: 174mm;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows:    repeat(7,  1fr);
  }
}

/* ================================================================
   横書き縦向き（portrait 7×10）
   ================================================================ */
@media print {
  body.pc-print-yoko-tate #pc-print-container {
    padding: 8mm 10mm 0 10mm;
  }
  body.pc-print-yoko-tate #pc-print-title {
    font-size: 13.5pt;
    margin: 0 0 3mm 0;
  }
  body.pc-print-yoko-tate #pc-print-grid {
    width: 186mm;
    height: 262mm;
    grid-template-columns: repeat(7,  calc(100% / 7));
    grid-template-rows:    repeat(10, calc(100% / 10));
  }
}

/* ================================================================
   横書き横向き（landscape 10×7）
   ================================================================ */
@media print and (min-width: 1px) {
  body.pc-print-yoko-yoko #pc-print-container {
    padding: 6mm 8mm 0 8mm;
  }
  body.pc-print-yoko-yoko #pc-print-title {
    font-size: 14pt;
    margin: 0 0 3mm 0;
  }
  body.pc-print-yoko-yoko #pc-print-grid {
    width: 277mm;
    height: 174mm;
    grid-template-columns: repeat(10, 1fr);
    grid-template-rows:    repeat(7,  1fr);
  }
}
