@charset "utf-8";
/* CSS Document */
.anime {
	opacity: 0;
}
.anim01 {
	-webkit-animation-duration: 1.0s;
	animation-duration: 1.0s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	/*-webkit-animation-delay: 1.1s;
	animation-delay: 1.1s;*/
}
@-webkit-keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
@keyframes heartBeat {
  0% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  14% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  28% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }

  42% {
    -webkit-transform: scale(1.3);
    transform: scale(1.3);
  }

  70% {
    -webkit-transform: scale(1);
    transform: scale(1);
  }
}
.animate__heartBeat {
  -webkit-animation-name: heartBeat;
  animation-name: heartBeat;
  -webkit-animation-duration: calc(1s * 1.3);
  animation-duration: calc(1s * 1.3);
  -webkit-animation-duration: calc(var(--animate-duration) * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  -webkit-animation-timing-function: ease-in-out;
  animation-timing-function: ease-in-out;
}
.anim02 {
	-webkit-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	/*-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;*/
}
.slideInUp {
	-webkit-animation-name: slideInUp;
	animation-name: slideInUp;	
}
@-webkit-keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
	   opacity:0;
  }

  to {
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
	  opacity:1;
  }
}
@keyframes slideInUp {
  from {
    -webkit-transform: translate3d(0, 100%, 0);
    transform: translate3d(0, 100%, 0);
    visibility: visible;
	  opacity:0;
  }

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

.anim03 {
	-webkit-animation-duration: 0.5s;
	animation-duration: 0.5s;
	-webkit-animation-fill-mode: both;
	animation-fill-mode: both;
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
}
.bounceIn {  
-webkit-animation-name: bounceIn;
animation-name: bounceIn;
}

@-webkit-keyframes bounceIn {
  	0% {
        -webkit-transform: scale(1.0, 1.0) translate(-30%, -30%);
		opacity: 0;
    }
    50% {
        -webkit-transform: scale(1.1, 1.1) translate(0%, 0%);
    }
    100% {
        -webkit-transform: scale(1.0, 1.0) translate(0%, 0%);
		opacity: 1;
    }
}
@keyframes bounceIn {
  	0% {
        -webkit-transform: scale(1.0, 1.0) translate(0%, 0%);
		opacity: 0;
    }
    50% {
        -webkit-transform: scale(1.1, 1.1) translate(0%, 0%);
    }
    100% {
        -webkit-transform: scale(1.0, 1.0) translate(0%, 0%);
		opacity: 1;
    }
}

.spot_content01_side_icon,.bficon {
    transform-origin: right top;
    animation: balloonAnime02 2s ease-out 0s infinite normal both;
}
/* 吹き出し（左）用 */
.balloon_left .top_content05_disc {
    transform-origin: left top;
    animation: balloonAnime 2s ease-out 0s infinite normal both;
}
.balloon_right span {
    transform-origin: right top;
    animation: balloonAnime02 2s ease-out 0s infinite normal both;
	display: block;
}
/* 吹き出し（右）用 */
.balloon_right .top_content05_disc {
    transform-origin: right top;
    animation: balloonAnime02 2s ease-out 0s infinite normal both;
}
@keyframes balloonAnime {
    0% {transform:rotate(0deg);}
    10% { transform:rotate(5deg);}
	20% { transform:rotate(0deg);}
	30% { transform:rotate(5deg);}
	40% { transform:rotate(0deg);}
    100% { transform:rotate(0deg);}
}
@keyframes balloonAnime02 {
    0% {transform:rotate(0deg);}
    10% { transform:rotate(0deg);}
	20% { transform:rotate(5deg);}
	30% { transform:rotate(0deg);}
	40% { transform:rotate(5deg);}
	50% { transform:rotate(0deg);}
    100% { transform:rotate(0deg);}
}
.top_content05_disc.anime.anime01{
	
}
.border{	
	/*transform: scale(0, 1);
  	transform-origin: left;*/
}
.border_anim{
	opacity: 1;
}
.border_anim span {
	animation: LinerLspan 0.2s ease-in 0s 1 forwards;
	display: block;
}
@keyframes LinerLspan {
  0% {
	transform-origin: left;
	width: 0;
  }
  100% {
	  width: 100%;
  }
}
.top_content03_box_in:nth-child(1){
	-webkit-animation-delay: 0.5s;
	animation-delay: 0.5s;
	position: relative;
	z-index: 11;
}
.top_content03_box_in:nth-child(2){
	-webkit-animation-delay: 1.0s;
	animation-delay: 1.0s;
	position: relative;
	z-index: 10;
}
.top_content03_box_in:nth-child(3){
	-webkit-animation-delay: 1.5s;
	animation-delay: 1.5s;
	position: relative;
	z-index: 9;
}
.top_content03_box_in:nth-child(4){
	-webkit-animation-delay: 2.0s;
	animation-delay: 2.0s;
	position: relative;
	z-index: 8;
}

/*
右から左へ
----------------------------*/
@keyframes infinity-scroll-left {
  from {
    transform: translateX(0);
  }
  to {
    transform: translateX(-100%);
  }
}

/*
IE11対策
----------------------------*/
_:-ms-lang(x)::-ms-backdrop,
.d-demo {
  display: -ms-grid;
  overflow: hidden;
}
/*----------------------------*/

.d-demo__wrap {
  display: flex;
  overflow: hidden;
}

.d-demo__list {
  display: flex;
  list-style: none;
}

.d-demo__list--left{
animation :infinity-scroll-left 95s infinite linear 0.5s both;
}

.d-demo__item {
  width: calc(100vw / 3);
}
.d-demo__item > img{
   width: 100%;
}
/*
左から右へ
----------------------------*/
@keyframes infinity-scroll-right {
  from {
    transform: translateX(-100%);
  }
  to {
    transform: translateX(0%);
  }
}

.d-demo__list--right{
animation :infinity-scroll-right 95s infinite linear 0.5s both;
}
.demo__wrap:hover .d-demo__list--left{
  animation-play-state: paused;
}