@charset "UTF-8";

#sec_keyvisual {
  position: relative;
  margin: 0 45px 70px;
  height: calc(100vh - 140px);
  transform: translate(0px, 20px);
}
#keyvisual {
  display: none;
}
#sec_keyvisual .left {
  right: 50%;
}
#sec_keyvisual .right {
  left: 50%;
}
#sec_keyvisual .canvas {
  position: absolute;
  top: 50%;
  z-index: 1;
  width: 37px;
  height: 123px;
  transform: translate(0px, -136px);
  margin: 0 5px;
}
#sec_keyvisual .canvas::before {
  content: '';
  position: absolute;
  top: 0;
  z-index: 3;
  display: block;
  width: 100%;
  height: 100%;
  background: #F39939;
  opacity: 0.5;
}
#sec_keyvisual .left::before {
  left: 0;
}
#sec_keyvisual .right::before {
  right: 0;
}
#sec_keyvisual .canvas::after {
  content: '';
  position: absolute;
  top: 0;
  z-index: 1;
  display: block;
  width: 100%;
  height: 100%;
  background: #F39939;
}
#sec_keyvisual .left::after {
  left: 0;
}
#sec_keyvisual .right::after {
  right: 0;
}
#sec_keyvisual .canvas .vis {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  width: 100%;
  height: 100%;
  overflow: hidden;
}
#sec_keyvisual .canvas .vis img {
  position: absolute;
  top: 0;
  z-index: 1;
  height: 100%;
  width: auto;
  transition: 0.3s;
}
#sec_keyvisual .canvas.left .vis img {
  left: 100%;
}
#sec_keyvisual .canvas.right .vis img {
  right: 100%;
}
#sec_keyvisual .img1 {
  display: none;
}
#sec_keyvisual .img2 {
  display: none;
}
#sec_keyvisual .logo {
  transform: translate(0px, 28px);
}
#sec_keyvisual .text {
  position: absolute;
  top: 50%;
  left: 0;
  z-index: 4;
  width: 100%;
  text-align: center;
  margin: -73px 0 0;
  opacity: 0;
  transition: 0.2s;
}
#sec_keyvisual .text.show {
  opacity: 1;
}
#sec_keyvisual .text span {
  display: block;
  width: 320px;
  margin: 5px auto;
  padding: 9px 15px;
  position: relative;
}
#sec_keyvisual .text span::after {
  content: '';
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 1;
  width: 0;
  height: 100%;
  background: rgba(255, 255, 255, 0.85);
  transition: 0.3s;
}
#sec_keyvisual .text.show span::after {
  width: 100%;
}
#sec_keyvisual .text span figure {
    width: 0;
    overflow: hidden;
    transition: 0.3s;
    transition-delay: 0.8s;
}
#sec_keyvisual .text span.text01 {}
#sec_keyvisual .text span.text02 {}
#sec_keyvisual .text span.text01::after {
  transition-delay: 0.0s;
}
#sec_keyvisual .text span.text02::after {
  transition-delay: 0.2s;
}
#sec_keyvisual .text span.text01 figure {
  transition-delay: 0.5s;
}
#sec_keyvisual .text span.text02 figure {
  transition-delay: 0.7s;
}
#sec_keyvisual .text.show span figure {
    width: 100%;
}
#sec_keyvisual .text span img {
  position: relative;
  z-index: 2;
  height: 100%;
}
#sec_keyvisual .v_text {}
#sec_keyvisual .v_text span {
  position: absolute;
  top: 55px;
  z-index: 5;
  display: block;
  overflow: hidden;
  height: 0;
  transition: 1.0s;
}
#sec_keyvisual .v_text.show span {
  height: calc(100vh - 200px);
}
#sec_keyvisual .v_text span.v_text01 {
  right: 46px;
  transition-delay: 0s;
}
#sec_keyvisual .v_text span.v_text02 {
  left: 46px;
  transition-delay: 0.5s;
}
#sec_keyvisual .v_text span img {}
#sec_keyvisual .btn {
    position: absolute;
    bottom: 54px;
    left: 0;
    z-index: 20;
    width: 100%;
    text-align: center;
    opacity: 0;
    transition: 0.2s;
}
#sec_keyvisual .btn.show {
    opacity: 1;
}
#sec_keyvisual .btn span {
    display: inline-block;
    text-align: left;
    width: 310px;
    font-size: 1.0rem;
    line-height: 1;
    padding: 23px 0 22px 26px;
    border-radius: 50px;
    color: white;
    background: url(img/top/keyvisual/btn_arrow.png) no-repeat center right 28px / 20px auto #F39939;
}

#sec_keyvisual .canvas.opening1 {
  transform: translate(0px, -62px);
		transition: 0.5s;
}
#sec_keyvisual .canvas.opening2 {
  transform: translate(0px, 0px);
  top: 0;
		transition: 0.3s;
}
#sec_keyvisual .canvas.opening3 {
    width: calc(50vw - 75px)!important;
		transition: 0.3s;
}
#sec_keyvisual .canvas.opening4::before,
#sec_keyvisual .canvas.opening4::after {
  width: 0;
		transition: 0.3s;
}

@media screen and (max-width: 768px){
#sec_keyvisual {
    margin: 0 25px 108px;
    height: calc(100vh - 178px);
    transform: translate(0px, 13px);
}
#keyvisual {}
#sec_keyvisual .left {}
#sec_keyvisual .right {}
#sec_keyvisual .canvas {}
#sec_keyvisual .canvas::before {}
#sec_keyvisual .left::before {}
#sec_keyvisual .right::before {}
#sec_keyvisual .canvas::after {}
#sec_keyvisual .left::after {}
#sec_keyvisual .right::after {}
#sec_keyvisual .canvas .vis {}
#sec_keyvisual .canvas .vis img {}
#sec_keyvisual .canvas.left .vis img {}
#sec_keyvisual .canvas.right .vis img {}
#sec_keyvisual .img {}
#sec_keyvisual .logo {}
#sec_keyvisual .text {
    margin: -48px 0 0;
}
#sec_keyvisual .text.show {}
#sec_keyvisual .text span {
    width: 68%;
    padding: 7px 11px;
}
#sec_keyvisual .text span::after {
}
#sec_keyvisual .text.show span::after {}
#sec_keyvisual .text span.text01 {}
#sec_keyvisual .text span.text02 {}
#sec_keyvisual .text span.text01::after {}
#sec_keyvisual .text span.text02::after {}
#sec_keyvisual .text span img {
    width: 100%;
}
#sec_keyvisual .v_text {}
#sec_keyvisual .v_text span {}
#sec_keyvisual .v_text.show span {
    width: 36px;
    top: 0;
    height: 100%;
}
#sec_keyvisual .v_text span.v_text01 {
    right: 2px;
}
#sec_keyvisual .v_text span.v_text02 {
    left: 2px;
}
#sec_keyvisual .v_text span img {
    width: 100%;
    position: absolute;
    bottom: 0;
    left: 0;
    z-index: 3;
}
#sec_keyvisual .btn {
    bottom: -80px;
}
#sec_keyvisual .btn span {
    width: 90%;
    font-size: 0.95rem;
    padding: 21px 0 20px 26px;
}
#sec_keyvisual .canvas.opening1 {}
#sec_keyvisual .canvas.opening2 {}
#sec_keyvisual .canvas.opening3 {
    width: calc(50vw - 40px)!important;
}
#sec_keyvisual .canvas.opening4::before,
#sec_keyvisual .canvas.opening4::after {}
}

@media screen and (min-aspect-ratio: 16/9) {
  #sec_keyvisual .canvas .vis img {
    top: 0;
    bottom: 0;
    height: 120%;
    margin: auto;
  }
}

@media screen and (max-width: 768px){
  #sec_keyvisual .canvas .vis img {
    height: 130%;
  }
}

/* @media screen and (max-width: 650px){
  #sec_keyvisual .canvas .vis img {
    height: 140%;
  }
}

@media screen and (max-width: 560px){
  #sec_keyvisual .canvas .vis img {
    height: 120%;
  }
} */

@media screen and (max-width: 480px){
  #sec_keyvisual .canvas .vis img {
    height: 100%;
  }
}