/* config */
.sub_top_bn {
    aspect-ratio: 1 / 0.25;
    width: 100%;
    background-position: center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

.sub_top_bn .txt {
    color: #fff;
    text-align: center;
}

.sub_top_bn .txt .tit {
    font-weight: 700;
    font-size: 45px;
    margin-bottom: 5px;
}

.sub_top_bn .txt .desc {
    font-weight: 400;
    font-size: 20px;
}

/* company */
#sub_company .sub_top_bn {
    background-image: url('../img/sub/company_bg.png');
}

#sub_company .company_section {
    padding: 100px 20px;
}

#sub_company .company_section1 {
    text-align: center;
}

#sub_company .company_section1 .txt .tit {
    color: #454F5D;
    font-size: 30px;
    margin-bottom: 20px;

    font-weight: bold;
}

#sub_company .company_section1 .txt .desc {
    color: #454F5D;
    font-size: 20px;
    font-weight: 400;
}

#sub_company .company_section2 {
    background-image: url('../img/sub/company_mid_bg.png');
    background-position: center;
    background-size: cover;
    display: flex;
    align-items: center;
    justify-content: center;
}

#sub_company .company_section2 .txt {
    text-align: center;
    color: #fff;
}

#sub_company .company_section2 .txt .tit {
    font-weight: 700;
    ;
    font-size: 45px;
}

#sub_company .company_section2 .txt .desc {
    font-size: 20px;
    line-height: 1.6;
    margin-top: 25px;
}

#sub_company .company_section2 .txt .desc:nth-child(1) {
    margin-top: 0;
}

#sub_company .company_section .txt .line_tit {
    text-align: center;
    position: relative;
    margin-bottom: 60px;
}

#sub_company .company_section .txt .line_tit::before {
    content: "";
    width: 100%;
    display: block;
    height: 1px;
    position: absolute;
    left: 0;
    top: 50%;
    transform: translateY(-50%);
    background-color: #6C6C6C;
}

#sub_company .company_section .txt .line_tit span {
    font-weight: 700;
    color: #252525;
    position: relative;
    z-index: 2;
    font-size: 40px;
    display: inline-block;
    padding: 0 40px;
    background-color: #fff;
}

#sub_company .company_section:has(.line_tit) .txt .desc {
    font-weight: 500;
    color: #454F5D;
    font-size: 20px;
    margin-top: 30px;
    text-align: center;
    line-height: 1.6;
}

#sub_company .company_section:has(.line_tit) .txt .desc:first-child {
    margin-top: 0;
}

#sub_company .company_section:has(.line_tit):last-of-type {
    padding-top: 0;
}

/* 포트폴리오 */
.port_gall .sub_top_bn {
    background-image: url('../img/sub/portfolio_bg.png');
}

.port_gall #gall_ul {
    display: flex;
    flex-wrap: wrap;

}

.port_gall #gall_ul .gall_box {
    position: relative;
}

.port_gall #gall_ul .gall_img {
    aspect-ratio: 1 / 1;
    overflow: hidden;
}

.port_gall #gall_ul .gall_img img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}

#sub_contact .sub_top_bn {
    background-image: url('../img/sub/contact_bg.png');
}

/* 상담 */
#sub_contact .section13 {
    background-image: none;
    background-color: #F5F5F5;
}

#sub_contact .sub_con_wrap {
    text-align: center;
}

#sub_contact .sub_con_wrap .con_tit {
    font-weight: 700;
    font-size: 45px;
}

#sub_contact .sub_con_wrap .con_sub_tit {
    font-weight: 700;
    font-size: 35px;
    margin: 30px 0 40px;
}

#sub_contact .sub_con_wrap .con_desc {
    font-size: 25px;
}

#sub_contact .sub_con_wrap .con_desc span {
    font-weight: 600;
    color: #006AFF;
}

/*sub_video*/
#sub_video .sub_top_bn {
    background-image: url('../img/sub/company_bg.png');
}

#sub_video .sub_content {
    padding: 100px 20px;
}

/*sub_video*/

@media(max-width:1500px) {
    .sub_top_bn {
        aspect-ratio: none;
        padding: 30px 20px;
    }

    .sub_top_bn .txt .tit {
        font-size: 30px;
    }

    .sub_top_bn .txt .desc {
        font-size: 16px;
    }

    #sub_company .company_section1 .txt .tit {
        font-size: 25px;
        word-break: keep-all;
    }

    #sub_company .company_section1 .txt .desc {
        font-size: 16px;
    }

    #sub_company .company_section {
        padding: 60px 20px;
    }

    #sub_company .company_section2 .txt .tit {
        font-size: 25px;
        word-break: keep-all;
    }

    #sub_company .company_section2 .txt .desc {
        font-size: 16px;
        margin-top: 15px;
    }

    #sub_company .company_section .txt .line_tit span {
        font-size: 25px;
        padding: 0 20px;
    }

    #sub_company .company_section:has(.line_tit) .txt .desc {
        font-size: 16px;
        margin-top: 15px;
    }

}

@media(max-width:1024px) {
    #sub_company .company_section {
        padding: 40px 20px;
    }

    #sub_company .company_section1 .txt .tit {
        font-size: 20px;
    }

    #sub_company .company_section1 .txt .desc {
        font-size: 14px;
    }

    #sub_company .company_section2 .txt .tit {
        font-size: 25px;
    }

    #sub_company .company_section2 .txt .desc {
        font-size: 14px;
        margin-top: 10px;
    }

    #sub_company .company_section .txt .line_tit span {
        font-size: 25px;
    }

    #sub_company .company_section .txt .line_tit {
        margin-bottom: 30px;
    }

    #sub_company .company_section2 .txt .desc {
        word-break: keep-all;
        font-size: 14px;
    }

    #sub_company .company_section1 .txt .desc {
        word-break: keep-all;
        font-size: 14px;
    }

    #sub_company .company_section:has(.line_tit) .txt .desc {
        word-break: keep-all;
        font-size: 14px;
    }

    /* 포트폴리오 */
    .port_gall .gall_row .col-gn-5 {
        width: calc(100% / 3);
    }

    /* 상담 */
    #sub_contact .sub_con_wrap .con_tit {
        font-size: 30px;
    }

    #sub_contact .sub_con_wrap .con_sub_tit {
        font-size: 25px;
        margin: 20px 0 30px;
    }

    #sub_contact .sub_con_wrap .con_desc {
        font-size: 20px;
    }
}

@media(max-width:500px) {
    #sub_company .company_section2 .txt .tit {
        font-size: 20px;
    }

    #sub_company .company_section .txt .line_tit span {
        font-size: 20px;
        padding: 0 10px;
    }

    .sub_top_bn .txt .tit {
        font-size: 24px;
    }

    #sub_company .company_section2 .txt .desc br {
        display: none;
    }

    #sub_company .company_section:has(.line_tit) .txt .desc br {
        display: none;
    }

    /* 포트폴리오 */
    .port_gall .gall_row .col-gn-5 {
        width: 50%;
    }

    /* 상담 */
    #sub_contact .sub_con_wrap .con_tit {
        font-size: 22px;
    }

    #sub_contact .sub_con_wrap .con_sub_tit {
        font-size: 18px;
        margin: 10px 0 15px;
    }

    #sub_contact .sub_con_wrap .con_desc {
        font-size: 18px;
    }
}

@media(max-width:350px) {

    /* 상담 */
    #sub_contact .sub_con_wrap .con_tit {
        font-size: 18px;
    }

    #sub_contact .sub_con_wrap .con_sub_tit {
        font-size: 16px;
    }

    #sub_contact .sub_con_wrap .con_desc {
        font-size: 15px;
    }
}