@charset "utf-8";


/* wrap */
#wrap {position: relative; width: 100%; overflow-x: clip;}


/* skip-navigation */
.skip-navigation {position:absolute;}
.skip-navigation a {position:absolute; top:-200px;}
.skip-navigation a:focus,
.skip-navigation a:active {display:block; position: fixed; top:0px; left:0;  width:100%; height:50px; text-align:center; font-size:14px; font-weight:bold; line-height: 50px; color:#fff; background:#000; text-decoration:none; z-index:9999;}


/* header */
.header {position: absolute; top: 0; left: 0; /*position: sticky; top: 0; left: 0;*/ width: 100%; height: 80px; transition: .3s; z-index: 100;}
.header.scroll-on {box-shadow: 2px 2px 6px 3px rgba(0, 0, 0, 0.1);}
.header-inner {display: flex; justify-content: space-between; width: 100%;height: 100%; padding: 0 175px;}
.logo {height: 80px;}
.logo a {position: relative; display: flex; height: 100%;}
.logo a img {margin: auto 0;}

/* one depth */
.gnb {margin-right: 20px;}
.gnb nav {position: relative;}
.menu {position: relative;display: flex;font-weight: 500;}
.menu > li {position: relative;}
.menu > li > a {position: relative; display: block; padding: 0 30px; font-size: 20px; font-weight: 500; line-height: 80px; color: #fff; transition: .3s; cursor: pointer;}
.menu > li:hover > a {color:#bacbff;transition: .3s;}

/* two depth */
.sub-menu {position: absolute; left: 50%; transform: translateX(-50%); font-weight: 400; background: #fff; }
.sub-menu li {position: relative; max-height: 0; width: 0; padding: 0; opacity: 0; text-align: center;  overflow: hidden;  transition: .3s;}
.sub-menu li a {white-space: nowrap; font-size: 16px; color: #111; font-weight: 700; transition: .3s;}
.sub-menu li:hover > a {color: var(--point); transition: .3s;}
.sub-menu li.active > a {color: var(--point); transition: .3s;}
.sub-menu li:hover::after {color: var(--point); transition: .3s;}

.menu li:hover > .sub-menu,
.menu li:focus-within  > .sub-menu {box-shadow: 2px 2px 6px 3px rgba(0, 0, 0, 0.1); z-index: 2; padding: 0 28px; padding-top: 10px; padding-bottom: 30px;}
.menu li:hover > .sub-menu li,
.menu li:focus-within > .sub-menu li {width: auto; min-width: 160px; max-height: none; padding-top: 20px; opacity: 1;}
.menu li:hover > .sub-menu li:has(.inner-menu)::after,
.menu li:focus-within > .sub-menu li:has(.inner-menu)::after {font-size: 14px; transition: .3s;}


/* three depth */
.inner-menu {transition: .3s;}
.inner-menu li {padding-top: 10px !important;}
.inner-menu li a {font-size: 14px; color: #9c9c9c;}


.right-btns {display: flex; position: absolute; top: 0; right: 0;}
.login-btn {width: 80px; min-width: 80px; height: 80px; background: rgba(255, 255, 255, 0.8); color: var(--point); border: none; transition: .3s;}
.login-btn:hover {opacity: 0.8; transition: .3s;}
.login-btn i,
.login-btn svg {font-size: 30px;}


/* mobile menu */
.ham-btn {display: block; position: relative; width: 80px; height: 80px; border: none; background-color: var(--point); transition: .3s;}
.right-btns .ham-btn:hover {opacity: 0.8; transition: .3s;}
.ham-btn .ham-icon {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 22px; color: #000; transition: .3s;}
.ham-btn .ham-on-icon {position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); font-size: 22px; color: #000; opacity: 0; transition: .3s;}
.ham-btn.active .ham-on-icon {opacity: 1; transition: .3s;}
.ham-btn.active .ham-icon {opacity: 0; transition: .3s;}

.m-menu-wrap {position:fixed; top:0; left:0; width:100%; height:100%; background-color:rgba(0,0,0,0); visibility:hidden; z-index: 900; transition: .5s;}
.m-menu-wrap.active {background-color:rgba(0,0,0,0.6); visibility:visible;}

.m-menu {position:fixed; top:0;right:-25%;width:25%;height:100%; padding-bottom:15px; background-color:rgba(0, 0, 0, 0.8); backdrop-filter: blur(5px); transition: .5s; }
.m-menu .m-inner {padding-top: 20px; height: 100%; overflow-y: auto;}

.m-menu .m-inner::-webkit-scrollbar {width: 8px;}
.m-menu .m-inner::-webkit-scrollbar-thumb {background-color: #797979; border-radius: 10px; background-clip: padding-box; border: 2px solid transparent;}
.m-menu .m-inner::-webkit-scrollbar-track {background: transparent;}

.m-menu-wrap.active .m-menu {right: 0;}

.m-menu .menu-wrap {width: 100%; margin: auto 0;}
.m-menu .menu-header {display: flex; justify-content: end; padding: 0 30px;}
.m-menu .menu-header .ham-btn {width: 40px; height: 40px; background-color: transparent;}
.m-menu .menu-header .ham-btn i {font-size: 26px; color: #fff; position: absolute; opacity: 0.6;}

.m-menu .menu-wrap .menu-content {}
.m-menu .menu-wrap .one-depth-menu {width: 100%; padding: 0 30px;}
.m-menu .menu-wrap .one-depth-menu > li {padding: 0 0 25px; margin-bottom: 25px; font-weight: 500; border-bottom: 1px solid #373737;}
.m-menu .menu-wrap .one-depth-menu > li:first-of-type {padding-top: 25px;}
.m-menu .menu-wrap .one-depth-menu > li:nth-of-type(4) {margin-bottom: 0;}
.m-menu .menu-wrap .one-depth-menu > li > a {display: block; position: relative;width: 210px;font-size: 24px; color: #fff;}
.m-menu .menu-wrap .two-depth-menu {width: 100%; margin-top: 10px;}
.m-menu .menu-wrap .two-depth-menu > li {position: relative; min-width: 170px;}
.m-menu .menu-wrap .two-depth-menu > li:not(:last-of-type) {padding-bottom: 10px;}
.m-menu .menu-wrap .two-depth-menu > li:not(:last-of-type):after {content: ""; position: absolute; top: 0; right: -30px; width: 1px; height: 100%; border-right:1px dashed #373737;}

.m-menu .menu-wrap .two-depth-menu > li > a {font-size: 18px; font-weight: 400; line-height: 19px; color: #ececec;}
.m-menu .menu-wrap .three-depth-menu {padding-top: 5px;}
.m-menu .menu-wrap .three-depth-menu > li:not(:last-of-type) {margin-bottom: 10px;}
.m-menu .menu-wrap .three-depth-menu > li > a {font-size: 15px; font-weight: 400; line-height: 19px; color: #9c9c9c;}

.else-menu {display: none !important;}
.m-sns-list {display: none; gap: 10px;}
.m-sns-list li {text-align: center;}
.m-sns-list li button {background-color: transparent; border: none;}
.m-sns-list li i {font-size: 16px; color: #fff;}


/* footer */
.footer {position: relative; display: flex; width: 100%; height: 130px; color: #fff; font-weight: 400; background-color: #111;}
.footer-inner {display: flex; justify-content: space-between; width: 1500px; margin: auto;}
.foot-info {display: flex; gap: 15px;}
.foot-info li a {font-size: 15px; font-weight: 500; color: #aaa;}
.copy {margin: auto 0; font-size: 16px; color: #fff;}

/* 공통 */
.container {width: 100%;}




/* =========== 서브 레이아웃 =========== */
/* 서브 레이아웃 공통 */
.inner {padding: 0 20px;max-width: 1560px;width: 100%;margin: 0 auto;}

/* 서브 비주얼 */
.sub-visual {background-position: center center;background-repeat: no-repeat;background-size: cover;height: 360px;display: flex;align-items: center;}
.sub-visual.visual1 {background-image: url('../images/sub_visual1.png');}
.sub-visual.visual2 {background-image: url('../images/sub_visual2.png');}
.sub-visual.visual3 {background-image: url('../images/sub_visual3.png');}
.sub-visual.visual4 {background-image: url('../images/sub_visual4.png');}
.sub-visual h2 {font-size: 45px;font-weight: 700;color: #fff;text-align: center;}
.sub-visual p {font-family: var(--pt);font-size: 20px;font-weight: bold;color: #fff;text-align: center;letter-spacing: 0.2em;}

/* 서브 컨텐츠 */
.sub-content-wrap {min-height: 485px;}
.sub-content-wrap > .inner {display: flex;gap: 60px;}
.sub-content-wrap > .inner > .left {width: 250px;transform: translateY(-130px);}
.sub-content-wrap > .inner > .right {width: calc(100% - 310px);margin-left: auto;padding: 70px 0 140px;min-height: 500px;}
.sub-content-wrap > .inner > .full {width: calc(100%);margin-left: auto;padding: 70px 0 140px;min-height: 500px;}

@media screen and (min-width: 1921px) {
    .sub-content-wrap > .inner > .right {min-height: 710px;}
}

/* 왼쪽 메뉴 */
.snb .menu-title {height: 130px;display: flex;align-items: center;background: url('../images/snb_bg.png') no-repeat center center;background-size: cover;}
.snb .menu-title h6 {font-size: 30px;font-weight: bold;color: #fff;text-align: center;}
.snb .menu-list {height: 100%;border-left: 1px solid #ddd;border-right: 1px solid #ddd;}
.snb .menu-list > li {border-bottom: 1px solid #ddd;}
.snb .menu-list > li > a {background: #fff;padding: 20px;display: flex;justify-content: space-between;align-items: center;transition: all .3s ease;font-size: 17px;}
.snb .menu-list > li > a span {padding-left: 10px;}
.snb .menu-list > li > a i {transform: rotate(-90deg);transition: all .3s;}
.snb .menu-list > li.on > a, .snb .menu-list > li:hover > a {background: #F4F6F7;font-weight: bold;color: var(--point);transition: all .3s ease;}
.snb .menu-list > li.on > a i {transform: rotate(0);transition: all .3s;}
.snb .drop-menu-list {background: #f4f6f7;padding: 18px 0;border-top: 1px solid #ddd;}
.snb .drop-menu-list:has(li.active) {display: block;}
.snb .drop-menu-list:not(:has(li.active)) {display: none;}
.snb .drop-menu-list > li > a {display: block;width: 100%;height: 100%;padding: 0 40px;transition: all .3s;}
.snb .drop-menu-list > li.active > a, .snb .drop-menu-list > li:hover > a {font-weight: 700;transition: all .3s;}

/* 오른쪽 컨텐츠 */
.sub-title {padding-bottom: 24px;box-shadow: inset 0 -.33px 0 0 #ccc;display: flex;flex-wrap:wrap;justify-content: space-between;align-items: center;margin-bottom: 50px;gap: 10px;}
.sub-title h3 {font-weight: 500;color: var(--black);font-size: 40px;white-space: nowrap;text-overflow: ellipsis;overflow: hidden;}
.bread-crumb {display: flex;gap: 10px;line-height: 1;}
.bread-crumb > li {display: flex;align-items: center;gap: 10px;}
.bread-crumb > li a {font-size: 18px;}
.bread-crumb > li:not(:last-child)::after {display: block;content: '·';color: #c5c5c5;}
.bread-crumb > li > a {color: #767676;}
.bread-crumb > li:last-child > a {font-weight: 700;}


/* 반응형 */
@media screen and (max-width: 1750px) {
    .header-inner {padding: 0 50px;}
    .gnb {margin-right: 140px;}
}

@media screen and (max-width: 1620px) {
    .footer-inner {width: 100%; padding: 0 50px;}
}
@media screen and (max-width: 1360px) {
    .m-menu .menu-wrap .two-depth-menu > li:not(:last-of-type):after {display: none;}
    .m-menu .menu-wrap .two-depth-menu > li > a {display: inline-block; min-width: 125px; font-size: 16px;}
    .m-menu .menu-wrap .three-depth-menu {flex-direction: row;}
}

@media screen and (max-width: 1200px) {
    .header {height: 65px;}
    .header-inner {padding: 0 35px;}
    .logo {height: 65px;}
    .gnb {display: none;}
    .login-btn {width: 65px; min-width: 65px; height: 65px;}
    .login-btn i, .login-btn svg {font-size: 26px;}
    .ham-btn {width: 65px; min-width: 65px; height: 65px;}
    .ham-btn img {max-width: 28px;}

    .m-menu {right: -50%; width: 50%;}
    .m-menu .m-inner {padding-top: 0;}
    .m-menu .menu-header {height: 65px;}
    .m-menu .menu-header .ham-btn {width: 65px; height: 65px; margin: auto 0;}
    .m-menu .menu-wrap .one-depth-menu > li:first-of-type {padding-top: 20px; margin-top: 0;}
    .m-menu .menu-wrap .one-depth-menu > li {padding: 0 0 20px; margin-bottom: 20px;}
    .m-menu .menu-wrap .one-depth-menu > li > a {font-size: 20px;}

    .sub-content-wrap > .inner > .left {display: none;}
    .sub-content-wrap > .inner > .right {width: 100%;}
}

@media screen and (max-width: 1024px) {
    .sub-content-wrap > .inner > .right {padding: 60px 0 120px;}
    
    .sub-title {padding-bottom: 16px;margin-bottom: 40px;}
    .sub-title h3 {font-size: 32px;}
    .bread-crumb > li a {font-size: 16px;}
}

@media screen and (max-width: 1020px) {
    .foot-info li a {font-size: 14px;}
    .copy {font-size: 14px; line-height: 24px;}
}

@media screen and (max-width: 800px) {
    .header {height: 60px;}
    .header-inner {padding: 0 25px;}
    .logo {height: 60px;}
    .logo a img {max-width: 210px;}
    .login-btn {width: 60px; min-width: 60px; height: 60px;}
    .ham-btn {width: 60px; min-width: 60px; height: 60px;}

    .m-menu {right: -80%; width: 80%;}
    .m-menu .menu-header {height: 60px; padding:0 25px;}
    .m-menu .menu-header .ham-btn {width: 25px; height: 60px; min-width: auto;}
    .m-menu .menu-header .ham-btn i {font-size: 22px;}
    .m-menu .menu-wrap .one-depth-menu {padding: 0 25px;}
    .m-menu .menu-wrap .one-depth-menu > li > a {font-size: 18px;}

    .footer {height: auto;}
    .footer-inner {flex-direction: column; gap: 20px; padding:40px 50px 55px;}
}

@media screen and (max-width: 768px) {
    .sub-visual h2 {font-size: 40px;}
    .sub-visual p {font-size: 18px;}

    .sub-content-wrap > .inner > .right {padding: 50px 0 100px;}

    .sub-title h3 {font-size: 28px;}
    .bread-crumb > li a {font-size: 15px;}
}

@media screen and (max-width: 500px) {
    .header {height: 55px;}
    .header-inner {padding: 0 20px;}
    .logo {height: 55px;}
    .logo a img {max-width: 180px;}
    .login-btn {width: 55px; min-width: 55px; height: 55px;}
    .login-btn i, .login-btn svg {font-size: 24px;}
    .ham-btn {width: 55px; min-width: 55px; height: 55px;}
    .ham-btn img {max-width: 25px;}

    .footer-inner {gap: 30px; padding: 30px 25px 30px;}
}

@media screen and (max-width: 480px) {
    .sub-visual h2 {font-size: 32px;}
    .sub-visual p {font-size: 16px;letter-spacing: 0.1em;}

    .sub-content-wrap > .inner > .right {padding: 40px 0 80px;}

    .sub-title {padding-bottom: 8px;}
    .sub-title h3 {font-size: 24px;}
    .bread-crumb > li a {font-size: 14px;}
}

/* =========== 로그인 =========== */
.container:has(.login-wrap) {background: url('../images/login_bg.png') no-repeat center top;background-size: cover;width: 100%;height: 100%;}
.inner:has(.login-wrap) {justify-content: center;align-items: center;height: 100vh;}
.login-wrap {width: 100%;max-width: 500px;}
.login-wrap .login {padding: 80px;border-radius: 20px;background: #fff;}
.login-header h4 {font-weight: 700;font-size: 48px;color: #333;}
.login-content {margin-top: 40px;}
.login-content dl:not(:first-of-type) {margin-top: 32px;}
.login-content dl dt {color: #333;}
.login-content dl dd {margin-top: 4px;}
.login-content dl dd .icon-input-wrap {width: 100%;display: flex;align-items: center;border-radius: 5px;border: 1px solid #e5e5ec;padding: 0 16px;column-gap: 12px;}
.login-content dl dd .icon-input-wrap .input-basic {border: none;padding: 0;}
.login-content dl dd .icon-input-wrap .icon {width: 20px;height: 20px;display: flex;justify-content: center;align-items: center;font-size: 14px;color: #c7c7cc;}
.login-content dl:last-child {margin-top: 20px;display: flex;align-items: center;justify-content: space-between;}
.login-content dl:last-child dt .check-box span {gap: 8px;}
.login-content dl:last-child dd {margin-top: 0;font-size: 15px;color: var(--gray);}
.login-content dl:last-child dd button {font-size: 15px;color: var(--gray);transition: all .3s;}
.login-content dl:last-child dd button:hover {color: var(--point);transition: all .3s;}
.login-footer {margin-top: 32px;}
.login-footer .btn-wrap:not(:first-of-type) {margin-top: 8px;}
.login-footer .btn-wrap .btn {width: 100%;}
@media screen and (max-width: 480px) {
    .container:has(.login-wrap) {padding-top: 55px;}
    .login-wrap .login {max-width: none;padding: 40px 32px;}
    .login-header h4 {font-size: 24px;}
    .login-footer .btn-wrap {flex-wrap: wrap;}
}