@charset "utf-8";

/********** skip_nav **********/
.skip_nav {display:block;overflow:hidden;position:absolute;left:0;right:0;top:0;z-index:1000;height:0;background:#000;text-align:center;}
.skip_nav:focus {overflow:auto;height:auto;padding:5px 0;color:#fff;}


/********** 숨김 **********/
.hide {overflow:hidden;position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);}


/********** 말줄임(사용시 클래스가 맨앞에 위치해야함) **********/
[class^="ellipsis"] {display:-webkit-box;-webkit-box-orient:vertical;overflow:hidden;color:#222;}
.ellipsis1 {-webkit-line-clamp:1;}/* 1줄 */
.ellipsis2 {-webkit-line-clamp:2;}/* 2줄 */
.ellipsis3 {-webkit-line-clamp:3;}/* 3줄 */
.ellipsis4 {-webkit-line-clamp:4;}/* 4줄 */


/********** 타이틀 **********/
.h4 {position:relative;font-size:2.8rem;font-weight:700;color:#1d1d1d;padding-left:24px;}
.h4:after {content:"";position: absolute;left:0;top:8px;display:block;width:15px;height:15px;border-radius: 100%;background: #fff;border:4px solid var(--primary);}
.h4_ex {display: flex;justify-content: space-between;}
.h5 {position:relative;font-size:2.2rem;font-weight:600;color:#222;padding-left:16px;}
.h5:after {content:"";position: absolute;left:0;top:5px;display:block;width:2px;height:15px;border-radius: 4px;background: #fff;border:4px solid var(--primary2);}
.h6 {position:relative;padding-left:16px;font-size:1.250em;font-weight:400;color:#444;}
.h6:after {content:"";position:absolute;left:0;top:8px;width:6px;height:10px;background:#1a5286;border-radius:50px;}
@media only screen and (max-width:1023px){
	.h4 {background-position:left 8px;}
}
@media only screen and (max-width:767px){
	.h4 {background-position:left 6px;}
	.h5:after {top:3px;}
}


/********** 리스트(사용시 클래스가 맨앞에 위치해야함) **********/
[class^="list"] > li {position:relative;padding-left:13px;}
[class^="list"] > li:after {content:"";position:absolute;left:0;top:1.2rem;}
/* 리스트_1 */
.list1 > li {color:#666;line-height:1.5;}
.list1 > li:not(:last-child) {margin-bottom:5px;}
.list1 > li:after {width:4px;height:4px;background: #f81338;border-radius:50%;}
/* 리스트_2 */
.list2 > li {padding-left:14px;margin-top:5px;background:url("./../../images/fs/common/sh_dot1.gif") no-repeat 0 10px;color:#666;}
/* 리스트_3 */
.list3 > li {color:#666;}
.list3 > li:after {width:3px;height:1px;background:#666;}


/********** 폰트색상 **********/
.cr_red {color:#ff0000;}
.cr_sky {color:#00a0e9;}
.cr_blue {color:#3e53b4;}
.cr_green {color:#578a00;}
.cr_yellow {color:#ffa800;}
.cr_gray {color:#999;}
.cr_black {color:#222;}


/********** 테이블 **********/
/* 세로형 테이블에 적용 */
.table_box {overflow-x:auto;border-top:2px solid #2c3e50;}
.tableA {width:100%;border-bottom:1px solid #ddd;border-top:2px solid #2c3e50;word-break:normal;}
.tableA input {min-width:15rem;}
.tableA input[type="checkbox"] {min-width: auto;margin-top:-1px;}
.tableA thead th {position: relative;padding:20px 10px;background:#f3f6f9;border-left:1px solid #ddd;border-bottom:1px solid #ddd;color:#222;}
.tableA th {position: relative;font-weight:700;}
.tableA th:after {content:"";display: block;position:absolute;left:0;top:0;width: 100%;height: 1px;background: #fff;}
.tableA thead th:first-child {border-left:0;}
.tableA tfoot th {padding:15px 18px;background:#ddd;border-top:1px solid #ddd;color:#222;font-weight: 700;}
.tableA tfoot td {padding:15px 18px;border-left:1px solid #ddd;border-top:1px solid #ddd;background:#ebf5ff;color:#222;font-weight: 700;}
.tableA tbody th {padding:15px 18px;border-left:1px solid #ddd;border-top:1px solid #ddd;background:#f3f6f9;vertical-align:middle;color:#222;}
.tableA tbody td {padding:15px 18px;border-left:1px solid #ddd;border-top:1px solid #ddd;line-height:1.5;color:#767676;vertical-align:middle;}
.tableA tbody td .flex.add {display: flex;flex-wrap: wrap;gap:1rem;}
.tableA tbody td .flex.add input {flex-grow: 1;}
.tableA tbody td .flex.add a {flex-grow: 1;text-align: center;justify-content: center;}
.tableA tbody tr th:first-child,
.tableA tbody tr td:first-child {border-left:0;}
.tableA tbody tr:first-child th,
.tableA tbody tr:first-child td {border-top:1px solid #fff;}
.tableA tbody tr th.bd_none,.tableA tbody tr td.bd_none,
.tableA tfoot tr th.bd_none,.tableA tfoot tr td.bd_none,
.tableA thead tr th.bd_none,.tableA thead tr td.bd_none {border-left:0;}
.tableA tbody tr th.bd_left,.tableA tbody tr td.bd_left,
.tableA thead tr th.bd_left,.tableA thead tr td.bd_left {border-left:1px solid #ddd;}
.tableA tr:is(:hover,:focus,:active) {background:#f9f9f9;}
@media only screen and (max-width:1023px){
	.tableA {word-break:keep-all;}
	.tableA:after {content:"";display: block;clear: both;}
	.tableA colgroup {}
	.tableA colgroup col {width: 100% !important;}
	.tableA tbody tr {position:relative;z-index:1;display:block;}
	.tableA tbody tr:after {content:"";position:absolute;left:0;top:0;z-index:-1;width:30%;height:100%;background:#f3f6f9;}
	.tableA tbody th {display:block;float:left;width:30%;height:100%;vertical-align:middle;border-left:0;}
	.tableA tbody td {display:block;overflow:hidden;width:70%;height:100%;border-left:0;min-height: 6rem;}
	.tableA tbody tr:first-child th,
	.tableA tbody tr:first-child td {border-top:1px solid #ddd;}
}
@media only screen and (max-width:767px){
	.tableA tbody tr:after {width:35%;}
	.tableA tbody th {width:35%;font-size:1.8rem;word-break: break-all;}
	.tableA tbody td {width:65%;font-size:1.8rem;word-break: break-all;}
}
@media only screen and (max-width:499px){
	.tableA tfoot th {padding:15px 12px;}
	.tableA tfoot td {padding:15px 12px;}
	.tableA tbody th {padding:15px 12px;min-height: 8rem;}
	.tableA tbody td {padding:15px 12px;min-height: 8rem;}
}

/* 가로형 테이블에 적용(스크롤생성) */
.scroll-message {display: none;text-align: center;padding:10px 0;color: var(--primary);font-size:2rem;font-weight: 600;}
.table_box_wide,
.table_box_wide_s {overflow-x:auto;border-top:2px solid #222;}
.tableB {width:100%;border-bottom:1px solid #ddd;border-top:1px solid #ddd;word-break:normal;}
.tableB thead th {position: relative;padding:20px 10px;background:#f3f6f9;border-left:1px solid #ddd;border-bottom:1px solid #ddd;color:#222;}
.tableB th {position: relative;font-weight: 700;}
.tableB thead th:after {content:"";display: block;position:absolute;left:0;top:0;width: 100%;height: 1px;background: #fff;}
.tableB thead th:first-child {border-left:0;}
.tableB tfoot th {padding:15px 18px;background:#ddd;border-top:1px solid #ddd;color:#222;font-weight: 700;}
.tableB tfoot td {padding:15px 18px;border-left:1px solid #ddd;border-top:1px solid #ddd;background:#ebf5ff;color:#222;font-weight: 700;}
.tableB tbody th {padding:15px 18px;border-left:1px solid #ddd;border-top:1px solid #ddd;background:#f3f6f9;text-align:center;vertical-align:middle;color:#222;}
.tableB tbody td {padding:15px 18px;border-left:1px solid #ddd;border-top:1px solid #ddd;line-height:1.5;color:var(--lay-col-black3);word-break: keep-all;}
.tableB tbody tr th:first-child,
.tableB tbody tr td:first-child {border-left:0;}
.tableB tbody tr:first-child th,
.tableB tbody tr:first-child td {border-top:1px solid #fff;}
.tableB tbody tr th.bd_none,.tableB tbody tr td.bd_none,
.tableB tfoot tr th.bd_none,.tableB tfoot tr td.bd_none,
.tableB thead tr th.bd_none,.tableB thead tr td.bd_none {border-left:0;}
.tableB tbody tr th.bd_left,.tableB tbody tr td.bd_left,
.tableB thead tr th.bd_left,.tableB thead tr td.bd_left {border-left:1px solid #ddd;}
.tableB tr:is(:hover,:focus,:active) {background:#f9f9f9;}
@media only screen and (max-width:1023px){
	.scroll-message {display: block;}
	.table_box_wide {overflow-x:scroll;border-top:2px solid #222;}
	.table_box_wide > table {width: 1023px;}
	.table_box_wide_s > table {width: 767px;}
	.tableB .th_sticky {position: sticky;left: 0;background: #f3f6f9;z-index: 1;box-shadow: 5px 0 3px rgba(0,0,0,0.02);}
}
@media only screen and (max-width:767px){
	.table_box_wide > table {}
}
@media only screen and (max-width:639px){
	.table_box_wide > table {}
}
/* 반응형테이블 */
@media screen and (max-width:1023px){
	table.responsive {border-top:#a6a6a6 solid 1px;}
	table.responsive thead {display:none;}
	table.responsive colgroup {display:none;}
	table.responsive tbody tr {display:block; position:relative; border-bottom:1px solid #d9d9d9;padding:12px 0;}
	table.responsive tbody tr:after {content:"."; display:block; clear:both; visibility:hidden; height:0;}
	table.responsive tbody tr:nth-child(odd) {background:#f3f6f9;}
	table.responsive tbody td {display:flex;padding:2px 0; border:none; background-color:transparent; box-sizing:border-box;text-align:left !important;line-height:24px;width: 95%;}
	table.responsive tbody td p {width:calc(100% - 70px);display:block;}
	table.responsive tbody th {display:block; padding:5px 0; border:none; background-color:transparent; text-align:left; vertical-align:middle;line-height:24px;}
	table.responsive tbody tr:first-child td, table.responsive tbody tr:first-child th {border-top:none;}
	table.responsive > tbody > th:before, table.responsive > tbody td:before {flex-shrink:0;margin-right:10px;width:100px;font-size:13px;line-height:24px;font-weight:500;color:#000;content:attr(data-content)''; display:inline;text-align: center;}/* thead의 내용을 tbody의 th, td에 각각 삽입 */
	.board_box .tableA tbody tr td .committee {width:auto !important;font-size:12px !important;display:table !important;}

	table.responsive tfoot {display:block;}
	table.responsive tfoot tr {display:block; position:relative; border-bottom:1px solid #d9d9d9;}
	table.responsive tfoot tr:after {content:"."; display:block; clear:both; visibility:hidden; height:0;}
	table.responsive tfoot tr:nth-child(odd) {background:#e8fff3;}
	table.responsive tfoot td {display:block; padding:5px 3%; border:none; background-color:transparent; text-align:left; box-sizing:border-box;}
	table.responsive tfoot th {display:block; padding:5px 3%; border:none; background-color:transparent; text-align:left; vertical-align:middle;}
	table.responsive tfoot tr:first-child td, table.responsive tfoot tr:first-child th {border-top:none;}
	table.responsive tfoot th:before, table.responsive tfoot td:before {content:attr(data-content)' : '; display:inline;}/* thead의 내용을 tbody의 th, td에 각각 삽입 */

	table.responsive tbody tr th.bd_left,table.responsive tbody tr td.bd_left,
	table.responsive thead tr th.bd_left,table.responsive thead tr td.bd_left {border-left:0;}

	table.responsive .checks > input[type="checkbox"] ~ span {padding:0;}
}
@media only screen and (max-width:499px){
	table.responsive tbody th {min-height: auto;}
	table.responsive tbody td {min-height: auto;}
}


/********** 버튼 **********/
/* 기본 */
.btn_bace {display:inline-flex;align-items:center;gap:0.6rem;padding:0 2rem;height:50px;line-height:1;border:1px solid #1d1d1d;color:#fff;background-color:#1d1d1d;border-radius:4px;transition: 0.4s;font-size:1.6rem;vertical-align: top;}
.btn_bace i {margin-top:4px;}
.btn_bace:hover,.btn_bace:focus,.btn_bace:active {background-color:#444;border-color:#444;color:#fff;}
/* 선버튼 */
.btn_line {display:inline-flex;align-items:center;height:50px;line-height:1;padding:0 2rem;background:#fff;border-radius:4px;border:1px solid #ddd;text-align:center;color:#1d1d1d;cursor:pointer;font-size:1.6rem;transition: 0.4s;}
.btn_line:hover,.btn_line:focus,.btn_line:active {border-color:#1d1d1d;text-decoration:none;}
/* 다운로드 */
.btn_down {display:inline-flex;align-items:center;gap:1rem;line-height:1;}
.btn_down img {transition: all 500ms cubic-bezier(0.770, 0.000, 0.175, 1.000);transition-timing-function: cubic-bezier(0.770, 0.000, 0.175, 1.000);}
.btn_down:is(:hover,:focus,:active) img {filter:brightness(0) saturate(100%) invert(100%) sepia(0%) saturate(7456%) hue-rotate(38deg) brightness(103%) contrast(102%);}

.btn_bace_large,.btn_line_large {height:45px;line-height:45px;}
.btn_bace_small,.btn_line_small {height:35px;line-height:35px;}
@media only screen and (max-width:767px){
	.btn_bace_large,.btn_line_large {height:40px;line-height:40px;}
	.btn_bace_small,.btn_line_small {height:30px;line-height:30px;}

	/* 다운로드 */
	.btn_down img {height:14px;}
}
/* 색상 */
.btn_red {background: #da3333;color:#fff;border:1px solid #da3333;}
.btn_red:hover,.btn_red:focus,.btn_red:active {background:#1d1d1d;color:#fff;border:1px solid #1d1d1d;}
.btn_blue {background:var(--primary);color:#fff;border:1px solid var(--primary);}
.btn_blue:hover,.btn_blue:focus,.btn_blue:active {background:#1d1d1d;color:#fff;border:1px solid #1d1d1d;}


/********** 체크버튼(라디오, 체크) **********/
.checks_box {display: flex;column-gap:1.6rem;row-gap:1rem;flex-wrap: wrap;}
.checks {display:inline-block;position:relative;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;cursor:pointer;}
.checks > input {overflow:hidden;position:absolute;width:1px;height:1px;padding:0;margin:-1px;clip:rect(0,0,0,0);border:0;}
/* radio */
.checks > input[type="radio"] ~ span {line-height:1.3;padding:2px 0 1px 35px;display: flex;align-items: center;font-weight:400;color:#222;}
.checks > input[type="radio"] + span:after {content:'';position:absolute;top:12px;left:12px;width:0;height:0;background:var(--primary);border-radius:100%;transition: 0.2s;}
.checks > input[type="radio"] + span:before {content:'';position:absolute;left:0;top:0;width:25px;height:25px;background:#fff;border:1px solid #ddd;border-radius:100%;transition: 0.4s;}
.checks > input[type="radio"]:checked + span:after {content:'';position:absolute;top:6px;left:6px;width:13px;height:13px;background:var(--primary);border-radius:100%;}
.checks > input[type="radio"]:checked + span:before {border:1px solid var(--primary);}
.checks > input[type="radio"]:disabled + span:before {background:#ddd;}
.checks > input[type="radio"]:focus + span:before {outline:2px dotted #222;}
/* checkbox */
.checks > input[type="checkbox"] ~ span {line-height:1.3;padding:7px 0 4px 0;display: flex;align-items: center;font-weight:400;color:#222;}
.checks > input[type="checkbox"] + span:before {content:'';flex-shrink:0;display:inline-block;width:25px;height:25px;margin:0 5px 0 0;background-color:#fff;background-position:center center;border:1px solid #ddd;border-radius:4px;vertical-align:middle;transition: 0.4s;}
.checks > input[type="checkbox"]:checked + span:before {content:'';background:url("./../../images/fs/common/icon_checks.png") no-repeat center center var(--primary);border:1px solid var(--primary);}
.checks > input[type="checkbox"]:disabled + span:before {background:var(--lay-bg-gray1);}
.checks > input[type="checkbox"]:focus + span:before {outline:2px dotted #222;}
@media only screen and (max-width:767px){
	.checks > input[type="radio"] ~ span {padding:2px 0 1px 30px;}
	.checks > input[type="radio"] + span:after {top:13px;left:13px;}
	.checks > input[type="radio"] + span:before {width:24px;height:24px;}
	.checks > input[type="radio"]:checked + span:after {top:6px;left:6px;width:12px;height:12px;}
}


/********** 인풋스타일 **********/
input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="search"],input[type="url"],input[type="file"],input[type="date"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="time"],input[type="number"], select {height:50px;line-height:50px;padding:0 15px;border:1px solid #dfdfdf;background:#fff;border-radius:3px;font-size:1.5rem;color:#74828c;}
input:focus,select:focus,textarea:focus {border:1px solid #1a5286;}
input[type="date"]{position:relative;}
input[type="date"]::-webkit-clear-button,
input[type="date"]::-webkit-inner-spin-button {display:none;}
input[type="date"]::-webkit-calendar-picker-indicator {position:absolute;left:0;top:0;right:0;bottom:0;width:100%;height:100%;background:transparent;z-index:1;cursor:pointer;}
input[type="date"]:after {content:'';position:absolute;top:50%;right:20px;z-index:0;width:22px;height:20px;background:url("./../../images/fs/common/icon_de.png") no-repeat center center #fff;margin-top:-9px;}
textarea {padding:15px;border:1px solid #dfdfdf;font-size:1.5rem;color:#74828c;}
select {position:relative;font-family:inherit;background:url("./../../images/fs/common/arr_menu_down.png") no-repeat center right 15px;padding:0 40px 0 15px;border-radius:5px;color:#666;cursor:pointer;}
.select_style {border:1px solid #ddd;}
	@media only screen and (max-width:767px){
		input[type="text"],input[type="password"],input[type="email"],input[type="tel"],input[type="search"],input[type="url"],input[type="file"],input[type="date"],input[type="datetime-local"],input[type="month"],input[type="week"],input[type="time"],input[type="number"], select {height:40px;line-height:40px;padding:0 10px;margin-bottom:5px;}
		input:first-child,select:first-child {margin-top:0;}
		textarea {padding:10px;}
	}
.filebox {position: relative;display:flex;margin:10px 0;}
.filebox:first-child {margin:0 0 10px 0;}
.filebox .upload-name {display: inline-block;height: 40px;padding: 0 1rem;vertical-align: top;border: 1px solid #ddd;border-radius:0 5px 5px 0;width: 80%;color: #767676;}
.filebox label {display: inline-grid;place-items:center;padding: 0 1.5rem;width:20%;height: 40px;margin-right:-0.4rem;text-align:center;border-radius:5px 0 0 5px;color: #fff;vertical-align: top;background-color: #1d1d1d;cursor: pointer;}
.filebox input[type="file"] {position: absolute;top:0;left:0;z-index:-1;width: 20%;height: 40px;padding: 1rem;overflow: hidden;border: 0;}
.filebox span {display:inline-block;margin-top:0.5rem;color:#1d1d1d;}
.filebox span input {margin-left: 1.5rem;border:1px solid #1d1d1d;width: 1.7rem;aspect-ratio: 1/1;accent-color: #e43935;}
@media only screen and (max-width:1023px){
	.filebox .upload-name {width: 60%;}
	.filebox label {width:40%;line-height:1;}
}


/********** 가로값 **********/
.wh100p {width:100%;}
.wh99p {width:99%;}
.wh70p {width:70%;}
.wh50p {width:50%;}
.wh45p {width:45%;}
.wh40p {width:40%;}
.wh30p {width:30%;}
.wh200 {width:200px;}
.wh70 {width:70px;}
	@media only screen and (max-width:767px){
		.wh99p,
		.wh70p,
		.wh50p,
		.wh45p,
		.wh40p,
		.wh30p {width:100%;}
		.wh200 {width:100%;}
	}


/********** 정렬 **********/
.ta-l {text-align:left !important;}
.ta-c {text-align:center;}
.ta-r {text-align:right;}
.vt-t {vertical-align:top;}
.vt-c {vertical-align:middle;}
.vt-b {vertical-align:bottom;}


/********** 전역클래스 **********/
.ft-l {float:left;}
.ft-r {float:right;}
.block {display:block;}
.inblock {display:inline-block;}
.overflow {overflow:hidden;}
.clear:after {content:"";display:block;clear:both;}


/********** 참고텍스트 **********/
/* 느낌표_흰배경파란 */
.point1 {display:block;padding-left:20px;background:url("../../images/fs/common/ico_caution1.gif") no-repeat 0 6px;}
/* 느낌표_흰배경빨강 */
.point2 {display:block;padding-left:20px;background:url("../../images/fs/common/ico_caution2.gif") no-repeat 0 6px;}
/* 느낌표_빨강배경흰색 */
.point3 {display:block;padding-left:20px;background:url("../../images/fs/common/ico_caution3.gif") no-repeat 0 6px;}
/* 당구장표시 */
.point4 {display:block;padding-left:14px;background:url("../../images/fs/common/bul_focus.gif") no-repeat 0 9px;}


/********** 가장자리_외부(margin) **********/
/* 위 */
.mt4 {margin-top:4px;}
.mt5 {margin-top:5px;}
.mt10 {margin-top:10px;}.mt15 {margin-top:15px;}
.mt20 {margin-top:20px;}.mt25 {margin-top:25px;}
.mt30 {margin-top:30px;}.mt35 {margin-top:35px;}
.mt40 {margin-top:40px !important;}.mt45 {margin-top:45px;}
.mt50 {margin-top:50px;}.mt55 {margin-top:55px;}
.mt60 {margin-top:60px;}.mt65 {margin-top:65px;}
.mt70 {margin-top:70px;}.mt75 {margin-top:75px;}
.mt80 {margin-top:80px;}
.mt100 {margin-top:100px;}
.mt120 {margin-top:120px;}
	@media only screen and (max-width:1023px){
		.mt15 {margin-top:5px;}
		.mt20 {margin-top:10px;}.mt25 {margin-top:15px;}
		.mt30 {margin-top:20px;}.mt35 {margin-top:25px;}
		.mt40 {margin-top:30px !important;}.mt45 {margin-top:35px;}
		.mt50 {margin-top:40px;}.mt55 {margin-top:45px;}
		.mt60 {margin-top:50px;}.mt65 {margin-top:55px;}
		.mt70 {margin-top:60px;}.mt75 {margin-top:65px;}
		.mt80 {margin-top:70px;}
		.mt100 {margin-top:90px;}
		.mt120 {margin-top:110px;}
	}
	@media only screen and (max-width:767px){
		.mt30 {margin-top:10px;}.mt35 {margin-top:15px;}
		.mt40 {margin-top:20px !important;}.mt45 {margin-top:25px;}
		.mt50 {margin-top:30px;}.mt55 {margin-top:35px;}
		.mt60 {margin-top:40px;}.mt65 {margin-top:45px;}
		.mt70 {margin-top:50px;}.mt75 {margin-top:55px;}
		.mt80 {margin-top:60px;}
		.mt100 {margin-top:80px;}
		.mt120 {margin-top:100px;}
	}
/* 우측 */
.mr5 {margin-right:5px;}
.mr10 {margin-right:10px;}
/* 좌측 */
.ml5 {margin-left:5px;}
.ml10 {margin-left:10px;}
.ml20 {margin-left:20px;}