
#body input[type=checkbox].checkbox { display:none; width:36px; height: 36px; margin-right:8px; vertical-align: -4px }
#body input[type=checkbox] + label { display: inline-block; vertical-align: top; overflow: hidden; cursor: pointer;  padding:0 0 0 46px; height:36px;font-size:16px; line-height:36px; color:#333; font-weight: 500;  background: url('/img/check.png') no-repeat left top;}
#body input[type=checkbox]:checked + label { background: url('/img/check.png') no-repeat left bottom; }

#body input[type=radio].radio {  display:none; width:31px; height: 31px; margin-right:8px; vertical-align: -4px }
#body input[type=radio] + label { display: inline-block; vertical-align: top; overflow: hidden; cursor: pointer; padding:0 0 0 41px; height:31px;font-size:16px; line-height:31px; color:#333; font-weight: 500;  background: url('/img/radio.png') no-repeat left top;}
#body input[type=radio]:checked + label { background: url('/img/radio.png') no-repeat left bottom; }

/* 서브공통 */
.sub_top {position: relative; width: 100%; margin: 0; padding:0; background: linear-gradient(to right, rgba(5,197,200,1) 0%,rgba(76,62,233,1) 100%);}
.sub_top > span {max-width:1600px;display:block; padding: 0;  margin: 0 auto; text-align: center; font-size:50px; line-height:140px; color: #fff; font-weight: 600; background: url('/img/bg_subtop.png') no-repeat center center; }

/*navi*/
.navi_wrap{position:relative; z-index: 1; padding:0 0 16px;}
.navi{position: relative; margin:0 auto; padding:0 20px; text-align: right }
.navi * {vertical-align: middle}
.navi>ul {display: inline-block;}
.navi>ul>li{position: relative; display: inline-block }
.navi>ul>li:first-child a {margin:0 10px 0 0;  height:19px; padding:0 0 0 27px; text-align: left; background:url('/img/icon_home.png') no-repeat 0 center;}
.navi>ul>li::after {position:absolute; right:-17px; top:4px; width:17px; height:15px; background:url('/img/navi_arrow.gif') no-repeat 0 0; display:block; content:"";}
.navi>ul>li a {display: block; padding: 0 12px; line-height:20px; font-size:18px; color: #000;border-bottom:none}/* 0318 */
.navi>ul>li a.on {color: #346ddf; font-weight: 600; }
.navi>ul>li:last-child::after {display: none}

.bt_sns {display: inline-block; font-size: 0; width: 45px; height: 45px; margin:0 8px 0 0; background:url('/img/bt_sns.png') no-repeat center 0}
.bt_print {display: inline-block; font-size: 0; width: 45px; height: 45px;background:url('/img/bt_print.png') no-repeat center 0}

.content {padding:87px 0 0 0 ;}
.chek_td label {margin:5px 20px 5px 0}
.search_inp01 {width:56%;}

/*Datepicker*/
.inp_datepicker {padding-right:38px; width:169px !important; background:url(../img/icon_cal.gif) no-repeat right 5px center;}

.pc_show {display: block;}
.m_show {display: none;}
.tbl .pc_show {display:table-row;}
.tbl .m_show {display: none}

/* 팝업 */
.pop_sns,.pop_login,.pop_alert, .pop_detail, .pop_bs, .pop_re { padding: 100px 1.875rem;}
.pop_sns .pop_con {text-align: center;}
.pop_sns .pop_con > a {display: inline-block; margin:3px 0;}
.sns_login a {display: block; margin:6px 0; font-size: 22px; line-height: 62px; color: #fff;; text-align: center; border-radius: 5px;}
.sns_login a.n {background:#19ce60 url(../img/login_icon01.gif) no-repeat 23px 18px;}
.sns_login a.k {color: #3e2723; background:#ffe923 url(../img/login_icon02.gif) no-repeat 23px 18px;}
.sns_login a.g {color: #3e2723; border: 1px solid #ccc; background:#fff url(../img/login_icon03.gif) no-repeat 23px 18px;}
.sns_login a.a {background:#121212 url(../img/login_icon04.gif) no-repeat 23px 18px;}
.sns_login a.x {background:#313131 url(../img/login_icon05.gif) no-repeat 23px 18px;}
.sns_login a.f {background:#475993 url(../img/login_icon06.gif) no-repeat 23px 18px}
.con_re {position: relative;padding:40px 10px 50px; border: 1px solid #ccc; background: #fff;}
.con_re .re_user {position: absolute; top:10px; left: 10px;}
.con_re textarea {height: 110px; padding:10px 0;border:none; caret-color:auto }
.con_re textarea:focus {outline: none; border-color: #ccc; caret-color: transparent;}
.con_re .div_cnt {position: absolute; bottom:15px; left: 10px}
.bt_uplo2 {position: absolute; bottom:10px; right: 10px; padding: 0 17px; font-size:18px;line-height: 34px; color:#fff;border-radius: 20px; background:#ccc }
.bt_uplo2.on {background:#111}

.main_snsCont {position: relative; margin: 68px 0 0;}
.main_snsCont h1{margin-bottom:30px; display:block; line-height:1; font-size:30px; font-weight:600; color: #000; }
.main_snsCont .main_tab_title{margin:0 0 30px}
.main_snsCont .main_tab_title ul:after{ clear: both; content: "."; display: block; height: 0; visibility: hidden; font-size: 0;}
.main_snsCont .main_tab_title ul li{position: relative; float:left; margin-right:40px;}
.main_snsCont .main_tab_title ul li:after {content: ''; position: absolute; top: 0; right:-21px; display: block; width: 1px; height: 18px; background:#ccc;}
.main_snsCont .main_tab_title ul li:last-child:after { display: none;}
.main_snsCont .main_tab_title ul li:last-child{margin-right:0;}
.main_snsCont .main_tab_title ul li button{font-size:20px; color:#999; font-weight: 500; letter-spacing: -1px;}
.main_snsCont .main_tab_title ul li.active button{color:#000}
.main_snsCont .main_tab_cont>div{position:relative; display:none;}
.main_snsCont .main_tab_cont>div.active{display:block;}
.main_snsCont .main_tab_title > div {position: absolute; top: 0; right:0}
.card-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(370px, 1fr));  gap: 40px; }
.card { background: #fff; }
.thumb {display: block; width: 100%; height: 230px; border-radius:20px; overflow: hidden; background-color: #ddd; position: relative; }/* 0319 수정 */
.thumb img {width: 100%; height:100%; object-fit: cover;}/* 0319 추가 */
.play-icon { position: absolute; top: 20px; left: 20px; width: 50px; height: 50px; }
.play-icon.yt {top: 50%; left: 50%; width: 70px; height: 49px; transform: translate(-50%, -50%); background:url(../img/main/icon_yb.png) no-repeat 0 0;}
.play-icon.fb { background:url(../img/main/icon_fb.png) no-repeat 0 0;}
.play-icon.ins { background:url(../img/main/icon_ins.png) no-repeat 0 0;}
.play-icon.x { background:url(../img/main/icon_x.png) no-repeat 0 0;}
.card-info { padding: 28px 0 0; }
.card-title { font-weight: 500; margin-bottom: 8px; min-height:30px; font-size:18px;line-height: 28px; color:#000; letter-spacing: -1px;word-break: break-all; overflow:hidden; text-overflow: ellipsis;   display: -webkit-box !important;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical }
.card-title:hover {color:#346ddf;}

/* 하트 카운트 스타일 */
.card-meta { display: flex; justify-content: space-between; align-items: center; color: #999; font-size: 16px; }
.like-btn { position: relative; overflow: visible;  transition: 0.2s; }
.like-btn::after {content: ''; display: block; position: absolute; top: 1px; left: -23px; width: 16px; height: 14px; background:url(../img/main/bt_like.png) no-repeat 0 0;}
.like-btn .count {font-size:16px;line-height: 18px; color:#333}
.like-btn.active .count { color: #ff4d4d; }
.card img{max-width:100%;}

/* paging */
.paging{position:relative; padding-top:50px; text-align:center;}
.paging ul{padding:0 10px; display:inline-block; vertical-align:top;}
.paging ul li{float:left; margin:0 5px; }
.paging ul li.page_arrow_1,
.paging ul li.page_arrow_2,
.paging ul li.page_arrow_3,
.paging ul li.page_arrow_4,
.paging ul li.page_arrow_1 a,
.paging ul li.page_arrow_2 a,
.paging ul li.page_arrow_3 a,
.paging ul li.page_arrow_4 a {margin: 0; padding:0; border:none}
.paging ul li.page_arrow_1 {margin-right: 30px;}
.paging ul li.page_arrow_2 {margin-right: 40px;}
.paging ul li.page_arrow_3 {margin-left: 40px;}
.paging ul li.page_arrow_4 {margin-left: 30px;}
.paging ul li a{display:block; height: 16px; padding:0 5px; font-size:14px; line-height: 16px; color:#aaa; }
.paging ul li.on {border-bottom:1px solid #aaa }
.paging ul li.on a{color:#000; }

.view_con {padding: 20px 0 40px; border-bottom: 1px solid #ccc;}
.view_con .tit {margin: 0 0 40px;}
.view_con .tit h2 {display:inline-block; margin:0 10px 0 0;/* max-width: 60%; white-space: nowrap;  overflow: hidden; text-overflow: ellipsis;*/word-break: keep-all; font-size:36px;line-height: 48px; font-weight:500; color:#000}
.view_con .tit .date {display: inline-block; margin: 0 0 0 10px; vertical-align: bottom;font-size:20px;line-height: 20px; color:#999}
.view_con .conts {display: flex; justify-content: space-between;}
.view_con .con_l {position:relative; width:62.7%;}

/* 0319 추가 */
.view_con .con {padding: 0 !important;}
.view_con .con img {max-width: 100%; height: auto !important;}
/* 0319 추가 */

.slide_box01 {width:100%; background: #fff}
.slide_box01 .item-slick.slick-slide.slick-current.slick-active { outline: none !important;}
.slide_box01 .slider-for .slick-list * {height:570px;}
.slide_box01 .slider-for {margin-bottom: 30px; text-align: center;}
.slide_box01 .slider-for img { width: 100% !important; border-radius: 10px; min-height: 100%;}
.slide_box01 .slider-nav { margin: auto; height: 140px;}
.slide_box01 .slider-nav * {height:140px;}
.slide_box01 .slider-nav .item-slick {max-width: 180px;  display: -webkit-box !important;  display: -ms-flexbox !important;  display: flex !important;    -webkit-box-align: center;  -ms-flex-align: center;  align-items: center; margin-right:20px;  outline: none !important;  cursor: pointer;}
.slide_box01 .slider-nav .item-slick img {width: 100%; max-width: 100%;height: auto; border-radius: 10px; }
.slide_box01 .slick-arrow {position: absolute;  top: 50%; z-index: 1;  margin-top: -30px; width:61px; height: 61px; }
.slide_box01 .slick-prev {left: 0; text-indent: -99999px}
.slide_box01 .slick-next {right: 0; text-indent: -99999px}
.slide_box01 .slider-for .slick-prev {display: none !important; left: 16px; background: url("/img/bt_left.png") no-repeat center center}
.slide_box01 .slider-for .slick-next {display: none !important; right: 16px;  background: url("/img/bt_right.png") no-repeat center center}
.slide_box01 .slider-nav .slick-prev {left: 10px;transition: 0.3s;  background: url("/img/bt_left_off.png") no-repeat center center}
.slide_box01 .slider-nav .slick-next {right: 10px; transition: 0.3s; background: url("/img/bt_right_off.png") no-repeat center center}
.slide_box01 .slider-nav .slick-prev:hover {background: url("/img/bt_left_on.png") no-repeat center center}
.slide_box01 .slider-nav .slick-next:hover {background: url("/img/bt_right_on.png") no-repeat center center}
.lg-sub-html,
.lg-toolbar *,
#lg-download,
#lg-counter,
.lg-toogle-thumb {display: none}
.lg-outer .lg-image { width: 90%!important;  height: auto!important;}
.lg-actions .lg-prev:after {display: block; width: 34px; height: 34px; content: ""; color:#000; left: 16px;  background: url(../img/bt_left.png) no-repeat center center;}
.lg-actions .lg-next:before {display: block;width: 34px; height: 34px; content: ""; color:#000; right: 16px; background: url(../img/bt_right.png) no-repeat center center;}
.lg-toolbar .lg-download:after { content: ""; color:#000;display:none}
.lg-toolbar .lg-close { content: "";  color:#000;  display: block;  overflow: hidden;  position: absolute;  top: 50%;  right: 10px;  margin-top: 8px !important;  text-indent: -99999px;  width: 20px !important;  height: 20px !important;  background: url(../img/bt_m_close.png) no-repeat 0 0 / 20px 20px;}
.lg-actions .lg-next, .lg-actions .lg-prev {background:none}
/* .slider-nav .slick-track { transform: none !important; } */


.utb {position: relative; width:100%; max-width: 1003px; height: auto; margin:0 auto; padding-top: 73.6%; background:#ebebeb}
.utb iframe {z-index: 1; top: 0; left: 0; position: absolute; width: 100%; height: 100%;}

.ifm {display: -webkit-box;  display: -ms-flexbox;  display: flex; }
.ifm iframe {width:100%; height:1000px; border:1px solid #fff;}

.view_con .con_r {position: relative; width:34.3%; padding: 16px 0 0; border-top:3px solid #000}
.view_con .con_r h3 {position: relative; margin: 0 80px 37px 0; font-weight: 500;width:80%; max-height:80px; font-size:30px;line-height: 40px; color:#000; letter-spacing: -1px;word-break: break-all; overflow:hidden; text-overflow: ellipsis;   display: -webkit-box !important;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical }
.view_con .con_r .con_dl01 {overflow: hidden;}
.view_con .con_r .con_dl01 dt {float: left; width: 30%; font-size:20px;line-height: 22px; color:#000; }
.view_con .con_r .con_dl01 dd {float: left; margin:0 0 40px; width: 70%; font-size:20px;line-height: 22px; color:#000; }
.view_con .con_r .rep {position: absolute; bottom: 0; right: 0; padding: 10px 0 0;}/* 0309 */
.view_con .con_r .rep dt {margin:0 0 20px}
.view_con .con_r .rep dt .like-btn {margin:0 0 0 43px}
.view_con .con_r .rep dd {padding: 20px;height: 181px; border: 1px solid #ccc; border-radius: 10px;}
.view_con .con_r .rep dd .box_scroll {overflow: auto; height: 142px; }
.view_con .con_r .rep dd p {position: relative; min-height: 38px; margin:0 0 9px; padding: 8px 0 0 47px;}
.view_con .con_r .rep dd .u_pp {position: absolute; top: 0; left: 0;}
.view_con .con_r .rep dd .u_id {display: inline-block;  font-size:18px;line-height: 25px; color:#999; }
.view_con .con_r .rep dd .u_re {display: inline-block; font-size:18px;line-height: 25px; color:#000;}
.view_con .con_r .rep .box_scroll::-webkit-scrollbar {width: 9px;}
.view_con .con_r .rep .box_scroll::-webkit-scrollbar-track {background: #f1f1f1;}
.view_con .con_r .rep .box_scroll::-webkit-scrollbar-thumb {background: #ccc}
.con_div01 {position: relative;}
.bt_uplo {position: absolute; top:3px; right: 0; padding: 0 17px; font-size:18px;line-height: 34px; color:#fff;border-radius: 20px; background:#111 }
.bt_detail {position: absolute; bottom: 8px; right: 18px; overflow: visible; font-size:18px;line-height: 20px; color:#2373ff; font-weight: 600; border-bottom: 1px solid #2373ff;}
.bt_detail::after {content: ""; position: absolute; top:3px; display: block; right: -18px; width: 8px; height: 13px; background: url(../img/arrow02.png) no-repeat center center;}
.view_con p {margin: 50px 0 0; font-size:20px;line-height: 40px; color:#000; word-break: keep-all}

/* row */
.tbl_row01 {width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; border-top: 1px solid #ccc;}
.tbl_row01 th {height: 50px; padding:7px 9px; font-size:16px; line-height:18px;  color:#000; text-align:center; word-break:keep-all;border: 1px solid #ccc; border-top:none; border-left:none; background: #f4f4f4}
.tbl_row01 th:last-child,
.tbl_row01 td:last-child {border-right: none}
.tbl_row01 td {position: relative; height: 50px;  padding:7px 9px; font-size:16px; line-height:18px; color:#000; border: 1px solid #ccc;  border-top:none;border-left:none; letter-spacing: -0.5px;  vertical-align:middle;  border-bottom: 1px solid #ddd; word-break:keep-all; }
.tbl_th_l th {text-align: left;}
.td_cho1 {position: relative; padding-right:100px !important;}
.td_cho1 button {position: absolute; top: 7px; right: 9px;}

/* col */
.tbl_col01 {width:100%; border-collapse:separate; border-spacing:0; table-layout:fixed; border-top: 1px solid #ccc;}
.tbl_col01 th {height: 50px; padding:0; font-size:16px; line-height:20px;  color:#000; text-align:center; background: #f4f4f4; border-bottom: 1px solid #ccc;}
.tbl_col01 td {position: relative; height: 50px;  padding:0; font-size:16px; line-height:20px; color:#000;text-align:center; word-break:keep-all;overflow-wrap: break-word; border-bottom: 1px solid #ccc }/* 0319 수정 */
.tbl_col01 td.subject {text-align: left; padding: 0 5px;}
.tbl_col01 td.subject img {max-width: 100%; height: auto; vertical-align: middle}
.tbl_col01 td.subject .subject_in {display: flex; align-items: flex-start; align-items: center;}

/* 0312~ */
.tbl_col01 td.subject a {display: inline-block;  vertical-align: middle;  max-width: 90%; font-size:16px; line-height:20px; color:#000; word-break: break-all; overflow:hidden; text-overflow: ellipsis;   display: -webkit-box !important;  -webkit-line-clamp: 2;  -webkit-box-orient: vertical}
.tbl_col01 td.subject .subject_in a {width: 300px;}
/* ~0312 */

.bot_right {margin:-34px 0 0; text-align: right}
.tbl_col01 tr:hover {background-color: #f9f9f9;}
.tbl_col01 td a {color:#000;}
.img_pd td {padding: 18px 5px !important;}
.img_pd td .img {margin:0 20px 0 0; }

.box_scroll2 {max-height:551px; overflow-y: auto;}/* 0309 */
.box_scroll2 table {border-collapse:collapse}
.box_scroll2 table thead {position: sticky; top: 0; z-index: 1; border-bottom: 1px solid #ccc;}
.box_scroll2::-webkit-scrollbar {width: 9px;}
.box_scroll2::-webkit-scrollbar-track {background: #f1f1f1;}
.box_scroll2::-webkit-scrollbar-thumb {background: #ccc}

.align_arrow{padding-right:18px; font-size: 16px; display:inline-block; background:url(/img/align_arrow.gif) no-repeat right center;}
.align_arrow.up{background:url(/img/align_arrow_up.gif) no-repeat right center;}

.filebox {position: relative;}
.filebox >div {margin:0 0 5px;}
.filebox input[type="file"] {position: absolute; width: 0; height: 0; padding: 0; overflow: hidden;  border: 0;}
.filebox label {display: inline-block; width: 80px; height:35px; margin:0 5px; font-size: 18px; line-height:35px; color: #333; vertical-align: middle; background-color: #eee; cursor: pointer; text-align: center;z-index: 1;}
.filebox .upload-name, .filebox .upload-name2 {display: inline-block;	width:60%;height:35px; box-sizing: border-box; padding: 0 10px; vertical-align: middle; background-color: #fff;font-size:18px; line-height:35px; color:#000; border:1px solid #ccc;}
.server_file {margin: 0 0 10px;}

.img_default {width:140px; height: 140px; border: 1px solid #dadada;display: -webkit-box;  display: -ms-flexbox;  display: flex;    -webkit-box-align: center;  -ms-flex-align: center;  align-items: center;  -webkit-box-pack: center;  -ms-flex-pack: center;  justify-content: center;}
.img_default img {max-width:100%; height: auto;max-height: 100%;}
.ul_img_default {margin: 0 0 10px;}
.ul_img_default ul { display: grid; grid-template-columns: repeat(5, 1fr);  gap: 26px 70px;}
.ul_img_default li {position: relative; overflow: hidden;  }
.ul_img_default li img{max-width:100%; height: auto;max-height: 100%;}
.ul_img_default li span.bg {position: absolute; top: 50%; left: 0; transform: translateY(-50%); width: 100%; max-height: 69px; aspect-ratio: 16/9; display: flex; align-items: center; justify-content: center; background-color: rgba(0,0,0,.3);}
.ul_img_default li input[type=checkbox] + label {color:#fff !important}

.wri_dhm .inp {width: 40px;}
.bt_pg_line {margin-top:-33px;}
.td_file a {display: block;margin: 5px 0 ; color: #000;}
.td_file a:hover {text-decoration: underline;}
.td_file img {vertical-align: middle;}

.sub_schedule{position: relative;  }
.sub_schedule .year_month{position:relative; text-align:center; height:58px; line-height:58px; background: linear-gradient(to right, rgba(5,197,200,1) 0%,rgba(76,62,233,1) 100%); }
.sub_schedule .year_month > div {position:relative; width: 282px; margin: 0 auto;}
.sub_schedule .year_month .day{font-size:28px; color:#fff; }
.sub_schedule .year_month .calendar_prev{position:absolute; left:0; top:20px; width:13px; height:20px; background:url(../img/main/main_prev.png) no-repeat center center; text-indent:-9999px;}
.sub_schedule .year_month .calendar_next{position:absolute; right:0; top:20px; width:13px; height:20px; background:url(../img/main/main_next.png) no-repeat center center; text-indent:-9999px;}
.sub_schedule .year_month .all {position:absolute; right:20px; top:11px; display: block; width:78px; height:34px;font-size:16px; line-height: 34px; color: #fff; text-align: center; border: 1px solid #fff;}

.cal_box {overflow: hidden;padding:22px 30px; border: 1px solid #ccc; }

/* 0311~ */
.sub_calendar_wrap{position: relative; margin:0 0 30px; display: flex; justify-content: space-between;min-height: 447px;  }
/* ~0311 */

.sub_calendar{width:60%;}
.sub_calendar table{width:100%;}
.sub_calendar table th{padding:15px 0; text-align:center; font-size:18px;border: 1px solid #ccc; border-bottom: none;  background-color: #f4f4f4}/* 0318 */
.sub_calendar table th:first-child{color:#bf1733;}
.sub_calendar table td{position: relative; height: 79px;font-size:18px; color:#000;border: 1px solid #ccc; text-align: center; }
.sub_calendar table td > span {position: absolute; top: 12px; left:12px;font-size:18px;}
.sub_calendar table td.pastDay:first-child,
.sub_calendar table td.pastDay{color:#ddd; }
.sub_calendar table td:first-child{color:#bf1733; }
.sub_calendar table td a {width:40px; height:40px; text-align:center;font-size:18px; line-height:40px; display:block; font-weight:500;}
.sub_calendar table td.today{background-color:#f9f9f9; color:#000; }/* 0318 */
.sub_calendar table td.day_on{ background-color:#2882d9; color:#fff;}
.sub_calendar table td.holiday span { color:#bf1733;}
.sub_calendar table td button {overflow: visible; display: inline-block;}
.sub_calendar table td button span {position: relative; margin-top: 20px; letter-spacing: -1px; width: 70px; height: 30px;text-align:center;font-size:16px; line-height: 30px; display: inline-block;cursor: pointer; vertical-align: top; }/* 0309 */
.sub_calendar table td button.bt_none span {background-color: #eeee; color: #999 !important; }
.sub_calendar table td button.bt_none span em {color: #999 !important; }
.sub_calendar table td button.bt01 span {background: #fff; border: 1px solid #2e77dc; }
.sub_calendar table td button.bt01.on span,
.sub_calendar table td button.bt01:hover span {background: #c7a2dd; }
.sub_calendar table td button span em { color:#2e77dc}

/* 지도 */
.map-wrapper {position: absolute; top: 0; right: 5%; height:460px; background: #fff; padding: 0; -webkit-overflow-scrolling: touch; }
#map-viewport {border: 1px solid #ddd;border-radius: 8px;overflow: hidden; position: relative; background-color: #fcfcfc; cursor: grab;}
#map-viewport:active {cursor: grabbing;}
#main-map { width:326px; height:460px;}
.land { fill: #f9f9f9; stroke: #535554; stroke-width: 1; cursor: pointer; transition: all 0.3s; }
.land:hover { fill: red; stroke: #999; }
text {font-size: 24px;fill: #000;paint-order: stroke;stroke: #ffffff;stroke-width: 3px; stroke-linecap: round; stroke-linejoin: round;pointer-events: none; user-select: none;letter-spacing: -0.05em;  /* 자간을 살짝 좁혀 응집력 강화 */ }
.tooltip rect {filter: drop-shadow(0px 2px 2px rgba(0,0,0,0.1));}
.label {font-size: 24px; fill: #000; pointer-events: none;text-anchor: middle;  dominant-baseline: middle;}
.land-group:hover .label {fill: #5189e0;}
.land-group:hover .land {opacity: 0.8; cursor: pointer;}
.land-group.active .land {stroke: #555; stroke-width: 2;} 

/* 0318~ */

/* ~0318 */

.land-group {cursor: pointer;}
.land-group:hover .label {fill: #5189e0; transition: fill 0.2s;}
.land-group:hover .tooltip rect {stroke: #007bff; stroke-width: 1.5;}

/* 소개 */
.intro_con {padding: 20px 0 40px;}
.intro_con .sec {margin:0 0 94px}
.intro_con .sec h2 {display:block; margin:0 0 34px 0; word-break: keep-all; font-size:24px;line-height: 30px; font-weight:500; color:#000}
.intro_con .sec p {display:block;  word-break: keep-all; font-size:18px;line-height: 28px; color:#000}
.intro_con .sec p button {display:inline-block; margin:0 0 5px 0;  font-size:18px;line-height: 28px; color:#1855c3}
.intro_con .sec p button img {margin:0 0 0 5px;}
.vis_con {overflow: hidden;}
.vis_con li {float: left; height: 490px; display: flex; justify-content: center; align-items: center;}
.vis_con li img {max-width: 100%; vertical-align: middle;}

.accordion-container { width: 100%; overflow: hidden; }
.controls { position: relative; padding: 20px; font-size:18px;line-height: 24px; color:#fff; background: #000;}
.controls button {position: absolute; top: 16px; right: 19px; width:27px; height:27px;transition: 0.1s; background:url(../img/icon_plus.png) no-repeat center center;text-indent:-9999px;}
.controls button.on {background:url(../img/icon_minus.png) no-repeat center center;}
.accordion-item {position: relative;}
.depth1-header, .depth2-header { width: 100%; transition: 0.1s; }
.accordion-container .depth1-header {position: relative; word-break: keep-all; padding: 20px 20px 20px 60px;font-size:16px;line-height: 18px; color:#1855c3; text-indent: 0; text-align: left; width:100%; height:auto; font-weight: 500; background:#edf4ff; border-bottom: 1px solid #3073dd; }
.accordion-container .depth1-header::after {content: ''; display: block; position: absolute; top: 50%; transform: translateY(-50%); right: 19px; width:27px; height:27px;transition: 0.1s; background:url(../img/icon_plus.png) no-repeat center center; }
.accordion-container .accordion-item.active .depth1-header::after {background:url(../img/icon_minus.png) no-repeat center center; }
.depth1-content { display: none; background: #fff; }
.depth2-item {position: relative; }
.accordion-container .depth2-item button {position: absolute; top: 16px; right: 19px; width:27px; height:27px;transition: 0.2s; background:url(../img/icon_plus.png) no-repeat center center;text-indent:-9999px;}
.accordion-container .depth2-item.active button {background:url(../img/icon_minus.png) no-repeat center center;}
.depth2-item dl {overflow: hidden;border-bottom: 1px solid #ccc;}
.depth2-item dl dt {float: left; width: 50%;padding: 20px 20px 20px 140px; text-indent: -40px; font-size:16px;line-height: 18px; color:#000;word-break: keep-all;}
.depth2-item dl dt span {font-size:16px;line-height: 18px; color:#3073dd}
.depth2-item dl dd {float: left; width: 50%;padding: 20px;font-size:16px;line-height: 18px; color:#000;word-break: keep-all;}
.depth2-header { padding: 12px; color: #333; background: none; }
.depth2-content { display: none; padding: 12px 20px; background: #fafafa; font-size: 14px; color: #666; border-top: 1px solid #f0f0f0; }

.accordion-item.active > .depth1-content { display: block; }
.depth2-item.active > .depth2-content { display: block; }
.active > .depth1-header, .active > .depth2-header { color: #007bff; background-color: #f0f7ff; }
.intro_con .sec .sec_etc {margin: 26px 0 0; font-size:16px;line-height: 18px; color:#999}
#svg-pan-zoom-controls {transform: translate(calc(100% - 120px), calc(100% - 40px)) scale(0.8) !important;}
#svg-pan-zoom-zoom-in {transform: translate(0, 14px) scale(0.015) !important;}
#svg-pan-zoom-zoom-out {transform: translate(35px, 14px) scale(0.015) !important;}
#svg-pan-zoom-reset-pan-zoom {transform: translate(70px, 12px) scale(0.4) !important;}
.svg-pan-zoom-control-background {fill: #ffffff !important;fill-opacity: 0.8;}
.svg-pan-zoom-control-element {fill: #333333 !important;}

/* 0311~ */
.con_none {display: block; text-align: center; padding: 80px 0;font-size: 18px;}

.privacy-container .sec {margin:0 0 94px}
.privacy-container h4 {display:block; margin:0 0 34px 0; word-break: keep-all; font-size:24px;line-height: 30px; font-weight:500; color:#000}
.privacy-container strong {font-weight: 500}
.privacy-container p, 
.privacy-container li {display:block;  word-break: keep-all; font-size:18px;line-height: 28px; color:#000}
.privacy-container ul { padding-left: 20px; list-style-type: disc !important;}
.privacy-container li {display: list-item;}
.privacy-container .table-info { width: 100%; border-collapse: collapse; margin: 15px 0; font-size: 18px; }
.privacy-container .table-info th, 
.privacy-container .table-info td { border: 1px solid #ddd; padding: 10px; text-align: left; }
.privacy-container .table-info th { background-color: #f9f9f9; width: 30%; }
.privacy-container .footer-date { margin-top: 40px; font-weight: 500; color: #666; }
/* ~0311 */

@media all and (max-width:1600px) {     
  .content {padding:40px 10px 0} 
  .thumb {width: 100%;  height: 300px;} /* 0319 수정 */
  .ul_img_default ul { gap: 26px;}
  .vis_con li:nth-child(1) {width: 27%;}
  .vis_con li:nth-child(2) {width: 11%;}
  .vis_con li:nth-child(3) {width: 62%;}
}

@media all and (max-width:1200px) {    
  .ul_img_default ul {  grid-template-columns: repeat(5, 1fr);  gap: 26px;}

}

@media all and (max-width:1100px) { 
  .inp_datepicker {width:36% !important;}
  .search_inp01 {width: 53%;}
  .view_con .conts {display:block;}
  .view_con .conts > div {width: 100%;}
  .slide_box01 .slider-for .slick-list * {height:auto;}
  .ul_img_default ul {  grid-template-columns: repeat(3, 1fr);  gap: 5px;}
  .map-wrapper {  right:0;}
  .view_con .con_r .rep {position: relative;}/* 0319 추가 */
}

@media all and (max-width:980px) { 

  .cal_box {padding:22px 10px;}
  .sub_calendar_wrap{margin:0 0 30px; display: block; }
  .sub_calendar{width:100%;}
  .map-wrapper {position: static;height:auto;margin:0 0 30px;}
  #map-viewport { width: 100%; height: 600px;}
  #main-map {margin:0 auto;display: block;}
}