/* ===================================================================
   print.css
=================================================================== */

@media print {
  /* ---------- 基本設定 ---------- */

  html,
  body {
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
  }

  html,
  body {
    font-size: 0.65px;
  }
  /* ---------- スクロール演出で隠れている要素を強制表示 ----------
     .fade 系クラスは JS が IntersectionObserver 等で .active を付与する
     までは opacity:0 のまま＝印刷すると本文が消えてしまうため、
     印刷時はすべて表示状態にする
  ---------------------------------------------------------------- */
  .fade,
  .fade-l,
  .fade-r,
  .fade-t,
  .fade-b,
  .fade-w,
  .fade-z,
  .fade-ov,
  .fade-no-cover {
    opacity: 1 !important;
    transform: none !important;
    animation: none !important;
    transition: none !important;
  }

  .fade-ov::before {
    content: none !important;
  }

  /* ---------- 固定/絶対配置の解除 ----------
     position:fixed の要素は印刷時にページごとに重なって表示されたり
     消えたりするため static に戻す
  ---------------------------------------------------------------- */
  .bl_header,
  .el_scroll,
  .el_fixedEntry,
  #gotop {
    position: static !important;
  }

  /* ---------- ヒーローエリア ---------- */

  .bl_hero {
    --u: 1px;
  }
  .bl_hero_info.ly_inner {
    padding: 0 24px;
  }
  .bl_hero_wrap,
  .bl_hero {
    min-height: auto !important;
    height: auto !important;
    page-break-inside: avoid;
  }

  .el_btn.el_btn__hero {
    width: 300px;
  }

  .bl_hero_inner {
    padding: 20rem 0 !important;
  }

  /* 印刷時は装飾要素を最終位置・表示状態に固定 */
  @media print {
    .bl_hero_decoShape__1,
    .bl_hero_decoShape__2,
    .bl_hero_decoShape__3,
    .bl_hero_decoShape__4,
    .bl_hero_decoShape__5 {
      animation: none !important;
      transition: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }
  /* ---------- レイアウト幅をページ幅に合わせる ---------- */
  .ly_inner {
    width: 90% !important;
    max-width: 100% !important;
    padding-left: 0 !important;
    padding-right: 0 !important;
  }

  /* ---------- プログラム一覧 ---------- */
  .bl_programItem {
    page-break-inside: avoid;
    break-inside: avoid;
    border: 1px solid #ccc;
    margin-bottom: 12pt;
  }
  .bl_programItem.bl_programItem__double-speaker {
    grid-template-columns: 220rem 1fr 200rem;
  }
  .bl_cta_container {
    display: none !important;
  }

  .bl_programItem_speakers {
    flex-direction: column;
  }

  /* ---------- 開催概要テーブル ---------- */
  .bl_detailTable {
    width: 100% !important;
    border-collapse: collapse !important;
  }

  .bl_detailTable_head,
  .bl_detailTable_data {
    border: 1px solid #999 !important;
    padding: 6pt 8pt !important;
  }

  .bl_detail_table,
  .bl_detail_target {
    page-break-inside: avoid;
  }

  /* ---------- 参加申し込みセクション ----------
     フォーム（iframe）は印刷不可のため非表示にし、
     代わりに案内文のみ残す
  ---------------------------------------------------------------- */
  .bl_entry_form {
    display: none !important;
  }

  .bl_entry::after {
    content: "※参加申し込みはWebサイトのフォームより行ってください。";
    display: block;
    margin-top: 8pt;
    font-size: 10pt;
    color: #ffffff;
    text-align: center;
  }

  /* ---------- フッター ---------- */
  footer {
    border-top: 1px solid #ccc;
    margin-top: 16pt;
  }

  /* ---------- 改ページ制御 ---------- */
}

.el_scroll {
  display: none;
}

.el_gotop {
  display: none;
}

.el_fixedEntry {
  display: none;
}
