@charset "UTF-8";

/* all */
* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

html, body {
	height: 100%;
}

body {
	margin: 0;
	padding: 0;
	font-family: 'Pretendard-Regular';
	font-size: 1rem;
	font-weight: 400;
	color: #000;
	word-break: keep-all;
	line-height: 1.25;
	letter-spacing: -0.025em;
}

section {
	padding: 0;
}

a {
	color: #000;
	text-decoration: none;
}

li {
	list-style: none;
}

form, img {
	margin: 0;
	padding: 0;
	border: 0;
}

img {
	border: none;
	font-size: 0;
	max-width: 100%;
}

caption {
	width: 100%;
	height: 1px;
	text-indent: -9999px;
	overflow: hidden;
}

.container {
	max-width: 100%;
	padding: 0 6rem;
}

.text-right {
	text-align: right;
}

/* header */
.header {
	width: 100%;
	padding: 0;
	position: fixed;
	height: 9.8rem;
	background-color: rgba(0,0,0,.5);
	border-bottom: 1px solid #d9d9d9;
}

.header.site {
	background-color: #fff;
}

.header.scrolled {
	background-color: #fff;
	animation: slide-down .5s;
}

.header-layout {
	width: 100%;
	height: 100%;
	max-width: 100%;
	margin: auto;
	padding: 0 6.1rem;
}

h1.logo>a {
	color: #fff;
}

.header.scrolled h1.logo>a {
	color: #000;
}

.header.site h1.logo>a {
	color: #000;
}

h1.logo>a>span {
	color: #198754;
}

.navbar a {
	padding: 0;
}

.navbar>ul {
	display: table;
	margin: auto;
	table-layout: fixed;
}

.header.site .navbar>ul {
	display: none;
}

.navbar>ul>li {
	height: 100%;
	padding: 0 4.5rem;
	display: table-cell;
	transition: all .3s;
	text-align: center;
	vertical-align: middle;
	cursor: pointer;
}

.navbar>ul>li>a {
	height: 100%;
	display: block;
	font-size: 2rem;
	font-weight: 500;
	color: #fff;
	line-height: 9.8rem;
	letter-spacing: 0;
	position: relative;
}

.header.scrolled .navbar>ul>li>a {
	color: #000;
}

.navbar>ul>li>a::before {
	height: 4px;
	bottom: 0;
	background-color: #198754;
	box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,.19);
	opacity: 0;
	transition: all .3s;
}

.navbar>ul>li>a:hover::before, .navbar>ul>li:hover>a::before {
	opacity: 1;
}

.navbar>ul>li>a:focus {
	font-size: 2rem;
	padding: 0;
}

.navbar .dropdown ul {
	width: 100%;
	left: 0;
	padding: 0;
	border-bottom-left-radius: .5rem;
	border-bottom-right-radius: .5rem;
}

.navbar .dropdown ul li {
	min-width: 0;
	padding: 1.5rem 0;
	text-align: center;
}

.navbar .dropdown ul a {
	display: block;
	padding: 0;
	font-size: 1.6rem;
}

.navbar .dropdown ul a:hover, .navbar .dropdown ul li:hover>a {
	color: #198754;
}

a.allmenu {
	width: 9.8rem;
	height: 9.8rem;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #198754;
	color: #fff;
	position: absolute;
	top: 0;
	right: 0;
}

a.allmenu>i {
	font-size: 4.5rem;
}

a.allmenu>i.bi-x {
	display: none;
}

/* contents */
#contents {
	height: 100vh;
}

.account-card {
	width: 420px;
	height: 100%;
	margin: 0;
	background-color: #fff;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 1;
}

.login-btn {
	width: 100%;
	height: 49px;
	padding: .375rem .75rem;
	font-weight: 400;
	line-height: 1.5;
	text-align: center;
	vertical-align: middle;
	border: none;
	border-radius: .25rem;
	background-color: #76ba88;
	color: #fff;
	cursor: pointer;
}

.account-bg {
	width: 100%;
	height: 100%;
	margin: 0;
	background: url('/images/main/login-bg.jpg');
	background-size: cover;
	background-repeat: no-repeat;
	background-position: right 35%;
	opacity: .7;
	position: absolute;
	top: 0;
	right: 0;
	z-index: 0;
}

.logo {
	text-align: center;
}

.logo img {
	width: 70%;
	height: 70%;
}

#pwdField {
	justify-content: space-between;
	align-items: center;
}

#pwdField span {
	font-size: 0.9375rem;
	color: #f00;
}

.join {
	color: #626ed4;
	font-size: 1.25rem;
	font-weight: 500;
}

.join:hover {
	color: #3240b7;
}

.pwd-input i {
	position: absolute;
	font-size: 1.25rem;
	top: 50%;
	right: 5px;
	transform: translateY(-50%);
	color: #bbb;
	cursor: pointer;
}

.pwd-input i:hover {
	color: #999;
}

/* footer */
.footer {
	font-size: 1.6rem;
	padding: 50px 0 30px;
}

/* scroll-top */
.scroll-top {
	background: #198754;
	color: #fff;
}

.scroll-top:hover {
	background-color: #aa1313;
}

.scroll-top i {
	font-size: 2.4rem;
	color: #fff;
}

@media(max-width: 1279px) {
	.mobile-nav-active .navbar::before {
		display: none;
		z-index: -1;
	}
	
	.navbar {
		width: auto;
		max-width: 100%;
		position: static;
		top: none;
		bottom: none;
		right: none;
		z-index: 90;
		transition: none;
	}
	
	.navbar>ul {
		padding: 0;
		z-index: 90;
		background: none;
	}
	
	.navbar .dropdown ul {
		height: 100%;
		display: block;
		position: absolute;
		top: calc(100% + 30px);
		left: 0;
		padding: 0;
		margin: 0;
		background-color: #fff;
		overflow-y: hidden;
		opacity: 0;
		visibility: hidden;
		border: none;
	}
	
	.navbar a {
		color: #000;
	}
	
	.navbar .dropdown:hover>ul {
		top: 100%;
		opacity: 1;
		visibility: visible;
	}
	
	.navbar li:nth-child(2):hover>ul {
		padding-bottom: 20rem;
	}
	
	.navbar>ul>li>a::before {
		width: 100%;
		height: 4px;
		display: block;
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		background-color: #198754;
		box-shadow: 0 0.3rem 0.6rem rgba(0,0,0,.19);
		opacity: 0;
		transition: all .3s;
	}
	
	.navbar>ul>li>a:hover::before, .navbar>ul>li:hover>a::before {
		display: block;
		content: '';
		opacity: 1;
	}
}

@media(max-width: 1000px) {
	.navbar {
		display: none;
	}
	
	.header-layout, .subvisual-layout, .contents-layout {
		padding: 0 4rem;
	}
	
	.slides-3 .swiper-arrow {
		right: 0;	
	}
}

@media(max-width: 930px) {
	.slides-3 .swiper-page-container {
		padding-right: 0;
	}
	
	.slides-3 .swiper-pagination {
		width: 100%;
	}
	
	.slides-3 .swiper-arrow {
		display: none;
	}
}

@media(max-width: 800px) {
	.logo img {
		width: 45%;
		height: 45%;
	}
	
	.header-layout, .subvisual-layout, .contents-layout {
		padding: 0 2rem;
	}
	
	.container {
		padding: 0 2rem;
	}
	
	.slides-3 .swiper-table-contents {
		display: block;
	}
	
	.slides-3 .slides-main-txt-wrapper {
		display: block;
	}
	
	.slides-3 .slides-main-txt,
	.slides-3 .slides-main-img {
		display: block;
		width: 100%;
	}
	
	.slides-3 .slides-main-txt {
		margin-bottom: 6rem;
	}
}

@media(max-width: 500px) {
	.logo img {
		width: 70%;
		height: 70%;
	}
}