:root{--paper:#10100f;--ink:#e9e4d9;--muted:#a19a8c;--gold:#b89b68;--line:#37352f;--serif:'Noto Serif JP',serif;--sans:'Zen Kaku Gothic New',sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:75px}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);font-size:13px;line-height:1.9}a{color:inherit;text-decoration:none}.site-header{height:82px;padding:0 7%;display:flex;align-items:center;justify-content:space-between;position:absolute;z-index:5;top:0;left:0;right:0;color:#fff}.brand-logo{display:block;width:43px;height:60px;object-fit:contain;filter:drop-shadow(0 2px 10px #0008)}.main-nav{display:flex;gap:30px;font-size:10px;letter-spacing:.14em}.main-nav a{transition:opacity .2s}.main-nav a:hover{opacity:.65}.header-reserve{border:1px solid #ffffff9c;padding:9px 16px;font-size:9px;letter-spacing:.1em;white-space:nowrap}.menu-toggle{display:none}.hero{height:min(760px,88vw);min-height:590px;position:relative;color:#fff;overflow:hidden;background:#25231f}.hero-image,.hero-wash{position:absolute;inset:0}.hero-image{background:url('kanishige-hero.jpg') center 52%/cover;transform:scale(1.02);animation:hero-in 1.2s ease-out both}.hero-wash{background:linear-gradient(90deg,rgba(12,12,11,.66),rgba(12,12,11,.24) 62%,rgba(12,12,11,.04)),linear-gradient(0deg,rgba(0,0,0,.38),transparent 29%)}.hero-copy{position:absolute;left:14%;top:26%;animation:rise .9s .1s both}.eyebrow{font-size:9px;letter-spacing:.24em;color:var(--gold);margin:0 0 18px}.hero .eyebrow{color:#e0cda7;font-size:11px;letter-spacing:.2em;margin-bottom:20px}.hero h1{font:400 clamp(45px,5.5vw,68px)/1.6 var(--serif);letter-spacing:.2em;margin:0 0 16px}.hero-copy>p{font-size:11px;line-height:2.4;letter-spacing:.12em;margin:0 0 26px;color:#eee9df}.line-link{display:inline-flex;gap:23px;align-items:center;border-bottom:1px solid #77736a;padding:0 0 7px;font-size:9px;letter-spacing:.12em}.line-link span{font-size:14px}.light-link{border-color:#ffffff99}.hero-side{position:absolute;right:7%;top:28%;writing-mode:vertical-rl;letter-spacing:.28em;font:11px var(--serif)}.hero-bottom{position:absolute;bottom:22px;left:7%;right:7%;display:flex;justify-content:space-between;font-size:8px;letter-spacing:.16em;color:#e6ddcf}.scroll-cue{position:absolute;right:50%;bottom:0;display:flex;flex-direction:column;align-items:center;gap:7px;transform:translateX(50%);font-size:7px;letter-spacing:.18em}.scroll-cue i{width:1px;height:35px;background:#e6ddcf}.section-pad{padding:118px 15%}.intro{position:relative;display:block;min-height:0;padding-top:125px;padding-bottom:125px}.intro-copy{max-width:680px;margin:0 auto}.intro h2,.section-heading h2,.space-copy h2,.reservation h2,.access h2{font-family:var(--serif);font-weight:400;letter-spacing:.13em}.intro h2{font-size:31px;line-height:1.95;margin:0 0 20px}.body-copy{font-size:10px;color:#b3ac9f;line-height:2.5;max-width:340px;margin:0 0 27px}.intro-photo{position:relative}.intro-photo img{display:block;width:100%;height:410px;object-fit:cover;filter:saturate(.66) brightness(.84)}.photo-caption{position:absolute;bottom:-14px;left:-15px;background:#1c1b18;padding:9px 13px;font:10px var(--serif);letter-spacing:.1em}.intro-index{position:absolute;left:-7%;top:19%;writing-mode:vertical-rl;color:#9b968c;font-size:8px;letter-spacing:.2em}.intro-index span:first-child{font:15px var(--serif);color:var(--gold)}.intro-index i{display:inline-block;width:1px;height:35px;background:var(--line);margin:11px 0}.vertical-note{position:absolute;right:2%;top:17%;writing-mode:vertical-rl;font:9px var(--serif);letter-spacing:.17em;color:#aaa396}.craft{display:block;background:#171715;padding-top:100px;padding-bottom:105px}.craft-photo img{width:100%;height:420px;object-fit:cover;filter:saturate(.55) brightness(.76)}.craft-copy{max-width:680px;margin:0 auto}.craft-kicker{font:11px var(--serif);color:#c5b58f;letter-spacing:.12em;margin:0 0 13px}.craft-copy h2{font:400 27px/1.9 var(--serif);letter-spacing:.12em;margin:0 0 19px}.craft-number{display:flex;align-items:center;gap:13px;margin-top:34px;font-size:8px;letter-spacing:.17em;color:#938d81}.craft-number i{height:1px;width:38px;background:#756e61}.course-section{padding-top:98px;padding-bottom:98px}.section-heading{display:flex;justify-content:space-between;align-items:end;margin-bottom:35px}.section-heading h2,.access h2{font-size:26px;margin:0}.section-heading .eyebrow{margin-bottom:6px}.heading-note{font-size:8px;color:#9d9689}.course-intro{max-width:710px;font-size:10px;line-height:2.35;color:#b3ac9f;margin:0 0 18px;padding-left:17px;border-left:1px solid var(--gold)}.course-row,.course-row-reverse{display:block;border-top:1px solid var(--line);padding:26px 0}.course-details{max-width:none;display:grid;grid-template-columns:1fr 1.4fr auto;gap:0 30px;align-items:center}.course-details .course-no{grid-column:1/-1}.course-details h3{grid-column:1;grid-row:2;margin:6px 0}.course-details p{grid-column:2;grid-row:2;margin:0}.course-price{grid-column:3;grid-row:1/3;border-top:0;margin:0;padding:0;display:flex;flex-direction:column;align-items:flex-end;gap:2px}.course-details{max-width:360px}.course-no{font-size:8px;letter-spacing:.19em;color:var(--gold)}.course-details h3{font:400 21px var(--serif);letter-spacing:.13em;margin:10px 0 12px}.course-details p{font-size:10px;line-height:2.3;color:#b3ac9f}.course-price{border-top:1px solid var(--line);margin-top:19px;padding-top:11px;display:flex;justify-content:space-between;align-items:center;font-size:8px;color:#9e978a}.course-price b{font-weight:400;font-size:9px;letter-spacing:.05em;color:#d9d1c2}.menu-footnote{text-align:right;font-size:8px;color:#999284;margin:13px 0}.interlude{height:390px;position:relative;color:#fff;background:#27251f;overflow:hidden}.interlude-image{position:absolute;inset:0;background:linear-gradient(90deg,rgba(15,14,12,.58),rgba(15,14,12,.12)),url('kanishige-gold-crab.jpg') center 55%/cover;filter:saturate(.6)}.interlude-text{position:absolute;top:50%;left:18%;transform:translateY(-50%)}.interlude .eyebrow{color:#e0cda7}.interlude-text p{font:29px/2 var(--serif);letter-spacing:.18em;margin:0}.space-section{display:grid;grid-template-columns:1.12fr .88fr;align-items:center;gap:10%;position:relative;padding-top:115px;padding-bottom:115px}.space-photo img{width:100%;height:350px;object-fit:cover;filter:saturate(.57) brightness(.75)}.space-copy h2{font-size:25px;line-height:1.95;margin:0 0 18px}.space-label{position:absolute;writing-mode:vertical-rl;right:5%;bottom:14%;font:9px var(--serif);letter-spacing:.18em;color:#aaa396}.reservation{min-height:350px;background:#191917;color:#f4f0e7;position:relative;display:grid;place-items:center;text-align:center;border-top:1px solid #2c2a25;border-bottom:1px solid #2c2a25}.reservation .eyebrow{color:#c8ad7d}.reservation h2{font-size:23px;line-height:2;letter-spacing:.15em;margin:0 0 9px}.reservation-inner>p:not(.eyebrow){font-size:9px;color:#c9c6bc;margin:0 0 20px}.reserve-button{display:flex;align-items:center;justify-content:center;gap:21px;border:1px solid #9f875c;color:#fff;padding:12px 21px;width:275px;margin:auto;transition:background .2s}.reserve-button:hover{background:#ffffff0d}.phone-label{font:15px var(--serif);letter-spacing:.1em}.phone-action{font-size:8px;letter-spacing:.1em;color:#c5b58f}.access{display:grid;grid-template-columns:.55fr 1.15fr .8fr;gap:36px;align-items:start;padding-top:82px;padding-bottom:82px}.access-title .eyebrow{margin-bottom:6px}.access h2{font-size:23px}.info-list{margin:0}.info-list div{display:grid;grid-template-columns:77px 1fr;border-bottom:1px solid var(--line);padding:9px 0;font-size:9px}.info-list dt{color:#aaa396}.info-list dd{margin:0;color:#d5cfc4}.info-list dd a{color:#d3b985}.access-call{min-height:120px;border:1px solid #4c4639;padding:18px;display:flex;flex-direction:column;justify-content:center;position:relative}.access-call span{font-size:8px;letter-spacing:.14em;color:#aaa396}.access-call b{font:15px var(--serif);font-weight:400;letter-spacing:.08em;margin-top:7px}.access-call i{position:absolute;right:13px;bottom:11px;color:#c3a76f;font-style:normal}.site-footer{background:#090908;color:#d8d3c8;display:flex;align-items:center;justify-content:space-between;padding:25px 7%}.footer-brand .brand-logo{width:36px;height:49px}.footer-links{display:flex;gap:20px;font-size:8px;color:#c3beb3}.footer-links a:hover{color:#fff}.site-footer>p{font-size:7px;letter-spacing:.15em;color:#99958b}.mobile-call{display:none}.reveal{opacity:0;transform:translateY(15px);transition:opacity .7s ease,transform .7s ease}.reveal.visible{opacity:1;transform:none}@keyframes rise{from{opacity:0;transform:translateY(15px)}to{opacity:1;transform:translateY(0)}}@keyframes hero-in{from{transform:scale(1.07);opacity:.65}to{transform:scale(1.02);opacity:1}}.logo-intro{position:fixed;inset:0;z-index:20;background:#080807;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;animation:intro-dissolve 1.8s 3s ease-in-out forwards;pointer-events:none}.logo-intro img{width:132px;height:260px;object-fit:contain;opacity:0;filter:drop-shadow(0 0 20px #b68c4b38);animation:logo-rise 1.8s .3s cubic-bezier(.2,.7,.2,1) forwards}.logo-intro span{color:#d6c39c;font:12px var(--serif);letter-spacing:.35em;opacity:0;animation:logo-caption .7s .85s ease forwards}.site-header,.hero-copy,.hero-side,.hero-bottom,.scroll-cue{animation:page-arrive .85s 1.8s ease both}@keyframes logo-rise{0%{opacity:0;transform:translateY(22px) scale(.97);filter:blur(5px) drop-shadow(0 0 0 #b68c4b00)}100%{opacity:1;transform:translateY(0) scale(1);filter:blur(0) drop-shadow(0 0 20px #b68c4b38)}}@keyframes logo-caption{to{opacity:1}}@keyframes intro-dissolve{0%{opacity:1;filter:blur(0);visibility:visible}100%{opacity:0;filter:blur(14px);visibility:hidden}}@keyframes page-arrive{from{opacity:0}to{opacity:1}}@media(max-width:900px){.site-header{padding:0 5%}.main-nav{gap:16px}.section-pad{padding-left:9%;padding-right:9%}.intro-index{left:-6%}.access{grid-template-columns:.45fr 1.2fr .8fr;gap:20px}}@media(max-width:680px){html{scroll-padding-top:65px}.site-header{height:66px;padding:0 6%}.brand-logo{width:35px;height:49px}.menu-toggle{display:flex;flex-direction:column;gap:6px;border:0;background:none;padding:10px;margin-left:auto;margin-right:12px}.menu-toggle span{width:21px;height:1px;background:#fff}.header-reserve{font-size:0;padding:8px 12px}.header-reserve:after{content:'電話予約';font-size:9px;letter-spacing:.08em}.main-nav{display:none;position:absolute;top:66px;left:0;right:0;background:#171715f5;padding:21px 8%;flex-direction:column;gap:12px;border-top:1px solid #36332d}.main-nav.open{display:flex}.hero{height:650px;min-height:0}.hero-image{background-position:58% center}.hero-wash{background:linear-gradient(90deg,rgba(12,12,11,.65),rgba(12,12,11,.16)),linear-gradient(0deg,rgba(0,0,0,.3),transparent 30%)}.hero-copy{left:9%;top:24%}.hero h1{font-size:45px}.hero-copy>p{font-size:10px}.hero-side{right:6%;top:24%;font-size:9px}.hero-bottom{left:7%;right:7%;font-size:7px}.section-pad{padding:70px 8%}.intro{display:block;min-height:0;padding-top:70px;padding-bottom:70px}.intro-index{position:static;writing-mode:initial;display:flex;align-items:center;gap:10px}.intro-index i{width:30px;height:1px;margin:0}.intro h2{font-size:28px}.vertical-note{display:none}.craft{grid-template-columns:1fr;gap:28px;padding-top:70px;padding-bottom:72px}.craft-copy h2{font-size:24px}.craft-number{margin-top:24px}.course-section{padding-top:70px;padding-bottom:68px}.section-heading{align-items:start;gap:6px;flex-direction:column;margin-bottom:20px}.section-heading h2{font-size:24px}.course-row,.course-row-reverse{display:block;padding:20px 0}.course-details{grid-template-columns:1fr auto;gap:0 8px}.course-details .course-no{grid-column:1/-1}.course-details h3{grid-column:1;grid-row:2;font-size:18px;margin:6px 0}.course-details p{grid-column:1/-1;grid-row:3;margin:7px 0 10px}.course-price{grid-column:2;grid-row:2;align-items:flex-end;border-top:0;padding:0;margin:0;flex-direction:column;gap:0}.course-price span{font-size:7px}.menu-footnote{text-align:left;line-height:1.9}.interlude{height:310px}.interlude-text{left:10%}.interlude-text p{font-size:23px}.space-section{grid-template-columns:1fr;gap:25px;padding-top:70px;padding-bottom:72px}.space-photo img{height:250px}.space-copy h2{font-size:23px}.space-label{display:none}.reservation{min-height:320px;padding:30px 7%}.reservation h2{font-size:20px}.reserve-button{width:min(275px,80vw)}.access{grid-template-columns:1fr;gap:22px;padding-top:65px;padding-bottom:80px}.info-list div{grid-template-columns:75px 1fr}.access-call{min-height:95px}.site-footer{padding:25px 8% 85px;display:grid;grid-template-columns:1fr;gap:16px}.footer-brand .brand-logo{width:32px;height:44px}.footer-links{flex-wrap:wrap;gap:9px 15px}.site-footer>p{margin:0}.mobile-call{position:fixed;z-index:8;bottom:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;background:#a9854e;color:#111;padding:10px 7% calc(10px + env(safe-area-inset-bottom));box-shadow:0 -4px 20px #0006}.mobile-call span{font-size:9px;letter-spacing:.08em}.mobile-call b{font:14px var(--serif);letter-spacing:.07em}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;transition-duration:.01ms!important}.logo-intro{animation:intro-dissolve .01s .01s forwards}.logo-intro img,.logo-intro span,.site-header,.hero-copy,.hero-side,.hero-bottom,.scroll-cue{animation-duration:.01ms!important;animation-delay:0s!important}}








/* Text-first course list */
.course-row,.course-row-reverse{display:block;min-height:0;border-top:1px solid var(--line);padding:26px 0}
.course-details{max-width:none;display:grid;grid-template-columns:1fr 1.4fr auto;gap:0 32px;align-items:center}
.course-details .course-no{grid-column:1/-1}
.course-details h3{grid-column:1;grid-row:2;margin:6px 0}
.course-details p{grid-column:2;grid-row:2;margin:0;max-width:460px}
.course-details .course-price{grid-column:3;grid-row:1/3;display:flex;flex-direction:column;align-items:flex-end;gap:2px;border:0;margin:0;padding:0;white-space:nowrap}
@media(max-width:680px){.course-row,.course-row-reverse{display:block;padding:20px 0}.course-details{grid-template-columns:1fr auto;gap:0 8px}.course-details .course-no{grid-column:1/-1}.course-details h3{grid-column:1;grid-row:2;font-size:18px;margin:6px 0}.course-details p{grid-column:1/-1;grid-row:3;margin:7px 0 10px}.course-details .course-price{grid-column:2;grid-row:2;align-items:flex-end;gap:0}.course-details .course-price span{font-size:7px}}

/* Distinct supplied vector logo lockups for intro and header. */
.site-header .brand-logo-horizontal{width:176px;height:54px;object-fit:contain;object-position:left center}
.logo-intro img{width:132px;height:286px}
.logo-intro span{display:none}
.site-footer{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px}.site-footer .brand-logo-vertical{width:72px;height:98px}.site-footer .footer-links{justify-content:center}
@media(max-width:680px){.site-header .brand-logo-horizontal{width:133px;height:41px}.logo-intro img{width:118px;height:258px}.site-footer .brand-logo-vertical{width:64px;height:88px}}

/* Larger footer branding and easier course/foot navigation. */
.site-footer .brand-logo-vertical{width:144px;height:196px}
.site-footer .footer-links{gap:4px 10px}
.site-footer .footer-links a{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 14px;font-size:13px}
.course-details .course-price b{font-size:13px}
@media(max-width:680px){.site-footer .brand-logo-vertical{width:128px;height:176px}.site-footer .footer-links a{min-height:48px;padding:10px 12px;font-size:13px}.course-details .course-price b{font-size:12px}}

.open-countdown{display:flex;align-items:baseline;gap:6px;margin:-13px 0 17px;color:#e7dfd1;font-size:9px;letter-spacing:.12em;opacity:.82}.open-countdown strong{color:#e0cda7;font:400 15px var(--serif);letter-spacing:.08em}.open-countdown span:last-child{font-size:8px}@media(max-width:680px){.open-countdown{font-size:8px;margin:-14px 0 15px}.open-countdown strong{font-size:14px}}
