@charset "utf-8";

header {background-color: #fff; position: sticky; top: 0; z-index: 999999; border-bottom: 1px solid var(--line);}
header .header-inner {display: flex; width: calc(100% - 32px); max-width: 1420px; margin: 0 auto; height: 90px; align-items: center;}
header .gnb_1dli.gnb_mnal {display: none;}
header .logo {display: flex; align-items: center; justify-content: center;}

#gnb {width: 100%;}
#gnb .gnb_wrap {width: calc(100% - 160px);}
#gnb .gnb_wrap > ul {display: flex; justify-content: center;}
#gnb .gnb_wrap > ul .gnb_1dli {position: relative; height: 90px; display: flex; align-items: center; padding: 0 25px;}
#gnb .gnb_wrap > ul .gnb_1dli .gnb_1da {padding: 6px 10px; font-size: 18px; font-weight: 500;}
#gnb .gnb_wrap > ul .gnb_1dli .bg {display: none;}
#gnb .gnb_wrap > ul .gnb_1dli .gnb_2dul {position: absolute; width: 100%; display: none; top: 90px; left: 50%; transform: translate(-50%, 0); background-color: #fff; justify-content: center; padding:24px 26px; border-top: 2px solid var(--primary); border-radius: 0 0 20px 20px; box-shadow: 2px 4px 20px 0 rgba(105, 105, 105, 0.25);}
#gnb .gnb_wrap > ul .gnb_1dli:hover .gnb_1da,
#gnb .gnb_wrap > ul .gnb_1dli .gnb_1da.active,
#gnb .gnb_wrap > ul .gnb_1dli .gnb_2dul .gnb_2dul_box .gnb_2da.active {color: var(--primary);}
#gnb .gnb_wrap > ul .gnb_1dli:hover .gnb_2dul {display: flex;}
#gnb .gnb_wrap > ul .gnb_1dli .gnb_2dul .gnb_2dul_box { display: flex; flex-direction: column; row-gap: 16px;}
#gnb .gnb_wrap > ul .gnb_1dli .gnb_2dul .gnb_2dul_box .gnb_2dli {text-align: center;}
#gnb .gnb_wrap > ul .gnb_1dli .gnb_2dul .gnb_2dul_box .gnb_2da {color: var(--text2);}

header #gnb_all {position: absolute; display: none; top: 0; left: 0; width: 100%; height: 100vh; background-color: #fff; flex-direction: column;}
header #gnb_all .mo-gnb-t {width: 100%; height: 90px; display: flex; align-items: center;}
header #gnb_all .mo-gnb-t a {display: inline-flex; justify-content: center; align-items: center; padding-left: 16px;}
header #gnb_all .gnb_al_ul {width: 100%; display: flex; flex-direction: column; padding: 0 16px;}
header #gnb_all .gnb_al_ul > li > a {position: relative; display: flex; align-items: center; column-gap: 10px; padding: 20px 0 18px 0; font-size: 16px; border-bottom: 1px solid var(--line); 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(--text1);border-bottom: 2px solid var(--text1);transform: translateY(-50%) rotate(-45deg)}
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 {transform: rotate(45deg);}
header #gnb_all .gnb_al_ul > li.on > ul {display: block;}

header.menu-open #gnb #gnb_1dul > ul li {color: var(--text1);}
header.menu-open .mo-btn span,
header.menu-open .mo-btn span:before,
header.menu-open .mo-btn span:after  {background: var(--text1);}

.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(--text1);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 {background:transparent;}
header.menu-open .mo-btn >span:before {top:0;transform:rotate(45deg);}
header.menu-open .mo-btn >span:after {top:0;transform:rotate(-45deg);}

header.menu-open #gnb_all {display: flex; transition: all 0.3s;}

footer {background-color: var(--secondary);}
footer p,
footer a {color: var(--gray2); font-weight: 500; word-break: keep-all;}
footer span {color: #fff; font-size: 22px; font-weight: 500;}
footer .footer-inner {width: calc(100% - 32px); max-width: 1420px; margin: 0 auto; padding: 27px 0 60px;}
footer .footer-inner p:nth-of-type(1) {padding-bottom: 20px; line-height: 26px;}
footer .footer-t {display: flex; align-items: center; justify-content: space-between; padding-bottom: 90px;}
footer .footer-t div:not(.call) {display: flex; align-items: center; column-gap: 77px;}
footer .footer-t div:not(.call) ul {display: flex; align-items: center; column-gap: 50px;}
footer .footer-t .call {display: flex; align-items: center; column-gap: 20px;}
footer .footer-t .call .icon {width: 40px; height: 40px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background-color: var(--text3);}
footer .footer-t .call .icon img {width: 20px; height: 20px;}

.quick-area {position: fixed; z-index: 1000; right: 4vw; bottom: 4vw; display: flex; flex-direction: column; row-gap: 10px;}
.quick-area li a{width: 80px; height: 80px; border-radius: 50%; background-color: #fff; box-shadow: 0px 4px 16px rgba(197, 197, 197, 0.25); display: flex; align-items: center; justify-content: center; flex-direction: column; row-gap: 6px;}
.quick-area li a span {font-size: 14px; font-weight: 500; color: var(--text1);}
.quick-area li a:hover {background-color: var(--secondary); transition: all 0.3s;}
.quick-area li a:hover span {color: #fff;}
.quick-area li a:hover img {filter: brightness(0) invert(1);}

/* 반응형 */
@media screen and (max-width: 1420px) {

    header .header-inner {justify-content: space-between;}
    #gnb .gnb_wrap {width: 100%;}
    #gnb .gnb_wrap > ul {justify-content: flex-end;}

}

@media screen and (max-width: 1280px) {


    header .header-inner,
    header #gnb_all .mo-gnb-t,
    #gnb .gnb_wrap > ul .gnb_1dli {height: 80px;}
    #gnb .gnb_wrap > ul .gnb_1dli .gnb_2dul {top: 80px;}
    header #gnb_all .mo-gnb-t {position: relative; border-bottom: 1px solid var(--line);}

    header #gnb_all .mo-gnb-t .gnb_1dli.gnb_mnal {position: absolute; right: 16px; top: 50%; transform: translate(0, -50%);}
    .header-t .gnb_1dli.gnb_mnal {position: absolute; display: flex; right: 16px; top: 50%; transform: translate(0, -50%);}
    #gnb_all .gnb_al_ul .gnb_al_li > ul {display: none; padding: 10px 0; border-bottom: 1px solid var(--line);}
    #gnb_all .gnb_al_ul .gnb_al_li > ul li a {width: 100%; padding: 10px 0; color: var(--text2); }
    #gnb_all .gnb_al_ul .gnb_al_li > a.active + ul {display: block;}
}

@media screen and (max-width: 1024px) {

    #gnb {display: none;}
    header .gnb_1dli.gnb_mnal {display: block;}

    footer .footer-t {flex-direction: column; align-items: flex-start; row-gap: 30px;}
}

@media screen and (max-width: 768px) {

    footer .footer-inner {padding: 48px 0;}
    footer .footer-t {padding-bottom: 80px;}
    footer .footer-t div:not(.call) {flex-direction: column; row-gap: 14px; align-items: flex-start;}
    footer .footer-t div:not(.call) ul {column-gap: 30px; row-gap: 10px; flex-wrap: wrap;}
    footer .footer-inner p:nth-of-type(1) {padding-bottom: 30px;}
}

@media screen and (max-width: 600px) {

}

@media screen and (max-width: 500px) {


    header .header-inner,
    header #gnb_all .mo-gnb-t {height: 60px;}
    header .logo img,
    header #gnb_all .mo-gnb-t .mo-logo img {width: 100px; height: auto;}
    header #gnb_all .mo-gnb-t .gnb_1dli.gnb_mnal {right: 16px;}
    header #gnb_all .hd-search {flex-wrap: wrap; row-gap: 20px; column-gap: 20px; padding: 20px 16px;}
    header #gnb_all .hd-search .btn-default {width: calc(100% / 2 - 10px); height: 43px; justify-content: center; column-gap: 10px;}
    header #gnb_all .hd-search .hd_sch_wr {width: 100%;}
    header #gnb_all .gnb_al_ul {padding: 0 16px;}

    .mo-btn {width: 24px; height: 24px;}
    .mo-btn span,
    .mo-btn span:before,
    .mo-btn span:after {height: 2px;}

    .mo-btn span:after {top: 8px;}
    .mo-btn span:before {top: -8px;}

    .quick-area li a {width: 68px; height: 68px;}
    .quick-area li a span {font-size: 12px}
    .quick-area li:nth-of-type(1) a img {width: 24px; height: 24px;}
    .quick-area li:not(:nth-of-type(1)) a img {width: 30px; height: auto;}

}

@media screen and (max-width: 340px) {

    footer .footer-inner {padding: 40px 0;}
    footer .logo img {width: 160px; height: auto;}
    footer p,
    footer a {font-size: 15px;}
    footer .footer-t {padding-bottom: 60px; row-gap: 20px;}
    footer .footer-t .call {column-gap: 16px;}
    footer .footer-t .call .icon {width: 32px; height: 32px;}
    footer .footer-t .call .icon img {width: 16px; height: 16px;}
    footer span {font-size: 20px;}
}


/*******************/