:root{--orange:#f46e28;--paper:#fafaf7;--blue:#203550;--green:#17705d;--ink:#151515;--space:clamp(24px,5.5vw,88px)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:25px}body{margin:0;background:var(--paper);color:var(--blue);font-family:'Trebuchet MS','Microsoft YaHei',Meiryo,'Malgun Gothic',sans-serif;-webkit-font-smoothing:antialiased}button,select{font:inherit}button,a,select{-webkit-tap-highlight-color:transparent}button{cursor:pointer}a{color:inherit;text-decoration:none}img{display:block;max-width:100%}h1,h2,h3,p,figure{margin:0}h1,h2,.brand,.footer-brand{font-family:'Arial Rounded MT Bold','Trebuchet MS','Microsoft YaHei',Meiryo,'Malgun Gothic',sans-serif;font-weight:800}h1,h2{letter-spacing:-.055em}p{line-height:1.85}a,button,select,summary{touch-action:manipulation}:focus-visible{outline:3px solid var(--green);outline-offset:5px}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}.skip{position:fixed;top:10px;left:20px;padding:12px;background:white;transform:translateY(-170%);z-index:20}.skip:focus{transform:none}
.header{display:flex;align-items:center;justify-content:space-between;height:106px;padding:0 var(--space);gap:24px;background:var(--paper);position:relative;z-index:5}.brand{display:flex;align-items:center;gap:10px;font-size:18px;line-height:1.08;letter-spacing:-.035em}.brand img{width:66px;height:66px;object-fit:contain}.header nav{display:flex;gap:30px;align-items:center}.header nav a{font-size:15px;padding:14px 0;position:relative}.header nav a:after{content:'';position:absolute;bottom:7px;left:0;width:100%;height:3px;background:var(--orange);transform:scaleX(0);transform-origin:left;transition:transform .2s}.header nav a:hover:after,.header nav a[aria-current]:after{transform:scaleX(1)}.header-controls{display:flex;align-items:center;gap:15px}.language select{border:0;background:transparent;color:var(--blue);padding:12px 7px;font-weight:700;cursor:pointer;max-width:112px}.nav-toggle{display:none;width:44px;height:44px;background:transparent;border:0}.nav-toggle span{display:block;background:var(--blue);height:2px;width:23px;margin:6px auto;transition:transform .2s}.section{padding:100px var(--space);max-width:1660px;margin:auto}.button{display:inline-flex;justify-content:center;align-items:center;background:var(--blue);color:white;min-height:52px;padding:15px 28px;border-radius:60px;font-weight:700;font-size:16px;transition:background .2s,transform .2s}.button:hover{background:var(--green);transform:translateY(-2px)}.button-white{background:var(--paper);color:var(--blue)}.button-white:hover{background:var(--orange);color:var(--blue)}.button-light{background:var(--paper);color:var(--blue);box-shadow:inset 0 0 0 1px var(--blue)}.textlink{display:inline-block;font-weight:700;border-bottom:1px solid currentColor;padding:6px 0;line-height:1.5}.textlink:hover{color:var(--green)}
.hero{height:calc(100svh - 106px);min-height:650px;max-height:960px;position:relative;isolation:isolate;background:var(--orange);overflow:hidden}.hero-image{width:100%;height:100%;object-fit:cover;object-position:50% 55%;animation:arrive-photo 1.1s cubic-bezier(.16,1,.3,1) both}.hero-shade{position:absolute;inset:0;background:linear-gradient(90deg,rgba(0,0,0,.67),rgba(0,0,0,.1) 76%),linear-gradient(0deg,rgba(0,0,0,.55),transparent 40%)}.hero-content{position:absolute;left:var(--space);right:var(--space);bottom:118px;color:white;animation:arrive-copy .8s .15s both}.hero h1{font-size:clamp(54px,6.8vw,108px);line-height:1.08;max-width:980px;text-wrap:balance}.hero-bottom{margin-top:32px;display:flex;align-items:end;justify-content:space-between;gap:40px}.hero-bottom p{max-width:440px;line-height:1.75;font-size:17px}.hero-place{position:absolute;bottom:29px;left:var(--space);color:white;font-size:13px}.hero-sign{position:absolute;right:var(--space);bottom:16px;color:var(--orange);font-size:clamp(32px,5vw,74px);font-weight:900;letter-spacing:-.065em;line-height:1}.welcome{display:grid;grid-template-columns:1.12fr 1fr;gap:8%;align-items:center;padding-top:120px;padding-bottom:120px}.welcome-photo .photo{aspect-ratio:1.13;border-radius:36% 36% 3% 3%;overflow:hidden}.photo-caption{display:block;margin-top:14px;font-size:12px}.welcome h2{font-size:clamp(40px,4vw,67px);line-height:1.25;margin-bottom:26px}.welcome-copy>p{max-width:430px;font-size:16px}.walk-note{display:flex;gap:18px;align-items:center;margin:30px 0;line-height:1.7}.walk-note p{font-size:13px;margin-top:5px}.sun{color:var(--orange);font-size:44px;line-height:1}.photo{border:0;padding:0;width:100%;display:block;position:relative;overflow:hidden;background:#ddd}.photo img{width:100%;height:100%;object-fit:cover;transition:transform .6s cubic-bezier(.2,.7,.3,1)}.photo:hover img{transform:scale(1.035)}.photo-plus{position:absolute;bottom:16px;right:16px;background:var(--paper);color:var(--blue);border-radius:50%;width:38px;height:38px;display:grid;place-items:center;font-size:25px;opacity:0;transform:scale(.9);transition:.2s}.photo:hover .photo-plus,.photo:focus-visible .photo-plus{opacity:1;transform:none}.section-head{display:flex;align-items:end;justify-content:space-between;gap:45px;margin-bottom:50px}.section-head h2{font-size:clamp(37px,4vw,64px);max-width:680px;line-height:1.22}.section-head p{max-width:320px}.table{padding-top:40px}.table-grid{display:grid;grid-template-columns:1fr .85fr;gap:5%;align-items:start;margin-bottom:35px}.table-grid figure:nth-child(2){padding-top:80px}.table-grid .photo{aspect-ratio:1.15}.table-grid figure:nth-child(2) .photo{aspect-ratio:1.02;border-radius:50% 50% 3% 3%}.table-grid figcaption{font-weight:700;font-size:20px;margin-top:16px}.bar-callout{display:flex;gap:35px;align-items:center;padding-top:70px;padding-bottom:70px;background:var(--orange);max-width:none}.bar-callout>span{font-size:70px}.bar-callout h2{font-size:clamp(30px,3.1vw,47px);line-height:1.25}.bar-callout p{margin-top:12px}.bar-callout .button{margin-left:auto;flex-shrink:0}
.page-intro{padding-top:85px;padding-bottom:62px}.page-intro h1{font-size:clamp(54px,7.3vw,112px);line-height:1.12;max-width:1150px}.page-intro p{margin-top:26px;font-size:18px;max-width:670px}.menu-section{padding-top:15px;padding-bottom:65px}.category-top{display:flex;justify-content:space-between;align-items:center;gap:30px;margin-bottom:38px}.tabs{display:flex;gap:10px;flex-wrap:wrap}.tabs button{border:1px solid #a6acb0;background:transparent;color:var(--blue);border-radius:40px;padding:13px 24px;min-height:48px;font-weight:700}.tabs button[aria-selected=true]{background:var(--orange);border-color:var(--orange)}.tabs button:hover{border-color:var(--orange)}.partial{font-size:13px;max-width:290px}.dish-panel{display:grid;grid-template-columns:1fr 1fr;column-gap:8%;row-gap:18px;min-height:236px;animation:none}.dish{display:flex;justify-content:space-between;gap:20px;padding:26px 0;border-bottom:1px solid #d9dcd8}.dish h2{font-size:23px;line-height:1.45;letter-spacing:-.025em}.price{font-weight:700;font-size:21px;white-space:nowrap;padding-top:3px}.diet-tag{display:inline-block;color:var(--green);font-size:12px;margin-top:10px;font-weight:700}.menu-note{font-size:13px;margin:28px 0 20px;max-width:900px}.menu-downloads{display:flex;flex-wrap:wrap;gap:16px}.diet-note{font-size:14px;margin-top:22px;max-width:680px}.food-gallery{padding-top:10px}.food-gallery h2{font-size:26px;margin-bottom:27px}.food-gallery-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:22px}.food-gallery .photo{aspect-ratio:.92}.food-gallery .photo:nth-child(2){border-radius:50% 50% 0 0}
.bar-stories{padding-top:0}.bar-story{display:grid;grid-template-columns:1fr 1fr;gap:10%;align-items:center;margin-bottom:100px}.bar-story:last-child{margin-bottom:0}.bar-story .photo{aspect-ratio:1}.bar-story:nth-child(2) .photo{order:2;border-radius:50% 50% 0 0}.bar-story h2{font-size:clamp(34px,3.4vw,54px);line-height:1.25;margin:20px 0}.bar-story p{max-width:390px;margin-bottom:25px}.story-symbol{font-size:54px;color:var(--orange)}.visit-info{display:grid;grid-template-columns:1fr 1fr;gap:12%;padding-top:20px}.address h2,.visit-gallery h2,.faq h2{font-size:38px;line-height:1.3;margin-bottom:27px}.address>p{font-size:25px;line-height:1.65;margin-bottom:30px}.schedule{display:flex;gap:35px;flex-wrap:wrap}.schedule>div{min-width:140px}.schedule h3{font-size:15px;font-weight:400;margin-bottom:12px}.schedule p{font-size:13px}.schedule strong{display:block;font-size:26px;line-height:1.7;letter-spacing:-.035em}.small-note{font-size:13px;margin-top:25px;max-width:340px}.visit-hours .schedule{gap:55px;display:grid;grid-template-columns:1fr}.contact-links{margin-top:35px;display:flex;gap:28px;flex-direction:column}.contact-links a{font-size:13px;line-height:1.6;display:block}.contact-links span{display:block;font-size:17px;font-weight:700;overflow-wrap:anywhere}.contact-links a:hover{color:var(--green)}.visit-gallery{padding-top:0;padding-bottom:60px}.visit-gallery-grid{display:grid;grid-template-columns:1.35fr 1fr .8fr;gap:22px;align-items:start}.visit-gallery-grid .photo{aspect-ratio:1}.visit-gallery-grid figure:nth-child(2){margin-top:55px}.visit-gallery-grid figure:nth-child(3){margin-top:100px}.visit-gallery-grid figcaption{margin-top:12px;font-size:13px}.faq{display:grid;grid-template-columns:.8fr 1.2fr;gap:10%;padding-top:45px}.faq details{border-bottom:1px solid #d9dcd8}.faq summary{cursor:pointer;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:20px;padding:24px 0;font-size:18px;font-weight:700}.faq summary::-webkit-details-marker{display:none}.faq summary span{font-size:26px;transition:transform .2s}.faq details[open] summary span{transform:rotate(45deg)}.faq details p{padding:0 30px 25px 0;font-size:15px}
.footer{background:var(--blue);color:var(--paper);padding:70px var(--space) 28px}.footer-top{display:flex;justify-content:space-between;gap:50px;padding-bottom:70px}.footer-brand{font-size:clamp(40px,5.1vw,75px);line-height:1.05;letter-spacing:-.065em;margin-bottom:24px}.footer-top>div:first-child>p:not(.footer-brand){font-size:13px;margin-bottom:18px}.footer-walk{font-size:14px;color:#ffa16b;max-width:360px;display:block;line-height:1.8}.footer .contact-links{flex-direction:row}.footer .contact-links span{font-size:14px}.footer-bottom{border-top:1px solid #ffffff30;padding-top:24px;display:flex;gap:25px;justify-content:space-between;align-items:start;font-size:11px}.footer-bottom>div{display:flex;gap:25px;flex-wrap:wrap}.footer-bottom p{max-width:380px;line-height:1.5;opacity:.7}.footer-bottom>a{white-space:nowrap}.footer a:hover{color:#ffa16b}.lightbox{max-width:94vw;max-height:94svh;padding:0;border:0;background:transparent;color:white;overflow:auto}.lightbox::backdrop{background:rgba(0,0,0,.88);backdrop-filter:blur(5px)}.lightbox img{max-height:82svh;max-width:86vw;object-fit:contain;margin:auto}.lightbox p{padding:16px 10px 0;text-align:center;font-size:13px}.lightbox-close{position:fixed;right:25px;top:18px;border:0;background:var(--paper);color:var(--blue);border-radius:50%;width:46px;height:46px;font-size:28px;z-index:10}
@keyframes arrive-photo{from{transform:scale(1.045)}to{transform:scale(1)}}@keyframes arrive-copy{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media(min-width:1800px){.header,.footer{padding-left:max(var(--space),calc((100vw - 1550px)/2));padding-right:max(var(--space),calc((100vw - 1550px)/2))}}
@media(max-width:1050px){.header{gap:15px}.header nav{gap:19px}.header nav a{font-size:13px}.brand span{display:none}.hero{min-height:620px}.hero h1{font-size:clamp(60px,8vw,88px)}.section{padding-top:75px;padding-bottom:75px}.welcome{gap:7%}.welcome-photo .photo{aspect-ratio:.9}.category-top{align-items:start;flex-direction:column}.partial{max-width:none}.bar-callout{gap:22px}.bar-callout>span{font-size:45px}.bar-callout p{font-size:14px}.footer-top{gap:30px}.footer .contact-links{flex-direction:column;gap:15px}}
@media(max-width:700px){:root{--space:22px}.header{height:86px;gap:10px}.brand img{width:58px;height:58px}.brand span{display:block;font-size:15px}.header nav{display:none;position:absolute;top:86px;left:0;right:0;background:var(--paper);padding:20px var(--space) 32px;box-shadow:0 20px 25px #00000018}.nav-open .header nav{display:flex;flex-direction:column;align-items:start;gap:5px}.header nav a{font-size:18px;width:100%;padding:14px 0}.header nav a:after{width:40px}.nav-toggle{display:block}.nav-open .nav-toggle span:first-child{transform:translateY(4px) rotate(45deg)}.nav-open .nav-toggle span:last-child{transform:translateY(-4px) rotate(-45deg)}.header-controls{gap:4px}.language select{font-size:12px;padding:12px 4px;max-width:92px}.hero{height:calc(100svh - 86px);min-height:650px;max-height:860px}.hero-image{object-position:58% center}.hero-shade{background:linear-gradient(0deg,#000000c9,transparent 80%),linear-gradient(90deg,#00000044,transparent)}.hero-content{bottom:115px}.hero h1{font-size:clamp(47px,11.6vw,78px);line-height:1.17}.hero-bottom{display:block;margin-top:22px}.hero-bottom p{font-size:15px;max-width:330px;line-height:1.8}.hero-bottom .button{margin-top:25px;padding:14px 24px;min-height:49px}.hero-place{bottom:28px;font-size:11px}.hero-sign{bottom:48px;font-size:47px;right:22px}.section{padding:64px var(--space)}.welcome{display:flex;flex-direction:column;gap:40px}.welcome-photo{width:100%}.welcome-photo .photo{aspect-ratio:1.1;border-radius:28% 28% 2% 2%}.welcome-copy{width:100%}.welcome h2{font-size:40px;margin-bottom:22px}.welcome-copy>p{font-size:15px}.walk-note{margin:26px 0;gap:14px}.walk-note strong{font-size:14px}.sun{font-size:34px}.section-head{display:block;margin-bottom:30px}.section-head h2{font-size:35px;margin-bottom:20px}.section-head p{font-size:15px;max-width:400px}.table{padding-top:10px}.table-grid{gap:24px;grid-template-columns:1fr}.table-grid figure:nth-child(2){padding-top:0}.table-grid .photo,.table-grid figure:nth-child(2) .photo{aspect-ratio:1.25;border-radius:0}.table-grid figcaption{font-size:18px;margin-top:11px}.bar-callout{display:grid;grid-template-columns:1fr;gap:18px}.bar-callout>span{display:none}.bar-callout h2{font-size:32px}.bar-callout .button{margin-left:0;justify-self:start}.page-intro{padding-top:55px;padding-bottom:42px}.page-intro h1{font-size:clamp(43px,10.5vw,63px);line-height:1.2}.page-intro p{font-size:16px;margin-top:22px}.menu-section{padding-top:0;padding-bottom:45px}.category-top{gap:18px;margin-bottom:18px}.tabs{gap:8px}.tabs button{padding:12px 17px;font-size:14px}.partial{font-size:12px}.dish-panel{grid-template-columns:1fr;gap:0;min-height:350px}.dish{padding:24px 0;gap:15px}.dish h2{font-size:21px;line-height:1.4}.price{font-size:18px}.menu-note{font-size:12px}.menu-downloads .button{font-size:13px;padding:13px 18px}.diet-note{font-size:13px}.food-gallery{padding-top:10px}.food-gallery h2{font-size:23px}.food-gallery-grid{grid-template-columns:1fr 1fr;gap:12px}.food-gallery .photo:first-child{grid-column:1/-1;aspect-ratio:1.4}.food-gallery .photo{aspect-ratio:.86}.food-gallery .photo:nth-child(2){border-radius:0}.bar-stories{padding-top:0}.bar-story{grid-template-columns:1fr;gap:25px;margin-bottom:65px}.bar-story:nth-child(2) .photo{order:0;border-radius:0}.bar-story .photo{aspect-ratio:1.12}.bar-story h2{font-size:33px;margin:15px 0}.bar-story p{font-size:15px;margin-bottom:15px}.story-symbol{font-size:33px}.visit-info{grid-template-columns:1fr;gap:48px;padding-top:0}.address h2,.visit-gallery h2,.faq h2{font-size:31px;margin-bottom:22px}.address>p{font-size:22px}.visit-hours .schedule{grid-template-columns:1fr 1fr;gap:20px}.visit-hours .schedule>div{min-width:0}.schedule strong{font-size:23px}.visit-gallery{padding-top:0;padding-bottom:35px}.visit-gallery-grid{grid-template-columns:1fr 1fr;gap:15px}.visit-gallery-grid figure:first-child{grid-column:1/-1}.visit-gallery-grid figure:first-child .photo{aspect-ratio:1.3}.visit-gallery-grid figure:nth-child(2),.visit-gallery-grid figure:nth-child(3){margin-top:0}.visit-gallery-grid figcaption{font-size:12px}.faq{grid-template-columns:1fr;gap:5px;padding-top:20px}.faq summary{font-size:16px}.faq details p{font-size:14px}.footer{padding-top:50px}.footer-top{display:block;padding-bottom:40px}.footer-brand{font-size:49px}.footer-top>div+div{margin-top:36px}.footer .schedule{gap:25px}.footer .schedule>div{min-width:130px}.footer .contact-links{gap:22px;flex-direction:column;margin-top:25px}.footer-bottom{display:grid;grid-template-columns:1fr auto;gap:20px}.footer-bottom p{grid-column:1/-1;grid-row:2}.footer-bottom>div{gap:15px}.photo-plus{opacity:1;width:31px;height:31px;font-size:21px;bottom:12px;right:12px}.lightbox-close{right:12px;top:12px}}
@media(max-width:360px){.brand span{font-size:13px}.brand img{width:50px;height:50px}.header{padding:0 16px}.hero h1{font-size:43px}.hero-bottom p{font-size:14px}.hero-sign{font-size:39px}.tabs button{padding:12px 14px;font-size:12px}.footer .schedule{gap:15px}.footer .schedule>div{min-width:120px}.visit-hours .schedule strong{font-size:21px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{animation:none!important;transition:none!important}}

/* 菜单开头展示真实出品，避免只有文字的首屏。 */
.menu-intro{display:grid;grid-template-columns:1.1fr 1fr;gap:8%;align-items:center}.menu-intro h1{font-size:clamp(45px,5.1vw,78px)}.menu-intro .photo{aspect-ratio:1.2;border-radius:45% 45% 2% 2%}.food-gallery-grid{grid-template-columns:1fr 1fr}.food-gallery .photo{aspect-ratio:1.12}.food-gallery .photo:nth-child(2){border-radius:0}
@media(max-width:700px){.menu-intro{grid-template-columns:1fr;gap:28px;padding-bottom:35px}.menu-intro h1{font-size:clamp(43px,10.5vw,63px)}.menu-intro .photo{aspect-ratio:1.5;border-radius:0}.food-gallery .photo:first-child{grid-column:auto;aspect-ratio:.95}.food-gallery .photo{aspect-ratio:.95}}
