@charset "utf-8";

@import url('https://fonts.googleapis.com/css2?family=Montserrat:ital,wght@0,100..900;1,100..900&family=Noto+Sans+KR:wght@100..900&display=swap');

/* 초기화 */
html {overflow-y:scroll;overflow-x:hidden;}
body {margin:0;padding:0;font-size:0.75em;font-family:'Noto Sans KR', 'Malgun Gothic', dotum, sans-serif;background:#fff}
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:'Noto Sans KR', 'Malgun Gothic', dotum, sans-serif}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display:block}

ul, dl,dt,dd {margin:0;padding:0;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:'Noto Sans KR', 'Malgun Gothic', dotum, sans-serif;font-size:1em}
input[type="submit"] {cursor:pointer}
button {cursor:pointer}

textarea, select {font-family:'Noto Sans KR', 'Malgun Gothic', dotum, 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:#000;text-decoration:none}

*, :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}



/* 공통 - 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:1000;position:relative;margin:0 auto;height:0}
#hd_pop h2 {position:absolute;font-size:0;line-height:0;overflow:hidden}
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer {padding:0;background:#000;color:#fff;text-align:left;position:relative}
.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.site-header{
  position:fixed; left:0; right:0; top:0; height:78px;
  z-index:3000; background:transparent;
  transition: background .25s ease, box-shadow .25s ease;
}

/* 스크롤 시: 다크 슬레이트 + 은은한 그림자 */
#hd.scrolled{
  /* 이미지 같은 한톤 다크: 푸른 회색 */
  background:rgba(72, 86, 94, .96); /* 필요시 #4a5860 근처로 조정 */
  box-shadow:0 6px 18px rgba(0,0,0,.12);
}

/* 내부 레이아웃 */
#hd .inner {
  max-width: 1480px;
  margin: 0 auto;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 30px;
}

/* 로고 */
#hd .logo img{
  height:56px; display:block;
  transition:transform .25s ease, filter .25s ease;
}
/* 다크 배경 위에서도 로고가 선명하도록 살짝 밝기 */
#hd.scrolled .logo img{ filter:none; }
#hd .logo img:hover{ transform:scale(1.04) }

#hd .right-area {
  display: flex;
  align-items: center;
  gap: 40px; /* gnb와 call 간격 */
}

/* PC 메뉴: 흰색 텍스트, 호버 시 금색 포커스 */
#hd .gnb ul {
  display: flex;
  align-items: center;
  gap: 44px;
}

#hd .gnb a{
  font-size:18px; font-weight:700; letter-spacing:-0.02em;
  color:#ffffff; text-decoration:none; opacity:.95;
  transition:opacity .2s ease, color .2s ease, transform .2s ease;
}
/* 초기 투명 헤더(배경이 페이지 컨텐츠)에서도 흰색로 보이도록 */
#hd:not(.scrolled) .gnb a{ color:#ffffff; text-shadow:0 1px 2px rgba(0,0,0,.18); }
#hd .gnb a:hover{ opacity:1; transform:translateY(-1px); color:#e9d09a; } /* 금빛 */

/* 우측 콜 버튼: 금색 알약 */
#hd .call .call-pill{
  display:inline-flex; align-items:center; gap:10px;
  background:#bea66c; /* 금색 계열 */
  padding:10px 20px 12px; border-radius:999px;
  font-weight:800; font-size:20px; line-height:1;
  color:#fff; text-decoration:none;
}
#hd .call .call-pill:hover{
  transform:translateY(-1px);
  box-shadow: inset 0 -2px 0 rgba(0,0,0,.12), 0 6px 16px rgba(0,0,0,.18);
}


#hd .call .ico-tel{
  width:22px; height:22px; display:block;
  filter: drop-shadow(0 1px 1px rgba(0,0,0,.15));
}

/* PC/모바일 구분 */
.pc-only{display:block;}
.mobile-only{display:none;}
@media (max-width:1280px){
  .pc-only{display:none!important;}
  .mobile-only{display:block!important;}
  
  #hd .logo img{
	  height:40px;
	}
}

@media (max-width:680px){
  #hd .logo { margin:0 auto; }
}
/* 모바일 메뉴 버튼: 아이콘 흰색 */
#hd .m-nav-btn{
  background:transparent; border:none; cursor:pointer; color:#fff;
}

/* -----------------------------
   모바일 사이드 메뉴 (기존 유지)
------------------------------*/
#mGnb{
  position:fixed; top:0; right:0; width:280px; height:100vh;
  background:#fff; box-shadow:-4px 0 14px rgba(0,0,0,.15);
  transform:translateX(100%); transition:transform .35s ease; z-index:2501;
}
#mGnb.open{transform:translateX(0);}
#mGnb .m-gnb-header{
  display:flex; justify-content:flex-end; align-items:center;
  height:70px; padding:0 16px; border-bottom:1px solid #eee;
}
#mGnb .m-gnb-close{ background:none; border:0; color:#333; cursor:pointer; }
#mGnb .m-gnb-close:hover{ color:#1e88e5; }
#mGnb .m-gnb-inner{ padding:20px; }
#mGnb ul{ list-style:none; margin:0; padding:0; }
#mGnb li{ margin-bottom:18px; }
#mGnb a{ font-size:18px; font-weight:600; color:#222; text-decoration:none; }
#mGnb a:hover{ color:#1e88e5; }

/* 오버레이 */
.m-gnb-overlay{
  position:fixed; inset:0; background:rgba(0,0,0,.45);
  z-index:2500; display:none;
}
.m-gnb-overlay.show{ display:block; }

/* 투명 헤더 위 컨텐츠가 밝을 때 가독성 보정(선택) */
#hd:not(.scrolled) .gnb a,
#hd:not(.scrolled) .m-nav-btn { text-shadow:0 1px 2px rgba(0,0,0,.2); }



/* 중간 레이아웃 */
#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;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:""}

/* 하단 레이아웃 */



#counsel_result { display:none; position:fixed; top:0; left:0; width:100%; height:100%; z-index:999; }
#counsel_result.active { display:block; }
#counsel_result .bg  { position:absolute; top:0; left:0; width:100%; height:100%; background:rgba(0,0,0,0.55);}
#counsel_result .msg_box { position:absolute; top:50%; left:50%; width:600px; padding:30px; background:#4a5860; border:2px solid #fff; border-radius:15px; transform:translate(-50%, -50%); z-index:9; }
#counsel_result .msg_box h2 { text-align:center; font-size:35px; margin-bottom:30px; color:#fff;}
#counsel_result .msg_box .result_msg { font-size:20px; line-height:1.5; text-align:center;  color:#fff;}
#counsel_result .msg_close { text-align:center; margin-top:20px; }
#counsel_result .msg_close a { display:inline-block; background:#fff; color:#4a5860; border-radius:15px; font-size:20px; font-weight:700; padding:10px 30px; }
@media(max-width:680px){	
	#counsel_result .msg_box { width:300px; padding:10px;  }
	#counsel_result .msg_box h2 { font-size:22px; margin-bottom:20px; }
	#counsel_result .msg_box .result_msg { font-size:14px; }
	#counsel_result .msg_close a { border-radius:10px; font-size:14px; padding:10px 20px; }
}

/* 기본: PC에서 숨김 */
#mobile-fixbar{
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  transform: translateY(120%); /* 기본 비노출(모바일 미디어쿼리에서 표시) */
  opacity: 0;
  pointer-events: none;
  z-index: 9999;
  display: grid;
  grid-template-columns: 1fr 1fr 1fr; /* ← 3열로 변경 */
  gap: 0;
  background: #0e1114; /* 분리선 대비용 배경 */
}

/* 버튼 공통 */
#mobile-fixbar .fixbtn{
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  height: 58px;
  font-weight: 800;
  font-size: 16px;
  text-decoration: none;
  color: #fff;
  transition: filter .2s ease, transform .2s ease, opacity .2s ease;
  -webkit-tap-highlight-color: transparent;
}
#mobile-fixbar .fixbtn i{ font-size: 22px; line-height: 1; }
/* 버튼 컬러 */
#mobile-fixbar .fixbtn.call{
  background: #4a5860;         /* 다크 그레이 */
  letter-spacing:-.5px;
  word-break:keep-all;
}
#mobile-fixbar .fixbtn.call em{
  font-size:12px;
  font-style: normal;

}
#mobile-fixbar .fixbtn.kakao{
  background: #fee500;         /* 카카오 옐로우 */
  color: #111;
}
#mobile-fixbar .fixbtn.consult{
  background: #d4af37;         /* 골드 */
  color: #111;
}

/* 살짝 눌림 효과 */
#mobile-fixbar .fixbtn:active{ transform: translateY(1px); }

/* 모바일 구간에서 노출 */
@media (max-width: 900px){
  #mobile-fixbar{
    transform: translateY(0);
    opacity: 1;
    pointer-events: auto;
  }

  /* 안전영역 */
  @supports(padding: max(0px)){
    #mobile-fixbar{
      padding-bottom: max(env(safe-area-inset-bottom), 0px);
    }
    #mobile-fixbar .fixbtn{
      height: calc(58px + max(env(safe-area-inset-bottom), 0px));
    }
  }
}

/* 아주 좁은 화면 최적화 */
@media (max-width: 400px){
  #mobile-fixbar .fixbtn{
    font-size: 15px;
    gap: 6px;
  }
}



/* ===== Footer ===== */
#site-footer {
  background:#13171b;
  color:#cfd6dc;
}
#site-footer .ft-inner {
  max-width:1480px;
  margin:0 auto;
  padding:40px 16px 150px;
  display:grid;
  grid-template-columns: 1fr auto; /* 좌측 / 우측 번호 */
  align-items:center;
  gap:24px;
}

/* 좌측 정렬 (로고+SNS+정보 한 줄 배치) */
#site-footer .ft-left { text-align:left; }

#site-footer .ft-row {
  display:flex;
  align-items:flex-start;
  gap:28px;
}

/* 브랜드 + SNS */
#site-footer .ft-block {
  flex:0 0 auto;
  min-width:240px;
}
#site-footer .ft-brand {
  margin:0 0 12px;
  font-weight:700;
  font-size:26px;
  letter-spacing:.2px;
  color:#e7edf2;
}

/* SNS (XEIcon) */
#site-footer .ft-sns {
  list-style:none;
  margin:0;
  padding:0;
  display:flex;
  gap:10px;
  justify-content:flex-start;
}
#site-footer .ft-sns a {
  display:inline-flex;
  width:36px;
  height:36px;
  border-radius:50%;
  align-items:center;
  justify-content:center;
  background:rgba(255,255,255,.08);
  color:#e7edf2;
  text-decoration:none;
  transition:background .2s ease, transform .2s ease, color .2s ease;
}
#site-footer .ft-sns a:hover {
  background:rgba(255,255,255,.16);
  transform:translateY(-1px);
}
#site-footer .ft-sns i {
  font-size:18px;
  line-height:1;
}
/* 서비스별 컬러 */
#site-footer .ft-sns a:hover .xi-naver{ color:#2db400; }
#site-footer .ft-sns a:hover .xi-youtube-play{ color:#ff3d3d; }
#site-footer .ft-sns a:hover .xi-instagram{ color:#e1306c; }

/* 회사 정보 */
#site-footer .ft-info {
  flex:1 1 auto;
  margin:0;
  padding:0;
  font-size:15px;
  text-align:left;
}
#site-footer .ft-info .row {
  display:flex;
  flex-wrap:wrap;
  gap:12px 18px;
  margin:6px 0;
  justify-content:flex-start;
}
#site-footer .ft-info dt {
  color:#8fb3ca;
  font-weight:700;
}
#site-footer .ft-info dt.sep {
  margin-left:24px;
}
#site-footer .ft-info dd {
  margin:0;
  color:#cfd6dc;
}

/* 우측 대표번호 */
#site-footer .ft-right { text-align:right; }
#site-footer .ft-call1 {
  color:#f3f6f8;
  text-decoration:none;
  font-weight:400;
  letter-spacing:.5px;
  font-size:clamp(24px, 5vw, 10px);
  line-height:1;
  display:inline-block;
  transition:opacity .2s ease, transform .2s ease;
}
#site-footer .ft-call {
  color:#f3f6f8;
  text-decoration:none;
  font-weight:900;
  letter-spacing:.5px;
  font-size:clamp(28px, 5vw, 40px);
  line-height:1;
  display:inline-block;
  transition:opacity .2s ease, transform .2s ease;
}
#site-footer .ft-call:hover {
  opacity:.9;
  transform:translateY(-1px);
}

/* ===== 반응형 ===== */
@media (max-width:900px) {
  #site-footer .ft-inner {
    grid-template-columns:1fr;
    text-align:center;
    gap:16px;
  }
  #site-footer .ft-row {
    flex-direction:column;
    align-items:center;
    gap:10px;
  }
  #site-footer .ft-sns{
    justify-content: center;   /* 모바일에서 중앙 정렬 */
  }
  
  #site-footer .ft-block {
    text-align:center;
  }
  #site-footer .ft-info {
    text-align:center;
  }
  #site-footer .ft-info .row {
    justify-content:center;
  }
  #site-footer .ft-info dt.sep {
    margin-left:0;
  }
  #site-footer .ft-right {
    text-align:center;
  }
}

@media (max-width:480px) {
  #site-footer .ft-sns{
    justify-content: center;
  }
  #site-footer .ft-sns a {
    width:32px;
    height:32px;
  }
  #site-footer .ft-sns i {
    font-size:16px;
  }
  #site-footer .ft-brand {
    font-size:22px;
  }
  
   #site-footer .ft-info .row:last-child{
    display: grid;
    grid-template-columns: 1fr;
  }
  #site-footer .ft-info dt.sep{ margin-left:0; }
}



/* 게시물 선택복사 선택이동 */
#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}

/* 추가 */
/******************************************************
| 퀵바 오른쪽
| ※ 아래 상수값은 프로젝트 톤앤매너에 맞춰 자유롭게 조정하세요.
*******************************************************/
/* ===== 퀵바 오른쪽 (root 변수 제거版) ===== */
.quick-bar-right{
  overflow:hidden;z-index:1000;position:fixed;top:50%;right:0;width:100px;
  border-radius:12px 0 0 12px;background:#fff;font-size:13px;font-weight:700;
  box-shadow:1px 1px 13px rgba(47,47,47,.14);transform:translateY(-50%);
}
.consult-box{width:inherit;}
.consult-menu{
  display:flex;flex-direction:column;justify-content:center;align-items:center;
  width:inherit;aspect-ratio:1/0.9;
}
.consult-menu-link{
  position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;
  gap:10px;width:inherit;height:100%;padding:15px 0;letter-spacing:0;
  text-decoration:none;color:inherit;
}
.consult-menu:first-child .consult-menu-link{gap:5px;}
/* 항목 구분선 */
.consult-menu:not(:last-child) .consult-menu-link::after{
  position:absolute;bottom:0;left:50%;width:calc(100% - 30px);height:1px;
  box-shadow:0 1px rgba(221,221,221,1);transform:translateX(-50%);content:'';
}
/* 전화번호 큰 숫자 */
.consult-menu strong{
  font-family:"Montserrat", serif;font-size:16px;font-weight:800;color:#2e3542;line-height:1;text-align:center;
}
/* xi 아이콘 크기/정렬 */
.consult-menu-link i[class^="xi"]{
  font-size:28px;line-height:1;display:block;
}

/* TOP 버튼 */
.top-btn{
  display:flex;justify-content:center;align-items:center;width:100%;aspect-ratio:1/0.4;
  background:#2e3542;font-weight:700;color:#fff;border:0;cursor:pointer;
}

/* ===== 모바일 (<=800px) ===== */
@media (max-width:900px){
	
  .quick-bar-right{
  display:none;
    overflow:visible;top:auto;right:auto;bottom:0;left:50%;width:100%;
    border-radius:0;font-size:13px;transform:translateX(-50%);
  }
  .consult-box{
    z-index:1100;position:absolute;bottom:0;left:0;display:flex;background:#fff;
    box-shadow:0 -5px 10px rgba(0,0,0,.05);
  }
  .consult-menu{height:60px;}
  .consult-menu:where(:nth-child(1),:nth-child(2)){position:relative;}

  /* 모바일 노출/숨김: 전화(1), 카톡(2), 신청(3) 표시 / 블로그(4), 유튜브(5) 숨김 */
  .consult-menu:nth-child(4),
  .consult-menu:nth-child(5){display:none;}

  /* 세로 구분선: 1,2번째에만 */
  .consult-menu:nth-child(1)::after,
  .consult-menu:nth-child(2)::after{
    position:absolute;top:50%;right:0;width:1px;height:55%;background:#eee;
    box-shadow:0 1px rgba(221,221,221,1);transform:translateY(-50%);content:'';
  }

  .consult-menu-link{flex-direction:row;}
  .consult-menu:not(:last-child) .consult-menu-link::after{content:none;}

  /* 모바일 라벨: 좌우 배치 + 굵기/색상 */
  .consult-menu :where(.txt-tel,.txt-kakao,.txt-request){
    position:relative;min-width:clamp(70px,16.667vw,80px);
    font-size:16px;color:#111;font-weight:800;
  }

  /* 전화 아이콘 교체 원하면 아래 사용(선택)
     .consult-menu strong{transform:scale(.8);content:url('/img/header/icon_menu_tel_b.webp');}
  */

  /* 호버 배경 */
  .consult-menu:hover{background:#0a6baa;}
  .consult-menu:hover::after{display:none;}
  .consult-menu:hover .txt-tel,
  .consult-menu:hover .txt-kakao,
  .consult-menu:hover .txt-request{color:#fff;}

  /* TOP 버튼: 플로팅 전환 */
  .top-btn{
    position:absolute;right:30px;bottom:0;width:auto;aspect-ratio:auto;padding:10px 15px;border-radius:12px;
    background:#2e3542;font-weight:700;color:#fff;transition:bottom 1s ease;
  }
  .top-btn.scrolled{bottom:80px;} /* header 60 + 여백 20 */
}

/* ===== 초소형 (<=400px) ===== */
@media (max-width:400px){
  .consult-menu{padding-bottom:15px;}
  .consult-menu:first-child .consult-menu-link{gap:2px;}
  .consult-menu-link{gap:4px;}
  .consult-menu strong{transform:scale(.6);}
  .consult-menu-link i[class^="xi"]{font-size:24px;}
}

/* ===== 하단 퀵바 ===== */

/* 고정 바 배경/위치 */
.quick-bar-bottom{
  z-index:100; position:fixed; bottom:0; left:0; right:0;
  width:100%; min-height:100px; font-size:18px; font-weight:700;
  padding:10px 0;
}
.quick-bar-bottom::before{
  opacity:.9; z-index:-1; position:absolute; inset:0;
  background:#171c23; content:''; box-shadow:0 -10px 30px rgba(0,0,0,.18);
}

/* 내부 컨테이너: 최대 1480 유지 + 가운데 정렬 + 2열 그리드 */
.qb-inner{
  max-width:1480px; margin:0 auto; box-sizing:border-box;
  padding:12px 16px;
  display:grid;
  grid-template-columns: 1fr minmax(600px, 1fr); /* 좌:가변 / 우:최소 420px */
  align-items:center;
  column-gap:20px;
  position:relative; /* 닫기 버튼 기준 */
}

/* 좌측 문구(2줄) */
.quick-bar-bottom .strong{
  background: linear-gradient(to right, #fdcf4f, #fdcf4f);
  color:transparent; -webkit-background-clip:text; background-clip:text;
  display:block; line-height:1.2; white-space:normal; text-align:center; font-size:20pt;
  min-width:200px;    /* 너무 좁아지지 않게 */
  max-width:760px;    /* 가독 범위(원하면 조정) */
}

/* 폼 컨테이너(우측) */
.consult-form{
  display:flex; align-items:center; gap:10px;
  width:100%; font-weight:400;
  justify-self:end; /* 우측 정렬 */
}

/* 우측 묶음(입력/버튼/동의) */
.fields-right{
  margin-left:auto; display:flex; flex-direction:column;
  align-items:flex-end; gap:6px; width:100%;
}

/* 한 줄 입력 + 버튼 */
.row-controls{
  display:flex; align-items:center; justify-content:flex-end; gap:10px; width:100%;
}

/* 입력창: 절반 수준으로 짧게 */
.consult-form input[type="text"],
.consult-form input[type="tel"]{
  height:46px; padding:0 14px; border-radius:12px;
  border:1px solid rgba(255,255,255,.2);
  background:#fff; color:#111; font-size:15px;
  flex:0 0 150px;   /* 필요 시 140~180px로 미세조정 */
  outline:none;
}
.consult-form input::placeholder{ color:#999; }

/* 제출 버튼 */
.quick-bar-bottom .quick-bar-bottom-btn{
  display:flex; justify-content:center; align-items:center;
  width:110px; height:46px;
  border-radius:14px; background:#fff; box-shadow:0 0 16px rgba(10,107,170,.18);
  font-size:18px; font-weight:800; border:0; cursor:pointer; filter:contrast(2);
}

/* 개인정보 동의 */
.agree{
  display:flex; align-items:center; gap:8px; color:#cfd7e3;
  font-weight:400; font-size:13px; user-select:none;
}
.agree input{ width:18px; height:18px; accent-color:#fdcf4f; }
.agree a{ color:#fdcf4f; text-decoration:underline; }

/* 닫기 버튼 */
.consult-close{
  position:absolute; right:10px; top:8px; width:32px; height:32px; line-height:32px;
  border:0; border-radius:50%; background:rgba(255,255,255,.12); color:#fff;
  font-size:22px; cursor:pointer;
}

/* 접근성: 스크린리더 전용 */
.sr-only{
  position:absolute !important; width:1px; height:1px; padding:0; margin:-1px;
  overflow:hidden; clip:rect(0,0,0,0); white-space:nowrap; border:0;
}

/* 반응형: 모바일에서는 1열로 전환, 입력/버튼 100% */
@media (max-width:900px){
	.quick-bar-bottom{ display:none; }
  .qb-inner{
    grid-template-columns: 1fr; row-gap:10px; align-items:flex-start;
    padding:12px;
  }
  .quick-bar-bottom .strong{ min-width:0; max-width:none; font-size:18px; }
  .fields-right{ align-items:stretch; }
  .row-controls{ flex-wrap:wrap; justify-content:stretch; }
  .consult-form input[type="text"],
  .consult-form input[type="tel"]{
    flex:1 1 100%; min-width:0; height:44px;
  }
  .quick-bar-bottom .quick-bar-bottom-btn{
    width:100%; height:44px; border-radius:12px;
  }
}

/* (선택) 전송 중 버튼 피드백 */
.quick-bar-bottom .quick-bar-bottom-btn.is-loading{
  filter: grayscale(0.3) contrast(1.2);
}

/* (선택) 미니 토스트 — jQuery 스크립트와 함께 사용 */
.toast-mini{
  position: fixed; left: 50%; bottom: 90px; transform: translateX(-50%) translateY(10px);
  background: rgba(20,22,26,.95); color:#fff; font-size:14px; padding:10px 14px; border-radius:10px;
  opacity:0; pointer-events:none; transition: all .25s ease; z-index: 10000;
}
.toast-mini.show{ opacity:1; transform: translateX(-50%) translateY(0); }
