/* 犬の写真達です。削除して下さい */
.gallery {
  display: grid;
  gap: 0.5rem;
  grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
}
img.demo {
  width: 100%;
  height: 200px;
  object-fit: cover;
}
/* //犬の写真達です。削除して下さい */

#loading {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
}
#loadingBg{
 z-index: 999;
 background: url(../images/loading/maskBg.svg) no-repeat center bottom;
 background-size: 100%;
 width: 100vw;
 height: 144vh;
 margin: 0;
 padding: 0;
}

/* 波 */
.Waves-container {
  bottom:-45vh ;
  position: fixed;
  z-index: 9999;
  width: 100vw;
}
.cls-1 {
  fill: #d02f7d;
  fill-opacity: 0.8;
  width: 100%;
}

.cls-2 {
  fill: #4097d5;
  fill-opacity: 0.8;
}
.loadingNone .Waves-container{
  animation-name: slideWave;
  animation-fill-mode: forwards;
  animation-duration: 1.5s;
}
 .loadingNone .Waves-container #pinkWave{
  animation-name: slidePink;
  animation-fill-mode: forwards;
  animation-duration: 1.5s;
  transform: translateX(0) translateY(0%) scale(1);
}

.loadingNone .Waves-container #blueWave{
  animation-name: slideBlue;
  animation-fill-mode: forwards;
  animation-duration: 1.5s;
  transform: translateX(0) translateY(0%) scale(1);
}
@keyframes slideWave {
  from {
  bottom:-45vh ;
  }
  to {
    bottom:0vh;
  }
}
@keyframes slideWaveSp {
  from {
  bottom:-15vh ;
  }
  to {
    bottom:0vh;
  }
}
@keyframes slidePink {
  from {
    transform: translateX(0) translateY(0%) scale(1);
  }
  to {
    transform: translateX(-25%) translateY(-100%) scale(6);
  }
}

@keyframes slideBlue {
  from {
    transform: translateX(0) translateY(0%) scale(1);
  }
  to {
    transform: translateX(-50%) translateY(-80%) scale(2);

  }
}

/* logo */
.logo {
  width: 10vw;
  margin-bottom: 20px;
}

/* ローディングバー */
#loading_barWrap {
  width: 10vw;
  position: fixed;
  top: 45%;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  -webkit-transition: all 0.3s;
  -moz-transition: all 0.3s;
  -ms-transition: all 0.3s;
  -o-transition: all 0.3s;
  transition: all 0.3s;
  opacity: 1;

}

#loading_bar {
  width: 0;
  height: 1px;
  background: #fff;
  transition-duration: 1s;
}

/* ローディングバー */
@keyframes loadingAnime {
  0% {
    opacity: 1;
  }

  99% {
    opacity: 0;
  }

  100% {
    opacity: 0;
    display: none;
  }
}

.loadingNone #loading_barWrap {
  opacity: 0;
  visibility: hidden;
}

/* ローディングが消える処理 */
.loadingNone {
  animation-name: slideOut;
  animation-fill-mode: forwards;
  animation-duration: 1.5s;
}

/* 読み込みが終わったら上にスライドする */
@keyframes slideOut {
  from {
    transform: translateY(-12%);
  }
  to {
    transform: translateY(-150%);
  }
}

/* タブレット */
@media (max-width: 1024px) {
#loadingBg{
 background: url(../images/loading/maskBgSp.svg) no-repeat center bottom;
 background-size: 100%;
 }

.loadingNone .Waves-container{
  animation-name: slideWaveSp;
  animation-fill-mode: forwards;
  animation-duration: 1.5s;
}

}
/* SP */
@media (max-width: 550px) {

  .content {
    height: 30vh;
  }
  #loading_barWrap {
    width: 30vw;
    top: 40%;
  }
  .logo {
    width: 30vw;
  }

}
