@charset "utf-8";

/* ---------------------------------------------------------------------------------------------

　   フェードインアニメーション系

--------------------------------------------------------------------------------------------- */
/*.inview_fadeInLeft,.inview_fadeInRight,.inview_fadeInUp,.inview_fadeInDown,.inview_fadeIn,.inview_flipInY {
  opacity: 0;
}
.inview_fadeInLeft.fadeInLeft,.inview_fadeInRight.fadeInRight,.inview_fadeInUp.fadeInUp,.inview_fadeInDown.fadeInDown,.inview_fadeIn.fadeIn,.inview_flipInY.flipInY {
  opacity: 1;
}*/
.inview_fadeInLeft,.inview_fadeInRight,.inview_fadeInUp,.inview_fadeInDown,.inview_fadeIn,.inview_flipInY,.inview_fuwa {
  visibility: hidden;
}
.inview_fadeInLeft.fadeInLeft,.inview_fadeInRight.fadeInRight,.inview_fadeInUp.fadeInUp,.inview_fadeInDown.fadeInDown,.inview_fadeIn.fadeIn,.inview_flipInY.flipInY,.inview_fuwa.fuwafuwa {
  visibility: visible;
}

@-webkit-keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    -webkit-transform: translate3d(-40px, 0, 0);
    transform: translate3d(-40px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInLeft {
  -webkit-animation-name: fadeInLeft;
  animation-name: fadeInLeft;
}

@-webkit-keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    -webkit-transform: translate3d(40px, 0, 0);
    transform: translate3d(40px, 0, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInRight {
  -webkit-animation-name: fadeInRight;
  animation-name: fadeInRight;
}

@-webkit-keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    -webkit-transform: translate3d(0, 40px, 0);
    transform: translate3d(0, 40px, 0);
  }

  to {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInUp {
  -webkit-animation-name: fadeInUp;
  animation-name: fadeInUp;
}


@keyframes fadeInDown {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }

  100% {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
}

.fadeInDown {
  -webkit-animation-name: fadeInDown;
  animation-name: fadeInDown;
}


@keyframes fadeIn {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

.fadeIn {
  -webkit-animation-name: fadeIn;
  animation-name: fadeIn;
}


@-webkit-keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

@keyframes flipInY {
  from {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    -webkit-animation-timing-function: ease-in;
    animation-timing-function: ease-in;
  }

  60% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    -webkit-transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    -webkit-transform: perspective(400px);
    transform: perspective(400px);
  }
}

.flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  -webkit-animation-name: flipInY;
  animation-name: flipInY;
}

/* ---------------------------------------------------------------------------------------------

　   スライド系アニメーション

--------------------------------------------------------------------------------------------- */
.img-wrap {
  will-change: all;
  position: relative;
  overflow: hidden;
}
.img-wrap:before {
  content: '';
  position: absolute;
  display: block;
  /*background-image: url(../img/bg.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: 0 0;*/
  background: #eee;
  width: 100%;
  height: 100%;
  -webkit-transform: translateX(-100%);
      -ms-transform: translateX(-100%);
          transform: translateX(-100%);
  will-change: all;
  z-index: 1;
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
}
.img-wrap * {
  -webkit-transition: .5s;
  -moz-transition: .5s;
  -o-transition: .5s;
  transition: .5s;
  z-index: 0;
  position: relative;
  opacity: 0;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  will-change: opacity;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.img-wrap.frame_in:before {
  -webkit-animation: frameInImg_bg cubic-bezier(0.645, 0.045, 0.355, 1) 1.2s;
          animation: frameInImg_bg cubic-bezier(0.645, 0.045, 0.355, 1) 1.2s;
  -webkit-transform: translateX(100%);
      -ms-transform: translateX(100%);
          transform: translateX(100%);
}
.img-wrap.frame_in * {
  opacity: 1;
  -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  -webkit-animation: frameInImg_img cubic-bezier(0.645, 0.045, 0.355, 1) 1.2s;
          animation: frameInImg_img cubic-bezier(0.645, 0.045, 0.355, 1) 1.2s;
}
/* img fade */
@-webkit-keyframes frameInImg_bg {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}
@keyframes frameInImg_bg {
  0% {
    -webkit-transform: translateX(-100%);
            transform: translateX(-100%);
  }
  100% {
    -webkit-transform: translateX(100%);
            transform: translateX(100%);
  }
}

@-webkit-keyframes frameInImg_img {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  50% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  75% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}
@keyframes frameInImg_img {
  0% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  50% {
    opacity: 0;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=0)";
  }
  75% {
    opacity: 1;
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";
  }
}



.content-wrap .content-wrap-inner {
    position: relative;
    overflow: hidden;
    display: block;
}
.content-wrap .content-wrap-inner:after {
    content: '';
    position: absolute;
    z-index: 10;
    top: 0;
    left: 0;
    width: 0;
    height: 100%;
    background: #1f7bac;
    -webkit-transform: translate3d(0,0,0);
    transform: translate3d(0,0,0);
}

.content-wrap .content-wrap-inner * {
    opacity: 0;
    -webkit-font-smoothing: antialiased;
    -webkit-backface-visibility: hidden;
    position: relative;
    -webkit-transition: opacity 0s ease .5s;
    -o-transition: opacity 0s ease .5s;
    transition: opacity 0s ease .5s;
}

.content-wrap.frame_in .content-wrap-inner * {
    opacity: 1;
}
.content-wrap.frame_in .content-wrap-inner:after {
    -webkit-animation: .5s ease-in-out forwards frameIn_content_bg,1.2s ease-in-out forwards frameIn_content_second;
    animation: .5s ease-in-out forwards frameIn_content_bg,1.2s ease-in-out forwards frameIn_content_second;
}

@-webkit-keyframes frameIn_content_bg{
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
@keyframes frameIn_content_bg{
    0% {
        width: 0;
    }
    100% {
        width: 100%;
    }
}
@-webkit-keyframes frameIn_content_second{
    0%,50% {
        left: 0;
    }
    100% {
        left: 100%;
    }
}
@keyframes frameIn_content_second {
    0%,50% {
        left: 0;
    }
    100% {
        left: 100%;
    }
}



.animated {
  -webkit-animation-duration: 1s;
  animation-duration: 1s;
  -webkit-animation-fill-mode: both;
  animation-fill-mode: both;
}

.animated.infinite {
  -webkit-animation-iteration-count: infinite;
  animation-iteration-count: infinite;
}

.animated.delay-1s {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.animated.delay-2s {
  -webkit-animation-delay: 2s;
  animation-delay: 2s;
}

.animated.delay-3s {
  -webkit-animation-delay: 3s;
  animation-delay: 3s;
}

.animated.delay-4s {
  -webkit-animation-delay: 4s;
  animation-delay: 4s;
}

.animated.delay-5s {
  -webkit-animation-delay: 5s;
  animation-delay: 5s;
}

.animated.delay1 {
  -webkit-animation-delay: 0.25s;
  animation-delay: 0.25s;
}
.animated.delay2 {
  -webkit-animation-delay: 0.5s;
  animation-delay: 0.5s;
}
.animated.delay3 {
  -webkit-animation-delay: 0.75s;
  animation-delay: 0.75s;
}
.animated.delay4 {
  -webkit-animation-delay: 1s;
  animation-delay: 1s;
}

.animated.fast {
  -webkit-animation-duration: 800ms;
  animation-duration: 800ms;
}

.animated.faster {
  -webkit-animation-duration: 500ms;
  animation-duration: 500ms;
}

.animated.slow {
  -webkit-animation-duration: 2s;
  animation-duration: 2s;
}

.animated.slower {
  -webkit-animation-duration: 3s;
  animation-duration: 3s;
}

@media (print), (prefers-reduced-motion) {
  .animated {
    -webkit-animation: unset !important;
    animation: unset !important;
    -webkit-transition: none !important;
    transition: none !important;
  }
}
