:root{--bg:#0a0908;--bg2:#12100c;--ink:#eae4d6;--muted:#9b9182;--gold:#c9a24b;--gold-hi:#efd9a0;--gold-lo:#8a6d33;--line:rgba(201,162,75,.25);--serif-jp:"Shippori Mincho","Yu Mincho",serif;--serif-en:"Cinzel",serif}*{margin:0;padding:0;box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--bg);color:var(--ink);font-family:var(--serif-jp);font-weight:400;line-height:1.9;letter-spacing:.06em;-webkit-font-smoothing:antialiased;overflow-x:hidden}body:after{content:"";position:fixed;inset:0;z-index:90;pointer-events:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.8' numOctaves='2' stitchTiles='stitch'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3C/filter%3E%3Crect width='160' height='160' filter='url(%23n)' opacity='0.06'/%3E%3C/svg%3E")}::selection{background:#c9a24b59;color:#fff}img{max-width:100%;display:block}.gtx{background:linear-gradient(180deg,#f3e0ab,#cfa64d 55%,#8f6f30);-webkit-background-clip:text;background-clip:text;color:transparent}.hero{min-height:100svh;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:0 24px;background:radial-gradient(120% 90% at 50% 0%,#17130e 0%,var(--bg) 58%)}.hero-bg{position:absolute;inset:0;z-index:0;background-size:cover;background-position:center;opacity:.28}.hero-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 0%,#17130e8c,#0a0908e0 62%),linear-gradient(180deg,#0a090880,#0a0908bf)}.hero>*:not(.hero-bg){position:relative;z-index:1}.hero-title{display:flex;align-items:baseline;gap:.5em;font-weight:600}.hero-title .t-small{font-size:clamp(19px,4.5vw,34px);letter-spacing:.38em}.hero-title .t-big{font-size:clamp(58px,13vw,112px);letter-spacing:.12em;line-height:1.15}.hero-roman{font-family:var(--serif-en);font-weight:400;font-size:clamp(14px,2.6vw,20px);letter-spacing:.65em;text-indent:.65em;color:var(--gold);margin-top:26px}.hero-open{margin-top:30px;padding-top:18px;display:inline-flex;align-items:center;gap:13px;border-top:1px solid var(--line);font-size:13px;letter-spacing:.26em;color:var(--ink)}.hero-open .ho-en{font-family:var(--serif-en);color:var(--gold);font-size:11px;letter-spacing:.42em}.horizon{position:absolute;left:0;right:0;bottom:14vh;height:2px;pointer-events:none}.horizon .line{position:absolute;left:6%;right:6%;top:0;height:1px;background:linear-gradient(90deg,transparent,rgba(239,217,160,.9) 18%,#fff4d6 50%,rgba(239,217,160,.9) 82%,transparent)}.horizon .glow{position:absolute;left:10%;right:10%;top:-14px;height:28px;background:radial-gradient(50% 100% at 50% 50%,#d4a8548c,#d4a85400 70%);filter:blur(6px)}.horizon .ground{position:absolute;left:4%;right:4%;top:2px;height:72px;background:radial-gradient(55% 100% at 50% 0%,rgba(190,140,60,.26),transparent 70%)}.scroll-cue{position:absolute;bottom:22px;left:50%;transform:translate(-50%);display:flex;flex-direction:column;align-items:center;gap:10px;color:var(--gold);font-family:var(--serif-en);font-size:11px;letter-spacing:.35em;text-indent:.35em;text-decoration:none;opacity:.85;z-index:1}.scroll-cue i{display:block;width:1px;height:46px;background:linear-gradient(180deg,var(--gold),transparent);animation:cue 2.4s infinite}@keyframes cue{0%{transform:scaleY(0);transform-origin:top}45%{transform:scaleY(1);transform-origin:top}55%{transform:scaleY(1);transform-origin:bottom}to{transform:scaleY(0);transform-origin:bottom}}@keyframes rise{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fadein{0%{opacity:0}to{opacity:1}}.hero-title{animation:rise 1.3s .2s both ease}.hero-roman{animation:rise 1.3s .55s both ease}.hero-open{animation:rise 1.3s .8s both ease}.horizon{animation:fadein 1.8s 1.05s both ease}.scroll-cue{animation:fadein 1.8s 1.5s both ease}.section{max-width:760px;margin:0 auto;padding:112px 28px 0;text-align:center}.section:last-of-type{padding-bottom:40px}.sec-en{font-family:var(--serif-en);color:var(--gold);font-size:12px;letter-spacing:.5em;text-indent:.5em}.sec-ja{font-size:clamp(21px,4vw,28px);letter-spacing:.3em;text-indent:.3em;margin-top:14px;font-weight:600}.sec-ja:after{content:"";display:block;width:40px;height:1px;background:linear-gradient(90deg,transparent,var(--gold),transparent);margin:28px auto 0}.lead{margin-top:36px;color:var(--muted);font-size:15px}.pc{display:none}@media(min-width:640px){.pc{display:inline}}.copy{font-size:clamp(27px,5.4vw,42px);letter-spacing:.24em;text-indent:.24em;margin-top:20px;font-weight:600}.menu-wrap{margin:54px auto 0;max-width:540px;text-align:left;display:grid;gap:54px}.menu-cat-head{display:flex;align-items:baseline;gap:14px;margin-bottom:26px}.menu-cat-en{font-family:var(--serif-en);color:var(--gold);font-size:11px;letter-spacing:.4em}.menu-cat-ja{font-size:16px;letter-spacing:.28em;font-weight:600}.menu-cat-head:after{content:"";flex:1;height:1px;background:linear-gradient(90deg,var(--line),transparent);transform:translateY(-3px)}.menu-rows{display:grid;gap:15px}.menu-row{display:flex;align-items:baseline;gap:9px;font-size:15px}.menu-row .m-name{letter-spacing:.1em}.menu-row .m-dots{flex:1;border-bottom:1px dotted rgba(201,162,75,.32);transform:translateY(-4px)}.menu-row .m-price{color:var(--gold);letter-spacing:.05em;white-space:nowrap}.menu-row .m-price small{color:var(--muted);font-size:.78em;margin-left:1px}.reserve-tel{display:inline-flex;align-items:center;gap:15px;margin-top:48px;padding:20px 42px;border:1px solid var(--gold);color:var(--gold-hi);text-decoration:none;transition:background .35s,color .35s}.reserve-tel svg{width:22px;height:22px}.reserve-tel .num{font-family:var(--serif-en);font-size:clamp(21px,5vw,29px);letter-spacing:.06em}.reserve-tel:hover{background:var(--gold);color:#171105}.reserve-hours{margin-top:16px;font-size:12px;color:var(--muted);letter-spacing:.16em}.reserve-or{margin:30px auto 0;display:flex;align-items:center;gap:14px;max-width:220px;color:var(--muted);font-size:11px;letter-spacing:.3em}.reserve-or:before,.reserve-or:after{content:"";flex:1;height:1px;background:var(--line)}.line-btn{display:inline-flex;align-items:center;gap:11px;margin-top:26px;padding:14px 32px;border:1px solid var(--gold);color:var(--gold-hi);text-decoration:none;font-size:14px;letter-spacing:.16em;transition:background .35s,color .35s}.line-btn svg{width:19px;height:19px}.line-btn:hover{background:var(--gold);color:#171105}.reserve-sub{margin-top:24px;font-size:14px;color:var(--muted)}.reserve-sub a{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--line);transition:color .3s}.reserve-sub a:hover{color:var(--gold-hi)}.info-list{margin:64px auto 0;max-width:520px;text-align:left;display:grid;gap:46px}.info-item{position:relative;padding-left:26px}.info-item:before{content:"";position:absolute;left:0;top:4px;bottom:4px;width:1px;background:linear-gradient(180deg,transparent,var(--gold),transparent)}.info-item dt{font-size:12px;letter-spacing:.35em;color:var(--gold);font-weight:500}.info-item dd{margin-top:10px;font-size:clamp(17px,3vw,21px);letter-spacing:.12em;line-height:1.7}.info-item dd small{font-size:.62em;color:var(--muted);letter-spacing:.15em;margin-left:.4em}.dd-note{display:block;margin-top:8px;font-size:12px;color:var(--muted);letter-spacing:.2em}a.tel{color:var(--ink);text-decoration:none;border-bottom:1px solid var(--line);transition:color .3s,border-color .3s}a.tel:hover{color:var(--gold-hi);border-color:var(--gold)}.sec-note{margin-top:34px;color:var(--muted);font-size:14.5px}.ig-grid{margin:52px auto 0;max-width:640px;display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.ig-tile{aspect-ratio:1/1;background:linear-gradient(145deg,#17130e,#0d0b08);border:1px solid rgba(201,162,75,.14);display:flex;align-items:center;justify-content:center}.ig-tile svg{width:22px;height:22px;opacity:.25;color:var(--gold)}.placeholder-note{margin-top:18px;font-size:11.5px;color:var(--muted);letter-spacing:.14em}.btn-gold{display:inline-flex;align-items:center;gap:12px;margin-top:42px;padding:16px 34px;border:1px solid var(--gold);color:var(--gold-hi);font-family:var(--serif-en);font-size:14px;letter-spacing:.2em;text-decoration:none;transition:background .35s,color .35s}.btn-gold svg{width:18px;height:18px}.btn-gold:hover{background:var(--gold);color:#171105}.map-frame{margin:56px auto 0;max-width:680px;padding:8px;border:1px solid var(--line);background:#0e0c09}.map-frame iframe{display:block;width:100%;height:340px;border:0;filter:grayscale(1) contrast(.92) brightness(.92)}.addr{margin-top:28px;color:var(--muted);font-size:14px;letter-spacing:.12em}.text-link{color:var(--gold);text-decoration:none;border-bottom:1px solid var(--line);font-size:13px;letter-spacing:.2em;transition:color .3s}.text-link:hover{color:var(--gold-hi)}.footer{margin-top:140px;padding:0 28px 60px;text-align:center;position:relative}.h-line{position:relative;height:1px;margin:0 0 80px;background:linear-gradient(90deg,transparent,rgba(239,217,160,.8) 20%,#ffedc4 50%,rgba(239,217,160,.8) 80%,transparent)}.h-line:after{content:"";position:absolute;left:8%;right:8%;top:-12px;height:24px;background:radial-gradient(50% 100% at 50% 50%,rgba(212,168,84,.4),transparent 70%);filter:blur(6px)}.f-title{font-size:26px;letter-spacing:.25em;font-weight:600;display:flex;align-items:baseline;justify-content:center;gap:.6em}.f-title .f-yaki{font-size:.55em;letter-spacing:.4em}.f-roman{font-family:var(--serif-en);color:var(--gold);font-size:12px;letter-spacing:.55em;text-indent:.55em;margin-top:12px}.f-links{margin-top:46px;display:flex;justify-content:center;align-items:center;gap:18px;font-size:13px;letter-spacing:.18em}.f-links a{color:var(--muted);text-decoration:none;transition:color .3s}.f-links a:hover{color:var(--gold-hi)}.f-links .sep{color:var(--gold-lo)}.copyright{margin-top:36px;font-family:var(--serif-en);font-size:11px;letter-spacing:.3em;color:#6c6250}.tel-fab{position:fixed;right:16px;bottom:16px;z-index:95;display:none;align-items:center;gap:9px;padding:13px 19px;border:1px solid var(--gold);background:#0a0908d1;backdrop-filter:blur(6px);color:var(--gold-hi);text-decoration:none;font-size:13px;letter-spacing:.18em}.tel-fab svg{width:15px;height:15px}@media(max-width:640px){.tel-fab{display:flex}}.reveal{opacity:0;transform:translateY(26px);transition:opacity 1s ease,transform 1s ease}.reveal.is-on{opacity:1;transform:none}@media(prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}.reveal{opacity:1;transform:none}}
