@charset "utf-8";
@import url(https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard-dynamic-subset.css);

:root{
  --main-color : #ea700a;
  --sub-color: #DBBB8F;
  --sub-color2 : #E3C39D;
  --sub-color3 : #F4EFEA;
  --sub-color4 : #CDAB82;
  --black : #333;
  --black2 : #666;
  --black3 : #999;
  --black4 : #bebebe;
  --white : #fff;

  --border-color: #dddddd;

  --white-color: #fff;
  --black-color: #111;
  --primary-color: #861c23;
  --primary-h-color: #ea700a;
  --gray-color: #f0f2f4;

  --font-large: 48px;
  --font-medium: 28px;
  --font-basic: 18px;
  --font-regular: 16px;
  --font-small: 14px;
  --font-smaller: 12px;

  --neg-red700-color: #fa4d56;

  --light-gray-color: #f1f1f1;
}



/* 초기화 */
html {}
body {margin:0;padding:0;font-size:0.75em;font-family: 'pretendard',sans-serif !important;background:#fff; color:#333; letter-spacing: -0.04em;    overflow-x: hidden;}
html, h1, h2, h3, h4, h5, h6, form, fieldset, img {margin:0;padding:0;border:0}
h1, h2, h3, h4, h5, h6 {font-size:1em;font-family:'pretendard', sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}
html, body{width:100%; min-height:100%;}
ul, dl,ol{margin:0 !important;padding:0 !important;list-style:none}
legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
label, input, button, select, img {vertical-align:middle;font-size:1em}
input, button {margin:0;padding:0;font-family: 'pretendard',sans-serif;font-size:1em}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}

textarea, select {font-family: 'pretendard',sans-serif;font-size:1em}
select {margin:0}
p {margin:0;padding:0;word-break:break-all}
hr {display:none}
pre {overflow-x:scroll;font-size:1.1em}
a {color:#333 !important;text-decoration:none !important}

*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

input[type=text],input[type=password], textarea {
  -webkit-transition:all 0.30s ease-in-out;
  -moz-transition:all 0.30s ease-in-out;
  -ms-transition:all 0.30s ease-in-out;
  -o-transition:all 0.30s ease-in-out;
  outline:none;
}

input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {
  -webkit-box-shadow:0 0 5px #9ed4ff;
  -moz-box-shadow:0 0 5px #9ed4ff;
  box-shadow:0 0 5px #9ed4ff;
  border:1px solid #558ab7 !important;
}

.placeholdersjs {color:#aaa !important}

/* 레이아웃 크기 지정 */
#hd, #wrapper, #ft {min-width:1200px}

#hd_wrapper,
#tnb .inner,

#gnb .gnb_wrap,
#container_wr,
#ft_wr {width:1200px}

/* 공통 - display none/block */
.is-hidden { display: none !important; }
.is-visible { display: block !important; }

/* 공통 - 뷰포트 (pc / mobile) 별 display none/block */
.pc-only { display: none; }
@media (min-width: 769px) { .pc-only { display: block !important; }}
.mobile-only { display: block; }
@media (min-width: 769px) { .mobile-only { display: none !important; }}

/* 팝업레이어 */
#hd_pop {z-index:9;position:relative;margin:0 auto;height:0; min-width: 1000px;}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative; font-size: 12px;}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.hd_pops_footer button {padding:10px;border:0;color:#fff}
.hd_pops_footer .hd_pops_reject {background:#000;text-align:left}
.hd_pops_footer .hd_pops_close {background:#393939;position:absolute;top:0;right:0}
#hd_pop .hd_pops_con > p { margin-bottom: 0; }

/* 상단 레이아웃 */
#hd {background:#212020}
#hd_h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}

#tnb {border-bottom:1px solid #383838;margin:0 auto}
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
#tnb .inner {margin:0 auto}

#hd_wrapper {position:relative;margin:0 auto;height:140px;zoom:1}
#hd_wrapper:after {display:block;visibility:hidden;clear:both;content:""}

#logo {float:left;padding:30px 0 0}

.hd_sch_wr {float:left;padding:30px 0;width:445px;margin-left:65px}
#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch {border-radius:30px;overflow:hidden}
#hd_sch #sch_stx {float:left;width:385px;height:45px;padding-left:10px;border-radius:30px 0 0 30px;background:#2c2c2c;border:0;border-right:0;font-size:1.25em;color:#fff}
#hd_sch #sch_submit {float:left;width:60px;height:45px;border:0;background:#2c2c2c;color:#fff;border-radius:0 30px 30px 0;cursor:pointer;font-size:16px}

#hd_define {float:left}
#hd_define:after {display:block;visibility:hidden;clear:both;content:""}
#hd_define li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_define li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_define li a {display:inline-block;color:#919191}
#hd_define li.active a {color:#fff}

#hd_qnb {float:right;text-align:right}
#hd_qnb:after {display:block;visibility:hidden;clear:both;content:""}
#hd_qnb li {float:left;font-size:1.083em;line-height:14px;border-right:1px solid #4a4a4a;position:relative;text-align:center;margin:15px 10px 15px 0;padding-right:10px}
#hd_qnb li:last-child {padding-right:0;margin-right:0;border-right:0}
#hd_qnb li span {display:block;margin-top:5px;font-size:0.92em}
#hd_qnb li a {display:inline-block;color:#919191}
#hd_qnb .visit .visit-num {display:inline-block;line-height:16px;padding:0 5px;margin-left:5px;border-radius:10px;background:#da22f5;color:#fff;font-size:10px}


.hd_login {position:absolute;right:0;top:60px}
.hd_login li {float:left;margin:0 5px;border-left:1px solid #616161;padding-left:10px;line-height:13px}
.hd_login li:first-child {border-left:0}
.hd_login a {color:#fff}


/* 메인메뉴 */
#gnb {position:relative;background:#fff}
#gnb > h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#gnb .gnb_wrap {margin:0 auto;position:relative}
#gnb .gnb_wrap:hover, #gnb .gnb_wrap:focus, #gnb .gnb_wrap:active{z-index:3}
#gnb #gnb_1dul {font-size:1.083em;padding:0;border-bottom:1px solid #e0e2e5;zoom:1}
#gnb ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb .gnb_1dli {float:left;line-height:55px;padding:0px;position:relative}
#gnb .gnb_1dli:hover > a {color:#3a8afd;
  -webkit-transition:background-color 2s ease-out;
  -moz-transition:background-color 0.3s ease-out;
  -o-transition:background-color 0.3s ease-out;
  transition:background-color 0.3s ease-out}

.gnb_1dli .bg {position:absolute;top:24px;right:8px;display:inline-block;width:10px;height:10px;overflow:hidden;background:url('./images/gnb_bg2.gif') no-repeat 50% 50%;text-indent:-999px}
.gnb_1da {display:block;font-weight:bold;padding:0 15px;color:#080808;text-decoration:none}
.gnb_1dli.gnb_al_li_plus .gnb_1da{padding-right:25px}
.gnb_2dli:first-child {border:0}
.gnb_2dul {display:none;position:absolute;top:54px;min-width:140px;padding-top:2px}
.gnb_2dul .gnb_2dul_box {border:1px solid #e0e2e5;border-top:0;padding:0;
  -webkit-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
  -moz-box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2);
  box-shadow:0px 1px 5px rgba(97, 97, 97, 0.2)}
.gnb_2da {display:block;padding:0 10px;line-height:40px;background:#fff;color:#080808;text-align:left;text-decoration:none}
a.gnb_2da:hover {color:#3a8afd;background:#f7f7f8;
  -moz-transition:all 0.3s ease-out;
  -o-transition:all 0.3s ease-out;
  transition:all 0.3s ease-out}

.gnb_1dli_air .gnb_2da {}
.gnb_1dli_on .gnb_2da {}
.gnb_2da:focus, .gnb_2da:hover {color:#fff}
.gnb_1dli_over .gnb_2dul {display:block;left:0}
.gnb_1dli_over2 .gnb_2dul {display:block;right:0}
.gnb_wrap .gnb_empty {padding:10px 0;width:100%;text-align:center;line-height:2.7em;color:#080808}
.gnb_wrap .gnb_empty a {color:#3a8afd;text-decoration:underline}
.gnb_wrap .gnb_al_ul .gnb_empty, .gnb_wrap .gnb_al_ul .gnb_empty a {color:#555}

#gnb .gnb_menu_btn {background:#4158d1;color:#fff;width:50px;height:55px;border:0;vertical-align:top;font-size:18px}
#gnb .gnb_close_btn {background:#fff;color:#b6b9bb;width:50px;height:50px;border:0;vertical-align:top;font-size:18px;position:absolute;top:0;right:0}
#gnb .gnb_mnal {float:right;padding:0}

#gnb_all {display:none;position:absolute;border:1px solid #c5d6da;width:100%;background:#fff;z-index:1000;-webkit-box-shadow:0 2px 5px rgba(0,0,0,0.2);
  -moz-box-shadow:0 2px 5px rgba(0,0,0,0.2);
  box-shadow:0 2px 5px rgba(0,0,0,0.2)}
#gnb_all h2 {font-size:1.3em;padding:15px 20px;border-bottom:1px solid #e7eeef}
#gnb_all .gnb_al_ul:after {display:block;visibility:hidden;clear:both;content:""}
#gnb_all .gnb_al_ul > li:nth-child(5n+1) {border-left:0}
#gnb_all .gnb_al_li {float:left;width:20%;min-height:150px;padding:20px;border-left:1px solid #e7eeef}
#gnb_all .gnb_al_li .gnb_al_a {font-size:1.2em;display:block;position:relative;margin-bottom:10px;font-weight:bold;color:#3a8afd}
#gnb_all .gnb_al_li li {line-height:2em}
#gnb_all .gnb_al_li li a {color:#555}
#gnb_all_bg {display:none;background:rgba(0,0,0,0.1);width:100%;height:100%;position:fixed;left:0;top:0;z-index:999}

/* 중간 레이아웃 */
#wrapper {}
#container_wr:after {display:block;visibility:hidden;clear:both;content:""}
#container_wr {margin:0 auto;zoom:1}
#aside {float:right;width:235px;padding:0;height:100%;margin:20px 0 20px 20px}

#container {position:relative;float:left;min-height:500px;height:auto !important;margin:20px 0;height:500px;font-size:1em;width:930px;zoom:1}
#container:after {display:block;visibility:hidden;clear:both;content:""}
#container_title {font-size:1.333em;margin:0 auto;font-weight:bold}
#container_title span {margin:0 auto 10px;display:block;line-height:30px}

.lt_wr {width:32%}
.lt_wr:nth-child(3n+1) {clear:both}
.latest_wr {margin-bottom:20px}
.latest_wr:after {display:block;visibility:hidden;clear:both;content:""}
.latest_top_wr {margin:0 -10px 20px}
.latest_top_wr:after {display:block;visibility:hidden;clear:both;content:""}

/* 하단 레이아웃 */
#ft {background:#212020;margin:0 auto;text-align:center}
#ft h1 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#ft_wr {max-width:1240px;margin:0;padding:40px 0;position:relative;display:inline-block;text-align:left}
#ft_wr:after {display:block;visibility:hidden;clear:both;content:""}
#ft_wr .ft_cnt {width:25%;float:left;padding:0 20px}

#ft_link {text-align:left}
#ft_link a {display:block;color:#fff;line-height:2em;font-weight:bold}
#ft_company h2 {font-size:1.2em;margin-bottom:20px}
#ft_company {font-weight:normal;color:#e3e3e3;line-height:2em}
#ft_catch {margin:20px 0 10px}
#ft_copy {text-align:center;width:1200px;margin:0 auto;padding:20px 0;color:#5b5b5b;font-size:0.92em;border-top:1px solid #383838}
#top_btn {position:fixed;bottom:20px;right:20px;width:50px;height:50px;line-height:46px;border:2px solid #333;color:#333;text-align:center;font-size:15px;z-index:90;background:rgba(255,255,255,0.5)}
#top_btn:hover {border-color:#3059c7;background:#3059c7;color:#fff}

/* 게시물 선택복사 선택이동 */
#copymove {}
#copymove .win_desc {text-align:center;display:block}
#copymove .tbl_wrap {margin:20px}
#copymove .win_btn {padding:0 20px 20px}
.copymove_current {float:right;background:#ff3061;padding:5px;color:#fff;border-radius:3px}
.copymove_currentbg {background:#f4f4f4}

/* 화면낭독기 사용자용 */
#hd_login_msg {position:absolute;top:0;left:0;font-size:0;line-height:0;overflow:hidden}
.msg_sound_only, .sound_only {display:inline-block !important;position:absolute;top:0;left:0;width:0;height:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}

/* 본문 바로가기 */
#skip_to_container a {z-index:100000;position:absolute;top:0;left:0;width:1px;height:1px;font-size:0;line-height:0;overflow:hidden}
#skip_to_container a:focus, #skip_to_container a:active {width:100%;height:75px;background:#21272e;color:#fff;font-size:2em;font-weight:bold;text-align:center;text-decoration:none;line-height:3.3em}

/* ie6 이미지 너비 지정 */
.img_fix {width:100%;height:auto}

/* 캡챠 자동등록(입력)방지 기본 -pc */
#captcha {display:inline-block;position:relative}
#captcha legend {position:absolute;margin:0;padding:0;font-size:0;line-height:0;text-indent:-9999em;overflow:hidden}
#captcha #captcha_img {height:40px;border:1px solid #898989;vertical-align:top;padding:0;margin:0}
#captcha #captcha_mp3 {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat;text-indent:-999px;border-radius:3px}
#captcha #captcha_reload {margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px;border-radius:3px}
#captcha #captcha_key {margin:0 0 0 3px;padding:0 5px;width:90px;height:40px;border:1px solid #ccc;background:#fff;font-size:1.333em;font-weight:bold;text-align:center;border-radius:3px;vertical-align:top}
#captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}

/* 캡챠 자동등록(입력)방지 기본 - mobile */
#captcha.m_captcha audio {display:block;margin:0 0 5px;width:187px}
#captcha.m_captcha #captcha_img {width:160px;height:60px;border:1px solid #e9e9e9;margin-bottom:3px;margin-top:5px;display:block}
#captcha.m_captcha #captcha_reload {position:static;margin:0;padding:0;width:40px;height:40px;border:0;background:transparent;vertical-align:middle;overflow:hidden;cursor:pointer;background:url('../img/captcha2.png') no-repeat 0 -40px;text-indent:-999px}
#captcha.m_captcha #captcha_reload span {display:none}
#captcha.m_captcha #captcha_key {margin:0;padding:0 5px;width:115px;height:29px;border:1px solid #b8c9c2;background:#f7f7f7;font-size:1.333em;font-weight:bold;text-align:center;line-height:29px;margin-left:3px}
#captcha.m_captcha #captcha_info {display:block;margin:5px 0 0;font-size:0.95em;letter-spacing:-0.1em}
#captcha.m_captcha #captcha_mp3 {width:31px;height:31px;background:url('../img/captcha2.png') no-repeat 0 0 ; vertical-align:top;overflow:hidden;cursor:pointer;text-indent:-9999px;border:none}

/* ckeditor 단축키 */
.cke_sc {margin:0 0 5px;text-align:right}
.btn_cke_sc {display:inline-block;padding:0 10px;height:23px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;line-height:1.9em;vertical-align:middle;cursor:pointer}
.cke_sc_def {margin:0 0 5px;padding:10px;border:1px solid #ccc;background:#f7f7f7;text-align:center}
.cke_sc_def dl {margin:0 0 5px;text-align:left;zoom:1}
.cke_sc_def dl:after {display:block;visibility:hidden;clear:both;content:""}
.cke_sc_def dt, .cke_sc_def dd {float:left;margin:0;padding:5px 0;border-bottom:1px solid #e9e9e9}
.cke_sc_def dt {width:20%;font-weight:bold}
.cke_sc_def dd {width:30%}

/* ckeditor 태그 기본값 */
#bo_v_con ul {display:block;list-style-type:disc;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con ol {display:block;list-style-type:decimal;margin-top:1em;margin-bottom:1em;margin-left:0;margin-right:0;padding-left:40px}
#bo_v_con li {display:list-item}

/* 버튼 */
a.btn,.btn {line-height:35px;height:35px;padding:0 10px;text-align:center;font-weight:bold;border:0;font-size:1.4em;
  -webkit-transition:background-color 0.3s ease-out;
  -moz-transition:background-color 0.3s ease-out;
  -o-transition:background-color 0.3s ease-out;
  transition:background-color 0.3s ease-out}

a.btn01 {display:inline-block;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none;vertical-align:middle}
a.btn01:focus, a.btn01:hover {text-decoration:none}
button.btn01 {display:inline-block;margin:0;padding:7px;border:1px solid #ccc;background:#fafafa;color:#000;text-decoration:none}
a.btn02 {display:inline-block;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none;vertical-align:middle}
a.btn02:focus, .btn02:hover {text-decoration:none}
button.btn02 {display:inline-block;margin:0;padding:7px;border:1px solid #3b3c3f;background:#4b545e;color:#fff;text-decoration:none}

.btn_confirm {text-align:right} /* 서식단계 진행 */

.btn_submit {border:0;background:#3a8afd;color:#fff;cursor:pointer;border-radius:3px}
.btn_submit:hover {background:#2375eb}
.btn_close {border:1px solid #dcdcdc;cursor:pointer;border-radius:3px;background:#fff}
a.btn_close {text-align:center;line-height:50px}

a.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#aaa}
a.btn_frmline, button.btn_frmline {display:inline-block;width:128px;padding:0 5px;height:40px;border:0;background:#434a54;border-radius:3px;color:#fff;text-decoration:none;vertical-align:top} /* 우편번호검색버튼 등 */
a.btn_frmline {}
button.btn_frmline {font-size:1em}

/* 게시판용 버튼 */
a.btn_b01,.btn_b01 {display:inline-block;color:#bababa;text-decoration:none;vertical-align:middle;border:0;background:transparent}
.btn_b01:hover, .btn_b01:hover {color:#000}
a.btn_b02,.btn_b02 {display:inline-block;background:#253dbe;padding:0 10px;color:#fff;text-decoration:none;border:0;vertical-align:middle}
a.btn_b02:hover, .btn_b02:hover {background:#0025eb}
a.btn_b03, .btn_b03 {display:inline-block;background:#fff;border:1px solid #b9bdd3;color:#646982;text-decoration:none;vertical-align:middle}
a.btn_b03:hover, .btn_b03:hover {background:#ebedf6}
a.btn_b04, .btn_b04 {display:inline-block;background:#fff;border:1px solid #ccc;color:#707070;text-decoration:none;vertical-align:middle}
a.btn_b04:hover, .btn_b04:hover {color:#333;background:#f9f9f9}
a.btn_admin,.btn_admin {display:inline-block;color:#d13f4a;text-decoration:none;vertical-align:middle} /* 관리자 전용 버튼 */
.btn_admin:hover, a.btn_admin:hover {color:#ff3746}


/* 기본테이블 */
.tbl_wrap table {width:100%;border-collapse:collapse;border-spacing:0 5px;background:#fff;border-top:1px solid #ececec;border-bottom:1px solid #ececec}
.tbl_wrap caption {padding:10px 0;font-weight:bold;text-align:left}
.tbl_head01 {margin:0 0 10px}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {padding:20px 0;font-weight:normal;text-align:center;border-bottom:1px solid #ececec;height:40px}
.tbl_head01 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head01 tfoot th, .tbl_head01 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head01 tbody th {padding:8px 0;border-bottom:1px solid #e8e8e8}
.tbl_head01 td {color:#666;padding:10px 5px;border-top:1px solid #ecf0f1;border-bottom:1px solid #ecf0f1;line-height:1.4em;height:60px;word-break:break-all}
.tbl_head01 tbody tr:hover td {background:#fafafa}
.tbl_head01 a:hover {text-decoration:underline}

.tbl_head02 {margin:0 0 10px}
.tbl_head02 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head02 thead th {padding:5px 0;border-top:1px solid #d1dee2;border-bottom:1px solid #d1dee2;background:#e5ecef;color:#383838;font-size:0.95em;text-align:center;letter-spacing:-0.1em}
.tbl_head02 thead a {color:#383838}
.tbl_head02 thead th input {vertical-align:top} /* middle 로 하면 게시판 읽기에서 목록 사용시 체크박스 라인 깨짐 */
.tbl_head02 tfoot th, .tbl_head02 tfoot td {padding:10px 0;border-top:1px solid #c1d1d5;border-bottom:1px solid #c1d1d5;background:#d7e0e2;text-align:center}
.tbl_head02 tbody th {padding:5px 0;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff}
.tbl_head02 td {padding:5px 3px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:#fff;line-height:1.4em;word-break:break-all}
.tbl_head02 a {}

/* 폼 테이블 */
.tbl_frm01 {margin:0 0 20px}
.tbl_frm01 table {width:100%;border-collapse:collapse;border-spacing:0}
.tbl_frm01 th {width:70px;padding:7px 13px;border:1px solid #e9e9e9;border-left:0;background:#f5f8f9;text-align:left}
.tbl_frm01 td {padding:7px 10px;border-top:1px solid #e9e9e9;border-bottom:1px solid #e9e9e9;background:transparent}
.wr_content textarea,.tbl_frm01 textarea,.form_01 textarea, .frm_input {border:1px solid #d0d3db;background:#fff;color:#000;vertical-align:middle;border-radius:3px;padding:5px;
  -webkit-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
  -moz-box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
  box-shadow:inset 0 1px 1px rgba(0, 0, 0, .075);
}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {height:40px}

.full_input {width:100%}
.half_input {width:49.5%}
.twopart_input {width:385px;margin-right:10px}
.tbl_frm01 textarea, .write_div textarea {width:100%;height:100px}
.tbl_frm01 a {text-decoration:none}
.tbl_frm01 .frm_file {display:block;margin-bottom:5px}
.tbl_frm01 .frm_info {display:block;padding:0 0 5px;line-height:1.4em}
.frm_info.add_info { margin-top: 10px !important; padding: 8px 12px; background: #fff; border: 1px solid #ddd; border-radius: 6px; line-height: 1.6; }
.btn_info_toggle { display: block; margin: 5px 0 0 21px; font-size: 12px; color: #3f51b5; background: none; border: none; cursor: pointer; text-decoration: underline; }

/*기본 리스트*/
.list_01 ul {border-top:1px solid #ececec}
.list_01 li {border-bottom:1px solid #ececec;background:#fff;padding:10px 15px;list-style:none;position:relative}
.list_01 li:nth-child(odd) {background:#f6f6f6}
.list_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.list_01 li:hover {background:#f9f9f9}
.list_01 li.empty_li {text-align:center;padding:20px 0;color:#666}

/*폼 리스트*/
.form_01 h2 {font-size:1.167em}
.form_01 li {margin-bottom:10px}
.form_01 ul:after,
.form_01 li:after {display:block;visibility:hidden;clear:both;content:""}
.form_01 .left_input {float:left}
.form_01 .margin_input {margin-right:1%}
.form_01 textarea {height:100px;width:100%}
.form_01 .frm_label {display:inline-block;width:130px}

/* 자료 없는 목록 */
.empty_table {padding:50px 0 !important;text-align:center}
.empty_list {padding:20px 0 !important;color:#666;text-align:center}

/* 필수입력 */
/*
.required, textarea.required {background-image:url('../img/require.png') !important;background-repeat:no-repeat !important;background-position:right top !important}
*/
/* 테이블 항목별 정의 */
.td_board {width:80px;text-align:center}
.td_category {width:80px;text-align:center}
.td_chk {width:30px;text-align:center}
.td_date {width:60px;text-align:center}
.td_datetime {width:110px;text-align:center}
.td_group {width:80px;text-align:center}
.td_mb_id {width:100px;text-align:center}
.td_mng {width:80px;text-align:center}
.td_name {width:100px;text-align:left}
.td_nick {width:100px;text-align:center}
.td_num {width:50px;text-align:center}
.td_numbig {width:80px;text-align:center}
.td_stat {width:60px;text-align:center}

.txt_active {color:#5d910b}
.txt_done {color:#e8180c}
.txt_expired {color:#ccc}
.txt_rdy {color:#8abc2a}

/* 새창 기본 스타일 */
.new_win {position:relative}
.new_win .tbl_wrap {margin:0 20px}
.new_win #win_title {font-size:1.3em;height:50px;line-height:30px;padding:10px 20px;background:#fff;color:#000;-webkit-box-shadow:0 1px 10px rgba(0,0,0,.1);
  -moz-box-shadow:0 1px 10px rgba(0,0,0,.1);
  box-shadow:0 1px 10px rgba(0,0,0,.1)}
.new_win #win_title .sv {font-size:0.75em;line-height:1.2em}
.new_win .win_ul {margin-bottom:15px;padding:0 20px}
.new_win .win_ul:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_ul li {float:left;background:#fff;text-align:center;padding:0 10px;border:1px solid #d6e9ff;border-radius:30px;margin-left:5px}
.new_win .win_ul li:first-child {margin-left:0}
.new_win .win_ul li a {display:block;padding:8px 0;color:#6794d3}
.new_win .win_ul .selected {background:#3a8afd;border-color:#3a8afd;position:relative;z-index:5}
.new_win .win_ul .selected a {color:#fff;font-weight:bold}
.new_win .win_desc {position:relative;margin:10px;border-radius:5px;font-size:1em;background:#f2838f;color:#fff;line-height:50px;text-align:left;padding:0 20px}
.new_win .win_desc i {font-size:1.2em;vertical-align:baseline}
.new_win .win_desc:after {content:"";position:absolute;left:0;top:0;width:4px;height:50px;background:#da4453;border-radius:3px 0 0 3px}
.new_win .frm_info {font-size:0.92em;color:#919191}
.new_win .win_total {float:right;display:inline-block;line-height:30px;font-weight:normal;font-size:0.75em;color:#3a8afd;background:#f6f6f6;padding:0 10px;border-radius:5px}
.new_win .new_win_con {margin:20px 0;padding:20px}
.new_win .new_win_con:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .new_win_con2 {margin:20px 0}
.new_win .btn_confirm:after {display:block;visibility:hidden;clear:both;content:""}
.new_win .win_btn {text-align:center}
.new_win .cert_btn {margin-bottom:30px;text-align:center}
.new_win .btn_close {padding:0 20px;height:45px;overflow:hidden;cursor:pointer}
.new_win .btn_submit {padding:0 20px;height:45px;font-weight:bold;font-size:1.083em}

/* 검색결과 색상 */
.sch_word {color:#fff;background:#ff005a;padding:2px 5px 3px;line-height:18px;margin:0 2px}

/* 자바스크립트 alert 대안 */
#validation_check {margin:100px auto;width:500px}
#validation_check h1 {margin-bottom:20px;font-size:1.3em}
#validation_check p {margin-bottom:20px;padding:30px 20px;border:1px solid #e9e9e9;background:#fff}

/* 사이드뷰 */
.sv_wrap {position:relative;font-weight:normal}
.sv_wrap .sv {z-index:1000;display:none;margin:5px 0 0;font-size:0.92em;background:#333;
  -webkit-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
  -moz-box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2);
  box-shadow:2px 2px 3px 0px rgba(0,0,0,0.2)}
.sv_wrap .sv:before {content:"";position:absolute;top:-6px;left:15px;width:0;height:0;border-style:solid;border-width:0 6px 6px 6px;border-color:transparent transparent #333 transparent}
.sv_wrap .sv a {display:inline-block;margin:0;padding:0 10px;line-height:30px;width:100px;font-weight:normal;color:#bbb}
.sv_wrap .sv a:hover {background:#000;color:#fff}
.sv_member {color:#333}
.sv_on {display:block !important;position:absolute;top:23px;left:0px;width:auto;height:auto}
.sv_nojs .sv {display:block}

/* 페이징 */
.pg_wrap {clear:both;float:left;display:inline-block}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""}
.pg {text-align:center}
.pg_page, .pg_current {display:inline-block;vertical-align:middle;background:#eee;border:1px solid #eee}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {color:#959595;font-size:1.083em;height:30px;line-height:28px;padding:0 5px;min-width:30px;text-decoration:none;border-radius:3px}
.pg_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/btn_first.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/btn_prev.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/btn_end.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/btn_next.gif') no-repeat 50% 50% #eee;padding:0;border:1px solid #eee}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

.pg_current {display:inline-block;background:#3a8afd;border:1px solid #3a8afd;color:#fff;font-weight:bold;height:30px;line-height:30px;padding:0 10px;min-width:30px;border-radius:3px}

/* cheditor 이슈 */
.cheditor-popup-window *, .cheditor-popup-window :after, .cheditor-popup-window :before {
  -webkit-box-sizing:content-box;
  -moz-box-sizing:content-box;
  box-sizing:content-box;
}

/* Mobile화면으로 */
#device_change {display:block;margin:0.3em;padding:0.5em 0;border:1px solid #eee;border-radius:2em;background:#fff;color:#000;font-size:2em;text-decoration:none;text-align:center}


/* main */

header {
  height: 70px;
  border-bottom: 1px solid #ced4da;
  position: relative;
  z-index: 9;
}
header .logo{
  position: absolute;
  left: 40px;
  top: 50%;height:43px;
  transform: translateY(-50%);}
header .logo img{height:100%}
header nav{display: table;
  margin: 0 auto;}
header nav ul{display:flex;gap:30px;}
header nav ul li{line-height: 70px;}
header nav ul li a{font-size:var(--font-regular); color:var(--black) !important}
header nav ul li a.active,
header nav ul li a:hover{transition: all 0.2s linear; font-weight: bold;}

header nav ul li a.active{color:var(--bs-heading-color) !important}
header nav ul li a:hover{color:var(--main-color) !important;}

header .member{  position: absolute;
  right: 40px;
  top: 50%;
  transform: translateY(-50%); display:flex;
  align-items: center;    gap: 20px;
}
header .member .push{display:none}
header .member ul{display:flex}
header .member ul li{    position: relative;
  margin-left: 25px;}
header .member ul li a{font-size: var(--font-regular);}
header .member ul li:after{content: '';
  position: absolute;
  right: -12px;
  top: 4px;
  width: 1px;
  height: 15px;
  background: var(--black3);}
header .member ul li:last-child:after{width:0}
.member .dropdown_bar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  padding-right: 25px;
  background: url(../images/profile_arrow01.png) right center no-repeat;
  color: #666;
  font-size: var(--font-regular);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.3s;
}
.member .dropdown_bar .profile_img {
  margin-right: 10px;width:32px; height:32px;border-radius: 50%; overflow:hidden;color: #fff;
  text-align: center;
  line-height: 32px;
  /*background:var(--black3);*/
}
.member .dropdown_bar .profile_img img{width:32px; height:32px;border-radius: 50%;}
.member .dropdown_content {
  overflow: hidden;
  position: absolute;
  top: 100%;
  right: 0;
  display: none;
  margin-top: 5px;
  width: 97%;
  background: #FAFEF7;
  border-radius: 4px;
  box-shadow: 0 5px 10px rgba(0, 0, 0, 0.1);
  animation: fade-in 1s ease;
  z-index: 999999;
}
.member .dropdown_content a {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  align-items: center;
  text-align: left;
  width: 100%;
  height: 36px;
  padding: 0 10px;
  color: #143D1A;
  font-size: 14px;
  text-decoration: none;
  transition: all 0.3s;
  gap: 3px;
}
.member .dropdown_content a i {
  margin-right: 5px;
  font-size: 14px;
}







/* footer */
footer{    background: #e2e5e9;
  padding: 50px 40px;
  box-sizing: border-box;}
footer .f_menu{display:flex; gap:30px; margin-bottom: 35px !important;}
footer .f_menu li{position: relative;}
footer .f_menu li:after{    content: '';
  position: absolute;
  width: 1px;
  height: 13px;
  background: #999;
  top: 6px;
  right: -18px;}
footer .f_menu li:last-child:after{width:0}
footer .f_menu a{font-size: var(--font-regular);
  color: #56575a !important;
  font-weight: 600;}
footer adress ul{overflow: hidden;}
footer adress ul li{font-size:15px; color:#777; line-height: 28px;margin-right: 25px; float:left}
footer adress ul li:nth-child(3){clear:left}
footer p{margin:10px 0 00px !important;font-size:15px; color:#777;}

/**/
footer .side-floating-wrap {
  position: fixed;
  right: 24px;
  bottom: 25px;
  display: flex;
  gap: 10px;
  flex-direction: column;
}

footer .top-btn, footer .chat {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 54px;
  height: 54px;
  border-radius: 24px;
  border: 1px solid var(--border-color);
  background: var(--white-color);
  z-index: 9;
  transition: all .3s;
}
footer .top-btn, footer .chat {
  bottom: 90px;
}
footer .chat {
  bottom: 24px;
  background: var(--main-color);
  border-color: var(--main-color);
}
footer .top-btn img {
  width: 14px;
}
footer .top-btn:hover {
  background: var(--light-gray-color);
}
/**/



section{padding:20px; background: var(--gray-color);
  min-height: calc(100vh - 200px);}
/* ai */
section.ai_main{
  width: 100%;
  min-height: 100vh;
  display: flex;padding: 0 30px;
  align-items: center;}
#ai{}
#ai .container {
  width: 905px;
  text-align: center;
}
#ai .header-section h2 {
  font-size: 32px;
  font-weight: 800;
  margin-bottom: 20px;
  letter-spacing: -0.5px;
}
#ai .header-section p {
  font-size: var(--font-regular);
  color: var(--black2);
  line-height: 1.6;
  margin: 5px 0;
}
#ai .header-section p small.ref-txt {
  display: block;
  color: var(--black3);
}
#ai .header-section p.sub-desc {
  color: var(--black3);
  font-size: var(--font-small);
  margin-top: 10px !important;
}

/* 드래그 앤 드롭 영역 */

#ai #drop-zone {
  margin-top: 50px;
  width: 100%;
  height: 200px;
  border: 2px dashed var(--main-color);
  border-radius: 8px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  background-color: #fff;
  transition: background-color 0.3s, border-color 0.3s;
  cursor: pointer;    position: relative;

}
#ai .progress{    --bs-progress-bar-bg: var(--main-color);
  position: relative;
  z-index: 1;
  top: -100px;
  width: 50%;
  margin: 0 auto;}


#ai #drop-zone.dragover {
  background-color: #f1c5a0;
  border-color: var(--main-color);
}

#ai .upload-text {
  font-size: var(--font-regular);
  color: #999;
  margin-top: 20px;
}

#ai #file-input {
  display: none;
}

/* 업로드된 파일 리스트 스타일 */
#ai .file-list {
  margin-top: 15px;
  text-align: left;
  font-size: 14px;
  color: var(--black2);
}

#ai .file-list .file-item {
  display: flex;
  align-items: center;
  padding: 10px;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 5px;
  margin-bottom: 10px;
}

#ai .file-icon {
  font-size: 24px;
  margin-right: 15px;
}

#ai .file-name {
  flex-grow: 1;
  font-size: 14px;
  color: #333;
}


#ai #analyze-btn,#ai #result-btn{
  display: none;
  width: 300px;
  padding: 15px;
  background-color: var(--black );
  color: white;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  margin: 0 auto;
  margin-top: 20px;
}
#ai #result-btn{
  display: block;margin-top: 30px;}
#ai #analyze-btn:hover, #ai #result-btn:hover {
  background-color: var(--main-color);transition: all 0.2s linear;
}

#ai .ajax-loading{
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,.62);
  display: none;
  align-items: center;
  justify-content: center;
  z-index: 99999;
  backdrop-filter: blur(3px);
}
#ai .ajax-loading.is-active{ display:flex; }
#ai .ajax-loading__box{
  width: min(520px, calc(100% - 44px));
  background: #fff;
  border-radius: 18px;
  padding: 26px 26px 22px;
  text-align: center;

  border: 1px solid rgba(255,255,255,.35);
  box-shadow:
          0 24px 70px rgba(0,0,0,.40),
          0 2px 0 rgba(255,255,255,.65) inset;
}
#ai .ajax-loading__text{
  margin: 0 0 14px;
  font-size: 18px;
  line-height: 1.35;
  font-weight: 800;
  letter-spacing: -0.3px;
  color: #111;
}
#ai .ajax-loading__hint{
  margin: 14px 0 0;
  font-size: 14px;
  font-weight: 650;
  color: rgba(0,0,0,.62);
}
#ai .ajax-loading__subhint{
  margin: 6px 0 0;
  font-size: 13px;
  font-weight: 650;
  color: rgba(0,0,0,.52);
}
#ai .ajax-loading__bar{
  position: relative;
  height: 25px;
  border-radius: 999px;
  overflow: hidden;

  background: linear-gradient(180deg, #F6F8FB, #EEF2F6);
  border: 1px solid rgba(0,0,0,.10);

  box-shadow:
          0 1px 0 rgba(255,255,255,.85) inset,
          0 10px 22px rgba(0,0,0,.10);
}
#ai .ajax-loading__bar-fill{
  height: 100%;
  width: 0%;
  border-radius: 999px;

  background: linear-gradient(90deg,
  color-mix(in srgb, var(--main-color) 80%, #fff 20%),
  var(--main-color)
  );

  position: relative;
  transition: width .25s ease;
}
#ai .ajax-loading__bar-fill::before{
  content:"";
  position:absolute;
  left:0; right:0; top:0;
  height: 55%;
  background: linear-gradient(180deg, rgba(255,255,255,.55), rgba(255,255,255,0));
  opacity: .85;
}
#ai .ajax-loading__bar-fill::after{
  content:"";
  position:absolute;
  inset:0;
  background: repeating-linear-gradient(
          135deg,
          rgba(255,255,255,.35) 0 10px,
          rgba(255,255,255,0)   10px 20px
  );
  opacity: .55;
  animation: aiStripe 1s linear infinite;
  mix-blend-mode: overlay;
}

@keyframes aiStripe{
  from { transform: translateX(-20px); }
  to   { transform: translateX(20px); }
}
#ai .ajax-loading__bar::after{
  content: attr(data-progress) "%";
  position: absolute;
  right: 10px;
  top: 50%;
  transform: translateY(-50%);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: -0.2px;
  color: rgba(0,0,0,.70);
  margin-top: 1px;
}
@media (prefers-reduced-motion: reduce){
  #ai .ajax-loading__bar-fill,
  #ai .ajax-loading__bar-fill::after{
    animation: none;
    transition: none;
  }
}

/* 기존 CSS 유지 + 삭제 버튼만 추가 */
#ai .file-remove-btn{
  border:0;
  background:transparent;
  color:#999;
  cursor:pointer;
  font-size:13px;
  padding:6px 8px;
  border-radius:4px;
}
#ai .file-remove-btn:hover{
  color: var(--main-color);
  background: rgba(0,0,0,.04);
}


/* 결과 */
section.result {padding: 70px 0 90px; background:var(--gray-color);}
#ai .container { width: 1000px; }
#ai #JcaAiResult > .inner {
  border: 1px solid rgba(0, 0, 0, .06);
  border-top: 4px solid var(--main-color);
  border-radius: 18px;
  padding: 42px 66px;
  background: #fff;
  box-shadow: 0 24px 70px rgba(0, 0, 0, .10), 0 2px 0 rgba(255, 255, 255, .7) inset;
  transition: transform .15s ease, box-shadow .15s ease;
}
#ai .result-actions{
  display:flex;
  justify-content:center;
  gap: 12px;
  margin-top: 26px;
}
#ai #analyze-btn, #ai #result-btn {
  width: 300px;
  padding: 15px;
  background-color: var(--black);
  color: white;
  border: none;
  border-radius: 5px;
  font-size: 16px;
  font-weight: bold;
  cursor: pointer;
  margin: 0 auto;
  margin-top: 20px;
}
#ai .btn{
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 240px;
  padding: 25px 16px;
  border-radius: 10px;
  font-size: 15px;
  font-weight: 700;
  cursor: pointer;
  border: 1px solid transparent;
  transition: transform .12s ease, box-shadow .12s ease, background .12s ease;

}
#ai .btn:active{ transform: translateY(1px); }
#ai .btn--secondary{
  background: #2f2f2f;
  color: #fff;
  box-shadow: 0 10px 24px rgba(0,0,0,.18);
}
#ai .btn--primary{
  background: var(--main-color);
  color: #fff !important;
  box-shadow: 0 10px 24px rgba(255, 98, 0, .25);
}
#ai .btn:hover{
  transform: translateY(-1px);
}
#ai #JcaAiResultFileList {
  display: flex;
  justify-content: end;
  gap: 10px;
  margin-top: 15px;
  text-align: left;
  font-size: 14px;
  color: var(--black2);
}

#ai .ai-md{
}

#ai .ai-md h1,.ai-md h2,.ai-md h3{
  margin: 14px 0 10px;
  line-height: 1.3;
}

#ai .ai-md p{ margin: 10px 0; }

#ai .ai-md ul,.ai-md ol{
  margin: 10px 0 10px 22px;
  padding: 0;
}

#ai .ai-md li{
  margin: 6px 0;
  font-size: var(--font-regular);
}

#ai .ai-md code{
  background: #f6f6f6;
  padding: 2px 6px;
  border-radius: 6px;
  font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
  font-size: 13px;
}

#ai .ai-md pre{
  background: #0b1020;
  color: #e8e8e8;
  padding: 14px;
  border-radius: 10px;
  overflow: auto;
  line-height: 1.6;
}

#ai .ai-md blockquote{
  margin: 12px 0;
  padding: 10px 12px;
  border-left: 4px solid #ddd;
  background: #fafafa;
  border-radius: 8px;
}

#ai .ai-md table{
  width: 100%;
  border-collapse: collapse;
  margin: 12px 0;
  font-size: 13px;
}
#ai .ai-md th,.ai-md td{
  border: 1px solid #eee;
  padding: 8px;
  text-align: left;
}
#ai .ai-md th{ background:#fafafa; }


#ai .ai-md hr {
  border: none;
  border-top: 1px solid #e5e7eb;
  margin: 20px 0;
}

#ai .ai-md h2 {
  padding: 35px 0 5px;
  font-size: var(--font-medium);
  line-height: 1.5;
  border-top: 1px solid var(--border-color);
}

#ai .ai-md h3 {
  font-size: 15px;
  font-weight: 600;
  margin: 16px 0 8px;
}

#ai .ai-md blockquote {
  margin: 12px 0;
  padding: 10px 14px;
  background: #f9fafb;
  border-left: 4px solid #d1d5db;
  border-radius: 8px;
  color: #374151;
}

#ai .ai-md ul li::marker {
  color: #10b981; /* 살짝 ChatGPT 느낌 */
}


section.result {
  align-items: start;
}
#ai .result_inner {
  text-align: left;
}
#ai .result_inner p.ai_search{    font-size: var(--font-basic);
  color: var(--black);
  line-height: 1.2;}
#ai .result_inner .file-list{text-align: right !important}
#ai .result_inner .file-item{display: inline-block !important;}

#ai .result_inner h5 {
  margin-top: 40px;
  padding-bottom: 30px;
  border-bottom: 1px solid var(--border-color);}

#ai .result_inner dl{overflow:hidden}
#ai .result_inner dl dt{
  padding: 30px 0 15px;
  font-size: var(--font-medium);
  line-height: 1.5;
}
#ai .result_inner dl dd{
  font-size: var(--font-regular);
  border-bottom: 1px solid var(--border-color);
  padding-bottom: 30px;
  line-height: 1.6;
}


/* 기업탐색 */
input::placeholder { color: #bebebe; }
#company, #mna{background:var(--gray-color); padding:30px 40px 40px ; box-sizing: border-box}
.sub_menu{ margin-bottom: 30px;}
.sub_menu a{font-size: 20px; color:#acabab; font-width: 600; line-height: 1.2; margin-right:30px;letter-spacing: -0.07em; position: relative;word-break: keep-all;}
.sub_menu a.active, .sub_menu a:hover{
  color: var(--main-color) !important;
  transition: all 0.2s linear;
  font-weight: 700;}
.sub_menu a.active:after{content:''; position: absolute;width: 100%;
  bottom: 0;
  height: 9px;
  background: rgba(234, 112, 10, 0.2);
  left: 0;}

.search_company .contents, .company-detail .contents, .mna-detail  .contents
{ display: flex;
  gap: 30px;}

.search_company{}
.sidebar {
  width: 350px;
  flex-shrink: 0;
}

.sidebar h3{
  margin-bottom: 15px;
  font-size: var(--font-basic);
  font-weight: 600;
}
.sidebar h4{
  margin-bottom: 15px;
  font-size: var(--font-small);
  font-weight: 600;
}
.search-box, .filter-section {
  background: #fff;
  padding: 25px;
  border-radius: 12px;
  margin-bottom: 20px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.filter-section{  margin-bottom: 0px; }
.input-group {
  position: relative;
}
.search-box .input-group input{
  width: 100%;
  padding: 15px 15px;
  border: 2px solid var(--main-color);
  border-radius: 28px !important;
  box-sizing: border-box;
  font-size: var(--font-small);
}

.filter-group input[type="text"] {
  width: 100%;
  padding: 10px;
  border: 1px solid #ddd;
  border-radius: 8px;
  font-size: var(--font-small);
}
.filter-group .range-input .range-inner{position: relative;width:49%}
.filter-group .range-input input[type="text"]{position: relative}
.filter-group .range-input .range-inner p{ position: absolute;
  font-size: var(--font-small);
  color: var(--black2);
  top: 11px;
  right: 10px;}
.search-btn {
  position: absolute;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  color: #ff6b00;
  font-size: 20px;
  cursor: pointer;
  width: 45px;
  height: 45px;
  border-radius: 50% !important;
  background: linear-gradient(90deg, rgba(246, 134, 43, 1) 0%, rgba(249, 78, 2, 1) 100%);

  display: flex;
  align-items: center;
  justify-content: center;
}
.search-btn img{width:19px}
.filter-header {
  display: flex;
  justify-content: space-between;
}
.filter-header .reset-btn{    background: transparent;
  border: 0;
  font-size: var(--font-small);
  color: var(--black3);
  height: 21px;}
.checkbox-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-top: 10px;    font-size: var(--font-small);
  color: var(--black2);
}
.filter-section > .filter-group.pt0{padding-top:0}
.filter-section > .filter-group:last-child{border:0; padding-bottom:0}
.filter-group {
  padding: 20px 0;
  border-bottom: 1px solid #ededed;
}
input[type="checkbox"]{
  -webkit-appearance: none;
  appearance: none;accent-color:var(--main-color);    width: 18px;
  height: 18px;border: 1px solid #adb5bd;border-radius: 3px;
  background-color: #fff; /* 기본 배경은 흰색 */

  margin-right: 5px;
  position: relative;
  cursor: pointer;
  vertical-align: middle; /* 텍스트와 높이 맞춤 */
  -webkit-tap-highlight-color: transparent; /* 터치 시 하이라이트 제거 */}
input[type="checkbox"].disabled
{background-color: light-dark(rgba(239, 239, 239, 0.3), rgba(59, 59, 59, 0.3));border: 1px solid #ddd;}
input[type="checkbox"]:focus,
input[type="checkbox"]:active {
  outline: none;
  box-shadow: none;
  /* 브라우저마다 다른 파란색 번짐 효과 방지 */
}/* 3. 체크되었을 때의 상태 */
input[type="checkbox"]:checked {
  background-color: var(--main-color); /* 내가 설정한 메인 컬러 */
  border-color: var(--main-color);
}

/* 4. 체크 표시(V) 아이콘 그리기 */
input[type="checkbox"]:checked::after {
  content: '';
  position: absolute;
  left: 6px;
  top: 2px;
  width: 5px;
  height: 10px;
  border: solid white; /* V자 아이콘 색상 */
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}
input[type="checkbox"]:checked.disabled{background-color:#ddd;border-color:#ddd}
input[type="checkbox"]:checked::after.disabled{}
.range-input {
  display: flex;
  align-items: center;
  gap: 5px;
}


/* 오른쪽 콘텐츠 영역 */
.content {
  flex-grow: 1;
  background: #fff;
  border-radius: 12px;
  padding: 30px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.05);
}
.content .list-header-info{position: relative}
.content .list-header-info span{color:var(--main-color); font-weight: bold }
.company-table {
  width: 100%;
  border-collapse: collapse;
  margin-top: 20px;
}

.company-table thead th {
  background-color: #ff6b00;
  color: white;
  padding: 11px 20px;
  font-weight: 500;text-align: center;
}
.company-table thead th .box{display: flex;
  gap: 5px;
  align-items: center;}
.company-table thead th .arr{display: flex;
  flex-direction: column;
  width: 10px;
  row-gap: 3px;}

.company-table thead th:nth-child(1){    border-top-left-radius: 30px;
  border-bottom-left-radius: 30px;}
.company-table thead th:nth-child(6){    border-top-right-radius: 30px;
  border-bottom-right-radius: 30px;}
.company-table thead th.t_left
{padding-left:30px;
}
.company-table .t_left{text-align:left}
.company-table tbody tr:hover{background:#f5f5f5}
.company-table tbody td {
  padding: 20px 15px;
  border-bottom: 1px solid #eee;
  font-size: var(--font-small);
  color:var(--black2);
  text-align: center;
}

.company-table tbody td.company-info {
  text-align: left !important;padding-left:30px;
}

.company-info strong {
  font-size: var(--font-basic);;
  display: block;
  margin-bottom: 5px;
  color: var(--black);
}

.company-info p, .company-info small {
  color: #666;margin-bottom: 7px;
}

/* */
.content .search-ui--m { display: none; }
.content .btn.menu_btn { display: none; }

.content .company-list{
  width:100%;
  margin-top: 20px;
}

.content .company-head,
.content .company-row a{
  display:grid;
  grid-template-columns:
        minmax(0, 1fr)                        /* 기업: 남는 폭 전부 */
        clamp(100px, 7vw, 150px)             /* 사업자번호 */
        clamp(110px, 8vw, 180px)             /* 업종 */
        clamp(70px,  6vw, 110px)              /* 매출액 */
        clamp(70px,  6vw, 110px)              /* 영업이익 */
        clamp(90px, 7vw, 120px);             /* 설립일 */
  column-gap: clamp(12px, 2vw, 24px);
  align-items:center;
  box-sizing: border-box;
}

/* 헤더 스타일 */
.content .company-head{
  background:#ff6a00;
  color:#fff;
  border-radius: 999px;
  font-weight:500;
  padding: 11px 20px;
}
.content .company-head > div:first-child,
.content .company-row a > div:first-child {
  /*min-width: 590px;*/
  padding-left: 10px;
}

.content .company-head > div:not(:first-child){
  text-align: center;
}

/* 본문 스타일 */
.content .company-row a{
  border-bottom:1px solid #eee;
  padding: 20px 20px;
  font-size: var(--font-small);
}

.content .cell{min-width:0;}

.content .company-link{
  display:block;
  color:inherit;
  text-decoration:none;
}

.content .company-name{
  display:block;
  font-size: var(--font-basic);
  display: block;
  margin-bottom: 5px;
  color: var(--black);
}

.content .company-ceo{
  color: #666;
  margin-bottom: 7px;
}

.content .company-addr{
  color: #666;
  margin-bottom: 7px;
  font-size: .875em;
}

.content .cell-sales, .content .cell-op{
  text-align:center;
}

.content .cell-bizno, .content .cell-industry, .content .cell-date{
  text-align:center;
}

/* 모바일 카드용 영역: 기본은 숨김(PC) */
.content .m-card{ display:none; }

/* 검색결과 없음 */
.content .no-result{
  width:100%;
  padding: 80px 20px;
  text-align:center;
  border-bottom:1px solid #eee;
  background:#fff;
}

.content .no-result-title{
  font-size:18px;
  font-weight:700;
  color:#222;
  margin:0 0 8px;
}

.content .no-result-desc{
  font-size:14px;
  color:#777;
  line-height:1.5;
  margin:0;
}

/* */





/* 페이지네이션 */
.pagination {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-top: 30px;
}
.pagination a {
  display: flex;
  justify-content: space-evenly;
  align-items: anchor-center;
}

.pagination button, .pagination a {
  width: 31px;    position: relative;
  height: 31px;
  border: 0px solid #ddd;
  background: #fff;
  border-radius: 50%;
  cursor: pointer;
  font-size:var(--font-small);
}
.pagination button.active:after, .pagination a.active:after{
  content: '';
  position: absolute;
  left: calc(50% - 5px);
  bottom: -5px;
  width: 0;
  height: 0;
  border-bottom: 0px solid transparent;
  border-top: 8px solid var(--main-color);
  border-left: 5px solid transparent;
  border-right: 5px solid transparent;
}
.pagination button.active, .pagination a.active {
  background: var(--main-color);
  color: #fff !important;
}

.company-detail #company-detail-btn, .mna-detail #company-detail-btn
{ margin-bottom: 30px;    font-size: 20px;
  font-weight: 800;    border: 0;}
.company-detail .sidemenu, .mna-detail .sidemenu{width: 350px;
  flex-shrink: 0;
}
.company-detail .sidemenu .menu_inr{overflow:hidden;}
.company-detail .sidemenu .menu_inr li.active > a {
  background: var(--main-color);
  position: relative;
  border-radius: 8px;
  color: #fff !important;
  font-weight: 700;
  display: block;
  line-height: 50px;
  padding: 0 20px;
  font-size: var(--font-basic);
}
.company-detail .sidemenu .menu_inr li.active > a:after{content: '';
  position: absolute;
  top: 21px;
  right: 15px;
  width: 10px;background: url(../images/arrow_down.png) center center no-repeat;
  height: 6px;}
.company-detail .sidemenu .menu_inr li dl {
  position: relative;
  display: none;
  padding-top:20px
}
.company-detail .sidemenu .menu_inr li.active dl {
  display: block;padding: 15px 0 !important;
}
.company-detail .sidemenu .menu_inr li dl:after {
  content: '';
  position: absolute;
  left: 24px;
  top: 0px;
  width: 2px;
  height: 100%;
  background: #c7c7c7;
}
.company-detail .sidemenu .menu_inr li dl dd {
}
.company-detail .sidemenu .menu_inr li dl dd > a {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  width: 100%;
  height: 40px;
  padding: 0 20px 0 45px;
}
.company-detail .sidemenu .menu_inr li dl dd > a:hover, .menu_inr li dl dd > a.active {
  color: var(--main-color) !important;
  font-weight: 700;
}
.company-detail .sidemenu .menu_inr li dl dd > a:after {
  content: '';
  position: absolute;
  top: 17px;
  left: 21px;
  width: 7px;
  height: 7px;
  background: var(--main-color);
  border-radius: 500px;
  z-index: 9;
}
.company-detail .sidemenu .menu_inr li dl dd > a.active:after {
  top: 15px;
  left: 19px;
  width: 11px;
  height: 11px;
  background: var(--main-color);
}
.btn_wrap{margin-top:30px; display:flex; row-gap:10px;flex-direction: column;}
.btn_wrap button{
  background: #fff;
  position: relative;text-align: left;
  border-radius: 8px;
  color: var(--main-color) !important;
  font-weight: 700;
  display: block;
  line-height: 50px;
  padding: 0 20px;
  font-size: var(--font-basic);
  border: 2px solid var(--main-color);
}
.btn_wrap button img, .btn_wrap button i{margin-right:5px}
.btn_wrap button:after{content: '\F285';
  font-family: bootstrap-icons !important;
  position: absolute;
  font-size: 12px;
  top: 0px;
  right: 20px;
  width: 6px;
  height: 10px;
}

.btn_wrap button.active,
.btn_wrap:not(.mo) button:hover{ background: var(--main-color);transition: all 0.2s linear; color: #fff !important;}
.btn_wrap button.active img,
.btn_wrap button:hover img {filter: brightness(2.0);}
.btn_wrap button.active i,
.btn_wrap:not(.mo) button:hover i{color:#ffe014}
.mna-detail .content .detail_box{margin-bottom:50px}
.company-detail .content .company-name, .mna-detail .content h3
{font-size:25px; color:var(--black); font-weight: 600;}
.company-detail .content h4, .mna-detail .content h4
{font-size:var(--font-basic); color:var(--black); font-weight: 700; margin:25px 0 20px}
.company-detail .content dl{padding:20px 0 !important; border-top:1px solid #eee;  border-bottom:1px solid #eee; display:flex;flex-wrap: wrap;}
.company-detail .content dl dt{width:15%; font-size:var(--font-small) ; color:var(--black3); line-height: 33px;}
.company-detail .content dl dd{width:35%; font-size:var(--font-small) ; color:var(--black2); line-height: 33px;}
.company-detail .content dl dd.col3 { width: 80%; }
.company-detail .content .chart{padding: 30px 0 !important;
  border-top: 1px solid #eee;
  border-bottom: 1px solid #eee;
  display: flex;
  justify-content: space-around;}
.pt30{padding-top:30px}
.pt80{padding-top:80px}
.company-detail .content .chart h5{font-size:var(--font-regular);font-weight: 600;margin-bottom: 10px;}
.company-detail .table-container{margin-top:20px}
/* 사이드 메뉴 따라다니기 */
.company-detail .contents{
  align-items: flex-start; /* sticky 필수 */
}
.company-detail .sidemenu{
  position: sticky;
  top: 20px;               /* 상단에서 떨어질 거리 */
  align-self: flex-start;  /* flex 컨테이너에서 sticky 안정화 */
  height: fit-content;     /* 내용 높이만큼 */
  max-height: calc(100vh - 40px);
  overflow: auto;          /* 메뉴가 길면 내부 스크롤 */
}
/* 차트 */
.company-detail .chart-wrap{
  width: 100%;
  max-width: 370px;
  height: 270px;
}


.finance-table{width:100%;border-collapse: collapse;}
.finance-table thead th{font-size:var(--font-regular); color:var(--black2); font-weight: bold; padding:15px 0;text-align: center; background:#f8f8f8; border-top:1px solid #d9d9d9; border-right:1px solid #d9d9d9; border-bottom:1px solid #d9d9d9;}
.finance-table tbody td{font-size:var(--font-regular); font-weight: bold; padding:20px 0;text-align: center;border-bottom:1px solid #d9d9d9;border-right:1px solid #d9d9d9}

.finance-table thead th:last-child, .finance-table tbody td:last-child {border-right:0}

/* 모달 */
.contents .modal-content form { margin: 25px; }

.contents .modal-footer{border:0}
.contents .modal-header h2{font-size:25px !important; font-weight:bold; color:var(--black)}
.contents .modal-body{padding: 30px 20px 0;}
.contents .modal-body .box{ padding-bottom: 20px; margin-bottom: 30px; border-bottom: 1px solid #eee;}
.contents .modal-body .box:last-child { margin-bottom: 15px; }
.contents .modal-body .box h4{font-size: var(--font-basic);}
.contents .modal-body .box h4 small{    font-size: var(--font-smaller);
  display: block;
  line-height: 1.5;
  margin: 20px 0;
  color: var(--black3);
  font-weight: 400;
  letter-spacing: -0.03em;}
.contents .modal-body .box dl{display: flex;
  flex-wrap: wrap;}
.contents .modal-body .box dt{font-weight: 500;
  font-size: var(--font-regular); width:25%;
  line-height: 40px;
  color: var(--black2);}
.contents .modal-body .box dt span {
  color: #d90d0d;}
.contents .modal-body .box dd{font-size: var(--font-regular);
  line-height: 40px;width:75%;
  color: var(--black2);}
.contents .modal-body .box dd input,
.contents .modal-body .box dd textarea{}
.contents .modal-footer .btn-primary{
  width: 100%;
  border: 0;
  font-size: 20px;
  height: 45px;
}
.contents form .modal-footer .btn-primary{ background: var(--main-color); }

header .menu_btn, header .offcanvas, header .offcanvas-backdrop{display:none;transition: all 0.2s linear;}

#ctt header{display:none}
#ctt {
  padding: 50px 0 !important;
  background: #fff;
  max-width: 1400px;
  margin: 0 auto !important;
}

/* m&a */
.content .tit{position: relative; margin-bottom: 30px;}
.mna-detail .content .tit {  margin-bottom:0; }
.content .tit #write-btn{
  width: 100px;
  padding: 5px 15px;
  background-color: var(--black);
  color: white;
  border: none;
  border-radius: 5px;
  font-size: var(--font-regular);
  font-weight: bold;
  cursor: pointer;
  position: absolute;
  top: 0;
  right: 0;
}
.mna_list_wrap{display:grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.mna_list_box {
  border: 1px solid #eee;
  border-radius: 12px;
  padding: 40px;
}
.mna_list_box:hover {
  border: 1px solid var(--main-color);
  transition: all 0.2s linear;
}
.mna_list_wrap .profile_box{display:flex;gap: 25px; margin-bottom: 20px;}
.mna_list_wrap .profile_box .profile{width:100px; height: 100px; border-radius: 50%; overflow:hidden; background:var(--black4);
  font-size: 50px;
  text-align: center;
  font-weight: 200;
  color: #fff;
  line-height: 95px;}
.mna_list_wrap .profile_box .profile img{ display: block; width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;}
.mna_list_wrap .profile_box .profile_name {width:calc(100% - 125px)}
.mna_list_wrap .profile_box .profile_name h4{font-size: var(--font-regular); color:var(--black2); margin-bottom: 20px;}
.mna_list_wrap .profile_box .profile_name h4 b{font-size: 20px; color:var(--black)}
.mna_list_wrap .profile_box .profile_name h5, .mna_list_wrap .profile_info h5
{font-size: var(--font-regular);color:var(--black); font-weight: bold }
.mna_list_wrap .profile_box .profile_name p{color:var(--black2);margin-bottom: 0;width: 100%;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
  text-overflow: ellipsis;}

.mna_list_wrap .profile_info ul{}
.profile_info ul li{color:var(--black2); position:relative;padding: 2px 0 2px 12px;}
.profile_info ul li:before{content:'●'; position: absolute; left:0; top:9px; font-size:5px; color:var(--black3)}

#mna .content .pagination{margin-top:50px}

.mna-detail .sidemenu .pic{width:100%; height:250px;overflow: hidden;border-radius: 12px;display: flex; justify-content: center; align-items: center; font-size: 50px; background: #fff;}
.mna-detail .sidemenu .pic img{width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;}

.mna-detail .sidemenu .company_info{display:flex; flex-wrap: wrap;    margin-top: 20px !important;}
.mna-detail .sidemenu .company_info dt{width:30%}
.mna-detail .sidemenu .company_info dd{width:70%}
.mna-detail .content p{color: var(--black2);}
.mna_list .content, .mna-detail .content, .mna-write .content, .company-detail .content{padding:40px}

.mna-write h3{    font-size: 25px !important;
  font-weight: bold;
  color: var(--black); text-align: center; margin-bottom: 30px;}
.mna-write .content .write_box{max-width:1000px;margin:0 auto;}

.mna-write .content .write_box h4{font-size: var(--font-basic);
  margin-bottom: 20px;
  padding-bottom: 20px;
  border-bottom: 1px solid #eee;}
.mna-write .content .write_box dl{overflow:hidden;display: flex;
  flex-wrap: wrap;}
.mna-write .content .write_box dt{font-weight: 500;
  font-size: var(--font-regular);
  width: 25%;
  line-height: 40px;
  color: var(--black2);}
.mna-write .content .write_box dt span {color: #d90d0d;}
.mna-write .content .write_box dd{font-size: var(--font-regular);
  line-height: 40px;
  width: 75%;
  color: var(--black2);}
.mna-write .content .write_box dd small {
  font-size: var(--font-smaller);
  display: block;
  line-height: 1.5;
  margin: 20px 0;
  color: var(--black3);
  font-weight: 400;
  letter-spacing: -0.03em;
}
.mna-write .content .write_box .box2 {margin-top:60px;}
.mna-write .content .btn_box{text-align: center; margin-top:50px}
.mna-write .content .btn_box .btn-write{width: 400px;
  background: var(--main-color);
  border: 0;
  font-size: 20px;
  height: 55px;
  color: #fff;
  font-weight: 600;}
.mna-write .content .btn_box .btn-write:hover{background:#c36210;transition: all 0.2s linear;}
.mna-write .content .btn_box .btn-cancel{width: 400px;
  color: #fff;font-size: 20px;
  font-weight: 600;
  height: 55px;}

/* 쓰기 프로필 사진 */
.mna-write .ex-file-current{
  margin-top:10px;
  padding:10px 12px;
  border:1px solid #e5e5e5;
  border-radius:8px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  background:#fafafa;
}
.mna-write .ex-file-info{
  display:flex;
  align-items:center;
  gap:12px;
  min-width:0;
}
.mna-write .ex-file-thumb{
  width:52px;
  height:52px;
  border-radius:50%;
  overflow:hidden;
  flex-shrink:0;
  border:1px solid #e5e7eb;
  background:#f9fafb;
}
.mna-write .ex-file-thumb img{
  width:100%;
  height:100%;
  object-fit:cover;
}
.mna-write .ex-file-name{
  font-size:13px;
  color:#333;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  max-width:360px;
}
.mna-write .ex-file-remove{
  display:flex;
  align-items:center;
  gap:6px;
  font-size:13px;
  color:#444;
  white-space:nowrap;
}





/* main */
.bg-wrap {
  position: absolute;top:0; left:0;width: 100%; height: 100%;

  background: url('../../images/main_bg.jpg') center / cover no-repeat;
  /* 초기 확대 설정 (여백 방지용 1.2배) */
  transform: scale(1.2);
  transition: transform 0.1s ease-out;
  will-change: transform;
  pointer-events: none;
  z-index: 0;
}

/* 부드러운 패닝 효과 */
@keyframes bgMove {
  0% {
    transform: translate(0, 0) scale(1);
  }
  100% {
    transform: translate(-5%, -3%) scale(2.55);
  }
}
.bg-wrap::after {
  content: "";
  position: absolute;
  inset: 0;
  backdrop-filter: blur(8px);
  background: rgba(255,255,255,0.05);
}

main{  position: relative;    width: 100%;height:100vh; overflow: hidden;
  display: flex;flex-direction: column;margin-top:-70px;
  padding: 00px 0px 0;justify-content: center;
  align-items: center;}
main .search_sec {
  z-index: 1;
}
main h2{font-size:48px; line-height:65px; color:var(--black); font-weight:100;text-align: center;}
main h2 b{color:var(--main-color);font-weight:600}
main h2 em{}
main h4{    font-size: 20px;
  font-weight: 300;    text-align: center;
  color: var(--black2);
  margin: 10px 0 50px;
}
main .search-box{    background: transparent;
  padding: 0;
  border-radius: 12px;
  margin: 0 auto;
  box-shadow: none;
  width: 900px;}
main .search-box .input-group input{width: 100%;
  padding: 30px 30px;
  border: 3px solid var(--main-color);
  border-radius: 50px !important;
  box-sizing: border-box;
  font-size:16px;
}
main .search-box .input-group .search-btn {
  position: absolute;
  right: 8px;
  top: 50%;
  transform: translateY(-50%);
  border: none;
  color: #ff6b00;
  font-size: 20px;
  cursor: pointer;
  width: 75px;
  height: 75px;
  border-radius: 50% !important;
  background: linear-gradient(90deg, rgba(246, 134, 43, 1) 0%, rgba(249, 78, 2, 1) 100%);
}
main .search-box .search-btn img{width: 30px;}

.ban_sec{background:#fff; margin-top: 00px;
  padding: 50px 0 20px 0;}

.ban_sec h4{font-size:25px; font-weight: 600; color:var(--black); margin: 0; text-align: center;}
.ban_sec .flow_banner {overflow: hidden; margin: 30px auto;background: #fff;
  white-space: nowrap; /* 리스트들이 옆으로 나란히 배치되도록 강제 */
  font-size: 0;}
.ban_sec .flow_banner .list {display: inline-block; /* 요소를 인라인 블록화 */
  vertical-align: top;
  padding: 0;
  margin: 0;
  list-style: none;}
.ban_sec .flow_banner .list > li {display: inline-block;white-space: nowrap;font-size: 18px;color: #fff;padding: 20px 35px;}
.ban_sec .flow_banner .list > li img {cursor: pointer;}
@keyframes flowRolling {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}


.mobr{display:none}
.mo{display:none}

/**/
.content .offcanvas.show:not(.hiding),
.content .offcanvas.showing,
.content.mo .offcanvas.show:not(.hiding),
.content.mo .offcanvas.showing {--bs-offcanvas-height: 70vh;}
.content .offcanvas-header { flex-direction: column; }
.offcanvas-header > .logo{    transform: none;
  top: 20px;}
.content .offcanvas-header .btn-close,
.content.mo .offcanvas-header .btn-close{position: absolute; top: 20px; right: 15px;}
.content .offcanvas-header .filter-section,
.content.mo .offcanvas-header .filter-section{ box-shadow: none; padding: 0; height: calc(70vh - 70px); width: 100%;border-radius:0;overflow-y: scroll;  }
.content .offcanvas-header .filter-section .filter-header,
.content.mo .offcanvas-header .filter-section .filter-header{justify-content: center;}
.content .offcanvas-header .filter-section .filter-header h3,
.content.mo .offcanvas-header .filter-section .filter-header h3{font-size: 17px;}
.content .offcanvas-header .filter-section > .filter-group h4,
.content.mo .offcanvas-header .filter-section > .filter-group h4{font-size: 15px;}
.content .offcanvas-header .filter-group input[type="text"],
.content.mo .offcanvas-header .filter-group input[type="text"]{ padding: 8px; ont-size: var(--font-regular);}
.content .offcanvas-header .checkbox-grid input[type="checkbox"],
.content.mo .offcanvas-header .checkbox-grid input[type="checkbox"]{width: 15px;    height: 15px;}
.content .offcanvas-header .checkbox-grid,
.content.mo .offcanvas-header .checkbox-grid{gap: 6px;font-size: var(--font-regular);}
.content .offcanvas-header .filter-group,
.content.mo .offcanvas-header .filter-group{padding: 15px 0;}
.content .offcanvas-header .filter-group .range-input .range-inner p,
.content.mo .offcanvas-header .filter-group .range-input .range-inner p{top:9px}
.content .offcanvas-header .checkbox-grid input[type="checkbox"]:checked::after {
  left: 4px;
  top: 2px;
  width: 5px;
  height: 7px;
}


.content .menu_btn,
.content.mo .menu_btn{position: absolute;
  right: 0px;
  top: 0%;
  display: flex;height: 31px;
  align-items: center;font-size: 14px;
  gap: 0px;
  border: 1px solid var(--border-color);}

.content .menu_btn:hover,
.content.mo .menu_btn:hover{
  border-color: var(--border-color);
}



.content .offcanvas .m-filter-actions{
  background: #fff;
  padding: 14px 0 10px;
}

.content .offcanvas .m-filter-actions .btn-reset{
  width: 100%;
  height: 48px;
  border-radius: 10px;
  border: 1px solid #d6d6d6;
  background: #fff;
  color: #222;
  font-size: 15px;
  font-weight: 500;

  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
}

.content .offcanvas .m-filter-actions .btn-apply{
  width: 100%;
  height: 52px;
  margin-top: 12px;
  border-radius: 10px;
  border: 0;
  background: #ff6b00;
  color: #fff;
  font-size: 16px;
  font-weight: 700;

  display: flex;
  align-items: center;
  justify-content: center;
}

.content .offcanvas .m-filter-actions .m-result-count{
  font-variant-numeric: tabular-nums;
}
/**/


/************************** privacy S **************************/
.p-modal .content-wrap h3, .p-modal .content-wrap li strong, .p-modal .content-wrap li p {word-break:break-all;}

.p-modal .content-wrap li {
  line-height:inherit;
}

.p-modal .p-modal-in {
  display: block;
  width: 95%;
  max-width: 640px;
  padding: 50px;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  border-radius: 12px;
  opacity: 0;
  visibility: hidden;
  transition: all 0.5s ease-in-out;
  z-index: 99;
  overflow: hidden;
}
.p-modal .dimmed {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.8);
  visibility: hidden;
  transition: all 0.25s ease-in-out;
  z-index: 96;
}
.p-modal.open .p-modal-in,
.p-modal.open .dimmed {
  opacity: 1;
  visibility: visible;
}
.p-modal .p-modal-in .title {
  margin-bottom: 30px;
  font-size: 34px;
  font-weight: 700;
  text-align: center;
}
.p-modal .content-wrap  {
  max-height: 500px;
  font-size: 18px;
  line-height: 1.4;
  overflow: auto;
}


.p-modal .close {
  position: absolute;
  top: 30px;
  right: 30px;
  width: 20px;
  cursor: pointer;
}

.p-modal .close img { width: 100%; }

@media all and (max-width:640px) {
  .p-modal .p-modal-in {padding: 40px 20px;}
  .p-modal .content-wrap { max-height:400px; }
}


/************************** privacy E **************************/

.company-detail .blur {
  filter: blur(3px);
}



@media (max-width: 1500px){
  .content{ width: 100%; }

  .content .company-list{
    overflow-x: auto;
    -webkit-overflow-scrolling: touch; /* iOS 부드러운 스크롤 */
  }

  .content .company-head,
  .content .company-row a{
    min-width: 1050px;   /* ← 스크롤이 생기는 기준 */
  }
}

@media (max-width: 1450px) {
  #ctt{max-width:90%;
    padding: 30px 0 !important;}
  #ctt_con h3, #ctt_con ul li{font-size:var(--font-small) !important; line-height: 1.8 !important;}
  .ban_sec .flow_banner{max-width:94%}

}
@media (max-width: 1300px) {
  .table-container {
    min-width: 800px;
    overflow-x: hidden;
  }
  .sidebar{width: 300px;}

  .mna_list_wrap{grid-template-columns: repeat(2, 1fr); }
}

@media all and (max-width:1201px) {
  footer .top-btn, footer .chat {width: 44px; height: 44px; border-radius: 16px;}
}


@media (max-width: 1023px) {
  main .search-box{    width: 100%;}
  main .search-box .input-group input {font-size: 17px;    padding: 20px 30px 20px 20px;}
  main .search-box .input-group .search-btn{    width: 60px;    height: 60px;}
  .sidebar, .search_company .content, .sidemenu{display:none}
  .mo{display:block}
  .search-box {padding: 0;box-shadow: none;}

  .search_company .content.mo, .company-detail .content{display:block;width: 100%;padding: 25px 15px;}
  .search-box .input-group input{font-size: 14px;    padding: 10px 15px;}
  .search-btn{width: 36px;
    height: 36px;}
  .table-container {min-width: 100%;}

  .content .menu_btn i, .content.mo .menu_btn i{margin-left:4px}



  /*  */
  .content{
    width: 100%;
    overflow: hidden;
    display: block !important;
    padding: 25px 15px;
  }
  .content .company-head, .company-row a {
    min-width: inherit !important;
  }


  .content .search-ui--m { display: block; }
  .content .btn.menu_btn { display: flex; }

  .content .company-list{
    overflow-x: initial;
  }

  /* PC 헤더 숨김 */
  .content .company-head{ display:none; }

  /* row를 카드로 */
  .content .company-row a{
    grid-template-columns: 1fr;     /* 한 컬럼 */
    column-gap:0;
    padding: 10px;
    margin-bottom: 20px;
    background:#fff;
    border: 1px solid #ddd;;
    box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
    border-radius: 12px;
    overflow:hidden;
  }

  /* 기업정보(카드 상단) */
  .content .cell-company{
    font-size: 18px;
    font-weight: 600;
    padding-top: 7px;

  }

  .content .company-link{
    border-bottom: 1px solid var(--border-color);
    padding-bottom: 13px;
  }

  .content .company-name { font-size: 18px; margin-bottom: inherit; font-weight: 600; }
  .content .company-ceo { display: none; }

  .content .company-addr {
    display: block;
    font-size: 12px;
    color: #666;
    margin-top: 3px;
    margin-bottom: initial;
  }

  /* PC용 6컬럼 값들은 모바일에서는 숨기고(중복 방지),
     모바일 카드용(.m-card)에서 순서/디자인대로 보여줌 */
  .content .cell-bizno,
  .content .cell-industry,
  .content .cell-sales,
  .content .cell-op,
  .content .cell-date{
    display:none;
  }

  .content .m-card{
    display:block;
    padding: 15px 10px 10px;
  }

  /* dl을 2열로 (대표자/사업자번호/업종/설립일) */
  .content .m-dl{
    margin:0;
    display:grid;
    grid-template-columns: 110px 1fr;
    row-gap:8px;
    column-gap:10px;
  }

  .content .m-item{
    display:contents; /* dt,dd를 그리드에 자연스럽게 배치 */
  }

  .content .m-dl dt{
    font-size: 14px;
    color: var(--black2);
  }

  .content .m-dl dd{
    font-size: 14px;
    text-align: right;
    margin:0;
  }

  /* 하단 매출액/영업이익 */
  .content .m-price{
    margin-top: 13px;
    padding-top: 15px;
    border-top: 1px solid var(--border-color);
    display:grid;
    grid-template-columns: 0.37fr 0.37fr;
    justify-content: center;
    gap: 20px;
    text-align:center;
    font-size: 15px;
  }

  .content .m-price-box span{
    display:block;
    font-size: 13px;
    color: var(--black2);
  }

  .content .m-price-box b{
    display:block;
    font-weight: 400;
  }


  /*  */






  .content.mo .company_list{margin-top:20px}
  .content.mo .company_list .company_list_box{border:1px solid #ddd; width:100%; padding:20px;border-radius: 12px;box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05); margin-bottom:20px}
  .content.mo .company_list .company_list_box:hover{border:1px solid var(--main-color); box-shadow: 0 2px 8px rgba(0, 0, 0, 0.25);}
  .content.mo .company_list .company_list_box h3{    font-size: 18px;
    font-weight: 600;border-bottom: 1px solid var(--border-color);
    padding-bottom: 15px;}
  .content.mo .company_list .company_list_box h3 small{display: block;font-size: 12px;    color: #666;    margin-top: 7px;}
  .content.mo .company_list .company_list_box dl{margin: 15px 0 !important;
    border-bottom: 1px solid var(--border-color);display: flex;padding-bottom: 5px !important;
    flex-wrap: wrap;}
  .content.mo .company_list .company_list_box dt{        font-size: 14px; color:var(--black2);
    width: 30%;}
  .content.mo .company_list .company_list_box dd{        font-size: 14px;
    width: 70%;text-align:right}
  .content.mo .company_list .company_list_box .price{display:flex;        justify-content: space-evenly;
    gap: 20px;}
  .content.mo .company_list .company_list_box .price > div{text-align: center;font-size: 15px;}
  .content.mo .company_list .company_list_box .price > div span{display:block;        font-size: 13px;
    color: var(--black2);}
  .content.mo .company_list .company_list_box .price .price1{position: relative}
  .content.mo .company_list .company_list_box .price .price1:after{content:'';position: relative;}

  .pagination{gap: 0px !important;}

  .company-detail .contents, .mna-detail .contents{display:block;flex-direction: column;}
  .company-detail #company-detail-btn, .mna-detail #company-detail-btn{margin-bottom: 20px;font-size: 15px;}
  .company-detail .content .menu_inr.mo { margin-bottom: 30px;}
  .company-detail .content .menu_inr.mo ul{ border-bottom:1px solid var(--main-color) !important;}
  .company-detail .content .menu_inr.mo .nav.nav-tabs > li { flex: 1; min-width: 0; text-align: center; }
  .company-detail .content .menu_inr.mo a{padding: 10px 7px;
    letter-spacing: -1px;
    color: var(--black3) !important;}
  .company-detail .content .menu_inr.mo a.active, .company-detail .content .menu_inr.mo a:hover{ color: var(--main-color) !important;
    border-color: var(--main-color) var(--main-color) #fff !important;
    font-weight: 600;}
  .company-detail .content .chart{ flex-direction: column; row-gap: 50px; align-items: center;}
  .company-detail .content .chart img{max-width:100%}

  .mna-detail .sidemenu.mo{
    width: 100%;
    margin-bottom: 50px;
    border-bottom: 1px solid #eee;
    padding-bottom: 30px;
  }
  .mna-detail .sidemenu .pic {
    max-width: 350px;
  }


  .btn_wrap.mo{width: 100%;
    display: flex !important;align-content: space-between;
    flex-direction: row; gap: 10px;}
  .btn_wrap.mo button{width:100%}
  #ai .container{width: 100%; max-width: 100%; padding:0}
  .mna_list .content, .mna-detail .content, .mna-write .content{padding: 25px 15px;}
  main .search-box .input-group input{        font-size: 18px;}
}

@media (max-width: 900px) {
  header .logo{height:40px; left: 20px; }
}
@media (max-width: 768px) {

  :root{
    --font-large: 30px;
    --font-medium: 20px;
    --font-basic: 16px;
    --font-regular: 13px;
    --font-small: 12px;
    --font-smaller: 11px;

  }
  header{height:60px}
  header .logo{height:30px; left: 20px; }
  .sub_menu a{font-size: 17px;}
  #company, #mna{padding: 20px 15px 40px;}
  .sub_menu {margin-bottom: 20px;  }
  .checkbox-grid {
    grid-template-columns: 1fr 1fr;
  }
  header .menu_btn{position: absolute;
    right: 20px;
    top: 50%;
    transform: translateY(-50%);
    display: flex;
    align-items: center;
    gap: 0px;        background: #fff;
    border: 1px solid var(--border-color);
  }
  header .offcanvas, header .offcanvas-backdrop{display:block}
  header > .member, header > nav{display:none}
  header .offcanvas .btn-close{    position: absolute;
    top: 20px;
    right: 20px;}
  header .offcanvas nav{margin-top: 80px;}
  header .offcanvas nav ul{gap:10px;    flex-direction: column;}
  header .offcanvas nav ul li a{font-size: 30px;        font-weight: 600;}
  header .offcanvas nav ul li a:hover{color:var(--main-color);transition: all 0.2s linear;}
  header .offcanvas nav ul li{text-align: center}
  header .offcanvas .member{position: absolute;
    right: auto;
    left: 50%; top:auto;
    bottom: 30px;
    transform: translateX(-50%);
    display: flex;
    align-items: center;
    gap: 20px;width: 70%;
    justify-content: center;
  }
  header .offcanvas .member ul li:first-child{margin-left:0}
  header .offcanvas .member .login_list {
    width: 100%;
  }
  header .offcanvas .member .login_list .profile_img {
    margin-right: 10px;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    overflow: hidden;
    color: #fff;
    text-align: center;
    display: inline-block;
    vertical-align: middle;
    line-height: 32px;
    /* background: var(--black3); */
  }

  header .offcanvas .member .login_list .profile_img img{ width: 100%; }

  header .offcanvas .profile {
    text-align: center;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--border-color);
    margin-bottom: 15px;
  }
  header .offcanvas .member .login_list .login_content{display:flex; gap:15px; justify-content: space-around;}
  header .offcanvas .member .login_list .login_content i{display:block;text-align: center; height: 20px;}

  footer .side-floating-wrap { gap: 7px }
  footer .top-btn img { width: 12px; }

  #hd_pop {
    position: fixed;
    top: 0;
    left: 0;
    width: 100% !important;
    margin: auto;
    height: 100vh;
    min-width: inherit;
    z-index: 8;
  }

  #hd_pop .hd_pops {
    width: 95%;
    top: 50% !important;
    left: 50% !important;
    transform: translate(-50%, -50%);
  }

  #hd_pop .hd_pops > div { margin: auto; }

  main{margin-top:-60px;}
  main h2{    font-size: 30px;    line-height: 40px;}
  main h4 {
    font-size: 14px;margin: 20px 0 30px;}

  .mobr{display:block}
  .ban_sec .ban_sec{margin-top: 70px;padding: 30px 0 00px 0;}
  .ban_sec .ban_sec h4 {    font-size: 20px;}
  .ban_sec .flow_banner .list > li{padding: 0 0px;}
  .ban_sec .flow_banner .list > li img{height:50px;padding: 0 20px; }
  .sub_menu a{ margin-right: 20px;}
  footer{padding: 30px 20px;}
  footer .f_menu{    margin-bottom: 20px !important;}
  footer adress ul li, footer p{ font-size: 13px; line-height: 22px;}

  .content .no-result{ padding: 60px 16px; border-radius: 10px; }
  .content .no-result-title{ font-size:16px; }
  .content .no-result-desc{ font-size:13px; }

  .company-detail .content dl dt {width:40%;    font-size: var(--font-regular);line-height: 25px;}
  .company-detail .content dl dd{width:60%;    font-size: var(--font-regular);line-height: 25px;}
  .company-detail .pt80 { padding-top: 40px; }
  .contents .modal-body .box dd{    margin: 0;}
  .contents .modal-body .box dd input, .contents .modal-body .box dd textarea,
  .mna-write .content .write_box dd input, .mna-write .content .write_box dd textarea
  {font-size: var(--font-regular);}


  .mna_list_wrap .profile_box .profile_name p, .profile_info ul li
  {font-size: var(--font-regular);}
  .profile_info ul li:before{font-size: 4px;top: 6px;}
  .mna_list_wrap{row-gap: 70px;}
  .mna-write .content .write_box dd small{margin: 10px 0;}
  .mna-write .content .write_box .box2 dd{margin:0}
  .mna-write .content .btn_box .btn-write, .mna-write .content .btn_box .btn-cancel{width:100%;        font-size: 17px;
    height: 45px;}
  .mna-write .content .btn_box{display: flex;    gap: 10px;}
  .mna_list_wrap{grid-template-columns: repeat(1, 1fr); gap: 20px;}
  .mna_list_box { padding: 20px; }
  .mna_list_wrap .profile_box { gap: 15px; }

  .mna-write .ex-file-current{ flex-direction:column; align-items:flex-start; }
  .mna-write .ex-file-name{ max-width:100%; }

  .mna-detail .content p{        font-size: var(--font-regular);}
  .mna-detail .content .tit { margin-bottom: 40px; }
  .mna-detail .content .tit #write-btn {  }

  .finance-table,
  .finance-table thead,
  .finance-table tbody,
  .finance-table th,
  .finance-table td,
  .finance-table tr {
    /* 테이블 구조를 해제하여 자유롭게 배치 가능하게 만듦 */
    display: block;
    width: 100%;
  }

  .finance-table thead {
    /* 기존 헤더 줄은 숨김 처리 (대신 각 데이터 옆에 라벨로 표시) */
    display: none;
  }

  .finance-table tr {
    margin-bottom: 15px; /* 줄 간격 */
    border-top: 1px solid var(--main-color);
    border-bottom: 1px solid var(--main-color);
  }

  .finance-table tbody td {
    display: flex; /* th 느낌의 라벨과 td 데이터를 가로로 배치 */
    justify-content: space-between;
    border-bottom: 1px solid #eee;
    border-right:0;
    padding:0 30px;
    line-height: 40px;
    width: 100%;
  }

  .finance-table td::before {
    /* 가상 요소를 사용하여 왼쪽 영역에 제목(th)을 생성 */
    content: attr(data-label);
    font-weight: bold;
    width: 35%; /* 왼쪽 제목 너비 */
    flex-shrink: 0;
    color: var(--black3);       text-align: left;
  }
  .finance-table td:last-child{border-bottom:0}

  #ai #JcaAiResult > .inner { padding: 42px 30px; }
  #ai .header-section h2{font-size: 25px; line-height: 1.3;}
  #ai #drop-zone{height: 180px;}
  #ai .progress{    top: -87px;}
  section.result{        padding: 20px 15px 40px;}

  #ai #JcaAiResultBox .ai-table-scroll{ overflow-x:auto; -webkit-overflow-scrolling:touch; }
  #ai #JcaAiResultBox .ai-table-scroll table{ min-width:640px; }
  #ai #JcaAiResultBox .ai-table-scroll th, #ai .ai-table-scroll td{ white-space:nowrap; }
}

/*
@media (max-width: 480px) {
  .mna_list_wrap .profile_box {
    flex-direction: column;
  }

  .mna_list_wrap .profile_box .profile {
    display: contents;
  }
}
*/


@media (max-width: 420px){
  .company-detail .chart-wrap{
    max-width: 320px;
    height: 230px;
  }

  .content .tit #write-btn {
    width: 70px;
    padding: 5px 5px;
  }
}

@media (max-width: 400px) {
  #ai #analyze-btn, #ai #result-btn{width: 100%;}
  main .search-box{width:90%}
  .company-detail .content .menu_inr.mo a{font-size: 14px;letter-spacing: -1.5px;}

}