/* ALL OUT / human-readable Japanese typography — readable-linebreak batch */
body #wrapper :is(h1,h2,h3,h4),
body #wrapper :is(h1,h2,h3,h4) a {
  word-break: normal;
  overflow-wrap: break-word;
  line-break: strict;
  text-wrap: balance;
}

body #wrapper :is(p,li,dt,dd) {
  line-break: strict;
}

body #wrapper .ao-type-line {
  display: block;
}

body #wrapper .ao-type-phrase {
  display: inline-block;
  white-space: nowrap;
}

body #wrapper .ao-type-en {
  display: block;
  margin-top: .45em;
  word-break: normal;
  line-break: auto;
}

body #wrapper :is(h1,h2,h3,h4) > small[lang="en"],
body #wrapper p > span[lang="en"] {
  display: block;
  margin-top: .5em;
}

@media (max-width: 640px) {
  body #casting-v2-title,
  body #member-v2-title,
  body #contact-v2-title,
  body #company-v2-title {
    font-size: clamp(23px, 5.9vw, 32px);
    line-height: 1.5;
    word-break: normal;
    overflow-wrap: normal;
  }

  body #company-v2-title {
    font-size: clamp(21px, 5.4vw, 30px);
  }

  body #member-v2-title .ao-type-en {
    font-size: .52em;
    letter-spacing: .12em;
  }
}

@media (max-width: 360px) {
  body #wrapper .ao-type-phrase {
    white-space: normal;
  }
}

@supports (word-break: auto-phrase) {
  body #wrapper :is(h1,h2,h3,h4):not(#ao-hero-title) {
    word-break: auto-phrase;
  }
}
