@charset "utf-8";

@media screen and (min-width: 769px) {
  body {
    overflow: revert;
  }
}

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

/* intro
---------------------------------------------- */
.intro {
  padding-block: var(--margin50-150);
}

.intro__copy {
  text-align: center;
}

.greet {
  margin-top: var(--margin50-150);
}

.greet__inner {
  display: flex;
  justify-content: space-between;
}

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

.doctorImg {
  position: sticky;
  top: 40px;
}

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

.greetBox + .greetBox {
  margin-top: 100px;
}

.greet__title {
  color: #9191d3;
  font-size: clamp(16px, 0.83rem + 0.35vw, 20px);
  font-weight: 500;
  letter-spacing: 0.1em;
  line-height: 1.5;
}

.greetBox__text {
  margin-top: 2em;
}
.greetBox__text + .greetBox__text {
  margin-top: 1.5em;
}

.greetBox__name {
  margin-top: 2em;
  text-align: right;
}

.biography {
  font-size: clamp(14px, 0.79rem + 0.17vw, 16px);
  letter-spacing: 0.1em;
  line-height: 2.125;
  margin-top: 50px;
}

.biography > dl {
  display: flex;
  column-gap: calc(55 / 520 * 100%);
}
.biography > dl + dl {
  margin-top: 1em;
}
.biography > dl > dt {
  white-space: nowrap;
}

.biography__last {
  margin-top: 1em;
  text-align: right;
}

@media screen and (max-width: 960px) {
  .greet__inner {
    flex-direction: column;
    row-gap: 45px;
    max-width: 560px;
  }

  .doctorImgBox {
    width: 100%;
  }

  .doctorImg {
    position: static;
  }

  .greetContents {
    width: 100%;
  }

  .greetBox + .greetBox {
    margin-top: 40px;
  }

  .greet__title {
    text-align: center;
  }

  .biography {
    margin-top: 25px;
  }

  .biography > dl {
    column-gap: min(calc(25 / 320 * 100%), 25px);
  }
}

/* staff
---------------------------------------------- */
.staff {
  padding-block: clamp(50px, 2.37rem + 3.24vw, 100px) clamp(50px, 1.61rem + 6.47vw, 150px);
}
.staffListWrap {
  max-width: 1300px;
  margin-top: 80px;
}

.staffList {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 90px calc(100 / 1300 * 100%);
}

@media screen and (max-width: 768px) {
  .staffListWrap {
    max-width: 400px;
    margin-top: 40px;
  }

  .staffList {
    grid-template-columns: 1fr;
    row-gap: 50px;
  }
}