@charset "utf-8";

.header {position: fixed; width: 100%; top: 0; z-index: 99999; }
.header .logo img {transition: all 0.3s;}
.header .header-inner {width: 100%; height: 100px; display: flex; align-items: center; column-gap: 20px; transition: all 0.3s; padding: 0 7vw;}
.header #gnb {width: 100%; height: 100%;}
.header #gnb #gnb_1dul {width: 100%; height: 100%; display: flex; justify-content: space-between; column-gap: 20px;}
.header #gnb #gnb_1dul > ul {width: 100%; height: 100%; display: flex; justify-content: center;}
.header #gnb #gnb_1dul > ul li {color: var(--text_w); font-size: var(--font-18);}
.header #gnb #gnb_1dul > ul li > a {display: flex; align-items: center; height: 100%; font-weight: 500; border-bottom: 1px solid transparent; padding: 0 36px; }
.header #gnb #gnb_1dul > ul li:hover > a,
.header #gnb #gnb_1dul .gnb_1dli.on,
.header #gnb #gnb_1dul .gnb_1dli .gnb_1da.active {color: var(--primary); border-bottom: 1px solid var(--primary); transition: all 0.3s;}
.header #gnb #gnb_1dul .gnb_1dli.on .gnb_1da.active {border-bottom: 0;}
.header #gnb #gnb_1dul .gnb_1dli.on:hover > a {border-bottom: 0;}
.header #gnb #gnb_1dul .gnb_1dli {height: 100%; display: flex; align-items: center;}
.header #gnb #gnb_1dul .gnb_1dli:hover .gnb_2dul,
.header #gnb #gnb_1dul .gnb_1dli:hover .bg {display: block;}
.header #gnb_all {position: absolute; display: none; top: 0; left: 0; width: 100%; height: 100vh; padding: 0 20px; background-color: var(--text1); flex-direction: column;}
.header #gnb_all .mo-gnb-t {width: 100%; height: 100px; display: flex; justify-content: space-between; align-items: center;}
.header #gnb_all .gnb_al_ul {width: 100%; display: flex; flex-direction: column; padding: 14px 0;}
.header #gnb_all .gnb_al_ul > li > a {position: relative; display: flex; padding: 20px 0; font-size: var(--font-20); color: #fff; border-bottom: 1px solid var(--line2); transition: all 0.3s;}
.header #gnb_all .gnb_al_ul > li > a::after {content: "";position: absolute;top: 50%;right: 5px;width: 10px;height: 10px;border-bottom-left-radius: 1px;display: block;transition: all 0.3s; border-right: 2px solid var(--line3);border-bottom: 2px solid var(--line3);transform: translateY(-50%) rotate(-45deg)}
.header #gnb_all .gnb_al_ul > li:hover > a,
.header #gnb_all .gnb_al_ul > li.open > a,
.header #gnb_all .gnb_al_ul > li.on > a,
.header #gnb_all .gnb_al_ul > li > a.active {border-bottom: 1px solid var(--primary); color: var(--primary); transition: all 0.3s;}
.header #gnb_all .gnb_al_ul > li:hover > a::after,
.header #gnb_all .gnb_al_ul > li.open > a::after,
.header #gnb_all .gnb_al_ul > li.on > a::after,
.header #gnb_all .gnb_al_ul > li > a.active::after {border-right: 2px solid var(--primary);border-bottom: 2px solid var(--primary);  transform: rotate(45deg);}
.header #gnb_all .gnb_al_ul > li.on > ul {display: block;}

.header.scroll,
.header.hover,
.header.menu-open {background-color: var(--text_w); transition: all 0.3s; box-shadow: 0 1px 1px 0 rgba(0,0,0,.05);}
.header.sub {background-color: var(--text_w);box-shadow: 0 1px 1px 0 rgba(0,0,0,.05);}
.header.scroll #gnb #gnb_1dul > ul li,
.header.hover #gnb #gnb_1dul > ul li,
.header.menu-open #gnb #gnb_1dul > ul li,
.header.sub #gnb #gnb_1dul > ul li {color: var(--text1);}
.header.scroll .mo-btn span,
.header.scroll .mo-btn span:before,
.header.scroll .mo-btn span:after,
.header.hover .mo-btn span,
.header.hover .mo-btn span:before,
.header.hover .mo-btn span:after,
.header.sub .mo-btn span,
.header.sub .mo-btn span:before,
.header.sub .mo-btn span:after {background: var(--text1);}
.header.menu-open .mo-btn span,
.header.menu-open .mo-btn span:before,
.header.menu-open .mo-btn span:after  {background: var(--text_w);}

.header #gnb #gnb_1dul .gnb_1dli.gnb_mnal {display: none;}
.mo-btn{position:relative;width:30px;height:30px;cursor:pointer;}
.mo-btn span,
.mo-btn span:before,
.mo-btn span:after{display:block;position:absolute;left:0;width:100%;height:3px;background:var(--text_w);transition:all 0.3s;}
.mo-btn span{top:50%;transform:translteY(-50%,-50%);}
.mo-btn span:before,
.mo-btn span:after{content:'';}
.mo-btn span:before{top:-10px;}
.mo-btn span:after{top:10px;}

.header.menu-open .mo-btn >span,
.header.sub.menu-open .mo-btn >span{background:transparent;}
.header.menu-open .mo-btn >span:before,
.header.sub.menu-open .mo-btn >span:before{top:0;transform:rotate(45deg);}
.header.menu-open .mo-btn >span:after,
.header.sub.menu-open .mo-btn >span:after{top:0;transform:rotate(-45deg);}

.header.menu-open #gnb_all {display: flex; transition: all 0.3s;}

footer {width: 100%; padding: 80px 0; background-color: var(--bg);}
footer .footer-t {display: flex; flex-direction: column; row-gap: 40px; padding-bottom: 40px; margin-bottom: 36px; border-bottom: 1px solid var(--line2);}
footer .footer-t > div {display: flex; column-gap: 40px; align-items: center;}
footer .footer-t > div a {color: var(--text_w);}
footer .footer-t > div .sns {display: flex; align-items: center; column-gap: 12px;}
footer .footer-t > div .sns a {display: flex; align-items: center;}
footer .footer-t > div .sns svg {width: 30px; height: 30px;}
footer .footer-t > div .sns svg path {fill: var(--secondary2);}
footer .footer-b {display: flex; justify-content: space-between; align-items: flex-end;}
footer .footer-b a,
footer .footer-b li {color: var(--text_w); opacity: 0.6;}
footer .footer-b ul {width: 660px; display: flex; flex-wrap: wrap; column-gap: 28px; row-gap: 8px; padding-bottom: 24px;}
footer .footer-b ul li {position: relative;}
footer .footer-b ul li::after {position: absolute; width: 1px; height: 14px; background-color: var(--line3); top: 50%; right: -14px; transform: translate(0, -50%); display: block; content: '';}
footer .footer-b ul li:nth-of-type(2):after,
footer .footer-b ul li:nth-of-type(4):after {display: none;}
footer .footer-b .admin a b{font-weight: 600; text-decoration: underline;}
footer .footer-t a:hover,
footer .footer-b .admin a:hover {color: var(--primary); transition: all 0.3s;}
footer .footer-t > div .sns a:hover svg path {fill: var(--primary); transition: all 0.3s;}


/* 반응형 */
@media screen and (max-width: 1440px) {

    .header .header-inner {padding: 0 20px;}
    .header #gnb #gnb_1dul ul {justify-content: flex-end;}

    .header #gnb #gnb_1dul .gnb_1dli:nth-last-of-type a {padding: 0 0 0 36px;}
}

@media screen and (max-width: 1024px) {

    .header #gnb #gnb_1dul ul {display: none;}
    .header #gnb #gnb_1dul .gnb_1dli.gnb_mnal {display: flex; width: 100%; justify-content: flex-end;}

    #gnb_all .gnb_al_ul .gnb_al_li > ul {display: none; padding: 20px 0;}
    #gnb_all .gnb_al_ul .gnb_al_li > ul li:not(:last-of-type) {padding-bottom: 20px;}
    #gnb_all .gnb_al_ul .gnb_al_li > ul li a {width: 100%; color: var(--text3);}
    #gnb_all .gnb_al_ul .gnb_al_li > ul li a.active,
    #gnb_all .gnb_al_ul .gnb_al_li > ul li a:hover {color: var(--primary); transition: 0.3s;}
    #gnb_all .gnb_al_ul .gnb_al_li > a.active + ul {display: block;}

    footer .footer-b {flex-direction: column-reverse; align-items: flex-start; row-gap: 30px;}
}

@media screen and (max-width: 768px) {
    footer .footer-b ul {width: 100%;}
}

@media screen and (max-width: 600px) {

}

@media screen and (max-width: 500px) {

    .header .header-inner,
    .header #gnb_all {padding: 0 16px;}

    .header .header-inner,
    .header #gnb_all .mo-gnb-t {height: 80px;}

    .header .logo img,
    .header #gnb_all .mo-gnb-t .mo-logo img {height: 36px;}

    .mo-btn {width: 26px; height: 26px;}
    .mo-btn span,
    .mo-btn span:before,
    .mo-btn span:after {height: 2px;}
    .mo-btn span:after {top: 9px;}
    .mo-btn span:before {top: -9px;}

    footer {padding: 60px 0;}
    footer .footer-t {row-gap: 30px; padding-bottom: 30px; margin-bottom: 24px;}
    footer .footer-t .logo img {height: 30px;}

    footer .footer-t > div {column-gap: 20px; flex-wrap: wrap; row-gap: 12px;}
    footer .footer-t > div .sns {width: 100%;}
    footer .footer-b ul li:nth-of-type(3):after {display: none;}

}

@media screen and (max-width: 340px) {
    footer a,
    footer li {font-size: 15px;}
    footer .footer-t .logo img {height: 28px;}
}