@charset "UTF-8";

.blur-ele{
  width:110%;
  opacity:0;
  filter:blur(10px);
  animation:blur-ele 1s ease-out forwards;
}
@keyframes blur-ele{
  100%{
      width:100%;
      opacity:1;
      filter:blur(0px);
  }
}
.ef_barSlide {
  width:0% !important;
  transition: all 0.4s;
  opacity: 0;
}
.ef_barSlide-on {
  width:100% !important;
  opacity: 1 !important;
}

/*フェードイン*/
.ef_fadeUp{
  opacity: 0;
  transform: translate(0, 30px);
  transition-duration:1000ms;
}
.ef_fadeUp-r{
  opacity: 0;
  transform: translate(30px, 0);
  transition-duration:1000ms;
}
.ef_fadeUp-l{
  opacity: 0;
  transform: translate(-30px, 0);
  transition-duration:1000ms;
}
.ef_fadeUp-topLeft{
  opacity: 0;
  transform: translate(4%, 4%);
  transition-duration:1000ms;
}
.ef_fadeUp-bottomRight{
  opacity: 0;
  transform: translate(-4%, -4%);
  transition-duration:1000ms;
}
.ef_fadeUp.no_slide{
  transform: translate(0, 0);
}
.ef_fadeUp-on{
  opacity: 1;
  transform: translate(0, 0);
}
/*ポップアップ*/
.ef_popUp {
  transform: translate(0, 20px) scale(0.9);
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  opacity: 0;
}
.ef_popUp-on {
  transform: translate(0, 0) scale(1);
  opacity: 1 !important;
}
/*
.fadein-bound-absCenter {
  position:absolute;
  top:calc(50% - 5vh);left:50%;
  transform: translate(-50%, -48%) scale(0.8);
  transition: all 0.6s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  opacity: 0;
}
.fadein-bound-absCenter.is-visible {
  transform: translate(-50%,-50%) scale(1);
  opacity: 1 !important;
}
*/
.no-wait-on{
    /*ef_fadeUp-onをすぐに実行*/
}
@media screen and (max-width:768px){
	.ef_fadeUp{
	  transform: translate(0, 5vw);
	}
    .ef_fadeUp_mb{
      opacity: 0;
      transform: translate(0, 5vw);
      transition: all 1000ms;
    }
    .ef_fadeUp-r_mb{
      opacity: 0;
      transform: translate(5vw, 0);
      transition: all 1000ms;
    }
	.ef_fadeUp-on{
      opacity: 1;
	  transform: translate(0, 0);
	}
}


/*ふわふわ*/
.fuwafuwa {
  animation: fuwafuwa 3s infinite ease-in-out .8s alternate;
  transition: 1.5s ease-in-out;
}
.fuwafuwa2 {
  animation: fuwafuwa2 3s infinite ease-in-out .8s alternate;
/*  transition: 0.5s ease-in-out;*/
}
 
@keyframes fuwafuwa {
  0% {
    transform:translate(0, 0) rotate(-7deg);
  }
  50% {
    transform:translate(0, -7px) rotate(0deg);
  }
  100% {
    transform:translate(0, 0) rotate(7deg);
  }
}
@keyframes fuwafuwa2 {
  0% {
/*    transform:rotate(0deg);*/
    margin-top:0;
    margin-bottom:10px;
  }
  33% {
/*    transform:rotate(-5deg);*/
    margin-top:10px;
    margin-bottom:0px;
  }
  100% {
/*    transform:rotate(5deg);*/
    margin-top:0;
    margin-bottom:10px;
  }
}

/*カクカク左右*/
.step-swing{
  animation-name: step-swing;
  animation-duration:4s;
  animation-timing-function:steps(1,end);
  animation-iteration-count:infinite;
  animation-direction:alternate;
}
.step-swing2{
  animation-name: step-swing;
  animation-duration:2s;
  animation-timing-function:steps(1,start);
  animation-iteration-count:infinite;
  animation-direction:alternate-reverse;
}
@keyframes step-swing{
0% {
  transform:rotate(0deg);
}
33% {
  transform:rotate(-8deg);
}
66% {
  transform:rotate(0deg);
}
100% {
  transform:rotate(8deg);
}
}

.ef_delay-0{transition-delay:0ms;}
.ef_delay-1{transition-delay:100ms;}
.ef_delay-2{transition-delay:200ms;}
.ef_delay-3{transition-delay:300ms;}
.ef_delay-4{transition-delay:400ms;}
.ef_delay-5{transition-delay:500ms;}
.ef_delay-6{transition-delay:600ms;}
.ef_delay-7{transition-delay:700ms;}
.ef_delay-8{transition-delay:800ms;}
.ef_delay-9{transition-delay:900ms;}
.ef_delay-10{transition-delay:1000ms;}

.anime_delay-0{animation-delay:0ms;}
.anime_delay-1{animation-delay:100ms;}
.anime_delay-2{animation-delay:200ms;}
.anime_delay-3{animation-delay:300ms;}
.anime_delay-4{animation-delay:400ms;}
.anime_delay-5{animation-delay:500ms;}
.anime_delay-6{animation-delay:600ms;}
.anime_delay-7{animation-delay:700ms;}
.anime_delay-8{animation-delay:800ms;}
.anime_delay-9{animation-delay:900ms;}
.anime_delay-10{animation-delay:1000ms;}



/*loading*/
.loading {
  position: fixed;
  z-index: 1000;
  width: 100%;
  height: 100%;
  margin: 0;
  padding: 0;
  background: #fff;/*#333333;*/
}

.loading.hide {
  opacity: 0;
  pointer-events: none;
  transition: opacity 500ms;
}

.circle {
  display: block;
  position: relative;
  top: calc( 50% - 20px );
  width: 40px;
  height: 40px;
  margin: 0 auto;
  border: 3px solid #eee;/*#444444*/
  border-top: 3px solid #5ae1e5;
  border-radius: 50px;
  animation: loading 700ms linear 0ms infinite normal both;
}

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

/*２段階表示*/
.ef_stepTx{
  position: relative;
  overflow: hidden;
}
.ef_stepTx:after {
  content: '';
  position: absolute;
  opacity: 1;
  left: 0;
  top: 0;
  bottom: 0;
  width: 100%;
  background-color: #000;
  transform: translate3d(-101%, 0, 0);
}
.ef_stepTx.show:after {
  transition-property: transform, opacity;
  transition-duration: 0.5s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate3d(0, 0, 0);
}
.ef_stepTx.done:after {
  transition-property: transform;
  transition-duration: 0.5s;
  transition-delay: 0s;
  transition-timing-function: cubic-bezier(0.19, 1, 0.22, 1);
  transform: translate3d(103%, 0, 0);
}
.ef_stepTx.motion-inner {
  display: inline-block;
  opacity: 0;
}
.done.ef_stepTx.motion-inner {
  opacity: 1;
}