/* basic css */
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, details, figcaption, figure, dialog,
footer, header, hgroup, menu, nav, section {margin: 0; padding: 0; border: 0;}
article, aside, details, figcaption, figure, dialog,
footer, header, hgroup, menu, nav, section {display: block;}
html, body { height:auto;}
body { color:#4c4c4c; line-height:1.6; letter-spacing: -0.5px; -webkit-text-size-adjust:none; }
h1, h2, h3, h4, h5, h6 {font-size: 100%;font-weight: normal;}
a:link { color: inherit; text-decoration: none; }
a:visited { color: inherit; text-decoration: none; }
a:hover { color: inherit; text-decoration: none; }
a:active { color: inherit; text-decoration: none; }
a:focus { color: inherit; text-decoration: none; }
select, input, textarea {font-size: 100%;vertical-align: middle; }
input {margin: 0;padding: 0;}
ol, ul {list-style: none;}
label {cursor: pointer;}
legend, caption {width: 0;height: 0; visibility: hidden; font-size: 0;line-height: 0;}
button {cursor: pointer;}
button:focus {outline: 1px dotted;}
img {vertical-align: top;}
/* table {} */

/*.hidden {position: absolute;width: 0;height: 0;visibility: hidden;font-size: 0;line-height: 0; top:-9999px}*/


input[type="text"] {box-sizing:border-box; -webkit-appearance:none;appearance:none;}
input:-ms-input-placeholder {color:#808080}
input::-webkit-input-placeholder {color:#808080}
input::-moz-placeholder {color:#808080}
input::-moz-placeholder {color:#808080}
/* textarea {} */

html, body {height:auto; -ms-overflow-style: none;}

::-webkit-scrollbar {display:none;}



/* layout*/


header { position: fixed; width:100%; z-index:99999; top: 0; left: 0; }

.navi { position: absolute;  width: 100%; height: 7.25rem; right: 0px; top: 0px; z-index: 9999; border: none; background: none; transition: height 0.3s, background 0.3s, border 0.3s; background: none; border: none;  display: none; }

#logo { width: 360px; height: 27px; line-height: 100%; font-weight: 800; transform: translateY(0px); position: absolute; top: 0; left: 50px; bottom: 0; margin: auto; z-index: 99999999; transition: 0.3s; transform-origin: left center; transform: translateY(-0.25rem); }
#logo a { display: inline-block; width: 100%; height: 100%;  left:0px; background: url(/images/common/logo.png) center no-repeat; background-size: cover; text-indent:-9999px; transition: 0.3s; }

.navi.white #logo { color: #fff; }
.navi.white2 #logo { color: #fff; }
.navi.over { background-color: #fff; border-bottom: 1px solid #ddd; }
.navi.active { height: 6.25rem; background-color: #fff; border-bottom: 1px solid #ddd; }
.navi.active #logo { color: #000; }
.navi.over #logo { color: #000; }

/*#logo.active { top: 2.5rem; }*/

@keyframes navi {
	from { opacity: 0; }
	to {  }
}

.gnb_box { width: 100%; height: 100%; position: absolute; left: 0; top: 0; display: flex; justify-content: center; align-items: flex-start; letter-spacing:0; z-index: 99; transition: 0.3s; }
.gnb { height: 100%; overflow: hidden; position: relative; transform: translateX(1%); }
.gnb>ul>li { position:relative; float:left; text-align:center; margin: 0 1.5rem; }



.navi .depth1 { position:relative; display:block; color: #000; font-size:16px; font-weight: 500; letter-spacing: -0.3px; line-height: 7.25rem; margin: 0px; padding: 0px 0.25rem;transition: 0.3s; text-transform: uppercase; }
.gnb>ul>li:hover>a { color: #e62a3c !important; }
.gnb>ul>li>ul { display: block; margin-top: 1rem; opacity: 0; transform: translateY(1.25rem); }
.gnb>ul>li>ul>li { float: none; height: 1.875rem; width: auto; }
.gnb>ul>li>ul>li.line2 { height: auto; line-height: 102%; margin-top: 0.25rem; }
.gnb>ul>li>ul>li>a { font-size: 0.813rem; color: #000; font-weight: 500; letter-spacing: -0.7px; }
.gnb>ul>li>ul>li>a:hover { color: #e62a3c; }
.gnb .line { position: absolute; display: block; bottom: 2rem; height: 3px; width: 0; background: #e62a3c; left: 0; right: 0; margin: auto; z-index:-99; transition: 0.35s; opacity: 1; }
.navi-bg { position: absolute; display: block; width: 100%; height: 0px; left: 0; top: calc(7.25rem + 1px); z-index:1; overflow: hidden; transition: 0.3s; }
.navi-bg .white-bg { width:100%; height:200px; background: #fff; border-bottom: 1px solid #dedede; }


.navi.white .gnb .depth1 { color:#000; font-weight: 500; }
.navi.white .gnb>ul>li:hover>a { color:#e62a3c !important; }
.navi.white .gnb .line { background: #e62a3c; }

.navi.active .navi-bg { top: calc(6.25rem + 1px); }
.navi.active .gnb .depth1 { color: #000; font-weight: 500; line-height: 6.25rem; }
.navi.active .gnb>ul>li:hover>a { color:#e62a3c !important; }
.navi.active .gnb .line { background: #e62a3c !important; }

.navi.over .gnb .depth1 { color: #000; }
.navi.over .gnb .line { background: #e62a3c; }
.navi.over .gnb>ul>li:hover>a { color:#e62a3c !important; }


.right_navi { position: absolute; top: 0; bottom: 0; margin: auto; width: auto; height: 100%; right: 6.25rem; right: 10rem; z-index: 1000; }


/**/

.top_fixed_wrap { position: absolute; height: 2.0rem; top: 0; bottom: 0; margin: auto; right: 50px; z-index: 999; display: flex; justify-content: flex-end;  }

.tel_wrap { margin-right: 20px; }
.tel_wrap .tel { height: 2.5rem; display: flex; justify-content: flex-end; }
.tel_wrap .tel a { width: 100%; height: 100%; display: flex; justify-content: flex-end; align-items: center; }
.tel_wrap .tel a div { width: 2.125rem; height: 2.5rem; background: url(/images/common/call_icon.png) center 8px no-repeat; transition: 0.3s; }
.tel_wrap .tel a p { font-family: 'GmarketSans'; color: #e62a3c; font-size: 22px; line-height: 100%; font-weight: 600; letter-spacing: 0.0313rem; transition: 0.3s; margin-top: -1px; }
.tel_wrap .tel a p  span	{font-weight:300; font-size:17px;}


.navi.white .tel_wrap a p { color: #e62a3c; }
.navi.white .tel_wrap .tel a div { background: url(/images/common/call_icon.png) center 8px no-repeat; }
.navi.white2 .tel_wrap a p { color: #e62a3c; }
.navi.white2 .tel_wrap .tel a div { background: url(/images/common/call_icon.png) center 8px no-repeat; }

.navi.over .tel_wrap a p { color: #000; }
.navi.over .tel_wrap .tel a div { background: url(/images/common/call_icon.png) center 8px no-repeat; }

.navi.active .tel_wrap a p { color: #000; }
.navi.active .tel_wrap .tel a div { background: url(/images/common/call_icon.png) center 8px no-repeat; }

.open_wrap		{ background-color:#e62a3c; color:#fff; border-radius:30px; padding:2px 15px;  font-weight:600;}


/**/

@media all and (min-width: 1400px) { 
    .ham { display: none !important; }
}

.ham { z-index: 9999999; position: fixed; right: 50px; top: 35px; width: 50px; height: 50px; cursor: pointer; opacity: 1; border-radius: 100%; transition: right 0.5s, top 0.3s; box-sizing: border-box; display: none; }
.ham:after { content: ''; width: 100%; height: 100%; position: absolute; left: 0; top: 0; margin: auto; border-radius: 100%; border: 1px solid #e94256; border: none; box-sizing: border-box; z-index: -1; transition: 0.3s; }
.ham span { display: block; background: #000; margin: auto; width: 20px; height: 2px; border-radius: 0px; transition: 0.25s; }
.ham .bar1 { margin-top: 18px; margin-bottom: 5px; }
.ham .bar2 { width: 12px; transform: translateX(4px); }
.ham .bar3 { margin-top: 5px; }

.ham.active2 { top: 25px; }
.ham.active2 span { background-color: #000 !important; }
.ham.active3 { top: 35px; }
.ham.pop { top: 35px; }
.ham.active2.pop { top: 25px; }
.ham.active3.active2 { top: 25px; }


.ham.white span { background: #000; }
.ham.white2 span { background: #000; }

.ham.active { transition: 0.5s, top 0.4s, right 0.5s 0.2s; right: 40px; }
.ham.active:after { background-color: #e94256 !important; border: 1px solid #e94256 !important; }
.ham.active span { background-color: #fff !important; height: 1px; }

.ham.active .bar1 { transform: rotate(45deg); margin-top: 24px; }
.ham.active .bar2 { opacity: 0; }
.ham.active .bar3 { transform: rotate(-45deg); margin-top: -7px; }

/*  */

.site_wrap { width: 100%; height: 100%; position: fixed; left: 0; top: 0; z-index: -1; display: flex; justify-content: flex-end; align-items: center; transition: z-index 0s 1.2s; }
.site_bg { width: 100%; height: 100%; position: fixed; left: 0; top: 0; z-index: -1; background-color: #000; opacity: 0; transition: z-index 0s 1.2s, opacity 1.33s cubic-bezier(.26,1,.48,1); }

.site_map { width: 50%; height: 100%;  display: flex; justify-content: flex-start; align-items: flex-start; padding-left: 5.75rem; box-sizing: border-box; position: relative; }
.site_map:after { content:''; position: absolute; width: 0%; height: 100%; background-color: #fff; right: 0; top: 0; z-index: -1; transition: 1.0s cubic-bezier(.641,.005,.095,1.05); }
.site_map>div { height: 100%; opacity: 0; transform: translateY(-3.125rem); position: relative; transition: 0.8s 0s; }
.site_logo { position: relative; font-size: 3.75rem; line-height: 100%; font-weight: 300; margin-top: 20%; }
.site_logo b { font-weight: 700; }
.site_logo img { width:208px; }
.site_logo::after { content: ''; width: 3.125rem; height: 1px; margin-top: 2.5rem; display: block; background-color: #000; }
.site_map ul { text-align: left; margin-top: 24%; margin-top: 40%; margin-top: 2.5rem; transform: translateY(-0); }
.site_map ul li { font-size: 3.25rem; line-height: 150%; margin: 0; position: relative; font-weight: 700; color: #ccc; overflow: hidden; letter-spacing: -0.1875rem; opacity: 0; transition: 0.6s 0.0s; }

.site_map ul li.eng { letter-spacing: -0.5px; }
.site_map ul li span { display: inline-block; transition: 0.4s; padding-right: 1.25rem; }
.site_map ul li span:last-child { position: absolute; left: 0; right: 0; margin: auto; top: 0; transform: translateY(4.25rem); color: #000; }

.site_map h6 { width: 200%; font-size: 0.75rem; line-height: 100%; position: absolute; left: 0; bottom: 10%; text-align: left; text-transform: uppercase; }

.sitemap_dep1.active span:first-child { transform: translateY(-5.25rem); }

.sitemap_dep1.active span:last-child { transform: translateY(0); }

.sitemap_dep2 {  display: none; margin: 0.75rem 0 1.25rem !important; }
.sitemap_dep2 li { font-size: 1.25rem !important; letter-spacing: 0 !important; padding-left: 1rem; line-height: 160% !important;}

.sitemap_dep1.active .sitemap_dep2 { display: block; }

.sitemap_dep1 > a { display: flex; justify-content: flex-start; }

.sitemap_dep2 li a:hover { color: #e94256 !important; transition: 0.6s 0.0s; }

.site_map ul li a:hover span:first-child { transform: translateY(-5.25rem); }
.site_map ul li a:hover span:last-child { transform: translateY(0); }

.site_wrap.active { opacity: 1; z-index: 9999; transition: 0s; }
.site_bg.active { opacity: 0.85; z-index: 9998; transition: 0s, opacity 1.33s cubic-bezier(.26,1,.48,1); }
.site_wrap.active .site_map:after { width: 100%; transition: 1.0s cubic-bezier(.41,.005,.095,0.95); }
.site_wrap.active .site_map>div { opacity: 1; transform: translate(0); transition: 0.8s 0.4s; }
.site_wrap.active .site_map ul li:nth-child(1) { opacity: 1; transition: 0.6s 0.4s }
.site_wrap.active .site_map ul li:nth-child(2) { opacity: 1; transition: 0.6s 0.55s }
.site_wrap.active .site_map ul li:nth-child(3) { opacity: 1; transition: 0.6s 0.7s }
.site_wrap.active .site_map ul li:nth-child(4) { opacity: 1; transition: 0.6s 0.85s }
.site_wrap.active .site_map ul li:nth-child(5) { opacity: 1; transition: 0.6s 1s }
.site_wrap.active .site_map ul li:nth-child(6) { opacity: 1; transition: 0.6s 1.15s }
.site_wrap.active .site_map ul li:nth-child(7) { opacity: 1; transition: 0.6s 1.3s }
.site_wrap.active .site_map ul li:nth-child(8) { opacity: 1; transition: 0.6s 1.45s }


/**/




header.hide { opacity: 0; z-index: -100; transition: 0.6s; }
#logo.hide { opacity: 0; z-index: -100; transition: 0.6s; }
.ham.hide { opacity: 0; z-index: -100; transition: 0.6s; }




@media screen and (-webkit-min-device-pixel-ratio:0){ 

}

@media all and (max-width: 1700px) { 


	.gnb>ul>li { margin: 0 1rem;}

}


@media all and (max-width: 1600px) { 

	#logo { width: 208px;}
	#logo a {background: url(/images/common/logo2.png) center no-repeat; }



}

@media all and (max-width: 1400px) { 
	
    .gnb_box { display: none; }
	.gnb { display: none; }
	.top_fixed_wrap { right:80px; }
	.right_scroll_wrap { display: none; }
	#logo	{left:25px}

    .tel_wrap .tel a div { width: 1.875rem; background-size: 1rem; }
    .tel_wrap .tel a p { font-size: 1.5rem; }
    
    .navi.white .tel_wrap .tel a div { background-size: 1rem; }
    .navi.white2 .tel_wrap .tel a div { background-size: 1rem; }
    .navi.over .tel_wrap .tel a div { background-size: 1rem; }
    .navi.active .tel_wrap .tel a div { background-size: 1rem; }

    .bgm_fixed_wrap { left: 5%; }

	.ham { width: 44px; height: 44px;  top: 28px; right:20px; border:1px solid #000 }
    .ham.active { right: 22px; border:1px solid #e94256}
    .ham.active2 { top: 22px; }
    .ham span { width: 18px; }
    .ham .bar1 { margin-top: 14px; }
    .ham .bar2 { width: 11px; }
	.gnb_wrap { display: block; }

    .ham.active .bar1 { margin-top: 22px; }



/**/

    .site_map { width: 70%; max-width: 600px; padding-left: 4.5rem; }
    .site_map ul li { font-size: 2.75rem; }

    .site_logo { font-size: 3rem; }
    .site_logo::after { width: 208px; height: 1px; margin-top: 2.5rem; }


}	


@media all and (max-width: 767px) { 
	
	.navi { height: 5rem; }
	.navi.active { height: 4.75rem; height: 5rem; }
	#logo	{margin-top:20px;}
    
	.top_fixed_wrap { right:68px; }


    .tel_wrap { margin: -5px;  }
    .tel_wrap .tel { height: 37px; }
    .tel_wrap .tel a div { width: 37px; height: 37px; border-radius: 100%; box-sizing: border-box; background-size: 19px !important; border:1px solid #e94256}
    .tel_wrap .tel a p { display: none; }

	.open_wrap	{display:none}
	.ham { width: 35px; height: 35px; top: 19px; top: 14px; }
	.ham.active { right: 5%; }
	.ham.active2 { top: 13px; }
    .ham span { width: 18px; }
    .ham .bar1 { margin-top: 10px; margin-bottom: 4px; }
    .ham .bar2 { width: 12px; transform: translateX(3px); }
    .ham .bar3 { margin-top: 4px; }
    .ham.active .bar1 { margin-top: 17px; }
    .ham.active .bar3 { margin-top: -6px; }

	.gnb_wrap { max-width: 100%; }

/**/

    .site_map { width: 100%; height: 100%; margin-right: 0; max-width: revert; justify-content: center; text-align: center; padding-left: 0; }
    .site_map:after { border-radius: 0; }
    .site_map>div { width: 100%; }
    .site_txt h1 { display: none; }
    .site_map ul { text-align: center; margin-top: 1.875rem; }
    .site_map ul li { font-size: 2.325rem; line-height: 170%; }
    .site_map ul li span { padding-right: 0.25rem }

    .site_logo { margin-top: 100px; font-size: 2.75rem; }
    .site_logo img { width: 208px; }
    .site_logo::after { width: 1px; height: 2.5rem; margin: auto; margin-top: 2rem; }

    .site_map h6 { width: 100%; text-align: center; font-size: 0.875rem; bottom: 8%; line-height: 140%; }

    .sitemap_dep1 > a { display: flex; justify-content: center; }
    .sitemap_dep2 li { padding-left: 0; }

}	