
/* ================= Header ================== */

#Header{border-bottom: 1px solid rgba(255, 255, 255, 0.4); position: fixed; width: 100%; transition: transform 0.5s; z-index: 9999;}
#Header.active{position: fixed; /* box-shadow: 0 5px 8px rgba(20,20,20,0.05); */ background-color: rgba(255, 255, 255, 1); border-bottom: 1px solid #ddd;}

#Header .container{display: flex; justify-content: space-between; align-items: center; width: 100%; margin: auto; padding: 0 1rem; height: 90px;}
#Header .container .logobox{z-index: 10;}
#Header .container .menuwrap{width: 60%; align-items: center; justify-content: flex-end; gap: 4rem; display: flex; align-items: center; justify-content: flex-start;}
#Header .container .menuwrap .menu{width: 80%;}
#Header .container .menuwrap .menu > li{width: calc(100% / 4); position: relative; text-align: center;}
#Header .container .menuwrap .menu > li .depth01{color: #fff; display: block; width: 100%;}

#Header.active .container .menuwrap .menu > li .depth01{color: #333; font-weight: 400;}

#Header .container .menuwrap .menu > li .depth01:hover{color: var(--pointcolor); font-weight: 600;}


#Header .menu-btn {display: block; width: 40px; height: 30px; position: relative; z-index: 9998; cursor: pointer;-webkit-transition: top 300ms;transition: top 300ms;}
#Header .menu-btn span {opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)"; right: 0; display: block; width: 100%; height: 1px; border-radius: 10px;
background-color: #fff; position: absolute; -webkit-transform: rotate(0deg);transform: rotate(0deg); -webkit-transition: .4s ease-in-out; transition: .4s ease-in-out;}

#Header .menu-btn .btn_line01 {top: 0; width: 30px;}
#Header .menu-btn .btn_line02 {top: 14px; width: 100%;}
#Header .menu-btn .btn_line03 {bottom: 1px; width: 25px;}

#Header .menu-btn.on{height: 15px;}
#Header .menu-btn.on span:nth-child(1){ transform: rotate(135deg); top: 7px; width: 100%;}
#Header .menu-btn.on span:nth-child(2){ display: none; }
#Header .menu-btn.on span:nth-child(3){ transform: rotate(-135deg); top: 7px; width: 100%;}

#Header.active .menu-btn span{background-color: #000;}


/* select btn */
#Header .lg_btn{margin-right: 2rem; position: relative;}
#Header .lg_btn .lg_select{border: 1px solid #fff; border-radius: 2em; color: #fff; padding: 0 .5rem; cursor: pointer; width: 50px;}
#Header .lg_btn .lg_select .selected {display: flex; justify-content: space-between; padding: 3px 5px;}
#Header .lg_btn .lg_select .selected .selected-value{max-width: 65px; width: 100%; display: flex; align-items: center; justify-content: space-between; font-size: 16px;}
#Header .lg_btn .lg_select ul li, .lg_select .selected .selected-value{white-space: nowrap; /* 줄바꿈 안함 */ overflow: hidden; text-overflow: ellipsis; /* 말줄임 적용 */}
#Header .lg_btn .lg_select ul{width: 100%; border: 1px solid #ddd; display: none; position: absolute; background: #fff; margin: 1px 0 0 -.5rem; border-radius: .5em; cursor: pointer; 
z-index: 9999; /* border-top: none; */}
#Header .lg_btn .lg_select.active ul{display: initial;}
#Header .lg_btn .lg_select ul li{width: 100%; /* display: flex; align-items: center; justify-content: space-between; */ padding: 5px; transition: all 0.2s; text-align: center; color: #aaa;}
#Header .lg_btn .lg_select ul li:hover{background:  rgba(200, 200, 200, 0.75); color: #fff;}

#Header.active .lg_btn .lg_select{border: 1px solid #aaa; color: #888;}



#Header .submenu{display: none; position: absolute; left: 50%; top: calc(89px - 30px); transform: translateX(-50%); width: 100%; padding: 1.25em 1em ; height: 8em; box-sizing: border-box;
transition: background 0.3s ease;}
#Header .submenu:after{content:''; position: absolute; transition:all 0.6s ease; width: 0%; left:50%; transform:translateX(-50%);}
#Header .submenu > li > a{display: block;padding:.55em 0;text-align: left; color: #acacac;}
#Header .submenu > li > a:hover{font-weight: 600; color: var(--pointcolor);}

#Header .menu li:hover .submenu{background: #fff; box-shadow: 0 0 5px rgb(0 0 0 / 5%);}
#Header .menu li:hover .submenu:after{content:''; position:absolute; top:0; left:50%; background: var(--titcolor); height:3px; width:100%;}

@media (max-width: 1770px){
	#Header .container{width: 90%; margin: auto;}
}

@media (max-width: 1200px){	
	#Header .container .menuwrap {width: auto;}
	#Header .container .menuwrap .menu{display: none;}
	#Header .lg_btn .lg_select{padding: 0 0.8rem;}
}

@media (max-width: 768px){
	#Header .container{height: 65px;}
	#Header .container .logobox > img{width: 60%;}
}


@media (max-width: 500px){
	#Header .container .menuwrap{gap: 0;}
}


/* ================= Footer ================== */

/* #Footer{position: relative;} */
#Footer .container{position: relative;}
#Footer .container::before, #Footer .container::after{
    content: "";
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    position: absolute;
    top: 0;
    z-index: 10;
}
#Footer .container::before{left: 0;}
#Footer .container::after{right: 0;}


#Footer .inner-wrap{/* display: grid; grid-template-columns: auto 350px; */ /* padding: 0 3em; */}
#Footer .inner-wrap .topbox{width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; padding: 0 3em;}
#Footer .inner-wrap .topbox .info{width: 80%;}
#Footer .inner-wrap .topbox .info .txt{color: #aaa; letter-spacing: -0.02em; line-height: 1.5;}
#Footer .inner-wrap .topbox .info .txt b{color: #fff;}
#Footer .inner-wrap .topbox .policy{width: 20%; position: relative; /* max-width: 350px; */}
#Footer .inner-wrap .topbox .policy::before{
	content: "";
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    position: absolute;
    top: 0;
	left: 0;
    z-index: 10;
}


#Footer .inner-wrap .btmbox{width: 100%; display: flex; flex-wrap: wrap; justify-content: space-between; position: relative; padding: 0 3em; align-items: center;}
#Footer .inner-wrap .btmbox::before{
	content: "";
    width: 100%;
    height: 1px;
    background: rgba(255, 255, 255, 0.1);
    position: absolute;
    top: 0;
	left: 0;
    z-index: 10;
}
#Footer .inner-wrap .btmbox .copy{width: 80%; color: #666;}
#Footer .inner-wrap .btmbox .copy > span{padding: 1em 0; display: block; width: 100%;}
#Footer .inner-wrap .btmbox .scroll{width: 20%; position: relative; padding: 1em 1.875rem;}
#Footer .inner-wrap .btmbox .scroll::before{
	content: "";
    width: 1px;
    height: 100%;
    background: rgba(255, 255, 255, 0.1);
    position: absolute;
    top: 0;
	left: 0;
    z-index: 10;
}
#Footer .inner-wrap .btmbox .scroll .s_top{display: flex; align-items: center;}
#Footer .inner-wrap .btmbox .scroll .s_top span{width: 40px; height: 40px; border-radius: 50%; background-color: #fff; display: flex; align-items: center; justify-content: center;}
#Footer .inner-wrap .btmbox .scroll .s_top span > img{filter: invert(1); transform: rotate(-90deg); transition: transform 0.4s;}


@media (min-width: 1921px){
	#Footer .container{max-width: 90%;}
	#Footer .container::before{left: 0;}
	#Footer .container::after{right: 0;}
}

@media (max-width: 1024px){
	#Footer .inner-wrap .btmbox .scroll .s_top span{width: 25px; height: 25px;}
	#Footer .inner-wrap .btmbox .scroll .s_top span > img{width: 50%;}
}

@media (max-width: 768px){
	#Footer .inner-wrap .topbox{padding: 0;}
	#Footer .inner-wrap .topbox .info{width: 100%; padding-left: 3em; padding-right: 3em;}
	#Footer .inner-wrap .topbox .policy{width: 100%; display: flex; align-items: center; padding: 0;}
	#Footer .inner-wrap .topbox .policy::before{width: 100%; height: 1px;}
	#Footer .inner-wrap .topbox .policy .mb-25{margin-bottom: 0;}
	#Footer .inner-wrap .topbox .policy li{width: 33.33%; padding: 2em 3em; position: relative;}
	#Footer .inner-wrap .topbox .policy li:nth-child(2)::before, #Footer .inner-wrap .topbox .policy li:last-child::before{
		content: "";
		width: 1px;
		height: 100%;
		background: rgba(255, 255, 255, 0.1);
		position: absolute;
		top: 0;
		left: 0;
		z-index: 10;
	}
	#Footer .inner-wrap .topbox .policy li > a{text-align: center; display: block;}

	#Footer .inner-wrap .btmbox .copy{width: 50%;}
	#Footer .inner-wrap .btmbox .scroll{width: 50%; padding: 1em 3em;}
}

@media (max-width: 500px){
	#Footer .inner-wrap .topbox .info .wrap{flex-wrap: wrap;}
	#Footer .inner-wrap .topbox .info .wrap > dl{width: 100%;}
}

@media (max-width: 480px){
	#Footer .inner-wrap .btmbox{padding: 0; flex-direction: column-reverse;}
	#Footer .inner-wrap .btmbox .copy{width: 100%;}
	#Footer .inner-wrap .btmbox .copy > span{padding: 2em 3em; text-align: center;}
	#Footer .inner-wrap .btmbox .scroll{width: 100%; padding-top: 1em; padding-bottom: 1em;}
	#Footer .inner-wrap .btmbox .scroll::before{width: 100%; height: 1px; top: auto; bottom: 0;}
	#Footer .inner-wrap .btmbox .scroll .s_top{justify-content: center;}
}

@media (max-width: 420px){
	#Footer .inner-wrap .topbox .info .txt{flex-wrap: wrap;}
	#Footer .inner-wrap .topbox .info .txt dl{width: 100%;}

	#Footer .inner-wrap .topbox .policy{flex-wrap: wrap;}
	#Footer .inner-wrap .topbox .policy li{width: 50%;}
	#Footer .inner-wrap .topbox .policy li:last-child{width: 100%; position: relative;}
	#Footer .inner-wrap .topbox .policy li:last-child::before{
		content: "";
		width: 100%;
        height: 1px;
		background: rgba(255, 255, 255, 0.1);
		position: absolute;
		bottom: 0;
		left: 0;
		z-index: 10;
	}

	#Footer .inner-wrap .btmbox .scroll{padding-top: 1.5em; padding-bottom: 1.5em;}
}




/* ==================== sitemap ==================== */

.sitemap{display: none; width: 100%; max-width: 100%; position: fixed; top: 0;	right: 0; height: 100vh; z-index: 100000; background-color: rgba(0, 0, 0, 0) !important;}
.sitemap .open_dim{position: absolute; top: 0; left: 0; width: 100%; height: 100%; background-color: rgba(0, 0, 0, 0.4) !important;}
.sitemap .inner{display: block; position: relative; width: 30%; height: 100%; margin-left: auto; margin-right: 0; background-color: var(--pointcolor); display: flex; 
align-items: center; flex-direction: column; transform: translateX(100%); transition: transform 0.5s ease-in-out;}

.sitemap .st_top{position: relative; width: 100%; border-bottom: 1px solid #fff; padding: 1.5em 2em; display: flex; align-items: center; justify-content: space-between;}
.sitemap .st_top .top_head{width: calc(100% - 4em); display: flex; align-items: center; justify-content: space-between;}

.sitemap .st_close{display: block; width: 35px; height: 25px; position: absolute; top: 50%; transform: translateY(-50%); right: 2em; margin: auto; z-index: 99999; cursor: pointer;-webkit-transition: top 300ms;transition: top 300ms;}
.sitemap .st_close span{opacity: 1; -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=100)";right: 0;display: block;width: 100%; height: 1px; background-color: #fff;
position: absolute;-webkit-transform: rotate(0deg);transform: rotate(0deg);-webkit-transition: .4s ease-in-out;transition: .4s ease-in-out;}
.sitemap .st_close span:nth-child(1) {top: 9px;-webkit-transform: rotate(135deg);transform: rotate(135deg);}
.sitemap .st_close span:nth-child(2) {top: 9px;-webkit-transform: rotate(-135deg);transform: rotate(-135deg);}
.sitemap .st_close .btn_line01 {top: 0;}
.sitemap .st_close .btn_line02 {top: 7px;}


.sitemap .inner .site_menu_wrap{position: relative; width: 100%; height: 100%; padding: 0; background: #fff;}
.sitemap .inner .site_menu_wrap .site_menu{position: relative; width: 100%; height: auto; margin: auto; overflow-x: hidden; overflow-y: auto; display: block; opacity: 1; visibility: visible;}
.sitemap .inner .site_menu_wrap .site_menu > li{position: relative; width: 100%; height: auto; margin-left: 0; margin-right: auto; border-bottom: none; overflow: hidden; display: inline-block; width: 100%; color: #fff; 
padding: 1.5rem 3rem; opacity: 1; transform: translateY(0px); transition: transform 1s 0.8s ease, opacity 1s 0.8s ease;}
.sitemap .inner .site_menu_wrap .site_menu > li::after{content: ""; display: block; width: 100%; height: 1px; background: #ccc; position: absolute; bottom: 0; left: 0;}
.sitemap .inner .site_menu_wrap .site_menu > li > a{font-size: 1.250rem; color: #3d3d3d; transition: all 0.3s ease; font-weight: 400;} 
.sitemap .inner .site_menu_wrap .site_menu > li > a:hover{color: var(--pointcolor); font-weight: 600; transition: all 0.3s ease;}

.sitemap .inner .site_menu_wrap .site_menu li.category .depth01.on{color: var(--pointcolor); font-weight: 600;}

.sitemap .inner .site_menu_wrap .site_menu .submenu {display: none;}
.sitemap .inner .site_menu_wrap .site_menu .submenu li{}
.sitemap .inner .site_menu_wrap .site_menu .submenu li > a{padding: 1rem; font-weight: 400; font-size: 1.125rem; color: #999; display: block; position: relative;}
.sitemap .inner .site_menu_wrap .site_menu .submenu li > a:hover{color: var(--pointcolor); font-weight: 500;}
.sitemap .inner .site_menu_wrap .site_menu .submenu li > a:hover::after{content: ""; display: block; left: 0; top: 50%; transform: translateY(-50%); position: absolute; width: 3px; 
height: 1.5rem; background: var(--pointcolor);}

/* select btn */
.sitemap .lg_btn{position: relative;}
.sitemap .lg_btn .lg_select{border: 1px solid #fff; border-radius: 2em; width: 50px; color: #fff; padding: 0 .5rem; cursor: pointer;}
.sitemap .lg_btn .lg_select .selected {display: flex; justify-content: space-between; padding: 3px 5px;}
.sitemap .lg_btn .lg_select .selected .selected-value{max-width: 65px; width: 100%; display: flex; align-items: center; justify-content: center;}
.sitemap .lg_btn .lg_select ul li, .lg_select .selected .selected-value{white-space: nowrap; /* 줄바꿈 안함 */ overflow: hidden; text-overflow: ellipsis; /* 말줄임 적용 */}
.sitemap .lg_btn .lg_select ul{width: 100%; border: 1px solid #ddd; display: none; position: absolute; background: #fff; margin: 1px 0 0 -.5rem; border-radius: .5em; cursor: pointer; 
z-index: 9999; /* border-top: none; */}
.sitemap .lg_btn .lg_select.active ul{display: initial;}
.sitemap .lg_btn .lg_select ul li{width: 100%; /* display: flex; align-items: center; justify-content: space-between; */ padding: 5px; transition: all 0.2s; text-align: center; color: #aaa;}
.sitemap .lg_btn .lg_select ul li:hover{background:  rgba(200, 200, 200, 0.75); color: #fff;}


@media (max-width: 990px){
	.sitemap .inner{width: 70%;}
	/* .sitemap .st_top .top_head{width: calc(100% - 5em);} */
	.sitemap .inner .st_top .a_list a{font-size: 1.750rem;}
}

@media (max-width: 768px){
	.sitemap .st_top .top_head .map_logo{width: 50%;}
	.sitemap .inner .st_top .a_list a{font-size: 2rem;}

	
	.sitemap .inner .site_menu_wrap .site_menu > li > a{font-size: 18px;}
	.sitemap .inner .site_menu_wrap .site_menu .submenu li > a{font-size: 16px;}

	.sitemap .lg_btn .lg_select{padding: .225rem .5rem;}
	.sitemap .lg_btn .lg_select .selected .selected-value{font-size: 14px; max-width: 50px;}
	.sitemap .lg_btn .lg_select ul li{font-size: 14px;}
}

@media (max-width: 567px){
	.sitemap .inner{width: 90%;}
}

@media (max-width: 500px){
	.sitemap .st_top .top_head .map_logo{width: 10%;}
	.sitemap .st_close{transform: translateY(-40%);}

}


