:root{--paper:#f7f5ef;--ink:#443229;--rust:#a14b2c;--gold:#ba8952;--line:#dfd3c3;--serif:"Hiragino Mincho ProN","Yu Mincho",YuMincho,"Noto Serif JP",serif;--sans:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:28px}body{margin:0;background:var(--paper);color:var(--ink);font:16px/1.9 var(--sans);-webkit-font-smoothing:antialiased}img{display:block;width:100%;height:auto}figure,p{margin:0}a{color:inherit;text-underline-offset:5px}a:focus-visible,summary:focus-visible{outline:3px solid var(--rust);outline-offset:5px}.skip{position:absolute;left:16px;top:-100px;z-index:5;background:white;padding:10px}.skip:focus{top:8px}.header{max-width:1440px;padding:27px 5%;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:25px;border-bottom:1px solid var(--line)}.brand{font-family:Georgia,var(--serif);font-size:30px;letter-spacing:.045em;text-decoration:none;white-space:nowrap}.brand span{font-size:.65em;letter-spacing:.07em}.header nav{display:flex;align-items:center;gap:28px}.header nav a{font-size:13px;text-decoration:none;min-height:44px;display:inline-flex;align-items:center}.nav-book{border-bottom:1px solid var(--gold);gap:25px}.hero{max-width:1440px;margin:auto;padding:55px 5% 0;display:grid;grid-template-columns:.95fr 1.15fr;gap:0 35px;position:relative}.hero-copy{position:relative;padding:15px 0 65px}.eyebrow{font-size:11px;letter-spacing:.2em;color:var(--rust);line-height:1.6;margin-bottom:26px}.location{font-size:13px;letter-spacing:.08em;margin-bottom:25px}h1,h2,h3{font-family:var(--serif);font-weight:400;word-break:keep-all;overflow-wrap:normal;line-break:strict;text-wrap:balance}h1{font-size:clamp(48px,5.4vw,80px);line-height:1.45;letter-spacing:.04em;margin:0 0 32px}.rust{color:var(--rust)}.hero-lead{font-size:16px;line-height:2.1;letter-spacing:.05em;margin-bottom:32px}.text-link{display:inline-flex;min-height:44px;align-items:center;gap:28px;text-decoration:none;border-bottom:1px solid var(--gold);font-size:14px}.maple{color:var(--gold);width:88px;position:absolute;right:5%;top:39%;opacity:.85;pointer-events:none}.hero-photo{align-self:center;margin-right:-8.7%;position:relative}.hero-photo img{height:510px;object-fit:cover;object-position:56% center}.hero-photo figcaption{position:absolute;bottom:0;left:0;background:var(--paper);padding:14px 30px 0 0;font-size:12px;letter-spacing:.08em}.hero-bottom{grid-column:1/-1;display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:28px 0;gap:24px}.hero-bottom p{font:20px/1.7 var(--serif);letter-spacing:.1em}.button{min-height:60px;padding:16px 30px;display:flex;justify-content:space-between;align-items:center;gap:42px;text-decoration:none;border:1px solid transparent;transition:background .2s,color .2s;line-height:1.5}.primary{background:var(--rust);color:var(--paper);font-size:16px;min-width:290px}.primary:hover{background:#803b25}.mobile-only{display:none}.section{max-width:1200px;margin:0 auto;padding:100px 5%}.section-heading{margin-bottom:48px}.section-heading .eyebrow{margin-bottom:20px}h2{font-size:clamp(34px,3.3vw,48px);line-height:1.7;margin:0 0 25px;letter-spacing:.04em}.section-heading>p:last-child{font-size:16px;line-height:2.1;letter-spacing:.05em}.autumn{border-top:1px solid var(--line)}.wide-photo{position:relative}.wide-photo img{aspect-ratio:1.9;object-fit:cover;object-position:center 57%}.wide-photo figcaption{font-size:12px;margin-top:12px;letter-spacing:.04em}.pleasures{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:35px;margin-top:60px}.pleasures article{border-top:1px solid var(--gold);padding-top:18px}.number{display:block;font:italic 34px/1.2 Georgia,serif;color:var(--rust);margin-bottom:24px}h3{font-size:26px;line-height:1.5;margin:0 0 16px}.pleasures p{font-size:15px;line-height:2}.small-label{display:block;font-size:12px;margin-top:20px;color:#6f5b4a}.section-note{font-size:13px;line-height:1.9;color:#6f5b4a;margin-top:30px}.stay{padding-top:20px}.exterior img{object-position:center 46%}.stay-story{display:grid;grid-template-columns:1.05fr 1fr;gap:65px;margin-top:60px;align-items:center}.facts{border-left:1px solid var(--gold);padding-left:30px}.facts article{position:relative;padding-bottom:32px}.facts article:last-child{padding-bottom:0}.fact-line{position:absolute;left:-36px;top:13px;background:var(--gold);width:10px;height:10px;border-radius:50%}.facts h3{font-size:25px}.facts p{font-size:15px}.dog-photo{padding-top:20px}.dog-photo img{aspect-ratio:1;object-fit:cover;object-position:58% center;border-radius:48% 48% 0 0}.dog-photo figcaption{font-size:12px;padding-top:12px;text-align:center}.photo-pair{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:60px}.photo-pair img{aspect-ratio:1.5;object-fit:cover}.photo-pair figcaption{font-size:13px;margin-top:12px}.reservation{margin-top:0;background:#f1e5d5}.reservation-top{max-width:1080px;margin:auto;padding:75px 0 50px}.reservation-top h2{font-size:clamp(38px,4.2vw,60px)}.reservation-top>p:last-child{font-size:17px;line-height:2.1}.reservation-photo{max-width:1440px;margin:auto}.reservation-photo img{width:100%;height:460px;object-fit:cover;object-position:center 54%}.reservation-panel{background:#783d2a;color:var(--paper);text-align:center;padding:65px 24px}.reservation-panel .eyebrow{color:#f0cfa0;margin-bottom:15px}.reservation-panel h3{font-size:clamp(26px,3vw,38px);line-height:1.7;margin-bottom:18px}.reservation-panel>p{font-size:15px;line-height:1.9}.booking-buttons{display:flex;gap:20px;max-width:850px;margin:35px auto 25px}.booking-buttons .button{flex:1;font-size:19px;min-height:74px;padding:20px 26px;gap:20px;white-space:nowrap}.cream{background:var(--paper);color:var(--ink)}.cream:hover{background:#e5dec9}.outline{border-color:var(--paper)}.outline:hover{background:rgba(255,255,255,.1)}.reservation-panel .booking-note{font-size:12px;color:#f0dfcf}.before-trip{max-width:900px;padding:70px 5%}.before-trip h2{font-size:28px}.faq{margin:25px 0}.faq details{border-top:1px solid var(--line);padding:0}.faq details:last-child{border-bottom:1px solid var(--line)}.faq summary{padding:20px 35px 20px 0;min-height:64px;cursor:pointer;position:relative;list-style:none;font-size:16px}.faq summary::-webkit-details-marker{display:none}.faq summary::after{content:"＋";position:absolute;right:0;top:20px;color:var(--rust)}.faq details[open] summary::after{content:"−"}.faq details p{padding:0 28px 24px 0;font-size:15px;line-height:2}.faq details:not([open])>:not(summary){display:none}footer{border-top:1px solid var(--line);padding:50px 5%;max-width:1440px;margin:auto}footer .brand{display:inline-block;margin-bottom:22px}footer p{font-size:13px;line-height:1.9}footer nav{display:flex;gap:28px;margin:20px 0}footer nav a{font-size:13px;min-height:44px;display:inline-flex;align-items:center}.legal{color:#6f5b4a}.copyright{margin-top:25px;font-size:10px;letter-spacing:.08em}.mobile-booking{display:none}@media(min-width:1600px){.hero-photo{margin-right:0}}@media(max-width:1150px){.reservation-top{padding-left:5%;padding-right:5%}.maple{width:60px;right:1%;top:42%}.hero{grid-template-columns:1fr 1.05fr;gap:24px}.hero-photo img{height:470px}.header nav{gap:18px}.stay-story{gap:35px}.booking-buttons .button{font-size:17px}}@media(max-width:760px){body{padding-bottom:76px}.header{padding:15px 5%;gap:15px}.brand{font-size:25px}.header .nav-detail{display:none}.header .nav-book{font-size:11px;gap:12px;min-height:36px}.hero{display:block;padding:32px 0 0}.hero-copy{padding:0 6% 32px}.eyebrow{font-size:10px;margin-bottom:20px}.location{font-size:11px;margin-bottom:20px}h1{font-size:clamp(45px,10vw,68px);line-height:1.45;margin-bottom:25px}.hero-lead{font-size:15px;margin-bottom:18px}.maple{top:100px;right:9%;width:70px}.hero-photo{margin:0}.hero-photo img{height:auto;aspect-ratio:1.3;object-position:58% center}.hero-photo figcaption{font-size:10px;padding:9px 18px 0 6%}.hero-bottom{margin:25px 6% 0;padding:20px 0;gap:12px}.hero-bottom p{font-size:15px}.hero-bottom .button{min-width:0;min-height:52px;font-size:13px;gap:18px;padding:13px 18px}.mobile-only{display:block}.section{padding:65px 6%}.section-heading{margin-bottom:30px}h2{font-size:clamp(28px,6.5vw,40px);line-height:1.75;letter-spacing:.01em}.section-heading>p:last-child{font-size:15px}.wide-photo{margin:0 -6.8%}.wide-photo img{aspect-ratio:1.35}.wide-photo figcaption{margin:10px 6%;font-size:10px}.pleasures{display:block;margin-top:35px}.pleasures article{position:relative;padding:22px 0 28px 56px}.number{position:absolute;left:0;top:24px;font-size:29px}.pleasures h3{font-size:25px;margin-bottom:14px}.pleasures p{font-size:16px;line-height:1.95}.small-label{font-size:12px;margin-top:14px}.section-note{font-size:12px;margin-top:18px}.stay{padding-top:25px}.stay-story{display:flex;flex-direction:column;gap:25px;margin-top:40px}.facts{padding-left:24px}.fact-line{left:-30px}.facts h3{font-size:24px}.facts p{font-size:16px}.dog-photo{width:80%;max-width:390px;padding-top:0}.photo-pair{gap:16px;margin-top:35px;grid-template-columns:1fr}.photo-pair figcaption{font-size:12px}.photo-pair img{aspect-ratio:1.6}.reservation-top{padding:55px 6% 35px}.reservation-top h2{font-size:36px}.reservation-top>p:last-child{font-size:15px}.reservation-photo img{height:auto;aspect-ratio:1.3}.reservation-panel{padding:45px 6%}.reservation-panel h3{font-size:25px;letter-spacing:0}.reservation-panel>p{font-size:14px}.booking-buttons{display:flex;flex-direction:column;margin:28px 0 22px;gap:15px}.booking-buttons .button{min-height:66px;font-size:19px;padding:18px 22px;white-space:normal}.booking-note{font-size:11px!important}.before-trip{padding:50px 6%}.before-trip h2{font-size:26px}.faq summary{font-size:15px}.faq details p{font-size:15px}footer{padding:40px 6%}footer .brand{font-size:28px}.mobile-booking{display:flex;position:fixed;left:0;bottom:0;width:100%;z-index:10;background:var(--paper);border-top:1px solid var(--line);padding:10px 14px max(10px,env(safe-area-inset-bottom));align-items:center;justify-content:space-between;gap:10px;box-shadow:0 -4px 20px #713c2c0a}.mobile-booking>span{font-size:11px;white-space:nowrap}.mobile-booking a{font-size:13px;text-decoration:none;min-height:44px;display:flex;align-items:center;background:var(--rust);color:var(--paper);padding:10px 20px}}@media(max-width:375px){.header .brand{font-size:22px}.header .nav-book{font-size:10px}.maple{right:5%;width:55px}.hero-bottom p{font-size:13px}.mobile-booking>span{font-size:10px}.mobile-booking a{padding:10px 14px}.reservation-panel h3{font-size:23px}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}a{transition:none!important}}

/* Autumn travel guide — November 2026 */
.explore-links{display:flex;justify-content:center;gap:0;max-width:1200px;margin:auto;padding:12px 5% 28px}.explore-links a{display:flex;align-items:center;justify-content:space-between;gap:25px;min-height:48px;padding:8px 25px;border-right:1px solid var(--line);font-size:13px;text-decoration:none}.explore-links a:last-child{border-right:0}.explore-links a:hover{color:var(--rust)}
.gourmet{border-top:1px solid var(--line);padding-top:85px}.food-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:26px}.food-card{display:flex;flex-direction:column;border:1px solid var(--line);background:#fffcf6}.food-art{position:relative;display:flex;align-items:center;justify-content:center;min-height:172px;background:#eedcc5;color:#8a482d}.food-card:nth-child(2) .food-art{background:#e8cbb5;color:#783d2a}.food-card:nth-child(3) .food-art{background:#e7dfca;color:#6d5230}.food-art svg{width:98px;height:91px;margin-top:15px}.food-art>span:first-child{position:absolute;left:20px;top:15px;font-size:9px;letter-spacing:.12em}.food-index{position:absolute;right:20px;bottom:10px;font:italic 32px Georgia,serif;opacity:.7}.food-copy{padding:26px 23px;display:flex;flex-direction:column;flex:1}.food-category{color:var(--rust);font-size:11px;letter-spacing:.03em;margin-bottom:12px}.food-copy h3{font-size:27px;line-height:1.5;letter-spacing:.02em;text-wrap:initial}.store-sub{display:block;font-family:var(--sans);font-size:14px;line-height:1.8;margin-top:7px;letter-spacing:0;word-break:normal}.food-copy>p:not(.food-category){font-size:14px;line-height:1.95}.food-location{margin-top:22px;border-top:1px solid var(--line);padding-top:14px;color:#6f5b4a}.food-copy .pet-info{font-size:12px!important;line-height:1.9;margin:14px 0 24px}.food-links{margin-top:auto;display:flex;flex-direction:column;align-items:flex-start;gap:8px}.food-links .text-link{font-size:12px;gap:12px;min-height:44px}.access{padding-top:30px}.map-frame{width:100%;height:430px;background:#e9e2d5;border:1px solid var(--line)}.map-frame iframe{display:block;width:100%;height:100%;border:0}.address-panel{display:grid;grid-template-columns:1fr 1fr;gap:45px;background:#eee1ce;padding:38px;margin-top:25px}.address-panel .eyebrow{margin-bottom:12px}.address-panel h3{font-size:25px;margin-bottom:14px}.address-panel address{font-style:normal;font-size:16px;line-height:2}.parking{font-size:14px;margin-top:18px}.map-actions{display:flex;flex-direction:column;justify-content:center;gap:12px}.map-actions .button{min-width:0;font-size:14px;gap:18px;padding:17px 22px}.light-outline{border:1px solid #b78d6e;background:transparent;color:var(--ink)}.light-outline:hover{background:#e5cfb2}.inline-source{display:inline;font-size:inherit}.journey{padding-top:25px}.journey-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.travel-card{background:#fffaf2;border-top:3px solid var(--rust);padding:30px 32px;display:flex;flex-direction:column}.travel-heading{display:flex;align-items:center;gap:17px}.travel-mark{font-size:10px;letter-spacing:.1em;color:var(--rust);border:1px solid #c79770;padding:8px 10px}.travel-heading h3{font-size:24px;margin:0}.travel-time{font-size:12px;margin:25px 0 30px;color:#6f5b4a}.travel-time span{display:block;color:var(--rust);font:28px/1.7 var(--serif);margin-top:5px}.route{list-style:none;padding:0 0 0 24px;margin:0 0 30px 5px;border-left:2px solid #c18c5a}.route li{position:relative;margin:0 0 25px}.route li:last-child{margin-bottom:0}.route li::before{content:"";position:absolute;left:-31px;top:9px;width:12px;height:12px;background:var(--rust);border:2px solid #fffaf2;border-radius:50%}.route strong{display:block;font-size:16px;font-weight:500;line-height:1.8}.route li>span{font-size:13px;line-height:1.9;display:block;margin-top:7px;color:#6f5b4a}.travel-detail{font-size:14px;line-height:2;margin-bottom:25px}.travel-links{display:flex;flex-direction:column;align-items:flex-start;gap:10px;margin-top:auto}.travel-links .text-link{font-size:13px;gap:12px}.source-note{font-size:11px;color:#6f5b4a;line-height:1.9;margin-top:22px}.with-dog{margin-top:32px;border:1px solid #cda882;padding:28px 32px}.with-dog .eyebrow{margin-bottom:12px}.with-dog h3{font-size:23px;word-break:normal;text-wrap:initial}.with-dog>p:not(.eyebrow){font-size:14px;line-height:2}.with-dog .text-link{margin-top:12px;font-size:13px}.reservation .cream{color:#713721}.reservation .cream:hover{background:#f2d8ae}
@media(max-width:1000px) and (min-width:761px){.food-grid{gap:14px}.food-copy{padding:22px 16px}.food-copy h3{font-size:24px}.store-sub{font-size:12px}.travel-card{padding:25px 20px}.travel-heading{gap:10px}.travel-heading h3{font-size:21px}.travel-time span{font-size:24px}.address-panel{padding:28px;gap:25px}.explore-links a{padding:8px 18px;gap:14px}}
@media(max-width:760px){.explore-links{display:grid;grid-template-columns:1fr 1fr;padding:8px 6% 22px;gap:0}.explore-links a{font-size:12px;padding:8px 12px;gap:8px;border-right:0;border-bottom:1px solid var(--line)}.gourmet{padding-top:55px}.food-grid{grid-template-columns:1fr;gap:28px}.food-art{min-height:145px}.food-art svg{width:87px;height:80px}.food-copy{padding:26px}.food-copy h3{font-size:28px}.store-sub{font-size:14px}.food-copy>p:not(.food-category){font-size:16px}.food-copy .pet-info{font-size:13px!important}.food-category{font-size:12px}.food-links{flex-direction:row;flex-wrap:wrap;gap:12px 20px}.food-links .text-link{font-size:13px}.access{padding-top:15px}.map-frame{height:370px}.address-panel{grid-template-columns:1fr;gap:25px;padding:25px 22px;margin-top:20px}.address-panel address{font-size:15px}.address-panel .button{font-size:13px;padding:17px;min-height:58px;gap:14px}.parking{font-size:13px}.journey{padding-top:10px}.journey-grid{grid-template-columns:1fr;gap:28px}.travel-card{padding:27px 23px}.travel-heading{gap:12px}.travel-heading h3{font-size:23px}.travel-time span{font-size:27px}.travel-detail{font-size:15px}.route strong{font-size:16px}.route li>span{font-size:14px}.travel-links .text-link{font-size:12px;gap:8px}.with-dog{padding:25px 23px}.with-dog h3{font-size:22px;line-height:1.8}.with-dog>p:not(.eyebrow){font-size:14px}footer nav{flex-wrap:wrap;gap:8px 22px}}
@media(max-width:375px){.travel-card{padding:24px 18px}.travel-heading h3{font-size:21px}.travel-time span{font-size:25px}.food-copy{padding:23px}.map-actions .button{font-size:12px}}
