@charset "utf-8";

.fix-totop-link-container{
  position: absolute;
  overflow: hidden;
  height: 130px;
  width: 68px;
  bottom: 100%;
  left: calc(50% - 520px);
  z-index: 1;
}
.fix-totop-link{
  display: block;
  position: absolute;
  transform: translateY(100%);
  bottom: 0;
  right: 0;
  width: 100%;
  z-index: 0;
}
.fix-totop-link-container:has(.is-show) {
  bottom: calc(100% - 10px);
  transition: bottom .3s .5s;
}
.fix-totop-link.is-show {
  z-index: 1;
  transition: z-index 0s .6s;
  animation: popUp3 .8s ease-in-out forwards;
  animation-delay: .2s;
}
.fix-totop-link img{
  max-width: 100%;
  width: 100%;
  height: auto;
  transition: .2s ease-in-out;
  transform-origin: bottom;
}
@keyframes popUp3 {
  0% {
    transform: translateY(100%);
  }
  60% {
    /* 少しだけ元のサイズより大きく(1.1)して、飛び出した感を出す */
    transform: translateY(-5px);
  }
  80% {
    /* 軽く揺り戻して落ち着かせる */
    transform: translateY(2px);
  }
  100% {
    /* 最終的な定位置とサイズ */
    transform: translateY(0);
  }
}
@media print, screen and (min-width: 769px) {
  .fix-totop-link:hover img{
    transform: scale(.95);
  }
}
@media print, screen and (max-width: 768px) {
  .fix-totop-link-container{
    left: 1vw;
    height: 27vw;
    width: 14.5vw;
  }
  .fix-totop-link-container:has(.is-show) {
    bottom: calc(100% - 2vw);
  }
}