@charset "UTF-8";
/* 来場者注意事項（page-caution.php 専用・2026-10-23） */
.p-caution {
  --cau-navy: #101A2E;
  --cau-gold: #E5D3A1;
  --cau-gold-d: #C9A961;
  --cau-white: #fff;
  background: var(--cau-navy);
  color: var(--cau-white);
  overflow-x: clip;
  font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
}
.p-caution .cau-time { color: var(--cau-gold); font-weight: 700; }

/* 冒頭 */
.cau-intro { position: relative; z-index: 2; width: min(1000px, 100%); margin: 0 auto; padding: 80px 20px 72px; text-align: center; }
.cau-intro_date { font-size: 19px; font-weight: 500; line-height: 1.8; color: var(--cau-gold); margin-bottom: 36px; }
.cau-pills { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; width: min(960px, 100%); margin: 0 auto 28px; }
.cau-pills a { position: relative; overflow: hidden; display: flex; align-items: center; gap: 8px; height: 100%; padding: 15px 36px 15px 18px; border-radius: 12px; white-space: nowrap; font-size: 15px; background: rgba(255,255,255,.08); color: #fff; font-size: 14px; font-weight: 500; line-height: 1.4; text-align: left; transition: background .3s, color .3s, box-shadow .35s, transform .35s; }
.cau-pills .cau-ico { flex: 0 0 22px; width: 22px; height: 22px; }
.cau-pills a::before { content: ""; position: absolute; right: 16px; top: 50%; width: 6px; height: 6px; margin-top: -5px; border-right: 1.5px solid var(--cau-gold); border-bottom: 1.5px solid var(--cau-gold); transform: rotate(45deg); }
/* 選んだボタンがキランと光る：金の縁が光る＋光の筋が1回流れる */
.cau-pills a::after { content: ""; position: absolute; top: 0; left: -70%; width: 45%; height: 100%; background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,246,214,.7) 50%, rgba(255,255,255,0) 100%); transform: skewX(-20deg); opacity: 0; pointer-events: none; }
.cau-pills a:hover, .cau-pills a:focus-visible, .cau-pills a:active, .cau-pills a.is-current { background: rgba(229,211,161,.14); color: var(--cau-gold); box-shadow: inset 0 0 0 1.5px var(--cau-gold), 0 0 14px rgba(229,211,161,.55), 0 0 30px rgba(229,211,161,.22); transform: translateY(-2px); outline: none; }
.cau-pills a:hover::after, .cau-pills a:focus-visible::after, .cau-pills a.is-kiran::after { animation: cau-kiran .7s ease-out; }
@keyframes cau-kiran { 0% { left: -70%; opacity: 1; } 100% { left: 130%; opacity: 1; } }
.cau-vipbtn { position: relative; overflow: hidden; display: inline-flex; align-items: center; gap: 14px; padding: 16px 40px; border-radius: 999px; background: var(--cau-gold-d); color: var(--cau-navy); font-size: 17px; font-weight: 700; transition: filter .3s; }
.cau-vipbtn:hover { filter: brightness(1.08); }
.cau-vipbtn_tag { font-size: 15px; letter-spacing: .12em; }
/* キラッと光が流れる */
.cau-vipbtn::after { content: ""; position: absolute; top: 0; left: -60%; width: 40%; height: 100%; background: linear-gradient(100deg, rgba(255,255,255,0) 0%, rgba(255,255,255,.55) 50%, rgba(255,255,255,0) 100%); transform: skewX(-20deg); animation: cau-shine 4.5s ease-in-out infinite; }
@keyframes cau-shine { 0%, 60% { left: -60%; } 85%, 100% { left: 130%; } }

/* セクション共通 */
.cau-sec { padding: 72px 20px; scroll-margin-top: 70px; }
.cau-sec > * { width: min(900px, 100%); margin-left: auto; margin-right: auto; }
.cau-sec.is-tint { background: rgba(255,255,255,.06); }
.cau-sec.is-gold { background: rgba(201,169,97,.14); }
.cau-sec + .cau-sec.is-tint, .cau-sec.is-tint + .cau-sec, .cau-sec.is-gold + .cau-sec, .cau-sec + .cau-sec.is-gold { margin-top: 0; }
.cau-ttl { text-align: center; margin-bottom: 36px; }
.cau-sec { position: relative; }
.cau-ttl { position: relative; }
.cau-burst { display: block; width: 112px; height: 112px; margin: 0 auto 16px; pointer-events: none; }
.cau-burst svg { display: block; width: 100%; height: 100%; overflow: visible; }
/* 花火が広がる：中心から回転しながら。中心→内側の輪→外側の輪の順 */
.cau-burst .fw { transform-origin: 24px 24px; opacity: 0; }
.cau-burst.is-open .fw { animation: cau-explode 1.2s cubic-bezier(.22,1,.36,1) forwards; }
.cau-burst.is-open .r0 { animation-duration: .4s; }
.cau-burst.is-open .r1 { animation-duration: .6s; animation-delay: .05s; }
.cau-burst.is-open .r2 { animation-duration: .8s; animation-delay: .1s; }
.cau-burst.is-open .r3 { animation-duration: 1s; animation-delay: .15s; }
.cau-burst.is-open .r4 { animation-duration: 1.2s; animation-delay: .2s; }
/* スクロールでふわっと表示（JSが .cau-fade を付けたものだけ） */
.cau-fade { opacity: 0; transform: translateY(24px); transition: opacity .8s ease-out, transform .8s cubic-bezier(.22,1,.36,1); }
.cau-fade.is-in { opacity: 1; transform: none; }
@keyframes cau-explode { 0% { opacity: 0; transform: scale(0) rotate(-180deg); } 30% { opacity: 1; } 100% { opacity: 1; transform: scale(1) rotate(0); } }
.cau-ttl_jp { font-size: 26px; font-weight: 700; line-height: 1.5; color: #fff; margin-bottom: 10px; }
.cau-ttl_en { display: flex; align-items: center; gap: 18px; color: var(--cau-gold); font-size: 15px; font-weight: 700; letter-spacing: .2em; }
.cau-ttl_en::before, .cau-ttl_en::after { content: ""; flex: 1; height: 1px; background: rgba(229,211,161,.6); }
.cau-lead { text-align: center; color: var(--cau-gold); font-size: 20px; font-weight: 700; line-height: 1.7; margin-bottom: 36px; }
.cau-center { text-align: center; font-size: 15px; line-height: 1.9; margin: 32px auto 16px; }
.cau-note { font-size: 12px; line-height: 1.7; color: rgba(255,255,255,.65); margin-top: 16px; }
.cau-note--center { text-align: center; }

/* 地図 */
.cau-map { margin-top: 0; margin-bottom: 28px; }
.cau-map img { display: block; width: min(720px, 100%); height: auto; margin: 0 auto; border-radius: 6px; }
.cau-map figcaption { text-align: center; font-size: 13px; color: rgba(255,255,255,.8); margin-top: 12px; }
.cau-map + .cau-btn { margin-top: 0; margin-bottom: 36px; }

/* リスト */
.cau-list { margin-top: 28px; }
.cau-list li { position: relative; padding-left: 1.1em; font-size: 15px; line-height: 1.85; margin-bottom: 6px; }
.cau-list li::before { content: "・"; position: absolute; left: 0; }
.cau-sublist { margin-top: 4px; }
.cau-sublist li { margin-bottom: 2px; }
.cau-sublist li::before { content: "－"; color: #D4AF37; }
.cau-notes { margin-top: 28px; }
.cau-notes .cau-list { margin-top: 6px; }
.cau-notes_lead { font-size: 15px; line-height: 1.85; }
.cau-notes_ttl { margin-top: 22px; padding-left: 12px; border-left: 3px solid #D4AF37; font-size: 16px; font-weight: 700; line-height: 1.5; }
.cau-panel { background: rgba(16,26,46,.65); border-radius: 10px; padding: 20px 28px; }
.cau-panel li { font-size: 14px; margin-bottom: 2px; color: rgba(255,255,255,.88); }

/* 当日の流れ */
.cau-sec--flow { padding-top: 0; }
.cau-flow_ttl { text-align: center; font-size: 20px; font-weight: 700; margin-bottom: 20px; }
/* 当日の留意事項：公園内／公園外の2グループ（10/26） */
.cau-tl { display: flex; gap: 24px; width: min(1240px, 100%); margin: 0 auto; }
.cau-tl_grp { min-width: 0; }
.cau-tl_grp--in { flex: 5; }
.cau-tl_grp--out { flex: 2; }
.cau-tl_ttl { display: flex; align-items: center; justify-content: center; gap: 8px; margin-bottom: 10px; padding: 7px 12px; border-radius: 999px; font-size: 15px; font-weight: 700; color: var(--cau-gold); background: rgba(229,211,161,.14); }
.cau-tl_grp--out .cau-tl_ttl { color: #fff; background: rgba(61,127,217,.35); }
.cau-tl_ttl .cau-ico { width: 20px; height: 20px; flex: 0 0 20px; }
.cau-tl_grp--out .cau-tl_ttl .cau-ico { stroke: #fff; }
.cau-tl_grp--out .cau-timeline li { background: rgba(61,127,217,.16); }
.cau-tl_grp--in .cau-timeline { grid-template-columns: repeat(5, minmax(0, 1fr)); }
.cau-tl_grp--out .cau-timeline { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.cau-sec--flow .cau-note { width: min(1240px, 100%); margin-left: auto; margin-right: auto; text-align: center; }
/* ご来園の注意事項：チケットの有無で区分（10/26） */
.cau-cat { display: block; width: fit-content; margin: 56px auto 24px; padding: 10px 36px; border-radius: 999px; font-size: 20px; font-weight: 700; letter-spacing: .06em; }
.cau-cat--have { background: var(--cau-gold); color: #10192E; }
.cau-cat--none { background: #E3337E; color: #fff; }
.cau-ng + .cau-cat { margin-top: 0; }
.cau-timeline { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: 10px; }
.cau-timeline li { background: rgba(255,255,255,.07); border-radius: 8px; padding: 22px 12px; text-align: center; }
.cau-timeline b { display: block; color: var(--cau-gold); font-size: 30px; font-weight: 700; line-height: 1.2; margin-bottom: 8px; }
.cau-timeline span { display: block; font-size: 13px; font-weight: 500; line-height: 1.6; }
.cau-sec--flow .cau-note { text-align: center; }
/* 規制の時刻はマップへのリンク（10/26） */
.cau-timeline li.is-link { padding: 0; background: rgba(229,211,161,.16); transition: background .3s; }
.cau-timeline li.is-link:hover { background: rgba(229,211,161,.28); }
.cau-timeline li.is-link a { display: block; height: 100%; padding: 22px 6px 14px; color: inherit; text-decoration: none; }
.cau-timeline_more { display: block; font-style: normal; font-size: 11px; font-weight: 700; color: var(--cau-gold); margin-top: 8px; letter-spacing: .04em; }
@media screen and (min-width: 1300px) {
  .cau-timeline li { padding: 22px 4px; }
  .cau-timeline span { font-size: 12px; white-space: nowrap; }
}
/* 7枚が横に入りきらない幅（769〜1299px）は、中央寄せの縦リストにする（10/26） */
@media screen and (min-width: 769px) and (max-width: 1299px) {
  .cau-tl { flex-direction: column; gap: 20px; width: min(640px, 100%); }
  .cau-tl_grp--in .cau-timeline, .cau-tl_grp--out .cau-timeline, .cau-timeline { grid-template-columns: 1fr; gap: 8px; }
  .cau-timeline li { display: flex; align-items: center; gap: 20px; text-align: left; padding: 14px 22px; }
  .cau-timeline b { font-size: 26px; margin: 0; flex: 0 0 84px; }
  .cau-timeline span { font-size: 14px; }
  .cau-timeline span br { display: none; }
  .cau-timeline li.is-link { display: block; padding: 0; }
  .cau-timeline li.is-link a { display: flex; align-items: center; gap: 20px; padding: 14px 22px; }
  .cau-timeline_more { margin: 0 0 0 auto; white-space: nowrap; }
}

/* してはいけないこと */
.cau-ng { display: grid; grid-template-columns: repeat(4, 1fr); gap: 20px; margin-bottom: 48px; }
.cau-ng li { background: rgba(16,26,46,.65); border-radius: 12px; padding: 28px 10px 24px; text-align: center; }
.cau-ng p { font-size: 16px; font-weight: 700; line-height: 1.5; margin-top: 16px; }
.cau-ng_icon { position: relative; display: block; width: 72px; height: 72px; margin: 0 auto; }
.cau-ng_icon .cau-ico { position: absolute; top: 16px; left: 16px; width: 40px; height: 40px; }
.cau-ng_ban { position: absolute; inset: 0; width: 72px; height: 72px; }

/* 大事な時刻 */
.cau-key_ttl { text-align: center; color: var(--cau-gold); font-size: 18px; font-weight: 700; letter-spacing: .08em; margin-bottom: 18px; }
.cau-key { display: flex; justify-content: center; gap: 64px; margin-bottom: 12px; }
.cau-key li { display: grid; grid-template-columns: auto auto; justify-content: center; align-items: baseline; column-gap: 6px; text-align: center; }
.cau-key_t { white-space: nowrap; color: var(--cau-gold); font-size: 60px; font-weight: 700; line-height: 1.1; }
.cau-key_s { color: var(--cau-gold); font-size: 16px; font-weight: 700; }
.cau-key_txt { grid-column: 1 / -1; font-size: 18px; font-weight: 700; margin-top: 4px; }
.cau-key_note { text-align: center; font-size: 14px; color: rgba(255,255,255,.8); margin-top: 16px; margin-bottom: 48px; }

/* 小見出しの帯 */
.cau-block + .cau-block { margin-top: 48px; }
.cau-band { display: flex; align-items: center; gap: 14px; padding: 14px 20px; border-radius: 8px; background: rgba(229,211,161,.16); color: var(--cau-gold); font-size: 24px; font-weight: 700; line-height: 1.4; margin-bottom: 20px; }
.cau-band .cau-ico { flex: 0 0 30px; width: 30px; height: 30px; }
/* 小見出しの文字：ふわっと出てきたら、光が数秒おきに走り続ける */
.cau-band_txt { background: linear-gradient(100deg, #E5D3A1 0%, #E5D3A1 42%, #FFF8E2 50%, #E5D3A1 58%, #E5D3A1 100%); background-size: 260% 100%; background-position: 100% 0; -webkit-background-clip: text; background-clip: text; color: transparent; }
.cau-band.is-in .cau-band_txt { animation: cau-textshine 3.2s ease-in-out .3s infinite both; }
.cau-band.is-in { animation: cau-bandglow 3.2s ease-in-out .3s infinite; }
/* 光が流れる（約1.4秒）→ 少し休む、をくり返す */
@keyframes cau-textshine { 0% { background-position: 100% 0; } 45%, 100% { background-position: 0 0; } }
@keyframes cau-bandglow { 0%, 60%, 100% { box-shadow: 0 0 0 rgba(229,211,161,0); } 22% { box-shadow: 0 0 18px rgba(229,211,161,.35); } }

/* カード */
.cau-cards { display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px; }
.cau-cards > .cau-card:last-child:nth-child(odd) { grid-column: 1 / -1; }
.cau-card { background: rgba(255,255,255,.08); border-radius: 10px; padding: 22px 24px; }
.is-tint .cau-card, .is-gold .cau-card { background: rgba(16,26,46,.65); }
.cau-card h4 { font-size: 18px; font-weight: 700; line-height: 1.5; margin-bottom: 8px; }
/* VIP・カメラの区別タグ（10/26） */
.cau-tag { display: inline-flex; align-items: center; gap: 6px; font-size: 13px; font-weight: 700; line-height: 1; padding: 6px 12px 6px 10px; border-radius: 999px; margin-bottom: 10px; letter-spacing: .04em; }
.cau-tag svg { width: 16px; height: 16px; fill: none; stroke: currentColor; stroke-width: 2; stroke-linejoin: round; }
.cau-tag--vip { background: var(--cau-gold); color: #10192E; }
.cau-tag--vip svg { fill: currentColor; stroke: none; }
.cau-tag--cam { background: #E3337E; color: #fff; }
.cau-tag--both { background: rgba(229,211,161,.18); color: var(--cau-gold); padding-left: 12px; }
.is-gold .cau-card--vip { background: rgba(229,211,161,.20); }
.is-gold .cau-card--cam { background: rgba(227,51,126,.22); }
.is-gold .cau-card--both { background: rgba(61,127,217,.22); }
.cau-tag--both { background: rgba(255,255,255,.16); color: #fff; }
.cau-tag--mode { background: rgba(229,211,161,.14); color: var(--cau-gold); }
.cau-card p { font-size: 14px; line-height: 1.75; color: rgba(255,255,255,.85); }

/* 混雑回避プラン */
.cau-sec > .cau-plan { width: min(1000px, 100%); }
.cau-plan { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
.cau-plan li { background: rgba(255,255,255,.08); border-radius: 8px; padding: 28px; text-align: center; }
.cau-plan_no { color: var(--cau-gold-d); font-size: 14px; font-weight: 700; letter-spacing: .2em; margin-bottom: 8px; }
.cau-plan_time { color: var(--cau-gold); font-size: 15px; font-weight: 700; }
.cau-plan_time b { font-size: 36px; margin-right: 4px; }
.cau-plan h3 { font-size: 16px; font-weight: 700; margin: 6px 0 12px; }
.cau-plan img { display: block; width: 100%; height: auto; margin-bottom: 12px; }
.cau-plan_txt { font-size: 13px; line-height: 1.75; color: rgba(255,255,255,.85); }

/* 雨天 */
.cau-statement { background: rgba(255,255,255,.08); border-radius: 16px; padding: 40px 48px; }
.cau-statement_head { display: flex; align-items: center; gap: 20px; }
.cau-statement_check { flex: 0 0 56px; width: 56px; height: 56px; }
.cau-statement_check svg { width: 56px; height: 56px; display: block; }
.cau-statement_big { font-size: 28px; font-weight: 700; line-height: 1.5; }
.cau-statement_big em { font-style: normal; color: var(--cau-gold); }
.cau-statement_sub { font-size: 16px; color: rgba(255,255,255,.85); margin-top: 4px; }
.cau-statement .cau-list { margin-top: 20px; }
.cau-statement .cau-list li { font-size: 14px; color: rgba(255,255,255,.8); }

/* チケット引換 */
.cau-chips_ttl { text-align: center; color: var(--cau-gold); font-size: 14px; font-weight: 700; margin-bottom: 12px; }
.cau-chips { display: flex; flex-wrap: wrap; justify-content: center; gap: 10px; margin-bottom: 28px; }
.cau-chips li { padding: 8px 18px; border-radius: 999px; background: rgba(255,255,255,.14); font-size: 15px; font-weight: 700; }
.cau-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.cau-steps_no { color: var(--cau-gold); font-size: 13px; font-weight: 700; letter-spacing: .08em; margin-bottom: 6px; }
.cau-steps .cau-card p:not(.cau-steps_no) { font-size: 13px; }

/* お帰りの流れ */
.cau-exitflow { display: flex; justify-content: center; gap: 12px; margin-bottom: 28px; }
.cau-exitflow li { position: relative; flex: 1; text-align: center; padding: 0 6px; }
.cau-exitflow li + li::before { content: ""; position: absolute; top: 18px; left: -12px; width: 10px; height: 10px; border-top: 2.4px solid var(--cau-gold); border-right: 2.4px solid var(--cau-gold); transform: rotate(45deg); }
.cau-exitflow_no { display: flex; align-items: center; justify-content: center; width: 48px; height: 48px; margin: 0 auto 10px; border-radius: 50%; background: var(--cau-gold); color: var(--cau-navy); font-size: 22px; font-weight: 700; }
.cau-exitflow h4 { font-size: 17px; font-weight: 700; line-height: 1.5; margin-bottom: 6px; }
.cau-exitflow p { font-size: 13px; line-height: 1.7; color: rgba(255,255,255,.8); }

/* ボタン */
.cau-btn { text-align: center; margin-top: 32px; }
.cau-btn a { display: inline-block; min-width: 420px; padding: 22px 40px; border-radius: 4px; background: var(--cau-gold-d); color: #000; font-size: 18px; font-weight: 700; transition: background .3s; }
.cau-btn a:hover { background: #ba8a05; color: #fff; }
.cau-cta { padding: 56px 20px 8px; }
.cau-slogo { background: var(--cau-navy); }

@media (prefers-reduced-motion: reduce) {
  .cau-vipbtn::after, .cau-pills a::after, .cau-band, .cau-band_txt { animation: none !important; }
  .cau-pills a { transform: none !important; }
  .cau-burst .fw { animation: none !important; opacity: 1 !important; }
}

/* スマホ */
@media screen and (max-width: 768px) {
  .cau-intro { padding: 48px 16px 48px; }
  .cau-intro_date { font-size: 15px; margin-bottom: 24px; }
  .cau-pills { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
  .cau-pills a { gap: 8px; padding: 12px 24px 12px 12px; font-size: 12.5px; border-radius: 10px; white-space: normal; }
  .cau-pills .cau-ico { flex-basis: 18px; width: 18px; height: 18px; }
  .cau-pills a::before { right: 12px; }
  .cau-vipbtn { padding: 14px 20px; font-size: 14px; gap: 10px; text-align: left; }
  .cau-vipbtn_tag { font-size: 12px; }
  .cau-sec { padding: 48px 16px; }
  .cau-ttl { margin-bottom: 24px; }
  .cau-burst { width: 88px; height: 88px; }
  .cau-ttl_jp { font-size: 20px; }
  .cau-ttl_en { font-size: 12px; gap: 12px; }
  .cau-lead { font-size: 16px; margin-bottom: 24px; }
  .cau-center { font-size: 14px; text-align: left; }
  .cau-list li { font-size: 14px; }
  .cau-notes_lead { font-size: 14px; }
  .cau-notes_ttl { margin-top: 18px; font-size: 15px; }
  .cau-tl { flex-direction: column; gap: 20px; }
  .cau-tl_grp--in .cau-timeline, .cau-tl_grp--out .cau-timeline, .cau-timeline { grid-template-columns: 1fr; gap: 8px; }
  .cau-cat { font-size: 16px; padding: 9px 24px; margin-top: 40px; }
  .cau-sec--flow .cau-note { text-align: left; }
  .cau-timeline li { display: flex; align-items: center; gap: 16px; text-align: left; padding: 14px 18px; }
  .cau-timeline b { font-size: 24px; margin: 0; flex: 0 0 76px; }
  .cau-timeline span br { display: none; }
  .cau-timeline li.is-link { display: block; padding: 0; }
  .cau-timeline li.is-link a { display: flex; align-items: center; gap: 16px; padding: 14px 18px; }
  .cau-timeline_more { margin: 0 0 0 auto; white-space: nowrap; }
  .cau-key_ttl { font-size: 16px; margin-bottom: 14px; }
  .cau-ng { grid-template-columns: repeat(2, 1fr); gap: 12px; margin-bottom: 36px; }
  .cau-ng li { padding: 20px 8px; }
  .cau-ng p { font-size: 14px; margin-top: 12px; }
  .cau-key { flex-direction: column; gap: 14px; width: min(320px, 100%); }
  .cau-key li { grid-template-columns: 124px 1fr; justify-content: stretch; align-items: center; column-gap: 12px; row-gap: 2px; text-align: left; }
  .cau-key_t { grid-row: 1 / 3; font-size: 40px; }
  .cau-key_s { align-self: end; font-size: 13px; }
  .cau-key_txt { grid-column: 2; align-self: start; font-size: 15px; margin-top: 0; }
  .cau-key_note { font-size: 13px; text-align: left; margin-bottom: 36px; }
  .cau-plan li { padding: 24px 20px; }
  .cau-slogo .p-index_map_logo { width: 84%; margin-top: 24px; }
  .cau-slogo .p-index_map_logo_inner { padding: 18px 12px; }
  .cau-slogo .p-index_map_logo_inner_list img { max-width: 56%; }
  .cau-slogo .p-index_map_logo_inner_list:nth-child(1) { margin-bottom: 20px; }
  .cau-slogo .p-index_map_logo_inner_middle { gap: 16px 20px; }
  .cau-slogo .p-index_map_logo_inner_middle_list img { width: 72%; }
  .cau-band { font-size: 18px; padding: 12px 16px; gap: 10px; }
  .cau-band .cau-ico { flex-basis: 24px; width: 24px; height: 24px; }
  .cau-cards, .cau-steps, .cau-plan { grid-template-columns: 1fr; gap: 12px; }
  .cau-plan img { width: min(220px, 100%); margin: 8px auto 12px; }
  .cau-card { padding: 18px 20px; }
  .cau-card h4 { font-size: 16px; }
  .cau-card p { font-size: 13px; }
  .cau-statement { padding: 28px 20px; }
  .cau-statement_head { align-items: flex-start; gap: 14px; }
  .cau-statement_check, .cau-statement_check svg { width: 44px; height: 44px; flex-basis: 44px; }
  .cau-statement_big { font-size: 20px; }
  .cau-statement_sub { font-size: 14px; }
  .cau-exitflow { flex-direction: column; gap: 28px; }
  .cau-exitflow li + li::before { top: -20px; left: 50%; margin-left: -5px; transform: rotate(135deg); }
  .cau-panel { padding: 16px 18px; }
  .cau-btn a { min-width: 0; width: 100%; padding: 18px 16px; font-size: 16px; }
}

/* 10/27 ページ内リンク：選択中は金で塗る */
.cau-pills a.is-current { background: var(--cau-gold); color: #10192E; box-shadow: 0 0 0 2px var(--cau-gold), 0 0 18px rgba(229,211,161,.6); }
.cau-pills a.is-current .cau-ico { stroke: #10192E; }
.cau-pills a.is-current::before { border-color: #10192E; }
/* VIPボタンの王冠 */
.cau-vipbtn_tag { display: inline-flex; }
.cau-vipbtn_tag svg { width: 24px; height: 24px; fill: #10192E; }

/* 10/27 当日の留意事項：出来事を主役にしたリスト（PC・SP共通の形） */
.cau-tl { align-items: flex-start; }
.cau-tl_grp--in { flex: 1; }
.cau-tl_grp--out { flex: 1; }
.cau-evlist { display: grid; gap: 10px; }
.cau-evlist li { display: flex; align-items: center; gap: 18px; padding: 16px 22px; border-radius: 10px; background: rgba(255,255,255,.07); }
.cau-tl_grp--out .cau-evlist li { background: rgba(61,127,217,.16); }
.cau-ev_ico { flex: 0 0 52px; width: 52px; height: 52px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(229,211,161,.16); }
.cau-ev_ico .cau-ico { width: 28px; height: 28px; }
.cau-tl_grp--out .cau-ev_ico { background: rgba(61,127,217,.35); }
.cau-tl_grp--out .cau-ev_ico .cau-ico { stroke: #fff; }
.cau-ev_body { min-width: 0; }
.cau-ev_ttl { font-size: 18px; font-weight: 700; line-height: 1.45; }
.cau-ev_time { display: inline-block; margin-top: 6px; padding: 2px 12px; border-radius: 999px; background: var(--cau-gold); color: #10192E; font-size: 15px; font-weight: 700; line-height: 1.6; }
.cau-ev_sub { display: inline-block; margin: 6px 0 0 10px; font-size: 13px; color: rgba(255,255,255,.75); }
/* 10/28 南階段・ニフレルの通行止めを目立たせる */
.cau-tl_grp--out .cau-evlist li.is-alert { background: rgba(227,51,126,.22); }
.cau-tl_grp--out li.is-alert .cau-ev_ico { background: #E3337E; }
.cau-ev_sub--em { display: block; width: fit-content; margin: 8px 0 0; padding: 6px 14px; border-radius: 6px; background: rgba(255,255,255,.14); color: #fff; font-size: 17px; line-height: 1.5; font-weight: 700; }
.cau-ev_sub--em b { color: var(--cau-gold); }
@media screen and (min-width: 769px) and (max-width: 1099px) {
  .cau-tl { flex-direction: column; width: min(680px, 100%); }
  .cau-tl_grp { width: 100%; }
}
@media screen and (max-width: 768px) {
  .cau-evlist li { gap: 14px; padding: 14px 16px; }
  .cau-ev_ico { flex-basis: 44px; width: 44px; height: 44px; }
  .cau-ev_ico .cau-ico { width: 24px; height: 24px; }
  .cau-ev_ttl { font-size: 16px; }
  .cau-ev_time { font-size: 14px; }
  .cau-ev_sub { display: block; margin: 4px 0 0; font-size: 12px; }
  .cau-ev_sub--em { margin-top: 8px; padding: 5px 12px; font-size: 15px; }
}

/* 10/27 チケットをお持ちでない方へ（雨天・中止の形） */
.cau-statement--ng { width: min(900px, 100%); margin: 0 auto; }
.cau-statement--ng .cau-statement_big em { color: #FF8DB8; }
.cau-statement_ticket { display: flex; align-items: center; gap: 12px; margin-top: 20px; padding: 14px 18px; border-radius: 10px; background: rgba(229,211,161,.14); font-size: 15px; line-height: 1.7; }
.cau-statement_ticket .cau-ico { flex: 0 0 26px; width: 26px; height: 26px; }
.cau-statement_ticket b { color: var(--cau-gold); }

/* 10/27 お帰りの流れ：アイコン付きカード */
.cau-exitflow { gap: 28px; align-items: stretch; }
.cau-exitflow li { background: rgba(255,255,255,.07); border-radius: 12px; padding: 22px 16px 20px; }
.cau-exitflow li + li::before { top: 50%; left: -20px; margin-top: -5px; }
.cau-exitflow_no { width: auto; height: auto; display: inline-block; margin: 0 auto 12px; padding: 2px 12px; border-radius: 999px; font-size: 13px; letter-spacing: .08em; }
.cau-exitflow_ico { display: flex; align-items: center; justify-content: center; width: 64px; height: 64px; margin: 0 auto 12px; border-radius: 50%; background: rgba(229,211,161,.16); }
.cau-exitflow_ico .cau-ico { width: 34px; height: 34px; }
.cau-exitnote { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 14px; }
.cau-exitnote li { display: flex; align-items: center; gap: 12px; padding: 16px 18px; border-radius: 10px; background: rgba(255,255,255,.05); font-size: 14px; line-height: 1.7; }
.cau-exitnote_ico { flex: 0 0 40px; width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(229,211,161,.16); }
.cau-exitnote_ico .cau-ico { width: 22px; height: 22px; }
@media screen and (max-width: 768px) {
  .cau-exitflow { gap: 26px; }
  .cau-exitflow li + li::before { top: -18px; left: 50%; margin-top: 0; }
  .cau-exitnote { grid-template-columns: 1fr; gap: 10px; }
  .cau-statement_ticket { font-size: 14px; align-items: flex-start; }
}
@media screen and (min-width: 1100px) and (max-width: 1299px) {
  .cau-tl { flex-direction: row; width: min(1240px, 100%); }
}
/* 10/27 ページ内リンク：3列で最後の段を中央寄せ */
.cau-pills { display: flex; flex-wrap: wrap; justify-content: center; }
.cau-pills li { flex: 0 0 calc((100% - 24px) / 3); }
@media screen and (max-width: 768px) {
  .cau-pills li { flex-basis: calc((100% - 8px) / 2); }
}
