.fvSwiper {
    height: 550px;
    position: relative;
    overflow: hidden;
    margin-top: 68px;
    margin-bottom: 0;
}

.fvSlide {
    width: 100%;
    height: 100%;
    background-size: cover;
    background-position: 50% 100%;
    opacity: 0;
    animation: puffIn 1.5s ease-out forwards;
    padding-top: 160px;
    animation-delay: 1s;
}

@keyframes puffIn {
    /* 0% {
        opacity: 0;
        transform: scale(1.05);
    }
    100% {
        opacity: 1;
        transform: scale(1);
    } */
    0% {
        opacity: 0;
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-transform: scale(1.05, 1.05);
        transform: scale(1.05, 1.05);
        -webkit-filter: blur(0px);
        filter: blur(0px);
    }

    100% {
        opacity: 1;
        -webkit-transform-origin: 50% 50%;
        transform-origin: 50% 50%;
        -webkit-transform: scale(1, 1);
        transform: scale(1, 1);
        -webkit-filter: blur(0px);
        filter: blur(0px);
    }
}

.fvTxt01,
.fvTxt02 {
    position: absolute !important;
    /* left: 60%; */
    left: inherit;
    opacity: 0;
    transform: translateY(20px);
    z-index: 2;
    display: inline-table;
}

.fvTxt01 {
    top: 225px;
    font-size: 36px;
    font-weight: bold;
    background: rgba(255, 255, 255, 0.8);
    padding: 8px 12px 6px;
    color: #dc0012;
}

.fvTxt02 {
    top: 303px;
    max-width: 453px;
    background: #dc0012;
    color: #fff;
    padding: 8px 12px;
    animation-delay: 1s;
}

/* 上からフェードインアニメーション（共通） */
@keyframes fadeInUp {
    0% {
      transform: translateY(-50px);
      opacity: 0;
    }
    100% {
      transform: translateY(0);
      opacity: 1;
    }
  }
  
/* fvTxt02 専用アニメーション（より大きく上から） */
@keyframes fadeInUp_fvTxt02 {
  0% {
    transform: translateY(-150px);
    opacity: 0;
  }
  100% {
    transform: translateY(0);
    opacity: 1;
  }
}
  
/* アニメーションクラス */
.fadeInOnce_fvTxt01 {
  animation: fadeInUp 0.6s ease-out forwards;
}

.fadeInOnce_fvTxt02 {
  animation: fadeInUp_fvTxt02 0.75s ease-out forwards;
}

@media screen and (max-width: 600px){
  .fvSwiper {
      height: 450px;
      margin-top: 0px;
  }
  .fvTxt01 {
      top: 225px !important;
  }
  .fvTxt02 {
      top: 290px !important;
  }
}

@media screen and (max-width: 1000px) {
  .fvSwiper {
    margin-top: 0px;
  }

  .fvTxt01, .fvTxt02 {
      right: 3%;
      left: 43%;
  }
}


@media screen and (min-width: 700px) and (max-width: 1000px) {
  .fvTxt02 {
      top: 310px !important;
  }
}