* {font-family: 'Pretendard' !important;}

a {cursor: pointer;}
input:focus {outline: none;}
select:focus {outline: none;}

.mt-0 {margin-top: 0 !important;}
.mt-10 {margin-top: 10px !important;}
.mb-0 {margin-bottom: 0 !important;}

.blue {color: #0073cb !important;}

.mobile {display: none !important;}

.sen {font-family: 'SeoulNamsanM' !important;}

a[title="글쓰기"] {display: none;}

body > .contents.c_container {min-height: calc(100vh - 136px - 140px);}

.c_container {max-width: 1200px; width: 100%; margin: 0 auto;}
.c_container.d-flex {gap: 40px;}
.c_container > .snb_wrap {width: 200px; margin-top: 7.5px;}
.c_container > .snb_wrap > li > a {display: block; font-size: 16px; font-weight: 800; padding: 10px 0; text-align: center; background-color: #297bcd; color: #fff; margin-bottom: 7px;}
.c_container > .snb_wrap .snb ul {display: flex; flex-direction: column; gap: 7px;}
.c_container > .snb_wrap .snb > ul > li:not(.kgc_menu) > a {position: relative; display: block; font-size: 14px; color: #666; font-weight: 500; padding: 10px 17px; border: 1px solid #e1e1e1;}
.c_container > .snb_wrap .snb ul li:hover a,
.c_container > .snb_wrap .snb ul li.active a {color: #0073cb;}
.c_container > .snb_wrap .snb > ul > li:not(.kgc_menu) > a::after {position: absolute; right: 14px; top: 50%; transform: translateY(-50%); content: ''; width: 9px; height: 14px; background-image: url(/assets/images/renew/ico_menu_arr.png); background-size: cover;}

.c_container > .snb_wrap .snb > ul > li.kgc_menu {position: relative; display: block; border: 1px solid #e1e1e1;}
.c_container > .snb_wrap .snb > ul > li.kgc_menu > a {position: relative; display: block; font-size: 14px; color: #d71920; font-weight: 500; padding: 10px 17px;}
.c_container > .snb_wrap .snb > ul > li.kgc_menu > a::after {position: absolute; right: 14px; top: 50%; transform: translateY(-50%); content: ''; width: 9px; height: 14px; background-image: url(/assets/images/renew/ico_menu_arr.png); background-size: cover;}
.c_container > .snb_wrap .snb > ul > li.kgc_menu ul {padding-left: 15px;}
.c_container > .snb_wrap .snb > ul > li.kgc_menu ul a {position: relative; display: block; padding: 7.5px 0 7.5px 15px; color: #d71920;}
.c_container > .snb_wrap .snb > ul > li.kgc_menu ul a::before {position: absolute; left: 5px; top: 50%; transform: translateY(-50%); content: ''; width: 5px; height: 5px; background-color: #d71920; border-radius: 50vh;}

.c_container > .snb_wrap + .content_wrap {width: calc(100% - 240px);}

.contents.c_container > div:last-of-type {margin-bottom: 40px;}

.sub_breadcrumb {display: flex; gap: 10px; height: 45px; line-height: 45px; border-bottom: 1px solid #dedede;}
.sub_breadcrumb .ico_wrap {gap: 10px;}
.sub_breadcrumb .ico_home img {width: 19px;}
.sub_breadcrumb .ico_arr img {height: 12px;}
.sub_breadcrumb img {vertical-align: middle; margin-top: -2px;}
.sub_breadcrumb span {padding-top: 2px; color: #8e8e8e; font-size: 14px; font-weight: 500;}
.sub_breadcrumb span#depth2_title {display: flex; gap: 10px;}
.sub_breadcrumb span.kgc_menu {display: flex; gap: 10px;}

.insam_news .list-view .view-attach,
.act_event .list-view .view-attach {display: none;}

/* ********************************************************
    header
******************************************************** */
header .head-wrap {position: relative; border-bottom: 1px solid #ddd;}
#gnb_wrapper {position: absolute; left: 0; top: calc(100% + 1px); width: 100%; height: 421px; background-color: #fff; box-shadow: 0 20px 10px -2px rgba(0, 0, 0, 0.1); display: none;}
.head-wrap.hover #gnb_wrapper {display: block;}

.header-top {display: flex; flex-direction: column; justify-content: center; height: 50px;}
.header-top .user-ctr {display: flex; justify-content: end; gap: 15px;}
.header-top .user-ctr.logout .mypage {display: none !important;}
.header-top .user-ctr > .pic {display: none !important;}
.header-top .last_login {height: 33px; line-height: 23px; padding: 5px 8px; box-sizing: border-box; font-size: 16px; color: #333; font-weight: 500;}
.header-top .last_login span {color: #666;}
.header-top .last_login img {vertical-align: middle;}
.header-top .mypage {gap: 15px;}
.header-top a.my_page {height: 33px; line-height: 23px; padding: 5px 10px 5px 15px; box-sizing: border-box; font-size: 16px; color: #333; font-weight: 500;}
.header-top a.my_page span {color: #111;}
.header-top a.my_page img {vertical-align: middle;}
.header-top a.login,
.header-top a.logout {height: 33px; line-height: 23px; border: 1px solid #0073cb; padding: 5px 8px; box-sizing: border-box; font-size: 16px; color: #fff; font-weight: 500; background-color: #0073cb;}
.header-top a.login img {vertical-align: middle; transform: rotate(180deg);}
.header-top a.logout img {vertical-align: middle;}
.m-back {display: none;}

.header.c_container {position: relative;}
.head-logo {position: absolute; left: 0; bottom: 0;}
.head-logo .m-menu,
.head-logo .m-noti,
.head-logo .hd_call_box {display: none;}
.head-wrap .head-logo {padding: 13.5px 0;}
.head-wrap .head-logo .logo {display: flex; align-items: center; line-height: 58px;}
.head-wrap .head-logo .logo img {vertical-align: middle;height:70px;}
.head-wrap .head-logo .logo span {font-size: 20px; font-weight: 800;}

div.header {display: flex;}
#mypanel {flex: 1; display: flex; justify-content: end;}
.menu_btn_wrap {line-height: 58px; padding: 13.5px 0;}
.menu_btn_wrap .menu_btn {display: block; padding: 0 10px;}
.gnb-wrap > ul {display: flex;}
.gnb-wrap > ul > li {position: relative; width: 160px;}
.gnb-wrap > ul > li > a {display: block; font-size: 18px; font-weight: 600; line-height: 58px; text-align: center; padding: 13.5px 0;}
.gnb-wrap > ul > li:hover > a,
.gnb-wrap > ul > li.active > a {color: #0073cb;}
.gnb-wrap > ul > li:last-of-type .snb {border-right: 1px solid #ddd;}
.gnb-wrap .snb {position: absolute; width: 100%; padding: 20px 10px; box-sizing: border-box; border-left: 1px solid #ddd; display: none;}
.head-wrap.hover .gnb-wrap .snb {display: block;}
.gnb-wrap .snb li a {position: relative; display: block; padding: 10px 0; font-size: 14px; font-weight: 600; color: #444;}
.gnb-wrap .snb li.active a {color: #0073cb;}
.gnb-wrap .snb > ul > li:hover > a {color: #0073cb;}
.gnb-wrap .snb li a::after {position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: ''; width: 8px; height: 13px; background-image: url(/assets/images/renew/ico_menu_arr.png);}
.gnb-wrap .snb li.kgc_menu a {color: #d71920;}
.gnb-wrap .snb li.kgc_menu:hover a {color: #d71920;}

.gnb-wrap .snb li.kgc_menu {}
/* .gnb-wrap .snb li.kgc_menu > a:hover {color: #444;} */
.gnb-wrap .snb li.kgc_menu ul a {position: relative; padding-left: 15px;}
.gnb-wrap .snb li.kgc_menu ul a::before {position: absolute; left: 5px; top: 50%; transform: translateY(-50%); content: ''; width: 5px; height: 5px; background-color: #d71920; border-radius: 50vh;}
/* .gnb-wrap .snb li.kgc_menu ul > li:hover a {color: #0073cb;} */
.gnb-wrap .snb li.kgc_menu ul a::after {display: none;}

/* ********************************************************
    footer
******************************************************** */
footer {background-color: #f4f5fa; border-top: 1px solid #d0d0d0; padding: 30px 0;}
footer > div {position: relative;}
footer .logo {display: flex; line-height: 58px; margin-bottom: 15px;}
/* footer .logo a {display: flex; align-items: center;} */
footer .logo span {font-size: 20px; font-weight: 800;}
footer .info_wrap {flex: 1; display: flex;}
footer .info {margin-left: 40px; padding-top: 5px;}
footer .info ul {display: flex; flex-wrap: wrap; gap: 10px 20px;}
footer .info li {position: relative; display: flex; font-size: 13px; font-weight: 600; color: #888;}
footer .info li:nth-of-type(1)::after,
footer .info li:nth-of-type(3)::after {position: absolute; right: -10px; top: 50%; transform: translateY(-50%); content: ''; width: 1px; height: 10px; background-color: #444;}
footer .info li span {color: #444; margin-right: 10px;}
footer .info .copy {font-size: 13px; font-weight: 600; color: #888; line-height: 1.5; margin-top: 20px;}
footer .cscenter {position: absolute; right: 0; top: 50%; transform: translateY(-50%); display: flex; flex-direction: column; justify-content: end; height: 44px; margin-left: auto; margin-top: auto;}
footer .cscenter a {display: flex; gap: 7px; height: 100%; color: #333;}
footer .cscenter .txt {display: flex; flex-direction: column; gap: 5px; justify-content: center;}
footer .cscenter a p {font-size: 14px; font-weight: 600;}
footer .cscenter a h4 {font-size: 18px; font-weight: 800; letter-spacing: -1px;}


/* ********************************************************
    login
******************************************************** */
.contents.login {box-sizing: border-box; padding: 80px 0 200px 0;}
.contents.login .login-wrap {display: flex; flex-direction: column; justify-content: center; width: 440px; height: 100%; margin: 0 auto; box-sizing: border-box;}
.contents.login .page_tit {text-align: center; margin-bottom: 20px; font-size: 30px; font-weight: 900; color: #333;}
.contents.login .login-wrap > div.d-flex {justify-content: center;}
.contents.login p.txt01 {text-align: center; font-size: 18px; font-weight: 400; line-height: 1.5; margin-bottom: 30px;}
.contents.login p.txt01 strong {color: #1278d6; font-weight: 400;}
.login-form .input_wrap {position: relative;}
.login-form input {width: 100%; height: 50px; background: #fff; border: 1px solid #ccc; border-radius: 1px; font-size: 16px; color: #111; margin: 0 0 7px 0; box-shadow: 0 2px 5px rgba(0, 0, 0, 0.15);}
.login-form input::placeholder {color: #ccc;}
.login-form .input_wrap .delete_btn {position: absolute; right: 15px; top: 50%; transform: translateY(-50%);}
.login-form .input_wrap .delete_btn img {width: 20px;}
.login-form .forgot_pw {text-align: right; margin-bottom: 40px;}
.login-form .forgot_pw a {font-size: 18px; font-weight: 600; border-bottom: 1px solid #999; color: #999;}
.login-form button {width: 100%; height: 60px; background: #0073cb; color: #fff; border: 1px solid #ccc; border-radius: 5px; text-align: center; margin: 0 0 7px 0; font-size: 20px; font-weight: 900; box-shadow: 0 0 10px rgba(0, 0, 0, 0.15);}

.site_noti {max-width: 900px; width: 100%; margin: 50px auto 0 auto;}
.site_noti .noti_tit {position: relative; font-size: 18px; font-weight: 600; padding-left: 10px; margin: 0 0 10px;}
.site_noti .noti_tit::before {position: absolute; left: 0; top: 50%; transform: translateY(-50%); content: ''; display: block; width: 5px; height: 5px; border-radius: 50vh; background-color: #0073cb;}
.site_noti .sub_tit {font-size: 16px; margin-bottom: 10px;}
.site_noti .con {margin-bottom: 30px;}
.site_noti .con.howto {border: 1px solid #0073cb; padding: 20px;}
.site_noti .con ul {display: flex; flex-direction: column; gap: 5px;}
.site_noti .con li {position: relative; font-size: 14px; font-weight: 500; padding-left: 8px; line-height: 1.3;}
.site_noti .con li::before {position: absolute; left: 0; top: 6px; content: ''; width: 3px; height: 3px; background-color: #0073cb; border-radius: 50vh;}
.site_noti .con th {border: 1px solid #dedede; border-top: 2px solid #ccc; background-color: #e9e9e9; padding: 5px;}
.site_noti .con td {border: 1px solid #dedede; text-align: center; padding: 5px;}
.site_noti .con td:nth-of-type(2n - 1) {background-color: #f7f7f7; border-right: none;}
.site_noti .con td:nth-of-type(2n) {border-left: none;}

.sinmungo .site_noti {max-width: 100%;}
.sinmungo .site_noti .con {border: 1px solid #0073cb; padding: 20px;}
.sinmungo .site_noti .con td {background-color: #fff; border-right: 1px solid #dedede;}
.sinmungo .site_noti .con.table p {margin: 10px 0; font-size: 14px;}
.sinmungo .site_noti .con.table > div {justify-content: end; font-size: 14px;}
.sinmungo .site_noti .con.table > div > div {gap: 10px; margin-left: 10px;}
.sinmungo .site_noti .con.table label {font-size: 14px;}


/* ********************************************************
    board
******************************************************** */
/* basic skin */
.b_title_wrap {border-top: 1px solid #111; margin: 30px 0 0;}
h4.b_title {position: relative; display: inline-block; height: 63px; box-sizing: border-box; padding: 10px 0 20px 0; font-size: 28px;}
h4.b_title::before {position: absolute; left: 0; top: -2px; content: ''; width: 100%; height: 3px; background-color: #0073cb; z-index: 2;}
h4.b_title span {color: #0073cb;}
h4.b_title span.name {font-size: 20px; color: #111;}
.b_title_wrap + .sub-cont {padding: 0 0 30px 0;}

.list-basic table th {border-top: 1px solid #222; border-bottom: 1px solid #222; padding: 9px 0; font-size: 16px; font-weight: 700; color: #333;}
.list-basic table td {text-align: center; border-bottom: 1px solid #eaeaea; padding: 10.5px 0; font-size: 14px; font-weight: 600;}
.list-basic table tr:last-of-type td {border-color: #222;}
.list-basic table td * {font-size: 14px; font-weight: 600;}
.list-basic table .num {width: 100px;}
.list-basic table td.num {font-weight: 700;}
.list-basic table .subject {white-space: nowrap; text-overflow: ellipsis; overflow: hidden;}
.list-basic table td.subject {font-weight: 600; text-align: left;}
.list-basic table .name {width: 300px;}
.list-basic table td.name {color: #666; font-weight: 400;}
.list-basic table .datetime {width: 200px;}
.list-basic table td.datetime {color: #0073cb; font-weight: 400;}

.list-view .view-title.d-flex {position: relative; padding: 15px 0;}
.list-view .view-title .lb-tit {margin-right: auto; font-size: 20px; color: #333; line-height: 1.5;}
.list-view .view-title > span {display: flex; gap: 10px;}
.list-view .view-title > span.lb-date {position: relative; font-size: 18px; line-height: 30px; padding-right: 20px; color: #0073cb; font-weight: 400; margin-left: auto;}
.list-view .view-title > span.lb-date::after {position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: ''; width: 1px; height: 20px; background-color: #eaeaea;}
.list-view .view-title > span.lb-date span {font-size: 18px; color: #0073cb;}
.list-view .view-title span.name {font-size: 18px; line-height: 30px; padding-left: 20px; color: #333; font-weight: 400;}
.list-view .view-title span.name span {font-size: 18px; color: #666;}
.list-view .btn-list {width: 440px; font-size: 20px; font-weight: 700; background-color: #0073cb; padding: 18px 0; margin: 0 auto;}
.list-view .btn-list.no_cmt {margin-top: 40px;}

.view-comment {border: none; padding: 7px 0;}
.view-comment .comt-head h3 {font-size: 20px; margin-bottom: 10px;}
.view-comment .comt-list li {font-size: 18px; padding: 25px 0;}
.view-comment .comt-list li > .d-flex {gap: 10px;}
.view-comment .comt-list li .c-date {position: static; font-size: 14px; color: #999; line-height: 21px;}
.view-comment .txt-wrap {position: relative; padding: 20px 10px; box-shadow: 0 -10px 10px 0px rgba(0, 0, 0, 0.05);}
.view-comment .txt-wrap textarea {width: 100%; background-color: #f2f2f2; border: none; padding: 20px 15px; box-sizing: border-box; font-size: 20px;}
.view-comment .txt-wrap textarea::placeholder {color: #666;}
.view-comment .txt-wrap button {position: absolute; right: 20px; top: 50%; transform: translateY(-50%); background: none;}

/* basic_family skin */
.family_event .list-basic ul {border-top: 1px solid #000; border-bottom: 1px solid #000;}
.family_event .list-basic li {border-color: #eaeaea;}
.family_event .list-basic li:last-of-type {border-bottom: none;}
/* .family_event .list-view .view-title {padding-left: 70px;}
.family_event .list-view .view-title span.lb-date::after {display: none;}
.family_event .list-view .view-title .left {position: absolute; left: 0; top: 50%; transform: translateY(-50%);} */

.family_event .view-title .left span {display: block; width: 60px; height: 22px; font-size: 14px; font-weight: 600; background-color: #fff; border: 1px solid #ccc; border-radius: 50vh; line-height: 20px; box-sizing: border-box; text-align: center; margin: 4px 5px 0 0;}
.family_event .view-title .left span.kt_g {border-color: #297bcd; color: #297bcd;}
.family_event .view-title .left span.kgc {border-color: #d2504e; color: #d2504e;}
.family_event .view-title .left span.gongyeong {border-color: #c29100; color: #c29100;}
.family_event .view-title .left span.gongjae {border-color: #389200; color: #389200;}
.family_event .view-title .left span.taea {border-color: #776325; color: #776325;}

.family_event .view-title .left span.gyulhon {border-color: #ff66ff; color: #ff66ff;}
.family_event .view-title .left span.bugo {background: #333333; color: #333333;}
.family_event .view-title .left span.tansaeng {background: #ffff00; color: #ffff00;}

.list-view .view-title .tit_wrap > div.d-flex {position: relative; display: inline-block !important; height: 22px; line-height: 20px; box-sizing: border-box; border: 1px solid #ccc; border-radius: 50vh; padding: 0 5px; margin-top: 5px;}
.list-view .view-title .tit_wrap > div.d-flex * {font-size: 12px; font-weight: 600; margin-right: 0; padding: 0 5px;}
.list-view .view-title .tit_wrap > div.d-flex span:first-of-type {position: relative;}
.list-view .view-title .tit_wrap > div.d-flex span:last-of-type::after {display: none;}
.list-view .view-title .tit_wrap > div.d-flex span::after {position: absolute; right: -2px; top: 50%; transform: translateY(-50%); content: ''; width: 1px; height: 8px; background-color: #ccc;}
.list-view .view-title .tit_wrap > div.bugo {border-color: #333;}
.list-view .view-title .tit_wrap > div.bugo * {color: #333;}
.list-view .view-title .tit_wrap > div.bugo span::after {background-color: #333;}
.list-view .view-title .tit_wrap > div.gyulhon {border-color: #ff66ff;}
.list-view .view-title .tit_wrap > div.gyulhon * {color: #ff66ff;}
.list-view .view-title .tit_wrap > div.gyulhon span::after {background-color: #ff66ff;}
.list-view .view-title .tit_wrap > div.tansaeng {border-color: #ffff00;}
.list-view .view-title .tit_wrap > div.tansaeng * {color: #ffff00;}
.list-view .view-title .tit_wrap > div.tansaeng span::after {background-color: #ffff00;}
.list-view .view-title .tit_wrap + span.lb-date::after {display: none;}

/* News */
.insam_news.top_news .news_wrap {width: 100%; margin-top: 20px; padding: 20px 0;}
.insam_news.top_news .news_wrap .wr_content.mobile {display: -webkit-box !important; -webkit-line-clamp: 1;}
.insam_news.top_news .news_wrap .txt_content {gap: 3px;}
.insam_news.top_news .news_wrap li.swiper-slide {padding-bottom: 20px;}
.news_wrap li.sub_list > a {position: relative; gap: 30px; padding: 20px 0; border-top: 1px solid #f0f0f0;}
.news_wrap li.sub_list > a::after {position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: ''; width: 9px; height: 15px; background-image: url(/assets/images/renew/ico_menu_arr.png); background-size: cover;}
.news_wrap li.sub_list > a .img_wrap {width: 120px;}
.news_wrap li.sub_list > a .txt_content {width: calc(100% - 170px);}
.news_wrap li.sub_list .txt_content {padding: 0;}
.news_wrap li.sub_list .txt_content .ca_name {font-size: 14px;}

/* ********************************************************
    main
******************************************************** */
.quick_menu {background-color: #edf2ff; border: 1px solid #d8d8d8; padding: 30px 30px 40px 30px; margin-bottom: 30px;}
.quick_menu h3 {color: #333; font-size: 16px; font-weight: 700; margin-bottom: 20px;}
.quick_menu .menu {display: flex; justify-content: space-evenly; text-align: center;}
.quick_menu li a {display: block;}
.quick_menu li p {font-size: 20px; font-weight: 600; color: #333; margin-top: 10px;}

.sub_quick_menu .menu {display: flex; gap: 30px;}
.sub_quick_menu .menu li {flex: 1;}
.sub_quick_menu .menu li a {padding: 20px; border: 1px solid #d8d8d8;}
.sub_quick_menu .menu li a p {font-size: 22px; font-weight: 700; margin-right: auto;}

.top_news {gap: 20px;}
.top_news .news_wrap {width: calc(1010 / 1400 * 100%);}
.main .top_news .news_wrap ul.swiper-wrapper {max-height: 345px;}
.top_news .news_wrap .swiper-slide {flex-wrap: wrap;}
.top_news .news_wrap .swiper-slide > a {width: 50%;}
.top_news .news_wrap .swiper-slide > a .txt_content {gap: 7px; padding: 10px 0;}
.top_news .news_wrap .swiper-slide .img_wrap {height: auto;}
.top_news .news_wrap .swiper-slide > a .img_wrap {height: 300px;}
.main .top_news .news_wrap .swiper-slide > a .img_wrap {height: 250px;}
.top_news .news_wrap .swiper-slide > a .ca_name {position: relative; display: inline-block; background-color: #0073cb; color: #fff; font-size: 10px; font-weight: 400; padding: 0 5px; line-height: 20px; top: -1px;}
.top_news .news_wrap .swiper-slide .txt_content .ca_name {font-size: 12px;}
.top_news .news_wrap .swiper-slide .txt_content .subject {font-size: 16px;}
.top_news .news_wrap .swiper-slide .txt_content .wr_content,
.top_news .news_wrap .swiper-slide .txt_content .wr_content * {font-size: 14px !important; border: none !important; margin: 0 !important; padding: 0 !important;}
.top_news .news_wrap .swiper-slide .txt_content .wr_content h3::before {display: none;}
.top_news .news_wrap .swiper-slide > ul {display: flex; flex-direction: column; width: calc(50% - 31px); padding-left: 15px; margin-left: 15px; border-left: 1px solid #f0f0f0;}
.top_news .news_wrap .swiper-slide > ul li {flex: 1; border-bottom: 1px solid #f0f0f0;}
.top_news .news_wrap .swiper-slide > ul li:last-of-type {border-bottom: none;}
.top_news .news_wrap .swiper-slide > ul li a {display: flex; gap: 10px;}
.top_news .news_wrap .swiper-slide > ul .txt_content {display: flex; flex-direction: column; justify-content: start; width: calc(100% - 130px); padding: 5px 0 0 0;}
.top_news .news_wrap .swiper-slide > ul .img_wrap {display: flex; align-items: center; border: none;}
.top_news .news_wrap .swiper-slide > ul .img_wrap img {width: calc(100% - 2px); height: auto; vertical-align: middle; border: 1px solid #ccc;}
.top_news .quick_menu {position: relative; width: calc(100% - (980 / 1400 * 100%) - 50px); box-sizing: border-box; padding: 30px 20px 20px 20px; padding: 60px 20px 20px 20px; margin-bottom: 0;}
.top_news .quick_menu .menu {flex-wrap: wrap; gap: 30px 10px;}
.top_news .quick_menu .menu li {width: calc(25% - 7.5px);}
.top_news .quick_menu .menu li img {width: 100%;}
.top_news .quick_menu .menu li p {font-size: 14px; margin-top: 5px;}
.top_news .quick_menu .menu li a.a_kgc p {color: #d71920;}
.top_news .quick_menu .menu li a.a_kgc img {outline: 1px solid #d71920; border-radius: 50vh;}
.top_news .quick_menu .kakao {position: absolute; left: 50%; transform: translateX(-50%); bottom: 40px; width: 100%; height: 50px; line-height: 50px; background-color: #f9e000; display: none;}
.top_news .quick_menu .kakao a {display: flex; height: 100%; justify-content: center;}
.top_news .quick_menu .kakao span {font-size: 12px; color: #381e1f;}
.top_news .quick_menu .kakao span.b {font-size: 14px; font-weight: 700; margin-right: 5px;}
.top_news .quick_menu .kakao .img_wrap {display: flex; align-items: center;}
.top_news .quick_menu .kakao img {height: 70%;}

.insam_news.top_news.gallery_news .lb-date {display: none;}

.news_wrap {position: relative; margin-top: 50px; border-top: 1px solid #000;}
.news_wrap h3 {position: relative; display: inline-block; font-size: 16px; font-weight: 800; padding: 10px 0 15px;}
.news_wrap h3::before {position: absolute; left: 0; top: -2px; content: ''; width: 100%; height: 3px; background-color: #0073cb; z-index: 2;}
.news_wrap ul:not(.pg) li > a {display: block; height: 100%; box-sizing: border-box;}
.news_wrap ul:not(.pg) li > a > img {border: 1px solid #ccc;}
.news_wrap li .txt_content {display: flex; flex-direction: column; gap: 10px; padding: 15px 15px 0 15px;}
.news_wrap li .txt_content .ca_name {color: #1278d6; font-size: 18px; font-weight: 600;}
.news_wrap li .txt_content .subject {font-size: 16px; color: #111; font-weight: 800; line-height: 1.4; word-break: keep-all;}
.news_wrap li .txt_content .datetime {font-size: 13px; color: #7a7a7a; font-weight: 500;}
.news_wrap .wr_content {overflow: hidden; text-overflow: ellipsis; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; line-height: 1.5;}
.news_wrap .wr_content,
.news_wrap .wr_content * {font-size: 16px !important; font-family: 'Pretendard' !important; font-weight: 400 !important; color: #666 !important; text-decoration: none !important; border: none !important; padding: 0 !important; margin: 0 !important;}
.news_wrap .wr_content br,
.news_wrap .wr_content table,
.news_wrap .wr_content iframe,
.news_wrap .wr_content img {display: none;}
.news_wrap .wr_content h3::before {display: none;}

.news_wrap.now li .txt_content {/* height: calc(100% - 190px); */ box-sizing: border-box;}
.news_wrap.now li .txt_content .datetime {margin-top: auto;}
.news_wrap.now .act_event .txt_content > .wr_content {display: none;}
.act_event.gallery_news .ca_name {display: none !important;}

.news_wrap .lastest_swipe {overflow: hidden;}
.news_wrap .lastest_swipe .arrow {position: absolute; right: 0; top: 0; display: flex; gap: 8px; padding: 10px 0 0 0;}
.news_wrap .swiper-slide .img_wrap {height: 150px; border: 0px solid #ccc;}
/* .market .news_wrap .swiper-slide .img_wrap,
.event.news_wrap .swiper-slide .img_wrap {height: auto;} */
.news_wrap .swiper-slide .img_wrap img {width: 100%; height: 100%; object-fit: cover;}
.news_wrap .swiper-slide img {max-width: 100%;}
.news_wrap .swiper-button-next,
.news_wrap .swiper-button-prev {position: static; width: 60px; height: 25px; border: 1px solid #e5e5e5; background-color: #fff; background-size: 8px 12px; background-position: center center; margin-top: 0;}
.news_wrap .swiper-button-next {background-image: url(/assets/images/renew/ico_swiper_arrow_next.png);}
.news_wrap .swiper-button-prev {background-image: url(/assets/images/renew/ico_swiper_arrow_prev.png);}
.news_wrap .swiper-button-prev.swiper-button-disabled,
.news_wrap .swiper-button-next.swiper-button-disabled {background-color: rgb(221, 221, 221);}

.schedule.market {gap: 20px;}
.schedule.market > .news_wrap {width: calc(50% - 10px);}
.schedule.market > .news_wrap + div {display: flex; flex-direction: column; width: calc(50% - 10px);}
.schedule.market > .news_wrap + div > div.faq {height: calc(100% - 245px); margin-top: 20px;}
/* .schedule.market li.swiper-slide {display: flex; flex-direction: column; gap: 15px;} */
/* .schedule.market .news_wrap:not(.event) li.swiper-slide {flex-direction: row; flex-wrap: wrap; gap: 10px;}
.schedule.market .news_wrap:not(.event) li.swiper-slide a {width: calc(100% / 3 - 7px); height: calc(100% / 3 - 7px);} */
.schedule .news_wrap th {font-size: 16px; font-weight: 800; padding: 10px; border: 1px solid #e2e2e2; color: #111; background-color: #edf2ff;}
.schedule .news_wrap td {font-size: 16px; font-weight: 700; padding: 10px; border: 1px solid #e2e2e2; color: #333; text-align: center;}
.schedule .news_wrap tr > th:first-of-type,
.schedule .news_wrap tr > td:first-of-type {width: 150px;}
.schedule .news_wrap tr > th:nth-of-type(3),
.schedule .news_wrap tr > td:nth-of-type(3) {width: 150px;}
.schedule .news_wrap .table_wrap p {font-size: 14px; color: #666; border: 1px solid #e2e2e2; border-top: none; background-color: #edf2ff; padding: 7px 15px;}
.lastest_swipe.vertical .lastest_swiper_container,
.lastest_swipe.vertical .lastest_swiper_container li {height: 192px;}
.lastest_swipe.vertical li.swiper-slide > a {display: flex;}
.market .lastest_swipe.vertical li.swiper-slide > a {gap: 15px;}
.market .lastest_swipe.vertical li.swiper-slide > a .img_wrap {width: 100%; height: 100%;}
.market .lastest_swipe.vertical li.swiper-slide > a .txt_content {width: 50%; padding: 0;}

.lastest_swipe.event .swiper-slide > a {display: flex; gap: 15px; padding: 10px 0;}
.lastest_swipe.event .swiper-slide > a .img_wrap {position: relative; width: 50%;}
.lastest_swipe.event .swiper-slide > a .txt_content {width: 50%; box-sizing: border-box; padding: 10px 0;}
.lastest_swipe.event .swiper-slide > a span.status {position: absolute; bottom: 5px; right: 5px;}
.lastest_swipe.event .swiper-slide > a span.status img {width: 70px; height: auto;}
.lastest_swipe.event .swiper-slide.status_end > a span.status {left: 5px; right: auto;}
.lastest_swipe.event .swiper-slide.status_end > a span.status img {width: 100px;}
.lastest_swipe.event .swiper-slide.status_end > a span.end_noti {position: absolute; right: 10px; bottom: 5px; color: #fff; font-size: 12px; font-weight: 400;}
.lastest_swipe.event .swiper-slide > a .img_wrap img.status_end {position: absolute; left: 0; top: 0; width: 100%; height: 100%; object-fit: cover;}
.lastest_swipe.event .swiper-slide.status_soon > a .img_wrap {display: flex; flex-direction: column; justify-content: center; gap: 10px; background-image: url(/assets/images/renew/bg_coming_soon.png); background-size: cover; text-align: center; font-size: 12px; font-weight: 400; color: #0b3e68;}
.lastest_swipe.event .swiper-slide.status_soon > a .img_wrap h4 {font-size: 24px; color: #0b3e68;}
.lastest_swipe.event .swiper-slide.status_soon .txt_content {justify-content: space-between;}
.lastest_swipe.event .swiper-slide.status_soon .txt_content .datetime {line-height: 1.5;}
.lastest_swipe.event .swiper-slide.status_end > a .img_wrap {position: relative;}
.lastest_swipe.event .swiper-slide.status_end > a .img_wrap::before {position: absolute; left: 0; top: 0; width: 100%; height: 100%; content: ''; background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 40%);}

.news_wrap .lastest_swipe.act_event li.swiper-slide .txt_content {padding: 15px;}
.news_wrap .lastest_swipe.act_event li.swiper-slide .txt_content .subject {overflow: hidden; white-space: nowrap; text-overflow: ellipsis;}

.news_wrap.now li.swiper-slide {position: relative; height: auto;}
.news_wrap.now li.swiper-slide > a {border: 1px solid #e5e5e5;}
.news_wrap.now li.swiper-slide > a .img_wrap {border: none;}

.news_wrap.star_market ul.tags {display: flex; gap: 5px; margin-bottom: 10px;}
.news_wrap.star_market ul.tags li {}
.news_wrap.star_market ul.tags li a {display: block; padding: 5px 12px; background-color: #fff; border: 1px solid #ccc; border-radius: 50vh; font-size: 14px;}
.news_wrap.star_market ul.tags li a.active {background-color: #0b3e68; color: #fff;}

.news_wrap ul.market_ul {height: 530px;}
.news_wrap ul.market_ul li {padding: 0; box-sizing: border-box;}
.news_wrap ul.market_ul li a:not(:last-of-type) {border-bottom: 1px solid #ccc;}
.news_wrap ul.market_ul li > a {height: calc(100% / 5); display: flex; gap: 10px;}
.news_wrap ul.market_ul li .img_wrap {width: 35%; height: calc(100% - 10px); margin: auto 0;}
.news_wrap ul.market_ul li .img_wrap img {width: 100%; height: 100%; object-fit: cover;}
.news_wrap ul.market_ul li .subject {display: flex; flex-direction: column; justify-content: center; width: 65%; font-size: 15px; font-weight: 500;}

/* .news_wrap.star_market {padding-bottom: 50px;} */
.news_wrap.star_market .swiper-paging {/* position: absolute; top: 45px; left: 50%; */ display: flex; justify-content: space-between; width: 200px;}
/* .news_wrap.star_market .swiper-button-prev {position: absolute; top: auto; bottom: 0; left: calc(50% - 55px); z-index: 2;}
.news_wrap.star_market .swiper-button-next {position: absolute; top: auto; bottom: 0; right: calc(50% - 55px); z-index: 2;} */
.news_wrap.star_market .swiper-pagination {bottom: 7px; z-index: 1; position: static; width: auto; display: flex; justify-content: center; align-items: center; gap: 5px;}

.swiper-wrapper.vertical {flex-direction: column; /* height: 150px; */ padding: 0;}
.swiper-wrapper.vertical .swiper-slide {height: calc(100% / 3 - 1px); height: 100%;}
.news_wrap .swiper-wrapper.vertical .swiper-slide:not(:last-of-type) {border-bottom: 1px solid #ccc;}
.news_wrap .swiper-wrapper.vertical .swiper-slide .img_wrap {height: calc(100% - 10px); margin: auto 0;}

.news_wrap .swiper-wrapper.vertical .swiper-slide.status_end span.status {position: absolute; left: auto; right: 30px; top: 50%; transform: translateY(-50%); display: block !important; width: 60px; height: 30px; background-color: #cc0033;}
.news_wrap .swiper-wrapper.vertical .swiper-slide.status_end span.status::before {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); content: '종료'; font-size: 16px; color: #fff;}
.news_wrap .swiper-wrapper.vertical .swiper-slide.status_end span.status img {display: none;}

.news_wrap .swiper-wrapper.vertical .swiper-slide:not(:first-of-type) {}
.news_wrap .swiper-wrapper.vertical .swiper-slide:not(:first-of-type)::after {position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: ''; width: 9px; height: 15px; background-image: url(/assets/images/renew/ico_breadcrumb_arr.png); background-size: cover;}
.news_wrap .swiper-wrapper.vertical .swiper-slide:not(:first-of-type) a .img_wrap {position: static; width: 110px;}
.news_wrap .swiper-wrapper.vertical .swiper-slide:not(:first-of-type) a .img_wrap::before {display: none;}
.news_wrap .swiper-wrapper.vertical .swiper-slide:not(:first-of-type) a .txt_content {width: calc(100% - 125px);}
.news_wrap .swiper-wrapper.vertical .swiper-slide:not(:first-of-type) a .end_noti,
.news_wrap .swiper-wrapper.vertical .swiper-slide:not(:first-of-type) a .status {display: none;}


.news_wrap .accord-tab {border: none; border-top: 1px solid #ddd;}
.news_wrap .accord-tab li:last-of-type a {border-bottom: none;}
.news_wrap .accord-tab .accord-head a {padding: 13px 40px;}
.news_wrap .accord-tab .accord-head a::after {right: 5px; display: none;}
.news_wrap .accord-tab .accord-head a strong {left: 0;}

/* blind 신문고 */
.sinmungo .notice_wrap {background-color: #f4f6f7; border: 1px solid #d2d2d2; padding: 16px; line-height: 1.8; font-size: 16px; font-weight: 700; color: #333; margin-bottom: 15px;}
.sinmungo .notice_wrap span {color: #0073cb;}
.sinmungo .notice_wrap span.underline {border-bottom: 1px solid #0073cb;}
.sinmungo .process {background-color: #fbfbfb; border: 1px solid #dadada; padding: 10px 15px; margin-bottom: 15px;}
.sinmungo .process .process_tit {position: relative; display: flex; align-items: center; justify-content: center; width: 66px; height: 66px; margin: 0 auto 20px auto; background-color: #0073cb; color: #fff; border-radius: 50vh;}
.sinmungo .process .process_tit::after {position: absolute; top: 100%; left: 50%; transform: translateX(-50%); content: ''; width: 2px; height: 20px; background-color: #0073cb;}
.sinmungo .process .step_wrap {border: 2px solid #0073cb; background-color: #fff; padding: 10px;}
.sinmungo .process .step_wrap ul {position: relative; display: flex; justify-content: space-between;}
.sinmungo .process .step_wrap ul::before {position: absolute; left: 50%; top: 9px; transform: translateX(-50%); content: ''; width: calc(100% - 10px); height: 2px; background-color: #0073cb;}
.sinmungo .process .step_wrap ul li {text-align: center;}
.sinmungo .process .step_wrap span.num {position: relative; display: flex; justify-content: center; align-items: center; width: 15px; height: 15px; border: 2px solid #0073cb; border-radius: 60vh; font-size: 12px; font-weight: 600; color: #0073cb; margin: 0 auto; background-color: #fff; z-index: 1;}
.sinmungo .process .step_wrap p {font-size: 16px; font-weight: 700; color: #0073cb; padding: 5px 0 0 0; line-height: 1;}
.sinmungo .process .step_wrap .detail {position: relative; padding: 10px 5px; border: 2px solid #0073cb; margin-top: 10px;}
.sinmungo .process .step_wrap .detail::before {position: absolute; left: 50%; top: -6px; transform: translateX(-50%); content: ''; width: 8px; height: 8px; border: 2px solid #0073cb; border-radius: 50vh; background-color: #fff;}
.sinmungo .process .step_wrap .detail span {position: relative; display: inline-block; font-size: 13px; padding: 0 10px;}
.sinmungo .process .step_wrap .detail span:first-of-type::after {position: absolute; right: -2px; top: 50%; transform: translateY(-50%); content: ''; width: 1px; height: 10px; background-color: #ccc; display: none;}

.sinmungo .btn-submit {font-size: 18px; font-weight: 600; border-radius: 0; background-color: #0073cb; padding: 9.5px 0;}

.faq .faq_wrap {background-image: url(/assets/images/renew/bg_faq.png); background-size: cover; background-repeat: no-repeat; padding: 10px 20px 20px 20px; box-sizing: border-box; border: 1px solid #e5e5e5;}
.faq .faq_wrap .cont {display: flex; flex-direction: column; gap: 10px; width: 90%; height: calc(100% - 74px); background-color: #fff; border-radius: 15px; border: 1px solid #e5e5e5; padding: 10px 0; margin: 0 auto;}
.faq .faq_wrap h4.tit {text-align: center; color: #0b3e68; padding: 0 0 10px 0; font-size: 24px;}
.faq .faq_wrap h4.tit span {color: #1278d6;}
.faq .faq_wrap ul {display: flex; justify-content: center; gap: 20px;}
.faq .faq_wrap ul li > a {text-align: center; font-weight: 400; font-size: 14px; color: #000;}
.faq .faq_wrap ul li > a .img_wrap {display: flex; justify-content: center; align-items: center; width: 60px; height: 60px; border: 1px solid #e5e5e5; border-radius: 50vh; margin-bottom: 5px;}
.faq .faq_wrap ul li > a .img_wrap img {max-width: calc(100% - 20px);}
.faq .faq_wrap p {text-align: center; margin-top: 20px; font-size: 14px; color: #0b3e68; margin: auto 0 10px 0;}


/* ********************************************************
    sitemap
******************************************************** */
.sitemap {padding-top: 15px;}
.sitemap > ul > li {margin-bottom: 35px;}
.sitemap > ul > li > a {display: inline-block; font-size: 16px; font-weight: 600; color: #333; margin-bottom: 10px;}
.sitemap .snb ul {display: flex; gap: 60px; border-top: 2px solid #dedede; border-bottom: 1px solid #dedede;}
.sitemap .snb ul a {display: block; font-size: 14px; font-weight: 600; color: #444; padding: 15px 0;}
.sitemap .snb ul a:hover {color: #0073cb;}


/* ********************************************************
    위원장인사말
******************************************************** */
.about-chair .chair-txt {display: flex; flex-direction: column; gap: 25px; padding: 30px 0; font-size: 16px; line-height: 1.8; color: #333; border-bottom: 1px solid #111; font-family: 'SeoulNamsanM' !important;}
.about-chair .chair-txt * {font-family: 'SeoulNamsanM' !important;}
.about-chair .chair-txt .bk {color: #111;}
.chair-txt span.underline {position: relative; color: #111;}
.chair-txt span.underline::after {position: absolute; bottom: 0; left: 0; content: ''; width: 100%; height: 50%; background-color: #cae8ff; z-index: -1;}


/* ********************************************************
    연혁
******************************************************** */
.about-history {position: relative; padding: 50px 0; border-top: 1px solid #111; border-bottom: 1px solid #111; background-color: #fbfbfb;}
.about-history .label {width: 72px; height: 72px; background-color: #0073cb; border-radius: 50vh; text-align: center; line-height: 70px; color: #fff; margin: 0 auto; font-size: 14px;}
.about-history ul {position: relative; display: flex; flex-direction: column; gap: 20px; padding: 80px 0 30px;}
.about-history ul::before {position: absolute; top: 0; right: calc(50% - 2px); transform: translateX(-50%); content: ''; width: 2px; height: 100%; background-color: #0073cb;}
.about-history ul li {position: relative; width: 50%; box-sizing: border-box;}
.about-history ul li::before {position: absolute; right: -8px; bottom: -8px; content: ''; width: 12px; height: 12px; border: 2px solid #0073cb; border-radius: 50vh; background-color: #fff;}
.about-history ul li:nth-of-type(2n - 1) {margin-right: auto; text-align: right; padding-right: 40px;}
.about-history ul li:nth-of-type(2n) {margin-left: auto; padding-left: 40px;}
.about-history ul li:nth-of-type(2n)::before {right: auto; left: -8px;}
.about-history ul li strong {font-size: 20px; font-weight: 800; color: #0073cb; margin-bottom: 5px;}
.about-history ul li p {font-size: 14px; color: #555;}
.about-history ul li p span {color: #222;}


/* ********************************************************
    역대위원장
******************************************************** */
.about-history.legend .label {display: flex; flex-direction: column; justify-content: center; text-align: center; line-height: 1.3;}
.about-history.legend ul {padding-top: 130px;}
.about-history.legend ul li::before {bottom: auto; top: -8px;}
.legend .first_legend {position: absolute; left: 50%; transform: translateX(-50%); margin-top: 10px; text-align: center; background-color: #fff; border: 1px solid #297bcd; padding: 5px 10px; z-index: 1;}
.legend .first_legend p {font-size: 14px; font-weight: 600; color: #222;}
.legend .first_legend span {font-size: 14px; font-weight: 600; color: #555;}
.about-history.legend ul li.now {display: flex; justify-content: end;}
.about-history.legend ul li.now > div {padding: 5px 10px; border: 2px solid #297bcd; background-color: #fff;}
.about-history.legend ul li:nth-of-type(2n - 1) {padding-right: 20px;}
.about-history.legend ul li:nth-of-type(2n) {padding-left: 20px;}


/* ********************************************************
    집행부 현황
******************************************************** */
.about_executive .sub-cont {background-color: #fbfbfb; padding: 0;}
.execut_layer {position: relative; padding: 30px 0 10px; border-top: 1px solid #111; border-bottom: 1px solid #111;}
.execut_layer > div{display: flex; justify-content: center; margin-bottom: 30px; font-size: 0px; text-align: center;}

.execut_layer div.img_box2 > div > span {margin-right: 70px;}
.execut_layer > div > div > span {position: relative; width: 130px; display: inline-block;}
.execut_layer > div > div > span::before {position: absolute; left: 50%; transform: translateX(-50%); top: -16px; content: ''; width: 2px; height: 15px; height: calc(100% + 30px); background-color: #0073cb; z-index: 0;}
.execut_layer div.img_box2 > div > span:last-child {margin-right: 0px;}
.execut_layer div > span:last-child {margin-right: 0px;}
.execut_layer div > span img {position: relative; width: 100%; margin-bottom: 5px; z-index: 1;}
.execut_layer div.img_box3 > div > span {margin-right: 70px;}
.execut_layer div.img_box3 > div  > span:last-child {margin-right: 0px;}
.exec_txt {position: relative; display: flex; flex-direction: column; justify-content: center; gap: 5px; width: 70px; height: 70px; border-radius: 50vh; border: 2px solid #0073cb; margin: 0 auto; text-align: center; background-color: #fff; z-index: 1;}
.exec_txt span {font-size: 13px; font-weight: 600; letter-spacing: -1px; display: block; color: #297bcd; padding-top: 5px;}
.exec_txt strong {font-size: 16px; display: block; color: #111;}

.execut_layer > div.img_box1 > div > span::before {top: 1px; height: calc(100% + 14px);}

.execut_layer > div:last-of-type > div > span::before {height: calc(100% + 15px);}

.img_box1 .exec_txt {background-color: #0073cb;}
.img_box1 .exec_txt span {color: #fff; }
.img_box1 .exec_txt strong {color: #fff;}
.execut_layer .img_box1 .ewrap::before {display: none;}

.execut_layer .ewrap {position: relative;}
.execut_layer .ewrap::before {position: absolute; left: 64px; bottom: calc(100% + 15px); content: ''; width: calc(100% - 128px); height: 2px; background-color: #0073cb;}


/* ********************************************************
    조직도
******************************************************** */
.org_wrap .bg_blue {background-color: #0073cb; border: 2px solid #0073cb; color: #fff;}
.org_wrap .bg_orange {background-color: #ec6333; border: 2px solid #ec6333; color: #fff;}
.org_wrap .bg_green {background-color: #2e6e17; border: 2px solid #2e6e17; color: #fff;}
.org_wrap .border_blue {background-color: #fff; border: 2px solid #0073cb; color: #0073cb;}
.org_wrap .border_bk {background-color: #fff; border: 2px solid #222;}
.org_wrap .border_orange {background-color: #fff; border: 2px solid #ec6333; color: #ec6333;}
.org_wrap .border_green {background-color: #fff; border: 2px solid #2e6e17; color: #2e6e17;}

.org_wrap .t_vertical span:not(.vt) {width: 40px; height: 120px; letter-spacing: -2px;}
.org_wrap .t_vertical span.vt {display: flex; justify-content: space-between; width: auto; height: auto;}
.org_wrap .t_vertical span.vt span {width: auto; height: auto;}

.org_wrap .area4 .t_vertical span.vt {height: 75px;}
.org_wrap .area5 .t_vertical span.vt {height: 50px;}

.about_org .sub-cont {background-color: #fbfbfb; border-top: 1px solid #111; border-bottom: 1px solid #111; padding: 50px 0;}
.org_wrap {position: relative; z-index: 1;}
.org_wrap::before {position: absolute; left: 50%; top: 0; transform: translateX(-50%); content: ''; width: 2px; height: calc(100% - 132px); background-color: #111; z-index: -1;}
.org_wrap span {display: flex; justify-content: center; align-items: center; width: 120px; height: 40px; background-color: #fff; font-size: 14px; letter-spacing: -1px;}
.org_wrap .area {margin-bottom: 30px;}
.org_wrap .area_h {display: flex; justify-content: center; margin-bottom: 20px;}
.org_wrap .area_wrap {display: flex; justify-content: center;}

.org_wrap .area_wrap .ul_wrap {position: relative; display: flex;}
.org_wrap .area_wrap .ul_wrap::before {position: absolute; left: 50%; top: -10px; transform: translateX(-50%); content: ''; width: calc(100% - 122px); height: 2px; background-color: #111;}

.org_wrap .area_wrap + .area_h {margin-top: 20px;}

.org_wrap .area_wrap ul {position: relative;}
.org_wrap .area_wrap.vertical ul {position: relative;}
.org_wrap .area_wrap.vertical ul::before {position: absolute; left: 50%; bottom: 0; transform: translateX(-50%); content: ''; width: 2px; height: calc(100% + 10px); background-color: #111; z-index: -1;}
.org_wrap .area_wrap.vertical .left {margin-right: 10px;}
.org_wrap .area_wrap.vertical .right {margin-left: 10px;}
.org_wrap .area_wrap.vertical li {margin-bottom: 20px;}
.org_wrap .area_wrap.vertical li:last-of-type {margin-bottom: 0;}

.org_wrap .area_wrap.horizontal ul {display: flex; gap: 20px;}
.org_wrap .area_wrap.horizontal li::before {position: absolute; left: 50%; top: -10px; transform: translateX(-50%); content: ''; width: 2px; height: 10px; background-color: #111;}

.org_wrap li {position: relative;}

.org_wrap .area_wrap.t_vertical .ul_wrap::before {width: calc(100% - 42px);}
.area_wrap.t_vertical li {writing-mode: vertical-lr;}

.org_wrap .area4 .area_wrap.horizontal ul {gap: 40px;}


/* ********************************************************
    산별노조 소개
******************************************************** */
.sub-cont.about {padding: 45px 30px; border-top: 1px solid #111; border-bottom: 1px solid #111; background-color: #fbfbfb;}
.contents.about .about ul {display: flex; flex-wrap: wrap; gap: 15px 10px;}
.contents.about .about ul li {width: calc(25% - 7.5px); background-color: #ebebeb; border: 1px solid #e3e3e3; box-sizing: border-box;}
.contents.about .about ul a {display: flex; gap: 20px; padding: 5px 10px;}
.contents.about .about ul a span {display: flex; justify-content: center; align-items: center; width: 70px; height: 70px; border-radius: 50vh; text-align: center; background-color: #fff;}
.contents.about .about ul a p {position: relative; display: flex; align-items: center; font-size: 18px; font-weight: 600; color: #0073cb; z-index: 0;}
.contents.about .about ul a p::before {position: absolute; content: attr(data-content); left: 0; -webkit-text-stroke: 3px #fff; z-index: -1;}


/* ********************************************************
    식단
******************************************************** */
.sub-cont.food {padding: 0;}
.banner.menu {height: 160px;}
.banner.menu img {width: 100%; height: 100%; object-fit: cover;}
.menu .list-gate.menu {position: relative;}
.menu .list-gate.menu::after {position: absolute; left: 0; bottom: 0; content: ''; width: 100%; height: 1px; background-color: #111;}
.menu .list-gate.menu::before {position: absolute; right: 0; top: 0; content: ''; width: 1px; height: 100%; background-color: #dedede;}
.menu .list-gate ul {gap: 40px 30px; flex-wrap: wrap; border-top: 1px solid #111; border-bottom: 1px solid #111; padding: 20px 0;}
.menu .list-gate ul li {width: calc(100% / 4 - 22.5px);}
.menu .list-gate ul li a {display: block;}
.menu .list-gate ul li span.branch {position: relative; display: block; font-size: 16px; line-height: 24px; font-weight: 700; color: #333; margin-bottom: 10px;}
.menu .list-gate ul li span.branch::after {position: absolute; right: 0; top: 0; content: ''; width: 24px; height: 24px; background-image: url(/assets/images/renew/btn_more.png); background-size: cover;}
.menu .list-gate ul li span.img_wrap {display: block; width: 100%; height: 130px; background-repeat: no-repeat; background-position: center center; box-sizing: border-box; border: 1px solid #dedede;}
.menu.food .list-gate ul li span.img_wrap {background-size: cover;}
.menu .food .list-gate dl {display: flex; flex-wrap: wrap; border-top: 1px solid #111; border-left: 1px solid #dedede;}
.menu .food .list-gate dd {position: relative; width: calc(20% - 1px); padding: 0; border-right: 1px solid #dedede; border-bottom: 1px solid #dedede;}
.menu .food .list-gate dd:nth-of-type(5n) {border-right: none;}
.menu .food .list-gate dd::after {position: absolute; right: 15px; top: 50%; transform: translateY(-50%); content: ''; width: 38px; height: 40px; background-image: url(/assets/images/renew/ico_food01.png); background-repeat: no-repeat; background-size: cover;}
.menu .food .list-gate dd:nth-of-type(2n)::after {background-image: url(/assets/images/renew/ico_food02.png);}
.menu .food .list-gate dd.empty {width: 100%;}
.menu .food .list-gate dd a {padding: 25px 15px;}
.menu .food .list-gate dd a::before {display: none;}
.menu .food .list-gate dd a::after {display: none;}
.menu .food .list-gate dd strong {position: relative; display: inline-block; font-size: 18px; font-weight: 800; margin-bottom: 10px; margin-left: 12px; z-index: 1;}
.menu .food .list-gate dd strong::before {position: absolute; left: -12px; top: 50%; transform: translateY(-50%); content: ''; width: 6px; height: 6px; background-color: #0073cb;}
.menu .food .list-gate dd strong::after {position: absolute; bottom: 0; left: 0; content: ''; width: 100%; height: 50%; background-color: #cae8ff; z-index: -1;}
.menu .food .list-gate dd .date {display: block; font-size: 14px; font-weight: 600; color: #0073cb;}

.menu-view .mn-date {display: flex; gap: 35px; border-top: 1px solid #111; padding: 20px 0;}
.menu-view .mn-date strong {position: relative; display: inline-block; font-size: 22px; font-weight: 800; margin-left: 12px; z-index: 1; color: #111;}
.menu-view .mn-date strong::before {position: absolute; left: -12px; top: 50%; transform: translateY(-50%); content: ''; width: 6px; height: 6px; background-color: #0073cb;}
.menu-view .mn-date strong::after {position: absolute; bottom: 0; left: 0; content: ''; width: 100%; height: 50%; background-color: #cae8ff; z-index: -1;}
.menu-view .mn-date span.date {position: relative; line-height: 26px;}
.menu-view .mn-date span.date::before {position: absolute; left: -27.5px; top: 50%; transform: translateY(-50%); content: ''; width: 25px; height: 26px; background-image: url(/assets/images/renew/ico_food01.png); background-size: cover;}


/* ********************************************************
    설문조사
******************************************************** */
.poll .poll ul {border-top: 1px solid #111; border-bottom: 1px solid #111;}
.poll .poll li {position: relative; background: none; border-bottom: 1px solid #ddd;}
.poll .poll li:not(:last-of-type) {border-bottom: none;}
.poll .poll li::after {position: absolute; right: 0; top: 50%; transform: translateY(-50%); content: ''; width: 9px; height: 15px; background-image: url(/assets/images/renew/ico_breadcrumb_arr.png); background-size: cover;}
.poll .poll li a {display: flex; flex-direction: column; gap: 5px; padding: 20px 0;}
.poll .poll li .lb-tit {font-size: 16px; font-weight: 800;}
.poll .poll li .lb-sub {font-size: 12px; font-weight: 600;}
.poll .poll li .lb-sub.comp {color: #666;}
.poll .poll li .lb-sub.date {color: #0073cb;}

.poll.list-view .view-title {border: 1px solid #0073cb; background-color: #f4f6f7; padding: 20px; margin-bottom: 30px;}
.poll.list-view .target {font-size: 14px; font-weight: 600; color: #666;}
.poll.list-view .lb-tit {font-size: 18px; font-weight: 800;}
.poll.list-view .period {font-size: 14px; font-weight: 600; color: #0073cb;}
.poll .poll.list-view li {padding: 0; border: none;}
.poll .poll.list-view ul {display: flex; flex-direction: column; gap: 20px; border-top: none; border-bottom: none;}
.poll .poll .view-poll {border-top: 1px solid #111; border-bottom: 1px solid #111; padding: 30px 0 40px;}
.poll .poll .view-poll .lb-tit {margin-bottom: 25px;}
.poll .btn-submit {font-size: 18px; font-weight: 500; border-radius: 0; padding: 7px 0;}


/* ********************************************************
    설문조사
******************************************************** */
.schedule .schdule-wrap {padding: 30px 0 0 0; border-top: 1px solid #111; border-bottom: 1px solid #111; background-color: #fbfbfb;}
.schedule #datepicker {}
.schedule .ui-widget.ui-widget-content {position: relative; max-width: 640px; margin: 0 auto; background: none; border-bottom: none; border-top: none;}
.schedule .ui-widget-header {border-bottom: none;}
.schedule .ui-datepicker .ui-datepicker-title {font-size: 20px; font-weight: 800;}
.schedule .ui-datepicker th {border-bottom: none; font-size: 18px; font-weight: 800;}
.schedule .ui-datepicker td {padding: 10px 0;}
.schedule .ui-datepicker td a {margin: 0 auto; font-size: 18px; font-weight: 800;}
.ui-widget.ui-widget-content {border-radius: 0;}
.schedule .ui-datepicker .ui-datepicker-header {position: static;}
.schedule .ui-datepicker .ui-datepicker-prev,
.schedule .ui-datepicker .ui-datepicker-next {top: 50%; transform: translateY(-50%); display: flex; justify-content: center; align-items: center; width: 45px; height: 45px; border-radius: 50vh; border: 1px solid #e5e5e5; background-color: #fff;}
.schedule .ui-datepicker .ui-datepicker-prev {left: -100px;}
.schedule .ui-datepicker .ui-datepicker-next {right: -100px;}
.schedule .ui-datepicker .ui-datepicker-prev span,
.schedule .ui-datepicker .ui-datepicker-next span {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); margin: 0;}
.schedule .ui-datepicker .ui-datepicker-prev span::before,
.schedule .ui-datepicker .ui-datepicker-next span::before {position: static; content: ''; width: 10px; height: 16px; background-image: url(/assets/images/renew/ico_swiper_arrow_prev.png) !important; background-size: cover; margin: 0; transform: none; margin: 0 auto;}
.schedule .ui-datepicker .ui-datepicker-next span::before {background-image: url(/assets/images/renew/ico_swiper_arrow_next.png) !important;}

.schedule .ui-datepicker th:first-child,
.schedule .ui-datepicker td:first-child a {color: #ff0b0b;}
.schedule .ui-state-highlight,
.schedule .ui-widget-content .ui-state-highlight,
.schedule .ui-widget-header .ui-state-highlight {background-color: #0073cb;}
.schedule .ui-datepicker td.hightLight a {background-color: #0073cb;}
.schedule .ui-datepicker-calendar .ui-state-highlight {background-color: #fff; border: 1px solid #0073cb; color: #0073cb;}


.schedule .event_wrap {max-width: 640px; margin: 0 auto; border: 1px solid #e3e3e3; border-bottom: none; background-color: #fff;}