@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&family=Noto+Serif+JP:wght@400;500;600;700&display=swap');
:root{--bg:#200d1a;--gold:#f5cd77;--white:#fff8ef;--muted:#d5c0ca;--line:#70414e}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{margin:0;background:var(--bg);color:var(--white);font-family:'Noto Sans JP',sans-serif;font-size:14px;line-height:1.9}a{color:inherit;text-decoration:none}a:focus-visible{outline:3px solid #ffde94;outline-offset:6px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:'Noto Serif JP',serif;font-weight:500}img{display:block;width:100%}.header{height:88px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #d9aa6250;background:#1e101b}.wordmark{font-family:Georgia,serif;font-size:34px;line-height:1;letter-spacing:6px;color:var(--gold)}.wordmark span{display:block;font:8px 'Noto Sans JP',sans-serif;letter-spacing:3px;margin-top:8px}.header nav{display:flex;gap:32px;font-size:12px}.header nav a:hover{color:var(--gold)}.header-contact{background:linear-gradient(125deg,#fbe6a4,#dba352);color:#4a2713;padding:11px 25px;font-size:12px;display:flex;gap:30px}.hero{min-height:800px;position:relative;isolation:isolate;display:flex;justify-content:center;text-align:center;align-items:center;background:#43182e url('assets/glamour-hero.jpg') center 55%/cover;padding:52px 24px 75px;overflow:hidden}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,#22091d18,#260e2470 48%,#200a1815),linear-gradient(0deg,#220b1cbd,transparent 24%,transparent 80%,#1f0c1b44);z-index:-1}.hero-content{max-width:900px}.opening-ribbon{display:inline-flex;border:1px solid #f5cd7780;background:#641c3ebd;color:#ffe7a8;font:12px Georgia,serif;letter-spacing:3px;padding:10px 23px;box-shadow:0 0 30px #f78f7326}.opening-ribbon span{font:10px 'Noto Sans JP',sans-serif;letter-spacing:1px;margin-left:18px}.hero-pretitle{font:16px Georgia,serif;letter-spacing:8px;margin:30px 0 0;color:#ffe8b1;text-shadow:0 2px 8px #000}.hero-logo{font-family:Georgia,serif;font-size:clamp(95px,12vw,170px);font-weight:400;letter-spacing:.1em;line-height:1.12;padding-left:.1em;background:linear-gradient(175deg,#fff9d8 15%,#f9d88c 35%,#c48024 57%,#ffe6a1 72%,#d3953d 88%);background-clip:text;-webkit-background-clip:text;color:transparent;filter:drop-shadow(0 5px 3px #18090b) drop-shadow(0 0 18px #ebb54955)}.hero-kana{font-family:'Noto Serif JP',serif;font-size:18px;letter-spacing:10px;color:#ffe8b7;padding-left:10px}.hero-rule{display:flex;justify-content:center;align-items:center;gap:20px;color:var(--gold);margin:14px 0}.hero-rule:before,.hero-rule:after{content:'';height:1px;width:85px;background:linear-gradient(90deg,transparent,#f2c26e)}.hero-rule:after{transform:rotate(180deg)}h1{font-size:clamp(30px,3.9vw,52px);letter-spacing:.05em;line-height:1.6;text-shadow:0 2px 8px #260817,0 0 30px #230d1e}h1 span{color:#ffe5a1}.hero-intro{font-size:14px;line-height:2.1;margin:15px 0 25px;text-shadow:0 2px 4px #160511}.hero-actions{display:flex;flex-direction:column;align-items:center;gap:13px}.button{display:inline-flex;align-items:center;justify-content:space-between;gap:35px;min-height:56px;padding:14px 28px;font-size:13px;transition:transform .2s,filter .2s}.button:hover{transform:translateY(-3px);filter:brightness(1.12)}.gold-button{background:linear-gradient(120deg,#fff0b8,#edbe60 65%,#fadd92);color:#4b2418;border:1px solid #fff0bf;box-shadow:0 4px 0 #98642d,0 8px 35px #eeb55755;font-weight:600}.hero-location{font-size:11px;text-shadow:0 1px 5px #000}.concept-label{position:absolute;bottom:20px;right:20px;font-size:8px;letter-spacing:.6px;color:#f3dcdc;background:#240b1c6b;padding:2px 7px}.scroll-cue{position:absolute;bottom:22px;left:5%;font:9px Georgia,serif;letter-spacing:2px;color:#f2cc8a}.scroll-cue span{padding-left:15px}.sparkles{position:absolute;inset:0;z-index:-1;pointer-events:none}.sparkles i{position:absolute;color:#fff2b6;font-style:normal;text-shadow:0 0 18px #ffda7a;animation:twinkle 4s infinite ease-in-out;font-size:25px}.sparkles i:nth-child(1){top:20%;left:12%}.sparkles i:nth-child(2){top:48%;left:20%;animation-delay:1s}.sparkles i:nth-child(3){top:13%;right:18%;animation-delay:2s}.sparkles i:nth-child(4){bottom:21%;right:14%;animation-delay:.5s}.sparkles i:nth-child(5){bottom:16%;left:7%;animation-delay:2.5s}.sparkles i:nth-child(6){top:55%;right:7%;animation-delay:1.5s}@keyframes twinkle{0%,100%{opacity:.4;transform:scale(.7)}50%{opacity:1;transform:scale(1.2)}}.ticker{overflow:hidden;white-space:nowrap;text-align:center;background:linear-gradient(90deg,#e5b464,#fff0be,#dca951);color:#613923;font:15px Georgia,serif;letter-spacing:3px;padding:19px 0}.ticker span{margin:0 35px}.section{padding:75px 7%}.about{background:#fbf0e3;color:#452035;position:relative}.about-grid{max-width:1350px;margin:auto;display:grid;grid-template-columns:1fr 1fr;gap:7%;align-items:center}.kicker{font:11px Georgia,serif;letter-spacing:2.5px;color:#b78335}h2{font-size:clamp(28px,3vw,42px);line-height:1.8;letter-spacing:.02em}.about-title h2{margin:20px 0 23px;font-size:clamp(25px,2.8vw,37px)}.about-title em{font-style:normal;color:#a13465}.welcome-copy{font-size:13px;line-height:2.3;color:#765764}.text-link{font-size:12px;display:inline-flex;border-bottom:1px solid #b78549;gap:45px;padding-bottom:8px;margin-top:25px;color:#8d3a5d}.brand-sign{transform:rotate(-2deg);padding:9px;background:#dab171;box-shadow:14px 18px 0 #ead9c5}.brand-sign>span{display:block;text-align:center;font-family:'Noto Serif JP',serif;font-size:12px;letter-spacing:2px;padding:7px 0 2px;color:#552b24}.invitation{padding:65px 7% 75px;background:radial-gradient(ellipse at top,#6d254e,#301329 80%)}.invite-heading{text-align:center}.invite-heading .kicker{color:#e5b979}.invite-heading h2{margin:15px 0 35px}.invite-heading h2 span{color:#f3cd83}.invite-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;max-width:1350px;margin:auto}.invite-cards article{padding:30px 25px;text-align:center;background:linear-gradient(145deg,#7d36536e,#39162a);border:1px solid #c790655c;position:relative}.card-symbol{display:block;color:#f8cf79;font-size:35px;line-height:1.2;margin-bottom:12px}.small-label{font:9px Georgia,serif;letter-spacing:2px;color:#e7c18f}.invite-cards h3{font-size:23px;line-height:1.8;margin:13px 0}.invite-cards p{font-size:12px;line-height:2;color:#e0c9d4}.guide{background:#fff8ee;color:#4e283b}.section-label{display:flex;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #c99f734f;font-size:10px;letter-spacing:1.8px;color:#b48444}.section-label span:first-child{font-family:Georgia,serif}.section-label span:last-child{letter-spacing:1px}.guide-heading{display:flex;align-items:center;justify-content:space-between;gap:50px;padding:35px 0}.guide-heading h2{font-size:30px}.guide-heading p{font-size:12px;color:#886777}.guide-rows article{border-top:1px solid #dcc2b4;padding:26px 0;display:grid;grid-template-columns:7% 27% 44% 22%;align-items:center}.guide-rows article:last-child{border-bottom:1px solid #dcc2b4}.num{color:#bc8a3e;font:18px Georgia,serif}.guide-rows h3{font-size:19px}.guide-rows p{font-size:12px;color:#886777}.row-tag{font:9px Georgia,serif;letter-spacing:2px;color:#b78335;justify-self:end}.guide-rows a{justify-self:end;font-size:11px;color:#a63e6c}.access{background:radial-gradient(ellipse at bottom right,#7a3049,#311327 75%);position:relative}.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:10%;padding-top:40px;max-width:1350px;margin:auto}.access-name{font-family:Georgia,serif;font-size:75px;line-height:1.3;letter-spacing:10px;color:#f7d38c;margin-top:8px}.kana{font-family:serif;letter-spacing:5px;margin-top:4px;font-size:15px}.address{font-size:13px;line-height:2.1;color:#e0cdd6;margin:23px 0}.outline-button{border:1px solid #d9b375;color:#f4d8a5}.outline-button:hover{background:#72425a}.contact-panel{border:1px solid #d3a7747a;padding:30px;background:#9c42601f;box-shadow:0 15px 50px #130b152f}.contact-panel h3{font-size:30px;line-height:1.8;margin:20px 0}.contact-panel>p{font-size:11px;color:var(--muted)}.phone{display:flex;justify-content:space-between;font:clamp(25px,2.7vw,38px) Georgia,serif;color:#ffdd95;margin:15px 0;white-space:nowrap}.phone span{font-size:25px}.phone-note{font-size:10px;color:var(--muted)}.contact-note{border-top:1px solid #c9987940;margin-top:22px;padding-top:18px;font-size:10px;color:var(--muted)}footer{border-top:1px solid #b77b4e44;display:flex;justify-content:space-between;align-items:center;padding:30px 5%;gap:20px;background:#1e101c}footer .wordmark{font-size:25px}footer p,footer>span{font-size:9px;color:var(--muted)}.mobile-bar{display:none}@media(max-width:900px){.header nav{gap:15px}.hero{min-height:760px}.hero-logo{font-size:135px}.brand-sign{box-shadow:8px 10px 0 #ead9c5}.invite-cards{gap:15px}.invite-cards article{padding:27px 15px}.invite-cards h3{font-size:19px}.access-grid{gap:5%}.contact-panel{padding:23px}.phone{font-size:27px}}@media(max-width:650px){.header{height:74px;padding:0 5%}.header nav{display:none}.header .wordmark{font-size:27px}.header-contact{padding:9px 13px;font-size:10px;gap:13px}.hero{min-height:710px;padding:45px 18px 80px;background-position:center center}.hero-shade{background:linear-gradient(0deg,#280e26b0,transparent 18%,#35132c55 55%,#28102544)}.opening-ribbon{padding:8px 12px;letter-spacing:2px;font-size:10px}.opening-ribbon span{font-size:8px;margin-left:10px;letter-spacing:.5px}.hero-pretitle{font-size:12px;letter-spacing:5px;margin-top:32px}.hero-logo{font-size:clamp(82px,22vw,130px);letter-spacing:.07em;padding-left:.07em;line-height:1.25}.hero-kana{font-size:15px;letter-spacing:8px}.hero-rule{margin:13px 0}.hero-rule:before,.hero-rule:after{width:60px}h1{font-size:29px;line-height:1.7;letter-spacing:.02em}h1 span{display:block;font-size:36px}.hero-intro{font-size:11px;line-height:2.1;margin:17px 0 24px}.button{min-height:54px;font-size:11px;padding:13px 20px;gap:23px}.hero-location{font-size:10px}.concept-label{right:12px;bottom:12px;font-size:6px;padding:1px 4px}.scroll-cue{left:5%;bottom:35px;font-size:8px;letter-spacing:1px}.ticker{font-size:11px;letter-spacing:2px;padding:15px 0;text-align:left}.ticker span{margin:0 18px}.section{padding:45px 6%}.about-grid{grid-template-columns:1fr;gap:32px}.about-title h2{font-size:27px;margin:15px 0 20px}.welcome-copy{font-size:12px;line-height:2.2}.brand-sign{margin:0 5px 12px;transform:rotate(-2deg)}.brand-sign>span{font-size:10px}.kicker{font-size:9px;letter-spacing:1.7px}.text-link{font-size:11px;margin-top:20px}.invitation{padding:43px 6% 48px}.invite-heading h2{font-size:27px;margin:10px 0 25px}.invite-heading h2 span{display:block}.invite-cards{grid-template-columns:1fr;gap:13px}.invite-cards article{padding:24px 24px 24px 74px;text-align:left}.card-symbol{position:absolute;left:25px;top:30px;font-size:29px}.invite-cards h3{font-size:22px;line-height:1.7;margin:9px 0 10px}.invite-cards p{font-size:11px}.small-label{font-size:8px}.section-label{font-size:9px;letter-spacing:1px;padding-bottom:17px}.section-label span:last-child{font-size:9px}.guide-heading{display:block;padding:27px 0}.guide-heading h2{font-size:27px}.guide-heading p{font-size:11px;margin-top:16px}.guide-rows article{grid-template-columns:25px 1fr;gap:10px 8px;padding:22px 0}.guide-rows h3{font-size:18px}.guide-rows p{grid-column:2;font-size:11px}.guide-rows a,.row-tag{grid-column:2;justify-self:start;font-size:10px}.access-grid{grid-template-columns:1fr;gap:32px;padding-top:29px}.access-name{font-size:64px}.address{font-size:12px}.contact-panel{padding:25px 20px}.contact-panel h3{font-size:27px}.phone{font-size:30px}.contact-panel>p{font-size:9px}footer{padding:28px 6% 100px;flex-wrap:wrap}footer p{order:3;font-size:8px}.mobile-bar{display:flex;position:fixed;bottom:0;width:100%;z-index:20;box-shadow:0 -5px 25px #180a1a77;padding-bottom:env(safe-area-inset-bottom);background:#eac175}.mobile-bar a{width:35%;display:flex;justify-content:space-between;padding:17px 5%;font-size:11px;background:#52213f}.mobile-bar a:last-child{width:65%;background:linear-gradient(110deg,#ffe6a5,#e4b35c);color:#4a2719;font-weight:600}.mobile-bar span{margin-left:8px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.button{transition:none}.sparkles i{animation:none}}
@media(max-width:650px){.hero{background-position:74% center}.hero-shade{background:linear-gradient(90deg,#2b092a55,#2b092a66 65%,#2b092a22),linear-gradient(0deg,#260c2299,transparent 30%)}}
