:root{
  --cream:#FAF7F1;
  --band:#ECE6DB;
  --ink:#17140F;
  --muted:#6E6960;
  --dim:#ADA69B;
  --accent:#2F4858;
  --accent-dk:#223644;
  --accent-on:#FFFFFF;
  --paper:#F2EBDC;
  --line:rgba(23,20,15,.16);
  --display:"Cormorant Garamond","Zen Old Mincho",serif;
  --sans:"Zen Kaku Gothic New",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  --hd:64px;
  --pad:36px;
}
body.p-ja{--display:"Zen Old Mincho","Cormorant Garamond",serif}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{
  margin:0; background:var(--cream); color:var(--ink);
  font-family:var(--sans); font-size:16px; line-height:1.45;
  font-weight:400; -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
img{display:block; max-width:100%; -webkit-user-drag:none}
a{color:inherit; text-decoration:none}
button{font:inherit; color:inherit; background:none; border:0; cursor:pointer}
ul{margin:0; padding:0; list-style:none}

.skip{position:absolute; left:-9999px}
.skip:focus{left:8px; top:8px; z-index:99; background:#fff; padding:8px 12px}

.display{
  font-family:var(--display); font-weight:400;
  text-transform:uppercase; letter-spacing:.005em;
  line-height:1.06; margin:0;
}
.nw{white-space:nowrap}
body.p-ja .display{text-transform:none; line-height:1.3; letter-spacing:.03em}
body.p-ja .display .nw{word-break:keep-all}
.eyebrow{
  margin:0; font-size:13px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); font-weight:400;
}
body.p-ja .eyebrow{text-transform:none; letter-spacing:.12em}
.eyebrow--light{color:rgba(255,255,255,.86)}

.ulink{
  display:inline-block; font-size:13px; letter-spacing:.09em; text-transform:uppercase;
  font-weight:500; padding-bottom:4px; border-bottom:1px solid currentColor;
  transition:opacity .25s ease;
}
body.p-ja .ulink{text-transform:none; letter-spacing:.12em}
.ulink:hover{opacity:.55}

.btn{
  display:inline-block; background:var(--accent); color:var(--accent-on);
  font-size:15px; line-height:1; padding:11px 22px 12px; border-radius:4px;
  transition:background .3s ease, color .3s ease;
}
.btn:hover{background:var(--accent-dk)}
.hero .btn,.band .btn{background:var(--paper); color:var(--ink)}
.hero .btn:hover,.band .btn:hover{background:#FFFFFF}

.wm{
  display:flex; flex-direction:column; align-items:center; gap:5px;
  line-height:1; transition:gap .35s ease;
}
.wm__ja{font-size:10.5px; letter-spacing:.42em; text-indent:.42em; font-weight:500}
.wm__name{font-family:var(--display); font-size:23px; letter-spacing:.1em; text-indent:.1em}
body.p-ja .wm__name{letter-spacing:.16em; text-indent:.16em}

.hd{
  position:fixed; inset:0 0 auto 0; z-index:40;
  display:flex; align-items:center; justify-content:space-between;
  height:110px; padding:0 var(--pad);
  background:transparent; color:#fff;
  border-bottom:1px solid transparent;
  transition:height .35s ease, background-color .35s ease, color .35s ease, border-color .35s ease;
}
.hd.is-solid{height:var(--hd); background:var(--cream); color:var(--ink); border-bottom-color:var(--line)}
.hd__lang{
  font-size:12px; letter-spacing:.1em; font-weight:500;
  border-bottom:1px solid currentColor; padding-bottom:2px;
}
.hd__logo{
  position:absolute; left:50%; top:50%; transform:translate(-50%,-50%);
  line-height:0;
}
.hd__logo .wm__ja{transition:font-size .35s ease, letter-spacing .35s ease}
.hd__logo .wm__name{transition:font-size .35s ease}
.hd.is-solid .hd__logo .wm{gap:2px}
.hd.is-solid .hd__logo .wm__ja{font-size:8.5px; letter-spacing:.3em; text-indent:.3em}
.hd.is-solid .hd__logo .wm__name{font-size:16px}
.hd__right{display:flex; align-items:center; gap:22px}
.hd__book{
  font-size:12px; letter-spacing:.1em; font-weight:500; text-transform:uppercase;
  border-bottom:1px solid currentColor; padding-bottom:2px;
  transition:opacity .25s ease;
}
body.p-ja .hd__book{text-transform:none}
.hd__book:hover{opacity:.6}
.burger{
  width:38px; height:38px; border-radius:50%;
  background:rgba(255,255,255,.16);
  display:flex; flex-direction:column; align-items:center; justify-content:center; gap:4px;
  transition:background .35s ease;
}
.hd.is-solid .burger{background:var(--accent)}
.burger span{
  display:block; width:15px; height:1px; background:currentColor;
  transition:transform .3s ease, opacity .25s ease;
}
.hd.is-solid .burger span{background:var(--accent-on)}
body.menu-open .burger span:first-child{transform:translateY(2.5px) rotate(45deg)}
body.menu-open .burger span:last-child{transform:translateY(-2.5px) rotate(-45deg)}
body.menu-open .hd{height:var(--hd); background:var(--cream); color:var(--ink)}
body.menu-open .hd__logo .wm{gap:2px}
body.menu-open .hd__logo .wm__ja{font-size:8.5px; letter-spacing:.3em; text-indent:.3em}
body.menu-open .hd__logo .wm__name{font-size:16px}
body.menu-open .burger{background:var(--accent)}
body.menu-open .burger span{background:var(--accent-on)}

.menu{
  position:fixed; inset:0; z-index:35; display:flex;
  background:var(--cream);
}
.menu[hidden]{display:none}
.menu__panel{
  flex:0 0 755px; padding:calc(var(--hd) + 44px) var(--pad) 40px;
  display:flex; flex-direction:column;
}
.menu__list{display:flex; flex-direction:column}
.menu__link{
  display:block; padding:20px 0 18px; border-bottom:1px solid var(--line);
  transition:opacity .3s ease;
}
.menu__link:first-child{padding-top:0}
.menu__t{
  font-family:var(--display); font-size:26px; line-height:1;
  text-transform:uppercase; letter-spacing:.01em;
}
body.p-ja .menu__t{text-transform:none; letter-spacing:.08em}
.menu__s{
  margin-left:10px; font-size:12px; letter-spacing:.09em; text-transform:uppercase; color:var(--muted);
}
body.p-ja .menu__s{text-transform:none; letter-spacing:.12em}
.menu__list:hover .menu__link{opacity:.35}
.menu__list .menu__link:hover{opacity:1}
.menu__sub{display:flex; gap:70px; margin-top:auto; padding-top:48px}
.menu__sub a{
  font-size:12px; letter-spacing:.09em; text-transform:uppercase; font-weight:500;
  line-height:28px; transition:opacity .25s ease;
}
body.p-ja .menu__sub a{text-transform:none; letter-spacing:.12em}
.menu__sub a:hover{opacity:.5}
.menu__media{flex:1; overflow:hidden; background:#e3ddd2}
.menu__media img{width:100%; height:100%; object-fit:cover}

.hero{
  position:relative; height:100svh; min-height:560px;
  display:flex; align-items:flex-end; justify-content:center;
  background:#000; overflow:hidden;
}
.hero__bg{
  position:absolute; inset:0; width:100%; height:100%;
  object-fit:cover;
}
.hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to bottom, rgba(0,0,0,.34) 0%, rgba(0,0,0,.14) 32%, rgba(0,0,0,.34) 66%, rgba(0,0,0,.66) 100%);
}
.hero__in{
  position:relative; z-index:1; text-align:center; color:#fff;
  padding:0 24px 34px; display:flex; flex-direction:column; align-items:center;
}
.hero h1{color:#fff; font-size:42px; margin:14px 0 20px}
body.p-ja .hero h1{font-size:38px; margin:16px 0 22px}

.intro{
  padding:57px 24px 0; text-align:center;
  display:flex; flex-direction:column; align-items:center;
}
.vline{display:block; width:1px; height:114px; background:var(--line); margin-bottom:53px}
.intro h2{font-size:38px; margin:14px 0 42px}
.intro__copy{max-width:520px}
.intro__copy p{margin:0 0 22px; color:#3A352E; font-size:15.5px; line-height:1.5}
body.p-ja .intro__copy p{line-height:1.95; text-align:left}
.intro__fig{margin:56px 0 0; width:677px; max-width:100%}
.intro__fig img{width:100%; aspect-ratio:3/2; object-fit:cover}

.rooms{padding:150px 0 0; text-align:center}
.rooms h2{font-size:38px; margin:14px 0 60px}
.rooms__grid{
  display:grid; grid-template-columns:1fr 1fr; gap:6px;
}
.tile{
  position:relative; display:block; aspect-ratio:1/1; overflow:hidden;
  background:#ddd6cb;
}
.tile--wide{grid-column:1 / -1; aspect-ratio:1440/717}
.tile img,.priv__media img{
  position:absolute; inset:0; width:100%; height:100%; object-fit:cover;
}
.tile__b,.card__b{opacity:0; transition:opacity .55s ease}
.tile:hover .tile__b,.card:hover .card__b{opacity:1}
.tile::after,.card::after{
  content:""; position:absolute; inset:auto 0 0 0; height:52%;
  background:linear-gradient(to top, rgba(0,0,0,.46), transparent);
  pointer-events:none;
}
.tile__cap{
  position:absolute; left:0; right:0; bottom:26px; z-index:2;
  display:flex; flex-direction:column; align-items:center; gap:6px; color:#fff;
}
.tile__t{font-size:27px}
.tile__l{
  font-size:12px; letter-spacing:.1em; text-transform:uppercase;
  border-bottom:1px solid currentColor; padding-bottom:3px;
}
body.p-ja .tile__l{text-transform:none; letter-spacing:.14em}

.exp{padding:150px 0 0; text-align:center}
.exp h2{font-size:38px; margin:14px 0 60px}
.exp__rail{display:grid; grid-template-columns:repeat(4,1fr); gap:3px}
.card{
  position:relative; display:block; aspect-ratio:358/570; overflow:hidden;
  background:#ded6cb;
}
.card img{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.card__cap{
  position:absolute; left:19px; right:19px; bottom:20px; z-index:2;
  display:flex; flex-direction:column; gap:2px; text-align:left; color:#fff;
}
.card__t{font-size:22px}
.card__s{font-size:12.5px; letter-spacing:.06em; text-transform:uppercase; color:rgba(255,255,255,.9)}
body.p-ja .card__s{text-transform:none; letter-spacing:.1em}
.dots{display:none}

.act{
  display:grid; grid-template-columns:329px 1fr;
  gap:0 247px; padding:118px var(--pad) 0;
}
.act__h{display:none}
.act__p{margin:16px 0 20px; font-size:15px; line-height:1.5; color:#3A352E}
body.p-ja .act__p{line-height:1.9}
.act__fig{margin:78px 0 0; width:331px}
.act__fig img{width:100%; aspect-ratio:331/392; object-fit:cover}
.act__list li a{
  position:relative; display:flex; align-items:center;
  height:80px; border-bottom:1px solid var(--line);
  font-size:27px; transition:color .3s ease;
}
.act__list li a .display{font-size:27px}
.act__panel{display:none}
.act__list:hover li a{color:var(--dim)}
.act__list li a:hover{color:var(--ink)}
.arw{
  position:absolute; right:0; top:50%; margin-top:-14px;
  width:28px; height:28px; border-radius:50%; background:var(--accent);
  opacity:0; transition:opacity .3s ease;
}
.act__list li a:hover .arw,.priv__list li a:hover .arw{opacity:1}
.arw::after{
  content:""; position:absolute; inset:0; margin:auto;
  width:12px; height:12px; background:var(--accent-on);
  -webkit-mask:url("assets/arrow.svg") no-repeat center/contain;
  mask:url("assets/arrow.svg") no-repeat center/contain;
}

.band{
  position:relative; height:100svh; min-height:520px; margin-top:118px;
  display:flex; align-items:flex-end; justify-content:center; overflow:hidden;
}
.band__bg{position:absolute; inset:0; width:100%; height:100%; object-fit:cover}
.band::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background:linear-gradient(to bottom, rgba(0,0,0,.30) 0%, rgba(0,0,0,.14) 32%, rgba(0,0,0,.38) 66%, rgba(0,0,0,.72) 100%);
}
.band__in{
  position:relative; z-index:1; text-align:center; color:#fff; padding:0 24px 58px;
  display:flex; flex-direction:column; align-items:center;
}
.band__h{font-size:37px; margin-bottom:24px}
body.p-ja .band__h{font-size:34px}

.priv{display:grid; grid-template-columns:minmax(0,1fr) 49.2%}
.priv__col{padding:118px 40px 118px clamp(98px, 10.4vw, 320px); min-width:0}
.priv__list{width:min(446px, 100%)}
.priv h2{font-size:38px; max-width:390px}
.priv__p{margin:26px 0 60px; font-size:15px; line-height:1.5; color:#3A352E; max-width:345px}
body.p-ja .priv__p{line-height:1.9; max-width:375px}
.priv__list li a{
  position:relative; display:block; padding:26px 0 24px;
  border-top:1px solid var(--line); transition:color .3s ease;
}
.priv__list:hover li a{color:var(--dim)}
.priv__list:hover li a em{color:var(--dim)}
.priv__list li a:hover,.priv__list li a:hover em{color:var(--ink)}
.priv__list li a:hover em{color:#3A352E}
.priv__list li:last-child a{border-bottom:1px solid var(--line)}
.priv__list .display{font-size:25px}
.priv__list em{
  display:block; margin-top:12px; max-width:390px;
  font-style:normal; font-size:15px; line-height:1.5; color:#3A352E;
}
body.p-ja .priv__list em{line-height:1.85}
.priv__list .arw{top:36px; margin-top:0}
.priv__media{position:relative; overflow:hidden; min-height:900px; background:#ddd6cb}

.facts{padding:118px var(--pad) 0; text-align:center}
.facts h2{font-size:38px; margin:14px 0 52px}
.facts__list{
  margin:0 auto; max-width:760px; text-align:left;
  border-top:1px solid var(--line);
}
.facts__row{
  display:grid; grid-template-columns:200px 1fr; gap:0 32px;
  padding:20px 0 19px; border-bottom:1px solid var(--line);
}
.facts__row dt{
  font-size:12.5px; letter-spacing:.09em; text-transform:uppercase;
  color:var(--muted); padding-top:3px;
}
body.p-ja .facts__row dt{text-transform:none; letter-spacing:.12em; font-size:13.5px}
.facts__row dd{margin:0; font-size:15px; line-height:1.6; color:#3A352E}
body.p-ja .facts__row dd{line-height:1.85}

.faq{padding:110px var(--pad) 0; text-align:center}
.faq h2{font-size:38px; margin:14px 0 52px}
.faq__list{
  margin:0 auto; max-width:760px; text-align:left;
  display:grid; grid-template-columns:1fr 1fr; gap:0 56px;
}
.faq__list li{padding:24px 0 22px; border-top:1px solid var(--line)}
.faq__list h3{font-size:19px; margin:0 0 10px; text-transform:none}
.faq__list p{margin:0; font-size:15px; line-height:1.6; color:#3A352E}
body.p-ja .faq__list p{line-height:1.85}

.final{
  background:var(--band); text-align:center;
  padding:110px 24px 92px; margin-top:110px;
}
.final h2{font-size:38px; margin:14px 0 42px}

.ft{background:var(--band); border-top:1px solid var(--line); padding:96px var(--pad) 30px}
.ft__top{display:grid; grid-template-columns:1fr auto 1fr; align-items:start; gap:40px}
.ft__links{display:flex; flex-direction:column}
.ft__links a{
  font-size:12.5px; letter-spacing:.09em; text-transform:uppercase; white-space:nowrap;
  line-height:24px; color:var(--muted); transition:color .25s ease;
}
body.p-ja .ft__links a{text-transform:none; letter-spacing:.12em; font-size:13px}
.ft__links a:hover{color:var(--ink)}
.ft__mid{display:flex; flex-direction:column; align-items:center; gap:66px}
.ft__social{display:flex; gap:20px}
.ft__social svg{width:22px; height:22px; color:var(--muted); transition:color .25s ease}
.ft__social a:hover svg{color:var(--ink)}
.ft__logos{display:flex; align-items:center; gap:110px}
.wm--ft{color:var(--muted); gap:7px}
.wm--ft .wm__name{font-size:26px}
.ft__addr{
  font-style:normal; display:flex; flex-direction:column; align-items:flex-end; gap:0;
  text-align:right; font-size:14px; line-height:22px; color:#3A352E;
}
.ft__addr .ulink{margin-top:12px; font-size:12.5px}
.ft__news{text-align:center; margin-top:118px}
.ft__news p{
  margin:0 0 20px; font-size:12.5px; letter-spacing:.09em;
  text-transform:uppercase; color:var(--muted);
}
body.p-ja .ft__news p{text-transform:none; letter-spacing:.12em; font-size:13.5px}
.news{
  display:flex; align-items:center; width:445px; max-width:100%;
  margin:0 auto; background:#fff; border-radius:8px; padding:5px;
}
.news input{
  flex:1; border:0; background:none; outline:none;
  font:inherit; font-size:14.5px; color:var(--ink); padding:9px 14px;
}
.news input::placeholder{color:#979188}
.news button{
  background:var(--accent); color:var(--accent-on); border-radius:5px; padding:9px 20px;
  font-size:14.5px; transition:background .3s ease;
}
.news button:hover{background:var(--accent-dk)}
.ft__legal{display:flex; justify-content:center; gap:30px; margin-top:34px}
.ft__legal a{
  font-size:12.5px; letter-spacing:.07em; text-transform:uppercase;
  color:var(--muted); transition:color .25s ease;
}
body.p-ja .ft__legal a{text-transform:none; letter-spacing:.1em}
.ft__legal a:hover{color:var(--ink)}
.ft__copy{text-align:center; margin-top:26px}
.ft__copy p{margin:0; font-size:13px; color:var(--muted); line-height:1.5}
.ft__sample{margin-top:10px !important; max-width:640px; margin-left:auto !important; margin-right:auto !important}
body.p-ja .ft__sample{line-height:1.8}

@media (max-width:991px){
  :root{--pad:28px}
  .hd{height:96px}
  .menu__panel{flex:0 0 58%}
  .menu__t{font-size:22px}
  .hero h1{font-size:34px}
  body.p-ja .hero h1{font-size:31px}
  .intro h2,.rooms h2,.exp h2,.final h2,.priv h2,.facts h2,.faq h2{font-size:32px}
  .band__h{font-size:31px}
  body.p-ja .band__h{font-size:29px}
  .intro__fig{width:100%; max-width:640px}
  .rooms,.exp{padding-top:118px}
  .act{grid-template-columns:197px 1fr; gap:0 161px; padding-top:96px}
  .act__fig{width:197px; margin-top:58px}
  .act__list li a{height:76px}
  .act__list li a,.act__list li a .display{font-size:24px}
  .priv{grid-template-columns:1fr 440px}
  .priv__col{padding:96px 40px 96px 98px}
  .priv__list{width:auto}
  .priv h2{font-size:32px; max-width:270px}
  .priv__p{max-width:280px}
  body.p-ja .priv__p{max-width:300px}
  .priv__list .display{font-size:22px}
  .priv__list em{max-width:none}
  .priv__media{min-height:0}
  .facts,.faq{padding-top:96px}
  .facts__row{grid-template-columns:172px 1fr; gap:0 24px}
  .faq__list{gap:0 40px}
  .ft__top{grid-template-columns:1fr 1fr; gap:48px}
  .ft__mid{align-items:flex-end}
  .ft__addr{grid-column:2; margin-top:32px}
  .ft__logos{gap:56px}
}

@media (max-width:767px){
  :root{--pad:18px; --hd:64px}
  .hd{height:88px}
  .hd__logo .wm__name{font-size:20px}
  .hd__right{gap:14px}
  .hd__book{font-size:11.5px}

  .menu{flex-direction:column}
  .menu__panel{flex:1; padding:calc(var(--hd) + 26px) var(--pad) 32px}
  .menu__media{display:none}
  .menu__link{padding:17px 0 15px}
  .menu__t{font-size:21px}
  .menu__sub{flex-direction:column; gap:0; padding-top:26px}

  .hero__in{padding:0 var(--pad) 30px; width:100%}
  .hero h1{font-size:28px; max-width:238px; margin:12px 0 26px}
  body.p-ja .hero h1{font-size:26px; max-width:280px}
  .hero .btn{width:100%; padding:14px 0; text-align:center}

  .intro{padding-top:44px}
  .vline{height:96px; margin-bottom:40px}
  .intro h2{font-size:27px; margin-bottom:30px}
  .intro__copy p{font-size:15px}
  .intro__fig{margin-top:44px; width:100%}
  .intro__fig img{aspect-ratio:4/3}

  .rooms{padding-top:96px}
  .rooms h2{font-size:27px; margin-bottom:36px; padding:0 var(--pad)}
  .rooms__grid{grid-template-columns:1fr; gap:4px}
  .tile{aspect-ratio:375/455}
  .tile--wide{aspect-ratio:375/455}
  .tile__t{font-size:24px}

  .exp{padding-top:96px}
  .exp h2{font-size:27px; margin-bottom:34px; padding:0 var(--pad)}
  .exp__rail{
    display:flex; gap:8px; overflow-x:auto; scroll-snap-type:x mandatory;
    padding:0 var(--pad); scrollbar-width:none; -ms-overflow-style:none;
  }
  .exp__rail::-webkit-scrollbar{display:none}
  .card{flex:0 0 calc(100% - 22px); scroll-snap-align:center; aspect-ratio:339/540}
  .dots{display:flex; justify-content:flex-start; gap:7px; padding:22px var(--pad) 0}
  .dots i{width:7px; height:7px; border-radius:4px; background:var(--dim); transition:width .3s ease, background .3s ease}
  .dots i.on{width:22px; background:var(--ink)}

  .act{grid-template-columns:1fr; padding-top:80px; gap:38px}
  .act__aside{grid-template-columns:1fr; gap:0}
  .act__h{display:block; font-size:27px; margin:12px 0 0; max-width:290px}
  body.p-ja .act__h{font-size:25px}
  .act__p{margin:20px 0 18px}
  .act__fig{display:none}
  .act__list li{border-top:1px solid var(--line)}
  .act__list li:last-child{border-bottom:1px solid var(--line)}
  .act__list li a{
    height:auto; padding:20px 46px 20px 0; align-items:center;
    border-top:0; border-bottom:0;
  }
  .act__panel{display:block; max-height:0; overflow:hidden; transition:max-height .45s ease}
  .act__list li.is-open .act__panel{max-height:640px}
  .act__panel p{margin:0 0 14px; font-size:15px; line-height:1.5; color:#3A352E}
  body.p-ja .act__panel p{line-height:1.85}

  .act__panel .ulink{font-size:13px}
  .act__panel img{width:220px; margin:18px 0 24px; aspect-ratio:220/260; object-fit:cover}
  .act__list .arw::before{content:""; position:absolute; inset:0; margin:auto; width:1.5px; height:11px; background:var(--accent-on); transition:opacity .25s ease}
  .act__list .arw::after{-webkit-mask:none; mask:none; width:11px; height:1.5px}
  .act__list li.is-open .arw::before{opacity:0}
  .act__list li a .display{font-size:23px}
  .act__list li a{color:var(--ink)}
  .act__list:hover li a{color:var(--ink)}
  .arw{opacity:1; top:50%; margin-top:-14px}

  .band{margin-top:80px; min-height:0; height:88svh}
  .band__in{padding:0 var(--pad) 34px; width:100%}
  .band__h{font-size:27px; max-width:250px; margin-bottom:20px}
  body.p-ja .band__h{font-size:25px; max-width:290px}
  .band .btn{width:100%; padding:14px 0; text-align:center}

  .priv{grid-template-columns:1fr}
  .priv__col{padding:80px var(--pad) 60px}
  .priv__list .display{padding-right:44px; display:block}
  .priv h2{font-size:27px; max-width:none}
  .priv__p{margin:22px 0 44px; max-width:none}
  body.p-ja .priv__p{max-width:none}
  .priv__list .display{font-size:22px}
  .priv__list em{max-width:none}
  .priv__media{display:none}

  .facts,.faq{padding-top:80px}
  .facts h2,.faq h2{font-size:27px; margin-bottom:34px}
  .facts__row{grid-template-columns:1fr; gap:7px 0; padding:18px 0 17px}
  .faq__list{grid-template-columns:1fr; gap:0}
  .faq__list h3{font-size:18px}

  .final{padding:80px var(--pad) 84px; margin-top:80px}
  .final h2{font-size:27px; max-width:290px; margin:12px auto 34px}
  .final .btn{display:block; width:100%; padding:14px 0}

  .ft{padding:60px var(--pad) 26px}
  .ft__top{grid-template-columns:1fr; gap:44px; text-align:center}
  .ft__links{align-items:center}
  .ft__mid{align-items:center; gap:44px; order:3}
  .ft__addr{grid-column:auto; align-items:center; text-align:center; order:2; margin-top:0}
  .ft__logos{gap:66px}
  .ft__news{margin-top:60px}
  .news{flex-direction:column; align-items:stretch; background:none; padding:0; gap:10px}
  .news input{background:#fff; border-radius:8px; padding:14px}
  .news button{padding:14px; border-radius:8px}
  .ft{display:flex; flex-direction:column}
  .ft__legal{order:9; gap:13px; margin-top:26px; flex-wrap:wrap}
  .ft__legal a{font-size:10.5px; letter-spacing:.04em}
  body.p-ja .ft__legal a{font-size:11.5px; letter-spacing:.06em}
}

@media (min-width:1441px){
  .hero h1{font-size:clamp(42px, calc(42px + (100vw - 1440px) * 0.004286), 46.8px)}
  body.p-ja .hero h1{font-size:clamp(38px, calc(38px + (100vw - 1440px) * 0.003879), 42.3px)}
  .intro h2,.rooms h2,.exp h2,.final h2,.priv h2,.facts h2,.faq h2{
    font-size:clamp(38px, calc(38px + (100vw - 1440px) * 0.003929), 42.4px);
  }
  .band__h{font-size:clamp(37px, calc(37px + (100vw - 1440px) * 0.003839), 41.3px)}
  body.p-ja .band__h{font-size:clamp(34px, calc(34px + (100vw - 1440px) * 0.003527), 37.9px)}
  .tile__t{font-size:clamp(27px, calc(27px + (100vw - 1440px) * 0.001304), 28.5px)}
  .card__t{font-size:clamp(22px, calc(22px + (100vw - 1440px) * 0.001063), 23.2px)}
  .act__list li a,.act__list li a .display{
    font-size:clamp(27px, calc(27px + (100vw - 1440px) * 0.001304), 28.5px);
  }
  .priv__list .display{font-size:clamp(25px, calc(25px + (100vw - 1440px) * 0.001205), 26.4px)}
}
