@charset "utf-8";


/* ----------------------------------------------------------------------
	home
---------------------------------------------------------------------- */

#home .header__logo { opacity: 0; }
#home.mainimg-play .header__logo {
    animation-name: blurAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
}

.l-home-mainimg__slider { opacity: 0; }
.mainimg-play .l-home-mainimg__slider {
    animation-name: fadeInAnime;
    animation-duration: 1.4s;
    animation-fill-mode: forwards;
}

.l-home-mainimg__catch p { opacity: 0; }
.mainimg-play .l-home-mainimg__catch p {
    animation-name: mainimgAnime01;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

.l-home-mainimg__bn-bridal-fair { opacity: 0; }
.mainimg-play .l-home-mainimg__bn-bridal-fair {
    animation-name: mainimgAnime02;
    animation-duration: 1s;
    animation-fill-mode: forwards;
}

@keyframes mainimgAnime01 {
  from {
    opacity: 0;
	transform: translateY(-30px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

@keyframes mainimgAnime02 {
  from {
    opacity: 0;
	transform: translateY(30px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}

.l-home-mainimg__slider { animation-delay: 0.4s; }
#home.mainimg-play .header__logo { animation-delay: 1s; }
.l-home-mainimg__catch p:nth-child(1) { animation-delay: 1.4s; }
.l-home-mainimg__catch p:nth-child(2) { animation-delay: 1.8s; }
.l-home-mainimg__catch p:nth-child(3) { animation-delay: 2.2s; }
.l-home-mainimg__bn-bridal-fair { animation-delay: 2.2s; }

@media screen and (max-width: 990px) {
    .mainimg-play .l-home-mainimg__catch p { animation-name: mainimgAnime02; }
    
    .l-home-mainimg__catch p:nth-child(1) { animation-delay: 1s; }
    
    .l-home-mainimg__slider { animation-delay: 0.4s; }
    
    #home .header__logo { opacity: 1; }
    #home.mainimg-play .header__logo {
        animation-name: none;
        animation-duration: 0;
        animation-fill-mode: none;
        animation-delay: 0;
    }
    
    .l-home-mainimg__bn-bridal-fair { animation-delay: 1.4s; }
}


/* ----------------------------------------------------------------------
	about
---------------------------------------------------------------------- */

/* concept */
@media screen and (min-width: 990px) {
    .l-about-concept__slide-wrap { height: 800vh; }

    .l-about-concept__slide-list {
        position: sticky;
        top: 100px;
        height: calc(100vh - 100px);
    }

    .l-about-concept__slide {
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
    }

    .l-about-concept__slide.is-current { z-index: 1; }

    .l-about-concept__slide-catch,
    .l-about-concept__slide-ph,
    .l-about-concept__slide-move,
    .l-about-concept__slide-txt,
    .l-about-concept__slide-bg { opacity: 0; }

    .l-about-concept__slide.is-current .l-about-concept__slide-bg {
        animation-name: fadeInAnime;
        animation-duration: 1s;
        animation-fill-mode: forwards;
    }

    .l-about-concept__slide.is-current .l-about-concept__slide-catch,
    .l-about-concept__slide.is-current .l-about-concept__slide-ph,
    .l-about-concept__slide.is-current .l-about-concept__slide-move,
    .l-about-concept__slide.is-current .l-about-concept__slide-txt {
        animation-name: slideUpAnime;
        animation-duration: 1s;
        animation-fill-mode: forwards;
    }

    .l-about-concept__slide.is-current .l-about-concept__slide-ph,
    .l-about-concept__slide.is-current .l-about-concept__slide-move { animation-delay: 0.6s; }
    .l-about-concept__slide.is-current .l-about-concept__slide-txt { animation-delay: 0.8s; }
}

@keyframes slideUpAnime{
  from {
    opacity: 0;
    margin-top: 20px;
  }

  to {
    opacity: 1;
    margin-top: 0;
  }
}


/* ----------------------------------------------------------------------
	common
---------------------------------------------------------------------- */

/* fadeIn */
.fadeInTrigger { opacity: 0; }

.fadeIn {
    animation-name: fadeInAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeInAnime{
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}


/* fadeLeft */
.fadeLeftTrigger { opacity: 0; }

.fadeLeft {
    animation-name: fadeLeftAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeLeftAnime{
  from {
    opacity: 0;
	transform: translateX(-50px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}


/* fadeRight */
.fadeRightTrigger { opacity: 0; }

.fadeRight {
    animation-name: fadeRightAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeRightAnime{
  from {
    opacity: 0;
	transform: translateX(50px);
  }

  to {
    opacity: 1;
	transform: translateX(0);
  }
}

/* fadeUp */
.fadeUpTrigger { opacity: 0; }

.fadeUp {
    animation-name: fadeUpAnime;
    animation-duration: 0.8s;
    animation-fill-mode: forwards;
    opacity: 0;
}

@keyframes fadeUpAnime{
  from {
    opacity: 0;
	transform: translateY(50px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}


/* fadeDown */
.fadeDowTrigger { opacity: 0; }

.fadeDown {
    animation-name: fadeDownAnime;
    animation-duration: 0.8s;
    animation-fill-mode:forwards;
    opacity: 0;
}

@keyframes fadeDownAnime{
  from {
    opacity: 0;
	transform: translateY(-50px);
  }

  to {
    opacity: 1;
	transform: translateY(0);
  }
}


/* zoomIn */
.zoomInTrigger { transform: scale(0); }

.zoomIn {
	animation-name: zoomInAnime;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
}

@keyframes zoomInAnime{
  from {
    transform: scale(0.8);
  }

  to {
    transform: scale(1);
  }
}


/* zoomOut */
.zoomOutTrigger { transform: scale(1.4); }

.zoomOut {
	animation-name: zoomOutAnime;
	animation-duration: 1.8s;
	animation-fill-mode: forwards;
}

@keyframes zoomOutAnime{
  from {
    transform: scale(1.4);
  }

  to {
    transform: scale(1);
  }
}



/* blur */
.blurTrigger { opacity: 0; }

.blur {
	animation-name: blurAnime;
	animation-duration: 0.8s;
	animation-fill-mode: forwards;
}

@keyframes blurAnime{
  from {
    opacity: 0;
    filter: blur(20px);
  }

  to {
    opacity: 1;
    filter: blur(0);
  }
}


/* updown */
.updown {
    animation: move-y 1s infinite alternate ease-in-out;
    display: inline-block; 
}

@keyframes move-y {
  from {
    transform: translateY(0);
  }
  to {
    transform: translateY(15px);
  }
}


/* opacity0 */
.opacity0 { opacity: 0; }


/* delay */
.animationDealy1 { animation-delay: 0; }
.animationDealy2 { animation-delay: 0.2s; }
.animationDealy3 { animation-delay: 0.4s; }
.animationDealy4 { animation-delay: 0.6s; }
.animationDealy5 { animation-delay: 0.8s; }

