@charset "UTF-8";
/* ==========================================================================
   CBC 出展申し込みページ（/entry/）
   - フォーマット（ヘッダー／フッター／ヒーロー／モバイルドロワー）は CBC 標準。
     about.css / access.css を土台に、アクセント色を「ピンク（暖色）」へ変更。
   - デザインカンプ（CBC_ENTRY.jpg／フェーズ1＝早割）を正としてレイアウト再現。
     掲載情報は設計書マスターを正とする。
   - 英字タイトル: Akshar / 本文: Zen Kaku Gothic New（Google Fonts）
   ========================================================================== */

#pageEntry {
  --cbc-ink: #333333;
  --cbc-ink-2: #4a4a4a;
  --cbc-muted: #9a9a9a;
  --cbc-line: #e2e2e2;
  --cbc-bg: #ffffff;
  --cbc-bg-soft: #f4f3f1;
  --cbc-yellow: #f5cf3d;
  --cbc-yellow-soft: #fbe79f;
  --cbc-teal: #56b0ac;
  --cbc-teal-soft: #cfe9e7;
  --cbc-pink: #e88b8b;
  --cbc-accent: #d23b2f;
  --cbc-footer: #3d3b39;
  --cbc-bar: #736f6b;
  --cbc-bar-dark: #6b6763;
  --cbc-link: #3f9c98;

  /* entry 拡張トークン（カンプ再現。恒常化する場合は STYLEGUIDE §2 に追記） */
  --cbc-pink-soft: #f7d6d1;   /* ヒーロー／CTA グラデーション中間色 */
  --cbc-coral: #ec9c92;       /* ヒーロー／CTA グラデーション終端色 */
  --cbc-pink-deep: #d9736f;   /* 早割強調・FLOW見出し・illumyカード枠 */
  --cbc-illumy: #4f7cc4;
  --cbc-priceTeal: #6fadbc;   /* 早割カードのヘッダー／10%OFFバッジ（カンプ実測の青緑ティール） */

  margin: 0;
  padding: 0;
  color: var(--cbc-ink);
  background: var(--cbc-bg);
  font-family: 'Zen Kaku Gothic New', -apple-system, 'Hiragino Kaku Gothic ProN', 'Noto Sans JP', sans-serif;
  font-size: 1.6rem;
  line-height: 1.75;
  -webkit-font-smoothing: antialiased;
}

#pageEntry *,
#pageEntry *::before,
#pageEntry *::after {
  box-sizing: border-box;
}

#pageEntry a {
  text-decoration: none;
}

/* ============ HERO＋補助リンク（出展セクション共通） ============ */
/* .entryHero / .entryQuickLink 系は common.css に集約（inc/entry_hero.php で共通利用）。 */

/* ============ 早割プロモ帯（フェーズ1） ============ */
/* カンプ計測: 帯高さ≒320px／左サージュ緑→右イエローの均等グラデ。
   コンテンツは「バッジ＋見出し」を上段、日付・カウントダウンをその下に左揃えで回り込ませる。 */
.entryPromo {
  background: linear-gradient(100deg, #cbe2d6 0%, #edf3ea 32%, #faf3db 58%, #f6e9ac 82%, #f2e08a 100%);
}
.entryPromoInner {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 16px;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
  padding: 44px 20px;
}
.entryPromoMain {
  display: flex;
  align-items: center;
  gap: 22px;
}
.entryPromoBadges {
  display: flex;
  align-items: center;
  gap: 12px;
  flex-shrink: 0;
}
.entryPromoBadge {
  display: block;
  width: 108px;
  height: 108px;
}
.entryPromoLead {
  margin: 0;
  font-size: 4.0rem;
  font-weight: 700;
  line-height: 1.22;
  color: var(--cbc-ink);
  letter-spacing: 0.01em;
}
.entryPromoDates {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 4px 30px;
  font-size: 2.0rem;
  font-weight: 700;
  color: var(--cbc-ink);
}
.entryPromoDateLabel {
  font-weight: 700;
}
/* カウントダウン（ダークバー・カンプ計測 ≒410×59px・矩形・中央寄せ・「締切まで」下寄せ） */
.entryCountdown {
  display: inline-flex;
  align-items: baseline;   /* 「締切まで」・単位・数字を同じベースライン＝日時の下辺に揃える */
  gap: 20px;               /* ラベルと日付の間隔を確保 */
  background: #3f3f3f;
  color: #ffffff;
  border-radius: 3px;
  padding: 16px 32px 8px;
  line-height: 1;
  font-weight: 700;
}
.entryCountdownLabel {
  font-size: 1.6rem;
  line-height: 1.3;        /* 「早割期間／締切まで」2行の行間 */
  align-self: center;      /* 2行ラベルを日付（数字）に対して縦中央に */
}
.entryCountdownTime {
  font-size: 2.4rem;
  letter-spacing: 0.01em;
}
.entryCountdownNum {
  font-family: 'Akshar', sans-serif;
  font-size: 5rem;
  font-weight: 600;
  line-height: 1;
  margin: 0 2px 0 8px;
}
.entryCountdownNum:first-child {
  margin-left: 0;
}
.entryCountdownEnded {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--cbc-ink);
}

/* ============ アンカーナビ（セレクト風） ============ */
.entryAnchorNav {
  background: var(--cbc-bg);
  border-bottom: 1px solid var(--cbc-line);
}
.entryAnchorNavInner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 24px 30px;
  display: flex;
  gap: 12px; /* ボタン間をわずかに詰めて各ボタンの実効幅を確保 */
}
.entryAnchorNav a {
  position: relative;
  flex: 1 1 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  /* 右パディングを広げ、長いラベル（エントリーフォーム等）でもテキストと三角(::after)が接触しないよう逃げを確保 */
  padding: 13px 32px 13px 16px;
  border: 1px solid #d5d5d5;
  border-radius: 8px;
  font-size: 1.6rem;
  font-weight: 700;
  white-space: nowrap;
  color: var(--cbc-ink);
  background: var(--cbc-bg);
  transition: color .2s, border-color .2s, background .2s;
}
.entryAnchorNav a::after {
  content: "";
  position: absolute;
  right: 12px;
  top: 50%;
  transform: translateY(-50%);
  width: 0;
  height: 0;
  border-left: 5.5px solid transparent;
  border-right: 5.5px solid transparent;
  border-top: 9.5px solid var(--cbc-ink);
  transition: transform .2s, border-top-color .2s;
}
/* ホバー装飾はマウス等ホバー可能デバイスのみ（タッチでのスティッキーホバー＝タップ後の色残りを防ぐ） */
@media (hover: hover) {
  .entryAnchorNav a:hover {
    color: var(--cbc-teal);
    border-color: var(--cbc-teal);
    background: #f3faf9;
  }
  .entryAnchorNav a:hover::after {
    transform: translateY(-50%) translateY(2px);
    border-top-color: var(--cbc-teal);
  }
}

/* ============ 共通コンテナ ============ */
.entryInner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 30px;
}

/* ============ セクション見出し（英字大＋和文サブ・ティール） ============ */
.entrySectionHead {
  text-align: center;
  margin: 0 0 40px;
}
/* 英字見出しは Akshar。サイト共通のセクション見出しを TOP(.topSectionTitle) に統一（weight500・字間0.06em・英字48px/SP32px） */
.entrySectionTitle {
  font-family: 'Akshar', sans-serif;
  font-weight: 500;
  font-size: 4.8rem;
  line-height: 1.1;
  letter-spacing: 0.06em;
  color: var(--cbc-ink);
  margin: 0;
}
.entrySectionSub {
  margin: 8px 0 0;
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  color: var(--cbc-teal);
}

/* アンカーは entry_top.js の独自スクロール（ease-out）で見出しIDへ移動。
   scroll-margin-top はJS未読込時のフォールバック（標準ハッシュ遷移）用にヘッダー分を確保。 */
#overview, #price, #booth, #boothImage, #flow, #entryForm {
  scroll-margin-top: 96px;
}

/* ============ 共通テーブル ============ */
.entryTable {
  width: 100%;
  max-width: 940px;
  margin: 0 auto;
  border-collapse: collapse;
  border-spacing: 0;
  border: 1px solid var(--cbc-line);
  background: #ffffff;
  font-size: 1.6rem;
  line-height: 1.7;
}
.entryTable th,
.entryTable td {
  border: 1px solid var(--cbc-line);
  text-align: left;
  vertical-align: top;
}
.entryTable th {
  width: 200px;
  padding: 16px 22px;
  background: var(--cbc-bar);
  color: #ffffff;
  font-weight: 700;
  vertical-align: middle;
}
.entryTable td {
  padding: 16px 22px;
  background: #ffffff;
  color: var(--cbc-ink);
  font-weight: 500;
}
.entryDotList {
  list-style: none;
  margin: 0;
  padding: 0;
}
.entryDotList li {
  position: relative;
  padding-left: 16px;
}
.entryDotList li::before {
  content: "・";
  position: absolute;
  left: -2px;
  color: var(--cbc-ink);
}
.entryPeriodGroup {
  margin: 0 0 4px;
}
.entryPeriodGroup:not(:first-child) {
  margin-top: 18px;
}
.entryPeriodLine {
  margin: 0 0 6px;
}
.entryPeriodKey {
  font-weight: 700;
}
.entryPeriodNotes {
  list-style: none;
  margin: 4px 0 0;
  padding: 0;
}
.entryPeriodNotes li {
  position: relative;
  padding-left: 16px;
  font-size: 1.4rem;
  color: var(--cbc-ink-2);
}
.entryPeriodNotes li::before {
  content: "※";
  position: absolute;
  left: 0;
}
.entryPayHead {
  margin: 14px 0 4px;
  font-weight: 700;
}
.entryPayNotes {
  list-style: none;
  margin: 6px 0 0;
  padding: 0;
}
.entryPayNotes li {
  position: relative;
  padding-left: 16px;
  font-size: 1.4rem;
  line-height: 1.75;
  color: var(--cbc-ink-2);
}
.entryPayNotes li::before {
  content: "※";
  position: absolute;
  left: 0;
}
.entryTableNote {
  display: block;
  margin-top: 4px;
  font-size: 1.4rem;
  color: var(--cbc-ink-2);
}

/* ============ ① OVERVIEW ============ */
.entryOverview {
  background: var(--cbc-bg-soft);
  padding: 56px 0 54px;
}

/* ============ ② PRICE ============ */
/* PRICE の背景は OVERVIEW と同じ薄グレー（カンプ準拠） */
.entryPrice {
  background: var(--cbc-bg-soft);
  padding: 50px 0 54px;
}
.entryPriceCards {
  max-width: 600px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  gap: 26px;
}
/* 早割／一般カードは白・角丸なし（カンプ準拠） */
.entryPriceCard {
  border-radius: 0;
  overflow: hidden;
  border: 1px solid var(--cbc-line);
  background: #ffffff;
}
.entryPriceCardHead {
  margin: 0;
  padding: 13px 24px;
  color: #ffffff;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.1;
  text-align: center;
  letter-spacing: 0.02em;
}
.entryPriceCardBody {
  padding: 26px 18px 28px;
  text-align: center;
}
.entryPriceCard--early .entryPriceCardHead {
  background: var(--cbc-priceTeal);
}
.entryPriceCard--normal .entryPriceCardHead {
  background: var(--cbc-footer);
}
/* 料金行（割引バッジ＋金額＋税表記を横並び） */
.entryPriceRow {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-wrap: wrap;
  gap: 8px;
  margin: 0;
}
/* illumy登録割の料金行：PCは「さらに10%OFFで」を独立行、以下を1行に */
.entryPriceIllumyInner .entryPriceRow {
  flex-wrap: wrap;
  justify-content: center; /* 「さらに〜(税込)」の中心を赤枠中央に揃える */
  gap: 6px;
}
/* SP専用の改行要素（バッジと価格の間・PCでは無効） */
.entryPriceRowBreak {
  display: none;
}
.entryPriceOffBox {
  align-self: center;
  display: inline-flex;
  align-items: baseline;
  padding: 6px 12px;
  border-radius: 6px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1;
  color: #ffffff;
}
.entryPriceOffBox span {
  font-size: 1.4rem;
  margin-left: 1px;
}
.entryPriceOffBox--teal {
  background: var(--cbc-priceTeal);
}
.entryPriceOffBox--pink {
  background: var(--cbc-pink-deep);
}
.entryPriceOffBox--gray {
  background: #e4e2df;
  color: var(--cbc-ink-2);
  font-size: 2.0rem;
  padding: 6px 16px;
}
.entryPriceOffLead {
  align-self: center;
  font-size: 1.4rem;
  font-weight: 500;
  color: var(--cbc-ink);
  white-space: nowrap;
}
/* illumy登録割の行を1行に収めるための微調整 */
/* 合計20%OFF はカンプでは「20%OFF」が大きく「合計」は相対的に小さい */
.entryPriceIllumyInner .entryPriceOffBox--pink {
  font-size: 2.4rem;
  padding: 10px 12px;
  position: relative;
  top: 8px; /* ¥66,000の墨面中心に合わせて下方向へ微調整 */
}
.entryPriceIllumyInner .entryPriceOffBox--pink .entryPriceGoukei {
  font-size: 1.6rem;
  margin: 0 2px 0 0;
}
/* 10%OFF・通常価格バッジを数字（字面）の縦中央に合わせて下げる（ピンク枠 top:8px と同処理） */
.entryPriceOffBox--teal,
.entryPriceOffBox--gray {
  position: relative;
  top: 8px;
}
.entryPriceIllumyInner .entryPriceTax {
  font-size: 1.6rem;
  font-weight: 700;
  white-space: nowrap;
}
.entryPriceOffLead b {
  font-weight: 700;
}
/* 価格はカンプ準拠でゴシック体（Zen Kaku Gothic New）Bold */
.entryPriceAmount {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 4.8rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: -0.01em;
  color: var(--cbc-ink);
}
.entryPriceAmount--best {
  font-size: 4.8rem;
  color: var(--cbc-ink);
}
.entryPriceTax {
  align-self: flex-end;
  line-height: 1;
  margin-bottom: 5px;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--cbc-ink-2);
}
.entryPriceDeadline {
  margin: 18px 0 0;
  padding-top: 18px;
  border-top: 1px solid var(--cbc-line);
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  color: var(--cbc-ink);
}
.entryPriceDeadlineLabel {
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1;
  color: var(--cbc-ink-2);
}
.entryPriceDeadlineDate {
  font-family: 'Zen Kaku Gothic New', sans-serif;
  font-size: 3.2rem;
  font-weight: 700;
  line-height: 1;
  letter-spacing: 0.01em;
}
/* 日付内の曜日（(日)/(月)）のみ小さめ（24px）に */
.entryPriceDeadlineDow { font-size: 2.4rem; }
/* illumy登録割の価格ブロックは左寄せの1かたまり（中央配置） */
.entryPriceBestRow {
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 0 auto;
}
/* さらに10%OFF（合計20%OFFボックスの上・中央寄せ） */
.entryPriceSubOff {
  flex-basis: 100%; /* PCでは独立行（＝price行の1段目）／SPでauto */
  margin: 0;
  text-align: center;
  font-size: 1.6rem;
  font-weight: 500;
  line-height: 1;
  color: var(--cbc-ink);
}
.entryPriceSubOff b {
  font-size: 2.0rem;
  font-weight: 700;
  margin-left: 6px;
}
/* 早割 × illumy biz 登録割（早割カード内のピンク枠ボックス・角丸） */
/* ピンク枠は角丸なし・線は太め・内側は白（スクショ箇所だけグレー）
   枠のピンクは明るめ（カンプ実測 #dd7782） */
.entryPriceIllumyInner {
  position: relative;
  margin: 42px auto 4px;
  border: 3px solid #dd7782;
  background: #ffffff;
  border-radius: 0;
  padding: 30px 20px 30px;
}
.entryPricePlusMark {
  position: absolute;
  top: 0;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 44px;
  height: 44px;
  border-radius: 50%;
  background: #dd7782;
  color: #ffffff;
  font-size: 2.0rem;
  font-weight: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  z-index: 1;
}
.entryPriceInnerTitle {
  margin: 0 0 18px;
  text-align: center;
  color: var(--cbc-pink-deep);
  font-size: 3.2rem;
  font-weight: 700;
}
/* 条件box：金色・内容を中央寄せ（幅は内容に合わせて中央配置） */
.entryPriceCond {
  display: flex;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  max-width: 100%;
  margin: 22px auto 0;
  background: #f6d258;
  border-radius: 8px;
  overflow: hidden;
  text-align: left;
}
.entryPriceCondLabel {
  flex-shrink: 0;
  display: flex;
  align-items: center;
  padding: 0 16px;
  font-size: 1.4rem;
  font-weight: 700;
  color: var(--cbc-ink);
}
.entryPriceCondList {
  list-style: none;
  margin: 0;
  padding: 12px 18px 12px 0;
}
.entryPriceCondList li {
  position: relative;
  padding-left: 14px;
  font-size: 1.4rem;
  font-weight: 700;
  line-height: 1.75;
  color: var(--cbc-ink);
}
.entryPriceCondList li::before {
  content: "・";
  position: absolute;
  left: -2px;
}
/* illumy biz 情報の薄グレーボックス（カンプ準拠・bg #f7f7f7） */
.entryIllumyBox {
  margin: 24px auto 0;
  background: #f7f7f7;
  border-radius: 10px;
  padding: 26px 24px 30px;
  text-align: center;
}
.entryPriceIllumy {
  margin: 0 auto;
  max-width: 100%;
}
.entryPriceIllumy img {
  display: block;
  width: 100%;
  height: auto;
}
.entryPriceIllumyLogo {
  display: block;
  height: 42px;
  width: auto;
  margin: 20px auto 14px;
}
.entryPriceIllumyText {
  margin: 0 0 22px;
  font-size: 1.6rem;
  line-height: 1.9;
  color: var(--cbc-ink);
  text-align: left;
}

/* ============ 共通ボタン ============ */
.entryBtn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  font-weight: 700;
  border-radius: 999px;
  transition: opacity .2s, background .2s, color .2s;
}
.entryBtn--dark {
  background: var(--cbc-footer);
  color: #ffffff;
  font-size: 1.6rem;
  min-width: 350px;
  padding: 10px 40px;
}
.entryBtn--dark:hover {
  opacity: .85;
}
.entryBtn--cta {
  background: var(--cbc-footer);
  color: #ffffff;
  font-size: 1.6rem;
  padding: 20px 64px;
  box-shadow: 0 14px 32px rgba(51, 51, 51, .22);
}
.entryBtn--cta:hover {
  opacity: .88;
}
.entryBtnPlay {
  font-size: 1.4rem;
}

/* ============ ③ BOOTH / ブース仕様 ============ */
.entryBooth {
  background: var(--cbc-bg-soft);
  padding: 50px 0 54px;
}
.entryBoothFigs {
  display: flex;
  gap: 28px;
  align-items: stretch;
  justify-content: center;
  margin: 0 auto 40px;
  max-width: 940px;
}
.entryBoothFig {
  flex: 1 1 50%;
  min-width: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  background: #ffffff;
  border: 1px solid var(--cbc-line);
  border-radius: 12px;
  overflow: hidden;
}
.entryBoothFigTitle {
  padding: 14px 20px;
  border-bottom: 1px solid var(--cbc-line);
  text-align: center;
  font-size: 1.6rem;
  font-weight: 700;
  color: var(--cbc-ink);
}
.entryBoothFigImg {
  flex: 1;
  display: flex;
  align-items: flex-end;
  justify-content: center;
  padding: 24px 24px 20px;
}
.entryBoothFig img {
  display: block;
  max-width: 100%;
  max-height: 280px;
  width: auto;
  height: auto;
}
.entryBoothTable {
  max-width: 940px;
}
/* オプション（カードなし・センター配置） */
.entryOption {
  max-width: 940px;
  margin: 44px auto 0;
  text-align: center;
}
.entryOptionLead {
  margin: 0 0 22px;
  font-size: 1.6rem;
  line-height: 1.85;
  color: var(--cbc-ink);
}
/* 出展当日のイメージ（カード） */
.entryBoothImageCard {
  max-width: 940px;
  margin: 56px auto 0;
  background: #ffffff;
  border: 1px solid var(--cbc-line);
  border-radius: 16px;
  padding: 44px 48px 48px;
  box-shadow: 0 12px 36px rgba(51, 51, 51, .05);
}
.entryBoothImageTitle {
  text-align: center;
  margin: 0 0 22px;
  font-size: 2.0rem;
  font-weight: 700;
  color: var(--cbc-teal);
}
.entryBoothImageLead {
  margin: 0 0 30px;
  font-size: 1.6rem;
  line-height: 2;
  font-weight: 500;
  color: var(--cbc-ink);
}
.entryBoothImageFig {
  margin: 0;
}
.entryBoothImageFig img {
  display: block;
  width: 100%;
  height: auto;
  max-width: 800px;
  margin: 0 auto;
}

/* ============ ④ FLOW / 出展までの流れ ============ */
.entryFlow {
  background: var(--cbc-bg);
  padding: 50px 0 54px;
}
.entryFlowList {
  list-style: none;
  max-width: 800px;
  margin: 0 auto;
  padding: 0;
  position: relative;
}
.entryFlowStep {
  position: relative;
  display: flex;
  align-items: flex-start;
  gap: 28px;
  padding-bottom: 36px;
}
.entryFlowStep:last-child {
  padding-bottom: 0;
}
.entryFlowStep:not(:last-child)::before {
  content: "";
  position: absolute;
  left: 32px;
  top: 66px;
  bottom: -4px;
  width: 2px;
  background: var(--cbc-line);
}
.entryFlowIcon {
  position: relative;
  z-index: 1;
  flex-shrink: 0;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 66px;
  height: 66px;
  border-radius: 50%;
  background: var(--cbc-footer);
}
.entryFlowIcon img {
  display: block;
  width: 66px;
  height: 66px;
}
.entryFlowBody {
  padding-top: 6px;
  min-width: 0;
}
.entryFlowStepTitle {
  margin: 0 0 8px;
  font-size: 2.0rem;
  font-weight: 700;
  line-height: 1.4;
  color: var(--cbc-pink-deep);
}
.entryFlowStepText {
  margin: 0;
  font-size: 1.6rem;
  line-height: 1.85;
  color: var(--cbc-ink-2);
}

/* ============ ⑤ ENTRY（CTA） ============ */
.entryCta {
  background: linear-gradient(100deg, #dce9ea 0%, #f1e2df 48%, #eeb7b1 100%);
  padding: 76px 0 84px;
}
.entryCtaInner {
  text-align: center;
}
.entryCtaLead {
  max-width: 760px;
  margin: 0 auto 26px;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.9;
  color: var(--cbc-ink);
  word-break: normal;
}
.entryCtaSchedule {
  display: inline-block;
  margin: 0 auto 26px;
  padding: 18px 40px;
  background: var(--cbc-yellow);
  border-radius: 4px;
  text-align: left;
}
.entryCtaSchedule p {
  margin: 0;
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.7;
  color: var(--cbc-ink);
}
.entryCtaScheduleKey {
  display: inline-block;
  min-width: 12em;
}
.entryCtaScheduleSep {
  margin: 0 2px;
}
.entryCtaMailNotes {
  max-width: 940px;
  margin: 0 auto 34px;
  padding: 0;
  list-style: none;
  text-align: left;
}
.entryCtaMailNotes li {
  position: relative;
  padding-left: 18px;
  font-size: 1.4rem;
  line-height: 1.85;
  color: var(--cbc-ink-2);
}
.entryCtaMailNotes li + li {
  margin-top: 8px;
}
.entryCtaMailNotes li::before {
  content: "・";
  position: absolute;
  left: 0;
}

/* ============ タブレット（〜959px）============ */
@media screen and (max-width: 959px) {
  .entryInner {
    max-width: 720px;
  }
  .entryAnchorNavInner {
    flex-wrap: wrap;
  }
  .entryAnchorNav a {
    flex: 1 1 40%;
  }
  .entryPromoLead {
    font-size: 2.4rem;
  }
}

/* ============ レスポンシブ（〜767px）============ */
@media screen and (max-width: 767px) {
  #pageEntry {
    font-size: 1.4rem;
  }

  /* ヒーロー・補助リンクのSP調整は common.css に集約 */

  /* プロモ帯 */
  .entryPromoInner {
    align-items: center;
    gap: 16px;
    text-align: center;
    padding-top: 36px;
    padding-bottom: 36px;
  }
  .entryPromoMain {
    flex-direction: row;
    align-items: center;
    justify-content: center;
    gap: 12px;
  }
  .entryPromoBadge {
    width: 68px;
    height: 68px;
  }
  .entryPromoLead {
    font-size: 2.4rem;
    text-align: left;
  }
  .entryPromoDates {
    flex-direction: column;
    gap: 2px;
    align-items: center;
    font-size: 1.4rem;
  }
  .entryCountdown {
    /* SPは2行ラベルと数字の縦中心を合わせる（上下対称パディング＋中央揃え） */
    align-items: center;
    padding: 9px 18px;
    gap: 14px;
  }
  .entryCountdownLabel {
    font-size: 1.4rem;
  }
  .entryCountdownTime {
    font-size: 2.0rem;
  }
  .entryCountdownNum {
    font-size: 3.2rem;
    margin: 0 1px 0 6px;
  }

  /* アンカーナビ：SPは折り返して全5項目を表示。
     6列グリッドを土台に、上段3項目は各2列（＝3等分）、
     下段2項目は各3列（＝2等分で横幅を広く）取り、「エントリーフォーム」も収める */
  .entryAnchorNavInner {
    display: grid;
    grid-template-columns: repeat(6, 1fr);
    padding: 20px 12px;
    gap: 8px;
  }
  .entryAnchorNav a {
    grid-column: span 2; /* 上段3項目: 6列を2列ずつ */
    padding: 9px 20px 9px 12px; /* 右側は▼の分の余白を確保 */
    font-size: 1.6rem;
  }
  /* 下段2項目（出展までの流れ・エントリーフォーム）は幅を広げて2等分 */
  .entryAnchorNav a:nth-child(4),
  .entryAnchorNav a:nth-child(5) {
    grid-column: span 3;
  }
  /* SPはヘッダーが低い（約74px）ため、見出しへのアンカーオフセットを縮める */
  #overview, #price, #booth, #boothImage, #flow, #entryForm {
    scroll-margin-top: 86px;
  }
  /* 幅が広がったのでSPでも▼を表示。16px化で文字が長くなったため▼を右端寄せにして重なりを回避 */
  .entryAnchorNav a::after {
    right: 4px;
  }

  /* 共通コンテナのガター */
  .entryInner {
    max-width: none;
    padding: 0 16px;
  }

  .entrySectionHead {
    margin: 0 0 28px;
  }
  .entrySectionTitle {
    /* TOP(.topSectionTitle)のSPサイズに統一 */
    font-size: 3.2rem;
  }
  .entrySectionSub {
    font-size: 1.4rem;
  }

  .entryOverview {
    padding: 40px 0 40px;
  }
  .entryPrice {
    padding: 38px 0 40px;
  }
  .entryBooth {
    padding: 38px 0 40px;
  }
  .entryFlow {
    padding: 38px 0 40px;
  }

  /* テーブル：縦積み */
  .entryTable {
    font-size: 1.4rem;
  }
  .entryTable th,
  .entryTable td {
    display: block;
    width: 100%;
    border-bottom: 0;
  }
  .entryTable tr:last-child td {
    border-bottom: 1px solid var(--cbc-line);
  }
  .entryTable th {
    padding: 11px 16px;
  }
  .entryTable td {
    padding: 13px 16px;
  }

  /* 料金カード */
  .entryPriceCardBody {
    padding: 22px 20px 26px;
  }
  /* SPは「早割 ／ 100ブース限定・抽選制」を2行・中央寄せに（「：」を隠し条件部を改行） */
  .entryPriceCardHead {
    font-size: 2rem;
    padding: 12px 12px;
    line-height: 1.3;
  }
  .entryPriceCardHeadSep { display: none; }
  .entryPriceCardHeadCond { display: block; }
  /* 価格行はSPでも1行に収める（税表記を折り返さない） */
  .entryPriceRow {
    flex-wrap: nowrap;
    gap: 6px;
  }
  .entryPriceAmount {
    font-size: 3.2rem;
  }
  .entryPriceTax {
    flex: 0 0 auto;
    font-size: 1.4rem;
  }
  .entryPriceOffBox--gray {
    font-size: 1.6rem;
    padding: 5px 8px;
  }
  /* SPは数字が30pxになるため字面中央補正を5pxに縮小（48px時の8px→30px時の5px） */
  .entryPriceOffBox--teal,
  .entryPriceOffBox--gray {
    top: 5px;
  }
  /* illumy登録割：SPは「さらに10%OFFで 合計20%OFF」を1行目、¥66,000＋税を2行目に（中央寄せ） */
  .entryPriceIllumyInner {
    padding: 26px 8px;
  }
  /* 「早割 × illumy biz 登録割」をSPで1行に収める（フォント縮小＋左右paddingを詰めて幅確保） */
  .entryPriceInnerTitle {
    font-size: 2.4rem;
  }
  .entryPriceBestRow {
    width: 100%;
  }
  .entryPriceSubOff {
    flex-basis: auto; /* SPはバッジと同じ行に並べる */
  }
  .entryPriceIllumyInner .entryPriceRow {
    flex-wrap: wrap;
    justify-content: center;
  }
  .entryPriceRowBreak {
    display: block;
    flex-basis: 100%;
    height: 0;
  }
  .entryPriceIllumyInner .entryPriceTax {
    flex: 0 0 auto;
  }
  .entryPriceIllumyInner .entryPriceOffBox--pink {
    font-size: 2rem;
    padding: 6px 10px;
    top: 0;
  }
  .entryPriceIllumyInner .entryPriceOffBox--pink .entryPriceGoukei {
    font-size: 1.4rem;
  }
  /* SPは「エントリー期間」を1行目、日付を2行目に縦積み */
  .entryPriceDeadline {
    font-size: 1.6rem;
    flex-direction: column;
    gap: 4px;
    margin-top: 26px;
  }
  /* SPも日付・曜日・「まで」はデスクトップと同サイズ（日付32px・曜日24px・まで32px＝基準値を継承）。日付は1行維持 */
  .entryPriceDeadlineDate {
    white-space: nowrap;
  }
  .entryPriceCond {
    flex-direction: column;
  }
  .entryPriceCondLabel {
    padding: 8px 16px 0;
  }
  .entryPriceCondList {
    padding: 6px 16px 12px;
  }

  /* ブース図：縦積み */
  .entryBoothFigs {
    flex-direction: column;
    gap: 18px;
  }
  .entryBoothFig img {
    max-height: 260px;
  }

  /* 当日イメージ */
  .entryBoothImageCard {
    padding: 28px 20px 30px;
    border-radius: 12px;
  }
  .entryBoothImageTitle {
    font-size: 1.6rem;
  }
  .entryBoothImageLead {
    font-size: 1.4rem;
    line-height: 1.95;
    text-align: left;
  }
  /* オプションのリード文はSPで左寄せ・改行なし（2文を続けて折り返す） */
  .entryOptionLead {
    text-align: left;
  }
  .entryOptionLeadBr {
    display: none;
  }

  /* フロー */
  .entryFlowStep {
    gap: 18px;
    padding-bottom: 28px;
  }
  .entryFlowStep:not(:last-child)::before {
    left: 25px;
    top: 56px;
  }
  .entryFlowIcon {
    width: 52px;
    height: 52px;
  }
  .entryFlowIcon img {
    width: 52px;
    height: 52px;
  }
  .entryFlowStepTitle {
    font-size: 1.6rem;
  }
  .entryFlowStepText {
    font-size: 1.4rem;
  }

  /* CTA */
  .entryCta {
    padding: 52px 0 58px;
  }
  .entryCtaLead {
    font-size: 1.4rem;
    text-align: left;
  }
  .entryCtaSchedule {
    display: block;
    padding: 14px 12px;
    text-align: center;
  }
  .entryCtaSchedule p {
    font-size: 1.4rem;
    white-space: nowrap;
  }
  .entryCtaScheduleKey {
    min-width: 0;
    display: inline;
  }
  .entryBtn--cta {
    font-size: 1.6rem;
    padding: 17px 40px;
    width: 100%;
    max-width: 380px;
  }
  /* ダークボタン（詳細はこちら／オプション詳細）はSPで枠内に収める */
  .entryBtn--dark {
    min-width: 0;
    width: 100%;
  }
}
