/* Bandeiras vetoriais e leitura em japonês, mantendo o seletor nativo. */
.nav15-language .nav16-flag {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 28px;
  width: 28px;
  height: 20px;
  line-height: 1;
}
.nav16-flag img, .language-flag {
  display: block;
  width: 28px;
  height: 20px;
  flex: none;
  border-radius: 2.5px;
}
.nav33-language.nav15-language > nav {
  width: 228px;
  padding: 8px;
  border-color: #dde3eb;
  box-shadow: 0 12px 32px rgb(7 26 52 / 15%);
  max-height: min(470px, calc(100dvh - 105px));
}
.nav33-language.nav15-language nav a {
  gap: 12px;
  padding: 10px 12px;
  border-radius: 5px;
  min-height: 44px;
}
.nav15-language nav a[aria-current="page"] {
  color: #fff;
  background: #071a34;
}
.nav15-language nav a[aria-current="page"] .nav15-current { color: #92b6ff; }
.nav15-language nav a:hover { background: #edf2fa; color: #071a34; }
.nav15-language nav a[aria-current="page"]:hover .nav15-current { color: #244cf5; }
html[lang="ja"] body { font-family: Inter, "Hiragino Sans", "Yu Gothic", Meiryo, sans-serif; }
html[lang="ja"] :is(h1,h2,h3,h4) { line-break: strict; word-break: normal; hyphens: none; line-height: 1.4; letter-spacing: -.02em; }
html[lang="ja"] :is(p,li,summary,label) { line-break: strict; line-height: 1.8; }
html[lang="ja"] .nav33-header :is(p,summary,a) { line-height: 1.5; }
html[lang="ja"] .hero-copy h1 { font-size: clamp(38px, 4.2vw, 60px); text-wrap: pretty; }
html[lang="ja"] .hero-copy h1 em { max-width: none; }
html[lang="ja"] .nav15-panel-label { font-family: inherit; }
@media(max-width:600px) {
  .nav33-language.nav15-language > nav { width: min(228px, calc(100vw - 36px)); }
  html[lang="ja"] h1 { font-size: clamp(30px, 8vw, 42px); }
}
