/* print.css - スタイルシート for 印刷用レイアウト */

/* 全体的な印刷設定 */
@media print {
  /* 背景色と画像を印刷する（デフォルトでは印刷されない） */
  * {
    -webkit-print-color-adjust: exact !important;
    color-adjust: exact !important;
    print-color-adjust: exact !important;
  }

  /* 基本設定 */
  body {
    margin: 0;
    padding: 0;
    line-height: 1.5;
    font-family: "Times New Roman", Times, serif;
    font-size: 12pt;
    color: #000;
    background: #fff;
  }

  /* リンクのスタイル調整 */
  a {
    color: #000;
    text-decoration: none;
  }

  /* リンクの後にURLを表示 */
  a[href^="http"]:after {
    content: " (" attr(href) ")";
    font-size: 90%;
  }

  /* 内部リンクのURLは表示しない */
  a[href^="#"]:after {
    content: "";
  }

  /* 見出しのスタイル */
  h1, h2, h3, h4, h5, h6 {
    page-break-after: avoid;
    page-break-inside: avoid;
  }

  h1 {
    font-size: 24pt;
    margin-block-end: 18pt;
  }

  h2 {
    font-size: 18pt;
    margin-block-end: 16pt;
  }

  h3 {
    font-size: 16pt;
    margin-block-end: 14pt;
  }

  /* 段落のスタイル */
  p, blockquote, ul, ol, dl {
    page-break-inside: avoid;
    margin-block-end: 10pt;
  }

  /* 画像のスタイル */
  img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* テーブルのスタイル */
  table {
    border-collapse: collapse;
    width: 100%;
    page-break-inside: avoid;
  }

  table, th, td {
    border: 1px solid #000;
  }

  th, td {
    padding: 8pt;
    text-align: left;
  }

  /* ページブレークの制御 */
  .page-break {
    page-break-before: always;
  }

  /* 印刷時に非表示にする要素 */
  header, footer, nav, sidebar, .no-print, .navigation, .sidebar, .footer, .header, .ads, 
  button, .button, input[type="button"], input[type="submit"], .menu {
    display: none !important;
  }

  /* 印刷時のマージン設定 */
  @page {
    margin: 2cm;
  }

  /* 印刷時のみ表示する要素 */
  .print-only {
    display: block;
  }

  /* フッターとヘッダーの設定 */
  @page {
    @bottom-center {
      content: "ページ " counter(page) " / " counter(pages);
    }
    @top-center {
      content: "印刷ドキュメント";
    }
  }
}