@charset "utf-8";

/* kv
---------------------------------------------- */
.kv__title .en {
  color: #a57774;
}
.kv__title::before {
  background-image: url(../../img/implant/img_kv_text-bg.svg);
}

/* intro
---------------------------------------------- */
.intro {
  padding-block: var(--margin50-150);
  position: relative;
  z-index: 1;
}

.intro__copy {
  text-align: center;
}

.introBox {
  row-gap: 30px;
  margin-top: clamp(40px, 0.83rem + 7.12vw, 150px);
}

.introBoxHead {
  width: calc(680 / 1300 * 100%);
}

.introBoxBody {
  width: calc(520 / 1300 * 100%);
}

.introBox__text + .introBox__text {
  margin-top: 1.5em;
}

@media screen and (max-width: 768px) {
  .introBoxHead {
    width: 100%;
  }

  .introBoxBody {
    width: 100%;
  }

  .introBox__text + .introBox__text {
    margin-top: 1em;
  }
}

/* treatType
---------------------------------------------- */
.treatType {
  padding-block: clamp(50px, 2.06rem + 4.53vw, 120px) var(--margin50-150);
}

.treatType__copy {
  color: #a57774;
  text-align: center;
}

.treatTypeBox {
  margin-top: 80px;
}
.treatTypeBox::before {
  content: '';
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 1px;
  height: 80px;
  background-color: #d2bbb9;
  z-index: 1;
}

.treatTypeImgBox {
  row-gap: 25px;
}

.treatTypeImgBox__img {
  width: calc(360 / 1020 * 100%);
}

.treatTypeImgBox__body {
  width: calc(590 / 1020 * 100%);
}

.treatTypeImgBox__text + .treatTypeImgBox__text {
  margin-top: 2.5em;
}

.treatTypeBox__img {
  width: calc(930 / 1220 * 100%);
  max-width: 970px;
  margin-top: 60px;
  margin-inline: auto;
}

.treatTypeContents__title {
  background-color: #f6f1f1;
}

.treatTypeBox .flowSlider .swiper-slide {
  border-color: #d2bbb9;
}

.treatTypeBox .flowSlider__num {
  color: #e4d6d5;
}

.treatTypeBox .flowSlider__name {
  color: #b7928f;
}

.treatTypeBox .swiper-button-next,
.treatTypeBox .swiper-button-prev {
  background-color: #b7928f;
}

.treatTypeBox .swiper-pagination-bullet-active {
  background: #b7928f;
}

.treatPriceItem {
  flex: 1;
}
.treatPriceItem__contents {
  margin-top: 0;
}

.treatPriceItem__title {
  color: #b7928f;
}
.treatPriceItem__title::before {
  background-color: #b7928f;
}

@media screen and (max-width: 768px) {
  .treatTypeBox {
    margin-top: 40px;
  }
  .treatTypeBox::before {
    top: -30px;
    height: 60px;
  }

  .treatTypeBox__body {
    padding-top: 50px;
  }

  .treatTypeImgBox__img {
    width: 100%;
  }

  .treatTypeImgBox__body {
    width: 100%;
  }

  .treatTypeImgBox__text + .treatTypeImgBox__text {
    margin-top: 1.5em;
  }
}