@media (max-width: 767px) {
  .only-pc {
    display: none;
  }
}
@media (min-width: 768px) {
  .only-sp {
    display: none;
  }
}
@media (max-width: 767px) {
  .only-tablet {
    display: none;
  }
}
@media (min-width: 768px) {
  .only-tablet {
    display: none;
  }
}
@media (min-width: 767px) and (max-width: 1079px) {
  .only-tablet {
    display: block;
  }
}
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeInUp {
  from {
    transform: translate3d(0, 10px, 0);
    opacity: 0;
  }
  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}
.fadeInUp {
  opacity: 0;
  transition: opacity 1s ease-out, transform 1s ease-out;
}

.fadeInUp[style*=visible] {
  animation-name: fadeInUp;
  -webkit-animation-name: fadeInUp;
  animation-duration: 2s;
  animation-fill-mode: both;
}

.fadeIn {
  opacity: 0;
}

.fadeIn[style*=visible] {
  animation-name: fadeIn;
  -webkit-animation-name: fadeIn;
  animation-duration: 1s;
  animation-fill-mode: both;
}

body {
  opacity: 0;
}

.kv {
  color: #fff;
  box-sizing: border-box;
  text-align: center;
  position: relative;
}
.kv-img {
  position: relative;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
.kv-img img {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  min-height: 18rem;
}
@media (min-width: 768px) {
  .kv-img img {
    min-height: 30rem;
    max-height: 80rem;
  }
}
.kv-ttl {
  font-size: 2.4rem;
  line-height: 3.0rem;
  letter-spacing: 0.01em;
  font-weight: 700;
  margin: 0 -2rem 0.5rem -2rem !important;
}
@media (min-width: 768px) {
  .kv-ttl {
    margin: 0 -3rem 0 -3rem !important;
    font-size: 5rem;
    line-height: 7rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1023px) {
  .kv-ttl {
    font-size: 4rem;
    line-height: 5rem;
  }
}
@media (min-width: 768px) {
  .kv-text {
    margin: 3rem auto 0 auto;
  }
}
.kv-txt {
  font-size: 1.2rem;
  line-height: 1.8rem;
  letter-spacing: -0.04em;
  font-weight: 500;
}
@media (min-width: 768px) {
  .kv-txt {
    font-size: 1.8rem;
    line-height: 3.0rem;
    letter-spacing: 0;
    font-weight: 700;
  }
}
@media (max-width: 767px) {
  .kv-txt {
    white-space: nowrap;
  }
}
.kv-txt + .kv-txt {
  margin: 2.8rem 0 0 0;
}
.kv-txt .lp-ex {
  letter-spacing: -0.299em;
}
.kv .common-section_inner {
  padding: 0 1rem;
  position: absolute;
  top: 50%;
  left: 0;
  right: 0;
  margin: auto;
  transform: translateY(-50%);
  display: flex;
  flex-flow: column;
  justify-content: center;
  height: 100%;
}
@media (min-width: 768px) {
  .kv .common-section_inner {
    max-width: 108rem;
    padding: 2rem 4rem;
  }
}
@media (max-width: 767px) {
  .kv .common-section_inner {
    padding: 0;
  }
}/*# sourceMappingURL=kv.css.map */