/* Typography for six page-specific main sections. Shared components are excluded. */

/* About Jupiter */
.about-page:not(.motion-rich) .about-section__eyebrow {
  font-size: 13px;
  line-height: 1.6;
}

.about-page:not(.motion-rich) .about-copy,
.about-page:not(.motion-rich) .policy-item p,
.about-page:not(.motion-rich) .about-philosophy__copy,
.about-page:not(.motion-rich) .about-origin p {
  font-size: 15px;
  line-height: 1.9;
  overflow-wrap: anywhere;
}

.about-page:not(.motion-rich) .policy-item h3 {
  font-size: 18px;
  line-height: 1.5;
}

.about-page:not(.motion-rich) .policy-circle span {
  font-size: 12px;
  line-height: 1.55;
}

.about-page:not(.motion-rich) .about-message > *,
.about-page:not(.motion-rich) .about-policy__inner > *,
.about-page:not(.motion-rich) .about-origin__grid > * {
  min-width: 0;
}

/* Wages */
.wages-page .wages-hero__copy h1 {
  font-size: 16px;
  line-height: 1.5;
}

.wages-page .wages-benefit-card h3,
.wages-page .wages-salary-card h4,
.wages-page .wages-support-card h4 {
  overflow-wrap: anywhere;
}

.wages-page .wages-benefit-card p,
.wages-page .wages-step-card p,
.wages-page .wages-info-card dd,
.wages-page .wages-salary-card p,
.wages-page .wages-salary-explanation p,
.wages-page .wages-target-card p,
.wages-page .wages-support-card p {
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

/* Living and meals */
.about-page.motion-rich .quote-card__body,
.about-page.motion-rich .intro__copy p,
.about-page.motion-rich .story-row__copy p,
.about-page.motion-rich .living-feature__copy > p,
.about-page.motion-rich .program p {
  font-size: 15px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}

.about-page.motion-rich .story-row__copy h2,
.about-page.motion-rich .living-feature__copy h2 {
  font-size: 21px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.about-page.motion-rich .program h3 {
  font-size: 16px;
  line-height: 1.6;
  overflow-wrap: anywhere;
}

.about-page.motion-rich .story-list {
  overflow-x: clip;
}

.about-page.motion-rich .story-row,
.about-page.motion-rich .story-row__copy,
.about-page.motion-rich .living-feature__copy,
.about-page.motion-rich .program {
  min-width: 0;
}

/* Voice */
.voice-page {
  color: #666;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
}

.voice-page .brand-hero--voice .brand-hero__copy h1 {
  font-size: clamp(25px, 5vw, 52px);
  line-height: 1.6;
}

.voice-page .voice-intro p {
  color: #666;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.9;
}

.voice-page .voice-office-heading {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 20px;
  line-height: 1.5;
}

.voice-page .voice-card h4 {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 15px;
  line-height: 1.55;
  overflow-wrap: anywhere;
}

.voice-page .voice-card p {
  color: #666;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 15px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}

.voice-page .voice-card,
.voice-page .voice-card header {
  min-width: 0;
}

.voice-page .voice-benefits__inner h2 {
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 22px;
  line-height: 1.55;
}

.voice-page .voice-benefit {
  color: #555;
  font-family: "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.7;
}

/* Company profile */
.company-profile-page .company-intro p {
  font-size: 16px;
  line-height: 2;
}

.company-profile-page .company-facts dt,
.company-profile-page .company-facts dd,
.company-profile-page .our-place-card p,
.company-profile-page .office-card p,
.company-profile-page .office-card address,
.company-profile-page .company-founded p {
  font-size: 15px;
  line-height: 1.8;
  overflow-wrap: anywhere;
}

.company-profile-page .company-founded p {
  font-size: 12px;
  line-height: 1.55;
}

.company-profile-page .company-facts dd,
.company-profile-page .company-overview__aside,
.company-profile-page .office-card {
  min-width: 0;
}

/* Inquiry page form and consultation, not the shared inquiry component. */
.inquiry-page .inquiry-intro p {
  font-size: 15px;
  line-height: 1.8;
}

.inquiry-page .inquiry-form label,
.inquiry-page .inquiry-form__note {
  font-size: 15px;
  line-height: 1.6;
}

.inquiry-page .inquiry-form input:not([type="checkbox"]),
.inquiry-page .inquiry-form select,
.inquiry-page .inquiry-form textarea {
  min-width: 0;
  font-size: 16px;
  line-height: 1.5;
}

.inquiry-page .consultation-card p,
.inquiry-page .consultation-section__message {
  font-size: 15px;
  line-height: 1.7;
  overflow-wrap: anywhere;
}

@media (max-width: 1100px) {
  .voice-page .voice-card-grid--four {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 900px) {
  .about-page:not(.motion-rich) .about-message,
  .about-page:not(.motion-rich) .about-origin__grid {
    grid-template-columns: minmax(0, 1fr);
  }
}

@media (max-width: 767px) {
  .about-page:not(.motion-rich) .about-copy,
  .about-page:not(.motion-rich) .policy-item p,
  .about-page:not(.motion-rich) .about-philosophy__copy,
  .about-page:not(.motion-rich) .about-origin p {
    font-size: 14px;
    line-height: 1.85;
  }

  .about-page:not(.motion-rich) .policy-item h3 {
    font-size: 17px;
  }

  .about-page:not(.motion-rich) .policy-circle span {
    font-size: 11px;
  }

  .about-page:not(.motion-rich) .about-philosophy__copy {
    width: calc(100% - 36px);
  }

  .wages-page .wages-hero__copy h1 {
    font-size: 14px;
  }

  .wages-page .wages-benefit-card p,
  .wages-page .wages-step-card p,
  .wages-page .wages-info-card dd,
  .wages-page .wages-salary-card p,
  .wages-page .wages-salary-explanation p,
  .wages-page .wages-target-card p,
  .wages-page .wages-support-card p {
    font-size: 14px;
    line-height: 1.75;
  }

  .about-page.motion-rich .quote-card__body,
  .about-page.motion-rich .intro__copy p,
  .about-page.motion-rich .story-row__copy p,
  .about-page.motion-rich .living-feature__copy > p,
  .about-page.motion-rich .program p {
    font-size: 14px;
    line-height: 1.8;
  }

  .about-page.motion-rich .story-row__copy h2,
  .about-page.motion-rich .living-feature__copy h2 {
    font-size: 20px;
  }

  .about-page.motion-rich .program h3 {
    font-size: 17px;
  }

  .voice-page .voice-intro p,
  .company-profile-page .company-intro p {
    font-size: 14px;
    line-height: 1.9;
  }

  .voice-page .brand-hero--voice .brand-hero__copy h1 {
    font-size: clamp(27px, 7.2vw, 34px);
    line-height: 1.45;
  }

  .voice-page .voice-office-heading {
    font-size: 17px;
  }

  .voice-page .voice-card-grid--four,
  .voice-page .voice-card-grid--two {
    grid-template-columns: minmax(0, 1fr);
  }

  .voice-page .voice-card h4 {
    font-size: 14px;
  }

  .voice-page .voice-card p {
    font-size: 14px;
    line-height: 1.8;
  }

  .voice-page .voice-benefits__inner h2 {
    font-size: clamp(20px, 5.4vw, 25px);
    line-height: 1.5;
  }

  .voice-page .voice-benefit {
    font-size: 14px;
    line-height: 1.7;
  }

  .company-profile-page .company-facts dt,
  .company-profile-page .company-facts dd,
  .company-profile-page .our-place-card p,
  .company-profile-page .office-card p,
  .company-profile-page .office-card address,
  .company-profile-page .company-founded p {
    font-size: 14px;
    line-height: 1.75;
  }

  .inquiry-page .inquiry-intro p,
  .inquiry-page .inquiry-form label,
  .inquiry-page .inquiry-form__note,
  .inquiry-page .consultation-card p,
  .inquiry-page .consultation-section__message {
    font-size: 14px;
    line-height: 1.75;
  }
}

@media (max-width: 480px) {
  .about-page:not(.motion-rich) .policy-item {
    grid-template-columns: 88px minmax(0, 1fr);
    gap: 12px;
  }

  .about-page:not(.motion-rich) .about-origin__heading {
    font-size: 22px;
    line-height: 1.4;
    overflow-wrap: anywhere;
  }

  .company-profile-page .company-facts > div {
    grid-template-columns: minmax(0, 1fr);
    min-height: 0;
  }

  .company-profile-page .company-facts dt,
  .company-profile-page .company-facts dd {
    padding: 10px 14px;
  }

  .company-profile-page .office-card p,
  .company-profile-page .office-card address {
    margin-inline: 17px;
  }

  .inquiry-page .inquiry-form__topics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .inquiry-page .consultation-cards {
    grid-template-columns: minmax(0, 1fr);
  }

  .inquiry-page .consultation-card {
    min-height: 0;
  }
}
