@import url(https://cdn.rawgit.com/theeluwin/NotoSansKR-Hestia/master/stylesheets/NotoSansKR-Hestia.css);

/* ==========================================
   DESIGN SYSTEM - US Law Firm Style
   ========================================== */
:root {
    /* Colors */
    --primary-navy: #0d1b2a;
    --secondary-navy: #1b263b;
    --accent-gold: #c9a962;
    --light-gold: #d4af37;
    --white: #ffffff;
    --text-dark: #1a1a1a;
    --text-gray: #666666;
    --text-light: #999999;
    --bg-light: #f8f9fa;
    --bg-cream: #faf8f5;

    /* Typography */
    --font-serif: 'Playfair Display', 'Noto Serif', Georgia, serif;
    --font-sans: 'Inter', 'Noto Sans KR', -apple-system, BlinkMacSystemFont, sans-serif;

    /* Spacing */
    --section-padding: 120px;
    --container-width: 1280px;

    /* Transitions */
    --transition-smooth: all 0.4s cubic-bezier(0.4, 0, 0.2, 1);
}

* {margin:0; padding:0;}
body {font-family: var(--font-sans), 'Noto Sans Korean', sans-serif; color: var(--text-dark); }
img {border:none; vertical-align:middle;}
a {text-decoration:none;color:#333333;}
a:link {text-decoration:none;}
a:visited {text-decoration:none;}
a:hover {text-decoration:none;}
a:active {text-decoration:none;}
/* font-family: 'Noto Serif', serif; */
ul,li {list-style:none;margin:0;padding:0;}
.clear {clear:both;}

.wrapper {width:1280px; margin:0 auto; overflow:hidden;}
.board_wrap {width:1280px;margin:50px auto 50px;}

/* 비주얼 슬라이더 */
.visual-wrap {
    position: relative;
    width: 100%;
    overflow: hidden;
}
.visual-wrap .visual-slide {
    width: 100%;
    position: relative;
    z-index: 10;
}
.visual-wrap .visual-slide > div {
    width: 100%;
}
.visual-wrap .visual-slide img {
    width: 100%;
    height: auto;
    display: block;
}
.visual-wrap .bx-wrapper {
    position: relative;
    z-index: 10;
}
#imageContainer {
    position: relative;
    z-index: 5;
}

.section01 {
    height: 100vh;
    position: relative;
    margin-top: 0;
    overflow: hidden;
}

.section02 {
    height: auto;
    padding: 50px 0;
}

/* 고객사 로고 그리드 */
.clients_grid {
    max-width: 1200px;
    margin: 0 auto;
    background: #f5f5f5;
    padding: 30px;
    border-radius: 8px;
}

.clients_row {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-bottom: 20px;
}

.clients_row:last-child {
    margin-bottom: 0;
}

.clients_row_5 .client_logo {
    flex: 0 0 20%;
    max-width: 20%;
    padding: 10px 15px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
}

.clients_row_6 .client_logo {
    flex: 0 0 16.666%;
    max-width: 16.666%;
    padding: 10px 12px;
    box-sizing: border-box;
    display: flex;
    justify-content: center;
    align-items: center;
    height: 70px;
}

.client_logo img {
    max-width: 100%;
    min-height: 35px;
    max-height: 50px;
    height: auto;
    object-fit: contain;
}

.section01 h4 {
    font-size: 3em;
    width: 200%; 
    color: skyblue; 
    font-family: sans-serif;
    position: absolute;
    top: 80px;
    left: 200px;
    animation: slide 2s ease-out;
    line-height: 1.2em; 
}

.section01 h4 span {
    margin-top: 20px;
    font-size: 0.55em;
    color: lightgray;
    display: inline-block;
    line-height: 1.2em;
}

.section01 h5 {
    font-size: 2.2em;
    width: 1080px; 
    color: white;
    font-family: sans-serif;
    position: absolute;
    top: 320px;
    left: 200px;
    animation: slide 3s ease-out;
    line-height: 1;
    text-indent: 0;
}

.section01 h6 {
    font-size: 1.8em;
    width: 1080px; 
    color: white;
    font-family: sans-serif;
    position: absolute;
    top: 370px;
    left: 200px;
    animation: slide 4s ease-out;
    line-height: 1.5;
    text-indent: 0;
}

@keyframes slide {
    from {
        left: -100px;
        opacity: 0;
    }
    to {
        left: 200px;
        opacity: 1;
    }
}

@keyframes disappear {
    from {
        left: 200px;
        opacity: 1;
    }
    to {
        left: -100px;
        opacity: 0;
    }
}

/* header */

#header {width:100%;height:82px;position:fixed;z-index:9;overflow:hidden;background:rgba(0,0,0,.5);top:0;left:0;}
#header.sub_header {background:#0d1b2a;position:fixed;}
#header .header_wrap {width:1280px; margin:0 auto; }
#header .main_logo {float:left; margin-top:15px;}
#header .menu_area {float:right; margin-right:90px;}
#header .main_menu {float:left;}
#header .main_menu li {float:left; margin-right:60px; width:85px; line-height:82px;}
#header .main_menu li a{display:block; font-size:18px; color:#fff; font-weight:100; width:100%; height:100%;text-align:center; letter-spacing:-2px;}
#header.sub_header .main_menu li a {color:#fff;font-weight:400;}
#header .main_menu li span{position:relative; top:0px; display:block; width:100%; height:3px; background-image:url("../img/menu_ov.png"); background-repeat:no-repeat;}
#header .main_menu li:hover span{top:-3px; transition:0.3s;}
#header .lang_menu {float:left; margin-top:25px; cursor:pointer;}
#header .lang_menu ul{position:relative; display:block; width:120px; height:28px; border:1px solid #fff;
 text-align:center; background-image:url("../img/down_icon.png");
background-repeat:no-repeat; background-position: 85% 50%;}
#header .lang_menu ul li{color:#fff}
#header.sub_header .lang_menu ul {border:1px solid #fff;}
#header .lang_menu li {position:absolute; display:block; color:#fff;width:131px;line-height:28px; font-weight:100;
margin-left:-8px; box-sizing:border-box; cursor:pointer;}
#header.sub_header .lang_menu li{color:#fff;font-weight:300;}

/* 언어 토글 - 기본 상태: active만 표시 */
#header .lang_menu li.ko {display:none;}
#header .lang_menu li.en {display:none;}
#header .lang_menu li.active {display:block;}

/* 언어 토글 - open 상태: 비활성 항목 표시 */
#header .lang_menu.open li {display:block;}

/* PC에서 모바일 요소 숨김 */
#nav_btn {display:none;}
.m-menu-wrap {display:none;}
.lang-short {display:none;}
.lang-full {display:inline;}
#header .lang_menu.open li:not(.active) {top:30px; background-color:#3c3c3c; margin-left:-1px; width:122px;}
#header.sub_header .lang_menu.open li:not(.active) {background-color:rgba(13,27,42,0.95);}

/* container */
#hg-contain {background:#fff; overflow:hidden;}
#hg-contain .visual {width:100%; padding-bottom:50px;}

/* con01 */
.con01 {width:1280px; margin:100px auto;}
.con01 .con01_title p{text-align:center; font-size:30px;/*  margin-bottom:20px; */ }
/* .con01 .con01_title p:first-child{margin-bottom:50px;} */
/* .con01 .con01_slide div img{margin-left:60px;} */
.con01_slide div{display:inline-block; width:19%; margin-right:1%; position:relative;}
.con01_slide div img{width:100%}
/* .con01_slide div:first-child{margin-left:60px;} */
.con01_slide div:last-child{margin-right:0;}
.con01_slide div .con01_text{position:absolute; top:0; left:0; margin:0; width:100%; height:100%; background-color:rgba(0,0,0,0.6); opacity:0;}
.con01_slide div .con01_text .con01_text_in {position:relative; top:35%; width:100%; height:auto; margin:0; text-align:center;}
.con01_slide div .con01_text_in p{color:#fff; font-size:38px;}
.con01_slide div .con01_text_in p span{color:#ddd; font-size:20px;}
.con01_slide div .con01_text_in a {display:inline-block; width: 200px; height:40px; border:1px solid #fff; font-size:15px; color:#fff; text-align:center; line-height:40px; margin-top:18px;}
.con01_slide div .con01_text_in a:hover {background-color:#fff; color:#000; transition:0.5s;}

/* con02 */
.con02_wrap{background:#f0f0f0}
.con02 {width:1280px; overflow:hidden; margin: 0 auto;}
.con02 .con02_title{width:164px; margin:80px auto; }
.con02 .board{width:22.7%; margin-right:2%; float:left; margin-bottom:50px;}
.con02 .board01 {margin-left:1%;}
.con02 .board04 {margin-right:0;}
.con02 .board .board_date {margin:15px 0 15px; width:100%; border-bottom:2px solid #ddd;font-size:30px;font-weight:100;}
.con02 .board .board_date img{margin-bottom:20px;}
.con02 .board02 .board_date img{margin-bottom:15px;}
.con02 .board .board_con h3{font-size:17px; line-height:2; margin-bottom:15px;}
.con02 .board .board_con p{font-size:13px; line-height:2;}
.con02 .board .board_btn {margin-top:30px;}

/* con03 */
.con03 .con03_top {width:1100px; margin:80px auto; overflow:hidden;}
.con03 .con03_top .con03_float{width:33%; float:left;}
.con03 .con03_top .con03_float div{float:left;}
.con03 .con03_top .con03_float .con03_text {margin-left:20px;}
.con03 .con03_top .con03_float .con03_text p:first-child{font-size:14px; color:#153c89; line-height:2; margin-top:15px;}
.con03 .con03_top .con03_float .con03_text p:last-child{font-size:17px; line-height:2; letter-spacing:-1px;}
.con03 .con03_top .con03_float .con03_text01 p:last-child{font-size:23px; line-height:1.7;}
.con03 .map_img {margin:300px auto 0px; width:1920px;}

.con03 .form_wrap {width:1228px; height:415px; background-color:#222a2d; position:absolute; left:50%; margin-left:-614px;}
/* .con03 input:focus::placeholder {color:transparent;} */
.form_in {margin-top:70px; margin-left:100px;}
.form_in li {margin:25px 0;}
.form_in li span {color:#fff; font-size:13px; position:absolute; line-height:45px; left:115px; font-weight:lighter;}
.form_in input {width:470px; height:45px; background-color: #2f393b; border:none; color:#fff; text-align:right; padding-right:20px;}
.form_in .form_pro input {width:135px;}
.form_in .form_pro #captcha #captcha_key {background:#2f393b !important;border:0;font-size:1em;color:#fff;width:286px;text-align:right;font-weight:100;padding-right:20px;box-sizing:border-box;margin-left:40px;}
.form_in .form_pro #captcha #captcha_reload {left:167px;}
.form_in .form_pro a{margin:0 7px;}
.form_in .form_inq input{height:200px;}
.form_inq {position:absolute; top:70px; right:100px;}
.form_inq span {color:#fff; font-size:13px; font-weight:lighter; position:absolute; left:20px; top:20px;}
.form_inq textarea {width:475px; height:105px; background-color:#2f393b; border:none; color:#fff; line-height:1.5;text-indent:7px; padding:45px 20px 5px; resize:none;}

.form_in input:focus , .form_inq textarea:focus {background-color:#1c2225;}
.form_in input::placeholder {text-align:right; text-indent:10px;}
.form_inq textarea::placeholder {text-indent:100px; }
.form_chk {position:absolute; left:50.5%; top: 238px; color:#fff; font-weight:lighter;}

.msg_btn{position:absolute; top:300px; left:50%; margin-left:-132px}

/* bx */
.visual-wrap .visual-slide img{width:100%;}

.visual-wrap .bx-controls-direction{position:relative;}
.visual-wrap .bx-controls-direction  a {position:absolute;bottom:350px; display:block; width:95px; height:73px;text-indent:-9999em;}
.visual-wrap .bx-controls-direction  .bx-prev {left:50%; margin-left:-640px; background-image:url("../img/main_left_btn.png"); background-repeat:no-repeat;}
.visual-wrap .bx-controls-direction  .bx-next {right:50%; margin-right:-560px;  background-image:url("../img/main_right_btn.png"); background-repeat:no-repeat;}
.visual-wrap .bx-pager {position:relative; left:50%; bottom:210px; margin-left:-58px;}
.visual-wrap .bx-pager .bx-pager-item a{display:block; float:left; text-indent:-9999em; margin-right:25px; width:10px; height:10px;  border:2px solid rgba(255,255,255,0.5); border-radius:7px;}
.visual-wrap .bx-pager .bx-pager-item a.active {background-color:#fff;}

.con01 .bx-controls-direction {position:relative;}
.con01 .bx-controls-direction  a {display:block; width:32px; height:59px; position:absolute; bottom:290px;}
.con01 .bx-controls-direction  .bx-prev {left:0; margin-left:0; background-image:url("../img/con01_prev.png"); background-repeat:no-repeat;}
.con01 .bx-controls-direction  .bx-next {right:0; margin-right:0; background-image:url("../img/con01_next.png"); background-repeat:no-repeat;}

/* footer */
#hg-footer {width:100%;background:#666;}
.foot_top_wrap{width:100%; background-color:#23262d; }
.foot_top_wrap .foot_top {width:1200px; margin:0 auto; overflow:hidden; padding:15px 0;}
.foot_top_wrap .foot_top .foot_top_left {float:left; }
.foot_top_wrap .foot_top .foot_top_left li{float:left; margin-right:20px; margin-top:6px;}
.foot_top_wrap .foot_top .foot_sns {float:right;}
.foot_top_wrap .foot_top .foot_sns li{float:left; margin-left:10px;}
.foot_top .foot_top_left span{color:#f9f9f9; margin-left:20px; font-weight:100;}
.foot_top .foot_top_left a{color:#fff;}
.foot_bottom_wrap{width:100%; background-color:#434955; }
.foot_bottom_wrap .foot_bottom{width:1200px; margin:0 auto; padding:20px 0; }
.foot_logo {width:131px; margin:0 auto 20px;;}
.foot_info .info{color:#fff; text-align:center; line-height:2; font-weight:lighter;}
.foot_info .info span{color:#7c7c7e; margin:0 5px; font-weight:normal;}
.foot_info .copy{color:#7c7c7e; margin:20px auto; text-align:center;}

/* quick */
#quick_wrap {width:72px; height:200px; position:fixed; right:0; top:35%; z-index:99999; }
#quick_wrap div{border:1px solid #eee;}
#quick_wrap div:first-child, #quick_wrap div:nth-child(2),#quick_wrap div:nth-child(3){border-bottom:none;}
#quick_wrap div:last-child{border:none; text-align:center;}
#quick_wrap div:last-child a{display:block; padding:15px;}
.quick_top {cursor:pointer;}




/* sub01 */
.sub_area {margin-bottom:100px; margin-top: 82px;}
.sub_visual{width:100%;height:330px;background-image:url(../img/sub_img/sub01_v01.jpg);background-size:cover;background-position:center;}
.wrapper {padding-top:50px;}
.sub_visual_txt {width:100%;height:330px;background:linear-gradient(135deg, rgba(13,27,42,0.85) 0%, rgba(27,38,59,0.75) 100%);margin:0 auto 0;padding-top:100px;box-sizing:border-box;}
.sub_visual_txt div {position:relative;width:700px;margin:0 auto 0;}
.sub_visual_txt span {position:absolute;top:40px;right:120px;}
.sub_visual_txt h2 {text-align:center;font-size:24px;font-family:var(--font-sans);color:rgba(255,255,255,0.85);
font-weight:400;padding-top:20px;letter-spacing:1px;}
.sub_visual_txt p {text-align:center;font-family:var(--font-serif);
color:#fff;font-weight:500;font-size:42px;letter-spacing:1px;}

.point_color {color:var(--primary-navy);font-weight:600;}

.sub_title {font-size:32px;margin-top:50px;margin-bottom:40px;font-weight:600;text-align:center;font-family:var(--font-serif);color:var(--primary-navy);}
.sub_title .sub_title_ln {width:60px;height:3px;background:var(--primary-navy);margin:15px auto 0;}
.sub01_img {margin-bottom:40px;}
.sub01_txt {font-size:15px;line-height:30px;padding:0 40px;margin-bottom:50px;text-align:center;}
.sub01_txt p {margin-bottom:20px;}
.sub01_txt p:nth-child(2),.sub01_txt p:nth-child(3) {font-size:16px;}
.sub01_txt p.sub_txt_top {font-size:25px;font-weight:600;}
.sub01_slide_area {background:#fafafa;padding:50px 0;width:100%;margin-top:50px;}
.sub01_slide_area .sub01_slide {width:1161px;margin:0 auto;}
.sub01_slide {width:1161px;margin:0 auto;}
.sub01_slide ul li img {width:100%;height:auto;display:block;}
.sub01_slide .bx-wrapper {margin-bottom:0;}
.sub01_slide .bx-wrapper .bx-viewport {box-shadow:none;border:none;left:0;background:transparent;}
#sub01_pager {text-align:center; margin-top:50px;}
#sub01_pager a {display:inline-block;font-size:25px;margin:0 15px;background:#fff;border:1px solid #ccc;padding:10px 15px;transition:all .3s ease;-webkit-transition:all .3s ease;}
#sub01_pager a span {font-size:18px;opacity:.5;}
#sub01_pager a.active {padding:10px 30px;border:1px solid #000;}
.sub02_img {margin-bottom:40px;}
.sub02_txt {font-size:15px;line-height:30px;padding:0 40px;margin-bottom:50px;text-align:center;}
.sub02_txt p {margin-bottom:20px;}
.sub02_txt p:nth-child(2),.sub02_txt p:nth-child(3) {font-size:16px;}
.sub02_txt p.sub_txt_top {font-size:25px;font-weight:600;}
.sub02_slide_area {background:#fafafa;padding:50px 0;width:100%;margin-top:50px;}
.sub02_slide_area .sub02_slide {width:1161px;margin:0 auto;}
#sub02_pager {text-align:center; margin-top:50px;}
#sub02_pager {text-align:center; margin-top:50px;}
#sub02_pager a {display:inline-block;font-size:25px;margin:0 3px;background:#fff;border:1px solid #ccc;padding:10px 15px;transition:all .3s ease;-webkit-transition:all .3s ease;}
#sub02_pager a span {font-size:18px;opacity:.5;}
#sub02_pager a.active {padding:10px 30px;border:1px solid #000;}

/* sub02 */

.sub02_tap {overflow:hidden;border-left:1px solid #ddd;border-top:1px solid #ddd;border-bottom:1px solid #ddd;box-sizing:border-box;margin-bottom:50px;border-radius:4px;}
.sub02_tap ul li {float:left;width:20%;height:50px;line-height:50px;text-align:center;border-right:1px solid #ddd;box-sizing:border-box;font-size:15px;cursor:pointer;font-family:var(--font-sans);font-weight:500;transition:all 0.3s ease;}
.sub02_tap ul li:hover {background:var(--bg-light);}
.sub02_tap ul li.opt {background:var(--primary-navy);color:#fff;}
.sub02_v00 {display:none;}
.sub02_v01 {display:block;}
.sub_section {overflow:hidden;padding:50px 0;border-top:1px solid #ccc;}
.sub_leftarea {width:30%;float:left;}
.sub_rightarea {width:70%;float:left;}

.sub02_con01 {overflow:hidden;margin-bottom:50px;}
.sub02_con01 ul li {width:31%;height:300px;float:left;box-sizing:border-box;padding:25px 30px 25px;box-sizing:border-box;margin:1.166%;background:var(--bg-light);border-top:3px solid var(--primary-navy);transition:all 0.3s ease;}
.sub02_con01 ul li:hover {transform:translateY(-5px);box-shadow:0 10px 30px rgba(0,0,0,0.1);}
.sub02_con01 ul li:nth-child(1) .sub02_con01_t01 {background:url('../img/sub_img/ics1.png') no-repeat 98%;}
.sub02_con01 ul li:nth-child(2) .sub02_con01_t01 {background:url('../img/sub_img/ics2.png') no-repeat 98%;}
.sub02_con01 ul li:nth-child(3) .sub02_con01_t01 {background:url('../img/sub_img/ics3.png') no-repeat 98%;}
.sub02_con01 ul li:nth-child(4) .sub02_con01_t01 {background:url('../img/sub_img/ics4.png') no-repeat 98%;}
.sub02_con01 ul li:nth-child(5) .sub02_con01_t01 {background:url('../img/sub_img/ics5.png') no-repeat 98%;}
.sub02_con01 ul li .sub02_con01_t01 {font-size:22px;color:#002870;font-weight:500;margin-bottom:20px;box-sizing:border-box;height:50px;line-height:52px;padding-left:8px;position:relative;}
.sub02_con01 ul li .sub02_con01_t01:after {content:"";width:0;height:2px;background:#002870;position:absolute;left:9px;bottom:-4px;transition:0.3s;}
.sub02_con01 ul li:hover .sub02_con01_t01:after {width:30px;}
.sub02_con01 ul li .sub02_con01_t02 {font-size:14px;}

.sub02_con01 ul li .sub02_con01_t02 p {font-size:15px; padding-left:10px;box-sizing:border-box;position:relative;line-height:25px;word-break:keep-all;}
.sub02_con01 ul li .sub02_con01_t02 p:after {content:"·";position:absolute;left:0;top:0;}
.sub02_con02 {overflow:hidden;}
.sub02_con02 .sub02_con02_t01 {font-size:20px;margin-bottom:10px;}
.sub02_con02 .sub02_con02_t02 {font-size:15px;margin-bottom:10px;}
.sub02_con02 .sub02_con02_i01 {margin-bottom:20px;}

.sub02_con03 {overflow:hidden;padding:50px 0;}
.sub02_con03 table.sub-cnt{width:100%;margin-bottom:10px;  }
.sub02_con03 table.sub-cnt td{font-size:15px; color:#888; padding:10px 10px;border-bottom:1px #ddd solid; border-right:1px #ddd solid;
text-align:left;}
.sub02_con03 table.sub-cnt td.ct{text-align:center; color:#333;}
.sub02_con03 table.sub-cnt td span {color:#0d367c;}
.sub02_con03 table.sub-cnt td:last-child{border-right:none;}
.sub02_con03 table.sub-cnt th{background:#ebebeb; font-weight:normal; line-height:140%; 
padding:5px; font-size:15px; color: #333;border-right:1px #ddd solid;
border-top:1px #666 solid; border-bottom:1px #ddd solid;}
.sub02_con03 table.sub-cnt th:last-child{border-right:none;}

.sub02_con04 {overflow:hidden;}
.sub02_info_t01 {font-size:30px;margin:0 0 20px;font-weight:400;color:#002870;}
.sub02_info_t02 {font-size:16px;color:#888;margin-bottom:20px;line-height:30px;word-break:keep-all; font-weight:300;}
.sub02_info_t02 .sub02_info_title{font-size:22px; font-weight:400; color:#0d367c; position:relative; display:inline-block; margin-bottom:15px;}
.sub02_info_t02 .sub02_info_title:after {content:"";width:4px;height:4px;background:#002870;position:absolute;left:-10px;bottom:13px;transition:0.3s; margin-left:10px;}
.sub02_info_t02 span {color:#666; font-weight:400;}
.sub02_info_t02 p:before {content:"·";}
.sub02_info_t03 {font-size:22px;margin-bottom:10px; color:#0d367c; position:relative;}
.sub02_info_t03:after {content:"";width:4px;height:4px;background:#002870;position:absolute;left:-10px;bottom:13px;transition:0.3s; margin-left:10px;}
.sub02_info_t03_01 {font-size:18px;margin-bottom:10px;}

.sub02_con05 {margin-bottom:50px;overflow:hidden;}

.sub02_con06 {overflow:hidden;padding:50px 0;}
.sub02_con06 table.sub-cnt{width:100%;  }
.sub02_con06 table.sub-cnt td{font-size:15px; color:#888; padding:10px 10px; border-bottom:1px #ddd solid; border-right:1px #ddd solid;
text-align:left;}
.sub02_con06 table.sub-cnt td.ct{text-align:center; color:#333;}
.sub02_con06 table.sub-cnt td span {color:#668de7;}
.sub02_con06 table.sub-cnt td:last-child{border-right:none;}
.sub02_con06 table.sub-cnt th{background:#ebebeb; font-weight:normal; line-height:140%; 
padding:5px; font-size:15px; color: #333;border-right:1px #ddd solid;
border-top:1px #666 solid; border-bottom:1px #ddd solid;}
.sub02_con06 table.sub-cnt ul li:before{content:"·";}
.sub02_con06 table.sub-cnt th:last-child{border-right:none;}

.sub02_button {width:200px; height:50px; margin:80px auto 0; border:1px solid #002870; /* background-color:#0d367c; */}
.sub02_button p{font-size:15px; text-align:center; line-height:50px; color:#002870; cursor:pointer;}
.sub02_button p span{font-size:12px; margin-left:5px;}
.sub02_button:hover {background-color:#002870;}
.sub02_button:hover p {color:#fff;}

/* sub03 */

.sub03_map {margin-bottom:20px; border-radius:8px; overflow:hidden;}
.sub03_info {margin-top:15px;font-size:16px;font-family:var(--font-sans);color:var(--text-dark);padding:15px 20px;background:var(--bg-light);border-radius:8px;border-left:4px solid var(--primary-navy);}
.sub03_info b {margin-right:10px;color:var(--primary-navy);font-weight:600;}

/* sub04 */

.sub04_clear:after {content:""; display:block; clear:both; }
.sub04_wrap {margin:0 1%;}
.sub04_wrap p{position:relative; top:6px; font-size:16px; text-indent:10px; font-family:var(--font-sans); font-weight:500; color:var(--text-dark);}
.sub04_wrap p span {position:relative; top:6px; font-size:16px; color:var(--secondary-navy);}
.sub04_wrap>input {width:98%; height:50px; border-radius:5px; border:1px solid #ddd; margin:8px auto 20px; font-family:var(--font-sans); transition:border-color 0.3s ease;}
.sub04_wrap>input:focus {border-color:var(--primary-navy); outline:none;}
.sub04_wrap input::placeholder {font-size:14px; text-indent:10px; color:#aaa;}
.sub04_option_wrap {width:98%; position:relative; margin:8px 0 20px}
.sub04_option {position:relative; top:-23px; width:100%; padding-top:25px; border-left:1px solid #c8c8c8; border-right:1px solid #c8c8c8; border-bottom:1px solid #c8c8c8; border-radius:0 0 5px 5px; display:none;}
.sub04_option_wrap .option {width:100%; height:60px; margin-bottom:20px; background-color:#fafafa; border:1px solid #c8c8c8; border-radius:5px; cursor:pointer;}
.sub04_option_wrap .option p{text-align:center; line-height:47px;}
.sub04_option .option-wrap {width:95%; margin-left:2.5%;}
.sub04_option .option-wrap p {font-size:15px;}
.sub04_option .option-wrap>input {width:100%; height:45px; border:1px solid #c8c8c8; border-radius:5px; margin:8px auto 20px;}
.sub04_option .option-wrap>select {width:100%; height:45px; border:1px solid #c8c8c8; border-radius:5px; margin:8px auto 20px; color:#c8c8c8; font-size:15px; text-indent:10px;}
.sub04_option .option-wrap .sub04_option_left {float:left; width:49%; margin-right:1%;}
.sub04_option .option-wrap .sub04_option_left div{width:100%; height:260px; border:1px solid #c8c8c8; border-radius:5px; margin:8px auto;}
.sub04_option .option-wrap .sub04_option_left div input{display:none}
.sub04_option .option-wrap .sub04_option_left div label {display:block; font-size: 14px; line-height:2; text-indent:10px; color:#969696; cursor:pointer;}
.sub04_option .option-wrap .sub04_option_left span {display:inline-block; margin-bottom:20px; color:#c8c8c8; text-indent:10px;}
#idea01:checked ~ .i1,#idea02:checked ~ .i2,#idea03:checked ~ .i3,#idea04:checked ~ .i4,#idea05:checked ~ .i5,#idea06:checked ~ .i6,#idea07:checked ~ .i7,#idea08:checked ~ .i8,#idea09:checked ~ .i9{background:rgba(163,163,163,0.2);}
.sub04_option .option-wrap .sub04_option_right {float:left; width:49%; margin-left:1%;}
.sub04_option .option-wrap .sub04_option_right div{width:100%; height:260px; border:1px solid #c8c8c8; border-radius:5px; margin:8px auto;}
.sub04_option .option-wrap .sub04_option_right div input{display:none}
.sub04_option .option-wrap .sub04_option_right div label {display:block; font-size: 14px; line-height:2; text-indent:10px; color:#969696; cursor:pointer;}
.sub04_option .option-wrap .sub04_option_right span {display:inline-block; margin-bottom:20px; color:#c8c8c8; text-indent:10px;}
#enquiry01:checked ~ .e1,#enquiry02:checked ~ .e2,#enquiry03:checked ~ .e3,#enquiry04:checked ~ .e4,#enquiry05:checked ~ .e5,#enquiry06:checked ~ .e6,#enquiry07:checked ~ .e7{background:rgba(163,163,163,0.2);}
.sub04_option .option-wrap .sub04_option_center div{width:100%; height:260px; border:1px solid #c8c8c8; border-radius:5px; margin:8px auto;}
.sub04_option .option-wrap .sub04_option_center div input{display:none}
.sub04_option .option-wrap .sub04_option_center div label {display:block; font-size: 14px; line-height:2; text-indent:10px; color:#969696; cursor:pointer;}
.sub04_option .option-wrap .sub04_option_center span {display:inline-block; margin-bottom:20px; color:#c8c8c8; text-indent:10px;}
#assi01:checked ~ .a1,#assi02:checked ~ .a2,#assi03:checked ~ .a3,#assi04:checked ~ .a4,#assi05:checked ~ .a5,#assi06:checked ~ .a6,#assi07:checked ~ .a7,#assi08:checked ~ .a8 {background:rgba(163,163,163,0.2);} 
.submit {width:98%; height:60px; background:var(--primary-navy); border-radius:5px; margin:25px 0 80px; cursor:pointer; transition:all 0.3s ease;}
.submit:hover {background:var(--secondary-navy); transform:translateY(-2px); box-shadow:0 8px 20px rgba(13, 27, 42, 0.3);}
.submit p{text-align:center; line-height:60px; color:#fff; font-family:var(--font-sans); font-weight:600; font-size:16px; letter-spacing:0.5px; cursor:pointer;}
.submit p a{color:#fff;}
.g-recaptcha {margin-top: 15px;}

.btm_consul {height:400px;}
.btm_consul .btm_consul_in{width:25%; float:left; position:relative; text-align:center;}
.btm_consul .btm_consul_in span {display:inline-block; font-size:13px; color:#c8c8c8; margin:15px 0 3px;}
.btm_consul .btm_consul_in p{width:50%; margin:0 auto; font-size:20px;}
/* .btm_consul .btm_consul01 p span{position:relative; top:3px; left:0; display:block; width:100%; height:2px; background:#153c89; margin:0 0 4px; } */
/* .btm_consul .btm_consul_in a:hover p{text-decoration:underline #153c89;} */
/* .btm_consul .btm_consul_in a:hover p {border-bottom:2px solid #153c89;} */
.btm_consul .btm_consul_in a p:after {content:"";width:0;height:2px;background:#002870;position:absolute;bottom:-4px;transition:0.3s;}
.btm_consul .btm_consul_in a .bar01:after {left:100px;}
.btm_consul .btm_consul_in a .bar02:after {left:84px;}
.btm_consul .btm_consul_in a .bar03:after {left:100px;}
.btm_consul .btm_consul_in a .bar04:after {left:84px;}
.btm_consul .btm_consul_in a:hover .bar01:after{width:117px;}
.btm_consul .btm_consul_in a:hover .bar02:after{width:148px;}
.btm_consul .btm_consul_in a:hover .bar03:after{width:117px;}
.btm_consul .btm_consul_in a:hover .bar04:after{width:151px;}

/* ========================================
   모바일 반응형 스타일 (768px 이하)
   기존 모바일 페이지 (backup/theme/basic/mobile) 참고
   ======================================== */
@media screen and (max-width: 768px) {
    /* ==================
       1. 기본 설정 (mobile.css 참고: body 19px)
       ================== */
    html, body {
        overflow-x: hidden;
        width: 100%;
        font-size: 16px;
        -webkit-text-size-adjust: 100%;
    }

    p {
        font-size: 16px;
        word-break: break-all;
    }

    .wrapper, .board_wrap {
        width: 100% !important;
        /* padding: 0 20px; */
        box-sizing: border-box;
    }

    /* ==================
       2. 퀵메뉴(플로터) 숨김
       ================== */
    #quick_wrap {
        display: none !important;
    }

    /* ==================
       3. 헤더 - 항상 상단 고정 (기존 #m_header 스타일 참고)
       핵심: overflow: visible 필수
       ================== */
    #header, #header.sub_header {
        position: fixed !important;
        top: 0 !important;
        left: 0 !important;
        width: 100% !important;
        height: 60px !important;
        z-index: 99999 !important;
        box-shadow: 0 2px 10px rgba(0,0,0,0.1);
        overflow: visible !important;
    }

    /* 메인 페이지 헤더: 검은색 반투명 (PC와 동일) */
    #header {
        background: rgba(0,0,0,0.5) !important;
    }

    /* 서브 페이지 헤더: 다크 네이비 (메인과 통일) */
    #header.sub_header {
        background: #0d1b2a !important;
    }

    #header .header_wrap {
        width: 100% !important;
        height: 60px !important;
        margin: 0 !important;
        padding: 0 10px !important;
        box-sizing: border-box;
        display: flex !important;
        justify-content: space-between;
        align-items: center;
        gap: 0 !important;
    }

    #header .main_logo {
        float: none !important;
        margin: 0 !important;
        flex-shrink: 0;
    }

    #header .main_logo img {
        height: 32px;
        width: auto;
    }

    #header .menu_area {
        float: none !important;
        margin: 0 !important;
        display: flex;
        align-items: center;
        gap: 0;
    }

    /* 모바일에서 기존 메뉴 숨기고 햄버거 버튼 표시 */
    #header .main_menu,
    #header .lang_menu {
        display: none !important;
    }

    /* 헤더 높이만큼 바디 상단 여백 */
    body {
        padding-top: 60px !important;
    }

    /* 서브페이지에서 헤더 아래 컨텐츠 여백 */
    #hg-contain {
        padding-top: 0 !important;
    }

    /* 모바일에서 언어 텍스트 짧게 */
    .lang-full {display:none !important;}
    .lang-short {display:inline !important;}

    /* 햄버거 메뉴 버튼 */
    #nav_btn {
        display: flex !important;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        width: 44px;
        height: 44px;
        cursor: pointer;
        padding: 10px;
        position: relative;
        z-index: 100;
        -webkit-tap-highlight-color: rgba(0, 0, 0, 0.1);
    }

    #nav_btn:active {
        background: rgba(255, 255, 255, 0.2);
        border-radius: 5px;
    }

    #header.sub_header #nav_btn:active {
        background: rgba(255, 255, 255, 0.2);
    }

    #nav_btn span {
        display: block;
        width: 22px;
        height: 2px;
        background-color: #fff;
        margin: 3px 0;
        transition: all 0.3s ease;
        pointer-events: none;
    }

    #header.sub_header #nav_btn span {
        background-color: #fff;
    }

    /* ==================
       모바일 슬라이드 메뉴
       ================== */
    .m-menu-wrap {
        display: none;
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        z-index: 999999;
    }

    .m-menu-wrap.open {
        display: block;
    }

    #m-menu-bg {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.5);
        z-index: 1;
    }

    #m_menu {
        position: absolute;
        top: 0;
        right: -280px;
        width: 280px;
        height: 100%;
        background: #fff;
        box-shadow: -2px 0 10px rgba(0, 0, 0, 0.2);
        transition: right 0.3s ease;
        overflow-y: auto;
        z-index: 2;
    }

    .m-menu-wrap.open #m_menu {
        right: 0;
    }

    .m-menuhd {
        display: flex;
        justify-content: space-between;
        align-items: center;
        padding: 20px;
        border-bottom: 1px solid #eee;
        background: #f9f9f9;
    }

    .m-menuhd img {
        height: 35px;
        width: auto;
    }

    #close_btn {
        font-size: 24px;
        color: #333;
        cursor: pointer;
        padding: 5px 10px;
    }

    #m_menu > ul {
        padding: 10px 0;
    }

    #m_menu > ul > li {
        border-bottom: 1px solid #f0f0f0;
    }

    #m_menu > ul > li > a {
        display: block;
        padding: 18px 25px;
        font-size: 18px;
        color: #333;
        font-weight: 500;
        transition: background 0.2s ease;
    }

    #m_menu > ul > li > a:hover,
    #m_menu > ul > li > a:active {
        background: #f5f5f5;
        color: #002870;
    }

    .m_menulang {
        padding: 20px;
        border-top: 1px solid #eee;
        margin-top: 20px;
    }

    .m_menulang ul {
        display: flex;
        gap: 10px;
    }

    .m_menulang ul li {
        flex: 1;
    }

    .m_menulang ul li a {
        display: block;
        text-align: center;
        padding: 12px;
        border: 1px solid #ddd;
        border-radius: 5px;
        font-size: 14px;
        color: #666;
        transition: all 0.2s ease;
    }

    .m_menulang ul li.active a {
        background: #002870;
        border-color: #002870;
        color: #fff;
    }

    .m_menulang ul li a:hover {
        border-color: #002870;
        color: #002870;
    }

    /* ==================
       4. section01 - 비디오 영역
       ================== */
    .section01 {
        height: 50vh !important;
        min-height: 300px;
        margin-top: 0 !important;
    }

    .section01 video {
        height: 100% !important;
        min-height: 100%;
        object-fit: cover;
        transform: scale(1.1);
        transform-origin: center center;
    }

    .section01_overlay {
        padding-left: 0% !important;
        padding-right: 8% !important;
        padding-bottom: 10% !important;
    }

    .section01_overlay h2 {
        font-size: 24px !important;
        letter-spacing: 1px !important;
        margin-bottom: 12px !important;
    }

    .section01_overlay p {
        font-size: 18px !important;
        line-height: 1.7 !important;
    }

    /* ==================
       5. section01_intro - 소개 영역
       ================== */
    .section01_intro {
        height: auto !important;
        min-height: auto;
        padding: 40px 0 !important;
    }

    .section01_intro_overlay {
        margin-top: 0 !important;
        padding: 0 20px;
    }

    .section01_intro_content {
        margin-top: 0 !important;
        padding: 30px 20px !important;
        border-radius: 12px !important;
    }

    .intro_main h2,
    .intro_main h4 {
        font-size: 24px !important;
        margin-bottom: 15px !important;
        line-height: 1.4 !important;
    }

    .intro_main h4 span {
        font-size: 18px !important;
        line-height: 1.7 !important;
        display: block !important;
        margin-top: 10px !important;
    }

    .intro_main p {
        font-size: 18px !important;
        line-height: 1.7 !important;
    }

    .intro_columns {
        flex-direction: column !important;
        gap: 20px !important;
        margin-top: 25px !important;
    }

    .intro_column {
        width: 100% !important;
        padding: 20px !important;
    }

    .intro_column h3 {
        font-size: 22px !important;
    }

    .intro_column p {
        font-size: 17px !important;
    }

    /* ==================
       6. section015 - 카운팅
       ================== */
    .section015 {
        padding: 30px 0 !important;
    }

    .section015 > .wrapper {
        width: 100% !important;
        padding: 0 15px !important;
    }

    .section015 .sub_title {
        font-size: 24px !important;
        margin-top: 0 !important;
        margin-bottom: 20px !important;
        padding: 0 10px;
        word-break: keep-all;
    }

    .section_count {
        height: auto !important;
        padding: 30px 15px !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .count_wrapper {
        flex-direction: column !important;
        gap: 15px !important;
        align-items: center !important;
        margin: 0 auto !important;
        padding: 0 !important;
        width: 100% !important;
        max-width: 100% !important;
    }

    .count_item {
        width: 90% !important;
        max-width: 300px !important;
        padding: 20px !important;
        text-align: center;
    }

    .count {
        font-size: 2.5rem !important;
    }

    .count_item p {
        font-size: 18px !important;
    }

    .count_desc {
        font-size: 17px !important;
        line-height: 1.5 !important;
        word-break: keep-all;
    }

    .section_count > .sub_title {
        font-size: 24px !important;
        padding: 0 15px !important;
        word-break: keep-all;
        line-height: 1.4 !important;
    }

    /* ==================
       7. section02 - 고객사 로고
       ================== */
    .section02 {
        height: auto !important;
        padding: 30px 0 !important;
    }

    .section02 .con01 {
        width: 100% !important;
        margin: 0 auto !important;
        padding: 0 !important;
    }

    .section02 .wrapper {
        padding: 0 15px !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .section02 .sub_title {
        text-align: center !important;
        width: 100% !important;
    }

    .clients_grid {
        padding: 10px !important;
        margin: 0 !important;
        width: 100% !important;
        box-sizing: border-box;
    }

    .clients_row {
        flex-wrap: wrap !important;
        justify-content: space-between !important;
        gap: 8px 0 !important;
        margin-bottom: 8px !important;
        padding: 0 !important;
    }

    /* 모바일: 한 행에 3개씩 */
    .clients_row_5 .client_logo,
    .clients_row_6 .client_logo {
        flex: 0 0 32% !important;
        max-width: 32% !important;
        padding: 5px !important;
        margin: 0 !important;
        height: 50px !important;
    }

    .client_logo img {
        min-height: 25px !important;
        max-height: 38px !important;
    }

    /* ==================
       8. 뉴스 섹션 (con02)
       ================== */
    .con02_wrap {
        padding: 30px 15px !important;
        height: auto !important;
    }

    .con02_wrap > .wrapper {
        padding: 0;
    }

    .con02_title {
        font-size: 28px !important;
        margin-bottom: 20px !important;
    }

    .news_board_wrap {
        flex-direction: column !important;
        width: 95%;
        gap: 20px !important;
        margin: 0 !important;
    }

    .news_board {
        flex: none !important;
        max-width: 100% !important;
        width: 100% !important;
    }

    .news_board_img img {
        width: 100% !important;
        height: auto !important;
    }

    .news_board_con h3 {
        font-size: 22px !important;
    }

    .news_board_con p {
        font-size: 20px !important;
        line-height: 1.6 !important;
    }

    .board_img img {
        width: 100% !important;
        height: auto !important;
    }

    .board_title {
        font-size: 22px !important;
    }

    .board_date {
        font-size: 18px !important;
    }

    /* ==================
       9. con03 - 연락처 & CTA
       ================== */
    .con03 {
        padding: 30px 0 !important;
    }

    .con03_top {
        width: 100% !important;
        margin: 0 auto 30px !important;
        padding: 0 15px;
        box-sizing: border-box;
        display: flex;
        flex-direction: column;
        gap: 20px;
    }

    .con03_float {
        width: 100% !important;
        float: none !important;
        display: flex;
        align-items: center;
        padding: 15px;
        background: #f9f9f9;
        border-radius: 8px;
    }

    .con03_float div:first-child {
        flex-shrink: 0;
    }

    .con03_float div:first-child img {
        width: 50px;
        height: auto;
    }

    .con03_text {
        margin-left: 15px !important;
    }

    .con03_text p:first-child {
        font-size: 16px !important;
        margin-top: 0 !important;
    }

    .con03_text p:last-child {
        font-size: 18px !important;
    }

    .con03_text01 p:last-child {
        font-size: 22px !important;
    }

    /* con03 하단 2분할 -> 1열 */
    .con03_bottom {
        flex-direction: column !important;
        height: auto !important;
        max-width: 100% !important;
        margin: 0 !important;
    }

    .con03_left {
        width: 100% !important;
        padding: 40px 40px 40px 0px !important;
    }

    .con03_cta h3 {
        font-size: 26px !important;
    }

    .con03_cta p {
        font-size: 18px !important;
    }

    .btn_consult {
        padding: 12px 30px !important;
        font-size: 18px !important;
    }

    .con03_right {
        width: 100% !important;
        height: 250px !important;
    }

    /* ==================
       10. 푸터
       ================== */
    #hg-footer {
        margin-top: 0;
    }

    .foot_top_wrap {
        padding: 15px;
    }

    .foot_top {
        width: 100% !important;
        flex-direction: column;
        text-align: center;
        gap: 15px;
    }

    .foot_top_left, .foot_sns {
        float: none !important;
        width: 100% !important;
    }

    .foot_top_left ul {
        justify-content: center;
    }

    .foot_sns ul {
        justify-content: center;
    }

    .foot_bottom_wrap {
        padding: 20px 15px;
    }

    .foot_bottom {
        width: 100% !important;
        flex-direction: column;
        text-align: center;
        gap: 20px;
    }

    .foot_logo {
        float: none !important;
        margin-bottom: 15px;
    }

    .foot_logo img {
        height: 40px;
        width: auto;
    }

    .foot_info {
        float: none !important;
        width: 100% !important;
        text-align: center !important;
        padding: 0 !important;
    }

    .foot_info .info {
        font-size: 15px !important;
        line-height: 1.8 !important;
    }

    .foot_info .copy {
        font-size: 15px !important;
        margin-top: 10px;
    }

    /* ==================
       11. 서브페이지 공통
       ================== */
    .sub_area {
        padding-top: 0;
    }

    .sub_visual {
        height: 180px !important;
    }

    .sub_visual_txt {
        height: 180px !important;
        padding: 0 20px;
        padding-top: 50px !important;
    }

    .sub_visual_txt h2 {
        font-size: 26px !important;
    }

    .sub_visual_txt p {
        font-size: 18px !important;
    }

    .sub_visual_txt div {
        width: 100% !important;
        padding: 0 15px;
        box-sizing: border-box;
    }

    .sub_visual_txt span {
        display: none;
    }

    .sub_title {
        font-size: 26px !important;
        margin-top: 30px !important;
        margin-bottom: 20px;
    }

    /* ==================
       12. sub01 - 구성원
       ================== */
    .attorney-grid {
        grid-template-columns: repeat(2, 1fr) !important;
        gap: 15px !important;
        padding: 0 15px;
    }

    .attorney-item {
        padding: 15px !important;
    }

    .attorney-item img {
        width: 80px !important;
        height: 100px !important;
    }

    .attorney-item h4 {
        font-size: 18px !important;
        margin-top: 10px !important;
    }

    .attorney-item p {
        font-size: 15px !important;
    }

    /* 영문 sub01 페이지 - 이미지 숨김 */
    :lang(en) .sub01_img {
        display: none !important;
    }

    :lang(en) .sub01_txt {
        width: 100% !important;
        padding: 0 15px;
        box-sizing: border-box;
    }

    /* ==================
       13. sub02 - 업무분야
       ================== */
    .sub02_con01 ul {
        padding: 0 15px;
    }

    .sub02_con01 ul li {
        width: 100% !important;
        height: auto !important;
        min-height: 200px;
        margin: 0 0 15px 0 !important;
        padding: 20px !important;
    }

    .sub02_con01_t01 {
        font-size: 22px !important;
        height: auto !important;
        line-height: 1.4 !important;
        margin-bottom: 15px !important;
    }

    .sub02_con01_t02 p {
        font-size: 17px !important;
        line-height: 1.6 !important;
    }

    /* sub02 탭 메뉴 */
    .sub02_tap {
        margin-bottom: 30px !important;
    }

    .sub02_tap ul li {
        width: 50% !important;
        font-size: 17px !important;
        height: 40px !important;
        line-height: 40px !important;
    }

    /* sub02 섹션 2컬럼 -> 1컬럼 */
    .sub_section {
        padding: 30px 0 !important;
    }

    .sub_leftarea,
    .sub_rightarea {
        width: 100% !important;
        float: none !important;
    }

    .sub_leftarea {
        margin-bottom: 15px !important;
    }

    .sub02_info_t01 {
        font-size: 22px !important;
    }

    .sub02_info_t02 {
        font-size: 18px !important;
        line-height: 1.6 !important;
    }

    .sub02_con02_i01 img {
        width: 100% !important;
        height: auto !important;
    }

    .sub02_con02 {padding:50px 10px;}
    .sub02_con03 {padding:50px 10px;}
    .sub02_con04 {padding:50px 10px;}
    .sub02_con05 {padding:50px 10px;}
    .sub02_con06 {padding:50px 10px;}

    /* ==================
       14. sub03 - 오시는 길
       ================== */
    .sub03_map {
        height: 300px !important;
    }

    .sub03_info {
        font-size: 17px !important;
        padding: 15px !important;
    }

    /* ==================
       15. sub04 - 온라인 상담
       ================== */
    .sub04_wrap {
        margin: 0 !important;
        padding: 0 15px;
    }

    .sub04_wrap p {
        font-size: 18px !important;
    }

    .sub04_wrap > input {
        width: 100% !important;
        height: 45px !important;
        font-size: 18px !important;
    }

    .sub04_wrap textarea {
        font-size: 18px !important;
    }

    .submit p a,
    .submit p {
        font-size: 18px !important;
        padding: 12px 30px !important;
    }

    /* ==================
       16. 뉴스 상세/목록
       ================== */
    .news_wrap {
        padding: 0 15px;
    }

    .news_list_item {
        padding: 15px 0;
    }

    .news_list_item h3 {
        font-size: 20px !important;
    }

    .news_list_item p {
        font-size: 17px !important;
    }

    /* ==================
       17. 라이트박스 모바일
       ================== */
    .lightbox-overlay {
        padding: 20px;
    }

    .lightbox-content {
        max-width: 95%;
        max-height: 80vh;
    }

    .lightbox-content img {
        max-height: 70vh;
    }

    /* ==================
       18. 기타 유틸리티
       ================== */
    /* 텍스트 줄바꿈 */
    br.mobile-hide {
        display: none;
    }

    /* 모바일에서만 보이는 요소 */
    .mobile-only {
        display: block !important;
    }

    /* PC에서만 보이는 요소 */
    .pc-only {
        display: none !important;
    }
}