@charset 'utf-8';
/* common */
:root {
    --baseFont: 'Pretendard', 'Malgun Gothic', 'verdana', sans-serif;
	--syn: "Syne", serif;
	--gan: "Gantari", serif;
	--mainC: #004898;
	--subC: #;
}

body.scrollN{ height: 100vh !important; overflow: hidden !important;}
body{ -ms-overflow-style:none scrollbar-width:none }
/*body::-webkit-scrollbar { display: none; }*/

path,rect{ transition:all 0.5s; }

#dimmed{ position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1001; display:none; }

.w1920{ max-width:1920px; margin: 0 auto; width: 100%; }
.w1800{ max-width:1800px; margin: 0 auto; width: 100%; }
.w1500{ max-width:1500px; margin: 0 auto; width: 100%; }

.flex-box{ display:flex;}
.flex-box.center{ display:flex; justify-content:center; align-items:center; }

figure.fit-box{ position: relative; width: 100%; height: 100%; overflow: hidden;}
figure.fit-box img{ position: absolute; transform:translate(-50%,-50%); top: 50%; left: 50%; min-width: 100%; min-height:100%; object-fit: cover;}

body #HappytalkIframe{ opacity: 0; pointer-events:none; transition:bottom 0.7s, opacity 0.5s; }
body.chat #HappytalkIframe{ opacity: 1; pointer-events:auto; }
body.chat-f #HappytalkIframe{ bottom: 51% !important;} 

body #star-box{ position: fixed; bottom: 30px; right: 25px; background: var(--mainC); padding: 15px 30px; padding-right: 100px; color:#fff; z-index: 100; box-shadow:0 0 10px rgba(0,0,0,0.2); border-radius:50px; transition:bottom 0.7s, opacity 0.5s; opacity: 0; pointer-events:none; text-align: right; line-height: 1.5; cursor:pointer;   }
body.chat #star-box{ opacity: 1; pointer-events:auto; }
body.chat-f #star-box{ bottom: 51% !important;} 

#viewbtn{ position: relative; height: 60px; display:flex; justify-content:space-between; align-items: center; padding: 0 30px; border-bottom: 3px solid rgba(255,255,255,0.2);
color:#fff; letter-spacing: -0.6px; }
#viewbtn:after{ content:''; display:block; position: absolute; bottom: -3px; left: 0; width: 0; height: 3px; background: #fff; transition:all 0.7s; }
#viewbtn:hover:after{ width: 100%; }
#viewbtn figure{ position: relative; width: 20px; height: 20px; overflow: hidden;}
#viewbtn figure > *{ position: absolute; transform: translate(0, 0); transition:all 0.4s 0.1s, opacity 0.4s; }
#viewbtn figure .on{ opacity: 1; }
#viewbtn figure .off{ transform: translate(-20px, 20px); opacity: 0; }
#viewbtn:hover span:after{ width: 100%; }
#viewbtn:hover figure .on{ transform: translate(20px, -20px); opacity: 0; }
#viewbtn:hover figure .off{ transform: translate(0, 0); opacity: 1; }

#viewbtn.btn{ width: 240px; height: 60px; border:none; background: var(--mainC); }
#viewbtn.btn span{ position: relative; display:block; }
#viewbtn.btn span:after{ content:''; display:block; position: absolute; top: 100%; left: 0; width: 0; height: 1px; background: #fff; transition:all 0.3s; }
#viewbtn.btn:hover span:after{ width: 100%; }
#viewbtn.btn.b{ background: #000; }

#viewbtn.black{ color:#111; }
#viewbtn.black svg path{ stroke:#000; }
#viewbtn.black svg rect{ fill: #000; }

#img-flex .content .item-box{ display:flex; }
#img-flex .content .item-box > *{ width: 50%; }
#img-flex .content .item-box .txt-box{ position: relative; background: #062E5B; padding: 30px 60px; display:flex; flex-direction:column; justify-content: flex-end; opacity: 1; }
#img-flex .content .item-box .txt-box .stxt{ position: absolute; top: 30px; left: 60px; color: #EADAB9; letter-spacing: -0.6px; filter: blur(15px); -webkit-filter: blur(15px); opacity: 0; transition: all 0.8s;}
#img-flex .content .item-box .txt-box .title{ position: absolute; transform:translate(-50%,-50%); top: 50%; left: 50%; color: #EADAB9; font-weight: 500; letter-spacing: -1.08px; width: max-content;}
#img-flex .content .item-box .txt-box .link-box{ display:flex; gap:15px; }
#img-flex .content .item-box .txt-box .link-box a{ width: 100%; }
#img-flex .content .item-box .fit-box{ position: relative; height: 640px; }
#img-flex .content .item-box .fit-box img{ min-width:101%; }
#img-flex .content .item-box .fit-box:after{ content:''; display:block; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(0deg, rgba(0, 0, 0, 0.30) 0%, rgba(0, 0, 0, 0.30) 100%), rgba(0,0,0,0.05) 50%; opacity: 1; transition:all 0.7s;  }
@media (hover: hover) {
	#img-flex .content .item-box:hover .txt-box .stxt{ opacity: 1; filter: blur(0); -webkit-filter: blur(0);}
	#img-flex .content .item-box:hover .fit-box:after{ opacity: 0; }
}
#img-flex .content .item-box.item02 .txt-box{ background: #0C2A2E; }
#img-flex .content .item-box.item03 .txt-box{ background: #777; }
#img-flex .content .item-box.item04 .txt-box{ background: #48573A; }

.popup{ position: relative; position: fixed; transform:translate(-50%,-50%); top: 50%; left: 50%; text-align: center; z-index: 1000000; max-width:1000px; width: 100%; padding: 120px 20px; 
background: #fff; display:none; }
.popup .close{ position: absolute; top: 40px; right: 40px; }
.popup .title{ color:#111; font-weight: 500; letter-spacing: -1.2px; }
.popup .txt{ color:#333; font-weight: 300; line-height: 1.7; margin: 30px 0 60px;}
.popup .btn-box{ display:flex; justify-content:center; text-align: left;}
.popup .btn-box .btn:not(:last-child){ margin-right: 20px;}

#refusal-pop{ max-width:1500px; padding: 120px 100px 200px ;position: relative; position: fixed; transform:translate(-50%,-50%); top: 50%; left: 50%; text-align: center; z-index: 1000000; width: 100%; background: #fff; display:none;  }
#refusal-pop .close{ position: absolute; top: 40px; right: 40px; }
#refusal-pop .title{ color:#111; font-weight: 500; letter-spacing: -1.2px; }
#refusal-pop .txt-box{ text-align: center; color:#333; font-weight: 300; line-height: 1.7; letter-spacing: -0.6px; margin-top: 60px; padding-top: 60px; border-top:2px solid #000; }
#refusal-pop .txt-box p:not(:last-child){ margin-bottom: 60px; }
#refusal-pop .txt-box p.type2{ color:#666; line-height: 1.3; letter-spacing: -0.54px; }

/* header */
header{ position: relative; position: fixed; top: 0; left: 0; z-index: 100000; width: 100%; height: 110px; transition:all 0.5s; z-index: 1000;}
header .header-box{ position: relative; display:flex; align-items:center; justify-content: space-between; padding: 0 60px; height: 100%; }
header .header-box .logo,
header .header-box #side-box{ position: relative; z-index: 5;}
header .header-box .logo a{ display:block; }
header .header-box .logo a svg{ width: 100%; height: 100%; }
header .header-box nav{ position: relative; position: absolute; transform:translateX(-50%); left: 50%; top: 0; height: 100%; }
header .header-box nav .gnb-bg{ background: #fff; width: 100vw; height: 100%; position: absolute; top: 0; transform:translateX(-50%); left: 50%; transition:all 0.5s; opacity: 0; }
header .header-box nav #gnb{ display:flex; height: 100%; }
header .header-box nav #gnb > li{ position: relative; height: 100%; display:flex; justify-content:center; align-items:center; }
header .header-box nav #gnb > li > a{ position: relative; display:inline-block; font-weight: 500; color:#fff; font-size:18px; margin: 0 40px; letter-spacing: -0.54px; width: max-content; transition:all 0.5s;  }
header .header-box nav #gnb > li > a:after{ content:''; display:block; position: absolute; top: 100%; left: 0; width: 0; height: 2px; background: #000; transition:all 0.5s; }
header .header-box nav #gnb > li .depth2{ position: absolute; top: calc(100% + 20px); left:0; text-align: center; width: 100%; opacity: 0; pointer-events:none; }
header .header-box nav #gnb > li .depth2 li{ width: 100%; overflow: hidden; }
header .header-box nav #gnb > li .depth2 li:not(:last-child){ margin-bottom: 10px; }
header .header-box nav #gnb > li .depth2 li a{ color:#666; font-size:17px; letter-spacing: -0.51px; transform: translateY(100%); display:inline-block; transition:transform 0.3s 0s, color 0.5s; }
header .header-box nav #gnb > li .depth2:hover li a,
header .header-box nav #gnb > li .depth2.on li a{ color:#333; }
header .header-box nav #gnb > li:hover > a:after,
header .header-box nav #gnb > li.on > a:after{ width: 100%; }
header .header-box #side-box{ position: relative; display:flex; align-items:center; height: 100%; }
header .header-box #side-box .login-box{ position: relative; height: 100%; display:flex; justify-content:center; align-items:center; padding: 0 30px; }
header .header-box #side-box .login-box ul{ position: absolute; transform:translateX(-50%); left: 50%; top:100%; text-align: center; padding: 20px; background: #fff; display:none; }
header .header-box #side-box .login-box ul li:not(:last-child){ margin-bottom: 10px; }
header .header-box #side-box .login-box ul li a{ color:#333; }
 
header.bg nav .gnb-bg{ opacity: 1; box-shadow:0 0 10px rgba(0,0,0,0.2)}
header.account:hover nav .gnb-bg{ box-shadow:0 0 10px rgba(0,0,0,0.2)}
header.bg .header-box .logo .text path,
header.account .header-box .logo .text path,
header .header-box.on .logo .text path{ fill:var(--mainC)}
header.bg .header-box nav #gnb > li > a,
header.account .header-box nav #gnb > li > a,
header .header-box.on nav #gnb > li > a,
header .header-box.on2 nav #gnb > li > a{ color:#111; }
header .header-box.on nav .gnb-bg{ opacity: 1; height: 300px; }
header .header-box.on nav #gnb > li .depth2{ opacity: 1; pointer-events:auto; }
header .header-box.on nav #gnb > li .depth2 li a{ transform: translateY(-1px); transition:transform 0.3s 0.2s, color 0.5s;}
header.bg .header-box #side-box button path,
header.account .header-box #side-box button path,
header .header-box.on #side-box button path,
header .header-box.on2 #side-box button path{ stroke: #000; }
header.bg .header-box #side-box button rect,
header.account .header-box #side-box button rect,
header .header-box.on #side-box button rect,
header .header-box.on2 #side-box button rect{ fill: #000; }
header .header-box.on2 nav .gnb-bg{ height: 100%; opacity: 1;}

header.bg .header-box #side-box .login-box ul,
header.account .header-box #side-box .login-box ul{ box-shadow: 0 5px 5px rgba(0, 0, 0, 0.1), 0 0 0 rgba(0, 0, 0, 0); }

#allmenu{ position: relative; position: fixed; top: 0; left: 0; width: 100%; height: 100%; z-index: 100001; background: #fff; display:none; }
#allmenu .top-box{ position: absolute; top: 0; left: 0; display:flex; justify-content:center; padding: 15px 0; width: 100%; }
#allmenu .top-box .logo a{ display:block; }
#allmenu .top-box .logo a svg{ width: 100%; height: 100%; }
#allmenu .top-box .text path{ fill:var(--mainC); }
#allmenu .top-box .allclose{ position: absolute; top: 40px; right: 60px; cursor:pointer; z-index: 2;}
#allmenu .allgnb { height: 100%; }
#allmenu .allgnb #gnb{ display:flex; align-items:center; height: 100%; }
#allmenu .allgnb #gnb > li{ position: relative; width: 100%; display:inline-flex; justify-content:center; align-items:center; }
#allmenu .allgnb #gnb > li > a{ font-size:40px; font-weight: 500; color:#111; letter-spacing: -1.2px; transition:all 0.7s; }
#allmenu .allgnb #gnb > li .depth2{ position: absolute; transform:translate(-50%,-50%); top: 50%; left: 50%; z-index: 10; pointer-events:none; text-align: center; opacity: 0; transition:all 0.7s; 
width: max-content;}
#allmenu .allgnb #gnb > li .depth2 li:not(:last-child){ margin-bottom: 25px; }
#allmenu .allgnb #gnb > li .depth2 li a{ font-size:24px; color:#aaa; font-weight: 500; letter-spacing: -0.72px; transition:all 0.5s; }

#allmenu .allgnb #gnb > li:hover > a{ pointer-events:none; color:#fff; opacity: 0;  pointer-events:none;}
#allmenu .allgnb #gnb > li:hover .depth2{ opacity: 1; pointer-events:auto; }
#allmenu .allgnb #gnb > li .depth2 li:hover a{ color:#222; }

#allmenu .login-box{ position: absolute; transform:translateX(-50%); left: 50%; bottom: 40px; }
#allmenu .login-box ul{ display:flex; }
#allmenu .login-box ul li:not(:last-child){ margin-right: 40px; }
#allmenu .login-box ul li a{ font-size:18px; color:#333; letter-spacing: -0.54px; }

/* footer */
footer{ padding: 150px 0 60px; }
footer > div{ border-top:2px solid #000; }
footer .flex-box{ padding-top: 60px; justify-content: space-between; margin-bottom: 100px; }
footer .flex-box .footer-gnb #gnb{ display:flex; }
footer .flex-box .footer-gnb #gnb > li:not(:last-child){ margin-right: 50px; }
footer .flex-box .footer-gnb #gnb > li > a{ font-size:18px; color:#111; font-weight: 500; letter-spacing: -0.54px; margin-bottom: 30px; display:block; }
footer .flex-box .footer-gnb #gnb .depth2 li:not(:last-child){ margin-bottom: 10px;}
footer .flex-box .footer-gnb #gnb .depth2 li a{ color:#333; font-weight: 300; letter-spacing: -0.51px; font-size:17px; transition:all 0.5s; }
footer .flex-box .footer-gnb #gnb .depth2 li:hover a{ color:#000; }
footer .flex-box .info-box .txt-box{ color:#333; font-weight: 300; letter-spacing: -0.54px; text-align: right; margin-bottom: 30px; }
footer .flex-box .info-box .txt-box li:not(:last-child){ margin-bottom: 10px; }
footer .flex-box .info-box .txt-box li span{ display:inline-block; width: 20px; }
footer .flex-box .info-box .link-box{ display:flex; }
footer .flex-box .info-box .link-box #viewbtn{ padding: 0; height: auto;}
footer .flex-box .info-box .link-box #viewbtn:not(:last-child){ margin-right: 20px; }
footer .btn-box{ display:flex; justify-content:space-between; align-items:center;  }
footer .btn-box .copy{ font-family: var(--syn); color:#666; }
footer .btn-box .family-box{ position: relative; width: 200px; }
footer .btn-box .family-box button{ width: 100%; height: 50px; border: 2px solid #EEE; display:flex; justify-content:space-between; align-items:center; padding: 0 20px; color: #333; 
font-family: var(--syn); text-transform: capitalize;}
footer .btn-box .family-box button img{ transition:all 0.5s; }
footer .btn-box .family-box ul{ position: absolute; transform:translateX(-50%); left: 50%; bottom: calc(100% - 2px); width: 100%; display:none; }
footer .btn-box .family-box ul li:not(:first-child){ margin-top: -2px;}
footer .btn-box .family-box ul li a{ display:flex; align-items:center; width: 100%; height: 50px; border: 2px solid #EEE;  background: #fff; padding: 0 20px; color:#333; }
footer .btn-box .family-box.on button img{ transform:rotate(180deg); }
 
/* privacy */
#privacy{ font-size:18px; color:#333; font-weight: 300; line-height: 1.66; letter-spacing: -0.54px; }
#privacy .title-box{ margin-bottom: 50px; }
#privacy .title-box .title{ font-size:20px; color:#222; font-weight: 600; letter-spacing: -0.6px; margin-bottom: 30px; }
#privacy dl:not(:last-of-type){ margin-bottom: 30px; }
#privacy dl dt{ color:#333; font-weight: 500; margin-bottom: 10px; line-height: 1.3;}
#privacy dl dd{ color:#666; }
#privacy .prev-box{ display:flex; align-items:center; }
#privacy .prev-box .txt{ color:#222; font-weight: 500; letter-spacing: -0.6px; margin-right: 60px; }
#privacy .prev-box .list-box{ position: relative; width: 400px; }
#privacy .prev-box .list-box button{ width: 100%; height: 70px; display:flex; justify-content:space-between; align-items:center; border: 1px solid #DDD; padding: 0 30px; 
color: #666; font-weight: 300; letter-spacing: -0.54px; }
#privacy .prev-box .list-box button img{ transition:all 0.5s; }
#privacy .prev-box .list-box button.on img{ transform:rotate(180deg); }
#privacy .prev-box .list-box .scroll-box{ width: 100%; background: #fff; padding: 10px; position: absolute; transform:translateX(-50%); left: 50%; top: calc(100% - 1px);  border:1px solid #ddd; display:none; }
#privacy .prev-box .list-box ul{ width: 100%; max-height: 150px; }
#privacy .prev-box .list-box ul li a{ display:block; width: 100%; padding: 10px 20px; color:#666; font-weight: 300; letter-spacing: -0.54px;  display:flex; justify-content:space-between; align-items:center; background: #fff;}

.scroll-custom{ overflow-y: scroll; }
.scroll-custom::-webkit-scrollbar {  width: 1px; background: #ddd; }
.scroll-custom::-webkit-scrollbar-thumb { width: 3px; background: var(--mainC);}


/* paging */
.paging{ display:flex; align-items:center; justify-content:center; margin-top: 100px;}
.paging .arr{display:flex;margin: 0 10px;}
.paging .arr a{ display:flex; width: 30px; }
.paging a{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;}
.paging ul{display:flex;-webkit-box-align:center;-ms-flex-align:center;align-items:center;margin:0 5px;}
.paging .arr a:not(:last-child),.paging ul li:not(:last-child){margin-right:5px;}
.paging a{ width:30px; height:30px; color: #ccc; font-weight: 600; font-size:18px; border-radius:50%; border:none; }
.paging ul li.on a { color:#000; }
.paging .arr a{border:none; color: #666;}
.paging .arr.right img{ transform:rotate(180deg); }


/* main popup */
:root {
	--popN : 60px;
}

#main-pop{ position: relative; position: fixed; transform:translateY(-50%); top: 50%; z-index: 10000; transition:all 0.7s; background: rgba(0,0,0,0.7); }
#main-pop .slide-wrap{ position: relative; margin: 0 0 0 auto; }
#main-pop .slide-wrap .btn{ position: absolute; top: 0; left: -60px; z-index: 5; width: var(--popN); padding: 30px 0; background: #000; font-weight: 600; font-family: var(--syn);
text-transform: uppercase; display:flex; flex-direction: column; align-items:center; }
#main-pop .slide-wrap .btn span{ writing-mode: vertical-rl; transform:rotate(180deg); color:#fff; margin-bottom: 10px; }
#main-pop .slide-wrap .btn img{ transition:all 0.3s; }
#main-pop .slide-box{ width: 100%; overflow: hidden;}
#main-pop .slide-box .swiper-slide{ position: relative; display:block; width: 350px; height: 500px; }
#main-pop .slide-box .swiper-slide a{ position: relative; display:block; width: 100%; height: 100%; overflow: hidden;}
#main-pop.on{ right: 0; }
#main-pop.on .slide-wrap .btn img{ transform:rotate(180deg); }

#main-pop .slide-box .swiper-slide img{ position: absolute; transform:translate(-50%,-50%); top: 50%; left: 50%; min-width: 100%; min-height:100%; object-fit: cover; }
#main-pop .arrow{ width: 60px; height: 60px; border-radius:50%; background: #777; display:flex; justify-content:center; align-items:center; position: absolute; 
transform:translateY(-50%); top: calc(50% - 35px); display:none; }
#main-pop .arrow img{ filter:invert(1); -webkit-filter:invert(1); }
#main-pop .arrow.prev{ left: -6%; }
#main-pop .arrow.next{ right: -6%;}

/*#main-pop .txt-box{ position: relative; display:flex; justify-content:center; margin-top: 15px;}*/
/*#main-pop .txt-box .chkBox:first-child{ margin-right: 40px;}*/
/*#main-pop .txt-box .chkBox input{ display:none; }*/
/*#main-pop .txt-box .chkBox label{ display:flex; align-items:center; cursor: pointer; margin-top: 12px;}*/
/*#main-pop .txt-box .chkBox label span{ position: relative; display: inline-block; width: 16px; height: 16px; border:1px solid #fff; border-radius:50%; }*/
/*#main-pop .txt-box .chkBox label span:after{ content:''; display:block; position: absolute; transform:translate(-50%,-50%); top: 50%; left: 50%; width: 8px; height: 8px; */
/*background: #fff; border-radius:50%; opacity: 0; }*/
/*#main-pop .txt-box .chkBox label p{ margin-left: 10px; color:#fff; }*/
/*#main-pop .txt-box .chkBox input:checked + label span:after{ opacity: 1; }*/