/*
 * M CONSUL typography boundary
 * Loaded only by the M CONSUL document after its original stylesheets.
 * AI'm Create gallery typography is intentionally not shared here.
 */

.m-consult-site {
  font-family: "Noto Sans JP", "Yu Gothic", sans-serif;
  font-size: 16px;
  line-height: 1.8;
}

.m-consult-site main :is(p, li, dd, dt, h1, h2, h3, label) {
  line-break: strict;
  word-break: normal;
  word-break: auto-phrase;
  overflow-wrap: normal;
  text-wrap: pretty;
}

.m-consult-site .page-title h1,
.m-consult-site .stat strong {
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
}

.m-consult-site .hero-content {
  max-width: 680px;
}

.m-consult-site .hero h1 {
  max-width: 660px;
  font-family: Georgia, "Yu Mincho", serif;
  font-size: clamp(2.75rem, 4.45vw, 4.5rem);
  font-weight: 700;
  line-height: 1.16;
  letter-spacing: 0.02em;
  word-break: keep-all;
  overflow-wrap: normal;
}

.m-consult-site .hero-title-line {
  display: block;
  white-space: nowrap;
}

.m-consult-site .section-head .approach-title {
  display: flex;
  align-items: baseline;
  flex-wrap: wrap;
  font-family: "Yu Mincho", YuMincho, "Hiragino Mincho ProN", serif;
  font-size: clamp(2rem, 3vw, 2.8rem);
  font-weight: 700;
  line-height: 1.3;
  color: inherit;
}

.m-consult-site .approach-number {
  display: inline;
  font-family: inherit;
  font-size: 0.9em;
  font-weight: inherit;
  line-height: 1.444444;
  color: inherit;
}

.m-consult-site .service-card .card-body {
  padding: 28px;
}

.m-consult-site .service-card h3 {
  margin: 0.2rem 0 0.65rem;
  font-size: 1.2rem;
  line-height: 1.45;
}

.m-consult-site .service-card p {
  margin: 0;
  font-size: 1rem;
  line-height: 1.85;
}

@media (max-width: 820px) {
  .m-consult-site .hero h1 {
    font-size: clamp(2.65rem, 8.8vw, 4rem);
  }
}

@media (max-width: 480px) {
  .m-consult-site .hero h1 {
    font-size: clamp(2.1rem, 10vw, 2.45rem);
    line-height: 1.2;
  }

  .m-consult-site .hero-title-line {
    white-space: normal;
  }

  .m-consult-site .section-head .approach-title {
    font-size: 2rem;
  }

  .m-consult-site .service-card .card-body {
    padding: 22px;
  }
}
