@charset "utf-8";
@import url("./plugins/font-awesome/css/font-awesome.min.css");
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100;300;400;500;700&family=Poppins:wght@100;200;300;400;500;600;700&display=swap');
@import url('https://fonts.googleapis.com/css2?family=Mulish:wght@400;500;600;700;800;900&display=swap');

/* ========================== 초기화 [s] */
html, body, div, span, applet, object, iframe,h1, h2, h3, h4, h5, h6, p, blockquote, pre,a, abbr, acronym, address, big, cite, code,del, dfn, em, img, ins, kbd, q, s, samp,small, strike, strong, sub, sup, tt, var,b, u, i, center,dl, dt, dd, ol, ul, li,fieldset, form, label, legend,table, caption, tbody, tfoot, thead, tr, th, td,article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,time, mark, audio, video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section{display:block}
body{line-height:1;font-family:'Noto Sans KR'}
ol, ul, dl, dt, dd{list-style:none}
blockquote, q{quotes:none}
blockquote:before, blockquote:after,q:before, q:after{content:'';content:none}
table{border-collapse:collapse;border-spacing:0}
input, button{margin:0;padding:0;font-family:'Noto Sans KR'}
input[type="submit"]{cursor:pointer}
button{cursor:pointer}
textarea, select{font-family:'Noto Sans KR'}
select{margin:0}
a{color:#222;text-decoration:none}
label, input, button, select, img{vertical-align:middle}
body{font-size:0.81em}
*, :after, :before{box-sizing:border-box}
*{-webkit-text-size-adjust:none}
.sound_only{display:inline-block !important;position:absolute;top:0;left:0;margin:0 !important;padding:0 !important;font-size:0;line-height:0;border:0 !important;overflow:hidden !important}
/* ========================== 초기화 [e] */

body.nav-active{overflow:hidden;position:absolute;width:100%;height:100%!important}
:root{--background:#000;--text:#fff;--font-size:18px;--duration:.20s;--move-hover:-4px;--shadow:0 2px 8px -1px rgba(0, 0, 0, 0.23);--shadow-hover:0 4px 20px -2px rgba(0, 0, 0, 0.5);--font-shadow:var(--font-size)}
#sh_wrapper{max-width:1920px;width:100%;margin:0 auto}

/* ========================== HEADER */
#sh_hd{position:relative;width:100%;padding:0 70px;z-index:11}
#shGnb{position:relative}
/* Logo */
#top_logo{position:absolute;top:44px;left:0;z-index:100}
/* Top Menu */
#top_nav{position:relative;padding:20px 0;text-align:center}
#top_nav > li{display:inline-block;position:relative;margin:0 33px}
#top_nav > li > a{display:block;line-height:85px;font-size:17px;font-weight:800;color:#222;zoom:1;font-family:'Mulish','Noto Sans KR'}
#top_nav ul{display:none;position:absolute;top:70px;left:50%;width:162px;border:solid 1px #000;background-color:#fff;transform:translateX(-50%)}
#top_nav ul li{font-size:16px;text-align:center;border-bottom: solid 1px #000;}
#top_nav ul li:last-child{border:none}
#top_nav ul a{display:block;width:100%;padding:15px 0;color:#222;text-transform:uppercase;transition:all .2s;font-family:'Noto Sans KR'}
#top_nav ul a:hover{color:#fff;background-color:#000}
/* menu_icon */
.menu_all{position:absolute;width:110px;z-index:100;right:0;top:22px;padding:15px;cursor:pointer}
.menu_all .menu_icon{position:relative;width: 100%;height: 34px;font-size:15px;font-weight:800;color:#000;text-align:center;overflow:hidden;font-family:'Mulish'}
.menu_all .menu_icon:after{position:absolute;left:0;bottom: 0;width:100%;height:4px;content:'';background-color:#000;transition:all .5s}
.menu_all .menu_icon span{display: block;position:absolute;left:50%;top:50%;width:100%;transform:translate(-50%, -50%) translateY(var(--translate-y));transition:transform 150ms ease;text-transform:uppercase}
.menu_all .menu_icon span:nth-child(1){--translate-y:0;color:#131313}
.menu_all .menu_icon span:nth-child(2){--translate-y:150%;color: #ebebeb}
.menu_all.active .menu_icon span:nth-child(1){--translate-y:-150%}
.menu_all.active .menu_icon span:nth-child(2){--translate-y:0}
.menu_all.active .menu_icon:after{background-color:#fff}
/* All Menu */
.menu_pane{position:fixed;z-index:98;top:0;left:0}
.menu_pane:before, .menu_pane:after{position:fixed;width:100vw;height:100vh;border-bottom-left-radius:200%;content:"";z-index:-1;background:rgba(20, 21, 26,0.6);transition:transform cubic-bezier(0.77, 0, 0.175, 1) 0.6s, border-radius linear 0.8s;transform:translateX(100%) translateY(-100%)}
.menu_pane:after{background: rgba(9,9,12,1);transition-delay:0s}
.menu_pane:before{transition-delay:.2s}
.menu_pane_content{position:fixed;visibility:hidden;top:50%;width:100%;margin-top:20px;text-align:center;transform:translate(0%, -50%)}
.menu_pane_list{position:relative;padding:0;margin:0;z-index:2}
.menu_list_item{display:block;position:relative;opacity:0;line-height:1.15;color:#fff;text-align:center;overflow:hidden;letter-spacing:3px;transform:translate(100px, 0%);transition:opacity .2s ease, transform .3s ease;transition-delay:0.8s;font-family:'mulish'}
.menu_list_item > a{display:inline-block;position:relative;font-size:62px;font-weight:900;padding:0 5px;color:rgba(255,255,255,0.6);overflow:hidden;z-index:2;text-transform:uppercase;transition:all 200ms linear}
.menu_list_item > a:after{position: absolute;content: '';top:50%;left:50%;width:0;height:0;margin-top:-2px;opacity:0;z-index:1;background-color:#fff;transition:all 200ms linear}
.menu_list_item > a:hover:after{left:0;width:100%;height:4px;opacity:1}
.menu_list_item > a:hover{color:rgba(255,255,255,1)}
.menu_list_item > ul{display: flex;justify-content: center;gap:2rem;margin:2rem 0 4rem 0;}
.menu_list_item > ul li{}
body.nav-active .menu_pane_content{visibility:visible}
body.nav-active .menu_pane{visibility:visible}
body.nav-active .menu_pane:before, body.nav-active .menu_pane:after{border-radius:0;transform:translateX(0%) translateY(0%)}
body.nav-active .menu_pane:after{transition-delay:.1s}
body.nav-active .menu_pane:before{transition-delay:0s}
body.nav-active .menu_list_item{opacity:1;transition:opacity .3s ease, transform .3s ease, color .3s ease;transform:translateX(0%)}
body.nav-active .menu_list_item:nth-child(1){transition-delay:0.5s}
body.nav-active .menu_list_item:nth-child(2){transition-delay:0.6s}
body.nav-active .menu_list_item:nth-child(3){ transition-delay:0.7s}
body.nav-active .menu_list_item:nth-child(4){transition-delay: 0.8s}
/* 반응형 메뉴 [s] */
#topmenuM{display:none;position:relative;width:100%;padding:20px 15px;line-height:1.8;background-color:#fff;font-family:'Noto Sans KR'}
/* 로고 */
#m_logo{position:relative}
#m_logo a{display:inline-block}
#m_logo img{}
/* 상단 버튼 및 오픈메뉴 */
#m_navBtn{position:absolute;top:20px;right:15px;z-index:5;width:30px;height:30px}
#m_navBtn span{display:block;position:relative;top:50%;transform:translateY(-50%);width:100%;height:2px}
#m_navBtn span:before, #m_navBtn span:after{display:block;content:"";position:absolute;top:-6px;width:30px;height:2px;background-color:#222;-webkit-transition:all .1s;transition:all .1s}
#m_navBtn span:after{top:6px;width:16px;right:0;background-color:#222}
#m_navBtn.on{position:fixed}
#m_navBtn.on span:before{top:0;right:-4px;transform:rotate(45deg)}
#m_navBtn.on span:after{top:0;right:-4px;width:30px;transform:rotate(-45deg);background-color:#222}
#navWrap{display:none;position:fixed;left:0;top:0;z-index:4;width:100%;height:100%;background-color:rgba(0,0,0,.7)}
#navWrap .inner{overflow-y:scroll;opacity:0;position:fixed;right:-40px;top:0;z-index:6;min-width:300px;width:75%;height:100%;padding:60px 0;background-color:#fff;-webkit-transition:all .1s;transition:all .1s}
#navWrap.on .inner{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s}
#navWrap .inner:before, #navWrap .inner:after{opacity:0;display:block;position:fixed;top:0;right:-40px;z-index:1;content:"";min-width:300px;width:70%;height:60px;background-color:#fff;-webkit-transition:all .1s;transition:all .1s}
#navWrap .inner:after{top:auto;bottom:0}
#navWrap.on .inner:before, #navWrap.on .inner:after{opacity:1;right:0;-webkit-transition:all .4s;transition:all .4s}
#navWrap .inner .mo_hd_copy{position:fixed;right:0;bottom:15px;z-index:2;min-width:300px;width:70%;font-size:12px;text-align:center;color:#888}
#navWrap .user_tip{padding:10px 20px;background-color:#f5f5f5}
#navWrap .user_tip li{display:inline-block}
#navWrap .user_tip li+li{margin-left:10px}
/* 대분류 */
#topmenuM .m_lnb .m_bmenu{display:block;position:relative;width:100%;height:52px;padding:0 20px;border:none;border-bottom:1px solid #ddd;background:none;font-size:16px;font-weight:400;line-height:52px;color:#222;text-align:left;font-family:'Noto Sans KR'}
#topmenuM .m_lnb .m_bmenu:after{float:right;content:"\f107";font-family:'fontawesome'}
#topmenuM .m_lnb .m_bmenu.on:after{content:"\f106"}
/* 소분류 */
#topmenuM .m_smenu{display:none;padding:15px 20px;border-bottom:1px solid #ddd;background-color:#f2f3f5}
#topmenuM .m_smenu li a{font-size:14px;color:#777}
@media (max-width:1024px){
    #shGnb{display:none}
    #topmenuM{display:block}
}
/* 반응형 메뉴 [e] */

/* ========================== MAIN */
#mainbanner{position:relative;width:100%;padding:0 70px;z-index:15}
#include_area{position:relative;width:100%;margin-top:170px;padding:0 70px;color:#000;font-family:'Noto Sans KR'}

/* ========================== CONTAINER */
#sh_container{overflow:hidden;position:relative;z-index:10;width:100%}
#sh_container_wrapper{position:relative;width:100%;zoom:1}
#sh_container_wrapper:after{display:block;visibility:hidden;clear:both;content:""}
#sh_content_tit{margin-top:40px;text-align:center;font-size:14px;color:#222}
#sh_content_tit h3{position:relative;margin-bottom:10px;font-size:39px;font-weight:700;color:#222;font-family:'mulish'}
#sh_content{position:relative;z-index:4;/* max-width:1400px; */min-height:580px;padding:80px 70px;border-radius:40px;margin:0 auto;font-size:14px;color:#888;zoom:1;background-color:#fff}
#sh_content:after{display:block;visibility:hidden;clear:both;content:""}
#sh_content .pageCate{margin-bottom:35px;font-size:14px;color:#555;font-family:'Noto Sans KR'}
#sh_content .pageCate .arr{padding:0 5px}

/* ========================== SNB */
#sh_aside{position:relative;width:100%;padding:0 70px;overflow:hidden;font-family:'Noto Sans KR'}
#sh_aside_wrapper{overflow:hidden;position:relative;zoom:1}

/* ========================== FOOTER */
#sh_ft{position:relative;z-index:10;width:100%;padding:90px 70px 170px 70px;font-size:15px;line-height:1.7;color:rgba(255,255,255,.6);letter-spacing:-.2px;background:#000;font-family:'mulish','Noto Sans KR';overflow:hidden}
#sh_ft .bg_movie{position:absolute;top:0;left:0;width:40%; height:50%;object-fit:contain;z-index:0;opacity:0.3;-webkit-mask-image:linear-gradient(to bottom, #000 0%, transparent 100%);mask-image:linear-gradient(to bottom, #000 0%, transparent 100%);}
#sh_ft .ft_partner{position:relative;z-index:1;padding-left:50%}
#sh_ft .ft_partner .tit{font-size:33px;line-height:1.3;font-weight:500;color:#fff}
#sh_ft .ft_partner ul{padding:30px 0;border-bottom:solid 2px #fff;overflow:hidden}
#sh_ft .ft_partner ul li{float:left;width:25%;text-align:center}
#sh_ft .ft_partner ul li a{display:block;padding:10px;font-size:19px;line-height:1.1;font-weight:800;color:rgba(255,255,255,.4);transition:color .3s}
#sh_ft .more_btn{display:block;width:185px;padding:19px 36px;margin-top:50px;border-radius:30px;font-size:var(--font-size);font-weight:700;line-height:var(--font-size);color:#000;letter-spacing:0.5px;background-color:#fff;box-shadow:var(--shadow);transform:translateY(var(--y)) translateZ(0);transition:transform var(--duration) ease, box-shadow var(--duration) ease;font-family:"mulish"}
#sh_ft .more_btn div {display:flex;overflow:hidden;text-shadow:0 var(--font-shadow) 0 #000}
#sh_ft .more_btn div span {display:block;backface-visibility:hidden;font-style:normal;transition:transform var(--duration) ease;transform:translateY(var(--m)) translateZ(0)}
#sh_ft .more_btn div span:nth-child(1){transition-delay:0.05s}
#sh_ft .more_btn div span:nth-child(2){transition-delay:0.1s}
#sh_ft .more_btn div span:nth-child(3){transition-delay:0.15s}
#sh_ft .more_btn div span:nth-child(4){margin-left:5px;transition-delay:0.2s}
#sh_ft .more_btn div span:nth-child(5){transition-delay:0.25s}
#sh_ft .more_btn div span:nth-child(6){margin-left:5px;transition-delay:0.3s}
#sh_ft .more_btn div span:nth-child(7){transition-delay:0.35s}
#sh_ft .more_btn div span:nth-child(8){transition-delay:0.4s}
#sh_ft .more_btn div span:nth-child(9){transition-delay:0.45s}
#sh_ft .more_btn div span:nth-child(10){transition-delay:0.5s}
#sh_ft .more_btn:hover span {--m:calc(var(--font-size) * -1)}
#sh_ft .sh_ft_wrapper{position:relative;z-index:1;overflow:hidden;margin-top:100px}
#sh_ft .sh_ft_wrapper>div{position:relative;float:left;width:50%;padding-right:30px;height:300px}
#sh_ft .sh_ft_wrapper .git p{font-size:35px;line-height:1.3;font-weight:800;color:#fff;word-break:keep-all}
#sh_ft .sh_ft_wrapper .git .go_btn{display:inline-block;border-radius:30px}
#sh_ft .sh_ft_wrapper .adm{position:absolute;left:0;bottom:0}
#sh_ft .sh_ft_wrapper .copy{position:absolute;left:0;bottom:0}
#sh_ft .sh_ft_wrapper .copy p{display:inline-block}
#sh_ft .sh_ft_wrapper .copy a{margin-left:10px;color:#fff;cursor:pointer}
#sh_ft .sh_ft_wrapper>div:nth-child(2) p{white-space:pre-line}
#sh_ft .sh_ft_wrapper>div:nth-child(2) .adm{position:absolute;;left:0;bottom:0}
#sh_ft .sh_ft_wrapper>div:nth-child(2) .adm a{margin-right:15px;color:#fff; text-transform:uppercase;font-family:'mulish'}
#sh_ft.sub .ft_partner{display:none}
#sh_ft.sub .sh_ft_wrapper{margin-top:0}
#scroll_top{display:none;position:fixed;right:70px;top:600px;width:80px;height:80px;border:solid 1px rgba(255, 255, 255, 0.4);border-radius:50%;font-size:18px;color:#fff;line-height:80px;text-align:center;z-index:999;cursor:pointer;transition:all .2s}
#scroll_top img{opacity:.7}

/* =========================== 반응형 하단 버튼 */
#fix_tel{opacity:0;display:none;position:fixed;right:15px;bottom:200px;z-index:101;width:65px;height:65px;margin-right:-10px;border-radius:50%;font-size:30px;text-align:center;line-height:65px;color:#111;background-color:#fff;box-shadow:5px 5px 5px rgba(0,0,0,.2);-webkit-transition:all .2s;transition:all .2s}
#fix_tel.active{opacity:1;margin-right:0}
#sh_ft_btns{display:none;padding:15px}
#sh_ft_btns .btns{overflow:hidden}
#sh_ft_btns a{float:left;display:block;width:100%;height:55px;font-size:16px;font-weight:600;line-height:55px;color:#fff;text-align:center;background-color:#000;font-family:'Noto Sans KR'}
#sh_ft_btns a.tel{font-size:18px;font-weight:700;letter-spacing:0;font-family:'Poppins'}
#sh_ft_btns a i{padding-right:5px;font-size:18px}

/* tel_top */
.tel_top {display:flex;flex-direction:column;gap:10px;position:fixed;right:70px;top:340px;z-index:99;transition: all .2s;}
.tel_top a {display:flex;flex-direction:column;justify-content:center;align-items:center;width:80px;height:120px;background:#fff;border-radius:50px;text-align:center;font-size:15px; line-height: 1.2; font-weight:700;color:#222;transition:all .3s; border:1px solid rgba(0,0,0,0.2) !important }
.tel_top a::before {font-family:'FontAwesome';font-size:20px;margin-bottom:5px;color:#222;transition:all .3s;}
.tel_top a.tel_link::before {content:'\f095';}
.tel_top a.gov_link img {width:25px;margin-bottom:10px;}
.tel_top a:hover {transform:translateY(-5px);}


/* 반응형 [s] */
@media (hover:hover) {
    #sh_ft .more_btn:hover {--y:var(--move-hover);--shadow:var(--shadow-hover)}
    #sh_ft .ft_partner ul li a:hover{color:#fff}
    #scroll_top:hover{border-color:#fff}
    #sh_ft .sh_ft_wrapper>div:nth-child(2) .adm a:hover,#sh_ft .sh_ft_wrapper .copy a:hover{text-decoration:underline}
}
@media (max-width:1400px){
    #sh_hd{padding:0 30px}
    #mainbanner{padding:0}
    #include_area{padding:0 30px}
    #sh_content{padding:50px 30px}
    #sh_ft{padding:90px 30px 150px 30px}
    .tel_top {right:20px;}
    #scroll_top {right:20px;}
}
@media (max-width:1024px){
    #sh_hd{padding:0}
    #sh_aside{display:none}
    #include_area{margin-top:130px}
    #sh_ft{padding:60px 15px 120px 15px}
    #sh_ft .ft_partner{padding:0}
    #sh_ft .ft_partner ul{padding:20px 0}
    #sh_ft .sh_ft_wrapper{margin-top:50px}
    #sh_ft .sh_ft_wrapper>div{float:none;width:100%;padding:0;height:auto}
    #sh_ft .more_btn{margin-top:20px}
    #sh_ft .sh_ft_wrapper .copy,#sh_ft .sh_ft_wrapper>div:nth-child(2) .adm{position:relative;left:auto;bottom:auto}
    #sh_ft .sh_ft_wrapper>div:nth-child(2) .adm{margin:20px 0}
    #sh_ft .sh_ft_wrapper>div .git{margin-bottom:20px}
    #sh_ft .sh_ft_wrapper .copy a{padding:6px 10px;    border-radius:3px;    font-size:14px;    background-color:#333}
    #sh_content{padding:50px 15px}
    #scroll_top, .tel_top{display:none !important;}
    #sh_ft .bg_movie{display: none;}
    #fix_tel{display:block;bottom:130px;}
}
@media (max-width:768px){
    #sh_content{padding:30px 15px;min-height:auto;border-radius:0}
    #include_area{padding:0 15px;margin-top:100px}
    #sh_ft{padding:50px 15px 200px 15px}
    #sh_ft .sh_ft_wrapper{margin-top:20px}
    #fix_tel{bottom:200px;}
    #sh_ft_btns{display:block}
}
@media (max-width:480px){
    #include_area{padding:0 15px;}
    #sh_ft{padding:30px 15px 200px 15px}
    #sh_ft .sh_ft_wrapper .git p{font-size:25px}
    #sh_ft .ft_partner ul li{width:calc(100% / 2)}
}
@media (max-width:380px){
    #sh_ft .sh_ft_wrapper .copy a{display:table;margin:10px 0}
}
/* 반응형 [e] */



#scroll_top { color:#000 !important; border-color:rgba(0,0,0,0.2) !important; background-color: #fff;}
#scroll_top.white { color:#fff !important; border-color:rgba(255,255,255,0.4) !important; background-color:unset; }