@keyframes spark {
  to {
    transform: scale(0.9);
  }
}
@keyframes ipip {
  0%, 30% {
    transform: translateY(0);
  }
  15% {
    transform: translateY(-10%);
  }
}
.wrap {
  position: relative;
  width: 100%;
  overflow: hidden;
}

audio {
  z-index: -1;
  position: absolute;
  opacity: 0;
  top: 0;
  left: 0;
  pointer-events: none;
}

.preload {
  position: absolute;
  z-index: -1;
  opacity: 0;
  width: 25%;
  top: 0;
  left: 0;
  pointer-events: none;
}
.preload img {
  position: absolute;
  top: 0;
  left: 0;
}

.title {
  display: block;
  max-width: 70%;
  max-height: 20%;
  margin-top: 5%;
}

.index-img-1 {
  display: block;
  max-width: 65%;
  max-height: 8%;
}

.index-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  background: url("../img/index-bg.jpg") #1d6ab2 no-repeat bottom center;
  background-size: 100% auto;
}
.index-wrap .index-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  gap: 1%;
}
.index-wrap .index-flex .index-img-2 {
  display: block;
  max-width: 80%;
  max-height: 12%;
}
.index-wrap .index-flex .btn-index {
  display: block;
  max-width: 50%;
  animation: spark 1s infinite alternate;
}
.index-wrap .index-flex .btn-detail {
  font-size: 1.25rem;
  border-bottom: 1px solid #000;
}

.privacy-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  background: url("../img/privacy-bg.jpg") #1d6ab2 no-repeat bottom center;
  background-size: 100% auto;
}
.privacy-wrap .privacy-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  gap: 1%;
}
.privacy-wrap .privacy-flex .privacy-block {
  display: flex;
  align-items: center;
  flex-direction: column;
  width: 80%;
  height: 50%;
  padding: 1rem;
  border-radius: 3rem;
  -webkit-border-radius: 3rem;
  box-shadow: 0 0 1rem #76ed56;
  background: #FFF;
  gap: 1rem;
}
.privacy-wrap .privacy-flex .privacy-block > img {
  display: block;
  width: 50%;
}
.privacy-wrap .privacy-flex .privacy-block article {
  width: 100%;
  flex: 1 0 0;
  overflow-y: auto;
  font-size: 0.85rem;
  text-align: justify;
  -webkit-overflow-scrolling: touch;
}
.privacy-wrap .privacy-flex .privacy-block .btn-check {
  position: relative;
  padding-left: 2rem;
}
.privacy-wrap .privacy-flex .privacy-block .btn-check span {
  position: absolute;
  display: block;
  width: 1.5rem;
  height: 1.5rem;
  border: 2px solid #000;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  background: #FFF;
}
.privacy-wrap .privacy-flex .privacy-block .btn-check.active span {
  background: url("../img/icon-check.svg") #FFF no-repeat center center;
  background-size: contain;
}
.privacy-wrap .privacy-flex .privacy-block .btn-start {
  display: block;
  max-width: 50%;
  pointer-events: none;
  opacity: 0.5;
}
.privacy-wrap .privacy-flex .privacy-block .btn-start.active {
  opacity: 1;
  pointer-events: all;
  animation: spark 1s infinite alternate;
}
.privacy-wrap .privacy-flex .privacy-ip {
  pointer-events: none;
  position: absolute;
  display: block;
  bottom: 0;
  left: 0;
  width: 100%;
}

.photo-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  background: url("../img/photo-bg.jpg") #1d6ab2 no-repeat bottom center;
  background-size: 100% auto;
}
.photo-wrap .photo-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  gap: 1%;
}
.photo-wrap .photo-flex .photo-des {
  display: block;
  max-width: 75%;
  max-height: 9%;
}
.photo-wrap .photo-flex .upload-preview,
.photo-wrap .photo-flex .crop-block {
  position: relative;
  width: 55%;
  padding-top: 55%;
  background: url("../img/photo-temp.jpg");
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: cover !important;
  background-color: #FFF;
  margin: 1.5% 0;
  border-radius: 50%;
  -webkit-border-radius: 50%;
  box-shadow: 0 0 1rem #76ed56;
  overflow: hidden;
}
.photo-wrap .photo-flex .upload-preview .result,
.photo-wrap .photo-flex .crop-block .result {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.photo-wrap .photo-flex .upload-preview .result .cropper-container,
.photo-wrap .photo-flex .upload-preview .result img,
.photo-wrap .photo-flex .crop-block .result .cropper-container,
.photo-wrap .photo-flex .crop-block .result img {
  display: block;
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
}
.photo-wrap .photo-flex .upload-preview .cropper-bg,
.photo-wrap .photo-flex .crop-block .cropper-bg {
  background: none;
}
.photo-wrap .photo-flex .upload-preview .img-result,
.photo-wrap .photo-flex .crop-block .img-result {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
}
.photo-wrap .photo-flex .upload-preview .img-result img,
.photo-wrap .photo-flex .crop-block .img-result img {
  display: block;
  width: 100%;
}
.photo-wrap .photo-flex .imageUpload {
  z-index: -1;
  position: absolute;
  opacity: 0;
}
.photo-wrap .photo-flex .btn-android-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 5%;
}
.photo-wrap .photo-flex .btn-android-flex .btn-android-photo,
.photo-wrap .photo-flex .btn-android-flex .btn-android-camera {
  display: block;
  width: 15%;
  animation: spark 1s infinite alternate;
}
.photo-wrap .photo-flex .btn-photo-ios {
  position: relative;
  display: block;
  width: 15%;
  animation: spark 1s infinite alternate;
}
.photo-wrap .photo-flex h3 {
  font-size: 1.25rem;
  color: #b41717;
  text-shadow: 0 1px 1px #FFF, 0 1px 3px #FFF;
  text-align: center;
}
.photo-wrap .photo-flex h3 p {
  font-size: 1rem;
  margin-top: 0.5rem;
}
.photo-wrap .photo-flex .photo-btn-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3%;
}
.photo-wrap .photo-flex .photo-btn-flex a {
  display: block;
  width: 25%;
}

.costume-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  background: url("../img/costume-bg.jpg") #1d6ab2 no-repeat bottom center;
  background-size: 100% auto;
}
.costume-wrap .costume-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  gap: 1%;
}
.costume-wrap .costume-flex .costume-slot-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 40%;
  width: 100%;
  gap: 3%;
}
.costume-wrap .costume-flex .costume-slot-flex .costume-slot-block {
  position: relative;
  width: 40%;
  height: 100%;
  border-radius: 2.5rem;
  -webkit-border-radius: 2.5rem;
  background: #FFF;
  box-shadow: 0 0 1rem #76ed56;
  overflow: hidden;
}
.costume-wrap .costume-flex .costume-slot-flex .costume-slot-block .reel-wrap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 120px;
  height: 150px;
}
.costume-wrap .costume-flex .costume-slot-flex .costume-slot-block .reel-wrap .slot-reel {
  position: relative;
  width: 100%;
  height: 100%;
}
.costume-wrap .costume-flex .costume-slot-flex .costume-slot-block .reel-wrap .slot-reel img {
  display: block;
  width: 100%;
  height: 100%;
  margin: auto;
}
.costume-wrap .costume-flex .costume-btn-flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 1.5%;
  margin-top: 1.5%;
}
.costume-wrap .costume-flex .costume-btn-flex a {
  display: block;
  width: 30%;
}

.buffering-wrap {
  position: relative;
  width: 100%;
  height: 100%;
  background: url("../img/buffering-bg.jpg") #1d6ab2 no-repeat bottom center;
  background-size: 100% auto;
}
.buffering-wrap .buffering-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  gap: 1%;
}
.buffering-wrap .buffering-flex .buffering-ip {
  position: relative;
  display: block;
  max-width: 80%;
  max-height: 20%;
}
.buffering-wrap .buffering-flex .buffering-ip img {
  display: block;
  max-width: 100%;
  max-height: 100%;
  animation: ipip 2s infinite;
}
.buffering-wrap .buffering-flex .buffering-ip img:not(:first-child) {
  position: absolute;
  top: 0;
  left: 0;
}
.buffering-wrap .buffering-flex .buffering-ip img:nth-child(2) {
  animation-delay: 0.25s;
}
.buffering-wrap .buffering-flex .buffering-ip img:nth-child(3) {
  animation-delay: 0.5s;
}
.buffering-wrap .buffering-flex .buffering-ip-words {
  display: block;
  max-width: 90%;
  max-height: 10%;
  animation: spark 1s infinite alternate;
}
.buffering-wrap .buffering-flex .buffering-swiper-wrap {
  display: flex;
  justify-content: center;
  align-items: center;
  flex: 1 0 0;
  width: 100%;
  padding: 5% 0;
}
.buffering-wrap .buffering-flex .buffering-swiper {
  position: relative;
  background: #FFF;
  padding: 5% 0 2.5% 0;
  width: 85%;
  height: 100%;
  max-height: 250px;
  margin: 1.5rem 0;
  border-radius: 1rem;
  -webkit-border-radius: 1rem;
  box-shadow: 0 0 1rem #76ed56;
}
.buffering-wrap .buffering-flex .swiper {
  height: 100%;
}
.buffering-wrap .buffering-flex .swiper .swiper-slide {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  height: 100%;
  width: 100%;
  gap: 5%;
}
.buffering-wrap .buffering-flex .swiper .swiper-slide img {
  display: block;
  width: 80%;
}
.buffering-wrap .buffering-flex .swiper .swiper-slide div {
  background-repeat: no-repeat !important;
  background-position: center center !important;
  background-size: contain !important;
}
.buffering-wrap .buffering-flex .swiper .swiper-slide div:nth-child(1) {
  width: 60%;
  height: 25%;
}
.buffering-wrap .buffering-flex .swiper .swiper-slide div:nth-child(2) {
  width: 90%;
  flex: 1 0 0;
}
.buffering-wrap .buffering-flex .swiper .btn-flex {
  position: absolute;
  top: 2.5%;
  left: 0;
  width: 100%;
  height: 20%;
  padding: 0 10%;
  display: flex;
  justify-content: space-between;
  align-items: center;
}
.buffering-wrap .buffering-flex .swiper .swiper-button-prev,
.buffering-wrap .buffering-flex .swiper .swiper-button-next {
  position: static;
  width: auto;
  height: 100%;
  margin: 0;
  transform: none;
}
.buffering-wrap .buffering-flex .swiper .swiper-button-prev::after,
.buffering-wrap .buffering-flex .swiper .swiper-button-next::after {
  display: none;
}
.buffering-wrap .buffering-flex .swiper .swiper-button-prev img,
.buffering-wrap .buffering-flex .swiper .swiper-button-next img {
  display: block;
  height: 100%;
}

.result-wrap {
  position: relative;
  width: 100%;
  height: 100%;
}
.result-wrap .result-flex {
  display: flex;
  flex-direction: column;
  align-items: center;
  height: 100%;
  gap: 1%;
}
.result-wrap .video-block {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.result-wrap .video-block video {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
}
.result-wrap .result-block {
  position: absolute;
  display: flex;
  justify-content: space-around;
  align-items: center;
  bottom: 0;
  left: 0;
  width: 100%;
  padding: 5% 3%;
  background: #6dbd4b;
  transform: translateY(100%);
  transition: transform 1s;
}
.result-wrap .result-block.active {
  transform: translateY(0);
}
.result-wrap .result-block.active .result-des {
  opacity: 1;
}
.result-wrap .result-block .result-des {
  position: absolute;
  bottom: 85%;
  width: 100%;
  left: 0;
  opacity: 0;
  transition: opacity 1s;
}
.result-wrap .result-block a {
  display: block;
  width: 30%;
}

.fail-lightbox,
.download-lightbox,
.browser-lightbox {
  z-index: 9;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.fail-lightbox .fail-lightbox-block,
.fail-lightbox .download-lightbox-block,
.fail-lightbox .browser-lightbox-block,
.download-lightbox .fail-lightbox-block,
.download-lightbox .download-lightbox-block,
.download-lightbox .browser-lightbox-block,
.browser-lightbox .fail-lightbox-block,
.browser-lightbox .download-lightbox-block,
.browser-lightbox .browser-lightbox-block {
  padding: 2rem 1.5rem;
  color: #009944;
  font-size: 1.75rem;
  border-radius: 2.5rem;
  -webkit-border-radius: 2.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  border: 1px solid #009944;
  background: #FFF;
  box-shadow: 0 0 1rem #76ed56;
  text-align: center;
}
.fail-lightbox .fail-lightbox-block h2,
.fail-lightbox .download-lightbox-block h2,
.fail-lightbox .browser-lightbox-block h2,
.download-lightbox .fail-lightbox-block h2,
.download-lightbox .download-lightbox-block h2,
.download-lightbox .browser-lightbox-block h2,
.browser-lightbox .fail-lightbox-block h2,
.browser-lightbox .download-lightbox-block h2,
.browser-lightbox .browser-lightbox-block h2 {
  font-size: 1.25rem;
  font-weight: normal;
}
.fail-lightbox .fail-lightbox-block article,
.fail-lightbox .download-lightbox-block article,
.fail-lightbox .browser-lightbox-block article,
.download-lightbox .fail-lightbox-block article,
.download-lightbox .download-lightbox-block article,
.download-lightbox .browser-lightbox-block article,
.browser-lightbox .fail-lightbox-block article,
.browser-lightbox .download-lightbox-block article,
.browser-lightbox .browser-lightbox-block article {
  font-size: 1rem;
  color: #000;
  text-align: justify;
  margin: 0.5rem 0;
}
.fail-lightbox .fail-lightbox-block article ol,
.fail-lightbox .download-lightbox-block article ol,
.fail-lightbox .browser-lightbox-block article ol,
.download-lightbox .fail-lightbox-block article ol,
.download-lightbox .download-lightbox-block article ol,
.download-lightbox .browser-lightbox-block article ol,
.browser-lightbox .fail-lightbox-block article ol,
.browser-lightbox .download-lightbox-block article ol,
.browser-lightbox .browser-lightbox-block article ol {
  margin-left: 1.25rem;
}
.fail-lightbox .fail-lightbox-block .btn-lightbox-again,
.fail-lightbox .fail-lightbox-block .btn-lightbox-download,
.fail-lightbox .fail-lightbox-block .btn-lightbox-browser,
.fail-lightbox .download-lightbox-block .btn-lightbox-again,
.fail-lightbox .download-lightbox-block .btn-lightbox-download,
.fail-lightbox .download-lightbox-block .btn-lightbox-browser,
.fail-lightbox .browser-lightbox-block .btn-lightbox-again,
.fail-lightbox .browser-lightbox-block .btn-lightbox-download,
.fail-lightbox .browser-lightbox-block .btn-lightbox-browser,
.download-lightbox .fail-lightbox-block .btn-lightbox-again,
.download-lightbox .fail-lightbox-block .btn-lightbox-download,
.download-lightbox .fail-lightbox-block .btn-lightbox-browser,
.download-lightbox .download-lightbox-block .btn-lightbox-again,
.download-lightbox .download-lightbox-block .btn-lightbox-download,
.download-lightbox .download-lightbox-block .btn-lightbox-browser,
.download-lightbox .browser-lightbox-block .btn-lightbox-again,
.download-lightbox .browser-lightbox-block .btn-lightbox-download,
.download-lightbox .browser-lightbox-block .btn-lightbox-browser,
.browser-lightbox .fail-lightbox-block .btn-lightbox-again,
.browser-lightbox .fail-lightbox-block .btn-lightbox-download,
.browser-lightbox .fail-lightbox-block .btn-lightbox-browser,
.browser-lightbox .download-lightbox-block .btn-lightbox-again,
.browser-lightbox .download-lightbox-block .btn-lightbox-download,
.browser-lightbox .download-lightbox-block .btn-lightbox-browser,
.browser-lightbox .browser-lightbox-block .btn-lightbox-again,
.browser-lightbox .browser-lightbox-block .btn-lightbox-download,
.browser-lightbox .browser-lightbox-block .btn-lightbox-browser {
  display: block;
  width: 50%;
  margin: auto;
  margin-top: 1rem;
}

.index-lightbox {
  z-index: 9;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
}
.index-lightbox .index-lightbox-block {
  padding: 2rem 1.5rem;
  background: #FFF;
  border-radius: 2.5rem;
  -webkit-border-radius: 2.5rem;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  height: 85%;
}
.index-lightbox .index-lightbox-block .lightbox-close {
  position: absolute;
  width: 3rem;
  top: -1rem;
  right: -1rem;
}
.index-lightbox .index-lightbox-block .index-lightbox-flex {
  display: flex;
  flex-direction: column;
  height: 100%;
  gap: 1rem;
}
.index-lightbox .index-lightbox-block .index-lightbox-flex article {
  flex: 1 0 0;
  width: 100%;
  text-align: justify;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
}
.index-lightbox .index-lightbox-block .index-lightbox-flex article p {
  color: #009944;
}

.download-notice-ios,
.download-notice-other {
  display: none;
  position: absolute;
  bottom: 30%;
  left: 50%;
  padding: 0.5rem 1rem;
  color: #FFF;
  background: #009944;
  border-radius: 5px;
  -webkit-border-radius: 5px;
  white-space: nowrap;
  transform: translateX(-50%);
}

.pc-kv {
  z-index: 9;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url("../img/pc-kv.png") #c9e2c1 no-repeat center center;
  background-size: auto 60%;
}

@media only screen and (max-width: 1024px) and (orientation: landscape) {
  .landscape {
    display: block !important;
    z-index: 9;
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: #FFF;
  }
  .landscape p {
    font-size: 1.25rem;
    color: #009944;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}/*# sourceMappingURL=index.css.map */