
.fademove, .fadeshow {
  -webkit-backface-visibility: hidden
}
.button_wrap {
  width: 100%
}
.button_wrap.right {
  text-align: right
}

.fadecont {
  opacity: 0
}
.fadeshow {
  opacity: 1;
  backface-visibility: hidden
}
.fademove {
  opacity: 0;
  -webkit-transition: all .8s cubic-bezier(.3, .1, .3, 1);
  transition: all .8s cubic-bezier(.3, .1, .3, 1);
  -webkit-transform: translate3d(0, 40px, 0);
  transform: translate3d(0, 40px, 0);
  backface-visibility: hidden
}
.fademove_show {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0)
}

.js_split_txt .s_t {
  display: inline-block
}
.js_split_txt.fadetxt .s_t {
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 0
}
.js_split_txt.fadetxt.txt_show {
  visibility: visible
}
.js_split_txt.fadetxt.txt_show .s_t {
  opacity: 1
}
.js_split_txt.fadetxt_up {
  visibility: hidden
}
.js_split_txt.fadetxt_up .s_t {
  -webkit-transition: all 1s;
  transition: all 1s;
  opacity: 0;
  -webkit-transform: translateY(40px);
  -ms-transform: translateY(40px);
  transform: translateY(40px)
}
.js_split_txt.fadetxt_up.txt_show {
  visibility: visible
}
.js_split_txt.fadetxt_up.txt_show .s_t {
  -webkit-transform: translateY(0);
  -ms-transform: translateY(0);
  transform: translateY(0);
  opacity: 1
}
.js_bg_left::before {
  -webkit-transition: -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: transform .8s cubic-bezier(.41, .05, .94, .65), -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  -webkit-transform-origin: left;
  -ms-transform-origin: left;
  transform-origin: left;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0)
}
.js_bg_right::before, .js_bg_top::before {
  -webkit-transition: -webkit-transform .8s cubic-bezier(.41, .05, .94, .65)
}
.js_bg_left.js_bg_done::before {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1)
}
.js_bg_right::before {
  transition: -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: transform .8s cubic-bezier(.41, .05, .94, .65), -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  -webkit-transform-origin: right;
  -ms-transform-origin: right;
  transform-origin: right;
  -webkit-transform: scaleX(0);
  -ms-transform: scaleX(0);
  transform: scaleX(0)
}
.js_bg_right.js_bg_done::before {
  -webkit-transform: scaleX(1);
  -ms-transform: scaleX(1);
  transform: scaleX(1)
}
.js_bg_top::before {
  transition: -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: transform .8s cubic-bezier(.41, .05, .94, .65), -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  -webkit-transform-origin: top;
  -ms-transform-origin: top;
  transform-origin: top;
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0)
}
.js_bg_top.js_bg_done::before {
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1)
}
.js_bg_bottom::before {
  -webkit-transition: -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: transform .8s cubic-bezier(.41, .05, .94, .65);
  transition: transform .8s cubic-bezier(.41, .05, .94, .65), -webkit-transform .8s cubic-bezier(.41, .05, .94, .65);
  -webkit-transform-origin: bottom;
  -ms-transform-origin: bottom;
  transform-origin: bottom;
  -webkit-transform: scaleY(0);
  -ms-transform: scaleY(0);
  transform: scaleY(0)
}
.js_bg_bottom.js_bg_done::before {
  -webkit-transform: scaleY(1);
  -ms-transform: scaleY(1);
  transform: scaleY(1)
}


.ttl_02 {
  display: block;
  position: relative;
  text-align: left
}
.sec_top01_inner .txt .ttl_01::before, .sec_top02_inner .txt .ttl_02::before {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover
}
.js_bg_red::before {
  height: 100%;
  z-index: 0;
  width: 100%;
  content: '';
  display: block
}

.sec_top05 {
	margin: 0 auto;
}
.sec_top05_img {
	width: 272px;
	position: absolute;
	z-index: 20;
	height: 553px;
	top: 100px;
	left: 10%;
}
.sec_top01_img_inner,
.sec_top05_img_inner {
  position: relative;
  width: 100%;
  height: 100%;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: cover
}







@media all and (-ms-high-contrast:none) {
  .fademove {
    -webkit-transform: translate(0, 20px);
    -ms-transform: translate(0, 20px);
    transform: translate(0, 20px)
  }
  .fademoveleft {
    -webkit-transform: translate(-20px, 0);
    -ms-transform: translate(-20px, 0);
    transform: translate(-20px, 0)
  }
  .fademoveright {
    -webkit-transform: translate(20px, 0);
    -ms-transform: translate(20px, 0);
    transform: translate(20px, 0)
  }
  .fademove_show {
    -webkit-transform: translate(0, 0);
    -ms-transform: translate(0, 0);
    transform: translate(0, 0)
  }
}
@-webkit-keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}
@keyframes swiper-preloader-spin {
  100% {
    -webkit-transform: rotate(360deg);
    transform: rotate(360deg)
  }
}
@keyframes instaReveal {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes instaReveal {
  0% {
    opacity: 0
  }
  100% {
    opacity: 1
  }
}
@-webkit-keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    transform: scale(1.5)
  }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}
@keyframes modaal-loading-spinner {
  0% {
    opacity: 1;
    -ms-transform: scale(1.5);
    -webkit-transform: scale(1.5);
    transform: scale(1.5)
  }
  100% {
    opacity: .1;
    -ms-transform: scale(1);
    -webkit-transform: scale(1);
    transform: scale(1)
  }
}
@-webkit-keyframes scrollbar {
  0%, 100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
  50% {
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px)
  }
}
@keyframes scrollbar {
  0%, 100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0)
  }
  50% {
    -webkit-transform: translate(0, 10px);
    transform: translate(0, 10px)
  }
}


@media screen and (max-width: 768px) {
	
.js_bg_red::before {
	content: none;
}	
	
	
	
.sec_top01_img_inner,
.sec_top05_img_inner {
  background-size: 100%;
}
}