/* =========================================================================
   PRESS v2 — 詳細ページ（event.html / report.html）
   トップと同じ設計言語: ノイズ地 / 白ハイライト見出し / 濃色ベタボタン
   ========================================================================= */

/* ページヘッド */
.dt-head { padding: calc(80px + 40px) 0 40px; }         /* ヘッダー浮遊分の余白 */
.dt-head .wrap { width: min(900px, 92vw); margin-inline: auto; }
.dt-breadcrumb {
  font-family: var(--slab); font-size: 11px; letter-spacing: .12em; text-transform: uppercase;
  color: var(--ink60); margin-bottom: 24px;
}
.dt-breadcrumb a { text-decoration: none; }
.dt-breadcrumb a:hover { text-decoration: underline; }
.dt-breadcrumb .sep { margin: 0 8px; color: var(--ink40); }
.dt-meta { display: flex; gap: 8px; flex-wrap: wrap; align-items: center; margin-bottom: 22px; }
.dt-head h1 {
  font-family: var(--gothic-jp); font-weight: 800; font-size: clamp(1.7rem, 6vw, 2.6rem);
  line-height: 1.4; letter-spacing: .03em; margin-bottom: 22px;
}
/* h1も白ハイライト帯にする（サイトの顔） */
.dt-head h1 .hl { font-size: inherit; }
.dt-dateline { font-family: var(--slab); font-weight: 700; font-size: 14px; letter-spacing: .04em; }
.dt-dateline a { color: inherit; }

/* メインビジュアル（全幅大判） */
.dt-hero { width: min(1120px, 94vw); margin: 20px auto 0; }
.dt-hero img { width: 100%; aspect-ratio: 16/9; object-fit: cover; }

/* 本文 */
.dt-article { padding: clamp(50px, 8vw, 90px) 0 clamp(70px, 11vw, 130px); }
.dt-inner { width: min(760px, 92vw); margin-inline: auto; }
.dt-inner > p { margin-bottom: 22px; line-height: 2; }
.dt-inner h2 {
  font-family: var(--gothic-jp); font-weight: 800; font-size: clamp(1.25rem, 5vw, 1.6rem);
  line-height: 1.5; letter-spacing: .02em; margin: clamp(40px, 6vw, 70px) 0 20px;
}
.dt-inner h2 .hl { font-size: inherit; }        /* 見出しは白ハイライト帯 */
.dt-inner .inline { text-decoration: underline; }

/* チェックリスト */
.check-list { list-style: none; margin-bottom: 22px; }
.check-list li { position: relative; padding: 12px 0 12px 34px; border-bottom: 1px solid var(--ink10); font-size: 15px; }
.check-list li::before { content: "✓"; position: absolute; left: 4px; top: 12px; font-family: var(--slab); font-weight: 900; }

/* 概要テーブル */
.info-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--ink); margin-bottom: 22px; }
.info-table th, .info-table td { text-align: left; padding: 16px 8px; border-bottom: 1px solid var(--ink20); font-size: 14px; vertical-align: top; }
.info-table th { width: 130px; font-family: var(--gothic-jp); font-weight: 700; color: var(--ink60); }

/* タイムテーブル */
.timetable { list-style: none; border-top: 1px solid var(--ink); margin-bottom: 22px; }
.timetable li { display: grid; grid-template-columns: 78px 1fr; gap: 16px; align-items: baseline; padding: 15px 4px; border-bottom: 1px solid var(--ink20); font-size: 14px; }
.timetable .t { font-family: var(--slab); font-weight: 700; font-size: 16px; }

/* 申込ボックス（濃色ベタボタン） */
.apply-box { border: 1px solid var(--ink); background: var(--white); padding: clamp(28px, 5vw, 44px); margin: clamp(40px, 6vw, 60px) 0; text-align: center; }
.apply-box h2 { margin: 0 0 22px; }
.apply-box .btnbar { max-width: 460px; margin: 0 auto; }
.apply-box .note { margin-top: 18px; font-size: 12px; color: var(--ink60); line-height: 1.8; }

.dt-foot-note { margin-top: clamp(40px, 6vw, 60px); font-size: 12.5px; color: var(--ink60); line-height: 1.9; }

/* レポート: 写真グリッド */
.photo-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; margin: 26px 0; }
.photo-grid figure { }
.photo-grid img { width: 100%; aspect-ratio: 4/3; object-fit: cover; }
.photo-grid figcaption { font-size: 11.5px; color: var(--ink60); padding: 8px 2px 0; font-family: var(--body-jp); }

/* レポート: 声（白ハイライト風の引用） */
.voice { border-left: 3px solid var(--ink); padding: 4px 0 4px 22px; margin: 22px 0; font-family: var(--gothic-jp); font-weight: 700; font-size: 17px; line-height: 1.7; }
.voice .who { display: block; margin-top: 10px; font-family: var(--body-jp); font-weight: 400; font-size: 12px; color: var(--ink60); }

/* 関連イベント / 締めCTA（濃色帯） */
.dt-related { text-align: center; background: var(--dark); color: var(--white); padding: clamp(50px, 8vw, 80px) var(--u, 24px); margin-top: clamp(50px, 8vw, 70px); }
.dt-related .sub { font-family: var(--slab); font-weight: 700; font-size: 12px; letter-spacing: .24em; text-transform: uppercase; color: rgba(255,255,255,.6); display: block; margin-bottom: 16px; }
.dt-related h2 { color: var(--white); font-family: var(--gothic-jp); font-weight: 800; font-size: clamp(1.4rem, 5vw, 2rem); margin: 0 0 26px; }
.dt-related .tbtn { background: var(--white); color: var(--ink); border-color: var(--white); }
.dt-related .tbtn:hover { background: transparent; color: var(--white); }

/* 提案注記（実サイト非表示） */
.proposal-note { margin-top: clamp(40px, 6vw, 60px); padding: 18px 20px; font-size: 12.5px; line-height: 1.9; background: var(--gray); border: 1px dashed var(--ink40); }

@media (min-width: 769px) {
  .photo-grid { gap: 16px; }
}
