/* =========================================================
   印刷用CSS — A4横向き 15ページ
   Chrome印刷ダイアログから「PDFに保存」で出力
   ========================================================= */

@page {
  size: A4 landscape;
  margin: 0;
}

@media print {
  html, body {
    width: 297mm;
    height: 210mm;
    overflow: visible !important;
    background: white !important;
    -webkit-print-color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* スピーカーノート・ナビゲーションは印刷しない */
  .nav-controls,
  .kbd-hint,
  .notes {
    display: none !important;
  }

  /* ステージは通常フローに戻す */
  .stage {
    position: static !important;
    inset: auto !important;
    background: white !important;
  }

  /* 全スライドを表示・1ページずつ改ページ */
  .slide {
    display: flex !important;
    position: relative !important;
    inset: auto !important;
    width: 297mm !important;
    height: 210mm !important;
    page-break-after: always;
    page-break-inside: avoid;
    break-after: page;
    break-inside: avoid;
    opacity: 1 !important;
    padding: 14mm 18mm 16mm !important;
    overflow: hidden;
    box-shadow: none !important;
  }
  .slide:last-child {
    page-break-after: auto;
    break-after: auto;
  }

  /* スライド内のサイズを若干調整（A4横に収まるように） */
  .slide-title { font-size: 32pt !important; margin-bottom: 16pt !important; }
  .slide-subtitle { font-size: 18pt !important; }
  .slide-lead { font-size: 13pt !important; }
  .bottom-msg { font-size: 16pt !important; margin-top: 14pt !important; }
  .bottom-note { font-size: 9pt !important; margin-top: 8pt !important; }
  .slide-top { margin-bottom: 12pt !important; font-size: 9pt !important; }

  /* スライド1 (タイトル) */
  .slide-1 .logo-mark { font-size: 36pt !important; }
  .slide-1 .main-title { font-size: 52pt !important; margin-bottom: 18pt !important; }
  .slide-1 .main-sub { font-size: 22pt !important; margin-bottom: 32pt !important; }
  .slide-1 .meta { font-size: 14pt !important; padding: 8pt 22pt !important; }
  .slide-1 .url { font-size: 13pt !important; margin-top: 24pt !important; }

  /* スライド2 */
  .quote-block .quote-text { font-size: 22pt !important; }
  .intro-lead { font-size: 13pt !important; margin-top: 16pt !important; }
  .profile-avatar { width: 80pt !important; height: 80pt !important; font-size: 32pt !important; margin-bottom: 14pt !important; }
  .profile-name { font-size: 16pt !important; }
  .profile-msg { font-size: 11pt !important; }

  /* スライド3 (3 strengths) */
  .strength-card { padding: 22pt 18pt !important; }
  .strength-card .icon { width: 56pt !important; height: 56pt !important; margin-bottom: 12pt !important; }
  .strength-card .icon svg { width: 32pt !important; height: 32pt !important; }
  .strength-card .label { font-size: 16pt !important; margin-bottom: 10pt !important; }
  .strength-card .number { font-size: 38pt !important; margin-bottom: 10pt !important; }
  .strength-card .desc { font-size: 11pt !important; }

  /* スライド4 (フロー比較) */
  .flow-col { padding: 18pt 16pt !important; }
  .flow-head .title { font-size: 17pt !important; }
  .flow-steps li { font-size: 11pt !important; padding: 8pt 12pt !important; }
  .flow-note { font-size: 10pt !important; padding: 8pt !important; }

  /* スライド5/9 (比較表) */
  .compare-table th { font-size: 12pt !important; padding: 12pt 10pt !important; }
  .compare-table td { font-size: 10pt !important; padding: 10pt 10pt !important; }
  .compare-table td:first-child { font-size: 11pt !important; }
  .compare-table td.us { font-size: 11pt !important; }
  .compare-note { font-size: 9pt !important; }

  /* スライド6 (含まれるもの) */
  .include-card { padding: 16pt 14pt !important; }
  .include-card .icon { width: 40pt !important; height: 40pt !important; }
  .include-card .icon svg { width: 22pt !important; height: 22pt !important; }
  .include-card .text { font-size: 12pt !important; }
  .featured-banner { font-size: 12pt !important; padding: 10pt 16pt !important; }

  /* スライド7 (タイムライン) */
  .tl-step .num { width: 44pt !important; height: 44pt !important; font-size: 16pt !important; margin-bottom: 8pt !important; }
  .tl-step:not(:last-child)::after { top: 22pt !important; left: calc(50% + 24pt) !important; right: calc(-50% + 24pt) !important; }
  .tl-step .title { font-size: 12pt !important; }
  .tl-step .desc { font-size: 9pt !important; }

  /* スライド8 (料金) */
  .price-hero { padding: 20pt 18pt !important; gap: 20pt !important; }
  .price-block .label { font-size: 12pt !important; margin-bottom: 8pt !important; }
  .price-block .amount { font-size: 56pt !important; }
  .price-block .sub { font-size: 11pt !important; }
  .price-plus { font-size: 36pt !important; }
  .price-includes-col { padding: 12pt 14pt !important; }
  .price-includes-col h4 { font-size: 12pt !important; }
  .price-includes-col li { font-size: 10pt !important; }
  .price-banner { font-size: 12pt !important; padding: 10pt 16pt !important; }

  /* スライド10 (セキュリティ) */
  .sec-card { padding: 14pt 10pt !important; }
  .sec-card .icon { width: 40pt !important; height: 40pt !important; margin-bottom: 8pt !important; }
  .sec-card .icon svg { width: 20pt !important; height: 20pt !important; }
  .sec-card .title { font-size: 11pt !important; }
  .sec-card .sub { font-size: 9pt !important; }
  .honest-note { font-size: 10pt !important; padding: 10pt 16pt !important; }

  /* スライド11 (SEO) */
  .check-list li { padding: 12pt 16pt !important; }
  .check-list .check { width: 22pt !important; height: 22pt !important; font-size: 13pt !important; }
  .check-list .text { font-size: 12pt !important; }
  .check-list .text .sub { font-size: 9pt !important; }
  .warning-note { font-size: 11pt !important; padding: 12pt 18pt !important; }

  /* スライド12 (保守費) */
  .maint-card { padding: 16pt 14pt !important; }
  .maint-card .head .tag { font-size: 11pt !important; }
  .maint-card li { font-size: 10pt !important; }
  .maint-card li small { font-size: 9pt !important; }
  .maint-banner-main { font-size: 16pt !important; padding: 14pt 18pt !important; }
  .maint-badge { font-size: 10pt !important; padding: 6pt 12pt !important; }

  /* スライド13 (対応外) */
  .notincl-item { padding: 12pt 18pt !important; gap: 14pt !important; }
  .notincl-item .x { width: 28pt !important; height: 28pt !important; font-size: 14pt !important; }
  .notincl-item .what { font-size: 13pt !important; }
  .notincl-item .alt { font-size: 11pt !important; }

  /* スライド14 (FAQ) */
  .faq-card { padding: 14pt 16pt !important; }
  .faq-card .q-mark, .faq-card .a-mark { width: 24pt !important; height: 24pt !important; font-size: 12pt !important; }
  .faq-card .q-text { font-size: 12pt !important; }
  .faq-card .a-text { font-size: 11pt !important; }

  /* スライド15 (連絡先) */
  .next-step { padding: 16pt 14pt !important; }
  .next-step .title { font-size: 14pt !important; }
  .next-step .sub { font-size: 11pt !important; }
  .next-arrow { font-size: 24pt !important; }
  .contact-block { padding: 22pt 28pt !important; }
  .contact-block .url { font-size: 18pt !important; }
  .contact-block .url-sub { font-size: 13pt !important; }
  .contact-final { font-size: 20pt !important; margin-top: 20pt !important; }
}
