:root {
  --vw: 1vw;
}


/* ---------------------------------------------------------
#sec-intro
----------------------------------------------------------*/
#sec-intro p {
  font-size: min(1.25 * var(--vw), 24px);
  line-height: 1.8333333333;
  margin-top: min(1.56 * var(--vw), 30px);
}
#sec-intro p:first-child {
  margin-top: 0;
}
@media screen and (max-width: 768px) {
  #sec-intro p {
    width: 100%;
    font-size: calc(4.26 * var(--vw));
    margin-top: calc(5.33 * var(--vw));
  }
}
#sec-intro ul {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  gap: min(1.56 * var(--vw), 30px) 0;
  margin-top: min(3.12 * var(--vw), 60px);
}
@media screen and (max-width: 768px) {
  #sec-intro ul {
    flex-direction: column;
    align-items: center;
    gap: calc(4.26 * var(--vw)) 0;
    margin-top: calc(5.33 * var(--vw));
  }
}
#sec-intro ul a {
  position: relative;
  display: inline-flex;
  justify-content: center;
  font-size: min(1.35 * var(--vw), 26px);
  font-weight: 700;
  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;
  width: min(31.35 * var(--vw), 602px);
}
@media screen and (max-width: 768px) {
  #sec-intro ul a {
    font-size: calc(4.26 * var(--vw));
    font-weight: 700;
    padding: calc(3.73 * var(--vw)) calc(16 * var(--vw)) calc(3.73 * var(--vw)) calc(6.93 * var(--vw));
  }
}
#sec-intro ul a::before, #sec-intro ul 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-intro ul a::before, #sec-intro ul a::after {
    right: calc(2.66 * var(--vw));
    width: calc(8 * var(--vw));
  }
}
#sec-intro ul a::after {
  background: url("/assets/img/common/icon_dot_arrow_green.png") no-repeat center;
  background-size: 50% auto;
}
@media screen and (max-width: 768px) {
  #sec-intro ul a {
    width: calc(74.66 * var(--vw));
  }
}

/* ---------------------------------------------------------
#sec-necessary
----------------------------------------------------------*/
#sec-necessary p {
  font-size: min(1.09 * var(--vw), 21px);
  line-height: 1.9047619048;
}
@media screen and (max-width: 768px) {
  #sec-necessary p {
    font-size: calc(4.26 * var(--vw));
  }
}
#sec-necessary .wrapper {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  margin-top: min(4.16 * var(--vw), 80px);
}
@media screen and (max-width: 768px) {
  #sec-necessary .wrapper {
    display: block;
    margin-top: calc(8 * var(--vw));
  }
}
#sec-necessary .wrapper .pic {
  width: min(31.35 * var(--vw), 602px);
}
@media screen and (max-width: 768px) {
  #sec-necessary .wrapper .pic {
    width: 80%;
    margin: 0 auto;
  }
}
#sec-necessary .wrapper .txt {
  width: min(30.26 * var(--vw), 581px);
}
@media screen and (max-width: 768px) {
  #sec-necessary .wrapper .txt {
    width: 100%;
    margin-top: calc(5.33 * var(--vw));
  }
}

/* ---------------------------------------------------------
#sec-first
----------------------------------------------------------*/
#sec-first .wrapper, #sec-re .wrapper {
  display: flex;
  flex-direction: row-reverse;
  align-items: flex-end;
  justify-content: space-between;
}
@media screen and (max-width: 768px) {
  #sec-first .wrapper, #sec-re .wrapper {
    display: block;
  }
}
#sec-first .wrapper .list-normarl, #sec-re .wrapper .list-normarl {
  width: min(43.43 * var(--vw), 834px);
}
@media screen and (max-width: 768px) {
  #sec-first .wrapper .list-normarl, #sec-re .wrapper .list-normarl {
    width: 100%;
  }
}
#sec-first .wrapper .txt-normal, #sec-re .wrapper .txt-normal {
  margin-top: 0;
}
#sec-first .wrapper .ill, #sec-re .wrapper .ill {
  position: relative;
  width: min(14.58 * var(--vw), 280px);
  margin: 0 auto;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #sec-first .wrapper .ill, #sec-re .wrapper .ill {
    width: 50%;
    margin: 0 auto;
  }
}
#sec-first .wrapper .ill img, #sec-re .wrapper .ill img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
}

/* ---------------------------------------------------------
#sec-re
----------------------------------------------------------*/
#sec-re .wrapper {
  align-items: center;
}
#sec-re .wrapper .list-normal {
  margin-top: 0;
}
#sec-re .wrapper .ill {
  margin-right: 0;
}
@media screen and (max-width: 768px) {
  #sec-re .wrapper .ill {
    margin: 0 auto;
  }
}

/* ---------------------------------------------------------
#sec-emergency
----------------------------------------------------------*/
#sec-emergency .border-box {
  padding: min(1.56 * var(--vw), 30px);
}
@media screen and (max-width: 768px) {
  #sec-emergency .border-box {
    padding: calc(2.66 * var(--vw));
  }
}
#sec-emergency .border-box .wrapper {
  display: flex;
  align-items: center;
  background-color: #ecf4f2;
  padding: min(2.55 * var(--vw), 49px) 0;
}
@media screen and (max-width: 768px) {
  #sec-emergency .border-box .wrapper {
    padding: calc(5.33 * var(--vw)) 0;
  }
}
#sec-emergency .border-box .wrapper dt {
  width: min(22.76 * var(--vw), 437px);
  font-size: min(1.77 * var(--vw), 34px);
  line-height: 1.2941176471;
  text-align: center;
  padding: min(2.34 * var(--vw), 45px) 0;
  border-right: 2px solid #fff;
}
@media screen and (max-width: 768px) {
  #sec-emergency .border-box .wrapper dt {
    width: 40%;
    font-size: calc(4.26 * var(--vw));
    padding: calc(5.33 * var(--vw)) 0;
  }
}
#sec-emergency .border-box .wrapper dd {
  width: min(38.59 * var(--vw), 741px);
  font-size: min(2.81 * var(--vw), 54px);
  font-weight: 700;
  padding-left: min(4.68 * var(--vw), 90px);
}
@media screen and (max-width: 768px) {
  #sec-emergency .border-box .wrapper dd {
    width: 60%;
    font-size: calc(4.26 * var(--vw));
    font-weight: 700;
    padding-left: calc(5.33 * var(--vw));
  }
}
#sec-emergency .border-box .wrapper dd small {
  display: block;
  font-size: min(1.3 * var(--vw), 25px);
  margin-top: min(0.52 * var(--vw), 10px);
}
@media screen and (max-width: 768px) {
  #sec-emergency .border-box .wrapper dd small {
    font-size: calc(4.26 * var(--vw));
    margin-top: calc(2.66 * 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.25 * var(--vw), 24px);
  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-lifestyle
----------------------------------------------------------*/
#sec-lifestyle > .wrapper {
  display: flex;
  justify-content: space-between;
  margin-top: min(2.6 * var(--vw), 50px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle > .wrapper {
    display: block;
    margin-top: calc(5.33 * var(--vw));
  }
}
#sec-lifestyle > .wrapper .left-col {
  width: min(36.71 * var(--vw), 705px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle > .wrapper .left-col {
    width: 100%;
  }
}
#sec-lifestyle > .wrapper .left-col .ttl-green {
  font-size: min(1.19 * var(--vw), 23px);
  line-height: 1.7391304348;
}
@media screen and (max-width: 768px) {
  #sec-lifestyle > .wrapper .left-col .ttl-green {
    font-size: calc(5.33 * var(--vw));
  }
}
#sec-lifestyle > .wrapper .left-col .txt-normal {
  margin-top: min(1.45 * var(--vw), 28px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle > .wrapper .left-col .txt-normal {
    margin-top: calc(4.26 * var(--vw));
  }
}
#sec-lifestyle > .wrapper .right-col {
  width: min(25.72 * var(--vw), 494px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle > .wrapper .right-col {
    width: 60%;
    margin: calc(4.26 * var(--vw)) auto 0;
  }
}
#sec-lifestyle .ttl-green-center {
  font-size: min(1.51 * var(--vw), 29px);
  margin-top: min(4.68 * var(--vw), 90px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle .ttl-green-center {
    font-size: calc(5.33 * var(--vw));
    margin-top: calc(13.33 * var(--vw));
  }
}
#sec-lifestyle .border-box {
  padding: min(2.5 * var(--vw), 48px) min(3.48 * var(--vw), 67px);
  margin-top: min(1.35 * var(--vw), 26px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle .border-box {
    padding: calc(5.33 * var(--vw)) calc(3.73 * var(--vw));
    margin-top: calc(5.33 * var(--vw));
  }
}
#sec-lifestyle .bg-green {
  padding: min(0 * var(--vw), 0px) min(2.29 * var(--vw), 44px) min(0 * var(--vw), 0px) min(3.64 * var(--vw), 70px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle .bg-green {
    padding: 0 calc(5.33 * var(--vw)) calc(5.33 * var(--vw));
  }
}
#sec-lifestyle .bg-green .wrapper {
  display: flex;
  justify-content: space-between;
  align-items: center;
}
@media screen and (max-width: 768px) {
  #sec-lifestyle .bg-green .wrapper {
    display: block;
  }
}
#sec-lifestyle .bg-green .wrapper .ill {
  width: min(15.2 * var(--vw), 292px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle .bg-green .wrapper .ill {
    width: calc(53.33 * var(--vw));
    margin: 0 auto;
  }
}
#sec-lifestyle .bg-green .wrapper .right-col {
  width: min(40.36 * var(--vw), 775px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle .bg-green .wrapper .right-col {
    width: 100%;
  }
}
#sec-lifestyle .bg-green .wrapper .right-col h4 {
  font-size: min(1.61 * var(--vw), 31px);
  font-weight: 700;
  line-height: 1.5;
}
@media screen and (max-width: 768px) {
  #sec-lifestyle .bg-green .wrapper .right-col h4 {
    font-size: calc(4.26 * var(--vw));
    letter-spacing: 0.03em;
  }
}
#sec-lifestyle .bg-green .wrapper .right-col .txt-normal {
  margin-top: min(1.04 * var(--vw), 20px);
}
@media screen and (max-width: 768px) {
  #sec-lifestyle .bg-green .wrapper .right-col .txt-normal {
    margin-top: calc(3.73 * var(--vw));
  }
}

/* ---------------------------------------------------------
#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(4.26 * 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));
  }
}
