@charset "utf-8";

/* 상단
------------------------------------------------------ */
#header { 
	position:relative; top:0; left:0;
	z-index:9999;
	width:100%;
	background:#fff;
	/* box-shadow:0 0 10px rgba(0,0,0,.15); */
	border-top:3px solid #ff5758;
}
#header.fixed {
		position:fixed; top:0;
	}
#header .header-top { 
	position:relative;
	margin:0 auto; padding:16px 0; 
	width:1180px;
	height:80px;
}

/* logo */
#header #logo { 
	position:absolute; top:50%; left:0; 
	transform:translateY(-50%);
}
#header #logo a { 
	display:block; 
	height:100%; 
	line-height:0;
    max-width:230px;
}
#header #logo a img { 
	height:100%; 
    width:100%;
}

/* search */
#header .search-wrap { 
	position:relative;
	margin:0 auto;
	width:100%; max-width:450px;
	box-shadow:0 3px 7px rgba(0,0,0,.15);
	border-radius:15px;
}
@media only screen and (min-width:1025px) { 
	#header .search-wrap { 
		display:block !important; 
	}
}
#header .search-wrap input[type="text"] { 
	padding:0 56px 0 20px;
	width:100%; height:48px;
	border-radius:15px;
	border:0 none;
	font-weight:400; font-size:16px;
	color:var(--color-dark-gray);
}
#header .search-wrap .search { 
	position:absolute; top:0; right:0;
	padding:0;
	width:56px; height:48px;
	background:none;
	text-align:center;
}
#header .search-wrap .back { 
	display:none;
	position:absolute; top:0; left:30px;
	padding:0;
	width:30px; height:80px;
	background:none;
}

#header .m-search-btn { 
	display:none;
	position:absolute; top:50%; right:74px;
	margin-top:-15px;
	line-height:0;
}

/* logion */
.logion-wrap, .header-login-wrap {
	position:absolute; top:20px; right:0;
}
.logion-wrap .login-utils, .header-login-wrap .login-utils {
    display:flex;
	float:left;
    align-items:center;
    padding-right:40px;
	/*background:url('../images/common/login_icon.png') no-repeat 99% center;
	 font-size:0; */
	cursor:pointer;
}
.logion-wrap .login-utils li, .header-login-wrap .login-utils li {
	display:inline-block;
	vertical-align:middle;
}
.logion-wrap .login-utils li a, .header-login-wrap .login-utils li a {
	display:block;
	font-weight:500; font-size:16px; line-height:40px;
	color:#000;
}
.logion-wrap .login-utils li.join a, .header-login-wrap .login-utils li.join a {
	color:#000;
}
.logion-wrap .login-menu, .header-login-wrap .login-menu {
	display:none;
	position:absolute; top:100%; right:0;
	z-index:99999999;
	margin-top:21px;
	padding:20px;
	width:160px;
	border-radius:3px;
	border:1px solid var(--color-dark-gray);
	background:#fff;
}
.logion-wrap .login-menu .user-name, .header-login-wrap .login-menu .user-name {
	margin-bottom:15px;
	font-weight:500; font-size:14px;
	color:var(--color-primary);
}
.logion-wrap .login-menu .user-name strong, .header-login-wrap .login-menu .user-name strong {
	font-weight:700;
}
.logion-wrap .login-menu .alarm-wrap, .header-login-wrap .login-menu .alarm-wrap {
	position:absolute; top:20px; right:20px;
	line-height:0;
}
.logion-wrap .login-menu .alarm-wrap .new, .header-login-wrap .login-menu .alarm-wrap .new {
	position:absolute; top:-8px; right:-10px;
	width:16px; height:16px;
	border-radius:50%;
	background:var(--color-red);
	font-weight:500; font-size:11px; line-height:16px;
	color:#fff;
	text-align:center;
}
.logion-wrap .login-menu .user-menu li a, .header-login-wrap .login-menu .user-menu li a { 
	position:relative;
	display:inline-block;
	font-weight:400; font-size:18px; line-height:32px;
	color:var(--color-dark-gray);
	transition:.3s;
}
.logion-wrap .login-menu .user-menu li a:after, .header-login-wrap .login-menu .user-menu li a:after { 
	content:'';
	position:absolute; bottom:5px; left:0;
	width:100%; height:1px;
	background:var(--color-dark-gray);
	transition:.3s;
	opacity:0;
}
.logion-wrap .login-menu .user-menu li:hover a, .header-login-wrap .login-menu .user-menu li:hover a {
	font-weight:700;
}
.logion-wrap .login-menu .user-menu li:hover a:after, .header-login-wrap .login-menu .user-menu li:hover a:after { 
	opacity:1;	 
}
.header-login-wrap .login-menu .user-menu .btn-admin {margin-top:7px;}
.header-login-wrap .login-menu .user-menu .btn-admin a {display:inline-flex; gap:5px; align-items:center;}

@media only screen and (max-width:1180px) { 
	#header .header-top { 
		padding:16px 30px;
		width:100%; height:80px;
	}
	#header #logo { 
		left:30px; 
	}
	.header-login-wrap { 
		top:22px;
        right:30px; 
	}
    .header-login-wrap .login-utils {
        background:none;
        padding-right:30px;
    }
    .header-login-wrap .login-menu {
        right:-50px;
    }
}
@media only screen and (max-width:1024px) { 
	.header-login-wrap { 
		display:none; 
	}
	#header .m-search-btn { 
		display:block; 
	}
	#header .search-wrap { 
		display:none; 
		position:fixed; top:0; left:0;
		z-index:11111;
		max-width:100%;
		border-bottom:2px solid var(--color-dark-gray);
		border-radius:0;
		box-shadow:none;
	}
	#header .search-wrap input[type="text"] { 
		padding:0 75px;
		height:80px;
		border-radius:0;
		font-size:24px;
	}
	#header .search-wrap .back { 
		display:block; 
	}
	#header .search-wrap .search { 
		right:30px;
		width:30px;  height:80px;
		background:url('../images/common/m_icon_search.png') no-repeat center center;
	}
	#header .search-wrap .search img { 
		display:none; 
	}
    #header #logo a { max-width:200px; } 
}
@media only screen and (max-width:768px) { 
	#header .header-top { 
		padding:0 20px;
		height:70px;
	}
	#header #logo { 
		left:20px;
		height:30px;
	}
    #header #logo a {max-width:none;}
    #header #logo a img {width:auto;}

	#header .search-wrap { 
		height:70px; 
	}
	#header .search-wrap input[type="text"] { 
		padding:0 60px;
		height:70px; 
		font-size:18px;
	}	
	#header .search-wrap .back { 
		left:0;
		width:60px; height:70px;
	}
	#header .search-wrap .back img { 
		height:20px; 
	}
	#header .search-wrap .search { 
		right:0;
		width:60px; height:70px;
		background-size:auto 20px;
	}

	#header .m-search-btn { 
		right:55px;
		margin-top:-10px; 
	}
	#header .m-search-btn img { 
		height:20px;	 
	}
}

/* -------- gnb -------- */
#gnb { 
	position:relative;
	width:100%;
	/* border-top:1px solid #eee;
	border-bottom:1px solid #ddd; */
	background:#fff;
	text-align:center;
	transition:.3s;
}
.fixed #gnb { 
	position:fixed; top:0; left:0;
}
#gnb .gnb-wrap {
	font-size:0;
}
@media only screen and (max-width:1024px) {
.gnb-inner {overflow:hidden;}
}
@media only screen and (min-width:767px) {
	#gnb .swiper-wrapper { 
		justify-content:center; 
	}
}
#gnb .depth01 { 
	position:relative;
	display:inline-block;
	width:163px;
	vertical-align:top;
}
#gnb .depth01 a { 
	position:relative; 
	display:block;
	font-weight:400; font-size:18px; line-height:69px;
	color:var(--color-dark-gray);
	transition:.3s;
}
#gnb .depth01 > a:after { 
	content:'';
	position:absolute; bottom:0; left:0;
	width:100%; height:4px;
	background:var(--color-primary);
	transition:.3s;
}
#gnb .depth01 > a:after { 
	transform:scaleX(0);
}
#gnb .depth01:hover > a:after { 
	transform:scaleX(1);
}
#gnb .depth02 {
	overflow:hidden;
	position:absolute; top:100%; left:50%;
	z-index:111;
	transform:translateX(-50%);
	width:163px; height:0;
	background:#fff;
	transition:.3s;
}
@media only screen and (min-width:1024px) {
	#gnb .depth01:hover .depth02 { 
		padding:18px 0;
		height:auto;
		border:1px solid #ddd;
	}
}
#gnb .depth02 a {
	font-weight:400; font-size:15px; line-height:40px;
	color:var(--color-dark-gray);
	transition:.3s;
}
#gnb .depth02 a:hover {
	color:var(--color-primary);
}

#gnb .gnb-bg {
	display:none;
}

/* -------- menu btn -------- */
#gnb .menu-btn {
	position:absolute; top:50%; left:50%;
	z-index:111;
	margin-top:-9px; margin-left:570px;
	width:20px; height:18px;
	cursor:pointer;
	display:none;
}
#gnb .menu-btn.on { 
	z-index:9999999;
}
#gnb .menu-btn span {
	position:absolute; right:0;
	width:100%; height:3px;
	border-radius:3px;
	background:var(--color-dark-gray);
	transition:.3s;
}
#gnb .menu-btn span:nth-child(1) {
	top:0;
}
#gnb .menu-btn span:nth-child(2) {
	top:50%;
	margin-top:-1.5px;
}
#gnb .menu-btn span:nth-child(3) {
	bottom:0;
}
#gnb .menu-btn.on span:nth-child(1) {
	top:8px;
	transform:rotate(-45deg);
}
#gnb .menu-btn.on span:nth-child(2) {
	right:-100%;
	opacity:0;
}
#gnb .menu-btn.on span:nth-child(3) {
	bottom:7px;
	transform:rotate(45deg);
}

@media only screen and (max-width:1180px) { 
	#gnb .menu-btn { 
		top:auto; bottom:100%; left:auto; right:30px;
		margin-top:0; margin-bottom:31px;
	}
}
@media only screen and (max-width:1024px) { 
	#header { 
		box-shadow:none; 
	}
	#gnb { 
		border-color:#ddd; 
	}
	#gnb .menu-btn { 
		display:block;
		margin-bottom:27px;
		width:29px; height:27px; 
	}
	#gnb .menu-btn.on { 
		margin-bottom:13px;
		width:41px; height:41px; 
	}
	#gnb .menu-btn span { 
		transition:.3s; 
	}
	#gnb .menu-btn.on span:nth-of-type(1) { 
		top:19px;
		transform:rotate(-45deg);	 
	}
	#gnb .menu-btn.on span:nth-of-type(2) { 
		right:-100%;
		opacity:0; 
	}
	#gnb .menu-btn.on span:nth-of-type(3) { 
		bottom:19px;
		transform:rotate(45deg);	 
	}
}
@media only screen and (max-width:768px) { 
	#header.fixed {
		position:fixed; top:0;
	}
	#gnb { 
		padding:0 6px; 
	}
	.fixed #gnb {
		position:relative;
	} 
	#gnb .depth01 { 
		margin:0 14px; 
		width:auto;
	}
	#gnb .depth01 a { 
		font-size:16px; line-height:54px; 
	}
	#gnb .menu-btn { 
		right:20px; 
		width:20px; height:18px;
	}
	#gnb .menu-btn.on { 
		margin-bottom:28px;
		width:25px; height:25px; 
	}
	#gnb .menu-btn span { 
		height:2px; 
	}
	#gnb .menu-btn.on span:nth-of-type(1) { 
		top:12px;
	}
	#gnb .menu-btn span:nth-child(2) { 
		margin-top:-1px; 
	}
	#gnb .menu-btn.on span:nth-of-type(3) { 
		bottom:11px;
	}
}

@media only screen and (min-width:1025px) {
	#m-gnb-wrap {
		display:none;
		position:absolute; top:100%; left:0;
		width:100%;
		background:#fff;
		text-align:center;
	}
	.fixed #m-gnb-wrap {
		position:fixed; top:71px;
	}
	#m-gnb-wrap .m-header-utils ,
	#m-gnb-wrap .m-user-menu,
	#m-gnb-wrap .login-utils {
		display:none;
	}	
	#m-gnb-wrap .m-gnb {
		font-size:0;
	}
	#m-gnb-wrap .m-gnb .depth01 {
		display:inline-block;
		width:163px;
		vertical-align:top;
	}
	#m-gnb-wrap .m-gnb .depth01 > a {
		position:relative; 
		font-size:0;
	}
	#m-gnb-wrap .m-gnb .depth02 {
		padding:17px 0;
	}
	#m-gnb-wrap .m-gnb .depth02 a {
		display:block;
		font-weight:400; font-size:15px; line-height:40px;
		color:var(--color-dark-gray);
		transition:.3s;
	}
} 
@media only screen and (max-width:1024px) { 
	/* m gnb */
	#m-gnb-wrap { 
		display:none;
		position:fixed; top:0; right:0;
		z-index:99999;
		width:100%; height:100vh;
		background:rgba(0,0,0,.8);
	}
	#m-gnb-wrap .m-gnb-inner { 
		position:absolute; top:0; right:-100%;
		padding:85px 0 0;
		width:80%; max-width:500px; height:100%;
		background:#fff;
	}

	#m-gnb-wrap .m-header-utils { 
		position:absolute; top:30px; right:79px;
		font-size:0;
	}
	#m-gnb-wrap .m-header-utils li { 
		display:inline-block;
		margin-left:20px;
		vertical-align:top;
	}
	#m-gnb-wrap .m-header-utils li a { 
		position:relative;
		display:block;
		line-height:0;
	}
	#m-gnb-wrap .m-header-utils .alarm .new { 
		position:absolute; bottom:100%; left:100%;
		margin-bottom:-10px; margin-left:-6px;
		width:18px; height:18px;
		border-radius:50%;
		background:var(--color-red);
		font-weight:500; font-size:14px; line-height:18px;
		color:#fff;
		text-align:center;
	}

	#m-gnb-wrap .m-user-menu { 
		margin-bottom:40px;	 
	}
	#m-gnb-wrap .m-user-menu dl { 
		 
	}
	#m-gnb-wrap .m-user-menu dt { 
		padding:0 30px;
		font-weight:400; font-size:36px; line-height:69px;
		color:#000;
	}
	#m-gnb-wrap .m-user-menu dt strong { 
		font-weight:700; 
	}
	#m-gnb-wrap .m-user-menu dt a { 
		display:block;
		font-weight:700; font-size:36px; line-height:69px;
		color:#000;
	}
	#m-gnb-wrap .m-user-menu dd { 
		padding:0 30px; 
	}
	#m-gnb-wrap .m-user-menu dd a { 
		position:relative;
		display:block;
		padding-left:25px;
		font-weight:500; font-size:36px; line-height:69px;
		color:#000;
	}
	#m-gnb-wrap .m-user-menu dd a:before { 
		content:'';
		position:absolute; top:20px; left:0;
		width:10px; height:10px;
		border-radius:50%;
		background:var(--color-dark-gray);
	}

	#m-gnb-wrap .m-gnb { 
		overflow-x:hidden;
		max-height:calc(100% - 363px);
		border-top:1px solid #eee;
	}
	#m-gnb-wrap .m-gnb .depth01 > a { 
		position:relative;
		display:block;
		padding:0 30px;
		border-bottom:1px solid #eee;
		font-weight:500; font-size:28px; line-height:82px;
		color:#000;
	}
	#m-gnb-wrap .m-gnb .depth01 > :is(a:before,a:after) { 
		content:'';
		position:absolute; top:50%; right:30px;
		margin-left:-6.5px;
		width:13px; height:1px;
		background:#32186d;
	}
	#m-gnb-wrap .m-gnb .depth01 > a:after { 
		transform:rotate(-90deg); 
	}
	#m-gnb-wrap .m-gnb .depth01.on > a:after { 
		display:none; 
	}
	#m-gnb-wrap .m-gnb .depth02 { 
		display:none;
		padding:22px 0; 
		border-bottom:1px solid #eee;
	}
	#m-gnb-wrap .m-gnb .depth02 li a { 
		display:block;
		padding:0 30px;
		font-weight:400; font-size:24px; line-height:56px;
		color:#000;
	}
	#m-gnb-wrap .login-utils { 
		padding:55px 0 30px;
		font-size:0;
		text-align:center;
	}
	#m-gnb-wrap .login-utils li { 
		position:relative;
		display:inline-block;
		margin:0 27px;
		vertical-align:top;
	}
	#m-gnb-wrap .login-utils li:after { 
		content:'';
		position:absolute; top:50%; right:-27px;
		margin-top:-10px;
		width:1px; height:20px;
		background:var(--color-light-gray, #ccc);
	}
	#m-gnb-wrap .login-utils li:last-child:after { 
		display:none; 
	}
	#m-gnb-wrap .login-utils li a { 
		display:block;
		font-weight:400; font-size:22px;
		color:var(--color-light-gray);
	}
}
@media only screen and (max-width:768px) { 
	#m-gnb-wrap .m-gnb-inner { 
		padding-top:50px; 
	}
	#m-gnb-wrap .m-header-utils { 
		top:20px; right:52px;
	}
	#m-gnb-wrap .m-header-utils li { 
		margin-left:12px; 
	}
	#m-gnb-wrap .m-header-utils li a img { 
		height:21px;	 
	}
	#m-gnb-wrap .m-header-utils .alarm .new { 
		margin-bottom:-7px; margin-left:-4px;
		width:13px; height:13px;
		font-size:9px; line-height:13px;
	}
	#m-gnb-wrap .m-user-menu { 
		margin-bottom:25px; 
	}
	#m-gnb-wrap .m-user-menu dt { 
		padding:0 20px;
		font-size:22px; line-height:50px;
	}
	#m-gnb-wrap .m-user-menu dt a { 
		font-size:22px; line-height:50px;
	}
	#m-gnb-wrap .m-user-menu dd { 
		padding:0 20px; 
	}
	#m-gnb-wrap .m-user-menu dd a { 
		padding-left:15px;
		font-size:22px; line-height:43px; 
	}
	#m-gnb-wrap .m-user-menu dd a:before { 
		top:12px;
		width:7px; height:7px;
	}
	#m-gnb-wrap .m-gnb { 
		max-height:calc(100% - 235px); 
	}
	#m-gnb-wrap .m-gnb .depth01 > a { 
		padding:0 20px;
		font-size:17px; line-height:50px;
	}
	#m-gnb-wrap .m-gnb .depth01 > :is(a:before,a:after) { 
		right:20px;
		width:9px; 
	}
	#m-gnb-wrap .m-gnb .depth02 { 
		padding:14px 0; 
	}
	#m-gnb-wrap .m-gnb .depth02 li a { 
		padding:0 20px;
		font-size:15px; line-height:35px;
	}
	#m-gnb-wrap .login-utils { 
		padding:35px 0 20px; 
	}
	#m-gnb-wrap .login-utils li { 
		margin:0 16px; 
	}
	#m-gnb-wrap .login-utils li a { 
		font-size:14px; 
	}
	#m-gnb-wrap .login-utils li:after { 
		right:-16px;
		margin-top:-6.5px;
		height:13px;
	}
}


/* 하단
------------------------------------------------------ */
#footer { 
	position:relative;
	width:100%;
	background:#fff; 
}

/* -------- utils -------- */
#footer .footer-utils { 
	border:1px solid #ddd;
	border-width:1px 0;
}
#footer .footer-utils .swiper-wrapper { 
	margin:0 auto;
	width:1180px;
	font-size:0;
}
#footer .footer-utils .swiper-slide { 
	display:inline-block;
	margin-right:40px;
	width:auto;
	vertical-align:top;
}
#footer .footer-utils .swiper-slide a { 
	display:block; 
	font-weight:500; font-size:16px; line-height:67px;
	color:var(--color-dark-gray);
}

@media only screen and (max-width:1180px) {
	#footer .footer-utils .swiper-wrapper {
		padding:0 30px;
		width:100%;
	}
}
@media only screen and (max-width:768px) {
	#footer .footer-utils .swiper-wrapper {
		padding:0 20px;
	}
	#footer .footer-utils .swiper-slide {
		margin-right:30px;
	}
	#footer .footer-utils .swiper-slide a {
		font-size:15px; line-height:60px;
	}
}
@media only screen and (max-width:640px) {
	#footer .footer-utils .swiper-slide {
		margin-right:20px;
	}
	#footer .footer-utils .swiper-slide a {
		font-size:14px; line-height:50px;
	}
}

/* -------- address -------- */
#footer .footer-address { 
	margin:0 auto; padding:40px 0 35px;
	width:1180px;
	font-size:0;
}
#footer .footer-address .foot-logo { 
	display:inline-block;
	width:300px;
	vertical-align:top;
    padding-right:60px;
}
#footer .footer-address .foot-logo img {
    max-width:240px;
}
#footer .footer-address address { 
	display:inline-block;
	width:calc(100% - 300px);
	font-style:normal;
	vertical-align:top;
}
#footer .footer-address address span { 
	display:inline-block;
	margin:0 35px 5px 0;
	font-weight:300; font-size:16px;
	color:var(--color-dark-gray);
	word-break:keep-all;
	vertical-align:top;
}
#footer .footer-address address .copy { 
	display:block;
	margin-top:25px; margin-right:0; margin-bottom:0;
}

@media only screen and (max-width:1180px) {
	#footer .footer-address {
		padding:40px 30px 35px;
		width:100%;
	}
}
@media only screen and (max-width:1024px) {
	#footer .footer-address .foot-logo {
		display:none;
	}
	#footer .footer-address address {
		width:100%;
	}
}
@media only screen and (max-width:768px) {
	#footer .footer-address {
		padding:30px 20px;
		width:100%;
	}
}
@media only screen and (max-width:640px) {
	#footer .footer-address address span {
		margin-right:20px;
		font-size:14px;
	}
	#footer .footer-address address span:nth-of-type(2) ~ span {
		display:block;
	}
	#footer .footer-address address .copy {
		margin-top:20px;
	}
}

/* -------- btn top -------- */
#footer .btn-top {
	position:fixed; bottom:30px; right:30px;
	z-index:999;
	margin-bottom:0;
    margin-left:530px;
	width:60px; height:60px;
	border-radius:50%;
	background:#fff;
	box-shadow: 0 0 20px rgba(0,0,0,.20);
	line-height:0;
}
#footer .btn-top img {
	display:block;
	margin:0 auto;
}
#footer .btn-top .top-arrow {
	margin:16px auto 8px;
}

@media only screen and (max-width:1180px) {
	#footer .btn-top {
		left:auto; right:30px;
		margin-left:0;
	}
}
@media only screen and (max-width:768px) {
	#footer .btn-top {
		right:20px; bottom:20px;
	}
}
@media only screen and (max-width:640px) {
	#footer .btn-top {
		width:50px; height:50px;
	}
	#footer .btn-top .top-arrow {
		margin:13px auto 6px;
		height:12px;
	}
	#footer .btn-top .top-txt {
		height:7px;
	}
}


/* contents
------------------------------------------------------ */
#contents {
	/* padding-top:151px; */
}

@media only screen and (max-width:768px) { 
	#contents {
		/* padding-top:126px; */
	}
}

/* form css
------------------------------------------------------ */
/* checkbox */
.checkbox-wrap {  
}
.checkbox-wrap input { 
	display:none; 
}
.checkbox-wrap label { 
	display:inline-block;
	font-size:16px; line-height:24px;
	color:var(--color-dark-gray);
	vertical-align:top;
	cursor:pointer;
}
.checkbox-wrap label:before { 
	content:'';
	display:inline-block;
	margin-right:10px;
	width:24px; height:24px;
	border:1px solid #ccc;
	box-sizing:border-box;
	border-radius:50%;
	background:#fff;
	vertical-align:top;
}
.checkbox-wrap input:checked + label:before { 
	border-color:var(--color-primary);
	background:var(--color-primary) url('../images/common/checkmark.png') no-repeat center center; 
}
.checkbox-wrap.gray input:checked + label:before { 
	border-color:var(--color-dark-gray);
	background:var(--color-dark-gray) url('../images/common/checkmark.png') no-repeat center center; 
}

.checkbox-wrap.square label:before {
	border-radius:4px;	
}

@media only screen and (max-width:767px) {
	.checkbox-wrap label {
		font-size:14px; line-height:18px;
	}
	.checkbox-wrap label:before {
		margin-right:5px;
		width:18px; height:18px;
	}
	.checkbox-wrap input:checked + label:before,
	.checkbox-wrap.gray input:checked + label:before {
		background-size:auto 6px;
	}
}


/* checkbox btn */
.checkbox-btn { 	 
}
.checkbox-btn input { 
	display:none; 
}
.checkbox-btn label { 
	display:inline-block;
	margin-right:10px;
	width:100px;
	border-radius:4px;
	border:1px solid #ccc;
	background:#fff;
	font-size:18px; line-height:38px;
	color:var(--color-dark-gray);
	text-align:center;
	cursor:pointer;
}
.checkbox-btn input:checked + label {  
	border-color:var(--color-primary);
	background:var(--color-primary);
	color:#fff;
}
@media only screen and (max-width:767px) {
	.checkbox-btn label {
		font-size:14px; line-height:30px;
	}
}
/* checkbox */
.radio-wrap {  
}
.radio-wrap input { 
	display:none; 
}
.radio-wrap label { 
	display:inline-block;
	font-size:16px; line-height:24px;
	color:var(--color-dark-gray);
	vertical-align:top;
	cursor:pointer;
}
.radio-wrap label:before { 
	content:'';
	display:inline-block;
	margin-right:10px;
	width:24px; height:24px;
	border:1px solid #ccc;
	box-sizing:border-box;
	border-radius:50%;
	background:#fff;
	vertical-align:top;
}
.radio-wrap input:checked + label:before { 
	border-width:8px;
	border-color:var(--color-primary);
}

@media only screen and (max-width:767px) {
	.radio-wrap label {
		font-size:14px; line-height:18px;
	}
	.radio-wrap label:before {
		margin-right:5px;
		width:18px; height:18px;
	}
	.radio-wrap input:checked + label:before {
		border-width:5px;
	}
}


/* date */
.select-date { 
	font-size:0; 
}
.select-date > * { 
	display:inline-block;
	vertical-align:top;
}
.select-date .date { 
	padding:0 10px 0 10px;
	height:40px;
	border-radius:4px;
	border:1px solid #ccc;
    font-size:18px; line-height:38px;
	color:var(--color-dark-gray);
}
.select-date .date + span { 	 
	width:30px;
	font-size:18px; line-height:40px;
	color:var(--color-dark-gray);
	text-align:Center;
}

@media only screen and (max-width:767px) {
	.select-date .date {
		padding:0 10px 0 10px;
		height:30px;
		background-size:auto 14px;
		font-size:15px; line-height:30px;
	}
	.select-date .date + span {
		font-size:15px; line-height:30px;
	}
}


/* file select */
.select-file {
	font-size:0;
}
.select-file input[type="file"] {
	display:none;
}
.select-file label {
	display:inline-block;
	margin-right:11px;
	padding:0 13px;
	border-radius:12px;
	background:var(--color-primary);
	font-size:12px; line-height:24px;
	color:#fff;
	vertical-align:top;
}
.select-file span {
	display:inline-block;
	font-size:16px; line-height:24px;
	color:var(--color-dark-gray);
	vertical-align:top;
}

.attach-list {
	font-size:0;
}
.attach-list li {
	margin-bottom:7px;
	font-size:16px; line-height:24px;
	color:var(--color-dark-gray);
}
.attach-list li:last-child {
	margin-bottom:0;
}
.attach-list li strong {
	display:inline-block;
	margin-right:11px;
	padding:0 13px;
	border-radius:12px;
	background:#ccc;
	font-weight:400;
	font-size:12px; line-height:24px;
	color:#fff;
	vertical-align:top;
}
/* 하단
------------------------------------------------------ */
#sitemap { 
	position:relative;
	width:100%;
	background:#fff; 
}

/* -------- utils -------- */
#sitemap .footer-utils { 
	border:1px solid #ddd;
	border-width:1px 0;
    overflow:hidden;
}
#sitemap .footer-utils .swiper-wrapper { 
	margin:0 auto;
	width:1180px;
	font-size:0;
}
#sitemap .footer-utils .swiper-slide { 
	display:inline-block;
	margin-right:40px;
	width:auto;
	vertical-align:top;
}
#sitemap .footer-utils .swiper-slide a { 
	display:block; 
	font-weight:500; font-size:16px; line-height:67px;
	color:var(--color-dark-gray);
}

@media only screen and (max-width:1180px) {
	#sitemap .footer-utils .swiper-wrapper {
		padding:0 30px;
		width:100%;
	}
}
@media only screen and (max-width:768px) {
	#sitemap .footer-utils .swiper-wrapper {
		padding:0 20px;
	}
	#sitemap .footer-utils .swiper-slide {
		margin-right:30px;
	}
	#sitemap .footer-utils .swiper-slide a {
		font-size:15px; line-height:60px;
	}
}
@media only screen and (max-width:640px) {
	#sitemap .footer-utils .swiper-slide {
		margin-right:20px;
	}
	#sitemap .footer-utils .swiper-slide a {
		font-size:14px; line-height:50px;
	}
}

.band-banner {overflow:hidden;}

.navi_n { float:left; }
.navi_n a {
	display:block;
	font-weight:500; font-size:16px; line-height:40px;
	color:#000;
}