
.c-top-fv__scroll {
  position: absolute;
  bottom: 30px;
  left: 0;
  width: 100%;
  font-size: 18px;
  font-family: "Cabinet Grotesk", sans-serif;
  font-weight: 700;
  line-height: 1;
  text-align: center;
  text-indent: 0.04em;
  letter-spacing: 0.04em;
}
.c-top-fv__scroll a {
  color: #232323;
  text-decoration: none;
}
.c-top-fv__scroll span {
    position: relative;
    display: inline-block;
    padding-bottom: 14px;
    overflow: hidden;
    color: #fff;
    font-size: 0.84rem;
}
.c-top-fv__scroll span {
  position: relative;
  display: inline-block;
  padding-bottom: 18px; /* 波との距離調整 */
}

.c-top-fv__scroll span::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0;
  width: 560px;     /* SVG幅 */
  height: 15px;
  background-image: url(https://uoya.jp/img/svg/h2-bg-line-white.png);
  background-size: 560px 15px;
  background-repeat: repeat-x;
  animation: waveFlow 40s linear infinite;
  opacity: 1;
  transition: opacity .4s ease;
}

/* 波アニメーション：右→左へ流れる */
@keyframes waveFlow {
  from { background-position: 0 0; }
  to   { background-position: -560px 0; }
}

/* 非表示時：アニメーションを弱くしたい場合 */
.c-top-fv__scroll.is-hidden span::after {
  opacity: 0;
}


.c-top-fv__scroll a:focus span::after {
  -webkit-animation-duration: 7s;
          animation-duration: 7s;
}
.c-top-fv__scroll {
  isolation: isolate;
}

.c-top-fv__scroll span::after {
  mix-blend-mode: normal;
  opacity: 1;
}
.c-top-fv__scroll {
  opacity: 1;
  transition: opacity .4s ease;
}

.c-top-fv__scroll.is-hidden {
  opacity: 0;
  pointer-events: none;
}

.c-top-fv__scroll.is-visible {
  opacity: 1;
}
@media (hover: hover) and (pointer: fine) {

  .c-top-fv__scroll a {
    display: inline-block;
  }

  /* ホバー中のみ永久シェイク */
  .c-top-fv__scroll:hover span {
    animation: uoya-shake-xy 0.55s ease-in-out infinite;
  }

}

/* 横＋縦の細かい揺れ */
@keyframes uoya-shake-xy {
  0%   { transform: translate(0, 0); }
  15%  { transform: translate(-2px, -1px); }
  30%  { transform: translate(2px, 1px); }
  45%  { transform: translate(-1px, 0); }
  60%  { transform: translate(1px, -1px); }
  75%  { transform: translate(-2px, 1px); }
  100% { transform: translate(0, 0); }
}
