:root{--home-ink:#20201e;--home-paper:#f8f7f3;--home-tone:#eeece6;--home-line:#c9c6bd}
.home-page{background:var(--home-paper);color:var(--home-ink)}
.home-page .site-header{background:rgba(248,247,243,.92)}
.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}
.room-hero{display:grid;grid-template-columns:1fr 1fr;min-height:calc(100svh - 76px)}
.room-hero-card{position:relative;min-height:calc(100svh - 76px);overflow:hidden;color:#fff;background:#777}
.room-hero-card img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;opacity:0;transform:scale(1.02);transition:opacity 1.2s ease,transform 6.5s ease}
.room-hero-card img.is-active{opacity:1;transform:scale(1)}
.room-hero-card:first-child img{object-position:center 55%}.room-hero-card:last-child img{object-position:center 48%}
.room-hero-card:hover img{transform:scale(1.018)}
.room-hero-card:after{content:"";position:absolute;inset:55% 0 0;background:linear-gradient(transparent,rgba(0,0,0,.48))}
.room-hero-card>span{position:absolute;z-index:1;left:clamp(25px,4vw,70px);bottom:clamp(28px,5vw,70px);font-size:clamp(24px,3vw,48px);letter-spacing:.08em;font-weight:300}
.room-hero-card small{display:block;font-size:10px;letter-spacing:.28em;margin-bottom:12px}
.room-introduction{display:grid;grid-template-columns:1fr 1fr;border-bottom:1px solid var(--home-line)}
.room-introduction article{padding:clamp(70px,9vw,140px) max(5vw,24px)}
.room-introduction article+article{border-left:1px solid var(--home-line);background:#f0ece4}
.room-number{font-size:10px;letter-spacing:.22em;color:#777;margin:0 0 clamp(35px,5vw,70px)}
.room-introduction h2{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(27px,3.2vw,48px);font-weight:400;line-height:1.65;letter-spacing:.06em;margin:0 0 35px}
.room-introduction article>p:not(.room-number){max-width:590px;line-height:2.2}
.home-section{padding:clamp(80px,10vw,150px) max(5vw,24px);border-bottom:1px solid var(--home-line)}
.home-section.tone{background:var(--home-tone)}
.home-section-head{display:grid;grid-template-columns:50px minmax(150px,1fr) 2fr;align-items:baseline;border-top:1px solid var(--home-ink);padding-top:18px;margin-bottom:clamp(50px,7vw,100px)}
.home-section-head span,.home-section-head p{font-size:10px;line-height:1.4;letter-spacing:.22em;margin:0}.home-section-head h2{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(27px,3.5vw,50px);line-height:1.45;font-weight:400;letter-spacing:.09em;margin:0}
.home-content,.home-note,.home-section>.text-link{max-width:1000px;margin-left:auto}
.two-cards,.info-row{display:grid;grid-template-columns:1fr 1fr;gap:1px;background:var(--home-line)}
.two-cards article,.info-row>div{background:var(--home-paper);padding:clamp(28px,4vw,58px)}
.two-cards h3,.info-row h3{font-size:12px;letter-spacing:.18em}.pending{color:#777}
.text-link{display:block;width:max-content;margin-top:35px;color:inherit;border-bottom:1px solid;padding-bottom:4px}
.cancellation-list{border-top:1px solid}.cancellation-list p{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--home-line);margin:0;padding:24px 0}.cancellation-list strong{font-size:clamp(20px,2.4vw,30px);font-weight:400;letter-spacing:.02em}
.payment-block{display:grid;grid-template-columns:minmax(220px,.7fr) 1.3fr;gap:clamp(55px,8vw,120px)}.payment-block h3,.line-link-block h3{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(24px,3vw,38px);font-weight:400;letter-spacing:.06em}.sub-label{font-size:10px;letter-spacing:.22em;color:#777}
.home-note{margin-top:30px;color:#65645f}
.floorplan-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}.floorplan-grid a{color:inherit}.floorplan-grid img{display:block;width:100%;height:auto;background:#fff}.floorplan-grid span{display:block;margin-top:16px;font-size:12px;letter-spacing:.1em}
.schedule-section{background:#232321;color:#fff;padding-top:clamp(90px,12vw,180px)}.schedule-title{max-width:1400px;margin:0 auto clamp(55px,8vw,110px)}.schedule-title>span{display:block;font-size:10px;letter-spacing:.22em;color:#aaa}.schedule-title h2{font-family:"Hiragino Mincho ProN","Yu Mincho",YuMincho,serif;font-size:clamp(32px,4.4vw,60px);font-weight:400;line-height:1.25;letter-spacing:.09em;margin:30px 0 14px}.schedule-title p{font-size:14px;letter-spacing:.2em;margin:0}.schedule-content{max-width:1200px}.schedule-intro{max-width:650px;margin:0 0 50px auto;font-size:clamp(16px,1.7vw,21px);line-height:2}.home-calendar{height:min(720px,72vh);min-height:540px;background:#fff}.home-calendar iframe{width:100%;height:100%;display:block;border:0}.schedule-actions{display:flex;align-items:center;justify-content:space-between;gap:40px;margin-top:42px}.home-button{display:inline-flex;justify-content:center;align-items:center;min-width:220px;padding:18px 32px;border:1px solid currentColor;color:inherit;text-decoration:none;letter-spacing:.12em;font-size:12px}.schedule-actions p{margin:0;color:#aaa;font-size:12px;line-height:1.9;text-align:right}
.line-grid{display:grid;grid-template-columns:1fr minmax(220px,360px);gap:clamp(40px,8vw,120px);align-items:center}.line-grid h3{font-size:clamp(28px,4vw,54px);font-weight:300}.line-grid img{width:100%;height:auto}
.line-link-block{max-width:760px}.line-button{display:inline-flex;margin-top:24px;padding:17px 28px;border:1px solid var(--home-ink);color:inherit;text-decoration:none;font-size:12px;letter-spacing:.12em;transition:background .25s ease,color .25s ease}.line-button:hover{background:var(--home-ink);color:var(--home-paper)}
.access-grid{display:grid;grid-template-columns:minmax(280px,.8fr) 1.2fr;gap:clamp(40px,7vw,100px)}.access-info>img{width:min(300px,70%);height:auto;margin-bottom:60px}.access-info dl div{padding:18px 0;border-top:1px solid var(--home-line)}.access-info dt{font-size:10px;letter-spacing:.18em}.access-info dd{margin:8px 0 0;color:#6e6d68}.map-placeholder{min-height:420px;background:#e4e2dc;display:grid;place-content:center;text-align:center;padding:30px;color:inherit;text-decoration:none;transition:background-color .25s ease}.map-placeholder:hover{background:#dbd7ce}.map-placeholder p{font-size:11px;letter-spacing:.2em}.map-placeholder strong{font-weight:400}
.home-footer{padding:45px max(5vw,24px) 100px;display:flex;align-items:center;justify-content:space-between;gap:30px}.home-footer>a{color:inherit;font-size:11px;letter-spacing:.08em;text-decoration:none;border-bottom:1px solid;padding-bottom:3px}.home-footer p{font-size:10px;letter-spacing:.12em;margin:0}
@media(max-width:900px){.home-page .site-header{transition:background-color .45s ease,color .45s ease}.home-page.menu-open .site-header{background:#f3efe7;color:var(--home-ink);border-color:var(--home-line)}.home-page.menu-open .brand img{filter:none}.home-page .nav{z-index:60;position:fixed;top:0;right:0;bottom:auto;left:auto;width:100vw;height:100vh;height:100dvh;display:flex;visibility:hidden;flex-direction:column;align-items:stretch;padding:clamp(105px,15vh,150px) max(8vw,34px) 90px;gap:0;background:#f3efe7;color:var(--home-ink);overflow:auto;overscroll-behavior:contain;opacity:1;transform:translateX(100%);pointer-events:none;transition:transform .58s cubic-bezier(.76,0,.24,1),visibility 0s linear .58s}.home-page .nav.open{visibility:visible;opacity:1;transform:translateX(0);pointer-events:auto;transition-delay:0s}.home-page .nav a{display:flex;align-items:center;min-height:clamp(54px,7vh,72px);padding:10px 2px;border-bottom:1px solid rgba(36,35,33,.2);font-family:"Avenir Next","Helvetica Neue","Hiragino Kaku Gothic ProN",sans-serif;font-size:clamp(18px,3vw,25px);line-height:1;font-weight:300;letter-spacing:.12em;opacity:0;transform:translateY(22px);transition:opacity .28s ease,transform .55s cubic-bezier(.22,1,.36,1);transition-delay:0s}.home-page .nav a:first-child{border-top:1px solid rgba(36,35,33,.2)}.home-page .nav.open a{opacity:1;transform:translateY(0);transition-delay:calc(.08s + var(--menu-order) * .045s)}.home-page .menu-toggle{position:relative;z-index:62;color:inherit}.home-page.menu-open .mobile-reserve{opacity:0;visibility:hidden;pointer-events:none}.home-page.menu-open .brand{position:relative;z-index:62}.home-page .menu-toggle span,.home-page .menu-toggle:before,.home-page .menu-toggle:after{transition:transform .4s cubic-bezier(.22,1,.36,1),opacity .2s ease}.home-page .menu-toggle[aria-expanded=true] span{opacity:0}.home-page .menu-toggle[aria-expanded=true]:before{transform:translateY(7px) rotate(45deg)}.home-page .menu-toggle[aria-expanded=true]:after{transform:translateY(-7px) rotate(-45deg)}.schedule-title{margin-left:0}.schedule-actions{align-items:flex-start;flex-direction:column}.schedule-actions p{text-align:left}}
@media(max-width:760px){.room-hero{grid-template-columns:1fr;grid-template-rows:1fr 1fr;height:calc(100vh - 130px);height:calc(100svh - 130px);min-height:540px;max-height:760px;overflow:hidden}.room-hero-card{min-height:0}.room-hero-card img{height:100%}.room-hero-card>span{left:24px;bottom:22px;font-size:clamp(20px,6vw,28px)}.room-hero-card small{margin-bottom:6px;font-size:9px}.room-introduction{grid-template-columns:1fr}.room-introduction article+article{border-left:0;border-top:1px solid var(--home-line)}.room-introduction h2{font-size:clamp(25px,7vw,34px)}.home-section-head{grid-template-columns:35px 1fr}.home-section-head h2{grid-column:1/-1;margin-top:22px}.two-cards,.info-row,.floorplan-grid,.line-grid,.access-grid,.payment-block{grid-template-columns:1fr}.line-grid img{width:min(80%,320px);margin:auto}.map-placeholder{min-height:300px}.home-calendar{height:620px;min-height:0}}
@media(max-width:600px){.home-page .nav{top:0;right:0;bottom:auto;left:auto;width:100vw;height:100vh;height:100dvh;padding-top:105px}.home-page .nav a{min-height:54px;font-size:17px;letter-spacing:.12em}.schedule-title h2{font-size:32px}.home-section{padding-inline:20px}.schedule-section{padding-bottom:100px}}
@media(prefers-reduced-motion:reduce){.room-hero-card img{transition:none}}

.map-embed{position:relative;min-height:420px;background:#dedbd3;overflow:hidden}.map-embed iframe{display:block;width:100%;height:100%;min-height:420px;filter:grayscale(.72) sepia(.16) saturate(.72) contrast(.92);transition:filter .35s ease}.map-embed:hover iframe,.map-embed:focus-within iframe{filter:grayscale(.35) sepia(.08) saturate(.9) contrast(.96)}.map-embed>a{position:absolute;right:18px;bottom:18px;padding:11px 15px;background:rgba(248,247,243,.92);color:var(--home-ink);font-size:11px;letter-spacing:.1em;text-decoration:none;box-shadow:0 5px 20px rgba(0,0,0,.08)}
.home-calendar{padding:clamp(8px,1.5vw,16px);border:1px solid #dac9ac;background:linear-gradient(135deg,#fffdf8,#f0dfc5);box-shadow:0 24px 60px rgba(0,0,0,.16)}.home-calendar iframe{filter:brightness(1.05) saturate(1.14);background:#fff}
