.visual {position: relative; width: 100%; height: 450px; margin-top: 80px; background: var(--gray_e9);}
.visual .container {display: flex; align-items: flex-end; justify-content: space-between; height: 100%;}
.visual .txt-box {white-space: nowrap; margin-bottom: 158px;}
.visual .txt-box .tit {margin-bottom: 20px; font-size: 56px; font-weight: bold; line-height: 1; color: var(--black_3);}
.visual .txt-box .tit span {position: relative; color: var(--wt); z-index: 1;}
.visual .txt-box .tit span:before {position: absolute; top: 42%; left: 50%; transform: translate(-50%, -50%); content: ''; display: block; width: 100%; height: 62px; background: var(--pr); z-index: -1;}
.visual .txt-box .sub {font-size: 24px; font-weight: 500; line-height: 1.5; color: var(--gray_6);}
.visual .txt-box .sub span {font-weight: bold;}

.visual .img-box {position: relative; display: flex; align-items: flex-end; max-width: 722px; width: 100%; height: 416px;}
.visual .img-box img:first-child {position: absolute; bottom: 0; right: 65px;max-width: 500px; width: 100%; height: auto; box-sizing: border-box;}
.visual .img-box img:last-child {animation: jello-horizontal 0.9s 1.2s both; position: absolute; bottom: 104px; left: 0; max-width: 722px; 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);
  }
}

/* sub_kv */
.sub_kv {display: flex; align-items: center; justify-content: center; width: 100%; height: 300px; margin-top: 80px; background: url(./../img/sub_kv1.webp)no-repeat 50% 50%; background-size: cover;}
.sub_kv2 {background: url(./../img/sub_kv2.webp)no-repeat 50% 50%; background-size: cover;}
.sub_kv3 {background: url(./../img/sub_kv3.webp)no-repeat 50% 50%; background-size: cover;}

.sub_kv .tit {font-size: 50px; font-weight: bold; line-height: 1; color: var(--wt);}