@charset "UTF-8";
:root{--green:#16806b;--deep:#176452;--ink:#2a4038;--text:#4e5e56;--cream:#faf9f2;--pale:#eef4eb;--line:#dce3d9;--serif:"Yu Mincho","Hiragino Mincho ProN","Noto Serif JP",serif;--sans:"Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:95px}body{margin:0;background:var(--cream);color:var(--text);font-family:var(--sans);font-size:14px;line-height:2;letter-spacing:.04em;-webkit-font-smoothing:antialiased}a{color:inherit;text-decoration:none}button{font:inherit}img{display:block;max-width:100%;object-fit:cover}h1,h2,h3,p,figure{margin:0}h1,h2,h3{color:var(--ink);font-weight:400}h1,h2{font-family:var(--serif)}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible{outline:3px solid #d6a746;outline-offset:5px}::selection{background:#cfe7d6}.skip{position:fixed;left:15px;top:-100px;background:white;padding:10px;z-index:200}.skip:focus{top:10px}.section-width{width:min(1120px,calc(100% - 112px));margin-inline:auto}.section-pad{padding-block:100px}.eyebrow{font-family:Georgia,"Times New Roman",serif;font-size:13px;letter-spacing:.19em;color:var(--green);line-height:1.5}.section-heading{text-align:center}.section-heading h2{font-size:32px;line-height:1.8;letter-spacing:.09em;margin-top:18px}.section-heading>p:last-child:not(.eyebrow){margin-top:22px;line-height:2.2}.small-rule{width:30px;height:1px;background:#9bb7a3;margin:26px auto}.button{min-height:54px;min-width:260px;padding:12px 27px;display:inline-flex;gap:36px;align-items:center;justify-content:space-between;font-size:13px;letter-spacing:.07em;border:1px solid transparent;transition:background .2s,color .2s,transform .2s}.button span{font-size:20px;line-height:1}.button:hover{transform:translateY(-2px)}.green{background:var(--green);color:#fff}.green:hover{background:var(--deep)}.outline{border-color:#819b8c;color:var(--deep);background:transparent}.outline:hover{background:var(--pale)}.light{background:var(--cream);color:var(--deep)}.text-link{display:inline-flex;align-items:center;justify-content:space-between;gap:45px;padding:12px 0;border-bottom:1px solid #9bb8a4;color:var(--deep);font-size:13px}.text-link span{font-size:20px}.text-link:hover{color:var(--green);border-color:var(--green)}
.header{height:94px;display:flex;align-items:center;justify-content:space-between;padding-left:40px;background:rgba(250,249,242,.98);position:sticky;top:0;z-index:50;border-bottom:1px solid #e6e9df}.brand{display:block;flex-shrink:0}.brand img{width:187px;height:auto;filter:brightness(0) saturate(100%) invert(36%) sepia(26%) saturate(1120%) hue-rotate(112deg) brightness(91%) contrast(87%)}.desktop-nav{display:flex;align-items:center;gap:25px;margin:0 25px 0 auto}.desktop-nav a{font-size:12px;color:var(--ink);white-space:nowrap;position:relative}.desktop-nav a:after{position:absolute;bottom:-8px;left:0;width:0;height:1px;background:var(--green);content:"";transition:width .2s}.desktop-nav a:hover:after{width:100%}.header-book{height:94px;width:165px;flex-shrink:0;display:flex;align-items:center;justify-content:center;gap:12px;background:var(--green);color:white;font-size:13px;letter-spacing:.06em}.header-book:hover{background:var(--deep)}.calendar{width:16px;height:15px;border:1px solid currentColor;position:relative}.calendar:before{content:"";position:absolute;left:0;right:0;top:3px;border-top:1px solid currentColor}.menu-toggle{display:none}.mobile-nav[hidden]{display:none}.mobile-only{display:none}
.hero{position:relative;height:min(650px,calc(100svh - 94px));min-height:510px;overflow:hidden;background:#f0f2e8}.hero-image{position:absolute;right:0;top:0;width:77%;height:100%;object-position:40% 44%}.hero-wash{position:absolute;inset:0;background:linear-gradient(90deg,#f7f7ec 0%,rgba(247,247,236,.96) 24%,rgba(247,247,236,.79) 38%,rgba(247,247,236,.08) 66%,rgba(247,247,236,0) 100%)}.hero-inner{position:relative;width:min(1200px,calc(100% - 140px));margin:auto;height:100%;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;padding-bottom:17px}.hero-inner .eyebrow{font-size:12px}.hero h1{font-size:48px;line-height:1.72;letter-spacing:.1em;color:#245847;margin:22px 0 21px}.hero-desc{font-size:13px;line-height:2.3;color:#3f594b;margin-bottom:28px}.hero-location{margin-top:26px;font-size:10px;letter-spacing:.08em;color:#4b6c59}.hero-location>span{margin-right:10px}.hero-number{position:absolute;bottom:27px;right:40px;color:#325244;font-family:Georgia,serif;font-size:10px;letter-spacing:.15em}.hero-number span{margin:0 13px}.scroll-cue{position:absolute;bottom:23px;left:50%;display:flex;align-items:center;gap:12px;font-size:9px;letter-spacing:.2em;color:#385d4f}.scroll-cue span{font-size:20px}.notice{max-width:1120px;width:calc(100% - 112px);margin:auto;display:flex;align-items:center;gap:28px;padding-block:23px;border-bottom:1px solid var(--line);font-size:12px}.notice-tag{font-family:Georgia,serif;color:var(--green);font-size:11px;letter-spacing:.12em}.notice a{display:flex;align-items:center;gap:23px;flex:1}.notice time{color:#7a867d;font-family:Georgia,serif;letter-spacing:.02em}.notice .arrow{margin-left:auto;font-size:18px;color:var(--green)}.notice a:hover{color:var(--green)}
.quick-links{display:grid;grid-template-columns:repeat(3,1fr);gap:30px;padding-block:58px 75px}.quick-photo{height:190px;overflow:hidden}.quick-photo img{width:100%;height:100%;transition:transform .55s}.quick:nth-child(3) .quick-photo img{object-position:center 28%}.quick:hover img{transform:scale(1.035)}.quick-text{position:relative;padding:20px 0 0}.quick-en{font-family:Georgia,serif;font-size:19px;letter-spacing:.09em;color:var(--green)}.quick h2{display:inline;font-family:var(--sans);font-size:12px;margin-left:14px;letter-spacing:.02em}.quick-arrow{position:absolute;right:0;top:22px;font-size:23px;line-height:1.5;color:var(--green)}.quick>p{font-size:12px;line-height:1.9;margin-top:7px;color:#68776e}
.about{background:var(--pale);text-align:center;padding-bottom:0}.about h2{font-size:34px}.center-copy{font-size:14px;line-height:2.6;padding-inline:24px}.about>.button{margin:32px auto 64px}.photo-triptych{display:grid;grid-template-columns:repeat(3,1fr);gap:0}.photo-triptych img{width:100%;height:250px;object-position:center}.photo-triptych img:nth-child(2){object-position:center 58%}.menu-section .section-heading{margin-bottom:46px}.menu-banners{display:grid;grid-template-columns:1fr 1fr;gap:28px}.menu-banner{position:relative;height:365px;overflow:hidden;background:var(--deep);color:#fff}.menu-banner>img{width:100%;height:100%;transition:transform .6s;object-position:50% 45%}.menu-banner:hover>img{transform:scale(1.035)}.banner-shade{position:absolute;inset:0;background:linear-gradient(0deg,rgba(14,52,40,.89),rgba(16,60,46,.25) 70%,rgba(16,60,46,.02))}.menu-banner-text{position:absolute;left:38px;right:38px;bottom:30px}.menu-banner .eyebrow{font-size:11px;color:#e0ecdc}.menu-banner h3{color:#fff;font-family:var(--serif);font-size:26px;letter-spacing:.07em;margin:7px 0 12px}.menu-banner-text>p:not(.eyebrow){font-size:12px;color:#f0f3e9;line-height:2}.banner-link{display:flex;justify-content:space-between;align-items:center;border-top:1px solid #ffffff5e;margin-top:22px;padding-top:13px;font-size:12px}.banner-link span{font-size:19px}.menu-note{text-align:center;margin:28px 25px 0;font-size:12px;color:#728074}
.care-section{display:grid;grid-template-columns:1fr 1fr;background:#e4eee0;min-height:440px}.care-photo img{width:100%;height:100%;min-height:440px;object-position:center}.care-copy{padding:64px 10% 54px}.care-copy h2{font-size:29px;line-height:1.9;margin:20px 0}.care-copy>p:not(.eyebrow){font-size:13px;line-height:2.3}.care-copy .text-link{margin-top:20px}
.access-grid{display:grid;grid-template-columns:1fr 1.05fr;gap:85px;align-items:center}.access-copy h2{font-size:32px;line-height:1.9;letter-spacing:.07em;margin:18px 0 24px}.access-copy>p:not(.eyebrow){font-size:13px;line-height:2.3}.access-copy h3{font-size:16px;font-weight:500;letter-spacing:.08em;margin:30px 0 9px}.access-copy address{font-style:normal;font-size:12px;line-height:2}.phone-link{display:block;font-size:24px;font-family:Georgia,serif;color:var(--deep);letter-spacing:.04em;margin-top:8px}.phone-link span{font-size:12px;margin-right:6px}.access-copy .hours{margin:6px 0 23px;font-size:12px}.hours span{display:block;font-size:10px;color:#7a857b}.access-photo{position:relative}.access-photo img{width:100%;height:530px;object-position:45% center}.access-photo figcaption{font-size:10px;line-height:1.8;text-align:right;color:#7c877c;margin-top:10px}
.news-section{background:#f0f3ec}.news-grid{display:grid;grid-template-columns:1fr 1.9fr;gap:80px}.news-intro h2{font-size:30px;line-height:1.8;margin:17px 0}.news-intro>p:not(.eyebrow){font-size:12px;line-height:2.2}.news-intro .text-link{margin-top:22px}.news-list a{display:block;position:relative;padding:24px 36px 24px 0;border-bottom:1px solid #d0d9cd}.news-list a:first-child{border-top:1px solid #d0d9cd}.news-meta{display:flex;align-items:center;gap:18px;font-size:10px;color:#6e8072;margin-bottom:8px}.news-meta time{font-family:Georgia,serif;font-size:13px;color:var(--green);letter-spacing:.04em}.news-meta>span{padding:1px 8px;background:#e4ecdf}.news-list h3{font-family:var(--sans);font-size:13px;line-height:1.9;letter-spacing:.04em}.news-arrow{position:absolute;right:3px;top:50%;font-size:19px;transform:translateY(-50%);color:var(--green)}.news-list a:hover h3{color:var(--green)}
.guide-section{text-align:center;padding:72px 24px;background:#faf9f2}.guide-inner{max-width:900px;margin:auto}.guide-section h2{font-size:30px;margin:16px 0}.guide-section p:not(.eyebrow){font-size:13px}.guide-section .button{margin-top:27px}.reservation{background:var(--green);color:#fff;text-align:center;padding:75px 24px 60px;position:relative;overflow:hidden}.reservation:before,.reservation:after{content:"";position:absolute;width:410px;height:410px;border:1px solid #ffffff14;border-radius:50%;left:-160px;top:-95px;pointer-events:none}.reservation:after{width:560px;height:560px;left:auto;right:-230px;top:35px}.reservation-inner{position:relative;max-width:800px;margin:auto}.reservation .eyebrow{color:#d8ebdc}.reservation h2{color:#fff;font-size:32px;letter-spacing:.09em;margin:17px 0}.reservation-inner>p:not(.eyebrow):not(.closure-note){font-size:13px;color:#eef3e8}.reservation .button{margin-top:29px;min-width:350px}.reservation-note{display:block;font-size:10px;color:#d8e7d9;margin:8px 0 20px}.reservation-tel{font-size:14px;letter-spacing:.07em}.closure-note{font-size:10px;line-height:1.9;color:#e0ecdf;margin-top:22px}.footer{background:#f9f9f2;padding-top:46px}.footer-top{display:flex;align-items:center;gap:45px}.footer-top .brand img{width:165px}.footer-top nav{display:flex;gap:23px;margin-left:auto;font-size:11px}.back-top{width:35px;height:35px;border:1px solid var(--line);display:grid;place-items:center;font-size:17px;color:var(--green)}.footer-bottom{display:flex;justify-content:space-between;font-size:10px;margin-top:35px;padding:22px 0;color:#7b877c;border-top:1px solid var(--line)}.footer-bottom div{display:flex;gap:25px}.preview-note{background:#eaf0e5;color:#637b69;font-size:10px;text-align:center;line-height:1.8;padding:12px 24px}.mobile-book{display:none}
@media(min-width:1600px){.hero{height:690px}.hero-inner{width:1200px}}
@media(max-width:1150px){.header{padding-left:25px;height:80px}.header-book{height:80px;width:140px}.brand img{width:170px}.desktop-nav{gap:17px;margin-right:20px}.desktop-nav a{font-size:11px}.section-width{width:calc(100% - 80px)}.notice{width:calc(100% - 80px)}.hero-inner{width:calc(100% - 110px)}.hero h1{font-size:42px}.access-grid{gap:55px}.care-copy{padding:50px 9%}.footer-top{gap:24px}.footer-top nav{gap:15px}.quick-links{gap:25px}.quick h2{display:block;margin:2px 0 0}.quick-arrow{top:27px}}
@media(max-width:900px){html{scroll-padding-top:73px}.header{height:73px;padding:0 0 0 24px}.brand img{width:156px}.desktop-nav{display:none}.header-book{height:73px;width:140px;margin-left:auto}.menu-toggle{height:73px;width:73px;border:0;display:flex;background:var(--cream);align-items:center;justify-content:center;flex-direction:column;gap:7px;color:var(--green);cursor:pointer}.menu-toggle span{display:block;width:24px;height:1px;background:currentColor;transition:transform .2s}.menu-toggle[aria-expanded=true] span:first-child{transform:translateY(4px) rotate(45deg)}.menu-toggle[aria-expanded=true] span:last-child{transform:translateY(-4px) rotate(-45deg)}.mobile-nav{position:fixed;top:73px;left:0;right:0;z-index:45;padding:20px 30px 30px;background:var(--cream);box-shadow:0 15px 25px #1b4b3020}.mobile-nav a{padding:14px 0;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;font-size:13px;color:var(--deep)}.mobile-nav span{font-family:Georgia,serif;font-size:11px;color:#73917b}.section-pad{padding-block:75px}.hero{height:575px;min-height:0}.hero h1{font-size:38px}.hero-image{width:87%;object-position:33% center}.hero-wash{background:linear-gradient(90deg,#f7f7ec 0%,rgba(247,247,236,.92) 25%,rgba(247,247,236,.65) 47%,rgba(247,247,236,.03) 82%)}.hero-inner{width:calc(100% - 80px)}.hero-desc{font-size:12px}.hero-location{font-size:9px}.scroll-cue{left:40px}.quick-photo{height:150px}.quick-links{gap:20px;padding-block:45px 60px}.quick-en{font-size:18px}.quick>p{font-size:11px}.photo-triptych img{height:195px}.menu-banner{height:335px}.menu-banner-text{left:24px;right:24px;bottom:25px}.menu-banner h3{font-size:23px}.menu-banner-text>p:not(.eyebrow){font-size:11px}.care-copy h2{font-size:26px}.care-copy{padding:40px 28px}.care-copy>p:not(.eyebrow){font-size:12px}.wide-only{display:none}.access-grid{gap:35px}.access-copy h2{font-size:27px}.access-copy>p:not(.eyebrow){font-size:12px}.access-photo img{height:470px}.news-grid{gap:40px;grid-template-columns:1fr 1.7fr}.news-intro h2{font-size:26px}.footer-top{flex-wrap:wrap}.footer-top nav{order:3;width:100%;justify-content:flex-start;gap:25px}.back-top{margin-left:auto}}
@media(max-width:600px){body{font-size:13px;line-height:2}.section-width{width:calc(100% - 44px)}.section-pad{padding-block:60px}.header{height:67px;padding-left:20px}.brand img{width:139px}.header-book{height:67px;width:108px;font-size:11px;gap:8px}.calendar{width:13px;height:13px}.menu-toggle{height:67px;width:57px}.mobile-nav{top:67px}.section-heading h2{font-size:25px;line-height:1.9;letter-spacing:.06em;margin-top:15px}.section-heading>p:last-child:not(.eyebrow){font-size:12px;margin-top:17px;padding-inline:22px}.eyebrow{font-size:11px}.hero{height:620px;height:calc(88svh - 67px);min-height:545px;max-height:660px;display:flex;align-items:flex-end;background:#eef2e6}.hero-image{width:100%;height:67%;top:0;right:0;object-position:26% center}.hero-wash{background:linear-gradient(0deg,#f7f7ec 0%,#f7f7ec 20%,rgba(247,247,236,.91) 36%,rgba(247,247,236,.3) 54%,rgba(247,247,236,0) 80%)}.hero-inner{width:calc(100% - 44px);height:auto;display:block;padding:0 0 54px}.hero-inner>.eyebrow{font-size:10px;letter-spacing:.13em}.hero h1{font-size:32px;line-height:1.65;margin:16px 0 15px;letter-spacing:.08em}.hero-desc{font-size:11px;line-height:2.2;margin-bottom:20px}.hero .button{min-width:238px;min-height:49px;font-size:12px;padding:10px 23px}.hero-location{margin-top:17px;letter-spacing:.01em;font-size:9px}.hero-location>span{margin-right:5px}.hero-number{display:none}.scroll-cue{left:auto;right:22px;bottom:18px;font-size:8px;gap:8px}.mobile-only{display:block}.notice{width:calc(100% - 44px);padding:17px 0;display:block}.notice-tag{font-size:9px;letter-spacing:.14em}.notice a{gap:10px;font-size:10px;align-items:flex-start;margin-top:4px;line-height:1.9}.notice time{flex-shrink:0;font-size:10px}.notice .arrow{font-size:15px;line-height:1.5}.quick-links{gap:12px;padding:30px 0 43px}.quick-photo{height:108px}.quick-photo img{object-position:45% center}.quick:nth-child(3) .quick-photo img{object-position:50% 10%}.quick-text{padding:13px 0 0}.quick-en{font-size:15px;letter-spacing:.04em}.quick h2{font-size:9px;line-height:1.7;letter-spacing:0;margin-top:3px;white-space:nowrap}.quick-arrow{display:none}.quick>p{display:none}.about{padding-bottom:0}.about h2{font-size:25px}.center-copy{font-size:12px;line-height:2.5;padding-inline:16px;letter-spacing:.01em}.small-rule{margin:22px auto}.about>.button{margin:27px auto 42px}.button{min-width:242px;min-height:50px;font-size:12px;padding:10px 22px}.photo-triptych img{height:125px}.photo-triptych img:first-child{object-position:56% center}.menu-section .section-heading{margin-bottom:29px}.menu-banners{grid-template-columns:1fr;gap:18px}.menu-banner{height:300px}.menu-banner-text{left:25px;right:25px;bottom:24px}.menu-banner h3{font-size:24px;margin:7px 0 11px}.menu-banner .eyebrow{font-size:10px}.menu-banner-text>p:not(.eyebrow){font-size:12px}.banner-link{margin-top:19px;padding-top:12px}.menu-note{font-size:10px;margin-top:22px;line-height:2}.care-section{grid-template-columns:1fr;min-height:0}.care-photo img{height:270px;min-height:0;object-position:center 45%}.care-copy{padding:43px 28px 45px}.care-copy h2{font-size:26px;margin:16px 0 18px;line-height:1.85}.care-copy>p:not(.eyebrow){font-size:12px;line-height:2.4}.care-copy .text-link{margin-top:16px}.access-grid{display:flex;flex-direction:column;gap:30px;align-items:stretch}.access-copy h2{font-size:28px;line-height:1.85;margin:15px 0 20px}.access-copy>p:not(.eyebrow){font-size:12px}.access-copy h3{margin-top:24px}.access-copy .hours{font-size:12px}.access-photo img{height:340px;object-position:50% center}.access-photo figcaption{font-size:9px}.news-grid{grid-template-columns:1fr;gap:27px}.news-intro h2{font-size:26px;margin:14px 0}.news-intro h2 br{display:none}.news-intro .text-link{margin-top:12px}.news-list a{padding-block:21px}.news-list h3{font-size:12px}.news-meta{gap:12px}.news-meta time{font-size:12px}.news-meta>span{font-size:9px}.news-section .section-width{width:calc(100% - 56px)}.guide-section{padding:55px 26px}.guide-section h2{font-size:25px}.guide-section p:not(.eyebrow){font-size:12px;line-height:2.1}.guide-section .button{margin-top:23px}.reservation{padding:55px 22px 43px}.reservation h2{font-size:25px;line-height:1.8;letter-spacing:.04em;margin:15px 0}.reservation-inner>p:not(.eyebrow):not(.closure-note){font-size:11px;line-height:2.1}.reservation .button{min-width:0;width:100%;max-width:350px;margin-top:24px;font-size:12px;gap:15px}.reservation-note{font-size:9px}.reservation-tel{font-size:12px;letter-spacing:.02em}.closure-note{font-size:9px;margin-top:19px}.footer{padding-top:33px;padding-bottom:58px}.footer-top .brand img{width:145px}.footer-top{gap:27px}.footer-top nav{display:grid;grid-template-columns:1fr 1fr;row-gap:12px;font-size:11px}.footer-bottom{margin-top:27px;align-items:flex-start;font-size:9px;gap:20px}.footer-bottom div{gap:12px;flex-wrap:wrap;justify-content:flex-end}.preview-note{font-size:9px;padding:12px 22px;text-align:left}.mobile-book{display:grid;grid-template-columns:1fr 1.45fr;position:fixed;bottom:0;left:0;right:0;z-index:60;height:58px;box-shadow:0 -2px 14px #24453616}.mobile-book a{display:flex;align-items:center;justify-content:center;background:var(--cream);color:var(--deep);font-size:12px;letter-spacing:.08em}.mobile-book a:last-child{background:var(--green);color:white;gap:30px}.mobile-book span{font-size:18px}html{scroll-padding-top:85px}}
@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important}}
