@charset "utf-8";

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Thin.woff2') format('woff2');
    font-weight: 100;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraLight.woff2') format('woff2');
    font-weight: 200;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Light.woff2') format('woff2');
    font-weight: 300;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Regular.woff2') format('woff2');
    font-weight: 400;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Medium.woff2') format('woff2');
    font-weight: 500;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-SemiBold.woff2') format('woff2');
    font-weight: 600;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Bold.woff2') format('woff2');
    font-weight: 700;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-ExtraBold.woff2') format('woff2');
    font-weight: 800;
    font-display: swap;
}

@font-face {
    font-family: 'Pretendard';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/pretendard@1.0/Pretendard-Black.woff2') format('woff2');
    font-weight: 900;
    font-display: swap;
}

/* Common */
body, p, h1, h2, h3, h4, h5, h6, ul, ol, li, dl, dt, dd, table, th, td, form, fieldset, legend, input, textarea, button, select {
    margin: 0;
    padding: 0;
    -webkit-text-size-adjust: none
}
body, html {
    width: 100%;
    height: 100%;
}
@media screen and (min-width: 1024px) {
    body, html {
        min-width: 1200px;
    }
}
body, input, textarea, select, button, table {
    font-family: Open Sans, NanumBarunGothic, Malgun Gothic, Dotum, Apple SD Gothic Neo, AppleGothic, Helvetica, sans-serif;
    font-size: 12px;
    -webkit-font-smoothing: antialiased
}
img, fieldset, button {
    border: 0
}
ul, ol {
    list-style: none
}
em, address {
    font-style: normal
}
a {
    text-decoration: none
}
a:hover, a:active, a:focus {
    text-decoration: none
}
.blind {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    width: 1px;
    height: 1px;
    font-size: 0;
    line-height: 0
}
.edge {
    position: absolute;
    top: 12px;
    right: 4px;
    width: 0;
    height: 0;
    border-width: 0 8px 8px;
    border-style: solid;
    border-color: transparent transparent #333
}
.clear {
    clear: both
}
/* Skip to content */
.skip {
    margin: 0
}
.skip > a {
    display: block;
    overflow: hidden;
    height: 0;
    line-height: 28px;
    text-align: center
}
.skip > a:focus {
    height: auto
}
/* Layout */
.container {
    background-color: #fff
}
@media screen and (min-width: 1024px) {
    .container {
        min-width: 1200px;
    }
}
.header {
    position: relative;
    z-index: 9005;
    max-width: 1400px;
    height: 100%;
    margin: 0 auto;
}
@media screen and (min-width: 1024px) {
    .header {
        min-width: 1200px;
    }
}
.header > .side {
    float: right;
    z-index: 10001;
    height: 90px;
    margin: 0;
    display: flex;
    align-items: center;
}

/* Premium Call Button CTA */
.premium-call-btn {
    display: flex;
    align-items: center;
    gap: 12px;
    background: rgba(0, 71, 153, 0.05); /* 브랜드 블루의 아주 연한 농도 */
    border: 1px solid rgba(0, 71, 153, 0.1);
    padding: 8px 18px 8px 10px;
    border-radius: 50px;
    text-decoration: none;
    transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.premium-call-btn .call-icon {
    width: 42px;
    height: 42px;
    background: #004799; /* 브랜드 정체성 블루 */
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    box-shadow: 0 4px 12px rgba(0, 71, 153, 0.3);
    transition: all 0.3s ease;
}

.premium-call-btn .call-icon i {
    color: #fff;
    font-size: 18px;
}

.premium-call-btn .call-text {
    display: flex;
    flex-direction: column;
}

.premium-call-btn .call-text .label {
    font-size: 11px;
    color: #666;
    font-weight: 500;
    line-height: 1;
    margin-bottom: 2px;
}

.premium-call-btn .call-text .number {
    font-size: 20px;
    font-weight: 800;
    color: #000;
    font-family: 'Pretendard', sans-serif;
    line-height: 1.2;
}

.premium-call-btn:hover {
    background: #004799;
    transform: translateY(-2px);
    box-shadow: 0 10px 25px rgba(0, 71, 153, 0.15);
}

.premium-call-btn:hover .call-icon {
    background: #fff;
}

.premium-call-btn:hover .call-icon i {
    color: #004799;
}

.premium-call-btn:hover .call-text .label,
.premium-call-btn:hover .call-text .number {
    color: #fff;
}

/* Scroll Shrink State */
.fixed_header .header_wrap.shrink .premium-call-btn {
    background: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.2);
}

.fixed_header .header_wrap.shrink .call-text .label {
    color: rgba(255, 255, 255, 0.6);
}

.fixed_header .header_wrap.shrink .call-text .number {
    color: #fff;
}


.visual {
    overflow: hidden;
    position: relative;
    z-index: 9005;
    width: 100%
}
.body {
    position: relative;
    padding: 30px 0
}
.body.fixed-width {
    width: 1200px;
    margin: 0 auto
}
@media screen and (max-width: 1240px) {
    .body.fixed-width {
        width: 100%;
        box-sizing: border-box;
        padding-left: 16px;
        padding-right: 16px;
    }
}
.header:after, .body:after {
    display: block;
    clear: both;
    content: ''
}
.content:after {
    display: block;
    clear: both;
    content: ''
}
.content > :first-child {
    margin-top: 0
}
/* Header */
/* Header Base */
.header > h1 {
    float: left;
    padding: 23px 0;
    margin-right: 40px;
    line-height: normal;
}
.header > h1 img {
    display: inline-block;
    vertical-align: middle;
    max-height: 44px;
    transition: filter 0.3s ease;
}
.fixed_header .header_wrap.shrink .logo-item img {
    filter: brightness(0) invert(1);
}
.header > .logo-item a {
    text-decoration: none;
}
/* Fixed Header */
.container.fixed_header {
    padding-top: 100px
}
.fixed_header .header_wrap {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    width: auto;
    z-index: 20000!important; 
    padding: 0;
}
.fixed_header .header_wrap.shrink {
    position: fixed;
    top: 0;
    width:auto;
    min-width: 1240px;
    z-index: 20000!important; 
    border-bottom: 1px solid rgba(255, 255, 255, 0.1);
    background-color: rgba(17, 17, 17, 0.95); /* 프리미엄 다크 모드 */
    backdrop-filter: blur(10px);
    -webkit-animation: ani-header 0.5s forwards;
    animation: ani-header 0.5s forwards;
    left: 0;
    right: 0;
}
.fixed_header .header_wrap.shrink .header > h1 {
    padding: 0;
    line-height: 70px;
}
.fixed_header .header_wrap.shrink .gnb > ul > li > a {
    line-height: 70px;
}
.fixed_header .header_wrap.shrink .header > .side {
    height: 70px;
    margin: 0 0 0 22px;
}
.fixed_header .header_wrap.shrink .header-phone {
    font-size: 20px;
}
.fixed_header .header_wrap.shrink .header-phone i {
    font-size: 22px;
}
.fixed_header .header_wrap.shrink .search_area {
    padding: 0 20px
}
/* Footer (Premium Dark Theme) */
#footer.footer {
    position: relative;
    background: #111 !important; /* 강제로 배경색을 덮어씌웁니다 */
    background-color: #111 !important;
    color: #999;
    font-family: 'Pretendard', sans-serif;
    padding: 60px 0;
    border-top: 1px solid #333;
}
.footer-inner {
    max-width: 1200px;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    padding: 0 20px;
}

/* Footer Left (Company Info) */
.footer-info {
    flex: 1;
}
.footer-logo {
    max-height: 40px;
    margin-bottom: 25px;
    /* 만약 등록된 컬러 로고가 필수가 아니라면 자체 필터를 써도 됩니다 */
}
.footer-logo-text {
    font-size: 26px;
    font-weight: 700;
    color: #fff;
    margin-bottom: 20px;
}
.info-text p {
    font-size: 14px;
    line-height: 1.6;
    margin: 0 0 5px;
    color: #bbb;
}
.info-text .label {
    font-weight: 500;
    color: #fff;
    margin-right: 6px;
}
.info-text .divider {
    color: #444;
    margin: 0 10px;
    font-size: 12px;
}
.footer .copy {
    margin-top: 30px;
    font-size: 13px;
    color: #666;
}

/* Footer Right (CS Center) */
.footer-cs {
    text-align: right;
    margin-left: 50px;
}
.cs-title {
    font-size: 13px;
    font-weight: 500;
    color: #cca766; /* 골드 포인트 */
    letter-spacing: 1px;
    margin-bottom: 10px;
}
.cs-phone {
    display: block;
    font-size: 36px;
    font-weight: 700;
    color: #fff;
    text-decoration: none;
    line-height: 1.2;
    margin-bottom: 15px;
}
.cs-phone:hover {
    color: #cca766;
}
.cs-desc {
    font-size: 14px;
    color: #888;
}

/* Footer Responsive (Mobile) */
@media screen and (max-width: 768px) {
    .footer-inner {
        flex-direction: column;
    }
    .footer-cs {
        text-align: left;
        margin-left: 0;
        margin-top: 40px;
        padding: 40px 20px !important; /* 내부 패딩 확보 */
        border-top: 1px solid #333;
        width: 100%;
        box-sizing: border-box !important;
        background: #111 !important;
    }
    .footer-inner {
        padding: 0 !important; /* 모바일에서 내부 여백 제거하여 배경 꽉 채움 */
        width: 100% !important;
        display: block !important;
    }
    .footer-info {
        padding: 0 20px !important;
        box-sizing: border-box !important;
    }
    .info-text .divider {
        display: none;
    }
    .info-text p {
        display: flex;
        flex-direction: column;
        margin-bottom: 15px;
    }
    .info-text .label {
        margin-bottom: 4px;
        color: #ddd;
    }
}




















/* button */
.btn_item {
    display: inline-block;
    margin: 35px 0;
    padding: 0 27px;
    height: 50px;
    font-family: "Open Sans";
    background-color: #555;
    font-size: 14px;
    line-height: 50px;
    letter-spacing: 1px;
    color: #FFF;
    -webkit-transition: all .2s ease-in-out;
    -moz-transition: all .2s ease-in-out;
    -ms-transition: all .2s ease-in-out;
    -o-transition: all .2s ease-in-out;
    transition: all .2s ease-in-out
}
.btn_item:hover,
.btn_item:active
.btn_item:focus {
    background-color: #CBA061;
    color: #fff
}
.btn_item + .btn_item {
    margin-left: 10px;
}
/* Login */
.header > .side > ul > li {
    float: left;
    position: relative
}
.header > .side > ul:after {
    display: block;
    clear: both;
    content: ''
}
.header > .side > ul > li > a {
    display: block;
    width: 22px;
    height: 22px;
    margin-left: 12px;
    font-size: 22px;
    line-height: 22px;
    color: #888;
    text-align: center
}
.header > .side > ul > li > a:hover, .header > .side > ul > li > a:focus, .header > .side > ul > li > a:active, .header > .side > ul > li.on > a {
    color: #444
}
.header > .side > ul .ly {
    position: relative;
    position: absolute;
    top: 100%;
    right: 0;
    margin-top: 13px;
    background-color: #f9f9f9
}
.header > .side > ul .ly.ly_login {
    overflow: hidden;
    margin-top: 0;
    background: url('../img/blank.gif') 0 0 repeat;
    height: 0
}
.header > .side > ul .ly.ly_login ul {
    position: relative;
    margin-top: 18px;
    padding: 8px 0;
    background-color: #333;
    z-index: 3
}
.header > .side > ul .on .ly.ly_login {
    height: auto
}
.header > .side > ul .ly a {
    display: block;
    min-width: 120px;
    height: 40px;
    padding: 0 20px;
    line-height: 40px;
    font-size: 13px;
    color: #9d9d9d
}
.header > .side > ul .ly a:hover {
    color: #cda25a;
    text-decoration: none
}
.header > .side > ul > li .login_after {
    overflow: hidden;
    width: 40px;
    height: 40px;
    margin-top: -9px;
    border-radius: 100%
}
.header > .side > ul > li .login_after img {
    width: 40px;
    height: 40px
}
.header > .side > ul > li .login_after ~ .ly_login .edge {
    right: 11px
}
/* Magazine Header Type */
.custom_area {
    display: none
}
.magazine .header {
    text-align: center
}
.magazine .header > h1 {
    float: none;
    display: inline-block;
    margin: 0;
    padding: 80px 0 20px;
    vertical-align: top
}
.magazine .header > .side {
    float: none;
    position: absolute;
    top: 0;
    right: 0;
    margin: 30px 0 0
}
.magazine .gnb {
    float: none;
    max-width: 100%;
    margin-bottom: 40px
}
.magazine .gnb > ul {
    display: inline-block;
    vertical-align: top
}
.magazine .gnb > ul > li > a {
    position: relative;
    line-height: 60px
}
.magazine .gnb > ul > li > a:after {
    position: absolute;
    top: 50%;
    left: -1px;
    width: 1px;
    height: 16px;
    margin-top: -8px;
    background-color: #888;
    content: ''
}
.magazine .gnb > ul > li:first-child > a:after {
    background: none
}
.magazine .gnb > ul .depth2:after {
    background: none
}
.magazine .gnb > ul .depth2, .magazine .gnb > ul .depth3 {
    background-color: #f7f7f7
}
.magazine .gnb > ul .depth2 a, .magazine .header > .side > ul .ly a {
    color: #999
}
.magazine .header > .side > ul .ly a:hover {
    color: red
}
.magazine .gnb > ul > li > a:hover, .magazine .gnb > ul > li > a:focus, .magazine .gnb > ul > li > a:focus, .magazine .gnb > ul > li.on > a, .magazine .header > .side > ul > li.on > a, .magazine .header > .side > ul .ly a:hover {
    color: #cda25a
}
.magazine .header > .side > ul .ly.ly_login ul {
    background-color: #f7f7f7;
    text-align: left
}
.magazine .edge {
    border-color: transparent transparent #f7f7f7
}
.magazine .header > .side > ul > li > a:hover,
.magazine .header > .side > ul > li > a:focus,
.magazine .header > .side > ul > li > a:active {
    color: #cda25a
}
.magazine .custom_area {
    display: block;
    position: absolute;
    top: 30px;
    left: 0
}
.magazine .custom_area li {
    float: left;
    margin-right: 30px
}
.magazine .custom_area a {
    font-size: 13px;
    line-height: 15px;
    color: #999
}
.magazine .custom_area a:hover,
.magazine .custom_area a:hover,
.magazine .custom_area a:hover {
    color: #cda25a
}
.magazine .search_area {
    padding: 10px 20px
}
/* Onepage Header Type */
.onepage .header_wrap {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    z-index: 9005
}
.onepage .gnb > ul {
    background: url(../img/blank.gif) 0 0 repeat
}
.onepage .gnb > ul > li > a {
    line-height: 60px;
    color: #f6f6f6
}
.onepage .gnb > ul > li > a:hover,
.onepage .gnb > ul > li > a:focus,
.onepage .gnb > ul > li > a:focus,
.onepage .gnb > ul > li.on > a {
    color: #fff
}
.onepage .shrink .gnb > ul > li > a {
    color: #888
}
.onepage .shrink .gnb > ul > li > a:hover,
.onepage .shrink .gnb > ul > li > a:focus,
.onepage .shrink .gnb > ul > li > a:focus,
.onepage .shrink .gnb > ul > li.on > a {
    color: #444
}
.onepage .header > .side > ul > li > a {
    color: #f6f6f6
}
.onepage .header > .side > ul > li > a:hover,
.onepage .header > .side > ul > li > a:focus,
.onepage .header > .side > ul > li > a:active,
.onepage .header > .side > ul > li.on > a {
    color: #fff
}
.onepage .search_area .btn_close {
    color: #f6f6f6
}
.onepage .shrink .search_area .btn_close {
    color: #888
}
.onepage .gnb > ul .depth2:after {
    background: none
}
.onepage .gnb {
    margin-top: 20px
}
.onepage .header > h1 {
    padding: 20px 0 0
}
.onepage .search_area input[type=text] {
    color: #f6f6f6
}
.onepage .shrink .search_area input[type=text] {
    color: #888
}
.onepage .visual.sub.sub_type3 {
    margin-top: -100px;
}
/* Search */
.search_wrap {
    position: relative;
    width: 1200px;
    margin: 0 auto
}
.search_area {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: 1160px;
    padding: 20px;
    z-index: 3;

}
.search_area input {
    font-size: 13px;
    vertical-align: top
}
.search_area input[type=text] {
    position: relative;
    width: 100%;
    height: 40px;
    padding: 10px 0;
    border: 0;
    background-color: transparent;
    font-size: 40px;
    color: #444;
    -webkit-appearance: none;
    appearance: none;
}
.search_area input[type=text]:focus {
    outline: 0
}
.search_area input[type=text]::-ms-clear {
    display: none
}
.search_area .btn_close {
    position: absolute;
    top: 50%;
    right: 0;
    width: 20px;
    height: 20px;
    margin-top: -10px;
    font-size: 22px;
    color: #888;
    text-align: center;
    line-height: 20px
}
/* GNB */
.gnb {
    position: absolute;
    left: 50%;
    top: 0;
    transform: translateX(-50%);
    z-index: 9005;
    width: 900px;        /* 메뉴 7개 기준 여유 있게 잡은 폭 */
    height: 100%;
    font-size: 13px;
    white-space: nowrap; /* 한 줄 유지 */
}

.gnb a {
    text-decoration: none;
    white-space: nowrap
}
.gnb > ul {
    text-align: center;
}

.gnb > ul > li {
    float: none;
    display: inline-block;
    position: relative;
    text-align: center;
}

.gnb > ul:after {
    display: none;
    content: '';
}
.gnb > ul > li > a {
    display: block;
    position: relative;
    padding: 0 20px;
    line-height: 110px;
    font-size: 18px;
    font-weight: 500;
    color: #000; /* 평상시 검정 */
    font-family: 'Pretendard', sans-serif;
    transition: color 0.3s ease;
}

.fixed_header .header_wrap.shrink .gnb > ul > li > a {
    color: #fff; /* 스크롤 시 하양 */
}

/* hover + 현재 선택된 메뉴 모두 고급스러운 골드/오렌지 */
.gnb > ul > li > a:hover,
.gnb > ul > li > a:focus,
.fixed_header .header_wrap.shrink .gnb > ul > li > a:hover,
.fixed_header .header_wrap.shrink .gnb > ul > li > a:focus {
    color: #cca766; 
}
.gnb > ul > li > a[data-current="1"] {
    color: #cca766;
	font-size: 20px;
}



.gnb > ul .depth2 {
    display: none;
    position: absolute;
    top: 100%;
    left: 0;
    z-index: 9005;
    padding: 8px 0;
    background-color: #333
}
.gnb > ul .depth2 > li {
    position: relative
}
.gnb > ul .depth2:after {
    position: absolute;
    top: -3px;
    left: 0;
    width: 100%;
    height: 3px;
    background-color: #cda25a;
    content: ''
}
.gnb > ul .depth2 a {
    display: block;
    position: relative;
    min-width: 170px;
    height: 40px;
    padding: 0 30px 0 20px;
    line-height: 40px;
    font-size: 13px;
    color: #9d9d9d
}
.gnb > ul .depth2 a:hover,
.gnb > ul .depth2 a:active,
.gnb > ul .depth2 a:focus,
.gnb > ul .depth2 > li.on > a {
    color: #cda25a
}
.gnb > ul .depth3 {
    display: none;
    position: absolute;
    top: -8px;
    left: 100%;
    z-index: 9005;
    padding: 8px 0;
    background-color: #333
}
.gnb > ul .depth2 > li.more > a:after {
    position: absolute;
    right: 20px;
    content: '>'
}
.onepage .shrink .header > .side > ul > li > a {
    color: #444;
}
.onepage .shrink .gnb {
    margin-top: 0;
}
.magazine .shrink .gnb {
    margin-bottom: 10px;
}
.magazine .shrink h1 {
    margin-top: 10px;
}
.magazine .header_wrap.shrink .gnb > ul > li > a {
    line-height: 40px;
}
/* VISUAL */
.visual.sub {
    position: relative;
    padding: 35px 0;
    background-color: #f6f6f6;
    line-height: 30px
}
.visual.sub .sub_title {
    position: relative;
    z-index: 2;
    width: 1200px;
    margin: 0 auto
}
.visual.sub .sub_title h1 {
    position: relative;
    font-weight: 700;
    font-family: Raleway, NanumBarunGothic, Malgun Gothic, Dotum, Apple SD Gothic Neo, AppleGothic, Helvetica, sans-serif;
    font-size: 17px;
    color: #444
}
.visual.sub .sub_title h1:after {
    position: absolute;
    top: 115%;
    left: 0;
    width: 22px;
    height: 2px;
    background-color: #444;
    content: ''
}
.visual.sub .bg_img {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    z-index: 0;
    width: 100%;
    height: 100%;
    background-position: 50% 50%;
    background-repeat: no-repeat;
    background-size: cover
}
.visual.sub.sub_type2 {
    padding: 70px 0
}
.visual.sub.sub_type2 .bg_img {
    display: block
}
.visual.sub.sub_type2 .sub_title h1 {
    color: #fff;
    font-weight: 400;
    font-size: 23px;
    letter-spacing: 1px
}
.visual.sub.sub_type2 .sub_title h1:after,
.visual.sub.sub_type3 .sub_title h1:after {
    background: none
}
.visual.sub.sub_type3 {
    padding: 250px 0 210px;
    line-height: 40px;
    text-align: center
}
.visual.sub.sub_type3 .bg_img {
    display: block;
    background-attachment: fixed;
    background-size: auto auto
}
.visual.sub.sub_type3 .sub_title h1 {
    font-size: 39px;
    font-weight: 400;
    color: #fff;
    letter-spacing: 2px
}
/* LNB */
.body.fixed-width .lnb > ul {
    position: relative;
    z-index: 1;
    margin: 0;
    padding: 40px 0 0
}
.body.fixed-width .lnb > ul > li {
    margin-bottom: 40px
}
.body.fixed-width .lnb > ul > li > a,
.body.fixed-width .lnb > ul > li > span {
    display: block;
    line-height: 21px;
    margin-bottom: 14px;
    font-size: 15px;
    color: #444
}
.body.fixed-width .lnb ul ul li.on a {
    color: #cda25a
}
.body.fixed-width .lnb ul ul a {
    display: block;
    padding: 10px 0;
    font-size: 14px;
    line-height: 20px;
    color: #888;
    text-decoration: none
}
.body.fixed-width .lnb ul ul a:hover,
.body.fixed-width .lnb ul ul a:focus,
.body.fixed-width .lnb ul ul a:active {
    color: #cda25a
}
.body.fixed-width .lnb img {
    vertical-align: top
}
.body.fixed-width.left .lnb,
.body.fixed-width.right .lnb {
    float: left;
    width: 260px;
    padding: 0 0 16px
}
.body.fixed-width.left .content,
.body.fixed-width.right .content {
    float: right;
    width: 900px;
    min-height: 400px;
    padding: 40px 0 100px
}
.body.fixed-width.right .lnb {
    float: right
}
.body.fixed-width.right .content {
    float: left
}
.body.fixed-width.none .lnb {
    display: none
}
.body.fixed-width.none .content {
    float: none;
    width: 1200px
}
/* Scroll to top link */
.btn_top {
    display: none;
    position: fixed;
    right: 0;
    bottom: 57px;
    z-index: 1000;
    width: 48px;
    height: 48px;
    background-color: #555;
    font-size: 24px;
    color: #fff;
    text-align: center;
    opacity: 0.8;
    filter: alpha(opacity=80)
}
.btn_top:hover {
    background-color: #cda25a;
    color: #fff;
    text-decoration: none;
    opacity: 1;
    filter: alpha(opacity=100)
}
.btn_top i {
    line-height: 48px
}
.swiper-container {
    height: 600px;
    font-family: Raleway, NanumBarunGothic, Dotum, AppleGothic, Helvetica, sans-serif;
}
.swiper-container > div > div {
    display: table;
    height: 600px;
    color: #fff;
    background-size: cover;
}
.swiper-container > div > div > div {
    display: table-cell;
    vertical-align: middle;
}
.swiper-container > div > div > div > div {
    width: 1200px;
    margin: 0 auto;
}
.swiper-container h1 {
    font-weight: 700;
    margin: 0 0 19px 0;
    font-size: 60px;
    line-height: 70px;
    text-decoration: none;
}
.swiper-container p {
    font-size: 20px;
    line-height: 22px;
}
.swiper-button {
    position: absolute;
    top: 50%;
    display: none;
    margin:-25px 0 0 0;
}
.swiper-container:hover .swiper-button {
    display: block;
}
.swiper-button.left {
    left: 20px;
}
.swiper-button.right {
    right: 20px;
}
.swiper-button i {
    width: 50px;
    line-height: 50px;
    text-align: center;
    font-size: 24px;
    color: #fff;
}
.swiper-button button {
    background-color: #333;
    border-radius: 50px;
    background-color: rgba(0, 0, 0, 0.2);
    cursor: pointer;
}
.swiper-pagination {
    position: absolute;
    left: 0;
    text-align: center;
    bottom: 5px;
    width: 100%;
}
.swiper-pagination-switch {
    display: inline-block;
    width: 10px;
    height: 10px;
    border-radius: 10px;
    background: #fff;
    opacity: 0.6;
    margin: 0 3px;
    cursor: pointer;
}
.swiper-active-switch {
    background: #fff;
    opacity: 1;
}
.mobile-close-item {
    display: none;
}
.mobile-menu-close{
	display: none;
}
/* 1200 ~ 720 구간 : 헤더/로고/메뉴 축소 버전 */
@media all and (min-width: 1050px) and (max-width: 1199px) {
    html, body {
        min-width: 100%;
    }
    .container {
        min-width: 100%;
    }

    .header {
        width: 100%;
        height: 80px;
        margin: 0 auto;
        padding: 0 20px;
        box-sizing: border-box;
    }

    .header > h1 {
        /* 이 구간에서도 살짝 아래로 */
        padding: 22px 0 8px;
        margin-right: 20px;
        line-height: 50px;
    }

    .header > h1 img {
        max-height: 30px;   /* 로고 살짝 작게 */
        height: auto;
    }

    .header > .side {
        height: 80px;
        margin: 0 0 0 12px;
    }



    .gnb {
        width: 100%;
        max-width: 900px;   /* 메뉴 전체 폭 제한 */
    }

    .gnb > ul > li > a {
        padding: 0 14px;
        line-height: 80px;  /* 헤더 높이에 맞춰 축소 */
        font-size: 16px;
    }
	

}






@media all and (max-width: 1049px) {
    html, body {
        min-width: 100%;
        overflow-x: hidden;  /* 가로 스크롤 강제 차단 */
    }
    a.btn_top {
        display: none;
    }
    /* Layout */
    .container {
        min-width: 100%;
        background-color: #fff
    }
	.header {
		position: relative;
		z-index: 9005;
		width: 100%;
		height: 60px;                /* 헤더 높이 고정 */
		margin: 0 auto;
		padding: 0 15px;
		box-sizing: border-box;
		display: flex;               
		align-items: center;
	}
    .magazine .header {
	    text-align:left;
    }
    .magazine .header > h1 {
	    text-align:left;
	    display:block;
	    padding:0 15px;
    }
    .header > .side {
        display: none;
    }
    .body.fixed-width {
        width: auto;
        margin: 0
    }
    .header:after, .body:after {
        clear: both;
        content: ''
    }
    .body {
        padding: 0;
    }
    .content {
    }
    .content:after {
        clear: both;
        content: ''
    }
    .content > :first-child {
        margin-top: 0;
    }
    .body.fixed-width.none .content {
	    width:auto;
    }
    .content img {
        max-width: 100%;
        height: auto
    }
    .body.fixed-width.left .content,
    .body.fixed-width.right .content {
        width: auto;
        float: none;
        min-height: 100%;
        padding: 40px 0;
    }
    /* Header */
	.header > h1 {
		float: none;
		margin-right: 0;
		padding: 0;
		line-height: 1;
		display: block;
	}

	.header > h1 img {
		max-height: 21px;            /* 120 x 21 비율 */
		height: 21px;
		padding: 0;
		margin: 0;
	}
	.header > .side {
		display: none;
	}
		
    .header.sub_type3 {
        position: absolute;
    }
    /* Fixed Header */
    .container.fixed_header {
        padding-top: 0
    }
    .header_wrap.shrink {
        display: none;
    }
    .onepage .header > h1 {
        padding: 0 14px;
    }
    .fixed_header .header_wrap {
        position: static;
        top: 0;
        left: 0;
        width: 100%;
        z-index: 9005
    }
    .fixed_header .header_wrap.shrink {
        position: fixed;
        top: 0;
        width: 100%;
        z-index: 9005;
        border-bottom: 1px solid #e1e1e1;
        background-color: #fff;
        animation: ani-header 0.5s forwards;
    }
    .fixed_header .header_wrap.shrink .header > h1 {
        padding: 0
    }
    .fixed_header .header_wrap.shrink .gnb > ul > li > a {
        line-height: 60px
    }
    .fixed_header .header_wrap.shrink .header > .side {
        margin: 19px 0 0 22px
    }
    .fixed_header .header_wrap.shrink .search_area {
        padding: 0 20px
    }

    /* button */
    .btn_item {
        display: inline-block;
        margin: 35px 0;
        padding: 0 27px;
        height: 50px;
        font-family: "Open Sans";
        background-color: #555;
        font-size: 14px;
        line-height: 50px;
        letter-spacing: 1px;
        color: #FFF;
        transition: all .2s ease-in-out;
    }
    .btn_item:hover,
    .btn_item:active
    .btn_item:focus {
        background-color: #CBA061;
        color: #fff
    }
    .btn_item + .btn_item {
        margin-left: 10px;
    }
    /* Login */
    .header > .side {
        display: none;
    }
    .header > .custom_area {
	    display:none;
    }
    /* Search */
    .search_wrap {
        display: none;
    }

	/* 슬라이드 패널 본체는 그대로 두고, 목록만 다듬기 */
	#gnb > ul {
		margin: 0;                   /* 위 여백 제거 */
		padding: 70px 20px 30px;     /* 이미 위에서 지정한 값 유지용 */
		list-style: none;
	}

	/* 절취선(보더) 제거 */
	#gnb > ul > li {
		display: block;
		border-bottom: none;
	}

	/* 항목 간격만 약간 줄이기 */
	#gnb > ul > li > a {
		display: block;
		padding: 10px 0;             /* 위아래 10px로 줄임 */
		font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui,
			'Malgun Gothic', '맑은 고딕', sans-serif;
		font-size: 16px;
		font-weight: 500;
		color: #000;
		text-align: left;
		white-space: nowrap;
	}
    /* 모바일 GNB : 오른쪽 슬라이드 패널 */
    .gnb {
        position: absolute;
        top: 0;
        right: 15px;
        left: auto;
        width: auto;
        height: 60px;
        z-index: 9001;
        background: transparent;
    }

    /* 햄버거 버튼 */
    .gnb #mobile_menu_btn {
        display: block;
    }

	.gnb .menu_btn {
		position: absolute;
		right: 8px;
		top: 50%;
		width: 30px;
		height: 30px;
		/* 살짝 더 아래로 내려오도록 조정 */
		transform: translateY(-25%);
		display: flex;
		align-items: center;
		justify-content: center;
	}


    .gnb .menu_btn .menu_bar {
        position: relative;
        width: 22px;
        height: 16px;
    }

    .gnb .menu_btn .menu_bar div {
        border-top: 2px solid #FF7B00;
        margin-bottom: 4px;
    }

    .gnb .menu_btn .menu_bar div.btn1 { top: 0; }
    .gnb .menu_btn .menu_bar div.btn2 { top: 10px; transition: all 0.1s; }
    .gnb .menu_btn .menu_bar div.btn3 { bottom: 0; }

    /* 슬라이드 패널 본체 (처음엔 화면 밖에 숨김) */
	.gnb > ul {
		display: block !important;     /* 기존 JS show/hide 무시 */
		position: fixed;
		top: 0;
		right: -20px;                      /* 기준점은 항상 화면 오른쪽에 고정 */
		width: 260px;
		height: 100vh;
		padding: 70px 20px 30px;
		box-sizing: border-box;
		background: #ffffff;
		box-shadow: -4px 0 20px rgba(0,0,0,0.15);
		overflow-y: auto;
		text-align: left;

		/* ← 여기부터 변경 포인트 */
		transform: translateX(100%);   /* 처음에는 화면 밖으로 100% 밀어냄 */
		transition: transform 0.3s ease;
	}

	/* body에 클래스가 붙었을 때만 패널을 화면 안으로 */
	body.mobile-menu-open .gnb > ul {
		transform: translateX(0);      /* 열릴 때만 화면 안으로 */
	}

    /* 메뉴 항목 스타일 + 간격 넉넉하게 */
    .gnb > ul > li {
        float: none;
        position: static;
        text-align: left;
    }

    .gnb > ul > li > a {
        display: block;
        padding: 14px 0;              /* 이전보다 살짝 더 여유 있게 */
        line-height: 1.6;
        font-size: 15px;
        font-weight: 400;
        color: #000;
        font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, 'Malgun Gothic', '맑은 고딕', sans-serif;
        border-top: none;
    }

    .gnb > ul > li > a[data-current="1"] {
        color: #FF7B00;
    }

    /* 2차, 3차 메뉴 */
    .gnb > ul .depth2,
    .gnb > ul .depth3 {
        position: static;
        padding: 0;
        background: #ffffff;
    }
    .gnb > ul .depth2 a {
        padding: 8px 0 8px 10px;
        font-size: 14px;
        color: #555;
    }
    .gnb > ul .depth3 a {
        padding-left: 18px;
        font-size: 13px;
        color: #999;
    }

    /* 모바일 상단 닫기 버튼 (>) */
    .mobile-close-item {
        display: block;
        position: absolute;
        top: 20px;
        right: 20px;
        list-style: none;
    }
    .mobile-menu-close {
        display: block;
        background: none;
        border: none;
        padding: 0;
        font-size: 22px;
        line-height: 1;
        color: #FF7B00;
        cursor: pointer;
    }


    /* 모바일 상단 닫기 버튼 li */
    .mobile-close-item {
		display: block;
        position: absolute;
        top: 20px;
        right: 20px;
        list-style: none;
    }

    .mobile-menu-close {
        background: none;
        border: none;
        padding: 0;
        font-size: 22px;
        line-height: 1;
        color: #FF7B00;
        cursor: pointer;
    }

    .body .lnb {
        display: none;
    }
    .body .content {
        overflow: hidden;
    }
    .visual {
        box-sizing: border-box;
    }
    .visual.sub {
        position: relative;
        padding: 15px 14px 30px 14px;
        background-color: #f6f6f6;
        line-height: 30px
    }
    .visual.sub .sub_title {
        position: relative;
        z-index: 2;
        width:auto;
        margin:0;
    }
    .visual.sub .sub_title h1 {
        position: relative;
        font-weight: 700;
        font-family: Raleway, NanumBarunGothic, Malgun Gothic, Dotum, Apple SD Gothic Neo, AppleGothic, Helvetica, sans-serif;
        font-size: 17px;
        color: #444
    }
    .visual.sub .sub_title h1:after {
        position: absolute;
        top: 115%;
        left: 0;
        width: 22px;
        height: 2px;
        background-color: #444;
        content: ''
    }
    .visual.sub .bg_img {
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        z-index: 0;
        width: 100%;
        height: 100%;
        background-position: 50% 50%;
        background-repeat: no-repeat;
        background-size: cover
    }
    .visual.sub.sub_type2 {
        padding: 40px 15px
    }
    .visual.sub.sub_type2 .bg_img {
        display: block
    }
    .visual.sub.sub_type2 .sub_title h1 {
        color: #fff;
        font-weight: 400;
        font-size: 23px;
        letter-spacing: 1px
    }
    .visual.sub.sub_type2 .sub_title h1:after,
    .visual.sub.sub_type3 .sub_title h1:after {
        background: none
    }
    .visual.sub.sub_type3 {
        padding: 80px 0 0;
        line-height: 40px;
        text-align: center
    }
    .visual.sub.sub_type3 .bg_img {
        display: block;
        background-attachment: fixed;
        background-size: auto auto
    }
    .visual.sub.sub_type3 .sub_title {
	    padding:100px 0 70px 0;
    }
    .visual.sub.sub_type3 .sub_title h1 {
        font-size: 23px;
        font-weight: 400;
        color: #fff;
        letter-spacing: 2px
    }
    .swiper-container {
        height: 270px;
        font-family: Raleway, NanumBarunGothic, Dotum, AppleGothic, Helvetica, sans-serif;
    }
    .swiper-container > div > div {
        display: table;
        height: 270px;
        color: #fff;
    }
    .swiper-container > div > div > div {
        display: table-cell;
        vertical-align: middle;
    }
    .swiper-container > div > div > div > div {
        padding: 0 14px;
        width: auto;
        margin: 0;
    }
    .swiper-container h1 {
        font-weight: 600;
        margin: 0 0 10px 0;
        font-size: 24px;
        line-height: 30px;
        text-decoration: none;
    }
    .swiper-container p {
        font-size: 14px;
        line-height: 18px;
    }

}
/* header animation */
@keyframes ani-header {
    0% {
        top: -60px
    }
    100% {
        top: 0px
    }
}
/* 1200 ~ 720px : footer_1200.png 사용 (1200 x 320 → 약 26.67%) */
@media (max-width:1199px) and (min-width:900px) {

    .footer-callbar {
        bottom: 32px; /* 전체 높이도 살짝 내려서 여백 확보 */
    }

    .footer-callbar-inner {
        width: 90%;
        max-width: 900px;
        height: 36px;
        padding: 8px 10px 8px 18px;
        border-radius: 32px;
    }

    .footer-callbar-left img {
        width: 140px;
        height: 24px;
    }

    .footer-callbar-text {
        font-size: 16px;
        margin-right: 16px;
    }

    .footer-callbar-phone {
        height: 36px;
        width: auto;
        margin-right: 16px;
    }

    .footer-callbar-kakao {
        height: 32px;
        width: auto;
    }
}

/* 900px 이하 : 모바일 공통 스타일 (한 가지로 통일) */
@media (max-width:899px) {

    .footer {
        background-image: url("../img/footer_mo.png");
        background-position: center bottom;
        background-size: 100% auto;
        height: 85.33vw;          /* 100vw × 640 / 750 */
        min-height: 320px;
        padding-bottom: 72px;
    }

    .footer-callbar {
        bottom: 20px;
        width: 100%;
    }

    .footer-callbar-inner {
        width: min(360px, calc(100% - 24px));  /* 가로 조금 더 넓게 */
        height: 50px;                          /* 세로도 키움 */
        margin: 0 auto;
        padding: 6px 10px;
        border-radius: 24px;
        background: rgba(255,255,255,0.9);
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
        box-shadow: 0 6px 12px rgba(0,0,0,0.18);
    }

    /* 모바일에서는 로고/텍스트 숨기고 이미지로만 구성 */
    .footer-callbar-left {
        display: none;
    }

    .footer-callbar-right {
        flex: 1;
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 8px;
    }

    /* 전화 배너 이미지 */
    .footer-callbar-phone {
        display: block;
        width: auto;
        max-width: 100%;
        height: 35px;                      
        margin-right: 0;
		margin-left: 5px;
        content: url("../img/phone_mo.png");
    }

    .footer-callbar-text {
        display: none;
    }

    /* 카카오 버튼 – 콜바보다 작게 맞춰서 튀어나오지 않게 */
    .footer-callbar-kakao {
        display: block;
        width: 36px;                       /* 32 → 36 */
        height: 36px;                      /* 콜바 높이(40)보다 살짝 작게 */
        content: url("../img/kakaobtn_mo.png");
        flex-shrink: 0;
    }
}



/* === 720px 이하 : 콜바 높이 / 정렬 최종 재정의 === */
@media (max-width:719px) {
    .footer {
        padding-bottom: 60px;   /* 필요 없으면 이 줄도 삭제 가능 */
    }

}

@media all and (max-width: 1100px) {

  .header_wrap {
      height: 60px !important;
  }

  .header {
      max-width: 100%;
      min-width: 0;
      height: 60px !important; /* 모바일 헤더 높이 통일 */
      margin: 0;
      padding: 0 16px;

      display: flex !important;
      flex-direction: row !important;
      flex-wrap: nowrap !important;
      align-items: center !important;
      justify-content: space-between !important;
  }

  /* 로고 */
  .header > h1 {
      float: none;
      margin: 0;
      padding: 0;
      line-height: 1;
      display: flex;
      align-items: center;
  }

  .header > h1 img {
      max-height: 21px;
      height: 21px;
  }

  /* 가운데 배지 */
  .header > .side {
      display: flex;
      align-items: center;
      margin: 0 8px 0 16px;
  }

  .header > .side .nav-badge {
      position: relative;
      width: 100px;
      height: auto;
      top: -12px;
  }

  /* 오른쪽 햄버거 */
  .h_side {
      display: flex;
      align-items: center;
  }

  /* 모바일에서는 기존 GNB 리스트 숨기고 오버레이만 사용 */
  .gnb > ul {
      display: none !important;
  }
}

/* PC 에서는 오버레이 숨김 */
@media all and (min-width: 769px) {
  .overlay {
      display: none;
  }
}




/* ===============================
   모바일 헤더 + 햄버거 메뉴
================================ */
.h_side {
    display: none; /* 기본은 숨김, 모바일에서만 보여 줌 */
}

/* 햄버거 버튼 디자인 */
.hamburger {
  position: relative;
  width: 35px;
  height: 35px;
  border: 0;
  background: transparent;
  cursor: pointer;
  color: #FF7B00;
  z-index: 10001;
}

.hamburger .line {
  position: absolute;
  left: 0;
  right: 0;
  width: 100%;
  height: 2.5px;
  margin: 0 auto;
  background: currentColor;
  transition: transform .25s ease, opacity .2s ease, top .25s ease;
}

/* 기본 3줄 위치 */
.hamburger .line:nth-child(1) { top: 7px; }
.hamburger .line:nth-child(2) { top: 16px; }
.hamburger .line:nth-child(3) { top: 25px; }

/* X자로 변환될 때 */
.hamburger.open .line:nth-child(1) {
  top: 16px;
  transform: rotate(45deg);
}
.hamburger.open .line:nth-child(2) {
  opacity: 0;
}
.hamburger.open .line:nth-child(3) {
  top: 16px;
  transform: rotate(-45deg);
}

/* 오버레이 전체 */
.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0,0,0,0.3);
  display: flex;
  align-items: center;
  justify-content: flex-end;
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  
}

/* 열렸을 때 */
.overlay.open {
  opacity: 1;
  pointer-events: auto;
}

/* 오른쪽 슬라이드 패널 */
.overlay .overlay-menu {
  list-style: none;
  padding: 80px 24px 24px;
  margin: 0;
  background-color: #fff;
  width: 260px;
  max-width: 80vw;
  height: 100%;
  box-shadow: -4px 0 10px rgba(0,0,0,0.15);

  display: flex;
  flex-direction: column;
  justify-content: flex-start;
}

.overlay .overlay-menu li {
  margin: 15px 0;
}

.overlay .overlay-menu a {
  display: block;
  font-family: 'Pretendard', -apple-system, BlinkMacSystemFont, system-ui,
      'Malgun Gothic', '맑은 고딕', sans-serif;
  font-size: 16px;
  font-weight: 500;
  color: #000;
}

.overlay .overlay-menu a:hover {
  color: #FF7B00;
}


#footer {
  background: #ff7a00;
  padding: 50px 0;
  color: #ffffff;
  height: 300px;
}

.footer-inner {
  width: 90%;
  max-width: 1400px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  gap: 40px;
}

/* 공통 박스 스타일 */
.footer-box {
  flex: 1;
}

/* 위 선 */
.footer-line {
  width: 40px;
  height: 2px;
  background: rgba(255,255,255,0.7);
  margin-bottom: 25px;
}

/* 텍스트 스타일 */
.footer-box p {
  margin: 10px 0;
}

.footer-box span {
  display: inline-block;
  width: 130px;
  opacity: 0.85;
}

.footer-logo {
  width: 150px;
  margin-bottom: 12px;
  display: block;
}

.copy {
  font-size: 14px;
  opacity: 0.9;
}

/* 반응형 */
@media (max-width: 767px) {
  .footer-inner {
    flex-direction: column;
    gap: 30px;
  }

  .footer-box span {
    width: 110px;
  }

  .footer-right {
    text-align: left;
  }
}
/* 모바일 (width 767px 이하일 때) */
@media (max-width: 1150px) {
  #footer {
    padding: 40px 0;
    height: 350px;
  }

  .footer-inner {
    width: 92%;
    max-width: 480px;
    margin: 0 auto;
    flex-direction: column;   /* 세로 정렬 */
    gap: 0;                   /* 박스 간 간격 없애기 */
  }

  /* 세 박스를 하나처럼 붙여 보이게 */
  .footer-box {
    flex: none;
  }

  /* 첫 번째 박스만 위에 선 보이게 */
  .footer-box .footer-line {
    display: none;
  }
  .footer-box:first-child .footer-line {
    display: block;
  }

  /* 라벨 폭 조금 줄이기 */
  .footer-box span {
    width: 90px;
    font-size: 14px;
  }

  .footer-box p {
    margin: 6px 0;
    font-size: 14px;
  }

  /* 로고 부분은 위 정보와 간격만 줘서 아래에 배치 */
  .footer-right {
    margin-top: 24px;
  }

  .footer-logo {
    width: 120px;
    margin-bottom: 8px;
  }

  .copy {
    font-size: 12px;
  }
}

@media screen and (max-width: 1024px) {
    .h_side {
        display: flex;
        align-items: center;
        margin-left: 15px;
    }

    /* .hamburger-premium 관련 중복 스타일 제거 (mobile_menu_v4.css에서 관리) */

    .overlay-premium {
        position: fixed;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.98);
        backdrop-filter: blur(20px);
        -webkit-backdrop-filter: blur(20px);
        z-index: 40000;
        display: flex;
        align-items: center;
        justify-content: center;
        opacity: 0;
        visibility: hidden;
        transition: all 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
        transform: translateY(-100%);
    }

    .overlay-premium.open {
        opacity: 1;
        visibility: visible;
        transform: translateY(0);
    }

    .overlay-content {
        width: 100%;
        padding: 40px;
        text-align: center;
    }

    .overlay-menu-list {
        list-style: none;
        padding: 0;
        margin: 0 0 50px 0;
    }

    .overlay-menu-list li {
        margin-bottom: 25px;
        opacity: 0;
        transform: translateY(30px);
        transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1);
    }

    .overlay-premium.open .overlay-menu-list li {
        opacity: 1;
        transform: translateY(0);
    }

    .overlay-premium.open .overlay-menu-list li:nth-child(1) { transition-delay: 0.1s; }
    .overlay-premium.open .overlay-menu-list li:nth-child(2) { transition-delay: 0.2s; }
    .overlay-premium.open .overlay-menu-list li:nth-child(3) { transition-delay: 0.3s; }
    .overlay-premium.open .overlay-menu-list li:nth-child(4) { transition-delay: 0.4s; }
    .overlay-premium.open .overlay-menu-list li:nth-child(5) { transition-delay: 0.5s; }

    .menu-link {
        display: block;
        text-decoration: none;
        color: #fff;
    }

    .menu-link .num {
        display: block;
        font-size: 10px;
        color: #4A90E2;
        font-weight: 700;
        margin-bottom: 4px;
        letter-spacing: 2px;
    }

    .menu-link .txt {
        font-size: 28px;
        font-weight: 800;
    }

    .overlay-footer {
        border-top: 1px solid rgba(255, 255, 255, 0.1);
        padding-top: 30px;
        opacity: 0;
        transition: all 0.8s ease 0.6s;
    }

    .overlay-premium.open .overlay-footer {
        opacity: 1;
    }

    .footer-call {
        display: block;
        font-size: 24px;
        font-weight: 800;
        color: #fff;
        text-decoration: none;
        margin-bottom: 8px;
    }

    .footer-msg {
        color: #666;
        font-size: 13px;
    }
}

/* PC 버전에서는 모바일 전용 요소를 강제로 숨김 */
@media screen and (min-width: 1025px) {
    .h_side, .overlay-premium, .hamburger-premium {
        display: none !important;
    }
}