/* Visible language navigation; no flags, browser translation or automatic redirects. */
.site-header__tools{display:flex;align-items:center;gap:20px}
.language-picker{position:relative;font:500 13px/1.5 system-ui,sans-serif;text-align:left}
.language-picker summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;padding:1px 0;white-space:nowrap}
.language-picker summary::-webkit-details-marker{display:none}
.language-picker summary svg{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:1.5}
.language-picker nav{position:absolute;right:0;top:calc(100% + 7px);width:170px;padding:6px;background:#fff;color:#26333d;border:1px solid #dce3e9;border-radius:6px;box-shadow:0 6px 24px #0002;z-index:210}
.language-picker nav a{display:block;padding:10px 12px;color:#26333d;text-decoration:none;border-radius:3px;font-size:14px}
.site-header__bar .language-picker a::before{content:none}
.language-picker a:hover,.language-picker a[aria-current]{background:#eef3f6;color:var(--color-brand)}
.language-picker summary:focus-visible,.language-picker a:focus-visible{outline:2px solid currentColor;outline-offset:3px}
@media(max-width:800px){
  .sp-header__tools{display:flex;align-items:center;flex:none;height:52px}
  .mobile-language{color:var(--color-brand);width:68px;flex:none}
  .mobile-language summary{justify-content:center;gap:3px;min-height:44px;font:600 12px/1 system-ui,sans-serif}
  .mobile-language summary svg{width:15px;height:15px}
  .mobile-language .language-picker nav{top:calc(100% + 4px)}
  .sp-header .menu-button{flex:none}
  html{scroll-padding-top:64px}
}
@media(max-width:400px){.sp-header .site-logo--vector{--logo-scale:.612}}
@media(max-width:360px){.sp-header .site-logo--vector{--logo-scale:.522}}
/* International pages inherit the current hotel top-page design. */
.international{--font-serif:"Noto Serif JP",serif;--font-sans:"Noto Sans JP",sans-serif;letter-spacing:.035em;word-break:normal}
.international:lang(ko){--font-serif:"Noto Serif KR",serif;--font-sans:"Noto Sans KR",sans-serif;word-break:keep-all}
.international:lang(zh-Hans){--font-serif:"Noto Serif SC",serif;--font-sans:"Noto Sans SC",sans-serif}
.international:lang(zh-Hant){--font-serif:"Noto Serif TC",serif;--font-sans:"Noto Sans TC",sans-serif}
.international .site-logo__ja{font-family:var(--font-sans)}
.international .header-actions a{padding-inline:18px;font-size:.9375rem}
.international .header-contact__tel{font-size:2rem}
.international .hero__catch-route{white-space:normal}
.international .hero__catch>span{line-height:1.5;letter-spacing:.035em}
.international .features p{justify-content:center}
.international .section-title{padding-inline:15px}
.international:lang(en) .section-title>span[lang="en"]{display:none}
.international .room-card h3 span:empty{display:none}
/* Translated text stays in normal flow so wrapping increases the banner height. */
.international .ssg-bnr{
  display:grid;grid-template-columns:minmax(0,1fr) minmax(160px,22%);
  align-content:center;gap:20px 36px;height:auto;min-height:226px;
  padding:28px 7%;font-family:var(--font-serif);
}
.international .ssg-bnr__group,.international .ssg-bnr__title,
.international .ssg-bnr__uses,.international .ssg-bnr__more{
  position:relative;inset:auto;width:auto;min-width:0;margin:0;
}
.international .ssg-bnr__group{grid-column:1;font-size:16px;line-height:1.5;letter-spacing:.16em}
.international .ssg-bnr__title{grid-column:1;font-size:clamp(26px,3.4cqi,40px);line-height:1.2;white-space:normal}
.international .ssg-bnr__uses{
  grid-column:1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:stretch;
  font-size:clamp(14px,1.7cqi,19px);letter-spacing:.025em;line-height:1.5;white-space:normal;
}
.international .ssg-bnr__uses li{display:flex;align-items:center;justify-content:center;padding:2px 10px;min-width:0}
.international .ssg-bnr__more{
  grid-column:2;grid-row:1 / span 3;align-self:center;
  height:auto;min-height:64px;padding:18px 20px;
  font-size:18px;line-height:1.5;letter-spacing:.035em;white-space:normal;text-align:center;gap:12px;
}
.international .ssg-bnr__more::after{flex:none}
@container(max-width:800px){
  .international .ssg-bnr{grid-template-columns:minmax(0,1fr);gap:16px;min-height:0;padding:24px 34px}
  .international .ssg-bnr__group{font-size:12px;letter-spacing:.08em}
  .international .ssg-bnr__uses{font-size:clamp(12px,2.8cqi,16px)}
  .international .ssg-bnr__uses li{padding-inline:6px}
  .international .ssg-bnr__more{grid-column:1;grid-row:auto;justify-self:end;width:min(100%,220px);min-height:52px;padding:12px 18px;font-size:16px}
}
.intl-room-specs{display:grid;grid-template-columns:1fr auto;gap:3px 16px;margin:18px 0;font:400 .8125rem/1.8 var(--font-sans);letter-spacing:.015em}
.intl-room-specs dd{text-align:right}
.intl-access-copy{margin-top:30px;text-align:center;font-family:var(--font-sans)}
.intl-access-copy .button-row{margin-top:18px}
.intl-access-copy .button{width:auto;min-width:200px;max-width:100%}
.intl-map{min-width:0}
.intl-map img{width:100%;height:auto}
.intl-map__enlarge{display:inline-block;margin-top:10px;text-decoration:underline;font:400 .875rem/1.8 var(--font-sans)}
.international .global-nav a,.international .global-nav summary{font-size:clamp(.75rem,1.05vw,.9375rem)}
.international .card-grid>*,.international .split>*,.international .spot>*{min-width:0}
.international .spec-table{table-layout:fixed;width:100%}
.international .anchor-nav ul{flex-wrap:wrap}
.international .anchor-nav a{font-size:1rem;letter-spacing:.02em}
@media(max-width:800px){.international .anchor-nav a{font-size:.8125rem;letter-spacing:0}}
.international:lang(en) .page-hero h1>span{display:none}
.international:lang(en) .block-title>small[lang="en"]{display:none}
.translation-original{max-width:1120px;margin:20px auto;padding:16px 20px;background:var(--color-cream);font:400 .875rem/1.8 var(--font-sans)}
.translation-original a{text-decoration:underline}
.standalone-language{position:fixed;top:12px;right:16px;z-index:1000;background:#fff;padding:8px 14px;border:1px solid #ddd;border-radius:4px;color:#165686}
.international .intl-group-lettering{display:block;font-family:var(--font-serif);font-size:clamp(24px,3vw,50px);line-height:1.4;letter-spacing:.02em;color:#165686;text-shadow:0 1px 2px #fff}
.international .titleSub .intl-group-lettering{font-size:clamp(14px,1.8vw,26px);padding:8px;flex:1;text-align:center;color:#7b684f}
.international #navigation .navPc li>a,.international #spNavi .uk-nav-default li>a{white-space:normal;line-height:1.6;letter-spacing:.02em}
.international #achievements .item,.international #hotelList .item{min-width:0;overflow-wrap:break-word}
.intl-note{margin:16px 0;color:var(--color-gray);font-size:.875rem}
.intl-services{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.intl-services article{padding:32px;background:var(--color-cream);line-height:2}
.intl-services h3{margin-bottom:12px;color:var(--color-brand);font-size:1.5rem}
.intl-booking-note{text-align:center;font:400 .875rem/1.8 var(--font-sans);margin-bottom:25px;padding-inline:20px}
@media(max-width:1200px){.international .header-actions a{padding-inline:12px}.international .header-contact__tel{font-size:1.875rem}}
@media(min-width:801px) and (max-width:1040px){.international .header-actions{display:none}.international .global-nav a,.international .global-nav summary{font-size:.875rem}}
@media(max-width:800px){
  .international .hero__catch{right:10px;left:10px;bottom:18px}
  .international .hero__catch>span{padding:10px 12px;font-size:.8125rem}
  .international .hero__catch-route{display:inline-block}
  .international .drawer-actions{grid-template-columns:1fr 1fr}
  .international .drawer-actions a{font-size:.875rem;padding-inline:8px}
  .international .contact__buttons a{font-size:1rem}
  .intl-services{grid-template-columns:1fr;gap:20px}
  .intl-services article{padding:25px}
}

/* Desktop language switch is the rightmost main navigation item. */
.global-nav>ul{max-width:1200px;margin-inline:auto;flex-wrap:nowrap}
.global-nav>ul>li:not(:last-child)::after{margin-inline:clamp(8px,1.6vw,24px)}
.global-nav__language{display:flex;align-items:center}
.global-nav__language .language-picker{font:inherit}
.global-nav__language summary{padding:10px 0;font-size:1rem;font-weight:600;color:var(--color-brand)}
.global-nav__language summary svg{width:18px;height:18px}
.global-nav__language .language-picker nav{top:100%}
@media(max-width:1040px){.global-nav>ul>li:not(:last-child)::after{margin-inline:clamp(6px,1.2vw,12px)}.global-nav__language summary{padding:8px 0;font-size:.875rem}}
