@charset "UTF-8";

/* loop */
.loop {
  position: relative;
  width: 100%;
  height: 150px;
  overflow: hidden;
  background: #fff;
}

@media screen and (max-width: 480px) {
  .loop {
    height: 100px;
  }
}

.loop__track {
  display: flex;
  width: max-content;
  height: 100%;
  will-change: transform;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  visibility: hidden;
  opacity: 0;
}

.loop.is-ready .loop__track {
  visibility: visible;
  opacity: 1;
}

.loop img {
  display: block;
  flex: 0 0 auto;
  width: auto;
  height: 100%;
  max-width: none;
}

/* 左へ流れる */
.loop01.is-animate .loop__track {
  -webkit-animation: logo-loop-left 30s linear infinite;
  animation: logo-loop-left 30s linear infinite;
}

/* 右へ流れる */
.loop02.is-animate .loop__track {
  -webkit-animation: logo-loop-right 30s linear infinite;
  animation: logo-loop-right 30s linear infinite;
}

@-webkit-keyframes logo-loop-left {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
}

@keyframes logo-loop-left {
  0% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
}

@-webkit-keyframes logo-loop-right {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes logo-loop-right {
  0% {
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  100% {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@media screen and (min-width: 769px) {
  .loop02.pc_none,
  .loop01.pc_none {
    display: none;
  }
}

@media screen and (max-width: 769px) {
  .loop02.sp_none,
  .loop01.sp_none {
    display: none;
  }
}
