.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);
  }
}




/*=== 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: -13px;
    bottom: 45px;
    color: #eee;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
}

/*マウスの中の線描写 */
.scrolldown3 span::after{
  content: "";
    /*描画位置*/
  position: absolute;
  top:10px;
  left:13px;
    /*線の形状*/
  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:-12px;
    /*マウスの形状*/
  width:25px;
  height:37px;
  border-radius: 10px;
  border:1px solid #eee;
}


/*マウスの中の丸の描写*/
.scrolldown3:after{
  content:"";
    /*描画位置*/
  position: absolute;
  bottom:26px;
  left:-2px;
    /*丸の形状*/
  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: 80px;
  width:100%;
   /*以下はレイアウトのための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;
  background-color: #1c2a57;
  }

@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;
}



/*==================================================
　5-2-4 MENUがCLOSEに
===================================*/

.openbtn{
  position: relative;
  background:#dde3eb;
  cursor: pointer;
    width: 40px;
    height:40px;
  border-radius: 5px;
}

/*ボタン内側*/
.openbtn span{
    display: inline-block;
    transition: all .4s;/*アニメーションの設定*/
    position: absolute;
    left: 11px;
    height: 2px;
    border-radius: 5px;
  background: #1c2a57;
    width: 45%;
  }


.openbtn span:nth-of-type(1) {
  top:10px; 
}

.openbtn span:nth-of-type(2) {
  top:16px;
}

.openbtn span:nth-of-type(3) {
  top:22px;
}

.openbtn span:nth-of-type(3)::after {
  content:"Menu";/*3つ目の要素のafterにMenu表示を指定*/
  position: absolute;
  top:6px;
  left:0;
  color: #1c2a57;
  font-size: 0.6rem;
  text-transform: uppercase;
}

/*activeクラスが付与されると線が回転して×になり、Menu⇒Closeに変更*/

.openbtn.active span:nth-of-type(1) {
    top: 11px;
    left: 14px;
    transform: translateY(6px) rotate(-45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(2) {
  opacity: 0;
}

.openbtn.active span:nth-of-type(3){
    top: 23px;
    left: 14px;
    transform: translateY(-6px) rotate(45deg);
    width: 30%;
}

.openbtn.active span:nth-of-type(3)::after {
  content:"Close";/*3つ目の要素のafterにClose表示を指定*/
    transform: translateY(0) rotate(-45deg);
  top:6px;
  left:2px;
}


/* ボタン共通設定 */
.btn06{
    /*矢印の基点とするためrelativeを指定*/
  position: relative;
    /*ボタンの形状*/
  text-decoration: none;
  display: inline-block;
  background:#fff;
  color:#1c2a57;
    padding: 10px 40px 10px 30px;
  border-radius:25px;
    text-align: center;
    outline: none;
    /*アニメーションの指定*/
    transition: ease .2s;
    border: 1px solid #1c2a57;
}

.btn06:hover{
  background:#ef5e21;
  color: #fff;
}

/* 矢印が回転 */

.btnarrow3::after{
  content: '';
    display: inline-block;
    width: 24px;
    height: 24px;
    background-image: url(../img/arrow.png);
    background-size: contain;
    vertical-align: middle;
    position: absolute;
    top: 27%;
    right: 8px;
    transform: rotate(0deg);
    transition: all .3s;
}
.nav-bt .btnarrow3::after {
  top: 20%;
}

/*hoverした際のアニメーション*/
.btnarrow3:hover::after{
  animation: arrowrotate .3s;
}

@keyframes arrowrotate {
100% {
    transform: rotate(360deg);
  }
}



/*========= ページトップのためのCSS ===============*/
/*リンクの形状*/
#page-top a{
  display: flex;
  justify-content:center;
  align-items:center;
  background:#1c2a57;
  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(10px);
  }
  to {
    opacity: 1;
  transform: translateY(0);
  }
}

/*　下に下がる動き　*/

#page-top.DownMove{
  animation: DownAnime 0.5s forwards;
}
@keyframes DownAnime{
  from {
    opacity: 1;
  }
  to {
    opacity: 1;
  }
}




/* snow monkeyプログレストラッカーのカスタマイズ */
form .smf-progress-tracker {
  list-style-type: none;
  display: flex;
  width: 100%;
  padding: 0;
  margin: 2em auto 2em;
  overflow: hidden;
}
form .smf-progress-tracker li {
  display: flex;
  flex-direction: row;
  justify-content: center;
  align-items: center;
  position: relative;
  width: 33.33%;
  padding: 1em 0 1em 1em;
  text-align: center;
  color: #000;
  background: #f3f3f3;
}
form .smf-progress-tracker li:last-child {
  padding-right: 1em;
}
form .smf-progress-tracker li:before{
  display: none;
}
form .smf-progress-tracker li:after{
  content: "";
  position: absolute;
  z-index: 2;
  width: 0;
  height: 100%;
  top: 0;
  bottom: 0;
  right: -0.95em;
  left: auto;
  margin: auto;
  background: none;
  border-style: solid;
  border-width: 2.5em 0 2.5em 1.2em;
  border-color: transparent transparent transparent #f3f3f3;
}
form .smf-progress-tracker li:last-child:after{
  display: none;
}
form[data-screen="input"] .smf-progress-tracker__item--input,
form[data-screen="invalid"] .smf-progress-tracker__item--input,
form[data-screen="back"] .smf-progress-tracker__item--input,
form[data-screen="confirm"] .smf-progress-tracker__item--confirm,
form[data-screen="complete"] .smf-progress-tracker__item--complete{
  color: #fff;
  background: #EF5D21;
}
form[data-screen="input"] .smf-progress-tracker__item--input:after,
form[data-screen="invalid"] .smf-progress-tracker__item--input:after,
form[data-screen="back"] .smf-progress-tracker__item--input:after,
form[data-screen="confirm"] .smf-progress-tracker__item--confirm:after,
form[data-screen="complete"] .smf-progress-tracker__item--complete:after{
  right: -1em;
  border-color: transparent transparent transparent #EF5D21;
}
form .smf-progress-tracker li .smf-progress-tracker__item__number{
  margin: 0 0.5em 0 0;
}
form .smf-progress-tracker li .smf-progress-tracker__item__text{
  margin: 0 0 0 0;
}


/* snow monkey送信ボタン等のカスタマイズ */
form .smf-action{
  display: flex;
  justify-content: space-between;
}
form .smf-action .smf-button-control{
  margin: 0 auto;
}
form .smf-action .smf-button-control button{
  position: relative;
  text-align: left;
  box-sizing: border-box;
  border-radius: 2em;
  padding: 1em 2em;
  font-size: 1.2em;
  font-weight: 600;
  display: flex;
  align-items: center;
  color: #fff;
  background: #EF5D21;
  border: none;
  transition: .3s;
}
form .smf-action .smf-button-control button:hover {
  transition: .3s;
  opacity: .7;
}
form .smf-action .smf-button-control button[data-action="back"]{
  background: #e3e3e3;
}

/* snow monkeyもろもろカスタマイズ */
.smf-form--business .smf-item__col--controls {
        flex: 1 1 calc(100% - 14em);
        max-width: calc(100% - 14em);
        background-color: #fff;
        padding: 40px!important;
    }
.page-cont01 .smf-form {
  margin-bottom: 20px;
  margin-top: 50px;
  font-size: 1.5rem;
}
.page-cont01 {
  margin-bottom: 100px;
}

@media screen and (max-width: 590px) {
.smf-form--business .smf-item__col--controls {
    max-width: 100%;
  }
.smf-form .smf-text-control__control {
    width: 100%;
    padding: 20px!important;
}
.smf-form .smf-radio-button-control {
  margin: 10px;
}
form .smf-progress-tracker li {
    padding: 10px 0 10px 5px;
    font-size: 1.3rem;
}
}







