/* Japanese product/info page refinement v469.
   Intentionally scoped to <main> so header/menu/footer remain untouched. */

/* Refined Japanese display face for page titles only. Body copy stays Noto Sans JP for readability. */
body.lang-ja main :where(.updates-hero h1,.system-check-hero h1,.doctor-page-title,
                         .update-note-header h2,.sc-step h2,.sc-gpu-entry h2,
                         .doctor-section-head h2,.clinic-title-group h3) {
  font-family:"Zen Kaku Gothic New","Noto Sans JP","Yu Gothic",Meiryo,sans-serif !important;
}

/* One visual language for Updates / System Check / OBS Doctor. */
body.lang-ja main :where(.updates-hero,.system-check-hero) {
  background:#fff !important;
  border-bottom:1px solid #e8edf3 !important;
  padding:86px 0 52px !important;
  text-align:center !important;
}
body.lang-ja main .updates-hero .wrap,
body.lang-ja main .system-check-hero .system-check-wrap {
  width:min(calc(100% - 40px),1040px) !important;
  max-width:1040px !important;
  margin:0 auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}
body.lang-ja main .updates-hero h1,
body.lang-ja main .system-check-hero h1,
body.lang-ja main .doctor-page-title {
  margin:0 auto !important;
  color:#111827 !important;
  font-size:clamp(38px,4.7vw,54px) !important;
  font-weight:700 !important;
  line-height:1.18 !important;
  letter-spacing:-.048em !important;
  text-align:center !important;
  text-wrap:balance !important;
}

/* Blue is reserved for actions/states, not tiny typographic labels. */
body.lang-ja main :where(.updates-eyebrow,.system-check-eyebrow) {display:none !important;}
body.lang-ja main :where(.update-published span,.sc-step-no,.sc-top-tip-label,
                         .doctor-unified-label,.doctor-section-kicker) {
  color:#64748b !important;
  font-weight:600 !important;
  letter-spacing:.045em !important;
  text-transform:none !important;
}

/* Updates: quieter editorial card treatment. */
body.lang-ja main .updates-content {
  background:#f7f8fa !important;
  padding:54px 0 96px !important;
}
body.lang-ja main .updates-content .wrap {
  max-width:920px !important;
}
body.lang-ja main .update-note {
  border:1px solid #e5e9ef !important;
  border-radius:20px !important;
  box-shadow:0 12px 34px rgba(15,23,42,.045) !important;
}
body.lang-ja main .update-note-header {
  padding:38px 42px 30px !important;
}
body.lang-ja main .update-published {
  margin-bottom:12px !important;
  color:#7c8798 !important;
  font-size:12.5px !important;
  font-weight:500 !important;
  letter-spacing:.01em !important;
}
body.lang-ja main .update-note-header h2 {
  color:#172033 !important;
  font-size:clamp(25px,3.3vw,32px) !important;
  font-weight:700 !important;
  line-height:1.34 !important;
  letter-spacing:-.035em !important;
}
body.lang-ja main .update-note-body {padding:8px 42px 40px !important;}
body.lang-ja main .update-product h3 {
  font-size:19px !important;
  font-weight:600 !important;
  letter-spacing:-.02em !important;
}
body.lang-ja main .update-product :where(p,li) {color:#4b5563 !important;}

/* System Check: same title rhythm and calmer utility typography. */
body.lang-ja main .system-check-picker {padding-top:54px !important;}
body.lang-ja main .system-check-wrap {width:min(calc(100% - 40px),1080px) !important;}
body.lang-ja main .sc-top-tip {
  border:1px solid #e5e9ef !important;
  background:#fafbfc !important;
  border-radius:16px !important;
  box-shadow:none !important;
}
body.lang-ja main .sc-top-tip-label {
  background:transparent !important;
  border:0 !important;
  padding:0 !important;
}
body.lang-ja main .sc-step-no {font-family:Inter,"Noto Sans JP",sans-serif !important;}
body.lang-ja main :where(.sc-step h2,.sc-gpu-entry h2) {
  color:#172033 !important;
  font-weight:600 !important;
  letter-spacing:-.025em !important;
}
body.lang-ja main .sc-option,
body.lang-ja main .sc-gpu-option {
  border-color:#e2e7ed !important;
  border-radius:14px !important;
  box-shadow:none !important;
}

/* OBS Doctor: turn the old multi-line eyebrow into a real page title hierarchy. */
body.lang-ja.obs-doctor-systemcheck main .doctor-service-unified-v266 {
  padding:86px 0 58px !important;
  background:#fff !important;
  border-bottom:1px solid #e8edf3 !important;
}
body.lang-ja.obs-doctor-systemcheck main .doctor-service-unified-v266 .doctor-unified-card {
  max-width:1080px !important;
  row-gap:22px !important;
}
body.lang-ja.obs-doctor-systemcheck main .doctor-service-unified-v266 .doctor-unified-copy {
  max-width:900px !important;
  margin:0 auto 18px !important;
}
body.lang-ja.obs-doctor-systemcheck main .doctor-page-subtitle {
  margin:16px auto 0 !important;
  color:#4b5563 !important;
  font-size:17px !important;
  font-weight:400 !important;
  line-height:1.75 !important;
  letter-spacing:0 !important;
  text-align:center !important;
}
body.lang-ja.obs-doctor-systemcheck main .doctor-page-access {
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  margin:14px auto 0 !important;
  padding:7px 11px !important;
  border:1px solid #e1e5ea !important;
  border-radius:999px !important;
  background:#f7f8fa !important;
  color:#596273 !important;
  font-size:12px !important;
  font-weight:600 !important;
  line-height:1.3 !important;
  letter-spacing:.015em !important;
}
body.lang-ja.obs-doctor-systemcheck main .doctor-unified-copy {text-align:center !important;}
body.lang-ja.obs-doctor-systemcheck main .doctor-unified-symptoms,
body.lang-ja.obs-doctor-systemcheck main .doctor-unified-action {
  border-color:#e5e9ef !important;
  border-radius:16px !important;
  background:#fff !important;
  box-shadow:none !important;
}
body.lang-ja.obs-doctor-systemcheck main .doctor-symptom {
  border-color:#e7ebf0 !important;
  background:#f8f9fb !important;
  color:#3f4857 !important;
  font-weight:500 !important;
}
body.lang-ja.obs-doctor-systemcheck main .doctor-info-section.alt {background:#f7f8fa !important;}
body.lang-ja.obs-doctor-systemcheck main .doctor-section-head h2 {
  font-weight:700 !important;
  letter-spacing:-.035em !important;
}
body.lang-ja.obs-doctor-systemcheck main .clinic-category {
  border-color:#e5e9ef !important;
  box-shadow:none !important;
}
body.lang-ja.obs-doctor-systemcheck main .clinic-category-count {
  color:#677284 !important;
  background:#f3f5f7 !important;
  border-color:#e5e9ef !important;
}

@media (max-width:720px) {
  body.lang-ja main :where(.updates-hero,.system-check-hero) {
    padding:62px 0 38px !important;
  }
  body.lang-ja.obs-doctor-systemcheck main .doctor-service-unified-v266 {
    padding:62px 0 42px !important;
  }
  body.lang-ja main .updates-hero h1,
  body.lang-ja main .system-check-hero h1,
  body.lang-ja main .doctor-page-title {
    font-size:34px !important;
    line-height:1.24 !important;
    letter-spacing:-.04em !important;
  }
  body.lang-ja main .update-note-header,
  body.lang-ja main .update-note-body {
    padding-left:22px !important;
    padding-right:22px !important;
  }
  body.lang-ja main .updates-content {padding-top:36px !important;}
}
