@charset "utf-8";
@import url('//fonts.googleapis.com/earlyaccess/notosanskr.css');

/* 초기화 */
html {overflow-y:scroll}
body {margin:0;padding:0;font-size:16px;font-family: 'Noto Sans KR', 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', 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', sans-serif;;font-size:1em}
input[type="submit"] {cursor:pointer}
button {cursor:pointer;background: none; border: none; padding: 0; margin: 0; color: inherit;}

textarea, select {font-family: 'Noto Sans KR', 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 {text-decoration: none; color: #202124; letter-spacing: -0.3px; word-break: keep-all; color: inherit;}
*, :after, :before {
  -webkit-box-sizing:border-box;
  -moz-box-sizing:border-box;
  box-sizing:border-box;
}

input[type=text],input[type=password], textarea {display: inline-block; width: 100%; height: 48px; padding: 0 16px; color: #222; border: 1px solid #ccc; border-radius: 8px;  vertical-align: middle;}
input[type=text]:hover,input[type=password]:hover, textarea:hover,select:hover {box-shadow: none; border-color: var(--main-color);}
input[type=text]:focus,input[type=password]:focus, textarea:focus,select:focus {box-shadow: none; border-color: var(--main-color);}
input[type=text]:focus-visible,input[type=password]:focus-visible, textarea:focus-visible,select:focus-visible{outline: none;}
input#auto_login {width: 20px; height: 20px; vertical-align: middle; border: 1px solid #ccc; border-radius: 4px; background-color: #fff;}

.placeholdersjs {color:#aaa !important}

:root {
  --main-color: #43baac;
  --sub-color: #FDEBD0;
  --text-color: #333333;
  --bg-color: #FAF8F0;
  --accent-color: #2C3E50;
}

/* 로그인 */
.sign_wrap {
  width: 830px;
  margin: 16px auto;
  background: #fff;
  border-radius: 12px;
  padding: 40px 32px;
  background: #f9fafc;
}
.sign_box {
  margin-right: 150px;
  margin-left: 150px;
}
.login_box {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  flex-direction: column;
}
.login_links{display: none;}
.sign_save {
  margin: 5px 0;
}

.login_box div{width: 100%;}

.login-submit {
  height: 56px;
  line-height: 55px;
  font-size: 18px;
  word-break: keep-all;
}
.login-submit button {
  display: inline-flex  ;
  justify-content: center;
  align-items: center;
  height: 48px;
  padding: 0 24px;
  color: #fff;
  font-weight: 500;
  vertical-align: middle;
  border: 1px solid #ddd;
  text-decoration: none;
  border-radius: 8px;
  background-color: var(--main-color);
  transition: opacity 0.3s, color 0.3s, border-color 0.3s, background-color 0.3s;
  width: 100%;
}
.login-submit button:hover {
  background-color: #28726a;
}
.login-submit button:disabled {
  cursor: default;
  opacity: 1;
  color: #999;
  border-color: #e1e3e6;
  background-color: #e1e3e6;
}
/* 레이아웃 크기 지정 */
#hd, #wrapper, #ft {}

#hd_pop,
#tnb .inner,

#gnb
#container_wr,
#ft_wr {}

.inner_wrap{width: 1260px; margin: 0 auto;}
.container_wrap {margin-top: 80px; padding: 60px 0 100px 0; height: 100%;}
.bo_title {display: none;min-width: 1260px; margin: 0 auto 60px auto; padding: 0; font-size: 36px; font-weight: 800; text-align: center; line-height: 1.2;}

/* 팝업레이어 */
.hd_pops {position:absolute;border:1px solid #e9e9e9;background:#fff}
.hd_pops img {max-width:100%}
.hd_pops_con {}
.hd_pops_footer:after {display:block;visibility:hidden;clear:both;content:""}
.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 {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.5); z-index: 9999; display: flex; justify-content: center; align-items: center; transition: opacity 0.5s ease;}
#hd_pop.hidden {opacity: 0; pointer-events: none;}
.hd_pop_content {width: 700px; max-width: 90vw; background: transparent; display: flex; flex-direction: column; align-items: center;}
.hd_pop_swiper_wrapper {position: relative; width: 700px; max-width: 90vw; display: flex; justify-content: center; align-items: center;}
.hd_pop_swiper {width: 100%; height: auto; position: relative;}
.hd_pop_swiper .swiper-slide {display: flex; justify-content: center; align-items: center;}
.hd_pop_swiper .swiper-slide img {max-width: 100%; max-height: 70vh; object-fit: contain; height: auto;}
.hd_popup_prev,.hd_popup_next {position: absolute; top: 50%; transform: translateY(-50%); z-index: 10000; cursor: pointer; padding: 10px;}
.hd_popup_prev { left: -200px !important; position: relative; z-index: 1;}
.hd_popup_next { right: -200px !important; position: relative; z-index: 1;}
.hd_popup_prev i,.hd_popup_next i {font-size: 2rem; color: #fff;}
.hd_popup_pagination_wrapper {position: relative; width: 100%; height: 30px; display: flex; justify-content: center; align-items: center; margin-top: 10px;}
.hd_popup_fraction {color: #fff; padding: 6px 14px; border-radius: 12px; font-size: 14px; z-index: 10001; width: fit-content !important; text-align: center;}
.hd_pops_footer {margin-top: 12px; display: flex; gap: 10px;}
.hd_pops_footer button {padding: 6px 12px;border: none; border-radius: 5px 15px 5px 20px; background: #fff; color: var(--text-color); cursor: pointer; font-size: 1.2rem;}

#hd_pop {position: fixed; inset: 0; z-index: 9999; display: none; opacity: 0; transition: opacity 0.5s ease; align-items: center; justify-content: center; font-family: 'Pretendard', sans-serif;}
#hd_pop.visible {opacity: 1;}
#hd_pop .hd_pop_dim {position: absolute; inset: 0; background: rgba(0,0,0,0.6);}
#hd_pop .hd_pop_container {position: relative; max-width: 600px; width: 90%; border-radius: 16px; overflow: hidden; z-index: 10; padding: 20px 20px 100px; margin-bottom: 80px; animation: fadeInPop 0.4s ease;}
@keyframes fadeInPop {from { transform: scale(0.95); opacity: 0; } to { transform: scale(1); opacity: 1; }}
#hd_pop .hd_pop_close {position: absolute; top: 10px; right: 14px; font-size: 24px; background: rgba(255,255,255,0.9); border: none; color: #333; cursor: pointer; border-radius: 50%; width: 36px; height: 36px; line-height: 34px;  text-align: center; box-shadow: 0 2px 5px rgba(0,0,0,0.15); transition: all 0.2s ease; z-index: 20;}
#hd_pop .hd_pop_close:hover {background: #43baac; color: #fff;}
#hd_pop .hd_pop_dontshow {position: absolute; bottom: 40px; left: 50%; transform: translateX(-50%); font-size: 14px; background: #43baac; border: none; padding: 8px 16px; border-radius: 8px; cursor: pointer; color: #fff; box-shadow: 0 2px 5px rgba(0,0,0,0.1); transition: background 0.2s ease;}
#hd_pop .hd_pop_dontshow:hover {background: #3aa799;}
#hd_pop .hd_pop_swiper {display: flex; flex-direction: column; align-items: center;}
#hd_pop .hd_pop_swiper img {max-width: 100%; height: auto; display: block; border-radius: 12px; box-shadow: 0 4px 12px rgba(0,0,0,0.08);}
#hd_pop .hd_pop_controls {display: flex; justify-content: center; align-items: center;}
#hd_pop .hd_pop_pagination {display: flex; gap: 8px; justify-content: center;}
.swiper-pagination-bullet {width: 16px; height: 16px;  background: #fff; border-radius: 50%; opacity: 1;transition: all 0.3s ease;}
.swiper-pagination-bullet-active {background: #43baac; opacity: 1; transform: scale(1.2); width: 26px; border-radius: 10px;}
#hd_pop .pop-nav {position: absolute; top: 50%; transform: translateY(-50%); z-index: 10000; width: 64px; height: 64px; background: rgba(255,255,255,0.9); border-radius: 50%; box-shadow: 0 2px 5px rgba(0,0,0,0.2); display: flex; align-items: center; justify-content: center;}
#hd_pop .pop-nav img {width: 44px; height: auto;}
#hd_pop .swiper-button-prev {left: calc(50% - 320px);}
#hd_pop .swiper-button-next { right: calc(50% - 320px);}
#hd_pop .pop-nav:hover {background: #43baac;}

/* 상단 레이아웃 */
#container_title {display: none;}
#main_header {position: fixed; width: 100%; z-index: 999; background: #FFF;}
#hd{background: rgba(255, 255, 255, 0.0); transition: background 0.3s ease; border: 0; position: fixed; top: 0; left: 0; right: 0; z-index: 102; height: 80px; text-align: center; font-size: 16px;}
#hd:after{content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0px; z-index: -1; background: rgba(255, 255, 255, 0.25); backdrop-filter: blur(5px); border-bottom: 1px solid #00000014;}
#hd.bg {background: rgba(255, 255, 255, 0.97);}
#tnb {border-bottom:1px solid #383838;margin:0 auto}
#tnb:after {display:block;visibility:hidden;clear:both;content:""}
#tnb .inner {margin:0 auto}

#logo {display: flex; align-items: center;}
#logo a img {display: block; text-indent: -9999px; background-size: 100%;  background-repeat: no-repeat; width: 210px; height: 36px; text-indent: -9999px;}

#hd_sch h3 {position:absolute;font-size:0;line-height:0;overflow:hidden}
#hd_sch #sch_stx {border-radius: 10px 15px 15px 25px; border: 2px solid var(--main-color); background: #FFF; width: 100%; height: 55px; padding: 0.7em 1em 0.7em 1.3em; box-sizing: border-box; float: left;}
#hd_sch #sch_submit {width: 55px; height: 55px; border-radius: 0 15px 15px 0; background-color: var(--main-color); line-height: 55px; text-align: center; padding: 0; font-size: 1.3em; transition: all 0.3s ease; position: absolute; content: ''; right: 0px; top: 0px;}
#hd_sch #sch_stx:focus {outline: none; box-shadow: none;border: 2px solid var(--main-color);}
#hd_sch #sch_stx::placeholder {width: 98%; color: #929292; font-size: 1.2em; font-weight: 500; border: none; font-family: 'Pretendard';}

#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}

.search-layer-wrap .wrap {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); max-width: 638px; margin: 30px 0; background-color: #fff; border-radius: 8px; box-shadow: 0px 4px 4px 0px rgba(0, 0, 0, 0.12);}
.tit-layer {overflow: hidden; margin: 0 0 10px 0; padding: 24px 88px 0 24px; font-size: 20px; color: #222; line-height: 24px; font-weight: 700; background-color: #fff; border-radius: 8px;}
.cont-layer {overflow: hidden; padding: 24px;}
.search-section.mgb20 {position: relative; margin: 0 0 40px 0; padding: 24px 40px 24px 40px; border-radius: 12px; background-color: #F9FAFC;}
.condition-area {display: flex; flex-wrap: wrap; gap: 0 24px;}
.line {display: flex; gap: 0 24px; width: 100%;}
.block {width: 100%;}
input#titleKeyword {display: inline-block; width: 100%; height: 40px; padding: 0 16px; color: #222; border: 1px solid #ccc; border-radius: 8px; vertical-align: middle; transition: unset;}
#titleKeyword:focus,
#titleKeyword:hover {border-color: #44465b; outline: none; box-shadow: none; transition: unset;}

.button-more {position: absolute; right: 40px; bottom: 24px;}
button.button.imp01 {min-width: 80px; height: 40px; padding: 0 16px; line-height: 39px; font-weight: 400; color: #fff; border: 0; background-color: var(--main-color); border-radius: 8px;}
.search-layer-wrap .btn-close-modal {background: url(../img/close.png) center / contain no-repeat; overflow: hidden; display: block; position: absolute; top: 16px; right: 16px; z-index: 2025; width: 24px; height: 24px; margin: 0; padding: 0; border: 0; font-size: 1px; line-height: 1px; text-indent: -9999px;}
.mobile-only{display: none;}
.search-layer-wrap {position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0, 0, 0, 0.7); display: none; z-index: 9999;}

/* 메인메뉴 */
.mobile-main-banner,.mobile-banner-wrap { display: none;}
.gnb_top {min-width: auto; max-width: 1960px; display: flex; align-items: center; justify-content: space-between; height: inherit; margin: auto; padding: 0 36px;}
.gnb_2da{color: var(--text-color)}
.gnb_2da:hover {color: var(--main-color);}
#gnb{height: 100%;}
#gnb>ul{height: inherit; display: flex; align-items: center; text-align: left; padding-left: 90px;}
#gnb>ul>li{height: inherit; width: 200px; position: relative; display: flex; align-items: center;}
#gnb>ul>li>a{height: inherit; position: relative; display: inline-flex; align-items: center; justify-content: center; font-size: 18px; font-weight: 700;}
#gnb.active .sub-menu:after {height: inherit;}
.tnb{width: 210px; display: flex; align-items: center; gap: 18px;}
.tnb>ul{display: flex; justify-content: flex-end; gap: 16px; margin-left: auto;}
.sub-menu ul {position: absolute; left: 0; right: 0; top: 80px; padding: 35px 0; z-index: 9; opacity: 0; visibility: hidden; transition: 0.4s ease -0.1s;}
#gnb.active .sub-menu ul {opacity: 1; visibility: visible; transition-delay: 0.1s;}
#hd.bg .sub-menu:after{background: rgba(255, 255, 255, 0.66);}
#hd .sub-menu:after{background: rgba(255, 255, 255, 0.03); backdrop-filter: blur(5px);}
.sub-menu:after {content: ''; position: fixed; left: 0; right: 0; top: 80px; background: rgba(255, 255, 255, 0.99); box-shadow: 0px 7px 10px -3px #0000001F; height: 0; transition: 0.4s ease;}
.iconset {overflow: hidden; display: inline-block; margin: -1px 0 0 0; padding: 0; font-size: 1px; text-indent: -9999px; text-align: left; line-height: 0; vertical-align: middle; background-position: 0 0; background-repeat: no-repeat; background-size: 100% auto; width: 24px; height: 24px;}
.circle-user{background-image: url(../img/circle-user.png);}
.admin-user{background-image: url(../img/admin.png);}
.login-user{background-image: url(../img/login.png);}
.logout-user{background-image: url(../img/logout.png);}
.issue-loupe{background-image: url(../img/issue-loupe.png);}
.bars-staggered{background-image: url(../img/bars-staggered.png);}
#gnb>ul>li>a:hover, #gnb>ul>li>a:hover:before {transition: 0.3s ease;}
#gnb>ul>li>a:hover, #gnb>ul>li.active>a {color: var(--main-color); text-decoration: none;}
#gnb>ul>li>a:hover:before, #gnb>ul>li.active>a:before {width: 100%;}
#gnb>ul>li>a:before {content: ''; position: absolute; bottom: 0px; height: 2px; background: var(--main-color); width: 0;}
.sub-menu li {padding: 3px 0;}

.bars-staggered-all.active {display: block;}
.bars-staggered-all {position: fixed; top: 0; left: 0; right: 0; bottom: 0; background: rgba(0, 0, 0, 0.8); text-align: left; padding: 0; min-width: 1260px; overflow: hidden; display: none; z-index: 9999;}
.all-menu-inner {position: relative; width: 1260px; height: 90vh; top: 50%; transform: translateY(-50%); overflow: hidden; border: 1px solid #ddd; border-radius: 4px; margin: auto; background: #fff; padding: 0;}
.all-menu-body {padding: 30px; width: 320px; height: 100%; background: #eee;}
.all-menu-body h5 {font-size: 20px; font-weight: 700; color: #111; position: relative; display: flex; align-items: center; gap: 15px; margin-bottom: 20px; cursor: pointer;}
.depth-toggle.active {display: flex;}
.depth-toggle {display: none;flex-wrap: wrap; margin-bottom: 35px; position: absolute; top: 0; left: 330px; width: calc(100% - 330px); padding: 30px; max-height: 100%; overflow: auto;}
.all-menu-body h5.active {color: var(--main-color);}
.depth-toggle>ul>li {font-size: 16px; font-weight: 400; color: #222; align-items: center; gap: 8px; margin-bottom: 5px; padding-left: 0; cursor: pointer;}
.gnb-close {position: absolute; top: 30px; right: 36px; cursor: pointer; z-index: 1; background-image: url(../img/close.png);}

/* 중간 레이아웃 */
.image-gradient {position: absolute; bottom: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to top, rgba(0, 0, 0, 0.6), transparent); z-index: 1; pointer-events: none;}
#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}

.lt_wr {width:32%}
.lt_wr:nth-child(3n+1) {clear:both}

.banner_area {gap: 40px; position: relative; display: flex; align-items: flex-end; flex-direction: row; z-index: 99;}
.service_list_box {margin-top: 30px; background: #fff; border-radius: 10px 20px 20px 60px; box-shadow: 0px 0px 16px rgb(137 146 44 / 20%); padding: 7%;}
.service_list_box_tit_mob{display: none;}
.service_list_area {gap: 20px; margin-top: 14px;}
.service_list_area > li{width: 45%;}
.service_list_area > li .service_area_item {min-width: 178px; display: flex; align-items: center; font-size: 1.1rem; color: #3a3a3a; font-weight: 500; white-space: nowrap;}
.service_list_area > li .service_area_item .item_icon {min-width: 80px; min-height: 80px; line-height: 80px; background-color: #F1FAF8; border-radius: 20px; text-align: center; margin-right: 15px;display: flex; justify-content: center; align-items: center; transition: 0.25s cubic-bezier(0.4, 0, 1, 1);}
.service_list_area > li .service_area_item .item_icon i{transition: transform 0.25s ease-in-out;}
.service_list_area > li .service_area_item:hover .item_icon i{transform: translateY(-8px);}
.service_list_area > li .service_area_item:hover .item_icon{box-shadow: 0px 0px 16px rgb(137 146 44 / 20%);}

.section_1 {display: flex; gap: 40px; align-items: center; justify-content: space-between; z-index: 1;}
.map_area_wrapper {text-align: center; padding-top: 5%; display: block;  z-index: 99; position: relative; padding-left: 20px; padding-right: 20px;}
.map_area_wrapper img {max-width: 100%; height: auto;}
.centerBox {text-align: start; width: 450px; background: #fff; border-radius: 16px; box-shadow: 0px 8px 16px 0px #3A2EC31F; padding: 36px 30px; transition: 0.5s ease; animation: none; color: #000;}
.centerBox h2 {font-size: 26px; margin-bottom: 18px; color: #000;}
.centerItem {display: flex; flex-direction: column; align-items: flex-start; gap: 12px;}
.centerItem h4 {font-size: 24px;}
.centerItem p {display: flex; align-items: flex-start; text-align: start;}
.centerItem p strong {color: #333;}
.centerBox:hover{background: #202454;}
.centerBox:hover>.centerItem>h4, .centerBox:hover>h2, .centerBox:hover>.centerItem>p, .centerBox:hover>.centerItem>p>strong {color: #fff;}
.centerBox:hover.centerBox p {color: #fff;}
.all_news {position: relative; z-index: 99;}
.tab_menu li {padding: 0.75em 1.4em; text-align: center; display: inline-block;}
.tab_menu li.active {background-color: var(--accent-color); border-radius: 5px 5px 0 0;}
.tab_menu li a {font-size: 1.26em; font-weight: 500; display: block;}
.tab_menu li.active a {color: #fff; }

.tab-panel { display: none; margin-top: 20px; }
.tab-panel.active { display: grid; }

.tab-title h1 {font-size: 2.2em; font-weight: 700; display: inline-block; margin-right: 15px;}
.tab-menu {position: absolute; top: 0; right: 0; width: 64%; border-bottom: 2px solid #dedede;}
.tab_btn_more {width: 34px; height: 34px; border-radius: 34px; line-height: 34px; text-align: center; background: #5F6362; box-shadow: 0 3px 10px 0 rgba(0, 0, 0, 0.25); margin-left: 8px;}
.tab_btn_more:hover {background: var(--main-color);}
#tabMoreLink {display: block;}

.sbnSwiper{height: 100vh;}
.sbnSwiper .swiper-slide img {width: 100%; height: 100%; object-fit: cover; display: block;}
.sbnSwiper .swiper-slide img.jb-map-img {width: auto; height: auto;object-fit: unset; position: relative; display: inline-block; max-width: 100%;}
.sbnSwiper .swiper-slide {position: relative;}
.slide-cont {position: absolute;top: 40%; left: 50%; transform: translate(-50%, -50%); z-index: 2; width: 100%; max-width: 1920px; padding: 0 20px; color: #fff; text-align: center;}
.one-area {display: flex; justify-content: space-evenly; align-items: center;}
.one-title {text-align: center; color: var(--text-color); display: flex; justify-content: center; flex-direction: column; align-items: center;}
.four-area {display: flex; justify-content: space-evenly; align-items: center;}
.slide_four-title {text-align: center; color: var(--text-color); display: flex; justify-content: center; flex-direction: column; align-items: center;}
.one-title h2 {font-size: 40px;}
.one-title p {font-size: 18px;}
.slide_four-title h2 {font-size: 40px; font-weight: 100;}
.slide_four-title p {font-size: 18px; font-weight: 200;}
.one {max-width: 1300px;}
.three {max-width: 1300px; top: 35%;}
.up, .up, .down, .left, .right {display: inline-block; opacity: 0; pointer-events: none; transition: transform 2s ease-out, opacity 1.2s ease-out;}
.up    { transform: translateY(-100%); }
.down  { transform: translateY(100%); }
.left  { transform: translateX(-100%); }
.right { transform: translateX(100%); }

.delay-0 { transition-delay: 0s; }
.delay-1 { transition-delay: 0.2s; }
.delay-2 { transition-delay: 0.6s; }
.delay-3 { transition-delay: 1s; }
.delay-4 { transition-delay: 1.4s; }
.delay-5 { transition-delay: 1.8s; }

.swiper-slide-active .up, .swiper-slide-active .down, .swiper-slide-active .left, .swiper-slide-active .right {transform: translate(0, 0); opacity: 1; pointer-events: auto;}
.slide-overlay {position: absolute; top: 50%; left: 10%; transform: translateY(-50%); opacity: 1; transition: transform 0.6s ease-out, opacity 0.6s ease-out; background: rgba(0, 0, 0, 0.4); color: #fff; padding: 20px; border-radius: 8px; max-width: 300px;}
.slide-overlay .cards {display: flex; gap: 12px;}
.slide-overlay .card {background: rgba(255, 255, 255, 0.9); color: #333; padding: 10px; border-radius: 6px; text-align: center;}
.banner-tabs {position: absolute; width: fit-content; right: 0; bottom: 50%; display: flex; align-items: flex-end; gap: 7px; z-index: 10; flex-direction: column;}
.banner-tab {background: rgba(255, 255, 255, 0.9); backdrop-filter: blur(5px); border-radius: 20px 0px 0px 20px; height: 60px; padding: 18px 24px; width: 180px; font-size: 14px; font-weight: 700; color: #202454; text-align: left; transition: 0.3s ease; display: flex;}
.banner-tab.active {background: #fff; color: #000;}
.slide-cont.main p {font-size: 40px;}
.slide-cont.main h1 {font-size: 70px; margin-bottom: 35px;}
#tab-01.active {width: 210px; background: #e38b4d; color: #fff; padding: 18px 24px;}
/*#tab-02.active {width: 210px; background: #409c95; color: #fff; padding: 18px 24px;}*/
#tab-02.active {width: 210px; background: #c93030; color: #fff; padding: 18px 24px;}
#tab-03.active {width: 210px; background: #5b5ca5; color: #fff; padding: 18px 24px;}
#tab-04.active {width: 210px; background: #409c95; color: #fff; padding: 18px 24px;}
.section-desc {text-align: start; color: #333; font-size: 36px; font-weight: 100;}
.one-btn a {display: inline-flex; align-items: baseline; gap: 12px; background: #e38b4d; color: #fff; height: 40px; line-height: 40px; font-size: 16px; padding: 0px 16px; border-radius: 99px; text-decoration: none;}
.two-btn a {display: inline-flex; align-items: baseline; gap: 12px; background: #409c95; color: #fff; height: 40px; line-height: 40px; font-size: 16px; padding: 0px 16px; border-radius: 99px; text-decoration: none;}
.three-btn a {display: inline-flex; align-items: baseline; gap: 12px; background: #c93030;color: #fff; height: 40px; line-height: 40px; font-size: 16px; padding: 0px 16px; border-radius: 99px; text-decoration: none;}
.slide_one_title {display: flex; justify-content: space-between; padding: 0 20px; margin: 20px 0 50px;}
.slide_two_title {display: flex; justify-content: space-evenly; padding: 0 20px; margin: 20px 0 50px; align-items: flex-end;}
.slide_three_title {display: flex; justify-content: space-between; padding: 0 20px; margin: 20px 0 50px;}

.news_header {padding: 0 20px; margin-bottom: 30px; font-size: 24px;}

.centerBox {padding: 1rem; border-radius: 6px; background: #fafafa;}
.centerBox h2 {margin-bottom: .5rem;}
.centerBox p {margin: .25rem 0; line-height: 1.4;}
.centerItem {margin-top: 1rem; padding-top: 1rem; border-top: 1px solid #ddd;}
.centerItem h4 {margin-bottom: .5rem;}

.greeting-image {width: 100%; max-width: 1200px; margin: 0 auto; overflow: hidden;}
.greeting-image img {width: 100%; height: auto; display: block;}

/* 하단 레이아웃 */
#ft {background: #fff; position: relative; padding: 28px 0;}
#ft, #ft a{color: #717171; font-size: 16px; font-family: 'Pretendard';}
.ft_menu{font-size: 16px;}
#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; right: 2%; bottom: 8%; width: 56px;height: 56px; text-align: center; transition: 0.3s all; border-radius: 12px; box-sizing: border-box; z-index: 100; background-color: #fff; border: 1px solid #eee;}
#top_btn:hover i {color: var(--main-color) !important;}
.ft_inner {padding-left: 40px; padding-right: 40px;}
#ft .ft_menu li {display: inline-block; margin-right: 18px; font-weight: 600;}
#ft .ft_address {margin-top: 1.4em; font-weight: 400;}
#ft .ft_address > p {margin-bottom: 7px;}
.ft_list_select {-webkit-tap-highlight-color: transparent; background-color: #fff; border: 1px solid #C9CBCD; border-radius: 3px; box-sizing: border-box; clear: both; cursor: pointer; display: block; float: left; font-family: inheritinherit; font-size: 15px; font-weight: normal; height: 36px; line-height: 36px; outline: none; padding-left: 20px; padding-right: 20px; position: relative; text-align: left !important; -webkit-transition: all 0.2s ease-in-out; transition: all 0.2s ease-in-out; -webkit-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; white-space: nowrap; width: 130px; box-sizing: border-box;}
.list_select {background-color: #fff; border-radius: 0; box-shadow: 0 0 0 1px rgba(101, 101, 101, 0.3); box-sizing: border-box; margin-top: 1px; opacity: 0; overflow: hidden; padding: 0; pointer-events: none; position: absolute; top: 100%; left: 0; -webkit-transform-origin: 50% 0; -ms-transform-origin: 50% 0; transform-origin: 50% 0; -webkit-transform: scale(0.75) translateY(-21px); -ms-transform: scale(0.75) translateY(-21px); transform: scale(0.75) translateY(-21px); -webkit-transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out; transition: all 0.2s cubic-bezier(0.5, 0, 0, 1.25), opacity 0.15s ease-out; z-index: 9999; width: 100%;}
.ft_list_select .option.selected {color: var(--text-color);}
.ft_list_select.open .list_select {opacity: 1; pointer-events: auto; -webkit-transform: scale(1) translateY(0); -ms-transform: scale(1) translateY(0); transform: scale(1) translateY(0);}
#ft .ft_list_select {width: auto; padding-right: 126px; height: 49px; line-height: 50px;}
.option.selected.focus {cursor: pointer; font-weight: 400; line-height: 40px; list-style: none; min-height: 40px; outline: none; padding-left: 20px; padding-right: 102px; text-align: left; -webkit-transition: all 0.2s; transition: all 0.2s;}
.ft_list_select .list_select .option:hover {background-color: #f2f2f2;}
.ft_list_select:after{border-bottom: 2px solid #717171; border-right: 2px solid #717171; content: ''; display: block; height: 5px; margin-top: -4px; pointer-events: none; position: absolute; right: 20px; top: 50%; -webkit-transform-origin: 66% 66%; -ms-transform-origin: 66% 66%; transform-origin: 66% 66%; -webkit-transform: rotate(45deg); -ms-transform: rotate(45deg); transform: rotate(45deg); -webkit-transition: all 0.15s ease-in-out; transition: all 0.15s ease-in-out; width: 5px;}
.ft_list_select.open:after {-webkit-transform: rotate(-135deg); -ms-transform: rotate(-135deg); transform: rotate(-135deg);}
.ft_list_select:hover {border-color: #dbdbdb;}
.ft_list_select:active, .ft_list_select.open, .ft_list_select:focus {border-color: #999;}
#ft .ft_menu li {display: inline-block; margin-right: 18px; font-weight: 600;}

.banner_collect_area {position: relative; width: 100%; background-color: #fff; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd;}
.banner_collect_area .title {padding-top: 3px;}
.banner_cts {width: calc(100% - 255px);}
.banner_cts .banner_box::after {position: absolute; content: ''; display: block; right: -2px; top: calc(50% - 2px); width: 4px; height: 4px; background-color: #CED1D7; border-radius: 50%;}
.banner_box a img {width: 165px; height: 35px;}
.banner_ctrl_area {gap: 4px;}
.banner_cts .banner_box {position: relative; display: inline-block; height: 70px; line-height: 70px; text-align: center; padding: 0 27px;}
.title i {margin-right: 10px;}

.flexList {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
.pd40 {padding-left: 40px; padding-right: 40px;}
.banner_collect_area .wrap>.flexList {justify-content: flex-start; gap: 36px;}
#banner_collect .wrap {max-width: 1520px;}
.wrap {width: 100%; max-width: 1440px; margin: 0 auto; position: relative;}
.banner_collect_area .wrap {max-width: 1520px;}
.banner_ctrl_area .swiper-button-prev,.banner_ctrl_area .swiper-button-next {position: static !important; transform: none !important; top: auto !important; left: auto !important; right: auto !important; margin: 0 !important; z-index: 1 !important;}
.swiper-button-prev::after,.swiper-button-next::after {display: none;}
.banner_ctrl_area .btn {width: 25px; height: 25px !important; vertical-align: middle; display: flex; align-items: center; justify-content: center; cursor: pointer;}
#ft .list_select {top: unset; bottom: 100%;}
.ft_inner.flexList {align-items: flex-end; gap: 10%;}

.news_area {margin: 100px auto 30px; width: 1260px;}
.mob{display: none;}

/* 게시물 선택복사 선택이동 */
#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:none;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.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 {display: inline-flex; justify-content: center; align-items: center; height: 48px; padding: 0 24px; color: #222; border-color: #222 !important; font-weight: 500; vertical-align: middle; border: 1px solid #ddd; text-decoration: none; border-radius: 8px; background-color: #fff; transition: opacity 0.3s, color 0.3s, border-color 0.3s, background-color 0.3s;}
.btn_submit:hover {background: #f6f6f6;}
.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-flex; justify-content: center; align-items: center; height: 48px;  padding: 0 24px; color: #222; border-color: #222 !important; font-weight: 500; vertical-align: middle; border: 1px solid #ddd; text-decoration: none;  border-radius: 8px;  background-color: #fff;  transition: opacity 0.3s, color 0.3s, border-color 0.3s, background-color 0.3s;}
button.btn_cancel {display:inline-block;background:#969696;color:#fff;text-decoration:none;vertical-align:middle}
.btn_cancel:hover {background:#f6f6f6}
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 {}
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}
.fa-paperclip {color: #666; font-size: 13px;}
.tab-list {display: grid; grid-auto-flow: column; flex-wrap: nowrap; align-items: center; position: relative; list-style-type: none; margin: 0 0 50px 0; padding: 0; border-radius: 8px;}
.tab-list.type02 {flex-wrap: wrap; justify-content: flex-start; gap: 12px;}
.tab-list > li {display: block; width: 100%; height: 100%; min-height: 56px; margin: 0; padding: 0; border: 1px solid #e2e5eb; border-width: 1px 0 1px 1px;}
.tab-list.type02 > li {width: auto; height: 48px; border-radius: 24px; border-width: 1px;}
.tab-list.type02 > li:first-child {border-radius: 24px;}
.tab-list > li .tab {display: flex; justify-content: center; align-items: center;  position: relative; z-index: 2; width: 100%; height: 100%; min-height: 56px; margin: -1px 0 0 0; padding: 16px 5px; text-decoration: none; text-align: center;  font-weight: 500; line-height: 1.2; color: #202454; border-radius: 8px; background-color: rgba(255, 255, 255, 0);}
.tab-list > li.on .tab {color: #fff;font-weight: 700; background-color: var(--main-color); box-shadow: 0 6px 8px 0 rgba(32, 36, 84, 0.12);}
.tab-list.type02 > li .tab {padding: 0 24px; border-radius: 24px; height: 48px;}
.tab-list > li:not(.on) .tab:hover {background-color: rgba(32, 36, 84, 0.1);}
.post-category {display: inline-block; padding: 4px 12px; font-size: 13px; color: #227c39; background: linear-gradient(135deg, #e7f8ed, #d4f3de); border: 1px solid #b3e5c7; border-radius: 24px; font-weight: 500; line-height: 1.4; white-space: nowrap; transition: background .3s, color 0.3s;}

/* 기본테이블 */
.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 {border-top: 1px solid #222;overflow: hidden; overflow-x: auto; white-space: nowrap;}
.tbl_head01 caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.tbl_head01 thead th {height: 56px; padding: 7px 16px; font-weight: 700; font-size: 15px; text-align: center; border-bottom: #eee; background-color: #f5f5f5; border-right: 1px solid #ddd;}
.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 {height: 42px;padding: 7px 16px; text-align: left; vertical-align: middle; border-right: 1px solid #eee; border-bottom: 1px solid #eee;}
.tbl_head01 td:last-child {border-right: none;}
.tbl_head01 tbody tr:hover td {}
.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 {display: inline-block; width: 100%; height: 40px;padding: 0 16px; color: #222; border: 1px solid #ccc; border-radius: 8px; vertical-align: middle; transition: none; resize: none;}
#wr_content{padding: 16px;}
.tbl_frm01 textarea {padding:2px 2px 3px}
.frm_input {}

.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}

/*기본 리스트*/
.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}

.image_grid_item {display: flex; flex-direction: column; justify-content: flex-start; padding: 10px; background: #fff; overflow: hidden; text-align: left; height: 100%;}
.image_grid_item img {width: 100%; height: 300px; object-fit: contain; display: block; margin-bottom: 10px; border-radius: 4px;}
.image_grid_item .item_subject {overflow: hidden; color: var(--main-color); font-size: 22px; font-weight: bold; line-height: 1.2em; text-overflow: ellipsis; white-space: nowrap; display: block; margin-bottom: 5px;}
.image_grid_item:hover .item_subject {text-decoration: underline;}
.image_grid_item .item_content {overflow: hidden; margin-top: 18px; display: -webkit-box; max-height: 3.6em;  color: #151515; font-size: 15px; line-height: 1.8em; white-space: normal; text-overflow: ellipsis; -webkit-line-clamp: 2; -webkit-box-orient: vertical;  margin-bottom: auto;}
.image_grid_item .item_date { display: block; color: #9A9A9A; font-size: 15px; font-weight: 500; margin-top: 25px; line-height: 1.2em;}
.image_grid_area {display: grid; grid-template-columns: repeat(2, 1fr); gap: 16px; margin: 30px 0;}

/*폼 리스트*/
.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 {}
.bo_sch_wrap {position: relative; margin: 0 0 40px 0; padding: 24px 40px 24px 40px; border-radius: 12px; background-color: #F9FAFC;}
.bo_sch form {display: flex; flex-wrap: nowrap; gap: 0 24px;}
.bo_sch select {box-shadow: none;overflow: hidden; white-space: nowrap; text-overflow: ellipsis; max-width: 100%; height: 40px; margin: 0; padding: 0 40px 0 16px; line-height: 40px; color: #222; vertical-align: middle; border: 1px solid #ddd; border-radius: 8px; background: #fff url(../../../img/down.png) no-repeat right 16px center;  background-size: 7px 7px; -webkit-appearance: none; -moz-appearance: none;min-width: 155px; background-color: #fff; border: 1px solid #ddd;}
.bo_sch .sch_input {display: inline-block; width: 100%; height: 40px; padding: 0 16px; color: #222; border: 1px solid #ccc; border-radius: 8px; vertical-align: middle; transition: none;}
.bo_sch .sch_input:hover, .bo_sch .sch_input:focus {outline: 0; border-color: #44465b; box-shadow: none; transition: none;}
.bo_sch:after {display: block; visibility: hidden; clear: both; content: "";}

/* 자바스크립트 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 {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin: 60px 0 0 0;}
.pg_wrap:after {display:block;visibility:hidden;clear:both;content:""} 
.pg {text-align: center;display: inline-flex;}
.pg_page, .pg_current {overflow: hidden; display: inline-block; width: 36px; height: 36px; margin: 0 4px; text-align: center; text-decoration: none; border-radius: 13px; line-height: 36px; color: #767676;}
.pg a:focus, .pg a:hover {text-decoration:none}
.pg_page {}
.pg_page:hover {background-color:#fafafa}
.pg_start {text-indent:-999px;overflow:hidden;background:url('../img/angle-left.png') no-repeat 50% 50% #eee;padding:0;border:1px solid #fafafa; background-size: 40% 40%;}
.pg_prev {text-indent:-999px;overflow:hidden;background:url('../img/double-left.png') no-repeat 50% 50% #eee;padding:0;border:1px solid #fafafa; background-size: 40% 40%;}
.pg_end {text-indent:-999px;overflow:hidden;background:url('../img/angle-right.png') no-repeat 50% 50% #eee;padding:0;border:1px solid #fafafa; background-size: 40% 40%;}
.pg_next {text-indent:-999px;overflow:hidden;background:url('../img/double-right.png') no-repeat 50% 50% #eee;padding:0;border:1px solid #fafafa; background-size: 40% 40%;}
.pg_start:hover,.pg_prev:hover,.pg_end:hover,.pg_next:hover {background-color:#fafafa}

.pg_current {color: #fff; text-decoration: none; font-weight: 500; background-color: var(--main-color);}

/* 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}

/* 조직도 */
.org-chart-wrapper {display: flex; flex-direction: column; align-items: flex-start; padding: 40px 20px 150px; font-family: sans-serif;}
.org-node {position: relative; background: linear-gradient(135deg, #43baac, #36988d); color: white; font-weight: bold; padding: 20px 25px; border-radius: 10px; text-align: center; margin: 20px auto; box-shadow: 0 4px 12px rgba(0, 80, 70, 0.4); width: 260px;}
.org-node::after {content: '';   position: absolute;   width: 1px;   height: calc(100% - -112px);   background: #edeef1;   top: 50px;   left: 50%;   z-index: -1;}
.no-line {}
.org-node.no-line::after {display: none;}
.org-node.mid {background: linear-gradient(135deg, #7ed3c9, #43baac);}
.org-node.branch {background: white; color: #333; border: 1px solid #ccc; box-shadow: 0 2px 5px rgba(0,0,0,0.1);}
.org-node.branch.no-line:before {position: absolute; top: 60px; left: -284px; content: ''; width: 295px; height: 1px; background: #edeef1; z-index: -1;}
.org-node.branch.no-line.R:before {position: absolute; top: 60px; left: 257px; content: ''; width: 285px; height: 1px; background: #edeef1; z-index: -1;}
.branch {top: 60px;}
.org-children {display: flex; justify-content: center; width: 100%;}
.styled-title {position: relative; padding-left: 12px; font-size: 18px; font-weight: bold; color: #333; margin-top: 50px;}
.styled-title::before {content: ''; position: absolute; top: 2px; left: 0; width: 4px; height: 80%; background-color: #43baac; border-radius: 2px;}
.table-scroll-wrapper {overflow: auto; width: 100%;}
.team-table {width: 100%;border-collapse: collapse; margin-top: 15px; table-layout: fixed; font-size: 14px; min-width: 600px;}
.team-table th, .team-table td {border: 1px solid #ccc; padding: 10px; word-break: break-word; min-width: 115px;}
.info-table tbody th {width: 150px !important; white-space: nowrap; background: #f5f5f5;}
.team-table thead th {background: #f5f5f5; font-weight: bold;}
.team-table td:first-child,
.team-table th:first-child {width: 50%;}
.org-children {display: flex; justify-content: center; gap: 20px;}
.org-node {padding: 20px 15px; border: 1px solid #ccc; border-radius: 6px; background-color: #f9f9f9; font-weight: bold; text-align: center;}
.org-node.branch {display: flex; flex-direction: column; align-items: center;}
.org-desc-list {width: 100%; line-height: 24px; margin-top: 8px; text-align: left; font-weight: normal; font-size: 14px; color: #444;}
.org-node.no-line {align-self: flex-start;}


  .info-link-button {width: 240px; height: 52px; font-size: 17px; font-weight: 600; background: var(--main-color); color: #fff; border: none; border-radius: 0px 40px 40px 40px; cursor: pointer; display: flex; justify-content: center; align-items: center;}
  .info-link-button:hover {background-color: #3aa194; color: #fff !important;}

.custom-check {display: none;}
.custom-check-label {display: inline-block; position: relative; padding-left: 28px; font-size: 15px; color: #333; cursor: pointer; user-select: none;}
.custom-check-label::before {content: ""; position: absolute; left: 0; top: 2px; width: 18px; height: 18px;  border: 2px solid #999; background-color: #fff; border-radius: 4px; box-sizing: border-box; transition: all 0.2s ease;}
.custom-check:checked + .custom-check-label::before {background-color: #43baac; border-color: #43baac; background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 16 16' fill='white' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M6 10.8L3.2 8 2 9.2l4 4 8-8L12.8 4l-6.8 6.8z'/%3E%3C/svg%3E");  background-repeat: no-repeat; background-position: center;  background-size: 12px 12px;}

#bo_v_con a > img {pointer-events: none;}
#bo_v_con img {width: auto !important; height: auto !important; max-width: 100% !important;}
#bo_v_con img[style],
#bo_v_con img[width],
#bo_v_con img[height] {width: auto !important; height: auto !important;}

/* 모바일 전용 */
@media (max-width: 1300px){
  .bo_title {min-width: 100%; width: 95%;}
  .inner_wrap {width: 95%;}
}
@media (max-width: 1260px){
  .news_area{width: 100%;}
  .bars-staggered-all{min-width: auto;}
  .all-menu-inner{width: 100%;}
}
@media (max-width: 1200px){
  html, body {font-size: 15px;}
  .ft_right {width: 100%; justify-content: flex-start; margin-top: 20px;}
  .ft_inner{padding-left: 0; padding-right: 0;}
  .pd40{padding-left: 0; padding-right: 0;}
  .wrap{width: 95%;}
  #ft{padding: 20px 0;}
}
@media (max-width: 1100px){
  .banner_ctrl_area, .banner_collect_area .title{display: none;}
  .banner_collect_area {margin-top: 10px; display: flex; justify-content: space-between;}
  .swiper.banner_cts {width: 100%;}
  .mob {margin-top: 10px; display: flex; justify-content: space-between;}
  .title.mob {display: flex;}
  .banner_ctrl_area.mob {display: flex;}
}
@media (min-width: 1024px) {
    .image_grid_area {
        grid-template-columns: repeat(3, 1fr);
    }
}
@media (max-width: 1000px){
  #gnb{width: 65%;}
  #gnb>ul{padding-left: 9%;}
  .swiper-slide .vertical-slide-group{gap: 20px !important;}
  .slide-cont{top: 50%;}
  .three{top: 50%;}
}
@media (max-width: 900px){
  .sbnSwiper {display: none;}
  .bo_sch .sch_input{margin-top: 20px;}
  .mobile-main-banner,.mobile-banner-wrap {display: block;}
  .mobile-main-banner {position: relative; width: 100%; height: 100vh; overflow: hidden;}
  .mobile-main-banner img.mobile-main-bg {width: 100%; height: 100%; object-fit: cover; position: absolute; top: 0; left: 0; z-index: 1;}
  .mobile-main-text {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); z-index: 2; text-align: center; color: white; padding: 20px; width: 100%;}
  .mobile-main-text h1 {font-size: 28px; font-weight: bold; margin-bottom: 15px;}
  .mobile-main-text p {font-size: 18px; font-weight: 300;}
  .mobile-main-text .highlight {color: #4CAF50;}
  .mobile-banner {position: relative; width: 100%; overflow: hidden; margin-bottom: 0;}
  .mobile-banner-bg {width: 100%; height: 750px; overflow: hidden;}
  .mobile-banner-bg img {width: 100%; height: 100%; object-fit: cover; vertical-align: middle;}
  .banner-text p{margin: 5px 0 20px; text-align: start;}
  .banner-content {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); text-align: center; z-index: 2; color: black; width: 100%;}
  .banner-text h2 {font-size: 22px; margin-bottom: 10px;}
  .banner-text {display: flex; flex-direction: column; align-items: flex-start; padding: 20px; font-size: 20px; font-weight: 300; line-height: 1.6;}
  .btn-one {display: inline-flex; align-items: center; gap: 12px; background: #e38b4d; color: #fff; height: 40px; line-height: 40px; font-size: 14px; padding: 0px 16px; border-radius: 20px; text-decoration: none; }
  .btn-two { display: inline-flex; align-items: center; gap: 12px; background: #409c95; color: #fff; height: 40px; line-height: 40px; font-size: 14px; padding: 0px 16px; border-radius: 20px; text-decoration: none; }
  .btn-three { display: inline-flex;align-items: center; gap: 12px;background: #c93030; color: #fff; height: 40px; line-height: 40px; font-size: 14px; padding: 0px 16px; border-radius: 20px; text-decoration: none; }
  .center-area-mobile .mobile-banner {background-image: url(../img/slide4.jpg); background-size: cover; background-position: center; background-repeat: no-repeat;}
  .center-area-mobile .banner-content {position: absolute; top: 100px;}
  .map-center-wrap {display: flex; flex-direction: column; align-items: center; margin-top: 150px;}
  .center-area-mobile .mobile-banner-bg {height: auto; width: 90%;}
  div#infoBox_m {margin-bottom: 50px; width: 95%; padding: 20px;}
  div#infoBox_m .centerBox { width: 100%;}
  .all-menu-body {padding: 0; width: 100%; background: #fff;}
  .all-menu-head {display: flex; border-bottom: 1px solid #00000014; height: 56px; align-items: center; justify-content: space-between; padding: 0 20px;}
  .all-menu-body h5{padding: 5px 20px; font-size: 20px; gap: 10px; margin: 0;}
  .depth-toggle {margin: 0; padding: 0; background: #F9FAFC; position: static; width: 100%; height: auto;}
  .depth-toggle.active {margin: 0 0 10px; padding: 15px 20px;}
  .gnb-close {position: static;}
  .search-section.mgb20 {margin: 0 0px 20px 0px; padding: 20px; border-radius: 8px;}
  input#titleKeyword {width: 100% !important;}
  button.button.imp01 {width: 100%;}
  .button-more {display: flex; gap: 8px; position: static; right: inherit; top: inherit; margin-top: 24px; text-align: center;}
  .search-layer-wrap .wrap {height: 100%;  margin: 0; width: 100%;  max-width: 100%;  border-radius: unset;}
  .tit-layer {margin: -1px 0 0; padding: 16px 42px 16px 16px; border-bottom: 1px solid #ddd; border-radius: unset;}
  .mobile-only{display: block;}
  .all-menu-inner {width: 100%; position: static; transform: none; height: 100%; overflow: auto; border-radius: 0;}
  .swiper.sbnSwiper {display: none;}
  .banner-tabs{display: none;}
  .gnb_top {max-width: 100%; max-height: 100%; padding: 0 20px;}
  #gnb{display: none;}
  #hd{background: #fff; height: 56px;}
  #logo .tnb {width: auto; gap: 10px;}
  .slide-cont.main h1 {font-size: 50px; line-height: 1.2;}
  .slide-cont.main p {font-size: 24px;}
  .container_wrap{margin-top: 56px; padding: 0;}
  .bo_title {min-width: 100%; margin: 0 0 20px 0; padding-top: 20px; font-size: 20px;}
  .topbar {display: none;}
  .bo_sch_wrap {margin: 0 0px 20px 0px !important; padding: 20px !important; border-radius: 8px !important;}
  .bo_sch form {display: flex; flex-direction: column;}
  .bo_sch button {margin-top: 20px;}
  #bo_v{padding: 20px 0;}
  #bo_v_title .bo_v_tit {margin-left: 0 !important; margin-right: 0 !important; margin-top: 20px !important; margin-bottom: 8px !important; font-size: 18px !important;}
  #bo_v_info .profile_info .profile_info_ct{flex-wrap: wrap !important;}
  .profile_info_ct dt {width: 60px;}
  .profile_info_ct dd {width: calc(100% - 68px);}
  .menu_btn01 a {width: 100% !important;}
  .centerBox:hover>.centerItem>h4, .centerBox:hover>h2, .centerBox:hover>.centerItem>p, .centerBox:hover>.centerItem>p>strong{color: #000;}
  .centerBox:hover {background: #fff !important;}
  .grid-item:hover {transform: none !important; transition: none !important;}
  .centerBox:hover.centerBox p {color: #000;}
  .news_area{margin: 50px auto;}
  .org-children {flex-direction: column; align-items: center;}
  .org-node.branch.no-line:before{display: none;}
  .org-node::after{height: calc(100% - -25em);}
  .sign_box{margin: 0;}
  .sign_wrap{width: 100%;}
  .greeting-image img {width: 200%; max-width: none; height: auto; display: block; transform: translateX(-45%); transform-origin: left top;}
.no-line{top: -180px;}
.org-node.branch.no-line.R {top: 145px;}
.org-node.branch.no-line {top: 0px;}
  }
@media (max-width: 768px) {
#hd_pop .hd_pop_container {width: 95%; padding: 16px 16px 80px; margin-bottom: 60px;}
    #hd_pop .hd_pop_close {top: 8px; right: 10px;  width: 30px; height: 30px; font-size: 20px;line-height: 28px;}
    #hd_pop .hd_pop_dontshow {bottom: 20px; font-size: 13px;  padding: 6px 12px;}
    #hd_pop .pop-nav {width: 48px; height: 48px;}
    #hd_pop .pop-nav img {width: 32px;}
    #hd_pop .swiper-button-prev {left: 8px;}
    #hd_pop .swiper-button-next {right: 8px;}
    #hd_pop .swiper-pagination-bullet {width: 8px;height: 8px;}
    #hd_pop .swiper-pagination-bullet-active {transform: scale(1.1);}
    #hd_pop .hd_pop_controls {margin-top: 12px;}
}
@media (max-width: 600px){
  .banner_ctrl_area.mob{gap: 0;}
  .ft_menu{font-size: 15px;}
  .ft_address {font-size: 13px;}
  #ft, #ft a{font-size: 13px;}
  .image_grid_area {grid-template-columns: repeat(1, 1fr);}
}
@media screen and (max-width: 480px) {
  html, body {font-size: 13px;}
}
@media screen and (max-height: 1050px) {
  .slide-cont {
    margin-top: 7%;
  }
}
