@font-face {
  font-family: 'Manrope';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/numbers.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: normal;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/display-serif.ttf) format('truetype');
}
@font-face {
  font-family: 'Barlow Condensed';
  font-style: normal;
  font-weight: 600;
  font-display: swap;
  src: url(assets/fonts/display-0.ttf) format('truetype');
}
@font-face {
  font-family: 'Cormorant Garamond';
  font-style: italic;
  font-weight: 500;
  font-display: swap;
  src: url(assets/fonts/display-1.ttf) format('truetype');
}
:root {
  --night:#070d1a; --navy:#101c2d; --ink:#ece6d8; --mist:#aab4c3;
  --gold:#c8ad78; --gold-hi:#e4d2a6; --line:#c8ad7838;
  --display:Didot,"Bodoni MT","Times New Roman",serif;
  --serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;
  --sans:"Helvetica Neue",Arial,"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif;
  --ease:cubic-bezier(.2,.7,.2,1);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;scroll-padding-top:32px}
body{margin:0;background:var(--night);color:var(--ink);font:16px/1.95 var(--sans);-webkit-font-smoothing:antialiased;color-scheme:dark}
body:has(dialog[open]){overflow:hidden}
a{color:inherit;text-decoration:none}
button,input,select,textarea{font:inherit}
button,a,summary{touch-action:manipulation;-webkit-tap-highlight-color:transparent}
button{cursor:pointer}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid var(--gold-hi);outline-offset:6px}
::selection{background:var(--gold);color:var(--night)}
img{display:block;max-width:100%;object-fit:cover}
figure,p,h1,h2,h3{margin:0}
h1,h2,h3{font-weight:400;font-feature-settings:"palt"}
h2{font:clamp(28px,2.7vw,42px)/1.8 var(--serif);letter-spacing:.07em}
h3{font:27px/1.7 var(--serif)}
small{font-size:12px}
.wrap{width:min(1200px,calc(100% - 112px));margin-inline:auto}
.section{padding-block:120px}
.skip{position:fixed;left:16px;top:-100px;z-index:50;padding:12px 20px;background:var(--gold);color:var(--night)}
.skip:focus{top:12px}
.reading-progress{position:fixed;left:0;top:0;height:2px;width:100%;background:var(--gold);transform:scaleX(0);transform-origin:left;z-index:40;pointer-events:none}
.preview-note{padding:6px 20px;text-align:center;background:#0d1727;color:var(--mist);font-size:11px;letter-spacing:.025em}
.preview-note span{margin-left:18px}
.header{height:100px;padding-inline:56px;display:flex;align-items:center;justify-content:space-between;gap:28px;border-bottom:1px solid var(--line)}
.masthead{font:36px/1 var(--display);letter-spacing:.1em}
.header-bottom{display:flex;align-items:center;gap:42px}
.edition{font:italic 16px var(--display);color:var(--mist)}
.header nav{display:flex;gap:28px;font-size:12px}
.header nav a{position:relative;padding:8px 0}
.header nav a::after{content:"";position:absolute;bottom:0;left:0;width:100%;height:1px;background:var(--gold);transform:scaleX(0);transform-origin:left;transition:transform .4s var(--ease)}
.header nav a:hover::after,.header nav a:focus-visible::after{transform:scaleX(1)}
.header-cta{padding:10px 24px;border:1px solid var(--line);font-size:12px;transition:border-color .3s,background .3s}
.header-cta:hover{border-color:var(--gold);background:#c8ad780d}
.hero{position:relative;isolation:isolate;padding:50px max(7.5%, calc((100vw - 1200px) / 2)) 0;min-height:740px;overflow:hidden}
.hero-photo{position:absolute;inset:0 0 128px;z-index:-3;overflow:hidden;background:var(--navy)}
.hero-photo img{width:100%;height:calc(100% + 100px);position:absolute;top:-50px;object-position:center 54%;transform:translate3d(0,var(--parallax,0px),0) scale(1.025)}
.photo-shade{position:absolute;inset:0;background:linear-gradient(90deg,#070d1aee 0%,#070d1aa8 30%,#070d1a22 72%),linear-gradient(0deg,#070d1a 0%,transparent 40%)}
.hero-photo figcaption{position:absolute;bottom:22px;right:max(7.5%, calc((100vw - 1200px) / 2));font-size:11px;color:#d2d7df;letter-spacing:.04em}
.horizon{position:absolute;top:46%;inset-inline:0;height:1px;background:linear-gradient(90deg,transparent 50%,#c8ad7870 85%,#c8ad78);z-index:-1;transform-origin:right;animation:line-arrive 1.6s var(--ease) both}
.hero-light{display:none;position:absolute;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(480px circle at var(--light-x,75%) var(--light-y,35%),#c8ad7817,transparent 75%)}
.hero-copy{max-width:760px;padding-bottom:32px}
.hero-kicker{font:14px/1.8 var(--serif);letter-spacing:.22em;margin-bottom:24px}
.cover-title{font:clamp(78px,6.7vw,104px)/.9 var(--display);letter-spacing:-.045em;color:var(--ink)}
.cover-title br+*{font-style:italic}
.hero h1{font:26px/1.8 var(--serif);letter-spacing:.12em;margin-top:24px}
.hero h1 span{display:block}
.hero-description{font-size:14px;line-height:2;color:#c1c7d0;margin-top:18px}
.cover-link,.text-link{display:inline-flex;position:relative;align-items:center;justify-content:center;min-height:50px;padding:8px 0;border-bottom:1px solid var(--gold);font-size:14px;letter-spacing:.08em;margin-top:28px}
.cover-link{min-width:190px;justify-content:center;border:1px solid var(--gold);padding:9px 25px;margin-top:22px;transition:background .3s}.cover-link:hover{background:#c8ad7812}.cover-link::after{display:none}
.cover-link::after,.text-link::after{content:"";position:absolute;left:0;bottom:-1px;width:100%;height:1px;background:var(--gold-hi);transform:scaleX(.25);transform-origin:left;transition:transform .5s var(--ease)}
.cover-link:hover::after,.text-link:hover::after,.cover-link:focus-visible::after,.text-link:focus-visible::after{transform:scaleX(1)}
.cover-fee{font:29px/1.5 var(--display);margin-top:18px;color:var(--gold-hi)}
.cover-fee small{font:11px var(--sans)}
.cover-fee>span{font:11px var(--sans);margin-left:18px;color:var(--mist)}
.cover-corner{position:absolute;right:max(7.5%, calc((100vw - 1200px) / 2));top:46px;text-align:right;color:var(--ink)}
.cover-corner>span{font:italic 20px var(--display)}
.cover-corner p{font:88px/1 var(--display);margin-top:10px}
.cover-corner small{display:block;font:10px/1.8 var(--sans);letter-spacing:.2em;margin-top:16px;color:var(--mist)}
.hero-facts{display:grid;grid-template-columns:1fr 1fr 1.35fr;gap:32px;border-block:1px solid var(--line);padding:24px 0;position:relative;z-index:1;background:var(--night)}
.hero-facts>div+div{border-left:1px solid var(--line);padding-left:32px}
.hero-facts>div>span{font-size:11px;color:var(--mist);letter-spacing:.1em}
.hero-facts p{font-size:16px;margin-top:5px;line-height:1.8}
.hero-facts strong{font:30px var(--display);font-variant-numeric:tabular-nums}
.hero-facts small{font-size:11px;color:var(--mist);margin-left:10px}
.section-marker{font:italic clamp(28px,2.8vw,40px)/1.15 var(--display);letter-spacing:-.02em;margin-bottom:48px;color:var(--gold-hi)}
.about{padding-top:136px}
.about .section-marker{font-size:24px;margin-bottom:42px}
.about-layout{display:grid;grid-template-columns:1fr 1fr;gap:100px}
.prose{color:var(--mist);font-size:15px;line-height:2.3}
.prose p+p{margin-top:24px}
.values{display:grid;grid-template-columns:repeat(3,1fr);gap:54px;margin-top:80px;border-top:1px solid var(--line)}
.values>div{padding-top:28px;position:relative}
.values>div::before{content:"";position:absolute;left:0;top:-1px;width:32px;height:1px;background:var(--gold)}
.value-num{font:italic 23px var(--display);color:var(--gold)}
.values h3{font-size:24px;margin:16px 0 12px}
.values p{font-size:14px;color:var(--mist)}
.charity{border-block:1px solid var(--line);background:var(--navy);position:relative;overflow:hidden}
.charity-grid{display:grid;grid-template-columns:1fr 1.08fr;gap:100px;align-items:center}
.section-intro{font-size:16px;line-height:2.2;margin-top:26px}
.charity-small{font-size:14px;color:var(--mist);margin-top:25px}
.donation-panel{position:relative;padding:38px 40px;border:1px solid #c8ad7866;background:#0b1423}
.donation-panel::before,.donation-panel::after{content:"";position:absolute;width:26px;height:26px;border-color:var(--gold);border-style:solid;pointer-events:none}
.donation-panel::before{top:-1px;left:-1px;border-width:1px 0 0 1px}
.donation-panel::after{bottom:-1px;right:-1px;border-width:0 1px 1px 0}
.ticket-total{display:flex;justify-content:space-between;align-items:center;gap:22px}
.ticket-total>span{font:italic 19px var(--display)}
.ticket-total>span small{display:block;font:11px/1.8 var(--sans);margin-top:8px;color:var(--mist)}
.ticket-total p{font-size:12px;white-space:nowrap;color:var(--gold-hi)}
.ticket-total strong{font:64px/1.1 var(--display);letter-spacing:-.04em}
.allocation-bar{display:flex;gap:4px;height:4px;margin:32px 0 12px;transform-origin:left}
.allocation-bar i:nth-child(1){width:20%;background:var(--gold-hi)}
.allocation-bar i:nth-child(2){width:20%;background:#9d8966}
.allocation-bar i:nth-child(3){width:60%;background:#3f5269}
.donation-row{display:flex;align-items:center;gap:12px;padding:23px 0;border-bottom:1px solid var(--line);font-size:14px}
.dot{width:5px;height:5px;flex-shrink:0;background:#3f5269}
.dot.foundation{background:var(--gold-hi)}.dot.npo{background:#9d8966}
.donation-row div small{display:block;font-size:11px;color:var(--mist);margin-top:6px;line-height:1.8}
.donation-row p{margin-left:auto;font:32px var(--display);white-space:nowrap;color:var(--gold-hi)}
.donation-row p small{font:11px var(--sans)}
.donation-row.other{color:var(--mist)}.donation-row.other p{font-size:26px;color:var(--mist)}
.fine-print{font-size:11px;color:var(--mist);line-height:1.9;margin-top:22px}
.section-heading{display:flex;justify-content:space-between;align-items:end;gap:40px;margin-bottom:60px}
.section-heading>p{font-size:15px;color:var(--mist)}
.experience .section-marker{font-size:24px;margin-bottom:24px}
.experience-grid{display:grid;grid-template-columns:1.1fr 1fr;gap:100px;align-items:start}
.experience-grid figure{overflow:hidden}
.experience-grid figure img{width:100%;height:620px;object-position:center;filter:none}
.experience-grid figcaption{font-size:10px;color:var(--mist);padding-top:14px}
.experience-content{padding-top:24px}
.experience-content article>span:first-child{font:italic 24px var(--display);color:var(--gold)}
.experience-content h3{font-size:32px;margin:22px 0}
.experience-content p{font-size:15px;color:var(--mist);line-height:2.2}
.experience-content small{display:block;font-size:12px;color:var(--mist);margin-top:18px}
.experience-content article+article{margin-top:44px;padding-top:38px;border-top:1px solid var(--line)}
.status{display:block;font-size:12px;line-height:2;color:var(--gold-hi);margin-top:22px}
.festival{padding-block:96px;background:var(--navy)}
.festival-layout{display:grid;grid-template-columns:1.1fr 1fr;gap:88px;align-items:center}
.festival-image{overflow:hidden}
.festival-image img{width:100%;height:520px;filter:brightness(.8) saturate(.7)}
.festival-image p{font-size:10px!important;margin-top:14px}
.eyebrow{font:italic 25px/1.4 var(--display);color:var(--gold-hi)}
.festival h2{font-size:34px;margin:26px 0}
.festival p:not(.eyebrow){font-size:15px;line-height:2.2;color:var(--mist)}
.festival p+p{margin-top:18px}
.festival small{display:block;font-size:12px;color:var(--mist);margin-top:22px}
.information .section-marker{font-size:26px}
.info-grid{display:grid;grid-template-columns:1fr 1.1fr;gap:85px}
.information h2{font-size:29px}
.info-note{font-size:14px;color:var(--mist);line-height:2.2;margin-top:22px}
dl{margin:0}dl>div{display:grid;grid-template-columns:90px 1fr;gap:26px;border-bottom:1px solid var(--line);padding:22px 0}dl>div:first-child{border-top:1px solid var(--line)}
dt{font-size:12px;color:var(--mist)}dd{margin:0;font-size:15px;line-height:1.95}dd small{display:block;font-size:12px;color:var(--mist);line-height:1.95;margin-top:7px}
.faq-section{display:grid;grid-template-columns:1fr 1.1fr;gap:85px;padding-block:100px 120px}
.faq-section h2{font-size:28px;margin-top:20px}
details{border-bottom:1px solid var(--line)}summary{cursor:pointer;list-style:none;display:flex;align-items:center;justify-content:space-between;gap:24px;font-size:14px;padding:24px 0;min-height:72px}
summary::-webkit-details-marker{display:none}summary span{font-size:22px;color:var(--gold);transition:transform .35s var(--ease)}details[open] summary span{transform:rotate(45deg)}details p{font-size:14px;line-height:2.15;color:var(--mist);padding:0 16px 28px 0}
.entry{background:#0c1727;border-block:1px solid var(--line)}
.entry-layout{display:grid;grid-template-columns:.9fr 1.1fr;gap:100px}
.entry-copy{padding-top:26px}.entry .eyebrow{font-size:34px}.entry h2{font-size:46px;margin:30px 0}
.entry-copy>p:not(.eyebrow){font-size:15px;color:var(--mist);line-height:2.2}
.entry-price{margin-top:44px;padding-top:28px;border-top:1px solid var(--line)}
.entry-price>span,.entry-price>small{font-size:12px;color:var(--mist)}
.entry-price p{font:84px/1.1 var(--display);letter-spacing:-.045em;color:var(--gold-hi);margin:20px 0}.entry-price p small{font:15px var(--sans)}
.entry-copy>.entry-notice{font-size:12px;margin-top:34px;max-width:380px}
.form-panel{padding:40px;background:var(--night);border:1px solid var(--line)}
.form-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.form-heading h3{font-size:25px}.form-heading>span{font-size:10px;color:var(--gold);white-space:nowrap}
.form-note{font-size:12px;color:var(--mist);line-height:1.9;margin:14px 0 28px}
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px 22px}.form-grid label{font-size:13px;display:block}.form-grid label>span{color:var(--gold)}.full{grid-column:1/-1}
input:not([type=checkbox]),select,textarea{display:block;width:100%;margin-top:8px;border:0;border-bottom:1px solid #647084;border-radius:0;background:transparent;padding:12px 0;color:var(--ink);font-size:16px;min-height:48px}
input::placeholder,textarea::placeholder{font-size:12px;color:#929dad}
select option{background:var(--night)}input:focus,select:focus,textarea:focus{outline:2px solid var(--gold);outline-offset:4px}textarea{resize:vertical}
.form-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid var(--line);padding-top:24px;margin-top:32px}.form-total span{font-size:13px}.form-total strong{font:29px var(--display);color:var(--gold-hi)}
.form-total+.form-note{font-size:11px;margin:12px 0 24px}.check{display:flex;align-items:start;gap:12px;font-size:12px;line-height:1.9;margin:25px 0}.check input{width:18px;height:18px;margin-top:3px;flex-shrink:0;accent-color:var(--gold)}
.button{display:flex;align-items:center;justify-content:center;gap:20px;width:100%;background:transparent;color:var(--ink);border:1px solid var(--gold);padding:16px 24px;font-size:14px;min-height:58px;letter-spacing:.06em;transition:background .3s,border-color .3s}
.button:hover{background:#c8ad7814;border-color:var(--gold-hi)}
.footer{padding-block:64px}.footer-top{display:flex;align-items:center;justify-content:space-between;gap:30px}.brand{font:50px/1 var(--display);letter-spacing:.06em}.brand small{display:block;font:9px/1.7 var(--sans);letter-spacing:.2em;margin-top:16px}.footer-top>p{font:15px var(--serif);letter-spacing:.05em}.footer-top>a:last-child{font-size:12px;color:var(--mist)}
.footer-bottom{display:flex;justify-content:space-between;align-items:start;gap:60px;border-top:1px solid var(--line);padding-top:28px;margin-top:44px}.footer-bottom>p{font-size:11px;color:var(--mist)}.footer-bottom details{max-width:460px;border:0}.footer-bottom summary{font-size:12px;min-height:44px;padding:0}.footer-bottom details p{font-size:11px;margin-top:15px;padding:0}.footer-bottom details a{text-decoration:underline}
.mobile-cta{display:none}
dialog{border:1px solid var(--gold);width:calc(100% - 32px);max-width:580px;max-height:85dvh;padding:0;background:var(--navy);color:var(--ink)}dialog::backdrop{background:#030710dc}.dialog-inner{padding:36px}.dialog-inner h2{font-size:30px;margin-top:18px}.dialog-note{border-block:1px solid var(--line);padding:18px 0;font-size:14px;color:var(--mist);margin:22px 0 26px}.dialog-inner dl{margin-bottom:26px}.dialog-inner dl>div:first-child{border-top:0}.dialog-inner dd{overflow-wrap:anywhere;white-space:pre-wrap}
/* 静的な本文を残し、見出しと写真だけを段階的に動かす。 */
.reveal-heading{transition:transform .85s var(--ease),opacity .85s var(--ease)}
.reveal-heading.reveal-pending{transform:translateY(24px);opacity:0}
.reveal-photo{transition:clip-path 1.1s var(--ease)}
.reveal-photo.reveal-pending{clip-path:inset(12% 0 12% 0)}
.allocation-bar.reveal-pending{transform:scaleX(0)}
.allocation-bar{transition:transform 1.2s var(--ease)}
@keyframes line-arrive{from{transform:scaleX(0)}to{transform:scaleX(1)}}
@keyframes cover-arrive{from{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}
.hero-kicker,.cover-title,.hero h1{animation:cover-arrive 1s var(--ease) both}.cover-title{animation-delay:.12s}.hero h1{animation-delay:.25s}
@media(hover:hover) and (pointer:fine){.hero-light{display:block}.experience-grid img,.festival-image img{transition:filter .5s}.experience-grid img:hover,.festival-image img:hover{filter:brightness(1) saturate(1)}}
@media(min-width:761px) and (max-width:1100px){
 .header{padding-inline:36px}.edition{display:none}.header-bottom{gap:24px}.wrap{width:calc(100% - 72px)}
 .about-layout,.charity-grid,.experience-grid,.festival-layout,.entry-layout,.info-grid,.faq-section{gap:44px}
 .hero{padding-inline:6%;padding-top:60px}.hero h1{font-size:26px}.hero-facts{gap:20px}.hero-facts>div+div{padding-left:20px}.hero-facts small{display:block;margin-left:0}
 .donation-panel{padding:30px 26px}.ticket-total{display:block}.ticket-total p{margin-top:18px}.form-panel{padding:28px}.form-heading{display:block}.form-heading>span{display:block;margin-top:8px}
}
@media(max-width:760px){
 body{padding-bottom:85px}.wrap{width:calc(100% - 48px)}.section{padding-block:80px}h2{font-size:28px;letter-spacing:.045em}
 .preview-note{font-size:9px;line-height:1.7;padding:6px 15px}.preview-note span{display:block;margin:0}
 .header{height:78px;padding-inline:24px;gap:16px}.masthead{font-size:27px;letter-spacing:.06em}.edition,.header nav{display:none}.header-bottom{gap:0}.header-cta{padding:9px 12px;font-size:11px}
 .hero{min-height:0;padding:240px 24px 0}.hero-photo{inset:0 0 auto;height:470px}.hero-photo img{height:520px;top:-25px;object-position:100% center}
 .photo-shade{background:linear-gradient(0deg,#070d1a 3%,#070d1aeb 25%,#070d1a33 65%,#070d1a22)}
 .hero-photo figcaption{top:16px;bottom:auto;right:20px;font-size:9px;background:#070d1a99;padding:3px 7px}
 .hero-copy{padding-bottom:32px}.hero-kicker{font-size:13px;margin-bottom:20px;letter-spacing:.15em}.cover-title{font-size:clamp(66px,17vw,106px);line-height:.9;letter-spacing:-.045em}
 .hero h1{font-size:25px;line-height:1.75;margin-top:28px;letter-spacing:.06em}.hero-description{font-size:13px;line-height:2.1;margin-top:18px}.hero-description br{display:none}
 .cover-link{min-height:48px;margin-top:18px;font-size:15px}.cover-fee{font-size:30px;margin-top:16px}.cover-fee>span{font-size:10px;margin-left:14px}
 .cover-corner{top:100px;right:auto;left:24px;text-align:left}.cover-corner>span{font-size:16px}.cover-corner p{font-size:46px;margin-top:2px}.cover-corner small{font-size:8px;letter-spacing:.1em;margin-top:5px}
 .horizon{top:218px;background:linear-gradient(90deg,transparent 35%,#c8ad7880)}
 .hero-facts{grid-template-columns:1fr 1fr;gap:22px 16px;padding:24px 0}.hero-facts>div+div{padding-left:16px}.hero-facts>div:last-child{grid-column:1/-1;padding:0;border:0}.hero-facts>div>span{font-size:10px}.hero-facts p{font-size:14px}.hero-facts strong{font-size:27px}.hero-facts small{font-size:10px;margin-left:4px}.hero-facts>div:nth-child(2) small{display:block;margin-left:0}
 .section-marker{font-size:34px;margin-bottom:34px}.about .section-marker{font-size:23px;margin-bottom:28px}.about-layout{display:block}.prose{margin-top:30px;font-size:14px;line-height:2.2}.prose p+p{margin-top:22px}
 .values{grid-template-columns:1fr;gap:0;margin-top:44px}.values>div{padding:26px 0;border-bottom:1px solid var(--line)}.values>div+div::before{display:none}.value-num{font-size:21px}.values h3{font-size:23px;margin:10px 0}.values p{font-size:14px}
 .charity-grid{display:block}.section-intro{font-size:15px}.charity-small{font-size:14px}.donation-panel{margin-top:36px;padding:28px 22px}.ticket-total{gap:12px}.ticket-total>span{font-size:16px}.ticket-total>span small{font-size:10px}.ticket-total strong{font-size:48px}.donation-row{font-size:13px;gap:9px}.donation-row p{font-size:28px}.donation-row div small{font-size:10px;max-width:175px}.fine-print{font-size:11px}
 .section-heading{display:block;margin-bottom:36px}.section-heading>p{font-size:14px;margin-top:22px}.experience-grid{display:block}.experience-grid figure img{height:440px}.experience-grid figcaption{font-size:10px}.experience-content{padding-top:38px}.experience-content h3{font-size:29px;margin:20px 0}.experience-content p{font-size:14px}.experience-content small,.status{font-size:12px}.experience-content article+article{margin-top:32px;padding-top:32px}
 .festival{padding-block:64px}.festival-layout{display:flex;flex-direction:column;gap:38px}.festival-image{width:100%}.festival-image img{height:360px}.festival h2{font-size:28px}.festival .eyebrow{font-size:24px}.festival p:not(.eyebrow){font-size:14px}.festival small{font-size:12px}
 .info-grid{display:block}.information h2{font-size:24px}.info-note{font-size:14px}.info-grid dl{margin-top:38px}dl>div{grid-template-columns:72px 1fr;gap:16px;padding:22px 0}dt{font-size:11px}dd{font-size:14px}dd small{font-size:12px}
 .faq-section{display:block;padding-block:70px 80px}.faq-section h2{font-size:27px}.faq-list{margin-top:30px}summary{font-size:14px;gap:15px}details p{font-size:13px}
 .entry-layout{display:block}.entry-copy{padding:0}.entry .eyebrow{font-size:31px}.entry h2{font-size:38px;margin:28px 0}.entry-copy>p:not(.eyebrow){font-size:14px}.entry-price{margin-top:30px}.entry-price p{font-size:74px}.entry-copy>.entry-notice{font-size:12px}
 .form-panel{padding:28px 20px;margin-top:38px}.form-heading{display:block}.form-heading>span{display:block;margin-top:8px}.form-note{font-size:11px}.form-grid{grid-template-columns:1fr;gap:25px}.full{grid-column:auto}.form-grid label{font-size:13px}.form-total strong{font-size:27px}.form-total+.form-note{font-size:10px}.check{font-size:11px}.button{font-size:14px}
 .footer{padding-block:46px}.footer-top{flex-wrap:wrap;gap:28px}.brand{font-size:38px}.brand small{font-size:8px}.footer-top>p{width:100%;order:3;font-size:14px}.footer-bottom{display:block;margin-top:30px}.footer-bottom details{margin-top:16px}
 .mobile-cta{display:flex;position:fixed;bottom:0;inset-inline:0;z-index:10;align-items:center;justify-content:space-between;gap:15px;padding:12px 22px calc(12px + env(safe-area-inset-bottom));background:var(--night);border-top:1px solid #c8ad7860}
 .mobile-cta>div{line-height:1.5}.mobile-cta>div>span{font-size:9px;display:block;color:var(--mist)}.mobile-cta strong{font:28px var(--display);color:var(--gold-hi)}.mobile-cta small{font:9px var(--sans)}.mobile-cta>a{font-size:12px;border-bottom:1px solid var(--gold);min-height:44px;display:flex;align-items:center;padding-inline:6px}
 .dialog-inner{padding:26px}.dialog-inner dl>div{grid-template-columns:1fr;gap:5px;padding:14px 0}.dialog-inner .button{position:sticky;bottom:0;background:var(--navy)}dialog{max-height:calc(100dvh - 32px)}.dialog-inner h2{font-size:26px}.dialog-note{font-size:13px}.dialog-inner dd{font-size:13px}
}
@media(max-width:360px){
 .wrap{width:calc(100% - 36px)}.header{padding-inline:18px}.hero{padding-inline:18px;padding-top:215px}.hero h1{font-size:22px}.hero-description{font-size:12px}.cover-corner{top:85px;left:18px}.horizon{top:200px}.ticket-total{display:block}.ticket-total p{margin-top:14px}.donation-panel{padding-inline:18px}.donation-row div small{max-width:145px}.entry .eyebrow{font-size:27px}.form-panel{padding-inline:17px}.mobile-cta{padding-inline:16px}
}
@media(prefers-reduced-motion:reduce){
 html{scroll-behavior:auto}*,*::before,*::after{animation:none!important;transition:none!important}.reveal-pending{clip-path:none!important;opacity:1!important;transform:none!important}.hero-photo img{transform:none!important}.hero-light{display:none!important}.allocation-bar{transform:none!important}
}

.mobile-cta.is-waiting{visibility:hidden;opacity:0;pointer-events:none;transform:translateY(100%)}
body:has(dialog[open]) .mobile-cta{visibility:hidden}
@media(min-width:1101px){.info-grid>div:first-child,.entry-copy{position:sticky;top:64px;align-self:start}}
/* スマホでは寄付先の正式名称に行幅を確保する。 */
@media(max-width:760px){
 .donation-row{display:grid;grid-template-columns:5px minmax(0,1fr) auto;column-gap:9px;row-gap:7px;align-items:center}
 .donation-row>div{display:contents}
 .donation-row>div small{grid-column:2/-1;grid-row:2;max-width:none;margin-top:0}
 .donation-row>p{grid-column:3;grid-row:1}
 .donation-row>.dot{grid-column:1;grid-row:1}
}

/* THE CHARITY EDITION — bold airport typography / quiet hotel materiality */
:root{--condensed:"Barlow Condensed","Arial Narrow",sans-serif;--editorial:"Cormorant Garamond",Didot,serif;--gold:#c9b181;--ink:#f3eee4}
.header{height:86px;padding-inline:4.5%}.masthead{font:600 42px/.85 var(--condensed);letter-spacing:.035em}.edition{font:500 italic 21px var(--editorial)}
.header-cta{border-color:var(--gold);background:var(--gold);color:var(--night);font-weight:600}.header-cta:hover{background:var(--gold-hi)}
.hero{padding:48px 6% 0;min-height:0}
.hero-photo{inset:24px 3% 137px 37%;border-top:1px solid var(--gold);border-bottom:1px solid var(--gold)}
.hero-photo img{object-position:65% center}
.photo-shade{background:linear-gradient(90deg,#070d1a9c,transparent 45%),linear-gradient(0deg,#070d1ad9,transparent 60%)}
.hero-photo figcaption{right:20px;bottom:20px;font-size:10px}
.hero-copy{max-width:none;padding-bottom:45px;position:relative}
.hero-kicker{font:500 14px/1.8 var(--sans);letter-spacing:.2em;display:flex;align-items:center;gap:20px;margin-bottom:24px}
.hero-kicker::before{content:"";width:46px;height:2px;background:var(--gold)}
.cover-title{font-size:clamp(110px,13.2vw,205px);line-height:.82;letter-spacing:-.025em;max-width:950px}
.cover-bold{display:block;font-family:var(--condensed);font-weight:600;text-transform:uppercase;letter-spacing:-.025em}
.cover-script{display:block;font:500 italic .93em/.86 var(--editorial);letter-spacing:-.045em;margin-left:11.5%;color:var(--gold-hi)}
.hero h1{font-size:clamp(30px,3vw,46px);line-height:1.5;letter-spacing:.035em;margin-top:30px;font-weight:600}
.hero-description{font-size:14px;line-height:1.9;margin-top:16px;max-width:460px}
.cover-link{background:var(--gold);color:var(--night);font-weight:600;min-width:230px;margin-top:23px}.cover-link:hover{background:var(--gold-hi)}
.cover-fee{font:600 38px/1.1 var(--condensed);margin-top:17px}.cover-fee small{font-size:12px}.cover-fee>span{font-size:12px}
.cover-corner{top:48px;right:5%;padding:0 0 0 22px;border-left:1px solid var(--gold)}
.cover-corner>span{font:500 italic 25px var(--editorial)}.cover-corner p{font:600 92px/.95 var(--condensed);letter-spacing:-.03em;margin-top:7px}.cover-corner small{font-size:11px;margin-top:10px;color:var(--ink)}
.horizon{display:none}.hero-facts{gap:28px;padding:23px 0}.hero-facts strong{font:600 37px var(--condensed);letter-spacing:.01em}.hero-facts>div>span{font-size:10px;letter-spacing:.15em}.hero-facts p{font-size:17px}
.wrap{width:min(1280px,calc(100% - 12%))}
h2{font-size:clamp(34px,3.55vw,54px);font-weight:600;line-height:1.6;letter-spacing:.015em}
.section{padding-block:120px}
.section-marker,.about .section-marker,.experience .section-marker,.information .section-marker{font:600 clamp(48px,6vw,88px)/.95 var(--condensed);letter-spacing:-.025em;margin-bottom:48px}
.about.wrap{width:100%;padding-inline:max(6%,calc((100% - 1280px)/2));background:#eae4d8;color:#142133;position:relative;--line:#14213330;--mist:#465263;--gold:#7b633d;--gold-hi:#7b633d}
.about .section-marker{color:#826b46;font:500 italic clamp(54px,7.8vw,112px)/.95 var(--editorial);margin-bottom:66px}
.about-layout{grid-template-columns:1.1fr 1fr;gap:65px}.prose{font-size:16px;line-height:2.2;padding-top:6px}
.values{margin-top:70px;gap:50px}.values>div{padding-top:25px}.value-num{font:600 30px var(--condensed);letter-spacing:.015em}.values h3{font-size:27px;font-weight:600}
.charity{background:#101c2d}.charity-grid{grid-template-columns:1fr 1fr;gap:70px}.charity .section-marker{max-width:830px;font:500 italic clamp(54px,7vw,104px)/1 var(--editorial);color:var(--gold-hi);margin-bottom:70px}
.donation-panel{border:0;border-top:2px solid var(--gold);padding:36px 0 0;background:transparent}.donation-panel::before,.donation-panel::after{display:none}.ticket-total>span{font:500 italic 25px var(--editorial)}.ticket-total strong{font:600 94px/.9 var(--condensed)}.donation-row p{font:600 42px var(--condensed)}.donation-row.other p{font:600 34px var(--condensed)}.allocation-bar{height:7px}
.experience .section-marker{font:500 italic clamp(55px,7vw,100px)/1 var(--editorial)}.experience-grid{grid-template-columns:1.15fr 1fr;gap:9%}.experience-grid figure img{height:700px}.experience-content{padding-top:80px}.experience-content article>span:first-child{font:600 31px var(--condensed)}.experience-content h3{font-size:clamp(28px,2.65vw,39px);font-weight:600;line-height:1.65}.experience-content article+article{margin-top:55px;padding-top:45px}
.festival{background:#eae4d8;color:#142133;padding-block:90px}.festival .eyebrow{color:#826b46;font:500 italic 34px/1 var(--editorial)}.festival p:not(.eyebrow),.festival small{color:#465263}.festival h2{font-size:42px;font-weight:600;line-height:1.6}.festival-layout{gap:70px}.festival-image img{height:590px;filter:none}
.information .section-marker{font-size:clamp(70px,10vw,144px);text-transform:uppercase;color:var(--ink);margin-bottom:60px}.information h2{font-size:34px}.info-grid{grid-template-columns:1fr 1.15fr;gap:80px}
.eyebrow{font:500 italic 32px/1.2 var(--editorial)}.faq-section h2{font-weight:600;font-size:32px}
.entry{background:#142237}.entry .eyebrow{font:500 italic 48px/1 var(--editorial)}.entry h2{font-size:clamp(44px,4.5vw,66px);line-height:1.5;font-weight:600}.entry-price p{font:600 110px/.95 var(--condensed)}.entry-layout{gap:8%}.form-panel{border:0;border-top:2px solid var(--gold);background:#0b1423}.form-heading h3{font-weight:600}.button{background:var(--gold);color:var(--night);font-weight:600}.button:hover{background:var(--gold-hi)}
.brand{font:600 70px/.85 var(--condensed);letter-spacing:.025em}.footer-top>p{font-size:19px}.footer{padding-block:74px}.mobile-cta strong{font-family:var(--condensed);font-weight:600}
@media(min-width:761px) and (max-width:1100px){
 .header nav{gap:17px}.header-cta{padding-inline:15px}.hero{padding-top:40px}.hero-photo{left:32%;bottom:152px}.cover-title{font-size:15vw}.hero h1{font-size:35px}.cover-corner{top:40px}.cover-corner p{font-size:65px}.cover-corner>span{font-size:20px}.hero-facts p{font-size:14px}.hero-facts strong{font-size:31px}
 .about-layout,.charity-grid,.experience-grid,.festival-layout,.info-grid,.entry-layout{gap:35px}h2{font-size:34px}.prose{font-size:14px}.ticket-total{display:block}.ticket-total strong{font-size:85px}.festival h2{font-size:32px}.experience-content{padding-top:12px}.experience-grid figure img{height:650px}.information h2{font-size:28px}.entry h2{font-size:42px}
}
@media(max-width:760px){
 .header{height:72px;padding-inline:22px}.masthead{font-size:37px}.header-cta{font-size:11px;padding:9px 13px}
 .wrap{width:calc(100% - 44px)}.hero{padding:38px 22px 0}.hero-photo{inset:79px 0 auto 21%;height:392px;border-bottom:0}.hero-photo img{height:450px;top:-25px;object-position:78% center}.photo-shade{background:linear-gradient(0deg,#070d1a 0%,#070d1a33 65%),linear-gradient(90deg,#070d1a66,transparent)}
 .hero-photo figcaption{top:auto;bottom:10px;right:16px;font-size:8px;padding:0;background:transparent;color:#c5cedb}
 .hero-kicker{font-size:12px;letter-spacing:.16em;gap:12px;margin-bottom:44px}.hero-kicker::before{width:25px}
 .cover-title{font-size:clamp(94px,24vw,180px);line-height:.83;position:relative}.cover-script{margin:9px 0 0 7%;font-size:.9em;line-height:.85}
 .hero h1{font-size:clamp(27px,7.3vw,47px);line-height:1.55;letter-spacing:.005em;margin-top:37px}.hero h1 span{white-space:nowrap}.hero-description{font-size:12px;line-height:2;margin-top:24px;max-width:340px}.hero-description br{display:none}
 .hero-copy{padding-bottom:29px}.cover-link{min-width:210px;margin-top:23px;font-size:14px}.cover-fee{font-size:34px;margin-top:18px}.cover-fee>span{font-size:10px;margin-left:18px}.cover-fee small{font-size:10px}
 .cover-corner{top:28px;right:22px;left:auto;text-align:right;border:0;padding:0}.cover-corner>span{font-size:13px}.cover-corner p{font-size:28px;margin:0}.cover-corner small{font-size:7px;margin-top:3px;letter-spacing:.08em}
 .hero-facts{padding:22px 0;gap:20px 15px}.hero-facts p{font-size:13px}.hero-facts strong{font-size:30px}.hero-facts small{font-size:9px}.hero-facts>div:last-child p{font-size:15px}
 .section{padding-block:76px}h2{font-size:clamp(27px,7.2vw,44px);line-height:1.7}.about.wrap{padding-inline:22px}.about .section-marker{font-size:clamp(45px,12vw,80px);margin-bottom:37px}.about-layout{display:block}.prose{font-size:14px;margin-top:30px;line-height:2.2}.values{margin-top:40px}.value-num{font-size:29px}.values h3{font-size:25px}.values>div{padding-block:25px}
 .charity .section-marker{font-size:clamp(43px,11vw,78px);margin-bottom:35px}.donation-panel{margin-top:40px;padding:30px 0 0}.ticket-total{display:flex}.ticket-total strong{font-size:72px}.ticket-total>span{font-size:20px}.donation-row p{font-size:36px}.donation-row.other p{font-size:30px}.donation-row div small{font-size:11px}.fine-print{font-size:11px}
 .experience .section-marker{font-size:60px;margin-bottom:32px}.section-heading{margin-bottom:35px}.experience-grid figure img{height:450px}.experience-content{padding-top:34px}.experience-content article>span:first-child{font-size:28px}.experience-content h3{font-size:29px}.experience-content article+article{margin-top:32px;padding-top:30px}
 .festival{padding-block:60px}.festival-layout{gap:33px}.festival-image img{height:370px}.festival .eyebrow{font-size:30px}.festival h2{font-size:31px}
 .information .section-marker{font-size:clamp(57px,15.5vw,100px);margin-bottom:35px;line-height:.95}.information h2{font-size:26px}.faq-section{padding-block:45px 76px}.faq-section h2{font-size:28px}.eyebrow{font-size:31px}
 .entry .eyebrow{font-size:39px}.entry h2{font-size:45px}.entry-price p{font-size:93px}.form-panel{padding:28px 20px}.form-heading h3{font-size:25px}.footer{padding-block:50px}.brand{font-size:58px}.footer-top>p{font-size:16px}.mobile-cta strong{font-size:30px}.dialog-inner .button{background:var(--gold)}
}
@media(max-width:360px){.hero{padding-inline:18px}.hero-kicker{font-size:10px;gap:8px}.hero-kicker::before{width:18px}.cover-title{font-size:25vw}.hero h1{font-size:7.3vw}.cover-corner{right:18px}.wrap{width:calc(100% - 36px)}.about.wrap{padding-inline:18px}.ticket-total strong{font-size:62px}.ticket-total>span{font-size:18px}.cover-fee>span{margin-left:10px}.entry h2{font-size:40px}.entry .eyebrow{font-size:34px}.information h2{font-size:23px}}

/* Touch choreography follows the user's scroll; no endless autoplay. */
.reveal-story{transition:opacity .9s var(--ease),transform .9s var(--ease)}
.reveal-story.reveal-pending{opacity:0;transform:translateY(45px)}
@media(max-width:760px) and (prefers-reduced-motion:no-preference){
 .cover-bold{transform:translateX(calc(var(--title-travel,0px) * -1));animation:cover-type-in 1.25s var(--ease) both}
 .cover-script{transform:translateX(var(--title-travel,0px));animation:cover-script-in 1.4s var(--ease) both}
 .hero-photo img{transform:translate3d(0,var(--parallax,0px),0) scale(var(--photo-scale,1.04));transform-origin:75% 50%}
 .section-marker.reveal-pending{transform:translate(-28px,25px);opacity:0}
 .reveal-photo.reveal-pending{clip-path:inset(10% 12% 10% 12%)}
 .experience-grid img,.festival-image img{transform:scale(var(--story-scale,1));transform-origin:center}
 .experience-grid figure,.festival-image{overflow:hidden}
 .reveal-heading{transition-duration:1.1s}
}
@keyframes cover-type-in{from{clip-path:inset(0 100% 0 0);opacity:.3}to{clip-path:inset(0);opacity:1}}
@keyframes cover-script-in{from{clip-path:inset(0 0 100% 0);opacity:0}to{clip-path:inset(0);opacity:1}}

@media(max-width:760px){.hero-photo figcaption{top:18px;bottom:auto;left:12px;right:auto;font-size:8px}}

.image-window{overflow:hidden}

/* Review refinement: more room for the image and the italic descenders. */
.hero h1{margin-top:44px}.hero-photo figcaption{font-size:11px}.photo-shade{background:linear-gradient(90deg,#070d1a9c,transparent 45%),linear-gradient(0deg,#070d1a99,transparent 58%)}
.about .prose{color:#344152;font-size:17px}.about .values p{font-size:15px;color:#344152}.ticket-total strong{letter-spacing:0}.ticket-total>span small{font-size:12px}.donation-row div small{font-size:12px}
@media(max-width:760px){
 .hero-kicker{margin-bottom:116px}.hero-photo{inset:76px 0 auto;height:510px;border:0}.hero-photo img{height:580px;object-position:74% center}.photo-shade{background:linear-gradient(0deg,#070d1a 0%,#070d1a55 60%,#070d1a22),linear-gradient(90deg,#070d1a55,transparent)}
 .hero-photo figcaption{top:12px;bottom:auto;left:auto;right:18px;font-size:10px}.hero h1{margin-top:45px}.cover-script{text-shadow:0 2px 25px #070d1a}.hero-description{font-size:14px;line-height:2}
 .about .prose{font-size:15px}.about .values p{font-size:14px}.ticket-total>span small{font-size:11px}.donation-row div small{font-size:12px}
}

/* Circular pin reveal, adapted from the user-supplied 21st.dev interaction. */
.scene-shell{height:230svh;background:var(--night);position:relative}
.scene-stage{height:100svh;min-height:570px;position:sticky;top:0;overflow:hidden;isolation:isolate;background:var(--night)}
.scene-media{position:absolute;inset:0;z-index:-1;clip-path:circle(var(--scene-radius,140px) at 50% 58%)}
.scene-media img{width:100%;height:100%;object-fit:cover;object-position:center;transform:scale(var(--scene-scale,1.14))}
.scene-shade{position:absolute;inset:0;background:linear-gradient(0deg,#070d1a99,transparent 45%,#070d1a99)}
.scene-copy{text-align:center;position:absolute;top:8%;left:5%;right:5%}
.scene-label{font:500 italic clamp(35px,4vw,58px)/1 var(--editorial);color:var(--gold-hi);margin-bottom:22px}
.scene-copy h2{font-size:clamp(32px,4.2vw,60px);line-height:1.55;text-shadow:0 2px 30px #070d1a77}
.scene-copy h2 span{display:inline-block;opacity:var(--word-one,1);transform:translateY(var(--word-shift,0px)) rotate(var(--word-rotate,0deg))}
.scene-copy h2 span:last-child{opacity:var(--word-two,1);transform:translateY(var(--word-shift-two,0px))}
.scene-description{font-size:14px;color:#e0e2e5;margin-top:23px;opacity:var(--scene-detail,1)}
.scene-tags{position:absolute;bottom:13%;inset-inline:20px;display:flex;justify-content:center;gap:12px}
.scene-tags span{font:600 23px/1 var(--condensed);padding:13px 24px;border:1px solid #dfcaa07a;border-radius:100px;background:#0c182ddd;color:#ecdfc4;clip-path:inset(0 var(--tag-clip,0%) 0 0);transform:translateY(var(--tag-shift,0px))}
.scene-tags span:nth-child(2){background:#dac69c;color:var(--night)}
.scene-bottom{position:absolute;bottom:27px;inset-inline:6%;display:flex;justify-content:space-between;align-items:center;gap:20px;font-size:11px;color:#d6dce5}
.scene-bottom a{border-bottom:1px solid var(--gold);min-height:44px;display:flex;align-items:center;font-size:13px}
@media(max-width:760px){
 .scene-shell{height:220svh}.scene-stage{min-height:560px}.scene-copy{top:9%;left:20px;right:20px}.scene-label{font-size:39px;margin-bottom:23px}.scene-copy h2{font-size:clamp(25px,7vw,43px);line-height:1.6}.scene-description{font-size:13px;margin-top:25px}.scene-tags{bottom:13%;gap:7px}.scene-tags span{font-size:18px;padding:10px 12px}.scene-bottom{inset-inline:20px;bottom:23px;font-size:10px}.scene-bottom a{font-size:12px}.scene-media img{object-position:50% center}
}
@media(prefers-reduced-motion:reduce){.scene-shell{height:auto}.scene-stage{position:relative;height:95svh;min-height:620px}.scene-media{clip-path:none}.scene-media img{transform:none}.scene-copy h2 span{opacity:1;transform:none}.scene-description{opacity:1}.scene-tags span{clip-path:none;transform:none}}
html:not(.scene-ready) .scene-shell{height:auto}html:not(.scene-ready) .scene-stage{position:relative}html:not(.scene-ready) .scene-media{clip-path:none}

/* Final art direction: luxury typography, with scale instead of heavy sans. */
:root{--display:"Cormorant Garamond",Didot,"Bodoni MT",serif;--condensed:var(--display)}
.masthead{font:500 40px/1 var(--display);letter-spacing:.1em}.cover-bold{font:500 1em/.85 var(--display);text-transform:none;letter-spacing:-.055em}.cover-script{font-size:.97em;margin-top:12px}.cover-title{font-size:clamp(110px,12.4vw,190px)}
.cover-corner p{font-family:var(--display);font-weight:500}.hero-facts strong{font:500 34px var(--display);letter-spacing:0}.cover-fee{font:500 37px var(--display)}.value-num{font:500 italic 30px var(--editorial)}
.ticket-total strong{font:500 88px/1 var(--display);letter-spacing:-.025em}.donation-row p{font:500 39px var(--display)}.donation-row.other p{font:500 31px var(--display)}
.experience-content article>span:first-child{font:500 italic 32px var(--editorial)}.information .section-marker{font:500 italic clamp(70px,9vw,132px)/1 var(--editorial);text-transform:none}
.entry-price p{font:500 108px/1 var(--display)}.brand{font:500 60px/1 var(--display);letter-spacing:.04em}.mobile-cta strong{font:500 29px var(--display)}
.scene-tags span{font:500 italic 25px/1 var(--editorial);background:#0c182d99;border-radius:0;border-width:0 0 1px;padding:12px 25px}.scene-tags span:nth-child(2){background:#0c182d99;color:#ecdfc4}
@media(max-width:760px){.masthead{font-size:30px;letter-spacing:.075em}.cover-title{font-size:clamp(88px,24vw,175px)}.cover-script{font-size:.95em;margin-top:12px;margin-left:7%}.hero-facts strong{font-size:27px}.cover-fee{font-size:34px}.cover-corner p{font-size:32px}.ticket-total strong{font-size:66px}.ticket-total>span{font-size:19px}.donation-row p{font-size:35px}.entry-price p{font-size:92px}.information .section-marker{font-size:clamp(53px,14vw,100px)}.scene-tags span{font-size:20px;padding:10px 10px}.brand{font-size:48px}}
@media(max-width:360px){.ticket-total strong{font-size:56px}.ticket-total>span{font-size:17px}.scene-tags span{font-size:18px;padding-inline:8px}}

.scene-hint{position:absolute;top:77%;left:0;right:0;text-align:center;font:11px/1.5 var(--sans);letter-spacing:.2em;color:var(--gold-hi);opacity:var(--scene-hint,1)}
@media(max-width:760px){.hero-photo figcaption{top:47px}}
@media(prefers-reduced-motion:reduce){.scene-hint{display:none}}
html:not(.scene-ready) .scene-hint{display:none}

.scene-copy{isolation:isolate}.scene-copy::before{content:"";position:absolute;z-index:-1;inset:-10svh -6vw -45px;background:linear-gradient(180deg,#070d1ab3 0%,#070d1a99 68%,transparent 100%);pointer-events:none}
.scene-description{font-size:16px;font-weight:500;line-height:2;color:#f3eee4;text-shadow:0 1px 8px #070d1a}
.scene-bottom{font-size:12px}
@media(max-width:760px){.scene-description{font-size:15px}.scene-bottom{font-size:11px}.hero-photo figcaption{top:50px;right:20px}.hero-photo{top:86px}}

/* Descenders must remain outside the animated line box: never clip Giving. */
.cover-title,.cover-bold,.cover-script{overflow:visible;clip-path:none!important}
.cover-script{line-height:1.18;padding-bottom:.06em;margin-bottom:-.2em;margin-top:0}
@keyframes cover-type-in{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}
@keyframes cover-script-in{from{opacity:0;filter:blur(3px)}to{opacity:1;filter:blur(0)}}
:root{--numbers:"Manrope","Helvetica Neue",Arial,sans-serif}
.cover-fee,.hero-facts strong,.ticket-total strong,.donation-row p,.donation-row.other p,.entry-price p,.form-total strong,.mobile-cta strong,.cover-corner p{font-family:var(--numbers);font-weight:500;font-variant-numeric:lining-nums tabular-nums;letter-spacing:-.045em}
.cover-fee{font-size:31px;line-height:1.6}.hero-facts strong{font-size:28px}.cover-corner p{font-size:75px;line-height:1.1}.ticket-total strong{font-size:76px}.donation-row p{font-size:34px}.donation-row.other p{font-size:29px}.entry-price p{font-size:87px}.form-total strong{font-size:27px}.mobile-cta strong{font-size:27px}
.scene-label,.value-num,.experience-content article>span:first-child{font-family:var(--display);font-style:normal;font-weight:500;letter-spacing:.015em}
.scene-tags span{font:500 12px/1.3 var(--sans);letter-spacing:.1em;padding:14px 22px}.ticket-total>span{font:500 21px var(--display);font-style:normal}
/* Inspired by Meng To / ThreeUI's Spinning Border Button (21st.dev).
   Native CSS adaptation: champagne beam, bevel and one-shot sheen; no icons. */
@property --button-angle{syntax:"<angle>";initial-value:35deg;inherits:false}
.cover-link,.header-cta,.button,.text-link,.mobile-cta>a,.scene-bottom a{
 --button-angle:35deg;position:relative;isolation:isolate;overflow:hidden;display:inline-flex;align-items:center;justify-content:center;
 border:1px solid transparent;border-radius:999px;color:#f0e0bc;
 background:linear-gradient(155deg,#283343 0%,#101b2b 45%,#0a1220 100%) padding-box,conic-gradient(from var(--button-angle),#7f715d60,#efddb1 12%,#796d5a50 27%,#bfa67688 55%,#f4e5c0 69%,#7f715d60 85%) border-box;
 box-shadow:inset 0 1px 0 #f4e3bd20,0 6px 18px #00000024;
 font:500 13px/1.5 var(--sans);letter-spacing:.07em;min-height:54px;padding:15px 30px;
 transition:box-shadow .35s,transform .35s,color .35s;
}
.cover-link::before,.header-cta::before,.button::before,.text-link::before,.mobile-cta>a::before,.scene-bottom a::before{content:"";position:absolute;inset:3px;border-radius:inherit;border:1px solid #d0bd9420;pointer-events:none}
.cover-link::after,.header-cta::after,.button::after,.text-link::after,.mobile-cta>a::after,.scene-bottom a::after{content:"";display:block;position:absolute;inset:-20% auto -20% -65%;height:auto;width:45%;background:linear-gradient(90deg,transparent,#fff2cf26,transparent);transform:skewX(-25deg);pointer-events:none;border:0;transition:none}
.cover-link:hover,.header-cta:hover,.button:hover,.text-link:hover,.mobile-cta>a:hover,.scene-bottom a:hover{color:#fff3d6;background:linear-gradient(155deg,#344150,#152135 60%,#0a1220) padding-box,conic-gradient(from var(--button-angle),#7f715d60,#efddb1 12%,#796d5a50 27%,#bfa67688 55%,#f4e5c0 69%,#7f715d60 85%) border-box;box-shadow:inset 0 1px 0 #f4e3bd30,0 7px 28px #cfb87e1a;animation:button-beam 2.4s ease-in-out 1}
.cover-link:active,.header-cta:active,.button:active,.text-link:active,.mobile-cta>a:active,.scene-bottom a:active{transform:scale(.97)}
.button-ready{animation:button-beam 2.4s ease-in-out 1}
.button-ready::after,.cover-link:hover::after,.header-cta:hover::after,.button:hover::after,.text-link:hover::after,.mobile-cta>a:hover::after,.scene-bottom a:hover::after{animation:button-sheen 1.2s ease-out 1}
.header-cta{min-height:46px;padding:12px 25px;font-size:12px}.cover-link{min-width:250px;min-height:60px}.button{display:flex;width:100%;min-height:60px}.text-link{margin-top:28px}.scene-bottom a{min-height:44px;padding:11px 22px;font-size:12px}.mobile-cta>a{min-height:46px;padding:11px 20px;font-size:12px}
@keyframes button-beam{to{--button-angle:395deg}}
@keyframes button-sheen{to{left:135%}}
@media(max-width:760px){
 .cover-script{line-height:1.18;margin-top:0;margin-bottom:-.17em}.cover-fee{font-size:29px}.hero-facts strong{font-size:24px}.cover-corner p{font-size:30px}.ticket-total strong{font-size:52px}.ticket-total>span{font-size:19px}.donation-row p{font-size:29px}.donation-row.other p{font-size:25px}.entry-price p{font-size:77px}.form-total strong{font-size:26px}
 .header-cta{padding:10px 18px;font-size:11px;min-height:43px}.cover-link{min-height:57px;min-width:237px}.scene-tags span{font-size:10px;padding:12px 11px;letter-spacing:.06em}.scene-bottom a{padding:10px 18px}.mobile-cta>a{padding-inline:19px}.dialog-inner .button{background:linear-gradient(155deg,#283343,#101b2b) padding-box,linear-gradient(45deg,#776a54,#efddb1,#776a54) border-box}
}
@media(max-width:360px){.hero-facts strong{font-size:21px}.ticket-total strong{font-size:46px}.ticket-total>span{font-size:17px}.header-cta{padding-inline:14px}.mobile-cta>a{font-size:11px;padding-inline:16px}.cover-fee>span{font-size:9px}}

/* Independent review: visible agreement control and readable supporting copy. */
.check input{appearance:none;-webkit-appearance:none;display:grid;place-content:center;width:20px;height:20px;border:1.5px solid #d4b57ac0;border-radius:3px;background:transparent;flex-shrink:0}
.check input::before{content:"";width:5px;height:9px;border:solid #0c1727;border-width:0 2px 2px 0;transform:translateY(-1px) rotate(45deg) scale(0)}
.check input:checked{background:#d4b57a;border-color:#d4b57a}.check input:checked::before{transform:translateY(-1px) rotate(45deg) scale(1)}
.hero-description{color:#c8cdd5}.scene-bottom>span{line-height:1.6}.scene-bottom{gap:12px;bottom:calc(27px + env(safe-area-inset-bottom))}
input::placeholder,textarea::placeholder{color:#a4adbb;font-size:13px}
@media(min-width:761px){.hero-description{font-size:16px}.about .values p{font-size:15px}}
@media(max-width:760px){
 .cover-fee{display:flex;align-items:baseline;flex-wrap:wrap;gap:8px}.cover-fee>span{font-size:12px;margin-left:7px;letter-spacing:0;color:#c0c7d1}.cover-fee small{font-size:11px;letter-spacing:0}
 .hero-photo figcaption{font-size:12px;max-width:calc(100% - 40px);line-height:1.6}.scene-bottom{font-size:12px;bottom:calc(23px + env(safe-area-inset-bottom))}.scene-bottom>span{max-width:60%}.scene-bottom a{flex-shrink:0}
 .scene-tags span{font-size:12px;padding-inline:10px;letter-spacing:.015em}.ticket-total>span small{font-size:12px}.ticket-total p{font-size:12px}.donation-row p small{font-size:12px}
 .form-note,.form-total+.form-note,.check{font-size:12px;line-height:1.9}.form-heading>span{font-size:12px}
}

/* Footer: one aligned directory, with secondary details in dialogs. */
body{padding-bottom:0}
.site-footer{position:relative;background:#060c16;border-top:1px solid var(--line);padding:52px 0 calc(20px + env(safe-area-inset-bottom))}
.footer-main{display:grid;grid-template-columns:1fr 1.2fr 1fr;align-items:start;gap:48px;padding-bottom:38px}
.footer-signature{padding-top:4px}
.footer-wordmark{display:inline-block;font:500 47px/1 var(--display);letter-spacing:.045em;color:var(--gold-hi)}
.footer-wordmark span{display:block;font:9px/1.6 var(--sans);letter-spacing:.23em;margin-top:11px;color:var(--gold)}
.site-footer h2,.footer-label{font:11px/1.7 var(--sans);letter-spacing:.05em;color:#b9c0ca;margin:0 0 10px}
.seller-name{font:500 23px/1.6 var(--serif);letter-spacing:.01em}
.footer-contact{margin-top:2px}
.footer-contact a{display:inline-flex;align-items:center;min-height:44px;font:13px/1.6 var(--sans);color:#c7ccd5;overflow-wrap:anywhere}
.footer-connect{justify-self:end}
.footer-socials{display:flex;gap:18px}
.footer-socials a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-width:48px;min-height:61px;gap:9px;color:var(--gold-hi);transition:color .25s,transform .25s}
.footer-socials svg{width:21px;height:21px;fill:currentColor}.footer-socials span{font:11px/1.5 var(--sans);color:#b9c0ca}
.site-footer a:hover{color:#fff4da}.footer-socials a:hover{transform:translateY(-3px)}
.footer-bottom{display:flex;align-items:center;justify-content:space-between;margin-top:0;gap:24px;border-top:1px solid var(--line);padding-top:13px}
.footer-policy-links{display:flex;flex-wrap:wrap;align-items:center;gap:0 25px}
.footer-policy-links button{display:inline-flex;align-items:center;min-height:44px;padding:4px 0;border:0;background:none;font:11px/1.6 var(--sans);color:#b9c0ca;cursor:pointer}
.footer-policy-links button:hover{color:var(--gold-hi)}
.footer-bottom>.footer-copyright{font:10px/1.6 var(--sans);color:#a8b1bf}
.disclosure-content{padding:0;margin-bottom:26px}.disclosure-content dl{margin-bottom:22px}.disclosure-content dl>div{grid-template-columns:165px 1fr;padding:16px 0;gap:25px}.disclosure-content dt,.disclosure-content dd{font-size:13px}.disclosure-content dd small{font-size:12px}.disclosure-content dl>div:first-child{border-top:0}.disclosure-content a{text-decoration:underline;text-underline-offset:4px}
.footer-dialog .dialog-inner h2{font-size:25px;line-height:1.6;margin:0 0 26px}.footer-dialog .disclosure-content p{font-size:13px;line-height:2;color:var(--mist)}.footer-dialog .disclosure-content p+p{margin-top:15px}.footer-dialog .button{position:sticky;bottom:0}
body.footer-in-view .reading-progress{opacity:0}
.skip{top:0;transform:translateY(-160%)}.skip:focus{top:12px;transform:none}
@media(min-width:761px) and (max-width:1050px){.footer-main{gap:24px;grid-template-columns:.85fr 1.15fr 1fr}.footer-wordmark{font-size:38px}.seller-name{font-size:20px}.footer-socials{gap:8px}.footer-socials a{min-width:43px}.footer-label{font-size:10px}}
@media(max-width:760px){
 .site-footer{padding:36px 0 calc(20px + env(safe-area-inset-bottom))}
 .footer-main{grid-template-columns:1fr;gap:25px;text-align:center;padding-bottom:25px}
 .footer-signature{padding-top:0}.footer-wordmark{font-size:43px}.footer-wordmark span{font-size:9px;margin-top:9px}
 .site-footer h2{font-size:11px;margin-bottom:5px}.seller-name{font-size:22px}.footer-contact{margin-top:0}.footer-contact a{font-size:13px;min-height:38px}
 .footer-connect{justify-self:center}.footer-label{font-size:11px;margin-bottom:10px}.footer-socials{justify-content:center;gap:24px}.footer-socials a{min-width:49px;min-height:57px}
 .footer-bottom{flex-direction:column;gap:4px;padding-top:10px}.footer-policy-links{justify-content:center;gap:0 22px}.footer-policy-links button{font-size:11px}.footer-copyright{text-align:center;font-size:10px}
 .footer-dialog .dialog-inner h2{font-size:22px}.disclosure-content dl>div{grid-template-columns:1fr;gap:7px;padding:16px 0}
}
@media(max-width:360px){.footer-policy-links{gap:0 16px}.footer-policy-links button{font-size:10px}.footer-socials{gap:20px}.seller-name{font-size:21px}}

/* 受付・確認画面 */
[hidden]{display:none!important}.form-trap{position:absolute;left:-10000px;width:1px;height:1px;overflow:hidden}.review-actions{display:grid;gap:12px}.review-actions .button{width:100%}.button:disabled{cursor:wait;opacity:.55;transform:none!important}#review-values dd{overflow-wrap:anywhere;white-space:pre-wrap}.form-policy-links{display:flex;gap:18px;flex-wrap:wrap;margin:18px 0}.form-policy-links button{border:0;background:none;color:inherit;padding:4px 0;text-decoration:underline;font:inherit;font-size:12px;cursor:pointer}#form-status,#send-status{min-height:1.5em;line-height:1.8}#entry-result{line-height:1.9;overflow-wrap:anywhere}#entry-result h3{font-size:22px;margin:0 0 22px}#entry-result p{margin:16px 0}.entry-receipt{font-family:var(--font-sans);font-size:13px;letter-spacing:.02em}#entry-result a{text-decoration:underline;font-size:14px}#review-dialog .dialog-inner{padding-bottom:28px}
