@font-face{font-family:Shippori;src:url('../assets/shippori.woff2') format('woff2');font-display:swap}
:root{--paper:#f8f7f2;--ink:#1b1a17;--blue:#152c42;--bar-height:40px}*{box-sizing:border-box}html{scroll-behavior:auto;scroll-padding-top:60px}html[data-preview]{--bar-height:0px}body{margin:0;color:var(--ink);background:var(--paper);font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit;cursor:pointer}img{max-width:100%;display:block;object-fit:cover}figure,h1,h2,h3,p{margin:0}button,a{-webkit-tap-highlight-color:transparent}button:focus-visible,a:focus-visible{outline:2px solid #b04921;outline-offset:7px}[hidden]{display:none!important}.visually-hidden{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.skip{position:absolute;top:-90px;left:20px;z-index:10000;padding:16px;background:white}.skip:focus{top:5px}

.entrance{position:relative;height:calc(100svh - var(--bar-height));min-height:680px;max-height:1050px;overflow:hidden;background:var(--ink)}
.entrance-top{position:absolute;z-index:6;top:29px;left:4%;right:4%;display:flex;align-items:center;gap:28px;color:#fff}
.small-brand{width:118px;flex-shrink:0}.small-brand img{width:100%;filter:invert(1)}.entrance-top>p{font-size:10px;letter-spacing:.12em}
.curtain-toggle{margin-left:auto;display:flex;gap:40px;align-items:center;border:0;border-bottom:1px solid currentColor;background:none;color:inherit;padding:12px 0;font-size:11px;letter-spacing:.08em}.curtain-toggle span{font-size:18px;line-height:1}
.inside{position:absolute;inset:0;display:grid;grid-template-columns:1fr 1fr;gap:6px;background:var(--paper);color:white}.room{position:relative;overflow:hidden}.room-photo{height:100%;width:100%;object-fit:cover;object-position:50% 50%}.room-roppongi .room-photo{object-position:43% 50%}.room-kyoto .room-photo{object-position:48% 50%}.room::after{content:'';position:absolute;inset:0;background:linear-gradient(#0006,#0001 35%,#0009 100%)}
.room-label{position:absolute;z-index:1;left:13%;bottom:13%;right:13%}.room-number{font:8px/1.3 Arial,sans-serif;letter-spacing:.17em}.room-label h2{font-family:Shippori,serif;font-weight:500;font-size:clamp(52px,6.3vw,100px);line-height:1.2;letter-spacing:.08em;margin:20px 0 15px}.room-label>p{font:9px/1.5 Arial,sans-serif;letter-spacing:.24em}.room-label>a{display:flex;align-items:center;justify-content:space-between;max-width:225px;font-size:11px;letter-spacing:.1em;margin-top:35px;padding:14px 0;border-bottom:1px solid #ffffff80}.room-label>a span{font-size:20px}
.inside-greeting{position:absolute;top:23%;left:0;width:100%;text-align:center;font-family:Shippori,serif;font-size:clamp(32px,4vw,58px);letter-spacing:.1em;pointer-events:none}.inside-nav{position:absolute;right:4%;top:113px;display:flex;gap:25px;font-size:10px;letter-spacing:.05em}.inside-nav a{padding:7px 0;border-bottom:1px solid transparent}.inside-nav a:hover{border-color:currentColor}
.noren{display:none}.entrance[data-enhanced] .noren{display:block;position:absolute;inset:0;z-index:3;pointer-events:none}.noren-panel{position:absolute;top:0;bottom:0;width:50%;overflow:hidden;background:var(--paper);transition:transform 1.5s cubic-bezier(.5,0,.15,1);box-shadow:0 8px 30px #00000010}.noren-panel::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,#5c503800 0,#5c503800 4px,#5c503803 5px),linear-gradient(90deg,#fff0 88%,#70624b05 95%,#70624b0b 100%)}.panel-left{left:0;transform:translateX(-3px);transform-origin:0 0}.panel-right{right:0;transform:translateX(3px);transform-origin:100% 0}.panel-right::after{transform:rotate(180deg)}.panel-art{position:absolute;top:0;bottom:0;width:200%;display:flex;flex-direction:column;align-items:center}.panel-left .panel-art{left:0}.panel-right .panel-art{right:0}
.noren-mark{position:absolute;top:16%;width:min(36vw,48svh,470px);height:min(36vw,48svh,470px);object-fit:contain}.noren-word{position:absolute;top:calc(16% + min(36vw,48svh,470px) + 17px);width:clamp(145px,14vw,205px);height:50px;object-fit:contain}
.noren-city{position:absolute;top:40%;display:flex;align-items:center;flex-direction:column;gap:16px;text-align:center}.panel-left .noren-city{left:24%;transform:translateX(-50%)}.panel-right .noren-city{right:24%;transform:translateX(50%)}.city-number{font:8px/1 Arial,sans-serif;letter-spacing:.1em;color:#6c6a64}.city-jp{font-family:Shippori,serif;font-size:clamp(32px,3.7vw,55px);line-height:1.2;letter-spacing:.08em;white-space:nowrap}.city-en{font:8px/1 Arial,sans-serif;letter-spacing:.2em}
.entry-invitation{position:absolute;z-index:5;left:50%;bottom:10%;transform:translateX(-50%);text-align:center;color:var(--ink);white-space:nowrap}.entry-invitation>p{font-family:Shippori,serif;font-size:17px;letter-spacing:.13em;margin-bottom:22px}.enter-button{width:100%;display:flex;justify-content:space-between;align-items:center;gap:60px;padding:10px 0;background:transparent;border:0;border-bottom:1px solid currentColor;font-size:11px;letter-spacing:.1em;color:var(--ink)}.enter-button span{font-size:22px;line-height:1;transition:transform .3s}.enter-button:hover span{transform:translate(3px,-3px)}
.entrance-caption{position:absolute;z-index:4;left:4%;bottom:35px;font:7px/1 Arial,sans-serif;letter-spacing:.2em;color:#fff}.entrance-scroll{position:absolute;z-index:5;bottom:30px;right:4%;display:flex;gap:35px;align-items:center;color:#fff;font:8px/1 Arial,sans-serif;letter-spacing:.2em}.entrance-scroll span{font-size:18px}
.entrance[data-enhanced]:not([data-open]) .entrance-top,.entrance[data-enhanced]:not([data-open]) .entrance-caption,.entrance[data-enhanced]:not([data-open]) .entrance-scroll{color:var(--ink)}.entrance[data-enhanced]:not([data-open]) .small-brand img{filter:none}.entrance[data-enhanced] .room-label,.entrance[data-enhanced] .inside-greeting,.entrance[data-enhanced] .inside-nav{transition:opacity .7s .35s,transform 1s .3s}.entrance[data-enhanced]:not([data-open]) .room-label,.entrance[data-enhanced]:not([data-open]) .inside-greeting,.entrance[data-enhanced]:not([data-open]) .inside-nav{opacity:0}.entrance[data-enhanced]:not([data-open]) .room-label{transform:translateY(20px)}.entrance[data-open] .panel-left{transform:translateX(-97%) rotate(4deg)}.entrance[data-open] .panel-right{transform:translateX(97%) rotate(-4deg)}.entrance[data-open] .entry-invitation{display:none}.entrance[data-open] .entrance-top,.entrance[data-open] .small-brand img{transition:color .3s .25s,filter .3s .25s}.entrance[data-enhanced]:not([data-open]) .inside{pointer-events:none}
.tiny-label{font-size:10px;letter-spacing:.12em;font-weight:500}.story{padding:130px 0 100px}.story-opening{margin:0 13%;display:grid;grid-template-columns:1fr 1fr;gap:30px 80px}.story-opening>.tiny-label{grid-column:1/-1}.story-opening h2{font-family:Shippori,serif;font-size:clamp(70px,8vw,120px);letter-spacing:-.055em;font-weight:500;line-height:1.35}.story-copy{padding-top:25px;font-family:Shippori,serif;font-size:20px;line-height:2;letter-spacing:.08em}.story-copy>p+p{font-size:13px;margin-top:28px;line-height:2.3}.hands-photo{position:relative;margin:100px 0 0 18%;width:82%;height:650px;overflow:hidden}.hands-photo>img{width:100%;height:100%;object-position:50% 50%}.hands-photo::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent 50%,#0007)}.hands-photo figcaption{position:absolute;z-index:1;right:7%;top:55px;bottom:40px;color:#fff;display:flex;flex-direction:column;justify-content:space-between}.hands-photo figcaption>span{font-family:Shippori,serif;writing-mode:vertical-rl;font-size:37px;line-height:1.7;letter-spacing:.13em}.hands-photo figcaption small{font-size:9px;letter-spacing:.1em}.story-ending{margin:55px 18% 0 13%;display:flex;align-items:center;justify-content:space-between}.story-ending>p{font-family:Shippori,serif;font-size:18px;line-height:2.1;letter-spacing:.1em}.story-ending>img{width:75px;height:75px;object-fit:contain}.menu{background:#fff;padding:75px 8% 90px}.section-line{display:flex;justify-content:space-between;border-top:1px solid #1b1a1733;padding-top:15px}.section-line>span:last-child{font-size:9px;letter-spacing:.1em}.menu h2{font-family:Shippori,serif;font-size:clamp(42px,5vw,70px);font-weight:500;text-align:center;letter-spacing:.03em;margin:65px 0 30px}.dish-switch{display:flex;gap:30px;justify-content:center;align-items:center}.dish-switch>button{border:0;border-bottom:1px solid transparent;padding:10px 0;background:transparent;font-family:Shippori,serif;color:var(--ink);font-size:18px;letter-spacing:.1em}.dish-switch>button[aria-pressed=false]{opacity:.4}.dish-switch>button[aria-pressed=true]{border-bottom-color:var(--ink)}.dish-switch>span{font-size:16px;opacity:.3}.dish-stage{max-width:1040px;margin:45px auto}.dish-stage figure+figure{margin-top:40px}.dish-stage img{width:100%;aspect-ratio:1.7;object-fit:cover}.dish-stage figcaption{display:flex;align-items:center;gap:25px;margin-top:18px}.dish-stage figcaption>span{font-size:10px;letter-spacing:.1em;border-right:1px solid #ccc;padding-right:25px}.dish-stage h3{font-size:13px;letter-spacing:.06em;font-weight:500}.menu-bottom{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #1b1a1733;padding-bottom:20px;font-size:11px;gap:25px}.menu-bottom>a{display:flex;gap:50px;align-items:center}.menu-bottom>a>span{font-size:20px}.stores{padding:115px 8% 85px}.stores-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:55px}.stores-heading h2{font-family:Shippori,serif;font-size:38px;font-weight:500;letter-spacing:.07em}.store-row{border-top:1px solid #1b1a1755;padding:35px 0;display:flex;align-items:center;gap:40px}.store-name{width:35%;position:relative;padding-left:40px}.store-name>span{position:absolute;top:6px;left:0;font:9px/1 Arial,sans-serif}.store-name h3{font-family:Shippori,serif;font-size:62px;font-weight:500;line-height:1.2}.store-name p{font:10px/1 Arial,sans-serif;letter-spacing:.2em;margin-top:16px}.store-row>figure{width:28%;overflow:hidden}.store-row>figure img{width:100%;height:140px;transition:transform .8s}.store-row>a{margin-left:auto;font-size:11px;display:flex;align-items:center;gap:40px;white-space:nowrap}.store-row>a>span{font-size:25px}.store-details{display:flex;align-items:center;justify-content:flex-end;gap:40px;border-top:1px solid #1b1a1755;padding-top:24px;font-size:10px;letter-spacing:.03em}.store-details>span{font-size:17px}.recruit{margin:0 8%;padding:80px 0;border-top:1px solid #1b1a1755}.recruit>a{display:flex;justify-content:space-between;align-items:flex-end;padding-top:30px}.recruit h2{font-family:Shippori,serif;font-size:clamp(80px,11.5vw,160px);line-height:1.2;font-weight:500;letter-spacing:-.08em}.recruit h2>span{display:inline-block;margin-left:1.2em}.recruit-note{padding-bottom:20px;text-align:right}.recruit-note>p{font-size:11px;line-height:2;letter-spacing:.06em}.recruit-arrow{display:inline-block;font:100px/1 Arial,sans-serif;margin-top:15px;transition:transform .5s}.recruit>a:hover .recruit-arrow{transform:translate(7px,-7px)}footer{background:var(--blue);color:#fff;padding:75px 8% 45px;display:flex;align-items:center;gap:35px;flex-wrap:wrap}.footer-logo{display:block;width:120px}.footer-logo img{width:100%;max-height:160px;object-fit:contain;filter:invert(1)}footer>p{font-size:11px;letter-spacing:.12em}.footer-top{margin-left:auto;display:flex;gap:40px;font-size:10px;align-items:center}.footer-top>span{font-size:20px}footer>small{flex-basis:100%;font-size:8px;letter-spacing:.05em;text-align:right;margin-top:20px}

html[data-motion=paused] .noren-panel,html[data-motion=paused] .room-label,html[data-motion=paused] .inside-greeting,html[data-motion=paused] .inside-nav{transition:none!important}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*::before,*::after{transition:none!important;animation:none!important}}
@media(max-width:900px){.entrance{min-height:660px}.entrance-top{gap:20px}.entrance-top>p{font-size:8px}.noren-mark{width:min(42vw,48svh);height:min(42vw,48svh);top:20%}.noren-word{top:calc(20% + min(42vw,48svh) + 18px);width:155px;height:42px}.noren-city{top:41%;gap:13px}.panel-left .noren-city{left:23%}.panel-right .noren-city{right:23%}.city-jp{font-size:32px}.city-en{font-size:7px}.entry-invitation{bottom:11%}.entry-invitation>p{font-size:15px}.room-label{left:11%;right:11%}.inside-greeting{top:26%}.room-label h2{font-size:58px}.story{padding:90px 0 80px}.story-opening{margin:0 10%;gap:30px 40px}.story-opening h2{font-size:76px}.story-copy{font-size:17px}.story-copy>p+p{font-size:11px}.hands-photo{height:530px;margin-top:70px;margin-left:12%;width:88%}.hands-photo figcaption>span{font-size:29px}.story-ending{margin:40px 12% 0 10%}.menu{padding:60px 7% 70px}.stores{padding:80px 7% 65px}.stores-heading h2{font-size:29px}.store-row{gap:25px}.store-name{width:33%;padding-left:26px}.store-name h3{font-size:47px}.store-row>figure{width:29%}.store-row>figure img{height:115px}.store-row>a{font-size:10px;gap:25px}.recruit{margin:0 7%;padding:60px 0}.recruit h2{font-size:90px}.recruit-note>p{font-size:10px}.recruit-arrow{font-size:75px}footer{padding:60px 7% 35px}}
@media(max-width:600px){.entrance{min-height:680px;max-height:950px}.entrance-top{top:24px;left:6%;right:6%;align-items:flex-start}.small-brand{width:92px}.entrance-top>p{position:absolute;top:48px;left:0;font-size:7px;letter-spacing:.05em}.curtain-toggle{font-size:9px;gap:20px;padding:8px 0}.curtain-toggle span{font-size:15px}.noren-mark{width:min(72vw,340px);height:min(72vw,340px);top:31%}.noren-word{width:138px;height:40px;top:calc(31% + min(72vw,340px) + 14px)}.noren-city{top:21%;gap:11px;width:100px}.panel-left .noren-city{left:49%}.panel-right .noren-city{right:49%}.city-number{font-size:7px}.city-jp{font-size:29px}.city-en{font-size:6px}.panel-left{transform:translateX(-2px)}.panel-right{transform:translateX(2px)}.entry-invitation{bottom:9%}.entry-invitation>p{font-size:13px;margin-bottom:14px;letter-spacing:.05em}.enter-button{font-size:10px;padding:9px 0;gap:45px}.entrance-caption{bottom:25px;left:6%;font-size:6px;letter-spacing:.12em}.entrance-scroll{bottom:20px;right:6%;font-size:6px;gap:15px}.entrance-scroll span{font-size:16px}.inside{gap:4px}.inside-greeting{top:27%;font-size:33px}.inside-nav{top:105px;left:6%;right:6%;justify-content:flex-end;gap:20px;font-size:8px}.room-label{bottom:13%;left:12%;right:12%}.room-number{font-size:6px;letter-spacing:.12em}.room-label h2{font-size:35px;letter-spacing:.03em;margin:15px 0 12px}.room-label>p{font-size:7px;letter-spacing:.13em}.room-label>a{margin-top:25px;font-size:8px;padding:12px 0;letter-spacing:0}.room-label>a span{font-size:17px}.room-roppongi .room-photo{object-position:46% 50%}.room-kyoto .room-photo{object-position:43% 50%}.entrance[data-open] .panel-left{transform:translateX(-98%) rotate(3deg)}.entrance[data-open] .panel-right{transform:translateX(98%) rotate(-3deg)}
.story{padding:75px 0 60px}.story-opening{margin:0 8%;display:block}.story-opening>.tiny-label{display:block;margin-bottom:28px}.story-opening h2{font-size:78px;line-height:1.25;letter-spacing:-.07em}.story-copy{margin-left:25%;padding-top:32px;font-size:17px;line-height:2}.story-copy>p+p{font-size:11px;line-height:2.1;margin-top:23px}.hands-photo{margin:55px 0 0 8%;width:92%;height:430px}.hands-photo>img{object-position:53% 50%}.hands-photo::after{background:linear-gradient(90deg,transparent 45%,#0007)}.hands-photo figcaption{top:30px;bottom:27px;right:7%}.hands-photo figcaption>span{font-size:22px;line-height:1.65;letter-spacing:.08em}.hands-photo figcaption small{font-size:7px}.story-ending{margin:30px 8% 0}.story-ending>p{font-size:16px;line-height:1.9}.story-ending>img{width:60px;height:60px}.menu{padding:45px 7% 50px}.tiny-label{font-size:9px}.section-line{padding-top:13px}.section-line>span:last-child{font-size:8px}.menu h2{font-size:36px;letter-spacing:0;margin:40px 0 20px}.dish-switch{gap:25px}.dish-switch>button{font-size:16px}.dish-switch>span{font-size:13px}.dish-stage{margin:30px -8.14%}.dish-stage img{aspect-ratio:1.15;object-position:50% 50%}.dish-stage figcaption{margin:15px 7%;gap:15px}.dish-stage figcaption>span{font-size:9px;padding-right:15px}.dish-stage h3{font-size:11px}.menu-bottom{display:block;font-size:10px;padding-bottom:15px}.menu-bottom>a{justify-content:space-between;margin-top:17px;font-size:10px}.menu-bottom>a>span{font-size:18px}.stores{padding:65px 7% 55px}.stores-heading{display:block;margin-bottom:30px}.stores-heading>.tiny-label{display:block;margin-bottom:20px}.stores-heading h2{font-size:28px;letter-spacing:.01em}.store-row{padding:26px 0;gap:15px;position:relative;flex-wrap:wrap}.store-name{width:52%;padding-left:21px}.store-name>span{font-size:7px;top:5px}.store-name h3{font-size:41px}.store-name p{font-size:8px;margin-top:13px;letter-spacing:.15em}.store-row>figure{width:calc(48% - 15px)}.store-row>figure img{height:103px}.store-row>a{flex-basis:100%;margin-top:4px;justify-content:flex-end;font-size:10px;gap:30px}.store-row>a>span{font-size:20px}.store-details{font-size:8px;gap:20px;line-height:1.7;align-items:flex-start}.store-details>span{font-size:16px}.recruit{margin:0 7%;padding:45px 0}.recruit>a{display:block;padding-top:25px}.recruit h2{font-size:82px;line-height:1.22;letter-spacing:-.08em}.recruit h2>span{margin-left:.7em}.recruit-note{display:flex;align-items:flex-end;justify-content:space-between;text-align:left;margin-top:25px;padding-bottom:0}.recruit-note>p{font-size:10px}.recruit-arrow{font-size:65px;margin-top:0}footer{padding:50px 8% 30px;gap:24px}.footer-logo{width:90px}.footer-logo img{max-height:125px}footer>p{font-size:9px}.footer-top{flex-basis:100%;justify-content:space-between;margin:20px 0 0;font-size:9px;border-top:1px solid #ffffff40;padding-top:20px}footer>small{font-size:7px;margin-top:0}}
@media(max-width:600px) and (max-height:780px){.noren-mark{top:29%;width:min(68vw,310px);height:min(68vw,310px)}.noren-word{top:calc(29% + min(68vw,310px) + 12px);height:36px}.noren-city{top:19%}.entry-invitation{bottom:10%}}
@media(max-width:360px){.entrance{min-height:650px}.city-jp{font-size:26px}.room-label h2{font-size:31px}.room-label>a{font-size:7px}.story-opening h2{font-size:68px}.story-copy{margin-left:20%}.recruit h2{font-size:72px}}
@media(max-width:600px){.recruit h2{font-size:clamp(58px,18vw,76px)}.recruit h2>span{margin-left:.35em;white-space:nowrap}}
