.visual {margin-top: 90px; width: 100%; height: auto; box-sizing: border-box; background: url(./../img/kv_bg.png)no-repeat 50% 50%; background-size: cover;}
.visual .container {position: relative; display: flex; align-items: center; justify-content: flex-start; padding: 115px 0 155px; box-sizing: border-box; z-index: 1;}
.visual .txt-box {}
.visual .txt-box .txt_img {width: 258px; height: auto; margin-bottom: 54px;}
.visual .txt-box .txt_img img {animation: jello-horizontal 0.9s both; width: 100%; height: auto; }
@keyframes jello-horizontal {
  0% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
  30% {
    -webkit-transform: scale3d(1.25, 0.75, 1);
            transform: scale3d(1.25, 0.75, 1);
  }
  40% {
    -webkit-transform: scale3d(0.75, 1.25, 1);
            transform: scale3d(0.75, 1.25, 1);
  }
  50% {
    -webkit-transform: scale3d(1.15, 0.85, 1);
            transform: scale3d(1.15, 0.85, 1);
  }
  65% {
    -webkit-transform: scale3d(0.95, 1.05, 1);
            transform: scale3d(0.95, 1.05, 1);
  }
  75% {
    -webkit-transform: scale3d(1.05, 0.95, 1);
            transform: scale3d(1.05, 0.95, 1);
  }
  100% {
    -webkit-transform: scale3d(1, 1, 1);
            transform: scale3d(1, 1, 1);
  }
}

.visual .txt-box .tit {margin-bottom: 36px; font-size: 50px; font-weight: 300; line-height: 1.2; letter-spacing: -1px; color: var(--black_3);}
.visual .txt-box .tit span {font-weight: bold;}
.visual .txt-box .txt {font-size: 20px; font-weight: 400; line-height: 1.4; letter-spacing: -0.4px; color: var(--gray_6);}

.visual .img-box {position: absolute; bottom: 0; right: -31px; max-width: 658px; width: 100%; height: auto; z-index: -1;}
.visual .img-box img {width: 100%; height: auto;}