/* A native selector keeps all three languages accessible on narrow headers. */
body.liquid-minimal .site-header select[data-lang-select] {
  width: 108px;
  min-width: 108px;
  min-height: 44px;
  padding: 0 10px;
  font-family: system-ui, sans-serif;
  font-size: 14px;
  cursor: pointer;
  appearance: auto;
}

html[lang="ja"] body {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", system-ui, sans-serif;
  font-weight: 400;
  line-break: strict;
}

html[lang="ja"] :is(h1, h2, h3, p, a, button, label, select, input, textarea) {
  letter-spacing: 0.025em;
  overflow-wrap: anywhere;
}

html[lang="ja"] body.liquid-minimal :is(h1, h2),
html[lang="ja"] body.liquid-minimal.business-page :is(h1, h2) {
  font-family: "Shippori Mincho", "Hiragino Mincho ProN", "Yu Mincho", serif !important;
  font-weight: 600 !important;
  line-height: 1.5;
  letter-spacing: 0.035em !important;
  word-break: keep-all;
  word-break: auto-phrase;
  text-wrap: balance;
}

html[lang="ja"] body.liquid-minimal :is(h1, h2) [data-text-shell],
html[lang="ja"] body.liquid-minimal .reviews-title-line {
  font-family: inherit !important;
  font-weight: inherit !important;
}

html[lang="ja"] body.liquid-minimal p {
  font-weight: 400 !important;
  line-height: 1.85;
}

html[lang="ja"] body.liquid-minimal:not(.business-page) .hero .hero-copy {
  color: var(--pika-navy) !important;
  font-weight: 700 !important;
}

html[lang="ja"] body.liquid-minimal :is(h3, .section-mark, .button, .nav-links, label) {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-weight: 600 !important;
}

html[lang="ja"] body.liquid-minimal .hero h1 {
  font-size: clamp(40px, 4.4vw, 64px) !important;
  font-weight: 600 !important;
  line-height: 1.5 !important;
  text-shadow: 0 1px 12px rgba(255, 255, 255, 0.6);
  word-break: keep-all;
  overflow-wrap: anywhere;
  text-wrap: balance;
}

html[lang="ja"] body.business-page .business-booking-section .booking-panel h2 {
  font-size: clamp(26px, 3vw, 42px);
}

html[lang="ja"] .legal-copy:not([data-policy-lang="ja"]),
html:not([lang="ja"]) .legal-copy[data-policy-lang="ja"] {
  display: none;
}

html[lang="ja"] .legal-copy[data-policy-lang="ja"] {
  display: block;
}

html[lang="ja"] .qa-section .qa-head > div {
  text-align: start;
}

@media (min-width: 681px) {
  html[lang="ja"] body.liquid-minimal:not(.business-page) .hero .hero-copy {
    -webkit-text-stroke: 2px rgba(255, 255, 255, 0.95);
    paint-order: stroke fill;
    text-shadow: 0 1px 2px rgba(255, 255, 255, 0.45) !important;
  }
}

@media (max-width: 680px) {
  html[lang="ja"] #services .service-card h3 {
    font-size: clamp(18px, 5vw, 22px);
    line-height: 1.45;
  }

  html[lang="ja"] body.liquid-minimal .hero h1 {
    font-size: clamp(24px, 7.4vw, 32px) !important;
  }

  html[lang="ja"] body.liquid-minimal:not(.business-page) .hero h1 {
    font-size: clamp(32px, 10vw, 44px) !important;
    line-height: 1.3 !important;
    letter-spacing: 0.015em !important;
  }

  html[lang="ja"] body.liquid-minimal:not(.business-page) .hero .hero-copy {
    margin-top: 12px;
    font-size: clamp(14px, 3.9vw, 16px);
    line-height: 1.7;
    text-wrap: balance;
  }
}
