@font-face{font-family:KyoMincho;src:url(assets/mincho.woff) format('woff');font-weight:400 700;font-display:swap}
:root{--paper:#faf9f5;--ink:#292b26;--muted:#62645b;--line:#d3d2c8;--brown:#794b38;--light:#eeeee7;--serif:KyoMincho,'Yu Mincho','Hiragino Mincho ProN','Noto Serif CJK JP',Georgia,serif;--sans:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,Arial,sans-serif;--gutter:clamp(22px,5.4vw,88px)}
html{scroll-padding-top:20px}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font:15px/1.8 var(--sans);-webkit-font-smoothing:antialiased}
h1,h2,h3,p,figure,dl,dd{margin:0}h1,h2,h3{font-family:var(--serif);font-weight:400}
a{color:inherit;text-decoration:none}button,a{touch-action:manipulation}button{border:0;background:none;color:inherit;font:inherit;cursor:pointer}
img{display:block;width:100%;object-fit:cover}svg{display:block;flex-shrink:0}
a:focus-visible,button:focus-visible,summary:focus-visible{outline:2px solid #835e39;outline-offset:4px}
[hidden]{display:none!important}main:focus{outline:none}
.skip{position:fixed;top:8px;left:8px;z-index:20;padding:8px 18px;background:white;transform:translateY(-160%)}.skip:focus{transform:none}
.content,.story-inner,.footermain,.footerline{width:min(1240px,calc(100% - var(--gutter)*2));margin-inline:auto}
#header{position:relative;z-index:5}
.headerinner{max-width:1760px;margin:auto;min-height:78px;padding:0 clamp(18px,3.1vw,60px);display:flex;gap:clamp(18px,3vw,57px);align-items:center}
.brandlink,.brand,.headeractions,.desktopnav,.langbtn,.bookbtn,.backlink,.text-link,.listing-more,.hero-cta{display:inline-flex;align-items:center}
.brand{gap:10px;white-space:nowrap}.brand img{width:39px;height:39px;object-fit:contain}.brand>span{display:grid;gap:1px}
.brand b{font:500 clamp(18px,1.55vw,24px)/1.35 var(--serif);letter-spacing:.05em}.brand small{font:8px/1.65 Georgia,serif;letter-spacing:.16em;color:var(--muted)}
.desktopnav{margin-left:auto;gap:clamp(18px,2.7vw,52px)}.desktopnav a,.mobilepanel a{font-size:13px;padding:8px 0}
.desktopnav a:hover,.mobilepanel a:hover,.text-link:hover,.listing-more:hover,.listing-copy h3 a:hover,.backlink:hover,.hero-caption a:hover,.gallery-controls a:hover{text-decoration:underline;text-underline-offset:4px}
.headeractions{gap:19px}.language-wrap{position:relative}.langbtn{font:12px Arial,sans-serif;gap:5px;padding:12px 0}
.lang-options{position:absolute;right:0;top:100%;background:var(--paper);border:1px solid var(--line);min-width:134px;padding:5px}.lang-options button{display:block;width:100%;text-align:left;font-size:13px;padding:7px}.lang-options button:hover,.lang-options button[aria-pressed=true]{background:var(--light)}
.bookbtn{background:var(--brown);border:1px solid var(--brown);color:white;justify-content:center;gap:8px;padding:8px 17px;min-height:40px;line-height:1.45;font-size:13px;white-space:nowrap}
.bookbtn:hover{background:#47362b}.book-short,.mobilemenu,.mobilepanel{display:none}
.hero{max-width:1800px;margin:auto;padding-inline:clamp(12px,2.5vw,48px)}
.hero-frame{position:relative;isolation:isolate;height:clamp(450px, min(45vw,68svh),730px);overflow:hidden;background:#565447}
.hero-frame>img{width:100%;height:100%;object-position:50% 53%}
.hero-frame::after{position:absolute;content:"";inset:0;pointer-events:none;background:linear-gradient(270deg,rgba(19,20,17,.42),transparent 41%),linear-gradient(24deg,rgba(15,16,13,.72) 0%,rgba(20,20,16,.26) 25%,transparent 48%)}
.hero-copy{position:absolute;inset:0;z-index:1;color:#fffdf3;pointer-events:none}
.hero h1{position:absolute;right:5.5%;top:9%;max-width:65%;font-size:clamp(35px,4.1vw,71px);line-height:1.18;letter-spacing:.01em;text-align:right;text-wrap:balance;text-shadow:0 1px 6px #14150e80}
html:lang(ja) .hero h1{writing-mode:vertical-rl;text-align:start;display:flex;flex-direction:column;gap:.17em;max-width:none;font-size:clamp(36px,3.25vw,59px);line-height:1.27;letter-spacing:.13em}
.hero h1 span{display:block;white-space:nowrap}.hero h1 span+span{padding-inline-start:1.1em}
.hero-invite{position:absolute;bottom:7%;left:4.8%;max-width:57%}.hero-invite p{font:400 clamp(15px,1.15vw,19px)/1.85 var(--serif);letter-spacing:.035em}
.hero-cta{pointer-events:auto;gap:18px;min-height:40px;font-size:13px;letter-spacing:.04em;margin-top:10px;border-bottom:1px solid #fffcdd99;padding:2px 0}.hero-cta:hover{border-color:#fff}
.hero-caption,.gallery-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;color:var(--muted);font-size:11px;line-height:1.55;padding-block:5px}
.hero-caption>a,.gallery-controls>a{display:inline-block;padding:5px 0}
.hero-paging,.gallery-controls{font-variant-numeric:tabular-nums}.hero-paging{display:flex;gap:9px;align-items:center}
.scene-count,.gallery-controls span{font:11px/1.4 var(--sans);letter-spacing:.1em}.scene-count b{font-weight:600;color:var(--ink)}
.hero-paging button,.gallery-controls button{display:grid;place-items:center;width:35px;height:35px;padding:0}.hero-paging button:hover,.gallery-controls button:hover{background:var(--light)}
.text-link{gap:14px;font-size:13px;border-bottom:1px solid #918679;padding:6px 0}
.collection{padding-block:clamp(32px,4.6vw,78px) clamp(60px,7vw,115px)}
.section-intro{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:16px;padding-bottom:12px;border-bottom:1px solid var(--line)}
h2{font-size:clamp(29px,2.8vw,46px);line-height:1.47;letter-spacing:.05em}
.filters{display:flex;align-items:center;gap:clamp(9px,1.8vw,28px);flex-wrap:wrap}
.filters button{font-size:13px;line-height:1.5;padding:8px 1px;color:var(--muted);border-bottom:1px solid transparent}
.filters button[aria-pressed=true],.filters button:hover{color:var(--ink);border-color:var(--brown)}
.sample-note,.house-intro small,.stay-notice{font:12px/1.75 var(--sans);color:var(--muted)}
.sample-note{margin:12px 0 21px}
.cardgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:clamp(31px,4vw,65px) clamp(24px,3.5vw,68px)}
.listing-card{min-width:0;display:flex;flex-direction:column;border-bottom:1px solid var(--line)}
.listing-photo{display:block;aspect-ratio:1.86;overflow:hidden;background:var(--light)}.listing-photo img{width:100%;height:100%;transition:transform .45s ease}
.listing-photo:hover img,.listing-photo:focus-visible img{transform:scale(1.025)}
.listing-copy{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto auto 1fr auto;align-items:baseline;min-width:0;flex:1;padding:16px 0 15px}
.listing-meta{grid-area:1/1/2/-1;color:var(--muted);font-size:12px;letter-spacing:.04em}
.listing-copy h3{grid-area:2/1/3/-1;display:flex;align-items:baseline;gap:5px 12px;flex-wrap:wrap;font-size:clamp(28px,2.5vw,42px);line-height:1.4;letter-spacing:.04em;margin:3px 0}
.listing-copy h3 span,.house-roman{font:11px/1.5 var(--sans);letter-spacing:.12em;color:#666b61}
.listing-copy p:not(.listing-facts){grid-area:3/1/4/-1;font-size:14px;line-height:1.85}
.listing-facts{align-self:center;grid-area:5/1/6/2;margin-top:11px;font-size:12px;color:var(--muted)}
.listing-facts span{color:#9c998d;padding:0 2px}
.listing-actions{grid-area:5/2/6/3;display:flex;align-items:center;gap:clamp(9px,1.15vw,22px);margin:11px 0 0 12px;justify-content:flex-end}
.listing-more{gap:7px;min-height:40px;font-size:12px}.listing-book{background:transparent;border:1px solid #a48d7d;color:#694835;min-height:38px;padding:5px 13px;font-size:12px}.listing-book:hover{background:#efe8de}
.story{border-top:1px solid var(--line);background:#f4f1ea;padding:clamp(40px,5.1vw,85px) 0}
.story-inner,.house-overview{display:grid;grid-template-columns:1fr 1fr;gap:clamp(30px,5vw,95px);align-items:center}
.story figure,.house-overview figure{aspect-ratio:1.55;overflow:hidden}.story figure img,.house-overview figure img{height:100%}
.story-copy h2{margin-bottom:17px}.story-copy p,.house-intro p{font-size:14px;line-height:2;color:#554f46;margin-bottom:10px}
.guide{display:grid;grid-template-columns:.7fr 1.3fr;gap:5%;padding-block:clamp(45px,6vw,98px)}
.faqs{border-top:1px solid var(--line)}.faqs details{border-bottom:1px solid var(--line)}.faqs summary{display:flex;align-items:center;justify-content:space-between;list-style:none;padding:16px 0;gap:12px;cursor:pointer}.faqs summary::-webkit-details-marker{display:none}
.faqs summary span::after{content:'+';font-size:18px}.faqs details[open] summary span::after{content:'−'}.faqs details p{margin:0 20px 16px 0;font-size:14px;color:var(--muted)}
#footer{background:#eeeae0;border-top:1px solid var(--line);padding:28px 0 20px}.footermain,.footerline,.footermain>div{display:flex;align-items:center;justify-content:space-between;gap:20px}
.footermain>div a{display:inline-flex;align-items:center;gap:4px;font-size:12px}.footermain button{padding:10px}
.footerline{border-top:1px solid #d1ccbe;margin-top:20px;padding-top:12px}.footerline small{font-size:10px;color:var(--muted)}
.house-page{padding-bottom:48px}
.house-cover,.house-jump{width:min(1240px,calc(100% - var(--gutter)*2));margin:auto}
.house-heading{padding:14px 0 20px}
.backlink{font-size:12px;gap:7px;color:var(--muted)}.house-heading-copy{display:flex;align-items:baseline;flex-wrap:wrap;gap:6px 13px;margin-top:12px}
.house-heading-copy p{order:2;margin-left:auto;display:flex;align-items:center;gap:10px;color:var(--muted);font-size:13px}
.house-heading-copy p i{width:16px;border-top:1px solid #a99d8f}.house-heading h1{font-size:clamp(37px,3.6vw,65px);line-height:1.3;letter-spacing:.04em}
.house-spread{display:grid;grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);gap:clamp(8px,1vw,17px);height:clamp(300px,31.5vw,525px)}
.house-spread img{width:100%;height:100%;min-height:0;background:var(--light)}
.gallery-controls{justify-content:flex-end}.gallery-controls a{margin-right:auto}.gallery-controls span{font:12px Georgia,serif}.gallery-controls button{width:30px}
.house-jump{display:flex;align-items:center;flex-wrap:wrap;gap:clamp(14px,2.6vw,38px);padding:11px 0;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.house-jump>a:not(.bookbtn){font-size:13px}.house-jump>a:hover{text-decoration:underline;text-underline-offset:4px}.jump-book{margin-left:auto}
.house-body{max-width:1000px}.house-overview{padding-block:clamp(38px,4.5vw,74px)}.house-overview h2{font-size:clamp(22px,2vw,33px);line-height:1.6;margin-bottom:12px}.house-intro small{display:block}
.stay-overview,.house-access{padding-top:30px;border-top:1px solid var(--line)}.house-access{margin-top:38px}
.stay-notice{margin-top:6px}.stay-numbers{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:24px;background:#f1eee7;padding:19px clamp(16px,2.3vw,32px);margin:18px 0 23px}
.stay-numbers dt,.stay-rows dt{font-size:13px;color:var(--muted)}.stay-numbers dd{font:clamp(23px,2.5vw,34px)/1.45 Georgia,var(--serif)}.stay-numbers dd small{font:13px var(--sans);margin-left:4px}.stay-numbers .rate-basis{font:12px/1.5 var(--sans);color:var(--muted)}
.house-fact-block h3{font-size:23px;margin:0 0 9px}
.stay-rows>div{display:grid;grid-template-columns:minmax(90px,24%) 1fr;gap:14px;padding:11px 0;border-bottom:1px solid var(--line)}
.stay-rows dd{font-size:14px;overflow-wrap:anywhere}.house-reserve{display:flex;justify-content:center;margin:30px 0}.house-book{min-width:165px}
.detail-bottom{display:flex;align-items:center;justify-content:space-between;gap:20px;border-top:1px solid var(--line);padding-top:13px}
html:lang(zh-Hans){--serif:'Noto Serif CJK SC','Songti SC',serif}html:lang(zh-Hant){--serif:'Noto Serif CJK TC','Songti TC',serif}html:lang(ko){--serif:'Batang','Noto Serif CJK KR',serif}
@media(max-width:1050px){
 .listing-facts{grid-area:4/1/5/-1}.listing-actions{grid-column:1/-1;justify-content:flex-start;margin-left:0;gap:18px}
}
@media(max-width:850px){
 .headerinner{min-height:65px;justify-content:space-between}.desktopnav{display:none}.mobilemenu{display:grid;place-items:center;padding:6px}.headeractions{gap:12px}
 .mobilepanel{display:grid;position:absolute;top:100%;inset-inline:0;padding:5px var(--gutter) 13px;background:var(--paper);border-block:1px solid var(--line)}
 .hero-frame{height:clamp(350px,61vw,500px)}
 .hero-invite{max-width:62%}.hero-invite p{font-size:14px}
 .house-spread{height:clamp(250px,36vw,375px)}
}
@media(max-width:650px){
 :root{--gutter:22px}.headerinner{min-height:63px;padding:0 13px;gap:7px}.brand{gap:7px}.brand img{width:29px;height:29px}.brand b{font-size:15px;letter-spacing:.015em}.brand small{font-size:6.5px;letter-spacing:.13em}
 .headeractions{gap:8px}.langbtn{gap:3px;font-size:10px}.langbtn svg{width:13px}.langbtn svg:last-child{display:none}.mobilemenu{padding:5px 0}.headeractions .bookbtn{min-height:35px;padding:5px 8px;font-size:11px;gap:4px}.headeractions .bookbtn svg{width:13px}.book-full{display:none}.book-short{display:inline}
 .hero{padding-inline:8px}.hero-frame{height:clamp(405px,65svh,560px)}.hero-frame>img{object-position:49% center}
 .hero h1{right:7%;top:8%;max-width:82%;font-size:clamp(32px,8vw,48px)}html:lang(ja) .hero h1{font-size:clamp(33px,7.8vw,44px);line-height:1.3}
 .hero-invite{left:6%;bottom:6%;max-width:86%}.hero-invite p{font-size:14px;max-width:21em}.hero-cta{margin-top:6px}
 .hero-caption{padding:3px 2px;font-size:10px}.hero-paging{gap:3px}
 .collection{padding-block:29px 57px}.section-intro{display:block;padding-bottom:4px}.filters{gap:15px;margin-top:5px}.filters button{font-size:12px;min-height:39px}
 h2{font-size:30px}.sample-note{font-size:11px;margin:11px 0 15px}
 .cardgrid{grid-template-columns:1fr;gap:26px}.listing-photo{aspect-ratio:1.64}.listing-copy{padding:11px 0 12px}.listing-meta{font-size:11px}.listing-copy h3{font-size:28px}.listing-copy h3 span{font-size:9px}
 .listing-copy p:not(.listing-facts){font-size:13px}.listing-facts{grid-area:4/1/5/-1;font-size:12px;margin-top:5px}
 .listing-actions{justify-content:space-between;width:100%;margin-top:7px}.listing-book{min-height:39px}
 .story-inner,.house-overview,.guide{grid-template-columns:1fr;gap:17px}.story-copy h2{font-size:28px}.story-copy p,.house-intro p,.faqs summary,.faqs details p{font-size:13px}
 .footermain,.footerline{align-items:flex-start;flex-direction:column;gap:7px}.footermain>div{width:100%;justify-content:flex-start;gap:12px}.footermain button{margin-left:auto}
 .house-heading{padding:12px 0}.house-heading-copy{margin-top:8px}.house-heading-copy p{font-size:11px}.house-spread{grid-template-columns:1fr;height:clamp(255px,76vw,410px)}.house-spread #house-companion{display:none}
 .house-jump{gap:12px;padding:8px 0}.house-jump>a:not(.bookbtn){font-size:12px}.jump-book{font-size:12px;padding:6px 10px;min-height:35px}
 .stay-numbers{grid-template-columns:1fr 1fr;gap:13px;padding:13px 16px}.stay-numbers>div:last-child{grid-column:1/-1;border-top:1px solid var(--line);padding-top:9px}
 .stay-rows>div{grid-template-columns:84px 1fr;gap:9px}.stay-rows dd,.stay-numbers dt,.stay-rows dt{font-size:12px}.detail-bottom a{font-size:12px}
}
@media(max-width:365px){.headerinner{padding-inline:8px}.headeractions .bookbtn svg{display:none}.filters{gap:10px}}
@media(prefers-reduced-motion:reduce){.listing-photo img{transition:none}}
