html[lang] body.page-concept-i .desktop-nav { font-size: clamp(0.875rem, 1.05vw, 0.9375rem); }
html[lang] body.page-concept-i .mobile-nav nav a { font-size: 1rem; }
html[lang] body.page-concept-i .language-switcher { font-size: 0.875rem; }
html[lang] body.page-concept-i .scroll-cue { font-size: 0.875rem; letter-spacing: 0.2em; }
html[lang] body.page-concept-i .hero-opening-skip,
html[lang] body.page-concept-i .hero-intro-replay { font-size: 0.875rem; }
html[lang] body.page-concept-i .hero-lead { font-size: 1.125rem; line-height: 1.9; }
html[lang] body.page-concept-i .hero .primary-button,
html[lang] body.page-concept-i .text-link,
html[lang] body.page-concept-i .submit-button { font-size: 1rem; }
html:not([lang="ja"]) body.page-concept-i .hero h1 > span,
html:not([lang="ja"]) body.page-concept-i .difference-copy h2 > span,
html:not([lang="ja"]) body.page-concept-i .contact-copy h2 > span,
html:not([lang="ja"]) body.page-concept-i .service-card h3,
html:not([lang="ja"]) body.page-concept-i .flow-card h3 { text-wrap: balance; }
html[lang="ja"] body.page-concept-i .difference-copy h2 > span { word-break: keep-all; overflow-wrap: anywhere; }
html[lang] body.page-concept-i .difference .section-kicker span { font-size: clamp(0.875rem, 1.05vw, 0.95rem); }
html[lang] body.page-concept-i .difference-copy > p { font-size: 1.125rem; }
html[lang] body.page-concept-i .services .section-intro { font-size: 1.125rem; }
html[lang] body.page-concept-i .service-card > p { font-size: 1.0625rem; line-height: 1.9; }
html[lang] body.page-concept-i .case-card h3 { font-size: 1.125rem; }
html[lang="en"] body.page-concept-i .case-card h3 { font-size: 1.0625rem; }
html[lang] body.page-concept-i .case-card .case-detail { font-size: 0.875rem; }
html[lang] body.page-concept-i .flow-card h3 { font-size: 1.1875rem; }
html[lang="en"] body.page-concept-i .flow-card h3 { font-size: 1.125rem; }
html[lang] body.page-concept-i .flow-card p { font-size: 1.0625rem; line-height: 1.9; }
html[lang] body.page-concept-i .contact-copy > p { font-size: 1.125rem; }
html[lang] body.page-concept-i .contact-form label > span { font-size: 1rem; }
html[lang] body.page-concept-i .contact-form label b { font-size: 0.875rem; }
html[lang] body.page-concept-i .contact-form input,
html[lang] body.page-concept-i .contact-form textarea { font-size: 1.0625rem; }
@media (max-width: 700px) {
  html[lang] body.page-concept-i .language-switcher { font-size: 0.875rem; }
  html[lang] body.page-concept-i .language-switcher a { padding: 7px 10px; }
  html[lang] body.page-concept-i .hero-lead { font-size: 1rem; line-height: 1.9; }
  html[lang] body.page-concept-i .difference .section-kicker span { font-size: 0.875rem; }
  html[lang] body.page-concept-i .difference-copy > p,
  html[lang] body.page-concept-i .contact-copy > p { font-size: 1.0625rem; }
  html[lang] body.page-concept-i .services .section-intro,
  html[lang] body.page-concept-i .service-card > p,
  html[lang] body.page-concept-i .flow-card p { font-size: 1rem; }
  html[lang] body.page-concept-i .case-card h3 { font-size: 1.0625rem; }
  html[lang] body.page-concept-i .flow-card h3 { font-size: 1.125rem; }
}
@media (max-width: 360px) {
  html[lang] body.page-concept-i .language-switcher a { padding-inline: 8px; }
}
