/**/

.inner{
	position: relative;
	width: 1400px;
	margin: 0 auto;
  }
  
  header{
	position: fixed;
	width: 100%;
	height: auto;
	display: block;
	z-index: 9999;
  }
  
  header .inner{
	margin: 0 auto;
	width: 1600px;
  }
  
  header:hover,
  header.down{
	background: #fff;
	transition: 0.2s;
	border-bottom: 1px solid #f7f7f7;
	box-shadow: 1px 1px 10px rgba(0 0 0 / 10%);
  }
  
  header:hover .gnb-box>li>a,
  header.down .gnb-box>li>a{
	color: #111;
  }
  
  header:hover .logo,
  header.down .logo{
	background-image: url("../images/common/logo.png");
  }
  
  header .logo{
	width: 133px;
	height: 67px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("../images/common/logo-w.png");
  }
  
  header.down .logo,
  header:hover .logo{
	background-image: url("../images/common/logo.png");
  }
  
  header:hover > .menu-box > ul > li > a{
	color: #111;
  }
  
  header ul,
  header li{
	display: flex;
  }
  
  header > .menu-box {
	width: 90%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
  }
  
  header > .menu-box > ul {
	align-items: center;
	margin-left: auto;
	margin-right: 50px;
  }
  header > .menu-box > ul > li {
	position: relative;
	color: white;
  }
  
  header > .menu-box > ul > li > a {
	color: #fff;
	padding: 30px 10px;
	font-size: 18px;
	font-weight: 300;
	width: 170px;
	text-align: center;
  }
  
  header.down > .menu-box > ul > li > a{
	color: #111;
  }

  
  header > .menu-box > ul > li > ul {
	position: absolute;
	top: 100%;
	left: 50%;
	right: 0;
	transform: translateX(-50%);
	flex-direction: column;
	background-color: var(--main-color);
	align-items: center;
	width: 220px;
	height: 0;
	overflow: hidden;
	color: #fff;
  }

  header > .menu-box > ul > li:hover > a{
	color: var(--main-color);
  }
  
  header > .menu-box > ul > li:hover > ul {
	transition: 0.1s;
	overflow: visible;
	height: auto;
	padding-bottom: 20px;
  }
  
  header > .menu-box > ul > li > ul > li {
	text-align: center;
	color: #fff;
  }
  
  header > .menu-box > ul > li > ul > li:first-child {
	margin-top: 20px;
  }
  
  header > .menu-box > ul > li > ul > li > a {
	position: relative;
	display: block;
	padding: 5px 0;
	margin: 5px auto;
	color: #fff;
	font-size: 18px;
  }
  
  
  header > .menu-box > ul > li > ul > li a::after{
	transition:opacity .1s, width .5s;
	content:'';
	display:block;
	height:1px;
	width:0;
	position:absolute;
	bottom:-1px;
	left:50%;
	transform:translate(-50%, 0);
	opacity:0;
	background: #fff;
  }
  
  header > .menu-box > ul > li > ul > li:hover a::after{
	opacity:1;
	width:100%;
	transition:opacity .1s, width .5s;
	z-index: 99;
  }


  header:hover #lang-toggle,
  header.down #lang-toggle{
	border: 1px solid rgba(0, 0, 0, 0.5);
	color: #333;
}

  header:hover #lang-toggle .icon,
  header.down #lang-toggle .icon{
	background-image: url("../images/common/lang-on.svg");
  }

.lang-selector {
  position: relative;
  display: inline-block;
  font-family: sans-serif;
}

#lang-toggle {
  background-color: transparent;
  color: white;
  border: 1px solid rgba(255, 255, 255, 0.5);
  padding: 6px 16px;
  border-radius: 20px;
  cursor: pointer;
  font-weight: bold;
  font-size: 14px;
  display: flex;
  align-items: center;
  gap: 6px;
}

#lang-toggle .icon{
	width: 18px;
	height: 18px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url("../images/common/lang-off.svg");
}

#lang-toggle .arrow{
	font-size: 8px;
}

.lang-options {
  position: absolute;
  top: 100%;
  left: 0;
  background-color: #000243;
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 8px;
  margin-top: 6px;
  list-style: none;
  padding: 0;
  display: none;
  z-index: 10;
  min-width: 100%;
}

.lang-options li {
  padding: 8px 12px;
  color: white;
  cursor: pointer;
  font-size: 14px;
  text-align: left;
}

.lang-options li:hover {
  background-color: rgba(255, 255, 255, 0.1);
}

  
  .btn-rg{
	bottom: 50px;
	right: 50px;
	background-color: #0096ff;
	color: #fff;
	font-weight: 500;
	border-radius: 5px;
	padding: 10px 30px;
	margin-right: 50px;
	
  }

  .btn-rg:hover{
	box-shadow: 1px 1px 20px #78a3ff;
	transition: 0.2s;
  }
  
  .gnb-btn {
	display: none;
	position: absolute;
	right: 20px;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
  }
  
  
  .gnb-btn button {
	position: relative;
	width: 40px;
	height: 40px;
	border: 0;
	background: transparent;
  }
  
  .gnb-btn button span {
	position: absolute;
	display: block;
	height: 2px;
	width: 22px;
	top: 50%;
	margin-top: -1px;
	left: 50%;
	margin-left: -11px;
	transition: all 0.5s;
	background: #fff;
  }
  
  .gnb-btn button span:before {
	position: absolute;
	content: '';
	display: block;
	height: 2px;
	width: 22px;
	top: -7px;
	transform: rotate(0deg);
	transition: all 0.5s;
	background: #fff;
  }
  
  
  .gnb-btn button span:after {
	content: '';
	display: block;
	height: 2px;
	width: 22px;
	position: absolute;
	top: 7px;
	transform: rotate(0deg);
	transition: all 0.5s;
	background: #fff;
  }
  
  
  .gnb-btn.gnb-btn-active button span {
	background: transparent !important;
  }
  
  .gnb-btn.gnb-btn-active button span:before {
	transform: rotate(135deg);
	top: 0;
  }
  
  .gnb-btn.gnb-btn-active button span:after {
	transform: rotate(-135deg);
	top: 0;
  }
  
  .fs22{
	font-size: 22px;
  }
 

  .site-map {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: var(--sub-color);
	z-index: 99;
  }
  
  .site-map .inner {
	display: flex;
	align-items: center;
	height: 100%;
  }
  
  .site-map .lbox{
	width: 30%;
	height: 100%;
	display: flex;
	flex-direction: column;
	border-right: 1px solid rgba(255 255 255 / 20%);
	padding: 100px 50px 100px 0;
  }
  
  .site-map .logo {
	width: 250px;
	height: 54px;
	background-repeat: no-repeat;
	background-size: contain;
	background-image: url(../images/common/logo-w.png);
  }
  
  .site-map .lbox .tbox{
	margin-top: auto;
  }
  
  .site-map .lbox .tbox h3{
	word-break: keep-all;
	line-height: 1.4;
	font-weight: 500;
	margin-bottom: 20px;
  }
  
  
  footer{
	background: url("../images/common/foo-bg.png") top center / cover no-repeat;
	padding: 50px 0;
	color: #fff;
  }

  footer .top{
	flex-wrap: wrap;
	gap: 0 50px;
	align-items: center;
	border-bottom: 1px solid rgba(255 255 255 / 20%);
	padding-bottom: 20px;
	margin-bottom: 20px;
  }

  footer .top .logo{
	font-weight: 500;
	font-size: 22px;
  }

  footer .top .flexBox{
	width: auto;
	flex-wrap: wrap;
  }

  footer .top .logoBox{
	align-items: center;
	flex-wrap: wrap;
  }

   footer .top .logoBox dl dt{
		font-weight: 300;
		color: var(--gray);
		margin-right: 20px;
   }

  footer .top .logoBox dl:first-child{
	margin-right: 40px;
  }

  footer .top .logoBox dd{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
  }


  .gnb-wrap {
	padding-left: 50px;
	flex: 1;
  }

  .gnb-wrap .lang-2{
	display: none;
	gap: 0 20px;
  }

  .gnb-wrap .lang-2 a{
	color: #fff;
	font-weight: 600;
	opacity: 0.5;
  }

  .gnb-wrap .lang-2 li:first-child a{
	position: relative;
  }

  .gnb-wrap .lang-2 li:first-child a::after{
	display: block;
	content: "";
	width: 1px;
	height: 15px;
	background-color: #ddd;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	right: -10px;
  }

  .gnb-wrap .lang-2 .on a{
	opacity: 1;
  }


  #gnb a{
	color: #fff;
  }
  
  #gnb > li{
	padding: 15px 0;
  }
  
  #gnb > li:not(:last-child){
	border-bottom: 1px solid rgba(255 255 255 / 20%);
  }
  
  #gnb li .tit{
	font-family: 'EsaManru';
	font-size: 2em;
	font-weight: 400;
	width: 200px;
  }
  
  #gnb li{
	display: flex;
	align-items: center;
  }
  
  #gnb .depth{
	display: flex;
	gap: 0 30px;
  }
  
  #gnb .depth a{
	position: relative;
	font-size: 20px;
	opacity: 0.8;
	font-weight: 500;
  }
  
  #gnb .depth a:hover{
	opacity: 1;
	transition: 0.1s;
  }
  
  #gnb .depth a:after {
	content: '';
	position: absolute;
	left: 0;
	display: inline-block;
	height: 1em;
	width: 100%;
	border-bottom: 1px solid;
	margin-top: 20px;
	opacity: 0;
	-webkit-transition: opacity 0.35s, -webkit-transform 0.35s;
	transition: opacity 0.35s, transform 0.35s;
	-webkit-transform: scale(0,1);
	transform: scale(0,1);
  }
  
  #gnb .depth a:hover:after {
	opacity: 1;
	-webkit-transform: scale(1);
	transform: scale(1);
  }
  
  .site-map .arr.m{
	display: none;
  }

  .float-btn{
	display: none;
	z-index: 9999 !important;
  }

  .float-btn .float-btn-reg{
	color: #fff;
	font-weight: 500;
	background-color: #0096ff;
	width: 80px;
	height: 80px;
	line-height: 80px;
	text-align: center;
	border-radius: 60px;
	position: fixed;
	right: 5%;
	bottom: 5%;
  }
  
  @media screen and (max-width: 1700px) {
	.site-map .lbox{
	  padding-left: 50px;
	}
	.btn-rg{
		display: none;
	}

  
	header .inner{
	  width: 90%;
	  padding-left: 20px;
	}
  
	header > .menu-box > ul > li > a {
	  width: auto;
	  padding: 30px 40px;
	  font-size: 16px;
	}

	.float-btn{
		display: block;
	}
  
 
  
  }/*1700px*/

  @media screen and (max-width: 1600px){

	.inner{
	  width: 100% !important;
	  padding: 0 20px;
	}

	header {
		position: fixed;
		width: 100%;
		height: auto;
		background: #fff;
		z-index: 9999;
	  }
	
	  header .inner {
		position: relative;
		width: 100%;
		margin: 0 auto;
		background: #fff;
	  }

	header > .menu-box > ul > li > a{
		color: #333;
	}

	.lang > li:first-child a::after{
		background-color: #b1b1b1;
	}

	header .lang .on a{
    	color: #84c5dd;
	}

	
	header .logo {
		background-image: url(../images/common/logo.png);
	}

	header > .menu-box > ul > li > ul > li > a{
		font-size: 16px;
	}

	header #lang-toggle {
		border: 1px solid rgba(0, 0, 0, 0.5);
		color: #333;
	}

	header #lang-toggle .icon{
		background-image: url(../images/common/lang-on.svg);
	}

		 
	.gnb-btn{
		top: 50%;
		transform: translateY(-50%);
		height: 40px;
	}
	  
	.gnb-btn button span:before,
	.gnb-btn button span,
	.gnb-btn button span:after {
	  background: #000;
	}

	.gnb-wrap .lang-2{
		display: none;
	}
	
  
	header .gnb-box{
	  display: none;
	}

	header .logo {
		background-image: url(../images/common/logo.png);
		height: 48px;
		width: 96px;
		margin: 10px 0;
    }

	footer .top .logo{
		text-align: center;
		margin: 0 auto 20px auto;
	}

	footer .top .logoBox{
		width: 100%;
		justify-content: center;
	}

  
}/*1600px*/
  
@media screen and (max-width: 1400px) {

	header > .menu-box > ul > li > a {
        padding: 30px 20px;
    }

	

}
  
  
  @media screen and (max-width: 1280px) {
  
  
	.gnb-btn{
		display: block;
	}
	
	header > .menu-box > ul{
		display: none;
	}

	.site-map .lbox{
		display: none;
	}


	#gnb li .tit {
	  font-size: 1.5em;
	  width: 150px;
	}
  
	#gnb .depth a{
	  font-size: 18px;
	}

	/*#lang-toggle{
		display: none;
	}*/

	.lang-selector{
	margin-left: auto;
	padding-right: 50px;
}

	footer{
		padding: 50px 0;
	}


  }
  /*E:1280*/
  
  @media screen and (max-width: 1024px) {

	header{
		height: 60px;
		/*overflow: hidden;*/
	}

  }
  /*E:1024*/
  
  @media screen and (max-width: 768px) {
  
	.site-map .inner{
	  padding-top: 80px;
	  overflow-y: auto;
	}
  
	.gnb-wrap {
	  padding-left: 0;
	  flex: auto;
	}
  
	#gnb > li:not(:last-child) {
	  border-bottom: none;
	}
  
	#gnb li {
	  display: block;
	}
  
	#gnb {
	  margin: 0;
	  overflow-y: auto;
	  height: auto;
	}
  
	#gnb li a.tit {
	  position: relative;
	  display: block;
	  color: #fff;
	  background-repeat: no-repeat;
	  background-image: url("../images/common/arr-down-w.png");
	  background-position: 93% center;
	  transform: none;
	}
  
	#gnb li.no-depth a.tit{
	  background-image: none;
	}
  
	#gnb li:last-child a{
	  border-bottom: 0;
	}
  
	#gnb li a.tit{
	  width: 100%;
	  padding: 10px 0;
	}
  
  
	#gnb li a.tit.active {
	  color: #fff;
	  background-image: url("../images/common/up.png");
	  background-position: 93% center;
	}
  
	#gnb li a.active::after {
	  display: none;
	  position: absolute;
	  top: 11px;
	  left: 6px;
	  content: "";
	  width: 5px;
	  height: 5px;
	  border-radius: 5px;
	  background: #fff;
	}
  
	#gnb .depth{
	  overflow: hidden;
	  display: none;
	}
  
	#gnb .depth li:first-child a{
	  margin-top: 0;
	}
  
	#gnb .depth a{
	  margin: 5px 0;
	}
  
	#gnb li ul {
	  display: none;
	}
  
	#gnb > li{
	  padding: 0;
	}

	footer .top .logoBox dl dt{
		width: 100%;
		text-align: center;
		margin-bottom: 10px;
		margin-right: 0;
	}
  
	footer .top .flexBox {
		justify-content: center;
	}

	footer .top .logoBox dl:first-child {
		margin-right: 0;
	}

	footer .top .logoBox dl:first-child{
		margin-bottom: 20px;
	}
  
	footer .top .logoBox dd {
		justify-content: center;
	}

	footer .bottom{
		text-align: center;
	}
  
  }/*E:768px*/
  
  
  
  @media screen and (max-width: 640px) {
	.gnb-btn {
	  z-index: 999999;
	  position: absolute;
	  right: 10px;
	}
  
	.gnb-btn button{
	  height: auto;
	}
  
	.gnb-btn button:focus{
	  outline: none;
	}

  
  }/*E:640px*/