.visual {position: relative; width: 100%; height: 100vh;}
.visual .img-box {width: 100%; height: 100%;}
.visual .img-box img {width: 100%; height: 100%; object-fit: cover;}
.visual .container {position: absolute; top: 80px; left: 50%; transform: translateX(-50%); display: flex; flex-flow: column; height: 100%; z-index: 5;}
.visual .txt-box {display: flex; flex-flow: column; gap: 30px;}
.visual .txt-box .kv_tit {margin-bottom: 50px;}
.visual .txt-box .kv_tit .tit {margin-bottom: 30px; font-size: 60px; font-weight: bold; line-height: 1.18; color: var(--wt);}
.visual .txt-box .kv_tit .sub {font-size: 24px; font-weight: 200; line-height: 1.21; color: var(--wt);}
.visual .txt-box .kv_txt {display: flex; flex-flow: column; gap: 10px;}
.visual .txt-box .kv_txt .txt {font-size: 50px; font-weight: 300; line-height: 1.2; color: var(--wt);}
.visual .txt-box .kv_txt .txt strong {display: inline-block; width: 114px; font-size: 90px; font-weight: 600; color: var(--pr);}
.visual .txt-box .kv_txt .txt span {color: var(--pr); font-weight: 500;}
.visual .txt-box .kv_txt .sub {margin-top: 65px; font-size: 30px; font-weight: 300; line-height: 1.2; color: var(--wt);}