* {padding:0; margin:0; list-style:none; text-decoration:none;}
:root {
    --color01:#000051;
    --color02:#005496;
    --color03:#62f5a1;
}
body, p, a, h1, h2, h3, h4, h5, dt, dd {font-family:'Pretendard', sans-serif;}
@font-face {
    font-family: 'Pretendard';
    src: url('./fonts/Pretendard-Thin.woff') format('woff');
    font-weight: 200;
    font-style: normal;
}        
@font-face {
    font-family: 'Pretendard';
    src: url('./fonts/Pretendard-Light.woff') format('woff');
    font-weight: 300;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('./fonts/Pretendard-ExtraLight.woff') format('woff');
    font-weight: 350;
    font-style: normal;
}    
@font-face {
    font-family: 'Pretendard';
    src: url('./fonts/Pretendard-Regular.woff') format('woff');
    font-weight: 400;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('./fonts/Pretendard-Medium.woff') format('woff');
    font-weight: 500;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('./fonts/Pretendard-SemiBold.woff') format('woff');
    font-weight: 600;
    font-style: normal;
}
@font-face {
    font-family: 'Pretendard';
    src: url('./fonts/Pretendard-Bold.woff') format('woff');
    font-weight: bold;
    font-style: normal;
}    
@font-face {
    font-family: 'Pretendard';
    src: url('./fonts/Pretendard-ExtraBold.woff') format('woff');
    font-weight: 800;
    font-style: normal;
}    
@font-face {
    font-family: 'GmarketSans';
    src: url('./fonts/GmarketSansTTFLight.ttf') format('truetype');
    font-weight: 300;
    font-style: normal;
}    
@font-face {
    font-family: 'GmarketSans';
    src: url('./fonts/GmarketSansTTFMedium.ttf') format('truetype');
    font-weight: 500;
    font-style: normal;
}    
@font-face {
    font-family: 'GmarketSans';
    src: url('./fonts/GmarketSansTTFBold.ttf') format('truetype');
    font-weight: bold;
    font-style: normal;
}   
@font-face {
    font-family: 'NotoSansCJKkr';
    src: url('./fonts/NotoSansCJKkr-Thin.otf') format('opentype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansCJKkr';
    src: url('./fonts/NotoSansCJKkr-Light.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansCJKkr';
    src: url('./fonts/NotoSansCJKkr-Regular.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansCJKkr';
    src: url('./fonts/NotoSansCJKkr-Medium.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansCJKkr';
    src: url('./fonts/NotoSansCJKkr-Bold.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'NotoSansCJKkr';
    src: url('./fonts/NotoSansCJKkr-Black.otf') format('opentype');
    font-weight: 900;
    font-style: normal;
}
@font-face {
    font-family: 'SCDream';
    src: url('./fonts/SCDream1.otf') format('opentype');
    font-weight: 100;
    font-style: normal;
}

@font-face {
    font-family: 'SCDream';
    src: url('./fonts/SCDream2.otf') format('opentype');
    font-weight: 200;
    font-style: normal;
}

@font-face {
    font-family: 'SCDream';
    src: url('./fonts/SCDream3.otf') format('opentype');
    font-weight: 300;
    font-style: normal;
}

@font-face {
    font-family: 'SCDream';
    src: url('./fonts/SCDream4.otf') format('opentype');
    font-weight: 400;
    font-style: normal;
}

@font-face {
    font-family: 'SCDream';
    src: url('./fonts/SCDream5.otf') format('opentype');
    font-weight: 500;
    font-style: normal;
}

@font-face {
    font-family: 'SCDream';
    src: url('./fonts/SCDream6.otf') format('opentype');
    font-weight: 600;
    font-style: normal;
}

@font-face {
    font-family: 'SCDream';
    src: url('./fonts/SCDream7.otf') format('opentype');
    font-weight: 700;
    font-style: normal;
}

@font-face {
    font-family: 'SCDream';
    src: url('./fonts/SCDream8.otf') format('opentype');
    font-weight: 800;
    font-style: normal;
}


.flexWrap {display:flex; flex-direction:row; align-items:center;}
.flexWrap02 {display:flex; flex-direction:row;}
.flexCenter {display:flex; flex-direction:row; align-items:center; justify-content:center;}
.flexCenter02 {display:flex; flex-direction:row; align-items:flex-start; justify-content:center;}
.flexBetween {display:flex; flex-direction:row; align-items:center; justify-content:space-between;}
.flexBetween02 {display:flex; flex-direction:row; align-items:flex-start; justify-content:space-between;}
.flexBetween03 {display:flex; flex-direction:row; align-items:stretch; justify-content:space-between;}
.flexEnd {display:flex; flex-direction:column; align-items:end;}
.flexEnd02 {display:flex; flex-direction:row; justify-content:end; align-items:end;}
.flexEnd03 {display:flex; flex-direction:row;  align-items:end;}
.flexlocation {display:flex; width: 100%; flex-direction:row; align-items:flex-start; align-items: stretch;justify-content:center; gap: 50px; margin: 0 auto;}
.flexlocation .item-left {flex: 6 1 0%;}
.flexlocation .item-right {flex: 4 1 0%; }
.root_daum_roughmap {width:60%;}
 
#header {position:fixed;top:0;left:0;width:100%;z-index:99999999999999999; height:100px;}
#header .off {display:block;}
#header .on {display:none;}
#header .lfBox {padding-left:75px; height:100%;}
#header #logo {padding-right:100px;}
#header #logo img {width:170px;}
#header #nav {height:100%;}
#header #nav li {position:relative; }
#header #nav >li {height:100%; }
#header #nav li a { font-size:22px; font-weight:600; color:#fff; }
#header #nav >li >a {height:100%; display:flex; flex-direction:column; justify-content:center;} 
#header #nav >li >a::after {
    content: '';
    width: 100%;
    height:3px;
    background-color:var(--color01);
    position: absolute;
    bottom:30px;
    left: 50%;
    transform: translateX(-50%);
    display:none;
}
#header #nav >li >a.active {color:var(--color01) !important;}
#header #nav >li >a.active::after {display:block;}
#header #nav li:not(:last-child) {margin-right:70px;}
#header .rtBox {height:100px; position:absolute; right:0; top:0;}
#header .rtBox ul {height:100%; padding-left:55px; background-color:var(--color01); display:none;}
#header .rtBox ul li {margin-right:35px;}
#header .rtBox ul li a { font-size:20px; font-weight:400; color:#fff;}
#header .rtBox ul li a img {margin-right:15px;}
#header .rtBox ul li a img  .off {display:none;}
#header .rtBox ul li a img  .on {display:block;}
#header .rtBox ul li a:hover img.off {display:none;}
#header .rtBox ul li a:hover img.on {display:block}
#header .rtBox .allBtn {background-color:transparent; /*#0c0f18; */ width:100px; height:100%; justify-content:center; cursor:pointer; border:none;}
#header .rtBox .allBtn:hover {background-color:#000;}
#header.active #logo .off {display:none;}
#header.active #logo .on {display:block;}
#header.active {background-color:#fff; }
#header.active #nav li a {font-weight:600; color:#000000;     letter-spacing: -1px;   line-height: 1.5;}
#header.active #all-Btn .off {display:none;}
#header.active #all-Btn .on {display:block;}

/* header가 active 상태이거나, allBtn에 마우스를 올렸을 때(hover) */
#header #all-Btn:hover .on, #header.active #all-Btn:hover .on { display: none;}
#header #all-Btn:hover .off, #header.active #all-Btn:hover .off { display: block;}

#header .navSub {display:none; position:absolute; top:100%; left:50%; transform:translateX(-50%); text-align:center; width:100%; min-width:175px;  box-sizing:border-box; box-shadow: rgba(50, 50, 93, 0.25) 0px 13px 27px -5px, rgba(0, 0, 0, 0.3) 0px 8px 16px -12px; /*box-shadow:3px 3px 5px rgba(0,0,0,0.1);*/ }
#header .navSub.on {display:block;}
#header .navSub li, #header .navSub li a {width:100%;}
#header .navSub li a {color:#333 !important;}
#header .navSub li:last-child {margin-bottom:0;}
#header .navSub li a {display:block; padding:15px 0; background-color:#fff; font-size:18px !important; font-weight:400; letter-spacing:-0.6px; color:#333; line-height:1; opacity:1; position:relative; width:100%; height:100%;}
#header .navSub li:hover a {background-color:#f3f1f4 ; color:var(--color02) !important;}     
/*#header .navSub li:hover a {background-color:var(--color01); color:#fff !important;}     */

#footer {position:relative;}
#footer, 
#footer .moveBox,
#footer .fp-overflow {width:100%;}
#footer .moveBox {border-top:1px solid #e8e8e8; box-sizing:border-box;}
#footer .moveBox li:not(:last-child) {border-right:1px solid #e8e8e8; box-sizing:border-box;}
#footer .moveBox li {width:25%; background-color:#fff;}
#footer .moveBox li a { display:block; font-size:18px; font-weight:300; color:#727272; padding:25px 0 25px 45px; text-align:left;}
#footer .moveBox li:hover {background-color:var(--color01);}
#footer .moveBox li:hover a {color:#fff;} 
#footer .inner {background-color:#f3f1f4; padding:60px 80px 0px 60px; width:calc(100% - 140px); position:relative;}    
#footer .logoBox {margin-right:75px;}
#footer .logoBox img {width:170px;}
#footer .tit { font-size:24px; font-weight:600; color:#000051;}
#footer .list {padding:25px 0 15px 0;}
#footer .list li:nth-child(1) {padding-bottom:5px;}
#footer .list p, #footer .list a { display:inline-block; font-size:18px; font-weight:300; color:#000000; line-height:1.3; margin-right:30px;}
#footer .list li:last-child a:last-child {margin-right:0;}
#footer .copyright { font-size:13px; font-weight:300; color:#333; margin-bottom:45px; letter-spacing:0; }
#footer dt { font-size:16px; font-weight:300; color:#000000; padding-bottom:5px;}
#footer dd {display:flex; flex-direction:row; align-items:end;}
#footer dd a { font-size:30px; font-weight:600; color:var(--color02);; line-height:1;}
#footer dd p { font-size:13px; font-weight:300; color:#9a9a9a; padding-left:15px; position:relative; top:-2px;}
#footer .iconBox {position:absolute; right:0; top:0;}
#footer .iconBox a {width:50px; height:50px; display:flex; flex-direction:column; align-items:center; justify-content:center;}
#footer .iconBox a:nth-child(1) {background-color:#9a919f;}
#footer .iconBox a:nth-child(2) {background-color:#000;}
#footer .iconBox a:nth-child(1):hover,
#footer .iconBox a:nth-child(2):hover {background-color:#333;}
#footer .iconBox a img {width:18px; height:auto;}


@media screen and (max-width:1480px) {
    #header {height:85px;}
    #header .lfBox {padding-left:55px;}
    #header #logo {padding-right:55px;}
    #header #logo img {width:150px;}
    #header #nav li a {font-size:18px;}
	#header #nav >li >a::after {bottom:27px;}
    #header #nav li:not(:last-child) {margin-right:40px;}
    #header .rtBox ul {padding-left:35px;}
    #header .rtBox ul li {margin-right:30px;}
    #header .rtBox .allBtn {width:85px;}
    #header .rtBox {height:85px;}
    #header .rtBox ul li:nth-child(1) a img, #header .rtBox ul li:nth-child(2) a img {width:28px;}
    #header .rtBox ul li a {font-size:18px;}
	
    #footer .iconBox a {width:80px; height:80px;}
    #footer .iconBox a:nth-child(1) img,
    #footer .iconBox a:nth-child(2) img {width:19px;}
}
@media screen and (max-width:1280px) {
    #header #nav {display:none;}

    #footer .inner {width:calc(100% - 60px); padding:45px 30px 55px 30px;}
    #footer dd a {font-size:26px;}
}
@media screen and (max-width:1200px) {
    #footer .iconBox {display:none;}
}
@media screen and (max-width:1080px) {
    #header .rtBox ul {display:none;}
    #header .lfBox {padding:0 0 0 20px; height:85px;}
    #header #logo img {width:200px;}

    #footer .moveBox li {width:33.3333333333333%;}
    #footer .moveBox li:nth-child(1) {display:none;}
    #footer .moveBox li a {padding:25px 0; text-align:center;}
    #footer .inner {flex-direction:column; justify-content:center; text-align:center;}  
    #footer .logoBox {margin-right:0;}
    #footer .list li:nth-child(2) p:nth-child(1),
    #footer .list li:nth-child(2) a:nth-child(2),
    #footer .list li:nth-child(2) p:nth-child(3) {display:none;}
    #footer .copyright {display:none;}
    #footer dd {display:flex; flex-direction:column; justify-content:center; align-items:center;}
    #footer dd a {display:block;}
    #footer dd p {padding-left:0;}
    #footer .tit {display:none;}
    #footer dd .br {display:block;}

    #footer .inner {padding:55px 0 40px 0; width:100%;}

    #footer .logoBox a {display:block; line-height:1;}
    #footer .logoBox img {width:200px;}
    #footer .list {padding:40px 0 45px 0;}
    #footer .list p, #footer .list a {font-size:24px; font-weight:200;}
    #footer dt {font-size:28px; color:#41578a; padding-bottom:0; line-height:1;}
    #footer dd a {font-size:46px; display:block; padding:13px 0 18px 0;}
    #footer dd p {font-size:22px; line-height:1.4;}
	.flexlocation { flex-direction:column; gap:20px; }

}
@media screen and (max-width:720px) {
    #header {height:65px;}
    #header .rtBox .allBtn {width:65px;}
    #header .lfBox,
    #header .rtBox .allBtn,
    #header .rtBox {height:65px;}
    #header #logo img {width:150px;}

    #footer .logoBox img {width:170px;}
    #footer .list {padding:30px 0 35px 0;}
    #footer .list p, #footer .list a {font-size:20px;}
    #footer dt {font-size:20px;}
    #footer dd a {font-size:31px; padding:8px 0 12px 0;}
    #footer dd p {font-size:16px;}    
}
@media screen and (max-width:480px) {

    #footer .logoBox img {width:160px;}
    #footer .list {padding:22px 0 25px 0;}
    #footer .list p, #footer .list a {font-size:16px; letter-spacing:-1px;}
    #footer dt {font-size:18px;}
    #footer dd a {font-size:29px; padding:6px 0 12px 0;}
    #footer dd p {font-size:15px;}    

    #footer .moveBox li a {font-size:16px;}
}




/* start : 전체메뉴 */
body.no-scroll {overflow:hidden;}
#gnb {position:fixed; top:0; right:0; z-index:999999999999;}
#gnb.on {width:100%; height:100vh;}
#gnb.on .bg {display:block;}
#gnb.on .gnb_wrap {display:block; transform:translateX(0%); transition:all 0.6s; opacity:1;}
#gnb .bg {position:fixed !important; top:0 !important; left:0 !important; z-index:1; width:100%; height:100%; background-color:rgba(0,0,0,0.7); display:none;}
#gnb .gnbTopBox {align-items:center;}
#gnb #logoBox02 {align-items:center;}
#gnb #logoBox02 a img {width:200px;}
#gnb #gnb_close {background-color:transparent; font-size:26px; position:absolute; right:30px; top:35px; border:none;}
#gnb #gnb_close i {color:#000;}
#gnb .gnb_wrap {width:500px; height:calc(100% - 70px); padding:35px 30px; background-color:#fff; position:fixed; top:0; right:0; z-index:9; transform:translateX(100%); overflow-y:scroll; opacity:0;}
#gnb .gnb_wrap::-webkit-scrollbar { width:1px; -webkit-transition: all 300ms; transition: all 300ms;}
#gnb .gnb_wrap::-webkit-scrollbar-track { width:10px; /* 스크롤바의 너비 */ background-color:#ddd; }
#gnb .gnb_wrap::-webkit-scrollbar-thumb {height:5%; /* 스크롤바의 길이 */ background:#fff; /* 스크롤바의 색상 */ background-clip: padding-box; border:2px solid transparent; border-radius: 8px; }
#gnb .gnb_left, 
#gnb .gnbTopBox {display:none; }
#gnb.on .gnb_left {display:block;}
#gnb.on .gnbTopBox {display:flex;}
#gnb .gnb_left{ width:100%; margin: 0 auto; margin-top:60px; text-align:left; }
#gnb .gnb_left > li > a { display:block; font-family:var(--NotoSans); font-size:18px; font-weight:400; color:#000; padding:20px 0; border-bottom:1px solid #e6e6e6; box-sizing:border-box;}
#gnb .gnb_left > li > a.on {color:var(--color02); font-weight:600; border-bottom:1px solid var(--color02);}
#gnb .gnb_left > li > a > span { display:block; width:25px; float:right; text-align:center;}
#gnb .gnb_left > li > a > span::after {content: "\e942"; font-family: 'xeicon' !important; font-size:20px;}
#gnb .gnb_left > li > a > span.on::after {content:"\e945"; font-weight:400;}
#gnb .gnb_left > li > a:hover {color:var(--color02);}
#gnb .gnb_sub li a { font-size:16px; font-weight:400; color:#333; padding:10px 0; display:block;}
#gnb .gnb_sub li a:hover {color:var(--color02); }
#gnb .gnb_left > li:nth-child(1) > a {padding-top:0;}
#gnb .gnb_left ul { display:none; margin:15px 0;}
#gnb .gnb_left ul.on {display:block;}
#gnb .sidemenuMo {margin-top:30px; align-items:center;}
#gnb .sidemenuMo li {margin-right:15px;}
#gnb .sidemenuMo li a:hover i {color:var(--color01); opacity:1;}
#gnb .sidemenuMo li a i {font-size:30px; color:#333; opacity:0.3;}
#gnb .sidemenuMo li:nth-child(2) a i {position:relative; top:0.5px; font-size:31px;}
#gnb .globalLink {margin-top:40px;}
#gnb .globalLink li {margin-right:15px;}
#gnb .globalLink li.active a {font-weight:600; color:var(--color01); border-bottom:1px solid var(--color01); box-sizing:border-box;}
#gnb .globalLink li a {display:block; font-size:16px; font-weight:400; color:#919191; line-height:1.2;}
#gnb .globalLink li:hover a {color:var(--color01);}
/* end : 전체메뉴 */

@media screen and (max-width:1280px) {
    #footer .list p, #footer .list a {margin-right:20px;}
}

@media screen and (max-width:680px) {
    #gnb .gnb_wrap {width:calc(100% - 40px); height:calc(100% - 60px); padding:30px 20px; }   
    #gnb #gnb_close {top:28px;}
}