.title-flow{word-break:normal;overflow-wrap:break-word;text-wrap:wrap}.title-chunk{display:inline;white-space:normal;word-break:normal;overflow-wrap:break-word}.copy-flow,.copy-chunk{word-break:normal;overflow-wrap:break-word}.copy-flow{text-wrap:wrap}.copy-chunk{display:inline}.copy-chunk + .copy-chunk{margin-left:0}:is(.intro-grid,.content-grid,.guide-head,.info-grid,.chooser-grid,.cross-grid,.card-grid,.guide-grid,.gateway-grid,.results,.treatment,.world)>*{min-inline-size:0}.intro-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.content-grid{grid-template-columns:minmax(0,.7fr) minmax(0,1.3fr)}.section-head{gap:clamp(1.5rem,4vw,4rem)}.section-head>div{flex:1 1 0;min-inline-size:0}.section-head>p{flex:0 1 430px;min-inline-size:0}.cta-band .wrap>div{flex:1 1 0;min-inline-size:0}.cta-band .wrap>.action-row{flex:0 1 auto}:is(.btn,.action){max-inline-size:100%;white-space:normal;overflow-wrap:break-word}:is(.btn,.action)>span:first-child{min-inline-size:0}:is(.cta-line,.recommend,.gateway-link,.service-list a){gap:1rem;overflow-wrap:break-word}:is(.cta-line,.recommend,.service-list a)>span:first-child{min-inline-size:0}.eyebrow{line-height:1.5;overflow-wrap:break-word}.hero h1,.page-hero h1,.content-hero h1{font-size:clamp(2rem,5.6vw,5.6rem);line-height:1.3}:is(.intro,.content-grid,.guide-head,.section-head,.gateway-copy,.cross-card,.cta-band) h2{font-size:clamp(1.75rem,3vw,3.4rem);line-height:1.4}.world h3{font-size:clamp(1.8rem,3vw,3.2rem);line-height:1.4}.result h2{font-size:clamp(1.5rem,2.5vw,2.5rem);line-height:1.4}.guide-card h3,.info-card h3{font-size:clamp(1.15rem,1.8vw,1.45rem);line-height:1.5}@supports (container-type:inline-size){:is(.hero-copy,.content-hero>.wrap,.intro-grid>div,.content-grid>div,.guide-head>div,.section-head>div,.gateway-copy,.world-copy,.treatment-copy,.cross-card,.result,.guide-card,.info-card,.cta-band .wrap>div,.statement>.wrap,.first-visit-route__inner>div){container-type:inline-size}.hero h1,.page-hero h1,.content-hero h1{font-size:clamp(2rem,7.2cqi,5.6rem)}:is(.intro,.content-grid,.guide-head,.section-head,.gateway-copy,.cross-card,.cta-band) h2{font-size:clamp(1.75rem,7.5cqi,3.4rem)}.world h3,.treatment h2{font-size:clamp(1.8rem,9cqi,3.2rem);line-height:1.4}.result h2{font-size:clamp(1.5rem,7cqi,2.5rem)}.guide-card h3,.info-card h3{font-size:clamp(1.15rem,6cqi,1.45rem)}.statement h2{font-size:clamp(2rem,5.5cqi,4.4rem);line-height:1.4}.first-visit-route h2{font-size:clamp(1.65rem,5cqi,2.7rem)}}@media (max-width:1100px){.hero-copy{left:16px;width:calc(100% - 32px)}body:has(.hero) header .links:not(.open){display:none}.intro-grid{grid-template-columns:1fr}}@media (max-width:820px){.content-grid,.intro-grid{grid-template-columns:1fr}.section-head>p{max-inline-size:none}}@media (max-width:620px){.hero h1,.page-hero h1,.content-hero h1{font-size:clamp(2rem,7.5vw,2.9rem)}:is(.hero-copy,.content-hero,.page-hero,.statement) p br{display:none}}

/* Long page titles use a smaller scale while following Japanese line breaking.
   Phrase spans carry meaning without acting as indivisible layout boxes. */
.hero h1.title-flow--long,.page-hero h1.title-flow--long,.content-hero h1.title-flow--long {
  font-size: clamp(1.875rem, 5.2vw, 4.6rem);
}
@supports (container-type: inline-size) {
  .hero h1.title-flow--long,.page-hero h1.title-flow--long,.content-hero h1.title-flow--long {
    font-size: clamp(1.875rem, 5.2cqi, 4.6rem);
  }
}
@media (max-width: 620px) {
  .hero h1,.page-hero h1,.content-hero h1 {
    font-size: clamp(1.875rem, 7.2vw, 2.9rem);
  }
  @supports (container-type: inline-size) {
    .hero h1,.page-hero h1,.content-hero h1 {
      font-size: clamp(1.875rem, 7.2cqi, 2.9rem);
    }
  }
}
