/* ===========================
   プリント/PDF 保存用スタイル
   =========================== */
@media print {
  /* ページ背景 */
  body,
  html {
    background-color: #ffffff !important;
    color: #000000 !important;
  }

  /* メインコンテンツ */
  .md-content {
    color: #000000 !important;
    box-shadow: none !important;
  }

  .md-typeset {
    color: #000000 !important;
    box-shadow: none !important;
  }

  /* 見出し */
  .md-typeset h1 {
    background-color: #007bff !important;
    color: #ffffff !important;
    padding: 12px 16px !important;
    page-break-after: avoid;
  }

  .md-typeset h2 {
    background-color: #007bff !important;
    color: #ffffff !important;
    padding: 10px 14px !important;
    page-break-after: avoid;
  }

  .md-typeset h3 {
    background-color: #0056b3 !important;
    color: #ffffff !important;
    padding: 8px 12px !important;
    page-break-after: avoid;
  }

  .md-typeset h4,
  .md-typeset h5,
  .md-typeset h6 {
    background-color: #e7f1ff !important;
    color: #ffffff !important;
    padding: 6px 10px !important;
    page-break-after: avoid;
  }

  /* テーブル */
  .md-typeset table {
    border-collapse: collapse !important;
    color: #000000 !important;
  }

  /* テーブルヘッダー（印刷用） */
  .md-typeset table th,
  table thead th {
    border: 1px solid #d0d0d0 !important;
    background-color: #00b894 !important;
    color: #000000 !important;
    padding: 8px !important;
    font-weight: bold !important;
  }

  /* テーブルデータセル（印刷用） */
  .md-typeset table td {
    border: 1px solid #d0d0d0 !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    padding: 8px !important;
  }

  /* コード */
  .md-typeset code,
  .md-typeset pre {
    background-color: #f5f5f5 !important;
    color: #000000 !important;
    border: 1px solid #ddd !important;
  }

  /* リンク */
  .md-typeset a {
    color: #000000 !important;
    text-decoration: underline !important;
  }

  /* 画像 */
  .md-typeset img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  /* ナビゲーション非表示 */
  .md-header,
  .md-sidebar,
  .md-nav,
  .md-footer {
    display: none !important;
  }

  /* PDF 保存ボタン wrapper を非表示 */
  #print-button-wrapper {
    display: none !important;
    visibility: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
  }

  /* ボタン要素・スクリプト・対話要素をすべて非表示 */
  button,
  button:any-link,
  button:visited,
  button[id],
  button[id="1"],
  button[onclick],
  [onclick],
  [role="button"],
  .md-button,
  script,
  p > button,
  p[onclick],
  div[onclick],
  *[style*="background-color: #3f51b5"] {
    display: none !important;
    visibility: hidden !important;
    margin: 0 !important;
    padding: 0 !important;
    height: 0 !important;
    width: 0 !important;
    overflow: hidden !important;
    border: none !important;
    opacity: 0 !important;
    pointer-events: none !important;
    z-index: -9999 !important;
    position: absolute !important;
    left: -9999px !important;
    top: -9999px !important;
  }
  
  /* ボタンを含む親要素も非表示 */
  p > button,
  p:has(button),
  p:has(button[id="1"]) {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    width: 0 !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
  }

  /* ページ区切り */
  h1 {
    page-break-before: always;
  }

  h1:first-child {
    page-break-before: avoid;
  }

  /* =====================================================
     Word形式用スタイル（body.is-word-format が付いている場合）
     ===================================================== */
  
  /* Word用フォント */
  body.is-word-format,
  body.is-word-format .md-typeset {
    font-family: 'Calibri', 'メイリオ', sans-serif !important;
    font-size: 11pt !important;
    line-height: 1.5 !important;
  }

  /* Word用見出しスタイル */
  body.is-word-format .md-typeset h1 {
    background-color: #2c3e50 !important;
    color: #ffffff !important;
    padding: 14px 16px !important;
    margin: 24px 0 12px 0 !important;
    font-size: 18pt !important;
    font-weight: bold !important;
  }

  body.is-word-format .md-typeset h2 {
    background-color: #34495e !important;
    color: #ffffff !important;
    padding: 12px 14px !important;
    margin: 20px 0 10px 0 !important;
    font-size: 14pt !important;
    font-weight: bold !important;
  }

  body.is-word-format .md-typeset h3 {
    background-color: #7f8c8d !important;
    color: #ffffff !important;
    padding: 10px 12px !important;
    margin: 16px 0 8px 0 !important;
    font-size: 12pt !important;
    font-weight: bold !important;
  }

  body.is-word-format .md-typeset h4,
  body.is-word-format .md-typeset h5,
  body.is-word-format .md-typeset h6 {
    color: #2c3e50 !important;
    padding: 6px 0 !important;
    font-size: 11pt !important;
    font-weight: bold !important;
  }

  /* Word用テーブル */
  body.is-word-format .md-typeset table {
    border-collapse: collapse !important;
    width: 100% !important;
    margin: 12px 0 !important;
  }

  body.is-word-format .md-typeset table th,
  body.is-word-format table thead th {
    border: 1px solid #000000 !important;
    background-color: #bdc3c7 !important;
    color: #000000 !important;
    padding: 8px !important;
    font-weight: bold !important;
  }

  body.is-word-format .md-typeset table td {
    border: 1px solid #000000 !important;
    background-color: #ffffff !important;
    color: #000000 !important;
    padding: 8px !important;
  }

  /* Word用コード */
  body.is-word-format .md-typeset code {
    background-color: #f0f0f0 !important;
    color: #000000 !important;
    border: 1px solid #cccccc !important;
    padding: 2px 4px !important;
    font-family: 'Courier New', monospace !important;
    font-size: 10pt !important;
  }

  body.is-word-format .md-typeset pre {
    background-color: #f0f0f0 !important;
    color: #000000 !important;
    border: 1px solid #cccccc !important;
    padding: 12px !important;
    font-family: 'Courier New', monospace !important;
    font-size: 9pt !important;
    page-break-inside: avoid;
  }

  /* Word用リンク */
  body.is-word-format .md-typeset a {
    color: #0563c1 !important;
    text-decoration: underline !important;
  }

  /* Word用画像・段落 */
  body.is-word-format .md-typeset img {
    max-width: 100% !important;
    page-break-inside: avoid;
  }

  body.is-word-format .md-typeset p {
    line-height: 1.5 !important;
  }

  body.is-word-format .md-typeset ul,
  body.is-word-format .md-typeset ol {
    padding-left: 24px !important;
  }
}