@keyframes anmcopy {
  0% {
    stroke-dashoffset: 2000;
    fill: transparent;
  }
  40% {
    stroke-dashoffset: 2000;
    fill: transparent;
  }
  50% {
    fill: transparent;
  }
  100% {
    stroke-dashoffset: 0;
    fill: #fff;
  }
}
@keyframes anmcopy2 {
  0% {
    opacity: 0;
    -webkit-filter: blur(80px);
    filter: blur(80px);
    transform: scale(0.9);
  }
  40% {
    opacity: 0.2;
    -webkit-filter: blur(60px);
    filter: blur(60px);
    transform: scale(0.95);
  }
  80% {
    opacity: 0.7;
    -webkit-filter: blur(40px);
    filter: blur(40px);
    transform: scale(1);
  }
  100% {
    opacity: 1;
    -webkit-filter: blur(0px);
    filter: blur(0px);
    transform: scale(1);
  }
}
@keyframes sdb {
  0% {
    opacity: 0;
  }
  30% {
    opacity: 1;
  }
  60% {
    box-shadow: 0 0 0 60px rgba(255, 255, 255, 0.1);
    opacity: 0;
  }
  100% {
    opacity: 0;
  }
}
.anim_rise .anim_elm,
.anim_rise .anim_elms {
  transition: all 1s ease;
  opacity: 0;
  transform: translate3d(0, 40px, 0);
}
.anim_rise .anim_elm.is-act,
.anim_rise .anim_elms.is-act {
  opacity: 1;
  -webkit-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0);
}
.anim_bounce .anim_elm,
.anim_bounce .anim_elms {
  -webkit-transform: scale(0);
  transform: scale(0);
  -webkit-transition: all 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
  transition: all 0.8s cubic-bezier(0.68, -0.55, 0.265, 1.55);
}
.anim_bounce .anim_elm.is-act,
.anim_bounce .anim_elms.is-act {
  -webkit-transform: scale(1);
  transform: scale(1);
}
.anim_3 .anim_elm,
.anim_3 .anim_elms {
  opacity: 0;
  -webkit-transform: scale3d(1.15, 1.15, 1) rotate3d(-1, -3, -1, 20deg) translate3d(-70%, 5%, -100px);
  transform: scale3d(1.15, 1.15, 1) rotate3d(-1, -3, -1, 20deg) translate3d(-70%, 5%, -100px);
  -webkit-transition: opacity 1.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1.8s cubic-bezier(0.215, 0.61, 0.355, 1);
  transition: opacity 1.8s cubic-bezier(0.215, 0.61, 0.355, 1), transform 1.8s cubic-bezier(0.215, 0.61, 0.355, 1), -webkit-transform 1.8s cubic-bezier(0.215, 0.61, 0.355, 1);
}
.anim_3 .anim_elm.is-act,
.anim_3 .anim_elms.is-act {
  opacity: 1;
  -webkit-transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0) translate3d(0, 0, 0);
  transform: scale3d(1, 1, 1) rotate3d(0, 0, 0, 0) translate3d(0, 0, 0);
}
.anim_4 .anim_elm,
.anim_4 .anim_elms {
  -ms-flex-negative: 0;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  position: relative;
  -webkit-transition-property: -webkit-transform;
  transition-property: -webkit-transform;
  -o-transition-property: transform;
  transition-property: transform;
  transition-property: transform, -webkit-transform;
  z-index: 1;
  -webkit-transform: translate(50%, 0);
  -ms-transform: translate(50%, 0);
  transform: translate(50%, 0);
}
.anim_4 .anim_elm.is-act,
.anim_4 .anim_elms.is-act {
  -webkit-transition: opacity 0.2s ease, -webkit-transform 0.9s cubic-bezier(0.04, 0.41, 0.2, 1);
  transition: opacity 0.2s ease, -webkit-transform 0.9s cubic-bezier(0.04, 0.41, 0.2, 1);
  -o-transition: opacity 0.2s ease, transform 0.9s cubic-bezier(0.04, 0.41, 0.2, 1);
  transition: opacity 0.2s ease, transform 0.9s cubic-bezier(0.04, 0.41, 0.2, 1);
  transition: opacity 0.2s ease, transform 0.9s cubic-bezier(0.04, 0.41, 0.2, 1), -webkit-transform 0.9s cubic-bezier(0.04, 0.41, 0.2, 1);
  -webkit-transform: translate(0, 0);
  -ms-transform: translate(0, 0);
  transform: translate(0, 0);
  opacity: 1;
}
.anim_5 .anim_elm,
.anim_5 .anim_elms {
  position: relative;
}
.anim_5 .anim_elm:after,
.anim_5 .anim_elms:after,
.anim_5 .anim_elm:before,
.anim_5 .anim_elms:before {
  content: "";
  width: 100%;
  height: 100%;
  display: block;
  position: absolute;
  top: 0;
  right: 0;
  transition-property: width;
  transition-duration: 0.75s;
  transition-timing-function: cubic-bezier(0.86, 0, 0.07, 1);
}
.anim_5 .anim_elm:before,
.anim_5 .anim_elms:before {
  background-color: hsla(0, 0%, 100%, 0.6);
  z-index: 2;
  transition-delay: 0.85s;
}
.anim_5 .anim_elm:after,
.anim_5 .anim_elms:after {
  background-color: #fff;
  z-index: 3;
  transition-delay: 0.15s;
}
.anim_5 .anim_elm.is-act:after,
.anim_5 .anim_elms.is-act:after,
.anim_5 .anim_elm.is-act:before,
.anim_5 .anim_elms.is-act:before {
  width: 0;
}
.anim_6 .anim_elm.line-horizontal.is-act,
.anim_6 .anim_elms.line-horizontal.is-act {
  position: relative;
  display: block;
}
.anim_6 .anim_elm.line-horizontal.is-act:before,
.anim_6 .anim_elms.line-horizontal.is-act:before {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  height: 1px;
  width: 100%;
  background-color: #fff;
  content: "";
  -webkit-animation: lineHorizontal 2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation: lineHorizontal 2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  opacity: 0;
  z-index: 100;
}
.anim_6 .anim_elm.line-horizontal.is-act:after,
.anim_6 .anim_elms.line-horizontal.is-act:after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  height: 1px;
  opacity: 0;
  width: 100%;
  background-color: #fff;
  content: "";
  z-index: 100;
  -webkit-animation: lineHorizontal 2s 0.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation: lineHorizontal 2s 0.2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
.anim_6 .anim_elm.line-vertical.is-act,
.anim_6 .anim_elms.line-vertical.is-act {
  position: relative;
  display: block;
}
.anim_6 .anim_elm.line-vertical.is-act:before,
.anim_6 .anim_elms.line-vertical.is-act:before {
  position: absolute;
  top: 0;
  opacity: 0;
  left: 0;
  display: block;
  height: 100%;
  width: 1px;
  background-color: #fff;
  content: "";
  z-index: 100;
  -webkit-animation: lineVertical 2s 0.1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation: lineVertical 2s 0.1s cubic-bezier(0.19, 1, 0.22, 1) forwards;
}
.anim_6 .anim_elm.line-vertical.is-act:after,
.anim_6 .anim_elms.line-vertical.is-act:after {
  opacity: 0;
  position: absolute;
  top: 0;
  right: 0;
  display: block;
  height: 100%;
  width: 1px;
  background-color: #fff;
  content: "";
  -webkit-animation: lineVertical 2s 0.3s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  animation: lineVertical 2s 0.3s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  z-index: 100;
}
@-webkit-keyframes lineHorizontal {
  from {
    -webkit-transform: translate3d(-60%, 0, 0) scale(1);
    transform: translate3d(-60%, 0, 0) scale(1);
    opacity: 0;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  50% {
    opacity: 0.7;
    -webkit-transform: translate3d(0, 0%, 0) scale(1);
    transform: translate3d(0, 0%, 0) scale(1);
  }
  to {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    opacity: 0;
    -webkit-transform: translate3d(60%, 0, 0) scale(1);
    transform: translate3d(60%, 0, 0) scale(1);
  }
}
@keyframes lineHorizontal {
  from {
    -webkit-transform: translate3d(-60%, 0, 0) scale(1);
    transform: translate3d(-60%, 0, 0) scale(1);
    opacity: 0;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  50% {
    opacity: 0.7;
    -webkit-transform: translate3d(0, 0%, 0) scale(1);
    transform: translate3d(0, 0%, 0) scale(1);
  }
  to {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    opacity: 0;
    -webkit-transform: translate3d(60%, 0, 0) scale(1);
    transform: translate3d(60%, 0, 0) scale(1);
  }
}
@-webkit-keyframes lineVertical {
  from {
    -webkit-transform: translate3d(0, -60%, 0) scale(1);
    transform: translate3d(0, -60%, 0) scale(1);
    opacity: 0;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  50% {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    opacity: 0.7;
    -webkit-transform: translate3d(0, 0%, 0) scale(1);
    transform: translate3d(0, 0%, 0) scale(1);
  }
  to {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    opacity: 0;
    -webkit-transform: translate3d(0, 60%, 0) scale(1);
    transform: translate3d(0, 60%, 0) scale(1);
  }
}
@keyframes lineVertical {
  from {
    -webkit-transform: translate3d(0, -60%, 0) scale(1);
    transform: translate3d(0, -60%, 0) scale(1);
    opacity: 0;
    -webkit-transform-origin: right top;
    transform-origin: right top;
  }
  50% {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    opacity: 0.7;
    -webkit-transform: translate3d(0, 0%, 0) scale(1);
    transform: translate3d(0, 0%, 0) scale(1);
  }
  to {
    -webkit-transform-origin: right top;
    transform-origin: right top;
    opacity: 0;
    -webkit-transform: translate3d(0, 60%, 0) scale(1);
    transform: translate3d(0, 60%, 0) scale(1);
  }
}
.anim_moveMobile .anim_elm:before,
.anim_moveMobile .anim_elms:before {
  animation: moveMobile 2s  infinite ;
}
@keyframes moveMobile {
  10%,
  30%,
  50%,
  70%,
  90% {
    -webkit-transform: rotate3d(0, 0, 1, 3deg);
    transform: rotate3d(0, 0, 1, 3deg);
  }
  0%,
  20%,
  40%,
  60%,
  80%,
  100% {
    -webkit-transform: rotate3d(0, 0, 1, -3deg);
    transform: rotate3d(0, 0, 1, -3deg);
  }
}
.anim_moveArrow .anim_elm,
.anim_moveArrow .anim_elms {
  background-image: url("../images/arrow_right.svg");
  background-position: right 1rem center;
  background-repeat: no-repeat;
  animation: moveArrow 1.2s ease-out infinite;
}
@keyframes moveArrow {
  0% {
    background-position: right 1.5rem center;
  }
  90% {
    background-position: right 1rem center;
  }
}
.mainvisual .mainvisual_2 .main_visual_bg {
  filter: blur(5px);
}
.mainvisual .mainvisual_2 .main_visual_bg,
.mainvisual .mainvisual_2 .main_visual_copy {
  transform: scale(1.05);
}
.mainvisual .mainvisual_2 .main_visual_button {
  position: relative;
}
.mainvisual .mainvisual_2 .main_visual_button::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  right: auto;
  background-color: #F70727;
  width: 0;
  z-index: -1;
}
.mainvisual .mainvisual_2 .main_visual_button span {
  opacity: 0;
}
.mainvisual .mainvisual_2 .main_visual_border::before,
.mainvisual .mainvisual_2 .main_visual_border::after {
  content: "";
  position: absolute;
  width: 10px;
  height: 10px;
  border-color: #fff;
  border-style: solid;
  border-width: 0;
  transition-duration: 0.5s;
  transition-property: margin,width,height;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
}
.mainvisual .mainvisual_2 .main_visual_border::before {
  width: 0px;
}
.mainvisual .mainvisual_2 .main_visual_border::after {
  height: 0px;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(odd)::before,
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(odd)::after {
  border-color: #F70727;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(even)::before,
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(even)::after {
  border-color: #fff;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(1)::before,
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(1)::after {
  top: 0;
  left: 0;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(1)::before {
  border-top-width: 10px;
  margin-top: 0;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(1)::after {
  border-left-width: 10px;
  margin-top: 70px;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(2)::before,
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(2)::after {
  top: 0;
  right: 0;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(2)::before {
  border-top-width: 10px;
  margin-right: 70px;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(2)::after {
  border-right-width: 10px;
  margin-top: 0;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(3)::before,
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(3)::after {
  bottom: 0;
  right: 0;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(3)::before {
  border-bottom-width: 10px;
  margin-right: 0;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(3)::after {
  border-right-width: 10px;
  margin-bottom: 70px;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(4)::before,
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(4)::after {
  bottom: 0;
  left: 0;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(4)::before {
  border-bottom-width: 10px;
  margin-left: 70px;
}
.mainvisual .mainvisual_2 .main_visual_border:nth-of-type(4)::after {
  border-left-width: 10px;
  margin-bottom: 0;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_copy,
.mainvisual .mainvisual_2.mv-is-act .main_visual_bg {
  filter: blur(0px);
  transition: transform 0.8s ease-in 2s, filter 0.5s ease-in 2s;
  transform: none;
  transform-origin: bottom center;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_button::before {
  transition: width 1s cubic-bezier(0.075, 0.82, 0.165, 1) 3s;
  width: 100%;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_button span {
  transition: opacity 0.8s cubic-bezier(0.075, 0.82, 0.165, 1) 3.2s;
  opacity: 1;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_border::before,
.mainvisual .mainvisual_2.mv-is-act .main_visual_border::after {
  transition-duration: 0.5s;
  transition-property: margin,width,height;
  transition-timing-function: cubic-bezier(0.075, 0.82, 0.165, 1);
  margin: 0!important;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_border::before {
  width: 70px!important;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_border::after {
  height: 70px!important;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_border:nth-of-type(odd)::before {
  transition-delay: 1s;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_border:nth-of-type(odd)::after {
  transition-delay: 0.5s;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_border:nth-of-type(even)::before {
  transition-delay: 1.2s;
}
.mainvisual .mainvisual_2.mv-is-act .main_visual_border:nth-of-type(even)::after {
  transition-delay: 1.7s;
}
