:root{
--color-primary: #003763;
--color-secondary: #3C3C3C;
--color-text: #141414;
--mn-sec-padding: 100px;
--sub-sec-padding: 120px;
--fz-10: min(2.1vw, 10px); 
--fz-11: min(2.4vw, 11px); 
--fz-12: min(2.7vw, 12px); 
--fz-13: min(2.9vw, 13px); 
--fz-14: min(3.2vw, 14px); 
--fz-15: min(3.5vw, 15px); 
--fz-16: min(3.7vw, 16px); 
--fz-17: min(4.0vw, 17px); 
--fz-18: min(4.3vw, 18px); 
--fz-19: min(4.5vw, 19px); 
--fz-20: min(4.8vw, 20px); 
--fz-21: min(5.1vw, 21px); 
--fz-22: min(5.3vw, 22px); 
--fz-23: min(5.6vw, 23px); 
--fz-24: min(5.9vw, 24px); 
--fz-25: min(6.1vw, 25px); 
--fz-26: min(6.4vw, 26px); 
--fz-27: min(6.7vw, 27px); 
--fz-28: min(6.9vw, 28px); 
--fz-29: min(7.2vw, 29px); 
--fz-30: min(7.5vw, 30px); 
--fz-31: min(7.7vw, 31px); 
--fz-32: min(8.0vw, 32px); 
--fz-33: min(8.3vw, 33px); 
--fz-34: min(8.5vw, 34px); 
--fz-35: min(8.8vw, 35px); 
--fz-36: min(9.1vw, 36px); 
--fz-37: min(9.3vw, 37px); 
--fz-38: min(9.6vw, 38px); 
--fz-39: min(9.9vw, 39px); 
--fz-40: min(10.1vw, 40px); 
--fz-41: min(10.4vw, 41px); 
--fz-42: min(10.7vw, 42px); 
--fz-43: min(10.9vw, 43px); 
--fz-44: min(11.2vw, 44px); 
--fz-45: min(11.5vw, 45px); 
--fz-46: min(11.7vw, 46px); 
--fz-47: min(12.0vw, 47px); 
--fz-48: min(12.3vw, 48px); 
--fz-49: min(12.5vw, 49px); 
--fz-50: min(12.8vw, 50px);
--h1-fz: 36px;
--h2-fz: 28px;
--h3-fz: 24px;
--h4-fz: 20px;
--h5-fz: 18px;
--tit-desc-fz: 18px;
--detail-fz: 18px;
--ff-pretendard: 'Pretendard Variable',Pretendard;
--ff-suit: 'SUIT Variable',Pretendard;

}

h1{font-size: var(--fz-36);}
h2{font-size: var(--fz-28);}
h3{font-size: var(--fz-24);}
h4{font-size: var(--fz-20);}
h5{font-size: var(--fz-18);}

body, button, input, select, textarea, a{color: var(--color-text); font-family: var(--ff-pretendard);}

/* 피그마 폰트 대응 */
body {-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;}

.mo{display: none !important;}
.mo-ib{display: none !important;}
.mo-if{display: none !important;}
.mo-f{display: none !important;}
.mo-g{display: none !important;}

header{position: fixed; top: 0; width: 100%; margin: 0 auto;z-index: 999; --hd-text: #3C3C3C; --hd-ham: #524A43; background: #fff; transition: 0.5s ease; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05);}
header.hide{ transform: translateY(-100%); box-shadow: unset;}
header.tr{background: transparent; --hd-text: #fff; --hd-ham: #fff; box-shadow: unset;}
header .hd-cont{width: 100%; max-width: 1920px; height: 84px; padding-inline: 80px; justify-content: space-between; align-items: center; display: flex; box-sizing: border-box; margin-inline: auto;}
header .logo-area{width: 250px;}
header .logo-image {width: 103px; height: auto;}
header .logo-image.cl{display: block;}
header .logo-image.wh{display: none;}
header.tr .logo-image.cl{display: none;}
header.tr .logo-image.wh{display: block;}
header .navigation {flex-grow: 1; display: flex; justify-content: center; align-items: center; height: 100%;}
header .menu-list {display: flex; gap: 76px; justify-content: center; width: 100%; list-style: none; padding: 0; margin: 0; white-space: nowrap;}
header .menu-item{position: relative; width: fit-content; transition: width 0.5s; text-align: center;}
header .menu-item a{text-align: center; color: var(--hd-text); font-size: 20px;font-weight: 400; line-height: 1.4; word-wrap: break-word;}
header .menu-item:after{position: absolute; content: ''; bottom: -30px; left: 0; width: 0; height: 2px; background-color: var(--color-primary); transition: width 0.5s ease; z-index: 100;}
header .menu-item:hover:after{width: 100%;}
header.is-hover .menu-list,
header.is-active .menu-list{gap: 0;}
header.is-hover .menu-list .menu-item,
header.is-active .menu-list .menu-item{width: calc(100% / 6);}
header .hd-btn-wrap {display: flex; justify-content: end; align-items: center; width: 250px; gap: 28px;}
header .hd-btn-wrap .btn-login{padding: 10px 27px; border-radius: 99px; border: 1px solid var(--hd-ham); color: var(--hd-text);font-size: 18px; font-style: normal; font-weight: 500; line-height: normal;}
header .hamburger-button {width: 36px; height: 18px; flex-direction: column; justify-content: space-between; align-items: flex-start; display: inline-flex; background: none; border: none; cursor: pointer; padding: 0; position: relative;}
header .bar {width: 100%; height: 2px; background: var(--hd-ham); transition: all 0.3s;}
header.is-active .bar:nth-child(1) {transform: translateY(8px) rotate(30deg);}
header.is-active .bar:nth-child(2) {opacity: 0;}
header.is-active .bar:nth-child(3) {transform: translateY(-8px) rotate(-30deg);}

#top_menu { position: absolute; top: 100%; left: 0; width: 100%; background: #fff; box-shadow: 0 10px 20px rgba(0,0,0,0.05); height: 0; overflow: hidden; transition: height 0.3s ease-in-out; z-index: 99; } 
#main_header.is-hover #top_menu, #main_header.is-active #top_menu { height: 312px; } 
#top_menu .nav-body {display: flex; justify-content: center; max-width: 1920px; margin: 0 auto; padding: 36px 80px 88px;}
#top_menu .nav-body ul {display: flex; align-items: flex-start;}
#top_menu .nav-body ul li{position: relative; display: flex; align-items: center; flex-direction: column; gap: 36px; width: calc(100% / 6); text-align: center;} 
#top_menu .nav-body ul li:after{position: absolute; content: ''; top: -36px; left: 0; width: 0; height: 2px; background-color: var(--color-primary); transition: width 0.5s ease;}
#top_menu .nav-body ul li:hover:after{width: 100%;}
#top_menu .nav-body ul li a {position: relative; color: #3C3C3C;font-size: 16px; font-style: normal; font-weight: 500; line-height: normal;}
#top_menu .nav-body ul li a:hover:before{position: absolute; content: ''; top: 50%; left: -9px; transform: translateY(-50%); width: 5px; height: 5px; border-radius: 50%; background-color: #7FA0C1;}


.quick-fixed-menu{position:fixed;right:0;top:50%;z-index:500;width:111px;padding:8px 0 ;border-radius:30px 0 0 30px;background:#70C7C8;transform:translateY(-50%);box-shadow:0 12px 28px rgba(0,0,0,.08);overflow:hidden;}
.quick-fixed-menu .quick-fixed-item{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;width:100%;min-height:103px;color:#fff;text-decoration:none;box-sizing:border-box;transition:.35s;}
.quick-fixed-menu .quick-fixed-item:not(:last-child)::after{content:"";position:absolute;left:18px;right:18px;bottom:0;height:1px;background:rgba(255,255,255,.45);}
.quick-fixed-menu .quick-fixed-item .txt{display:block;color: #FFF; text-align: center; font-family: var(--ff-pretendard); font-size: var(--fz-16); font-style: normal; font-weight: 500; line-height: 1.81; /* 181.25% */}
.quick-fixed-menu .quick-fixed-item:hover .icon{transform:translateY(-2px);}
.quick-fixed-menu .quick-fixed-item .icon{transition:.35s;}

#main_header.header-container{position:fixed;left:0;top:0;z-index:999;width:100%;height:96px;background:transparent;box-shadow:none;transition:background .35s ease,box-shadow .35s ease,transform .35s ease;}
#main_header.is-scrolled{background:rgba(255,255,255,.94);box-shadow:0 6px 24px rgba(0,0,0,.06);backdrop-filter:blur(10px);}
#main_header .hd-cont{position: relative; width:100%;max-width:1920px;height:100%;margin:0 auto;padding:0 50px;display:flex;align-items:center;justify-content:space-between;box-sizing:border-box;}
#main_header .logo-area{display:flex;align-items:center;width:auto;margin:0;flex:0 0 auto;}
#main_header .logo-area a{display:flex;align-items:center;}
#main_header .logo-image{display:block;width:320px;height:auto;}
#main_header .navigation{display:flex;align-items:center;justify-content:flex-start;height:100%;flex:1; padding-left: 110px;}
#main_header .menu-list{display:flex;align-items:center;justify-content:flex-end;gap:46px;width:auto;margin:0;padding:0;list-style:none;white-space:nowrap;}
#main_header .menu-item{position:relative;width:auto;text-align:center;}
#main_header .menu-item a{display:flex;align-items:center;height:96px;color:#595959;font-size:var(--fz-17);font-style:normal;font-weight:500;line-height:1;text-decoration:none;transition:color .3s ease;}
#main_header .menu-item::after{content:"";position:absolute;left:0;bottom:28px;width:0;height:2px;background:#71C9CE;transition:width .35s ease;}
#main_header .menu-item:hover::after,
#main_header .menu-item.active::after{width:100%;}
#main_header .menu-item:hover a,
#main_header .menu-item.active a{color:#07142D;}
#top_menu,
#side_menu,
#main_header .hd-btn-wrap{display:none!important;}

footer{background: #2A2E38;}
footer .ft-cont{max-width: 1920px; margin: 0 auto; width: 100%; padding: 29px 61px 111px 116px; display: flex;}
footer .ft-left{padding-right: 118px;}
footer .ft-txt ul{display: flex; flex-direction: column; gap: 0;}
footer .ft-center{display: flex; flex-direction: column; gap: 34px;}
footer .ft-center .ft-link-wrap a{color: #767C8D; font-family: var(--ff-pretendard); font-size: var(--fz-16); font-style: normal; font-weight: 600; line-height: 1.81; /* 181.25% */ letter-spacing: 0.16px;}
footer .ft-txt .info p{color: #767C8D; font-family: var(--ff-pretendard); font-size: var(--fz-15); font-style: normal; font-weight: 400; line-height: 29px; letter-spacing: 0.15px;}
footer .ft-txt .copy p{color: #767C8D; font-family: var(--ff-pretendard); font-size: var(--fz-13); font-style: normal; font-weight: 400; line-height: 29px; letter-spacing: 0.13px;}
footer .ft-link-wrap{display: flex; align-items: center; gap: 31px;}
footer #top_btn{border-radius: 20px; background: #828CA5; width: 98px; height: 98px; display: flex; align-items: center; justify-content: center; margin-left: auto;}
footer .ft-right{padding-left: 79px;}
footer .ft-right ul{display: flex; gap: 37px; align-items: center;}
footer .ft-right li .ico-box{background: #434751; width: 68px; height: 68px; border-radius: 100px; overflow: hidden; display: flex; align-items: center; justify-content: center;}
footer .ft-right li a{display: flex; flex-direction: column; gap: 4px; align-items: center;}
footer .ft-right li p{color: #767C8D; text-align: center; font-family: var(--ff-pretendard); font-size: var(--fz-15); font-style: normal; font-weight: 600; line-height: 29px; /* 193.333% */ letter-spacing: 0.15px;}


.policy_wrap{ padding-top: 80px; padding-bottom: 236px; font-family: 'Noto Sans KR'; font-size: 16px; font-weight: 400; line-height: 1.6; color: #191F28; margin: 0 auto; position: relative; width: 1100px }
.policy_wrap h1{ font-weight: 800; font-size: 28px; line-height: 1; margin-bottom: 16px }
.policy_wrap h2{ font-size: 24px; font-weight: 800; margin-top: 46px }
.policy_wrap h3{ font-size: 18px; font-weight: 800; margin-top: 46px }
.policy_wrap p{margin-top: 16px;}
.policy_wrap p strong{font-weight: 700;}
.policy_wrap table{border-collapse: collapse;text-align: center;margin-top: 16px;color: #4d4d4d;width: 100%;}
.policy_wrap table td, .policy_wrap table th{border: 1px solid #959595;padding: 18px;box-sizing: border-box;font-size: 15px;line-height: 1.3;}
.policy_wrap table td strong{font-weight: 700;}
.policy_wrap table th{background: #f0f0f0;font-weight: 700;}
.policy_wrap table.no_line{color:#191F28;}
.policy_wrap table.no_line td, .policy_wrap table.no_line th{border: none;padding: 5px 0;text-align: left;}
.policy_wrap table.primary td:first-child{font-weight: 700;}.policy_wrap .info_style{padding: 10px;}

#mobile_menu{display:none;}

.c-182851{color:#182851;}
.fz_13{font-size:0.813rem;}

.charge_cont_wrap{position:relative;width:100%;}
.charge_top_title{position:relative;width:100%;text-align:center;font-size:1.875rem;font-weight:600;padding:0 0 3rem;color:#182851;letter-spacing:0.02em;}

.table_free{width:100%;border-collapse:collapse;table-layout:fixed;}
.table_free > tbody > tr > th{font-size:1.125rem;vertical-align:middle;border:1px solid #b9b9b9;padding:12px 12px;color:#fff;background-color:#182851;text-align:center;font-weight:600;}
.table_free > tbody > tr > td{font-size:1rem;vertical-align:middle;border:1px solid #8e857a;padding:12px 12px;font-weight:500;text-align:center;color:#222;}
.table_free > tbody > tr > td.price_col{text-align:center;white-space:nowrap;}
.table_free .cate_col{width:25%;}
.table_free .name_col{width:35%;}
.table_free .price_col{width:20%;}
.mobile-menu-box{transform: translateY(-50%); right: 50px; top: 50%; position:absolute; display: flex; align-items: center; gap: 17px; padding: 0 24px; border-radius: 50px; overflow: hidden; border: 1px solid #000922; width: 180px; height: 51px; z-index: 40000; cursor: pointer;}
.mobile-menu-box p{display: flex; align-items: center; gap: 10px; color: #000922; font-family: var(--ff-pretendard); font-size: var(--fz-16); font-style: normal; font-weight: 400; line-height: normal; white-space: nowrap;}    
.mobile-menu-btn{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:6px;width:42px;height:42px;padding:0;border:0;background:transparent;cursor:pointer;z-index:10002; }
.mobile-menu-btn span{display:block;width:28px;height:2px;border-radius:100px;background:#70C7C8;transition:.35s;}

#main_header.is-mobile-open .mobile-menu-btn span{background: #fff;}
#main_header.is-mobile-open .mobile-menu-btn span:nth-child(1){transform:translateY(8px) rotate(45deg);}
#main_header.is-mobile-open .mobile-menu-btn span:nth-child(2){opacity:0;transform:translateX(10px);}
#main_header.is-mobile-open .mobile-menu-btn span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
#main_header.is-mobile-open .mobile-menu-box{border: 1px solid #1C2B52; background: #1C2B52; color: #fff;}
#main_header.is-mobile-open .mobile-menu-box p{color: #fff;}
#main_header .mobile-menu-box .clo{display: none;}
#main_header.is-mobile-open .mobile-menu-box .def{display: none;}
#main_header.is-mobile-open .mobile-menu-box .clo{display: block;}
#main_header.is-mobile-open .mobile-menu-box .def02{opacity: 0;}
#mobile_menu{position:fixed; inset:0; z-index:10000; display:block; opacity:0; visibility:hidden; pointer-events:none; height: 100vh; transition:opacity .35s ease,visibility .35s ease;}
#mobile_menu.open{opacity:1;visibility:visible;pointer-events:auto;}
#mobile_menu .mobile-menu-dim{position:absolute;inset:0;background:rgba(0,0,0,.42);opacity:0;transition:.35s;}
#mobile_menu.open .mobile-menu-dim{opacity:1;}

#mobile_menu .mobile-menu-panel{position:absolute; right:0; top:0; width:762px; height:100%; padding:60px 60px 55px 80px; background:#041B3F; box-sizing:border-box; transform:translateX(100%); transition:transform .45s cubic-bezier(.22,.61,.36,1); display:flex; flex-direction:column;}
#mobile_menu.open .mobile-menu-panel{transform:translateX(0); }
#mobile_menu.open .mobile-menu-panel .mobile-nav{display: flex; flex-direction: column; gap: 88px;}

#mobile_menu .mobile-menu-head{display:flex;align-items:center;justify-content:space-between;gap:20px;padding-bottom:26px;border-bottom:1px solid rgba(7,20,54,.1);}
#mobile_menu .mobile-logo{display:flex;align-items:center;}
#mobile_menu .mobile-logo img{display:block;width:205px;height:auto;}

#mobile_menu .mobile-menu-close{position:relative;width:42px;height:42px;flex:0 0 auto;border:0;background:#F3F5F6;border-radius:14px;cursor:pointer;}
#mobile_menu .mobile-menu-close span{position:absolute;left:50%;top:50%;width:22px;height:2px;border-radius:100px;background:#071436;}
#mobile_menu .mobile-menu-close span:nth-child(1){transform:translate(-50%,-50%) rotate(45deg);}
#mobile_menu .mobile-menu-close span:nth-child(2){transform:translate(-50%,-50%) rotate(-45deg);}

#mobile_menu .mobile-nav{flex:1;min-height:0;padding:120px 0 60px; }
#mobile_menu .mobile-menu-section{display: flex; gap: 52px;}
#mobile_menu .mobile-menu-section h2{width: 290px; color: #FAFAFA; font-family: var(--ff-pretendard); font-size: var(--fz-24); font-style: normal; font-weight: 700; line-height: normal;}
#mobile_menu .mobile-menu-list{display:flex;flex-direction:column;gap:20px;margin:0;padding:0;list-style:none;}
#mobile_menu .mobile-menu-item{border-bottom:1px solid rgba(7,20,54,.08);}
#mobile_menu .mobile-menu-item a{transition: .5s; position:relative;display:flex;align-items:center; width:100%; color: #F0F0F0; font-family: var(--ff-pretendard); font-size: var(--fz-16); font-style: normal; font-weight: 500; line-height: 1.5; /* 150% */ letter-spacing: -0.16px;}
#mobile_menu .mobile-menu-item.active a{color:#70C7C8;}
#mobile_menu .mobile-menu-item a:hover{color: #70C7C8;}
#mobile_menu .mobile-menu-item.active a::after{border-color:#70C7C8;}

#mobile_menu .mobile-menu-bottom{ display:flex;flex-direction:column;gap:8px;padding-top:22px;border-top: none;}
#mobile_menu .mobile-menu-bottom a{color:#071436;font-family:var(--ff-pretendard);font-size:22px;font-weight:800;line-height:1;text-decoration:none;}
#mobile_menu .mobile-menu-bottom p{margin:0;color:#666;font-family:var(--ff-pretendard);font-size:14px;font-weight:500;line-height:1.5;word-break:keep-all;}
.mobile-menu-sns{display: flex; align-items: center; gap: 16px; justify-content: end;}
#mobile_menu .mobile-menu-bottom .mobile-menu-sns a{display: flex; align-items: center; justify-content: center; width: 50px; height: 50px; border-radius: 100px; overflow: hidden; background: #373F56;}

@media(max-width:768px){
    .charge_cont_wrap{overflow-x:auto;}
    .charge_top_title{font-size:1.5rem;padding:0 0 2rem;}
    .table_free{min-width:680px;}
    .table_free > tbody > tr > th,
    .table_free > tbody > tr > td{font-size:0.875rem;padding:10px 8px;}
}

@media(max-width: 1024px){
    :root{
    --mn-sec-padding: 80px;
    --sub-sec-padding: 100px;
    --h1-fz: var(--fz-25);
    --h2-fz: var(--fz-22);
    --h3-fz: var(--fz-20);
    --h4-fz: var(--fz-18);
    --h5-fz: var(--fz-16);
    --tit-desc-fz: var(--fz-16);
    --detail-fz: var(--fz-18);
    }

    .pc{display: none !important;}
    .mo{display: block !important;}
    .mo-ib{display: inline-block !important;}
    .mo-if{display: inline-flex !important;}
    .mo-f{display: flex !important;}
    .mo-g{display: grid !important;}
    #main_header.header-container{height:68px;background:rgba(255,255,255,.96);box-shadow:0 6px 20px rgba(0,0,0,.06);backdrop-filter:blur(10px);}
    #main_header .hd-cont{height:100%;padding:0 20px;}
    #main_header .logo-image{width:220px;}
    #main_header .navigation{display:none!important;}
    .mobile-menu-box{border: none;}
    #mobile_menu .mobile-menu-section{flex-direction: column; gap: 36px;}
    #mobile_menu .mobile-menu-bottom{padding-top: 0; border-top: 1px solid #31425E;}
    #mobile_menu .mobile-menu-panel{width: 100%; padding: 100px 36px 28px;}
    #mobile_menu .mobile-menu-list{gap: 16px;}
    .mobile-menu-btn{align-items: center; justify-content: center;}
    .mobile-menu-box{padding: 0; width: auto; height: auto; right: 20px;}
    #mobile_menu.open .mobile-menu-panel .mobile-nav{gap: 52px; padding-top: 0; overflow-y: scroll;}
    .mobile-menu-box p{display: none;}
    .quick-fixed-menu{top: auto; bottom: 0; left: 0; right: 0; transform: none; display: flex; flex-direction: row; align-items: center; justify-content: flex-start; width: 100%; height: 80px; padding: 0; border-radius: 0; background: #70C7C8; box-shadow: none;}
    .quick-fixed-menu .quick-fixed-item{position: relative; display: flex; flex-direction: column; align-items: center; justify-content: center; flex: 1; gap: 8px; width: 25%; height: 100%; min-height: auto; padding: 0; border-right: 1px solid rgba(255, 255, 255, 0.5);}
    .quick-fixed-menu .quick-fixed-item:last-child{border-right: none;}
    .quick-fixed-menu .quick-fixed-item:not(:last-child)::after{display: none;}
    .quick-fixed-menu .quick-fixed-item .icon{display: flex; align-items: center; justify-content: center; width: 24px; height: 24px;}
    .quick-fixed-menu .quick-fixed-item .icon img{display: block; max-width: 100%; max-height: 100%; object-fit: contain;}
    .quick-fixed-menu .quick-fixed-item .txt{display: block; font-family: var(--ff-pretendard); font-size: 12px; font-weight: 500; color: #ffffff; text-align: center; line-height: 1; letter-spacing: normal;}

    footer .ft-cont{position:relative;flex-direction:column;padding:45px 20px 45px;gap:26px; align-items: center; justify-content: center; text-align: center; margin-bottom: 80px;}
    footer .ft-left{padding-right:0;}
    footer .ft-left img{display:block;width:190px;height:auto;}
    footer .ft-center{gap:20px;}
    footer .ft-txt .info p{font-size:13px;line-height:1.65;word-break:keep-all;}
    footer .ft-txt .copy p{font-size:12px;line-height:1.6;}
    footer .ft-link-wrap{gap:16px;flex-wrap:wrap;}
    footer .ft-center .ft-link-wrap a{font-size:13px;line-height:1.5;}
    footer .ft-right{padding-left:0;}
    footer .ft-right ul{gap:14px;}
    footer .ft-right li .ico-box{width:50px;height:50px;}
    footer .ft-right li p{font-size:12px;line-height:1.4;}
    footer #top_btn{position:absolute;right:20px;top:auto;width:52px;height:52px;border-radius:14px;margin-left:0; bottom: 20px;}
    footer #top_btn img{width:18px;height:auto;}
}