@charset "UTF-8";
.lp-content-keyvisual .lp-container {
  position: relative;
}
.lp-content-keyvisual .optima {
  font-family: OptimaDisplayLight, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.lp-content-keyvisual .fs120p {
  font-size: 120%;
}
.lp-content-keyvisual .fs110p {
  font-size: 110%;
}
.lp-content-keyvisual .kv {
  position: relative;
  color: #040a2b;
}
.lp-content-keyvisual .kv .optima {
  font-family: OptimaDisplayLight, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
.lp-content-keyvisual .kv-title {
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  text-align: center;
  color: #040a2b;
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif;
  letter-spacing: 0;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-title {
    margin-top: calc(clamp(0px, 3.2942898975vw, 45px) * 1);
    font-size: calc(clamp(0px, 2.635431918vw, 36px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-title {
    margin-top: calc(clamp(0px, 9.3333333333vw, 9.3333333333vw) * 1);
    font-size: calc(clamp(0px, 6.9333333333vw, 6.9333333333vw) * 1);
  }
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-title .kv-title-txt01 {
    letter-spacing: 0.03em;
  }
}
.lp-content-keyvisual .kv-title .kv-title-txt02 {
  display: block;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-title .kv-title-txt02 {
    font-size: calc(clamp(0px, 2.1229868228vw, 29px) * 1);
    padding-top: calc(clamp(0px, 0.5856515373vw, 8px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-title .kv-title-txt02 {
    font-size: calc(clamp(0px, 5.0666666667vw, 5.0666666667vw) * 1);
    padding-top: calc(clamp(0px, 2vw, 2vw) * 1);
  }
}
.lp-content-keyvisual .kv-text {
  position: absolute;
  text-align: center;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-text {
    bottom: calc(clamp(0px, 1.8301610542vw, 25px) * 1);
    font-size: calc(clamp(0px, 1.4641288433vw, 20px) * 1);
    line-height: 1.5;
    letter-spacing: 0.05em;
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-text {
    bottom: calc(clamp(0px, 5.3333333333vw, 5.3333333333vw) * 1);
    font-size: calc(clamp(0px, 4.2666666667vw, 4.2666666667vw) * 1);
    line-height: 1.5;
  }
}
.lp-content-keyvisual .kv-lead {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif;
  text-align: center;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-lead {
    font-size: calc(clamp(0px, 1.756954612vw, 24px) * 1);
    padding-top: calc(clamp(0px, 6.588579795vw, 90px) * 1);
    padding-bottom: calc(clamp(0px, 2.9282576867vw, 40px) * 1);
    letter-spacing: 0.06em;
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-lead {
    font-size: calc(clamp(0px, 4.6666666667vw, 4.6666666667vw) * 1);
    padding-top: calc(clamp(0px, 12vw, 12vw) * 1);
    padding-bottom: calc(clamp(0px, 12vw, 12vw) * 1);
  }
}
.lp-content-keyvisual .kv-lead-txt02 {
  font-family: OptimaDisplayLight, "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-lead-txt02 {
    font-size: calc(clamp(0px, 2.0131771596vw, 27.5px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-lead-txt02 {
    font-size: calc(clamp(0px, 5.3333333333vw, 5.3333333333vw) * 1);
  }
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-lead .txt01 {
    font-size: calc(clamp(0px, 2.5622254758vw, 35px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-lead .txt01 {
    font-size: calc(clamp(0px, 4.8vw, 4.8vw) * 1);
  }
}
.lp-content-keyvisual .kv-lead .txt02 {
  display: block;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-lead .txt02 {
    margin: calc(clamp(0px, 0.7320644217vw, 10px) * 1) auto 0;
    width: calc(clamp(0px, 38.8360175695vw, 530.5px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-lead .txt02 {
    width: calc(clamp(0px, 77.0666666667vw, 77.0666666667vw) * 1);
    margin: calc(clamp(0px, 2vw, 2vw) * 1) auto 0;
  }
}