@charset "utf-8";
@import url("./font-awesome/css/font-awesome.min.css");
@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard-dynamic-subset.css');
@import url('https://fonts.googleapis.com/css2?family=DM+Serif+Display:ital@0;1&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{background:#fff;font-size:0.81em;font-family:var(--k-font)}
h1, h2, h3, h4, h5, h6, input, button, textarea, select{font-family:var(--k-font)}
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}
:root{--primary:#051525;--primary2:#12344c;--mainsize:1500px;--k-font:'Pretendard';--e-font:'DM Serif Display'}
#sh_wrapper{position:relative}

@font-face {font-family: 'Material Symbols Outlined';font-style: normal;font-weight: 100 700;src: url(https://fonts.gstatic.com/icon/font?kit=kJEhBvYX7BgnkSrUwT8OhrdQw4oELdPIeeII9v6oFsKTC4wqbGXzkt4uV6UntNkNRw&skey=b8dc2088854b122f&v=v220) format('woff2');}
.material-symbols-outlined {font-family: 'Material Symbols Outlined';font-weight: normal;font-style: normal;font-size: 24px;line-height: 1;letter-spacing: normal;text-transform: none;display: inline-block;white-space: nowrap;word-wrap: normal;direction: ltr;-webkit-font-feature-settings: 'liga';-webkit-font-smoothing: antialiased;}  
/* ========================== 초기화 [e] */

/* ========================== HEADER */
#sh_hd{position:absolute;top:0;left:0;z-index:15;width:100%;font-family:var(--k-font)}
#shGnb{display:flex;align-items:center;justify-content:space-between;position:relative;width:100%;height:100px;padding:0 80px}
.sh_lnb_bg{display:none;position:absolute;top:0;left:0;width:100%;height:220px;background-color:#fff;box-shadow:0px 8px 5px rgba(0,0,0,10%)}

/* 로고 */
#shGnb .sh_logo{position:relative;z-index:20}

/* 대분류  */
#shGnb .sh_nav{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:max-content}
#shGnb .sh_nav > li{float:left;position:relative;padding:0 33px;line-height:70px}
#shGnb .sh_nav > li > a{display:block;font-size:15px;font-weight:500;color:#fff;text-transform:uppercase;transition:all .2s}
#shGnb.on .sh_nav > li > a{color:#222}
#shGnb.on #pfBtn span, #shGnb.on #pfBtn span:after, #shGnb.on #pfBtn span:before{background:var(--primary)}

/* 소분류 */
#shGnb .sh_lnb_s{display:none;position:absolute;left:50%;transform:translateX(-50%);min-width:100%;width:max-content;min-height:145px}
#shGnb .sh_lnb_s li a{display:block;line-height:1.8;text-align:center;color:#999;transition:all .2s}

/* sns */
#shGnb .sh_tip{margin-left:auto}
#shGnb .sh_tip{display:flex;align-items:center}
#shGnb .sh_tip li+li{margin-left:14px;border-left:1px solid rgba(255,255,255,.4);line-height:10px}
#shGnb .sh_tip li a{margin-left:15px;font-size:14px;color:#fff;font-family:var(--e-font)}
#shGnb.on .sh_tip li a{color:#222}
#shGnb.sub .sh_tip li a{color:#222}

/* 메뉴버튼 */
#pfBtn{display:flex;z-index:101;width:20px;height:30px;cursor:pointer;transition:all .2s}
#pfBtn span{display:block;position:relative;width:26px;height:2px;margin:auto;background:#fff;transition:all .2s}
#pfBtn span:before, #pfBtn span:after{display:block;content:"";position:absolute;top:0;width:50%;height:2px;background:#fff;transition:all .2s}
#pfBtn span:before {top:-9px}
#pfBtn span:after{top:9px;right:0}
#pfBtn.active{position:fixed;right:80px}
#pfBtn.active span{border:none;background:transparent}
#pfBtn.active span:before{width:100%;top:0;transform:rotate(45deg);background:var(--primary)}
#pfBtn.active span:after{width:100%;top:0;transform:rotate(-45deg);background:var(--primary)}

/* 메뉴오픈 */
#allWrap{display:none;position:fixed;top:0;left:0;z-index:100;width:100%;height:100%;color:#08151d;transform:rotateX(8deg) translateY(50px);background-color:#fff;transition:transform .6s}
#allWrap.active{transform:rotateX(0) translateY(0)}
#allWrap .inner{position:relative;width:1040px;height:100%;margin:0 auto}
#allWrap .ci{padding:40px 0 50px;text-align:center}
#allWrap .tit{padding:40px 0;font-size:15px;font-family:var(--e-font)}
#allWrap .cont{position:relative;padding:0 40px;border-top:1px solid rgba(0,0,0,.15)}
#allWrap .cont:before{display:block;content:"";position:absolute;left:0;top:-1px;width:200px;height:1px;background-color:rgba(0,0,0,.6)}
#allWrap .sitemap > ul:after{display:block;content:"";visibility:hidden;clear:both}
#allWrap .sitemap > ul > li{float:left}
#allWrap .sitemap > ul > li+li{margin-left:100px}
#allWrap .sitemap .bmn{display:inline-block;position:relative;margin-bottom:25px;font-size:18px;font-weight:700;color:#111;text-transform:uppercase;letter-spacing:-.5px;transition:all .2s}
#allWrap .sitemap .bmn:after{opacity:0;display:block;content:"";position:absolute;left:0;bottom:0;width:12px;height:2px;margin-bottom:-10px;background-color:#08151d;transition:all .2s}
#allWrap .sitemap .smn li a{font-size:15px;line-height:2;color:#888;transition:color .2s}
#allWrap .cs{position:absolute;bottom:150px;width:100%;font-family:var(--e-font),var(--k-font)}
#allWrap .cs .tel{display:inline-block;vertical-align:top;font-size:24px}
#allWrap .cs .etc{display:inline-block;vertical-align:top;margin-left:80px;line-height:1.8}

/* 상단 버튼 및 오픈메뉴 */
#topmenuM{display:none;width:100%;line-height:1.8;padding:15px}
#m_navBtn{position:absolute;top:50%;right:15px;z-index:30;width:30px;height:30px;transform:translateY(-50%);cursor:pointer}
#m_navBtn span{display:block;position:relative;top:50%;width:100%;height:2px;transform:translateY(-50%)}
#m_navBtn span::before{display:block;position:absolute;top:-6px;width:100%;height:100%;background-color:#fff;content:""}
#m_navBtn span::after{display:block;position:absolute;top:6px;right:0%;width:40%;height:100%;background-color:#fff;content:""}
#m_navBtn.on{position:fixed;top:27px}
#m_navBtn.on span:before{top:0;right:-4px;transform:rotate(45deg);background-color:#000}
#m_navBtn.on span:after{top:0;right:-4px;width:100%;transform:rotate(-45deg);background-color:#222}
#navWrap{position:fixed;left:0;top:0;z-index:15;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:999;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;line-height:52px;color:#222;text-align:left;font-family:'Noto Sans KR';font-weight:500}
#topmenuM .m_lnb .m_bmenu:after{float:right;content:"\f107";font-family:'fontawesome'}
#topmenuM .m_lnb .m_bmenu.on:after{content:"\f106"}

/* 반응형 메뉴에서 a 태그 스타일 추가 */
#topmenuM .m_lnb a{display:block;position:relative;width:100%;height:52px;padding:0 20px;border:none;border-bottom:1px solid #ddd;background:none;font-size:16px;line-height:52px;color:#222;text-align:left;font-family:'Noto Sans KR';font-weight:500;text-decoration:none}
/* 소분류 */
#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}

/* ========================== MAIN */
#sh_section{overflow:hidden;position:relative;font-size:16px;font-weight:500;line-height:1.6;color:#222;font-family:var(--k-font)}

/* ========================== CONTAINER */
#sh_container{position:relative;z-index:10;width:100%}
#sh_container_wrapper{margin:0 auto;width:100%}
#sh_content{overflow:hidden;position:relative;z-index:10;width:100%;max-width:var(--mainsize);min-height:550px;padding:70px 0;margin:0 auto;background:#fff}

/* ========================== SNB */
#sh_aside{position:relative;z-index:25;transform:translateY(-75px);max-width:var(--mainsize);margin:0 auto;font-family:var(--k-font)}

/* ========================== FOOTER */
#sh_ft{position:relative;padding:110px 0 80px;width:100%;font-size:15px;font-weight:400;color:rgba(255,255,255,.6);background:var(--primary);line-height:1.6}
#sh_ft .ft_inner{width:100%;max-width:1760px;margin:0 auto}
#sh_ft .sub{background:#f5f5f5}
#sh_ft .info ul{margin:60px 0 30px;display:flex;gap:20px}
#sh_ft .info ul li a{position:relative;cursor:pointer;color:#fff}
#sh_ft .info ul li a:hover{color:#fff}
#sh_ft .info ul li:last-child a{padding-right:0}
#sh_ft .info ul li:last-child a:after{display:none}
#sh_ft .info div{width:100%;margin:0 auto;display:flex;flex-wrap:wrap;gap:40px}
#sh_ft .info h3{font-size:20px;font-weight:700;color:#fff;margin-bottom:20px;font-family:var(--k-font);width:100%}
#sh_ft .info p{font-size:14px;color:rgba(255,255,255,0.8);margin-bottom:8px;line-height:1.6;font-family:var(--k-font);width:calc(50% - 20px);-webkit-text-fill-color:rgba(255,255,255,0.8)}
#sh_ft .info p:last-child{margin-bottom:0}
#sh_ft .copy{margin-top:97px;padding-top:36px;border-top:1px solid rgba(255, 255, 255,.2);display:flex;justify-content:space-between;align-items:flex-end}
#sh_ft .copy div a{position:relative;padding:0 20px;font-size:14px;color:rgba(255,255,255,.6);transition:all .3s;font-family:var(--e-font)}
#sh_ft .copy div a:after{position:absolute;content:'';right:0;top:50%;transform:translateY(-50%);width:1px;height:14px;background:rgba(255,255,255,0.2)}
#sh_ft .copy div a:hover{color:#fff}
#sh_ft .copy div a+a{padding:0;margin-left:15px}
#sh_ft .copy div a+a:after{display:none}
#sh_ft .copy div+div{font-family:'Exo 2';font-weight:500}

/* 반응형 하단 버튼 공통 */
#fix_tel{opacity:0;display:block;position:fixed;right:15px;bottom:50px;z-index:9999;width:55px;height:55px;margin-right:-10px;border-radius:50%;font-size:24px;text-align:center;line-height:55px;color:#fff;background:linear-gradient(135deg, #2ecc71, #27ae60);box-shadow:0 4px 15px rgba(46,204,113,0.4);-webkit-transition:all .3s;transition:all .3s;border:2px solid #fff;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
#fix_tel.active{opacity:1;margin-right:0}
#fix_tel:hover{background:linear-gradient(135deg, #27ae60, #2ecc71);transform:scale(1.1);box-shadow:0 6px 20px rgba(46,204,113,0.6)}

/* 블로그로 이동 버튼 */
#fix_blog{opacity:0;display:flex;flex-direction:column;align-items:center;justify-content:center;position:fixed;right:15px;bottom:120px;z-index:9999;width:55px;height:55px;margin-right:-10px;border-radius:50%;font-size:24px;text-align:center;color:#fff;background:linear-gradient(135deg, #e74c3c, #c0392b);box-shadow:0 4px 15px rgba(231,76,60,0.4);-webkit-transition:all .3s;transition:all .3s;text-decoration:none;border:2px solid #fff;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
#fix_blog.active{opacity:1;margin-right:0}
#fix_blog:hover{background:linear-gradient(135deg, #c0392b, #e74c3c);transform:scale(1.1);box-shadow:0 6px 20px rgba(231,76,60,0.6)}
#fix_blog i{font-size:10px;margin-bottom:2px}
#fix_blog span{font-size:14px;font-weight:bold;letter-spacing:0.2px;line-height:1;margin-top:2px}

/* 상단으로 이동 버튼 */
#scroll_to_top{opacity:0;display:block;position:fixed;right:15px;bottom:190px;z-index:9999;width:55px;height:55px;margin-right:-10px;border-radius:50%;font-size:24px;text-align:center;line-height:55px;color:#fff;background:linear-gradient(135deg, #3498db, #2980b9);box-shadow:0 4px 15px rgba(52,152,219,0.4);-webkit-transition:all .3s;transition:all .3s;text-decoration:none;border:2px solid #fff;-webkit-transform:translateZ(0);transform:translateZ(0);-webkit-backface-visibility:hidden;backface-visibility:hidden}
#scroll_to_top.active{opacity:1;margin-right:0}
#scroll_to_top:hover{background:linear-gradient(135deg, #2980b9, #3498db);transform:scale(1.1);box-shadow:0 6px 20px rgba(52,152,219,0.6)}
#sh_ft_btns{display:none;padding:15px;background:#f7f7f7}
#sh_ft_btns .btns{overflow:hidden}
#sh_ft_btns .row2 a{width:50%}
#sh_ft_btns a{float:left;display:block;width:100%;height:55px;font-size:16px;line-height:55px;color:#fff;text-align:center;background-color:var(--primary);font-family:'Noto Sans KR';font-weight:700}
#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}
#sh_ft_btns a.kakao{font-weight:normal;color:#402325;background-color:#ffe500}

/* 반응형 [s] */
@media (hover:hover){
#shGnb .sh_lnb_s li a:hover{color:var(--primary)}
#allWrap .sitemap > ul > li:hover .bmn:after{opacity:1;margin-bottom:-20px}
#allWrap .sitemap > ul > li:hover .bmn{transform:translateY(-5px)}
#allWrap .sitemap .smn li a:hover{color:#08151d}
}
@media (max-width:1380px){
#shGnb{padding:0 5%}
#shGnb .sh_nav > li{padding:0 28px}
#sh_ft{padding:110px 5% 80px}
}
@media (max-width:1024px){
#shGnb{display:none}
#topmenuM{display:block}
#navWrap{display:none}
#sh_content{padding:50px 0}
#sh_aside{display:none}
#sh_ft{padding:90px 2.5% 50px}
}
@media (max-width:768px){
#sh_content{padding:30px 0}
#sh_section{font-size:15px}
#sh_ft{padding:80px 2.5% 25px}
#sh_ft .ft_inner .info{text-align:center;word-break:keep-all}
#sh_ft .ft_inner .info div{display:block;gap:0}
#sh_ft .ft_inner .info h3{font-size:18px;margin-bottom:15px;width:100%}
#sh_ft .ft_inner .info p{font-size:13px;margin-bottom:6px;width:100%}
#sh_ft .info ul{justify-content:center;margin:35px 0}
#sh_ft .copy{margin-top:70px;padding-top:25px}
#fix_tel{display:block}
#fix_blog{display:block}
#scroll_to_top{display:block}
/* Footer 글씨 가독성 개선 */
#sh_ft .info h3{font-size:20px;font-weight:700;color:#fff;margin-bottom:20px;font-family:var(--k-font);-webkit-text-fill-color:#fff}
#sh_ft .info p{font-size:15px;color:rgba(255,255,255,0.9);margin-bottom:10px;line-height:1.8;font-family:var(--k-font);-webkit-text-fill-color:rgba(255,255,255,0.9)}
}
@media (max-width:480px){
#sh_content{padding:0}
#sh_hd.sub{position:relative;background-color:#111}
#sh_section{font-size:14px}
#sh_ft{padding:70px 2.5% 15px;font-size:14px}
#sh_ft .info ul{margin:30px 0}
#sh_ft .copy{margin-top:60px;padding-top:15px}
#fix_tel{display:block}
#fix_blog{display:block}
#scroll_to_top{display:block}
#sh_ft_btns{display:block}
#sh_ft dl dt{font-size:16px}
/* Footer 글씨 가독성 개선 */
#sh_ft .info h3{font-size:18px;font-weight:700;color:#fff;margin-bottom:18px;font-family:var(--k-font);-webkit-text-fill-color:#fff}
#sh_ft .info p{font-size:14px;color:rgba(255,255,255,0.9);margin-bottom:8px;line-height:1.7;font-family:var(--k-font);-webkit-text-fill-color:rgba(255,255,255,0.9)}
}
@media (max-width:380px){
#sh_section{font-size:13px}
#sh_ft{font-size:13px}
#sh_ft .info div{display:block;gap:0}
#sh_ft .info h3{font-size:16px;margin-bottom:12px;width:100%}
#sh_ft .info p{font-size:12px;margin-bottom:5px;width:100%}
#sh_ft .copy div a{font-size:13px}
#fix_tel{display:block}
#fix_blog{display:block}
#scroll_to_top{display:block}
/* Footer 글씨 가독성 개선 */
#sh_ft .info h3{font-size:17px;font-weight:700;color:#fff;margin-bottom:15px;font-family:var(--k-font);-webkit-text-fill-color:#fff}
#sh_ft .info p{font-size:13px;color:rgba(255,255,255,0.9);margin-bottom:7px;line-height:1.6;font-family:var(--k-font);-webkit-text-fill-color:rgba(255,255,255,0.9)}
}
/* iOS Safari 전용 스타일 */
@supports (-webkit-touch-callout: none) {
    #fix_tel, #fix_blog, #scroll_to_top {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
        -webkit-perspective: 1000;
        perspective: 1000;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        will-change: transform;
    }
    
    #fix_tel.active, #fix_blog.active, #scroll_to_top.active {
        -webkit-transform: translate3d(0, 0, 0);
        transform: translate3d(0, 0, 0);
    }
}

/* iOS Safari 버튼 강제 표시 */
@media screen and (-webkit-min-device-pixel-ratio: 0) {
    #fix_tel, #fix_blog, #scroll_to_top {
        display: block !important;
        visibility: visible !important;
        opacity: 0;
        -webkit-transition: opacity 0.3s ease;
        transition: opacity 0.3s ease;
        position: fixed !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
    }
    
    #fix_tel.active, #fix_blog.active, #scroll_to_top.active {
        opacity: 1 !important;
    }
}

/* iOS Safari 추가 강제 표시 */
@supports (-webkit-touch-callout: none) {
    #fix_tel, #fix_blog, #scroll_to_top {
        display: block !important;
        visibility: visible !important;
        position: fixed !important;
        -webkit-transform: translate3d(0, 0, 0) !important;
        transform: translate3d(0, 0, 0) !important;
        will-change: transform !important;
    }
}
@supports (-webkit-touch-callout: none) {
    #sh_ft .info h3,
    #sh_ft .info p {
        -webkit-text-fill-color: inherit;
        color: inherit;
    }
    #sh_ft .info h3 {
        color: #fff !important;
        -webkit-text-fill-color: #fff !important;
    }
    #sh_ft .info p {
        color: rgba(255,255,255,0.8) !important;
        -webkit-text-fill-color: rgba(255,255,255,0.8) !important;
    }
}

/* 반응형 [e] */