@charset "UTF-8";

/* ==========================================================================
   KDU Corporate Site - print.css
   --------------------------------------------------------------------------
   役割：印刷時の最適化（ナビ・装飾の除去／コンテンツ重視／URL表示／改ページ制御）
   出自：短大サイト common.css の @media print セクション（L937-1020）
   読込：<link rel="stylesheet" href="/assets/css/print.css" media="print">
   方針：
     - 学科バリアントは含めない（印刷側に元々依存なし）
     - H2自動型アコーディオン（.c-accordion-*）は改名対象外。そのまま全展開
     - ナビ／フッターのクラス名は nav.css（.p-header / .p-gnav /
       .c-mega-menu / .p-footer 系）に整合済み（Step1-A）
     - ヘッダー／フッターは「最小構成」として position:static 化（短大方式）
     - 重要なお知らせバー（.p-notice）は時限情報のため印刷では非表示
   注記：
     - @media print で二重ガード（media="print" 指定でも単体で安全に動作）
   ========================================================================== */

@media print {

  /* ======================================================================
     1. ページ全体の基本設定
     ====================================================================== */
  html, body {
    width: 100%;
    min-width: auto;
    background-color: #fff;
    color: #000;
  }

  body {
    padding-top: 0; /* 固定ヘッダー用の余白を解除 */
    transform: none;
  }

  /* 画像はみ出し防止 */
  img {
    max-width: 100% !important;
  }


  /* ======================================================================
     2. 非コンテンツ要素を非表示（ナビ・お知らせ・フッター上部リンク）
     --------------------------------------------------------------------
     クラス名は nav.css（Step1-A）に整合
     ====================================================================== */
  html body .p-header__tool,      /* ツールナビ（アクセス/問合せ/言語/印刷/検索） */
  html body .p-gnav,              /* グローバルナビ */
  html body .c-mega-menu,         /* メガメニュー */
  html body .p-header__hamburger, /* SPハンバーガーボタン */
  html body .c-sp-nav,            /* SPナビ オーバーレイ */
  html body .p-notice,            /* 重要なお知らせバー（時限情報のため除外） */
  html body .p-breadcrumb,        /* パンくず（ナビゲーション要素） */
  html body .p-footer,            /* フッター上部：カテゴリリンク（サイトマップ相当） */
  html body .p-footer-bottom__links { /* フッター下部UIリンク（操作用・印刷で機能せず） */
    display: none;
  }


  /* ======================================================================
     3. ヘッダー・フッターの最小構成（sticky/全幅背景を解除）
     --------------------------------------------------------------------
     残すのは：ヘッダーのロゴ、フッター下部（ロゴ・住所・コピーライト）
     ====================================================================== */
  html body .p-header {
    position: static;
    display: block;
    border-bottom: 1px solid var(--color-border-light);
  }

  /* メインヘッダー：ロゴのみ残す（ナビは §2 で非表示） */
  html body .p-header__main .inner {
    display: block;
    padding-top: 10px;
    padding-bottom: 10px;
  }

  /* ロゴは表示（印刷用に縮小） */
  html body .p-header__logo {
    width: 160px;
  }

  /* フッター下部：白背景・通常フローで最小表示 */
  html body .p-footer-bottom {
    position: static;
    display: block;
    background-color: #fff;
    color: #000;
    border-top: 1px solid var(--color-border-light);
    padding: 16px 0;
  }

  html body .p-footer-bottom__inner {
    display: block;
  }

  /* --- 下層ページ KVビジュアル（.c-mv）：タイトルは残し、紺背景/画像/装飾を除去 ---
     見出しは文書の識別情報として残す。背景オーバーレイ・影・大余白は省く。 */
  html body .c-mv {
    position: static;
    min-height: 0;
    background: none !important;
    color: #000;
    padding-top: 20px;
    padding-bottom: 16px;
    border-bottom: 2px solid var(--color-main);
  }

  html body .c-mv::after {
    display: none; /* ブランドカラーのオーバーレイを除去 */
  }

  html body .c-mv__title {
    color: #000;
    text-shadow: none;
  }


  /* ======================================================================
     4. アコーディオンの全展開（H2自動型 = c-accordion-*）
     ====================================================================== */
  html body .c-accordion-content {
    display: block;
    max-height: none;
    overflow: visible;
    opacity: 1;
    visibility: visible;
    border-top: 1px solid var(--color-border-light);
  }

  html body .c-accordion-trigger {
    cursor: default;
    pointer-events: none;
  }

  html body .c-accordion-trigger::after,
  html body .c-faq__arrow {
    display: none;
  }


/* ======================================================================
   「すべて開く」ボタン（画面専用UIのため印刷では非表示）
   ====================================================================== */
html body .c-accordion-expandAll {
  display: none;
}


  /* ======================================================================
     Q&A一括開閉ボタン（画面専用UIのため印刷では非表示）
     ====================================================================== */
  html body .c-faq-expandAll {
    display: none;
  }


  /* ======================================================================
     5. リンクの URL を併記（コンテンツ内の外部・PDF系リンクのみ）
     --------------------------------------------------------------------
     ページ内アンカー（#）・JS リンク・アイコン由来の擬似要素は対象外
     ====================================================================== */
  .c-box-content a[href^="http"]::after,
  .c-box-content a[href$=".pdf"]::after {
    content: " (" attr(href) ")";
    font-size: 0.85em;
    color: #555;
    word-break: break-all;
  }

  /* メール・電話・ページ内アンカーには URL を付けない */
  .c-box-content a[href^="#"]::after,
  .c-box-content a[href^="mailto:"]::after,
  .c-box-content a[href^="tel:"]::after,
  .c-box-content a[href^="javascript:"]::after {
    content: "";
  }


  /* ======================================================================
     6. 改ページ制御（見出し・表・カードの分断を防ぐ）
     ====================================================================== */
  h1, h2, h3, h4,
  .c-heading-1, .c-heading-2, .c-heading-lvl3, .c-heading-lvl4 {
    break-after: avoid;
    page-break-after: avoid;
  }

  .c-table-wrapper, table,
  figure, .c-card, .c-info-card,
  .c-faq__item, .c-accordion-item {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  /* 段落・リスト項目内での分断を抑制 */
  p, li {
    orphans: 3;
    widows: 3;
  }


  /* ======================================================================
     7. カラー出力許可
     ====================================================================== */
  * {
    -webkit-print-color-adjust: exact;
    print-color-adjust: exact;
  }

  /* Real voice（2026-09-14 追加） */
  .c-realVoice__item {
    break-inside: avoid;
    page-break-inside: avoid;
  }

  .c-realVoice__bubble::before {
    display: none;
  }
}
