@charset "utf-8";

/* 상단 */
#header{position:relative;top:0;left:0;z-index:100;width:100%;background:#fff;box-shadow:0 0 10px rgba(0,0,0,.15)}
#header .header-top{position:relative;margin:0 auto;padding:16px 0;width:1180px; height:80px;}
/* logo */
#header #logo{position:absolute;top:50%;left:0;transform:translateY(-50%)}
#header #logo a{display:block;height:100%;line-height:0;max-width:230px}
#header #logo a img{height:100%;width:100%}
/* search */
#header .search-wrap{position:relative;margin:0 auto;width:100%;max-width:450px;box-shadow:0 3px 7px rgba(0,0,0,.15);border-radius:15px}
@media only screen and (min-width:1025px) {
    #header .search-wrap{display:block!important}
}
#header .search-wrap input[type="text"]{padding:0 56px 0 20px;width:100%;height:48px;border-radius:15px;border:0 none;font-weight:400;font-size:16px;color:var(--color-dark-gray)}
#header .search-wrap .search{position:absolute;top:0;right:0;padding:0;width:56px;height:48px;background:none;text-align:center}
#header .search-wrap .back{display:none;position:absolute;top:0;left:30px;padding:0;width:30px;height:80px;background:none}
#header .m-search-btn{display:none;line-height:0}
/* logion */
.header-login-wrap{position:absolute;top:16px;right:0}
.header-login-wrap .login-utils{display:flex;align-items:center;padding-right:70px;background:url(../images/common/login_icon.png) no-repeat 99% center;cursor:pointer}
.header-login-wrap .login-utils li{display:inline-block;vertical-align:middle}
.header-login-wrap .login-utils li a{display:block;font-weight:500;font-size:16px;line-height:48px;color:#000}
.header-login-wrap .login-utils li.join a{color:var(--color-primary)}
.header-login-wrap .login-menu{display:none;position:absolute;top:100%;right:100px;z-index:110;margin-top:21px;padding:20px;width:160px;border-radius:3px;border:1px solid var(--color-dark-gray);background:#fff}
.header-login-wrap .login-menu .user-name{margin-bottom:15px;font-weight:500;font-size:14px;color:var(--color-primary)}
.header-login-wrap .login-menu .user-name strong{font-weight:700}
.header-login-wrap .login-menu .alarm-wrap{position:absolute;top:20px;right:20px;line-height:0}
.header-login-wrap .login-menu .alarm-wrap .new{position:absolute;top:-8px;right:-10px;width:16px;height:16px;border-radius:50%;background:var(--color-red);font-weight:500;font-size:11px;line-height:16px;color:#fff;text-align:center}
.header-login-wrap .login-menu .user-menu li a{position:relative;display:inline-block;font-weight:400;font-size:18px;line-height:32px;color:var(--color-dark-gray);transition:.3s}
.header-login-wrap .login-menu .user-menu li a:after{content:'';position:absolute;bottom:5px;left:0;width:100%;height:1px;background:var(--color-dark-gray);transition:.3s;opacity:0}
.header-login-wrap .login-menu .user-menu li:hover a{font-weight:700}
.header-login-wrap .login-menu .user-menu li:hover a:after{opacity:1}
.header-login-wrap{display:flex;align-items:center;gap:20px}
.login-menu .user-menu .btn-admin{margin-top:7px}
.login-menu .user-menu .btn-admin a{display:inline-flex;gap:5px;align-items:center}
.language-select-box{position:relative}
.language-select-box .language-select{position:relative;display:block;min-width:90px;padding:14px 14px 15px;font-size:15px;font-weight:500;color:#fff;background:#333;border-radius:15px}
.language-select-box .language-select:after{content:'';position:absolute;top:50%;right:12px;width:16px;height:16px;background:url(/html/_skin/1/images/common/icon_globe.webp) no-repeat center/contain;transform:translateY(-50%)}
.language-select-box.on .language-select:after{width:11px;height:9px;background-image:url(/html/_skin/1/images/common/icon_select_arrow.webp)}
.language-select-box .language-list{position:absolute;top:100%;left:0;display:none;width:100%;padding:10px 5px 10px 15px;background:#4e4e4e;border-radius:15px;z-index:110}
.language-select-box .language-list li + li{margin-top:5px}
.language-select-box .language-list a{display:block;padding:2px 0;font-size:15px;font-weight:500;color:rgba(255,255,255,0.5)}
.language-select-box .language-list a:where(:hover,.on){color:#fff}
@media only screen and (max-width:1180px) {
    #header .header-top{padding:16px 30px;width:100%;height:80px}
    #header #logo{left:30px}
    .header-login-wrap{top:16px;right:75px;}
    .header-login-wrap .login-utils{background:none;padding-right:0}
    .header-login-wrap .login-menu{right:50px}
}
@media only screen and (max-width:1024px) {
    .header-login-wrap{top:50%;right:75px;transform:translateY(-50%);z-index:10; gap:15px;}
    .header-login-wrap .login-utils{display:none}
    .language-select-box .language-select span{display:none}
    .language-select-box .language-select{min-width:30px;height:30px;padding:0;background:transparent}
    .language-select-box .language-select:after{right:0;width:30px;height:30px;background-image:url(/html/_skin/1/images/common/icon_globe.svg)}
    .language-select-box.on .language-select:after{width:30px;height:30px;background-image:url(/html/_skin/1/images/common/icon_globe.svg)}
    .language-select-box .language-list{top:calc(100% + 10px);left:-30px;width:90px}
    #header .m-search-btn{display:block;/*right:120px*/}
    #header .search-wrap{display:none;position:fixed;top:0;left:0;z-index:20;max-width:100%;border-bottom:2px solid var(--color-dark-gray);border-radius:0;box-shadow:none}
    #header .search-wrap input[type="text"]{padding:0 75px;height:80px;border-radius:0;font-size:24px}
    #header .search-wrap .back{display:block}
    #header .search-wrap .search{right:30px;width:30px;height:80px;background:url(../images/common/m_icon_search.png) no-repeat center center}
    #header .search-wrap .search img{display:none}
    #header #logo a{max-width:200px}
}
@media only screen and (max-width:768px) {
    #header .header-top{padding:0 20px;height:70px}
    #header #logo{left:20px;height:30px}
    #header #logo a{max-width:none}
    #header #logo a img{width:auto}
    #header .search-wrap{height:70px}
    #header .search-wrap input[type="text"]{padding:0 60px;height:70px;font-size:18px}
    #header .search-wrap .back{left:0;width:60px;height:70px}
    #header .search-wrap .back img{height:20px}
    #header .search-wrap .search{right:0;width:60px;height:70px;background-size:auto 20px}
    /* #header .m-search-btn{right:90px;margin-top:-10px} */
    #header .m-search-btn img{height:20px}
    .header-login-wrap{right:55px}
    .language-select-box .language-select{min-width:20px}
    .language-select-box .language-select:after{width:20px}
    .language-select-box.on .language-select:after{width:20px}
    .language-select-box .language-list{top:calc(100% + 5px)}
    .language-select-box .language-list a{font-size:14px}
}
/* -------- 새로운 헤더 스타일 -------- */
/* 메인 네비게이션 섹션 */
section.header-main-nav {
    background: #000;
    width: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}

/* 햄버거 메뉴 on 상태 */
.header-hamburger-menu.on {
    position: relative;
    z-index: 1101;
}

/* 네비게이션 내부 래퍼 */
.header-nav-wrapper {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 20px;
    color: #fff;
    height: 80px;
    width: 100%;
    max-width: 1180px;
    margin: 0 auto;
}

.header-hamburger-menu {
    background: none;
    border: none;
    cursor: pointer;
    padding: 10px;
}

.header-logo {
    margin: 0;
    font-size: 24px;
    font-weight: bold;
}

.header-logo a {
    color: #fff;
    text-decoration: none;
}

.header-main-menu {
    display: flex;
    align-items: center;
    gap: 30px;
}

.header-menu-item {
    color: #fff;
    text-decoration: none;
    font-size: 16px;
    font-weight: 500;
    padding: 10px 0;
    position: relative;
    transition: color 0.3s;
}

.header-menu-item:hover {
    color: #8B5CF6;
}

/* 드롭다운 메뉴 스타일 */
.header-menu-dropdown {
    position: relative;
    display: inline-block;
}

.header-dropdown-content {
    display: none;
    position: absolute;
    background-color: #333;
    min-width: 200px;
    box-shadow: 0px 8px 16px 0px rgba(0,0,0,0.2);
    z-index: 1000;
    border-radius: 8px;
    top: 100%;
    left: 0;
    margin-top: 5px;
}

.header-menu-dropdown:hover .header-dropdown-content {
    display: block;
}

.header-dropdown-item {
    color: #fff;
    padding: 12px 16px;
    text-decoration: none;
    display: block;
    font-size: 14px;
    transition: background-color 0.3s;
}

.header-dropdown-item:hover {
    background-color: #555;
    color: #8B5CF6;
}

/* 기존 gnb 스타일 */
#gnb{position:relative;width:100%;border-top:1px solid #eee;border-bottom:1px solid #ddd;background:#fff;text-align:center;transition:.3s}
.fixed #gnb{position:fixed;top:0;left:0}
#gnb .gnb-wrap{font-size:0}
@media only screen and (max-width:1024px) {
    .gnb-inner{overflow:hidden}
}
@media only screen and (min-width:1024px) {
    #gnb .swiper-wrapper{justify-content:center}
}
#gnb .depth01{position:relative;display:inline-block;width:163px;vertical-align:top}
#gnb .depth01 a{position:relative;display:flex;justify-content:center;align-items:center;padding:6px 0 7px;font-weight:400;font-size:18px;line-height:28px;height:58px;color:var(--color-dark-gray);transition:.3s}
#gnb .depth01 > a:after{content:'';position:absolute;bottom:0;left:0;width:100%;height:4px;background:var(--color-primary);transition:.3s;transform:scaleX(0)}
#gnb .depth01:hover > a:after{transform:scaleX(1)}
#gnb .depth02{overflow:hidden;position:absolute;top:100%;left:50%;z-index:90;transform:translateX(-50%);width:163px;height:0;background:#fff;transition:.3s}
@media only screen and (min-width:1024px) {
    #gnb .depth01:hover .depth02{padding:18px 0;height:auto;border:1px solid #ddd}
}
#gnb .depth02 a{font-weight:400;font-size:15px;line-height:21px;padding:4px 0;height:40px;color:var(--color-dark-gray);transition:.3s}
#gnb .depth02 a:hover{color:var(--color-primary)}
#gnb .gnb-bg{display:none}
/* -------- menu btn -------- */
#gnb .menu-btn{position:absolute;top:50%;left:50%;z-index:1;margin-top:-9px;margin-left:570px;width:20px;height:18px;cursor:pointer}
#gnb .menu-btn.on{z-index:20}
#gnb .menu-btn span{position:absolute;right:0;width:100%;height:3px;border-radius:3px;background:var(--color-dark-gray);transition:.3s}
#gnb .menu-btn span:nth-child(1){top:0}
#gnb .menu-btn span:nth-child(2){top:50%;margin-top:-1.5px}
#gnb .menu-btn span:nth-child(3){bottom:0}
#gnb .menu-btn.on span:nth-child(1){top:8px;transform:rotate(-45deg)}
#gnb .menu-btn.on span:nth-child(2){right:-100%;opacity:0}
#gnb .menu-btn.on span:nth-child(3){bottom:7px;transform:rotate(45deg)}
@media only screen and (max-width:1180px) {
    #gnb .menu-btn{top:auto;bottom:100%;left:auto;right:30px;margin-top:0;margin-bottom:31px}
}
@media only screen and (max-width:1024px) {
    #header{box-shadow:none}
    #gnb{position:static;border-color:#ddd}
    .fixed #gnb .menu-btn{display:none}
    #gnb .menu-btn{bottom:86px;margin-bottom:0;width:29px;height:27px}
    #gnb .menu-btn.on{bottom:73px;width:41px;height:41px}
    #gnb .menu-btn span{transition:.3s}
    #gnb .menu-btn.on span:nth-of-type(1){top:19px;transform:rotate(-45deg)}
    #gnb .menu-btn.on span:nth-of-type(2){right:-100%;opacity:0}
    #gnb .menu-btn.on span:nth-of-type(3){bottom:19px;transform:rotate(45deg)}
}
@media only screen and (max-width:768px) {
    #header.fixed{position:fixed;top:0}
    #gnb{padding:0 6px}
    .fixed #gnb{position:relative}
    #gnb .depth01{margin:0 14px;width:auto}
    #gnb .depth01 a{font-size:16px;line-height:54px}
    .fixed #gnb .menu-btn{display:block;top:-44px}
    #gnb .menu-btn{right:20px;width:20px;height:18px}
    #gnb .menu-btn.on{bottom:78px;width:25px;height:25px}
    #gnb .menu-btn span{height:2px}
    #gnb .menu-btn.on span:nth-of-type(1){top:12px}
    #gnb .menu-btn span:nth-child(2){margin-top:-1px}
    #gnb .menu-btn.on span:nth-of-type(3){bottom:11px}
}
@media only screen and (min-width:768px) {
    /* 태블릿과 데스크탑에서 상단 드롭다운 메뉴 */
    #m-gnb-wrap{display:none;position:absolute;top:100%;left:0;width:100%;background:#fff;text-align:center}
    #m-gnb-wrap.show{display:block}
    .fixed #m-gnb-wrap{position:fixed;top:60px}
    #m-gnb-wrap .m-header-utils,#m-gnb-wrap .m-user-menu,#m-gnb-wrap .login-utils{display:none}
    #m-gnb-wrap .m-gnb{font-size:0}
    #m-gnb-wrap .m-gnb .depth01{display:inline-block;width:163px;vertical-align:top}
    #m-gnb-wrap .m-gnb .depth01 > a{position:relative;font-size:0}
    #m-gnb-wrap .m-gnb .depth02{padding:17px 0}
    #m-gnb-wrap .m-gnb .depth02 a{display:block;font-weight:400;font-size:15px;line-height:40px;color:var(--color-dark-gray);transition:.3s}
}
@media only screen and (min-width:768px) and (max-width:1024px) {
    /* 태블릿에서 기존 슬라이드 스타일 덮어쓰기 */
    #m-gnb-wrap{display:none;background:#fff;z-index:1100}
    #m-gnb-wrap.show{display:block}
    #m-gnb-wrap .m-gnb-inner{position:static;right:auto;padding:20px;width:100%;max-width:none;height:auto;background:transparent;transition:none}
    #m-gnb-wrap .m-gnb{display:flex;flex-wrap:wrap;justify-content:center;gap:15px;font-size:inherit}
    #m-gnb-wrap .m-gnb .depth01{width:auto;margin:0}
    #m-gnb-wrap .m-gnb .depth01 > a{display:inline-block;padding:8px 20px;font-size:15px;line-height:20px;font-weight:500;color:var(--color-dark-gray);border:1px solid #e5e5e5;border-radius:20px;background:#fff;transition:all 0.2s}
    #m-gnb-wrap .m-gnb .depth01 > a:hover{background:var(--color-primary,#802FFF);color:#fff;border-color:var(--color-primary,#802FFF)}
    #m-gnb-wrap .m-gnb .depth02{display:none}
}
@media only screen and (max-width:767px) {
    /* mobile gnb */
    #m-gnb-wrap{display:none;position:fixed;top:0;right:0;z-index:1100;width:100%;height:100vh;background:rgba(0,0,0,.8)}
    #m-gnb-wrap.show{display:block}
    #m-gnb-wrap .m-gnb-inner{position:absolute;top:0;right:-100%;padding:85px 0 0;width:80%;max-width:500px;height:100%;background:#fff;transition:right 0.3s ease}
    #m-gnb-wrap.show .m-gnb-inner{right:0}
    #m-gnb-wrap .m-header-utils{position:absolute;top:30px;right:88px;font-size:0}
    #m-gnb-wrap .m-header-utils li{display:inline-block;margin-left:20px;vertical-align:top}
    #m-gnb-wrap .m-header-utils li a{position:relative;display:block;line-height:0}
    #m-gnb-wrap .m-header-utils .alarm .new{position:absolute;bottom:100%;left:100%;margin-bottom:-10px;margin-left:-6px;width:18px;height:18px;border-radius:50%;background:var(--color-red);font-weight:500;font-size:14px;line-height:18px;color:#fff;text-align:center}
    #m-gnb-wrap .m-user-menu{margin-bottom:40px}
    #m-gnb-wrap .m-user-menu dt{padding:0 30px;font-weight:400;font-size:36px;line-height:69px;color:#000}
    #m-gnb-wrap .m-user-menu dt strong{font-weight:700}
    #m-gnb-wrap .m-user-menu dt a{display:block;font-weight:700;font-size:36px;line-height:69px;color:#000}
    #m-gnb-wrap .m-user-menu dd{padding:0 30px}
    #m-gnb-wrap .m-user-menu dd a{position:relative;display:block;padding-left:25px;font-weight:500;font-size:36px;line-height:69px;color:#000}
    #m-gnb-wrap .m-user-menu dd a:before{content:'';position:absolute;top:20px;left:0;width:10px;height:10px;border-radius:50%;background:var(--color-dark-gray)}
    #m-gnb-wrap .m-gnb{overflow-x:hidden;max-height:calc(100% - 363px);border-top:1px solid #eee}
    #m-gnb-wrap .m-gnb .depth01 > a{position:relative;display:block;padding:19px 30px 20px;border-bottom:1px solid #eee;font-weight:500;font-size:28px;line-height:1.5em;color:#000}
    #m-gnb-wrap .m-gnb .depth01 > :is(a:before,a:after){content:'';position:absolute;top:50%;right:30px;margin-left:-6.5px;width:13px;height:1px;background:#32186d}
    #m-gnb-wrap .m-gnb .depth01 > a:after{transform:rotate(-90deg)}
    #m-gnb-wrap .m-gnb .depth01.on > a:after{display:none}
    #m-gnb-wrap .m-gnb .depth02{display:none;padding:22px 0;border-bottom:1px solid #eee}
    #m-gnb-wrap .m-gnb .depth02 li a{display:block;padding:0 30px;font-weight:400;font-size:24px;line-height:56px;color:#000}
    #m-gnb-wrap .login-utils{padding:55px 0 30px;font-size:0;text-align:center;display:flex;flex-wrap:wrap;justify-content:center;row-gap:7px}
    #m-gnb-wrap .login-utils li{position:relative;display:inline-block;margin:0 27px;vertical-align:top}
    #m-gnb-wrap .login-utils li:after{content:'';position:absolute;top:50%;right:-27px;margin-top:-10px;width:1px;height:20px;background:var(--color-light-gray,#ccc)}
    #m-gnb-wrap .login-utils li:last-child:after{display:none}
    #m-gnb-wrap .login-utils li a{display:block;font-weight:400;font-size:22px;color:var(--color-light-gray)}
}
@media only screen and (max-width:768px) {
    #m-gnb-wrap .m-gnb-inner{padding-top:100px}
    #m-gnb-wrap .m-header-utils{top:29px;right:60px}
    #m-gnb-wrap .m-header-utils li{margin-left:12px}
    #m-gnb-wrap .m-header-utils li a img{height:21px}
    #m-gnb-wrap .m-header-utils .alarm .new{margin-bottom:-7px;margin-left:-4px;width:13px;height:13px;font-size:9px;line-height:13px}
    #m-gnb-wrap .m-user-menu{margin-bottom:20px;padding:0 20px;position:relative}
    #m-gnb-wrap .m-user-menu dt{padding:0;font-size:18px;line-height:25px;margin-bottom:5px;display:flex;justify-content:space-between;align-items:center}
    #m-gnb-wrap .m-user-menu dt strong{font-weight:700}
    #m-gnb-wrap .m-user-menu dt a{font-size:18px;line-height:25px}
    #m-gnb-wrap .m-user-menu dd{padding:0;display:none}
    #m-gnb-wrap .m-user-menu dd a{padding-left:0;font-size:13px;line-height:18px;color:#A9A9A9}
    /* 로그아웃 버튼 */
    #m-gnb-wrap .logout-btn-mobile{display:flex;align-items:center;gap:4px;font-size:13px;font-weight:700;color:#A9A9A9}
    #m-gnb-wrap .logout-btn-mobile svg{width:20px;height:20px}
    /* 메뉴 버튼 가로 스크롤 스타일 */
    #m-gnb-wrap .m-gnb{max-height:none;overflow-x:auto;overflow-y:hidden;white-space:nowrap;padding:0 20px;-webkit-overflow-scrolling:touch;scrollbar-width:none}
    #m-gnb-wrap .m-gnb::-webkit-scrollbar{display:none}
    #m-gnb-wrap .m-gnb .depth01{display:inline-block;width:auto;margin-right:8px}
    #m-gnb-wrap .m-gnb .depth01 > a{display:inline-flex;align-items:center;padding:6px 10px 6px 8px;font-size:14px;line-height:20px;background:linear-gradient(93.22deg, #9F5FF8 0.58%, #802FFF 92.17%);border-radius:100px;color:#fff;font-weight:700;border:none}
    #m-gnb-wrap .m-gnb .depth01 > :is(a:before,a:after){display:none}
    #m-gnb-wrap .m-gnb .depth02{display:none}
    #m-gnb-wrap .login-utils{padding:35px 0 20px}
    #m-gnb-wrap .login-utils li{margin:0 16px}
    #m-gnb-wrap .login-utils li a{font-size:14px}
    #m-gnb-wrap .login-utils li:after{right:-16px;margin-top:-6.5px;height:13px}
}
/* 하단 */
#footer{position:relative;width:100%;background:#fff}
/* -------- utils -------- */
#footer .footer-utils{width:100%;background:#f8f8f8;border:1px solid #ddd;border-width:1px 0}
#footer .footer-utils .swiper-wrapper{margin:0 auto;width:1180px;font-size:0}
#footer .footer-utils .swiper-slide{display:inline-block;margin-right:40px;width:auto;vertical-align:top}
#footer .footer-utils .swiper-slide a{display:block;font-weight:500;font-size:16px;line-height:67px;color:var(--color-dark-gray)}
@media only screen and (max-width:1180px) {
    #footer .footer-utils .swiper-wrapper{padding:0 30px;width:100%}
}
@media only screen and (max-width:768px) {
    #footer .footer-utils .swiper-wrapper{padding:0 20px}
    #footer .footer-utils .swiper-slide{margin-right:30px}
    #footer .footer-utils .swiper-slide a{font-size:15px;line-height:60px}
}
@media only screen and (max-width:640px) {
    #footer .footer-utils .swiper-slide{margin-right:20px}
    #footer .footer-utils .swiper-slide a{font-size:14px;line-height:50px}
}
/* -------- address -------- */
#footer .footer-address{width:100%;background:#fff}
#footer .footer-address-inner{margin:0 auto;padding:40px 0 35px;width:1180px;font-size:0}
#footer .footer-address-inner .foot-logo{display:inline-block;width:300px;vertical-align:top;padding-right:60px}
#footer .footer-address-inner .foot-logo img{max-width:200px}
#footer .footer-address-inner address{display:inline-block;width:calc(100% - 300px);font-style:normal;vertical-align:top}
#footer .footer-address-inner address span{display:inline-block;margin:0 35px 5px 0;font-weight:300;font-size:16px;color:var(--color-dark-gray);word-break:keep-all;vertical-align:top}
#footer .footer-address-inner address .copy{display:block;margin-top:25px;margin-right:0;margin-bottom:0}
@media only screen and (max-width:1180px) {
    #footer .footer-address-inner{padding:40px 30px 35px;width:100%}
}
@media only screen and (max-width:1024px) {
    #footer .footer-address-inner .foot-logo{display:none}
    #footer .footer-address-inner address{width:100%}
}
@media only screen and (max-width:768px) {
    #footer .footer-address-inner{padding:30px 20px;width:100%}
}
@media only screen and (max-width:640px) {
    #footer .footer-address-inner address span{margin-right:20px;font-size:14px}
    #footer .footer-address-inner address span:nth-of-type(2) ~ span{display:block}
    #footer .footer-address-inner address .copy{margin-top:20px}
}
/* -------- btn top -------- */
#footer .btn-top{position:fixed;bottom:30px;right:30px;z-index:110;margin-bottom:0;margin-left:530px;width:60px;height:60px;border-radius:50%;background:#fff;box-shadow:0 0 20px rgba(0,0,0,.20);line-height:0}
#footer .btn-top img{display:block;margin:0 auto}
#footer .btn-top .top-arrow{margin:16px auto 8px}
@media only screen and (max-width:1180px) {
    #footer .btn-top{left:auto;right:30px;margin-left:0}
}
@media only screen and (max-width:768px) {
    #footer .btn-top{right:20px;bottom:20px}
}
@media only screen and (max-width:640px) {
    #footer .btn-top{width:56px;height:56px}
    #footer .btn-top .top-arrow{/*margin:13px auto 6px;*/height:10px}
    #footer .btn-top .top-txt{height:7px}
}
/* form css */
/* checkbox */
.checkbox-wrap input{display:none}
.checkbox-wrap label{display:inline-block;font-size:16px;line-height:24px;color:var(--color-dark-gray);vertical-align:top;cursor:pointer}
.checkbox-wrap label:before{content:'';display:inline-block;margin-right:10px;width:24px;height:24px;border:1px solid #ccc;box-sizing:border-box;border-radius:50%;background:#fff;vertical-align:top}
.checkbox-wrap input:checked + label:before{border-color:var(--color-primary);background:var(--color-primary) url(../images/common/checkmark.png) no-repeat center center}
.checkbox-wrap.gray input:checked + label:before{border-color:var(--color-dark-gray);background:var(--color-dark-gray) url(../images/common/checkmark.png) no-repeat center center}
.checkbox-wrap.square label:before{border-radius:4px}
@media only screen and (max-width:767px) {
    .checkbox-wrap label{font-size:14px;line-height:18px}
    .checkbox-wrap label:before{margin-right:5px;width:18px;height:18px}
    .checkbox-wrap input:checked + label:before,.checkbox-wrap.gray input:checked + label:before{background-size:auto 6px}
}
/* checkbox btn */
.checkbox-btn input{display:none}
.checkbox-btn label{display:inline-block;margin-right:10px;width:100px;border-radius:4px;border:1px solid #ccc;background:#fff;font-size:18px;line-height:38px;color:var(--color-dark-gray);text-align:center;cursor:pointer}
.checkbox-btn input:checked + label{border-color:var(--color-primary);background:var(--color-primary);color:#fff}
@media only screen and (max-width:767px) {
    .checkbox-btn label{font-size:14px;line-height:30px}
}
/* radio */
.radio-wrap input{display:none}
.radio-wrap label{display:inline-block;font-size:16px;line-height:24px;color:var(--color-dark-gray);vertical-align:top;cursor:pointer}
.radio-wrap label:before{content:'';display:inline-block;margin-right:10px;width:24px;height:24px;border:1px solid #ccc;box-sizing:border-box;border-radius:50%;background:#fff;vertical-align:top}
.radio-wrap input:checked + label:before{border-width:8px;border-color:var(--color-primary)}
@media only screen and (max-width:767px) {
    .radio-wrap label{font-size:14px;line-height:18px}
    .radio-wrap label:before{margin-right:5px;width:18px;height:18px}
    .radio-wrap input:checked + label:before{border-width:5px}
}
/* date */
.select-date{font-size:0}
.select-date > *{display:inline-block;vertical-align:top}
.select-date .date{padding:0 10px;height:40px;border-radius:4px;border:1px solid #ccc;font-size:18px;line-height:38px;color:var(--color-dark-gray)}
.select-date .date + span{width:30px;font-size:18px;line-height:40px;color:var(--color-dark-gray);text-align:Center}
@media only screen and (max-width:767px) {
    .select-date .date{padding:0 10px;height:30px;background-size:auto 14px;font-size:15px;line-height:30px}
    .select-date .date + span{font-size:15px;line-height:30px}
}
/* file select */
.select-file{font-size:0}
.select-file input[type="file"]{display:none}
.select-file label{display:inline-block;margin-right:11px;padding:0 13px;border-radius:12px;background:var(--color-primary);font-size:12px;line-height:24px;color:#fff;vertical-align:top}
.select-file span{display:inline-block;font-size:16px;line-height:24px;color:var(--color-dark-gray);vertical-align:top}
.attach-list{font-size:0}
.attach-list li{margin-bottom:7px;font-size:16px;line-height:24px;color:var(--color-dark-gray)}
.attach-list li:last-child{margin-bottom:0}
.attach-list li strong{display:inline-block;margin-right:11px;padding:0 13px;border-radius:12px;background:#ccc;font-weight:400;font-size:12px;line-height:24px;color:#fff;vertical-align:top}
/* 하단 */
#sitemap{position:relative;width:100%;background:#fff}
/* -------- utils -------- */
    #sitemap .footer-utils{border:1px solid #ddd;border-width:1px 0;overflow:hidden}
    #sitemap .footer-utils .swiper-wrapper{margin:0 auto;width:1180px;font-size:0}
    #sitemap .footer-utils .swiper-slide{display:inline-block;margin-right:40px;width:auto;vertical-align:top}
    #sitemap .footer-utils .swiper-slide a{display:block;font-weight:500;font-size:16px;line-height:67px;color:var(--color-dark-gray)}
@media only screen and (max-width:1180px) {
    #sitemap .footer-utils .swiper-wrapper{padding:0 30px;width:100%}
}
@media only screen and (max-width:768px) {
    #sitemap .footer-utils .swiper-wrapper{padding:0 20px}
    #sitemap .footer-utils .swiper-slide{margin-right:30px}
    #sitemap .footer-utils .swiper-slide a{font-size:15px;line-height:60px}
}
@media only screen and (max-width:640px) {
    #sitemap .footer-utils .swiper-slide{margin-right:20px}
    #sitemap .footer-utils .swiper-slide a{font-size:14px;line-height:50px}
}
.band-banner{overflow:hidden}

.text-primary {color:var(--color-primary)}

/* popup */
.popup-wrap{display:none}
.popup-wrap{position:fixed;top:0;left:0;bottom:0;right:0;z-index:110;width:100%;height:100%;background:rgba(0,0,0,.8)}
.popup-wrap .popup-inner{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);padding:40px;max-width:560px;width:calc(100% - 60px);max-height:800px;height:calc(100% - 60px);border-radius:10px;background:#fff}
.popup-wrap .popup-tit{font-weight:500;font-size:24px;color:var(--color-dark-gray,#333)}
.popup-wrap .popup-btn{display:flex; margin-top:58px; width:100%}
/* .popup-wrap .popup-btn{display:flex} */
.popup-wrap .popup-btn a{display:block}
.popup-wrap .popup-btn button{width:100%}
.popup-wrap .popup-btn button + button{margin-left:10px}
.popup-wrap .popup-contents-wrap{margin-top:30px;height:calc(100% - 178px)}
.popup-wrap .popup-scroll{overflow-x:hidden}
:where(.popup-box,.popup-wrap) .close{position:absolute;top:37px;right:37px;width:42px;height:42px;font-size:0}
:where(.popup-box,.popup-wrap) .close:before,:where(.popup-box,.popup-wrap) .close:after{content:'';position:absolute;top:50%;left:0;z-index:1;width:100%;height:2px;border-radius:5px;background:var(--color-gray,#aaa)}
:where(.popup-box,.popup-wrap) .close:before{transform:rotate(45deg)}
:where(.popup-box,.popup-wrap) .close:after{transform:rotate(-45deg)}
.popup-wrap .popup-sub-tit {font-weight:400; font-size:23px; line-height:36px; color:#333; word-break:keep-all;}
@media only screen and (max-width:767px) {
.popup-wrap .popup-tit{font-size:18px}
.popup-wrap .popup-inner{padding:25px;max-height:calc(100vh - 100px);height:auto}
.popup-wrap .popup-contents-wrap{margin-bottom:10px;height:calc(100vh - 282px)}
.popup-wrap .close{top:17px;right:17px;width:32px;height:32px}
:where(.popup-box,.popup-wrap) .close{top:17px;right:17px;width:32px;height:32px}
.popup-wrap .popup-btn{margin-top:30px}
.popup-wrap .popup-sub-tit {font-size:17px; line-height:25px;}
}

.main-class-box{display:inline-block;vertical-align:top;width:33.33%;width:calc((100% - 40px) / 3)}
.main-class-box .thumb{overflow:hidden;border-radius:6px;height:auto;aspect-ratio:1.9/1.07}
.main-class-box .thumb a{display:block}
.main-class-box .thumb img{width:100%;transition:transform .5s}
.main-class-box .class-info{position:relative; padding:22px 10px 0}
.main-class-box .class-name{font-size:14px;line-height:26px;color:var(--color-dark-gray,#333)}
.main-class-box .class-name strong{display:inline-block;margin-right:6px;padding:0 10px;border-radius:4px;background:var(--color-primary,#0148d4);font-weight:400;color:#fff}
.main-class-box .name{margin-top:15px;margin-bottom:7px;font-size:15px;color:#000}
.main-class-box .class-subject{overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;text-overflow:ellipsis;width:100%;height:40px;font-size:16px;line-height:20px;color:var(--color-dark-gray,#333);word-break:keep-all;font-weight:700}
.main-class-box .price{display:block;margin-top:20px;font-size:16px;color:#111;}
.main-class-box .price .discount{margin-right:5px;color:var(--color-red,#dc3545)}
.main-class-box .price strong{font-weight:400;font-size:24px; word-break:keep-all;}
.main-class-box .price del{text-decoration:line-through;color:var(--color-light-gray,#ccc)}
.main-class-box .price .installment {font-size:13px; font-weight:400;}
.main-class-box .lecture-label{position:absolute;top:-15px;left:10px;z-index:1;display:flex}
.main-class-box .lecture-label li{display:inline-block;margin-right:4px;padding:0 13px;border-radius:4px;background:var(--color-sky-blue,#0098e0);font-weight:700;font-size:14px;line-height:30px;color:#fff;vertical-align:top}
.main-class-box .lecture-label li:first-child{background:var(--color-primary,#0148d4)}
@media only screen and (max-width:1024px) {
    .main-class-box{padding-right:20px}
}
@media only screen and (max-width:640px) {
    .main-class-box{margin-bottom:40px;padding-right:15px}
    .main-class-box .class-info{padding:18px 7px 0}
    .main-class-box .class-name{font-size:13px;line-height:22px}
    .main-class-box .class-name strong{margin-right:4px;padding:0 7px}
    .main-class-box .name{margin-top:12px;margin-bottom:5px;font-size:13px}
    .main-class-box .class-subject{height:34px;font-size:14px;line-height:17px}
    .main-class-box .price{margin-top:12px;font-size:14px}
    .main-class-box .price strong{font-size:20px}
    .main-class-box .lecture-label{top:-13px; left:7px}
    .main-class-box .lecture-label li{padding:0 10px;font-size:12px;line-height:26px}
}