@font-face {
    font-family: PT;
    src: url(../fonts/Pretendard-Light.woff2);
    font-weight: 300;
}
@font-face {
    font-family: PT;
    src: url(../fonts/Pretendard-Regular.woff2);
    font-weight: 400;
}
@font-face {
    font-family: PT;
    src: url(../fonts/Pretendard-Medium.woff2);
    font-weight: 500;
}
@font-face {
    font-family: PT;
    src: url(../fonts/Pretendard-Bold.woff2);
    font-weight: 700;
}
@font-face {
    font-family: AV;
    src: url(../fonts/Antro_Vectra.woff2);
    font-weight: 400;
}
@font-face {
    font-family: CC;
    src: url(../fonts/CarismaClassic-600DemiBold.woff2);
    font-weight: 600;
}
@font-face {
    font-family: NS;
    src: url(../fonts/NanumSquareR.woff2);
    font-weight: 400;
}
@font-face {
    font-family: NS;
    src: url(../fonts/NanumSquareB.woff2);
    font-weight: 700;
}
@font-face {
    font-family: NM;
    src: url(../fonts/NanumMyeongjo.woff2);
    font-weight: 400;
}
@font-face {
    font-family: MM;
    src: url(../fonts/MinervaModernRegular.woff);
    font-weight: 400;
}
@font-face {
    font-family: BS;
    src: url(../fonts/BelgianoSerif.woff2);
    font-weight: 500;
}
@font-face {
    font-family: GG;
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2410-3@1.0/Batang_Regular.woff') format('woff');
    font-weight: 400;
    font-display: swap;
}
@font-face {
    font-family: GG;
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/2410-3@1.0/Batang_Bold.woff') format('woff');
    font-weight: 700;
    font-display: swap;
}
.color{color : #0EAB4A;}

*{margin : 0;padding : 0; box-sizing: border-box;}
li{list-style: none;}
a{text-decoration: none; color : inherit}
img{display: block;max-width: 100%;}
.moView{display : none !important}

html{scroll-behavior: smooth;}
/* 마우스오버 ANIMATION CSS */
.hover_ani{position:relative;/*width:500px;height:500px;*/}
.hover_ani>span.line{position:absolute;transition:width .5s,height .5s;background:#111;z-index: 10;}
.hover_ani>span.line:nth-child(1){width:0px;height:1px;left:0;top:0;}
.hover_ani>span.line:nth-child(2){width:1px;height:0px;right:0;top:0;}
.hover_ani>span.line:nth-child(3){width:0px;height:1px;right:0;bottom:0;}
.hover_ani>span.line:nth-child(4){width:1px;height:0px;left:0;bottom:0;}
.hover_ani:hover>span.line:nth-child(1),.hover_ani:hover>span.line:nth-child(3){width:100%;height:1px;}
.hover_ani:hover>span.line:nth-child(2),.hover_ani:hover>span.line:nth-child(4){width:1px;height:100%;}
/* 마우스오버 ANIMATION CSS END*/

body.fixed{overflow: hidden;}


.header{display: flex;justify-content: center; position : fixed;left : 50%;top : 0;width : 100%;z-index: 1000;transform: translateX(-50%); transition : background .3s, transform .5s;height : 90px;max-width: 750px; border-bottom : 1px solid #ddd; background: #fff;}
.header.sub{position : absolute;}
.header.on{background: #fff; }
.header.hide{transform: translateY(-100%);}
.header-inner{display: flex;justify-content: space-between;align-items: center; width : 100%; padding : 0 35px 0 39px;}

.main-logo{position : absolute;left : 50%;transform: translateX(-50%); width : 50%; height : 70%;}
.main-logo > a{display: flex; justify-content : center;width : 100%;height : 100%; color : #fff; font-size: 27px; line-height: 1em; font-family: PT; transition : color .3s;}
.main-logo > a img { margin: auto; object-fit : contain; object-position : center; transition : opacity .5s; width : 100%; height : 100%;}
.main-logo > a img.dark{position : absolute;top : 0;opacity : 0;}
.header.active .main-logo > a img.dark{opacity: 1;}
.sub .main-logo > a img.dark{opacity : 1;}
.header.active .main-logo > a{color : #111}
.header.dark .main-logo > a{color : #1b3b33;}
.header.on .main-logo > a{color : #1b3b33;}

.header-right{display: flex;align-items: center; gap : 17px}
.header .customer{display: flex;width : 34px; height :31px; background: url(/m/assets/images/common/customer-ico.png)no-repeat center / contain; transition : filter .5s; filter: invert(1);}

/* .header.sub .customer{filter: invert(1);}
.header.active .customer{filter: invert(1);} */
.header .header-tel{display: flex;width : 32px; height :32px; background: url(/m/assets/images/common/header-tel-icon.png)no-repeat center / contain;transition : filter .5s; filter: invert(1);}
/* .header.active .header-tel{filter: invert(1);} */
/* .header.sub .header-tel{filter: invert(1);} */

.hamburger{display: flex;align-items: center;justify-content: center;width : 39px;height : 23px;position : relative;}
.hamburger > span{width : 100%;height : 3px;background: #000;position : absolute; transition : transform .5s, background .5s;}
.header.sub .hamburger > span{background: #000;}
.hamburger > span:nth-child(1){transform: translateY(-350%);}
.hamburger > span:nth-child(3){transform: translateY(350%);}

.header.active .hamburger > span{background: #111;}
.header.active .hamburger > span:nth-child(1){transform: translateY(0) rotate(-45deg);}
.header.active .hamburger > span:nth-child(2){transform: scale(0);}
.header.active .hamburger > span:nth-child(3){transform: translateY(0) rotate(45deg);}

.hamburger-nav{position : absolute;background: #fff;width : 100vw;max-width: 750px;height : 100vh;position : fixed;left : 50%;transform: translateX(-150%);z-index: 999; transition : transform .7s; padding: 90px 0;color : #111;}
.header.active + .hamburger-nav{transform: translateX(-50%);}

.hamburger-nav > ul{border-top: 1px solid #ddd; max-height: calc(100vh - 200px);height : 100%;overflow-y: scroll;}
.hamburger-nav > ul > li > a{display: block; font-size: 36px;font-family: PT; letter-spacing: -0.03em; font-weight: 500;padding : 20px 0; background: #fafafa;padding : 30px; border-bottom: 1px solid #ddd;}
.hamburger-nav > ul > li > ul{background: #f0f0f0;display: none;}
.hamburger-nav > ul > li > ul > li > a{display: block;padding : 20px; font-size: 28px;border-bottom : 1px solid #ddd; font-weight: 500; letter-spacing: -0.03em; font-family: PT;}
/**/

.main-section-footer {overflow: visible !important;}
.footer{padding : 6.6667vw 4vw 15vw; font-family: PT;background: #fff; border-top : 1px solid #eaeaea; position : relative;}
.footer-inner{display: flex;flex-direction: column; width : 100%;margin : 0 auto;position : relative;}

.footer-head{display: flex;justify-content: space-between; padding-bottom: 4.5333vw; margin-bottom: 4.5333vw; border-bottom : 1px solid #eaeaea;}

.footer-left{margin-right: 8.5333vw;}
.footer-left > img {width: 40vw;}

.footer-right{text-align: right;}
.footer-open{font-size: 2.4000vw;font-weight: 700;color : #9a7640;letter-spacing: -0.03em; margin-bottom: 2.1333vw;
    > span{padding : 0 1.3333vw;border-left : 1px solid #9a7640;border-right : 1px solid #9a7640;}
}
.footer-tel{display: flex;align-items: center;justify-content: flex-end; font-size: 3.4667vw; font-weight: 700; color : #14382f; margin-bottom: 9.1333vw;}
.footer-tel-icon{margin-right: 1.3333vw;}

.footer-overview{color : #14382f; font-size: 2.4000vw; font-weight: 400; letter-spacing: -0.03em;
    b{font-weight: 700;}
}

.footer-top{display: flex; align-items: center; justify-content: space-between; margin-bottom: 2.6667vw;}
.footer-ul-01{display: flex;gap : 2.4000vw;color : #0f3a30;font-size: 2.4000vw;letter-spacing: -0.03em;font-weight: 700;}
.footer-ul-01 > li{display: flex;align-items: center; position : relative;
    &:not(:last-child)::after{position :absolute;content: '';width : 1px;height : 1.6000vw;background: #0f3a30 ;right : -1.0667vw; opacity: 0.8;}
}

.footer-ul-02{display: flex;gap : 1.6000vw;color : #6e8a7a;font-size: 2.1333vw;letter-spacing: -0.03em;font-weight: 700; margin-bottom: 1.0667vw;}
.footer-ul-02 > li{display: flex;align-items: center; position : relative;
    &:not(:last-child)::after{position :absolute;content: '';width : 1px;height : 1.3333vw;background: #6e8a7a ;right : -0.9333vw; opacity: 0.8;}
}

.footer-biz{color : #6e8a7a;font-size: 2.1333vw;letter-spacing: -0.03em;font-weight: 700; margin-bottom: 2.4000vw;}

.footer-info{font-family: 'IBM Plex Sans KR', PT, sans-serif; font-size: 2.1333vw; color : #737373; margin-bottom: 3.7333vw;}
.footer-info > li{padding-left: 2.0000vw;position : relative;line-height: 1.25em;
    &::before{position : absolute; content: '※';left : 0;}
}

.footer-copy{font-size: 2.1333vw; font-weight: 500; color : #727272;}
.top-btn{position : absolute; bottom : 100%; margin-bottom: 16px; right : 16px; width : 36px;}

/* 오리발 */
.page_info{display: flex;flex-direction: column;justify-content: center;background : #f7f7f7;width : 100%;border : 1px solid #e5e5e5;padding : 3.3333vw 8.0000vw 3.3333vw 16.0000vw;min-height : 16.0000vw;font-size: 1.7333vw;letter-spacing: -0.04em;color : #777;position : relative;margin : 2em auto 0;}
.page_info::after{display: flex;align-items: center;justify-content: center;color : #fff;font-size: 4.8000vw;font-weight: 700;content : '!';position : absolute;width : 9.3333vw;height : 9.3333vw;border-radius: 50%;background : #ddd;left : 3.3333vw;top : 50%;transform: translateY(-50%);}
.page_info > li{position : relative;padding-left : 2.1333vw;}
.page_info > li + li{margin-top : 0.4000vw;}
.page_info > li::before{content : '※ ';position : absolute;left : 0;font-size: 1.4667vw;line-height: 2.4000vw;}

.page_info > li p{display : flex; font-size : 1.6000vw;gap : 0.6667vw;}
.page_info > li p:nth-of-type(1){margin-top: 0.6667vw;}
.page_info > li p + p{margin-top: 0.4000vw;}

.page_info > li > p b{white-space : nowrap;}

@media(max-width : 750px){
    .header{height : 12.5000vw;}
    .header-inner{padding : 0 4.8611vw 0 5.4167vw;}

    .main-logo{}
    .main-logo > a{font-size: 3.7500vw;}

    .header-right{gap : 2.3611vw}
    .header .customer{width : 4.7222vw; height :4.3056vw;}

    .header .header-tel{width : 4.4444vw; height :4.4444vw;}

    .hamburger{width : 5.4167vw;height : 3.1944vw;}
    .hamburger > span{height : 0.4167vw;}

    .hamburger-nav{padding: 12vw 0;}

    .hamburger-nav > ul{max-height: calc(100vh - 27.7778vw);}
    .hamburger-nav > ul > li > a{font-size: 5.0000vw;padding : 4.1667vw;}
    .hamburger-nav > ul > li > ul > li > a{padding : 2.7778vw; font-size: 3.8889vw;}

}