html, body {
  height: 100%;
  margin: 0;
  height: auto;
  overflow-y: auto;
}
body {
  display: block !important;
}
picture {
  display: block;
}
html {
  -webkit-overflow-scrolling: touch;
}
@keyframes sparkle_pc {
  0% { left: -750px; }
  90% { left: 750px; }
  100% { left: 750px; }
}

/* --- 修正箇所: ここにあった input, img, a, svg への包括的な指定を削除しました --- */

.llw {
  max-width: 750px;
  width: 100%;
  background: #fff;
  margin: 0 auto;
  overflow: hidden;
}

.posRel {
  position: relative;
}
.posAbs {
  position: absolute;
}
.lp01_01 .elm01 {
  width: 100%;
  left: 0;
  top: 76%;
}
.lp01_01 .elm01:before {
  content: "";
  display: block;
  padding-top: 37.3333333333%;
}
.lp01_01 .elm01_01 {
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}
.lp01_01 .elm01_02 {
  width: 96.4%;
  left: 50%;
  top: 6px;
  overflow: hidden;
  background-color: rgba(0,0,0,0);
  -webkit-clip-path: url(#my-clip-path);
  clip-path: url(#my-clip-path);
  transform: translateX(-50%);
}
@media screen and (max-width: 750px) {
  .lp01_01 .elm01_02 {
    top: .8vw;
  }
}
.lp01_01 .elm01_02:before {
  content: "";
  display: block;
  padding-top: 32.5034578147%;
}
.lp01_01 .elm01_02 .blink {
  display: block;
  min-width: 100%;
  min-height: 100%;
  left: 750px;
  background: linear-gradient(132deg, rgba(255, 255, 255, 0) 30%, rgba(255, 255, 255, 0.7) 50%, rgba(255, 255, 255, 0) 70%);
  animation: sparkle_pc 4s 0s infinite forwards ease;
  top: 0;
}
.lp01_01.custom .elm01_02 {
  width: 95.0666666667%;
  top: 0;
}
.lp01_01.custom .elm01_02:before {
  padding-top: 37.3071528752%;
}
.modal__btn {
  cursor: pointer;
}
.modalContainer {
  position: fixed;
  display: none;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 20px;
  opacity: 0;
  z-index: -1;
  pointer-events: none;
  box-sizing: border-box;
  justify-content: center;
  justify-items: center;
  align-items: center;
}
.modalContainer.js-active {
  display: flex;
  animation: .5s ease-in-out 0s modalOpen forwards;
}
.modalContainer.js-close {
  display: flex;
  animation: .5s ease-in-out 0s modalClose forwards;
}
.modalContents {
  position: relative;
  max-width: 900px;
  width: 90%;
  height: auto;
  padding: 20px;
  background: #fff;
  border-radius: 10px;
  z-index: 200;
}
.modalContentsBody {
  max-height: 80vh;
  overflow-y: auto;
}
.modal__close {
  position: absolute;
  width: 40px;
  height: 40px;
  top: -10px;
  right: -10px;
  background: #000;
  border-radius: 50%;
  cursor: pointer;
}
.modal__close::before, .modal__close::after {
  position: absolute;
  content: "";
  display: block;
  background: #fff;
  width: 60%;
  height: 1px;
  top: 50%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
.modal__close::before {
  transform: rotate(45deg);
}
.modal__close::after {
  transform: rotate(-45deg);
}
.modal__bg {
  position: absolute;
  width: 100%;
  height: 100%;
  background: rgba(0,0,0,.7);
}
@keyframes modalOpen {
  0% { z-index: 100; opacity: 0; pointer-events: auto; }
  100% { z-index: 100; opacity: 1; pointer-events: auto; }
}
@keyframes modalClose {
  0% { z-index: 100; opacity: 1; pointer-events: auto; }
  99% { z-index: 100; opacity: 0; }
  100% { z-index: -1; opacity: 0; pointer-events: none; }
}