.fuwafuwa {
  animation: fuwafuwa 3s ease-in-out infinite alternate;
  background: url(../img/yamanashi-map.svg) no-repeat center center / 60px auto;
  display: inline-block;
  transition: 1.5s ease-in-out;
  width: 400px;
  height: 400px;
  margin-top: 15px;
}
 
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}

/*きらりと光る文字*/
.glowAnime span{opacity: 0;}

.glowAnime.glow span{ animation:glow_anime_on 1s ease-out forwards; }

@keyframes glow_anime_on{
  0% { opacity:0; text-shadow: 0 0 0 #fff,0 0 0 #fff;}
  50% { opacity:1;text-shadow: 0 0 10px #fff,0 0 15px #fff; }
  100% { opacity:1; text-shadow: 0 0 0 #fff,0 0 0 #fff;}
}
/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  background:#094B0E;
  border-radius: 5px;
  width: 60px;
  height: 60px;
  color: #fff;
  text-align: center;
  text-transform: uppercase; 
  text-decoration: none;
  font-size:0.6rem;
  transition:all 0.3s;
}

#page-top a:hover{
  background: #777;
}

/*リンクを右下に固定*/
#page-top {
  position: fixed;
  right: 10px;
  z-index: 2;
    /*はじめは非表示*/
  opacity: 0;
  transform: translateY(100px);
}

/*　上に上がる動き　*/

#page-top.UpMove{
  animation: UpAnime 0.5s forwards;
}
@keyframes UpAnime{
  from {
    opacity: 0;
  transform: translateY(100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  transform: translateY(0);
  }
  to {
    opacity: 1;
  transform: translateY(100px);
  }
}


/*=== 9-1-3 マウスが動いてスクロールを促す ====*/

/*スクロールダウン全体の場所*/
.scrolldown3{
    /*描画位置※位置は適宜調整してください*/
  position:absolute;
  bottom:10px;
  right:50%;
    /*マウスの動き1.6秒かけて動く永遠にループ*/
  animation:mousemove 1.6s ease-in-out infinite;
}

/*下からの距離が変化して上から下に動く*/
@keyframes mousemove{
      0%{bottom:10px;}
      50%{bottom:5px;}
     100%{bottom:10px;}
 }

/*Scrollテキストの描写*/
.scrolldown3 span{
    /*描画位置*/
  position: absolute;
  left:-15px;
  bottom:45px;
    /*テキストの形状*/
  color: #eee;
  font-size: 0.7rem;
  letter-spacing: 0.05em;
}

/*マウスの中の線描写 */
.scrolldown3 span::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top:10px;
  left:17px;
    /*線の形状*/
  width: 1px;
  height: 15px;
  background: #eee;
    /*線の動き1.4秒かけて動く。永遠にループ*/
  animation: mousepathmove 1.4s linear infinite;
  opacity:0;
}

/*上からの距離・不透明度・高さが変化して上から下に流れる*/
@keyframes mousepathmove{
  0%{
    height:0;
    top:10px;
    opacity: 0;
  }
  50%{
    height:15px;
    opacity: 1;
  }
  100%{
    height:0;
    top:30px;
    opacity: 0;
  }
}

/*マウスの描写 */
.scrolldown3:before {
    content: "";
    /*描画位置*/
    position: absolute;
    bottom:0;
    left:-10px;
    /*マウスの形状*/
  width:25px;
  height:37px;
  border-radius: 10px;
  border:1px solid #eee;
}


/*マウスの中の丸の描写*/
.scrolldown3:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:26px;
  left:0;
    /*丸の形状*/
  width:5px;
  height: 5px;
  border-radius: 50%;
  border:1px solid #eee;
}
.cont02-inner-last {
  border-right: 1px solid #acacac;
}
.cont02 .col-md-4 {
  padding-left: 0;
  padding-right: 0;
}
.cont02-inner-last:after {
    position: absolute;
    top: -5px;
    right: -5px;
    content: '';
    width: 10px;
    height: 10px;
    background-color: #acacac;
    border-radius: 50%;
}




/*========= スクロール途中からヘッダーの高さが小さくなるためのCSS ===============*/
#header{
    /*はじめの高さを設定*/
  height: 53px;
  width:85%;
   /*以下はレイアウトのためのCSS*/
}
#header ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  text-align: center;
  padding: 20px;
}

/*HeightMinというクラス名がついたら高さを小さく、上部固定に*/
#header.HeightMin{
  position: fixed;
  top: 0;
  width: 100%;
  z-index: 999;/*最前面へ*/
  height: 50px;
  border-radius: 0;
  margin: 0;
  animation: DownAnime 0.5s forwards;
}

@keyframes DownAnime{
  from {
    opacity: 0;
  transform: translateY(-100px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}


#header.HeightMin a img {
    height: 35px;
    margin-left: 0;
}
#header .nav-btn-area a img.line-fix {
  display: none;
}
#header.HeightMin .nav-btn-area a img.line-fix {
  display: block;
}
#header .nav-btn-area a img.line-float {
  display: block;
}
#header.HeightMin .nav-btn-area a img.line-float {
  display: none;
}


/*slider*/

/*==================================================
スライダーのためのcss
===================================*/
.slider {/*横幅94%で左右に余白を持たせて中央寄せ*/
    width:94%;
    margin:0 auto;
}

.fv-sliders .slider {
    width:100%;
    margin:0 auto;
}

/*.slider img {
    width:23vw;
    height:180px;
    object-fit: cover;
}*/
.slider img {
    width:100%;
    height:100%;
    object-fit: cover;
}

/*矢印の設定*/

/*戻る、次へ矢印の位置*/
.slick-prev, 
.slick-next {
    position: absolute;/*絶対配置にする*/
    top: 42%;
    cursor: pointer;/*マウスカーソルを指マークに*/
    outline: none;/*クリックをしたら出てくる枠線を消す*/
    border-top: 2px solid #fff;/*矢印の色*/
    border-right: 2px solid #fff;/*矢印の色*/
    height: 15px;
    width: 15px;
}

.slick-prev {/*戻る矢印の位置と形状*/
    left: -1.5%;
    transform: rotate(-135deg);
}

.slick-next {/*次へ矢印の位置と形状*/
    right: -1.5%;
    transform: rotate(45deg);
}

/*ドットナビゲーションの設定*/

.slick-dots {
    text-align:center;
  margin:20px 0 0 0;
}

.slick-dots li {
    display:inline-block;
  margin:0 5px;
}
.slick-dots button {
    color: transparent;
    outline: none;
    width: 9px;
    height: 9px;
    display: block;
    border-radius: 50%;
    background: #ccc;
    font-size: 10px;
    line-height: 1.0;
    padding-inline: unset;
    border-color: #999;
}


.slick-dots .slick-active button{
    background:#333;/*ドットボタンの現在地表示の色*/
}

/*スマホ固定*/

@media screen and (max-width: 590px) {
.bottom_menu {
        position: fixed;
        width: 100%;
        bottom: 0;
        left: 0;
        z-index: 1000;
        display: block;
        background-color: var(--color_main);
        font-size: 12px;
        padding: 0.5rem;
        transition: transform 0.3s ease-in-out; /* スムーズなアニメーション */
    }
    .bottom_menu.hide {
        transform: translateY(100%); /* メニューを下に隠す */
    }

  .bottom_menu ul {
    display: flex;
    background-color: #dfae33;
  }
  .bottom_menu li {
        width: calc(100% / 3);
        padding: 5px;
        text-align: center;
        background-color: #fff;
        text-align: center;
        margin: 5px;
        border-radius: 5px;
    }
    .bottom_menu h2 {
        background: #fff;
        font-size: 1.8rem;
        text-align: center;
        background: url(../img/cam-back-sp.png) no-repeat, #dfae33;
        background-size: cover;
        padding: 10px;
        border-radius: 10px 10px 0 0;
        color: #fff;
      }
.bottom_menu li img {
  width: 80%;
  margin: 5px auto;
}
.bottom_menu .kotei-line img {
  width: 30px;
  height: 30px;
}
.bottom_menu a {
        color: #333;
    }
.kotei-line-inner {
  display: flex;
  align-items: center;
}
}



/*PCの固定バナー*/
.cam-fix-bnr {
  display: none;    /* 最初は非表示にする */
  position: fixed;  /* 表示位置を固定 */
  bottom: 0;
  right: 10px;
  padding: 5px;
  box-sizing: border-box;
  z-index: 999;
}
.cam-fix-bnr img {
  width: 300px;
}
.cam-fix-bnr .campaign-bnr02 {
    position: relative;
}
.cam-fix-bnr .campaign-bnr02 img {
  height: auto;
  display: block;
}

#closeBtn {
  position: absolute;
  cursor: pointer;
  top: -18px;
  right:-3px;
  z-index: 1010;
  border: 0;
  width:40px;
  height:40px;
}
#cam-fix-bnr.is-active {
  opacity: 1;
  visibility: visible;
}



.f-banner-close {
    font-weight: bold;
    position: absolute;
    top: 5px;
  right: 5px;
    z-index: 99999;
    padding: 0 8px 20px;
    border: none;
    background-color: #f8f8f8;
    border-radius: 50%;
    cursor: pointer;
    -webkit-box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    box-shadow: 0 0 7px rgb(0 0 0 / 40%);
    width: 28px;
    height: 28px;
    font-size: 14px;
}
































