html[lang="ja"]{--sans:"Avenir Next","Avenir","Segoe UI","Helvetica Neue",Helvetica,Arial,"Noto Sans JP",sans-serif}
html[lang="en"]{--sans:"Avenir Next","Avenir","Segoe UI","Helvetica Neue",Helvetica,Arial,"Noto Sans JP",sans-serif}
:not(html)[lang="ja"]{font-family:"Avenir Next","Avenir","Segoe UI","Helvetica Neue",Helvetica,Arial,"Noto Sans JP",sans-serif}
html[lang="ja"] body{line-break:strict;overflow-wrap:break-word}
html[lang="ja"] .body,html[lang="ja"] .note,html[lang="ja"] .menu-fine,html[lang="ja"] .visit-note,html[lang="ja"] .visit-events,html[lang="ja"] .faq-a,
html[lang="ja"] .visit-addr,html[lang="ja"] .foot__meta p,html[lang="ja"] .foot__src,html[lang="ja"] .visit-trust dd{word-break:auto-phrase}
html[lang="ja"] .disp .w,html[lang="ja"] .post-t,html[lang="ja"] .menu-cat,html[lang="ja"] .faq-q,
html[lang="ja"] .item,html[lang="ja"] .menu__links a,html[lang="ja"] .foot__nav a,html[lang="ja"] .arrow,html[lang="ja"] .eyebrow{word-break:keep-all}

html[lang="ja"] .nav__book,html[lang="ja"] .visit-book,html[lang="ja"] .foot__book{word-break:keep-all;white-space:nowrap}
.nw{white-space:nowrap}

html[lang="ja"] .disp{letter-spacing:.1em;line-height:1.3;font-weight:300}
html[lang="ja"] .disp--hero{font-size:52px}
html[lang="ja"] .disp--panel{font-size:30px}
html[lang="ja"] .disp:not(.disp--hero):not(.disp--panel){font-size:40px}
html[lang="ja"] .eyebrow,html[lang="ja"] .arrow,html[lang="ja"] .menu__ribbon{letter-spacing:.1em}
html[lang="ja"] .body{line-height:1.8}
html[lang="ja"] .menu-cat em{font-style:normal}
.reveal .w{padding-bottom:.06em}

.wordmark{display:block;font:600 22px/1 "Noto Serif JP",serif;letter-spacing:.12em;color:#fff;mix-blend-mode:difference;white-space:nowrap}

.nav__lang{grid-column:3;grid-row:1;justify-self:end;margin-right:64px;position:relative;z-index:2}
.nav__lang summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:7px;min-height:44px;
  font-size:11.5px;font-weight:500;letter-spacing:.12em;color:var(--ink);transition:color .35s var(--ease)}
.nav__lang summary::-webkit-details-marker{display:none}
.nav__lang summary::after{content:"";width:6px;height:6px;border-right:1.2px solid currentColor;border-bottom:1.2px solid currentColor;transform:translateY(-2px) rotate(45deg)}
.nav.is-over:not(.is-open) .nav__lang summary{color:var(--cream)}
.lang__list{position:absolute;right:0;top:calc(100% + 6px);display:flex;flex-direction:column;min-width:150px;padding:8px 0;
  background:var(--cream);border:1px solid var(--hair)}
.lang__list a{padding:9px 18px;font-size:14px;color:var(--ink)}
.lang__list a:hover,.lang__list a[aria-current]{color:var(--terra)}
.menu__langs{display:flex;flex-wrap:wrap;gap:8px 18px;margin-top:22px;font-size:13px}
.menu__langs a[aria-current]{color:var(--terra)}

.rows .note span[lang]{font-style:normal}
.menu-fine{line-height:1.7}

.visit-trust{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;margin:40px 0 0;padding:0}
.visit-trust div{padding:18px 20px 18px 0;border-top:1px solid var(--hair)}
.visit-trust dt{font-size:11px;font-weight:500;letter-spacing:.14em;text-transform:uppercase;color:var(--quiet);margin-bottom:8px}
.visit-trust dd{margin:0;font-size:15px;line-height:1.5}

.desert::after{
  background:
    linear-gradient(to right,rgba(0,0,0,.45) 0,rgba(0,0,0,.20) 58%,rgba(0,0,0,0) 100%),
    linear-gradient(to bottom,rgba(0,0,0,.46) 0,rgba(0,0,0,.16) 270px,rgba(0,0,0,0) 430px),
    linear-gradient(to top,rgba(0,0,0,.80) 0,rgba(0,0,0,.58) 240px,rgba(0,0,0,0) 470px);
}

.hero::after{
  content:"";position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(to right,rgba(0,0,0,.66) 0,rgba(0,0,0,.42) 58%,rgba(0,0,0,0) 94%);
}
.menu__card::after{
  background:linear-gradient(to bottom,rgba(0,0,0,0) 22%,rgba(0,0,0,.78) 38%,rgba(0,0,0,.78) 64%,rgba(0,0,0,0) 78%);
}

.visit-faq{margin:52px 0 0}
.visit-faq .eyebrow{margin-bottom:26px}
.faq-list{margin:0;padding:0}
.faq-list>div{padding:20px 0;border-top:1px solid var(--hair);display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.35fr);gap:10px 40px}
.faq-q{margin:0;font-size:15.5px;font-weight:500;line-height:1.55}
.faq-a{margin:0;font-size:14.5px;line-height:1.8;color:var(--quiet)}
.foot__src{margin:0;padding:0 var(--pad) 26px;font-size:11px;line-height:1.7;color:#8f887c}
a:focus-visible,button:focus-visible,summary:focus-visible,[tabindex]:focus-visible{outline:1.5px solid var(--terra);outline-offset:3px}

@media (max-width:640px){

  .hero::after{background:linear-gradient(to right,rgba(0,0,0,.70) 0,rgba(0,0,0,.60) 62%,rgba(0,0,0,.42) 100%)}
  .desert::after{
    background:
      linear-gradient(to right,rgba(0,0,0,.52) 0,rgba(0,0,0,.24) 58%,rgba(0,0,0,0) 100%),
      linear-gradient(to bottom,rgba(0,0,0,.50) 0,rgba(0,0,0,.18) 270px,rgba(0,0,0,0) 430px),
      linear-gradient(to top,rgba(0,0,0,.80) 0,rgba(0,0,0,.58) 240px,rgba(0,0,0,0) 470px);
  }
}
@media (max-width:1099px){
  html[lang="ja"] .disp--hero{font-size:40px}
  html[lang="ja"] .disp:not(.disp--hero):not(.disp--panel){font-size:34px}
  .visit-trust{grid-template-columns:1fr}
  .visit-trust div{padding:14px 0}
  .faq-list>div{grid-template-columns:1fr;gap:8px}
}
@media (max-width:640px){
  html[lang="ja"] .disp--hero{font-size:31px;letter-spacing:.08em}
  html[lang="ja"] .disp--panel{font-size:26px}
  html[lang="ja"] .disp:not(.disp--hero):not(.disp--panel){font-size:28px}
  .nav__lang{margin-right:48px}
  .wordmark{font-size:18px}
  .visit-faq{margin-top:38px}
}

html:not(.js) .rv,html:not(.js) .rise{opacity:1;transform:none}
html:not(.js) .reveal .w i{transform:none}
html:not(.js) .reveal-img:not(.media-zoom) > img{opacity:1;transform:none}
html:not(.js) .media-zoom.reveal-img{transform:none}
.addr-in{display:block}
