/* =========================
  全体ラッパー（シャドウ担当）
========================= */
.shadow {
  max-width: 500px;
  width: 100%;
  margin-inline: auto;
  background: #fff;
  box-shadow: 0 0 24px rgba(0, 0, 0, 0.15);
}

/* =========================
  セクション共通
  ※ 幅制御は shadow のみ
========================= */
section {
  width: 100%;
  height: auto;
}

/* =========================
  表示切り替え
========================= */
@media screen and (min-width: 768px) {
  .u-sp {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .u-pc {
    display: none;
  }
}

/* =========================
  CTA配置共通
========================= */
@keyframes fuwafuwa {
  0% {
    transform: translate(-50%, 0) scale(0.9);
  }
  100% {
    transform: translate(-50%, 0) scale(1);
  }
}

/* =========================
  change
========================= */
.p-change {
  position: relative;
}

.p-change__cta-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  animation: fuwafuwa 1s ease infinite alternate;
  transform-origin: center;
}

/* =========================
  doctor
========================= */
.p-doctor {
  position: relative;
}

.p-doctor__cta-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  animation: fuwafuwa 1s ease infinite alternate;
  transform-origin: center;
}

/* =========================
  plan
========================= */
.p-plan {
  position: relative;
}

.p-plan__cta-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  animation: fuwafuwa 1s ease infinite alternate;
  transform-origin: center;
}

/* =========================
  last
========================= */
.p-last {
  position: relative;
}

.p-last__cta-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  animation: fuwafuwa 1s ease infinite alternate;
  transform-origin: center;
}

/* =========================
  evaluation
========================= */
.p-evaluation {
  position: relative;
}

.p-evaluation__video {
  position: absolute;
  bottom: 8%;
  left: 50%;
  width: 88%;
  transform: translateX(-50%);
}

.p-evaluation__video video {
  width: 100%;
}

.p-evaluation__swiper-container {
  position: absolute;
  top: 22%;
}

.p-evaluation__swiper-slide {
  cursor: pointer;
}

.p-evaluation__swiper-slide.--small {
  max-width: 91%;
}

.p-evaluation__cta-btn {
  position: absolute;
  bottom: 0;
  left: 50%;
  width: 100%;
  transform: translateX(-50%);
  animation: fuwafuwa 1s ease infinite alternate;
  transform-origin: center;
}

/* =========================
  footer
========================= */
.p-footer {
  background-color: #e8cacd;
  width: 100%;
  padding-block: 16px;
}

.p-footer__inner {
  position: relative;
}

.p-footer__list {
  display: flex;
  justify-content: center;
  gap: 5px;
}

.p-footer__cl {
  text-align: center;
  margin-top: 16px;
}
