@charset "UTF-8";
.lp-content-keyvisual .kv-banner {
  position: relative;
}
.lp-content-keyvisual .kv-txt {
  text-align: center;
  position: absolute;
  left: 0;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt {
    top: 50%;
    transform: translateY(-50%);
    margin-left: calc(clamp(0px, 5.8565153734vw, 80px) * 1);
    margin-top: calc(clamp(0px, 1.0980966325vw, 15px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt {
    top: 0;
    right: 0;
    bottom: 0;
    margin-top: calc(clamp(0px, 6.6666666667vw, 6.6666666667vw) * 1);
    padding-inline: calc(clamp(0px, 5.3333333333vw, 5.3333333333vw) * 1);
    display: flex;
    flex-direction: column;
  }
}
.lp-content-keyvisual .kv-txt .logo-img {
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .logo-img {
    margin-bottom: calc(clamp(0px, 1.0980966325vw, 15px) * 1);
    width: calc(clamp(0px, 21.1566617862vw, 289px) * 1);
    height: calc(clamp(0px, 1.9399707174vw, 26.5px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .logo-img {
    margin-bottom: calc(clamp(0px, 2.1333333333vw, 2.1333333333vw) * 1);
    width: calc(clamp(0px, 58.6666666667vw, 58.6666666667vw) * 1);
    height: calc(clamp(0px, 5.4666666667vw, 5.4666666667vw) * 1);
  }
}
.lp-content-keyvisual .kv-txt .logo-ja {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .logo-ja {
    font-size: calc(clamp(0px, 1.4641288433vw, 20px) * 1);
    margin-bottom: calc(clamp(0px, 1.8301610542vw, 25px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .logo-ja {
    font-size: calc(clamp(0px, 4.5333333333vw, 4.5333333333vw) * 1);
    margin-bottom: calc(clamp(0px, 5.3333333333vw, 5.3333333333vw) * 1);
    margin-inline: auto;
  }
}
.lp-content-keyvisual .kv-txt .copy {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif;
  line-height: 1;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .copy {
    font-size: calc(clamp(0px, 4.0263543192vw, 55px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .copy {
    font-size: calc(clamp(0px, 10.9333333333vw, 10.9333333333vw) * 1);
    margin-bottom: calc(clamp(0px, 1.3333333333vw, 1.3333333333vw) * 1);
  }
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .copy .small {
    font-size: calc(clamp(0px, 2.635431918vw, 36px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .copy .small {
    font-size: calc(clamp(0px, 6.4vw, 6.4vw) * 1);
  }
}
.lp-content-keyvisual .kv-txt .lead {
  font-family: "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", serif;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .lead {
    margin-top: calc(clamp(0px, 0.3660322108vw, 5px) * 1);
    font-size: calc(clamp(0px, 1.0980966325vw, 15px) * 1);
    letter-spacing: 0;
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .lead {
    margin-top: calc(clamp(0px, 2.6666666667vw, 2.6666666667vw) * 1);
    font-size: calc(clamp(0px, 4.2666666667vw, 4.2666666667vw) * 1);
    line-height: 1.2em;
  }
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .lead.strong {
    margin-top: calc(clamp(0px, 2.196193265vw, 30px) * 1);
    font-size: calc(clamp(0px, 1.5373352855vw, 21px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .lead.strong {
    margin-top: calc(clamp(0px, 2.6666666667vw, 2.6666666667vw) * 1);
    font-size: calc(clamp(0px, 5.3333333333vw, 5.3333333333vw) * 1);
    line-height: 1.5em;
  }
}
.lp-content-keyvisual .kv-txt .link-panel {
  border: 1px solid #c2c2c2;
  margin-inline: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .link-panel {
    margin-top: calc(clamp(0px, 1.8301610542vw, 25px) * 1);
    width: calc(clamp(0px, 29.2825768668vw, 400px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .link-panel {
    margin-top: auto;
    margin-inline: auto;
    width: calc(clamp(0px, 89.3333333333vw, 89.3333333333vw) * 1);
  }
}
.lp-content-keyvisual .kv-txt .link-panel .link-txt {
  text-align: left;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .link-panel .link-txt {
    line-height: 1.8;
    font-size: calc(clamp(0px, 1.0980966325vw, 15px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .link-panel .link-txt {
    line-height: 1.6;
    font-size: calc(clamp(0px, 3.7333333333vw, 3.7333333333vw) * 1);
  }
}
.lp-content-keyvisual .kv-txt .link-panel .link-txt .bold {
  font-weight: bold;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .link-panel .link-txt .link-wrap {
    margin-top: calc(clamp(0px, 0.7320644217vw, 10px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .link-panel .link-txt .link-wrap {
    margin-top: calc(clamp(0px, 2.6666666667vw, 2.6666666667vw) * 1);
  }
}
.lp-content-keyvisual .kv-txt .link-panel .link-txt .link-wrap > .link {
  text-decoration: underline;
  letter-spacing: 0;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .link-panel .link-txt .link-wrap > .link {
    font-size: calc(clamp(0px, 1.0980966325vw, 15px) * 1);
    text-underline-offset: calc(clamp(0px, 0.2196193265vw, 3px) * 1);
    text-decoration-thickness: calc(clamp(0px, 0.0732064422vw, 1px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .link-panel .link-txt .link-wrap > .link {
    font-size: calc(clamp(0px, 3.7333333333vw, 3.7333333333vw) * 1);
    text-underline-offset: calc(clamp(0px, 0.8vw, 0.8vw) * 1);
    text-decoration-thickness: calc(clamp(0px, 0.2666666667vw, 0.2666666667vw) * 1);
  }
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .link-panel .link-img {
    width: calc(clamp(0px, 7.6866764275vw, 105px) * 1);
    margin-top: calc(clamp(0px, 1.4641288433vw, 20px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .link-panel .link-img {
    width: calc(clamp(0px, 25.3333333333vw, 25.3333333333vw) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .kvset-wrap {
    position: absolute;
    bottom: calc(clamp(0px, 5.3333333333vw, 5.3333333333vw) * 1);
  }
}
.lp-content-keyvisual .kv-txt .kvset {
  position: relative;
  margin-inline: auto;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .kvset {
    width: calc(clamp(0px, 28.8799414348vw, 394.5px) * 1);
    margin-top: calc(clamp(0px, 2.5622254758vw, 35px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .kvset {
    width: calc(clamp(0px, 89.3333333333vw, 89.3333333333vw) * 1);
  }
}
.lp-content-keyvisual .kv-txt .kvset .kvset-bg {
  position: relative;
}
.lp-content-keyvisual .kv-txt .kvset .kvset-txt {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  display: flex;
  align-items: center;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .kvset .kvset-txt {
    height: calc(clamp(0px, 10.3587115666vw, 141.5px) * 1);
    padding-left: calc(clamp(0px, 1.4641288433vw, 20px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .kvset .kvset-txt {
    height: calc(clamp(0px, 35.0666666667vw, 35.0666666667vw) * 1);
    padding-left: calc(clamp(0px, 4vw, 4vw) * 1);
  }
}
.lp-content-keyvisual .kv-txt .kvset .kvset-txt .link-panel {
  background: none;
  border: none;
  margin: 0;
  width: auto;
}
@media screen and (min-width: 768px) {
  .lp-content-keyvisual .kv-txt .note {
    width: -moz-fit-content;
    width: fit-content;
    margin-left: auto;
    margin-right: auto;
    text-align: left;
    margin-top: calc(clamp(0px, 1.4641288433vw, 20px) * 1);
    font-size: calc(clamp(0px, 0.8052708638vw, 11px) * 1);
  }
}
@media screen and (max-width: 767px) {
  .lp-content-keyvisual .kv-txt .note {
    width: calc(clamp(0px, 89.3333333333vw, 89.3333333333vw) * 1);
    margin-inline: auto;
    margin-top: calc(clamp(0px, 4vw, 4vw) * 1);
    text-align: start;
    font-size: calc(clamp(0px, 2.9333333333vw, 2.9333333333vw) * 1);
  }
}