.mj-cta {
  background-color: rgb(var(--color-background));
}

.mj-cta__stage {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.mj-cta__bg {
  position: absolute;
  inset: 0;
  z-index: -2;
  pointer-events: none;
}

.mj-cta__bg-image,
.mj-cta__bg img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.mj-cta__veil {
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  background: rgba(var(--color-background), calc(var(--mj-veil, 85) / 100));
}

.mj-cta__inner {
  position: relative;
  text-align: center;
  padding-block: 75px;
}

.mj-cta__eyebrow {
  color: rgb(var(--color-light-text));
}

.mj-cta__heading {
  font-size: clamp(24px, 2.8vw, 34px);
  line-height: 1.8;
  letter-spacing: 0.09em;
  margin-block-end: 16px;
  color: rgb(var(--color-text));
}

.mj-cta__body {
  max-width: 40em;
  margin-inline: auto;
}

.mj-cta__body > :last-child {
  margin-block-end: 0;
}

.mj-cta__body p {
  color: rgb(var(--color-light-text));
}

.mj-cta__actions {
  justify-content: center;
}

.mj-cta .mj-cta__btn {
  min-width: 230px;
  justify-content: center;
  gap: 18px;
}

.mj-cta .mj-cta__btn-outline {
  min-width: 230px;
  justify-content: center;
  gap: 18px;
}

.mj-cta__phone {
  margin-block-start: 22px;
  margin-block-end: 0;
}

.mj-cta__phone a {
  font-family: var(--mj-font-figure);
  font-size: 24px;
  color: rgb(var(--color-text));
  text-decoration: none;
}

.mj-cta__hours {
  display: block;
  margin-block-start: 6px;
  font-size: 13px;
  color: rgb(var(--color-light-text));
}

@media (max-width: 760px) {
  .mj-cta__inner { padding-block: 52px; }
  .mj-cta__heading { font-size: 24px; line-height: 1.85; }
}

/* 参照実装 .cta-band>.water-surface{opacity:.65} */
.mj-cta__water { z-index: -1; }
.mj-cta__water .mj-water-surface { opacity: 0.65; }

/* 設定欄で入れた改行をそのまま反映する */
.mj-cta__heading {
  white-space: pre-line;
}
