@charset "UTF-8";
  /*size*/
:root {
	--gap-size: 3.75rem;
}
@media screen and (max-width: 1280px) {
	:root {
		/*size*/
		--gap-size: 2.5rem;
	}
}
@media screen and (max-width: 800px) {
	:root {
		/*size*/
		--gap-size: 1.25rem;
	}
}

/*list*/
ol[class^=list_],
ul[class*=list_] {
	font-size: 1em;
	display: block;
	width: 100%;
	padding-left: 0.75em;
	line-height: 1.67;
}

ol[class^=list_]>li,
ul[class*=list_]>li {
	display: block;
	position: relative;
}

ol[class^=list_]>li:before,
ul[class*=list_]>li:before {
	text-indent: -1.25em;
	position: absolute;
	text-align: center;
	display: inline;
}

.list_dot>li:before {
	content: "·";
	font-weight: 800;
}

.list_bullet>li:before {
	content: "•";
	font-weight: 900;
}

.list_dash>li:before {
	content: "-";
}

.list_star>li:before {
	content: "*";
}

.list_note>li:before {
	content: "※";
}

.list_dec {
	counter-reset: my-awesome-counter;
}

.list_dec>li {
	counter-increment: my-awesome-counter;
}

.list_dec>li:before {
	content: counter(my-awesome-counter) ". ";
}

.list_dec_circle {
	counter-reset: my-awesome-counter;
	padding-left: 1.25em !important;
}

.list_dec_circle>li {
	counter-increment: my-awesome-counter;
	line-height: 1.66em;
	position: relative;
}

.list_dec_circle>li:not(:last-child) {
	margin-bottom: 0.25em;
}

.list_dec_circle>li:before {
	content: counter(my-awesome-counter);
	left: -1.4em;
	top: 0.225em;
	display: flex !important;
	align-items: center;
	justify-content: center;
	margin-left: 0 !important;
	border-radius: 100%;
	font-size: 1em;
	letter-spacing: -0.075em;
	border: 1px solid #222;
	width: 1.15em;
	height: 1.15em;
	letter-spacing: -0.015em;
	line-height: 0.98;
	text-indent: 0 !important;
	transform: scale(0.65);
}

/* form */
.fm_box {
	display: flex;
	flex-wrap: wrap;
	gap: 0.625rem;
}
.inp {
	outline: 0 !important;
	width: 100%;
	height: 3rem;
	padding: 0 1rem;
	border: solid 1px #ddd;
	color: #222;
	font-size: 1rem;
	transition: background 0.3s, border-color 0.3s;
}
.inp:-webkit-autofill::first-line {
	font-size: 1rem;
}
.inp::placeholder, .inp::-webkit-input-placeholder, .inp::-moz-placeholder, .inp:-ms-input-placeholder {
	background-color: transparent;
	color: #555;
	border-color: #ddd;
	opacity: 1;
	/* 파이어폭스에서 뿌옇게 나오는 현상을 방지하기 위한 css */
}
.inp:focus {
	border-color: #02b5b1;
	background-color: #fff;
}
.inp[readonly], .inp[readonly=readonly] {
	/* background-color: #eeeeee; */
}
.inp[disabled], .inp[disabled=disabled] {
	background-color: #dddddd;
	color: #aaaaaa;
	border-color: rgba(0,0,0,0);
}
@media screen and (max-width: 800px) {
	/* .inp {
	height: 3.375rem;
	padding: 0 1rem;
	font-size: 1rem;
	} */
	.inp:-webkit-autofill::first-line {
	font-size: 1rem;
	}
}

select.sel {
	background-repeat: no-repeat;
	background-image: url(../images/common/sel_arrow.svg);
	background-color: #fff;
	background-position: top 50% right 1rem;
	background-size: 1rem;
	outline: 0 !important;
	width: 100%;
	height: 3rem;
	padding: 0 1.5rem;
	border: solid 1px #ddd;
	font-size: 1rem;
	transition: background 0.3s, border-color 0.3s;
	color: #222;
}
select.sel:invalid, select.sel option {
	color: #222;
}
select.sel::placeholder, select.sel::-webkit-input-placeholder, select.sel::-moz-placeholder, select.sel:-ms-input-placeholder {
	background-color: transparent;
	color: #555;
	border-color: rgba(0,0,0,0);
	opacity: 1;
	/* 파이어폭스에서 뿌옇게 나오는 현상을 방지하기 위한 css */
}
select.sel:focus {
	border:1px solid #02b5b1;
}
select.sel[readonly], select.sel[readonly=readonly] {
	/* background-color: #eeeeee; */
}
select.sel[disabled], select.sel[disabled=disabled] {
	opacity: 1;
	background-color: #dddddd;
	color: #aaaaaa;
	border-color: rgba(0,0,0,0);
}
select.sel option[value=""][disabled] {
	display: none;
}
@media screen and (max-width: 800px) {
	select.sel {
	height: 3.375rem;
	padding: 0 1rem;
	font-size: 1rem;
	background-position: top 50% right 0.8571rem;
	outline: 0 !important;
	width: 100%;
	padding: 0 1rem;
	}
}

.ft_wrap {
	width: 100%;
	display: block;
	position: relative;
	z-index: 0;
	padding: 1.1111111111em 1.3333333333em 0.8888888889em 1.3333333333em;
	font-size: 1.125rem;
}
.ft_wrap ._style {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: -1;
	display: block;
	border: solid 1px #ddd;
	background-color: #fff;
	transition: background 0.3s, border-color 0.3s;
	z-index: -1;
}
.ft_wrap .ft_count {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	height: 1.25rem;
	text-align: right;
	font-size: 0.875rem;
	font-weight: 300;
	color: #cccccc;
}
.ft {
	outline: 0 !important;
	width: 100%;
	height: 15rem;
	border: 0;
	font-size: 1.125rem;
	padding: 0;
	font-family: inherit;
	line-height: 1.5;
	resize: none;
	background-color: transparent;
	box-sizing: border-box;
}
.ft::-webkit-scrollbar {
	width: 5px;
}
.ft::-webkit-scrollbar-thumb {
	background-color: rgba(107, 107, 107, 0.49);
	border-radius: 6.25rem;
}
.ft::placeholder, .ft::-webkit-input-placeholder, .ft::-moz-placeholder, .ft:-ms-input-placeholder {
	color: #555;
	opacity: 1;
	/* 파이어폭스에서 뿌옇게 나오는 현상을 방지하기 위한 css */
}
.ft:focus ~ ._style {
	border-color: #02B5B1;
}
.ft[readonly], .ft[readonly=readonly] {
}
.ft[disabled], .ft[disabled=disabled] {
	color: #555;
}
.ft[disabled] ~ ._style, .ft[disabled=disabled] ~ ._style {
	border-color: #555;
}
@media screen and (max-width: 800px) {
	.ft_wrap {
		font-size: 0.875rem;
		padding: 1.1428571429em 1.4285714286em 0.8571428571em 1.4285714286em;
	}
	.ft {
		height: 10rem;
	}
}

.fm_rd,
.fm_ch,
.fm_toggle {
	display: inline-flex;
	align-items: center;
	position: relative;
	overflow: hidden;
	cursor: pointer;
	font-size: 1rem;
}
.fm_rd input,
.fm_ch input,
.fm_toggle input {
	width: 1px;
	height: 1px;
	left: -999px;
	position: absolute;
}
.fm_rd ._text,
.fm_ch ._text,
.fm_toggle ._text {
	margin-left: 0.4em;
	margin-right: 0.4em;
}
.fm_rd ._style,
.fm_ch ._style,
.fm_toggle ._style {
	position: relative;
	overflow: hidden;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	/* min-width: 1.5em; */
	width: 1.5em;
	height: 1.5em;
	text-align: center;
	border: 1px solid #ddd;
	background: #fff no-repeat center/contain;
	transition: color 0.2s;
}
.fm_rd ._style::before,
.fm_ch ._style::before,
.fm_toggle ._style::before {
	content: "";
	position: absolute;
	display: none;
	width: 100%;
	height: 100%;
	top: 0;
	left: 0;
}
@media screen and (max-width: 800px) {
	.fm_rd,
	.fm_ch,
	.fm_toggle {
		font-size: 0.9375rem;
	}
	.fm_rd ._text,
	.fm_ch ._text,
	.fm_toggle ._text {
		margin-left: 0.5rem;
		margin-right: 0.5rem;
		transform: translateY(1px);
	}
	.fm_rd ._style,
	.fm_ch ._style,
	.fm_toggle ._style {
		/* min-width: 1.6666666667em; */
		width: 1.25rem;
		height: 1.25rem;
	}
}

.fm_rd input:checked + ._style {
	border-color: #02B5B1;
}
.fm_rd input:checked + ._style::before {
	display: block;
	border-radius: 100%;
	transform: scale(0.6);
	background-color: #02B5B1;
}
.fm_rd input:focus + ._style {
	border-color: #02B5B1;
}
.fm_rd input[disabled], .fm_rd input[disabled=disabled] {
	color: #555;
}
.fm_rd input[disabled] ~ ._style, .fm_rd input[disabled=disabled] ~ ._style {
	background-color: #fff;
}
.fm_rd ._style {
	border-radius: 100%;
}

.fm_ch input:checked + ._style {
	border-color: #02B5B1;
	background-color: #02B5B1;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M8.503 14.826a1 1 0 0 1 .293-.707 1 1 0 0 1 1.414 0l3.878 3.878 7.208-7.207a1 1 0 0 1 1.414 0 1 1 0 0 1 0 1.414l-7.915 7.914a1 1 0 0 1-1.414 0l-4.585-4.585a1 1 0 0 1-.293-.707Z' fill='%23ffffff'/%3E%3C/svg%3E");
}
.fm_ch input:focus + ._style {
	border-color: #02B5B1;
}
.fm_ch input[disabled], .fm_ch input[disabled=disabled] {
	--form-font-color: var(--form-font-disabled-color);
}
.fm_ch input[disabled] + ._style, .fm_ch input[disabled=disabled] + ._style {
	--form-background-color: var(--form-background-disabled-color);
	--form-line-color: var(--form-line-disabled-color);
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M8.503 14.826a1 1 0 0 1 .293-.707 1 1 0 0 1 1.414 0l3.878 3.878 7.208-7.207a1 1 0 0 1 1.414 0 1 1 0 0 1 0 1.414l-7.915 7.914a1 1 0 0 1-1.414 0l-4.585-4.585a1 1 0 0 1-.293-.707Z' fill='%23d0d1d5'/%3E%3C/svg%3E");
}
.fm_ch input[disabled]:checked + ._style, .fm_ch input[disabled=disabled]:checked + ._style {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M8.503 14.826a1 1 0 0 1 .293-.707 1 1 0 0 1 1.414 0l3.878 3.878 7.208-7.207a1 1 0 0 1 1.414 0 1 1 0 0 1 0 1.414l-7.915 7.914a1 1 0 0 1-1.414 0l-4.585-4.585a1 1 0 0 1-.293-.707Z' fill='%23999'/%3E%3C/svg%3E");
}
.fm_ch ._style {
	background-size: 1.2em 1.2em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 30 30'%3E%3Cpath d='M8.503 14.826a1 1 0 0 1 .293-.707 1 1 0 0 1 1.414 0l3.878 3.878 7.208-7.207a1 1 0 0 1 1.414 0 1 1 0 0 1 0 1.414l-7.915 7.914a1 1 0 0 1-1.414 0l-4.585-4.585a1 1 0 0 1-.293-.707Z' fill='%23aaa'/%3E%3C/svg%3E");
}

/* button */
a.btn, a[class*=btn_],
button.btn,
button[class*=btn_] {
	position: relative;
	overflow: hidden;
	z-index: 0;
	max-width: 100%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background-clip: border-box;
	border: 0;
	outline: 0 !important;
	font-size: 1rem;
	line-height: 1.25;
	text-align: center;
	text-decoration: none;
	word-break: keep-all;
	color: #222;
	background-color: #fff;
	border: solid 1px #222;
	box-shadow: inset 0 0 1px 16rem rgba(0, 0, 0, 0);
	transition: box-shadow 0.3s;
	will-change: box-shadow;
	
}
a.btn > span, a[class*=btn_] > span,
button.btn > span,
button[class*=btn_] > span {
	position: relative;
}
a.btn:active, a[class*=btn_]:active,
button.btn:active,
button[class*=btn_]:active {
	box-shadow: inset 0 0 1px 16rem rgba(0, 0, 0, 0.035);
}

a.btn,
button.btn {
	width: 12.5rem;
	height: 3rem;
	padding: 0.6rem 1.4rem;
	font-weight: 500;
}
a.btn-rd,
button.btn-rd {
	border-radius: 3.75rem;
}
a.btn_lg,
button.btn_lg {
	width: 12.5rem;
	height: 4rem;
	padding: 1rem 1.2rem;
	font-size: 1.125rem;
	font-weight: 700;
}
a.btn_md,
button.btn_md {
	width: 6.75rem;
	height: 3.75rem;
	padding: 0.56rem 1.4rem;
	font-weight: 500;
}
a.btn_xs,
button.btn_xs {
	width: 6.75rem;
	height: 3rem;
	padding: 0.56rem 1.4rem;
	font-weight: 500;
}
a.btn_auto,
button.btn_auto {
	width: auto !important;
}
a.btn_auto.btn,
button.btn_auto.btn {
	padding-left: 2.2rem;
	padding-right: 2.2rem;
}
a.btn_auto.btn_lg,
button.btn_auto.btn_lg {
	padding-left: 2.4rem;
	padding-right: 2.4rem;
}
a.btn_full,
button.btn_full {
	width: 100% !important;
}
@media screen and (max-width: 800px) {
	a.btn,
	button.btn {
		width: 10em;
		height: 2.5rem;
		padding: 1.0666666667em 0.8em;
		font-size: 0.875rem;
	}
	a.btn_md,
	button.btn_md {
		width: 6.75rem;
		height: 3.375rem;
		padding: 1.2rem 0.857rem;
		font-size: 0.875rem;
	}
	a.btn_lg,
	button.btn_lg {
		width: 10rem;
		height: 3.375rem;
		padding: 1rem 1.6rem;
		font-size: 0.875rem;
	}
	a.btn_xs,
	button.btn_xs {
		width: 6.75rem;
		height: 2.5rem;
		padding: 0.56rem 1.4rem;
		font-weight: 500;
	}
}

a.btn.btn_c1, a[class*=btn_].btn_c1,
button.btn.btn_c1,
button[class*=btn_].btn_c1 {
	background-color: #02b5b1;
	color: #fff;
	border-color: rgba(0, 0, 0, 0);
}
a.btn.btn_c2, a[class*=btn_].btn_c2,
button.btn.btn_c2,
button[class*=btn_].btn_c2 {
	background-color: #222;
	color: #fff;
	border-color: rgba(0, 0, 0, 0);
}
a.btn.btn_c3, a[class*=btn_].btn_c3,
button.btn.btn_c3,
button[class*=btn_].btn_c3 {
	background-color: #aaaaaa;
	color: #fff;
	border-color: rgba(0, 0, 0, 0);
}
a.btn.btn_c4, a[class*=btn_].btn_c4,
button.btn.btn_c4,
button[class*=btn_].btn_c4 {
	background-color: #366cf0;
	color: #fff;
	border-color: rgba(0, 0, 0, 0);
}

a.btn.btn_line1, a[class*=btn_].btn_line1,
button.btn.btn_line1,
button[class*=btn_].btn_line1 {
	border-color: #02b5b1;
	color: #02b5b1;
	background-color: rgba(0, 0, 0, 0);
}

.btn_box {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	gap: 1.25rem;
}
.btn_box > * {
	flex: 1 1 auto;
}
.btn_box.btn_box_center {
	justify-content: center;
}
.btn_box.btn_box_btn_auto > * {
	flex: 0 1 auto;
}
.btn_box.btn_box_nowrap {
	flex-wrap: nowrap;
}
.btn_box[data-gap="0"] {
	gap: 0;
}
.btn_box[data-gap="10"] {
	gap: 0.625rem;
}
.btn_box[data-gap="20"] {
	gap: 1.25rem;
}
.btn_box .break {
	flex-basis: 100%;
	height: 0;
}
.btn_box .btn_full {
	flex-basis: 100% !important;
}
@media screen and (max-width: 800px) {
	.btn_box {
		gap: 0.75rem;
	}
	.btn_box[data-gap="10"] {
		gap: 0.375rem;
	}
	.btn_box[data-gap="20"] {
		gap: 0.75rem;
	}
}

/* datepicker */
.ui-datepicker-header .ui-datepicker-title {
	font-size: 0.8em !important;
}

.ui-datepicker select.ui-datepicker-month,
.ui-datepicker select.ui-datepicker-year {
	width: 40% !important;
	margin: 0 0.25em !important;
	padding: 0.25em 0.625em !important;
	background: no-repeat top 50% right 0.375em/1em 0.75em;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24'%3E%3Cpath d='m12.002 16-7-7.62L6.269 7l5.733 6.242L17.735 7l1.267 1.38Z'/%3E%3C/svg%3E");
}

/* component */
.overflow-hide {
	overflow: hidden !important;
}

.inner {
	width: 100%;
	max-width: calc(1720px + 2rem);
	margin: 0 auto;
	padding: 0 1rem;
	box-sizing: border-box;
}
.inner-s {
	width: 100%;
	max-width: calc(1480px + 2rem);
	margin: 0 auto;
	padding: 0 1rem;
	box-sizing: border-box;
}

header {
	position: sticky;
	top: 0;
	border-bottom: 2px solid #222;
	background-color: #fff;
	z-index: 10000;
}
header .inner {
	display: flex;
	justify-content: space-between;
	align-items: center;
	position: relative;
	padding: 1rem;
}
header .logo {
	z-index: 20;
}
header .logo svg {
	vertical-align: middle;
}
@media screen and (max-width: 800px) {
	header .logo svg {
		width: auto;
		height: 2rem;
	}
}

#gnb {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 100%;
	height: 100%;
	text-align: center;
	z-index: 10;
}
#gnb .gnbBg {
	overflow: hidden;
	position: absolute;
	top: calc(100% - 1px);
	width: 100%;
	height: 0%;
	/* opacity: 0; */
	background-color: #fff;
	transition: height 0.2s;
	z-index: -1;
}
#gnb > ul {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	max-width: calc(13.5rem * 4);
}
#gnb > ul > li {
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	width: auto;
	height: 100%;
	padding: 0 2.25rem;
}
#gnb > ul > li > a {
	color: #222;
	font-size: 1.25rem;
	font-weight: 700;
}
#gnb > ul ul {
	overflow: hidden;
	display: flex;
	flex-direction: column;
	gap: 1.5rem;
	position: absolute;
	top: 100%;
	width: 100%;
	height: 0%;
	transition: all 0.2s;
}

#gnb > ul ul li a {
	color: #222;
	font-size: 18px;
	font-weight: 500;
	white-space: nowrap;
}
#gnb > ul:hover + .gnbBg {
	height: 220%;
	margin-top: 3px;
	border-bottom: 1px solid #999;
	opacity: 1;
}
#gnb > ul:hover ul {
	height: 220%;
	padding:1.75rem 0;
}
#gnb > ul > li:hover::before {
	position: absolute;
	top: 100%;
	left: 0;
	width: 100%;
	height: 3px;
	background-color: #02B5B1;
	content:'';
}
#gnb ul > li:hover > a,
#gnb ul > li li a:hover {
	color: #02B5B1;
	font-weight: 700;
}
#gnb.mem_sign > ul:hover ul {
	height: 280%;
}
#gnb.mem_sign > ul:hover + .gnbBg {
	height: 280%;
}
@media screen and (max-width: 1600px) {
	#gnb {
		display: none;
	}
}

#util {
	display: flex;
	align-items: center;
	justify-content: center;
	/* gap: 1.5rem; */
	gap: 20.375rem;
	z-index: 20;
}
#util .utilWrap {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
}
#util .utilWrap .alertBtn {
	position: relative;
}
#util .utilWrap .alertBtn span {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 0;
	right: 0;
	width: 14px;
	height: 14px;
	color: #fff;
	font-size: 0.625rem;
	font-weight: 700;
	border-radius: 2.5rem;
	background-color: #F24351;
}
#util .ham svg {
	width: 1.5rem;
	height: 1.5rem;
	vertical-align: middle;
}
@media screen and (max-width: 800px) {
	#util {
		gap:1.5rem;
	}
	#util .utilWrap .util-icon {
		width: 2.25rem;
	}
}

.sidePopBg {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.7);
	z-index: 20;
	content:'';
}
.sidePop {
	overflow: hidden;
	position: absolute;
	/* top: calc(100% + 0.5rem); */
	top: 0.825rem;
	/* right: 1rem; */
	right: 3.625rem;
	width: 18.375rem;
	padding:1rem;
	border: 1px solid #222;
	border-radius: 1.625rem;
	background-color: #fff;
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
	z-index: 21;
}
.sidePop .welcome {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 500;
	font-size: 0.875rem;
}
.sidePop .welcome:after {
	display: inline-block;
	width: 1rem;
	height: 1rem;
	background-image: url(../images/common/icon_smile.png);
	background-size: 100% auto;
	content:'';
}
.sidePop .welcome b {
	font-weight: 700;
}
.sidePop .sidePop-toggle + .quick {
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	border-top: 1px solid #ddd;
}
.sidePop .loginWrap {
	margin-top: 1rem;
	/* margin-bottom: 0.75rem;
	padding-bottom: 0.75rem;
	border-bottom: 1px solid #ddd; */
}
.sidePop .loginWrap .btn {
	border-radius: 0.5rem;
}
.sidePop .loginForm p {
	margin-bottom: 1rem;
	font-size: 1.25rem;
	font-weight: 700;
}
.sidePop .loginForm input {
	width: 100%;
	padding:1rem;
	font-size: 0.875rem;
	border-radius: 0.5rem;
	border: 1px solid #F7F7F7;
	background-color: #F7F7F7;
}
.sidePop .loginForm input:focus {
	border: 1px solid #9B9C9E;
}
.sidePop .loginForm input::placeholder {
	color: #555;
}
.sidePop .eduWrap {
	display: none;
	margin-top: 1.25rem;
}
.sidePop .eduHead {
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
.sidePop .eduHead p {
	color: #555;
	font-size: 0.875rem;
	font-weight: 500;
}
.sidePop .eduHead span {
	padding:0.25rem 0.5rem 0.125rem;
	color: #fff;
	font-size: 0.75rem;
	font-weight: 800;
	border-radius: 0.875rem;
}
.sidePop .eduHead a {
	margin-left: auto;
	color: #555;
	font-size: 0.875rem;
	font-weight: 500;
}
.sidePop .eduHead a:hover {
	text-decoration: underline;
	text-underline-position: under;
}
.sidePop .eduBody .info {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-direction: column;
	gap: 0.5rem;
	margin-top: 0.75rem;
	padding: 1rem;
	border-radius: 0.5rem;
	background-color: #F7F7F7;
}
.sidePop .eduBody .info .box .tit {
	color: #222;
	font-size: 1.125rem;
	font-weight: 700;
	text-align: center;
}
.sidePop .eduBody .info .box .class {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	margin-top: 0.75rem;
	padding-top: 0.75rem;
	color: #555;
	text-align: center;
	word-break: keep-all;
	border-top: 1px solid #ddd;
}
.sidePop .eduBody .info .cal {
	display: flex;
	align-items: center;
	gap: 1.25rem;
}
.sidePop .eduBody .info .cal .mon {
	display: inline-flex;
	align-items: center;
	position: relative;
	gap: 0.125rem;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
}
.sidePop .eduBody .info .cal .mon:after {
	position: absolute;
	top: 50%;
	right: -0.75rem;
	color: #ddd;
	font-size: 0.75rem;
	transform: translateY(-50%);
	content: "|";
}
.sidePop .eduBody .info .cal .mon small {
	font-size: 1rem;
	vertical-align: middle;
}
.sidePop .eduBody .info .cal .year {
	color: #555;
	font-size: 1rem;
	font-weight: 500;
}
.sidePop .eduBody .info .time {
	display: flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1rem;
	font-weight: 500;
}
.sidePop .eduBody .btn {
	margin-top: 0.5rem;
	border-radius: 0.5rem;
}
.sidePop .eduBody .text {
	margin-top: 0.75rem;
	color: #555;
	font-size: 0.875rem;
	font-weight: 500;
	text-align: center;
}
.sidePop ul {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 1.5rem;
	margin-top: 0.75rem;
}
.sidePop ul li a {
	position: relative;
	color: #555;
	font-size: 0.875rem;
	font-weight: 500;
}
.sidePop ul li a:after {
	position: absolute;
	top: 50%;
	right: -0.875rem;
	color: #ddd;
	font-size: 0.75rem;
	transform: translateY(-50%);
	content: "|";
}
.sidePop ul li:nth-child(2) a {
	color: #555;
}
.sidePop ul li:last-child a:after {
	display: none;
}
.sidePop .quick {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5rem;
	margin-top: 1.25rem;
}
.sidePop .quick a {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.25rem;
	height: 2.5rem;
	color:#222;
	font-size: 0.9375rem;
	font-weight: 600;
	border-radius: 0.5rem;
	background-color: #F7F7F7;
}
.sidePop .logoutWrap {
	display: flex;
	align-items: center;
	justify-content: center;
	padding-top:0.5rem;
	margin-top: 0.75rem;
	border-top: 1px solid #ddd;
}
.sidePop .logoutWrap a {
	color: #555;
	font-size: 0.875rem;
	font-weight: 500;
}
.sidePop .close {
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 1rem;
	height: 1rem;
	text-indent: -99999px;
	background-repeat: no-repeat;
	background-image: url(../images/common/sel_arrow.svg);
	background-color: #fff;
	background-size: 1rem 1rem;
	transform-origin: center;
	transition: transform 0.2s;
}
.sidePop.active .close {
	transform: rotate(180deg);
}
.sidePop .mClose {
	display: none;
	position: absolute;
	top: 1rem;
	right: 1rem;
	width: 1rem;
	height: 1rem;
	text-indent: -99999px;
	background-repeat: no-repeat;
	background-image: url(../images/common/sel_arrow_m.svg);
	background-color: #fff;
	background-size: 1rem 1rem;
}
@media screen and (min-width: 801px) {
	.sidePop {
		display: block !important;
	}
}
@media screen and (max-width: 800px) {
	.sidePop {
		display: none;
		position: fixed;
		top: 40%;
		left: 50%;
		transform: translate(-50%, -50%);
	}
	.sidePop .quick {
		display: none;
	}
	.sidePop .close {
		display: none;
	}
	.sidePop .mClose {
		display: block;
	}
}

.mQuick {
	display: none;
	align-items: center;
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	background-color: #fff;
	box-shadow: 0px -2px 16px 0px rgba(0, 0, 0, 0.12);
	z-index: 10001;
}
.mQuick a {
	display: flex;
	flex-direction: column;
	align-items: center;
	flex-shrink: 0;
	width: 20%;
	padding:0.75rem 0.75rem 1rem;
	color: #222;
	font-size: 0.75rem;
	font-weight: 600;
	text-align: center;
}
.mQuick a img {
	width: 1.5rem;
	height: 1.5rem;
	margin-bottom: 0.25rem;
}
@media screen and (max-width: 800px) {
	.mQuick {
		display: flex;
	}
}

.allmenu {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background-color: rgba(0,0,0,0.6);
	z-index: 1000000;
}
.allmenu .allmenuWrap {
	overflow-y: auto;
	position: absolute;
	top: 0;
	right: 0;
	width: 100%;
	max-width: 900px;
	height: 100%;
	max-height: 100%;
	padding:1.5rem;
	background-color: #fff;
	background-image: url(/resource/images/common/allmenu-bg.png);
	background-position: right 80px bottom 0;
	background-size: auto 33vh;
	background-repeat: no-repeat;
}
.allmenu .allmenuHeader button {
	position: absolute;
	top: 1.5rem;
	right: 1.5rem;
	background-color: #fff;
}
.allmenu .allmenuHeader button svg {
	width: 2.25rem;
	height: 2.25rem;
}
.allmenu .allmenuBody {
	display: flex;
	flex-direction: column;
	height: 100%;
	padding: 2.75rem 3.5rem 0;
}
.allmenu .allmenuBody > ul {
	width: 100%;
	margin-bottom: 1.625rem;
	background-color: rgba(255, 255, 255, 0.6);
}
.allmenu .allmenuBody > ul > li {
	display: flex;
	/* align-items: center; */
	position: relative;
	padding: 1.75rem 0;
	border-bottom: 1px solid #ddd;
}
.allmenu .allmenuBody > ul > li > a {
	position: relative;
	width: 18.75rem;
	margin-right: 3.75rem;
	color: #222;
	font-size: 1.5rem;
	font-weight: 700;
	white-space: nowrap;
}
.allmenu .allmenuBody > ul > li > ul {
	display: flex;
	gap: 2.5rem;
	width: 100%;
	margin-top: 0.25rem;
}
.allmenu .allmenuBody > ul > li > ul > li > a {
	color: #222;
	font-size: 1.125rem;
	font-weight: 500;
	white-space: nowrap;
}
.allmenu .allmenuBody > ul > li > ul > li > ul {
	/* margin-top: 0.875rem; */
}
.allmenu .allmenuBody > ul > li > ul > li > ul > li {
	margin-top: 0.625rem;
}
.allmenu .allmenuBody > ul > li > ul > li > ul > li > a {
	color: #555;
	font-size: 1rem;
	font-weight: 400;
}
.allmenu .allmenuBody > ul > li > ul > li > ul > li > a:before {
	content:'- ';
}
.allmenu .allmenuBody > ul > li:hover > a,
.allmenu .allmenuBody > ul > li > ul > li > a:hover {
	color: #02B5B1;
	font-weight: 700;
}
.allmenu .allmenuBody > ul > li > ul > li > ul > li > a:hover {
	color: #02B5B1;
}
.allmenu .allmenuBody .allmenuBody-fnb {
	display: flex;
	margin-top: auto;
	flex-direction: column;
	gap: 0.75rem;
	padding-bottom: 5rem;
}
.allmenu .allmenuBody .allmenuBody-fnb a {
	color: #999;
	font-size: 1rem;
	font-weight: 500;
}
@media screen and (max-width: 1024px) {
	.allmenu .allmenuWrap {
		width: 100%;
		max-width: 400px;
		padding:0.75rem;
		background-image: none;
	}
	.allmenu .allmenuBody {
		padding: 2.75rem 0.75rem 0;
	}
	.allmenu .allmenuBody > ul > li {
		flex-direction: column;
		align-items: start;
		gap: 1.5rem;
		padding:1.5rem 0;
	}
	.allmenu .allmenuBody > ul > li > a {
		width: 100%;
		margin-right: 0;
	}
	.allmenu .allmenuBody > ul > li > ul {
		flex-direction: column;
		gap: 1rem;	
	}
	.allmenu .allmenuBody .allmenuBody-fnb {
		gap: 0.5rem;
		margin-top: 1.875rem;
		padding-bottom: 1.5rem;
	}
}
@media screen and (max-width: 800px) {
	.allmenu {
		top: 4.375rem;
	}
	.allmenu .allmenuWrap {
		overflow-y: visible;
		max-width: 100%;
		background-image: url(/resource/images/common/allmenu-bg.png);
		background-size: auto 11rem;
		background-position: right 1rem bottom 0;
	}
	.allmenu .allmenuHeader button {
		top: -3.25rem;
		right: 0.95rem;
	}
	.allmenu .allmenuHeader button svg {
		width: 1.75rem;
		height: 1.75rem;
	}
	.allmenu .allmenuBody {
		padding: 0 0.75rem 0;
	}
	.allmenu .allmenuBody > ul > li {
		gap: 0;
		padding: 1.25rem 0;
	}
	.allmenu .allmenuBody > ul > li > a {
		font-size: 1.25rem;
	}
	.allmenu .allmenuBody > ul > li > a:after {
		position: absolute;
		right: 0;
		top: 50%;
		width: 1.5rem;
		height: 1.5rem;
		background-image: url(/resource/images/common/drop-arrow.png);
		background-size: 100% auto;
		transform: translateY(-50%);
		transform-origin: center;
		transition: all 0.2s;
		content:'';
	}
	.allmenu .allmenuBody > ul > li > a.on:after {
		transform: rotate(180deg) translateY(50%);
	}
	.allmenu .allmenuBody > ul > li > ul {
		display: none;
		gap: 0;
		padding-top: 0.5rem;
	}
	.allmenu .allmenuBody > ul > li > ul > li > a {
		display: block;
		padding:0.5rem 0;
		font-size: 1rem;
	}
	.allmenu .allmenuBody > ul > li > ul > li > ul {
		display: none !important;
	}
	.allmenu .allmenuBody > ul > li > ul > li > ul > li:first-child {
		margin-top: 0;
	}
	.allmenu .allmenuBody .allmenuBody-fnb {
		position: absolute;
		bottom: 0;
		left: 1rem;
		margin-bottom: 1.5rem;
		padding-bottom: 0;
	}
	.allmenu .allmenuBody .allmenuBody-fnb a {
		font-size: 0.875rem;
	}
}

footer {
	position: relative;
	/* margin-top: 5rem; */
	padding:2.5rem 0;
	border-top: 2px solid #222;
	background-color: #fff;
}
footer .inner {
	display: flex;
	/* align-items: flex-end; */
	justify-content: space-between;
}
footer .fnb {
	display: flex;
	align-items: center;
	gap: 1.5rem;
	color: #999;
}
footer .fnb li a {
	position: relative;
	color: #999;
	font-size: 1rem;
	font-weight: 500;
}
footer .fnb li a:after {
	position: absolute;
	top: 50%;
	right: -0.875rem;
	color: #999;
	font-size: 0.75rem;
	transform: translateY(-50%);
	content: "|";
}
footer .fnb li:nth-child(2) a {
	color: #555;
}
footer .fnb li:last-child a:after {
	display: none;
}
footer .f-logo {
	margin-top: 2.625rem;
	color: #222;
	font-size: 1.375rem;
}
footer .f-info {
	display: flex;
	flex-wrap: wrap;
	gap: 1.5rem;
	align-items: center;
	margin-top: 0.75rem;
	color: #555;
	font-size: 0.875rem;
}
footer .f-info p {
	position: relative;
}
footer .f-info p:after {
	position: absolute;
	top: 50%;
	right: -0.875rem;
	color: #999;
	font-size: 0.75rem;
	transform: translateY(-50%);
	content: "|";
}
footer .f-info p:last-child:after {
	display: none;
}
footer .f-copy {
	margin-top: 1.5rem;
	color: #999;
}
footer .f-copy p {
	font-size: 0.875rem;
}
footer .right {
	display: flex;
	flex-direction: column-reverse;
}
footer .f-site {
	display: inline-flex;
	gap: 1.25rem;
	margin-top: auto;
}
footer #top {
	display: none;
	position: fixed;
	bottom: 1.25rem;
	/* right: 1.25rem; */
	right: calc(50% - 856px);
	background-color: #fff;
}
footer #top._on {
	position: absolute;
	bottom: 9.75rem;
}
@media screen and (max-width: 1760px) {
	footer #top {
		right: 1.25rem;
	}
}
@media screen and (max-width: 1024px) {
	footer .info-1 p:first-child {
		width: 100%;
	}
	footer .info-1 p:first-child:after {
		display: none;
	}
}
@media screen and (max-width: 800px) {
	footer {
		padding:1.5rem 0 5.75rem;
	}
	footer .inner {
		flex-direction: column;
	}
	footer .right {
		flex-direction: row;
		margin-top: 1rem;
	}
	footer #top {
		display: none;
		position: fixed;
		bottom: 5.75rem;
		right: 1.25rem;
		background-color: #fff;
	}
	footer #top._on {
		position: fixed;
		bottom: 5.75rem;
	}
}
@media screen and (max-width: 600px) {
	footer .fnb li a {
		font-size: 0.875rem;
	}
	footer .f-info {
		gap: 0.5rem 1rem;
	}
	footer .f-info p:after {
		right: -0.65rem;
	}
	footer .info-1 p:last-child {
		width: 100%;
	}
	footer .info-1 p:nth-child(3):after {
		display: none;
	}
	footer .info-2 p:first-child {
		width: 100%;
	}
	footer .info-2 p:first-child:after {
		display: none;
	}
	footer .f-copy p {
		font-size: 0.75rem;
	}
}


/* textPopup */
.textPopup {
	position: fixed;
	z-index: 10400000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.7);
	visibility: hidden;
}
.textPopup._on {
	visibility: visible;
}
.textPopup_box {
	position: relative;
	width: 100%;
	max-width: 45rem;
	padding: 3rem 0;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
}
.textPopup_scroll {
	overflow: auto;
	width: 100%;
	height: auto;
	max-height: calc(100vh - 12.75rem);
	padding:0 3rem;
	border-radius: 0.3125em;
}
html:not(.mobile) .textPopup_scroll::-webkit-scrollbar {
	width: 5px;
}
html:not(.mobile) .textPopup_scroll::-webkit-scrollbar-thumb {
	background-color: rgba(107, 107, 107, 0.49);
	border-radius: 6.25rem;
}

.textPopup_title {
	margin-bottom: 1.5rem;
	text-align: center;
	font-size: 2.5rem;
	font-weight: bold;
}
.textPopup_con {
	margin-bottom: 2.5rem;
	padding: 5rem 0;
	font-size: 1.5rem;
	font-weight: 500;
	line-height: 1.45;
	text-align: center;
	border-top: 2px solid #222;
	border-bottom: 1px solid #222;
}
.textPopup_close, .textPopup [data-close-button=true] {
	position: absolute;
	color: #fff;
	top: -3.75rem;
	right: -3.75rem;
}
.textPopup_buttons {
	gap: 0.625rem;
	display: flex;
	justify-content: center;
	align-items: center;
}
.textPopup_buttons .btn {
	/* flex: 1 1 auto; */
	/* width: auto; */
	font-weight: bold;
}
.textPopup_close, .textPopup [data-close-button=true] {
	position: absolute;
	width:3.5rem;
	height:3.5rem;
	top: 0;
	right: 0;
	background: no-repeat center/contain;
	background-image: url(../images/common/notice_popup_close.svg);
}
.textPopup_close > span, .textPopup [data-close-button=true] > span {
	visibility: hidden;
}
/* 퀴즈 팝업 */
.quiz-count {
	display: flex;
	justify-content: center;
	position: relative;
}
.quiz-circle {
	width: 3.75rem;
	height: 3.75rem;
	border-radius: 50%;
	transform: rotate(-90deg);
}
.quiz-circle svg {
	width: 3.75rem;
	height: 3.75rem;
}
.quiz-circle circle {
	fill: none;
	stroke-width: 5px;
}

.quiz-circle circle.bg {
	stroke: #02B5B1;
}

.quiz-circle circle.fg {
	stroke: #EBEBEB;
	stroke-width: 6px;
	stroke-linecap: butt;
	/* stroke-dasharray: 163;
	stroke-dashoffset: 163; */
	/* transition: stroke-dashoffset 0s; */
}
.quiz-timer {
	display: flex;
	align-items: center;
	justify-content: center;
	position: absolute;
	top: 50%;
	left: 50%;
	width: 3.5rem;
	height: 3.5rem;
	font-size: 0.875rem;
	font-weight: 500;
	text-align: center;
	transform: translate(-50%, -50%) rotate(90deg);
	transition: color 0.3s;
}
/* 경고 상태 */
.warning .quiz-timer {
	color: #FA4F50;
	animation: blink 1s step-start infinite;
}

.warning circle.bg {
	stroke: #FA4F50;
}
@keyframes blink {
	50% { opacity: 0; }
	100% { opacity: 1; }
}


.quiz_a + .quiz_a {
	margin-top: 1rem;
}
.quiz_a .fm_rd {
	width: 100%;
	padding: 1.5rem 2rem;
	border: 1px solid #F7F7F7;
	border-radius: 1rem;
	background-color: #F7F7F7;
}
.quiz_a._on .fm_rd {
	border-color: #02B5B1;
	background-color: #EFF8F7;
}
@media screen and (max-width: 800px) {
	.textPopup_box {
		width: 100%;
		max-width: 90%;
		padding: 3rem 0 2rem;
	}
	.textPopup_scroll {
		height: auto;
		max-height: calc(100vh - 7rem);
		padding:0 1rem;
		border-radius: 0.625rem;
	}
	.textPopup_title {
		margin-bottom: 1.5rem;
		font-size: 2.25rem;
	}
	.textPopup_con {
		margin-bottom: 2rem;
		padding: 2.5rem 0;
		font-size: 1.125rem;
	}
	.textPopup_close {
		top: 0;
		right: 0;
	}
	.textPopup_buttons {
		gap: 1rem;
	}
	.textPopup_close, .textPopup [data-close-button=true] {
		width: 3rem;
		height: 3rem;
	}
	
	.quiz_a .fm_rd {
		width: 100%;
		padding: 1.25rem 1.5rem;
		border: 1px solid #F7F7F7;
		border-radius: 1rem;
		background-color: #F7F7F7;
	}
}

/* print popup */
.certificates_popup {
	position: fixed;
	z-index: 100030;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	background-color: rgba(0, 0, 0, 0.7);
	font-size: 1rem;
	padding: 2.5em;
	opacity: 0;
	visibility: hidden;
	overflow: auto;
	transition: opacity 0.3s ease-out, visibility 0s 0.3s;
}
html:not(.mobile) .certificates_popup::-webkit-scrollbar {
	width: 5px;
}
html:not(.mobile) .certificates_popup::-webkit-scrollbar-thumb {
	background-color: rgba(107, 107, 107, 0.49);
	border-radius: 6.25rem;
}

.certificates_popup._on {
	transition: opacity 0.3s ease-out;
	visibility: visible;
	opacity: 1;
}
.certificates_popup_box {
	position: relative;
	width: 100%;
	margin: auto;
	padding: 0 5.625em;
	max-width: 47.5em;
}
.certificates_popup_close {
	position: absolute;
	color: #fff;
	top: 0;
	right: 0.9375rem;
	width: 3.125em;
	height: 3.125em;
	border-radius: 100%;
	background: no-repeat center/contain;
	background-image: url(../images/common/notice_popup_close.svg);
}
.certificates_popup_close > span {
	visibility: hidden;
}
.certificates_popup .certificates_box {
	position: relative;
	width: 100%;
	z-index: 0;
	background-color: var(--color-white);
}
.certificates_popup .certificates_box:before {
	content: "";
	display: block;
	padding-top: 141.512605042%;
	z-index: 1;
}
.certificates_popup .certificates_box embed, .certificates_popup .certificates_box iframe {
	pointer-events: none;
	position: absolute;
	top: 0;
	left: 0;
	width: 100% !important;
	height: 100% !important;
	overflow: hidden;
}
.certificates_popup .certificates_print {
	position: absolute;
	font-size: 1em;
	width: 5em;
	height: 5.625em;
	top: 4.125em;
	right: 0;
	border-radius: 0.3125em;
	color: var(--color-white);
	background-color: var(--brand-color-main);
}
.certificates_popup .certificates_print::before {
	content: "";
	border-radius: 100%;
	height: 3.125em;
	width: 3.125em;
	margin: 0 auto 0.25em;
	display: block;
	background: no-repeat center/contain;
	background-image: url(../images/common/icon_print.svg);
}
@media screen and (max-width: 800px) {
	.certificates_popup {
		padding: 2.5em 0;
	}
	.certificates_popup_box {
		font-size: 0.5rem;
		max-width: none;
		padding: 0 7.5em;
	}
	.certificates_popup_close {
		right: 1.25em;
		width: 5em;
		height: 5em;
	}
	.certificates_popup .certificates_print {
		font-size: 1.5em;
		width: 4.1666666667em;
		height: 5em;
		top: 3.75em;
		right: 0.4166666667em;
		border-radius: 0.2083333333em;
	}
	.certificates_popup .certificates_print::before {
		height: 2.0833333333em;
		width: 2.0833333333em;
	}
}


/* 메인 슬라이드 팝업 */
.notice_popup {
	position: fixed;
	z-index: 1030000000;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	background-color: rgba(0, 0, 0, 0.7);
	font-size: 1rem;
	padding: 5em;
	opacity: 0;
	visibility: hidden;
	overflow: auto;
}
html:not(.mobile) .notice_popup::-webkit-scrollbar {
	width: 5px;
}
html:not(.mobile) .notice_popup::-webkit-scrollbar-thumb {
	background-color: rgba(107, 107, 107, 0.49);
	border-radius: 6.25rem;
}

.notice_popup._load {
	transition: opacity 0.3s ease-out, visibility 0s 0.3s;
}
.notice_popup._load._on {
	transition: opacity 0.3s ease-out;
}
.notice_popup._on {
	visibility: visible;
	opacity: 1;
}
.notice_popup_box {
	position: relative;
	width: 100%;
	margin: auto;
	max-width: 40.25em;
}
.notice_popup_title {
	text-align: center;
	font-size: 2.8125em;
	line-height: 1.11;
	letter-spacing: 0.045em;
	color: #fff;
}
.notice_popup_swiper {
	position: relative;
	width: auto;
	max-width: 31.25em;
	margin: 0 4.5em;
	overflow: hidden;
}
.notice_popup_swiper img, .notice_popup_swiper a {
	width: 100%;
	display: block;
}
.notice_popup_today {
	float: right;
	position: relative;
	margin: 1em 4.5em 0;
	color: #fff;
	text-align: right;
	z-index:30;
}
.notice_popup_today .fm_ch {
	font-size: 1.125em;
}
.notice_popup_today .fm_ch ._style {
	background-color: transparent;
	border: 1px solid #fff;
	min-width: 1.1818181818em;
	width: 1.1818181818em;
	height: 1.1818181818em;
	background-size: 120% auto;
}
.notice_popup_today .fm_ch input:checked + ._style {
	border-color: rgba(0, 0, 0, 0);
	background-color: #02B5B1;
}
.notice_popup .swiper-button-next, .notice_popup .swiper-button-prev {
	color: #fff;
	width: 2.5em;
	height: 2.5em;
}
.notice_popup .swiper-button-next svg, .notice_popup .swiper-button-prev svg {
	display: block;
	width: 100%;
	height: 100%;
}
.notice_popup .swiper-button-next::after, .notice_popup .swiper-button-prev::after {
	display: none;
}
.notice_popup_pagination .notice_popup_total {
	display: none;
}
.notice_popup_pagination .swiper-pagination.notice_popup_custom {
	bottom: 0;
	margin-bottom: 0.25em;
}
.notice_popup_pagination .swiper-pagination.notice_popup_custom .swiper-pagination-bullet {
	width: 0.625em;
	height: 0.625em;
	opacity: 1;
	background-color: #fff;
}
.notice_popup_pagination .swiper-pagination.notice_popup_custom .swiper-pagination-bullet span {
	display: none;
}
.notice_popup_pagination .swiper-pagination.notice_popup_custom .swiper-pagination-bullet.swiper-pagination-bullet-active {
	background-color: #02B5B1;
}
.notice_popup_close {
	position: absolute;
	width: 2.5rem;
	height: 2.5rem;
	top: 0;
	right: 0;
	/* border-radius: 100%; */
	background: no-repeat center/contain;
	background-image: url(../images/common/notice_popup_close.svg);
	z-index: 10;
}
.notice_popup_close > span {
	visibility: hidden;
}
  @media screen and (max-width: 800px) {
	.notice_popup {
		font-size: 0.5rem;
		padding: 5em 2.5em;
	}
	.notice_popup_box {
		width: 100%;
		max-width: 31.25rem;
	}
	.notice_popup_title {
		font-size: 3.875em;
	}
	.notice_popup_swiper {
		width: 100%;
		max-width: none;
		margin: 0 0 1.5em;
	}
	.notice_popup_today {
		float: none;
		width: 100%;
		margin:0;
		text-align: center;
	}
	.notice_popup_today .fm_ch {
		font-size: 0.825rem;
	}
	.notice_popup_today .fm_ch ._style {
		min-width: 0.825rem;
		width: 0.825rem;
		height: 0.825rem;
		margin-top: 0.125rem;
		background-size: 0.825rem 0.825rem;
	}
	.notice_popup .swiper-button-next, 
	.notice_popup .swiper-button-prev {
		display: none;
	}
	.notice_popup_pagination .swiper-pagination.notice_popup_custom {
		margin-bottom: 0;
		bottom: -1.5rem;
	}
	.notice_popup_pagination .swiper-pagination.notice_popup_custom .swiper-pagination-bullet {
		width: 0.5rem;
		height: 0.5rem;
	}
	/* .notice_popup .swiper-control {
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.notice_popup .swiper-button-next, .notice_popup .swiper-button-prev {
		position: static;
		width: 5em;
		height: 5em;
		display: flex;
		align-items: center;
		justify-content: center;
		border: 1px solid #fff;
		border-radius: 100%;
		left: 0;
		right: 0;
		transform: none;
		margin: 0;
	}
	.notice_popup .swiper-button-next svg, .notice_popup .swiper-button-prev svg {
		width: 40%;
		height: 40%;
	}
	.notice_popup_pagination {
		display: flex;
		align-items: center;
		justify-content: center;
		margin: 0 1.25em;
		letter-spacing: -0.08em;
	}
	.notice_popup_pagination .notice_popup_total {
		font-weight: 500;
		display: block;
		font-size: 2.125em;
		color: #ccc;
	}
	.notice_popup_pagination .swiper-pagination.notice_popup_custom {
		width: auto;
		position: static;
		margin-bottom: 0;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.notice_popup_pagination .swiper-pagination.notice_popup_custom .swiper-pagination-bullet {
		width: auto;
		height: auto;
		background-color: transparent;
		display: none;
		font-size: 2.125em;
		font-weight: 500;
	}
	.notice_popup_pagination .swiper-pagination.notice_popup_custom .swiper-pagination-bullet span {
		display: block;
	}
	.notice_popup_pagination .swiper-pagination.notice_popup_custom .swiper-pagination-bullet.swiper-pagination-bullet-active {
		cursor: default;
		pointer-events: none;
		display: block;
		background-color: transparent;
		color: #02B5B1;
	} */
	.notice_popup_close {
		width: 4em;
		height: 4em;
		right: 0;
		top: 0;
	}
}

/* 교육이수여부팝업 */
.search_popup {
	font-size: 1rem;
	position: fixed;
	z-index: 1030;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: rgba(0, 0, 0, 0.7);
	font-size: 1rem;
	transition: opacity 0.3s ease-out, visibility 0s 0.3s;
	padding: 2.5em 5em;
	opacity: 0;
	visibility: hidden;
	z-index: 10003;
}

.search_popup._on {
	transition: opacity 0.3s ease-out;
	visibility: visible;
	opacity: 1;
}

.search_popup h2 {
	font-size: 2em;
	text-align: center;
	margin-bottom: 0.78125em;
}

.search_popup_box {
	max-width: 31.25rem;
	width: 100%;
	background-color: #fff;
	padding: 2.5em 3.125em;
	position: relative;
}

.search_popup_box .search_tab_box {
	overflow: hidden;
	display: flex;
	background-color: #fff;
	margin-bottom: 2em;
}

.search_popup_box .search_tab {
	flex: 1 1 auto;
	width: 100%;
	position: relative;
	height: 2.6em;
	font-size: 1.125em;
}

.search_popup_box .search_tab:nth-child(2) {
	margin-left: -1px;
}

.search_popup_box .search_tab ._style {
	display: flex;
	justify-content: center;
	border-radius: 0;
	align-items: center;
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	background-color: #fff;
	color: #999;
	font-weight: 700;
	border: 1px solid #DDD;
	border-bottom: 2px solid #121212;
	cursor: pointer;
}

.search_popup_box .search_tab:nth-child(1) ._style {
	border-right: 1px solid #121212;
}

.search_popup_box .search_tab:nth-child(2) ._style {
	border-left: 1px solid #121212;
}

.search_popup_box .search_tab ._style::before {
	display: none !important;
}

.search_popup_box .search_tab input:checked+._style {
	color: #121212;
	border: 2px solid #121212;
	border-bottom: 1px solid rgba(0, 0, 0, 0);
}

.search_popup_box .search_form_box {
	margin-bottom: 1.5em;
}

.search_popup_box .search_form_box ul li {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
}

.search_popup_box .search_form_box ul li label._wid_290 {
	width: 18.125em;
}

.search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(3), .search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(4) {
	font-size: 1.125em;
	flex: 1;
	margin-top: 0.4444444444em;
	position: relative;
	height: 2.8888888889em;
	padding: 0 2.7777777778em 0 1.3333333333em;
}

.search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(3) .sel, .search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(4) .sel {
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
}

.search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(3) {
	margin-right: 0.4444444444em;
}

.search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(4) {
	margin-left: 0.4444444444em;
}

.search_popup_box .search_form_box ul li+li {
	margin-top: 1em;
}

.search_popup .no_data .txt_box {
	padding: 1.5em;
	text-align: center;
	background-color: #f6f6f6;
}

.search_popup .no_data .txt_box p {
	font-size: 1.25em;
	word-break: keep-all;
    text-wrap: balance;
}

.search_popup .no_data .txt_box p+p {
	color: #555;
	font-size: 1em;
	line-height: 1.4;
	margin-top: 0.5555555556em;
	font-weight: 300;
}
.search_popup .no_data .txt_box p+p a {
	color: #222;
	font-weight: 500;
}
.search_popup .no_data .txt_box p+p a:hover span {
	text-decoration: underline;
	text-underline-position: under;
}

.search_popup .no_data .txt_box a {
	display: block;
}

.search_popup .no_data .btn_box {
	flex-wrap: nowrap;
	margin-top: 1.5em;
}

.search_popup_close {
	position: absolute;
	width: 3.125em;
	height: 3.125em;
	top: 0;
	right: 0;
	background: no-repeat center/contain;
	background-image: url(../images/common/notice_popup_close.svg);
}

.search_popup_close>span {
	visibility: hidden;
}

.search_popup .fm_title {
	font-size: 1.125em;
	font-weight: bold;
}

.search_popup .fm_flex {
	display: flex;
	align-items: center;
}

.search_popup .fm_flex_text {
	margin: 0 0.3125em;
}

@media screen and (max-width: 800px) {
	.search_popup {
		font-size: 0.5rem;
		padding: 2.5em;
	}

	.search_popup h2 {
		font-size: 2.625em;
		text-align: center;
		margin-bottom: 0.8095238095em;
	}

	.search_popup_box {
		max-width: 25rem;
		padding: 3.75em 2em 3.75em;
	}

	.search_popup_box .search_tab {
		height: 3.25em;
		font-size: 1.875em;
	}

	.search_popup_box .search_form_box {
		margin-bottom: 2em;
	}

	.search_popup_box .search_form_box ul li label._wid_290 {
		width: 70%;
		min-width: 22.5em;
	}

	.search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(3), .search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(4) {
		font-size: 1.75em;
		margin-top: 0.4285714286em;
		height: 3.5714285714em;
		padding: 0 2.8571428571em 0 1.4285714286em;
	}

	.search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(3) .sel.on option, .search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(4) .sel.on option {
		padding: 0 2.8571428571em 0 1.4285714286em;
	}

	.search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(3) {
		margin-right: 0.2857142857em;
	}

	.search_popup_box .search_form_box ul li:nth-child(2) label:nth-child(4) {
		margin-left: 0.2857142857em;
	}

	.search_popup_box .search_form_box ul li+li {
		margin-top: 2em;
	}

	.search_popup .no_data .txt_box {
		padding: 2.25em;
	}

	.search_popup .no_data .txt_box p {
		font-size: 1.875em;
	}

	.search_popup .no_data .txt_box p+p {
		font-size: 1.75em;
		margin-top: 0.3571428571em;
	}

	.search_popup .no_data .btn_box {
		flex-wrap: nowrap;
		margin-top: 1.5em;
	}

	.search_popup_close {
		position: absolute;
		width: 5em;
		height: 5em;
	}

	.search_popup_close>span {
		visibility: hidden;
	}

	.search_popup .fm_title {
		font-size: 1.875em;
		font-weight: bold;
	}

	.search_popup .fm_flex {
		display: flex;
		align-items: center;
	}

	.search_popup .fm_flex_text {
		margin: 0 0.3125em;
	}
}

/* 교육일정 팝업 */
.calendar {
	position: fixed;
	z-index: 10003;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	background-color: rgba(0, 0, 0, 0.7);
	font-size: 1rem;
	transition: opacity 0.3s ease-out, visibility 0s 0.3s;
	opacity: 0;
	visibility: hidden;
}

.calendar._on {
	transition: opacity 0.3s ease-out;
	visibility: visible;
	opacity: 1;
}

.calendar_box {
	position: relative;
	width: 100%;
	max-width: 50rem;
	height: 100%;
	max-height: 90%;
	margin: auto;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: #fff;
}

.calendar_scroll {
	margin: auto;
	overflow: overlay;
	position: relative;
	width: 100%;
	height: auto;
	max-height: 100%;
	padding: 3rem;
}

html:not(.mobile) .calendar_scroll::-webkit-scrollbar {
	width: 3px;
}

html:not(.mobile) .calendar_scroll::-webkit-scrollbar-thumb {
	background-color: rgba(107, 107, 107, 0.49);
	border-radius: 6.25rem;
}

.calendar_top {
	margin-bottom: 1.5rem;
	font-size: 2.5rem;
	text-align: center;
}

.calendar_top h2 {
	font-size: 1em;
}

.calendar_control {
	display: flex;
	align-items: center;
	margin-bottom: 1.875em;
}

.calendar_year {
	display: flex;
	align-items: center;
	gap: 1.25em;
}

.calendar_year_title {
	font-size: 2.625rem;
	font-weight: bold;
	letter-spacing: -0.075em;
}

.calendar_year_button {
	width: 2.5rem;
	height: 2.5rem;
	display: flex;
	align-items: center;
	justify-content: center;;
}

.calendar_year_button::before {
	content: "";
	display: block;
	width: 0.875rem;
	height: 1.5rem;
	background: no-repeat center/contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='24' viewBox='0 0 14 24' fill='none'%3E%3Crect width='17.1128' height='2.52118' transform='matrix(0.71305 0.701113 0.71305 -0.701113 0 1.76758)' fill='%23121212'/%3E%3Crect width='17.1128' height='2.52118' transform='matrix(0.71305 -0.701113 0.71305 0.701113 0 22.2324)' fill='%23121212'/%3E%3C/svg%3E");
}

.calendar_year_button_prev::before {
	transform: rotateY(180deg);
}

.calendar_tab_box {
	display: flex;
	width: 100%;
	max-width: 26.125rem;
	height: 2.875rem;
	margin-left: auto;
}

.calendar_tab {
	position: relative;
	width: 100%;
	flex: 1 1 auto;
	height: 100%;
	margin-left: -1px;
	color: #9B9C9E;
	font-size: 1.125rem;
	font-weight: 500;
	letter-spacing: -0.025em;
	border: 1px solid #DDD;
	border-bottom: 2px solid #121212;
	z-index: 1;
}

.calendar_tab._on {
	color: #121212 !important;
	font-weight: 700;
	border: 2px solid #121212;
	border-bottom: 2px solid #fff;
	z-index: 2;
}

.calendar_flex_box {
	display: flex;
	flex-wrap: wrap;
}

.calendar_table {
	position: relative;
	flex: 1 1 auto;
	width: 100%;
	display: block;
	/* overflow: hidden; */
	width: 100%;
	margin-bottom: 1rem;
	padding-bottom: 2px;
}

.calendar_table .ct_month {
	font-size: 1.25rem;
	font-weight: 700;
}

.ct_item._off .ct_month {
	color: #ddd;
}

.calendar_table .ct_list {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	width: 100%;
}

.calendar_table .ct_list .ct_item {
	position: relative;
	flex: 1 1 auto;
	width: 25%;
	min-height: 5.875rem;
	margin-bottom: -2px;
	padding: 1rem 0;
    border-top: 2px solid #222;
    border-bottom: 2px solid #222;
	background-clip: border-box;
}

.calendar_table .ct_list .ct_item>.a {
	display: block;
	width: 100%;
	height: 100%;
	padding: 0 1rem;
    border-right: 2px solid #222;
}

.calendar_table .ct_list .ct_item:not(.disabled)>.a {
	cursor: pointer;
}

.calendar_table .ct_list .ct_item:not(.disabled):hover {
	background-color: #EFF8F7;
}

.calendar_table .ct_schedule {
	display: flex;
	flex-wrap: wrap;
	overflow: auto;
	margin-top: 0.5rem;
	gap: 0.25rem;
}

html:not(.mobile) .calendar_table .ct_schedule::-webkit-scrollbar {
	width: 3px;
}

html:not(.mobile) .calendar_table .ct_schedule::-webkit-scrollbar-thumb {
	background-color: rgba(107, 107, 107, 0.49);
	border-radius: 6.25rem;
}

.calendar_table .ct_schedule>li {
	flex: 0 1 auto;
	/* width: 33.3333333333%;
	padding: 0.25em;
	margin-top: 0.25em; */
}

.calendar_table .ct_schedule>li ._ct_inner {
	display: none !important;
}
.calendar_table .ct_schedule>li:before {
	content:'●';
	font-size: 0.75rem;
}
.calendar_table .ct_schedule>li.type_1:before {
	color: #02B5B1;
}
.calendar_table .ct_schedule>li.type_2:before {
	color: #366CF0;
}

.calendar_table .ct_schedule>li:nth-child(1), .calendar_table .ct_schedule>li:nth-child(2), .calendar_table .ct_schedule>li:nth-child(3) {
	padding-top: 0;
	margin-top: 0;
}

.calendar_table .ct_schedule>li:last-child {
	margin-bottom: 0;
}

.calendar_table .ct_schedule>li a, .calendar_table .ct_schedule>li ._ct_inner {
	overflow: hidden;
	padding: 0.25em 1em;
	border-radius: 0.3125em;
	color: var(--color-white);
	display: flex;
	justify-content: center;
	align-items: baseline;
	flex-wrap: wrap;
	letter-spacing: -0.05em;
}

.calendar_table .ct_schedule>li ._ct_inner_list_item {
	display: none;
}

.calendar_table .ct_schedule>li._off {
	margin-bottom: 0 !important;
	display: none !important;
}

/* .calendar_table .ct_schedule>li.type_1 a, .calendar_table .ct_schedule>li.type_1 ._ct_inner {
	background-color: var(--brand-color-main);
}

.calendar_table .ct_schedule>li.type_2 a, .calendar_table .ct_schedule>li.type_2 ._ct_inner {
	background-color: var(--brand-color-sub);
}

.calendar_table .ct_schedule_day {
	display: block;
	width: 100%;
	text-align: center;
	font-family: "Montserrat", sans-serif;
	font-size: 1.25em;
	font-weight: 500;
	line-height: 1.3;
}

.calendar_table .ct_schedule_day2 {
	display: block;
	width: 100%;
	text-align: center;
	font-family: "Montserrat", sans-serif;
	margin-top: 0.25em;
	font-size: 1em;
	font-weight: 300;
	line-height: 1.3;
}

.calendar_table .ct_schedule_txt {
	width: 100%;
	text-align: center;
	display: block;
	margin-left: auto;
	margin-right: auto;
	font-size: 1.25em;
	font-weight: 500;
	line-height: 1.3;
} */

.calendar_table_list_popup {
	position: absolute;
	top: 50%;
	left: 50%;
	width: 12.25rem;
	/* height: 105%; */
	max-height: 18.25rem;
	padding: 1.25rem 0;
	background: #fff;
	border: 1px solid #121212;
	border-radius: 1.625rem;
	visibility: hidden;
	opacity: 0;
	transform: translate(-50%, -50%);
	transition: opacity 0.3s, visibility 0s 0.3s;
	pointer-events: none;
	box-shadow: 0px 4px 8px 0px rgba(0, 0, 0, 0.15);
}

.calendar_table_list_popup._on {
	transition: opacity 0.3s, visibility 0s;
	opacity: 1;
	visibility: visible;
	pointer-events: auto;
}

.calendar_table_list_popup h4 {
	display: none;
	text-align: center;
	font-family: "Montserrat", sans-serif;
	font-size: 2.5em;
	font-weight: bold;
	line-height: 0.54;
	color: #222;
	margin-bottom: 0.9em;
}

.calendar_table_list_popup #calendar_table_list {
	display: flex;
	flex-wrap: wrap;
	overflow: overlay;
	width: auto;
	min-width: 100%;
	height: auto;
	max-height: 16.25rem;
	padding: 0 1rem;
	/* border-radius: 1.625rem; */
}

html:not(.mobile) .calendar_table_list_popup #calendar_table_list::-webkit-scrollbar {
	width: 3px;
}

html:not(.mobile) .calendar_table_list_popup #calendar_table_list::-webkit-scrollbar-thumb {
	background-color: rgba(107, 107, 107, 0.49);
	border-radius: 6.25rem;
}

/* html:not(.mobile) .calendar_table_list_popup #calendar_table_list::-webkit-scrollbar-button {

} */

.calendar_table_list_popup #calendar_table_list>li {
	position: relative;
	padding: 0.5rem 0.5rem 0.5rem 1.5rem;
}

.calendar_table_list_popup #calendar_table_list>li:after {
	content:'●';
	position: absolute;
	top: 0.825rem;
	left: 0.5rem;
	font-size: 0.625rem;
}

.calendar_table_list_popup #calendar_table_list>li.type_1:after {
	color: #02B5B1;
}

.calendar_table_list_popup #calendar_table_list>li.type_2:after {
	color: #366CF0;
}

.calendar_table_list_popup #calendar_table_list>li._off {
	margin: 0 !important;
	display: none !important;
}

.calendar_table_list_popup #calendar_table_list>li.type_1 ._ct_inner_list_item {
	color: #02B5B1;
}

.calendar_table_list_popup #calendar_table_list>li.type_2 ._ct_inner_list_item {
	color: #366CF0;
}

.calendar_table_list_popup #calendar_table_list ._ct_inner_list_item {
	display: flex;
	flex-direction: column;
	overflow: hidden;
	position: relative;
	gap: 0.25rem;
}

/* .calendar_table_list_popup #calendar_table_list ._ct_inner_list_item::before {
	position: absolute;
	right: 1.5em;
	top: 50%;
	margin-top: -1em;
	content: "";
	display: block;
	width: 2em;
	height: 2em;
	transform: rotate(-90deg);
	border-radius: 100%;
	background: rgba(0, 0, 0, 0.08) no-repeat center/45% 45%;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 18 10'%3E%3Cpath d='M6.729 14.458 0 7.229 6.729 0' transform='rotate(-90 5.047 3.364)' style='stroke:%23fff;stroke-linecap:round;stroke-linejoin:round;stroke-width:2px;fill:none'/%3E%3C/svg%3E");
} */

.calendar_table_list_popup #calendar_table_list ._ct_inner_list_item .ct_schedule_day {
	width: auto;
	display: flex;
	align-items: flex-end;
	font-size: 1.375rem;
	font-weight: 700;
	line-height: 0.93;
	letter-spacing: -0.7px;
}

.calendar_table_list_popup #calendar_table_list ._ct_inner_list_item .ct_schedule_day small {
	margin-left: 0.125rem;
	margin-bottom: 0.125rem;
	font-size: 0.7em;
}

.calendar_table_list_popup #calendar_table_list ._ct_inner_list_item .ct_schedule_day2 {
	display: inline !important;
	width: auto;
	margin-top: 0;
	color: #121212;
	font-size: 1rem;
	font-weight: 700;
	line-height: 1.08;
}

.calendar_table_list_popup #calendar_table_list ._ct_inner_list_item .ct_schedule_txt {
	width: auto;
	display: block;
	position: relative;
	width: auto;
	margin-left: 0;
	color: #555;
	font-size: 0.875rem;
	font-weight: 500;
	word-break: keep-all;
}

.calendar_table_list_popup #calendar_table_list ._ct_inner {
	display: none !important;
}

.calendar_table_list_popup .calendar_close {
	width: 1.5rem;
	height: 1.5rem;
	top: 0.75rem;
	right: 0.75rem;
	background-color: transparent;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12' fill='none'%3E%3Crect width='15.5566' height='1.41424' transform='matrix(-0.707093 0.707121 0.707093 0.707121 11.0005 0)' fill='%23121212'/%3E%3Crect width='15.5566' height='1.41424' transform='matrix(0.707093 0.707121 -0.707092 0.707121 1 0)' fill='%23121212'/%3E%3C/svg%3E");
	background-size: 0.75rem 0.75rem;
	background-position: center;
}

.calendar_info {
	position: relative;
	width: 100%;
	margin-bottom: 1rem;
}

.calendar_info .left ul {
	display: flex;
	align-items: center;
	gap: 1rem;
}

.calendar_info .left ul li {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-size: 1rem;
	font-weight: 700;
}

.calendar_info .left ul li span {
	font-size: 0.5rem;
}

.calendar_info .left p {
	display: flex;
	align-items: center;
	gap: 0.25rem;
	margin-bottom: 0.25rem;
	color: #9B9C9E;
	font-size: 0.875rem;
	font-weight: 500;
}
.calendar_info .left p::before {
	content:'';
	width: 0.875rem;
	height: 0.875rem;
	margin-bottom: 1px;
	background-size: 100% 100%;
	background-image: url("data:image/svg+xml,%3Csvg width='12' height='13' viewBox='0 0 12 13' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Crect y='0.5' width='12' height='12' rx='6' fill='%239B9C9E'/%3E%3Cpath d='M6.35156 7.77344H5.23438L5.11719 3.84375H6.46875L6.35156 7.77344ZM5.08594 8.86719C5.08333 8.74219 5.11328 8.6263 5.17578 8.51953C5.24089 8.41276 5.32682 8.32812 5.43359 8.26562C5.54297 8.20312 5.66146 8.17188 5.78906 8.17188C5.91146 8.17188 6.02734 8.20312 6.13672 8.26562C6.24609 8.32812 6.33333 8.41276 6.39844 8.51953C6.46615 8.6263 6.5 8.74219 6.5 8.86719C6.5 8.99479 6.46615 9.11328 6.39844 9.22266C6.33333 9.33203 6.24609 9.41927 6.13672 9.48438C6.02734 9.54688 5.91146 9.57812 5.78906 9.57812C5.66146 9.57812 5.54297 9.54688 5.43359 9.48438C5.32682 9.41927 5.24089 9.33203 5.17578 9.22266C5.11328 9.11328 5.08333 8.99479 5.08594 8.	86719Z' fill='white'/%3E%3C/svg%3E");
}
.calendar_info .right {
	position: absolute;
	bottom: 2px;
	right: 0;
}
.calendar_info .right p {
	color: #9B9C9E;
	font-size: 1rem;
	font-weight: 500;
}

.calendar_info2 {
	flex: 0 1 auto;
	/* margin-left: auto; */
}

.calendar_info2 .list_dot {
	color: #9B9C9E;
	font-size: 1rem;
	font-weight: 500;
	line-height: 1.56;
}

.calendar_close {
	position: absolute;
	width: 3.75rem;
	height: 3.75rem;
	top: 0;
	right: 0;
	text-indent: -100px;
	overflow: hidden;
	background: no-repeat center/contain;
	background-image: url(../images/common/notice_popup_close.svg);
	z-index: 10;
}

.calendar_close>span {
	visibility: hidden;
}

.calendar_bnnr {
	display: flex;
	align-items: flex-start;
	position: relative;
	margin-top: 2rem;
	padding:1.375rem;
	border: 2px solid #222;
	background-image: url(/resource/images/common/frame-bg.png);
}
.calendar_bnnr .more {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	margin-top: 1.5rem;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	border-radius: 2.5rem;
	padding:0.75rem 1.125rem;
	background-color: #222;
}
.calendar_bnnr .more img {
	width: 1rem;
}
.calendar_bnnr .left {
	flex-shrink: 0;
}
.calendar_bnnr .right {
	margin-top: auto;
	margin-left: auto;
	margin-bottom: -1.375rem;
}
.bnnr-title {
	margin-right: auto;
}
.bnnr-title h2 {
	font-size: 2rem;
}
.bnnr-title h2 span {
	color: #366CF0;
}
.bnnr-title p {
	font-size: 1rem;
}

@media screen and (min-width: 1281px) {
	.calendar_table .ct_list .ct_item:nth-child(4n+4)>.a {
        border-right: none;
    }
}

@media screen and (max-width: 1280px) and (min-width: 0px) {
	.calendar_table .ct_list .ct_item:nth-child(3n+3)>.a {
        border-right: none;
    }
}

@media screen and (max-width: 1280px) {
	.calendar_table .ct_list .ct_item {
		width: 33.333%;
	}
}

@media screen and (max-width: 800px) {
	.calendar_box {
		max-width: calc(100% - 2rem);
	}
	.calendar_scroll {
		padding: 2.5rem 1rem;
	}

	.calendar_top {
		font-size: 2.25rem;
	}

	.calendar_control {
		display: block;
		margin-bottom: 2.5em;
	}

	.calendar_year {
		margin: 0 auto 1rem;
		gap: 1rem;
		justify-content: center;
	}

	.calendar_year_title {
		font-size: 2rem;
	}

	.calendar_year_button {
		width: 1.5rem;
		height: 1.5rem;
	}

	.calendar_year_button::before {
		width: 0.625rem;
		height: 1rem;
	}

	.calendar_tab_box {
		max-width: 100%;
		display: flex;
		height: 2.625rem;
	}

	.calendar_tab {
		height: 2.625rem;
		font-size: 0.875rem;
	}

	.calendar_table .ct_list .ct_item {
		padding: 0.5rem 0;
		min-height: 4.875rem;
	}

	.calendar_table .ct_month {
		font-size: 1rem;
	}

	.calendar_table .ct_schedule {
		margin-top: 0;
	}

	.calendar_info .left ul {
		margin-bottom: 0.25rem;
	}

	.calendar_info .left ul li {
		font-size: 0.875rem;
	}

	.calendar_info .left p {
		font-size: 0.75rem;
	}

	.calendar_info .right {
		top: 0;
		bottom: auto;
	}

	.calendar_info .right p {
		font-size: 14px;
	}

	.calendar_info2 {
		order: 2;
		width: 100%;
		flex: 0 1 auto;
		margin-left: 0;
	}

	.calendar_info2 .list_dot {
		font-size: 0.875rem;
	}

	.calendar_close {
		width: 3rem;
		height: 3rem;
	}
	.bnnr-title h2 {
		font-size: 1.75rem;
	}
}
@media screen and (max-width: 600px) {
	.calendar_bnnr {
		margin-top: 1.5rem;
		padding: 1.375rem;
	}
	.calendar_bnnr .right {
		display: none;
	}
	.calendar_bnnr .left {
		display: flex;
		flex-direction: column;
		width: 100%;
	}
	.calendar_bnnr .more {
		margin-left: auto;
		margin-top: 0.75rem;
	}
}


/* 선임교육 리스트 */
.schedule-label {
	display: flex;
	gap: 1rem;
	/* margin-top: 1rem; */
}
.schedule-label .label {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}
.schedule-label .label img {
	width: 1.75rem;
}
.schedule-label .label p {
	font-size: 1rem;
	line-height: 1;
}
.schedule_area {
	display: flex;
	flex-wrap: wrap;
	margin-top: 1.125rem;
}
.schedule_area li:not(.noData_box) {
	width: 25%;
	margin-bottom: -2px;
	padding:16px 0;
	border-top: 2px solid #222;
	border-bottom: 2px solid #222;
}
.schedule_area li:not(.noData_box):hover {
	background-color: #EFF8F7;
}
.schedule_area li:not(.noData_box) a {
	display: block;
	color: #222;
	padding:0 1rem;
	border-right:2px solid #222;
}
.schedule_area .item-wrap.dead {
	opacity: 0.4;
}
.schedule_area .item-head {
	display: flex;
	justify-content: space-between;
}
.schedule_area .item-head .label {
	padding: 0.375rem;
	color: #fff;
	font-size: 0.875rem;
	font-weight: 700;
	background-color: #02B5B1;
} 
.schedule_area .item-head .label-img {
	display: flex;
	align-items: center;
	gap: 0.25rem;
}
.schedule_area .item-head .label-img img {
	flex-shrink: 0;
	width: 1.75rem;
}
.schedule_area .item-wrap.dead .item-head .label {
	background-color: #555;
}
.schedule_area .item-date {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-top: 1.5rem;
}
.schedule_area .item-date p {
	display: flex;
	align-items: flex-end;
	font-weight: 700;
	line-height: 1;
}
.schedule_area .item-date p .monthDay {
	font-size: 2.75rem;
}
.schedule_area .item-date p .week {
	margin-bottom: 0.375rem;
	font-size: 1.875rem;
}
.schedule_area .item-date .year {
	color: #555;
	font-size: 1rem;
	font-weight: 700;
}
.schedule_area .item-info {
	margin-top: 1.5rem;
	padding-top: 1.5rem;
	padding-bottom: 1.5rem;
	border-top: 1px solid #555;
}
.schedule_area .item-info > div {
	display: flex;
	justify-content: space-between;
	font-size: 1.125rem;
	line-height: 1;
}
.schedule_area .item-info > div + div {
	margin-top: 1.5rem;
}
.schedule_area .item-info > div .tit {
	color: #555;
}
.schedule_area .item-info > div .con {
	color: #222;
	font-weight: 500;
}
@media screen and (max-width: 1280px) {
	.schedule_area li:not(.noData_box) {
		width: 33.333%;
	}
}
@media screen and (max-width: 800px) {
	.schedule-label {
		margin-top: 0.75rem;
	}
	.schedule_area {
		margin-top: 0.5rem;
	}
	.schedule_area li:not(.noData_box) {
		width: 50%;
	}
	.schedule_area .item-date p .monthDay {
		font-size: 1.75rem;
	}
	.schedule_area .item-date p .week {
		margin-bottom: 0.175rem;
		font-size: 1.25rem;
	}
	.schedule_area .item-date .year {
		font-size: 0.875rem;
	}
	.schedule_area .item-info {
		margin-top: 1rem;
		padding-top: 1rem;
		padding-bottom: 0;
	}
	.schedule_area .item-info > div {
		font-size: 1rem;
	}
	.schedule_area .item-info > div + div {
		margin-top: 0.75rem;
	}
}
@media screen and (max-width: 600px) {
	.schedule_area li:not(.noData_box) {
		width: 100%;
		margin-left: 1.5rem;
		margin-right: 1.5rem;
		padding:1.5rem 0;
	}
	.schedule_area li:not(.noData_box) a {
		padding:0;
	}
}
@media screen and (min-width:1281px) {
	.schedule_area li:not(.noData_box):nth-child(4n+4) a {
		border-right:none;
	}
}
@media screen and (min-width:801px)and (max-width:1280px) {
	.schedule_area li:not(.noData_box):nth-child(3n+3) a {
		border-right:none;
	}
}
@media screen and (min-width:601px)and (max-width:800px) {
	.schedule_area li:not(.noData_box):nth-child(2n+2) a {
		border-right:none;
	}
}
@media screen and (min-width:0px)and (max-width:600px) {
	.schedule_area {
		border-top: 2px solid #222;
		border-bottom: 2px solid #222;
	}
	.schedule_area li:not(.noData_box):first-child {
		border-top: 0;
	}
	.schedule_area li:not(.noData_box):last-child {
		border-bottom: 0;
	}
	.schedule_area li:not(.noData_box) a {
		border-right:none;
	}
}