.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: 1776px;
  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, 8.671875vw, 154.0125px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .txt {
    padding-top: calc(clamp(0px, 2.144vw, 15.2223999999px) * 1);
    padding-left: calc(clamp(0px, 4.7644444444vw, 33.8275555554px) * 1);
    padding-right: calc(clamp(0px, 4.7644444444vw, 33.8275555554px) * 1);
  }
}
.keyvisual .title {
  font-weight: bold;
  line-height: 1;
}
@media screen and (min-width: 1024px) {
  .keyvisual .title {
    font-size: calc(clamp(0px, 2.7942708333vw, 49.62625px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .title {
    color: black;
    font-size: calc(clamp(0px, 6.1937777778vw, 43.9758222221px) * 1);
    margin-top: calc(clamp(0px, 2.5013333333vw, 17.7594666666px) * 1);
    margin-bottom: calc(clamp(0px, 2.3822222222vw, 16.9137777777px) * 1);
  }
}
.keyvisual .lead {
  font-weight: bold;
}
@media screen and (min-width: 1024px) {
  .keyvisual .lead {
    font-size: calc(clamp(0px, 1.5416666667vw, 27.38px) * 1);
    letter-spacing: calc(clamp(0px, 0.0481770833vw, 0.855625px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .lead {
    font-size: calc(clamp(0px, 3.5733333333vw, 25.3706666666px) * 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, 10.5989583333vw, 188.2375px) * 1);
    padding-top: calc(clamp(0px, 0.43359375vw, 7.700625px) * 1);
    padding-bottom: calc(clamp(0px, 0.3372395833vw, 5.989375px) * 1);
    padding-right: calc(clamp(0px, 0.8671875vw, 15.40125px) * 1);
    padding-left: calc(clamp(0px, 0.4817708333vw, 8.55625px) * 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, 32.9937777777vw, 234.2558222213px) * 1);
    padding-top: calc(clamp(0px, 1.072vw, 7.6112px) * 1);
    padding-bottom: calc(clamp(0px, 0.8337777778vw, 5.9198222222px) * 1);
    padding-right: calc(clamp(0px, 3.5733333333vw, 25.3706666666px) * 1);
    padding-left: calc(clamp(0px, 1.7866666667vw, 12.6853333333px) * 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.8671875vw, 15.40125px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .tag-text-container p {
    font-size: calc(clamp(0px, 2.6204444444vw, 18.6051555555px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail {
    margin-top: calc(clamp(0px, 0.8671875vw, 15.40125px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .detail {
    margin-top: calc(clamp(0px, 2.3822222222vw, 16.9137777777px) * 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.01171875vw, 17.968125px) * 1);
    line-height: 1.7;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .detail .detail-title {
    font-size: calc(clamp(0px, 3.0968888889vw, 21.987911111px) * 1);
    line-height: 1.7;
    color: black;
  }
  .keyvisual .detail .detail-title span {
    font-size: calc(clamp(0px, 2.6204444444vw, 18.6051555555px) * 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.3854166667vw, 6.845px) * 1);
    column-gap: calc(clamp(0px, 0.3854166667vw, 6.845px) * 1);
    row-gap: calc(clamp(0px, 0.6263020833vw, 11.123125px) * 1);
    margin-top: calc(clamp(0px, 1.4453125vw, 25.66875px) * 1);
  }
  .keyvisual .detail .tag-list.second {
    margin-top: calc(clamp(0px, 0.8190104167vw, 14.545625px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .detail .tag-list {
    margin-top: calc(clamp(0px, 4.288vw, 30.4447999999px) * 1);
    width: 100%;
    font-size: calc(clamp(0px, 2.6204444444vw, 18.6051555555px) * 1);
    color: black;
    -moz-column-gap: calc(clamp(0px, 1.1911111111vw, 8.4568888889px) * 1);
    column-gap: calc(clamp(0px, 1.1911111111vw, 8.4568888889px) * 1);
    row-gap: calc(clamp(0px, 1.5484444444vw, 10.9939555555px) * 1);
  }
  .keyvisual .detail .tag-list.second {
    margin-top: calc(clamp(0px, 1.7866666667vw, 12.6853333333px) * 1);
  }
}
@media screen and (max-width: 325px) {
  .keyvisual .detail .tag-list {
    width: calc(clamp(0px, 75.3973333331vw, 535.3210666647px) * 1);
  }
}
@media screen and (max-width: 290px) {
  .keyvisual .detail .tag-list {
    width: calc(clamp(0px, 82.5439999997vw, 586.0623999978px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail .tag-disc {
    width: calc(clamp(0px, 0.2408854167vw, 4.278125px) * 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.0963541667vw, 1.71125px) * 1);
    border-width: calc(clamp(0px, 0.0481770833vw, 0.855625px) * 1);
    padding-left: calc(clamp(0px, 0.43359375vw, 7.700625px) * 1);
    padding-right: calc(clamp(0px, 0.4817708333vw, 8.55625px) * 1);
    font-size: calc(clamp(0px, 0.7708333333vw, 13.69px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .detail .tag-item {
    color: black;
    border-width: calc(clamp(0px, 0.2382222222vw, 1.6913777778px) * 1);
    font-size: calc(clamp(0px, 2.6204444444vw, 18.6051555555px) * 1);
    padding-top: calc(clamp(0px, 0.2382222222vw, 1.6913777778px) * 1);
    padding-bottom: calc(clamp(0px, 0.1191111111vw, 0.8456888889px) * 1);
    padding-left: calc(clamp(0px, 1.072vw, 7.6112px) * 1);
    padding-right: calc(clamp(0px, 0.9528888889vw, 6.7655111111px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .detail .tag-item span {
    font-size: 80%;
    vertical-align: baseline;
  }
}
.keyvisual .detail span {
  font-size: 80%;
}
@media screen and (min-width: 1024px) {
  .keyvisual .text {
    margin-top: calc(clamp(0px, 0.6744791667vw, 11.97875px) * 1);
    font-size: calc(clamp(0px, 1.01171875vw, 17.968125px) * 1);
    letter-spacing: calc(clamp(0px, 0.0481770833vw, 0.855625px) * 1);
    line-height: 1.7;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .text {
    color: black;
    margin-top: calc(clamp(0px, 0.8337777778vw, 5.9198222222px) * 1);
    font-size: calc(clamp(0px, 3.5733333333vw, 25.3706666666px) * 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.0598958333vw, 18.82375px) * 1);
    width: calc(clamp(0px, 5.05859375vw, 89.840625px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .tag {
    font-weight: bold;
    width: calc(clamp(0px, 12.5066666666vw, 88.797333333px) * 1);
    font-size: calc(clamp(0px, 2.6204444444vw, 18.6051555555px) * 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.0963541667vw, 1.71125px) * 1) solid #000;
    padding: calc(clamp(0px, 0.2890625vw, 5.13375px) * 1) calc(clamp(0px, 0.72265625vw, 12.834375px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .tag span {
    border: calc(clamp(0px, 0.2382222222vw, 1.6913777778px) * 1) solid #000;
    padding: calc(clamp(0px, 0.9528888889vw, 6.7655111111px) * 1) calc(clamp(0px, 1.1911111111vw, 8.4568888889px) * 1);
  }
}
.keyvisual .cta {
  margin-top: calc(clamp(0px, 1.4453125vw, 25.66875px) * 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, 10.5989583333vw, 188.2375px) * 1);
    height: calc(clamp(0px, 2.16796875vw, 38.503125px) * 1);
  }
  .keyvisual .cta:hover {
    background-color: #262626;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .cta {
    width: 100%;
    height: calc(clamp(0px, 10.72vw, 76.1119999997px) * 1);
    font-size: calc(clamp(0px, 4.0497777778vw, 28.7534222221px) * 1);
    margin-top: calc(clamp(0px, 4.1688888889vw, 29.599111111px) * 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.8190104167vw, 14.545625px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .cta a {
    font-size: calc(clamp(0px, 4.0497777778vw, 28.7534222221px) * 1);
    letter-spacing: 0.1em;
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .note {
    margin-top: calc(clamp(0px, 1.9270833333vw, 34.225px) * 1);
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .note {
    margin-top: calc(clamp(0px, 2.3822222222vw, 16.9137777777px) * 1);
  }
}
@media screen and (min-width: 1024px) {
  .keyvisual .note li {
    font-size: 0.731981982vw;
    line-height: 1.61em;
    letter-spacing: calc(clamp(0px, 0.0481770833vw, 0.855625px) * 1);
  }
}
@media screen and (min-width: 1024px) and (min-width: 1776px) {
  .keyvisual .note li {
    font-size: 13px;
  }
}
@media screen and (max-width: 1023px) {
  .keyvisual .note li {
    font-size: calc(clamp(0px, 2.7395555555vw, 19.4508444444px) * 1);
    line-height: 1.5em;
    letter-spacing: calc(clamp(0px, 0.2382222222vw, 1.6913777778px) * 1);
  }
}