.dp-block {
	display:block;
}
.dp-none {
	display:none;
}
.pa-center {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}

.fl{
	float: left;
}

.fr{
	float: right;
}

.of-hidden {
	overflow:hidden;
}
.fw-100 {
	font-weight:100;
}
.fw-200 {
	font-weight:200;
}
.fw-300 {
	font-weight:300;
}
.fw-400 {
	font-weight:400;
}
.fw-500 {
	font-weight:500;
}
.fw-600 {
	font-weight:600;
}
.tc {
	text-align:center;
}
.tl {
	text-align:left;
}
.tr {
	text-align:right;
}
.fc-w {
	color:#fff
}

.fs-20{font-size: 20px;}
.fs-30{font-size: 30px;}
.fs-40{font-size: 40px;}
.fs-50{font-size: 50px;}

.pt-10 {
	padding-top:10px;
}
.pt-20 {
	padding-top:20px;
}
.pt-30 {
	padding-top:30px;
}
.pt-40 {
	padding-top:40px;
}
.pt-50 {
	padding-top:50px;
}
.pt-100 {
	padding-top:100px;
}
.pl-10 {
	padding-left:10px;
}
.pl-20 {
	padding-left:20px;
}
.pl30 {
	padding-left:30px;
}
.pl-40 {
	padding-left:40px;
}
.pl-50 {
	padding-left:50px;
}
.pb-10 {
	padding-bottom:10px;
}
.pb-15 {
	padding-bottom:15px;
}
.pb-20 {
	padding-bottom:20px;
}
.pb-25 {
	padding-bottom:25px;
}
.pb-30 {
	padding-bottom:30px;
}
.pb-40 {
	padding-bottom:40px;
}
.pb-50 {
	padding-bottom:50px;
}
.pb-100 {
	padding-bottom:100px;
}
.pr-10 {
	padding-right:10px;
}
.pr-20 {
	padding-right:20px;
}
.pr-30 {
	padding-right:30px;
}
.pr-40 {
	padding-right:40px;
}
.pr-50 {
	padding-right:50px;
}
.mt-10 {
	margin-top:10px;
}
.mt-20 {
	margin-top:20px;
}
.mt-30 {
	margin-top:30px;
}
.mt-40 {
	margin-top:40px;
}
.mt-50 {
	margin-top:50px;
}
.mt-100 {
	margin-top:100px;
}
.mb-10 {
	margin-bottom:10px;
}
.mb-20 {
	margin-bottom:20px;
}
.mb-30 {
	margin-bottom:30px;
}
.mb-40 {
	margin-bottom:40px;
}
.mb-50 {
	margin-bottom:50px;
}
.mb-100 {
	margin-bottom:100px;
}
.ml-10 {
	margin-left:10px;
}
.ml-20 {
	margin-left:20px;
}
.ml-30 {
	margin-left:30px;
}
.ml-40 {
	margin-left:40px;
}
.ml-50 {
	margin-left:50px;
}
.mr-10 {
	margin-right:10px;
}
.mr-20 {
	margin-right:20px;
}
.mr-30 {
	margin-right:30px;
}
.mr-40 {
	margin-right:40px;
}
.mr-50 {
	margin-right:50px;
}

.ptb-100{
	padding: 100px 0;
}

.br-n{
	border-right: 0 !important;
}


.btn-st {
	position:relative;
	display:block;
	padding:30px 0;
	border-radius: 50px;
    overflow: hidden;
}
.btn-st>span {
	position:absolute;
	top:50%;
	left:50%;
	transform:translate(-50%,-50%);
}
.hvr-bounce-to-right {
	display:inline-block;
	vertical-align:middle;
	-webkit-transform:translateZ(0);
	transform:translateZ(0);
	box-shadow:0 0 1px rgba(0,0,0,0);
	-webkit-backface-visibility:hidden;
	backface-visibility:hidden;
	-moz-osx-font-smoothing:grayscale;
	position:relative;
	-webkit-transition-property:color;
	transition-property:color;
	-webkit-transition-duration:0.5s;
	transition-duration:0.5s;
}
.hvr-bounce-to-right:before {
	content:"";
	position:absolute;
	z-index:-1;
	top:0;
	left:0;
	right:0;
	bottom:0;
	background:rgba(0,0,0,0.5);
	-webkit-transform:scaleX(0);
	transform:scaleX(0);
	-webkit-transform-origin:0 50%;
	transform-origin:0 50%;
	-webkit-transition-property:transform;
	transition-property:transform;
	-webkit-transition-duration:0.5s;
	transition-duration:0.5s;
	-webkit-transition-timing-function:ease-out;
	transition-timing-function:ease-out;
}
.hvr-bounce-to-right:hover,.hvr-bounce-to-right:focus,.hvr-bounce-to-right:active {
	color:white;
}
.hvr-bounce-to-right:hover:before,.hvr-bounce-to-right:focus:before,.hvr-bounce-to-right:active:before {
	-webkit-transform:scaleX(1);
	transform:scaleX(1);
	-webkit-transition-timing-function:cubic-bezier(0.52,1.64,0.37,0.66);
	transition-timing-function: cubic-bezier(0.52,1.64,0.37,0.66);
}
/* layout */
#header {
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:80px;
	border-bottom:1px solid #ebebeb;
	background:#ffffff;
	z-index:999;
}
#header .logo {
	position:absolute;
	top:10px;
	left:100px;
	width:auto;
}
#header .logo a {
	font-size:20px;
	font-weight:600;
	color:#333;
}

footer{
	text-align: center;
}


.inner {
	width:1400px;
	margin:0 auto;
}

.site-map{
    display: none;
}

.gnb-btn {
	display: block !important;
	position: absolute;
	right: 15px;
	top: 15px;
	z-index: 10;
}
.gnb-btn button{
	position: relative;
	width: 40px;
	height: 40px;
	border: 0;
	background: #fff;
}

.gnb-btn button span{
	position: absolute;
	display: block;
	height: 2px;
	width: 22px;
	background: #333;
	top: 50%;
	margin-top: -1px;
	left: 50%;
	margin-left: -11px;
	transition: all 0.5s;
}

.gnb-btn button span:before{
	position: absolute;
	content:'';
	display: block;
	height: 100%;
	width: 100%;
	background: #333;
	top: -7px;
	transform: rotate(0deg);
	transition: all 0.5s;
}

.gnb-btn button span:after{content:'';display: block;height: 100%;width: 100%;background: #333;position: absolute;top: 7px;transform: rotate(0deg);transition: all 0.5s;}

.gnb-btn.gnb-btn-active button span{
	background: transparent;
}

.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;
}

.site-map{
	display: none;
	z-index: 9999;
	position: fixed;
	top: 80px;
	right: 0;
	width: 30%;
	height: 100vh;
	background: #232542;
}

.site-map > .inner{
	padding: 100px 0;
	width: 80%;
}

.site-map ul li{
	margin-bottom: 30px;
}

.site-map ul li a{
	font-size: 35px;
	color: rgba(255,255,255,0.3);
}

.site-map ul li:hover a{
	color: rgba(255,255,255,1);
	font-weight: 600;
	transition: 0.2s;
}

@media screen and (max-width: 768px) {

    .mb-30-sm{margin-bottom: 30px;}
    .fs-20-sm{font-size: 20px !important;}
	.pt-50-sm{padding-top:50px;}
	.pb-50-sm{padding-bottom: 50px;}
	.ptb-30-sm{padding:30px 0;}

    .inner{
        width: 100%;
		padding: 0 20px;
    }

    #header{
        position: fixed;
		height: 60px;
    }

    #header .logo {
        top: 10px;
        left: 20px;
    }

	#header .logo{
		width: 40px;
	}

	#header .logo > img{
		width: 100%;
	}

	.gnb-btn{
		top:10px;
	}

    #header .logo a{
        font-size: 18px;
    }

    #footer .foo-menu li{
        margin-bottom: 10px;
    }

    #footer .foo-info li{
        margin-bottom: 10px;
    }


    .m-scr-wrap{
        width: 100%;
        overflow-x: scroll;
    }

    .m-scr-wrap .sns-wrap{
        width: 333px;
    }

	.site-map{
		width: 100%;
		top:60px;
	}




}
/*E:768*/