/* Japanese layout; Arial primary typography is shared with the English site. */
html[lang="ja"] { line-break: strict; word-break: normal; }
html[lang="ja"] body { line-height: 1.8; }
html[lang="ja"] h1, html[lang="ja"] h2, html[lang="ja"] h3,
html[lang="ja"] .ai-hero-headline, html[lang="ja"] .diff-claim { line-height: 1.45; letter-spacing: 0; }
html[lang="ja"] .hero h1, html[lang="ja"] .hero-headline { font-size: clamp(32px,3.35vw,48px); max-width: 13em; line-height: 1.4; }
html[lang="ja"] .hero-sub, html[lang="ja"] .hero-lede { line-height: 1.85; }
html[lang="ja"] .story-grid .lead h2 { font-size: clamp(28px,2.8vw,40px); line-height: 1.5; }
html[lang="ja"] .story-grid .body p { font-size: 18px; line-height: 1.9; }
html[lang="ja"] .diff-claim { max-width: 22em; font-size: clamp(26px,3vw,42px); }
html[lang="ja"] .section-title, html[lang="ja"] .sec-title { line-height: 1.5; }
html[lang="ja"] .slide-headline { font-size: clamp(26px,2.8vw,38px); line-height: 1.45; }
html[lang="ja"] .slide-desc { line-height: 1.8; }
html[lang="ja"] .nav-items { gap: 16px; }
html[lang="ja"] .nav-items a { font-size: 13px; white-space: nowrap; }
html[lang="ja"] .nav-cluster { gap: 20px; }
html[lang="ja"] .nav-right { gap: 12px; }
html[lang="ja"] .cta-primary { font-size: 12px; white-space: nowrap; }
html[lang="ja"] .stat .lbl { letter-spacing: 0; line-height: 1.7; }
html[lang="ja"] .footer-col h5 { letter-spacing: 0.04em; }
html[lang="ja"] .footer-col li a { font-size: 13px; line-height: 1.8; }
html[lang="ja"] .tl-item h4 { line-height: 1.6; }
html[lang="ja"] .tl-item p { line-height: 1.8; }
html[lang="ja"][data-page="about"] .hero h1 { width: 50%; max-width: 620px; margin-bottom: 28px; }
html[lang="ja"][data-page="about"] .hero-lede { width: 50%; max-width: 620px; }
.hero-title-line { display: block; white-space: nowrap; }
.lang-menu button:disabled, .form-submit:disabled { opacity: 0.45; cursor: not-allowed; }
.rma-draft-notice { margin: 18px 0; padding: 14px 18px; border: 1px solid #dcdcdd; border-radius: 6px; background: #f5f6f7; color: #2a2d33; font-size: 14px; line-height: 1.7; }
@media (min-width:981px) and (max-width:1199px) {
  html[lang="ja"] .nav, html[lang="ja"] .nav.scrolled { padding-left: 24px; padding-right: 24px; }
  html[lang="ja"] .nav-items { gap: 12px; }
  html[lang="ja"] .nav-items a { font-size: 12px; }
  html[lang="ja"] .nav-cluster { gap: 12px; }
}
@media (max-width:980px) {
  html[lang="ja"] .hero h1, html[lang="ja"] .hero-headline { font-size: clamp(28px,7.4vw,38px); max-width: 100%; }
  html[lang="ja"][data-page="about"] .hero h1 { font-size: clamp(22px,7.1vw,38px); width: 100%; max-width: 100%; }
  html[lang="ja"][data-page="about"] .hero-lede { width: 100%; max-width: 100%; }
  html[lang="ja"] .nav-cluster, html[lang="ja"] .nav-right { gap: 8px; }
  html[lang="ja"] .cta-primary { padding: 8px 10px; font-size: 10px; }
  html[lang="ja"] .lang-btn { padding: 6px 8px; }
  html[lang="ja"] .cat-card h3 { overflow-wrap: anywhere; }
  html[lang="ja"] .hero-sub { font-size: 20px; }
  html[lang="ja"] .syp-hero h1 { font-size: 32px; max-width: 100%; line-height: 1.45; }
}
@media (max-width:359px) {
  html[lang="ja"] .logo { font-size: 18px; }
  html[lang="ja"] .nav { padding-left: 14px; padding-right: 14px; }
  html[lang="ja"] .nav-cluster, html[lang="ja"] .nav-right { gap: 5px; }
  html[lang="ja"] .cta-primary { font-size: 9px; padding: 8px; }
}
@media (prefers-reduced-motion:reduce) {
  html[lang="ja"] .hero-eyebrow, html[lang="ja"] .hero-headline,
  html[lang="ja"] .hero-sub, html[lang="ja"] .hero-trust,
  html[lang="ja"] .hero-ctas, html[lang="ja"] .hero-visual { animation:none; opacity:1; transform:none; }
}
