@charset "UTF-8";
body {
  background-color: #101010;
  color: #fff;
  font-family: "Noto Sans JP", "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic Pro", "游ゴシック体", YuGothic, "Yu Gothic Medium", "メイリオ", "Meiryo", "ＭＳ Ｐゴシック", "Arial", sans-serif;
  font-size: 14px;
}

img {
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.br {
  display: inline-block;
}

.delighter {
  opacity: 0;
  transform: translateY(80px);
  transition: 0.5s 0.3s;
}
.delighter.started {
  opacity: 1;
  transform: translateY(0);
}

.wrap {
  padding: 100px 0 50px;
  background-color: #f0f0f0;
  background-image: radial-gradient(circle, #ccc 2px, transparent 2px), radial-gradient(circle, #ccc 2px, transparent 2px);
  background-position: 0 0, 12px 24px;
  background-size: 24px 48px;
  background-attachment: fixed;
}

.kv--wrap {
  width: 85%;
  max-width: 1440px;
  aspect-ratio: 3/2;
  margin: auto;
  padding: 20px;
  border: 1px solid #101010;
}
.kv--wrap .kv-img {
  width: 100%;
  height: 100%;
  background-size: cover;
}

.btn {
  margin-top: 1em;
}

.btn--main {
  display: inline-block;
  padding: 0.8em 3em;
  background-color: #fff;
  font-weight: bold;
  text-align: center;
  color: #000;
}
.btn--main.disabled {
  background-color: #aaa;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}

.section-tit {
  margin-bottom: 1em;
  padding-bottom: 0.8em;
  font-family: "Plus Jakarta Sans", sans-serif;
  font-weight: 800;
  font-size: 28px;
  color: #FFFC99;
  text-align: center;
  position: relative;
}
.section-tit::after {
  content: "";
  position: absolute;
  display: block;
  width: 100%;
  height: 1px;
  bottom: 0;
  left: 0;
  background-image: linear-gradient(to right, #aaa, #aaa 1px, transparent 1px, transparent 3px);
  background-size: 6px 1px;
  background-position: left bottom;
  background-repeat: repeat-x;
}

.content {
  width: 62.5vw;
  max-width: 900px;
  margin: 50px auto 0;
}
.content:first-of-type {
  margin-top: 100px;
}
.content .inner {
  padding: 30px;
  text-align: center;
  background-color: #000;
  position: relative;
}
.content .inner .txt {
  margin-bottom: 1em;
}
.content .inner .txt:last-of-type {
  margin-bottom: 0;
}
.content .inner .sub-tit {
  margin-bottom: 0.5em;
  font-size: 1.2em;
  font-weight: bold;
}
.content .inner .form {
  margin-top: 2em;
  padding: 20px;
  text-align: center;
  background-color: #1c2874;
}
.content .inner .form .limited {
  margin-bottom: 0.3em;
  font-size: 1.4em;
  font-weight: bold;
}
.content .inner .img-message {
  margin: auto;
  width: 100%;
  max-width: 580px;
}
.content .inner .movie-thumb {
  margin-top: 20px;
}

footer {
  margin-top: 3em;
}
footer .copyright {
  font-size: 12px;
  text-align: center;
  color: #000;
}

.attention {
  font-size: 0.9em;
}

@media screen and (min-width: 961px) {
  .sp {
    display: none !important;
  }
  .header-logo {
    width: 140px;
    position: absolute;
    top: 3vw;
    left: 3vw;
  }
  .btn--main {
    transition: all 0.3s;
  }
  .btn--main:hover {
    opacity: 0.5;
    transition: all 0.3s;
  }
  .movie-thumb a img {
    transition: all 0.3s;
  }
  .movie-thumb a:hover img {
    opacity: 0.5;
    transition: all 0.3s;
  }
}
@media screen and (max-width: 960px) {
  .pc {
    display: none !important;
  }
  .wrap {
    padding: 80px 0 40px;
  }
  .header-logo {
    width: min(46vw, 250px);
    position: absolute;
    top: 5.1vw;
    left: 5.1vw;
  }
  .kv--wrap {
    width: 90%;
    padding: 10px;
  }
  .btn--main {
    display: block;
  }
  .section-tit {
    font-size: 22px;
  }
  .content {
    width: 90%;
    margin: 30px auto 0;
  }
  .content:first-of-type {
    margin-top: 50px;
  }
  .content .inner {
    padding: 20px;
    text-align: left;
  }
  .content .inner .sub-tit {
    margin-bottom: 0.5em;
    font-size: 1.2em;
    font-weight: bold;
  }
  .content .inner .form {
    margin-top: 2em;
    padding: 14px;
  }
}