*{
    margin: 0px;
    padding: 0px;
}

body{
    background-color: #000;
}

.loader{
    display:flex;
    width: 100vw;
    height: 100svh;
    top: 0px;
    left: 0px;
    color: #fff;
    /* background-color: #000; */
    z-index: 9999;
    position: fixed;
    justify-content: center;
    align-items: center;
}

.loader p{
  position: absolute;
  font-family: 'VT323', monospace;
  padding : 50px;
  background:rgba(0,0,0,0.3);
  border-radius: 30%;
}


.icon-container {
  position: fixed;
  right: 20px;
  top: 20px;
  z-index: 9999;
}

.rounded-icon {
  border-radius: 50%;
  opacity: 0.5;
}

img{
    width: auto;
    height: auto;
    max-height: 90svh;
    max-width: 90svw;
}

@media screen and (max-width:480px) {
 
  img {
    max-height: 95svh;
    max-width: 95svw;

  }
}


.photo{ 
    background-color: #ccc;
    height: 100svh;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
    position: sticky;
    top: 0;
}

@media screen and (max-width:480px) {
 
  /* .photo {
    position: static;

  } */
}

body::-webkit-scrollbar{
    display:none;
  }
body {
    scrollbar-width: none;
  }

 header {
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 999;
  }

  .circle {
    position: absolute;
    width: 30px;
    height: 10px;
    transform: rotate(46deg);
    background-color: #812990;
    opacity: 0.2;
  }

.circle.active {
  opacity: 0.7;
}

.square {
  width: 30px;
  height: 30px;
  background-color: #812990;
  opacity: 0.2;
  margin-right: 10px;
  margin-bottom: 10px;
}

.square.active {
opacity: 0.7;
}

.square.new {
  background-color: #f19db5;
  }

  .square.new {
    /* 0.5秒後にアニメーションを開始する */
    animation: rotate 5s ease-in-out 1;
  }
  
  @keyframes rotate {
    /* 0%から90%まで回転しない */
    0%{
      transform: rotate(0deg);
    }
    /* 100%で1回転する */
    100% {
      transform: rotate(360deg);
    }
  }


footer{
  display: flex;
  flex-wrap: wrap;
  position:fixed;
  margin-left: 10px;
  bottom: 0%;
  right: 0%;
}

.current{
  color: #812990;
  margin-right:10px;
  z-index: -1;
  opacity: 0.7;
  font-family: 'VT323', monospace;
  font-size: 30px;
}



.loader img {
  border-radius: 50%;
  width:  60px;
  height: 60px;
}

@media screen and (max-width:480px) {
 
  .loader img {
    border-radius: 50%;
    width:  40px;
    height: 40px;
  }
 
}

.nazo{
  /* background-color: #812990; */
  position:fixed;
  right:10%;
  bottom: 5%;
  height: 60vh;
  width: 30vw;
}

.nazo img {
  position: absolute;
  bottom: 0;
  right: 0;
  height:100%;
}

@media screen and (max-width:560px) {
 
  .nazo{
    right:10%;
    bottom: 30%;
    height: 25vh;
    width: 30vw;
  }
 .nazo img {
  bottom: 0;
  right: 0;
  height:90%;
}

}

a {
  text-decoration: none;
}