@charset "UTF-8";
@import url("https://fonts.googleapis.com/css2?family=Montserrat:wght@700&family=Zen+Kaku+Gothic+New:wght@400;500;700;900&display=swap");
@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }
  .animate__animated[class*=Out] {
    opacity: 0;
  }
}
* {
  margin: 0;
  padding: 0;
  text-decoration: none;
  box-sizing: border-box;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
  user-drag: none;
  -webkit-user-drag: none;
  user-select: none;
  -webkit-user-select: none;
  -moz-user-select: none;
  font-feature-settings: "palt";
}

*:focus {
  outline: none;
}

.current,
.now-state,
.selected {
  opacity: 1;
}

.display {
  opacity: 1;
  position: fixed;
}

.page,
.state,
.area-exp-display {
  transition: opacity 0.5s;
}
.page:not(.current):not(.now-state):not(.selected),
.state:not(.current):not(.now-state):not(.selected),
.area-exp-display:not(.current):not(.now-state):not(.selected) {
  opacity: 0;
  pointer-events: none;
}
.page:not(.current):not(.now-state):not(.selected) *,
.state:not(.current):not(.now-state):not(.selected) *,
.area-exp-display:not(.current):not(.now-state):not(.selected) * {
  pointer-events: none !important;
}

.zen-kaku-gothic-new-light {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 300;
  font-style: normal;
}

.zen-kaku-gothic-new-regular {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 400;
  font-style: normal;
}

.zen-kaku-gothic-new-medium {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 500;
  font-style: normal;
}

.zen-kaku-gothic-new-bold {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 700;
  font-style: normal;
}

.zen-kaku-gothic-new-black {
  font-family: "Zen Kaku Gothic New", sans-serif;
  font-weight: 900;
  font-style: normal;
}

button,
a,
.swiper-button-prev,
.swiper-button-next {
  display: inline-block;
  width: auto;
  cursor: pointer;
  border: none;
  transition: 0.25s;
  background-color: transparent;
  transform: translateZ(0);
  will-change: transform;
}
button:active,
a:active,
.swiper-button-prev:active,
.swiper-button-next:active {
  transform: translateZ(0) scale(0.95);
}

@media screen and (min-width: 768px) {
  button:hover,
  a:hover {
    transform: translateZ(0) scale(1.05);
  }
  button:active,
  a:active {
    transform: translateZ(0) scale(0.95);
  }
}
html {
  width: 100%;
  height: 100%;
  font-family: "Zen Kaku Gothic New", sans-serif;
  background: url(../img/common/PC-bg.png);
  background-position: center;
  background-size: cover;
  margin: 0 auto;
  overflow: hidden;
  font-size: min(2.13vw, 1.1994vh);
}

img {
  -webkit-user-select: none;
  -moz-user-select: none;
       user-select: none;
  -webkit-touch-callout: none;
  width: 100%;
}

img.allow-save {
  -webkit-touch-callout: default;
}

.brown-button {
  display: block;
  position: absolute;
  bottom: 11.0062893082%;
  width: 53.3333333333%;
  left: 0;
  right: 0;
  margin: 0 auto;
  aspect-ratio: 200/46;
  background-color: #bdad93;
  color: white;
  container-type: inline-size;
  pointer-events: auto;
  border: 1px solid #ad9978;
  box-shadow: 0 0 10px rgba(80, 79, 91, 0.4);
}
.brown-button span {
  display: block;
  position: absolute;
  font-size: 1.2rem;
  transform: translate(-50%, -50%);
  top: 50%;
  left: 50%;
}
.brown-button:before {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 7%;
  width: 5.5%;
  height: 32.6086956522%;
  background-image: url(../img/common/next.svg);
  background-repeat: no-repeat;
  background-position: center center;
}

.blue-button {
  display: block;
  position: absolute;
  bottom: 9.4395280236%;
  width: 53.8666666667%;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 70%;
  aspect-ratio: 202/46;
  background-color: #4bb5f7;
  color: white;
  container-type: inline-size;
  box-shadow: 0 0 10px rgba(80, 79, 91, 0.4);
}
.blue-button span {
  display: block;
  position: absolute;
  font-size: 1.05rem;
  margin-left: 10%;
  transform: translateY(-54%);
  top: 50%;
}

body {
  width: 100%;
  font-size: min(4.2666666667vw, 2.5157232704vh);
  background-image: url(../img/common/PC-bg.png);
  background-size: cover;
  margin: 0 auto;
  overflow-y: auto !important;
}
body::after {
  content: "";
  position: absolute;
  width: 0;
  height: 0;
  overflow: hidden;
  background-image: url("../img/select/mute-hover.svg"), url("../img/select/unmute-hover.svg"), url("../img/chara-select/CrystalFloat.png"), url("../img/chara-select/DreamPlaza.png"), url("../img/chara-select/WisdomHill.png"), url("../img/chara-select/ElectriCity.png");
}
@media (min-aspect-ratio: 375/660) {
  body {
    width: min(100%, var(--vh, 1vh) * 100 * 375 / 636);
  }
}
body ::-webkit-scrollbar {
  display: none;
}
body .content-wrapper {
  overflow-y: auto;
  height: 100dvh;
}
body .content-wrapper .game-main {
  height: 100dvh;
  overflow: hidden;
  position: relative;
}
body .content-wrapper .game-main .totop-button {
  position: absolute;
  aspect-ratio: 94.3/39;
  width: 22.6666666667%;
  left: 3.2%;
  top: 3.2%;
  z-index: 10;
  opacity: 1;
  transition: opacity transform 0.5s;
}
body .content-wrapper .game-main .totop-button.disappear {
  opacity: 0;
  pointer-events: none;
}
body .content-wrapper .game-main .totop-button img {
  display: block;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transform-origin: center center;
  will-change: transform;
  transition: transform 0.3s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
}
@media (hover: hover) and (pointer: fine) {
  body .content-wrapper .game-main .totop-button:not(.disappear):hover img {
    transform: translateZ(0) scale(1.05);
  }
}
@media (any-hover: none) and (pointer: coarse) {
  body .content-wrapper .game-main .totop-button:not(.disappear):active img {
    transform: translateZ(0) scale(0.95);
  }
}
body .content-wrapper .game-main .mute-button {
  position: absolute;
  width: 10.1333333333%;
  height: auto;
  aspect-ratio: 1;
  box-sizing: border-box;
  z-index: 10;
  right: 3.2%;
  top: 3.2%;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  backface-visibility: hidden;
  border: none;
  outline: none;
  background-color: transparent;
  background-image: url("../img/select/mute.svg");
  background-repeat: no-repeat;
  background-position: center;
  background-size: contain;
  transform: scale(1);
  transition: transform 0.3s, opacity 0.3s;
}
@media (hover: hover) {
  body .content-wrapper .game-main .mute-button:hover {
    background-image: url(../img/select/unmute-hover.svg);
    transform: scale(1.05);
  }
}
@media (any-hover: none) {
  body .content-wrapper .game-main .mute-button:active {
    background-image: url(../img/select/unmute-hover.svg);
    transform: scale(0.95);
  }
}
body .content-wrapper .game-main .mute-button:active {
  background-image: url("../img/select/mute-hover.svg");
  transform: scale(0.95);
}
body .content-wrapper .game-main .mute-button.unmuted {
  background-image: url("../img/select/unmute.svg");
}
body .content-wrapper .game-main .mute-button.unmuted:active {
  background-image: url("../img/select/unmute-hover.svg");
  transform: scale(0.95);
}
@media (hover: hover) {
  body .content-wrapper .game-main .mute-button:hover {
    background-image: url("../img/select/mute-hover.svg");
    transform: scale(1.05);
  }
  body .content-wrapper .game-main .mute-button.unmuted:hover {
    background-image: url("../img/select/unmute-hover.svg");
    transform: scale(1.05);
  }
}
body .content-wrapper .game-main .title {
  height: 100%;
  width: 100%;
  background-size: cover;
  background-image: url(../img/title/title-bg.png);
  background-position: center top;
  position: absolute;
  container-type: inline-size;
}
body .content-wrapper .game-main .title .ribbon {
  display: block;
  position: absolute;
  top: 0%;
  width: 97.0666666667%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
body .content-wrapper .game-main .title .title-logo {
  display: block;
  position: absolute;
  top: 3.9308176101%;
  width: 81.3333333333%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
body .content-wrapper .game-main .title .chara {
  position: absolute;
  top: 18.8679245283%;
  width: 110.4%;
  left: 53%;
  transform-origin: bottom;
  margin-left: -58%;
}
body .content-wrapper .game-main .title .speech-balloon {
  display: block;
  position: absolute;
  bottom: 0%;
  width: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  aspect-ratio: 750/702;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../img/title/speech-balloon.webp);
}
body .content-wrapper .game-main .title .speech-balloon .start-text {
  text-align: center;
  font-size: min(0.85rem, 4.2vw);
  line-height: 157.1428571429%;
  color: #917c5b;
  margin-top: -3.4rem;
}
body .content-wrapper .game-main .title .speech-balloon .to-Luminoustair {
  display: block;
  position: absolute;
  bottom: 25.0737463127%;
  width: 53.8666666667%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
body .content-wrapper .game-main .title .speech-balloon .to-Luminoustair:before {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 7%;
  width: 5.5%;
  height: 32.6086956522%;
  background-image: url(../img/common/next.svg);
  background-repeat: no-repeat;
}
body .content-wrapper .game-main .title .speech-balloon .campaign {
  display: block;
  position: absolute;
  bottom: 0%;
  width: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  aspect-ratio: 375/64;
  background-color: #bdad93;
  position: absolute;
}
body .content-wrapper .game-main .title .speech-balloon .campaign span {
  display: block;
  text-align: center;
}
body .content-wrapper .game-main .title .speech-balloon .campaign span.campaign-title {
  font-size: 1.1rem;
  letter-spacing: 0.05rem;
  color: white;
  margin-top: 0.4rem;
  transform: translateX(0.5%);
}
body .content-wrapper .game-main .title .speech-balloon .campaign span.campaign-period {
  font-size: 0.7rem;
  letter-spacing: 0.06rem;
  color: white;
  margin-top: 0.3rem;
}
body .content-wrapper .game-main .title .speech-balloon .campaign::after {
  content: "";
  width: 81.8666666667%;
  aspect-ratio: 307/28;
  position: absolute;
  background-image: url(../img/title/campaign-decoration.svg);
  transform: translateX(-50%);
  top: 15%;
  left: 50%;
  background-repeat: no-repeat;
}
body .content-wrapper .game-main .area-select {
  position: absolute;
  height: 100%;
  width: 100%;
  background-size: cover;
  background-position: center;
  container-type: inline-size;
  background-image: url(../img/select/bg.png);
  top: 0%;
  transition: opacity 0.5s, top 0.3s cubic-bezier(0.23, 0.74, 0.6, 0.95);
}
body .content-wrapper .game-main .area-select.zoom-up {
  animation: zoomUpAnimation 1.2s cubic-bezier(0.66, 0.07, 0.57, 0.88) forwards;
  animation-delay: 0.7s;
}
body .content-wrapper .game-main .area-select.selected-area {
  top: -13%;
}
body .content-wrapper .game-main .area-select.unselected-area {
  top: 0%;
}
body .content-wrapper .game-main .area-select.zoom-position-0 {
  transform-origin: 25% 32%;
}
body .content-wrapper .game-main .area-select.zoom-position-1 {
  transform-origin: 56% 58%;
}
body .content-wrapper .game-main .area-select.zoom-position-2 {
  transform-origin: 20% 56%;
}
body .content-wrapper .game-main .area-select.zoom-position-3 {
  transform-origin: 38% 49%;
}
body .content-wrapper .game-main .area-select.zoom-up-more {
  top: -10%;
  transform: scale(1.25);
  animation: zoomUpMoreAnimation 2s cubic-bezier(0.12, 0.06, 0.89, 0.04) forwards;
  animation-delay: 0.1s;
}
body .content-wrapper .game-main .area-select .cloud {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  width: 100%;
  height: 100%;
  background-image: url(../img/select/cloud.png);
  background-size: cover;
  background-position: center center;
}
body .content-wrapper .game-main .area-select .cloud.zoom-up {
  animation: zoomUpCloudAnimation 1.2s cubic-bezier(0.68, 0, 0.94, 0.53) forwards;
  animation-delay: 0.7s;
}
body .content-wrapper .game-main .area-select .sound-check {
  display: block;
  position: absolute;
  top: 50.1572327044%;
  width: 90.4%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform: translateY(-50%);
  aspect-ratio: 339/268;
  background-color: rgba(255, 255, 255, 0.9);
  border: 1px solid #917c5b;
  border-radius: 2.3rem;
  color: #917c5b;
  z-index: 10;
}
body .content-wrapper .game-main .area-select .sound-check-inner {
  width: 100%;
  height: 100%;
  position: relative;
}
body .content-wrapper .game-main .area-select .sound-check-text {
  width: 100%;
  font-size: 1.2rem;
  position: absolute;
  top: 11.1940298507%;
  text-align: center;
  margin-left: 0.5rem;
}
body .content-wrapper .game-main .area-select .sound-check-button {
  display: flex;
  justify-content: space-between;
  width: 48.5250737463%;
  position: absolute;
  left: 50%;
  top: 56.7164179104%;
  transform: translate(-50%, -50%);
}
body .content-wrapper .game-main .area-select .sound-check-button-item {
  width: 33.7386018237%;
  display: flex;
  flex-direction: column;
  align-items: center;
}
body .content-wrapper .game-main .area-select .sound-check-button-item button {
  display: block;
  width: 100%;
  aspect-ratio: 1/1;
  padding: 0;
  margin: 0;
  border: none;
  outline: none;
  -moz-appearance: none;
       appearance: none;
  -webkit-appearance: none;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-tap-highlight-color: transparent;
  background-color: transparent;
  background-image: url(../img/select/unmute.svg);
  background-repeat: no-repeat;
  background-position: center center;
  background-size: contain;
  transform-origin: center center;
  transform: scale(1);
  backface-visibility: hidden;
  transition: transform 0.3s, opacity 0.3s;
}
@media (hover: hover) {
  body .content-wrapper .game-main .area-select .sound-check-button-item button:hover {
    background-image: url(../img/select/unmute-hover.svg);
    transform: scale(1.05);
  }
  body .content-wrapper .game-main .area-select .sound-check-button-item button:active {
    background-image: url(../img/select/unmute-hover.svg);
    transform: scale(0.95);
  }
}
@media (any-hover: none) {
  body .content-wrapper .game-main .area-select .sound-check-button-item button:active {
    background-image: url(../img/select/unmute-hover.svg);
    transform: scale(0.95);
  }
}
body .content-wrapper .game-main .area-select .sound-check-button-item:nth-of-type(2) button {
  background-image: url(../img/select/mute.svg);
}
@media (hover: hover) {
  body .content-wrapper .game-main .area-select .sound-check-button-item:nth-of-type(2) button:hover {
    background-image: url(../img/select/mute-hover.svg);
  }
}
@media (any-hover: none) {
  body .content-wrapper .game-main .area-select .sound-check-button-item:nth-of-type(2) button:active {
    background-image: url(../img/select/mute-hover.svg);
  }
}
body .content-wrapper .game-main .area-select .sound-check-caution {
  width: 100%;
  font-size: 0.7rem;
  position: absolute;
  bottom: 11.1940298507%;
  margin-left: 1rem;
}
body .content-wrapper .game-main .area-select-inner {
  height: 100%;
  aspect-ratio: 375/636;
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
}
@media (min-aspect-ratio: 375/660) {
  body .content-wrapper .game-main .area-select-inner {
    aspect-ratio: initial;
    width: 100%;
    height: 100%;
  }
}
body .content-wrapper .game-main .area-select-title {
  display: block;
  position: absolute;
  top: 2.9874213836%;
  width: 36%;
  left: 0;
  right: 0;
  margin: 0 auto;
  transform-origin: 50% 70%;
  transition: top 0.3s cubic-bezier(0.23, 0.74, 0.6, 0.95), transform 0.3s cubic-bezier(0.23, 0.74, 0.6, 0.95), scale 0.3s cubic-bezier(0.23, 0.74, 0.6, 0.95);
}
body .content-wrapper .game-main .area-select-title.selected-area {
  scale: 1;
  display: block;
  position: absolute;
  top: 26.7295597484%;
  width: 36%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
body .content-wrapper .game-main .area-select-title.unselected-area {
  scale: 1.25;
  display: block;
  position: absolute;
  top: 21.8553459119%;
  width: 36%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
body .content-wrapper .game-main .area-select-title.pop-exit {
  scale: 1;
  display: block;
  position: absolute;
  top: 26.7295597484%;
  width: 36%;
  left: 0;
  right: 0;
  margin: 0 auto;
  animation: popExitAnimation 0.4s ease-in-out forwards !important;
  animation-delay: 0s !important;
}
body .content-wrapper .game-main .area-select-button {
  z-index: 10;
  position: absolute;
}
body .content-wrapper .game-main .area-select-button img {
  display: block;
  width: 100%;
  height: 100%;
  transform: scale(1);
  transform-origin: center center;
  will-change: transform;
  transition: transform 0.3s;
  backface-visibility: hidden;
  -webkit-backface-visibility: hidden;
  filter: drop-shadow(4px 5px 4px rgba(0, 0, 0, 0.6));
}
@media (hover: hover) and (pointer: fine) {
  body .content-wrapper .game-main .area-select-button:not(.disappear):hover img {
    transform: translateZ(0) scale(1.05);
    transform-origin: center center;
  }
}
@media (any-hover: none) and (pointer: coarse) {
  body .content-wrapper .game-main .area-select-button:not(.disappear):active img {
    transform: translateZ(0) scale(0.95);
    transform-origin: center center;
  }
}
body .content-wrapper .game-main .area-select-DreamPlaza {
  width: 27.6266666667%;
  top: 41%;
  left: 18%;
}
body .content-wrapper .game-main .area-select-ElectriCity {
  width: 26.5066666667%;
  top: 58%;
  left: 56%;
}
body .content-wrapper .game-main .area-select-WisdomHill {
  width: 25.4933333333%;
  top: 58%;
  left: 18%;
}
body .content-wrapper .game-main .area-select-CrystalFloat {
  width: 26.2933333333%;
  top: 49%;
  left: 38%;
}
body .content-wrapper .game-main .area-select-explain {
  display: block;
  position: absolute;
  bottom: -0.4716981132%;
  width: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  aspect-ratio: 750/745;
  width: 80vw;
  display: flex;
  justify-content: center;
  align-items: center;
  background-size: cover;
  background-repeat: no-repeat;
  background-image: url(../img/select/speech-balloon.png);
  pointer-events: none;
  opacity: 0;
  transform: translateY(1rem);
  transition: opacity 0.3s cubic-bezier(0.23, 0.74, 0.6, 0.95), transform 0.3s cubic-bezier(0.23, 0.74, 0.6, 0.95);
}
@media (min-aspect-ratio: 375/636) {
  body .content-wrapper .game-main .area-select-explain {
    width: 80% !important;
  }
}
body .content-wrapper .game-main .area-select-explain::after {
  content: "";
  position: absolute;
  width: 100%;
  height: 80%;
  bottom: 0;
  pointer-events: none;
  z-index: 1;
}
body .content-wrapper .game-main .area-select-explain-img {
  position: absolute;
  top: 55%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: 80%;
  aspect-ratio: 529/281;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
body .content-wrapper .game-main .area-select-explain-img img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body .content-wrapper .game-main .area-select-explain .to-main-area {
  display: block;
  position: absolute;
  bottom: 7.0754716981%;
  width: 54.1333333333%;
  left: 0;
  right: 0;
  margin: 0 auto;
  aspect-ratio: 203/46;
  background-color: #bdad93;
  color: white;
  container-type: inline-size;
  pointer-events: none;
  border: 1px solid #ad9978;
  box-shadow: 0 0 10px rgba(80, 79, 91, 0.4);
  z-index: 2;
}
body .content-wrapper .game-main .area-select-explain .to-main-area span {
  display: block;
  position: absolute;
  font-size: 0.9rem;
  transform: translate(-50%, -54%);
  top: 50%;
  left: 50%;
  width: 100%;
}
body .content-wrapper .game-main .area-select-explain .to-main-area:before {
  content: "";
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  right: 7%;
  width: 5.5%;
  height: 32.6086956522%;
  background-image: url(../img/common/next.svg);
  background-repeat: no-repeat;
}
body .content-wrapper .game-main .area-select-explain.selected-area {
  opacity: 1;
  transform: translateY(0);
}
body .content-wrapper .game-main .area-select-explain.selected-area::after {
  pointer-events: auto;
}
body .content-wrapper .game-main .area-select-explain.selected-area .to-main-area {
  pointer-events: auto;
}
body .content-wrapper .game-main .area-select-explain.explain-exit {
  animation: explainExit 0.3s cubic-bezier(0.23, 0.74, 0.6, 0.95) forwards;
}
body .content-wrapper .game-main .area-select-explain.explain-exit::after {
  pointer-events: none;
}
body .content-wrapper .game-main .area-select-explain.explain-exit .to-main-area {
  pointer-events: none;
}
body .content-wrapper .game-main .area-select .white-out {
  width: 100%;
  height: 100%;
  pointer-events: none;
  background-color: white;
  position: absolute;
  top: 0;
  left: 0;
  opacity: 0;
}
body .content-wrapper .game-main .area-select .white-out.zoom-up-more {
  animation: whiteOut 0.8s linear forwards;
  animation-delay: 0.9s;
}
body .content-wrapper .chara-select {
  background-image: url(../img/chara-select/DreamPlaza.png);
  background-size: cover;
  background-position: center center;
  width: 100%;
  height: 100%;
  position: absolute;
}
body .content-wrapper .chara-select.area-1 {
  background-image: url(../img/chara-select/ElectriCity.png);
}
body .content-wrapper .chara-select.area-2 {
  background-image: url(../img/chara-select/WisdomHill.png);
}
body .content-wrapper .chara-select.area-3 {
  background-image: url(../img/chara-select/CrystalFloat.png);
}
body .content-wrapper .chara-select .home-button {
  position: absolute;
  aspect-ratio: 1;
  width: 10.1333333333%;
  left: 3.2%;
  top: 3.2%;
  z-index: 10;
}
body .content-wrapper .chara-select .back-button {
  position: absolute;
  aspect-ratio: 82/38;
  width: 21.8666666667%;
  left: 15.7333333333%;
  top: 3.2%;
  z-index: 10;
}
body .content-wrapper .chara-select .area-logo-display {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
body .content-wrapper .chara-select .area-logo-display .area-logo {
  opacity: 0;
  position: absolute;
  width: 65.3333333333%;
  aspect-ratio: 245/100;
  left: 50%;
  top: 45%;
  transform: translate(-50%, -50%);
}
body .content-wrapper .chara-select .area-logo-display .area-logo img {
  filter: drop-shadow(8px 10px 6px rgba(0, 0, 0, 0.6));
}
body .content-wrapper .chara-select .area-logo-display.now-state .area-logo {
  animation: fadeOut 0.5s ease-in-out both;
  animation-delay: 2s;
}
body .content-wrapper .chara-select .select-modal {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
}
body .content-wrapper .chara-select .select-modal-logo {
  position: absolute;
  left: 50%;
  top: 17%;
  transform: translate(-50%, -50%);
  width: 46.1333333333%;
  aspect-ratio: 245/100;
}
body .content-wrapper .chara-select .select-modal.now-state .select-modal-logo {
  animation: fadeIn 0.3s ease-in-out both;
  animation-delay: 0.4s;
}
body .content-wrapper .chara-select .select-modal.now-state .select-modal-logo img {
  filter: drop-shadow(4px 5px 4px rgba(0, 0, 0, 0.6));
}
body .content-wrapper .chara-select .select-modal-chara-list {
  position: absolute;
  left: 50%;
  top: 24.213836478%;
  transform: translate(-50%, 0%) scale(0);
  width: 89.3333333333%;
  aspect-ratio: 335/465;
  background-image: url(../img/chara-select/select-bg-long.png);
  background-size: contain;
  background-repeat: no-repeat;
  background-position: center center;
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  padding: 7rem 4rem 3.5rem;
  gap: 0 0.75rem;
  justify-content: space-evenly;
  box-sizing: border-box;
  transform-origin: center center;
}
body .content-wrapper .chara-select .select-modal-chara-list.active {
  animation: charaModalDisplayAnimation 0.4s ease-in-out forwards;
  animation-delay: 0.3s;
}
body .content-wrapper .chara-select .select-modal-chara-item {
  list-style: none;
  width: 42%;
  aspect-ratio: 1;
  min-height: 0;
}
body .content-wrapper .chara-select .select-modal-chara-item .chara-button {
  width: 100%;
  height: 100%;
  display: block;
  will-change: transform;
}
body .content-wrapper .chara-select .select-modal-chara-item .chara-button img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
body .content-wrapper .chara-select:not(.area-0) .select-modal-chara-list {
  aspect-ratio: 335/379;
  background-image: url(../img/chara-select/select-bg.png);
}
body .content-wrapper .chara-select {
  isolation: isolate;
}
body .content-wrapper .chara-select::after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1;
  pointer-events: none;
  backdrop-filter: blur(0px);
  -webkit-backdrop-filter: blur(0px);
  transition: backdrop-filter 0.5s ease-in-out;
}
body .content-wrapper .chara-select:has(.select-modal.now-state)::after {
  backdrop-filter: blur(3px);
  -webkit-backdrop-filter: blur(3px);
}
body .content-wrapper .chara-individual-modal {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 100;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
body .content-wrapper .chara-individual-modal.active {
  opacity: 1;
  animation: pointer-event 0.8s ease-in-out forwards;
}
body .content-wrapper .chara-individual-modal.active .chara-modal {
  animation: popDisplayAnimation2 0.4s ease-in-out forwards;
  animation-delay: 0.3s;
}
body .content-wrapper .chara-individual-modal.active .close-modal {
  animation: fadeIn 0.2s ease-in-out forwards;
  animation-delay: 0.7s;
}
body .content-wrapper .chara-individual-modal .chara-modal {
  width: 89.6%;
  aspect-ratio: 336/500;
  position: absolute;
  top: 16.1949685535%;
  left: 0;
  right: 0;
  margin: auto;
  container-type: inline-size;
  transform-origin: center center;
  scale: 0;
}
body .content-wrapper .chara-individual-modal .chara-modal .close-modal {
  position: absolute;
  top: -11.2107623318%;
  right: 0;
  width: 12.7976190476%;
  aspect-ratio: 1;
  opacity: 0;
  pointer-events: none;
}
body .content-wrapper .chara-individual-modal .chara-modal .brown-button {
  display: block;
  position: absolute;
  bottom: 4.7169811321%;
  width: 59.5238095238%;
  left: 0;
  right: 0;
  margin: 0 auto;
  font-size: 0.95rem;
}
body .content-wrapper .chara-individual-modal.not-active {
  animation-name: bgFadeout;
  animation-duration: 0.4s;
  animation-delay: 0.4s;
  animation-fill-mode: both;
  animation-timing-function: ease-in-out;
  animation-delay: 0.4s;
  pointer-events: none;
  opacity: 1;
}
body .content-wrapper .chara-individual-modal.not-active .chara-modal {
  opacity: 1;
  animation: popExitAnimation2 0.4s ease-in-out both;
  animation-delay: 0.2s;
}
body .content-wrapper .chara-individual-modal.not-active .close-modal {
  opacity: 1;
  animation: fadeOut 0.2s ease-in-out forwards;
  animation-delay: 0s;
}
body .content-wrapper .now-loading {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-image: url(../img/main/loading-bg.png);
  background-size: cover;
  background-position: center center;
  container-type: inline-size;
}
body .content-wrapper .now-loading .now-loading-inner {
  position: absolute;
  width: 32.5333333333%;
  transform: translate(-50%, -50%);
  top: 46.3836477987%;
  left: 50%;
}
body .content-wrapper .now-loading .now-loading-inner .loading-container {
  display: flex;
  width: 100%;
  align-items: flex-end;
  justify-content: center;
  color: #917c5b;
  font-size: 1.1rem;
}
body .content-wrapper .now-loading .now-loading-inner .loading-container .loading-main {
  width: 122px;
  height: auto;
}
body .content-wrapper .now-loading .now-loading-inner .loading-container .loading-dot {
  margin-bottom: -0.1rem;
  margin-left: -0.15rem;
  width: 0.5rem;
  height: auto;
  animation: dotBounce 1.6s infinite ease-in-out both;
}
body .content-wrapper .now-loading .now-loading-inner .loading-container .loading-dot#loadingDot1 {
  margin-left: 0.1rem;
}
body .content-wrapper .now-loading .now-loading-inner .loading-container .loading-dot.loading1 {
  animation-delay: 0s;
}
body .content-wrapper .now-loading .now-loading-inner .loading-container .loading-dot.loading2 {
  animation-delay: 0.1s;
}
body .content-wrapper .now-loading .now-loading-inner .loading-container .loading-dot.loading3 {
  animation-delay: 0.2s;
}
body .content-wrapper .main-movie {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: #fffef2;
  background-size: cover;
  background-position: center center;
}
body .content-wrapper .main-movie .white-screen {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: white;
  background-size: cover;
  background-position: center center;
  z-index: 1000;
  opacity: 0;
  pointer-events: none;
}
body .content-wrapper .main-movie.current .white-screen {
  animation: bgFadeout 1s both;
  animation-delay: 0.5s;
}
body .content-wrapper .main-movie.current video {
  animation: brightness 1s both;
  animation-delay: 0.5s;
}
body .content-wrapper .main-movie .home-button {
  position: absolute;
  aspect-ratio: 1;
  width: 10.1333333333%;
  left: 3.2%;
  top: 3.2%;
  z-index: 100;
}
body .content-wrapper .main-movie .back-button {
  position: absolute;
  aspect-ratio: 82/38;
  width: 21.8666666667%;
  left: 15.7333333333%;
  top: 3.2%;
  z-index: 10;
}
body .content-wrapper .main-movie .skip-button {
  position: absolute;
  aspect-ratio: 1;
  width: 10.1333333333%;
  right: 16%;
  top: 3.2%;
  z-index: 10;
}
body .content-wrapper .main-movie .video-wrapper {
  position: relative;
  width: 100%;
  aspect-ratio: 9/16;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
}
body .content-wrapper .main-movie .video-wrapper video {
  width: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  position: absolute;
  height: 99%;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  pointer-events: none;
  touch-action: none;
}
body .content-wrapper .main-movie .video-wrapper::before, body .content-wrapper .main-movie .video-wrapper::after {
  content: "";
  position: absolute;
  width: 100%;
  aspect-ratio: 375/25;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 2;
  pointer-events: none;
}
body .content-wrapper .main-movie .video-wrapper::before {
  top: -1%;
  background-image: url(../img/main/top.svg);
}
body .content-wrapper .main-movie .video-wrapper::after {
  bottom: -1%;
  background-image: url(../img/main/bottom.svg);
}
@media (min-aspect-ratio: 9/16) {
  body .content-wrapper .main-movie .video-wrapper::before, body .content-wrapper .main-movie .video-wrapper::after {
    display: none;
  }
}
body .content-wrapper .main-movie .movie-finished {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 99;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
body .content-wrapper .main-movie .movie-finished:not(.active) {
  pointer-events: none !important;
}
body .content-wrapper .main-movie .movie-finished:not(.active) * {
  pointer-events: none !important;
}
body .content-wrapper .main-movie .movie-finished.active {
  opacity: 1;
  pointer-events: auto;
}
body .content-wrapper .main-movie .movie-finished.active .speech-balloon {
  animation-delay: 0.5s !important;
  animation: selectedAreaAnimation3 0.3s cubic-bezier(0.23, 0.74, 0.6, 0.95) forwards;
  pointer-events: auto;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon {
  position: absolute;
  bottom: -4%;
  width: 100%;
  background-image: url(../img/main/speech-balloon.png);
  aspect-ratio: 750/759;
  background-size: 100% 100%;
  opacity: 0;
  pointer-events: none;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .to-conductor {
  display: block;
  position: absolute;
  top: 35.3773584906%;
  width: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  max-width: 89.8666666667%;
  aspect-ratio: 337/37;
  display: flex;
  justify-content: center;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .to-conductor span {
  position: absolute;
  font-size: 0.81rem;
  transform: translateY(-50%);
  top: 50%;
  margin-left: 0;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .double-line-heading {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90%;
  gap: 4px;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .double-line-heading::before, body .content-wrapper .main-movie .movie-finished .speech-balloon .double-line-heading::after {
  content: "";
  flex-grow: 1;
  height: 2px;
  border-top: 1px solid #917c5b;
  border-bottom: 1px solid #917c5b;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .double-line-heading .star-icon {
  width: 3.5294117647%;
  height: auto;
  flex-shrink: 0;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .double-line-heading .heading-text {
  color: #917c5b;
  font-size: 0.9rem;
  font-weight: 700;
  white-space: nowrap;
  flex-shrink: 0;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .finished-button-area {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: 58%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90%;
  background-image: url(../img/main/decoration.png);
  aspect-ratio: 340/74;
  background-size: 100%;
  gap: 0 3.5294117647%;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .finished-button-area a {
  height: 67.5675675676%;
  aspect-ratio: 1;
  margin-bottom: 5%;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .finished-button-area .copy {
  height: 67.5675675676%;
  aspect-ratio: 145/50;
  background-color: white;
  border-radius: 1.5rem;
  position: relative;
  margin-bottom: 5%;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .finished-button-area .copy::before {
  content: "";
  width: 16.6666666667%;
  aspect-ratio: 23/28;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: 8.5%;
  background-image: url(../img/main/copy-icon.svg);
  background-size: 100%;
  background-repeat: no-repeat;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .finished-button-area .copy .copy-text {
  width: 68.8405797101%;
  aspect-ratio: 115/28;
  position: absolute;
  transform: translateY(-50%);
  top: 50%;
  left: 30%;
  text-align: start;
  font-size: 0.75rem;
  line-height: 125%;
  letter-spacing: -0.06rem;
  color: #8d7b60;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .other-chara {
  display: block;
  position: absolute;
  bottom: 10.0628930818%;
  width: 89.8666666667%;
  left: 0;
  right: 0;
  margin: 0 auto;
  aspect-ratio: 337/37;
  background-color: #bdad93;
  color: white;
  container-type: inline-size;
  pointer-events: auto;
  border: 1px solid #ad9978;
  box-shadow: 0 0 10px rgba(80, 79, 91, 0.4);
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .other-chara span {
  display: block;
  position: absolute;
  font-size: 0.81rem;
  transform: translate(-50%, -54%);
  top: 50%;
  left: 50%;
  width: 95%;
  margin-left: 3%;
}
body .content-wrapper .main-movie .movie-finished .speech-balloon .other-chara:before {
  content: "";
  position: absolute;
  transform: translateY(-50%) rotate(180deg);
  top: 50%;
  left: 5%;
  width: 5.5%;
  height: 32.6086956522%;
  background-image: url(../img/common/next.svg);
  background-repeat: no-repeat;
}
body .content-wrapper .main-movie .movie-finished.campaign-info .speech-balloon {
  background-image: url(../img/main/long-speech-balloon.png);
  aspect-ratio: 750/1159;
  background-size: 100% 100%;
}
body .content-wrapper .main-movie .movie-finished.campaign-info .speech-balloon .to-conductor {
  display: block;
  position: absolute;
  top: 19.9685534591%;
  width: 100%;
  left: 0;
  right: 0;
  margin: 0 auto;
  display: flex;
}
body .content-wrapper .main-movie .movie-finished.campaign-info .speech-balloon .double-line-heading {
  top: 28.5%;
}
body .content-wrapper .main-movie .movie-finished.campaign-info .speech-balloon .campaign-image {
  position: absolute;
  transform: translateX(-50%);
  left: 50%;
  top: 34.5%;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 90%;
}
body .content-wrapper .main-movie .movie-finished.campaign-info .speech-balloon .terms-button {
  background-color: transparent;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  display: block;
  position: absolute;
  top: 67%;
  left: 0;
  right: 0;
}
body .content-wrapper .main-movie .movie-finished.campaign-info .speech-balloon .terms-button span {
  text-decoration: underline;
  color: #917c5b;
  font-size: 0.65rem;
  letter-spacing: 0.04rem;
}
body .content-wrapper .main-movie .movie-finished.campaign-info .speech-balloon .finished-button-area {
  top: 71%;
}
body .content-wrapper .main-movie .movie-finished.campaign-info .speech-balloon .other-chara {
  display: block;
  position: absolute;
  bottom: 8.4239733629%;
  width: 89.8666666667%;
  left: 0;
  right: 0;
  margin: 0 auto;
}
body .content-wrapper .main-movie .back-check-modal,
body .content-wrapper .main-movie .replay-modal {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 101;
  background-color: rgba(0, 0, 0, 0.8);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
body .content-wrapper .main-movie .back-check-modal.active,
body .content-wrapper .main-movie .replay-modal.active {
  opacity: 1;
  pointer-events: auto;
}
body .content-wrapper .main-movie .back-check-modal.active .modal-inner,
body .content-wrapper .main-movie .replay-modal.active .modal-inner {
  animation: popDisplayAnimation2 0.4s ease-in-out forwards;
  animation-delay: 0.3s;
}
body .content-wrapper .main-movie .back-check-modal.not-active,
body .content-wrapper .main-movie .replay-modal.not-active {
  animation: bgFadeout 0.4s ease-in-out forwards;
  animation-delay: 0.4s;
  pointer-events: none;
}
body .content-wrapper .main-movie .back-check-modal.not-active .modal-inner,
body .content-wrapper .main-movie .replay-modal.not-active .modal-inner {
  animation: popExitAnimation2 0.4s ease-in-out forwards;
  animation-delay: 0s;
}
body .content-wrapper .main-movie .back-check-modal .modal-inner,
body .content-wrapper .main-movie .replay-modal .modal-inner {
  width: 90.4%;
  aspect-ratio: 339/187;
  position: absolute;
  transform: translate(-50%, 0%);
  left: 50%;
  top: 35.3773584906%;
  background-color: rgba(255, 255, 255, 0.9);
  transform-origin: 0% 50%;
  border-radius: 2rem;
  border: 2px solid #917c5b;
  scale: 0;
}
body .content-wrapper .main-movie .back-check-modal .modal-inner .check-back-text,
body .content-wrapper .main-movie .replay-modal .modal-inner .check-back-text {
  position: absolute;
  color: #8d7b60;
  transform: translate(-50%, 0%);
  left: 50%;
  top: 25%;
  width: 100%;
  text-align: center;
  font-size: 1.125rem;
}
body .content-wrapper .main-movie .back-check-modal .modal-inner .button-area,
body .content-wrapper .main-movie .replay-modal .modal-inner .button-area {
  display: flex;
  position: absolute;
  bottom: 25%;
  left: 0;
  width: 100%;
  justify-content: space-between;
  padding: 0 8.2352941176%;
  box-sizing: border-box;
}
body .content-wrapper .main-movie .back-check-modal .modal-inner .button-area button,
body .content-wrapper .main-movie .replay-modal .modal-inner .button-area button {
  position: relative;
  width: 45.6597222222%;
  aspect-ratio: 131.5/49;
  color: white;
  container-type: inline-size;
  pointer-events: auto;
  box-shadow: 0 0 10px rgba(80, 79, 91, 0.4);
  background-color: #b7b7b7;
  border: 1px solid #898989;
}
body .content-wrapper .main-movie .back-check-modal .modal-inner .button-area button.yes,
body .content-wrapper .main-movie .replay-modal .modal-inner .button-area button.yes {
  background-color: #bdad93;
  border: 1px solid #ad9978;
}
body .content-wrapper .main-movie .back-check-modal .modal-inner .button-area button::before,
body .content-wrapper .main-movie .replay-modal .modal-inner .button-area button::before {
  background-image: none;
}
body .content-wrapper .main-movie .back-check-modal .modal-inner .button-area button span,
body .content-wrapper .main-movie .replay-modal .modal-inner .button-area button span {
  display: block;
  position: absolute;
  font-size: 1rem;
  transform: translate(-50%, -54%);
  top: 50%;
  left: 50%;
}
body .content-wrapper .main-movie .terms-modal {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 101;
  background-color: rgba(0, 0, 0, 0.7);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.4s;
}
body .content-wrapper .main-movie .terms-modal.active {
  opacity: 1;
  animation: pointer-event 0.8s ease-in-out forwards;
}
body .content-wrapper .main-movie .terms-modal.active .modal-inner {
  animation: popDisplayAnimation2 0.4s ease-in-out forwards;
  animation-delay: 0.3s;
}
body .content-wrapper .main-movie .terms-modal.active .close-modal {
  animation: fadeIn 0.2s ease-in-out forwards;
  animation-delay: 0.7s;
}
body .content-wrapper .main-movie .terms-modal.not-active {
  animation-name: bgFadeout;
  animation-duration: 0.4s;
  animation-fill-mode: both;
  animation-timing-function: ease-in-out;
  animation-delay: 0.4s;
  pointer-events: none;
  opacity: 1;
}
body .content-wrapper .main-movie .terms-modal.not-active .modal-inner {
  opacity: 1;
  animation: popExitAnimation2 0.4s ease-in-out both;
  animation-delay: 0.2s;
}
body .content-wrapper .main-movie .terms-modal.not-active .close-modal {
  opacity: 1;
  animation: fadeOut 0.2s ease-in-out forwards;
  animation-delay: 0s;
}
body .content-wrapper .main-movie .terms-modal .close-modal {
  position: absolute;
  top: 10.0896860987%;
  right: 5.3333333333%;
  width: 7.4404761905%;
  aspect-ratio: 1;
  opacity: 0;
  pointer-events: none;
}
body .content-wrapper .main-movie .terms-modal .modal-inner {
  width: 89.6%;
  height: 76.572327044%;
  position: absolute;
  top: 16.1949685535%;
  left: 0;
  right: 0;
  margin: auto;
  container-type: inline-size;
  transform-origin: center center;
  scale: 0;
  background-color: rgba(255, 255, 255, 0.9);
  border-radius: 2rem;
  border: 2px solid #917c5b;
  padding: 1.2rem 0.7rem 1.2rem;
  overflow: hidden;
  box-sizing: border-box;
  display: flex;
  flex-direction: column;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-title {
  display: block;
  text-align: center;
  color: #917c5b;
  font-size: 1.2rem;
  flex-shrink: 0;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-decoration {
  flex-shrink: 0;
  text-align: center;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-decoration img {
  display: block;
  margin: 0.5rem auto;
  width: 98%;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-scroll-area {
  flex: 1;
  min-height: 0;
  margin-top: 0.2rem;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-scroll-area .simplebar-track.simplebar-vertical {
  width: 4px;
  background-color: #e8e5df;
  top: 0;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-scroll-area .simplebar-track.simplebar-vertical .simplebar-scrollbar {
  transform: translateX(-50%);
  width: 4px;
  opacity: 1;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-scroll-area .simplebar-track.simplebar-vertical .simplebar-scrollbar::before {
  transform: translateX(-50%);
  width: 4px;
  background-color: #8d7b60 !important;
  opacity: 1;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text {
  padding: 0.3rem 1rem 2rem 0.6rem;
  color: #917c5b;
  font-size: 0.8rem;
  line-height: 1.8333333333;
  font-weight: 500;
  -webkit-user-select: text;
     -moz-user-select: text;
          user-select: text;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text a {
  color: #917c5b;
  text-decoration: underline;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text a:hover {
  transform: scale(1);
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text li {
  margin-bottom: 6px;
  line-height: 1.6;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text {
  /* ===================================================
     各種リストクラス別調整
  =================================================== */
  /* 通常の「・」(disc) */
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .qualification-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .lottery-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .winner-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .disclaimer-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .privacy-list {
  list-style-type: disc;
  padding-left: 20px;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text {
  /* 「※」リスト */
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .notes-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .hashtag-notes-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .contact-notes-list {
  list-style-type: "※ ";
  padding-left: 22px;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text {
  /* 通常の「1. 2. 3. ...」(decimal) */
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .step-list {
  list-style-type: decimal;
  padding-left: 24px;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text {
  /* 「-」(ハイフン) リスト */
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-notes-list {
  list-style-type: "- ";
  padding-left: 20px;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text {
  /* 「1), 2), ...」リスト */
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-step-list {
  counter-reset: sub-step;
  padding-left: 24px;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-step-list > li {
  counter-increment: sub-step;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-step-list > li::marker {
  content: counter(sub-step) ") ";
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text {
  /* 「(1), (2), ...」リスト */
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .prohibited-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-disclaimer-list {
  counter-reset: paren-step;
  padding-left: 28px;
  /* (10)などの二桁になっても枠内に収まるよう少し広めに確保 */
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .prohibited-list > li,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-disclaimer-list > li {
  counter-increment: paren-step;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .prohibited-list > li::marker,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-disclaimer-list > li::marker {
  content: "(" counter(paren-step) ") ";
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text {
  /* 入れ子（サブ）リストの上下マージン */
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-step-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-notes-list,
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .sub-disclaimer-list {
  margin-top: 6px;
  margin-bottom: 6px;
}
body .content-wrapper .main-movie .terms-modal .modal-inner .terms-text .note {
  display: block;
  margin-top: 4px;
  padding-left: 1em;
  /* ※1文字分の余白を確保 */
  text-indent: -1em;
  /* 1行目を手前に戻して「※」を突き出す */
}
body .content-wrapper .footer-container {
  position: relative;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  pointer-events: auto;
  box-sizing: border-box;
}
body .content-wrapper .footer-container::before {
  content: "";
  display: block;
  width: 100%;
  padding-top: 39.7333333333%;
  pointer-events: none;
}
body .content-wrapper .footer-container .footer-content {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-size: 100%;
  box-sizing: border-box;
}
body .content-wrapper .footer-container .footer-content .footer-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 0;
}
body .content-wrapper .footer-container .footer-main-section {
  display: flex;
  width: 100%;
  flex-direction: column;
  align-items: center;
  justify-content: flex-start;
  z-index: 1;
}
body .content-wrapper .footer-container .footer-main-section .footer-logo {
  width: 33.3333333333%;
  height: auto;
}
body .content-wrapper .footer-container .footer-main-section .footer-logo:active, body .content-wrapper .footer-container .footer-main-section .footer-logo:hover {
  transform: scale(1);
}
body .content-wrapper .footer-container .footer-main-section .footer-links-grid {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  width: 67.7333333333%;
  margin-top: 0.281rem;
  margin-bottom: 0.737rem;
  font-weight: 500;
}
body .content-wrapper .footer-container .footer-main-section .footer-links-grid .link-item {
  display: flex;
  width: 100%;
  align-items: center;
  justify-content: center;
}
body .content-wrapper .footer-container .footer-main-section .footer-links-grid .link-item a {
  font-family: "Zen Kaku Gothic New", sans-serif;
  color: #8d7b60;
  white-space: nowrap;
  text-decoration: underline;
  font-size: 0.625rem;
  line-height: 1.08;
}
body .content-wrapper .footer-container .footer-main-section .footer-links-grid .link-item a:visited, body .content-wrapper .footer-container .footer-main-section .footer-links-grid .link-item a:hover, body .content-wrapper .footer-container .footer-main-section .footer-links-grid .link-item a:active {
  color: #8d7b60;
  transform: scale(1);
}
body .content-wrapper .footer-container .footer-warning {
  text-align: center;
  color: #8d7b60;
  font-size: 0.565rem;
  margin: 0;
  line-height: 1.4444444444;
  z-index: 1;
}
body .content-wrapper .footer-container .footer-copyright {
  font-family: "Montserrat", sans-serif;
  font-weight: 700;
  text-align: center;
  color: #8d7b60;
  font-size: 0.5625rem;
  margin-top: 0.391rem;
  margin-bottom: 0;
  line-height: 1.1111111111;
  z-index: 1;
}

@keyframes zoomUpAnimation {
  0% {
    transform: scale(1);
  }
  100% {
    transform: scale(1.25);
  }
}
@keyframes zoomUpCloudAnimation {
  0% {
    opacity: 1;
    transform: scale(1);
  }
  100% {
    opacity: 0;
    transform: scale(7);
  }
}
@keyframes zoomUpMoreAnimation {
  0% {
    transform: scale(1.25);
  }
  100% {
    transform: scale(5);
  }
}
@keyframes selectedAreaAnimation {
  0% {
    top: 0;
    transform: scale(1.25);
  }
  100% {
    top: -13%;
    transform: scale(1.25);
  }
}
@keyframes selectedAreaAnimation2 {
  0% {
    display: block;
    position: absolute;
    top: 17.1383647799%;
    width: 48%;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
  100% {
    display: block;
    position: absolute;
    top: 26.7295597484%;
    width: 48%;
    left: 0;
    right: 0;
    margin: 0 auto;
  }
}
@keyframes selectedAreaAnimation3 {
  0% {
    opacity: 0;
    transform: translateY(1rem);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}
@keyframes explainExit {
  0% {
    opacity: 1;
    transform: translateY(0);
  }
  100% {
    opacity: 0;
    transform: translateY(1rem);
  }
}
@keyframes popDisplayAnimation {
  0% {
    scale: 0;
  }
  60% {
    scale: 1.18;
  }
  100% {
    scale: 1;
    pointer-events: auto;
  }
}
@keyframes popDisplayAnimation2 {
  0% {
    scale: 0;
  }
  60% {
    scale: 1.08;
  }
  100% {
    scale: 1;
    pointer-events: auto;
  }
}
@keyframes charaModalDisplayAnimation {
  0% {
    transform: translate(-50%, 0%) scale(0);
  }
  60% {
    transform: translate(-50%, 0%) scale(1.08);
  }
  100% {
    transform: translate(-50%, 0%) scale(1);
    pointer-events: auto;
  }
}
@keyframes popExitAnimation {
  0% {
    scale: 1;
  }
  30% {
    scale: 1.12;
  }
  100% {
    scale: 0;
  }
}
@keyframes popExitAnimation2 {
  0% {
    scale: 1;
  }
  30% {
    scale: 1.06;
  }
  100% {
    scale: 0;
  }
}
@keyframes whiteOut {
  0% {
    opacity: 0;
  }
  70% {
    opacity: 1;
  }
  100% {
    opacity: 1;
  }
}
@keyframes bgFadeout {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    pointer-events: none;
  }
}
@keyframes brightness {
  0% {
    filter: brightness(200%);
  }
  100% {
    filter: brightness(100%);
  }
}
@keyframes bgFadein {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes brightnessOut {
  0% {
    filter: brightness(100%);
  }
  100% {
    filter: brightness(200%);
  }
}
@keyframes dotBounce {
  0%, 30%, 100% {
    transform: scale(1);
    opacity: 1;
  }
  15% {
    transform: scale(1) translateY(-12px);
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
    pointer-events: auto;
  }
}
@keyframes fadeOut {
  0% {
    opacity: 1;
  }
  100% {
    opacity: 0;
    pointer-events: none;
  }
}
@keyframes pointer-event {
  0% {
    pointer-events: none;
  }
  100% {
    pointer-events: auto;
  }
}
.zoom-up-display {
  scale: 0;
  pointer-events: none;
}
.zoom-up-display.pop-display {
  animation: popDisplayAnimation 0.6s ease-in-out forwards;
  animation-delay: 1.9s;
}
.zoom-up-display.pop-exit {
  scale: 1;
  animation: popExitAnimation 0.4s ease-in-out forwards;
  animation-delay: 0s !important;
}
.zoom-up-display.area-select-button.pop-display:nth-of-type(1) {
  animation-delay: 1.95s;
}
.zoom-up-display.area-select-button.pop-display:nth-of-type(2) {
  animation-delay: 2s;
}
.zoom-up-display.area-select-button.pop-display:nth-of-type(3) {
  animation-delay: 2.05s;
}
.zoom-up-display.area-select-button.pop-display:nth-of-type(4) {
  animation-delay: 2.1s;
}/*# sourceMappingURL=style.css.map */