@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@100..900&family=Playfair+Display:ital,wght@0,400..900;1,400..900&display=swap');

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
    margin: 0;
    padding: 0;
    border: 0;
    font-size:inherit;
    vertical-align:baseline;
    background:transparent;
    -webkit-text-size-adjust:none;
    list-style:none;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}

* { outline: none; margin:0; padding:0; box-sizing:border-box; -webkit-text-size-adjust:none;}
*:focus { outline:none; }

html, body {position: relative; font-family:'Pretendard', sans-serif; letter-spacing: -0.04rem; margin: 0 auto;width: 100%; height: 100%;}
html { font-size: 16px; color: #313942; font-weight:400; word-break: keep-all; -webkit-font-smoothing:antialiased; -moz-osx-font-smoothing:grayscale; text-rendering:optimizeLegibility; }
body{line-height:1;}

h1,h2,h3,h4,h5,h6,th,strong {font-size:inherit;font-weight:600;color: #313942;}
ol, ul {list-style: none;}
table{width:100%;border-collapse:collapse;border-spacing:0;table-layout:fixed;word-break:break-all;}
table th, table td{vertical-align:middle;}
button{font-family: 'Pretendard', sans-serif; background: transparent;cursor: pointer;  border:none; box-shadow:none; border-radius:0; padding:0; overflow:visible; cursor:pointer;}

p{display:block;-webkit-margin-before: 0;-webkit-margin-after: 0;-webkit-margin-start: 0;-webkit-margin-end: 0; line-height: 1.6;}

a{color:inherit;text-decoration:none;display:inline-block;}
a:hover{text-decoration:none;}

input::-ms-clear, input::-ms-reveal {display: none;height: 0;width: 0;}
input[type=text]{-webkit-appearance:none;-moz-appearance:none;appearance:none;}
input,
select,
textarea,
input:focus,
button:focus,
select:focus,
textarea:focus { outline: none;  font-family: inherit;vertical-align: middle;}
label{vertical-align:middle;cursor:pointer;}
select {-webkit-appearance: none;-moz-appearance: none;appearance: none;}
select::-ms-expand {display: none;}
video {display: block; width: 100%;}
img {display: block; width: 100%;}
section {position: relative;}
video {display: block;}
/* ============================================================== common components ============================================================== */
.hidden {position: absolute; text-indent: -9999px; color:transparent;}
iframe {display: block;}
iframe::-webkit-scrollbar {display: none;}
textarea {font-size: 16px;}
/* ============================================================== layout ============================================================== */
.container {width: 100%; padding:100px 0 140px;}
.wrap {position: relative; max-width: 1400px; margin:0 auto;}
.primary {color:#4F6B7A !important;}

.pc-br {display: inline-block;}
.mo-br {display: none;}
.pt0 {padding-top:0 !important;}
.pb0 {padding-bottom:0 !important;}

h3 {font-size: 60px; font-weight: 700; line-height: 1.2; letter-spacing: -0.08rem;}
h4 {font-size: 44px; font-weight: 700; line-height: 1.2;}
/* 정렬 */
.t-center {text-align: center !important;}
.t-left {text-align: left !important;}
.t-right {text-align: right !important;}
.row-between-wrap {display: flex; justify-content: space-between; align-items: center;}
.row-between-wrap.end {align-items: flex-end;}
/* ============================================================== button / icon  ============================================================== */
/* button */
.btn-primary {display: inline-block; width:250px; height:56px; line-height: 56px; background-color: #4F6B7A; color: #EDECE9; font-size: 18px; font-weight: 500; border-radius: 6px;box-sizing: border-box; }
/* icon */
.ico-more {display: inline-block; width: 14px; height: 12px; background: url(../images/ico_more.svg) no-repeat center / 100%; margin-left:10px;}
.ico-down-w {display: inline-block; width: 28px; height: 28px; background: url(../images/ico_up_w.svg) no-repeat center / 100%; margin-left:10px;}
.ico-search {display: inline-block; width:24px; height:24px; background: url(../images/ico_search.svg) no-repeat center / 100%; }

/* back-to-top button */
.btn-top { position: fixed; right: 30px; bottom: 100px; width: 60px; height: 60px; box-sizing: border-box;  border-radius: 50%; background: #E1E1E1; border:1px solid #E1E1E1; z-index: 1200;cursor: pointer; transition: opacity 0.25s ease, visibility 0.25s ease; opacity: 0; visibility: hidden; pointer-events: none; }
.btn-top.visible { opacity: 1; visibility: visible; pointer-events: auto; }
.btn-top:after { content: ''; display: block; width: 22px; height: 22px; position: absolute; left:50%; top:50%; transform: translate(-50%, -50%)  rotate(-90deg);; background: url(../images/ico_more.svg) no-repeat center / 16px;  }
.btn-top.sub-top {right: 50%; transform: translateX(878px); bottom: 164px;}

.nodata-text {padding: 150px 0;}
.nodata-text span {display: block; font-size: 22px; color: #313942; padding-top:110px; text-align: center; background: url(../images/ico_nodata.svg) no-repeat center top / 90px; }
/* ==================== ==================== 1520px  ========================================*/
@media screen and (max-width: 1520px) {
    /* ================= layout ================ */
    .wrap {max-width: 100%; padding:0 5vw; box-sizing: border-box;}
    .wrap.mobile-no-margin {padding:0;}
    /* ============= header ============= */
    .header-wrap { max-width: 100%; padding: 0 5vw;}
    /* back-to-top button */
    .btn-top.sub-top {transform: none; right:20px; bottom:80px;}
}

/* ==================== ==================== 1024px ========================================*/
@media screen and (max-width: 1024px) {
    /* ================= layout ================ */
    .pc-br {display: none;}
    .mo-br {display: inline-block;}
    h3 {font-size: clamp(34px, 8vw, 60px);}
    h4 {font-size: clamp(26px, 6vw, 44px); font-weight: 700; line-height: 1.2;}


}
/* ==================== ==================== 920px ========================================*/
@media (max-width: 920px) {
    /* button */
    .btn-primary {width: 100%; }
    /* ================= layout ================ */
    .container {padding: 70px 0 100px;}
    /* back-to-top button */
    .btn-top {width:50px; height:50px; right:20px; bottom:76px;}
    .lh-type-1 {line-height:1.5;}

    
    .nodata-text {padding: 100px 0;}
    .nodata-text span {font-size: 18px; padding-top:90px;background: url(../images/ico_nodata.svg) no-repeat center top / 70px; }
}

/* ============================================================== // common components ============================================================== */
/* ============================================================== input ==============================================================*/
input , select {-webkit-appearance: none;-moz-appearance:none;appearance:none;-webkit-border-radius:0;}
input, select {width: 100%;padding: 14px 40px 14px 16px;border: 1px solid #A7B0B5;border-radius: 5px; font-size: 15px;background: #fff; color: #333; outline: none; transition: box-shadow 0.2s, border-color 0.2s; box-sizing: border-box;}
input:focus,
select:focus {border-color: #4F6B7A;}
input::placeholder { color: #AEB5BC;}
input:disabled , select:disabled {background-color: #F0F0F0; color:#bbb;}
select{background: #fff url(../images/ico_sel.svg) no-repeat; background-position: top 50% right 10px; background-size: 12px auto;}
input[type=radio], input[type=checkbox] { margin: 0; padding: 0; opacity: 0; display: none;}
input[type=text], select {position: relative;width: 100%; flex: 1;padding: 10px 12px;height: 50px;border: 1px solid #ddd;font-size: 16px;box-sizing: border-box;}
input[type="checkbox"]:checked + .checkmark { background: rgba(255, 255, 255, 0.35);border-color: #EDECE9;background: url(../images/ico_check_w.svg) no-repeat center / 12px;}

/* datepicker*/
input.datepicker{background: #fff url('../images/ico_calendar.svg') no-repeat right 15px top 50%;cursor:pointer;}
.ui-datepicker,#ui-datepicker-div{z-index:2100 !important;} /* consul-overlay(1999) 위에 표시 */
.ui-datepicker{width:320px;background:#fff;padding:.2em .2em 0;display:none;border: 1px solid #E2DCD7;}
.ui-datepicker .ui-datepicker-header{position:relative;padding:.2em 0}
.ui-datepicker .ui-datepicker-prev,.ui-datepicker .ui-datepicker-next{position:absolute;top:2px;width:1.8em;height:1.8em}
.ui-datepicker .ui-datepicker-prev-hover,.ui-datepicker .ui-datepicker-next-hover{top:1px}
.ui-datepicker .ui-datepicker-prev{left:2px}
.ui-datepicker .ui-datepicker-next{right:2px}
.ui-datepicker .ui-datepicker-prev-hover{left:1px}
.ui-datepicker .ui-datepicker-next-hover{right:1px}
.ui-datepicker .ui-datepicker-prev span,.ui-datepicker .ui-datepicker-next span{display:block;position:absolute;left:50%;margin-left:-8px;top:50%;margin-top:-8px}
.ui-datepicker .ui-datepicker-title{margin:0 2.3em;line-height:1.8em;text-align:center}
.ui-datepicker .ui-datepicker-title select{font-size:1em;margin:1px 0}
.ui-datepicker .date-sunday .ui-state-default,
.ui-datepicker-week-end span[title='Sunday']{color:#DA4644;}
.ui-datepicker select.ui-datepicker-month,.ui-datepicker select.ui-datepicker-year{width:45%}
.ui-datepicker table{width:100%;font-size:.9em;border-collapse:collapse;margin:0 0 .4em}
.ui-datepicker th{font-weight:500;font-family: 'Outfit';font-size:12px;padding:15px 0;text-align:center;border:0}
.ui-datepicker td{border:0;padding:1px}
.ui-datepicker td span,.ui-datepicker td a{display:block;padding:0;height:40px;line-height:40px;text-align:right;text-decoration:none}
.ui-datepicker .ui-datepicker-buttonpane{background-image:none;margin:.7em 0 0 0;padding:0 .2em;border-left:0;border-right:0;border-bottom:0}
.ui-datepicker .ui-datepicker-buttonpane button{float:right;margin:.5em .2em .4em;cursor:pointer;padding:.2em .6em .3em .6em;width:auto;overflow:visible}
.ui-datepicker .ui-datepicker-buttonpane button.ui-datepicker-current{float:left}
.ui-datepicker.ui-datepicker-multi{width:auto}
.ui-datepicker-multi .ui-datepicker-group{float:left}
.ui-datepicker-multi .ui-datepicker-group table{width:95%;margin:0 auto .4em}
.ui-datepicker-multi-2 .ui-datepicker-group{width:50%}
.ui-datepicker-multi-3 .ui-datepicker-group{width:33.3%}
.ui-datepicker-multi-4 .ui-datepicker-group{width:25%}
.ui-datepicker-multi .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-multi .ui-datepicker-group-middle .ui-datepicker-header{border-left-width:0}
.ui-datepicker-multi .ui-datepicker-buttonpane{clear:left}
.ui-datepicker-row-break{clear:both;width:100%;font-size:0}
.ui-datepicker-rtl{direction:rtl}
.ui-datepicker-rtl .ui-datepicker-prev{right:2px;left:auto}
.ui-datepicker-rtl .ui-datepicker-next{left:2px;right:auto}
.ui-datepicker-rtl .ui-datepicker-prev:hover{right:1px;left:auto}
.ui-datepicker-rtl .ui-datepicker-next:hover{left:1px;right:auto}
.ui-datepicker-rtl .ui-datepicker-buttonpane{clear:right}
.ui-datepicker-rtl .ui-datepicker-buttonpane button{float:left}
.ui-datepicker-rtl .ui-datepicker-buttonpane button.ui-datepicker-current,.ui-datepicker-rtl .ui-datepicker-group{float:right}
.ui-datepicker-rtl .ui-datepicker-group-last .ui-datepicker-header,.ui-datepicker-rtl .ui-datepicker-group-middle .ui-datepicker-header{border-right-width:0;border-left-width:1px}
.ui-datepicker .ui-icon{display:block;text-indent:-99999px;overflow:hidden;background-repeat:no-repeat;left:.5em;top:.3em}
/* 이전 날짜(비활성화) 색상 #999 20260226 */
.ui-datepicker .ui-datepicker-unselectable .ui-state-default,
.ui-datepicker td.ui-state-disabled .ui-state-default { color: #999; }
.ui-state-default, .ui-widget-content .ui-state-default, .ui-widget-header .ui-state-default, .ui-button, html .ui-button.ui-state-disabled:hover, html .ui-button.ui-state-disabled:active {border: 0;background: #fff;text-align:center;color: #222;font-family: 'Outfit';}
.ui-state-highlight, .ui-widget-content .ui-state-highlight, .ui-widget-header .ui-state-highlight {border-radius:50%;background: #F3EFEC;color: #222;}
.ui-state-active, .ui-widget-content .ui-state-active, .ui-widget-header .ui-state-active, a.ui-button:active, .ui-button:active, .ui-button.ui-state-active:hover {background: #4F6B7A;color: #ffffff;border-radius:50%;}
.ui-icon{width:16px;height:16px}
.ui-icon,.ui-widget-content .ui-icon{background-image:url("../images/ui-icons_444444_256x240.png")}
.ui-widget-header .ui-icon{background-image:url("../images/ui-icons_444444_256x240.png")}
.ui-state-hover .ui-icon,.ui-state-focus .ui-icon,.ui-button:hover .ui-icon,.ui-button:focus .ui-icon{background-image:url("../images/ui-icons_555555_256x240.png")}
.ui-state-active .ui-icon,.ui-button:active .ui-icon{background-image:url("../images/ui-icons_ffffff_256x240.png")}
.ui-state-highlight .ui-icon,.ui-button .ui-state-highlight.ui-icon{background-image:url("../images/ui-icons_777620_256x240.png")}
.ui-state-error .ui-icon,.ui-state-error-text .ui-icon{background-image:url("../images/ui-icons_cc0000_256x240.png")}
.ui-button .ui-icon{background-image:url("../images/ui-icons_777777_256x240.png")}
.ui-icon-blank.ui-icon-blank.ui-icon-blank{background-image:none}
.ui-icon-circle-triangle-e{background-position:-48px -192px}
.ui-icon-circle-triangle-w{background-position:-80px -192px}
.ui-corner-all,.ui-corner-top,.ui-corner-left,.ui-corner-tl{border-top-left-radius:3px}
.ui-corner-all,.ui-corner-top,.ui-corner-right,.ui-corner-tr{border-top-right-radius:3px}
.ui-corner-all,.ui-corner-bottom,.ui-corner-left,.ui-corner-bl{border-bottom-left-radius:3px}
.ui-corner-all,.ui-corner-bottom,.ui-corner-right,.ui-corner-br{border-bottom-right-radius:3px}
.ui-widget-overlay{background:#aaa;opacity:.3;}
.ui-widget-shadow{-webkit-box-shadow:0 0 5px #666;box-shadow:0 0 5px #666}
@media (max-width: 920px) {

    input[type=text]::placeholder{font-size: 14px; }
}
/* ============================================================== swiper ============================================================== */
.swiper-button-next:after, .swiper-button-prev:after {font-size: 30px;}
.swiper-button-prev, .swiper-rtl .swiper-button-next {left: 30px;}
.swiper-button-next, .swiper-rtl .swiper-button-prev {right: 30px;}
@media (max-width: 920px) {
    .swiper-button-next:after, .swiper-button-prev:after {font-size: 24px;}
    .swiper-button-prev, .swiper-rtl .swiper-button-next {left: 16px;}
    .swiper-button-next, .swiper-rtl .swiper-button-prev {right: 16px;}
}
/* ============================================================== table ============================================================== */
table { width: 100%; border-collapse: collapse; background: #ffffff; line-height: 1.4; word-break: keep-all; }
table thead {border-top:2px solid #4a5560;}
table thead th { background: #F6F9FB; color: #4a5560; font-size: 22px; font-weight: 500; padding:20px; text-align: center; border-right: 1px solid #E6EAEC; border-bottom: 1px solid #E6EAEC; }
table tbody th {font-weight: 500;}
table tbody th, table tbody td { padding: 20px;font-size: 20px; vertical-align: middle; background: #fff; border-right: 1px solid #E6EAEC; border-bottom: 1px solid #E6EAEC; }
table tbody td:last-child, table tbody th:last-child { border-right: none; }
@media (max-width: 920px) {
table thead th {font-size: 17px; padding:15px;}
table tbody th, table tbody td {font-size:16px; padding:15px;}
}
/* ============================================================== pagination ============================================================== */
.pagination{margin:50px 0;text-align:center;color:#888;font-size:0;}
.pagination a, .page-cur{position:relative;display:inline-block;margin-right:10px;width:34px;height:34px;line-height:34px;font-size:16px;border:1px solid #ddd;background-color:#fff;background-repeat: no-repeat;background-position:center 50%;vertical-align:middle}
.pagination a.page-move{position: relative; border:1px solid #ddd;color:#888;}
.pagination a.page-move:after{font-family: 'Material Icons';font-size:18px;font-weight:200;}
.pagination a.page-move.prev{margin-right:20px;}
.pagination a.page-move.next{margin-left:10px;}
.pagination a.page-move.first:after{content:'';display: block; position: absolute; left:0; top:0; width:100%;height:100%;background: url(../images/ico_pagi_d.svg) no-repeat center / 100%;}
.pagination a.page-move.prev:after{content:'';display: block; position: absolute; left:0; top:0; width:100%;height:100%;background: url(../images/ico_pagi.svg) no-repeat center / 100%;}
.pagination a.page-move.next:after{content:'';display: block; position: absolute; left:0; top:0; width:100%;height:100%;background: url(../images/ico_pagi.svg) no-repeat center / 100%; transform: rotate(180deg);}
.pagination a.page-move.last:after{content:'';display: block; position: absolute; left:0; top:0; width:100%;height:100%;background: url(../images/ico_pagi_d.svg) no-repeat center / 100%;transform: rotate(180deg);}
.pagination a.page-move.disabled{background-color:#f4f4f4;border-color:#ddd;color:#888;}
.pagination a:hover, .page-cur{border-color:#222;color:#fff;background-color:#222;}

/* ============================================================== header ============================================================== */
/* header 기본 */
.header { position: absolute; top: 0; left: 0; right: 0; background: #fff; z-index: 1000; width:100%; height:100px; border-bottom:1px solid #E6EAEC;}
.header-wrap { max-width: 1520px; margin: 0 auto; height: 100%; display: flex; align-items: center; justify-content: space-between; box-sizing: border-box; }
.header-wrap  .logo-box {width:190px; height: 50px; flex-shrink: 0; background: url(../images/logo.svg) no-repeat center / 100%; }
.nav-wrap .nav-list {display:flex; gap: 200px; font-size:22px; font-weight:600;}
.nav-wrap .nav-list > li {position: relative;}
.nav-wrap .nav-list > li > a {padding: 39px 0;}
/* depth-2 서브메뉴 */
.nav-wrap .depth-2 {display: flex; gap:80px;position: absolute; left: 50%; top: 99px; transform: translateX(-50%);padding: 22px 70px; background: #fff; border: 1px solid #E6EAEC; 
                    border-radius: 0 0 20px 20px;visibility: hidden; z-index: 100; opacity: 0; transition: opacity 0.3s ease; box-sizing: border-box;}
.nav-wrap .nav-list > li:hover .depth-2,
.nav-wrap .nav-list > li.depth-open .depth-2 { visibility: visible;opacity: 1;}
.nav-wrap .depth-2 li { flex: 0 0 auto; width: auto; min-width: max-content; /* li가 a 내용 너비를 다 감쌀 수 있도록 */}
.nav-wrap .depth-2 li a { display: block; width: 100%; padding: 10px; font-size: 16px; font-weight: 500; color: #313942; box-sizing: border-box;}
.nav-wrap .depth-2 li a:hover { color: #4F6B7A;}
/* header-white일 때 depth-2 */
.header-white .depth-2 {background: rgba(255,255,255,0.98); border-color: rgba(255,255,255,0.3);}
.header-wrap .right-wrap {display:flex; gap: 30px; align-items: center;}
.header-tel {font-size: 18px; font-weight: 500;}
.btn-menu {width: 34px;height: 34px; background: url(../images/ico_menu.svg) no-repeat center / 100%;  cursor: pointer; font-size: 0; border: none;}
/* header 흰 버전 : header-white */
.header-white.header {background: transparent;  border-bottom:none;}
.header-white .header-wrap  .logo-box {background: url(../images/logo_w.svg) no-repeat center / 100%; }
.header-white .nav-wrap .nav-list {color: #fff;}
.header-white .header-tel {color:#fff;}
.header-white .btn-menu { background: url(../images/ico_menu_w.svg) no-repeat center / 100%;}
/* hover */
.header-white.header:hover  {background: #fff; border-bottom:1px solid #E6EAEC;}
.header-white.header:hover .depth-2{border-color:#E6EAEC;}
.header-white:hover .header-wrap  .logo-box {background: url(../images/logo.svg) no-repeat center / 100%; }
.header-white:hover .nav-wrap .nav-list {color: #313942;}
.header-white:hover .header-tel {color:#313942;}
.header-white:hover .btn-menu { background: url(../images/ico_menu.svg) no-repeat center / 100%;}
.btn-menu-close { width: 40px; height: 40px; padding: 0; border: none; background: url(../images/ico_close_w.svg) no-repeat center / 100%; cursor: pointer; font-size: 0; text-indent: -9999px;}
.btn-menu-close:hover {opacity: 0.7;}

@media (max-width: 920px) {
    .header {height:70px; position: fixed; }
    .header-wrap .logo-box {width:150px;}
    .nav-wrap {display: none;}
    .header-tel {display: none;}
    .btn-menu {width: 27px; height: 27px;}
    .btn-menu-close {width: 27px; height: 27px;}
    /* sub header */
    .header-sub .header-wrap  {justify-content: flex-end;}
    .header-sub .logo-box {display: none;}
    .header-sub.header-white {background: #fff; border-bottom:1px solid #E6EAEC;}
    .header-sub.header-white .btn-menu { background: url(../images/ico_menu.svg) no-repeat center / 100%;}
    /* hover */
    .header-white.header:hover  {background: transparent;  border-bottom:none;}
    .header-white:hover .header-wrap  .logo-box {background: url(../images/logo_w.svg) no-repeat center / 100%; }
    .header-white:hover .nav-wrap .nav-list {color: #fff;}
    .header-white:hover .header-tel {color:#fff;}
    .header-white:hover .btn-menu { background: url(../images/ico_menu_w.svg) no-repeat center / 100%;}

    
}
/* ============================================================== 전체화면 메뉴 오버레이 ============================================================== */
.menu-overlay {position: fixed; top: 0; left: 0; right: 0; bottom: 0; background-color: #4F6776; z-index: 100000; overflow-y: auto; opacity: 0; visibility: hidden; transition: opacity 0.3s ease, visibility 0.3s ease;}
.menu-overlay.open {  opacity: 1; visibility: visible;}
.menu-overlay-inner {  min-height: 100%; box-sizing: border-box;}
.menu-overlay-header { max-width: 1520px; height:100px; display: flex; justify-content: space-between; align-items: center; margin:0 auto ;}
.menu-overlay-logo { display: flex; align-items: center; gap: 16px; flex-wrap: wrap;}
.menu-overlay-logo .menu-logo-box {  width: 190px; flex-shrink: 0;}
.menu-overlay-right { display: flex; align-items: center; gap: 40px;}
.menu-overlay-tel { font-size: 18px; font-weight: 500; color: #fff; text-decoration: none; cursor: pointer;} /* 20260226 tel 링크로 전화 연결 가능 */

.menu-overlay-body {padding-top:160px;; max-width: 1200px; margin:0 auto;}
.menu-overlay-section {padding: 70px 0 40px; display: flex; align-items: center;}
.menu-overlay-tit { font-size: 40px;font-weight: 700;color: #fff; width: 350px;}
.menu-overlay-list {  display: flex; flex-wrap: wrap; gap: 40px 60px; list-style: none; padding: 0; margin: 0;}
.menu-overlay-list li a { width: 230px; font-size: 26px; font-weight: 400; color: rgba(255, 255, 255, 0.95); transition: color 0.2s, opacity 0.2s;}
.menu-overlay-list li a:hover { color: #fff; opacity: 1;}
.menu-overlay-divider {  border: none;  height: 1px;  background: rgba(255, 255, 255, 0.25);margin: 0;}
@media screen and (max-width: 1520px) {
    .menu-overlay-header  {max-width: 100%; padding:0 5vw;} 
    .menu-overlay-body {max-width: 100%;padding:10vw 5vw;}
}
@media screen and (max-width: 1024px) {
    .menu-overlay-header {height: 70px;}
    .menu-overlay-logo .menu-logo-box {width:150px;}
    .menu-overlay-tel {font-size: 16px; position: fixed; bottom:40px; left:50%; transform: translateX(-50%); width:max-content; }
    .menu-overlay-section { align-items: flex-start; flex-direction: column; padding: 40px 0;}
    .menu-overlay-tit {padding-bottom:30px; font-size: 26px; width: 100%;}
    .menu-overlay-list { flex-direction: column; gap:20px;}
    .menu-overlay-list li a {font-size:18px;}
}
/* ==============================================================개인정보 툴팁 ============================================================== */
.privacy-tooltip-wrap { position: relative; display: inline-block;}
.privacy-tooltip { display: none; position: absolute; left: 50%; bottom: 100%; transform: translateX(-50%); margin-bottom: 10px; z-index: 2100; min-width: 280px; max-width: 360px;}
.privacy-tooltip[aria-hidden="false"] {display: block;}
.privacy-tooltip-content { position: relative; min-width: 360px; box-sizing: border-box;background: #fff;padding: 22px;border-radius: 8px;box-shadow: 0 4px 16px rgba(0, 0, 0, 0.12);}
.privacy-tooltip-close {position: absolute;right: 12px;top: 12px;width: 24px;height: 24px;padding: 0;border: none;background: none; font-size: 20px; line-height: 1; color: #999; cursor: pointer;}
.privacy-tooltip-close:hover {color: #333;}
.privacy-tooltip-tit { margin: 0 24px 12px 0; font-size: 20px; font-weight: 600;}
.privacy-tooltip-body { font-size: 15px; line-height: 1.6;}
.privacy-tooltip-body p { margin: 0 0 8px;}
.privacy-tooltip-body p:last-child { margin-bottom: 0;}
.privacy-tooltip-body strong {display: inline;color: #333;}

@media (max-width: 920px) {
    /* .privacy-tooltip: 디바이스 중앙 + dim */
    .privacy-tooltip[aria-hidden="false"] {
        position: fixed !important; left: 0 !important;  top: 0 !important;  right: 0 !important;  bottom: 0 !important;  margin: 0 !important;  transform: none !important;
        display: flex !important; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; background: rgba(0, 0, 0, 0.7); min-width: auto !important; max-width: none !important;}
    .privacy-tooltip[aria-hidden="false"] .privacy-tooltip-content {max-width: 100%; margin: 0;}
}
/*  ============================================================== footer ============================================================== */
.footer{padding:50px 0 60px;color:#EDECE9; background:#313942; font-size:14px;}
.footer .wrap {max-width: 1520px; margin:0 auto;}
.footer-link-box {padding-bottom:16px;}
.footer-link-box a {font-weight: 600;}
.footer small {display: block; padding-top:10px; font-weight: 300;}

@media screen and (max-width: 1520px) {
.footer .wrap {max-width: 100%; padding:0 5vw;}
}
/* ============================================================== 메인 상담문의 고정 팝업 ==============================================================*/
.consul-overlay {position: fixed;bottom: 0px;left: 0;right: 0; z-index: 1999;transition: bottom 0.5s; animation: visualTxtFade 5s cubic-bezier(.22,.9,.31,1) forwards;}
.consul-overlay[aria-hidden="true"] { display: none;}
.consul-popup {width: 100%; height: 68px; overflow: hidden; transition: bottom 0.5s; background: rgba(49, 57, 66, 0.8); border-radius: 50px 50px 0 0;padding: 20px 30px 30px;position: relative;box-sizing: border-box;}
.consul-popup-header { display: flex; align-items: center; justify-content: center; position: relative; margin-bottom: 20px; cursor: pointer;}
.consul-popup .consul-title { color: #EDECE9; font-size: 26px; font-weight: 700; display: flex; align-items: center;}
.consul-close-btn {display: none; position: absolute;top: 0px; right: 0px; width: 28px; height: 28px; background: url(../images/ico_close_w.svg) no-repeat center / 100%;cursor: pointer; z-index: 10;}
@keyframes visualTxtFade { from { transform: translateY(-10); } to { opacity: 1; } }
.consul-overlay.active {bottom: 0; transition: bottom 0.5s;}
.consul-overlay.active .consul-popup {height: auto; overflow: unset; transition: height 0.5s;}
.consul-overlay.active .consul-popup .consul-title .ico-down-w {background: url(../images/ico_down_w.svg) no-repeat center / 100%;}
.consul-overlay.active .consul-close-btn {display: block;}
/* form */
.consul-form {max-width: 1400px; margin: 0 auto; display: flex;  gap: 12px;  align-items:center; justify-content: space-between;}
.consul-form .form-row { display: flex;gap: 12px;align-items: flex-start;flex-wrap: wrap;}
.consul-form .form-group {position: relative; flex: 1; min-width: 130px;}
.consul-form .form-row-consent { align-items: center; gap: 30px;margin-bottom: 0; flex-wrap: wrap;}
.consul-form .form-row-consent .right-wrap {display: flex; align-items: center; gap: 20px;}
.consul-form .checkbox-label {display: flex;align-items: center;gap: 10px;cursor: pointer; color: #fff; font-size: 14px; margin: 0;}
.consul-form .checkmark {width: 22px; height: 22px; border: 2px solid #EDECE9; border-radius: 3px; flex-shrink: 0; background: transparent;}
.consul-form .checkbox-text {font-size:16px; color:#EDECE9;}
.consul-form .detail-link {font-size:13px; color: #EDECE9;text-decoration: underline;font-size: 14px;}
.consul-submit-btn { min-width: 200px; padding: 14px 36px; background: #D9998E; color: #fff;border-radius: 8px;font-size: 17px;font-weight: 500;cursor: pointer; box-sizing: border-box;transition: background 0.2s, transform 0.2s;}
.consul-submit-btn:hover { background: #d08a82;}
.consul-overlay.active .consul-form {display:flex;}
@media screen and (max-width: 1520px) {
    /* .consul-overlay {bottom: -160px;} */
    .consul-form {flex-direction: column; max-width: 940px;}
    .consul-form .form-row {width:100%; justify-content: space-between;}
    .consul-form .form-row-consent {gap:0;}
}
@media (max-width: 920px) {
    /* .consul-overlay {bottom: -210px;} */
    .consul-popup-header {margin-bottom:30px;}
    .consul-popup .consul-title {font-size: 22px;}
    .consul-form { max-width: 100%;}
    .consul-form .form-row {width:100%; justify-content: space-between;} 
    .consul-submit-btn {width: 100%; margin-top:20px;} 
}
    @media (max-width: 768px) {
    .consul-popup {border-radius: 40px 40px 0 0 ; height:58px; padding-top:16px;}
    /* .consul-overlay {bottom: -260px;} */
    .consul-form .form-row:not(.form-row-consent) {display: grid; grid-template-columns: 1fr 1fr; gap: 8px;}
    }
    
/*==============================================================  서브 상담문의 팝업 ============================================================== */
.sub-consul-floating {position: fixed;bottom: 40px;right:50%; transform: translateX(900px); left:auto;  z-index: 1999;transition: bottom 0.5s; }
.sub-consul-floating .sub-consul-wrap{width: 106px; height: 106px; background: #385C9D; border-radius: 50%; padding: 0px; box-sizing: border-box; cursor: pointer; margin:0 auto; transition: width 0.7s ease, border-radius 0.2s ease 1s;}
.sub-consul-floating .consul-form {opacity: 0;position: absolute; right:9999px;}
.sub-consul-floating .sub-consul-tit {display: block; color: #fff; font-size: 22px; font-weight: 700; text-align: center; padding:22px; line-height: 1.3;}

.active.sub-consul-floating {transform: translateX(740px); }
.active.sub-consul-floating .sub-consul-tit {display: none; }
.active.sub-consul-floating .sub-consul-wrap {width: 1480px; background:#385C9D; border-radius: 80px;padding: 26px;position: relative; margin:0 auto; box-sizing: border-box;transition: width 0.7s ease, border-radius 0.2s ease;}
.active.sub-consul-floating .sub-consul-wrap .consul-title { color: #EDECE9; font-size: 26px; font-weight: 700; display: flex; align-items: center;}
.active.sub-consul-floating .consul-form {opacity: 1;position: static; right:auto; transition: opacity 0.3s ease 0.7s; }
.active.sub-consul-floating .consul-close-btn {display: block; position: absolute;top: -20px; right: 0px; width: 25px; height: 25px; 
                        background: rgba(49, 57, 66, 0.8) url(../images/ico_close_w.svg) no-repeat center / 17px; border-radius: 50%; cursor: pointer; z-index: 10;}

@media screen and (max-width: 1700px) {
    .sub-consul-floating {bottom:0px; left:0; right:0; transform: none;transition: bottom 0.5s;}
    .sub-consul-floating[aria-hidden="true"] { display: none;}
    .sub-consul-floating .sub-consul-wrap {width: 100%; height:68px; overflow:hidden; border-radius: 50px 50px 0 0; padding: 0px 30px 30px; box-sizing: border-box; }
    .sub-consul-floating .sub-consul-tit {font-size: 26px; padding:0;line-height: 68px;}
    .sub-consul-floating .sub-consul-tit:after {content:"";position: relative; top:3px; display: inline-block; width:28px; height: 28px; background: url(../images/ico_up_w.svg) no-repeat center / 100%;margin-left: 8px;}
    .sub-consul-floating .sub-consul-tit br {display: none;}
    .sub-consul-floating .consul-form {opacity: 1;}

    .active.sub-consul-floating {bottom:0; left:0; right:0; transform: none; transition: bottom 0.5s;}
    .active.sub-consul-floating .sub-consul-wrap {width: 100%; height:auto; overflow:unset; border-radius: 50px 50px 0 0; padding: 0px 30px 30px; box-sizing: border-box; }
    .active.sub-consul-floating .sub-consul-tit {display: block;}
    .active.sub-consul-floating .sub-consul-tit:after {background: url(../images/ico_down_w.svg) no-repeat center / 100%;}
    .active.sub-consul-floating .sub-consul-tit br {display: none;}
    .active.sub-consul-floating .consul-form {opacity: 1;}
    .active.sub-consul-floating .consul-close-btn {display: none; top:16px; right:28px;width: 28px; height: 28px;background: url(../images/ico_close_w.svg) no-repeat center / 100%;}
}

@media screen and (max-width: 1520px) {

}
@media (max-width: 920px) {
    .sub-consul-floating .sub-consul-tit {font-size:22px;}

}
    @media (max-width: 768px) {
    .sub-consul-floating .sub-consul-wrap {border-radius: 40px 40px 0 0; height:58px;}
    .sub-consul-floating .sub-consul-tit {font-size: 22px;line-height: 58px;}
    .active.sub-consul-floating .sub-consul-wrap {border-radius: 40px 40px 0 0;}
    }