/* 印刷 = PDF出力。ブラウザの「PDFに保存」で日本語が完全に出るため、
   PDFライブラリと日本語フォント埋め込み（dart_pdfのCJK問題）を丸ごと回避する。 */

@page{ size:A4 portrait; margin:12mm 12mm 14mm; }
@page card{ size:91mm 55mm; margin:0; }

body > *{ display:none !important; }
body > .printarea{ display:block !important; }

.printarea{
  color:#000; background:#fff;
  font-family:"BIZ UDPGothic","Yu Gothic","Hiragino Sans","Noto Sans JP",sans-serif;
  font-size:10.5pt; line-height:1.55;
}
.printarea *{ box-sizing:border-box; }

.sheetdoc{ page-break-after:always; }
.sheetdoc:last-child{ page-break-after:auto; }

/* --- 見出し --- */
.p-head{ display:flex; align-items:flex-start; gap:8mm; border-bottom:2.2pt solid #000; padding-bottom:3mm; margin-bottom:4mm; }
.p-head__t{ flex:1; }
.p-title{ font-size:17pt; font-weight:800; margin:0 0 1mm; letter-spacing:.02em; }
.p-sub{ font-size:9pt; margin:0; }
.p-photo{ width:26mm; height:26mm; object-fit:cover; border:.6pt solid #000; }
.p-qr{ width:22mm; height:22mm; }
.p-qr svg{ width:100%; height:100%; display:block; }

/* --- 最重要ブロック（受け手が最初に読む） --- */
.p-critical{ border:2pt solid #000; padding:3mm 4mm; margin:0 0 4mm; }
.p-critical h2{ font-size:11pt; margin:0 0 1.5mm; }
.p-critical .p-kv{ margin:0; }
.p-critical strong{ font-size:11.5pt; }

/* --- 表 --- */
.p-kv{ width:100%; border-collapse:collapse; margin:0 0 4mm; }
.p-kv th,.p-kv td{ border:.6pt solid #444; padding:1.6mm 2.2mm; vertical-align:top; text-align:left; }
.p-kv th{ width:30mm; background:#eee; font-weight:700; white-space:nowrap; }
.p-kv--wide th{ width:26mm; }
.p-kv td.empty{ color:#666; }

.p-tbl{ width:100%; border-collapse:collapse; margin:0 0 4mm; font-size:9.5pt; }
.p-tbl th,.p-tbl td{ border:.6pt solid #444; padding:1.4mm 2mm; text-align:left; vertical-align:top; }
.p-tbl thead th{ background:#eee; }

.p-sec{ font-size:11pt; font-weight:800; border-left:3.2pt solid #000; padding-left:2.4mm; margin:0 0 2.2mm; }
.p-note{ font-size:8.4pt; color:#333; margin:1.5mm 0 4mm; }
.p-blank{ border-bottom:.6pt dotted #666; display:block; height:6mm; }

/* --- フッタ注記（誤情報事故の緩和） --- */
.p-foot{ border-top:.6pt solid #666; margin-top:5mm; padding-top:2mm; font-size:8pt; color:#222; }

/* --- 迷子チラシ --- */
.flyer{ text-align:center; }
.flyer h1{ font-size:34pt; font-weight:900; margin:0 0 2mm; letter-spacing:.06em; }
.flyer__lead{ font-size:13pt; font-weight:700; margin:0 0 4mm; }
.flyer__photo{ width:100%; max-height:112mm; object-fit:contain; border:1pt solid #000; margin:0 0 4mm; }
.flyer__grid{ display:flex; gap:5mm; text-align:left; }
.flyer__grid .p-kv{ flex:1; font-size:11pt; }
.flyer__contact{ border:2.4pt solid #000; padding:4mm; margin-top:4mm; display:flex; align-items:center; gap:5mm; text-align:left; }
.flyer__contact .p-qr{ width:32mm; height:32mm; flex:0 0 auto; }
.flyer__contact .t{ flex:1; }
.flyer__contact .t b{ font-size:15pt; display:block; }

/* --- 緊急カード（名刺サイズ） --- */
.cardsheet{ page:card; width:91mm; height:55mm; padding:4mm; display:flex; gap:3mm; page-break-after:always; }
.cardsheet .l{ flex:1; min-width:0; }
.cardsheet .r{ width:24mm; flex:0 0 auto; text-align:center; }
.cardsheet h1{ font-size:12pt; margin:0 0 1mm; }
.cardsheet .p-qr{ width:22mm; height:22mm; }
.cardsheet dl{ margin:0; font-size:7.6pt; line-height:1.4; }
.cardsheet dt{ font-weight:700; float:left; clear:left; width:15mm; }
.cardsheet dd{ margin:0 0 .6mm 15mm; }
