/* ローディング画面 */
#loading {
  position: fixed;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  z-index: 555;
  top: 0;
  left: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  overflow-y: hidden;
  overflow-x: hidden;
}

.windowArea {
  overflow-y: hidden;
  overflow-x: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.windowBg {
  width: 100%;
  height: 100%;
  background-image: url("toppageimg/backgroundpurpleimg.png");
  position: fixed;
  overflow-y: hidden;
  overflow-x: hidden;
}

.windowWrapper {
  position: fixed;
  top: 50%;
  left: 50%;
transform:translate(-50%,-50%);
  width: 90%;
  max-width: 500px;
  background: none;
}

.window {
  animation: popup 0.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}
@keyframes popup {
  0% {
    transform: translateY(40px) scale(0.7);
    opacity: 0;
  }
  100% {
    transform: translateY(0) scale(1.0);
  }
  80%, 100% {
    opacity: 1;
  }
}

.title-bar-text {
  font-size: 13px;
}

.winbarimg img {
  margin-right: 1px;
  position: relative;
  top: 3px;
}

#loading p {
  letter-spacing: 2px;
  text-align: center;
  font-size: 16px;
}

.progress-indicator-bar {
    animation: progress 2s steps(3, end) ;
    animation-fill-mode: forwards;
}
@keyframes progress {
    0% {width: 0}
    70% {width: 70%}
}

a, a:hover, button, button:hover {
  cursor: url(toppageimg/cursorpzyo.png), pointer;
}

.pimg {
  position: absolute;
  bottom: -120px;
  left: 48%;
  transform:translate(-50%,-50%);
}

/* crtエフェクト */
.crt::before {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.15) 50%), linear-gradient(99deg, rgba(99, 0, 0, 0.00), rgba(0, 255, 0, 0.00), rgba(0, 0, 255, 0.0));
  z-index: 2;
  background-size: 100% 2px, 2px 100%;
  pointer-events: none;
}

@keyframes flicker {
  0% {
  opacity: 0.27861;
  }
  5% {
  opacity: 0.34769;
  }
  10% {
  opacity: 0.23604;
  }
  15% {
  opacity: 0.10626;
  }
  20% {
  opacity: 0.18128;
  }
  25% {
  opacity: 0.10626;
  }
  30% {
  opacity: 0.18128;
  }
  35% {
  opacity: 0.23604;
  }
}

.crt::after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(18, 16, 16, 0.1);
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  animation: flicker 0.15s infinite;
}


body {
  background-color: #8303ff;
  overflow-x: hidden;
  margin: 0 auto;
  padding: 0;
  font-size: 12px;
  cursor: url(toppageimg/cursorclm.png), auto;
}

/* マウスストーカー */
#mouse-stalker {
    pointer-events: none;
    position: fixed;
    top: -29px;
    left: -26px;
    width: 29px;
    height: 29px;
    background: url("toppageimg/cursor2.png");
    background-size: 29px;
    transform: translate(0,0);
    transition: transform 0.5s;
    transition-timing-function: ease-out;
    z-index: 1000;
}

/* crtエフェクト */
  .crt::before {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: linear-gradient(rgba(18, 16, 16, 0) 50%, rgba(0, 0, 0, 0.15) 50%), linear-gradient(99deg, rgba(99, 0, 0, 0.00), rgba(0, 255, 0, 0.00), rgba(0, 0, 255, 0.0));
  z-index: 2;
  background-size: 100% 2px, 2px 100%;
  pointer-events: none;
}

@keyframes flicker {
  0% {
  opacity: 0.27861;
  }
  5% {
  opacity: 0.34769;
  }
  10% {
  opacity: 0.23604;
  }
  15% {
  opacity: 0.10626;
  }
  20% {
  opacity: 0.18128;
  }
  25% {
  opacity: 0.10626;
  }
  30% {
  opacity: 0.18128;
  }
  35% {
  opacity: 0.23604;
  }
}

.crt::after {
  content: " ";
  display: block;
  position: fixed;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  background: rgba(18, 16, 16, 0.1);
  opacity: 0;
  z-index: 2;
  pointer-events: none;
  animation: flicker 0.15s infinite;
}

/* 背景 */
.body-wrapper::before {
  content:"";
  display:block;
  position:fixed;
  top:0;
  left:0;
  z-index:-1;
  width:100%;
  height:100vh;
  background-position: left;
  background-image:url("toppageimg/backgroundpurpleimg.png");
  background-repeat: repeat;
}

.content {
  overflow: hidden;
}

.imgwin {
  margin-top: 72px;
}

.window2 {
  margin: 0 auto;
  cursor: url(toppageimg/cursorclm.png), grab;
  animation: popup 0.8s cubic-bezier(0.22, 1, 0.36, 1) forwards;
  animation-delay: 2.6s;
}
@keyframes fadein {
  from {opacity:0}
    to {opacity:1}
}

@-webkit-keyframes fadein {
  from {opacity:0}
  to {opacity:1}
}

.window:active {
  cursor: url(toppageimg/cursorclm.png), grabbing;
}

.window-body {
  text-align: center;
  font-family: 'BestTen-DOT';
  font-size: 10px;
  letter-spacing: 1px;
}

.hoverimg {
  width:40px;
  height:40px;
  background:url('toppageimg/necomputer.gif');
  background-repeat: no-repeat;
  background-position: right;
  image-rendering: pixelated;
  margin-left: 87px;
  margin-top: 10px;
  margin-bottom: 10px;
}

.hoverimg:hover {
  width:40px;
  height:40px;
  background:url('toppageimg/necomputer2.gif');
  background-repeat: no-repeat;
  background-position: right;
  image-rendering: pixelated;
  margin-left: 87px;
}

a, button, button:hover, label, label:hover {
  cursor: url(toppageimg/cursorpzyo.png), pointer;
}

a, button:hover {
  color: #8e00ff;
}

.bannerwin {
  margin-top: 34px;
}

.clap {
  text-align: center;
  margin: 0 auto;
}

footer {
  text-align: center;
  margin: 0 auto;
  background: #000;
  width: 210px;
  font-family: 'Pixelated MS Sans Serif';
  color: #00ffff;
  margin-top: 29px;
  margin-bottom: 29px;
}

#language button:hover {
  color: #8e00ff;
}

#language label {
  font-family: 'BestTen-DOT';
  font-size: 10px;
  display    : inline-block;
}

.lang {
  position: fixed;
  top: 0px;
  z-index:1;
}

.textwin {
  margin-top: 32px;
  margin-bottom: 28px;
}