:root{--sumi:#1c1714;--sumi-2:#271f1a;--sumi-3:#332a23;--cream:#f4ece0;--cream-2:#efe4d4;--ink:#2a221c;--ink-soft:#5a4d42;--shu:#b5392b;--shu-deep:#97271c;--gold:#c6a35e;--gold-soft:#d8bd86;--line:rgba(198,163,94,.28);--maxw:1180px;--serif:"Shippori Mincho B1","Noto Serif JP",serif;--serif2:"Noto Serif JP",serif;--sans:"Noto Sans JP",system-ui,sans-serif;--ease:cubic-bezier(.22,.61,.36,1)}*{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;scroll-padding-top:76px}body{font-family:var(--sans);color:var(--ink);background:var(--cream);line-height:1.9;font-weight:400;-webkit-font-smoothing:antialiased;letter-spacing:.02em;overflow-x:hidden}img{display:block;max-width:100%;height:auto}a{color:inherit;text-decoration:none}:focus-visible{outline:3px solid var(--gold-soft);outline-offset:4px}.skip-link{position:fixed;top:10px;left:10px;z-index:1000;padding:.7rem 1rem;background:#fff;color:var(--sumi);font-weight:700;border-radius:3px;transform:translateY(-160%);transition:transform .2s var(--ease)}.skip-link:focus{transform:translateY(0)}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}#main-content:focus{outline:0}body.nav-open{overflow:hidden}.container{width:min(var(--maxw),92%);margin-inline:auto}.pc-only{display:inline}.section{padding:clamp(64px,9vw,128px) 0;position:relative}.sec-eyebrow{font-family:var(--serif2);font-size:.74rem;letter-spacing:.42em;font-weight:600;color:var(--shu);text-transform:uppercase;margin-bottom:1.1rem}.sec-title{font-family:var(--serif);font-weight:700;font-size:clamp(1.7rem,3.4vw,2.7rem);line-height:1.45;color:var(--ink);letter-spacing:.04em}.sec-desc{margin-top:1.2rem;color:var(--ink-soft);font-size:.97rem}.sec-head.center{text-align:center;margin-bottom:clamp(40px,5vw,64px)}.sec-head.center .sec-eyebrow{display:block}.sec-head.center .sec-desc{max-width:620px;margin-inline:auto}.sec-head.center.light .sec-desc,.sec-head.center.light .sec-title{color:var(--cream)}.sec-head.center.light .sec-desc{color:rgba(244,236,224,.72)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5em;font-family:var(--serif2);font-weight:600;font-size:.95rem;letter-spacing:.08em;padding:.95em 2em;border-radius:2px;cursor:pointer;transition:transform .35s var(--ease),background .35s var(--ease),color .35s var(--ease),box-shadow .35s var(--ease);position:relative;white-space:nowrap}.btn-primary{background:var(--shu);color:#fff;box-shadow:0 8px 24px rgba(149,39,28,.32)}.btn-primary:hover{background:var(--shu-deep);transform:translateY(-3px);box-shadow:0 14px 30px rgba(149,39,28,.4)}.btn-ghost{border:1px solid rgba(244,236,224,.55);color:var(--cream)}.btn-ghost:hover{background:rgba(244,236,224,.12);transform:translateY(-3px)}.site-header{position:fixed;inset:0 0 auto 0;z-index:100;transition:background .4s var(--ease),box-shadow .4s var(--ease),padding .4s var(--ease);padding:14px 0}.site-header.scrolled{background:rgba(28,23,20,.97);box-shadow:0 2px 24px rgba(0,0,0,.3);padding:8px 0}.header-inner{width:min(var(--maxw),94%);margin-inline:auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:.7rem;min-height:44px}.brand-mark{font-family:var(--serif);font-weight:700;font-size:1.3rem;color:#fff;width:2em;height:2em;display:inline-flex;align-items:center;justify-content:center;background:var(--shu);border-radius:3px;flex:none;letter-spacing:0;box-shadow:0 4px 14px rgba(149,39,28,.4);position:relative}.brand-mark::after{content:"";position:absolute;inset:3px;border:1px solid rgba(255,255,255,.45);border-radius:2px}.brand-text{display:flex;flex-direction:column;line-height:1.2}.brand-sub{font-family:var(--serif2);font-size:.6rem;letter-spacing:.34em;color:var(--gold-soft)}.brand-main{font-family:var(--serif);font-weight:700;font-size:1.08rem;color:var(--cream);letter-spacing:.08em}.brand-shoulder{font-size:.62em;font-weight:600;color:var(--gold-soft);letter-spacing:.16em;margin-right:.5em}.nav{display:flex;align-items:center;gap:1.5rem}.nav>a{font-family:var(--serif2);font-size:.9rem;color:var(--cream);font-weight:500;position:relative;transition:color .3s;white-space:nowrap}.nav>a:not(.btn):not(.nav-tel)::after{content:"";position:absolute;left:0;bottom:-6px;width:0;height:1px;background:var(--gold);transition:width .35s var(--ease)}.nav>a:not(.btn):not(.nav-tel):hover{color:var(--gold-soft)}.nav>a:not(.btn):not(.nav-tel):hover::after{width:100%}.nav>a[aria-current=location]{color:var(--gold-soft)}.nav>a[aria-current=location]::after{width:100%!important}.nav-tel{font-family:var(--serif)!important;font-weight:700!important;font-size:1.02rem!important;color:var(--gold-soft)!important;letter-spacing:.04em}.nav-reserve{padding:.6em 1.4em;font-size:.88rem}.nav-toggle{display:none;width:44px;height:44px;align-items:center;justify-content:center;flex-direction:column;gap:5px;background:0 0;border:0;cursor:pointer;padding:6px}.nav-toggle span{width:26px;height:2px;background:var(--cream);transition:.35s var(--ease)}.nav-backdrop{display:none}.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:var(--sumi);isolation:isolate}.hero-collage{position:absolute;top:50%;left:50%;width:142%;height:160%;transform:translate(-50%,-50%) rotate(-7deg);display:flex;gap:16px;z-index:0;opacity:0;animation:heroCollageIn 1.8s var(--ease) .15s forwards}@keyframes heroCollageIn{to{opacity:1}}.hero-col{flex:1 1 0;min-width:0;will-change:transform;animation:60s linear infinite heroFlow}.hero-col img{width:100%;aspect-ratio:4/5;object-fit:cover;margin-bottom:16px;border-radius:8px;box-shadow:0 14px 34px rgba(0,0,0,.45)}.hero-col--a{animation-duration:56s}.hero-col--b{animation-duration:72s;animation-direction:reverse;margin-top:-9%}.hero-col--c{animation-duration:62s;margin-top:-4%}.hero-col--d{animation-duration:76s;animation-direction:reverse;margin-top:-7%}.hero-col--e{animation-duration:58s;margin-top:-2%}@keyframes heroFlow{from{transform:translateY(0)}to{transform:translateY(-50%)}}.hero-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(102deg,rgba(18,14,11,.96) 0,rgba(18,14,11,.86) 26%,rgba(18,14,11,.55) 56%,rgba(18,14,11,.36) 78%,rgba(18,14,11,.6) 100%),linear-gradient(180deg,rgba(18,14,11,.6) 0,rgba(18,14,11,.32) 42%,rgba(18,14,11,.9) 100%)}.hero-content{position:relative;z-index:2;width:min(var(--maxw),92%);margin-inline:auto;color:var(--cream);padding-top:80px;animation:fadeUp 1.1s var(--ease) both .25s}.hero-eyebrow{font-family:var(--serif2);letter-spacing:.32em;font-size:.82rem;color:var(--gold-soft);margin-bottom:1.4rem;padding-left:.3em}.hero-eyebrow::before{content:"━━ ";color:var(--shu)}.hero-title{font-family:var(--serif);line-height:1;margin-bottom:1.1rem}.hero-shoulder{display:block;font-weight:600;font-size:clamp(1.05rem,2.3vw,1.6rem);letter-spacing:.5em;color:var(--gold-soft);margin-bottom:.7rem;text-shadow:0 2px 14px rgba(0,0,0,.5)}.hero-brand{display:block;font-weight:800;font-size:clamp(3.6rem,12vw,7.6rem);letter-spacing:.08em;color:var(--cream);text-shadow:0 6px 44px rgba(0,0,0,.6)}.hero-catch{font-family:var(--serif);font-size:clamp(1.15rem,2.5vw,1.6rem);font-weight:600;letter-spacing:.1em;margin-bottom:1rem;text-shadow:0 2px 18px rgba(0,0,0,.5)}.hero-lead{font-size:clamp(.92rem,1.5vw,1.02rem);color:rgba(244,236,224,.88);max-width:40em;margin-bottom:1.6rem;text-shadow:0 2px 14px rgba(0,0,0,.5)}.hero-facts{list-style:none;display:flex;flex-wrap:wrap;gap:.55rem .6rem;margin-bottom:2rem}.hero-facts li{font-family:var(--serif2);font-size:.8rem;font-weight:500;letter-spacing:.04em;color:var(--cream);padding:.42em 1.05em;border:1px solid rgba(198,163,94,.5);border-radius:100px;background:rgba(18,14,11,.4);backdrop-filter:blur(4px)}.hero-facts li::before{content:"";display:inline-block;width:5px;height:5px;border-radius:50%;background:var(--gold);margin-right:.55em;vertical-align:middle}.hero-cta{display:flex;gap:.9rem;flex-wrap:wrap;align-items:center}.btn-lg{font-size:1.02rem;padding:1.05em 2.1em}.btn-gold{background:var(--gold);color:var(--sumi);box-shadow:0 8px 24px rgba(198,163,94,.32)}.btn-gold:hover{background:var(--gold-soft);transform:translateY(-3px);box-shadow:0 14px 32px rgba(198,163,94,.45)}.btn-call{gap:.55em}.btn-call .btn-ico{font-size:1.1em}.btn-call .btn-tel{font-family:var(--serif);font-weight:700;letter-spacing:.03em;margin-left:.55em;padding-left:.65em;border-left:1px solid rgba(255,255,255,.42)}.hero-cta-note{margin-top:1rem;font-size:.8rem;color:rgba(244,236,224,.72);letter-spacing:.03em}.hero-cta-note::before{content:"※ ";color:var(--gold-soft)}.hero-scroll{position:absolute;bottom:26px;left:50%;transform:translateX(-50%);z-index:2}.hero-scroll span{font-family:var(--serif2);font-size:.62rem;letter-spacing:.3em;color:rgba(244,236,224,.7);writing-mode:vertical-rl}.hero-scroll::after{content:"";display:block;width:1px;height:46px;margin:10px auto 0;background:linear-gradient(var(--gold-soft),transparent);animation:1.8s ease-in-out infinite scrollLine}@keyframes scrollLine{0%,100%{opacity:.3;transform:scaleY(.5);transform-origin:top}50%{opacity:1;transform:scaleY(1)}}@keyframes fadeUp{from{opacity:0;transform:translateY(36px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}.hero-collage{animation:none;opacity:1}.hero-col,.hero-scroll::after,.strip-track{animation:none}.reveal{opacity:1;transform:none;transition:none}.btn,.ccard,.kcard,.kcard-img img,.mcard img,.rcard,.rsv-card{transition:none}}.strip{background:var(--sumi);border-block:1px solid var(--line);overflow:hidden;padding:14px 0}.strip-track{display:flex;gap:1.4rem;white-space:nowrap;width:max-content;animation:28s linear infinite marquee}.strip-track span{font-family:var(--serif);color:var(--cream);font-size:1rem;letter-spacing:.14em}.strip-track span:nth-child(2n){color:var(--gold)}@keyframes marquee{to{transform:translateX(-50%)}}.concept{background:var(--cream);position:relative}.concept::before{content:"和";position:absolute;top:6%;right:4%;font-family:var(--serif);font-size:18rem;color:rgba(42,34,28,.035);pointer-events:none}.concept-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,80px);align-items:center}.concept-images{position:relative}.concept-img-main{width:100%;aspect-ratio:4/3.4;object-fit:cover;border-radius:3px;box-shadow:0 30px 60px rgba(28,23,20,.22)}.concept-img-sub{position:absolute;right:-6%;bottom:-12%;width:46%;aspect-ratio:1;object-fit:cover;border:6px solid var(--cream);border-radius:3px;box-shadow:0 20px 40px rgba(28,23,20,.28)}.concept-text{position:relative}.concept-vertical{position:absolute;top:-10px;right:0;writing-mode:vertical-rl;font-family:var(--serif);font-weight:700;font-size:1.5rem;letter-spacing:.4em;color:var(--gold);opacity:.55}.concept-text .lead{font-family:var(--serif);font-size:1.12rem;font-weight:500;color:var(--ink);margin:1.6rem 0 1.2rem;line-height:2.1}.concept-text p{color:var(--ink-soft);font-size:.96rem}.concept-points{list-style:none;margin-top:2rem;display:flex;flex-direction:column;gap:.85rem}.concept-points li{font-family:var(--serif);font-size:1.05rem;font-weight:600;color:var(--ink);display:flex;align-items:center;gap:1rem}.concept-points span{font-family:var(--serif2);font-size:.78rem;color:#fff;background:var(--shu);width:2em;height:2em;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;flex:none}.kodawari{background:linear-gradient(180deg,var(--cream) 0,var(--cream-2) 100%)}.kodawari-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(20px,2.5vw,32px)}.kcard{background:#fff;border-radius:4px;overflow:hidden;box-shadow:0 16px 40px rgba(28,23,20,.1);border:1px solid rgba(198,163,94,.18);transition:transform .5s var(--ease),box-shadow .5s var(--ease)}.kcard:hover{transform:translateY(-8px);box-shadow:0 28px 56px rgba(28,23,20,.18)}.kcard-img{aspect-ratio:4/3;overflow:hidden}.kcard-img img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.kcard:hover .kcard-img img{transform:scale(1.07)}.kcard-body{padding:1.8rem 1.6rem 2rem;position:relative}.kcard-no{position:absolute;top:-1.6rem;right:1.4rem;font-family:var(--serif);font-size:2.4rem;font-weight:800;color:var(--shu);background:#fff;width:1.8em;height:1.8em;border-radius:50%;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(28,23,20,.14)}.kcard h3{font-family:var(--serif);font-size:1.32rem;font-weight:700;line-height:1.5;margin-bottom:.9rem;color:var(--ink)}.kcard h3 .accent{color:var(--shu-deep)}.kcard-body>p{color:var(--ink-soft);font-size:.92rem}.kcard-price{margin-top:1.1rem;padding-top:1rem;border-top:1px dashed var(--line);font-family:var(--serif2);font-size:.95rem;color:var(--ink)}.kcard-price strong{font-family:var(--serif);color:var(--shu-deep);font-size:1.2rem}.menu{background:var(--sumi);color:var(--cream);position:relative}.menu .sec-title{color:var(--cream)}.menu .sec-desc{color:rgba(244,236,224,.7)}.menu-grid{display:grid;grid-template-columns:repeat(12,1fr);gap:14px}.mcard{position:relative;overflow:hidden;border-radius:4px;grid-column:span 4;aspect-ratio:1}@media (min-width:981px){.menu-grid .mcard:first-child,.menu-grid .mcard:nth-child(7){grid-column:span 7;aspect-ratio:16/10}.menu-grid .mcard:nth-child(2),.menu-grid .mcard:nth-child(6){grid-column:span 5;aspect-ratio:16/10}}.mcard img{width:100%;height:100%;object-fit:cover;transition:transform .8s var(--ease)}.mcard:hover img{transform:scale(1.08)}.mcard figcaption{position:absolute;inset:auto 0 0 0;padding:1.4rem 1.1rem .9rem;background:linear-gradient(transparent,rgba(20,16,13,.86));display:flex;flex-direction:column;gap:.2rem}.mname{font-family:var(--serif);font-weight:600;font-size:1rem;letter-spacing:.04em}.mtag{font-family:var(--serif2);font-size:.68rem;letter-spacing:.18em;color:var(--gold-soft)}.menu-note{margin-top:1.8rem;font-size:.78rem;color:rgba(244,236,224,.72);text-align:center}.course{background:var(--sumi-2);color:var(--cream);position:relative}.course::before{content:"";position:absolute;inset:0;background:url("../images/hp_kushimori.jpg") center/cover;opacity:.05}.course .container{position:relative;z-index:1}.coupon{background:linear-gradient(135deg,var(--shu) 0,var(--shu-deep) 100%);border-radius:6px;padding:clamp(1.6rem,3vw,2.4rem) clamp(1.4rem,3vw,3rem);display:flex;align-items:center;gap:clamp(1rem,3vw,2.5rem);flex-wrap:wrap;box-shadow:0 20px 50px rgba(149,39,28,.4);margin-bottom:clamp(36px,5vw,56px);position:relative;overflow:hidden}.coupon::after{content:"得";position:absolute;right:-1rem;bottom:-2.5rem;font-family:var(--serif);font-size:9rem;color:rgba(255,255,255,.08)}.coupon-badge{font-family:var(--serif);font-weight:700;font-size:1rem;background:var(--gold);color:var(--sumi);padding:.5em 1.2em;border-radius:2px;letter-spacing:.1em;flex:none}.coupon-body{flex:1;min-width:240px}.coupon-lead{font-family:var(--serif2);font-size:1rem;color:rgba(255,255,255,.9)}.coupon-price{font-family:var(--serif);line-height:1;margin-top:.3rem}.coupon-price s{font-size:1.3rem;opacity:.65;margin-right:.4rem}.coupon-price strong{font-size:clamp(2.6rem,6vw,3.6rem);font-weight:800;color:#fff}.coupon-price span{font-size:1rem}.coupon-note{flex:none;width:100%;border-top:1px solid rgba(255,255,255,.25);padding-top:1rem;font-size:.92rem;color:rgba(255,255,255,.95)}.coupon-note strong{color:var(--gold-soft)}.course-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:clamp(48px,6vw,72px)}.ccard{background:rgba(244,236,224,.04);border:1px solid var(--line);border-radius:5px;padding:2rem 1.6rem;position:relative;transition:.45s var(--ease)}.ccard:hover{background:rgba(244,236,224,.07);transform:translateY(-6px)}.ccard.featured{border-color:var(--gold);background:rgba(198,163,94,.08)}.ccard-flag{position:absolute;top:-.8rem;left:1.6rem;background:var(--gold);color:var(--sumi);font-family:var(--serif);font-weight:700;font-size:.78rem;padding:.3em 1em;border-radius:2px;letter-spacing:.1em}.ccard-name{font-family:var(--serif);font-size:1.32rem;font-weight:700;margin-bottom:.6rem}.ccard-price{font-family:var(--serif);font-size:1.7rem;font-weight:700;color:var(--gold-soft);margin-bottom:.9rem}.ccard-price span{font-family:var(--sans);font-size:.74rem;color:rgba(244,236,224,.6);display:block;font-weight:400;margin-top:.2rem}.ccard-desc{font-size:.9rem;color:rgba(244,236,224,.78)}.party{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}.party-img img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:5px;box-shadow:0 24px 50px rgba(0,0,0,.35)}.party-text h3{font-family:var(--serif);font-size:clamp(1.4rem,2.6vw,2rem);font-weight:700;line-height:1.5;margin-bottom:1.4rem;color:var(--cream)}.party-list{list-style:none;margin-bottom:2rem;display:flex;flex-direction:column;gap:.8rem}.party-list li{font-size:.95rem;color:rgba(244,236,224,.85);padding-left:1.6rem;position:relative}.party-list li::before{content:"";position:absolute;left:0;top:.7em;width:8px;height:8px;background:var(--shu);transform:rotate(45deg)}.party-list strong{color:var(--gold-soft);font-family:var(--serif)}.room{background:var(--cream)}.room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.5vw,28px);margin-bottom:clamp(36px,5vw,56px)}.rcard{background:#fff;border-radius:5px;overflow:hidden;box-shadow:0 14px 34px rgba(28,23,20,.1);border:1px solid rgba(198,163,94,.18);transition:.5s var(--ease)}.rcard:hover{transform:translateY(-6px);box-shadow:0 24px 48px rgba(28,23,20,.16)}.rcard img{width:100%;aspect-ratio:1/1;object-fit:cover}.rcard figcaption{padding:1.5rem 1.4rem 1.8rem}.rcard h3{font-family:var(--serif);font-size:1.2rem;font-weight:700;margin-bottom:.6rem;color:var(--ink);position:relative;padding-left:1rem}.rcard h3::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:3px;background:var(--shu)}.rcard figcaption p{font-size:.9rem;color:var(--ink-soft)}.room-floors{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--line);border:1px solid var(--line);border-radius:4px;overflow:hidden}.floor{background:var(--cream);padding:1.5rem 1.6rem;display:flex;align-items:center;gap:1.2rem}.floor-no{font-family:var(--serif);font-weight:800;font-size:1.8rem;color:var(--shu);flex:none}.floor p{font-size:.86rem;color:var(--ink-soft)}.reserve{background:var(--sumi);color:var(--cream);padding:clamp(64px,9vw,120px) 0;text-align:center;position:relative}.reserve::after,.reserve::before{content:"";position:absolute;left:50%;transform:translateX(-50%);width:60px;height:1px;background:var(--gold)}.reserve::before{top:42px}.reserve::after{bottom:42px}.reserve .sec-eyebrow{display:block}.reserve-title{font-family:var(--serif);font-size:clamp(1.8rem,4vw,2.8rem);font-weight:700;margin-bottom:1rem;letter-spacing:.06em}.reserve-lead{color:rgba(244,236,224,.78);margin-bottom:2.8rem}.reserve-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;max-width:880px;margin-inline:auto}.rsv-card{background:rgba(244,236,224,.05);border:1px solid var(--line);border-radius:5px;padding:2rem 1.4rem;display:flex;flex-direction:column;align-items:center;gap:.4rem;transition:.4s var(--ease)}.rsv-card:hover{background:rgba(198,163,94,.1);transform:translateY(-6px);border-color:var(--gold)}.rsv-label{font-family:var(--serif2);font-size:.78rem;letter-spacing:.18em;color:var(--gold-soft)}.rsv-main{font-family:var(--serif);font-size:1.6rem;font-weight:700;color:var(--cream);letter-spacing:.04em}.reserve-policy{max-width:880px;margin:1.4rem auto 0;color:rgba(244,236,224,.78);font-size:.78rem;line-height:1.8}.rsv-sub{font-size:.8rem;color:rgba(244,236,224,.74)}.rsv-tel{background:var(--shu);border-color:var(--shu)}.rsv-tel:hover{background:var(--shu-deep);border-color:var(--shu-deep)}.rsv-tel .rsv-label,.rsv-tel .rsv-sub{color:rgba(255,255,255,.85)}.rsv-tel .rsv-main{color:#fff}.info{background:var(--cream-2)}.info-grid{display:grid;grid-template-columns:1fr 1fr;gap:clamp(36px,5vw,64px);align-items:start}.info-table{width:100%;border-collapse:collapse;margin-top:1.8rem}.info-table td,.info-table th{text-align:left;vertical-align:top;padding:1rem .5rem;border-bottom:1px solid var(--line);font-size:.92rem}.info-table th{width:6.5em;font-family:var(--serif);font-weight:700;color:var(--shu-deep);white-space:nowrap}.info-table td{color:var(--ink)}.info-table a{display:inline-flex;align-items:center;min-height:44px;color:var(--shu-deep);font-weight:700;border-bottom:1px solid var(--line)}.info-table .muted{color:var(--ink-soft);font-size:.84rem}.info-map{position:sticky;top:90px}.info-map iframe{width:100%;height:clamp(360px,52vh,560px);border:0;border-radius:5px;box-shadow:0 16px 40px rgba(28,23,20,.15);filter:grayscale(.2) contrast(1.05)}.map-link{display:inline-flex;align-items:center;min-height:44px;gap:.35rem;margin-top:1rem;color:var(--shu-deep);font-family:var(--serif2);font-weight:700;border-bottom:1px solid var(--line)}.map-link:hover{color:var(--shu)}.site-footer{background:var(--sumi);color:var(--cream);padding:clamp(48px,6vw,72px) 0 0}.footer-inner{display:grid;grid-template-columns:1.6fr 1fr 1fr;gap:2.5rem;padding-bottom:2.5rem;border-bottom:1px solid var(--line)}.footer-mark{display:flex;align-items:center;gap:.6rem;font-family:var(--serif);font-weight:700;font-size:1.3rem;color:var(--cream);margin-bottom:1rem;letter-spacing:.04em}.footer-shoulder{font-size:.6em;font-weight:600;color:var(--gold-soft);letter-spacing:.14em;margin-right:-.2rem}.footer-seal{font-size:1rem;color:#fff;width:1.9em;height:1.9em;display:inline-flex;align-items:center;justify-content:center;background:var(--shu);border-radius:3px;flex:none}.footer-name{font-family:var(--serif2);font-weight:500;font-size:.95rem;margin-bottom:.5rem;letter-spacing:.04em;color:rgba(244,236,224,.85)}.footer-addr{font-size:.82rem;color:rgba(244,236,224,.74);line-height:1.9}.footer-company{display:inline-flex;align-items:center;min-height:44px;margin-top:1.2rem;opacity:.7;transition:opacity .3s}.footer-company:hover{opacity:1}.footer-company img{height:34px;width:auto;border:1px solid var(--line);border-radius:3px}.footer-links,.footer-nav{display:flex;flex-direction:column;gap:.8rem;padding-top:.4rem}.footer-links a,.footer-nav a{font-family:var(--serif2);font-size:.9rem;color:rgba(244,236,224,.8);transition:color .3s;width:fit-content}.footer-links a:hover,.footer-nav a:hover{color:var(--gold-soft)}.footer-links a{position:relative;padding-left:1.1rem}.footer-links a::before{content:"↗";position:absolute;left:0;color:var(--gold);font-size:.8rem}.copyright{text-align:center;font-size:.72rem;color:rgba(244,236,224,.65);padding:1.6rem 0;letter-spacing:.08em}.mobile-cta{display:none;position:fixed;inset:auto 0 0 0;z-index:90;box-shadow:0 -6px 22px rgba(0,0,0,.28)}.mobile-cta a{flex:1;text-align:center;padding:1.05em 0;font-family:var(--serif2);font-weight:700;font-size:.98rem;letter-spacing:.06em}.mc-tel{background:var(--shu);color:#fff}.mc-rsv{background:var(--sumi);color:var(--gold-soft);border-top:1px solid var(--gold)}.reveal{opacity:0;transform:translateY(40px);transition:opacity .9s var(--ease),transform .9s var(--ease)}.reveal.in{opacity:1;transform:none}@media (max-width:1100px){.nav{position:fixed;inset:0 0 0 auto;width:min(78vw,340px);background:rgba(28,23,20,.98);backdrop-filter:blur(10px);flex-direction:column;align-items:flex-start;justify-content:center;gap:1.8rem;padding:2rem 2.4rem;transform:translateX(100%);visibility:hidden;pointer-events:none;z-index:100;transition:transform .45s var(--ease),visibility 0s linear .45s}.nav.open{transform:translateX(0);visibility:visible;pointer-events:auto;transition-delay:0s}.nav>a{width:100%;min-height:44px;display:flex;align-items:center;font-size:1.1rem}.nav-backdrop{display:block;position:fixed;inset:0;z-index:99;background:rgba(10,8,7,.58);border:0;opacity:0;pointer-events:none;transition:opacity .35s var(--ease)}.nav-backdrop.open{opacity:1;pointer-events:auto}.nav-toggle{display:flex;z-index:101}.site-header.menu-open{background:rgba(28,23,20,.95)}.site-header.menu-open .nav-toggle span:first-child{transform:translateY(7px) rotate(45deg)}.site-header.menu-open .nav-toggle span:nth-child(2){opacity:0}.site-header.menu-open .nav-toggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}.menu-grid{grid-template-columns:repeat(2,1fr)}.mcard,.mcard-lg{grid-column:span 1;aspect-ratio:1}.hero-collage{width:160%}.hero-col--e{display:none}}@media (max-width:760px){html{scroll-padding-top:64px}.pc-only{display:none}.concept-grid,.info-grid,.party{grid-template-columns:1fr}.concept-img-sub{width:38%;right:0;bottom:-8%}.concept-images{margin-bottom:2rem}.course-grid,.kodawari-grid,.reserve-cards,.room-floors,.room-grid{grid-template-columns:1fr}.kcard-no{top:-1.4rem}.info-map{position:static}.footer-inner{grid-template-columns:1fr;gap:1.8rem;text-align:center}.footer-brand img{margin-inline:auto}.footer-links,.footer-nav{align-items:center}.footer-links a,.footer-nav a{min-height:44px;display:flex;align-items:center}.mobile-cta{display:flex}body{padding-bottom:52px}.hero-collage{width:185%;gap:12px}.hero-col img{margin-bottom:12px}.hero-col--d{display:none}.hero-facts{gap:.45rem .5rem;margin-bottom:0}.hero-facts li{font-size:.74rem;padding:.38em .9em}.hero-cta,.hero-cta-note{display:none}}@media (max-width:420px){.coupon{flex-direction:column;align-items:flex-start;text-align:left}}