@import url("./assets/fonts/fonts.css");
    :root{--ink:#3d362e;--body:#57544d;--gold:#b58a59;--paper:#fcfbf9;--dark:#141413}
    *{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#e8e6e2;color:var(--body);font-family:'Shippori Mincho','Noto Serif JP',serif}.app{position:relative;width:100%;max-width:430px;margin:auto;background:var(--paper);overflow:hidden}.nav{position:fixed;z-index:50;top:0;left:50%;width:min(100%,430px);height:72px;transform:translateX(-50%);display:flex;align-items:center;justify-content:space-between;padding:20px 24px;color:#ddd;background:rgba(20,22,22,.48);border-bottom:1px solid rgba(255,255,255,.2);backdrop-filter:blur(8px)}.brand b{display:block;font-size:14px;font-weight:400;letter-spacing:1.2px}.brand small{display:block;margin-top:2px;font-family:'Noto Sans JP',sans-serif;font-size:8px;letter-spacing:1.5px}.menu-btn,.close{width:30px;height:30px;border:0;background:none;color:white;cursor:pointer}.menu-btn span{display:block;height:1px;background:#fff;margin:6px 0}.menu-btn span:last-child{width:18px;margin-left:auto}.hero{position:relative;min-height:100svh;height:880px;color:#fff;background-image:linear-gradient(to top,rgba(0,0,0,.95),rgba(0,0,0,.12) 60%),linear-gradient(rgba(8,9,9,.45),rgba(8,9,9,.45)),url('assets/image-01.png');background-size:cover;background-position:center}.hero-copy{position:absolute;left:24px;right:24px;top:31%;display:flex;flex-direction:column;gap:20px}.eyebrow{font-family:'Noto Sans JP',sans-serif;font-size:10px;letter-spacing:1.8px;color:#e5e0d1}.hero-title{font-family:Montserrat,sans-serif;font-size:48px;line-height:1.14;letter-spacing:1px}.hero-title small{display:block;font-size:20px;line-height:35px;letter-spacing:1.4px}.hero-ja{font-size:19px;line-height:36px}.hero-desc{font-size:13px;line-height:20px;color:#f0f0eb}.reveal{opacity:0;transform:translateY(14px);animation:heroIn .55s cubic-bezier(.22,1,.36,1) forwards}.d1{animation-delay:.10s}.d2{animation-delay:.42s}.d3{animation-delay:.78s}.d4{animation-delay:1.18s}@keyframes heroIn{to{opacity:1;transform:none}}.scroll{position:absolute;bottom:54px;left:50%;transform:translateX(-50%);font:7px 'Noto Sans JP',sans-serif;letter-spacing:2px;color:#c4c4c4;text-align:center}.scroll:after{content:'';display:block;width:1px;height:38px;background:rgba(255,255,255,.35);margin:9px auto 0}.switcher{position:absolute;right:20px;bottom:26px;width:78px;height:78px;border:.5px solid #c4c4c4;border-radius:50%;display:grid;place-items:center;color:#faf7f0;text-decoration:none;text-align:center;font:9px/14px 'Noto Sans JP',sans-serif;background:rgba(0,0,0,.28);backdrop-filter:blur(10px)}section{scroll-margin-top:72px}.section{padding:60px 24px;text-align:center}.label{font:9px/14px 'Noto Sans JP',sans-serif;letter-spacing:1.6px;color:#857d70}.concept{display:flex;flex-direction:column;gap:28px;align-items:center}.concept h2{margin:0;color:var(--ink);font-size:21px;line-height:30px;font-weight:400;letter-spacing:1.2px}.copy{margin:0;font-size:12px;line-height:20px;letter-spacing:.24px}.tags{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;max-width:300px}.tag{height:30px;padding:7px 11px;border:1px solid #e0e0e0;background:#f6f5f3;font:9px 'Noto Sans JP',sans-serif;letter-spacing:.7px;color:#616161}.room{background:#fff}.room.alt{background:#f3efe8}.slider{position:relative;margin-top:24px;width:100%;height:280px;border-radius:4px;overflow:hidden;background:#ddd}.slides{display:flex;height:100%;transition:transform .55s cubic-bezier(.22,1,.36,1)}.slide{flex:0 0 100%;height:100%}.slide img{width:100%;height:100%;display:block;object-fit:cover}.arrow{position:absolute;z-index:2;top:50%;transform:translateY(-50%);width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.45);background:rgba(13,13,11,.58);color:white;font-size:22px}.prev{left:12px}.next{right:12px}.counter{position:absolute;z-index:2;left:50%;bottom:12px;transform:translateX(-50%);padding:7px 12px;border-radius:14px;background:rgba(13,13,11,.58);color:#fff;font:8px 'Noto Sans JP',sans-serif;letter-spacing:1px}.room h3{margin:46px 0 0;color:var(--ink);font-size:24px;font-weight:400;letter-spacing:2px}.rule{width:32px;height:1px;background:var(--gold);margin:22px auto}.facilities{padding:72px 24px;background:var(--dark);color:#fff}.facilities h2{font-size:28px;letter-spacing:3px;font-weight:400;margin:10px 0 3px}.facilities .sub{font:9px 'Noto Sans JP',sans-serif;letter-spacing:2.5px;color:#9e9e9e}.facility{margin-top:46px;opacity:0;transform:translateY(34px);transition:opacity .75s ease,transform .75s cubic-bezier(.22,1,.36,1)}.facility.in{opacity:1;transform:none}.facility img{display:block;width:100%;height:200px;object-fit:cover;border-radius:4px}.facility h3{font-size:17px;font-weight:400;letter-spacing:2px;margin:16px 0}.facility p{font-size:12px;line-height:20px;color:#dbd4cb}.closing{height:250px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:var(--dark);color:#fffcf5;text-align:center}.closing small{font:9px 'Noto Serif JP',serif;letter-spacing:1px;color:#aba18c}.closing i{width:42px;height:.5px;background:rgba(168,153,128,.62)}.closing p{margin:0;font-size:20px;line-height:30px}.overlay{position:fixed;z-index:100;inset:0;background:rgba(20,20,19,.98);color:#fff;display:none}.overlay.open{display:block}.overlay-inner{width:100%;max-width:430px;height:100%;margin:auto;padding:24px}.overlay-head{display:flex;justify-content:space-between;padding-bottom:22px;border-bottom:1px solid #3a3937}.menu{margin-top:8px}.menu a{display:flex;gap:20px;color:#eee;text-decoration:none;padding:20px 0;border-bottom:1px solid #3a3937;font-size:16px;letter-spacing:1px}.menu em{font:7px 'Noto Sans JP',sans-serif;color:#888;font-style:normal;width:18px}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}.reveal,.facility{animation:none;opacity:1;transform:none;transition:none}}
    /* Keep every slide exactly aligned to the clipped viewport. */
    .slider .slides{width:100%;will-change:transform;touch-action:pan-y}
    .slider .slide{flex:0 0 100%;min-width:100%;height:100%;margin:0}
    .facilities,.facilities h2,.facilities .sub,.facility,.facility h3,.facility p{text-align:center}
    .facility p{margin-left:0;margin-right:0}
  .switcher{position:fixed!important;z-index:60;right:max(20px,calc((100vw - 430px)/2 + 20px))!important;bottom:max(22px,env(safe-area-inset-bottom))!important;background:rgba(0,0,0,.48)}
