/* GBS-medical_Layout_Typography.md adapted to the existing Jupiter homepage.
   1440px / 390px reference sizes; a minimum scale keeps tablet copy readable.
   Artwork, wording, shared components and the C menu proposal are preserved. */
body.home-page.motion-rich:not(.about-page) {
  --gbs-unit: clamp(.875px, .0694444444vw, 1.3333333333px);
  --gbs-x: calc(80 * var(--gbs-unit));
  --gbs-section: calc(200 * var(--gbs-unit));
  --gbs-section-small: calc(var(--gbs-section) / 1.6);
  --gbs-heading-gap: calc(80 * var(--gbs-unit));
  --gbs-mincho: "Hiragino Mincho ProN", "Yu Mincho", YuMincho, "Times New Roman", serif;
  --pad: var(--gbs-x);
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: calc(16 * var(--gbs-unit));
  line-height: 1.5;
}

body.home-page.motion-rich:not(.about-page) .container {
  width: calc(100% - var(--gbs-x) * 2);
  max-width: none;
}

body.home-page.motion-rich:not(.about-page) :is(p, li, dl, address) {
  line-height: 1.8;
  letter-spacing: .04em;
}

body.home-page.motion-rich:not(.about-page) [id] { scroll-margin-top: var(--gbs-section-small); }

body.home-page.motion-rich:not(.about-page) .section-block { padding-block: var(--gbs-section); }
body.home-page.motion-rich:not(.about-page) .site-header__inner { min-height: calc(80 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .site-header__cta { font-size: 12px; }

body.home-page.motion-rich:not(.about-page) .hero__copy {
  width: calc(100% - var(--gbs-x) * 2);
  max-width: none;
}
body.home-page.motion-rich:not(.about-page) .hero h1 {
  font-family: var(--gbs-sans);
  font-size: calc(60 * var(--gbs-unit));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.025em;
}
body.home-page.motion-rich:not(.about-page) .hero__subcopy {
  width: min(42em, 100%);
  font-size: calc(16 * var(--gbs-unit));
  line-height: 1.8;
}
body.home-page.motion-rich:not(.about-page) .hero__eyebrow { font-size: max(12px, calc(12 * var(--gbs-unit))); }

/* The existing message is an independent section: no hero-overlap margins. */
body.home-page.motion-rich:not(.about-page) .service-intro,
body.home-page.motion-rich:not(.about-page) .service-intro__inner { min-height: 0; }
body.home-page.motion-rich:not(.about-page) .service-intro__inner {
  padding-block: calc(200 * var(--gbs-unit)) calc(320 * var(--gbs-unit));
}
body.home-page.motion-rich:not(.about-page) .service-intro__label {
  margin: 0 0 calc(20 * var(--gbs-unit));
  font-size: calc(14 * var(--gbs-unit));
}
body.home-page.motion-rich:not(.about-page) .service-intro__inner h2 {
  margin: 0 0 calc(40 * var(--gbs-unit));
  font-family: var(--gbs-sans);
  font-size: calc(36 * var(--gbs-unit));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.025em;
}
body.home-page.motion-rich:not(.about-page) .service-intro__body {
  margin-top: 0 !important;
  font-size: calc(16 * var(--gbs-unit)) !important;
  line-height: 1.8;
  letter-spacing: .04em !important;
}
body.home-page.motion-rich:not(.about-page) .service-intro .text-link {
  margin-top: calc(20 * var(--gbs-unit));
  font-size: calc(14 * var(--gbs-unit));
}

body.home-page.motion-rich:not(.about-page) .section-heading {
  gap: calc(4 * var(--gbs-unit));
  margin-bottom: var(--gbs-heading-gap);
}
body.home-page.motion-rich:not(.about-page) .section-heading img {
  width: auto;
  height: calc(84 * var(--gbs-unit));
  max-width: 100%;
  max-height: none;
  object-fit: contain;
  object-position: left center;
}
body.home-page.motion-rich:not(.about-page) .section-heading p {
  margin: 0;
  font-family: var(--gbs-sans);
  font-size: calc(24 * var(--gbs-unit));
  font-weight: 500;
  line-height: 1.5;
  color: var(--ink);
}
body.home-page.motion-rich:not(.about-page) .office { padding-bottom: 0; }
body.home-page.motion-rich:not(.about-page) .office__layout { gap: calc(80 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .office-card {
  padding-bottom: calc(40 * var(--gbs-unit));
  margin-bottom: calc(40 * var(--gbs-unit));
}
body.home-page.motion-rich:not(.about-page) .office-card:last-child { padding-bottom: 0; margin-bottom: 0; border-bottom: 0; }
body.home-page.motion-rich:not(.about-page) .office-card__copy h2 {
  margin: 0 0 calc(32 * var(--gbs-unit));
  font-family: var(--gbs-sans);
  font-size: calc(36 * var(--gbs-unit));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.025em;
}
body.home-page.motion-rich:not(.about-page) .office-card__copy p,
body.home-page.motion-rich:not(.about-page) .job-row__copy > p:last-child {
  font-size: calc(16 * var(--gbs-unit));
  line-height: 1.8;
  letter-spacing: .04em;
  overflow-wrap: anywhere;
}
body.home-page.motion-rich:not(.about-page) .office-card img { margin-top: calc(32 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .job-list { gap: calc(40 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .job-row {
  grid-template-columns: calc(80 * var(--gbs-unit)) minmax(0, 1fr) minmax(0, 36%);
  gap: calc(32 * var(--gbs-unit));
  min-height: calc(240 * var(--gbs-unit));
  padding: calc(24 * var(--gbs-unit));
}
body.home-page.motion-rich:not(.about-page) .job-row__number {
  font-family: var(--gbs-mincho);
  font-variant-numeric: lining-nums tabular-nums;
  font-feature-settings: "lnum" 1, "tnum" 1;
  font-size: calc(44 * var(--gbs-unit));
  font-weight: 500;
}
body.home-page.motion-rich:not(.about-page) .job-row__label {
  margin-bottom: calc(8 * var(--gbs-unit));
  font-size: calc(16 * var(--gbs-unit));
  font-weight: 500;
  line-height: 1.5;
}
body.home-page.motion-rich:not(.about-page) .job-row__copy h2 {
  margin-bottom: calc(32 * var(--gbs-unit));
  font-size: calc(36 * var(--gbs-unit));
  font-weight: 500;
  line-height: 1.3;
  letter-spacing: -.025em;
  overflow-wrap: anywhere;
}
body.home-page.motion-rich:not(.about-page) .job-row > img { height: calc(210 * var(--gbs-unit)); }

body.home-page.motion-rich:not(.about-page) .voice { padding-block: calc(240 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .voice__panel { width: calc(100% - var(--gbs-x) * 2); }
body.home-page.motion-rich:not(.about-page) .sns { padding-block: var(--gbs-section) var(--gbs-section-small); }
body.home-page.motion-rich:not(.about-page) .sns__streams { gap: 0; }
body.home-page.motion-rich:not(.about-page) .sns-stream { gap: calc(12 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .sns-stream__button { margin-top: calc(20 * var(--gbs-unit)); font-size: 14px; }
body.home-page.motion-rich:not(.about-page) .yt-sec { margin-top: var(--gbs-section-small); }
body.home-page.motion-rich:not(.about-page) .yt-sec > h2 {
  font-family: var(--gbs-sans);
  font-size: calc(24 * var(--gbs-unit));
  font-weight: 500;
  line-height: 1.5;
}
body.home-page.motion-rich:not(.about-page) .yt-sec > .yt-lead {
  margin-top: calc(8 * var(--gbs-unit));
  margin-bottom: var(--gbs-heading-gap);
  font-size: calc(16 * var(--gbs-unit));
}
body.home-page.motion-rich:not(.about-page) .yt-ch p { font-size: calc(14 * var(--gbs-unit)); line-height: 1.8; }
body.home-page.motion-rich:not(.about-page) .yt-card__title {
  margin-top: calc(12 * var(--gbs-unit));
  font-size: calc(16 * var(--gbs-unit));
  font-weight: 600;
  line-height: 1.7;
}

body.home-page.motion-rich:not(.about-page) .guide { margin-top: var(--gbs-section-small); }
body.home-page.motion-rich:not(.about-page) .guide__header { padding-block: var(--gbs-section-small) var(--gbs-heading-gap); }
body.home-page.motion-rich:not(.about-page) .guide__header > img { width: auto; height: calc(84 * var(--gbs-unit)); max-width: 100%; object-fit: contain; }
body.home-page.motion-rich:not(.about-page) .guide__header p { font-family: var(--gbs-sans); font-size: calc(24 * var(--gbs-unit)); font-weight: 500; line-height: 1.5; }
body.home-page.motion-rich:not(.about-page) .guide__header span { font-size: calc(16 * var(--gbs-unit)); line-height: 1.8; }
body.home-page.motion-rich:not(.about-page) .guide-card span { font-size: calc(24 * var(--gbs-unit)); line-height: 1.5; }
body.home-page.motion-rich:not(.about-page) .inquiry { padding-block: var(--gbs-section-small); }
body.home-page.motion-rich:not(.about-page) .contact-options { gap: calc(24 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .contact-option p { font-size: calc(14 * var(--gbs-unit)); line-height: 1.8; }
body.home-page.motion-rich:not(.about-page) .site-footer { padding-block: calc(160 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .site-footer__inner { gap: calc(80 * var(--gbs-unit)); }
body.home-page.motion-rich:not(.about-page) .site-footer p,
body.home-page.motion-rich:not(.about-page) .site-footer address { font-size: calc(14 * var(--gbs-unit)); line-height: 1.8; }
body.home-page.motion-rich:not(.about-page) .site-footer__nav a { font-size: max(12px, calc(14 * var(--gbs-unit))); line-height: 1.8; }

@media (max-width: 1100px) and (min-width: 768px) {
  body.home-page.motion-rich:not(.about-page) .office__layout { grid-template-columns: minmax(0, 1fr); }
  body.home-page.motion-rich:not(.about-page) .office-wheel { position: relative; top: auto; width: min(520px, 100%); margin-inline: auto; }
  body.home-page.motion-rich:not(.about-page) .office-wheel .office-wheel__circle {
    width: 180px;
    padding: 16px;
    font-size: 11px;
  }
  body.home-page.motion-rich:not(.about-page) .office-wheel .office-wheel__circle strong { font-size: 20px; line-height: 1.3; }
  body.home-page.motion-rich:not(.about-page) .office-wheel .office-wheel__circle span:first-child { font-size: 9px; line-height: 1.3; }
  body.home-page.motion-rich:not(.about-page) .office-wheel .office-wheel__circle span:last-child { font-size: 10px; line-height: 1.3; }
  body.home-page.motion-rich:not(.about-page) .job-row { grid-template-columns: calc(64 * var(--gbs-unit)) minmax(0, 1fr) minmax(0, 30%); gap: 20px; }
  body.home-page.motion-rich:not(.about-page) .job-row__copy h2 { font-size: 28px; }
  body.home-page.motion-rich:not(.about-page) .contact-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 767px) {
  body.home-page.motion-rich:not(.about-page) {
    --gbs-unit: clamp(.875px, .2564102564vw, 1.25px);
    --gbs-x: calc(20 * var(--gbs-unit));
    --gbs-section: calc(96 * var(--gbs-unit));
    --gbs-heading-gap: calc(56 * var(--gbs-unit));
  }
  body.home-page.motion-rich:not(.about-page) [id] { scroll-margin-top: var(--gbs-section); }
  body.home-page.motion-rich:not(.about-page) .site-header__inner { min-height: 64px; }
  body.home-page.motion-rich:not(.about-page) .hero h1 { font-size: calc(28 * var(--gbs-unit)); line-height: 1.5; }
  body.home-page.motion-rich:not(.about-page) .hero__subcopy { width: 100%; font-size: calc(16 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .service-intro__inner { padding-block: calc(330 * var(--gbs-unit)) calc(144 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .service-intro__inner h2 { font-size: calc(28 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .service-intro__label { font-size: calc(12 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .section-heading { gap: calc(8 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .section-heading img { height: calc(50.4 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .section-heading p,
  body.home-page.motion-rich:not(.about-page) .guide__header p,
  body.home-page.motion-rich:not(.about-page) .yt-sec > h2 { font-size: calc(16 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .office__layout { grid-template-columns: minmax(0, 1fr); gap: var(--gbs-heading-gap); }
  body.home-page.motion-rich:not(.about-page) .office-card__copy h2 { font-size: calc(28 * var(--gbs-unit)); margin-bottom: calc(16 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .office-card__copy p,
  body.home-page.motion-rich:not(.about-page) .job-row__copy > p:last-child { font-size: calc(14 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .office-card img { margin-top: calc(16 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .job-row {
    grid-template-columns: calc(40 * var(--gbs-unit)) minmax(0, 1fr);
    gap: calc(16 * var(--gbs-unit));
    min-height: 0;
    padding: calc(16 * var(--gbs-unit));
  }
  body.home-page.motion-rich:not(.about-page) .job-row__number { font-size: calc(32 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .job-row__label { font-size: calc(14 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .job-row__copy h2 { font-size: calc(28 * var(--gbs-unit)); margin-bottom: calc(16 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .job-row > img { grid-column: 1 / -1; height: auto; aspect-ratio: 4 / 3; }
  body.home-page.motion-rich:not(.about-page) .voice { padding-block: calc(336 * var(--gbs-unit)) calc(320 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .sns { padding-block: calc(160 * var(--gbs-unit)) var(--gbs-section); }
  body.home-page.motion-rich:not(.about-page) .yt-sec { margin-top: var(--gbs-section); }
  body.home-page.motion-rich:not(.about-page) .yt-channels { grid-template-columns: minmax(0, 1fr); }
  body.home-page.motion-rich:not(.about-page) .guide { margin-top: var(--gbs-section); }
  body.home-page.motion-rich:not(.about-page) .guide__header { padding-top: var(--gbs-section); }
  body.home-page.motion-rich:not(.about-page) .guide__header > img { height: calc(50.4 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .guide__header span { margin-top: calc(16 * var(--gbs-unit)); font-size: calc(14 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .guide-card span { font-size: calc(16 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .inquiry { padding-block: var(--gbs-section); }
  body.home-page.motion-rich:not(.about-page) .contact-options { gap: 12px; }
  body.home-page.motion-rich:not(.about-page) .contact-option p { font-size: 12px; }
  body.home-page.motion-rich:not(.about-page) .site-footer { padding-block: calc(96 * var(--gbs-unit)) calc(400 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .site-footer__inner { gap: calc(40 * var(--gbs-unit)); }
  body.home-page.motion-rich:not(.about-page) .site-footer p,
  body.home-page.motion-rich:not(.about-page) .site-footer address { font-size: calc(14 * var(--gbs-unit)); }
}
