@charset "utf-8";

* {
	box-sizing: border-box;
}

/* ----- S : layout ----- */
#wrap, header, #header, #container, gnb, #gnb, main, #main, aside, #aside, footer, #footer { box-sizing: border-box; }

section { position: relative; }

h1 { color: #000; font-size: 32px; font-weight: 600; }
h2 { color: #333; font-size: 24px; line-height: 32px; }
h3 { color: #333; font-size: 20px; font-weight: 600; line-height: 24px; }
h3:before { content: '|'; margin-right: 6px; color: #aaa; }
h4 { font-size: 18px; margin-top: 24px; color: #333; font-weight: 500; }
main h4:before { content: '▶'; margin-right: 5px; color: #aaa; font-size: 10px; vertical-align: 3px; }

.l_head { float: left; }



/* 헤더 */
#header { z-index: 999; position: fixed; width: 100%; display: flex; justify-content: space-between; align-items: center; height: 70px;	padding: 0 40px; background: #fff; border-bottom: 1px solid #ddd; }

#logo, logo { width: 240px; }
#logo a img, logo a img { height: 38px; vertical-align: -10px; }

.h_left { display: flex; align-items: center; gap: 32px; }

#gnb { display: flex; gap: 60px; }
#gnb a { color: #777; font-size: 18px; font-weight: 600; }
#gnb a:hover,
#gnb a.on { color: #000; }

.member_info .fa-circle-user { margin-right: 5px; }
.member_info .fa-angle-down { margin-left: 2px; padding: 0 2px;	font-size: 14px; }
.member_info { display: flex; align-items: center; color: rgba(0, 0, 0, .9); font-size: 18px; font-weight: 500; }
.member_info:hover { color: rgba(0, 0, 0, 1); }



/* 레프트 메뉴 */
.user {	position: relative; }

.list_util { display: none; position: absolute;	top: 36px; left: -28px;	width: 140px; z-index: 99999; background: #fff; line-height: 20px; border: 1px solid #eee; border-radius: 10px; overflow: hidden; box-shadow: 0 0 8px 0 rgba(0, 0, 0, .08); }
.list_util>li { border-top: 1px solid #eee; }
.list_util>li:first-of-type { border-top: 0; }
.list_util a { font-size: 16px; display: block;	line-height: 46px; padding: 0 24px;	color: #555; }
.list_util a:hover { color: #333; background: rgba(177, 177, 177, .1); }



/* 메인 탑 메뉴 */
.top_menu_inner { display: flex; justify-content: space-between; align-items: center; width: 100%; }

.menu_box { flex: 1; text-align: center; }

.submenu_column .menu_title { font-weight: 600; margin-bottom: 10px; }

.submenu_wrap { position: absolute; top: 100%; left: 0;	width: 100vw; background: #fff; display: flex; justify-content: center; padding: 20px 0; border-top: 1px solid #ddd; transform: scaleY(0); transform-origin: top; opacity: 0; transition: transform 0.4s cubic-bezier(0.25, 1, 0.5, 1), opacity 0.3s ease;	will-change: transform, opacity; overflow: hidden; z-index: 10;	box-shadow: 0 0 8px 0 rgba(0, 0, 0, .08); }
.submenu_wrap>div {	display: flex; width: 800px; justify-content: center; }

.menu_nav:hover .submenu_wrap { transform: scaleY(1); opacity: 1; }

.menu_title { display: none; font-size: 18px; font-weight: 500;	color: #555; }
.smenu_title a { color: #666;	line-height: 36px; }
.smenu_title:hover a { color: #333; text-decoration: underline; }
.menu_title.open,
.menu_title:hover {	color: #333; font-weight: 600; }

/* 햄버거메뉴 */
.util { display: flex; align-items: center;	gap: 16px; }
.util .ico_bar { display: none; }
.util .ico_bar span { display: block; background-color: #aaa;	border-radius: 1px;	transition: .2s; opacity: 0.8; width: 20px;	height: 3px; margin-bottom: 4px; }
.util .ico_bar span:nth-child(3) { margin-bottom: 0; }



/* 레이아웃 */
#wrap {
	position: relative;
	width: 100%;
	min-width: 320px;
	height: 100%;
	font-family: 'Pretendard';
}

#container {
	position: absolute;
	min-width: 320px;
	/* height: calc(100dvh - 70px); */
	left: 0;
	right: 0;
	overflow: auto;
	margin-top: 70px;
	transition: .2s;
}

.contents {
	position: relative;
	width: 100%;
	min-height: calc(100dvh - 127px);
	height: auto;
	overflow: auto;
}

.wrapper {
	position: relative;
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 40px;
}



/* gnb */
#gnb nav {
	padding-top: 10px;
}

#gnb nav ul {
	width: 100%;
}

#gnb nav ul li {
	width: 100%;
}

#gnb nav ul li a {
	position: relative;
	display: block;
	width: 100%;
	padding-left: 30px;
	line-height: 58px;
	color: #666;
	font-size: 19px;
	font-weight: 500;
}

#gnb nav>ul>li>a:hover,
#gnb nav .sidemenu li.on>a {
	color: #0a237f;
}

#gnb nav>ul>li.on>a,
#gnb nav>ul>li.active>a,
#gnb nav>ul>li.on>a {
	font-weight: 600;
}

#gnb nav ul li .sidemenu li a {
	padding-left: 36px;
	font-size: 18px;
	line-height: 50px;
}

#gnb nav ul li .sidemenu li a:hover {
	background: rgba(228, 230, 235, .9);
	color: #192d79;
}

#gnb nav ul .fa-angle-down {
	position: absolute;
	top: 50%;
	right: 24px;
	transform: translateY(-50%);
	margin: 0;
	font-size: 17px;
}

.sidemenu {
	background: #f2f4f7;
}


button.disabled {
      pointer-events: none;
      opacity: 0.5;

    }

.btn_hide {
	position: absolute;
	top: 50%;
	left: 260px;
	transform: translateY(-50%);
	color: #fff;
	background: #9ea3af;
	padding: 12px 6px;
	border-top-right-radius: 4px;
	border-bottom-right-radius: 4px;
	box-shadow: 1px 0px 3px 0px rgba(0, 0, 0, 0.1);
	z-index: 999;
}

.btn_hide i {
	font-size: 15px;
}

.hide #snb {
	width: 0;
	opacity: 0;
	transition: width .3s;
}

.hide #snb+.btn_hide,
.hide #container {
	left: 0;
}

.hide #snb+.btn_hide i {
	transform: rotate(180deg);
}

.sidemenu {
	display: none;
}

.dropdown.on>a,
.dropdown.on>a i {
	color: #0a237f !important;
}

.dropdown.on .fa-angle-down {
	transform: rotate(180deg);
	transition: .3s;
}

.dropdown.on .sidemenu {
	display: block;
}

.empty_text {
	font-size: 17px;
	color: #666;
}

.button_area {
	display: flex;
	margin-top: 20px;
	align-items: center;
	justify-content: center;
	gap: 10px;
}



/* 푸터 */
.footer {
	padding: 16px 0;
	border-top: 1px solid #ddd;
}

.f_top {
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 10px;
	margin-bottom: 10px;
}

.f_top #logo img {
	filter: grayscale(1);
	opacity: .4;
}

.f_top span {
	display: flex;
	gap: 24px;
	font-size: 15px;
}

.f_top span a {
	color: #aaa;
}

.f_top span a:hover {
	color: #1352b2;
	font-weight: 500;
}

.footer p {
	color: #777;
	font-size: 15px;
	line-height: 22px;
}
.footer p span { margin: 0 8px; color: #ccc; }


/* search */
.search_wrap { position: relative; }
.search_wrap input { width: 410px; padding: 0 40px 0 16px; background: #f4f4f4; border-radius: 30px; line-height: 38px; }
.search_wrap a { position: absolute; top: 50%; right: 5px; transform: translateY(-50%); width: 40px; text-align: center; line-height: 38px; }
.search_wrap a:hover { color: #003bab; }

.search_wrap.type02 select { position: absolute; width: auto; background-color: transparent; border: none; }
.search_wrap.type02 input { width: 364px; padding-left: 100px; }



/* tit */
.tit_wrap {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	flex-wrap: wrap;
	gap: 10px;
	margin-bottom: 16px;
}

.tit_wrap.border {
	padding-bottom: 10px;
	border-bottom: 1px solid #ddd;
}

.tit_wrap span {
	color: #777;
	font-size: 17px;
}

.tit_wrap02 {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	padding-bottom: 16px;
	border-bottom: 1px solid #333;
}



/* box */
.list_none { display: flex; justify-content: center; align-items: center; min-height: 100px; }

.wh_box {
	overflow: hidden;
	padding: 24px;
	background: #fff;
	border-radius: 8px;
	box-shadow: 0px 0px 10px 2px rgb(225 225 225);
}

.main .wh_box {
	box-shadow: 0px 0px 10px 2px rgba(0, 0, 0, 1);
}

.wh_box.column01 {
	padding: 24px 30px 30px;
}

.wh_box.column02 {
	display: grid;
	grid-template-columns: 2fr 1.5fr;
	padding: 0;
}

.wh_box.column02>div {
	padding: 24px 30px 24px;
}

.grey_box {
	padding: 24px;
	background: #f2f3f5;
	border-radius: 8px;
}

.grey_box.h350 {
	height: 350px;
	/* overflow-y: auto; */
}



/* table */
.tbl01 {
	font-size: 16px;
	text-align: center;
	white-space: nowrap;
}

.tbl01 thead {
	background: #eee;
}

.tbl01 th {
	padding: 8px 10px;
	color: #333;
	border-top: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-weight: 500;
}

.tbl01 th:first-of-type {
	border-left: 1px solid #ddd;
	border-radius: 3px 0 0 3px;
}

.tbl01 th:last-of-type {
	border-right: 1px solid #ddd;
	border-radius: 0 3px 3px 0;
}

.tbl01 td {
	padding: 8px 10px;
	color: #555;
	font-size: 15px;
	border-bottom: 1px solid #ddd;
}



/* 스크롤바 */
body::-webkit-scrollbar,
.scrollBar::-webkit-scrollbar,
.play_box::-webkit-scrollbar {
	width: 6px;
	/* 스크롤바의 너비 */
	height: 6px;
	z-index: 9999;
}

.scrollBar::-webkit-scrollbar-thumb,
.play_box::-webkit-scrollbar-thumb {
	height: 25%;
	/* 스크롤바의 길이 */
	background: #dadbde;
	/* 스크롤바의 색상 */
	border-radius: 8px;
	z-index: 9999;
}

.scrollBar::-webkit-scrollbar-track,
.play_box::-webkit-scrollbar-track {
	background: #fff;
	border-radius: 8px;
	/*스크롤바 뒷 배경 색상*/
	z-index: 9999;
}

#container.scrollBar::-webkit-scrollbar-thumb,
#container.play_box::-webkit-scrollbar-thumb,
body::-webkit-scrollbar-thumb {
	height: 25%;
	/* 스크롤바의 길이 */
	background: #979797;
	/* 스크롤바의 색상 */
	border-radius: 8px;
}

#container.scrollBar::-webkit-scrollbar-track,
#container.play_box::-webkit-scrollbar-track,
body::-webkit-scrollbar-track {
	background: #e3e5ec;
	border-radius: 8px;
	/*스크롤바 뒷 배경 색상*/
}



/* paging */
/* .paging {display: flex; flex-wrap: wrap; justify-content: center; align-items: center; margin-top: 24px; }
.paging a { padding: 10px; color: #777; }
.paging_wrap { display: flex; gap: 8px; margin: 0 10px; font-size: 16px; } 
.paging_wrap a:hover { color: #333; text-decoration: underline; }
.paging_wrap a.on { color: #003bab; font-weight: 600; text-decoration: underline; }
.paging .first:hover,
.paging .last:hover,
.paging .pre:hover,
.paging .next:hover { color: #003bab; }
.paging .first em,
.paging .last em,
.paging .pre em,
.paging .next em { text-indent: -9999px; font-size: 0px; }
.paging .disable { cursor: default; color: #d7d7d7; }
.paging .disable:hover { color: #d7d7d7; } */

.paging { margin-top: 24px; text-align: center; }

.wr_page { display: inline-block; }

.paging a { float: left; width: 40px; height: 40px; color: #777; font-size: 14px; line-height: 40px; }
.paging span.num>a:hover { cursor: pointer; }
.paging a i { line-height: 40px; }
.paging span.num { float: left; }
.paging span.num>a { font-size: 16px; }
.paging a:hover,
.paging strong:hover,
.paging span.num>a:hover { color: #333; text-decoration: underline; }
.paging span.num>a.on { color: #003bab; font-weight: 600; text-decoration: underline; }
.paging .first:hover,
.paging .last:hover,
.paging .pre:hover,
.paging .next:hover { color: #003bab; }
.paging span.num > a.disable,
.paging span.num > a.disable:hover { color: #777; cursor: default; opacity: .5; }



/* tab */
.tab01 { display: flex;	flex-wrap: wrap; gap: 10px; margin-top: 24px; }
.tab01 button { padding: 8px 16px; color: #8f9ebf; background: #f3f5fc; border-radius: 30px; font-size: 16px; }
.tab01 button:hover { color: #0852c0;	background: #eef4ff; }
.tab01 button.on { color: #fff; background: #4d7acc; font-weight: 500; }
/* .tab01.type01 { justify-content: center; }
.tab01.type01 button { width: 40%; } */

.tab02 { display: flex; gap: 16px; padding: 10px 16px; background: #fff; border: 1px solid #ddd; border-bottom: 0;	border-radius: 3px 3px 0 0; }
.tab02 button { color: #b2b2b2; font-size: 15px; }
.tab02 button:hover { color: #333; }
.tab02 button.on { color: #333; font-weight: 600; }



/* btn */
.btn_wrap { display: flex; justify-content: space-between; gap: 8px; }
.btn_wrap.center { justify-content: center; }
.btn_wrap.right { justify-content: flex-end; }

.btn { border-radius: 5px; }

.btn.sm { display: inline-block; padding: 6px 15px; color: #fff; font-size: 15px;	font-weight: 500; }
.btn.sm.disable { color: #999; background: #f0f0f0; border: 2px solid #f0f0f0; cursor: default; }
.btn.mid { padding: 10px 20px; font-size: 16px;	font-weight: 500; border-radius: 7px; }
.btn.lg { padding: 13px 26px; font-size: 18px; font-weight: 500; border-radius: 8px; }

.btn.mcolor { color: #fff; background: #5680ce; }
.btn.mcolor:hover { background: #486eb4; }
.btn.scolor { background: #fff; color: #3958a4; border: 1px solid #afb8cf; }
.btn.scolor:hover { background: #eef1fa; }

.btn.navy { color: #fff; background: #707592; }
.btn.navy:hover { background: #636883; }

.btn.blue { color: #fff; background: #6c7fb1; }
.btn.blue:hover { background: #566aa1; }

.btn.blue_line { background: #fff; color: #1352b2;	border: 1px solid #7caaef; }
.btn.blue_line:hover { background: #eef1fa; }

.btn.black { background: #7c7c7c; color: #fff; }
.btn.black:hover { background: #6d6d6d; }

.btn.white { background: #fff; color: #777; border: 1px solid #fff; }
.btn.white:hover { color: #1352b2; border-color: #7caaef; }

.btn.grey { color: #fff; background: #acacac; }
.btn.grey:hover { background: #9e9e9e; }

.btn.lgrey { color: #777; background: #f2f2f2; border: 1px solid #f2f2f2; }
.btn.lgrey:hover { color: #385d96; background: #edf1f7; border-color: #b4c3d9; }

.btn.grey_line { color: #777; border: 1px solid #ddd; }
.btn.grey_line:hover { color: #1352b2; border: 1px solid #7caaef; }

.btn.round { border-radius: 30px; }

.btn.wide i { margin-left: 32px; }



/* 로그인, 아이디 비밀번호 찾기 */
/* #container.noside_cont {
	height: calc(100dvh - 70px);
	left: 0;
}

#container .login logo {
	text-align: center;
	margin-bottom: 24px;
}

#container .login logo a {
	color: #333;
}

.member_wrap {
	display: flex;
	justify-content: center;
	align-items: center;
}

.member_wrap .wh_box {
	width: 540px;
	padding: 30px;
}

.member_wrap h2 {
	margin-bottom: 26px;
	color: #333;
	font-size: 22px;
}

.check_tab {
	display: flex;
	width: 100%;
	margin-bottom: 26px;
}

.check_tab li {
	padding: 13px 0;
	flex: 1;
	text-align: center;
	color: #a9a9a9;
	font-size: 17px;
	background: #f5f5f5;
	border: 1px solid #ddd;
	transition: .2s;
}

.check_tab li:hover {
	cursor: pointer;
}

.check_tab li.on {
	font-weight: 500;
}

.check_tab li:last-of-type {
	border-radius: 0 8px 8px 0;
}

.check_tab li:first-of-type {
	border-radius: 8px 0 0 8px;
}

.member_wrap.contents section {
	display: flex;
	flex-direction: column;
	padding: 0 30px;
}

.login .wh_box {
	padding: 40px 60px 50px;
}

.login strong {
	display: inline-block;
	margin-bottom: 20px;
	color: #333;
	font-size: 20px;
	font-weight: 600;
}

.login input {
	height: 50px;
}

.login .pass_input {
	margin-top: 12px;
}

.pass_input {
	position: relative;
	border-radius: 8px;
}

.pass_input input {
	padding: 0 50px 0 16px;
}

.pass_input .icon_view i {
	position: absolute;
	right: 16px;
	top: 50%;
	transform: translateY(-50%);
	color: #999;
	vertical-align: middle;
	font-size: 17px;
}

.pass_input .icon_view i.fa-eye-slash {
	color: #b4b4b4;
}

.login .check_area {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-top: 20px;
	color: #777;
	font-size: 17px;
}

.login .check_area label {
	margin-bottom: 0;
}

.login .check_area a {
	color: #666;
}

.login .check_area a:hover {
	color: #555;
	font-weight: 500;
}

.login button {
	width: 100%;
	margin-top: 24px;
	padding: 16px 0;
	border-radius: 8px;
	font-size: 20px;
	font-weight: 500;
}

.login button:hover {
	background: #666;
}

.login .join_area {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin-top: 40px;
	color: #666;
	font-size: 19px;
}

.login .join_area a {
	color: #333;
	font-weight: 500;
	border-bottom: 1px solid #333;
}

.login .join_area a:hover {
	font-weight: 600;
} */


/* 회원가입 */
.member_wrap .input_group {
	margin-bottom: 18px;
}

.member_wrap .input_group:last-of-type {
	margin-bottom: 0;
}

.member_wrap input {
	width: 100%;
}

.member_wrap input::placeholder {
	color: #999;
}

.member_wrap label {
	margin-bottom: 10px;
	color: #777;
	font-size: 17px;
	font-weight: 500;
}

.member_wrap .form_btnarea {
	width: 100%;
	margin-top: 30px;
	display: flex;
	gap: 14px;
}

.member_wrap .form_btnarea a,
.member_wrap .form_btnarea button {
	flex: 1;
	text-align: center;
}

.member_wrap .id_check {
	display: flex;
	gap: 10px;
}

.member_wrap .id_check button {
	white-space: nowrap;
}

.member_wrap .alert_error {
	color: #d05050;
	font-size: 16px;
	margin-top: 10px;
}

.member_wrap .point {
	margin-top: 4px;
	color: #d06969;
	font-size: 16px;
}

.member_wrap .email input[type="text"] {
	width: calc(50% - 15px);
}

.member_wrap .email select {
	width: 100%;
}

.member_wrap .email>div {
	width: 100%;
}

.member_wrap .personal_info_box {
	margin-bottom: 20px;
}

.member_wrap .personal_info_box:last-of-type {
	margin-bottom: 0;
}

.member_wrap .personal_info02 .pass_input {
	margin-top: 0;
	margin-bottom: 18px;
}

.member_wrap .agree_box {
	width: 100%;
	max-height: 220px;
	padding: 12px;
	border: 1px solid #ddd;
	border-radius: 6px;
	font-size: 16px;
	line-height: 22px;
	color: #555;
	overflow: auto;
}

.member_wrap .agree_checkarea {
	text-align: right;
	font-size: 18px;
}

.member_wrap .agree_checkarea label {
	margin-bottom: 0;
	color: #555;
}

.member_wrap .join_finish {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding-top: 20px;
}

.member_wrap .join_finish span {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 54px;
	height: 54px;
	border: 1px solid #ddd;
	border-radius: 100%;
}

.member_wrap .join_finish span i {
	color: #6c7fb1;
	font-size: 29px;
}

.member_wrap .join_finish b {
	margin-top: 20px;
	color: #555;
	font-size: 20px;
}

.member_wrap .join_finish p {
	margin: 6px 0 20px;
	color: #777;
	font-size: 17px;
}

.email span {
	margin: 0 3px;
}

.email {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}


/* 공지사항 */
.board_search {
	display: flex;
	justify-content: center;
	gap: 6px;
}

.board_search input {
	width: 330px;
	height: 40px;
}

.board_search select {
	min-width: 110px;
	height: 40px;
	padding: 0 28px 0 12px;
	color: #555;
	font-size: 16px;
	line-height: 40px;
}

.board_search .btn.mid {
	height: 40px;
	margin-left: 3px;
	padding: 6px 20px;
}

.board_list table tr:hover {
	cursor: pointer;
	background: #f6f7fa;
}

.board_list table .empty_tr:hover {
	background: #fff;
	cursor: auto;
}

.board_list table .empty_tr td {
	height: 150px;
	padding-bottom: 0;
}

.board_list table thead tr:hover {
	cursor: auto;
}

.board_list td a {
	display: -webkit-box;
	text-overflow: ellipsis;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 1;
	word-break: break-all;
	color: #444;
	font-weight: 500;
}

.board_list td em {
	color: #777;
}

.board_list thead tr:hover {
	background: none;
}

.board_list.notice td a {
	text-align: left;
}

.board_list.notice tr:hover a {
	color: #2343a2;
	text-decoration: underline;
}

.board_list.notice .board_tit {
	text-align: left;
}

.board_list .tbl02 .board_tit {
	position: relative;
}

.board_list .tbl02 .board_tit a {
	padding-left: 30px;
}

.board_list tr:hover .board_cate {
	color: #fff;
	background: #666f88
}

.board_list .board_cate {
	padding: 8px 12px;
	color: #4e5681;
	background: #f2f3f6;
	font-size: 16px;
	font-weight: 600;
	border-radius: 30px;
	white-space: nowrap;
}

.board_list .board_num {
	color: #333;
	font-weight: 400;
}

.fa-bullhorn {
	color: #cd5454;
}

.fa-bullhorn+span {
	display: none;
}

.list_tit {
	padding-left: 30px;
}

.board_view .wh_box {
	margin-bottom: 20px;
}

.board_view h3 {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
	padding-bottom: 16px;
	margin-bottom: 16px;
	border-bottom: 1px solid #d3d4d5;
	color: #333;
	font-size: 19px;
}

.board_view dl {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	align-items: center;
}

.board_view dl dt {
	color: #666;
	font-size: 17px;
	font-weight: 500;
}

.board_view dl dt::after {
	content: '';
	display: inline-block;
	width: 1px;
	height: 10px;
	margin-left: 10px;
	background: #ccc;
}

.board_view dl dd {
	font-size: 16px;
	color: #555;
}

.board_view_head dl dd::after {
	content: '';
	display: inline-block;
	width: 3px;
	height: 3px;
	margin: 0 0 4px 10px;
	border-radius: 2px;
	background: #b4b6b7;
}

.board_view_head dl dd:last-of-type::after {
	display: none;
}

.board_view_head span {
	display: inline-block;
	padding: 10px 12px;
	color: #45537c;
	background: #dce1eb;
	font-size: 15px;
	font-weight: 600;
	border-radius: 30px;
	white-space: nowrap;
}

.board_view_head {
	padding: 20px;
	background: #f4f6f8;
	border-radius: 8px;
}

.board_content {
	min-height: 400px;
	padding: 20px;
	color: #444;
	font-size: 16px;
	line-height: 1.6;
}

.board_content img {
	max-width: 100%;
}

.file_detail {
	padding: 16px 0 6px;
	border-top: 1px solid #ddd;
}

.file_detail dt {
	padding-left: 12px;
}

.file_detail p {
	line-height: 28px;
}

.file_detail a {
	color: #464e8f;
	font-size: 16px;
	font-weight: 500;
}

.file_detail a:hover {
	text-decoration: underline;
}

.file_detail .fa-paperclip {
	color: #999;
	margin-right: 8px;
}


/* 회원수정 */
.member_update dl {
	display: flex;
	margin-bottom: 16px;
}

.member_update dl:last-of-type {
	margin-bottom: 0;
}

.member_update label {
	width: 200px;
	margin-top: 14px;
	color: #555;
	font-size: 17px;
	font-weight: 500;
	cursor: auto;
}

.member_update input {
	width: 300px;
}

.member_update input,
.member_update select {
	height: 44px;
}

.member_update select {
	padding: 0 78px 0 14px;
}

.member_update .email input {
	width: 180px;
}

/* .member_update i { margin-right: 6px; color: #c26767; vertical-align: text-bottom; }
.member_update p { margin-top: 8px; color: #c54646; } */




/* Tablet */
@media screen and (max-width: 1023px) {
	h1 {
		font-size: 26px;
	}

	h2 {
		font-size: 22px;
	}

	/*  사이드메뉴 */
	/* #snb  { display: none; } */
	.btn_hide {
		display: none;
	}

	#snb.open {
		display: block;
		width: 100%;
	}

	#gnb nav {
		padding-top: 10px;
	}

	/* 레이아웃 */
	#container {
		left: 0;
	}

	/* 헤더*/
	.h_left { gap: 24px; }
	
	.list_util {
		top: 34px;
		left: -21px;
		width: 130px;
	}

	.list_util a {
		line-height: 46px;
		padding: 0 20px;
	}

	.member_info {
		margin-right: 12px;
	}

	.member_info .fa-angle-down {
		display: none;
	}

	.user_box .user>a>span {
		display: none;
	}

	/* 기본 탑메뉴 */
	.menu_title {
		position: relative;
		display: block;
		padding: 16px 30px;
	}

	.menu_title::after {
		content: "\f078";
		font-family: "FontAwesome";
		position: absolute;
		right: 30px;
		top: 50%;
		transform: translateY(-50%);
		font-size: 16px;
		transition: transform 0.3s ease;
		color: #666;
	}

	.smenu_title {
		padding: 4px 34px;
	}

	.submenu_wrap.open {
		transform: scaleY(1);
		opacity: 1;
	}

	.submenu_wrap {
		height: 100dvh;
		padding: 10px 0;
	}

	.submenu_wrap>div {
		width: 100%;
		flex-direction: column;
		justify-content: flex-start;
	}

	.submenu_column {
		width: 100%;
		padding: 8px 0;
		background: #f2f2f2;
	}

	.menu_box {
		flex: unset;
		text-align: left;
	}

	.menu_box.open .menu_title::after {
		transform: translateY(-50%) rotate(180deg);
	}

}



/* Tablet */
@media screen and (max-width: 839px) {
	h1 {
		font-size: 24px;
	}

	h2 {
		font-size: 20px;
	}

	.wh_box {
		padding: 20px;
	}

	.wh_box.column01,
	.wh_box.column02>div {
		padding: 16px 20px 20px;
	}

	logo a img,
	#logo a img {
		height: 32px;
	}

	logo a,
	#logo a {
		font-size: 17px;
	}

	#gnb { gap: 20px; }
	
	.h_wrap {
		height: 64px;
	}

	.h_wrap,
	.wrapper,
	.h_link {
		padding: 0 24px;
	}

	.paging {
		margin-top: 14px;
	}

	.paging span.num>a {
		font-size: 14px;
	}

	.paging a i {
		line-height: 30px;
	}

	.tbl01 tr {
		padding: 12px 0;
	}

	.tbl01 tr td a {
		display: block;
	}

	.tbl01 tr td a p {
		width: 100%;
		margin: 8px 0 6px;
		line-height: 22px;
		font-size: 15px;
	}

	.tbl01 tr td a span {
		padding: 6px 10px;
		font-size: 14px;
	}

	.tbl02 td {
		padding: 14px 0;
		font-size: 15px;
	}

	.tbl02 th {
		padding-bottom: 12px;
		font-size: 16px;
	}

	.tab01 a {
		padding: 14px;
		font-size: 16px;
	}

	.tab01 a:nth-of-type(2)::after {
		display: none;
	}

	.tit_wrap {
		margin-bottom: 14px;
	}

	.grey_box {
		padding: 18px;
	}

	.guide {
		font-size: 14px;
	}

	/* .paging a {
		width: 30px;
		height: 30px;
		line-height: 30px;
	} */
	.paging a { padding: 8px; font-size: 15px; }

	.stit_wrap h3,
	h3 {
		font-size: 18px;
	}

	.stit_wrap {
		margin-bottom: 10px;
	}

	.stit_wrap>em {
		font-size: 14px;
	}

	.stit_wrap>em b {
		font-size: 16px;
	}

	/* 헤더 */
	#header {
		padding: 0 24px;
		height: 54px;
	}

	#logo {
		width: auto;
	}

	/* 기본 탑메뉴 */
	.menu_title {
		padding: 14px 24px;
	}

	.menu_title::after {
		right: 24px;
	}

	.smenu_title {
		padding: 2px 28px;
	}

	/* 사이드메뉴 */
	#gnb nav ul li a {
		padding-left: 24px;
	}

	/* 레이아웃 */
	/* 	#container { margin-top: 54px; height: calc(100dvh - 54px) !important; } */
	#container {
		margin-top: 54px;
	}

	/* 	#container .contents { min-height: calc(100dvh - 105px); padding: 30px 0 40px; } */

	/* 회원수정 */
	.member_update .email>div {
		width: 100%;
	}

	.member_update .email input {
		min-width: auto;
		width: calc(50% - 15px);
	}

	.member_update dd,
	.member_update #memberEmail,
	.member_update input,
	.member_update select {
		width: 100%;
	}

	.member_update label {
		width: 140px;
	}

	.member_update label:first-of-type {
		margin-top: 0;
	}

	/* 공지사항 */
	.board_list .board_cate {
		padding: 6px 12px;
		font-size: 15px;
	}
}



/* small Tablet */
@media screen and (max-width: 768px) {
	h1 { font-size: 22px; }
	h2 { font-size: 19px; }

	.btn.mid { padding: 7px 13px; }
	.btn.lg { padding: 10px 26px; }

	/* 헤더 */
	.member_info { font-size: 16px; }

	.util .ico_bar span { width: 18px; height: 3px; margin-bottom: 3px;	}

	/* 회원가입 */
	.member_wrap label { font-size: 16px; }
	.member_wrap h2 { margin-bottom: 16px; font-size: 19px;	}
	.member_wrap .agree_box { font-size: 15px; }

	/* 회원수정 */
	.member_update dl { flex-direction: column;	gap: 8px; }

	/* 로그인 */
	.member_wrap .wh_box,
	.member_wrap form {	width: 100%; }

	.login .wh_box { padding: 30px 36px; }
	.login .wh_box span { margin-bottom: 14px; font-size: 17px; }
	.login input_group { height: 40px; padding: 0 14px;	font-size: 15px; }

	#container.login logo { margin-bottom: 18px; }

	.check_area { margin-top: 14px; font-size: 14px; }

	/* 공지사항 */
	.board_search { flex-direction: column; width: 100%; }
	.board_search input { width: calc(100% - 76px);	}
	
	.board_list.notice .stit_wrap { flex-direction: column;	align-items: flex-start; }
	.board_list.notice .stit_wrap { margin-top: 10px; }
	
	.board_search { flex-direction: column;	}
	.board_search input { width: calc(100% - 74px);	}
	.board_search select { line-height: 36px; }
	.board_search select,
	.board_search .btn.mid,
	.board_search input { height: 36px; font-size: 15px; }

	.board_list td span { padding: 5px 12px; }

	.board_view h3 { padding-bottom: 14px; margin-bottom: 14px; font-size: 17px; }
	.board_view dl dt,
	.board_view dl dd,
	.file_detail a { font-size: 15px; }
	.board_view_head { padding: 16px; }
	
	/* search */
	.search_wrap input { width: auto; }
}

/* Mobile */
@media screen and (max-width: 480px) {
	.wrapper { padding: 0 16px; }
	
	h1 { font-size: 20px; }
	h2 { font-size: 18px; }

	#gnb { display: none; }

	.util .ico_bar { display: block; }

	.btn.lg { font-size: 16px; }
	.btn.mid,
	.btn.sm { font-size: 15px; }

	.wh_box { padding: 16px; }

	input,
	select { height: 32px; line-height: 36px; padding: 0 12px; font-size: 15px;	}

	.pass_input input { padding: 0 40px 0 12px;	}

	/* 헤더 */
	#header { padding: 0 20px; }

	.list_util { top: 30px; width: 120px; font-size: 15px; }
	.list_util a { line-height: 40px; padding: 0 16px; font-size: 15px;	}

	/* 기본 탑메뉴 */
	.submenu_column { padding: 4px 0; }

	.menu_title { padding: 12px 20px; font-size: 17px; }
	.menu_title::after { right: 20px; font-size: 13px; }
	.smenu_title { padding: 1px 24px; font-size: 16px; }
	
	.tab01 { gap: 5px; }
	.tab01 button { padding: 6px 12px; font-size: 15px; }

	/* 푸터 */
	.footer { padding: 12px 0; }
	.footer p { font-size: 12px; line-height: 16px;	}

	/* 사이드메뉴 */
	#gnb nav ul li a { padding-left: 20px; font-size: 17px; line-height: 42px; }
	#gnb nav ul li .sidemenu li a {	padding-left: 26px;	font-size: 17px; line-height: 40px;	}
	#gnb nav ul .fa-angle-down { right: 20px; }


	/* 래아어윳 */
	.tit_wrap,
	.stit_wrap { margin-bottom: 16px; }
	
	/* #container { height: calc(100dvh - 48px) !important; } */
	/* #container .contents { padding: 20px 0 30px; } */

	/* 로그인 */
	.login strong { margin-bottom: 12px; font-size: 17px; }

	#container.login { height: calc(100dvh - 221px); }
	.login .wh_box { padding: 26px 30px; }
	.login .wh_box span { margin-bottom: 12px; font-size: 16px; }
	.login button {	margin-top: 16px; padding: 12px 0; font-size: 17px;	}
	.login input { height: 40px; }
	.login .pass_input { margin-top: 10px; }
	.login input { font-size: 16px; }
	.login .check_area { margin-top: 14px; font-size: 15px; }
	.login .join_area { margin-top: 30px; font-size: 17px; }
	
	.pass_input .icon_view i { right: 14px; font-size: 15px; }

	/* 회원가입 */
	.member_wrap.contents section { padding: 0 20px; }
	.member_wrap label { font-size: 15px; }
	.member_wrap .wh_box { padding: 20px; }
	.member_wrap .point { margin-top: 2px; font-size: 15px;	}
	.member_wrap .form_btnarea { gap: 8px; }
	.member_wrap .join_finish b { margin-top: 16px;	color: #555; font-size: 17px;	}
	.member_wrap .join_finish p { margin: 6px 0 10px; font-size: 16px; }
	.member_wrap .join_finish span { width: 48px; height: 48px;	}
	.member_wrap .join_finish span i { font-size: 24px;	}
	.member_wrap .alert_error { font-size: 14px; }

	/* 아이디 비밀번호 찾기 */
	.check_tab li {	padding: 10px 0; font-size: 16px; }

	/* 회원수정 */
	.member_update input { min-width: 100%;	}
	.member_update input,
	.member_update select { height: 36px; line-height: 36px; font-size: 15px; }
	.member_update label { font-size: 15px;	}

	/* 메인 팝업 */
	.popup { min-width: 90%; }
	.popup-body { padding: 16px; }
	.popup-header {	padding: 14px 20px;	}
	.popup-header h2 { font-size: 17px;	}
	.popup-footer a { padding: 10px 0; color: #fff; font-size: 15px; }
	
	.search_wrap input { font-size: 15px; }
	.search_wrap a { right: 0; font-size: 13px; line-height: 32px; }
	
	.paging { margin-top: 8px; }
}