@charset "utf-8";

#footer { width: 100%; background-color: var(--main-black); color: #fff; font-family: var(--font-family); position: relative; z-index: 301; }
#footer a { color: #fff; }

#footer .footer-inner { max-height: 960px; padding: 120px 0 80px; box-sizing: border-box; }

#footer .footer-top { display: grid; grid-template-columns: minmax(0, 1fr) 600px; gap: 40px; margin-bottom: 18.8rem; }
#footer .footer-cta,
#footer .footer-contact { min-height: 272px; padding: 48px; background-color: rgba(255, 255, 255, 0.06); }

#footer .footer-cta-sub { font: 300 var(--fs-20) / 100% var(--font-family); letter-spacing: -0.2px; margin-bottom: 16px; }
#footer .footer-cta-tit { font: 400 3.8rem / 100% var(--font-family); letter-spacing: -0.38px; margin-bottom: 56px; }
#footer .footer-cta-more { display: inline-flex; align-items: flex-end; gap: 2px; font: 300 var(--fs-22) / 100% var(--font-family); letter-spacing: -0.22px; }
#footer .footer-cta-more::after { content: ''; width: 20px; height: 20px; background: url('/resources/img/btn_more.png') no-repeat center / contain; filter: invert(1); }

#footer .footer-contact-tel { font: 400 5rem / 100% var(--font-family); letter-spacing: -0.5px; margin-bottom: 54px; }
#footer .footer-contact-tel a { text-decoration: none; }
#footer .footer-contact-list { display: flex; flex-direction: row; gap: 24px; flex-wrap: wrap; }
#footer .footer-contact-list li { display: flex; align-items: center; gap: 12px; font: 300 var(--fs-24) / 100% var(--font-family); letter-spacing: -0.24px; }
#footer .footer-contact-list .ico { flex-shrink: 0; width: 24px; height: 24px; background-repeat: no-repeat; background-position: center; background-size: contain; }
#footer .footer-contact-list .fax .ico { background-image: url('/resources/img/ft_ico_fax.png'); }
#footer .footer-contact-list .mail .ico { background-image: url('/resources/img/ft_ico_mail.png'); }
#footer .footer-contact-list .addr .ico { background-image: url('/resources/img/ft_ico_map.png'); }
#footer .footer-contact-list a { text-decoration: none; }

#footer .footer-brand-row { display: flex; justify-content: space-between; align-items: flex-start; gap: 40px; margin-bottom: 40px; }
#footer .footer-brand { font: 400 12rem / 100% "Archivo Narrow", sans-serif; letter-spacing: -1.2px; flex: 1; min-width: 0; }
#footer .footer-company-row { display: flex; justify-content: space-between; align-items: flex-end; gap: 40px; }
#footer .footer-company { flex: 1; min-width: 0; }

#footer .footer-company-name { display: flex; align-items: center; gap: 20px; font: 500 var(--fs-22) / 100% var(--font-family); letter-spacing: -0.22px; margin-bottom: 30px; }
#footer .foot-divider { flex-shrink: 0; width: 1px; height: 18px; background-color: var(--gray3); }
#footer .footer-info-line { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; font: 300 var(--fs-18) / 140% var(--font-family); letter-spacing: -0.18px; }
#footer .footer-info-line + .footer-info-line { margin-top: 12px; }
#footer .footer-info-item { display: inline-flex; align-items: baseline; flex-wrap: wrap; gap: 8px; max-width: 100%; }
#footer .footer-info-item .label { flex-shrink: 0; font-weight: 500; white-space: nowrap; }
#footer .footer-info-item .value { min-width: 0; }
#footer .footer-info-line .foot-divider { width: 15px; height: 15px; background: url('/resources/img/mark_foot.png') no-repeat center / contain; }

#footer .footer-nav { display: flex; gap: 95px; flex-shrink: 0; align-items: flex-start; }
#footer .footer-nav-col-stack { display: flex; flex-direction: column; gap: 50px; }
#footer .footer-nav-col .nav-tit { font: 500 var(--fs-18) / 100% var(--font-family); letter-spacing: -0.18px; margin-bottom: 30px; }
#footer .footer-nav-col-stack .footer-nav-col .nav-tit { margin-bottom: 0; }
#footer .footer-nav-col .nav-tit a { text-decoration: none; }
#footer .footer-nav-col ul { display: flex; flex-direction: column; gap: 16px; }
#footer .footer-nav-col ul a { font: 300 var(--fs-16) / 100% var(--font-family); letter-spacing: -0.16px; text-decoration: none; transition: opacity .3s ease; }
#footer .footer-nav-col ul a:hover { opacity: 0.7; }

#footer .copyright { flex-shrink: 0; font: 300 var(--fs-16) / 100% var(--font-family); letter-spacing: -0.16px; color: #fff; text-align: right; white-space: nowrap; }

@media screen and (max-width: 1440px) {
    #footer .footer-top { grid-template-columns: 55% auto; margin-bottom: 14rem; }
    #footer .footer-cta, #footer .footer-contact { min-height: auto; padding: 4.8rem; }
    #footer .footer-cta-tit { font-size: 3.2rem; }
    #footer .footer-contact-tel { font-size: 4rem; }
    #footer .footer-brand { font-size: 10rem; }
}
@media screen and (max-width: 1280px) {
    #footer .footer-inner { padding: 100px 0 64px; }
    #footer .footer-top { grid-template-columns: 55% auto; gap: 2rem; margin-bottom: 120px; }
    #footer .footer-cta-tit { line-height: 1.25; margin-bottom: 3rem; }
    #footer .footer-contact-tel { margin-bottom: 4rem; }
    #footer .footer-contact-list { gap: 1.6rem;}
    #footer .footer-contact-list li { font-size: 2rem; }
    #footer .footer-contact-list .ico { width: 2rem; height: 2rem; }
    #footer .footer-brand-row { margin-bottom: 2rem; }
    #footer .footer-brand { font-size: 9rem; }
    #footer .footer-company-name { margin-bottom: 2rem; }
    #footer .footer-info-line { gap: 6px 8px; }
    #footer .footer-info-item { gap: 6px; }
    #footer .footer-nav { gap: 3rem; }
    #footer .footer-nav-col ul { gap: 1rem; }
}

@media screen and (max-width: 1024px) {
    #footer .footer-inner { max-height: none; padding: 48px 0; }
    #footer .footer-contact { grid-column: auto; }
    #footer .footer-top { grid-template-columns: 1fr; gap: 24px; margin-bottom: 6rem; }
    #footer .footer-cta,
    #footer .footer-contact { min-height: auto; padding: 32px; }
    #footer .footer-cta-tit { font-size: var(--fs-32); margin-bottom: 32px; }
    #footer .footer-contact-tel { font-size: var(--fs-48); }
    #footer .footer-brand { font-size: 7.2rem; }
    #footer .footer-brand-row { flex-direction: column-reverse; gap: 3rem; margin-bottom: 3rem; }
    #footer .footer-nav { flex-wrap: wrap; gap: 5rem; width: 100%; }
    #footer .footer-nav-col-stack { flex-direction: row; gap: 5rem; }
    #footer .footer-company-row { flex-direction: column; align-items: flex-start; gap: 24px; }
    #footer .footer-nav-col .nav-tit { font-size: var(--fs-22); margin-bottom: 2rem; }
    #footer .footer-nav-col ul a { font-size: var(--fs-19); }
    #footer .copyright { text-align: left; white-space: normal; }
}

@media screen and (max-width: 768px) {
    #footer .footer-inner { padding: 3rem 3%; }
    #footer .footer-top { gap: 2rem; margin-bottom: 5rem; }
    #footer .footer-cta-tit { font-size: var(--fs-28); }
    #footer .footer-contact-tel { font-size: var(--fs-36); margin-bottom: 32px; }
    #footer .footer-contact-list { flex-direction: column; gap: 16px; }
    #footer .footer-brand { font-size: 5.6rem; }
    #footer .footer-brand-row { gap: 6rem; margin-bottom: 32px; }
    #footer .footer-nav { gap: 3rem; }
    #footer .footer-nav-col-stack { gap: 3rem; }
    #footer .footer-contact-list li { font-size: var(--fs-20); }
    #footer .footer-info-line { gap: 8px; }
    #footer .footer-info-line .foot-divider { display: none; }
    #footer .footer-info-line + .footer-info-line { margin-top: 8px; }
}

@media screen and (max-width: 480px) {
    #footer .footer-cta,
    #footer .footer-contact { padding: 24px; }
    #footer .footer-brand { font-size: 4.8rem; }
    #footer .footer-nav { flex-wrap: nowrap; gap: 2rem; }
    #footer .footer-nav-col-stack { flex-direction: row; gap: 2rem; }
    #footer .footer-nav-col .nav-tit { font-size: var(--fs-18); margin-bottom: 1.6rem; }
    #footer .footer-info-item { flex-wrap: nowrap; }
    #footer .footer-info-item > * { line-height: 1.3; }
    #footer .copyright { opacity: 0.9; font-size: 12px; }
}

/*layer popup style s*/
body.noneScroll {overflow: hidden;}

.dim {display: none; position: fixed; width: 100%; height: 100%; top: 0; left: 0; background: rgba(0,0,0,0.5); z-index: 101;}
.dim.active {display: block;}

.popup {display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 102;}
.popup.active {display: block;}
.popup .inner {height: 100%;}
.popup .pop_wrap {background: #fff; position: absolute; width: 100%; height: 80%; top: 50%; left: 50%; transform: translate(-50%, -50%);}

.popup .title {position: relative; height: 80px; padding: 0 3%; border-bottom: 1px solid #ddd; background: #fff;}
.popup .title p {line-height: 80px; font-size: 30px; font-weight: 600;}
.popup .title .close {position: absolute; height: 100%; width: 80px; right: 0; top: 0; background-color: #ddd; cursor: pointer;}
.popup .title .close span {display: block; background-color: #333; position: absolute; width: 3px; height: 30px; top: 25px; left: 40px; transform: rotate(45deg);}
.popup .title .close span:last-child {transform: rotate(-45deg);}

.popup .cont {height: calc(100% - 80px); padding: 30px 3%; overflow-y: auto;}

.popup .cont::-webkit-scrollbar {width: 8px;}
.popup .cont::-webkit-scrollbar-thumb {background-color: #ccc; border-radius: 5px;}
.popup .cont::-webkit-scrollbar-track {background-color: #eee;}

@media screen and (max-width:768px){
   .popup .title {height: 60px;}
   .popup .title p {line-height: 60px; font-size: 20px;}
   .popup .title .close {width: 60px;}
   .popup .title .close span {height: 20px; top: 21px; left: 29px;}

   .popup .cont {height: calc(100% - 60px);}

}

/* 내부 스타일 */
:root {
   --big-tit : 21px;
   --dep1-tit: 18px;
   --pop-txt : 16px;
}
.tos-wrap { width: 100%; }
.dep1-wrap { margin-bottom: 60px; }
.dep1-wrap .big-tit { font-size: var(--big-tit); font-weight: 600; padding-bottom: 25px; }

.dep1-box { padding-bottom: 15px; }
.dep1-box .dep1-tit { font-size: var(--dep1-tit); font-weight: 500; line-height: 1.2; padding-bottom: 7px; }
.dep1-box p { font-size: var(--pop-txt); line-height: 1.3; }
.dep1-box .dep1-txt { padding-left: 10px; padding-bottom: 10px; }
.dep1-box .in-dep-list1 li { margin-bottom: 3px; padding-left: 15px; }
.dep1-box .in-dep-list1 > ul > li { margin-bottom: 5px; }
.dep1-box .in-dep-list1 li > p { padding-left: 20px; text-indent: -18px; }
.dep1-box .in-dep-list1 li > p.in-dep1-tit { padding-left: 10px; font-weight: 400; }
.dep1-box .in-dep-list2,
.dep1-box .in-dep-list3 { padding-top: 5px; }

@media screen and (max-width:768px){
   :root {
      --big-tit : 19px;
      --dep1-tit: 16px;
      --pop-txt : 14px;
   }
}



 /*layer popup style e*/
