:root {
    --color-primary: #C81025;
    --color-secondary: #0AA64B;
    --color-gray: #F5F5F7;
    --text: #111;
}

html {font-size: 10px; line-height: 1.2em; font-family: 'Pretendard'; font-optical-sizing: auto; font-style: normal; font-weight: 400; color: var(--text);}
body {font-size: 1.6rem; }
html.no-scroll {overflow: hidden;}
h1, h2, h3, h4, h5, h6 {line-height: 1.2em;}
* {line-height: 1.4em; word-break: keep-all; font-weight: 400;}
input, textarea, select {font-family: 'Pretendard'; font-weight: 400; color: #222;}
button {border: 0; outline: 0; font-family: 'Pretendard'; background: transparent;}
.inner {width: 90%; margin: 0 auto; max-width: 150rem;}
.br-mb {display: none;}
ul, li, ol {list-style: none; margin: 0; padding: 0;}
b {font-weight: 700;}
.flex {display: flex; }
.main {padding-top: 8rem;}

.box {border-radius: 2rem; overflow: hidden;}
.box-border {border: 1px solid #E0E0E0; }

@media (max-width: 768px) {
    body {font-size: 1.4rem; } 
}

/* 폰트 */
.font-pretendard {font-family: 'Pretendard', sans-serif;}

/* 폰트 색상 */
.text-red {color: var(--color-primary);}

/* 폰트 사이즈 */
.text-90 {font-size: 9rem;}
.text-70 {font-size: 7rem;}
.text-50 {font-size: 5rem;}
.text-40 {font-size: 4.0rem;}
.text-38 {font-size: 3.8rem;}
.text-36 {font-size: 3.6rem;}
.text-32 {font-size: 3.2rem;}
.text-26 {font-size: 2.6rem;}
.text-24 {font-size: 2.4rem;}
.text-22 {font-size: 2.2rem;}
.text-20 {font-size: 2rem;}
.text-18 {font-size: 1.8rem;}
.text-16 {font-size: 1.6rem;}
.text-15 {font-size: 1.5rem;}
.text-14 {font-size: 1.4rem;}
.text-12 {font-size: 1.2rem;}

@media (max-width: 2000px) {
    .text-90 {font-size: 7rem;}
    .text-70 {font-size: 5rem;}
    .text-50 {font-size: 4rem;}
    .text-40 {font-size: 3.6rem;}
    .text-38 {font-size: 3.4rem;}
    .text-36 {font-size: 3.2rem;}
    .text-32 {font-size: 3rem;}
    .text-26 {font-size: 2.4rem;}
    .text-24 {font-size: 2.2rem;}
    .text-22 {font-size: 2rem;}
    .text-20 {font-size: 1.9rem;}
    .text-18 {font-size: 1.8rem;}
}


@media (max-width: 1440px) {
    .text-90 {font-size: 6rem;}
    .text-70 {font-size: 4.4rem;}
    .text-50 {font-size: 3.6rem;}
    .text-40 {font-size: 3.2rem;}
    .text-38 {font-size: 3rem;}
    .text-36 {font-size: 2.9rem;}
    .text-32 {font-size: 2.8rem;}
    .text-26 {font-size: 2.2rem;}
    .text-24 {font-size: 2rem;}
    .text-22 {font-size: 1.9rem;}
    .text-20 {font-size: 1.8rem;}
    .text-18 {font-size: 1.7rem;}
}

@media (max-width: 1024px) {
    .text-90 {font-size: 4.8rem;}
    .text-70 {font-size: 4rem;}
    .text-50 {font-size: 3.6rem;}
    .text-40 {font-size: 3rem;}
    .text-38 {font-size: 2.8rem;}
    .text-36 {font-size: 2.6rem;}
    .text-32 {font-size: 2.4rem;}
    .text-26 {font-size: 2rem;}
    .text-24 {font-size: 1.8rem;}
}

@media (max-width: 768px) {
    * {word-break: keep-all !important;}
    .text-90 {font-size: 4rem;}
    .text-70 {font-size: 3.2rem;}
    .text-50 {font-size: 2.8rem;}
    .text-40 {font-size: 2.4rem;}
    .text-38 {font-size: 2.2rem;}
    .text-36 {font-size: 2rem;}
    .text-32 {font-size: 2rem;}
    .text-26 {font-size: 1.8rem;}
    .text-24 {font-size: 1.7rem;}
    .text-22 {font-size: 1.6rem;}
    .text-20 {font-size: 1.6rem;}
    .text-18 {font-size: 1.5rem;}
    .text-16 {font-size: 1.4rem;}
    .text-15 {font-size: 1.4rem;}
    .text-14 {font-size: 1.3rem;}
}

@media (max-width: 480px) {
    .text-90 {font-size: 3.2rem;}

    .text-24 {font-size: 1.6rem;}
}

.box-white {background: #fff;}

/* 버튼 스타일 */
.button-basic {display: inline-flex; align-items: center; justify-content: center; padding: 1.5rem 3rem; border-radius: 6px; font-size: 1.6rem; line-height: 1.25em; width: fit-content; transition: .2s; border: 0;}
.button-basic.blackborder {color: var(--text); background: #fff;}
.button-basic.whiteborder {color: #fff; background: rgba(255, 255, 255, 0.20);}
.button-basic.grayborder {color: var(--text); background: #fff; box-shadow: inset 0 0 0 1px #E0E0E0;}
.button-basic.black {color: #fff; background: var(--text);}
.button-basic.white {color: var(--color-primary); background: #fff;}
.button-basic.fadewhite {color: #fff; background: rgba(255, 255, 255, 0.20); backdrop-filter: blur(10px);}
.button-basic.red {color: #fff; background: var(--color-primary);}
.button-basic.blueborder {color: var(--color-primary); background: #fff; box-shadow: inset 0 0 0 1px var(--color-primary);}
.button-basic--full { width: 100%; }
.button-basic--lg {padding: 1.6rem 2.5rem; font-size: 1.8rem; width: 20rem; font-weight: 500;}
.button-basic--wide {width: 25rem; }
.button-basic--sm {padding: 1.5rem 2rem; font-size: 1.4rem; }
.button-basic--xs {padding: 0.9rem 1.5rem !important; font-size: 1.3rem; }
.button-line {border-top: 1px solid #222; border-bottom: 1px solid #222; background: #fff; width: 100%; font-weight: 600; border-radius: 0;}

@media (hover:hover) {
    .button-basic.red:hover {box-shadow: inset 0 0 0 1px #222; background: #222}
    .button-basic.black:hover {box-shadow: inset 0 0 0 1px var(--color-primary); background: var(--color-primary); color: #fff;}
    .button-basic.white:hover {box-shadow: inset 0 0 0 1px var(--color-primary); background: var(--color-primary); color: #fff;}
    .button-basic.whiteborder:hover {box-shadow: inset 0 0 0 1px var(--color-primary); background: var(--color-primary); color: #fff;}
    .button-basic.blackborder:hover {box-shadow: inset 0 0 0 1px var(--color-primary); background: var(--color-primary); color:#fff;}
    .button-basic.fadewhite:hover {background: var(--color-primary) }
    /* .button-basic.black:hover {border-color: #555; background: #555;}
    .button-basic.whiteborder:hover {border-color: #F2E9F7; background: rgba(242, 233, 247, 0.20)}
    .button-basic.blackborder:hover {border-color: #F2E9F7; background: #F6F4F8; color:#542A73}
    .button-basic.fadewhite:hover {background: rgba(255, 255, 255, 0.50)} */
}

@media (max-width: 2000px) {
    /* .button-basic {padding: 1.2rem 0.8rem;} */
}

@media (max-width: 1440px) {
    .button-basic {padding: 1.1rem 0.8rem; font-size: 1.5rem;}
    .button-basic--sm {padding: 1rem 2rem;}
}

@media (max-width: 768px) {
    .button-basic {font-size: 1.4rem; }
}

/*헤더*/
.header {position: fixed; top: 0; width: 100%; left: 0; transition: .25s; height: 8rem; z-index: 999; transition: 0.5s; background: #fff; backdrop-filter: blur(15px); box-shadow: 0 3px 20px rgba(0,0,0,0.08);}
.header .nav-bg {width: 100%; position: absolute; top: calc(100% - 1px); left: 0; background: #fff; height: 0; transition: height 0.25s; z-index: 2;}
.header .inner {display: flex; column-gap: 9rem; align-items: center; height: 100%;}
.header .logo {display: flex; align-items: center;}
.header .logo a {background: url('../img/common/logo-header.png') no-repeat center / contain; width: 29rem; height: 3.2rem;}
.header .logo img, .footer-logo img {width: 100%;}
.header .gnb {margin-left: auto;}
.header .gnb, .header .gnb nav {height: 100%;}
.header .gnb .depth1 {display: flex; align-items: center; height: 100%; }
.header .gnb .depth1 > li:not(:last-child) {margin-right: 3rem;}
.header .gnb .depth1 > li {display: flex; align-items: center; position: relative; height: 100%;}
.header .gnb .depth1 > li > a {display: flex; align-items: center; justify-content: center; padding: 1rem; position: relative; z-index: 100; line-height: 1; font-size: 1.8rem; font-weight: 500; color: var(--text); transition: 0.2s;}
.header .gnb .depth1 > li span {position: relative;}
.header .gnb a {display: inline-block; font-family: 'Pretendard'; text-align: center; width: 100%; text-align: center; color: #fff; word-break: keep-all;;}
.header .gnb .depth2 {position: absolute; top: 85%; left: 50%; transform: translateX(-50%); width: 21rem; z-index: 10; height: 0; overflow: hidden; border-radius: 10px; background: #FFF; box-shadow: 0 3px 4px 0 rgba(0, 0, 0, 0.15); backdrop-filter: blur(10px); }
.header .gnb .depth2 > li {width: 100%; }
.header .gnb .depth2 a {line-height: normal; font-size: 1.5rem; text-align: left; color: var(--text); padding: 8px 10px; text-align: left;}
.header .header-actions {display: none; align-items: center; column-gap: 2rem;}
.header .header-menu--btn {display: flex; justify-content: center; flex-direction: column; cursor: pointer;}
.header .header-menu--btn span {width: 2.4rem; height: 2px; border-radius: 999px; margin: 2px 0; transition: all ease .3s; background: #222; transition: .15s;}
.header .depth1 > li:hover::after {left: 50%; width: 100%;}
.header .depth1 > li > a {color: var(--text)}
.header .open .depth2 {display: flex; flex-direction: column; row-gap: 4px; height: auto; padding: 1.6rem 1.2rem;}
.header .open .depth2 > li > a {line-height: 1.25; border-radius: 0.5rem;}
.header .gnb .depth1 > li.current > a {color: var(--color-primary);}
.header .gnb .depth1 > li.current span::after {content: ""; display: inline-block; width: 0.5rem; height: 0.5rem; border-radius: 999px; background: var(--blue); position: absolute; right: -0.8rem; top: 0;}
.header .gnb .depth2 > li.current > a {background: var(--gray)}

/* 스크롤 다운 시, 헤더 숨김 */
.header.scroll-down {transform: translateY(-100%);}
.header.scroll-down.open {transform: translateY(0);}

/* 스크롤 시작 시, 헤더 디자인 변경 */
.header.is-active {background: rgba(255, 255, 255, 0.60); backdrop-filter: blur(15px); }
.header.is-active .logo a {background: url('../img/common/logo-header-color.svg') no-repeat center / contain; filter: unset;}
.header.is-active .gnb .depth1 > li > a {color: var(--text);}
.header.is-active + .search-wrap {top: 7rem;}
.header.is-active .header-search button {background: url('../img/common/icon-search-color.svg') no-repeat center; filter: unset;}



/* 푸터 */


.footer {padding: 6rem 0 6rem; background: #111111; color: #fff;}
/* .footer-top {display: none;} */
.footer .logo a {display: block;}
.footer-info {display: flex; flex-direction: column; row-gap: 4rem; width: 36.5%;}
.footer-info .company-info {margin-top: auto;}
.footer-info .company-info ul {display: flex; flex-direction: column; row-gap: 4px;}
.footer-info .company-info li {display: flex; align-items: center; column-gap: 2rem;}
.footer-info .company-info span {display: inline-block; font-size: 1.4rem; line-height: 1.4em; font-weight: 500;}
.footer-info .company-info .info-label {color: rgba(255, 255, 255, 0.60);}
.footer-actions {display: flex; flex-direction: column; margin-left: auto;}
.footer-actions ul {display: flex; align-items: center; column-gap: 4.2rem;}
.footer-actions li:not(:last-child) {position: relative;}
.footer-actions li:not(:last-child)::after {content: ""; display: inline-block; width: 2px; height: 2px; background: #d9d9d9; position: absolute; right: -2.1rem; top: 50%; transform: translateY(-50%);}
.footer-top {padding: 0 0 4rem; background: var(--text-primary); border-bottom: 1px solid #E0E0E0;}
.footer-top {display: flex; align-items: flex-start; column-gap: 2rem;}
.footer-top > div {align-self: stretch;}
.footer-info {display: flex; flex-direction: column; row-gap: 4rem; width: 36.5%;}
.footer-info .company-info p {font-size: 1.4rem; line-height: 1.4em;}
.policy {display: flex; flex-direction: column; row-gap: 1rem;}
.policy .policy-list {display: flex; column-gap: 3.1rem;} 
.policy .policy-list li {position: relative; font-size: 1.4rem;}
.policy .policy-list li:not(:last-child)::after {content: ""; display: inline-block; width: 1px; height: 85%; background: #d9d9d9; position: absolute; right: -1.5rem; top: 50%; transform: translateY(-50%);}
.footer-actions {display: flex; flex-direction: column; width: 58%;}
.sitemap ul {display: flex; align-items: flex-start; justify-content: space-between; column-gap: 2rem;}
.sitemap-depth1 {}
.sitemap-depth2 {display: flex; flex-direction: column; font-size: 1.5rem; margin-top: 2rem;}
.sitemap-depth2 li {line-height: 1.6em;}
.sitemap-depth2 a {color: #666; display: flex; align-items: baseline; column-gap: 0.5rem; line-height: 1.6em; font-weight: 400;}
.sitemap-depth2 a::before {content: "-"; display: inline-block; font-size: inherit; color: inherit;}
.footer-bottom {padding-top: 3rem;}
.footer .copyrights {font-size: 1.4rem; }

/* 퀵메뉴 */
.quick-menu {position: fixed; bottom: 8rem; right: 6rem; z-index: 50; display: flex; flex-direction: column; row-gap: 2rem;}
.quick-list ul {display: flex; flex-direction: column; row-gap: 1rem;}
.quick-list li {text-align: center; border-radius: 1rem; overflow: hidden;}
.quick-list li:nth-child(1) {box-shadow: inset 0 0 0 1px #E0E0E0; background: #fff; color: var(--text);}
.quick-list li:nth-child(2) {background: #0054A7; color: #fff;}
.quick-list li:nth-child(3) {background: #002955; color: #fff;}
.quick-list li:nth-child(1) a {color: var(--text);}
.quick-list li:nth-child(2) a, .quick-list li:nth-child(3) a {color: #fff;}

.quick-link {display: flex; flex-direction: column; row-gap: 1rem; align-items: center; justify-content: center; text-align: center; font-size: 1.4rem; width: 9rem; aspect-ratio: 1/1; padding: 1rem; }

.dropdown {position: relative; width:28rem; height:4.3rem; border:1px solid #4C4A4A; border-radius: 6px;}
.dropbtn {width:100%; height:100%; background: transparent; padding:0 1.5rem; line-height:4.3rem; text-align:left; border-radius: 6px; color: #fff;}
.dropbtn::after{content:''; display:block}
.dropdown svg {position:absolute; right: 1.5rem; top: 2.15rem; transform: translateY(-50%) rotate(0); transition: transform 0.15s;}
.dropdown-content {position: absolute; bottom: calc(100% + 1px); background-color: var(--text); backdrop-filter: blur(10px); border: 1px solid #4C4A4A; min-width: 100%; max-height: 18rem; overflow-y: auto; padding: 1rem 0; box-shadow: 0px 0px 7px 0px rgba(0,0,0,0.2); border-radius: 6px; z-index: 1;}
.dropdown-content a {color: #fff; padding: 1rem 1.6rem; text-decoration: none; display: block; transition: background-color 0.3s ease; /* 항목에 애니메이션 적용 */}
.dropdown-content a:hover {background-color: #1B1A1D; color: #fff;}
.dropdown.open svg {transform: translateY(-50%) rotate(180deg);}

/* 폼 스타일 */
.form-section {display: flex; flex-direction: column; row-gap: 3rem;}
.form-section.gap25 {row-gap: 2.5rem;}
.form-section.gap20 {row-gap: 2rem;}
.form-section .section-title {}
.form-row {display: flex; column-gap: 4rem;}
.form-row.is-hidden {display: none;}
.form-row--col2 {column-gap: 1.2rem;}
.form-row.form-row--accordion {flex-direction: column;}
.input-group.col {}
.input-group.col--sm {width: 25%; flex: unset;}
.form-row--btn {display: flex; align-items: center; flex-direction: row; justify-content: center; column-gap: 0.6rem;}
.form-row--file {flex-direction: row; column-gap: 1rem; flex-wrap: wrap; row-gap: 0.6rem;}
.form-row .label {display: flex; align-items: center;}
.form-row .label label {line-height: 1.2; font-size: 1.5rem; font-weight: 500;}
.form-row .label .aster {display: inline-block; align-self: baseline; margin-left: 0.6rem; color: #FF3136}
.form-row .label.label-col2 {column-gap: 1.2rem;}
.form-row .label.label-col2 label:first-child {width: 25%;}
.input-group {display: flex; flex-direction: column; row-gap: 1.2rem; flex: 1;}
.input-group.flex {flex-direction: row; column-gap: 1rem;}
.input-desc {color: #666; font-size: 1.5rem; }
.input-wrap {display: flex; align-items: center; column-gap: 1.2rem;}
.input-btn {align-self: stretch;}
.input-btn .button-basic {border: 1px solid var(--color-primary); height: 100%;}
.input-item {overflow: hidden; flex: 1;}
.input-item .frm_input, .input-item input, .input-item select, .input-item textarea {border-radius: 6px;  padding: 1.8rem 2.5rem 1.9rem; font-size: 1.5rem; line-height: 1.3; width: 100%; -webkit-appearance: none; -moz-appearance: none; appearance: none; background: #fff; border: 1px solid #E6E6EB; -webkit-box-shadow: none; box-shadow: none;}
.input-item.textarea {padding: 1.8rem 2.5rem; background: #fff; font-size: 1.5rem; line-height: 1.3em; width: 100%; min-height: 20rem;}
.input-item.textarea.active, .input-item.textarea.focus {background: #fff;}
.input-item.focus input, .input-item.focus select, .input-item.focus textarea {border-color: var(--color-primary); background: #fff;}
.input-item.active input, .input-item.active select, .input-item.active textarea {border-color: var(--color-primary); background: #fff; }
.input-item.active input:read-only, .input-item.active select:read-only, .input-item.active textarea:read-only {border-color: #E6E6EB; background: var(--color-gray);}
.input-item.active input.js-datepicker:read-only {border-color: var(--color-primary)}
.input-item input.readonly, .input-item.active input.readonly {background: #cbcbcf}
.input-item select {background: url('../img/sub/icon-select.svg') no-repeat 95% 50%; background-size: 1.6rem 1.6rem; -webkit-appearance: none; -moz-appearance: none; appearance: none;}
.input-item textarea {background: transparent; border: 0; padding: 0; box-shadow: none;}
.input-item.smarteditor2 {border: 0; border-radius: 0; }
.input-item.smarteditor2 .btn_cke_sc {display: none;}
.input-guide {display: none; font-size: 1.4rem; color: #f53b3b; margin-top: 1rem;}
.input-guide.is-error {display: block;}
.input-group button.button-icon {display: flex; align-items: center; justify-content: center; column-gap: 0.5rem;}
.form-row--agreement {flex-direction: column; }
.form-row--agreement .checkbox.all {margin-bottom: 2rem;}
.form-row--agreement ul {display: flex; flex-direction: column; row-gap: 1rem; padding: 0 2.5rem;}
.form-row--agreement .label-text {display: flex; align-items: center;}
.form-row--agreement .label-text button {text-decoration: underline; text-underline-offset: 3px;}
.form-row .term-text {padding: 2.5rem 2rem; max-height: 20rem; overflow-y: auto;}
.checkbox-wrap {display: flex; align-items: center; column-gap: 2rem;}
.checkbox-subwrap {display: flex; align-items: center; }
.checkbox-subwrap .checkbox + .checkbox {margin-left: 2rem;}
.checkbox label {display: flex; align-items: flex-start; }
.checkbox label span {display: flex; align-items: flex-start; line-height: 1.8em; font-size: 16px; margin-right: 10px;}
.checkbox label em {display: inline-block; width: 18px; height: 18px; background: #fff; border: 1px solid #D9D9D9; border-radius: 3px;}
.checkbox input:checked ~ label em {border-color: var(--color-primary); background-color: var(--color-primary); background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='13' height='9' viewBox='0 0 13 9' fill='none'%3E%3Cpath d='M1.25 4.58333L4.32692 7.25L11.25 1.25' stroke='white' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
background-repeat: no-repeat; background-position: center; background-size: 13px 9px;}
.checkbox-icon label em {border: 0; border-radius: 0; background-image: url('../img/sub/checkbox-grey.svg'); background-color: transparent; width: 1.8rem; height: 1.8rem;}
.checkbox-icon input:checked ~ label em {border-color: 0; background-image: url('../img/sub/checkbox-purple.svg'); background-color: transparent;}
.radio-warp {display: flex; align-items: center; column-gap: 1.5rem;}
.radio-warp .radio {position: relative; text-align: left; font-size: 1.6rem; color: #222; line-height: 1em; cursor: pointer; line-height: 1.6em;}
.radio label {display: flex; align-items: center; column-gap: 1rem;}
.radio label span {display: flex; align-items: flex-start; line-height: 1.8rem; font-size: 1.6rem;}
.radio label em {display: inline-block; width: 1.8rem; height: 1.8rem; background: #fff; border: 1px solid #D9D9D9; border-radius: 999px;}
.radio input:checked ~ label em {border-color: var(--blue); background-color: var(--blue); background-repeat: no-repeat; background-position: 50% 50%; background-size: 12px 10px;}
.form-row--notice {display: flex; align-items: baseline; column-gap: 1.5rem;}
.notice-icon {display: flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: 999px; background: rgba(243, 20, 20, 0.15); flex-shrink: 0;}

.table-wrap table {border-top: 1px solid #1D2635; width: 100%; border-collapse: collapse; border-spacing: 0; table-layout: fixed;}
.table-wrap caption {padding:0;font-size:0;line-height:0;overflow:hidden}
.table-wrap table {width: 100%; border-collapse: collapse; border-spacing: 0; }
.table-wrap table th {border-bottom: 1px solid #222; padding: 2.5rem 2rem;}
.table-wrap table td {padding: 3.5rem 2rem; font-size: 1.6rem; border-bottom: 1px solid #EAEAEA}
.table-wrap .td-title {font-size: 2rem; font-weight: 600;}
.table-wrap .badge {display: inline-block; padding: 0.8rem 1rem; border-radius: 6px; background: #FCF0F1; color: var(--color-primary); font-size: 1.2rem; font-weight: 600; line-height: normal;}
.business .table-wrap table thead tr {background: #F5F5F7; border-bottom: 1px solid #E8E8EA}
.business .table-wrap table thead th {padding: 16px 5px; font-size: 1.5rem; border-right: 1px solid #E8E8EA;}
.business .table-wrap table thead th:last-child {border-right: none;}
.business .table-wrap table tbody tr {border-bottom: 1px solid #E8E8EA;}
.business .table-wrap table tbody td {text-align: center; padding: 16px 5px; font-size: 1.5rem; border-right: 1px solid #E8E8EA;}
.business .table-wrap table tbody tr td:last-child {border-right: none;}


/* .sch_res_list li {display: flex; gap:0 20px;}
.sch_res_list li .thumb_img {width: 120px; flex-shrink: 0}
.sch_res_list li .thumb_img img {width:100%}
.sch_res_list li .dis_guide_thumb {width: 120px; height: 80px; flex-shrink: 0; border:1px solid var(--line2)}
.sch_res_list li .dis_guide_thumb img {width:100%}
.sch_res_list li .thumb_img.none {display:none}
.sch_res_list li .cont_wrap {flex-grow: 1}
.sch_res_list p + .sch_info {padding-top:20px} */

.sch_info {font-size:13px}

@keyframes menubg-animation {
    0% {background-position: 0% 50%;}
    50% {background-position: 100% 50%;}
    100% {background-position: 0% 50%;}
}

@keyframes text-toright {
    0% {
        opacity: 0;
        transform: translateX(-60px);
    }
    100% {
        opacity: 1;
        transform: translateX(0);
    }
}

@media (hover: hover) and (min-width: 1025px) {
    .header .gnb .depth1 > li:hover > a {color: var(--color-primary);}
    .header .gnb .depth2 a:hover {background: #F5F5F7}
}

@media (max-width: 2000px) {
    .inner {max-width: 152rem; width: 90%;}

    .header .gnb .depth1 > li > a {font-size: 1.7rem;}

    .footer .inner {column-gap: 10rem;}

    .table-wrap .td-title {font-size: 1.9rem;}

}

@media (max-width: 1440px) {
    .header .gnb .depth1 > li:not(:last-child) {margin-right: 2rem;}

    .footer .inner {column-gap: 8rem;}
    .footer .logo {width: 14rem;}
    .footer-info {row-gap: 2.8rem;}

    .table-wrap table th {padding: 2rem 2rem;}
    .table-wrap table td {padding: 3rem 2rem;}
    .table-wrap .td-title {font-size: 1.8rem;}
}

@media (max-width: 1280px) {
    .footer .inner {column-gap: 4rem;}
    .footer .logo {width: 12rem;}
}

@media (max-width: 1024px) {
    .br-mb {display: block;}

    .header {height: 6rem !important;}
    .header .inner {column-gap: 2rem;}
    .header .logo {z-index: 999;}
    .header .logo a {width: 20rem; height: 3rem;}
	.header .nav-bg {height: 0 !important; opacity: 0; visibility: hidden; transition: opacity .3s; position: fixed; top: 0; background: transparent;}

	.header .gnb {position: fixed; right: -100%; top: 0; margin: 0; padding: 0; padding-top: 8rem; z-index: 900; max-width: none; min-width: 300px; width: 100%; height: 100svh; background: #fff; animation: menubg-animation 8s ease infinite; -webkit-transition: all 0.01s; -moz-transition: all 0.01s; -ms-transition: all 0.01s; -o-transition: all 0.01s; transition: all 0.01s; background-size: 350% 350% !important; background-position: 0 0;}
	.header .gnb .depth1 {display: flex; flex-direction: column; align-items: flex-start; row-gap: 0; overflow-y: scroll; padding: 2.5rem 0 8rem; margin-left: 0; width: 100%; height: 100%; -ms-overflow-style: none; scrollbar-width: none; scroll-behavior: smooth;}
	.header .gnb .depth1 > li {display: block; height: auto; width: 100%;}
    .header .gnb .depth1 > li::after {content: none;}
	.header .gnb .depth1 > li:not(:last-child) {padding-right: 0;}
	.header .gnb .depth1 > li > a {display: block; padding: 1.2rem 2.8rem; width: 100%; position: relative; font-size: 2.2rem; line-height: 1.3em; height: auto; margin-bottom: 0; cursor: pointer; text-align: left; color: var(--text); font-weight: 400;}
    .header .gnb .depth1 .has-children > a::after {content: ""; display: inline-block; width: 16px; height: 2px; background: #222; position: absolute; right: 2rem; top: 50%; transform: translateY(-50%) rotate(90deg); transition: transform 0.15s;}
    .header .gnb .depth1 .has-children > a::before {content: ""; display: inline-block; width: 16px; height: 2px; background: #222; position: absolute; right: 2rem; top: 50%; transform: translateY(-50%);}
    .header .gnb .depth1 .has-children.active > a::after {transform: translateY(-50%) rotate(0deg);}
	.header .gnb .depth1 > li.active > a {background: var(--gray);}
    .header .gnb .depth1 > li span {line-height: 1.3em;}
	/* .header .gnb .depth1 > li.active span::after {content: ""; display: inline-block; width: 0.5rem; height: 0.5rem; border-radius: 999px; background: var(--blue); position: absolute; right: -0.8rem; top: 0;} */
	.header .gnb .depth2 {position: static; transform: translateX(0); text-align: left; padding: 0; padding-left: 1.6rem; max-height: 0; overflow: hidden; background: transparent; box-shadow: none; height: auto; background: #FFF1F2; width: 100%; border-radius: 0;}
	.header .gnb .depth2 a {font-size: 15px; text-align: left; color: var(--text); }
    .header .gnb .depth2 li:first-child {padding-top: 1.2rem;}
    .header .gnb .depth2 li:last-child {padding-bottom: 1.2rem;}
    .header-sub.open .header-menu--btn span {background: var(--text);}
    /* .header.open .gnb .depth1 > li > a {-webkit-animation: text-toright .4s cubic-bezier(.175, .885, .32, 1) both; -moz-animation: text-toright .4s cubic-bezier(.175,.885,.32,1) both; animation: text-toright .4s cubic-bezier(.175, .885, .32, 1) both;}
    .header.open .gnb .depth1 > li:nth-child(1) > a { animation-delay: 0.07s; }
    .header.open .gnb .depth1 > li:nth-child(2) > a { animation-delay: 0.14s; }
    .header.open .gnb .depth1 > li:nth-child(3) > a { animation-delay: 0.21s; }
    .header.open .gnb .depth1 > li:nth-child(4) > a { animation-delay: 0.28s; }
    .header.open .gnb .depth1 > li:nth-child(5) > a { animation-delay: 0.35s; }
    .header.open .gnb .depth1 > li:nth-child(6) > a { animation-delay: 0.42s; } */
	.header.open .depth2 > li > a {padding: 0.8rem 2rem; margin-bottom: 0;}
	.header.open .depth3 {padding-left: 2rem;}
	.header.open .depth3 a {padding-left: 1rem;}
	.header.open .depth3 a::before {left: 0;}
	.header .header-menu-open {z-index: 6000;}

	.header.open .gnb {right: 0;}
	.header.open .header-menu--btn span:nth-child(1) {transform: rotate(45deg) translateY(-3.5px); transform-origin: 0 50%;}
	.header.open .header-menu--btn span:nth-child(2) {transform: translate(-100%); opacity: 0;}
	.header.open .header-menu--btn span:nth-child(3) {transform: rotate(-45deg) translateY(3px); transform-origin: 0 50%;}

    .header.is-active .header-menu--btn span {background: var(--text)}
    .header.is-active.open .header-menu--btn span {background: #fff;}
    .header.is-active .gnb .depth1 > li > a {color: #fff;}

    .header .header-actions {display: flex; margin-left: auto;}

    .alarm-modal {top: 5.5rem;}
    .alarm-modal .alarm-box a {padding: 1.4rem; column-gap: 1.2rem;}
    .alarm-modal .alarm-box .box-icon {width: 2.8rem; height: 2.8rem;}

    /* 검색 */
    .search-wrap {padding: 8rem 5% 4rem; }
    .search-wrap .close {top: 0rem;}
    .search-wrap .button-close {font-size: 2.8rem;}
    .header.is-active + .search-wrap {top: 6rem;}

    /* 푸터 */
    .footer {padding: 4rem 0 5rem;}
    .footer-top {flex-direction: column-reverse; row-gap: 3rem;}
    .footer-top .footer-actions {margin-left: 0;}
    .footer-actions, .footer-info {width: 100%;}
    .footer-actions ul {column-gap: 2.1rem;}
    .footer-actions li:not(:last-child)::after {right: -1.2rem;}
    .footer-bottom .footer-actions {display: none;}
    .footer-bottom .inner {flex-direction: column; flex-wrap: wrap; row-gap: 4rem;}
    .footer .logo {width: 7rem;}
    .footer-info {row-gap: 2rem; width: 100%;}

}


@media (max-width: 768px) {
    .header .header-actions {column-gap: 1.6rem;}
    .header .utility-menu a, .header .utility-menu button {padding: 1rem 1.2rem; column-gap: 0.4rem;}
    .header .utility-menu .menu-text {display: none;}
    .header .utility-menu .menu-logout {display: none;}
    /* .header .utility-menu .menu-mypage .menu-text {display: inline-block;} */
    .alarm-modal {width: 76%; height: 32.5rem;}
    .alarm-modal .tab-menu a {font-size: 1.5rem; padding: 1.2rem 0 ;}
    .alarm-modal .tab-content {padding: 1.2rem;}
    .alarm-modal .alarm-box a {padding: 1.2rem;}
    .alarm-modal .alarm-box .box-icon {width: 2.4rem; height: 2.4rem;}
    .alarm-modal .read .alarm-box .box-icon svg {width: 12px;}
    .alarm-modal .unread .alarm-box .box-icon svg {width: 4px;}

    .footer-top {padding: 0 0 2rem; }
    .footer-bottom {padding-top: 2rem;}
    .footer-info .company-info span {font-size: 1.3rem;}
    .footer .copyrights {font-size: 1.2rem;}


    .quick-menu {right: 1.2rem; width: 6rem; bottom: 2rem; right: 4rem; row-gap: 1rem; display: none;}
    .quick-link {font-size: 1.25rem; row-gap: 0.4rem;}
    .quick-list .quick-link svg {width: 2rem; height: 2rem;}

    .form-section {row-gap: 2rem;}
    .form-row {flex-wrap: wrap; row-gap: 2rem;}
    .form-row .label label {font-size: 1.4rem;}
    .input-group {width: 100%; flex: auto; row-gap: 0.8rem;}
    .input-wrap {width: 100%;}
    .input-item .frm_input, .input-item input, .input-item select, .input-item textarea {padding: 1.4rem 1.5rem; font-size: 1.3rem;} 
    .input-guide {margin-top: 0;}
    .input-btn .button-basic {padding: 1.4rem 1.5rem; font-size: 1.4rem; line-height: 1.3em;}
    .checkbox-wrap {flex-wrap: wrap;}

    .table-wrap .td-title {font-size: 1.6rem;}
    .table-wrap table td {font-size: 1.4rem;}
}

@media (max-width: 480px) {
    .contact .input-wrap--email {flex-wrap: wrap; row-gap: 0.6rem;}
    .contact .input-wrap--email .input-item.select {width: 100%; flex: auto; }

    .form-row--agreement ul {padding: 0 0.8rem;}
    .form-row--btn .button-basic {flex: 1;}
}

@media (max-width: 350px) {
    .footer-info .company-info p .dot-mb {opacity: 0; font-size: 0; display: block;}
}

/* 팝업 */
#hd_pop {z-index: 999;}
#hd_pop .hd_pops {position: fixed; background: transparent; border: 0; border-radius: 12px; overflow: hidden; box-shadow: 3px 5px 12px rgba(0,0,0,0.20)}
#hd_pop .hd_pops .hd_pops_con {width: auto !important; height: auto !important; max-width: 45rem; }
#hd_pop .hd_pops .hd_pops_con p {font-size: 0;}
#hd_pop .hd_pops .hd_pops_con br {display: none; height: 0;}
#hd_pop .hd_pops_footer {background: #fff;}
#hd_pop .hd_pops_footer button {padding: 20px 12px;}
#hd_pop .hd_pops_footer .hd_pops_reject {font-size: 1.45rem; color: #222; background: #fff; font-weight: 500;}
#hd_pop .hd_pops_footer .hd_pops_close {display: flex; align-items: center; column-gap: 3px; height: 100%; background: #fff; color: #222; font-size: 1.45rem;}
#hd_pop .hd_pops_footer .hd_pops_close i {display: none;}
#hd_pop .hd_pops_footer .hd_pops_close::after {content: "⨉"; display: inline-block; color: #222; font-weight: 500; font-size: 2rem; line-height: 1em; padding-bottom: 3px;}

@media (max-width: 1280px) {
	#hd_pop .hd_pops {left: 50% !important; transform: translateX(-50%); top: 20vh !important; box-shadow: 3px 5px 12px rgba(0,0,0,0.4)}
}

@media (max-width: 480px) {
	#hd_pop .hd_pops .hd_pops_con {width: 80vw !important;}
	#hd_pop .hd_pops_footer button {padding: 14px 10px;}
	#hd_pop .hd_pops .hd_pops_footer .hd_pops_reject, #hd_pop .hd_pops .hd_pops_footer .hd_pops_close {font-size: 1.4rem;}
	#hd_pop .hd_pops_footer .hd_pops_close::after {font-size: 1.6rem; padding-bottom: 0px;}
}

@media (max-width: 360px) {
	#hd_pop .hd_pops .hd_pops_footer .hd_pops_reject, #hd_pop .hd_pops .hd_pops_footer .hd_pops_close {font-size: 1.4rem;}
	#hd_pop .hd_pops .hd_pops_footer .hd_pops_close::after {font-size: 1.6rem;}
}


/* 로그인 페이지 */
.member-wrap, .member-wrap.mbskin {height: 100%; max-width: 54rem; width: 90%; margin-top: 10rem; margin-bottom: 6rem; margin-left: auto; margin-right: auto;}
.member-wrap h1 {position: static; margin-bottom: 6rem; text-align: center; }
.member-wrap h1 a {display: flex; align-items: center; justify-content: center; margin-bottom: 25px;}
.member-wrap.mbskin .mbskin_box {border: 0; padding: 4rem 2.4rem 6rem; background: var(--color-gray); border-radius: 2rem;}
.member-wrap .login_form {margin-bottom: 4rem;}
.member-wrap #login_fs {padding: 0;}
.member-wrap .form-row {flex-direction: column; row-gap: 1rem;}
.member-wrap .input_wrap {width: 100%;}
.member-wrap .input_wrap:nth-child(2) {margin-bottom: 8px;}
.member-wrap .input_item.valid::before {content: ''; position: absolute; top: -1px; right: -1px; left: -1px; bottom: -1px; border: 1px solid var(--main-theme); z-index: 3; border-radius: 12px}
.member-wrap .checkbox_wrap {display: flex; align-items: center; margin: 0; column-gap: 3rem;}
.member-wrap.mbskin form .btn_wrap {margin-top: 1.5rem;}
.member-wrap.mbskin form .ubtn {color: #fff; background: var(--blue); border-radius: 6px; font-size: 1.4rem; padding: 1.2rem 2.5rem;}
.member-wrap .login_info {display: flex; align-items: center; justify-content: center; column-gap: 2.5rem; text-align: center;}
.member-wrap.mbskin .section-row--heading h2 {margin-bottom: 1.5rem;}

/* 페이저 */
/* .pg_wrap{width:100%; text-align:center; margin-top: 4rem;}
.pg_page{border-radius:0;}
.pg_current{background: var(--color-primary); border: 1px solid var(--color-primary); border-radius:0;} */