/* Hub-only typography: keep treatment detail pages and shared navigation unchanged. */
html[lang="ja"] body.support-hub .support-main :where(p, li, summary, h1, h2, h3) {
  word-break: normal;
  overflow-wrap: break-word;
  line-break: strict;
}

.support-hub .support-phrase { white-space: nowrap; }
.support-hub .support-notice > strong {
  line-height: 1.8;
  text-wrap: balance;
  margin-bottom: 12px;
}
.support-hub .support-notice p { text-wrap: pretty; }
.support-hub .support-faq summary { text-wrap: balance; }
.support-hub .support-contact__copy,
.support-hub .support-contact__notes {
  max-width: 640px;
  margin-inline: auto;
  text-align: left;
}
.support-hub .support-main .support-contact__notes .support-small {
  font-size: 1.4rem;
  line-height: 1.95;
  margin-bottom: 1.15em;
}
.support-hub .support-contact__notes { margin-bottom: 26px; }
.support-hub .support-contact__notes p:last-child { margin-bottom: 0; }

.support-hub .support-button { box-sizing: border-box; max-width: 100%; }
.support-hub .support-contact .support-button--line {
  display: inline-grid;
  grid-template-columns: 24px minmax(0, 1fr) 30px;
  align-items: center;
  gap: 14px;
  width: min(320px, 100%);
  min-height: 62px;
  padding: 13px 20px;
  border: 1px solid #9bb5c0;
  border-radius: 999px;
  background: #fff;
  color: #315b73;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: .05em;
  box-shadow: 0 3px 12px #315b7307;
  text-decoration: none;
  transition: background-color .2s, border-color .2s;
}
.support-hub .support-contact .support-button--line:hover { background: #f7fbfc; border-color: #527b90; color: #315b73; }
.support-hub .support-button--line:focus-visible { outline: 2px solid #315b73; outline-offset: 4px; }
.support-hub .support-button__icon { width: 24px; height: 24px; fill: none; stroke: currentColor; stroke-width: 1.6; stroke-linecap: round; stroke-linejoin: round; }
.support-hub .support-button__arrow { display: inline-flex; align-items: center; justify-content: center; width: 30px; height: 30px; border: 1px solid #d9e5e9; border-radius: 50%; font-size: 1.6rem; }
.support-hub .support-contact .support-actions { align-items: center; margin-bottom: 12px; }
.support-hub .support-main .support-contact__optional { margin: 0 auto 32px; max-width: 500px; font-size: 1.3rem; line-height: 1.9; color: #596e76; text-align: center; }
.support-hub .support-button .support-button__label {
  min-width: 0;
  white-space: normal;
  text-wrap: balance;
}
.support-hub .support-text-link { max-width: 100%; gap: 12px; }
.support-hub .support-text-link > span[aria-hidden] { flex-shrink: 0; }
.support-hub .support-quick-links a { gap: 12px; }
.support-hub .support-quick-links a > div { min-width: 0; }
.support-hub .support-quick-links a > span { flex-shrink: 0; }

@media (max-width: 768px) {
  .support-hub .support-hero__message { font-size: clamp(2rem, 6vw, 2.35rem); }
  .support-hub .support-contact__copy { font-size: 1.5rem; }
  .support-hub .support-contact .support-button--line { gap: 10px; padding-inline: 17px; }
}
@media (max-width: 360px) {
  .support-hub .support-main .support-contact h2 { font-size: 2rem; }
}
