.keyvisual {
  position: relative;
  color: #1a1a1a;
  font-feature-settings: "palt";
  letter-spacing: 0.01em;
}
.keyvisual p {
  margin: 0;
}
.keyvisual strong {
  font-weight: 600;
}
.keyvisual .lp-cmn-container {
  position: relative;
  max-width: 1920px;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 1024px) {
  .keyvisual .lp-cmn-container {
    display: flex;
    align-items: center;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .pc {
    display: none !important;
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .sp {
    display: none !important;
  }
}
.keyvisual .img img {
  display: block;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .keyvisual .txt {
    position: absolute;
    padding-left: calc(clamp(0px, 9.375vw, 180px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .txt {
    padding-top: calc(clamp(0px, 2.4vw, 24.552px) * 1);
    padding-left: calc(clamp(0px, 5.3333333333vw, 54.56px) * 1);
    padding-right: calc(clamp(0px, 5.3333333333vw, 54.56px) * 1);
  }
}
.keyvisual .title {
  font-weight: bold;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .keyvisual .title {
    font-size: calc(clamp(0px, 3.0208333333vw, 58px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .title {
    color: black;
    font-size: calc(clamp(0px, 6.9333333333vw, 70.928px) * 1);
    margin-top: calc(clamp(0px, 2.8vw, 28.644px) * 1);
    margin-bottom: calc(clamp(0px, 2.6666666667vw, 27.28px) * 1);
  }
}
.keyvisual .lead {
  font-weight: bold;
}
@media screen and (min-width: 1024px) {
  .keyvisual .lead {
    font-size: calc(clamp(0px, 1.6666666667vw, 32px) * 1);
    letter-spacing: calc(clamp(0px, 0.0520833333vw, 1px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .lead {
    font-size: calc(clamp(0px, 4vw, 40.92px) * 1);
    line-height: 1.7;
  }
}
.keyvisual .tag-text-container {
  background-color: #addeb7;
}
@media screen and (min-width: 1024px) {
  .keyvisual .tag-text-container {
    position: relative;
    width: calc(clamp(0px, 11.4583333333vw, 220px) * 1);
    padding-top: calc(clamp(0px, 0.46875vw, 9px) * 1);
    padding-bottom: calc(clamp(0px, 0.3645833333vw, 7px) * 1);
    padding-right: calc(clamp(0px, 0.9375vw, 18px) * 1);
    padding-left: calc(clamp(0px, 0.5208333333vw, 10px) * 1);
    -webkit-clip-path: polygon(0 0, 93% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 93% 0, 100% 100%, 0 100%);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .tag-text-container {
    width: calc(clamp(0px, 36.9333333333vw, 377.828px) * 1);
    padding-top: calc(clamp(0px, 1.2vw, 12.276px) * 1);
    padding-bottom: calc(clamp(0px, 0.9333333333vw, 9.548px) * 1);
    padding-right: calc(clamp(0px, 4vw, 40.92px) * 1);
    padding-left: calc(clamp(0px, 2vw, 20.46px) * 1);
    -webkit-clip-path: polygon(0 0, 93% 0, 100% 100%, 0 100%);
    clip-path: polygon(0 0, 93% 0, 100% 100%, 0 100%);
  }
}
.keyvisual .tag-text-container p {
  line-height: 1;
  font-weight: bold;
  margin-top: 0;
}
@media screen and (min-width: 1024px) {
  .keyvisual .tag-text-container p {
    font-size: calc(clamp(0px, 0.9375vw, 18px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .tag-text-container p {
    font-size: calc(clamp(0px, 2.9333333333vw, 30.008px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail {
    margin-top: calc(clamp(0px, 0.9375vw, 18px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .detail {
    margin-top: calc(clamp(0px, 2.6666666667vw, 27.28px) * 1);
  }
}
.keyvisual .detail .detail-title {
  font-weight: bold;
  line-height: 1.4;
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail .detail-title {
    font-size: calc(clamp(0px, 1.09375vw, 21px) * 1);
    line-height: 1.7;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .detail .detail-title {
    font-size: calc(clamp(0px, 3.4666666667vw, 35.464px) * 1);
    line-height: 1.7;
    color: black;
  }
  .keyvisual .detail .detail-title span {
    font-size: calc(clamp(0px, 2.9333333333vw, 30.008px) * 1);
  }
}
.keyvisual .detail .review {
  display: none;
}
.keyvisual .detail .tag-list {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail .tag-list {
    -moz-column-gap: calc(clamp(0px, 0.4166666667vw, 8px) * 1);
    column-gap: calc(clamp(0px, 0.4166666667vw, 8px) * 1);
    row-gap: calc(clamp(0px, 0.6770833333vw, 13px) * 1);
    margin-top: calc(clamp(0px, 1.5625vw, 30px) * 1);
  }
  .keyvisual .detail .tag-list.second {
    margin-top: calc(clamp(0px, 0.8854166667vw, 17px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .detail .tag-list {
    margin-top: calc(clamp(0px, 4.8vw, 49.104px) * 1);
    width: 100%;
    font-size: calc(clamp(0px, 2.9333333333vw, 30.008px) * 1);
    color: black;
    -moz-column-gap: calc(clamp(0px, 1.3333333333vw, 13.64px) * 1);
    column-gap: calc(clamp(0px, 1.3333333333vw, 13.64px) * 1);
    row-gap: calc(clamp(0px, 1.7333333333vw, 17.732px) * 1);
  }
  .keyvisual .detail .tag-list.second {
    margin-top: calc(clamp(0px, 2vw, 20.46px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail .tag-disc {
    width: calc(clamp(0px, 0.2604166667vw, 5px) * 1);
    text-align: center;
    display: flex;
    align-items: center;
    justify-content: center;
  }
}
.keyvisual .detail .tag-item {
  border: 1px solid #000;
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail .tag-item {
    padding-top: calc(clamp(0px, 0.1041666667vw, 2px) * 1);
    border-width: calc(clamp(0px, 0.0520833333vw, 1px) * 1);
    padding-left: calc(clamp(0px, 0.46875vw, 9px) * 1);
    padding-right: calc(clamp(0px, 0.5208333333vw, 10px) * 1);
    font-size: calc(clamp(0px, 0.8333333333vw, 16px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .detail .tag-item {
    color: black;
    border-width: calc(clamp(0px, 0.2666666667vw, 2.728px) * 1);
    font-size: calc(clamp(0px, 2.9333333333vw, 30.008px) * 1);
    padding-top: calc(clamp(0px, 0.2666666667vw, 2.728px) * 1);
    padding-bottom: calc(clamp(0px, 0.1333333333vw, 1.364px) * 1);
    padding-left: calc(clamp(0px, 1.2vw, 12.276px) * 1);
    padding-right: calc(clamp(0px, 1.0666666667vw, 10.912px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail .tag-item span {
    font-size: 80%;
    vertical-align: text-top;
  }
}
.keyvisual .detail span {
  font-size: 80%;
}
@media screen and (min-width: 1024px) {
  .keyvisual .text {
    margin-top: calc(clamp(0px, 0.7291666667vw, 14px) * 1);
    font-size: calc(clamp(0px, 1.09375vw, 21px) * 1);
    letter-spacing: calc(clamp(0px, 0.0520833333vw, 1px) * 1);
    line-height: 1.7;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .text {
    color: black;
    margin-top: calc(clamp(0px, 0.9333333333vw, 9.548px) * 1);
    font-size: calc(clamp(0px, 4vw, 40.92px) * 1);
    line-height: 1.7;
    letter-spacing: 0.055em;
  }
}
.keyvisual .tag {
  align-items: center;
  line-height: 1;
  letter-spacing: 0;
  display: flex;
  align-items: center;
  text-align: center;
}
@media screen and (min-width: 1024px) {
  .keyvisual .tag {
    justify-content: center;
    font-size: calc(clamp(0px, 1.1458333333vw, 22px) * 1);
    width: calc(clamp(0px, 5.46875vw, 105px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .tag {
    font-weight: bold;
    width: calc(clamp(0px, 14vw, 143.22px) * 1);
    font-size: calc(clamp(0px, 2.9333333333vw, 30.008px) * 1);
  }
}
.keyvisual .tag span {
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  background-color: #b2b4b8;
  width: 100%;
}
@media screen and (min-width: 1024px) {
  .keyvisual .tag span {
    border: calc(clamp(0px, 0.1041666667vw, 2px) * 1) solid #000;
    padding: calc(clamp(0px, 0.3125vw, 6px) * 1) calc(clamp(0px, 0.78125vw, 15px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .tag span {
    border: calc(clamp(0px, 0.2666666667vw, 2.728px) * 1) solid #000;
    padding: calc(clamp(0px, 1.0666666667vw, 10.912px) * 1) calc(clamp(0px, 1.3333333333vw, 13.64px) * 1);
  }
}
.keyvisual .cta {
  margin-top: calc(clamp(0px, 1.5625vw, 30px) * 1);
  color: #fff;
  background-color: #000;
  display: flex;
  justify-content: center;
  align-items: center;
}
.keyvisual .cta > div {
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .keyvisual .cta {
    width: calc(clamp(0px, 11.4583333333vw, 220px) * 1);
    height: calc(clamp(0px, 2.34375vw, 45px) * 1);
  }
  .keyvisual .cta:hover {
    background-color: #262626;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .cta {
    width: 100%;
    height: calc(clamp(0px, 12vw, 122.76px) * 1);
    font-size: calc(clamp(0px, 4.5333333333vw, 46.376px) * 1);
    margin-top: calc(clamp(0px, 4.6666666667vw, 47.74px) * 1);
  }
}
.keyvisual .cta a {
  color: #fff;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
}
@media screen and (min-width: 1024px) {
  .keyvisual .cta a {
    font-size: calc(clamp(0px, 0.8854166667vw, 17px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .cta a {
    font-size: calc(clamp(0px, 4.5333333333vw, 46.376px) * 1);
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .note {
    margin-top: calc(clamp(0px, 2.0833333333vw, 40px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .note {
    margin-top: calc(clamp(0px, 2.6666666667vw, 27.28px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .note li {
    font-size: 0.6770833333vw;
    line-height: 1.61em;
    letter-spacing: calc(clamp(0px, 0.0520833333vw, 1px) * 1);
  }
}
@media screen and (min-width: 1024px) and (min-width: 1920px) {
  .keyvisual .note li {
    font-size: 13px;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .note li {
    font-size: calc(clamp(0px, 3.0666666667vw, 31.372px) * 1);
    line-height: 1.5em;
    letter-spacing: calc(clamp(0px, 0.2666666667vw, 2.728px) * 1);
  }
}