/* Japanese typography and responsive sizing; shared styles and motion remain unchanged. */
html[lang="ja"] .home-hero-title,
html[lang="ja"] .home-hero-copy,
html[lang="ja"] .home-journey-heading h2,
html[lang="ja"] .home-journey-step h3,
html[lang="ja"] .home-journey-step > p:last-of-type,
html[lang="ja"] .home-products-heading h2,
html[lang="ja"] .home-products-heading > p,
html[lang="ja"] .home-product-info h3,
html[lang="ja"] .home-system-heading h2,
html[lang="ja"] .home-system-heading > p:not(.home-kicker),
html[lang="ja"] .home-system-item h3,
html[lang="ja"] .home-system-item > p,
html[lang="ja"] .home-partners-heading h2,
html[lang="ja"] .home-contact h2,
html[lang="ja"] .footer_info p {
    word-break: normal;
    overflow-wrap: break-word;
    line-break: strict;
}

html[lang="ja"] .home-hero-title,
html[lang="ja"] .home-journey-heading h2,
html[lang="ja"] .home-journey-step h3,
html[lang="ja"] .home-products-heading h2,
html[lang="ja"] .home-system-heading h2,
html[lang="ja"] .home-partners-heading h2,
html[lang="ja"] .home-contact h2 {
    word-break: auto-phrase;
    text-wrap: balance;
}

html[lang="ja"] .home-hero-copy,
html[lang="ja"] .home-journey-step > p:last-of-type,
html[lang="ja"] .home-products-heading > p,
html[lang="ja"] .home-system-heading > p:not(.home-kicker),
html[lang="ja"] .home-system-item > p {
    word-break: auto-phrase;
    text-wrap: pretty;
}

html[lang="ja"] .home-ja-brand {
    white-space: nowrap;
}

html[lang="ja"] .footer_nav a {
    word-break: keep-all;
}

@media screen and (min-width: 1025px) and (max-width: 1600px) {
    html[lang="ja"] .home-journey-layout {
        grid-template-columns: minmax(0, 0.66fr) minmax(0, 0.78fr) minmax(0, 1.08fr);
    }

    html[lang="ja"] .home-system-layout {
        grid-template-columns: minmax(0, 0.8fr) minmax(0, 1.2fr);
    }

    html[lang="ja"] .home-system-item {
        grid-template-columns: 64px minmax(0, 0.85fr) minmax(0, 1.15fr);
        gap: clamp(16px, 1.5vw, 24px);
    }
}

@media screen and (min-width: 600px) and (max-width: 1024px) and (min-height: 681px) {
    html[lang="ja"] .home-system-item {
        grid-template-columns: 54px minmax(0, 0.8fr) minmax(0, 1.2fr);
    }
}

@media screen and (max-width: 359px) {
    html[lang="ja"] .footer_nav a {
        white-space: normal;
    }
}
