/* sub_top */
.sub_visual { position: relative; height: 287px; overflow: hidden; }
.sub_visual .bg { z-index: 1; position: absolute; top: 0; left: 0; width: 100%; height: 100%; transform-origin: center; }
.sub_visual .bg { animation: suv_bg forwards linear 5s; }
@keyframes suv_bg {
    0% { transform: scale(1.1); }
    100% { transform: scale(1); }
}
.sub_visual .bg { background: url(/image/subtop_bg.jpg) no-repeat center/cover; }

.sub_visual .frame { z-index: 2; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4); }
.sub_visual .txtbox { z-index: 3; position: relative; top: 100px; height: calc(100% - 100px); padding: 0 20px; }
.sub_visual .txtbox .texts { position: relative; top: 50%; transform: translateY(-50%); text-align: center; }
.sub_visual .txtbox .text1 { font-weight: 700; font-size: 40px; color: #fff; }
@media (max-width: 1660px) {
    .sub_visual { height: 250px; }
    .sub_visual .txtbox { top: 90px; height: calc(100% - 90px); }
}
@media (max-width: 1440px) {
    .sub_visual .txtbox { top: 80px; height: calc(100% - 80px); }
}
@media (max-width: 1279px) {
    .sub_visual { height: 230px; }
    .sub_visual .txtbox { top: 70px; height: calc(100% - 70px); }
}
@media (max-width: 1023px) {
    .sub_visual { height: 190px; }
    .sub_visual .txtbox { top: 60px; height: calc(100% - 60px); }
}
@media (max-width: 767px) {
    .sub_visual { height: 170px; }
}

/* sub_common */
.sub_sect { position: relative; padding: 80px 0; overflow: hidden; }
.sub_sect .sub_tit { padding-bottom: 45px; text-align: center; font-weight: 600; font-size: 43px; color: #000; }
