:root {
  --vw: 1vw;
}


/* ---------------------------------------------------------
#sec-intro
----------------------------------------------------------*/
/* PC版: 横並びレイアウト（イラスト左・テキスト右） */
#sec-intro .wrapper {
  display: flex;
  gap: 20px;
  align-items: center;
}
#sec-intro .wrapper .pic {
  width: min(18.22 * var(--vw), 350px);
}
#sec-intro .wrapper .pic img {
  width: 100%;
  height: auto;
}
#sec-intro .wrapper .txt {
  width: min(39.06 * var(--vw), 750px);
  font-size: min(1.25 * var(--vw), 24px);
  line-height: 1.8333333333;
}
#sec-intro .wrapper .txt p:last-child {
  margin-top: min(1.04 * var(--vw), 20px);
}

/* SP版: 大きな画像 + テキスト縦並び */
@media screen and (max-width: 768px) {
  #sec-intro .wrapper {
    display: block;
  }
  #sec-intro .wrapper .pic {
    width: 100%;
    border-radius: calc(5.33 * var(--vw));
    overflow: hidden;
  }
  #sec-intro .wrapper .pic img {
    width: 100%;
    height: auto;
    display: block;
  }
  #sec-intro .wrapper .txt {
    width: 100%;
    font-size: calc(4.26 * var(--vw));
    margin-top: calc(5.33 * var(--vw));
  }
  #sec-intro .wrapper .txt p:last-child {
    margin-top: calc(4.26 * var(--vw));
  }
}

/* ---------------------------------------------------------
#sec-subject
----------------------------------------------------------*/
#sec-subject .border-box dt, #sec-subject .border-box dd {
  font-size: min(1.09 * var(--vw), 21px);
  line-height: 1.9047619048;
  text-justify: distribute;
  text-align: justify;
}
@media screen and (max-width: 768px) {
  #sec-subject .border-box dt, #sec-subject .border-box dd {
    font-size: calc(4.26 * var(--vw));
  }
}
#sec-subject .border-box dt {
  margin-top: min(1.87 * var(--vw), 36px);
  font-size: min(1.51 * var(--vw), 29px);
  font-weight: 700;
}
@media screen and (max-width: 768px) {
  #sec-subject .border-box dt {
    margin-top: calc(8 * var(--vw));
    font-size: calc(4.8 * var(--vw));
  }
}
#sec-subject .border-box dt:first-child {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #sec-subject .border-box dd {
    margin-top: calc(2.13 * var(--vw));
  }
}
#sec-subject .wrapper {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-top: min(3.12 * var(--vw), 60px);
}
@media screen and (max-width: 768px) {
  #sec-subject .wrapper {
    display: block;
    margin-top: calc(10.66 * var(--vw));
  }
}
#sec-subject .wrapper .pic {
  width: min(31.35 * var(--vw), 602px);
}
@media screen and (max-width: 768px) {
  #sec-subject .wrapper .pic {
    width: 70%;
    margin: 0 auto;
  }
}
#sec-subject .wrapper .txt {
  width: min(30.26 * var(--vw), 581px);
  font-size: min(1.09 * var(--vw), 21px);
  line-height: 1.9047619048;
}
@media screen and (max-width: 768px) {
  #sec-subject .wrapper .txt {
    width: 100%;
    font-size: calc(4.26 * var(--vw));
    margin-top: calc(5.33 * var(--vw));
  }
}

/* ---------------------------------------------------------
#sec-info
----------------------------------------------------------*/
#sec-info .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #sec-info .wrapper {
    display: block;
    margin-top: calc(8 * var(--vw));
  }
}
#sec-info .wrapper .btn a {
  position: relative;
  display: inline-flex;
  justify-content: center;
  font-size: min(1.35 * var(--vw), 26px);
  font-weight: bold;
  line-height: 1.5;
  color: #fff;
  background-color: #00B13F;
  text-decoration: none;
  padding: min(0.93 * var(--vw), 18px) min(7.29 * var(--vw), 140px) min(0.93 * var(--vw), 18px) min(4.68 * var(--vw), 90px);
  border-radius: 100px;
}
@media screen and (max-width: 768px) {
  #sec-info .wrapper .btn a {
    font-size: calc(3.73 * var(--vw));
    padding: calc(3.73 * var(--vw)) calc(16 * var(--vw)) calc(3.73 * var(--vw)) calc(6.93 * var(--vw));
  }
}
#sec-info .wrapper .btn a::before, #sec-info .wrapper .btn a::after {
  content: "";
  position: absolute;
  top: 50%;
  right: min(0.67 * var(--vw), 13px);
  width: min(2.5 * var(--vw), 48px);
  aspect-ratio: 1/1;
  background-color: #fff;
  border-radius: 50%;
  transform: translateY(-50%);
}
@media screen and (max-width: 768px) {
  #sec-info .wrapper .btn a::before, #sec-info .wrapper .btn a::after {
    right: calc(2.66 * var(--vw));
    width: calc(8 * var(--vw));
  }
}
#sec-info .wrapper .btn a::after {
  background: url("/assets/img/common/icon_dot_arrow_green.png") no-repeat center;
  background-size: 50% auto;
}
#sec-info .wrapper .ill {
  width: min(19.16 * var(--vw), 368px);
}
@media screen and (max-width: 768px) {
  #sec-info .wrapper .ill {
    width: 60%;
    margin: calc(5.33 * var(--vw)) auto 0;
  }
}

/* ---------------------------------------------------------
#sec-medicalinfo
----------------------------------------------------------*/
#sec-medicalinfo .ttl-border-l {
  font-size: min(1.35 * var(--vw), 26px);
  margin-top: min(3.12 * var(--vw), 60px);
}
@media screen and (max-width: 768px) {
  #sec-medicalinfo .ttl-border-l {
    font-size: calc(5.33 * var(--vw));
    margin-top: calc(8 * var(--vw));
  }
}
#sec-medicalinfo .ttl-border-l + .txt-normal {
  margin-top: min(1.56 * var(--vw), 30px);
}
@media screen and (max-width: 768px) {
  #sec-medicalinfo .ttl-border-l + .txt-normal {
    margin-top: calc(4.26 * var(--vw));
  }
}
#sec-medicalinfo .table {
  margin-top: min(1.56 * var(--vw), 30px);
}
@media screen and (max-width: 768px) {
  #sec-medicalinfo .table {
    margin-top: calc(4.26 * var(--vw));
  }
}
#sec-medicalinfo .table th, #sec-medicalinfo .table td {
  font-weight: normal;
  padding: min(0.78 * var(--vw), 15px) min(2.03 * var(--vw), 39px);
}
@media screen and (max-width: 768px) {
  #sec-medicalinfo .table th, #sec-medicalinfo .table td {
    padding: calc(2.66 * var(--vw)) calc(4.26 * var(--vw));
  }
}
#sec-medicalinfo .table th, #sec-medicalinfo .table td:not(:first-child) {
  vertical-align: middle;
  text-align: center;
}
#sec-medicalinfo .table-scroll-sp + .txt-normal {
  margin-top: min(0.52 * var(--vw), 10px);
}
@media screen and (max-width: 768px) {
  #sec-medicalinfo .table-scroll-sp + .txt-normal {
    margin-top: calc(4.26 * var(--vw));
  }
}
