:root{--bg:#14100c;--bg-raise:#1c1712;--bg-deep:#0d0a07;--rule:#2e2720;--text:#ede6d8;--text-dim:#a2988a;--gold:#c4a265;--gold-deep:#8e7442;--mincho:"Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", "Songti SC", serif;--gothic:"Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", "Noto Sans JP", system-ui, sans-serif;--gut:clamp(20px, 5vw, 48px);--measure:32rem;--bar-h:62px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-text-size-adjust:100%}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}body{background:var(--bg);color:var(--text);font-family:var(--gothic);letter-spacing:.02em;-webkit-font-smoothing:antialiased;padding-bottom:calc(var(--bar-h) + env(safe-area-inset-bottom));margin:0;font-size:15.5px;line-height:2}img{max-width:100%;height:auto;display:block}a{color:inherit;text-decoration:none}a:focus-visible,button:focus-visible{outline:2px solid var(--gold);outline-offset:3px}h1,h2,h3{font-family:var(--mincho);letter-spacing:.1em;text-wrap:balance;margin:0;font-weight:600;line-height:1.7}h1{font-size:clamp(24px,5vw,38px)}h2{font-size:clamp(20px,3.4vw,27px)}h3{font-size:clamp(16px,2.4vw,19px)}p{max-width:var(--measure);margin:0 0 1.4em}p:last-child{margin-bottom:0}.container{width:100%;max-width:68rem;padding-inline:var(--gut);margin:0 auto}.narrow{max-width:44rem}section.block{padding-block:clamp(56px,11vw,120px)}section.block.tight{padding-block:clamp(36px,7vw,72px)}.eyebrow{font-family:var(--mincho);letter-spacing:.42em;color:var(--gold);text-transform:none;margin:0 0 14px;font-size:12px}.eyebrow-en{letter-spacing:.3em;color:var(--text-dim);text-transform:uppercase;font-size:10.5px;font-family:var(--gothic);margin:0 0 18px}.rule-gold{background:var(--gold);border:0;width:34px;height:1px;margin:26px 0}.rule-gold.center{margin-inline:auto}.subtitle{font-family:var(--mincho);letter-spacing:.28em;color:var(--text-dim);max-width:none;margin:10px 0 0;font-size:clamp(15px,2.4vw,18px)}.dim{color:var(--text-dim)}.small{font-size:13.5px;line-height:1.9}.center{text-align:center}.more{letter-spacing:.12em;min-height:44px;color:var(--gold);align-items:center;gap:10px;font-size:13.5px;transition:gap .2s;display:inline-flex;position:relative}.more:before{content:"";background:var(--gold-deep);height:1px;position:absolute;bottom:12px;left:0;right:0}.more:hover{gap:16px}.more:after{content:"→"}.maplink{letter-spacing:.1em;min-height:40px;color:var(--gold);text-underline-offset:5px;text-decoration:underline;-webkit-text-decoration-color:var(--gold-deep);text-decoration-color:var(--gold-deep);align-items:center;gap:7px;margin-top:4px;font-size:12.5px;transition:text-decoration-color .2s;display:inline-flex}.maplink:hover{-webkit-text-decoration-color:var(--gold);text-decoration-color:var(--gold)}.maplink:after{content:"↗";opacity:.7;font-size:11px}.btn{letter-spacing:.14em;min-height:48px;font-size:14.5px;font-family:var(--mincho);border:1px solid var(--gold-deep);color:var(--gold);cursor:pointer;background:0 0;justify-content:center;align-items:center;gap:8px;padding:12px 28px;transition:background .2s,color .2s;display:inline-flex}.btn:hover{background:var(--gold);color:var(--bg)}.btn-fill{background:var(--gold);color:#17120b;border-color:var(--gold);font-weight:600}.btn-fill:hover{background:var(--text);border-color:var(--text);color:var(--bg)}.figure{margin:0}.figure img{width:100%}.figcap{color:var(--text-dim);letter-spacing:.1em;margin-top:10px;font-size:12px}.band{position:relative;overflow:hidden}.band img:not(.hero-mark){object-fit:cover;width:100%}.band.hero{height:min(74vh,660px)}.band.hero img:not(.hero-mark){height:100%}.band.hero:after{content:"";background:linear-gradient(to bottom, transparent, var(--bg));pointer-events:none;height:38%;position:absolute;bottom:0;left:0;right:0}.grid-photos{grid-template-columns:repeat(2,1fr);gap:3px;display:grid}.grid-photos img{aspect-ratio:3/2;object-fit:cover;width:100%}@media (min-width:700px){.grid-photos{grid-template-columns:repeat(3,1fr);gap:4px}.grid-photos.cols-4{grid-template-columns:repeat(4,1fr)}.grid-photos.cols-3{grid-template-columns:repeat(3,1fr)}.grid-photos.cols-2{grid-template-columns:repeat(2,1fr)}}.figure.tall img{object-fit:cover;width:100%;max-height:68vh}.split{align-items:center;gap:clamp(28px,5vw,56px);display:grid}@media (min-width:820px){.split{grid-template-columns:1fr 1fr}.split.narrow-media{grid-template-columns:1.1fr .9fr}.split.media-first>:first-child{order:2}}.deflist{gap:2px;margin:0;display:grid}.deflist>div{border-bottom:1px solid var(--rule);grid-template-columns:7.5rem 1fr;gap:4px 18px;padding:13px 0;display:grid}.deflist dt{font-family:var(--mincho);letter-spacing:.12em;color:var(--gold);font-size:13.5px}.deflist dd{margin:0;font-size:14.5px}@media (max-width:560px){.deflist>div{grid-template-columns:1fr}}.site-header{z-index:50;background:color-mix(in srgb, var(--bg) 88%, transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid var(--rule);position:sticky;top:0}.site-header .inner{flex-wrap:wrap;align-items:center;gap:0 16px;min-height:56px;padding-block:6px;display:flex}.brand{align-items:center;min-height:44px;display:flex}.brand img{width:auto;height:34px}@media (min-width:760px){.brand img{height:40px}}.hero-mark{z-index:2;filter:drop-shadow(0 2px 12px #0000008c);width:auto;height:clamp(150px,30vh,260px);display:block;position:absolute;bottom:clamp(28px,7vw,64px);left:50%;transform:translate(-50%)}.hero-mark.wide{width:min(58vw,340px);height:auto}.nav{letter-spacing:.1em;width:100%;font-size:12.5px;font-family:var(--mincho);border-top:1px solid var(--rule);order:3;justify-content:space-between;gap:8px;margin-top:2px;display:flex}.nav a{color:var(--text-dim);white-space:nowrap;align-items:center;min-height:40px;display:flex}.nav a:hover,.nav a[aria-current=page]{color:var(--gold)}@media (min-width:760px){.nav{letter-spacing:.16em;border-top:0;order:0;gap:clamp(16px,2.6vw,32px);width:auto;margin:0 auto;font-size:13px}.nav a{min-height:44px}}.langs{gap:6px;margin-left:auto;display:flex}.lang{letter-spacing:.18em;min-height:44px;color:var(--text-dim);border:1px solid var(--rule);white-space:nowrap;align-items:center;padding:0 14px;font-size:11.5px;display:inline-flex}.lang:hover{color:var(--gold);border-color:var(--gold-deep)}.reserve-bar{z-index:60;background:color-mix(in srgb, var(--bg-deep) 94%, transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid var(--rule);padding-bottom:env(safe-area-inset-bottom);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0}.reserve-bar .label{font-family:var(--mincho);letter-spacing:.2em;color:var(--text-dim);white-space:nowrap;align-items:center;padding-inline:22px;font-size:13.5px;display:none}@media (min-width:700px){.reserve-bar .label{display:flex}}.reserve-bar .links{flex:1;display:flex}.reserve-bar a{min-height:var(--bar-h);letter-spacing:.12em;border-left:1px solid var(--rule);color:var(--text);flex:1;justify-content:center;align-items:center;gap:7px;font-size:13.5px;display:flex}.reserve-bar a:first-child{border-left:0}.reserve-bar a.primary{background:var(--gold);color:#17120b;font-weight:600;font-family:var(--mincho)}.reserve-bar a:hover{color:var(--gold)}.reserve-bar a.primary:hover{background:var(--text);color:var(--bg)}.site-footer{border-top:1px solid var(--rule);color:var(--text-dim);padding-block:clamp(40px,7vw,72px);font-size:13px}.footer-grid{gap:32px;display:grid}@media (min-width:760px){.footer-grid{grid-template-columns:1.2fr 1fr 1fr}}.footer-grid h3{letter-spacing:.2em;color:var(--gold);margin-bottom:12px;font-size:13px}.footer-links{display:grid}.footer-links a{align-items:center;min-height:44px;display:flex}.footer-links a:hover{color:var(--gold)}.copyright{border-top:1px solid var(--rule);letter-spacing:.1em;margin-top:40px;padding-top:20px;font-size:11.5px}.visually-hidden{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (prefers-reduced-motion:no-preference){@supports (animation-timeline:view()){.m-rise{animation:linear both m-rise-in;animation-timeline:view();animation-range:entry 4% cover 20%}@keyframes m-rise-in{0%{opacity:0;transform:translateY(26px)}to{opacity:1;transform:translateY(0)}}.m-zoom{overflow:hidden}.m-zoom img{will-change:transform;animation:linear both m-zoom-in;animation-timeline:view();animation-range:cover}@keyframes m-zoom-in{0%{transform:scale(1)}to{transform:scale(1.07)}}.m-depth{overflow:hidden}.m-depth img{will-change:transform;animation:linear both m-depth-move;animation-timeline:view();animation-range:cover}@keyframes m-depth-move{0%{transform:translateY(-7%)scale(1.16)}to{transform:translateY(7%)scale(1.16)}}.m-unveil img{animation:linear both m-unveil-in;animation-timeline:view();animation-range:entry cover 26%}@keyframes m-unveil-in{0%{clip-path:inset(0 0 100%)}to{clip-path:inset(0)}}.band.hero.m-hero img:not(.hero-mark){will-change:transform;animation:linear both m-hero-drift;animation-timeline:scroll(root);animation-range:0 100vh}@keyframes m-hero-drift{0%{transform:translateY(0)scale(1.1)}to{transform:translateY(7%)scale(1.1)}}.band.hero.m-hero .hero-mark{animation:linear both m-mark-out;animation-timeline:scroll(root);animation-range:0 62vh}@keyframes m-mark-out{0%{opacity:1;transform:translate(-50%)translateY(0)}to{opacity:0;transform:translate(-50%)translateY(-26px)}}}}
