@charset "utf-8";
/* ========== 中間CTA（パターンA・B共通） ========== */
.area-lp .area-cta {
  --cta-blue: #0e5a88;
  padding: calc(48 * var(--u)) calc(16 * var(--u));
  background: #d6e5f0;
  color: #333;
  line-height: 1.5;
}
.area-lp .area-cta__card {
  display: flex;
  flex-direction: column;
  max-width: calc(1024 * var(--u));
  margin: 0 auto;
  border-radius: calc(12 * var(--u));
  background: rgba(255, 255, 255, 0.85);
  overflow: hidden;
}
.area-lp .area-cta__body {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: calc(18 * var(--u));
  padding: calc(32 * var(--u)) calc(16 * var(--u));
  text-align: center;
}

/* 見出し */
.area-lp .area-cta__title {
  color: var(--cta-blue);
  font-family: "Zen Old Mincho", serif;
  font-size: calc(19 * var(--u));
  font-weight: 400;
  letter-spacing: 0.02em;
  line-height: 1.6;
}
.area-lp .area-cta__text {
  font-size: calc(14 * var(--u));
  font-weight: 700;
  letter-spacing: 0.06em;
  line-height: 1.85;
}

/* マーカー */
.area-lp .area-cta__check span {
  padding: 0 calc(4 * var(--u));
  background: linear-gradient(transparent 55%, #ffe299 55%);
  font-size: calc(14 * var(--u));
  font-weight: 700;
  letter-spacing: 0;
  line-height: 1.6;
}

/* ボタン */
.area-lp .area-cta__btns {
  display: flex;
  flex-direction: column;
  gap: calc(32 * var(--u));
  width: 100%;
  max-width: calc(340 * var(--u));
  padding-top: calc(20 * var(--u));
}
.area-lp .area-cta__btn {
  position: relative;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: calc(2 * var(--u));
  min-height: calc(95 * var(--u));
  padding: calc(16 * var(--u)) calc(12 * var(--u)) calc(12 * var(--u));
  border: calc(1.5 * var(--u)) solid var(--cta-blue);
  border-radius: calc(6 * var(--u));
  letter-spacing: 0.06em;
  text-align: center;
  text-decoration: none;
  transition: opacity .3s;
}
.area-lp .area-cta__btn:hover { opacity: .8; }
.area-lp .area-cta__btn--tel {
  background: #fff;
  color: var(--cta-blue);
}
.area-lp .area-cta__btn--mail {
  background: var(--cta-blue);
  color: #fff;
}
.area-lp .area-cta__btn-main {
  font-size: calc(22 * var(--u));
  font-weight: 700;
  line-height: calc(30 * var(--u));
  white-space: nowrap;
}
.area-lp .area-cta__btn-sub {
  font-size: calc(12 * var(--u));
  line-height: calc(18 * var(--u));
}

/* 吹き出し（マイクロコピー） */
.area-lp .area-cta__balloon {
  position: absolute;
  top: calc(-30 * var(--u));
  left: 50%;
  transform: translateX(-50%);
  padding: calc(5 * var(--u)) calc(16 * var(--u));
  border: calc(2 * var(--u)) solid #fff;
  border-radius: calc(20 * var(--u));
  background: var(--cta-blue);
  color: #fff;
  font-size: calc(13 * var(--u));
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: calc(20 * var(--u));
  white-space: nowrap;
}
/* 三角の白ふち（青い三角より一回り大きい白い三角を下に敷く）
   上端は本体の白線と同じ高さから始め、青い三角で本体の白線を覆うので繋ぎ目に白線は出ない */
.area-lp .area-cta__balloon::before {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: calc(10 * var(--u)) solid transparent;
  border-top: calc(11 * var(--u)) solid #fff;
  border-bottom: 0;
}
.area-lp .area-cta__balloon::after {
  content: "";
  position: absolute;
  top: 100%;
  left: 50%;
  transform: translateX(-50%);
  border: calc(7 * var(--u)) solid transparent;
  border-top: calc(8 * var(--u)) solid var(--cta-blue);
  border-bottom: 0;
}

.area-lp .area-cta__note {
  color: var(--cta-blue);
  font-size: calc(13 * var(--u));
  font-weight: 700;
  line-height: calc(22 * var(--u));
}

/* 代表写真 */
.area-lp .area-cta__staff {
  display: flex;
  flex-direction: column;
}
/* 画面幅が変わっても写真の縦横比は固定（PCデザインの比率） */
.area-lp .area-cta__staff img {
  width: 100%;
  max-width: calc(260 * var(--u));
  height: auto;
  margin: 0 auto;
  aspect-ratio: 16 / 25;
  object-fit: cover;
  object-position: center top;
}
.area-lp .area-cta__name {
  padding: calc(8 * var(--u)) calc(16 * var(--u));
  background: var(--cta-blue);
  color: #fff;
  font-size: calc(14 * var(--u));
  font-weight: 700;
  letter-spacing: 0.07em;
  line-height: calc(22 * var(--u));
  text-align: center;
}

@media (min-width: 992px) {
  .area-lp .area-cta {
    padding: calc(80 * var(--u)) calc(24 * var(--u));
  }
  .area-lp .area-cta__card {
    flex-direction: row;
  }
  .area-lp .area-cta__body {
    flex: 0 0 calc(684 * var(--u));
    gap: calc(22 * var(--u));
    padding: calc(56 * var(--u));
  }
  .area-lp .area-cta__title {
    font-size: calc(34 * var(--u));
    letter-spacing: calc(2 * var(--u));
    line-height: calc(54 * var(--u));
  }
  .area-lp .area-cta__text {
    font-size: calc(15 * var(--u));
    letter-spacing: calc(1 * var(--u));
    line-height: calc(28 * var(--u));
  }
  .area-lp .area-cta__check span {
    font-size: calc(22 * var(--u));
    letter-spacing: calc(1 * var(--u));
    line-height: calc(34 * var(--u));
  }
  .area-lp .area-cta__btns {
    flex-direction: row;
    gap: calc(16 * var(--u));
    width: auto;
    max-width: none;
    padding-top: calc(24 * var(--u));
  }
  .area-lp .area-cta__btn {
    width: calc(280 * var(--u));
    height: calc(95 * var(--u));
    padding: calc(12 * var(--u)) calc(20 * var(--u));
    letter-spacing: calc(1 * var(--u));
  }
  .area-lp .area-cta__staff {
    flex: 1;
    min-width: 0;
  }
  .area-lp .area-cta__staff img {
    max-width: none;
  }
}
