@charset "UTF-8";
/* ============================================
* 印刷用スタイル
* ============================================ */

@page {
  /* 用紙はA4のまま。左右を詰めて紙面幅を稼ぐ（210mm − 20mm = 190mm ≈ 718px） */
  size: A4 portrait;
  margin: 15mm 10mm;
}

/* --------------------------------------------
* A3相当のレイアウト幅をA4に縮小して印刷する
*
* 印刷時のメディアクエリの判定幅は
* 「印刷ダイアログで選んだ用紙サイズ − ダイアログの余白設定」で決まり、
* CSSの @page size / @page margin では変えられない（検証済み）。
* A4用紙では常に約718pxとなり style.css の
* @media (max-width: 767px) が当たってSP表示になってしまう。
*
* そこで zoom でCSS上のレイアウト幅だけを広げる。
*   190mm ÷ 0.7071 ≒ 269mm ≒ 1015px（A3縦の紙面幅相当）
* 描画はA4に縮小されるため、用紙はA4のまま「A3で組んだ紙面」が刷れる。
* transform: scale() と違い zoom は改ページが正しく効く。
*
* ただしメディアクエリの判定幅は718pxのままなので、
* SP用の指定は下の「3. PCレイアウトの復元」で個別に打ち消す必要がある。
* -------------------------------------------- */

/* --------------------------------------------
* 背景色・文字色の保持
* コラムのブロックは背景色と白抜き文字の組み合わせが多く、
* ブラウザ既定の「背景を印刷しない」挙動では
* テーブルのヘッダー（緑地に白文字）などが読めなくなるため強制する
* -------------------------------------------- */
html {
  zoom: 0.7071;
  -webkit-print-color-adjust: exact;
  print-color-adjust: exact;
}

/* --------------------------------------------
* 1. ヘッダーの固定解除（先頭にだけ表示する）
* position: fixed のままだと全ページに刷り込まれるため
* 通常フローに戻して1ページ目の先頭だけに出す
* -------------------------------------------- */
.l-header {
  position: static;
  height: auto;
  z-index: auto;
  break-after: avoid;
  page-break-after: avoid;
}

/* 固定ヘッダー分の余白を打ち消す */
.l-main {
  padding-top: 0;
}

/* ヘッダー内の操作用UIは紙面では不要 */
.l-header__search,
.c-hamburger,
.c-drawer {
  display: none !important;
}

/* ハンバーガー用に空けていた右余白（style.css の max-width:1400px 指定）を戻す */
.l-header__inner {
  padding-right: 12px;
}

/* --------------------------------------------
* 3. PCレイアウトの復元
*
* 上記のとおり紙面のメディアクエリ判定幅は約718pxのままで、
* style.css の @media (max-width: 767px) が当たってしまう。
* zoomで広げた紙面幅（約1015px）に対してSP配置では間延びするため、
* 1列に落ちてしまうブロックだけPC配置へ戻す。
* （print.css は style.css より後に読み込むため、
*   同じ詳細度でも後勝ちで上書きできる）
* -------------------------------------------- */

/* 紙面幅を目一杯使う。左右の余白は @page で確保済み */
.l-inner {
  width: 100%;
  max-width: none;
}

/* STEPブロック：3列に戻す */
.columnSteps {
  grid-template-columns: repeat(3, 1fr);
}

/* まとめブロック：2列に戻す */
.columnSummary__list {
  grid-template-columns: repeat(2, auto);
}

/* ギャラリー：2列指定を維持する */
.p-columnPost__contents .wp-block-gallery.columns-2 {
  grid-template-columns: repeat(2, 1fr);
}

/* グループブロックの2列・3列スタイル：
   style.css では @media (min-width: 768px) 側の指定のため紙面では効かない */
.is-style-grid-2col > * {
  grid-template-columns: repeat(2, 1fr);
}

.is-style-grid-3col > * {
  grid-template-columns: repeat(3, 1fr);
}

/* ナビゲーター：キャラクターと本文を横並びに戻す */
.columnNavigator {
  flex-direction: row;
  align-items: center;
}

/* --------------------------------------------
* 2-1. 画像の改ページ
* 1ページに収まるものは分割しない
* -------------------------------------------- */
figure,
img,
.wp-block-image,
.wp-block-gallery,
.p-columnPost__mv {
  break-inside: avoid;
  page-break-inside: avoid;
}

img {
  max-width: 100% !important;
  height: auto;
}

figcaption {
  break-before: avoid;
  page-break-before: avoid;
}

/* --------------------------------------------
* 2-2. 表の改ページ
* -------------------------------------------- */
.wp-block-table,
.columnTable {
  break-inside: avoid;
  page-break-inside: avoid;
  /* 画面用の横スクロールを解除して表全体を紙に出す */
  overflow: visible !important;
}

.wp-block-table table,
.columnTable table {
  /* min-width: 640px などの下限を外し、紙面幅に収める */
  min-width: 0 !important;
  width: 100% !important;
}

/* 行の途中で切らない */
tr,
th,
td {
  break-inside: avoid;
  page-break-inside: avoid;
}

/* 表が複数ページにまたがる場合は見出し行を各ページに繰り返す */
thead {
  display: table-header-group;
}

tfoot {
  display: table-footer-group;
}

/* --------------------------------------------
* 2-3. STEPブロックの改ページ
* カード1枚（STEP番号＋見出し＋説明枠）を分割しない
* -------------------------------------------- */
.columnSteps__item {
  break-inside: avoid;
  page-break-inside: avoid;
}

.columnSteps__label,
.columnSteps__title {
  break-after: avoid;
  page-break-after: avoid;
}

/* --------------------------------------------
* 2-4. その他のコラム用ブロック
* 枠で囲われたまとまりは途中で切らない
* -------------------------------------------- */
.columnAlert,
.columnColorBox,
.columnSummary,
.columnTalk__item,
.columnDl__row,
.columnRelated__item,
.columnSupervisor,
.columnNavigator,
.c-faq__item {
  break-inside: avoid;
  page-break-inside: avoid;
}

/* --------------------------------------------
* 見出しの孤立防止
* ページ末尾に見出しだけが残らないようにする
* -------------------------------------------- */
h1, h2, h3, h4, h5, h6,
.columnColorBox__title,
.columnAlert__title,
.columnSummary__title {
  break-after: avoid;
  page-break-after: avoid;
}

/* --------------------------------------------
* 紙面では不要な要素
* -------------------------------------------- */
.l-footer__search,
.c-footer__search,
.c-snsList {
  display: none !important;
}

/* --------------------------------------------
* フッター上のウェーブ
* .is-beforeFooter 等の ::after で描いている装飾。
*　印刷時全ページに出力されるので消す
* -------------------------------------------- */
.is-beforeFooter::after,
.p-knowledgePost__contents > *:last-child::after {
  display: none !important;
  content: none !important;
}

.is-beforeFooter,
.p-knowledgePost__contents > *:last-child,
.topNews.is-beforeFooter {

}
