.kvArea {
  position: relative;
  margin: auto;
  width: 100%;
}

@media only screen and (min-width: 768px) {
  .kvArea {
    min-width: 980px;
  }
}

.kvArea::before {
  content: "";
  display: block;
  position: fixed;
  width: 100%;
  height: 100%;
  background: #000 url(../images/animation/BG_move.jpg) repeat top center;
}

@media only screen and (min-width: 768px) {
  .kvArea::before {
    background-size: 100% auto;
  }
}

@media only screen and (max-width: 768px) {
  .kvArea::before {
    background-size: auto 100%;
  }
}

.kvArea .sec__inner1200 {
  padding: 0;
}

.kvArea img {
  width: 100%;
  height: auto;
  vertical-align: top;
}

.kvArea__title {
  position: relative;
}

.kvArea__move__xy li {
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  opacity: 0;
}

@media only screen and (min-width: 768px) {
  .kvArea__move__xy li {
    width: 40%;
  }
}

@media only screen and (max-width: 768px) {
  .kvArea__move__xy li {
    width: 80%;
  }
}

.kvArea__move__xy li.move_xy_08 {
  opacity: 1;
  text-align: left;
}

.kvArea__move__xy li.move_xy_08 .img-wrap {
  display: inline-block;
  overflow: hidden;
  width: 0;
}

@media only screen and (min-width: 768px) {
  .kvArea__move__xy li.move_xy_08 {
    width: 70%;
    max-width: 430px;
    margin-top: 80px;
  }
}

@media only screen and (max-width: 768px) {
  .kvArea__move__xy li.move_xy_08 {
    width: 60%;
    margin-top: 15vw;
  }
}

.kvArea__move__xy li.move_xy_09 img {
  width: 85%;
}

@media only screen and (min-width: 768px) {
  .kvArea__move__xy li.move_xy_09 img {
    margin-top: -80px;
  }
}

@media only screen and (max-width: 768px) {
  .kvArea__move__xy li.move_xy_09 img {
    margin-top: -5vw;
  }
}

.kvArea__fix__logo {
  width: 60%;
  position: absolute;
  left: 50%;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
  -ms-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  z-index: 2;
  opacity: 0;
}

.kvArea__fix__XY {
  position: absolute;
  top: 3%;
  right: .5%;
  width: 45%;
  z-index: 3;
  opacity: 0;
}

@media only screen and (max-width: 768px) {
  .kvArea__fix__XY {
    top: 5%;
  }
}

@media only screen and (max-width: 768px) {
  .kvArea__fix__XY {
    right: -15%;
    width: 90%;
  }
}

.kvArea__fix__BG {
  opacity: 0;
}

@media only screen and (max-width: 768px) {
  .kvArea__fix__BG img {
    width: 220%;
    margin-left: -85%;
  }
}

.kvArea__txt {
  padding: 5% 5% 0;
  margin: auto;
  opacity: 0;
}

@media only screen and (min-width: 768px) {
  .kvArea__txt {
    width: 980px;
  }
}

@media only screen and (max-width: 768px) {
  .kvArea__txt {
    width: 80%;
    margin-top: 5vw;
  }
}

.kvArea__txt p {
  text-align: left;
  color: #cabc8b;
  font-family: "Sawarabi Mincho", serif;
  font-size: 20px;
  font-size: 2rem;
  line-height: 2;
  margin-bottom: 1em;
  position: relative;
  z-index: 1;
}

@media only screen and (max-width: 768px) {
  .kvArea__txt p {
    font-size: 3.8vw;
    font-weight: bold;
  }
}

.kvArea__txt .textMessage {
  position: absolute;
  bottom: 33%;
  right: 15%;
  width: 348px;
  z-index: 1;
}

@media only screen and (max-width: 768px) {
  .kvArea__txt .textMessage {
    right: 4%;
    width: 60%;
  }
}

.move_xy_01 {
  -webkit-animation: glitter 0.7s ease-in 1s 1 forwards;
  animation: glitter 0.7s ease-in 1s 1 forwards;
}

.move_xy_02 {
  -webkit-animation: glitter 0.9s ease-in 1.3s 1 forwards;
  animation: glitter 0.9s ease-in 1.3s 1 forwards;
}

.move_xy_03 {
  -webkit-animation: glitter 1.2s ease-in 1.7s 1 forwards;
  animation: glitter 1.2s ease-in 1.7s 1 forwards;
}

.move_xy_04 {
  -webkit-animation: glitter 1.3s ease-in 2.2s 1 forwards;
  animation: glitter 1.3s ease-in 2.2s 1 forwards;
}

.move_xy_05 {
  -webkit-animation: glitter 1.4s ease-in 2.8s 1 forwards;
  animation: glitter 1.4s ease-in 2.8s 1 forwards;
}

.move_xy_06 {
  -webkit-animation: glitter 1.5s ease-in 3.5s 1 forwards;
  animation: glitter 1.5s ease-in 3.5s 1 forwards;
}

.move_xy_07 {
  -webkit-animation: glitter 1.6s ease-in 4.2s 1 forwards;
  animation: glitter 1.6s ease-in 4.2s 1 forwards;
}

.move_xy_08 .img-wrap {
  -webkit-animation: lineIn 1.5s cubic-bezier(0.4, 0, 0.2, 1) 6.5s 1 forwards;
  animation: lineIn 1.5s cubic-bezier(0.4, 0, 0.2, 1) 6.5s 1 forwards;
}

.move_xy_08 {
  -webkit-animation: animation_fadeOut .5s ease-out 9.5s 1 forwards;
  animation: animation_fadeOut .5s ease-out 9.5s 1 forwards;
}

.move_xy_09 {
  -webkit-animation: glitter 3s ease-in-out 7.5s 1 forwards;
  animation: glitter 3s ease-in-out 7.5s 1 forwards;
}

.kvArea::before {
  -webkit-animation: animation_fadeOut .5s ease-out 11.5s 1 forwards;
  animation: animation_fadeOut .5s ease-out 11.5s 1 forwards;
}

@media only screen and (min-width: 768px) {
  .kvArea__fix__logo {
    -webkit-animation: animation_logo_pc 2.5s ease-out 11.5s 1 forwards;
    animation: animation_logo_pc 2.5s ease-out 11.5s 1 forwards;
  }
}

@media only screen and (max-width: 768px) {
  .kvArea__fix__logo {
    -webkit-animation: animation_logo_sp 2.5s ease-out 11.5s 1 forwards;
    animation: animation_logo_sp 2.5s ease-out 11.5s 1 forwards;
  }
}

.kvArea__fix__XY {
  -webkit-animation: animation_fadeIn 2s ease-out 14s 1 forwards;
  animation: animation_fadeIn 2s ease-out 14s 1 forwards;
}

.kvArea__fix__BG {
  -webkit-animation: animation_fadeIn 2.5s ease-out 15s 1 forwards;
  animation: animation_fadeIn 2.5s ease-out 15s 1 forwards;
}

.kvArea__txt {
  -webkit-animation: animation_fadeIn 2s ease-out 16s 1 forwards;
  animation: animation_fadeIn 2s ease-out 16s 1 forwards;
}

@-webkit-keyframes animation_fadeIn {
  100% {
    opacity: 1;
  }
}

@keyframes animation_fadeIn {
  100% {
    opacity: 1;
  }
}

@-webkit-keyframes animation_fadeOut {
  100% {
    opacity: 0;
  }
}

@keyframes animation_fadeOut {
  100% {
    opacity: 0;
  }
}

@-webkit-keyframes animation_MoveFromBottom {
  100% {
    opacity: 1;
    margin-top: 0;
  }
}

@keyframes animation_MoveFromBottom {
  100% {
    opacity: 1;
    margin-top: 0;
  }
}

@-webkit-keyframes glitter {
  0% {
    opacity: 0;
  }
  50% {
    -webkit-filter: brightness(130%);
    filter: brightness(130%);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes glitter {
  0% {
    opacity: 0;
  }
  50% {
    -webkit-filter: brightness(130%);
    filter: brightness(130%);
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@-webkit-keyframes lineIn {
  100% {
    width: 100%;
  }
}

@keyframes lineIn {
  100% {
    width: 100%;
  }
}

@-webkit-keyframes animation_logo_pc {
  0% {
    opacity: 0;
    width: 60%;
    left: 50%;
    top: 50%;
  }
  20% {
    opacity: 1;
    width: 60%;
    left: 50%;
    top: 50%;
  }
  80% {
    opacity: 1;
    width: 60%;
    left: 50%;
    top: 50%;
  }
  100% {
    opacity: 1;
    width: 50%;
    left: 33%;
    top: 70%;
  }
}

@keyframes animation_logo_pc {
  0% {
    opacity: 0;
    width: 60%;
    left: 50%;
    top: 50%;
  }
  20% {
    opacity: 1;
    width: 60%;
    left: 50%;
    top: 50%;
  }
  80% {
    opacity: 1;
    width: 60%;
    left: 50%;
    top: 50%;
  }
  100% {
    opacity: 1;
    width: 50%;
    left: 33%;
    top: 70%;
  }
}

@-webkit-keyframes animation_logo_sp {
  0% {
    opacity: 0;
    width: 80%;
    left: 50%;
    top: 50%;
  }
  20% {
    opacity: 1;
    width: 80%;
    left: 50%;
    top: 50%;
  }
  80% {
    opacity: 1;
    width: 80%;
    left: 50%;
    top: 50%;
  }
  100% {
    opacity: 1;
    width: 65%;
    left: 30%;
    top: 20%;
  }
}

@keyframes animation_logo_sp {
  0% {
    opacity: 0;
    width: 80%;
    left: 50%;
    top: 50%;
  }
  20% {
    opacity: 1;
    width: 80%;
    left: 50%;
    top: 50%;
  }
  80% {
    opacity: 1;
    width: 80%;
    left: 50%;
    top: 50%;
  }
  100% {
    opacity: 1;
    width: 65%;
    left: 30%;
    top: 20%;
  }
}
