* {
	margin:0;
	padding:0;
	box-sizing:border-box;
}

html {
	font-size:62.5%;
	overflow-y:scroll;
}

html,
body {
	width:100%;
	height:100%;
	min-width:1450px;
}

body {
	font-family:'Verdana', 'malgun gothic';
	font-size:1.4rem;
	color:#444;
	line-height:1;
	letter-spacing:-0.05em;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	font-size:100%;
	font-weight:normal;
	margin:0;
}

a {
	color:inherit;
	text-decoration:none;
}

a:hover,
a:active {
	color:inherit;
	text-decoration:none;
}

table {
	table-layout:fixed;
	word-break:break-all;
	border-collapse:collapse;
	border-spacing:0;
}

img,
fieldset,
hr {
	border:none;
}

ul,
li,
ol {
	list-style:none;
	margin:0;
}

address,
em {
	font-style:normal;
}

img,
video,
canvas {
	height:auto;
}

legend {
	display:none;
}

input,
select,
textarea,
button {
	outline:none;
	-webkit-appearance:none;
	-webkit-border-radius:0;
}

button {
	background:none;
}


select
{
	-webkit-appearance:none;
	-moz-appearance:none;
	background-image:url(../../images/sub1/select.png);
	background-position:95% 50%;
	background-repeat:no-repeat;
	border:1px solid #c2c2c2;
	padding-left:13px;
	font-family:'NotoKrR';
	font-size:18px;
	letter-spacing:-0.07em;
	color:#222222;
}

select::-ms-expand
{
   display:none;
}


.textAL {
	text-align:left !important;
}

.textAC {
	text-align:center !important;
}

.textAR {
	text-align:right !important;
}

.textCut {
	white-space:nowrap;
	text-overflow:ellipsis;
	overflow:hidden;
}

.clearfix:after {
	clear:both;
	content:'';
	display:block;
}

.hide {
	display:none !important;
}

.objectFit img {
	object-fit:cover;
	width:100%;
	height:100%;
}

.objectFitIE {
	background-size:cover;
	background-position:center center;
}

.objectFitIE img {
	opacity:0;
}


/* 0. Flex Wrap */
.flex_wrap
{
	display:flex;
	min-height:100vh;
	flex-direction:column;
}
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .flex_wrap
	{
		display:block;
		height:100%;
	}
}



/* 1. Menu */
.menu
{
	position:fixed;
	width:100%;
	height:80px;
	overflow:hidden;
	background:rgba(0,0,0,0.2);
	transition:all .3s;
	z-index:5;
}
.menu.active
{
	height:292px;
	box-shadow:0 0 5px rgba(0,0,0,0.5);
}
.menu .hover_wrap
{
	position:absolute;
	top:80px;
	left:0;
	width:100%;
	height:212px;
	background:#fff;
	border-top:1px solid #dcdcdc;
}
.menu .logo
{
	position:absolute;
	top:10px;
	left:23px;
}
.menu .menu_wrap
{
	width:1450px;
	height:100%;
	margin:0 auto;
}
.menu .menu_wrap > ul
{
	position:relative;
	z-index:1;
	text-align:center;
	max-width:1200px;
	margin:0 auto;
	height:100%;
}
.menu .menu_wrap > ul > li
{
	position:relative;
	height:100%;
	display:inline-block;
	padding:0 51px;
	vertical-align:top;
	margin-right:-4px;
}
.menu .menu_wrap > ul > li:hover:before
{
	content:'';
	position:absolute;
	top:78px;
	left:50%;
	width:100%;
	height:3px;
	background:#fbd400;
	transform:translateX(-50%);
	animation:top_h .3s;
}
@keyframes top_h
{
	0%
	{
		width:0;
	}
	100%
	{
		width:100%;
	}
}
.menu .menu_wrap > ul > li > a
{
	display:block;
	height:calc(100% - 212px);
	font-family:'NotoKrM';
	font-size:20px;
	color:#ffffff;
	letter-spacing:-0.05em;
	padding-top:28px;
	transition:all .3s;
}
.menu .menu_wrap > ul > li > ul
{
	padding-top:60px;
	transition:all .5s;
	opacity:0;
}
.menu .menu_wrap > ul > li > ul > li:not(:last-child)
{
	margin-bottom:22px;
}
.menu .menu_wrap > ul > li > ul > li > a
{
	font-size:17px;
	color:#000000;
	opacity:.6;
	transition:all .3s;
	letter-spacing:-0.08em;
}
.menu .menu_wrap > ul > li > ul > li:hover > a
{
	opacity:1;
}
.menu .menu_right
{
	position:absolute;
	top:29px;
	right:36px;
	z-index:2;
}
.menu .menu_right a
{
	font-family:'NotoKrL';
	font-size:18px;
	color:#ffffff;
}
.menu .menu_right a:not(:first-child)
{
	margin-left:21px;
}

.menu.active,
.menu.scroll_on
{
	background:#fff;
	box-shadow:0 0 4px 1px rgba(0,0,0,0.1)
}
.menu.active .menu_wrap > ul:before
{
	content:'';
	position:absolute;
	top:0;
	left:92px;
	width:1px;
	height:100%;
	background:#dcdcdc;
}
.menu.active .menu_wrap > ul > li:after
{
	content:'';
	position:absolute;
	top:0;
	right:0;
	width:1px;
	height:100%;
	background:#dcdcdc;
}
.menu.active .menu_wrap > ul > li > a,
.menu.scroll_on .menu_wrap > ul > li > a
{
	color:#000
}
.menu.active .menu_wrap > ul > li > ul
{
	padding-top:42px;
	opacity:1;
}
.menu.active .menu_right a,
.menu.scroll_on .menu_right a
{
	color:#666666;
}
/* 3. Sub Menu */
.sub_common_wrap
{
	position:relative;
	width:100%;
	/* margin-top:55px; */
	overflow:hidden;
	flex:1;
}
@media all and (-ms-high-contrast:none){
	*::-ms-backdrop, .sub_common_wrap
	{
		min-height:calc(100% - 441px);
	}
}
.sub_common_menu
{
	position:relative;
	width:100%;
	height:55px;
	border-bottom:1px solid #dddddd;
	background:#fff;
	background-size:cover;
	z-index:1;
}
.sub_common_menu .sub_home
{
	position:relative;
	width:82px;
	height:100%;
	float:left;
	text-align:center;
	line-height:55px;
	border-left:1px solid #dddddd;
	border-right:1px solid #dddddd;
}
.sub_common_menu .sub_home img
{
	vertical-align:-2px;
}
.sub_depth_wrap
{
	height:100%;
}
.sub_depth_wrap > li
{
	position:relative;
	float:left;
	width:261px;
	height:100%;
	border-right:1px solid #dddddd;
}
.sub_depth_wrap > li > a.s_title
{
	position:relative;
	font-family:'NotoKrR';
	font-size:18px;
	color:#000000;
	padding-left:20px;
	line-height:55px;
	display:block;
	z-index:15;
	letter-spacing:-0.07em;
}
.sub_depth_wrap > li > a.s_arrow
{
	position:absolute;
	top:18px;
	right:18px;
	transition:all .5s;
}
.sub_depth_wrap > li > ul
{
	position:absolute;
	width:calc(100% - -2px);
	border:1px solid #ddd;
	border-top:0;
	background:#fff;
	z-index:1;
	display:none;
}
.sub_depth_wrap > li > ul > li:last-child.active,
.sub_depth_wrap > li > ul > li:last-child > a
{
	border-bottom:0;
}
.sub_depth_wrap > li > ul > li > a
{
	position:relative;
	font-size:15px;
	color:#4e4d4d;
	border-bottom:1px solid #dddddd;
	padding:14px 20px;
	display:block;
}
.sub_depth_wrap > li > ul > li:hover > a, .sub_depth_wrap > li > ul > li.active > a
{
	background:#8a7b47;
	color:#fff;
}


/* 4. Pagination */
.pagination
{
	position:relative;
	width:100%;
	overflow:hidden;
	margin-bottom:43px;
	text-align:center;
}
.pagination ul li
{
	display:inline-block;
	margin:0 4px;
}
.pagination ul li a
{
	position:relative;
	display:block;
	width:42px;
	height:42px;
	border:1px solid #d7d7d7;
	font-family:'NotoKrL';
	font-size:15px;
	color:#7f7f7f;
	line-height:40px;
}
.pagination ul li:hover a,
.pagination ul li.active a
{
	color:#337ab7
}
.pagination ul li.active a:after
{
	content:'';
	position:absolute;
	bottom:-1px;
	left:0;
	width:100%;
	height:2px;
	background:#337ab7;
}


/* 5. Board */
.board_wrap
{
	position:relative;
	width:100%;
	overflow:hidden;
	margin:82px 0 50px;
}
.board_wrap h2
{
	font-family:'NotoKrB';
	font-size:32px;
	color:#000000;
	letter-spacing:-0.06em;
	margin-bottom:41px;
}
.board_wrap table
{
	width:100%;
}
.board_wrap table thead tr th
{
	background:#337ab7;
	font-family:'NotoKrR';
	font-size:16px;
	color:#fff;
	font-weight:normal;
	padding:24px 0;
}
.board_wrap table tbody tr
{
	border-bottom:1px solid #e1e1e1;
}
.board_wrap table tbody tr td
{
	text-align:center;
	font-family:'NotoKrL';
	font-size:17px;
	color:#333333;
}
.board_wrap table tbody tr td.no_data
{
	font-family:'Malgun Gothic';
	padding:37px 0;
	letter-spacing:-0.06em;
	color:#666666;
}
.board_wrap table tbody tr td a
{
	display:block;
	padding:24px 0;
}
.board_wrap table tbody tr td a span.must
{
	display:inline-block;
	padding:5px 7px;
	background:#fe6046;
	color:#fff;
	font-size:12px;
	margin-right:7px;
}
.board_wrap table tbody tr td a span.title
{
	vertical-align:middle;
	display:inline-block;
	overflow:hidden;
	text-overflow:ellipsis;
	white-space:nowrap;
	width:auto;
	max-width:calc(100% - 110px);
}
.board_wrap table tbody tr td a span.new
{
	display:inline-block;
	width:20px;
	height:20px;
	background:#ffb005;
	border-radius:100%;
	text-align:center;
	font-size:12px;
	color:#fff;
	line-height:20px;
	margin-left:5px;
}




/* media */
@media screen and (max-width:1600px)
{
	.menu.active .menu_wrap > ul:before
	{
		left:178px;
	}
	.menu .menu_wrap > ul > li
	{
		padding:0 34px;
	}
}
@media screen and (max-width:1450px)
{
	html
	{
		overflow-x:scroll;
	}
	.menu
	{
		position:relative;
	}
}
