:root {
  --vw: 1vw;
}


/* ---------------------------------------------------------
#sec-intro
----------------------------------------------------------*/
#sec-intro .lead {
  font-size: min(1.25 * var(--vw), 24px);
  line-height: 1.8333333333;
}
@media screen and (max-width: 768px) {
  #sec-intro .lead {
    font-size: calc(4.26 * var(--vw));
  }
}

/* ---------------------------------------------------------
#sec-feature
----------------------------------------------------------*/
#sec-feature .ttl-green-dotborder {
  margin-top: min(2.08 * var(--vw), 40px);
}
@media screen and (max-width: 768px) {
  #sec-feature .ttl-green-dotborder {
    margin-top: calc(8 * var(--vw));
  }
}
#sec-feature .wrapper {
  display: flex;
  justify-content: space-between;
  flex-direction: row-reverse;
  margin-top: min(1.56 * var(--vw), 30px);
}
@media screen and (max-width: 768px) {
  #sec-feature .wrapper {
    display: block;
    margin-top: calc(5.33 * var(--vw));
  }
}
#sec-feature .wrapper .ill {
  position: relative;
  width: min(11.45 * var(--vw), 220px);
  margin: 0 auto;
  aspect-ratio: 1/1;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  #sec-feature .wrapper .ill {
    width: 50%;
    margin: 0 auto;
  }
}
#sec-feature .wrapper .ill img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
}
#sec-feature .wrapper .txt {
  width: min(43.9 * var(--vw), 843px);
}
@media screen and (max-width: 768px) {
  #sec-feature .wrapper .txt {
    width: 100%;
  }
}

/* ---------------------------------------------------------
#sec-diseases
----------------------------------------------------------*/
#sec-diseases .table-col2-sp-v th, #sec-diseases .table-col2-sp-v td {
  font-size: min(1.09 * var(--vw), 21px);
  padding: min(1.04 * var(--vw), 20px);
}
@media screen and (max-width: 768px) {
  #sec-diseases .table-col2-sp-v th, #sec-diseases .table-col2-sp-v td {
    font-size: calc(4.26 * var(--vw));
    padding: calc(3.73 * var(--vw));
  }
}

/* ---------------------------------------------------------
#sec-effect
----------------------------------------------------------*/
#sec-effect .bg-green {
  margin-top: min(1.56 * var(--vw), 30px);
}
#sec-effect .wrapper {
  display: flex;
  flex-direction: row-reverse;
  justify-content: space-between;
  align-items: center;
}
#sec-effect .wrapper .ill {
  position: relative;
  width: min(11.45 * var(--vw), 220px);
  margin: 0 auto;
  aspect-ratio: 1/1;
  overflow: hidden;
  margin: min(-1.05 * var(--vw), -20px) auto;
}
@media screen and (max-width: 768px) {
  #sec-effect .wrapper .ill {
    width: 50%;
    margin: 0 auto;
  }
}
#sec-effect .wrapper .ill img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.2);
}
#sec-effect .wrapper .list-disc {
  display: flex;
  flex-wrap: wrap;
  width: min(45.52 * var(--vw), 874px);
  gap: min(0.52 * var(--vw), 10px) min(1.56 * var(--vw), 30px);
  margin-top: 0;
}
