@charset "utf-8";
/* css 이 아래부터 가져가세요 */
#header .m_btn {display:none; width:24px; margin:0 auto; text-align:right; cursor:pointer; }
#header .m_btn i{display:inline-block; width:100%; height:2px; margin:3px 0; background:#000; transition:all 0.5s;}
#header .m_btn i:nth-of-type(2){width:84%;}
#header .m_btn.on i:nth-of-type(1){margin:11px 0 -2px; transform:rotate(-45deg); -webkit-transform:rotate(-45deg); -moz-transform:rotate(-45deg); -ms-transform:rotate(-45deg);-o-transform:rotate(-45deg);}
#header .m_btn.on i:nth-of-type(2){width:0; margin:0;}
#header .m_btn.on i:nth-of-type(3){margin:0 0 11px; transform:rotate(45deg); -webkit-transform:rotate(45deg); -moz-transform:rotate(45deg); -ms-transform:rotate(45deg); -o-transform:rotate(45deg);}


@media all and (max-width:1024px){
	#header .gnb{display: none;}
	#header .m_btn{display: inline-block;}
}

.m_menu_bg {z-index:101; position:fixed; left:0; top:0; display:none; width:100%; height:100%; background:rgba(0,0,0,.7); cursor:pointer; }
#m_menu {z-index:102; position:fixed; right:-100%; top:0; width:500px; max-width:80%; height:100%; background-color:#fff; box-sizing:Border-box; transition:all 0.5s; overfloW-y:auto;}
#m_menu.on {right:0; }
#m_menu .top_box {position:relative; padding:10px; box-sizing:border-box; }
#m_menu .top_box .close_btn {position:absolute; right:20px; top:calc(50% - 15px); width:30px; height:30px; }
#m_menu .top_box .close_btn i {display:block; width:100%; height:2px; background-color:#333; }
#m_menu .top_box .close_btn i:first-of-type {-webkit-transform:rotate(45deg) translate(9px,9px); -moz-transform:rotate(45deg) translate(9px,9px); -ms-transform:rotate(45deg) translate(9px,9px); -o-transform:rotate(45deg) translate(9px,9px); transform:rotate(45deg) translate(9px,9px); }
#m_menu .top_box .close_btn i:last-of-type {-webkit-transform:rotate(-45deg) translate(-7px,8px); -moz-transform:rotate(-45deg) translate(-7px,8px); -ms-transform:rotate(-45deg) translate(-7px,8px); -o-transform:rotate(-45deg) translate(-7px,8px); transform:rotate(-45deg) translate(-7px,8px); }
#m_menu .login_box {padding:20px 0; background-color:#292929; text-align:center; }
#m_menu .login_box a {position:relative; padding:0 30px; font-size:20px; color:#fff; letter-spacing:-0.04em; }
#m_menu .login_box a:first-of-type:before {content:''; position:absolute; right:-1px; top:calc(50% - 7px); width:2px; height:15px; background-color:#fff; }
#m_menu .gnb_box {border-top:1px solid #ddd; }
#m_menu .gnb_box > ul > li {border-bottom:1px solid #dddddd; }
#m_menu .gnb_box > ul > li > a {position:relative; display:block; padding:20px 20px; font-size:20px; font-weight:bold; color:#222222; letter-spacing:-0.04em; box-sizing:border-box; }
#m_menu .gnb_box .depth02 {display:none; padding:10px 0; background-color:#000; }
#m_menu .gnb_box .depth02 li a {position:relative; display:block; padding:7px 20px; font-size:18px; color:#fff; letter-spacing:-0.04em; box-sizing:border-box; }
.sub_visual{height:300px; background:#aaa;  background-size:cover; background-repeat:no-repeat; background-position:center;}
.sub_visual .inner{display:table; height:100%; margin:0 auto;}
.sub_visual .text{display:table-cell; vertical-align:middle; text-align:center; padding-bottom:62px;}
.sub_visual .text h2{font-size:40px; color:#fff; letter-spacing:0em; font-weight:700; line-height:1; margin:0;}
.sub_visual .text p{font-size:18px; color:#fff; letter-spacing:0em; font-weight:400; line-height:1.6; margin-top:20px;}

.sub_visual .sub_path{position:absolute; left:0; bottom:0; width:100%; background:#fff; border:1px solid #eee; box-sizing:border-box; font-size:0; letter-spacing:-4px;}
.sub_visual .sub_path:after{clear:both; content:""; display:block; height:0; visibility:hidden;}
.sub_visual .sub_path > *{float:left;}
.sub_visual .sub_path a.home{width:60px; background:#222; display:block; font-size:0; letter-spacing:-4px; text-align:center; padding:21px; box-sizing:border-box;}
.sub_visual .sub_path a.home:before{content:""; width:0; height:100%; display:inline-block; vertical-align:middle;}
.sub_visual .sub_path a.home i{display:inline-block; vertical-align:top; width:calc(50% - 2px); height:7px; margin:1px; background:#fff;}
.sub_visual .sub_path a.home span{display:none;}
.sub_visual .sub_path [class^='depth']{width:calc(50% - 30px); max-width:326px; position:relative; border-right:1px solid #eee; box-sizing:border-box;}
.sub_visual .sub_path [class^='depth'] > p{cursor:pointer; height:60px; line-height:60px; font-size:16px; color:#666; letter-spacing:0.075em; font-weight:400; padding:0 50px 0 30px; position:relative; overflow:hidden}
.sub_visual .sub_path [class^='depth'] > p:before{content:''; position:absolute; top:calc(50% - 5px); right:30px; display:block; width:12px; height:6px; background:url('/img/sub_visual_arrow.png') no-repeat center center / contain;}
.sub_visual .sub_path [class^='depth'] ul{display:none; background:#fff; position:absolute; left:0; top:100%; z-index:100; width:100%; padding:20px 0; border:1px solid #eee; box-sizing:border-box;}
.sub_visual .sub_path [class^='depth'] ul li a{display:block; padding:10px 30px; font-size:16px; color:#666; letter-spacing:0.075em; font-weight:400;}

.sub_tab{margin-top:40px;}
.sub_tab .inner{margin:0 auto;}
.sub_tab ul{font-size:0; letter-spacing:-4px; text-align:center;}
.sub_tab ul li{display:inline-block; vertical-align:top; width:calc(16.6666% - 10px); height:60px; margin:5px;}
.sub_tab ul li a{display:table; width:100%; height:100%; font-size:18px; color:#222; letter-spacing:0em; font-weight:400; line-height:1.2; border:1px solid #ddd; box-sizing:border-box; border-radius:30px 0 30px 0; overflow:hidden;}
.sub_tab ul li a span{display:table-cell; vertical-align:middle;}
.sub_tab ul li:hover a{color:#fff; background:#444;}
.sub_tab ul li.on a{color:#fff; background:#444;}

.sub_tab ul.grid2 li{width:calc(50% - 10px);}
.sub_tab ul.grid3 li{width:calc(33.333333% - 10px);}
.sub_tab ul.grid4 li{width:calc(25% - 10px);}
.sub_tab ul.grid5 li{width:calc(20% - 10px);}
.sub_tab ul.grid6 li{width:calc(16.666666% - 10px);}
.sub_tab ul.grid7 li{width:calc(14.285714% - 10px);}
.sub_tab ul.grid8 li{width:calc(12.5% - 10px);}
.sub_tab ul.grid9 li{width:calc(11.111111% - 10px);}
.sub_tab ul.grid10 li{width:calc(10% - 10px);}

@media all and (max-width:1400px){
    .sub_tab ul.grid7 li{width:calc(25% - 10px);}
    .sub_tab ul.grid8 li{width:calc(25% - 10px);}
    .sub_tab ul.grid9 li{width:calc(25% - 10px);}
    .sub_tab ul.grid10 li{width:calc(25% - 10px);}
}
@media all and (max-width:1000px){
    .sub_tab ul.grid7 li{width:calc(33.3333334% - 10px);}
    .sub_tab ul.grid8 li{width:calc(33.3333334% - 10px);}
    .sub_tab ul.grid9 li{width:calc(33.3333334% - 10px);}
    .sub_tab ul.grid10 li{width:calc(33.3333334% - 10px);}
}

.social-icons li > a {
    display: flex;
    align-items: center;
    justify-content: center;
}
/* footer */
#footer .f_box {
    justify-content: space-between;
}

/* mv */
.overlay:before {
    background: unset;
}
.mv_custom_txt {
    font-size: 16px;
    font-weight: 700;
    color: #fff;
    margin-top: 40px;
    letter-spacing: 1em;
}
.main .owl-carousel .owl-item img {
    max-width: 75px;
}
@media all and (max-width: 1024px) {
    .mv_custom_txt {
        font-size: 14px;
        letter-spacing: 0.5em;
    }
}
/* END mv */

.programCon_Custom {
    margin-bottom: unset !important;
}
.programCon_Custom #footer {
    z-index: unset;
    position: relative;
    bottom: unset;
    left: unset;
}

.programCon_Custom .program_table table tr td img{width: 100%; height: 100%; object-fit: cover;}
.programCon_Custom .program_table table tr th{text-align: center; font-size: 16px;}
.programCon_Custom .program_table table tr td p{margin-bottom: 0; font-size: 16px;}

.programCon_Custom .readBottom table tr th,
.programCon_Custom .readBottom table tr td,
.programCon_Custom .readEdit p{font-size: 16px;}

/* 회사소개 */
body .sub_visual {
    height: 545px;
    background-size: cover; 
    background-position: center;
    background-repeat: no-repeat;
    display: flex;
    align-items: center;
}
.sub_visual .text {
    text-align: left;          
}

.sub_visual .text h2 {
    font-size: 48px;
    font-weight: 700;
}
.sub_visual .text p {
    font-size: 18px;
    font-weight: 300;
    margin-top: 30px;
}
.common_sub_tit {
    font-size: 40px;
    font-weight: 700;
    color: #222;
    line-height: 1.3em;
}
.common_sub_tit2 {
    font-size: 32px;
    font-weight: 500;
    color: #444444;
    line-height: 1.3em;
}
.common_sub_tit2.center {
    text-align: center;
}
.common_sub_tit.center {
    text-align: center;
}
.sub_alt_txt {
    font-size: 18px;
    font-weight: 300;
    color: #444444;
    line-height: 1.6em;
}
/* con01 */
.section {
    padding: 100px 0;
    position: relative;
}
.introduce .common_sub_tit {
    margin-bottom: 60px;
}
.introduce .con01 {
    z-index: 2;
}
.introduce .con01 .sub_alt_txt + .sub_alt_txt {
    margin-top: 30px;
}
.introduce .con01 .flex_wrap {
    display: flex;
    align-items: center;
    gap: 90px;
}
.introduce .con01 .flex_wrap .left {
    flex: 1.2;
}
.introduce .con01 .flex_wrap .right {
    flex: 1;
}

/* con02 */
.introduce .con02 {
    text-align: center;
    background: url('/img/introduce_con02_bg.png') no-repeat center / cover;
    margin-top: -180px;
    padding: 200px 0;
}
.introduce .con02 .custom_bg {
    transform: skewY(-1.2deg) translate3d(0, 50%, 0);
    position: absolute;
    bottom: 0;
    left: 0;
    width: 100%;
}
.introduce .con02 .custom_bg2 {
    bottom: unset;
    bottom: 100%;
}    
.introduce .con02 .flex_wrap {
    display: flex;
    gap: 30px;
}
.introduce .con02 .flex_wrap .box {
    flex: 1;
    min-width: 0;
    font-size: 20px;
    font-weight: 700;
    color: #fff;
    position: relative;
    aspect-ratio: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.introduce .con02 .flex_wrap .box img {
    position: absolute;
    width: 100%;
    height: 100%;
    max-width: 100%;
    object-fit: cover;
}
.introduce .con02 .flex_wrap .box .txt {
    padding: 30px;
    border-top: 1px solid rgba(255, 255, 255, 0.5);
    border-bottom: 1px solid rgba(255, 255, 255, 0.5);
    z-index: 1;
}
/* con03 */
.introduce .map_wrap {
    width: 100%;
    margin: 60px 0;
}
.introduce .map_wrap .root_daum_roughmap_landing {
    width: 100% !important;
}
.introduce .map_wrap .root_daum_roughmap .wrap_map {
    height: 580px !important;
}
.introduce .map_wrap .root_daum_roughmap .wrap_controllers {
    display: none;
}
.introduce .info_flex_wrap {
    display: flex;
}
.introduce .info_flex_wrap .box {
    display: flex;
    align-items: center;
    flex: 1;
    gap: 18px;
    padding: 40px;
    border-left: 1px solid #000;
}
.introduce .info_flex_wrap .alt_box {
    color: #444444;
}
.introduce .info_flex_wrap .alt_box .tit {
    font-size: 28px;
    font-weight: 700;    
}
.introduce .info_flex_wrap .alt_box .alt {
    font-size: 18px;
    font-weight: 300;
    margin-top: 10px;
}
.introduce .info_flex_wrap .box img {
    width: 60px;
}
@media all and (max-width:1400px) {
    .introduce .con01 .flex_wrap {
        gap: 50px;
    }
    .common_sub_tit {
        font-size: 30px;
    }
    .introduce .common_sub_tit {
        margin-bottom: 40px;
    }
    .introduce .con01 .sub_alt_txt + .sub_alt_txt {
        margin-top: 20px;
    }
    .sub_alt_txt {
        font-size: 16px;
    }
    .introduce .con02 {
        margin-top: unset;
    }
    .section,
    .introduce .con02 {
        padding: 80px 0;
    }
    .introduce .map_wrap .root_daum_roughmap .wrap_map {
        height: 300px !important;
    }
    .common_sub_tit2 {
        font-size: 22px;        
    }
    .introduce .info_flex_wrap .alt_box .tit {
        font-size: 20px;
    }
    .introduce .info_flex_wrap .alt_box .alt {
        font-size: 16px;
    }
    .introduce .info_flex_wrap .box img {
        width: 50px;
    }
    .introduce .info_flex_wrap .box {        
        gap: 10px;
        padding: 20px;        
    }
}
@media all and (max-width:1024px) {
    .introduce .con01 .flex_wrap {
        flex-direction: column;
    }
}
@media all and (max-width:768px) {
    .introduce .con02 .flex_wrap {
        flex-direction: column;
    }
    .introduce .info_flex_wrap {
        flex-direction: column;
    }
    .introduce .info_flex_wrap .box {
        border-left: unset;
        padding: 10px;
    }
    .introduce .map_wrap {
        margin: 30px 0;
    }
    .sub_visual .text p {
        font-size: 16px;
    }
}
/* END 회사소개 */

/* 서비스소개 */
.service .con02 {
    margin-top: unset;
}
.common_table_div {
    text-align: left;
}
.common_table_div .box {
    padding: 40px 0;
    border-top: 1px solid #d1d7dd;
    border-bottom: 1px solid #d1d7dd;
}
.common_table_div .box .tit {
    font-size: 32px;
    font-weight: 500;
    color: #444444;
    margin-bottom: 20px;
    line-height: 1.2em;
}
.service .con03 .flex_box {
    display: flex;
    gap: 30px;
}
.service .con03 .flex_box .box {
    flex: 1;
    background-color: #f3f5f7;
}
.service .con03 .flex_box .alt_box {
    padding: 50px 40px;
}
.service .con03 .flex_box .alt_box .tit {
    font-size: 22px;
    font-weight: 500;
    color: #444444;
    line-height: 1.2em;
    margin-bottom: 20px;
}
@media all and (max-width:1024px) {
    .common_table_div .box .tit {
        font-size: 22px;
    }
    .common_table_div .box {
        padding: 20px 0;
    }
    .service .con03 .flex_box .alt_box .tit {
        font-size: 20px;
    }
    .service .con03 .flex_box .alt_box {
        padding: 30px 20px;
    }
}
@media all and (max-width:768px) {
    .service .con03 .flex_box {
        flex-direction: column;
    }
    .service .con03 .flex_box .img_box img {
        max-width: 100%;
    }
    .service .con03 .flex_box .alt_box {
        padding: 50px 20px;
    }
}
/* END 서비스소개 */