*{margin:0;padding:0;box-sizing:border-box}
html,body{width:100%;overflow-x:hidden;font-family:'Paperlogy',sans-serif;color:#111}
body{background:#fff}
body.menu_open{overflow:hidden}
a{text-decoration:none;color:inherit}
ul,li{list-style:none}
img{display:block;max-width:100%}
.m_br{display:none}
@media (max-width:480px){.m_br{display:block}}
.inner{width:1400px;margin:0 auto;position:relative}

.top_txt{width:100%;height:34px;background:#45638f;color:#fff;font-size:14px;font-weight:300;letter-spacing:.3px;position:fixed;top:0;left:0;z-index:101;transition:top .45s ease}
.top_txt.hide{top:-34px}
.top_txt .inner{width:1400px;height:100%;margin:0 auto;display:flex;align-items:center}

#header{width:100%;height:86px;background:#062654;position:fixed;top:34px;left:0;z-index:100;transition:top .45s ease,box-shadow .35s ease}
#header.scroll{top:0;box-shadow:0 8px 24px rgba(0,0,0,.12)}
#header .inner{height:100%;display:flex;align-items:center;justify-content:space-between}

.logo img{height:42px}
.gnb{display:flex;gap:70px}
.gnb li a{position:relative;font-size:18px;font-weight:600;color:#fff;padding:5px 0;transition:.3s}
.gnb li a:after{content:'';position:absolute;left:0;bottom:-8px;width:0;height:2px;background:#5f8cff;transition:.35s}
.gnb li a:hover{color:#7ea6ff}
.gnb li a:hover:after{width:100%}

.hero{width:100%;height:840px;position:relative;overflow:hidden}
.hero_slider{width:100%;height:100%;position:relative}
.hero_slide{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;visibility:hidden;transition:1s}
.hero_slide.active{opacity:1;visibility:visible;z-index:2}
.hero_slide img{width:100%;height:100%;object-fit:cover;filter:brightness(.55)}
.hero_txt{position:absolute;top:56%;left:50%;transform:translate(-50%,-50%);width:1400px;z-index:5;color:#fff;text-align:center}
.hero_txt h2{font-size:52px;line-height:1.25;font-weight:800;margin-bottom:30px;letter-spacing:-2px}
.hero_txt p{font-size:24px;line-height:1.7;font-weight:300;color:rgba(255,255,255,.92)}
.hero_arrow{position:absolute;top:56%;transform:translateY(-50%);width:70px;height:70px;border:1px solid rgba(255,255,255,.4);border-radius:50%;background:rgba(255,255,255,.08);backdrop-filter:blur(4px);cursor:pointer;z-index:10;transition:.3s}
.hero_arrow:hover{background:#fff}
.hero_arrow:hover:before{border-color:#111}
.hero_arrow.prev{left:60px}
.hero_arrow.next{right:60px}
.hero_arrow:before{content:'';position:absolute;top:50%;left:50%;width:16px;height:16px;border-top:3px solid #fff;border-right:3px solid #fff;transition:.3s}
.hero_arrow.prev:before{transform:translate(-35%,-50%) rotate(-135deg)}
.hero_arrow.next:before{transform:translate(-65%,-50%) rotate(45deg)}

/* 반응형 추가 */
.m_menu_btn{display:none}
@media (max-width:1400px){
.inner{width:92%}
.hero_txt{width:92%}
.hero_txt h2{font-size:44px}
.hero_txt p{font-size:21px}
}
@media (max-width:1024px){#header{z-index:1000}.gnb{z-index:1002}.m_menu_bg{z-index:999}.m_menu_btn{z-index:1003}}
@media (max-width:1024px){
.top_txt{display:none}
#header{top:0;height:80px;z-index:1000}
#header .inner{width:100%;padding:0 30px}
.logo img{height:34px}
/* .gnb{position:fixed;top:0;right:-100%;width:320px;height:100vh;background:#062654;z-index:1002;flex-direction:column;gap:0;padding-top:120px;transition:.45s} */
.gnb{position:fixed;top:74px;right:-100%;width:320px;height:calc(100vh - 74px);background:#062654;z-index:1002;flex-direction:column;gap:0;padding-top:30px;transition:.45s}
.gnb.active{right:0}
.gnb li{width:100%}
.gnb li a{display:block;width:100%;padding:22px 35px;font-size:18px;border-bottom:1px solid rgba(255,255,255,.08)}
.gnb li a:after{display:none}
.m_menu_btn{display:flex;flex-direction:column;justify-content:space-between;width:32px;height:24px;background:none;border:0;cursor:pointer;position:relative;z-index:1003}
.m_menu_btn span{display:block;width:100%;height:3px;background:#fff;border-radius:30px;transition:.35s}
.m_menu_btn.active span:nth-child(1){transform:translateY(10px) rotate(45deg)}
.m_menu_btn.active span:nth-child(2){opacity:0}
.m_menu_btn.active span:nth-child(3){transform:translateY(-10px) rotate(-45deg)}
/* .m_menu_bg{position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,.55);z-index:999;opacity:0;visibility:hidden;transition:.35s} */
.m_menu_bg{position:fixed;top:74px;left:0;width:100%;height:calc(100vh - 74px);background:rgba(0,0,0,.55);z-index:999;opacity:0;visibility:hidden;transition:.35s}
.m_menu_bg.active{opacity:1;visibility:visible}
.hero{height:760px}
.hero_txt{top:56%;width:90%}
.hero_txt h2{font-size:38px;line-height:1.4;word-break:keep-all}
.hero_txt p{font-size:18px;line-height:1.7;word-break:keep-all}
.hero_arrow{width:58px;height:58px}
.hero_arrow.prev{left:25px}
.hero_arrow.next{right:25px}
}

@media (max-width:768px){
.gnb{top:74px;height:calc(100vh - 74px)}
.m_menu_bg{top:74px;height:calc(100vh - 74px)}
#header{height:74px}
#header .inner{padding:0 20px}
.logo img{height:28px}
.hero{height:680px}
.hero_txt h2{font-size:31px;letter-spacing:-1px}
.hero_txt p{font-size:16px}
.hero_arrow{width:52px;height:52px}
.hero_arrow:before{width:13px;height:13px}
}

@media (max-width:480px){
.hero{height:620px}
.hero_txt{top:58%}
.hero_txt h2{font-size:26px;line-height:1.5}
.hero_txt p{font-size:15px;line-height:1.8}
.hero_arrow{display:none}
.gnb{width:100%}
}



/*메인 서비스분야 소개*/
.service{padding:120px 0 140px;background:#f5f6f9}
.sec_title{text-align:center;margin-bottom:70px}
.sec_title h3{font-size:48px;font-weight:800;letter-spacing:-1px;margin-bottom:15px}
.sec_title p{font-size:18px;color:#666;line-height:1.7}
.service_list{display:flex;gap:35px}
/* .service_box{flex:1;background:#355684;border-radius:28px;padding:65px 40px;text-align:center;transition:.4s;cursor:pointer;position:relative;overflow:hidden} */
.service_box{flex:1;background:#355684;border-radius:28px;padding:65px 40px;text-align:center;transition:.7s;cursor:pointer;position:relative;overflow:hidden;opacity:0;transform:translateY(70px)}
.service_box.show{opacity:1;transform:translateY(0)}
.service_box:before{content:'';position:absolute;top:0;left:-120%;width:100%;height:100%;background:linear-gradient(120deg,transparent,rgba(255,255,255,.18),transparent);transition:.7s}
.service_box:hover:before{left:120%}
.service_box:hover{background:#193d6a;transform:translateY(-12px);box-shadow:0 18px 40px rgba(0,0,0,.22)}
.service_box img{width:auto;margin:0 auto 35px;opacity:.35;filter:grayscale(100%) blur(.5px);transition:.4s}
.service_box:hover img{opacity:1;filter:grayscale(0) blur(0)}
.service_box h4{font-size:28px;font-weight:700;color:#fff;line-height:1.5;margin-bottom:15px;letter-spacing:-.5px}
.service_box p{font-size:17px;line-height:1.8;color:rgba(255,255,255,.9);font-weight:300}

@media (max-width:1400px){
.service{padding:100px 0 120px}
.sec_title{margin-bottom:60px}
.sec_title h3{font-size:42px}
.sec_title p{font-size:17px}
.service_list{gap:25px}
.service_box{padding:55px 30px}
.service_box h4{font-size:24px}
.service_box p{font-size:16px}
}

@media (max-width:1024px){
.service{padding:90px 0 100px}
.sec_title{margin-bottom:50px}
.sec_title h3{font-size:36px;line-height:1.4}
.sec_title p{font-size:16px}
.service_list{flex-direction:column;gap:25px}
.service_box{width:100%;padding:55px 35px;border-radius:24px}
.service_box img{max-width:90px;margin:0 auto 28px}
.service_box h4{font-size:26px}
.service_box p{font-size:16px;line-height:1.7}
}

@media (max-width:768px){
.service{padding:80px 0 90px}
.sec_title h3{font-size:31px}
.sec_title p{font-size:15px;line-height:1.6}
.service_box{padding:45px 28px}
.service_box img{max-width:78px;margin:0 auto 24px}
.service_box h4{font-size:23px;line-height:1.4;margin-bottom:12px}
.service_box p{font-size:15px}
}

@media (max-width:480px){
.service{padding:70px 0 80px}
.sec_title{margin-bottom:40px}
.sec_title h3{font-size:27px}
.sec_title p{font-size:14px}
.service_list{gap:18px}
.service_box{padding:38px 22px;border-radius:20px}
.service_box img{max-width:68px;margin:0 auto 20px}
.service_box h4{font-size:20px;word-break:keep-all}
.service_box p{font-size:14px;line-height:1.6;word-break:keep-all}
}




/* 메인 포트폴리오 */
.portfolio{padding:120px 0;background:#dce3ec;overflow:hidden}
.port_wrap{position:relative;margin-top:70px}
.port_track{display:flex;gap:30px;width:max-content;animation:portRolling 30s linear infinite}
.port_wrap:hover .port_track{animation-play-state:paused}
@keyframes portRolling{0%{transform:translateX(0)}100%{transform:translateX(calc(-460px * 7))}}
.port_item{width:430px;flex-shrink:0}
.port_img{width:100%;height:260px;position:relative}
.port_img img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
.port_item:hover img{transform:scale(1.08)}
.port_item h5{text-align:center;margin-top:22px;font-size:20px;font-weight:700}
.port_more{text-align:center;margin-top:70px}
.port_more a{display:inline-flex;align-items:center;justify-content:center;width:180px;height:60px;border:1px solid #6e86a3;border-radius:60px;font-size:18px;font-weight:700;color:#193d6a;transition:.35s;background:#fff}
.port_more a:hover{background:#193d6a;color:#fff;transform:translateY(-3px);box-shadow:0 12px 25px rgba(25,61,106,.18)}

@media (max-width:1400px){
.portfolio{padding:100px 0}
.port_wrap{margin-top:60px}
.port_track{gap:24px}
.port_item{width:380px}
.port_img{height:230px}
.port_item h5{font-size:18px}
.port_more{margin-top:60px}
}

@media (max-width:1024px){
.portfolio{padding:90px 0}
.port_wrap{margin-top:50px}
.port_track{gap:20px}
.port_item{width:320px}
.port_img{height:200px}
.port_item h5{margin-top:18px;font-size:17px}
.port_more{margin-top:50px}
.port_more a{width:160px;height:54px;font-size:16px}
}

@media (max-width:768px){
.portfolio{padding:80px 0}
.port_wrap{margin-top:40px}
.port_track{gap:16px}
.port_item{width:260px}
.port_img{height:165px}
.port_item h5{margin-top:15px;font-size:16px}
.port_more{margin-top:40px}
.port_more a{width:145px;height:50px;font-size:15px}
}

@media (max-width:480px){
.portfolio{padding:70px 0}
.port_wrap{margin-top:35px}
.port_track{gap:14px}
.port_item{width:220px}
.port_img{height:140px}
.port_item h5{margin-top:12px;font-size:15px}
.port_more{margin-top:35px}
.port_more a{width:135px;height:46px;font-size:14px;border-radius:50px}
}

/* 고객지원 */
.contact{padding:120px 0;background:#fff}
.contact_wrap{display:flex;justify-content:space-between;align-items:flex-start;gap:70px}
.map_box{width:860px;height:400px;border-radius:24px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.08)}
.map_box iframe{width:100%;height:100%;border:0}
.cs_box{flex:1;padding-top:20px;text-align:center}
.cs_box h3{font-size:32px;font-weight:800;margin-bottom:20px;letter-spacing:-1px}
.cs_line{width:1px;height:40px;background:#111;margin:30px auto}
.cs_txt{font-size:18px;line-height:1.4;color:#555;margin-bottom:20px}
.cs_info{margin-bottom:40px}
.cs_info li{font-size:20px;font-weight:600;margin-bottom:10px}
.cs_btns{display:flex;flex-wrap:wrap;gap:10px;justify-content:center}
.cs_btns a{width:150px;height:62px;border:1px solid #bbb;border-radius:14px;display:flex;align-items:center;justify-content:center;gap:8px;font-size:18px;font-weight:600;transition:.3s}
.cs_btns a img{width:31px;transition:.3s;filter:none; }
.cs_btns a:hover{background:#062654;color:#fff;border-color:#062654}
.cs_btns a:hover img{filter:brightness(0) invert(1)}

@media (max-width:1400px){
.contact{padding:100px 0}
.contact_wrap{gap:50px}
.map_box{width:62%;height:380px}
.cs_box{padding-top:10px}
.cs_box h3{font-size:30px}
.cs_txt{font-size:17px}
.cs_info li{font-size:18px}
.cs_btns a{width:140px;height:58px;font-size:17px}
}

@media (max-width:1024px){
.contact{padding:90px 0}
.contact_wrap{flex-direction:column;gap:50px}
.map_box{width:100%;height:420px;border-radius:22px}
.cs_box{width:100%;padding-top:0}
.cs_box h3{font-size:34px}
.cs_line{margin:25px auto}
.cs_txt{font-size:18px;line-height:1.7}
.cs_info{margin-bottom:35px}
.cs_info li{font-size:20px}
.cs_btns{gap:14px}
.cs_btns a{width:180px;height:58px;font-size:17px}
}

@media (max-width:768px){
.contact{padding:80px 0}
.contact_wrap{gap:40px}
.map_box{height:360px;border-radius:20px}
.cs_box h3{font-size:30px}
.cs_txt{font-size:16px}
.cs_info li{font-size:18px}
.cs_btns a{width:160px;height:54px;font-size:16px;border-radius:12px}
}

@media (max-width:480px){
.contact{padding:70px 0}
.contact_wrap{gap:35px}
.map_box{height:300px;border-radius:18px}
.cs_box h3{font-size:26px}
.cs_line{height:34px;margin:20px auto}
.cs_txt{font-size:15px;line-height:1.6;word-break:keep-all}
.cs_info{margin-bottom:28px}
.cs_info li{font-size:16px}
.cs_btns{flex-direction:column;gap:10px}
.cs_btns a{width:100%;height:50px;font-size:15px;border-radius:10px}
}



/* 하단 */
#footer{background:#414141;padding:80px 0}
#footer .inner{display:flex;align-items:center;gap:180px;padding-left:140px}
.foot_logo img{width:210px}
.foot_info p{font-size:16px;color:#fff;line-height:2}
.foot_info span{display:block;margin-top:20px;font-size:14px;color:rgba(255,255,255,.5)}
.foot_info strong{font-size:18px;color:#fff;line-height:2; font-weight:600;}

@media (max-width:1400px){
#footer{padding:70px 0}
#footer .inner{gap:100px;padding-left:60px}
.foot_logo img{width:180px}
.foot_info p{font-size:15px;line-height:1.9}
.foot_info strong{font-size:17px}
}

@media (max-width:1024px){
#footer{padding:65px 0}
#footer .inner{flex-direction:column;align-items:flex-start;gap:35px;padding-left:0}
.foot_logo img{width:170px}
.foot_info p{font-size:15px;line-height:1.8;word-break:keep-all}
.foot_info strong{font-size:16px}
.foot_info span{margin-top:16px}
}

@media (max-width:768px){
#footer{padding:55px 0}
#footer .inner{gap:28px}
.foot_logo img{width:150px}
.foot_info p{font-size:14px;line-height:1.8}
.foot_info strong{font-size:15px}
.foot_info span{font-size:13px}
}

@media (max-width:480px){
#footer{padding:45px 0}
#footer .inner{gap:20px}
.foot_logo img{width:135px}
.foot_info p{font-size:13px;line-height:1.3;margin-bottom:8px}
.foot_info strong{display:inline;font-size:14px;line-height:1.8}
.foot_info span{margin-top:10px;font-size:12px;line-height:1.5}
}


/* 서브공용 */
.sub_visual{width:100%;height:460px;position:relative;overflow:hidden}
.sub_visual_bg{width:100%;height:100%;position:absolute;top:0;left:0;overflow:hidden;transform:scale(1.15);animation:subVisualStart 1.8s ease forwards}
.sub_visual_bg img{width:100%;height:100%;object-fit:cover;filter:brightness(.25);transform:scale(1);transition:transform 1.4s ease}
.sub_visual:hover .sub_visual_bg img{transform:scale(1.12)}
.sub_visual_txt{position:absolute;top:64%;left:50%;transform:translate(-50%,-50%);width:1400px;color:#fff;text-align:center;z-index:5}
.sub_visual_txt h2{font-size:38px;font-weight:800;letter-spacing:-1px;margin-bottom:20px}
.sub_visual_txt p{font-size:17px;line-height:1.4;font-weight:300;color:rgba(255,255,255,.92)}
@keyframes subVisualStart{0%{transform:scale(1.15)}100%{transform:scale(1)}}

.sub_breadcrumb{width:100%;height:58px;border-top:1px solid #e5e5e5;border-bottom:1px solid #e5e5e5;background:#fff}
.sub_breadcrumb .inner{height:100%;display:flex;align-items:center;justify-content:space-between}

.bread_copy{font-size:13px;color:#45638f;font-weight:500;opacity:0;transform:translateY(8px);transition:.45s}
.bread_copy.show{opacity:1;transform:translateY(0)}

.sub_breadcrumb ul{display:flex;align-items:center}
.sub_breadcrumb li{position:relative;font-size:14px;color:#777;padding-right:28px;margin-right:18px}
.sub_breadcrumb li:after{content:'';position:absolute;top:50%;right:0;width:6px;height:6px;border-top:1px solid #999;border-right:1px solid #999;transform:translateY(-50%) rotate(45deg)}
.sub_breadcrumb li:last-child{color:#193d6a;font-weight:600;padding-right:0;margin-right:0}
.sub_breadcrumb li:last-child:after{display:none}
.sub_breadcrumb li a{transition:.3s}
.sub_breadcrumb li a:hover{color:#193d6a}
.sub_breadcrumb li i{font-size:12px;margin-right:6px}

.sub_content{padding:120px 0;background:#fff}
.sub_title{text-align:center;margin-bottom:70px}
.sub_title h3{font-size:42px;font-weight:800;letter-spacing:-1px;margin-bottom:15px}
.sub_title p{font-size:18px;color:#666;line-height:1.7}

.about_page .gnb li:nth-child(1) a{color:#7ea6ff}
.about_page .gnb li:nth-child(1) a:after{width:100%}
.service_page .gnb li:nth-child(2) a{color:#7ea6ff}
.service_page .gnb li:nth-child(2) a:after{width:100%}
.portfolio_page .gnb li:nth-child(3) a{color:#7ea6ff}
.portfolio_page .gnb li:nth-child(3) a:after{width:100%}
.contact_page .gnb li:nth-child(4) a{color:#7ea6ff}
.contact_page .gnb li:nth-child(4) a:after{width:100%}

@media (max-width:1400px){
.sub_visual_txt{width:92%}
.sub_visual_txt h2{font-size:34px}
.sub_visual_txt p{font-size:16px}
.sub_content{padding:100px 0}
.sub_title{margin-bottom:60px}
.sub_title h3{font-size:38px}
.sub_title p{font-size:17px}
}

@media (max-width:1024px){
.sub_visual{height:400px}
.sub_visual_txt{top:66%;width:90%}
.sub_visual_txt h2{font-size:32px;line-height:1.4}
.sub_visual_txt p{font-size:16px;line-height:1.7}
.sub_breadcrumb{height:54px}
.sub_breadcrumb .inner{width:92%}
.bread_copy{font-size:12px}
.sub_breadcrumb li{font-size:13px;padding-right:22px;margin-right:14px}
.sub_content{padding:90px 0}
.sub_title{margin-bottom:50px}
.sub_title h3{font-size:34px}
.sub_title p{font-size:16px}
}

@media (max-width:768px){
.sub_visual{height:340px}
.sub_visual_txt{top:68%}
.sub_visual_txt h2{font-size:28px;margin-bottom:14px}
.sub_visual_txt p{font-size:15px;line-height:1.6;word-break:keep-all}
.sub_breadcrumb{height:50px}
.bread_copy{display:none}
.sub_breadcrumb li{font-size:12px;padding-right:18px;margin-right:10px}
.sub_breadcrumb li i{font-size:11px;margin-right:4px}
.sub_content{padding:80px 0}
.sub_title{margin-bottom:40px}
.sub_title h3{font-size:30px;margin-bottom:12px}
.sub_title p{font-size:15px;line-height:1.6}
}

@media (max-width:480px){
.sub_visual{height:300px}
.sub_visual_txt{top:70%;width:88%}
.sub_visual_txt h2{font-size:24px;line-height:1.4;margin-bottom:10px}
.sub_visual_txt p{font-size:13px;line-height:1.6}
.sub_breadcrumb{height:46px}
.sub_breadcrumb .inner{width:92%}
.sub_breadcrumb li{font-size:11px;padding-right:14px;margin-right:8px}
.sub_breadcrumb li:after{width:5px;height:5px}
.sub_breadcrumb li i{font-size:10px}
.sub_content{padding:70px 0}
.sub_title{margin-bottom:34px}
.sub_title h3{font-size:26px}
.sub_title p{font-size:14px;line-height:1.6;word-break:keep-all}
}


/* 서브_ABOUT US */
.about_intro{display:flex;align-items:center;gap:90px;margin-bottom:140px}
.about_left{width:620px;flex-shrink:0}
.about_left img{width:100%;border-radius:24px;box-shadow:0 15px 40px rgba(0,0,0,.08)}
.about_right{flex:1}
.about_right h4{font-size:32px;line-height:1.2;font-weight:800;letter-spacing:-1px;margin-bottom:35px;color:#111}
.about_right p{font-size:18px;font-weight:500;line-height:1.4;color:#555;margin-bottom:25px}

.about_info{padding-top:30px}
.about_info_title{margin-bottom:45px}
.about_info_title h4{font-size:36px;font-weight:800;letter-spacing:-1px;color:#111;margin-bottom:18px}
.about_info_title p{font-size:19px;line-height:1.9;color:#333;font-weight:300;word-break:keep-all}
.about_info_title strong{color:#333;font-weight:600;}
.about_table{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.about_row{background:#fff;border:1px solid #e7ebf1;border-radius:24px;padding:38px 40px;transition:.35s;box-shadow:0 6px 18px rgba(0,0,0,.03)}
.about_row:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(0,0,0,.08);border-color:#d5dfec}
.about_th{font-size:24px;font-weight:800;color:#193d6a;margin-bottom:24px;letter-spacing:-.5px}
.about_td{font-size:17px;line-height:2;color:#555;word-break:keep-all}

@media (max-width:1400px){
.about_intro{gap:60px;margin-bottom:120px}
.about_left{width:48%}
.about_right h4{font-size:28px;margin-bottom:28px}
.about_right p{font-size:17px;line-height:1.8;margin-bottom:20px}
.about_info_title h4{font-size:32px}
.about_info_title p{font-size:18px;line-height:1.8}
.about_table{gap:18px}
.about_row{padding:34px}
.about_th{font-size:22px;margin-bottom:20px}
.about_td{font-size:16px;line-height:1.9}
}

@media (max-width:1024px){
.about_intro{flex-direction:column;gap:45px;margin-bottom:90px}
.about_left{width:100%}
.about_left img{border-radius:20px}
.about_right{width:100%}
.about_right h4{font-size:34px;line-height:1.35}
.about_right p{font-size:17px;line-height:1.9}
.about_info{padding-top:10px}
.about_info_title{margin-bottom:35px}
.about_info_title h4{font-size:30px}
.about_info_title p{font-size:17px;line-height:1.8}
.about_table{grid-template-columns:1fr;gap:16px}
.about_row{padding:30px;border-radius:20px}
.about_th{font-size:21px;margin-bottom:18px}
.about_td{font-size:16px;line-height:1.8}
}

@media (max-width:768px){
.about_intro{gap:35px;margin-bottom:70px}
.about_left img{border-radius:18px}
.about_right h4{font-size:28px;margin-bottom:24px}
.about_right p{font-size:16px;line-height:1.8;margin-bottom:18px}
.about_info_title{margin-bottom:28px}
.about_info_title h4{font-size:26px;margin-bottom:14px}
.about_info_title p{font-size:16px;line-height:1.75}
.about_table{gap:14px}
.about_row{padding:24px;border-radius:18px}
.about_th{font-size:19px;margin-bottom:14px}
.about_td{font-size:15px;line-height:1.75}
}

@media (max-width:480px){
.about_intro{gap:28px;margin-bottom:55px}
.about_left img{border-radius:16px}
.about_right h4{font-size:24px;line-height:1.4;margin-bottom:18px}
.about_right p{font-size:14px;line-height:1.75;margin-bottom:16px;word-break:keep-all}
.about_info_title{margin-bottom:24px}
.about_info_title h4{font-size:22px;margin-bottom:12px}
.about_info_title p{font-size:14px;line-height:1.7}
.about_table{gap:12px}
.about_row{padding:20px;border-radius:16px}
.about_th{font-size:17px;margin-bottom:12px}
.about_td{font-size:14px;line-height:1.7}
}


/* 서브_SERVICE */
.service_intro{display:flex;align-items:flex-start;gap:90px}
.service_left{width:560px;flex-shrink:0}
.service_left img{width:100%;border-radius:24px;box-shadow:0 15px 40px rgba(0,0,0,.08)}
.service_right{flex:1}
.service_table{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.service_row{background:#fff;border:1px solid #e7ebf1;border-radius:24px;padding:38px 40px;transition:.35s;box-shadow:0 6px 18px rgba(0,0,0,.03)}
.service_row:hover{transform:translateY(-5px);box-shadow:0 16px 34px rgba(0,0,0,.08);border-color:#d5dfec}
.service_th{font-size:24px;font-weight:800;color:#193d6a;margin-bottom:24px;letter-spacing:-.5px}
.service_td{font-size:16px;font-weight:500;line-height:2;color:#555;word-break:keep-all}

@media (max-width:1400px){
.service_intro{gap:60px}
.service_left{width:45%}
.service_table{gap:18px}
.service_row{padding:34px}
.service_th{font-size:22px;margin-bottom:20px}
.service_td{font-size:15px;line-height:1.9}
}

@media (max-width:1024px){
.service_intro{flex-direction:column;gap:45px}
.service_left{width:100%}
.service_left img{border-radius:20px}
.service_right{width:100%}
.service_table{grid-template-columns:1fr}
.service_row{padding:30px;border-radius:20px}
.service_th{font-size:21px;margin-bottom:18px}
.service_td{font-size:15px;line-height:1.8}
}

@media (max-width:768px){
.service_intro{gap:35px}
.service_left img{border-radius:18px}
.service_table{gap:14px}
.service_row{padding:24px;border-radius:18px}
.service_th{font-size:19px;margin-bottom:14px}
.service_td{font-size:14px;line-height:1.75}
}

@media (max-width:480px){
.service_intro{gap:28px}
.service_left img{border-radius:16px}
.service_table{gap:12px}
.service_row{padding:20px;border-radius:16px}
.service_th{font-size:17px;margin-bottom:12px}
.service_td{font-size:13px;line-height:1.7}
}


/* 서브_PORTFOLIO */
.portfolio_grid{display:grid;grid-template-columns:repeat(3,1fr);gap:60px 56px}
.portfolio_item{display:block;opacity:0;transform:translateY(60px);transition:opacity .7s ease,transform .7s ease}
.portfolio_item.show{opacity:1;transform:translateY(0)}
.portfolio_img{position:relative;border:1px solid #e3e7ee;border-radius:24px;overflow:hidden;background:#fff;transition:.35s}
.portfolio_img img{width:100%;display:block;transition:transform .5s ease}
.portfolio_item:hover .portfolio_img{border-color:#cfd8e5;box-shadow:0 14px 34px rgba(0,0,0,.08)}
.portfolio_item:hover img{transform:scale(1.06)}
.portfolio_item h4{font-size:19px;font-weight:700;color:#222;text-align:center;margin-top:20px;line-height:1.5}
.portfolio_popup{position:fixed;top:0;left:0;width:100%;height:100vh;background:rgba(0,0,0,.92);z-index:9999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:.35s;padding:40px}
.portfolio_popup.show{opacity:1;visibility:visible}
.portfolio_popup_img{max-width:1200px;max-height:90vh;border-radius:24px;overflow:hidden;box-shadow:0 25px 60px rgba(0,0,0,.35)}
.portfolio_popup_img img{width:100%;display:block}
.portfolio_close{position:absolute;top:40px;right:40px;width:54px;height:54px;border:0;background:none;cursor:pointer}
.portfolio_close:before,.portfolio_close:after{content:'';position:absolute;top:50%;left:50%;width:34px;height:2px;background:#fff}
.portfolio_close:before{transform:translate(-50%,-50%) rotate(45deg)}
.portfolio_close:after{transform:translate(-50%,-50%) rotate(-45deg)}

@media (max-width:1024px){
.portfolio_grid{grid-template-columns:repeat(2,1fr);gap:30px 22px}
.portfolio_item h4{font-size:17px;margin-top:16px}
}

@media (max-width:768px){
.portfolio_grid{grid-template-columns:1fr;gap:24px}
.portfolio_img{border-radius:18px}
.portfolio_item h4{font-size:16px}
.portfolio_popup{padding:20px}
.portfolio_close{top:20px;right:20px}
}

@media (max-width:480px){
.portfolio_grid{gap:20px}
.portfolio_img{border-radius:16px}
.portfolio_item h4{font-size:15px;margin-top:14px}
}



/* 서브_CONTACT  */
.contact_page_wrap{margin-top:80px}
.contact_map{width:100%;height:521px;border-radius:26px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.08)}
.contact_map .root_daum_roughmap{width:100%!important;height:521px!important}
.contact_map .wrap_map{height:521px!important}
.contact_info{display:flex;align-items:center;justify-content:space-between;gap:40px;padding:48px 0 0}
.contact_txt{padding-left:24px;border-left:4px solid #6e84c7}
.contact_txt p{font-size:18px;line-height:1.4;font-weight:600;color:#1d2a4a;word-break:keep-all}
.contact_data{padding-left:24px;border-left:4px solid #6e84c7}
.contact_data p{font-size:18px;line-height:1.4;color:#1d2a4a}
.contact_data strong{font-weight:800}
.contact_mail{display:flex;gap:18px}
.contact_mail a{width:170px;height:64px;border-radius:18px;display:flex;align-items:center;justify-content:center;gap:10px;font-size:20px;font-weight:600;color:#fff;transition:.35s}
.contact_mail a img{width:32px;filter:brightness(0) invert(1)}
.contact_mail a:hover{transform:translateY(-4px);box-shadow:0 14px 28px rgba(0,0,0,.15)}
.contact_mail .naver{background:#10a000}
.contact_mail .daum{background:#3572df}
.contact_mail .gmail{background:#e36e52}

@media (max-width:1400px){
.contact_info{gap:30px}
.contact_txt p{font-size:20px}
.contact_data p{font-size:20px}
.contact_mail a{width:150px;height:60px;font-size:20px}
}

@media (max-width:1024px){
.contact_page_wrap{margin-top:60px}
.contact_info{flex-direction:column;align-items:flex-start;padding-top:40px}
.contact_mail{width:100%}
.contact_mail a{flex:1}
}

@media (max-width:768px){
.contact_map{border-radius:20px}
.contact_info{gap:26px;padding-top:32px}
.contact_txt p{font-size:18px;line-height:1.5}
.contact_data p{font-size:18px}
.contact_mail{gap:12px}
.contact_mail a{height:56px;font-size:17px;border-radius:14px}
.contact_mail a img{width:30px}
}

@media (max-width:480px){
.contact_page_wrap{margin-top:45px}
.contact_map{border-radius:16px}
.contact_info{gap:20px;padding-top:26px}
.contact_txt{padding-left:16px}
.contact_txt p{font-size:14px;line-height:1.6}
.contact_data{padding-left:16px}
.contact_data p{font-size:14px;line-height:1.7}
.contact_mail{flex-direction:column}
.contact_mail a{width:100%;height:52px;font-size:15px;border-radius:12px; padding:10px}
.contact_mail a img{width:26px}
}


/* 상단 TOP 버튼 */
.top_btn{position:fixed;right:40px;bottom:40px;width:62px;height:62px;border:0;border-radius:50%;background:#193d6a;color:#fff;font-size:18px;cursor:pointer;z-index:999;display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;transform:translateY(20px);transition:.35s;box-shadow:0 12px 30px rgba(0,0,0,.18)}
.top_btn.show{opacity:1;visibility:visible;transform:translateY(0)}
.top_btn:hover{background:#0f2f57;transform:translateY(-4px)}

@media (max-width:768px){
.top_btn{right:20px;bottom:20px;width:54px;height:54px;font-size:16px}
}

@media (max-width:480px){
.top_btn{right:16px;bottom:16px;width:50px;height:50px;font-size:14px}
}