.section_foundation {
  letter-spacing: 0.05em;
  color: #1a1a1a;
}
.section_foundation h2, .section_foundation p {
  margin: 0;
}
.section_foundation img {
  display: block;
  width: 100%;
}
.section_foundation strong {
  font-weight: 700;
}
.section_foundation .fs80p {
  font-size: 80%;
}
@media screen and (max-width: 1023px) {
  .section_foundation .pc {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .section_foundation .sp {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .section_foundation {
    width: 100%;
    margin: 0 auto;
    margin-top: calc(clamp(0px, 5.2083333333vw, 100px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation {
    margin-block: calc(clamp(0px, 13.3333333333vw, 136.4px) * 1);
  }
}
.section_foundation .foundation {
  width: 100%;
  position: relative;
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation {
    width: calc(clamp(0px, 92.1875vw, 1770px) * 1);
    margin-inline: auto;
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation {
    padding-inline: calc(clamp(0px, 5.3333333333vw, 54.56px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__bg {
    width: 100%;
  }
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__content {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    padding-left: calc(clamp(0px, 5.46875vw, 105px) * 1);
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__content {
    padding-top: calc(clamp(0px, 3.4666666667vw, 35.464px) * 1);
  }
}
.section_foundation .foundation .foundation__title {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__title {
    font-size: calc(clamp(0px, 2.5vw, 48px) * 1);
    line-height: 1.3125;
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__title {
    font-size: calc(clamp(0px, 6.4vw, 65.472px) * 1);
    line-height: 1.3125;
  }
}
.section_foundation .foundation .foundation__subTitle {
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__subTitle {
    font-size: calc(clamp(0px, 1.4583333333vw, 28px) * 1);
    line-height: 1.7142857143;
    margin-top: calc(clamp(0px, 0.5208333333vw, 10px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__subTitle {
    margin-top: calc(clamp(0px, 2.1333333333vw, 21.824px) * 1);
    font-size: calc(clamp(0px, 4vw, 40.92px) * 1);
    line-height: 1.5;
  }
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__lead {
    margin-top: calc(clamp(0px, 1.0416666667vw, 20px) * 1);
    font-size: calc(clamp(0px, 1.09375vw, 21px) * 1);
    line-height: 1.7;
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__lead {
    margin-top: calc(clamp(0px, 2.4vw, 24.552px) * 1);
    font-size: calc(clamp(0px, 3.4666666667vw, 35.464px) * 1);
    line-height: 1.7;
  }
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__list {
    width: calc(clamp(0px, 26.0416666667vw, 500px) * 1);
    display: flex;
    flex-flow: row wrap;
    margin-top: calc(clamp(0px, 1.40625vw, 27px) * 1);
    gap: calc(clamp(0px, 0.8333333333vw, 16px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__list {
    display: flex;
    flex-flow: row wrap;
    margin-top: calc(clamp(0px, 4.1333333333vw, 42.284px) * 1);
    gap: calc(clamp(0px, 2vw, 20.46px) * 1);
  }
}
.section_foundation .foundation .foundation__list .foundation__item {
  border: 1px solid #1A1A1A;
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__list .foundation__item {
    border-width: calc(clamp(0px, 0.0520833333vw, 1px) * 1);
    padding-block: calc(clamp(0px, 0.1041666667vw, 2px) * 1) calc(clamp(0px, 0.0520833333vw, 1px) * 1);
    padding-inline: calc(clamp(0px, 0.5208333333vw, 10px) * 1);
    font-size: calc(clamp(0px, 0.8333333333vw, 16px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__list .foundation__item {
    border-width: calc(clamp(0px, 0.2666666667vw, 2.728px) * 1);
    font-size: calc(clamp(0px, 2.9333333333vw, 30.008px) * 1);
    padding-block: calc(clamp(0px, 0.4vw, 4.092px) * 1) calc(clamp(0px, 0.1333333333vw, 1.364px) * 1);
    padding-inline: calc(clamp(0px, 1.3333333333vw, 13.64px) * 1);
    text-align: center;
    letter-spacing: 0.01em;
  }
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__product-title {
    font-size: calc(clamp(0px, 1.09375vw, 21px) * 1);
    line-height: 1.7;
    margin-top: calc(clamp(0px, 1.25vw, 24px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__product-title {
    font-size: calc(clamp(0px, 3.4666666667vw, 35.464px) * 1);
    line-height: 1.55;
    margin-top: calc(clamp(0px, 3.7333333333vw, 38.192px) * 1);
    letter-spacing: 0.01em;
  }
}
.section_foundation .foundation .foundation__product-title--min {
  font-size: 80%;
}
.section_foundation .foundation .foundation__cta {
  color: #fff;
  background-color: #000;
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__cta {
    margin-top: calc(clamp(0px, 1.3020833333vw, 25px) * 1);
    width: calc(clamp(0px, 11.4583333333vw, 220px) * 1);
    height: calc(clamp(0px, 2.34375vw, 45px) * 1);
  }
  .section_foundation .foundation .foundation__cta:hover {
    background-color: #262626;
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__cta {
    width: 100%;
    height: calc(clamp(0px, 12vw, 122.76px) * 1);
    margin-top: calc(clamp(0px, 4.2666666667vw, 43.648px) * 1);
  }
}
.section_foundation .foundation .foundation__cta a {
  display: flex;
  justify-content: center;
  align-items: center;
  color: #fff;
  width: 100%;
  height: 100%;
}
@media screen and (min-width: 1024px) {
  .section_foundation .foundation .foundation__cta a {
    font-size: calc(clamp(0px, 0.8854166667vw, 17px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .section_foundation .foundation .foundation__cta a {
    font-size: calc(clamp(0px, 3.7333333333vw, 38.192px) * 1);
  }
}