

/* 공통 타이틀 */
[class*='M_'] > .header {display:flex; justify-content:space-between; align-items:center;}
h3.heading {font-size:1.1rem; color:#000; font-weight:400; white-space: nowrap; overflow: hidden;}
h3.heading strong {color:#333;font-size:1.8rem; font-weight:800; font-family:'Montserrat';}

/* 공통 탭 */
.tab-wrap { position: relative; width: 100%; height:100%;}
.tab-wrap .tab-menu {display: flex; flex-wrap: wrap; gap: 1rem; align-items: center;}
.tab-wrap .tab-menu li {max-width: calc(100% / 4); min-width:fit-content;}
.tab-wrap .tab-menu li a {position: relative; display: flex; align-items:center; justify-content:center; height:3rem; background:rgba(0,0,0,0.3); color:#fff; font-size: 1rem; font-weight: 500; transition: all 0.2s; border-radius:2rem; min-width:8rem;}
.tab-wrap .tab-menu li a span {text-overflow:ellipsis; overflow:hidden; white-space:nowrap; min-width:0; max-width:10rem;}
.tab-wrap .tab-menu li a.current,
.tab-wrap .tab-menu li a:hover,
.tab-wrap .tab-menu li a:focus {font-weight: 700; color: #fff; background:rgba(68,63,151,1);}
.tab-wrap .tab-menu li a.current span {position:relative; padding-left:1rem; transition:all 0.2s;}
.tab-wrap .tab-menu li a.current span:before {content:'#'; position:absolute; top:50%; transform:translate(0, -50%); font-size:1rem; color:#fff; font-weight:700; left:0; transition:all 0.2s;}
.tab-wrap .util_box {display:flex; justify-content:space-between; align-items:center; gap:2rem;}
.tab-wrap .util_box.has-add ~ .control {margin-right:3.2rem;}

.tab-wrap .tab-contents { width: 100%; height:100%; }
.tab-wrap .tab-panel { display: none; }
.tab-wrap .tab-panel.on { display: block; height:100%; }
.tab-wrap .btn-add {position:absolute; top:0.5rem; right:0; display: flex; align-items: center; justify-content: center; width: 2.8rem; height: 2.8rem; border-radius: 50%; border: none; background: #444; cursor: pointer; transition: background 0.2s;}.tab-wrap .btn-add:hover,
.tab-wrap .btn-add:focus { background: #222; }
.tab-wrap .btn-add i { font-size: 1.7rem; color: #fff; transition:all 0.2s;}
.tab-wrap .btn-add:hover i,
.tab-wrap .btn-add:focus i {transform:rotate(180deg); color:#fff;}
.tab-wrap .btn-add:hover:before,
.tab-wrap .btn-add:focus:before {opacity:0.15; transform:scale(1.1);}
.tab-wrap .btn-add:before {content:"";position:absolute;inset:-.3rem;border-radius:50%;background:currentColor;opacity:.08; transition:all 0.2s; transform:scale(0.9); opacity:0;}


/* 더보기 버튼 */
.moreBtn { display: inline-flex; align-items: center; justify-content: center; background: #F5F5F5; border-radius: 1.5rem; height: 2.25rem; gap: 0.75rem; font-size: 0.9rem; font-weight: 500; width: 5.65rem; color: #000000; position: absolute; right: 0; top: 0; }
.moreBtn > i { transition: 0.2s; font-size: 0.9rem; }
.moreBtn > i,
.moreBtn > i::before { line-height: 1; }
.moreBtn:hover i,
.moreBtn:focus i { transform: rotate(180deg); }


/* 비주얼 */
.M_visual {position:relative; height:32.5rem; border-radius:3rem 3rem 10rem 3rem; overflow:hidden;}
.M_visual #visual {height:100%;}
.M_visual #visual .item {height:100%;}
.M_visual #visual .item a {display:block; height:100%;}
.M_visual #visual .item img {display:block; width:100%; height:100%; object-fit:cover;}
.M_visual .control .count {display:flex; align-items:center; gap:0.5rem; font-size:1.1rem; color:#fff;}
.M_visual .control .toggle {display:inline-flex; align-items:center; justify-content:center; width:3rem; height:3rem; border-radius:50%; background:rgba(255,255,255,.2);}
.M_visual .control {position:absolute; width:fit-content; z-index:10; top:calc(50% + 5rem); transform:translate(0, -50%); left:4.5rem; height:3.25rem; border-radius:1.5rem; background:rgba(255,255,255,0.25); display:flex; align-items:center; justify-content:space-between; gap:0.5rem; color:#fff; padding:0 1rem;}
.M_visual .control p {font-size:1rem; font-weight:400; color:#fff;}
.M_visual .control p strong {font-weight:700; color:#fff; padding-right:1rem; margin-right:1rem; position:relative;}
.M_visual .control p strong:after {content:''; position:absolute; width:1px; height:1.25rem; transform:translate(0,-50%) rotate(90deg); right:-0.125rem; top:50%; background:rgba(255,255,255,0.6);}
.M_visual .control a {width:auto; color:#fff;}
.M_visual .control a > i {font-size:1.5rem;}
.M_visual .control .stop {display:inline-flex; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:50%; background:rgba(0,0,0,0.4);}
.M_visual .control .play {display:none; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:50%; background:rgba(0,0,0,0.4);}
.M_visual .control .toggle {display:inline-flex; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:50%; background:rgba(0,0,0,0.4);}


/* 팝업존 */
.M_popup {position:relative; margin-bottom:2.5rem; height:21.5rem; border-radius:2.4rem; background:#E0FAF3; box-shadow:0 7px 15px 0 rgba(0,0,0,0.15);} 
.M_popup #popup {height:100%; border-radius:2.4rem; overflow:hidden;}
.M_popup #popup .item a {display:block; height:100%; overflow:hidden; border-radius:2.4rem;}
.M_popup #popup .item img {display:block; height:100%; object-fit:cover; width:100%;}
.M_popup .control {position:absolute; left:calc(50% + 2.25rem); top:-3rem; display:flex; align-items:center; gap:0.5rem; transform:translate(-50%, 0);}
.M_popup .control a i {font-size:1.5rem;}
.M_popup .control .count {position:relative; padding-right:4rem; display:flex; gap:1rem;}
.M_popup .control .count:after {content:''; position:absolute; right:0.5rem; height:2px; background:#c9c9c9; width:2.5rem; top:50%; transform:translate(0, -50%);}
.M_popup .control .prev,
.M_popup .control .next {display:inline-flex; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:50%; background:#eee;}
.M_popup .control .stop {display:inline-flex; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:50%; background:#fff; box-shadow:0 0 5px 0 rgba(0,0,0,0.2);}
.M_popup .control .play {display:none; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:50%; background:#fff; box-shadow:0 0 5px 0 rgba(0,0,0,0.2);}
.M_popup .control .cur {position:relative; font-size:1.1rem; font-weight:600; color:#443f97;}
.M_popup .control .cur:before {content:''; position:absolute; right:-0.65rem; top:50%; transform:translate(0, -50%); width:5px; height:5px; background:#d9d9d9; border-radius:50%;}
.M_popup .control .tot {font-size:0.8rem; font-weight:600; color:#000; position:relative; top:0.5rem;}
.M_popup .control .toggle {display:inline-flex; align-items:center; justify-content:center; width:2.1rem; height:2.1rem; border-radius:50%; background:#fff; box-shadow:0 0 5px 0 rgba(0,0,0,0.2);}


/* 바로가기 */
.M_link ul {display:flex; align-items:center; justify-content:space-between;}
.M_link ul li {transition:all 0.3s; flex:1 1 0; min-width:0;}
.M_link ul li .icon {width:6rem; height:6rem; border-radius:2rem; display:flex; align-items:center; justify-content:center; margin:0 auto;}  
.M_link ul li:hover,
.M_link ul li:focus {transform:translateY(-0.5rem);}
.M_link ul li a {display:block;}
.M_link ul li a:focus p,
.M_link ul li a:focus img {outline: none;}
.M_link ul li a:focus,
.M_link ul li a:focus-within {outline: 2px solid #000; outline-offset: 3px; border-radius: 6px;}
.M_link ul li:nth-child(1) .icon {background: linear-gradient(to bottom right, #FFF0FA, #FFD9F4);}
.M_link ul li:nth-child(2) .icon {background: linear-gradient(to bottom right, #FFEEE2, #FFD3D3);}
.M_link ul li:nth-child(3) .icon {background: linear-gradient(to bottom right, #E5F6FF, #B4EBFF);}
.M_link ul li:nth-child(4) .icon {background: linear-gradient(to bottom right, #DEFFE4, #B7F0C1);}
.M_link ul li:nth-child(5) .icon {background: linear-gradient(to bottom right, #FFF8C5, #FFE18F);}
.M_link ul li:nth-child(6) .icon {background: linear-gradient(to bottom right, #FFEDE0, #FFC4D0);}
.M_link ul li:nth-child(7) .icon {background: linear-gradient(to bottom right, #E8F9EB, #B6EEC6);}
.M_link ul li:nth-child(8) .icon {background: linear-gradient(to bottom right, #F0F1FF, #D3D5FF);}
.M_link ul li .txt {font-size:1rem; display:flex; align-items:center; justify-content:center; font-weight:600; color:#000; margin-top:0.5rem; word-break:keep-all; height:3rem; text-align:center;}


/* 지원청 최신소식 */
.M_notice .heading {font-weight:400; display:flex; font-size:1.1rem; flex-direction:column; color:#fff;}
.M_notice .heading strong {text-transform:uppercase; color:#fff; font-weight:800; font-size:1.8rem;}
.M_notice .header {position:relative;}
.M_notice .header .control {position:relative;}
.M_notice .header .control > a {background:rgba(235,235,235,0.7); color:#000;}
.M_notice [id*='notice'] {overflow:hidden; height:100%; margin-top:1rem; margin-left:-1rem; width:calc(100% + 2rem); padding:1rem 0;}
.M_notice [id*='notice'].slick-initialized {display: block;}
.M_notice [id*='notice'] .slick-track {display: flex; align-items: center; justify-content:space-between;}
.M_notice [id*='notice'] .slick-slide > div {height: 100%;}
.M_notice [id*='notice'] .item {display: flex; align-items: center; justify-content: center; height:100%; max-height: 11rem; background: #fff; border-radius: 2.5rem; box-shadow:0 4px 7.5px rgba(0,0,0,0.1); transition:all 0.3s;}
.M_notice [id*='notice'] .item a {width:100%; padding:1.75rem 1.75rem 2.25rem 1.75rem;}
.M_notice [id*='notice'] .item a .header {display:flex; justify-content:space-between; align-items:center;}
.M_notice [id*='notice'] .item a .header .badge {display:flex; width:3.25rem; height:3.25rem; position:relative; border-radius:50%; align-items:center; justify-content:center; font-size:0.85rem; color:#000; font-weight:600; background:#ededed; transition:all 0.2s; z-index:0; text-align:center; word-break:break-all;}
.M_notice [id*='notice'] .item a .header .date {font-size:0.9rem; color:#333; font-weight:600;}
.M_notice [id*='notice'] .item a:hover .header .badge,
.M_notice [id*='notice'] .item a:focus .header .badge {background:#443f97; color:#fff;}
.M_notice [id*='notice'] .item a:hover .header .badge:before,
.M_notice [id*='notice'] .item a:focus .header .badge:before {content:''; width:100%; height:100%; position:absolute; left:50%; top:50%; background:#443f97; opacity:0.35; transform:translate(-50%, -50%) scale(1.2); border-radius:50%; z-index:-1;}
.M_notice [id*='notice'] .item a .tit {margin-top:1rem; padding:0 0.25rem; word-break: keep-all; font-size: 1rem; font-weight:600; color:#000; word-break: break-word; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; height:3rem; line-height: 1.4;}
.M_notice [id*='notice'] .slick-slide {margin:0 1rem; }
.M_notice [id*='notice'] .slick-list {overflow:unset;}
.M_notice [id*='notice'] .item:hover,
.M_notice [id*='notice'] .item:focus {transform:translateY(-0.5rem);}
.M_notice [id*='notice'] .item .no-date {display: flex; align-items: center; justify-content: center; height:100%; max-height: 12rem; transition:all 0.3s;}


/* 지원청 소통 뉴스 */
.M_news {position:relative; height:100%;}
.M_news .heading {font-weight:400; display:flex; align-items:center; gap:1rem; font-size:1.1rem;}
.M_news .heading strong {text-transform:uppercase; font-weight:800; font-size:1.8rem;}
.M_news .header .control {top:calc(50% - 2.5rem); transform:translate(0, -50%); z-index:2; left:0; right:auto; width:100%;}
.M_news .header .control > a {background:#fff; color:#000; position:absolute; width:3rem; height:3rem; background:#fff; }
.M_news .header .control .prev {left:-1.25rem; box-shadow:-1px 2px 2px rgba(0,0,0,0.2); }
.M_news .header .control .next {right:-1.25rem; box-shadow:1px 2px 2px rgba(0,0,0,0.2); }
.M_news .header .btn-add {color:#575757; display:flex; align-items:center; gap:0.75rem; font-weight:600; font-size:1rem; font-family:'Montserrat'; text-transform:uppercase;}
.M_news .header .btn-add i {position:relative; display: flex; align-items: center; justify-content: center; width: 2.5rem; height: 2.5rem; border-radius: 50%; border: none; background: #575757; cursor: pointer; transition: all 0.2s; font-size:1.4rem; font-weight:500; color:#fff; transition: all 0.2s;}
.M_news .header .btn-add:hover i,
.M_news .header .btn-add:focus i {transform:rotate(360deg); background: rgba(68,63,151,1);}
.M_news #gallery0001 {overflow:hidden; margin-top:1.5rem; margin-left:-1rem; width:calc(100% + 2rem); height:calc(100% - 4.25rem);}
.M_news #gallery0001.slick-initialized {display: block;}
.M_news #gallery0001 .slick-track {display: flex; justify-content:space-between;}
.M_news #gallery0001 .slick-slide > div {height: 100%;}
.M_news #gallery0001 .item {position:relative; display: flex; align-items: center; justify-content: center; transition:all 0.3s;}
.M_news #gallery0001 .item a {width:100%; height:100%; position:relative; z-index:0; transition:all 0.3s;}
.M_news #gallery0001 .item a .img {position:relative; height:15.5rem; background: #e4e4e4; border-radius: 2.5rem; overflow:hidden;}
.M_news #gallery0001 .item a .img:before {content:'자세히보기'; position:absolute; z-index:1; width:100%; height:100%; top:0; left:0; background:rgba(0,0,0,0.4); opacity:0; transition:all 0.3s; display:flex; align-items:center; justify-content:center; color:#fff; font-size:1rem; font-weight:500; padding-top:3rem;}
.M_news #gallery0001 .item a .img:after {content:'\F4B2'; font-size:1rem; color:#fff; display:flex; align-items:center; justify-content:center; font-family:'remixicon'; position:absolute; z-index:1; width:2.5rem; height:2.5rem; border-radius:50%; left:50%; top:calc(50% - 1rem); transform:translate(-50%, -50%); background:#DD3059; transition:all 0.3s; opacity:0;}
.M_news #gallery0001 .item a:hover .img:before,
.M_news #gallery0001 .item a:focus .img:before,
.M_news #gallery0001 .item a:hover .img:after,
.M_news #gallery0001 .item a:focus .img:after {opacity:1;}
.M_news #gallery0001 .item a img {transition:all 0.2s; height:100%; display:block; margin:0 auto; width:100%; object-fit:cover;}
.M_news #gallery0001 .item a:hover img,
.M_news #gallery0001 .item a:focus img {transform:scale(1.1);}
.M_news #gallery0001 .item a .header {display:flex; justify-content:space-between; align-items:center;}
.M_news #gallery0001 .item a .header .badge {display:flex; width:3.25rem; height:3.25rem; border-radius:50%; align-items:center; justify-content:center; font-size:0.9rem; color:#000; font-weight:600; background:#ededed; transition:all 0.2s;}
.M_news #gallery0001 .item a .header .date {font-size:0.9rem; color:#333; font-weight:600;}
.M_news #gallery0001 .item a:hover .header .badge,
.M_news #gallery0001 .item a:focus .header .badge {background:#443f97; color:#fff;}
.M_news #gallery0001 .item a .tit {margin-top:1rem; padding:0 0.25rem; word-break: keep-all; font-size: 1rem; font-weight:600; color:#000; display:flex; gap:0.5rem;}
.M_news #gallery0001 .item a .tit strong {position:relative; font-size:1rem; font-weight:600; color:#DD3059; padding-left:0.75rem;}
.M_news #gallery0001 .item a .tit strong:before {content:''; position:absolute; width:0.4rem; height:0.4rem; border-radius:50%; background:#dd3059; transform:translate(0, -50%); top:50%; left:0;}
.M_news #gallery0001 .item a .tit span {text-overflow:ellipsis; overflow:hidden; white-space:nowrap;}
.M_news #gallery0001 .item a .text {margin-top:0.5rem; font-size:0.9rem; color:#333; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; text-overflow: ellipsis; line-height:1.4;}
.M_news #gallery0001 .slick-slide {margin:0 1rem; }
.M_news #gallery0001 .item a .img.private {display: flex; justify-content: center; align-items: center; text-align: center; line-height: 1.5; font-size: 0.8rem; color: #fff; background: #666; }
.M_news #gallery0001 .item a .img.private i {font-size: 1.5rem;}
.M_news #gallery0001 .no-date {display: flex; align-items: center; justify-content: center; height:100%; border-radius:2.5rem; width:100%;}
.M_news #gallery0001 .slick-track.is-no-data {transform:none !important; width:100% !important;	display:flex; justify-content:center; border-radius:2.5rem; box-shadow:inset 0 2px 6px rgba(0, 0, 0, 0.12), inset 0 -3px 6px rgba(0, 0, 0, 0.08);}



/* 지원청 SNS */
.M_sns {width:100%; height:100%; position:relative; z-index:0; padding:2rem 2.25rem;}
.M_sns:before {content:''; position:absolute; width:100%; height:100%; border-radius:2.5rem 2.5rem 6rem 2.5rem; background:#fff0f4; left:0; top:0; z-index:-1;}
.M_sns:after {content:''; position:absolute; width:8rem; height:5.5rem; top:-4rem; right:0.5rem; background:url('/images/web/goeic/main/M_sns_bg.png') no-repeat 50% 50%; background-size:cover;}
.M_sns .sns_list {position:relative;}
.M_sns .sns_list + .sns_list {margin-top:2rem;}
.M_sns .heading {font-size:0.9rem; font-weight:400; color:#333; flex-direction:column; gap:0.25rem; display:flex; border-bottom:1px solid #d2b6be; margin-bottom:1rem; padding-bottom:1rem; flex-wrap: wrap; overflow: inherit; word-break:keep-all; white-space: normal;}
.M_sns .heading strong {font-size:1.4rem; font-weight:700; color:#000;}
.M_sns .sns-box {display:grid; grid-template-columns: repeat(2,1fr); gap:0.75rem 1.5rem;}
.M_sns .sns-box a {display:flex; align-items:center; font-size:0.9rem; color:#000; font-weight:600; gap:0.5rem;}
.M_sns .sns-box a p {position:relative;}
.M_sns .sns-box a p:before {content:''; position:absolute; bottom:0; height:0.5rem; width:0; left:0; background:rgba(0,0,0,0.15); transition:all 0.2s;}
.M_sns .sns-box a:hover p:before,
.M_sns .sns-box a:focus p:before {width:100%;}


/* 맞춤형서비스 바로가기 */
.M_quick {position:relative; display:flex; gap:1.25rem; align-items:stretch;}
.M_quick:before {content:''; position:absolute; left:-3rem; top:-3rem; width:9rem; height:7.5rem; background:url('/images/web/goeic/main/grid-after-icon.png') no-repeat 50% 50%; background-size:contain; z-index:2;}
.M_quick .panel {position:relative; flex:0 0 10rem; height:23rem; border-radius:1.75rem; overflow:hidden; background:#000;}
.M_quick .panel.is-open {flex:1 1 auto; min-width:14rem; background:#fff; border:1.5px solid #EAEAEA;}
.M_quick .panel-head {position:relative; display:flex; align-items:flex-end; justify-content:center; width:100%; height:100%; text-decoration:none; color:#000;}
.M_quick .panel-head .bg {position:absolute; inset:0; background-size:cover; background-position:center; filter:grayscale(0) brightness(0.7); transition:transform .2s, filter .4s;}
.M_quick .panel-head .bg:after {content:''; position:absolute; width:100%; height:100%; background:rgba(0,0,0,0.4); z-index:1; transition:all 0.2s; opacity:0;}
.M_quick .panel-head:hover .bg:after,
.M_quick .panel-head:focus .bg:after {opacity:1;}
.M_quick .panel:not(.is-open) .panel-head .bg {transform:scale(1.05); filter:grayscale(0) brightness(1);}
.M_quick .panel .label {position:relative; z-index:1; font-weight:700; font-size:1.2rem; color:#fff; bottom:1.75rem;}
.M_quick .panel.is-open .label {display:none;}
.M_quick .panel.is-open .bg {background:#fff; filter:none;}
.M_quick .panel.is-open .bg:after {opacity:0;}
.M_quick .panel-body {position:absolute; inset:0; background:#fff; color:#222; border-radius:1.75rem; opacity:0; visibility:hidden; transition:opacity .35s, transform .1s, visibility .35s;}
.M_quick .panel.is-open .panel-body {opacity:1; visibility:visible; transform:translateX(0); padding:2.5rem;}
.M_quick .panel:not(.is-open) .panel-body {transition: opacity 0.05s linear;}
.M_quick .title {font-size:.9rem; display:flex; align-items:center; gap:.5rem; color:#333; font-weight:400;}
.M_quick .title strong {font-size:1.4rem; color:#000; font-weight:700; position:relative; z-index:2;}
.M_quick .icon-grid {display:grid; grid-template-columns:repeat(5, minmax(0, 1fr)); gap:.6rem .6rem; margin-top:1.5rem;}
.M_quick .icon-grid li {display:flex; align-items:center; justify-content:center;}
.M_quick .icon-grid a {display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0rem; color:#333; font-size:.65rem; transition:transform .2s, box-shadow .2s; word-break:keep-all;}
.M_quick .icon-grid a span {font-size:.9rem; font-weight:500; color:#000; transition:all .2s; text-align:center;}
.M_quick .icon-grid a:hover span,
.M_quick .icon-grid a:focus span {color:#DD3059; font-weight:700;}
.M_quick .icon-grid a i {font-size:1.1rem;}
.M_quick .panel:hover .bg {transform:scale(1.08);}
.M_quick .panel01 {background:url('/images/web/goeic/main/M_quick_bg02.png') no-repeat 50% 50%; background-size:cover;}
.M_quick .panel02 {background:url('/images/web/goeic/main/M_quick_bg01.png') no-repeat 50% 50%; background-size:cover;}
.M_quick .panel03 {background:url('/images/web/goeic/main/M_quick_bg03.png') no-repeat 50% 50%; background-size:cover;}
.M_quick .panel04 {background:url('/images/web/goeic/main/M_quick_bg04.png') no-repeat 50% 50%; background-size:cover;}
.M_quick .panel05 {background:url('/images/web/goeic/main/M_quick_bg05.png') no-repeat 50% 50%; background-size:cover;}

.foot-banner {background-color:#fff; height:3.5rem;}
.foot-banner .inner {padding:0; height:100%; display:flex; align-items:center; gap:1rem;}
.foot-banner .inner .header-box {position:relative; display:flex; align-items:center; max-width:13rem; width:100%; height:100%; justify-content:space-between; flex:0 0 auto;}
.foot-banner .inner .header-box h3 {font-size:1rem; font-weight:700; color:#000; line-height:1;}
.foot-banner .inner .header-box .control {position:static; display:flex; gap:0.25rem;}
.foot-banner .inner .header-box .control a {display:inline-flex; align-items:center; justify-content:center; width:1.5rem; height:1.5rem;}
.foot-banner .inner .header-box .control a > i {font-size:1.5rem; line-height:1;}
.foot-banner .inner .header-box .control a.play {display:none;}
.foot-banner .banner-wrap {flex:1 1 auto; min-width:0; width:100%; height:100%; overflow:hidden;}
.foot-banner .banner-wrap #banner {display:block; width:100%; height:100%;}
.foot-banner .banner-wrap #banner .slick-list {position:relative; overflow:hidden;}
.foot-banner .banner-wrap #banner .item {position:relative; flex:0 0 auto; display: inline-flex; align-items: center; justify-content: center;}
.foot-banner .banner-wrap #banner .item a {position:relative; text-align:center; display:flex; align-items:center; justify-content:center; padding:0 1rem; line-height:3.5rem; white-space:nowrap; font-size:0.8rem; font-weight:400; color:#222; height:100%;}
.foot-banner .banner-wrap #banner .item a img {max-width:100%;}
.foot-banner .banner-wrap #banner .item {position: relative;}
.foot-banner .banner-wrap #banner .item::after {content: ""; position: absolute; top: 50%; right: -0.25rem; width: 0.25rem; height: 0.25rem; border-radius: 50%; background-color: #ccc; transform: translateY(-50%);}
.foot-banner .banner-wrap #banner .item:last-child::after {display: none;}
.foot-banner .banner-wrap #banner .item.slick-current:last-child::after {display:none;}
.foot-banner .banner-wrap #banner .item:has(+ .slick-current)::after {display: none;}


@media screen and (max-width: 1920px){

}

@media screen and (max-width: 1600px){
	.M_visual .slick-slider img {width:100%;}
}

@media screen and (max-width: 1440px){
	/* 주요서비스 */
	.M_quick .panel {flex: 0 0 var(--collapsed, 6rem);}
	.M_quick:before {display:none;}
}

@media screen and (max-width: 1280px){
	/* 비주얼 */
	.M_visual {height:fit-content;}
	.M_visual .slick-slider img {max-width:100%; margin:0 auto;}
	
	/* 팝업*/
	.M_popup {margin-bottom:0;}
	.M_popup .control {left:1rem; transform:translate(0, 0);}
	.M_popup #popup .item img {max-width:100%; margin:0 auto;}
	
	/* 바로가기 */
	.M_link ul {display:grid; grid-template-columns:repeat(4, 1fr); gap:1.5rem 0;}
	.M_link ul li .icon {margin:0 auto;}
	
	/* 공지사항 */
	.M_notice .header {width:100%; flex-wrap:wrap; gap:1.5rem;}
	.M_notice .heading {width:100%;}
	.M_notice [id*='notice'] {margin-top:1rem;}
	
	/* sns */
	.M_sns .sns-box {grid-template-columns: repeat(5, 1fr);}
	
	/* 주요서비스 */
	.M_quick .title {flex-direction:column; align-items:flex-start;}
	.M_quick .panel.is-open .bg:after {display:none;}
	.M_quick .panel.is-open .panel-body {overflow:auto;}
	.M_quick .icon-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
}	

@media screen and (max-width: 1024px){
	/* 공지사항 */
	.tab-wrap .tab-menu li a {min-width:fit-content; padding:0 1.5rem;}
	
	/* sns */
	.M_sns .sns-box {grid-template-columns: repeat(3, 1fr);}
	
	/* 주요서비스 */
	.M_quick {justify-content:space-between; gap:1rem;}
	.M_quick .panel.is-open .panel-body {padding:1rem;}
	.M_quick .panel.is-open {min-width:fit-content;}
	.M_quick .icon-grid {grid-template-columns: repeat(2, minmax(0, 1fr)); width:100%; gap:0; margin-top:0.5rem;}
	.M_quick .icon-grid a {gap:0;}
	.M_quick .icon-grid a img {max-width:100%; height:auto;}
}

@media screen and (max-width: 860px){
	.M_news .heading p {display:none;}
}


@media screen and (max-width: 768px){
	/* 비주얼 */
	.M_visual .control {left:2.5rem;}
	
	/* 공지사항 */
	.M_notice .header .control {position:absolute; top:1rem; }
	.tab-wrap .tab-menu {width:100%;}
	.tab-wrap .tab-menu li {flex:1;}
	.tab-wrap .tab-menu li a {font-size:0.85rem;}
	
	/* 팝업존 */
	.M_popup {height:fit-content;}
	
	/* news */
	.M_news .heading {font-size:0.85rem; flex-direction:column; gap:0.25rem; align-items:flex-start;}
	.M_news .heading strong {font-size:1.4rem;}
	.M_news .header .control {display:none;}
		
	/* sns */
	.M_sns {padding:2rem 1.5rem;}
	.M_sns .sns-box {display:flex; flex-wrap:wrap;}
	.M_sns .sns-box a {flex:1 1 33.3333%;}
	.M_sns:after {top:-1rem;}
	
	/* 퀵메뉴 */
	.M_quick {flex-direction:column;}
	.M_quick .panel {flex: 0 0 var(--collapsed, 5rem); height:auto;}
	.M_quick .panel.is-open {min-height:22rem;}
	.M_quick .panel-head {align-items:center;}
	.M_quick .panel .label {bottom:0;}
	.M_quick .icon-grid {grid-template-columns: repeat(4, minmax(0, 1fr));}

	.foot-banner .inner .header-box {max-width:fit-content;}
    .foot-banner .inner .header-box h3 {display:none;}
    
    .M_popup .control {top:-3.5rem;}
}


@media screen and (max-width: 560px){
	/* tab */
	.tab-wrap .tab-menu li a {height:2rem; font-size:0.8rem; border-radius:1rem;}
	.tab-wrap .btn-add {width:2rem; height:2rem; top: 0.95rem;}
	.tab-wrap .btn-add i {font-size:1.2rem;}
	.tab-wrap .util_box.has-add ~ .control {margin-right:2.3rem;}
	
	/* 바로가기 */
	.M_link ul li .icon {width:4rem; height:4rem; padding:1rem; border-radius:1rem;}
	.M_link ul li .icon img {width:100%;}
	.M_link ul li .txt {font-size:0.85rem;}
	
	/* 공지사항 */
	.M_notice .heading strong {font-size:1.4rem;}
	.M_notice .heading p,
	.M_notice .heading span {font-size:0.85rem; display:none;}
	.M_notice.tab-wrap .btn-add {top:0.65rem;}
	.M_notice .header .control a {width:2rem; height:2rem;}
	.M_notice .header .control a i {font-size:1.25rem;}
	.M_notice [id*='notice'] .item a .tit {height:2.8rem;}
	.tab-wrap .tab-menu {gap:0.25rem;}
	.tab-wrap .tab-menu li a {padding:0 0.5rem;}
	.M_notice [id*='notice'] {margin-top:0;}
	
	/* 뉴스 */
	.M_news .header {flex-direction:row; align-items:flex-start;}
	.M_news .header .btn-add {margin-left:auto;}
	
	/* sns */
	.M_sns .sns-box a {flex:1 1 50%;}
	
	/* 비주얼 */
	.M_visual .control {height:2.5rem; padding:0 0.5rem; gap:0.25rem;}
	.M_visual .control .count {font-size:0.85rem;}
	.M_visual .control a > i {font-size:0.9rem;}
	.M_visual .control .stop {width:1.75rem; height:1.75rem;}
	
}

@media screen and (max-width: 480px){
	.M_visual .control {left:1rem; top: calc(50% + 2.5rem);}
	
	.M_quick .title {flex-direction:column; align-items:flex-start;}
	.M_quick .panel.is-open .panel-body {padding:2rem 1.5rem; overflow:auto;}
	.M_quick .icon-grid {grid-template-columns: repeat(3, minmax(0, 1fr));}
	
	/* sns */
	.M_sns:after {display:none;}
	.galMore span {text-indent:-9999px;}
}


@media screen and (max-width: 420px){
 	.M_popup .control {justify-content: flex-end; top:-3.5rem;}
}

@media screen and (max-width: 380px){
	/* 바로가기 */
	.M_link ul {grid-template-columns: repeat(2, 1fr);}
	
	/* 공지사항 */
	.tab-wrap .tab-menu li {max-width: calc(100% / 2); flex: 1 1 calc(50% - 1rem);}
	.M_notice .header .control {top:0.5rem;}
	
	/* 바로가기 */
	.M_quick .icon-grid {grid-template-columns: repeat(2, minmax(0, 1fr));}

		
	/* news*/
	.M_news .heading {flex-direction:column; align-items:flex-start; gap:0.3rem;}
	.M_news .header .btn-add {font-size:0.85rem; position:absolute; right:0; top:1rem;}
	.M_news .header .btn-add i {width:1.8rem; height:1.8rem; font-size:1rem; order:0;}
	.M_news .header .btn-add span {text-indent:-9999px;}
	
	/* sns */
	.M_sns .sns-box {grid-template-columns: repeat(1, 1fr); gap:0.75rem;}
	.M_sns:after {width:4.5rem; height:3rem; top:-1rem; right:0;}
	
	.M_link ul {gap:0.5rem 0;}
	.M_sns .heading strong {font-size:1.2rem;}
}

