/* .scroll-linkにアニメーションを適用 */
#panelScroll .scroll-link::after {
  animation: sdl01 1.5s cubic-bezier(1, 0, 0, 1) infinite;
}

/* アニメーション定義 */
@keyframes sdl01 {
  0% {
    transform: scale(1, 0);
    transform-origin: 0 0;
  }
  50% {
    transform: scale(1, 1);
    transform-origin: 0 0;
  }
  50.1% {
    transform: scale(1, 1);
    transform-origin: 0 100%;
  }
  100% {
    transform: scale(1, 0);
    transform-origin: 0 100%;
  }
}

/* .typeのスタイル */
.type {
  position: relative;
  width: 100%;
  height: calc(var(--vh) * 100); /* 高さをカスタムプロパティで設定 */
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  padding: 0;
}

/* .scroll-linkのスタイル */
.scroll-link {
  display: inline-block;
  position: absolute;
  bottom: 0;
  z-index: 999;
  padding: 10px 0px 70px 0px;
  color: #fff;
  font-size: 14px;
  line-height: 1;
  letter-spacing: .2em;
  text-decoration: none;
  writing-mode: vertical-lr;
  transition: .2s;
  overflow: hidden;
/* Extra small devices (max-width: 575.98px) */
  @media (max-width: 575.98px) {
    right: 1rem; /* スマホサイズで右端に揃える */
  }

  /* Small devices (min-width: 576px) */
  @media (min-width: 576px) {
    right: 1.5rem; /* Smallサイズで右端に揃える */
  }

  /* Medium devices (min-width: 768px) */
  @media (min-width: 768px) {
    right: 2rem; /* Mediumサイズで右端に揃える */
  }

  /* Large devices (min-width: 992px) */
  @media (min-width: 992px) {
    right: calc((100% - 960px) / 2 + 40px); /* Largeサイズで右端に揃える */
  }

  /* X-Large devices (min-width: 1200px) */
  @media (min-width: 1200px) {
    right: calc((100% - 1140px) / 2 + 40px); /* X-Largeサイズで右端に揃える */
  }

  /* XX-Large devices (min-width: 1400px) */
  @media (min-width: 1400px) {
    right: calc((100% - 1320px) / 2 + 40px); /* XX-Largeサイズで右端に揃える */
  }	
}

/* 擬似要素のスタイル */
.scroll-link::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 36%;
  width: 1px;
  height: 70px;
  background: #fff;
}

/* ホバー時のスタイル */
.scroll-link:hover {
  opacity: 0.5;
}
