@font-face {
	font-family: Pretendard;
	font-weight: 100 900;
	font-style: normal;
	font-display: swap;
	src: url(/proxy-img/font/PretendardVariable.woff2) format("woff2-variations");
}

html.lenis,
html.lenis body {
	height: auto;
}

::selection {
	/* background-color: #d4dcf5; */
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overflow: clip;
}

:root {
	--primary-color: #238bd7;
	--sub-color: #3572c1;
	--text-dark: #222222;
	--text-basic: #333333;
	--text-muted: #555555;
	--text-llight: #f0f6fe;
	--border-color: #e5e7eb;
	--bg-popover: #ffffff;
	--transition-speed: 0.25s;
	--transition1: all 0.4s ease;
	--side-padding: 14rem;
	--aurora-color1: rgba(99, 102, 241, 0.2);
	--aurora-color2: rgba(139, 92, 246, 0.2);
}

* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
}

ol,
ul,
li {
	list-style: none;
}

blockquote,
q {
	quotes: none;
}

a {
	text-decoration: none;
	color: inherit;
}

html {
	font-size: 1px;
}

body {
	color: var(--text-basic);
	background-color: #fff;
	margin: 0;
	font-family:
		pretendard,
		나눔고딕,
		NanumGothic,
		Nanum Gothic,
		돋움,
		Dotum,
		Arial,
		sans-serif;
	overflow-x: auto;
	overflow-y: scroll;
	font-size: 16rem;
}

/* 교육비 결제 */
.expense-intro {
	margin: 0 0 32rem;
	padding: 24rem 28rem;
	border-left: 4rem solid var(--primary-color);
	background: #f3f8fc;
}

.expense-intro strong {
	display: block;
	margin-bottom: 4rem;
	font-size: 21rem;
	color: var(--text-dark);
}

.expense-intro p,
.expense-notice {
	font-size: 14rem;
	color: var(--text-muted);
}

.expense-section {
	margin-top: 38rem;
}

.expense-section-head {
	display: flex;
	align-items: center;
	gap: 10rem;
	margin-bottom: 14rem;
}

.expense-section-head span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 28rem;
	height: 28rem;
	border-radius: 50%;
	background: var(--primary-color);
	color: #fff;
	font-size: 12rem;
	font-weight: 700;
}

.expense-section-head h2 {
	font-size: 20rem;
	font-weight: 700;
	color: var(--text-dark);
}

.expense-table {
	width: 100%;
	margin: 0;
}

.expense-table th {
	width: 180rem;
	font-size: 15rem;
}

.expense-table td {
	padding: 11rem 14rem;
}

.expense-table select,
.expense-table input {
	width: min(100%, 570rem);
	min-height: 42rem;
	border: 1rem solid #cfd7df;
	border-radius: 2rem;
	padding: 0 12rem;
	background: #fff;
	font: inherit;
	font-size: 14rem;
}

.expense-agreements {
	margin-top: 12rem;
	border-top: 2rem solid #68717c;
	border-bottom: 1rem solid #d8dee5;
}

.expense-agree-all,
.expense-agree-item {
	display: flex;
	align-items: center;
	gap: 12rem;
	min-height: 56rem;
	padding: 12rem 16rem;
	border-bottom: 1rem solid #e5e9ed;
	font-size: 15rem;
}

.expense-agree-all {
	background: #f7f9fb;
	font-size: 16rem;
}

.expense-agree-item {
	flex-wrap: wrap;
}

.expense-agree-item label {
	flex: 1 1 auto;
}

.expense-detail-btn {
	border: 0;
	background: transparent;
	color: #1d6eac;
	font: inherit;
	font-size: 13rem;
	text-decoration: underline;
	cursor: pointer;
}

.expense-detail {
	display: none;
	flex-basis: 100%;
	margin-top: 4rem;
	padding: 16rem;
	background: #f8fafc;
	color: #53606c;
	font-size: 13rem;
	line-height: 1.75;
}

.expense-detail.open {
	display: block;
}

.expense-detail p + p {
	margin-top: 8rem;
}

.expense-submit-wrap {
	margin-top: 36rem;
	text-align: center;
}

.expense-submit,
.expense-modal-confirm,
.expense-result-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 176rem;
	min-height: 52rem;
	border: 0;
	border-radius: 2rem;
	background: var(--primary-color);
	color: #fff !important;
	font: inherit;
	font-size: 16rem;
	font-weight: 700;
	cursor: pointer;
}

.expense-submit:hover,
.expense-modal-confirm:hover,
.expense-result-link:hover {
	background: #1472b7;
}

.expense-modal {
	display: none;
	position: fixed;
	inset: 0;
	z-index: 10001;
	align-items: center;
	justify-content: center;
	padding: 20rem;
	background: rgba(18, 31, 43, 0.62);
}

.expense-modal.show {
	display: flex;
}

.expense-modal-panel {
	position: relative;
	width: min(100%, 470rem);
	padding: 36rem;
	background: #fff;
	box-shadow: 0 18rem 60rem rgba(0, 0, 0, 0.25);
}

.expense-modal-close {
	position: absolute;
	top: 10rem;
	right: 14rem;
	border: 0;
	background: transparent;
	font-size: 28rem;
	line-height: 1;
	cursor: pointer;
}

.expense-modal-kicker,
.expense-result-status {
	margin-bottom: 6rem;
	color: var(--primary-color);
	font-size: 12rem;
	font-weight: 700;
	letter-spacing: 0.12em;
}

.expense-modal h2 {
	font-size: 21rem;
	color: var(--text-dark);
}

#expense-modal-body {
	margin-top: 16rem;
	color: #59636d;
	font-size: 14rem;
	line-height: 1.7;
}

.expense-modal-actions {
	display: flex;
	justify-content: flex-end;
	gap: 8rem;
	margin-top: 28rem;
}

.expense-modal-cancel {
	min-width: 92rem;
	min-height: 44rem;
	border: 1rem solid #c8d0d8;
	background: #fff;
	font: inherit;
	font-size: 14rem;
	cursor: pointer;
}

.expense-modal-confirm {
	min-width: 92rem;
	min-height: 44rem;
	font-size: 14rem;
}

.expense-result {
	max-width: 680rem;
	margin: 40rem auto;
	padding: 46rem 42rem;
	border-top: 4rem solid var(--primary-color);
	background: #f8fafc;
	text-align: center;
}

.expense-result.is-fail {
	border-color: #c84646;
}

.expense-result.is-fail .expense-result-status {
	color: #c84646;
}

.expense-result h2 {
	font-size: 24rem;
	color: var(--text-dark);
}

.expense-result dl {
	margin: 28rem 0;
	border-top: 1rem solid #dce2e8;
	text-align: left;
}

.expense-result dl div {
	display: grid;
	grid-template-columns: 130rem 1fr;
	border-bottom: 1rem solid #dce2e8;
}

.expense-result dt,
.expense-result dd {
	padding: 12rem 14rem;
	font-size: 14rem;
}

.expense-result dt {
	background: #eef3f7;
	font-weight: 700;
}

/* @media (max-width: 767px) {
	.expense-intro {
		padding: 18rem;
	}
	.expense-table th {
		width: 105rem;
	}
	.expense-table th,
	.expense-table td {
		font-size: 13rem;
	}
	.expense-agree-all,
	.expense-agree-item {
		align-items: flex-start;
	}
	.expense-modal-panel {
		padding: 30rem 22rem;
	}
	.expense-result {
		padding: 34rem 18rem;
	}
	.expense-result dl div {
		grid-template-columns: 100rem 1fr;
	}
} */

form {
	display: inline;
}

img {
	max-width: 100%;
	height: auto;
	vertical-align: middle;
}

label {
	cursor: pointer;
}

a,
a:link,
a:visited {
	color: var(--text-basic);
	transition: color var(--transition-speed) ease;
}

a:hover {
	color: var(--primary-color);
}

a:active {
	color: #444;
}

table {
	border-collapse: collapse;
	border-spacing: 0;
}

.break {
	page-break-before: always;
}

/* ==========================================================================
   초기세팅 끝
   ========================================================================== */

.d-flex {
	display: flex !important;
}
.d-grid {
	display: grid !important;
}
.con-start,
.justify-content-start {
	justify-content: flex-start !important;
}

.con-end,
.justify-content-end {
	justify-content: flex-end !important;
}

.con-center,
.justify-content-center {
	justify-content: center !important;
}

.item-center,
.align-items-center {
	align-items: center !important;
}

.item-start,
.align-items-start {
	-webkit-box-align: flex-start !important;
	-ms-flex-align: flex-start !important;
	align-items: flex-start !important;
}

.item-end,
.align-items-end {
	-webkit-box-align: flex-end !important;
	-ms-flex-align: flex-end !important;
	align-items: flex-end !important;
}

.item-stretch,
.align-items-stretch {
	align-items: stretch !important;
}

.con-btw,
.justify-content-space-between {
	-webkit-box-align: space-between !important;
	-ms-flex-align: space-between !important;
	justify-content: space-between !important;
}

.con-vert {
	flex-direction: column;
}

.con-row {
	flex-direction: row;
}

.con-rev {
	flex-direction: row-reverse;
}

.flex-wrap {
	flex-wrap: wrap;
}

.con-left {
	float: left;
}

.con-right {
	float: right;
}

.w5 {
	width: 5%;
	display: inline-block;
}

.w10 {
	width: 10%;
	display: inline-block;
}

.w15 {
	width: 15%;
	display: inline-block;
}

.w20 {
	width: 20%;
	display: inline-block;
}

.w25 {
	width: 25%;
	display: inline-block;
}

.w30 {
	width: 30%;
	display: inline-block;
}

.w40 {
	width: 40%;
	display: inline-block;
}

.w45 {
	width: 44%;
	display: inline-block;
}

.w50 {
	width: 50%;
	display: inline-block;
}

.w60 {
	width: 60%;
	display: inline-block;
}

.w70 {
	width: 70%;
	display: inline-block;
}

.w80 {
	width: 80%;
	display: inline-block;
}

.tour-thumb-box {
	margin: auto;
	width: 133rem;
	height: 103rem;
	padding: 4rem;
	border: 1px solid #ddd;
	background-color: #fff;
	margin-bottom: 5rem;
}

.tour-thumb-button {
	display: block;
	width: 100%;
	height: 93rem;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
}

.tour-thumb-button img {
	width: 133px;
	height: 93px;
	object-fit: cover;
}

.tour-modal-open {
	overflow: hidden;
}

.tour-modal {
	position: fixed;
	inset: 0;
	display: none;
	align-items: center;
	justify-content: center;
	z-index: 9999;
	padding: 24px;
}

.tour-modal.is-open {
	display: flex;
}

.tour-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(0, 0, 0, 0.78);
}

.tour-modal__dialog {
	position: relative;
	z-index: 1;
	max-width: min(96vw, 1200px);
	max-height: 92vh;
	padding: 0px;

	box-shadow: 0 18px 48px rgba(0, 0, 0, 0.35);
}

.tour-modal__image {
	display: block;
	max-width: 100%;
	max-height: calc(92vh - 68px);
	margin: 0 auto;
	object-fit: contain;
	border-radius: 13px;
}

.tour-modal__close {
	position: absolute;
	top: 12px;
	right: 12px;
	width: 40px;
	height: 40px;
	padding: 4px 8px;
	border: 0;
	border-radius: 999px;
	background: rgba(0, 0, 0, 0.3);
	color: #fff;
	font-size: 20px;
	line-height: 1;
	cursor: pointer;
}

/* @media (max-width: 1024px) {
	.tour-grid-table {
		width: 100%;
	}
}

@media (max-width: 768px) {
	.tour-modal {
		padding: 12px;
	}

	.tour-modal__dialog {
		width: 100%;
		padding: 48px 10px 10px;
		border-radius: 12px;
	}

	.tour-modal__close {
		top: 10px;
		right: 10px;
	}
} */

.w90 {
	width: 90%;
	display: inline-block;
}

.w100 {
	width: 100%;
	display: inline-block;
}

.h50 {
	height: 50rem !important;
}

.h70 {
	height: 70rem !important;
}

.h100 {
	height: 100rem !important;
}

.h150 {
	height: 150rem !important;
}

.mt5 {
	margin-top: 5rem !important;
}

.mt10 {
	margin-top: 10rem !important;
}

.mt20 {
	margin-top: 20rem !important;
}

.mt30 {
	margin-top: 30rem !important;
}

.mt40 {
	margin-top: 40rem !important;
}

.mt50 {
	margin-top: 50rem !important;
}

.mt60 {
	margin-top: 60rem !important;
}

.mt70 {
	margin-top: 70rem !important;
}

.mt80 {
	margin-top: 80rem !important;
}

.mt90 {
	margin-top: 90rem !important;
}

.mt100 {
	margin-top: 100rem !important;
}

.mt130 {
	margin-top: 130rem !important;
}

.mb5 {
	margin-bottom: 5rem !important;
}

.mb0 {
	margin-bottom: 0 !important;
}

.mb10 {
	margin-bottom: 10rem !important;
}

.mb20 {
	margin-bottom: 20rem !important;
}

.mb30 {
	margin-bottom: 30rem !important;
}

.mb40 {
	margin-bottom: 40rem !important;
}

.mb50 {
	margin-bottom: 50rem !important;
}

.mb60 {
	margin-bottom: 60rem !important;
}

.mb80 {
	margin-bottom: 80rem !important;
}

.mb110 {
	margin-bottom: 110rem !important;
}

.mr5 {
	margin-right: 5rem !important;
}

.mr10 {
	margin-right: 10rem !important;
}

.mr20 {
	margin-right: 20rem !important;
}

.mr30 {
	margin-right: 30rem !important;
}

.mr40 {
	margin-right: 40rem;
}

.mr50 {
	margin-right: 50rem;
}

.mr100 {
	margin-right: 100rem;
}

.ml10 {
	margin-left: 10rem !important;
}

.ml20 {
	margin-left: 20rem !important;
}

.ml30 {
	margin-left: 30rem !important;
}

.ml40 {
	margin-left: 40rem;
}

.ml50 {
	margin-left: 50rem;
}

.pd0 {
	padding: 0 !important;
}

.pdt90 {
	padding-top: 90rem !important;
}

.pdt100 {
	padding-top: 100rem !important;
}

.pdt110 {
	padding-top: 110rem !important;
}

.pdb90 {
	padding-bottom: 90rem !important;
}

.pdb100 {
	padding-bottom: 100rem !important;
}

.pdb110 {
	padding-bottom: 110rem !important;
}

.pdb120 {
	padding-bottom: 120rem !important;
}

.pdb130 {
	padding-bottom: 130rem !important;
}

.pdb140 {
	padding-bottom: 140rem !important;
}

.pdb150 {
	padding-bottom: 150rem !important;
}

.pdb160 {
	padding-bottom: 160rem !important;
}

.pc-pt60 {
	padding-top: 60rem;
}

/* ==========================================================================
   기본 선언 끝
   ========================================================================== */

#wrap {
	position: relative;
	width: 100%;
}

.td-left {
	text-align: left !important;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.font-white {
	color: #fff !important;
}

/* ==========================================================================
   헤더 및 상단 내비게이션 레이아웃
   ========================================================================== */

.site-header {
	position: absolute;
	top: 0;
	width: 100%;
	z-index: 100;
	height: auto;
	background: #fff;
	border-bottom: 0px solid #ddd;
}
.wrap {
	position: relative;
	width: 1440px;
	margin: 0 auto;
	padding: 0px;
	text-align: left;
}

.header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	width: 1440rem;
	margin: 0 auto;
	padding: 0rem;
	height: 130rem;
}

.logo {
	font-size: 22rem;
	font-weight: 900;
}

/* 대메뉴 리스트 */
.nav-list {
	display: flex;
	align-items: center;
	gap: 10rem;
	height: 100%;
}

.nav-item {
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
}

.nav-item-sub {
	padding-left: 35rem;
	position: relative;
	height: 100%;
	display: flex;
	align-items: center;
}

/* 대메뉴 링크 스타일 */
a.nav-trigger {
	font-size: 21rem;
	font-weight: 600;
	padding: 30rem 25rem;
	height: 100%;
	display: flex;
	align-items: center;
	color: var(--text-dark);
	transition: color var(--transition-speed);
}

.nav-item:hover a.nav-trigger,
.nav-item.active a.nav-trigger {
	color: var(--primary-color) !important;
}

a.nav-trigger-sub {
	font-size: 15rem;
	font-weight: 600;
	padding: 30rem 10rem;
	color: var(--text-muted);
}

.mega-menu {
	position: absolute;
	top: 81rem;
	left: 50%;
	transform: translateX(-50%);

	/* [수정] 고정 가로폭 해제 및 자동 조절 설정 */
	width: max-content;
	/* 내부 컨텐츠의 최대 길이에 딱 맞게 가로폭 자동 조절 */
	min-width: 100rem;
	/* 메뉴가 너무 적을 때 지나치게 좁아지는 것 방지 */
	max-width: 90vw;
	/* 브라우저 화면을 벗어나지 않도록 최대 가로폭 제한 */

	background-color: var(--bg-popover);
	border: 1px solid var(--border-color);
	border-radius: 8rem;
	box-shadow: 0 10rem 25rem rgba(0, 0, 0, 0.1);
	padding: 20rem;

	opacity: 0;
	visibility: hidden;
	transition:
		opacity var(--transition-speed) ease,
		transform var(--transition-speed) ease;
	z-index: 1100;
}

/* 활성화 상태 (JS 연동) */
.nav-item.active .mega-menu {
	opacity: 1;
	visibility: visible;
	transform: translateX(-50%) translateY(5rem);
}

/* 서브메뉴 내부 그리드 (2열 정렬) */
.mega-menu-inner {
	display: grid;
	/* [수정] 개수에 맞춰 열을 무조건 고정하지 않고, 컨텐츠 길이에 맞게 반응형 배치 */
	grid-template-columns: repeat(auto-fit, minmax(150rem, 1fr));
	gap: 1rem;

	/* 메뉴가 늘어날 때 정렬이 깨지지 않도록 정렬 기준 인라인 지정 */
	align-items: start;
}

/* 서브메뉴 개별 카드 블록 */
.mega-sub-item {
	display: flex;
	flex-direction: column;
	gap: 4rem;
	padding: 10rem;
	border-radius: 6rem;
	transition: background-color var(--transition-speed);

	/* [추가] 텍스트가 길어져도 카드가 찌그러지지 않고 자연스럽게 확보되도록 설정 */
	white-space: nowrap;
}

.mega-sub-item:hover {
	background-color: #f4f7fa;
}

.sub-title {
	font-size: 16rem;
	font-weight: 600;
	color: var(--text-dark);
}

.mega-sub-item:hover .sub-title {
	color: var(--primary-color);
}

.sub-desc {
	font-size: 12.5rem;
	font-weight: 500;
	color: var(--text-muted);
	line-height: 1.4;
	letter-spacing: -0.3rem;
}

/* ==========================================================================
   푸터 레이아웃 (Footer Styling)
   ========================================================================== */

.footer {
	background-color: #ffffff;
	font-size: 14.5rem;
	font-weight: 100;
	width: 1440px;
	border-top: 1px solid #ececec;
	margin: 40px auto 0 auto;
}

.footer .footer_inner {
	padding: 62px 0;
	font-size: 14px;
}

.foot_logo {
	font-size: 18px;
	font-weight: 700;
}
.foot_copy {
	font-size: 10px;
	font-weight: 400;
	margin-top: 5px;
}
.foot_copyb {
	font-size: 12px;
	font-weight: 500;
	margin-top: 5px;
}
.footer .footer_inner li {
	flex-basis: 360px;
}
.footer .footer_inner li.links {
	line-height: 24px;
	font-weight: 500;
}
.footer .footer_inner li.links.br a {
	display: block;
}
.footer .footer_inner li.links a.pracy {
	font-weight: 600;
}
.footer .footer_inner li.links_last {
	text-align: right;
}

.footer .footer_inner li a.copylink_01 {
	display: inline-block;
	width: 47px;
	height: 41px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat 0px 0px;
}
.footer .footer_inner li a.copylink_02 {
	display: inline-block;
	width: 41px;
	height: 41px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -47px 0px;
}
.footer .footer_inner li a.copylink_03 {
	display: inline-block;
	width: 47px;
	height: 41px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -88px 0px;
}
.footer .footer_inner li a.copylink_04 {
	display: inline-block;
	width: 36px;
	height: 41px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -135px 0px;
}
.footer .footer_inner li a.copylink_05 {
	display: inline-block;
	width: 41px;
	height: 41px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -171px 0px;
}
.footer .footer_inner li a.copylink_06 {
	display: inline-block;
	width: 42px;
	height: 41px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -212px 0px;
}

.site-footer .inner {
	max-width: 1440rem;
	border-top: 1px solid #e4e4e4;
	margin: 0 auto;
	padding: 62rem 0;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.site-footer .left {
	display: flex;
	flex-direction: column;
	gap: 30rem;
}

.site-footer .link-wrap {
	display: flex;
	flex-wrap: wrap;
	gap: 25rem;
}

.site-footer .link {
	font-weight: 500;
	transition: color var(--transition-speed) ease;
	font-size: 16rem;
}

.site-footer .link:hover {
}

.site-footer .link.privacy {
	font-weight: 500;
}

.site-footer .info {
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.site-footer .addr {
	display: flex;
	flex-wrap: wrap;
	gap: 16rem;

	line-height: 1.5;
	margin-bottom: 0;
	font-weight: 300;
}

.site-footer .addr span {
	position: relative;
}

.site-footer .copyright {
	font-size: 14rem;
	margin-top: 5rem;
	font-weight: 200;
}

.site-footer .right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10rem;
}

.site-footer .right img {
	width: 94rem;
}

.site-footer .family-wrap {
	position: relative;
}

.site-footer .sns-wrap {
	display: flex;
	gap: 12rem;
}

.site-footer .sns-box {
	display: inline-block;
	width: 38rem;
	height: 38rem;
	border-radius: 50%;
	background-color: #fff;
	background-size: 20rem;
	background-position: center;
	background-repeat: no-repeat;
	transition:
		background-color var(--transition-speed) ease,
		transform 0.2s ease;
}

.site-footer .sns-box:hover {
	background-color: #e9e9e9;
	/* transform: translateY(-2rem); */
}

.site-footer .sns-box.youtube {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23444444'%3E%3Cpath d='M23.498 6.163a3.003 3.003 0 0 0-2.11-2.11C19.517 3.545 12 3.545 12 3.545s-7.516 0-9.387.507a3.003 3.003 0 0 0-2.11 2.11C0 8.033 0 12 0 12s0 3.967.502 5.837a3.003 3.003 0 0 0 2.11 2.11c1.871.507 9.387.507 9.387.507s7.517 0 9.387-.507a3.003 3.003 0 0 0 2.11-2.11C24 15.967 24 12 24 12s0-3.967-.502-5.837zM9.545 15.568V8.432L15.818 12l-6.273 3.568z'/%3E%3C/svg%3E");
}

.site-footer .sns-box.insta {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23444444'%3E%3Cpath d='M12 2.163c3.204 0 3.584.012 4.85.07 3.252.148 4.771 1.691 4.919 4.919.058 1.265.069 1.645.069 4.849 0 3.205-.012 3.584-.069 4.849-.149 3.225-1.664 4.771-4.919 4.919-1.266.058-1.644.07-4.85.07-3.204 0-3.584-.012-4.849-.07-3.26-.149-4.771-1.699-4.919-4.92-.058-1.265-.07-1.644-.07-4.849 0-3.204.013-3.583.07-4.849.149-3.227 1.664-4.771 4.919-4.919 1.266-.057 1.645-.069 4.849-.069zM12 0C8.741 0 8.333.014 7.053.072 2.695.272.273 2.69.073 7.051.014 8.333 0 8.741 0 12c0 3.259.014 3.668.072 4.948.2 4.358 2.618 6.78 6.98 6.98 1.281.058 1.689.072 4.948.072 3.259 0 3.668-.014 4.948-.072 4.354-.2 6.782-2.618 6.979-6.98.059-1.28.073-1.689.073-4.948 0-3.259-.014-3.667-.072-4.947-.196-4.354-2.617-6.78-6.979-6.98C15.668.014 15.259 0 12 0zm0 5.838a6.162 6.162 0 1 0 0 12.324 6.162 6.162 0 0 0 0-12.324zM12 16a4 4 0 1 1 0-8 4 4 0 0 1 0 8zm6.406-11.845a1.44 1.44 0 1 0 0 2.881 1.44 1.44 0 0 0 0-2.881z'/%3E%3C/svg%3E");
}

.site-footer .sns-box.linkedin {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='%23444444'%3E%3Cpath d='M19 0h-14c-2.761 0-5 2.239-5 5v14c0 2.761 2.239 5 5 5h14c2.762 0 5-2.239 5-5v-14c0-2.761-2.238-5-5-5zm-11 19h-3v-11h3v11zm-1.5-12.268c-.966 0-1.75-.79-1.75-1.764s.784-1.764 1.75-1.764 1.75.79 1.75 1.764-.783 1.764-1.75 1.764zm13.5 12.268h-3v-5.604c0-3.368-4-3.113-4 0v5.604h-3v-11h3v1.765c1.396-2.586 7-2.777 7 2.476v6.759z'/%3E%3C/svg%3E");
}

.hdhrdtv {
	background-color: #0b1127;
	overflow: hidden;
	/* 상단 및 하단 빛 효과 (Radial Gradient 중첩) */
	background-image:
        /* 상단 중앙 빛 */
		radial-gradient(
			ellipse 40% 20% at 50% 0%,
			rgba(110, 126, 189, 0.2) 0%,
			rgba(11, 17, 39, 0) 55%
		),
		/* 하단 중앙 빛 */
		radial-gradient(
				ellipse 40% 30% at 50% 100%,
				rgba(110, 126, 189, 0.2) 0%,
				rgba(11, 17, 39, 0) 55%
			);
}

.aurora-container {
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	background-color: #000000;
}

/* 배경 레이어 */
.bg-layer {
	position: absolute;
	inset: 0;
	overflow: hidden;
}

/* 펄스 배경 */
@keyframes pulse {
	0%,
	100% {
		opacity: 0.5;
		transform: scale(1);
	}

	50% {
		opacity: 0.7;
		transform: scale(1.05);
	}
}

.pulse-gradient {
	position: absolute;
	inset: 0;
	opacity: 0.5;
	background-image:
		radial-gradient(circle, var(--aurora-color1) 0%, transparent 80%),
		radial-gradient(circle, var(--aurora-color2) 0%, transparent 80%);
	background-size: 100% 100%;
	animation: pulse 8s infinite ease-in-out;
}

/* 컬러 블롭 (Blobs) */
.blobs-wrapper {
	position: absolute;
	inset: 0;
	mix-blend-mode: screen;
	opacity: 0;
}

.blob {
	position: absolute;
	border-radius: 50%;
	filter: blur(64px);
}

.blob-1 {
	top: -25%;
	left: -25%;
	width: 50%;
	height: 50%;
	background-color: #9333ea;
	opacity: 0.4;
}

.blob-2 {
	bottom: -25%;
	right: -25%;
	width: 50%;
	height: 50%;
	background-color: #c026d3;
	opacity: 0.4;
}

.blob-3 {
	top: 33.33%;
	left: 33.33%;
	width: 33.33%;
	height: 33.33%;
	background-color: #4338ca;
	opacity: 0.3;
}

/* 반짝이는 별 컨테이너 */
.stars-container {
	position: absolute;
	inset: 0;
	pointer-events: none;
}

.star {
	position: absolute;
	width: 2px;
	height: 2px;
	background-color: #ffffff;
	border-radius: 50%;
	opacity: 0;
}

.tab-container {
	width: 100%;
}

/* 탭 버튼 영역 */
.tab-menu {
	display: flex;
	gap: 30rem;
	margin-bottom: 50rem;
}

.tab-btn {
	padding: 14rem 35rem;
	border-radius: 50rem;
	border: 1px solid rgba(255, 255, 255, 0.15);
	background-color: rgba(255, 255, 255, 0.05);
	color: #ffffff;
	font-size: 16rem;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.3s ease;
}

/* 마우스 호버 효과 */
.tab-btn:hover {
	background-color: rgba(255, 255, 255, 0.15);
}

/* 활성화된 탭 스타일 (이미지 디자인 적용) */
.tab-btn.active {
	background-color: #a100c2;
	border-color: #a100c2;
	box-shadow: 0 4rem 15rem rgba(161, 0, 194, 0.4);
}

/* 탭 콘텐츠 영역
.tab-content {
	display: none;
	padding: 0rem;
	width: 100%;
	max-width: 1200rem;
	background-color: rgba(15, 23, 42, 0.3);
	backdrop-filter: blur(6px);
	-webkit-backdrop-filter: blur(6px);
	border-radius: 16rem;
	border: 1px solid rgba(255, 255, 255, 0.15);
	overflow: hidden;
}


.tab-content.active {
	display: block;
} */

/* 무한 세로 스크롤 래퍼 */
.job-ticker-wrapper {
	height: 540rem;
	overflow: hidden;
	position: relative;
}

.job-ticker-wrapper:hover .main-job-grid-container {
	animation-play-state: paused;
}

/* 무한 세로 스크롤 키프레임 (GPU 가속 translate3d 적용) */
@keyframes jobTickerScroll {
	0% {
		transform: translate3d(0, 0, 0);
	}

	100% {
		transform: translate3d(0, -50%, 0);
	}
}

.main-job-grid-container {
	display: flex;
	flex-direction: column;
	width: 100%;
	color: #ffffff;
	will-change: transform;
	animation: jobTickerScroll 35s linear infinite;
}

/* 행 단위 그리드 및 마우스 호버 효과 */
.job-row {
	display: grid;
	grid-template-columns: 18% 18% 10% 15% 1fr;
	width: 100%;
	transition: background-color 0.25s ease;
	border-bottom: 1px solid rgba(255, 255, 255, 0.1);
	/* cursor: pointer; */
}

.job-row:hover {
	background-color: rgba(194, 0, 162, 0.25);
}

.job-row div img {
	max-width: 100%;
	max-height: 50rem;
	border-radius: 100rem;
}

.job-text-badge {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0rem 0rem;
	font-size: 14rem;
	font-weight: 600;
	color: #222222;
	background: #fff;
	border-radius: 50rem;
	white-space: nowrap;
	text-align: center;
	width: 140rem;
	height: 50rem;
}

.job-row div {
	padding: 33rem 12rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 18rem;
	font-weight: 500;
}

.job-row div:nth-child(1) {
	padding-left: 35rem;
}

.job-row div:nth-child(2),
.job-row div:nth-child(3) {
	font-size: 20rem;
	font-weight: 700;
}

.job-row div:nth-child(4) {
	color: #bbbbbb;
}

.job-row div:nth-child(5) {
	justify-content: flex-start;
	color: #d3daee;
	padding-right: 35rem;
}

/* ==========================================================================
   MOU 파트너쉽 3D Coverflow Swiper 스타일
   ========================================================================== */
.mou-coverflow-container {
	width: 100%;
	/* max-width: 1800rem; */
	position: relative;
	padding: 20rem 0;
	margin: 0 auto;
}

.mouCoverflowSwiper {
	width: 100%;
	/* max-width: 2362rem; */
	padding: 35rem 0 !important;
	overflow: visible;
}

.mouCoverflowSwiper .swiper-slide {
	width: 800rem !important;
	height: 500rem !important;
	border-radius: 24rem;
	/* overflow: hidden; */
	/* box-shadow: 0 12rem 10rem rgba(0, 0, 0, 0.1); */
	box-shadow: 0 10rem 30rem rgba(0, 0, 0, 0.3);
	opacity: 1;
	cursor: pointer;
}

.mouCoverflowSwiper .swiper-slide img {
	display: block;
	width: 800px;
	height: 100%;
	object-fit: cover;
	/* 브라우저에게 고품질 렌더링 알고리즘 강제 */
	image-rendering: -webkit-optimize-contrast;
	/* Safari/크롬 계열 대비 향상 */
	image-rendering: high-quality;
	/* 표준 고화질 렌더링 */

	/* transform 시 텍스처 깨짐 방지 */
	-webkit-transform: translate3d(0, 0, 0);
	transform: translate3d(0, 0, 0);
	will-change: transform;
}

.mouCoverflowSwiper .swiper-slide-active .mou-slide-card {
	box-shadow: 0 10rem 25rem rgba(0, 0, 0, 0.4);
	opacity: 1;
	border: 2px solid rgba(255, 255, 255, 1);
}

.mou-slide-card {
	position: relative;
	width: 100%;
	height: 100%;
	border-radius: 24rem;
	overflow: hidden;
}

.mou-slide-overlay {
	position: absolute;
	bottom: 0;
	z-index: 1;
	width: 100%;
	height: 27%;
	background: rgba(71, 71, 71, 0.35);
	backdrop-filter: blur(3px);
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 35rem 40rem;
	color: #ffffff;
	pointer-events: none;
}

.mou-slide-overlay .mou-title {
	font-size: 27rem;
	font-weight: 800;
	margin-bottom: 4rem;
	letter-spacing: 0px;
	text-shadow: 0rem 2rem 4rem rgba(0, 0, 0, 0.5);
	opacity: 1;
	transform: translateY(0px);
	transition:
		opacity 0.4s ease 0.3s,
		transform 0.4s ease 0.3s;
}

.mou-slide-overlay .mou-sub {
	font-size: 17rem;
	font-weight: 700;
	text-shadow: 0 1rem 2rem rgba(0, 0, 0, 0.5);
	opacity: 1;
}

/* 하단 알약형 컨트롤러 < 1 / 14 > */
.mou-swiper-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0rem;
	background-color: #f2f2f4;
	padding: 18rem 30rem;
	border-radius: 50rem;
	width: fit-content;
	margin: 30rem auto 0;
	box-shadow: none;
}

.mou-swiper-controls button {
	background: none;
	border: none;
	color: #4a4a4a;
	cursor: pointer;
	padding: 0 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s ease;
}

.mou-swiper-controls button svg {
	width: 18rem;
	height: 18rem;
	display: block;
}

.mou-swiper-controls button:hover {
	color: #ff0080;
}

.tv-swiper-pagination,
.fac-swiper-pagination,
.mou-swiper-pagination {
	font-size: 18rem;
	font-weight: 700;
	color: #111111;
	letter-spacing: 0.5px;
	padding: 0 16rem;
	line-height: 1;
}

.tv-swiper-pagination .swiper-pagination-current,
.fac-swiper-pagination .swiper-pagination-current,
.mou-swiper-pagination .swiper-pagination-current {
	font-size: 20rem;
	color: #ff0080;
}

/* ==========================================================================
   학교 시설 안내 1600x630 스와이퍼 스타일 
   ========================================================================== */
.facility-swiper-container {
	width: 82vw !important;
	margin: 40rem auto 0;
	position: relative;
}

.facilitySwiper {
	width: 100%;
	border-radius: 24rem;
	overflow: hidden;
	box-shadow: 0 15rem 35rem rgba(0, 0, 0, 0.08);
}

.facilitySwiper .swiper-wrapper .swiper-slide {
	height: 630rem !important;
	width: 82vw !important;
}

/* 학교시설 하단 알약형 컨트롤러 < 1 / 3 > */
.tv-swiper-controls,
.facility-swiper-controls {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 0rem;
	background-color: #ffffff;
	padding: 18rem 30rem;
	border-radius: 50rem;
	width: fit-content;
	margin: 30rem auto 0;
	box-shadow: 0 4rem 15rem rgba(0, 0, 0, 0.05);
}

.tv-swiper-controls button,
.facility-swiper-controls button {
	background: none;
	border: none;
	color: #4a4a4a;
	cursor: pointer;
	padding: 0 10rem;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: color 0.2s ease;
}

.tv-swiper-controls button svg,
.facility-swiper-controls button svg {
	width: 18rem;
	height: 18rem;
	display: block;
}

.tv-swiper-controls button:hover,
.facility-swiper-controls button:hover {
	color: #ff0080;
}

.facility-fraction-pagination {
	font-size: 18rem;
	font-weight: 700;
	color: #111111;
	letter-spacing: 0.5px;
	padding: 0 16rem;
	line-height: 1;
}

.facility-slide-card {
	width: 100%;
	height: 100%;
	position: relative;
	border-radius: 24rem;
	overflow: hidden;
}

.facility-slide-card::after {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.65) 0%,
		rgba(0, 0, 0, 0.15) 35%,
		transparent 60%
	);
	pointer-events: none;
}

.facility-slide-card img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* object-position: center; */
	display: block;
}

/* 학교시설 왼쪽 하단 텍스트 오버레이 (활성화 시 순차 모션) */
.facility-text-overlay {
	position: absolute;
	bottom: 50rem;
	left: 50rem;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 14rem;
	pointer-events: none;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.4s ease 0.1s,
		visibility 0.4s ease 0.1s;
}

.swiper-slide-active .facility-text-overlay {
	opacity: 1;
	visibility: visible;
}

.facility-badge {
	display: inline-block;
	padding: 10rem 25rem;
	border-radius: 50rem;
	background-color: #a100c2;
	color: #ffffff;
	font-size: 15rem;
	font-weight: 700;
	line-height: 1;
	box-shadow: 0 3rem 10rem rgba(161, 0, 194, 0.4);
	opacity: 0;
	transform: translateY(15px);
	transition:
		opacity 0.4s ease 0.25s,
		transform 0.4s ease 0.25s;
}

.swiper-slide-active .facility-badge {
	opacity: 1;
	transform: translateY(0);
}

.facility-title {
	color: #ffffff;
	font-size: 32rem;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: 0 2rem 5rem rgba(0, 0, 0, 0.7);
	opacity: 0;
	transform: translateY(15px);
	transition:
		opacity 0.4s ease 0.45s,
		transform 0.4s ease 0.45s;
}

.swiper-slide-active .facility-title {
	opacity: 1;
	transform: translateY(0);
}

/* ==========================================================================
   서브 레이아웃 
   ========================================================================== */

#contbody {
	width: 1440px;
	margin: 0 auto;
	margin-top: 130px;
}

#mainbody {
	position: relative;
	padding: 0rem 0 0rem;
	margin: 0 auto;
	transition: padding-top 0.2s ease;
	width: 1440px;
	margin-top: 130rem;
}

#subbody {
	position: relative;
	display: grid;
	grid-template-columns: 260px 1fr;
	gap: 50rem;
	width: 1440rem;
	padding: 0rem 15rem 70rem 15rem;
	margin: 0 auto;
	transition: padding-top 0.2s ease;
}

.contenst {
	width: 1100px;
	position: relative;
}

/* LNB (서브페이지 좌측 메뉴) - PC 전용 (모바일은 pc-only 클래스로 숨김) */

.lnb {
	align-items: flex-start;
	width: 200rem;
}

.lnb-group + .lnb-group {
	margin-top: 40rem;
}

.lnb-title {
	font-size: 28rem;
	font-weight: 500;
	/* color: var(--text-dark); */
	height: 57rem;
	padding-bottom: 0rem;
	margin-bottom: 0rem;
	position: relative;
}
.lnb-title .line_bg {
	position: absolute;
	left: 0px;
	bottom: 0px;
	width: 100%;
	height: 3px;
	background: url(/proxy-img/image/common_n/lnb_bg.gif) no-repeat 0 0px;
}
.lnb-list .lnb-item {
	position: relative;
	line-height: 50px;
}

.lnb-list > .lnb-item > .lnb-link,
.lnb-list > .lnb-item > .lnb-item-head > .lnb-item-toggle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 16rem;
	color: #1a1a1a;
	padding: 0 0 0 15rem;
	transition: var(--transition1);
	text-align: left;
	background: none;
	line-height: 50px;
	border-bottom: 1px solid #ccc;
	font-weight: 500;
}

.lnb-item-head {
	display: flex;
	align-items: stretch;
}

.lnb-item-head button {
	border: none;
}
.lnb-list > .lnb-item > .lnb-item-head > .lnb-item-toggle {
	display: flex;
	justify-content: space-between;
	align-items: center;
	width: 100%;
}

.lnb-link-text {
	flex: 1 1 auto;
}

.lnb-arrow {
	width: 8rem;
	height: 8rem;
	border: solid var(--text-muted);
	border-width: 0 2rem 2rem 0;
	transform: rotate(45deg);
	transition: transform 0.3s ease;
	margin: 0 10rem 0 0;
}

.lnb-list > .lnb-item.is-open > .lnb-item-head .lnb-arrow {
	border-color: var(--primary-color);
	transform: rotate(-45deg);
}

.lnb-list > .lnb-item.active > .lnb-link .lnb-arrow {
	border-color: var(--primary-color);
	transform: rotate(-45deg);
}

.lnb-list > .lnb-item > .lnb-link:hover .lnb-arrow,
.lnb-list > .lnb-item > .lnb-item-head > .lnb-item-toggle:hover .lnb-arrow {
	border-color: var(--primary-color);
}

.lnb-list > .lnb-item > .lnb-link:hover,
.lnb-list > .lnb-item > .lnb-item-head > .lnb-item-toggle:hover {
	color: var(--primary-color);
	background-color: var(--text-llight);
}

.lnb-list > .lnb-item.active > .lnb-link,
.lnb-list > .lnb-item.active > .lnb-item-head > .lnb-item-toggle,
.lnb-list > .lnb-item.is-open > .lnb-item-head > .lnb-item-toggle {
	color: var(--primary-color);
	font-weight: 500;
	/* background-color: var(--text-llight); */
}

.lnb-sub-list {
	display: none;
	padding: 10rem 0;
	margin-top: 0rem;
	overflow: hidden;
	border-bottom: 1px solid #ccc;
}
.lnb-sub-item {
}
.lnb-sub-item a {
	display: block;
	border-bottom: 0px solid #d9d9d9;
	height: inherit;
	padding: 7px 0px 6px 20px;
	width: 180px;
	font-size: 14px;
	color: #666666;
	font-weight: 400;
	line-height: 18px;
	letter-spacing: -1px;
}

.lnb-sub-item.active a {
	color: var(--primary-color);
	font-weight: 500;
	/* background-color: var(--text-llight); */
}

.cont_b {
	max-width: 1400rem;
	margin: 0 auto;
	min-height: 28vh;
}

.cont {
	margin: 0 auto;
	max-width: 100%;
}

.section-title {
	width: 100%;
	height: 68rem;
	font-size: 27rem;
	font-weight: 700;
	color: var(--text-dark);
	line-height: 1.6;
	margin: 40rem 0 70rem 0;
	border-bottom: 1px solid #d9d9d9;
}

.section-title.alone {
	/* margin: 0 auto 70rem; */
}

.section-title.alone2 {
	margin: 0 auto 140rem;
}

.gree-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 40px;
}

p.i03 {
	font-size: 16rem;
	color: #4d4d4d;
	line-height: 25rem;
	font-weight: 500;
	padding-top: 0px;
	letter-spacing: -0px;
	text-align: justify;
	width: 100%;
	margin: 15rem 0;
}
p.i04 {
	font-size: 17rem;
	line-height: 28rem;
	font-weight: 600;
	padding: 30px 0px 0 0;
	float: right;
	margin: 0;
}
p.i04 img {
	vertical-align: middle;
	padding: 0 0 0 10px;
}
.intro_text {
	margin: 25px 0 5px 0;
}

.greet-left-box {
	font-size: 25rem;
	font-weight: 700;
	width: 300rem;
}

.greet-right-box {
	width: 700rem;
	font-size: 18.2rem;
	font-weight: 400;
	line-height: 1.6;
	text-align: justify;
	word-break: keep-all;
}

.greet-right-box img {
	margin: 0 0 0 40rem;
}

.cont-left-box {
	width: 300rem;
	font-size: 24rem;
	font-weight: 700;
}

.cont-right-box {
	width: 800rem;
	font-size: 18.2rem;
	font-weight: 400;
	line-height: 1.6;
	text-align: justify;
	word-break: keep-all;
}

.greet_img img {
	position: relative;
	margin: -200rem 0 100rem 0;
	width: 700rem;
	height: auto !important;
	align-self: flex-end;
}

.his_img img {
	position: relative;
	margin: -500rem 0 100rem 0;
	width: 700rem;
	height: auto !important;
	align-self: flex-end;
}

.map-left-box {
	width: 300rem;
	font-size: 24rem;
	font-weight: 700;
}

.map-mid-box {
	width: 300rem;
	font-size: 19rem;
	font-weight: 500;
}

.map-right-box {
	width: 600rem;
	font-size: 18.2rem;
	font-weight: 400;
	line-height: 1.6;
	text-align: justify;
	word-break: keep-all;
	overflow: hidden;
}

/* ==========================================================================
   인터랙티브 연혁 페이지 스타일 (Interactive Timeline Styling)
   ========================================================================== */

/* 상단 고정 네비게이션 탭 */
.history-sticky-nav {
	position: sticky;
	top: 0;
	/* 화면 맨 위에 고정 */
	z-index: 1000;
	/* 헤더 99999보다 높은 z-index로 덮어씌움 */
	background-color: #ffffff;
	border-bottom: 1px solid #e2e8f0;
	margin-bottom: 50rem;
	width: 100%;
	height: 101rem;
}

.nav-inner {
	max-width: 1200rem;
	margin: 0 auto;
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 0;
}

.nav-tab {
	flex: 1;
	max-width: 250rem;
	background: none;
	border: none;
	padding: 36.5rem 0;
	font-size: 22rem;
	font-weight: 600;
	color: var(--text-muted);
	cursor: pointer;
	text-align: center;
	position: relative;
	transition: color 0.3s ease;
	font-family: pretendard;
	display: block;
	text-decoration: none !important;
}

.nav-tab::after {
	content: "";
	position: absolute;
	bottom: -1px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 3rem;
	background-color: var(--primary-color);
	transition: width 0.3s ease;
}

.nav-tab:hover {
	color: var(--primary-color);
}

.nav-tab.active {
	color: var(--primary-color);
	font-weight: 700;
}

.nav-tab.active::after {
	width: 100%;
}

/* 타임라인 컨테이너 */
.timeline-container {
	position: relative;
	margin-bottom: 120rem;
}

.timeline-wrapper {
	position: relative;
	width: 100%;
}

/* 스크롤 진행선 (옅은 회색 백그라운드 선) */
.timeline-line {
	position: absolute;
	left: 350rem;
	/* 스티키 사이드바 가로폭 350rem에 정렬 */
	top: 20rem;
	bottom: 20rem;
	width: 3rem;
	background-color: #e2e8f0;
	z-index: 1;
}

/* 스크롤에 따라 차오르는 컬러 바 */
.timeline-fill {
	position: absolute;
	left: 0;
	top: 0;
	width: 100%;
	height: 0%;
	/* JS에서 동적 계산 */
	background-color: var(--primary-color);
	transition: height 0.1s ease-out;
}

/* 연도 구간 대역 섹션 */
.history-section {
	display: flex;
	position: relative;
	margin-bottom: 100rem;
}

.history-section:last-child {
	margin-bottom: 0;
}

/* 좌측 고정 사이드바 */
.section-sidebar {
	width: 350rem;
	flex-shrink: 0;
	position: relative;
	text-align: left;
	padding-right: 40rem;
}

/* 스티키 텍스트 (해당 년도가 스크롤될 때까지 화면에 고정) */
.sidebar-sticky {
	position: sticky;
	top: 130rem;
	/* 탭바 높이 70rem + 알파 */
	font-size: 45rem;
	font-weight: 500;
	color: var(--text-dark);
	letter-spacing: -0.5rem;
	transition: color 0.3s ease;
}

/* 우측 연혁 본문 영역 */
.section-content {
	width: 850rem;
	flex-shrink: 0;
	padding-left: 40rem;
	z-index: 2;
}

/* 개별 연도 로우 */
.history-row {
	display: flex;
	align-items: flex-start;
	margin-bottom: 60rem;
	position: relative;
	transition: transform 0.3s ease;
}

.history-row:last-child {
	margin-bottom: 0;
}

/* 연도 레이블 */
.history-row .year-label {
	width: 120rem;
	font-size: 23rem;
	font-weight: 800;
	color: var(--text-basic);
	/* 기본 비활성화 칼라 */
	position: relative;
	flex-shrink: 0;
	line-height: 1.2;
	transition: color 0.3s ease;
}

/* 개별 연도 포인트 도트 */
.history-row .year-dot {
	position: absolute;
	left: -44rem;
	/* timeline-line의 left 250rem에 맞춰 포인트 배치 */
	top: 10rem;
	width: 11rem;
	height: 11rem;
	border-radius: 50%;
	background-color: #ffffff;
	border: 3rem solid #cbd5e1;
	z-index: 3;
	transition:
		border-color 0.3s ease,
		background-color 0.3s ease,
		transform 0.3s ease;
}

/* 마우스 호버 및 스크롤 활성화(.on) 시 효과 */
.year-label {
	color: var(--primary-color);
}

.history-row.on .year-dot {
	border-color: var(--primary-color);
	background-color: var(--primary-color);
	transform: scale(1.3);
	box-shadow: 0 0 8rem rgba(0, 86, 179, 0.5);
}

/* 연도별 세부 내용 리스트 */
.history-row .year-list {
	display: flex;
	flex-direction: column;
	gap: 12rem;
	padding-left: 20rem;
	width: 100%;
}

.history-row .year-list span {
	display: flex;
	align-items: baseline;
	font-size: 18rem;
	font-weight: 400;
	color: var(--text-basic);
	line-height: 1.5;
	word-break: keep-all;
}

.history-row .year-list span em {
	font-style: normal;
	font-weight: 700;
	color: var(--text-basic);
	margin-right: 12rem;
	font-size: 15rem;
	white-space: nowrap;
	padding: 2rem 8rem;
}

/* 스티키 고정 시 헤더 슬라이드 퇴장 */
.site-header.hide-header {
	transform: translateY(-100%);
}

.report-div {
	position: relative;
	top: 50rem;
	width: calc((100% - 32rem) / 3);
	opacity: 1;
	transition:
		top 0.7s ease,
		opacity 0.7s ease;
	margin-bottom: 40rem;
}

.report-div .img {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 380rem;
	background: #f4f4f4;
}

.report-div img {
	width: 80%;
	box-shadow: 0 20rem 20rem 0 rgba(0, 0, 0, 0.05);
}

/* ==========================================================================
   선생님소개
   ========================================================================== */

.main-desc_team {
	margin: 0 auto 30rem;
	padding: 0 0 0 400rem;
	max-width: 1200rem;
	color: var(--text-basic);
	font-size: 22rem;
	line-height: 1.3;
	font-weight: 700;
}

.sub-desc_team {
	margin: 30rem 0 0 0;
	color: var(--text-basic);
	font-size: 17rem;
	font-weight: 500;
}

.main-desc_team.leftnopad {
	padding: 0;
}

.top-line2,
.top-line {
	border-top: 2px solid #333;
}

/* 카드 개별 요소 */
.card {
	display: flex;
	width: 245rem;
	flex-direction: column;
	flex-shrink: 0;
}

.image-box {
	position: relative;
	height: 326rem;
	width: 100%;
	overflow: hidden;
	border-radius: 10rem;
	background-color: #e3e3e3;
}

.member-img {
	height: 100%;
	width: 100%;
	object-fit: cover;
	transition: filter 0.3s ease;
}

.info-box {
	padding: 12rem 0;
	backdrop-filter: blur(4rem);
	box-sizing: border-box;
}

.info-name {
	margin: 0;
	font-size: 18rem;
	font-weight: 800;
	color: #171717;
}

.info-role {
	margin: 0rem 0 0 0;
	font-size: 15rem;
	font-weight: 500;
	color: #525252;
}

.map-right-box .map-link {
	width: 600px;
	height: 350px;
	border: 1px solid var(--border-color);
	overflow: hidden;
	display: flex;
	justify-content: center;
	align-items: center;
}

.map-right-box .map-link img {
	max-width: 1209px;
	width: 1209px;
	height: 747px;
}

.map-link-desc {
	margin: 0 0 20rem 0;
	font-size: 15rem;
	color: var(--text-muted);
	line-height: 1.3;
}

.map-track-box {
	margin: 0rem 0 0 0;
	line-height: 1.4;
}

.map-track {
	font-size: 14rem;
	color: var(--text-basic);
	display: flex;
	flex-wrap: nowrap;
	justify-content: center;
	align-items: center;
	min-height: 35rem;
	border: 1px solid #cfcfcf;
	border-radius: 5rem;
	width: 140rem;
	margin: 0 0 7rem 0;
	transition: all 0.2s ease;
}

.map-track:hover {
	background-color: var(--primary-color);
	border-color: var(--primary-color);
	color: #ffffff;
	cursor: pointer;
}

/* ==========================================================================
   교직원 카드 및 상세 모달 인터랙션 (Premium Aesthetics)
   ========================================================================== */

/* 카드 호버 효과 */
.card[data-teacher-id] {
	cursor: pointer;
}

.card[data-teacher-id] .member-img {
	transition: filter 0.3s ease;
}

.card[data-teacher-id]:hover .member-img {
	filter: brightness(0.95);
}

/* 모달 기본 컨테이너 */
.teacher-modal {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.2s ease,
		visibility 0.2s ease;
}

.teacher-modal.show {
	opacity: 1;
	visibility: visible;
}

/* 모달 블러 오버레이 */
.modal-backdrop {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(15, 23, 42, 0.45);
	/* 다크 슬레이트 톤 투명도 */
	backdrop-filter: blur(5px);
	/* 고급스러운 Glassmorphism */
	-webkit-backdrop-filter: blur(5px);
	transition: opacity 0.2s ease;
}

/* 모달 래퍼 및 정렬 */
.modal-wrapper {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20rem;
	box-sizing: border-box;
}

/* 모달 본체 */
.modal-content {
	background-color: #ffffff;
	border-radius: 20rem;
	width: 800rem;
	max-width: 100%;
	height: 620rem;
	/* 데스크톱 고정 높이 지정 */
	max-height: 85vh;
	/* 화면 크기에 맞추어 안전 높이 확보 */
	display: flex;
	flex-direction: column;
	box-shadow: 0 25rem 50rem -12rem rgba(0, 0, 0, 0.3);
	overflow: hidden;
	position: relative;
	transform: scale(0.94) translateY(10rem);
	transition:
		transform 0.25s cubic-bezier(0.34, 1.56, 0.64, 1),
		opacity 0.2s ease;
	z-index: 10;
}

.teacher-modal.show .modal-content {
	transform: scale(1) translateY(0);
}

/* 닫기 버튼 */
.modal-close-btn {
	position: absolute;
	top: 20rem;
	right: 25rem;
	background: none;
	border: none;
	font-size: 36rem;
	line-height: 1;
	font-weight: 300;
	color: #9ca3af;
	cursor: pointer;
	transition:
		color 0.2s ease,
		transform 0.2s ease;
	z-index: 12;
}

.modal-close-btn:hover {
	color: var(--text-dark);
	transform: rotate(90deg);
}

/* 모달 내부 구성 */
.modal-body {
	display: flex;
	gap: 45rem;
	padding: 45rem;
	flex: 1;
	min-height: 0;
	/* 자식이 부모 높이를 초과하지 않도록 제한 */
	box-sizing: border-box;
}

/* 좌측 프로필 이미지 */
.modal-left {
	width: 245rem;
	flex-shrink: 0;
}

.modal-img-container {
	width: 100%;
	aspect-ratio: 245 / 326;
	border-radius: 16rem;
	overflow: hidden;
	background-color: #f3f4f6;
	box-shadow: 0 4rem 15rem rgba(0, 0, 0, 0.08);
}

#modalTeacherImg {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* 우측 상세 정보 */
.modal-right {
	flex-grow: 1;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	height: 100%;
	min-height: 0;
}

/* 이력 상세 내용이 들어가는 스크롤 영역 */
.modal-details-container {
	flex: 1;
	overflow-y: auto;
	/* 직책, 이름 하단의 상세 정보들만 스크롤되도록 설정 */
	min-height: 0;
	/* 스크롤 동작을 위한 flex 자식 제한 */
	padding-right: 15rem;
	/* 스크롤바가 글자를 가리지 않도록 여백 제공 */
}

/* 상세 정보 스크롤바 커스텀 (Premium Aesthetics) */
.modal-details-container::-webkit-scrollbar {
	width: 6rem;
}

.modal-details-container::-webkit-scrollbar-track {
	background: #f1f5f9;
	border-radius: 10rem;
}

.modal-details-container::-webkit-scrollbar-thumb {
	background: #cbd5e1;
	border-radius: 10rem;
	transition: background-color 0.2s ease;
}

.modal-details-container::-webkit-scrollbar-thumb:hover {
	background: #94a3b8;
}

.modal-label {
	display: inline-block;
	font-size: 14rem;
	font-weight: 700;
	color: var(--primary-color);
	letter-spacing: 1.5rem;
	margin-bottom: 6rem;
	background-color: rgba(20, 87, 175, 0.07);
	border: 1px solid #c5ceda;
	padding: 3rem 15rem;
	border-radius: 40rem;
	width: fit-content;
	letter-spacing: -0.3rem;
}

.modal-name {
	font-size: 30rem;
	font-weight: 800;
	color: var(--text-dark);
	margin: 0 0 25rem 0;
}

/* 정보 섹션 */
.modal-info-section {
	margin-bottom: 22rem;
}

.modal-info-section:last-child {
	margin-bottom: 0;
}

.section-subtitle {
	font-size: 16.5rem;
	font-weight: 700;
	color: var(--text-dark);
	margin: 0 0 10rem 0;
	position: relative;
	padding-left: 12rem;
}

.section-subtitle::before {
	content: "";
	position: absolute;
	left: 0;
	top: 3rem;
	bottom: 3rem;
	width: 3.5rem;
	background-color: var(--primary-color);
	border-radius: 2rem;
}

.modal-list {
	margin: 0;
	padding: 0;
	list-style: none;
	display: flex;
	flex-direction: column;
	gap: 3rem;
}

.modal-list li {
	font-size: 15rem;
	letter-spacing: -0.5rem;
	color: var(--text-basic);
	line-height: 1.55;
	position: relative;
	padding-left: 14rem;
}

/* .modal-list li::before {
    content: '';
    position: absolute;
    left: 0;
    top: 8.5rem;
    width: 4.5rem;
    height: 4.5rem;
    background-color: #94a3b8;
    border-radius: 50%;
} */

.modal-list li.no-data {
	color: #94a3b8;
	padding-left: 0;
}

.modal-list li.no-data::before {
	display: none;
}

/* 반응형 모바일 대응 */

/* ==========================================================================
   학점은행제
   ========================================================================== */

.academic-table {
	overflow-x: auto;
	margin-bottom: 20px;
	border-radius: 8px;
	border: 1px solid var(--border-color);
	width: 100%;
}

table {
	width: 100%;
	border-collapse: collapse;
	text-align: center;
	font-size: 15rem;
	overflow-x: auto;
	border-bottom: none;
}

table th {
	background-color: var(--primary-color);
	color: white;
	font-weight: 500;
	padding: 14px 10px;
	border-right: 1px solid rgba(255, 255, 255, 0.08);
}

table tr:last-child td {
	border-bottom: none;
}

table th:last-child,
table td:last-child {
	border-right: none;
}

table th.hd-sub {
	background-color: var(--sub-color);
}

table td {
	padding: 14px 10px;
	border-bottom: 1px solid var(--border-color);
	background-color: #fff;
	color: var(--text-basic);
}

table td.no-right-border {
	border-right: none;
}

table td.no-bottom-border {
	border-bottom: none;
}

.highlight {
	font-weight: 600;
	color: var(--text-basic);
}

.table-note {
	background-color: var(--text-llight);
	font-size: 14rem;
	color: var(--text-basic);
	padding: 4px 8px;
	border-radius: 4px;
	display: inline-block;
	font-weight: 600;
}

.academic-cont h3 {
	font-size: 18rem;
	color: var(--text-basic);
	margin: 20px 0 10px 0;
	font-weight: 600;
}

.academic-cont h3:first-child {
	margin-top: 0;
}

.academic-cont ul {
	list-style: none;
	padding-left: 0;
}

.academic-cont li {
	position: relative;
	padding-left: 20rem;
	margin-bottom: 8rem;
	font-size: 16rem;
}

.academic-cont li::before {
	content: "•";
	color: var(--text-muted);
	font-weight: bold;
	position: absolute;
	left: 5rem;
}

.academic-cont .sub-text {
	font-size: 16.5rem;
	margin-top: -5rem;
	margin-bottom: 15rem;
	padding-left: 5rem;
}

.scholarship-table table tbody td {
	border-right: 1px solid var(--border-color);
}

.scholarship-table table tbody td:last-child {
	border-right: none;
}

.scholarship-table table tbody td.right-border {
	border-right: 1px solid var(--border-color);
}

.rule-section {
	width: 100%;
	margin-bottom: 30rem;
	padding-bottom: 20rem;
	border-bottom: 1px dashed var(--border-color);
}

.rule-section:last-child {
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.rule-title {
	font-size: 19rem;
	font-weight: 700;
	color: var(--text-basic);
	margin-bottom: 12rem;
	display: flex;
	align-items: center;
	gap: 8rem;
}

.rule-title::before {
	content: "";
	display: inline-block;
	width: 4rem;
	height: 18rem;
	background-color: var(--secondary-color);
	border-radius: 2rem;
}

.rule-content {
	font-size: 16rem;
	color: var(--text-dark);
	padding-left: 12rem;
}

.rule-content p {
	margin-bottom: 6rem;
}

.rule-content ul {
	list-style-type: none;
	padding-left: 15rem;
	margin-top: 6rem;
	margin-bottom: 6rem;
}

.rule-content li {
	position: relative;
	padding-left: 10rem;
	margin-bottom: 4rem;
}

.rule-content li::before {
	content: "";
	position: absolute;
	left: 0;
	color: var(--secondary-color);
	font-weight: bold;
}

/* ==========================================================================
   취업정보
   ========================================================================== */
.job-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}

.employment-card {
	background: #ffffff;
	border: 1px solid var(--border-color);
	border-radius: 16px;
	padding: 28px;
	transition: all 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

/* 마우스 호버 시 포인트 효과 */
.employment-card:hover {
	transform: translateY(-3px);
	border-color: var(--secondary-color);
	box-shadow: 0 12px 20px -8px rgba(14, 165, 233, 0.15);
}

/* 상단 취업률 수치 영역 */
.job-card-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	margin-bottom: 16rem;
}

.rate-label {
	font-size: 14rem;
	font-weight: 700;
	color: var(--text-muted);
	border: 1px solid var(--border-color);
	background-color: #f4f4f5;
	padding: 4rem 12rem;
	border-radius: 30rem;
}

.rate-number {
	font-size: 58rem;
	font-weight: 900;
	color: var(--primary-color);
	line-height: 1;
	letter-spacing: -1px;
}

.rate-number span {
	font-size: 22rem;
	font-weight: 700;
	color: var(--sub-color);
	margin-left: 2rem;
}

/* 중간 과정명 영역 */
.card-body {
	margin-bottom: 20rem;
}

.course-tag {
	font-size: 13rem;
	color: var(--sub-color);
	font-weight: 700;
	display: inline-block;
	margin-bottom: 6rem;
	text-transform: uppercase;
}

.course-name {
	font-size: 18rem;
	font-weight: 700;
	color: var(--text-dark);
	line-height: 1.4;
	/* word-break: keep-all; */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* 하단 교육 기간 영역 */
.card-footer {
	display: none !important;
	border-top: 1px solid var(--border-color);
	padding-top: 14rem;
	display: flex;
	align-items: center;
	gap: 6rem;
	font-size: 15rem;
	color: var(--text-muted);
}

.calendar-icon {
	color: var(--secondary-color);
	font-weight: bold;
}

.job-grid2 {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}

.info-card {
	position: relative;
	height: 520px;
	/* 세로형 카드 높이 지정 */
	border-radius: 20px;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 30px 20px 20px 20px;
	background-color: var(--card-bg);
	background-size: cover;
	background-position: center;
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
}

/* 각 카드별 배경 이미지 예시 (원하는 이미지 URL로 대체 가능) */
.info-card:nth-child(1) {
	background-image: url("/img/vision_bg_01.jpg");
}

.info-card:nth-child(2) {
	background-image: url("/img/vision_bg_02.jpg");
}

.info-card:nth-child(3) {
	background-image: url("/img/vision_bg_03.jpg");
}

.info-card:nth-child(4) {
	background-image: url("/img/vision_bg_04.jpg");
}

.info-card:nth-child(5) {
	background-image: url("/img/vision_bg_05.jpg");
}

.info-card:nth-child(6) {
	background-image: url("/img/vision_bg_06.jpg");
}

.info-card:nth-child(7) {
	background-image: url("/img/vision_bg_07.jpg");
}

.info-card:nth-child(8) {
	background-image: url("/img/vision_bg_08.jpg");
}

/* 배경 이미지 위 텍스트 가독성을 위한 어두운 그라데이션 오버레이 */
.info-card::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(
		to bottom,
		rgba(0, 0, 0, 0.5) 30%,
		rgba(0, 0, 0, 0.2) 50%,
		rgba(0, 0, 0, 0.9) 100%
	);
	z-index: 1;
}

.info-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 12px 20px rgba(0, 0, 0, 0.3);
}

/* 텍스트 내용들을 오버레이 위로 올림 */
.card-header {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}

.card-body,
.card-footer2 {
	position: relative;
	z-index: 2;
}

/* 상단 타이틀 스타일 */
.keyword-badge {
	font-size: 14rem;
	font-weight: 700;
	color: #eeeeee;
	text-transform: uppercase;
	letter-spacing: 1px;
	display: block;
	margin-bottom: 5px;
	opacity: 0.9;
}

.main-title {
	font-size: 25rem;
	font-weight: 800;
	color: #fff;
	line-height: 1.3;
	word-break: keep-all;
}

.sub-text {
	display: block;
	font-size: 14rem;
	color: #787f8d;
	font-weight: normal;
	margin-top: 4px;
	font-weight: 600;
}

/* 본문 상세 스타일 정리 */
.card-body {
	margin-top: auto;
	/* 본문을 아래쪽으로 밀어내어 하단 버튼 위에 안착 */
	margin-bottom: 0px;
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.info-row {
	display: flex;
	align-items: center;
	gap: 6px;
}

.row-label {
	font-size: 13rem;
	font-weight: 800;
	padding: 1px 5px;
	border-radius: 4px;
	white-space: nowrap;
}

.label-core {
	background: rgba(59, 130, 246, 0.2);
	color: #93c5fd;
	border: 1px solid rgba(59, 130, 246, 0.4);
}

.label-strength {
	background: rgba(16, 185, 129, 0.2);
	color: #6ee7b7;
	border: 1px solid rgba(16, 185, 129, 0.4);
}

.label-caution {
	background: rgba(249, 115, 22, 0.2);
	color: #fdba74;
	border: 1px solid rgba(249, 115, 22, 0.4);
}

.row-text {
	color: #e5e7eb;
	font-size: 13rem;
	font-weight: 500;
	word-break: keep-all;
}

/* 이미지 속 하단 타원형 'Discover More' 버튼 스타일 */
.card-footer2 .btn-more {
	width: 100%;
	display: flex;
	justify-content: space-between;
	align-items: center;
	background: var(--bg-popover);
	color: var(--text-basic);
	text-decoration: none;
	padding: 12px 20px;
	border-radius: 30px;
	font-size: 14rem;
	font-weight: 700;
	transition: background 0.2s;
}

.card-footer2 .btn-more:hover {
	background: #f3f4f6;
}

.modal-name2 {
	font-size: 30rem;
	font-weight: 800;
	color: var(--text-dark);
	margin: 0 0 5rem 0;
}

/* 취업전망 전용 모달 크기 재지정 */
.vision-modal-content {
	width: 800rem;
	height: 650rem;
}

/* Swiper 슬라이더 커스텀 스타일 */
.vision-swiper {
	width: 100%;
	padding: 10rem 0 50rem 0 !important;
	position: relative;
	overflow: hidden;
}

.vision-swiper .swiper-wrapper {
	align-items: stretch;
}

.vision-swiper .swiper-slide {
	height: 520rem !important;
	display: flex;
}

/* Swiper 좌우 네비게이션 버튼 커스텀 */
.vision-swiper-container .swiper-button-prev,
.vision-swiper-container .swiper-button-next {
	color: #ffffff;
	background-color: rgba(15, 23, 42, 0.6);
	width: 44px;
	height: 44px;
	border-radius: 50%;
	transition:
		background-color 0.2s,
		transform 0.2s;
	z-index: 10;
	top: calc(330rem);
}

.vision-swiper-container .swiper-button-prev::after,
.vision-swiper-container .swiper-button-next::after {
	font-size: 16rem;
	font-weight: bold;
}

.vision-swiper-container .swiper-button-prev:hover,
.vision-swiper-container .swiper-button-next:hover {
	background-color: var(--primary-color);
	transform: scale(1.05);
}

.vision-swiper-container .swiper-button-prev {
	left: -22rem;
}

.vision-swiper-container .swiper-button-next {
	right: -22rem;
}

/* 페이지네이션 도트 스타일 */
.vision-swiper .swiper-pagination-bullet {
	background: #cbd5e1;
	opacity: 0.8;
	width: 10rem;
	height: 10rem;
	transition: all 0.3s ease;
}

.vision-swiper .swiper-pagination-bullet-active {
	background: var(--primary-color);
	opacity: 1;
	width: 24rem;
	border-radius: 5rem;
}

/* ==========================================================================
   원서접수 (Admission Apply Form) 프리미엄 스타일
   ========================================================================== */

.admission-tabs {
	background-color: #ffffff;
	border-bottom: 1px solid #e2e8f0;
	margin-bottom: 50rem;
	width: 100%;
	height: 101rem;
}

.admission-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 35rem;
	margin-top: 90rem;
}

/* 과정 카드 전용 포스터 스타일 (첨부 이미지 규격 피팅) */
.admission-card {
	position: relative;
	overflow: hidden;
	border-radius: 16rem;
	height: 520rem;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 25rem;
	box-shadow: 0 10rem 10rem rgba(0, 0, 0, 0.15);
	transition: all 0.35s ease;
	cursor: pointer;
	/* aspect-ratio: 19 / 27; */
}

.admission-card:hover .admission-content-wrap {
	transform: translateY(-10rem);
}

/* 1. 이미지 전체 커버 (자식 요소 border-radius 제거) */
.admission-img-wrap {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	margin-bottom: 0;
	border-radius: 0;
	overflow: visible;
	z-index: 1;
	background-color: #0f172a;
}

.admission-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.5s ease;
	backface-visibility: hidden;
}

.admission-card:hover .admission-img-wrap img {
	transform: scale(1.05);
}

/* 어두운 그라데이션 오버레이 (하단 텍스트 가독성) */
.admission-card::before {
	content: "";
	position: absolute;
	inset: 0;
	background: linear-gradient(
		to top,
		rgba(0, 0, 0, 0.95) 0%,
		rgba(0, 0, 0, 0.5) 35%,
		rgba(0, 0, 0, 0.05) 75%
	);
	z-index: 2;
}

/* 2. 상단 뱃지 그룹 (좌측 상단) */
.admission-top-badges {
	position: relative;
	z-index: 3;
	display: flex;
	gap: 8rem;
	align-items: center;
}

.admission-top-badges .badge-custom,
.admission-top-badges .badge-red {
	color: #ffffff;
	font-size: 13.5rem;
	font-weight: 700;
	padding: 7rem 16rem;
	border-radius: 20rem;
	box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.15);
	letter-spacing: -0.3rem;
}

.admission-top-badges .badge-red {
	background-color: #c82929;
}

.admission-top-badges .badge-white {
	background-color: rgba(255, 255, 255, 0.7);
	color: #19202b;
	font-size: 13.5rem;
	font-weight: 700;
	padding: 7rem 16rem;
	border-radius: 20rem;
	backdrop-filter: blur(4rem);
	box-shadow: 0 2rem 6rem rgba(0, 0, 0, 0.1);
	letter-spacing: -0.3rem;
}

/* 3. 하단 텍스트 정보 영역 (좌측 하단) */
.admission-content-wrap {
	position: relative;
	z-index: 3;
	text-align: left;
	margin-top: auto;
	transition: transform 0.3s ease;
}

.admission-summary {
	font-size: 14rem;
	color: #ffffff;
	font-weight: 600;
	opacity: 0.95;
	margin-bottom: 6rem;
	letter-spacing: -0.3rem;
}

.admission-course-title {
	font-size: 22rem;
	font-weight: 800;
	color: #ffffff;
	line-height: 1.35;
	margin-bottom: 12rem;
	/* word-break: keep-all; */
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.admission-info-date {
	font-size: 14rem;
	color: rgba(255, 255, 255, 0.85);
	font-weight: 500;
	letter-spacing: -0.2rem;
}

/* 5. 교육기간 & 6. 본인부담금 정보 리스트 */
.admission-info-list {
	border-top: 1px dashed #e2e8f0;
	padding-top: 16rem;
	display: flex;
	flex-direction: column;
	gap: 8rem;
	margin-top: auto;
}

.admission-info-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14rem;
	color: var(--text-muted);
}

.admission-info-item strong {
	color: var(--text-dark);
	font-weight: 600;
}

.admission-price {
	color: var(--primary-color);
	font-weight: 800;
	font-size: 15rem;
}

.admission-price.free {
	color: #10b981;
}

.admission-subsidy {
	font-size: 11.5rem;
	color: #71717a;
	text-align: right;
	margin-top: -4rem;
}

.admission-grid-det .admission-card {
	background: #ffffff;
	border: 1px solid var(--border-color);
	border-radius: 16rem;
	padding: 24rem;
	transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	justify-content: flex-start;
	box-shadow: 0 4rem 15rem rgba(0, 0, 0, 0.02);
}

.admission-grid-det .admission-card::before {
	content: none !important;
	display: none !important;
}

.admission-grid-det .admission-img-wrap {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	border-radius: 10rem;
	position: relative;
	margin-bottom: 16rem;
	background-color: #f4f4f5;
}

.admission-grid-det .admission-img-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.admission-grid-det .admission-btn-group {
	display: flex;
	gap: 8rem;
	margin-bottom: 18rem;
}

.admission-grid-det .admission-btn-group .btn-apply {
	flex: 1;
	text-align: center;
	background-color: var(--primary-color);
	color: #ffffff !important;
	padding: 10rem 0;
	border-radius: 8rem;
	font-size: 14rem;
	font-weight: 700;
	transition: background-color 0.2s;
	text-decoration: none;
}

.admission-grid-det .admission-btn-group .btn-detail {
	flex: 1;
	text-align: center;
	border: 1px solid #aaaaaa;
	background-color: #ffffff;
	color: var(--text-dark) !important;
	padding: 10rem 0;
	border-radius: 8rem;
	font-size: 14rem;
	font-weight: 700;
	transition: all 0.2s;
	text-decoration: none;
}

.admission-grid-det .admission-btn-group .btn-apply:hover {
	background-color: #0d3972;
}

.admission-grid-det .admission-btn-group .btn-detail:hover {
	background-color: #f8fafc;
	border-color: var(--text-basic);
}

.admission-grid-det .admission-summary {
	font-size: 13.5rem;
	color: var(--sub-color);
	font-weight: 700;
	margin-bottom: 8rem;
	text-align: left;
	white-space: nowrap;
	overflow: none;
	text-overflow: ellipsis;
	height: 24rem;
	opacity: 1;
	letter-spacing: 0rem;
}

.admission-grid-det .admission-course-title {
	font-size: 20rem;
	font-weight: 800;
	color: var(--text-dark);
	line-height: 1.3;
	margin-bottom: 18rem;
	/* word-break: keep-all; */
	text-align: left;
	min-height: 52rem;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	line-clamp: 2;
	letter-spacing: -0.2rem;
}

.admission-grid-det .admission-info-list {
	border-top: 1px dashed #e2e8f0;
	padding-top: 16rem;
	display: flex;
	flex-direction: column;
	gap: 8rem;
	margin-top: auto;
}

.admission-grid-det .admission-info-item {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14rem;
	color: var(--text-muted);
}

.admission-grid-det .admission-card:hover {
	transform: translateY(-0rem);
	border-color: var(--text-basic);
	box-shadow: 0 20rem 35rem rgba(20, 87, 175, 0.1);
}

/* ==========================================================================
   로그인 페이지 전용 스타일 (Login Page Styling)
   ========================================================================== */
.login-wrapper {
	width: 480rem;
	padding: 40rem;
	border: 1px solid var(--border-color);
	border-radius: 12rem;
	box-shadow: 0 4rem 20rem rgba(0, 0, 0, 0.03);
	background-color: #ffffff;
	text-align: center;
	margin-bottom: 80rem;
	margin-top: 40rem;
}

.login-title {
	font-size: 24rem;
	font-weight: 800;
	color: var(--text-dark);
	margin-bottom: 30rem;
}

.login-form-group {
	display: flex;
	flex-direction: column;
	gap: 16rem;
	margin-bottom: 20rem;
	text-align: left;
}

.login-input-wrap {
	display: flex;
	flex-direction: column;
	gap: 6rem;
}

.login-input-wrap label {
	font-size: 14.5rem;
	font-weight: 700;
	color: var(--text-dark);
}

.login-input {
	height: 48rem;
	padding: 10rem 16rem;
	font-size: 15rem;
	border: 1px solid var(--border-color);
	border-radius: 8rem;
	outline: none;
	background-color: #fafafa;
	transition: all 0.25s ease;
}

.login-input:focus {
	border-color: var(--primary-color);
	background-color: #ffffff;
	box-shadow: 0 0 0 3px rgba(20, 87, 175, 0.1);
}

.login-options {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 14rem;
	color: var(--text-muted);
	margin-bottom: 30rem;
}

.login-options label {
	display: flex;
	align-items: center;
	gap: 6rem;
	cursor: pointer;
}

.login-options input[type="checkbox"] {
	width: 16rem;
	height: 16rem;
	accent-color: var(--primary-color);
}

.login-options a {
	color: var(--sub-color);
	font-weight: 600;
	text-decoration: none;
	transition: color 0.2s;
}

.login-options a:hover {
	color: var(--primary-color);
	text-decoration: underline;
}

.btn-login-submit {
	width: 100%;
	height: 52rem;
	background-color: var(--primary-color);
	color: #ffffff;
	border: none;
	border-radius: 8rem;
	font-size: 16.5rem;
	font-weight: 700;
	cursor: pointer;
	transition:
		background-color 0.2s,
		transform 0.1s;
}

.btn-login-submit:hover {
	background-color: #0d3972;
}

.btn-login-submit:active {
	transform: scale(0.98);
}

.login-signup-link {
	margin-top: 24rem;
	padding-top: 20rem;
	border-top: 1px solid #f4f4f5;
	font-size: 14.5rem;
	color: var(--text-muted);
}

.login-signup-link a {
	color: var(--sub-color);
	font-weight: 700;
	margin-left: 6rem;
	text-decoration: none;
	transition: color 0.2s;
}

.login-signup-link a:hover {
	color: var(--primary-color);
	text-decoration: underline;
}

/* ==========================================================================
   아이디/비밀번호 찾기 페이지 전용 스타일 (ID/PW Search Styling)
   ========================================================================== */
.search-wrapper {
	width: 500rem;
	padding: 40rem;
	border: 1px solid var(--border-color);
	border-radius: 12rem;
	box-shadow: 0 4rem 20rem rgba(0, 0, 0, 0.03);
	background-color: #ffffff;
	margin-bottom: 80rem;
	margin-top: 40rem;
}

.search-section {
	margin-bottom: 40rem;
	padding-bottom: 35rem;
	border-bottom: 1px solid #f4f4f5;
}

.search-section:last-child {
	margin-bottom: 0;
	padding-bottom: 0;
	border-bottom: none;
}

.search-title {
	font-size: 20rem;
	font-weight: 800;
	color: var(--text-dark);
	margin-bottom: 20rem;
	text-align: left;
}

.search-form-group {
	display: flex;
	flex-direction: column;
	gap: 12rem;
	margin-bottom: 20rem;
	text-align: left;
}

.search-input-wrap {
	display: flex;
	flex-direction: column;
	gap: 6rem;
}

.search-input-wrap label {
	font-size: 14rem;
	font-weight: 700;
	color: var(--text-dark);
}

.search-input {
	height: 46rem;
	padding: 10rem 14rem;
	font-size: 14.5rem;
	border: 1px solid var(--border-color);
	border-radius: 8rem;
	outline: none;
	background-color: #fafafa;
	transition: all 0.25s ease;
}

.search-input:focus {
	border-color: var(--primary-color);
	background-color: #ffffff;
	box-shadow: 0 0 0 3px rgba(20, 87, 175, 0.1);
}

.btn-search-id {
	width: 100%;
	height: 46rem;
	background-color: #ffffff;
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
	border-radius: 8rem;
	font-size: 15rem;
	font-weight: 700;
	cursor: pointer;
	transition: all 0.2s;
}

.btn-search-id:hover {
	background-color: rgba(20, 87, 175, 0.05);
	border-color: #0d3972;
	color: #0d3972;
}

.btn-search-pw {
	width: 100%;
	height: 46rem;
	background-color: var(--primary-color);
	border: none;
	color: #ffffff;
	border-radius: 8rem;
	font-size: 15rem;
	font-weight: 700;
	cursor: pointer;
	transition: background-color 0.2s;
}

.btn-search-pw:hover {
	background-color: #0d3972;
}

/* ==========================================================================
   수강신청 페이지 전용 스타일 (Admission Apply Styling)
   ========================================================================== */
.apply-table-wrapper {
	width: 100%;
	margin-bottom: 40rem;
	border-top: 0px solid var(--primary-color);
	border-bottom: 0px solid var(--border-color);
}

.apply-form-table {
	width: 100%;
	border-collapse: collapse;
	text-align: left;
}

.apply-form-table th {
	background-color: #f8fafc;
	color: var(--text-dark);
	font-size: 15rem;
	font-weight: 700;
	padding: 16rem 20rem;
	text-align: left;
	border-bottom: 1px solid var(--border-color);
	vertical-align: middle;
}

.apply-form-table td {
	padding: 16rem 20rem;
	border-bottom: 1px solid var(--border-color);
	vertical-align: middle;
	background-color: #ffffff;
	text-align: left;
}

.apply-form-table .required {
	color: #ef4444;
	margin-left: 2rem;
}

.apply-form-table tr:last-child td {
	border-bottom: 1px solid var(--border-color);
}

/* 입력 필드 공통 */
.form-input,
.form-select {
	height: 46rem;
	padding: 10rem 14rem;
	font-size: 15rem;
	border: 1px solid var(--border-color);
	border-radius: 8rem;
	outline: none;
	background-color: #fafafa;
	transition: all 0.25s ease;
	box-sizing: border-box;
}

.form-input:focus,
.form-select:focus {
	border-color: var(--primary-color);
	background-color: #ffffff;
	box-shadow: 0 0 0 3px rgba(20, 87, 175, 0.1);
}

.form-input[readonly],
.form-select[readonly] {
	background-color: #f1f3f5;
	color: #868e96;
	cursor: default;
}

/* 입력 필드 너비 유틸리티 */
.w-150 {
	width: 150rem !important;
}

.w-200 {
	width: 200rem !important;
}

.w-300 {
	width: 300rem !important;
}

.w-400 {
	width: 400rem !important;
}

.w-full {
	width: 100% !important;
}

/* 라디오 버튼 그룹 */
.radio-group {
	display: flex;
	gap: 20rem;
	align-items: center;
}

.radio-label {
	display: flex;
	align-items: center;
	gap: 8rem;
	font-size: 15rem;
	font-weight: 500;
	color: var(--text-basic);
	cursor: pointer;
}

.radio-label input[type="radio"] {
	width: 18rem;
	height: 18rem;
	accent-color: var(--primary-color);
	cursor: pointer;
}

/* 서브 버튼 (우편번호 검색 등) */
.btn-zip-code {
	height: 46rem;
	padding: 0 20rem;
	background-color: #ffffff;
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
	font-size: 14.5rem;
	font-weight: 600;
	border-radius: 8rem;
	cursor: pointer;
	transition: all 0.2s;
	white-space: nowrap;
}

.btn-zip-code:hover {
	border: 1px solid var(--text-basic);
	background-color: #f1f3f5;
	color: var(--text-dark);
}

/* 간격 조정 및 정렬 */
.g-10 {
	gap: 10rem;
}

.mb-10 {
	margin-bottom: 10rem;
}

/* 개인정보 동의 박스 */
.apply-agree-box {
	margin-top: 30rem;
	margin-bottom: 40rem;
	padding: 24rem;
	border: 1px solid var(--border-color);
	border-radius: 12rem;
	background-color: #f8fafc;
}

.agree-label {
	display: flex;
	align-items: center;
	gap: 10rem;
	font-size: 15rem;
	font-weight: 700;
	color: var(--text-dark);
	margin-bottom: 10rem;
	cursor: pointer;
}

.agree-label input[type="checkbox"] {
	width: 18rem;
	height: 18rem;
	accent-color: var(--primary-color);
	cursor: pointer;
}

.agree-desc {
	font-size: 13.5rem;
	color: var(--text-muted);
	line-height: 1.6;
	padding-left: 28rem;
}

/* 신청 버튼 영역 */
.apply-btn-wrapper {
	display: flex;
	justify-content: center;
	margin-bottom: 80rem;
}

.btn-apply-submit {
	width: 240rem;
	height: 54rem;
	background-color: var(--primary-color);
	color: #ffffff;
	border: none;
	border-radius: 8rem;
	font-size: 17rem;
	font-weight: 700;
	cursor: pointer;
	transition:
		background-color 0.2s,
		transform 0.1s;
	box-shadow: 0 4rem 12rem rgba(20, 87, 175, 0.2);
}

.btn-apply-submit:hover {
	background-color: #0d3972;
	transform: translateY(-0rem);
}

.btn-apply-submit:active {
	transform: translateY(0rem);
}

/* 반응형 테이블 디자인 */

/* ==========================================================================
   교육과정안내
   ========================================================================== */

.cont-title {
	font-size: 25rem;
	padding-bottom: 30rem;
	font-weight: 700;
}

.course-info-section {
	padding-top: 60rem;
	max-width: 1200rem;
	margin: 0 auto;
}

.course-info-item {
	margin-bottom: 30rem;
}

.course-info-item.w-full {
	width: 100%;
}

.course-info-item.mb-0 {
	margin-bottom: 0;
}

.course-info-sub-title {
	font-size: 19rem;
	font-weight: 700;
	color: var(--primary-color);
	margin-bottom: 10rem;
}

.course-info-desc {
	font-size: 17rem;
	color: var(--text-basic);
	line-height: 1.6;
}

.course-info-desc.mb-0 {
	margin-bottom: 0;
}

.course-info-desc.mb-10 {
	margin-bottom: 10rem;
}

.course-info-list {
	list-style: disc;
	padding-left: 20rem;
	font-size: 16rem;
	color: var(--text-muted);
	display: flex;
	flex-direction: column;
	gap: 6rem;
	margin-bottom: 0rem;
}

.course-info-list.mb-10 {
	margin-bottom: 10rem;
}

.course-info-list.gap-4 {
	gap: 4rem;
}

.course-info-list.f-135 {
	font-size: 15rem;
}

.course-info-tip-box {
	background-color: #f8fafc;
	border: 1px solid var(--border-color);
	border-radius: 8rem;
	padding: 20rem;
	line-height: 1.6;
}

.course-info-tip-title {
	color: var(--text-dark);
	display: block;
	margin-bottom: 6rem;
	font-size: 14.5rem;
}

.course-info-tip-desc {
	font-size: 15rem;
	color: var(--text-basic);
	margin-bottom: 8rem;
}

.course-info-tip-note {
	font-size: 14rem;
	color: var(--text-muted);
	display: block;
	line-height: 1.5;
	margin-bottom: 5rem;
}

.course-info-caution-text {
	font-size: 15rem;
	color: #ef4444;
	display: block;
	font-weight: 700;
	margin-bottom: 15rem;
}

.btn-course-link {
	display: inline-block;
	margin-left: 10rem;
	padding: 5rem 12rem;
	background-color: #ffffff;
	border: 1px solid #ccc;
	color: var(--text-basic);
	font-size: 13rem;
	font-weight: 700;
	border-radius: 8rem;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-course-link:hover {
	background-color: var(--sub-color);
	color: #ffffff;
	border: 1px solid var(--sub-color);
}

.course-info-steps {
	display: flex;
	flex-direction: column;
	gap: 25rem;
	width: 100%;
}

.course-info-step-item {
	border-left: 3px solid var(--primary-color);
	padding-left: 15rem;
}

.course-info-step-title {
	font-size: 18rem;
	color: var(--text-dark);
	display: block;
	margin-bottom: 6rem;
}

.course-info-step-desc {
	font-size: 16rem;
	color: var(--text-muted);
	display: block;
	line-height: 1.6;
}

.course-info-step-note {
	font-size: 13rem;
	color: var(--text-muted);
	font-weight: 500;
}

.btn-course-step-link {
	display: inline-block;
	margin-left: 5rem;
	padding: 2rem 8rem;
	border: 1px solid var(--border-color);
	border-radius: 4rem;
	font-size: 12rem;
	color: var(--primary-color);
	text-decoration: none;
	font-weight: 700;
}

.btn-course-step-link:hover {
	background-color: #f1f5f9;
}

.course-info-step-warning {
	font-size: 13rem;
	color: #ef4444;
	font-weight: 700;
}

/* 공통 레이어 모달 */
.custom-modal-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.4);
	display: flex;
	justify-content: center;
	align-items: center;
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition:
		opacity 0.3s ease,
		visibility 0.3s ease;
}

.custom-modal-overlay.active {
	opacity: 1;
	visibility: visible;
}

.custom-modal-content {
	background-color: #fff;
	width: 90%;
	max-width: 420px;
	padding: 25px;
	border-radius: 8px;
	box-shadow: 0 10px 25px rgba(0, 0, 0, 0.15);
	transform: scale(0.85);
	transition: transform 0.3s ease;
	text-align: center;
}

.custom-modal-overlay.active .custom-modal-content {
	transform: scale(1);
}

.custom-modal-header {
	font-size: 18px;
	font-weight: 600;
	color: #333;
	margin-bottom: 15px;
}

.custom-modal-body {
	font-size: 15px;
	color: #666;
	line-height: 1.6;
	margin-bottom: 20px;
}

.custom-modal-body .temp-password-box {
	background-color: #f8f9fa;
	border: 1px dashed #ced4da;
	padding: 10px;
	font-size: 20px;
	font-weight: 700;
	color: #d9534f;
	letter-spacing: 1px;
	margin: 15px 0;
	border-radius: 4px;
	user-select: all;
	/* 더블클릭 시 전체 선택 */
}

.custom-modal-footer {
	display: flex;
	justify-content: center;
}

.custom-modal-close-btn {
	background-color: #3f51b5;
	color: #fff;
	border: none;
	padding: 10rem 24rem;
	font-size: 14rem;
	font-weight: 600;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.2s;
}

.custom-modal-close-btn:hover {
	background-color: #303f9f;
}

body.modal-open {
	overflow: hidden;
}

.curri-view-header {
	margin-top: -130rem;
	padding: 100rem 0 50rem;
	border-bottom: 1px solid #e6e6e6;
}

.curri_title {
	font-weight: 700;
	color: #444;
	letter-spacing: 0rem;
	font-size: 44rem;
	max-width: 1200rem;
	margin: 0 auto;
}

.curri_title-cate {
	font-weight: 500;
	color: #888;
	padding: 5rem 0rem;
	font-size: 17rem;
}

div.top_bar {
	display: flex;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	font-size: 15rem;
	color: #444;
	font-weight: 400;
}

.hero-meta {
	display: flex;
	align-items: center;
	gap: 12rem;
	margin-bottom: 20rem;
	flex-wrap: wrap;
	max-width: 1200rem;
	margin: 0 auto;
	padding: 5rem 0;
}

.category-badge {
	color: var(--text-basic);
	padding: 6rem 14rem;
	border-radius: 50rem;
	font-size: 13.5rem;
	font-weight: 500;
	background-color: #efefef;
	border: 1px solid var(--border-color);
}

.state-badge {
	background-color: #3b82f6;
	color: #ffffff;
	padding: 6rem 14rem;
	border-radius: 50rem;
	font-size: 13.5rem;
	font-weight: 700;
}

.state-badge.state-모집중 {
	background-color: #10b981;
}

.state-badge.state-모집예정 {
	background-color: #f59e0b;
}

.state-badge.state-교육중 {
	background-color: #3b82f6;
}

.state-badge.state-수료 {
	background-color: #6b7280;
}

.hero-tags {
	gap: 15rem;
	font-size: 15rem;
	color: #797979;
	max-width: 1200rem;
	margin: 0 auto;
}

.hero-tags span {
	display: flex;
	align-items: center;
	gap: 5px;
}

.hero-tags span::before {
	content: "#";
	color: #6491db;
	font-weight: bold;
}

.course-view-container {
	max-width: 1200rem;
	margin: 60rem auto 80rem;
	padding: 0 0px;
	color: #1e293b;
	font-size: 16rem;
}

/* 2단 구성 */
.course-details-layout {
	display: grid;
	grid-template-columns: 8fr 4fr;
	gap: 40rem;
}

.section-headline {
	font-size: 22rem;
	font-weight: 700;
	margin-bottom: 24rem;
	padding-bottom: 12rem;
	border-bottom: 2px solid #e2e8f0;
	position: relative;
	color: #0f172a;
}

.section-headline::after {
	content: "";
	position: absolute;
	bottom: -2px;
	left: 0;
	width: 100rem;
	height: 2px;
	background-color: #3b82f6;
}

/* 훈련목표 */
.summary-box {
	background-color: #f8fafc;
	padding: 24rem;
	border-radius: 12rem;
	font-size: 15rem;
	margin-bottom: 40rem;
	white-space: pre-wrap;
	line-height: 1.6;
}

/* 지원 혜택 테이블 스타일 */
.benefit-list {
	display: flex;
	flex-direction: column;
	gap: 16rem;
	margin-bottom: 45rem;
}

.benefit-item {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 12rem;
	padding: 20rem;
	display: grid;
	grid-template-columns: 150rem 1fr;
	gap: 20rem;
	align-items: center;
}

.benefit-title {
	font-weight: 700;
	color: #0f172a;
	font-size: 16rem;
	display: flex;
	align-items: center;
	gap: 8rem;
}

.benefit-title::before {
	content: "";
	display: inline-block;
	width: 6rem;
	height: 6rem;
	background-color: #3b82f6;
	border-radius: 50%;
}

.benefit-content {
	color: #475569;
	font-size: 15rem;
	line-height: 1.6;
	white-space: pre-wrap;
}

.curri-teach {
	display: grid;
	grid-template-columns: 175rem 1fr;
	gap: 20rem;
}

.curri-teach-img {
	width: 100%;
	max-width: 150rem;
}

.curri-teach-name {
	max-width: 150rem;
	text-align: center;
	font-size: 16rem;
	font-weight: 600;
	margin-top: 10rem;
}

.curri-teach-img img {
	border-radius: 10rem;
}

.curri-teach-con dt {
	font-size: 17rem;
	font-weight: 600;
}

.bottom-actions {
	margin-top: 50rem;
	border-top: 1px solid #e2e8f0;
	padding-top: 30rem;
	display: flex;
	justify-content: center;
}

.btn-list-back {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	padding: 12rem 30rem;
	border: 1px solid #c6c6c6;
	background-color: #f5f5f5;
	color: #444;
	font-size: 15rem;
	font-weight: 500;
	border-radius: 4rem;
	transition: all 0.3s ease;
}

.btn-list-back:hover {
	border: 1px solid #666;
	color: #222;
	transition: all 0.3s ease;
}

.btn-action-primary {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 52rem;
	background-color: #1e3a8a;
	color: #ffffff;
	font-size: 16rem;
	font-weight: 700;
	border-radius: 10rem;
	text-decoration: none;
	transition:
		background-color 0.2s,
		transform 0.1s;
	border: none;
	cursor: pointer;
}

.btn-action-primary:hover {
	background-color: #1d4ed8;
}

.btn-action-primary:active {
	transform: scale(0.98);
}

a.btn-action-primary {
	color: #ffffff;
}

.btn-action-secondary {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 50rem;
	background-color: #ffffff;
	border: 1.5px solid #cbd5e1;
	color: #475569;
	font-size: 16rem;
	font-weight: 700;
	border-radius: 10rem;
	text-decoration: none;
	transition: all 0.2s;
}

.btn-action-secondary:hover {
	border-color: #94a3b8;
	background-color: #f8fafc;
	color: #1e293b;
}

.contact-info-box {
	margin-top: 20rem;
	border-top: 1px solid #f1f5f9;
	padding-top: 20rem;
}

.contact-phone {
	font-size: 22rem;
	font-weight: 800;
	color: #1e3a8a;
	display: flex;
	align-items: center;
	gap: 8rem;
	margin-top: 6rem;
}

/* 우측 사이드바 */
.sidebar-sticky {
	position: sticky;
	top: 120rem;
	display: flex;
	flex-direction: column;
	gap: 25rem;
}

.sidebar-card {
	background-color: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 16rem;
	padding: 24rem;
	box-shadow: 0 4rem 12rem rgba(0, 0, 0, 0.02);
}

.sidebar-image-wrap {
	border-radius: 12rem;
	overflow: hidden;
	border: 1px solid #e2e8f0;
	margin-bottom: 20rem;
	background-color: #f8fafc;
	display: flex;
	justify-content: center;
	align-items: center;
	aspect-ratio: 4/3;
}

.sidebar-image-wrap img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.sidebar-btn-group {
	display: flex;
	flex-direction: column;
	gap: 12rem;
}

.sidebar-info {
	margin-bottom: 20rem;
	font-size: 16rem;
	display: grid;
	grid-template-columns: 100rem 1fr;
}

.sidebar-info-title {
	font-size: 15rem;
	font-weight: 600;
	margin-bottom: 3rem;
	display: flex;
	align-items: center;
	gap: 5rem;
}

.sidebar-info-title::before {
	content: "";
	display: inline-block;
	width: 5rem;
	height: 5rem;
	background-color: #4e84db;
	border-radius: 50%;
}

.sidebar-info-body {
	font-size: 15rem;
	color: #64748b;
}

.page-content-main {
	max-width: initial;
	width: 100%;
	margin: 0 auto;
	position: relative;
	overflow: hidden;
}

.page-content-main-100 {
	max-width: 100%;
	margin: 0;
	position: relative;
	overflow: hidden;
	margin-top: 75rem;
}

.section-title-main {
	font-size: 45rem;
	font-weight: 800;
	color: #222222;
	text-align: center;
	margin-bottom: 10rem;
}

.section-title-sub {
	font-size: 19rem;
	font-weight: 400;
	color: #222222;
	text-align: center;
	margin-bottom: 0rem;
}

.section-title-main-left {
	font-size: 55rem;
	font-weight: 800;
	color: #222222;
	text-align: left;
	line-height: 1.2;
	margin-top: 10rem;
}

.bg-gradient {
	/* 베이스 검은색 배경 위에 좌상단 보라색, 우하단 블루 광원 레이어 배치 */
	background-color: #080810;
	background-image:
        /* 좌측 상단 딥 퍼플 광원 */
		radial-gradient(
			circle at 25% 30%,
			rgba(55, 30, 95, 0.75) 0%,
			rgba(20, 15, 35, 0.4) 40%,
			transparent 70%
		),
		/* 우측 하단 딥 블루 광원 */
		radial-gradient(
				circle at 80% 70%,
				rgba(25, 45, 95, 0.7) 0%,
				rgba(15, 20, 45, 0.3) 45%,
				transparent 75%
			);
}

.recruitingSwiper {
	max-width: 1600rem;
	margin: 0 auto;
	padding-left: 10rem !important;
	padding-right: 10rem !important;
	position: relative;
	overflow: hidden;
}

/* [추가] 양 끝 카드의 보더라인 및 그림자 잘림 방지 */
.recruitingSwiper .swiper-wrapper {
	padding: 0px 0px;
	/* 좌우 패딩을 균등하게 4px로 조절 */
	box-sizing: border-box;
}

/* [추가] 4개 이하 정지 상태일 때 마지막 카드의 불필요한 우측 마진을 없애 대칭 정렬 보정 */
.recruitingSwiper.recruiting-locked .swiper-slide:last-child {
	margin-right: 0 !important;
}

/* recruiting Swiper Arrows */
.recruitingSwiper .recruiting-next,
.recruitingSwiper .recruiting-prev {
	color: #475569;
	width: 44rem;
	height: 44rem;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 50%;
	box-shadow:
		0 4rem 6rem -1rem rgba(0, 0, 0, 0.05),
		0 2rem 4rem -1rem rgba(0, 0, 0, 0.03);
	transition: all 0.2s ease;
}

.recruitingSwiper .recruiting-next:after,
.recruitingSwiper .recruiting-prev:after {
	font-size: 16rem;
	font-weight: 800;
}

.recruitingSwiper .recruiting-next:hover,
.recruitingSwiper .recruiting-prev:hover {
	background: #f8fafc;
	border-color: #cbd5e1;
	color: #1e293b;
}

.recruitingSwiper .recruiting-prev {
	left: 5rem;
}

.recruitingSwiper .recruiting-next {
	right: 5rem;
}

/* Swiper 4개 이하 Lock 걸렸을 때 화살표 숨김 */
.recruitingSwiper .swiper-button-lock {
	display: none !important;
}

.recruitingSwiper {
	/* 하단 스크롤바가 들어올 공간(padding-bottom)을 추가로 확보합니다 */
	padding-bottom: 40rem !important;
}

.recruitingSwiper .recruiting-scrollbar {
	position: absolute;
	bottom: 12rem;
	left: 70rem;
	/* 화살표 버튼 안쪽 여백에 맞춤 */
	width: calc(100% - 140rem);
	height: 3rem !important;
	background: #e2e8f0;
	/* 상태바 배경 트랙 색상 */
	border-radius: 10rem;
	opacity: 1 !important;
	/* 항상 노출 */
}

.recruitingSwiper .recruiting-scrollbar .swiper-scrollbar-drag {
	background: #2853ab;
	/* 실제 드래그할 핸들러 색상 */
	border-radius: 10rem;
	cursor: grab;
}

.recruitingSwiper .recruiting-scrollbar .swiper-scrollbar-drag:active {
	cursor: grabbing;
}

/* 4개 이하 잠금 시 및 Swiper 기본 lock 시 스크롤바 비노출 */
.recruitingSwiper.recruiting-locked .recruiting-scrollbar,
.recruitingSwiper .swiper-scrollbar-lock {
	display: none !important;
}

.main-pr {
	max-width: 1600rem;
	margin: 0 auto;
	height: 600rem;
	background: url(/img/main-pr.jpg) center top no-repeat;
	position: relative;
	padding-top: 105rem;
	padding-left: 25rem;
	box-sizing: border-box;
}

.main-pr .pr-title {
	font-size: 48rem;
	color: #ffffff;
	font-weight: 700;
	line-height: 1.2;
}

.main-pr .pr-title span {
	display: block;
	font-size: 24rem;
	color: #ffffff;
	font-weight: 600;
	margin-top: 30rem;
	line-height: 1.3;
}

.job-certi {
	display: grid;
	grid-template-columns: 4fr 2.5fr 2.5fr;
	gap: 40rem;
}

.section-title-main-left span {
	font-size: 21rem;
	color: #636363;
	font-weight: 400;
	display: block;
	line-height: 1.4;
	margin-top: 30rem;
}

.job-certi-card {
	background-color: #0e1b32;
	border-radius: 14rem;
	padding: 30rem;
	transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
}

.job-certi-card:hover {
	background-color: #112446;
	/* box-shadow: 0 4px 12px rgba(0, 0, 0, 0.68); */
}

.jobCertiSwiper-employment,
.jobCertiSwiper-license {
	width: 100%;
	height: 350rem;
	border-radius: 14rem;
	overflow: hidden;
}

.jobCertiSwiper-employment .job-certi-card,
.jobCertiSwiper-license .job-certi-card {
	height: 100%;
}

.job-certi-card-title {
	background-color: #2d394d;
	border-radius: 100rem;
	font-size: 20rem;
	font-weight: 700;
	color: #ffffff;
	max-width: 165rem;
	margin: 0 auto;
	text-align: center;
	padding: 6rem 0;
}

.job-certi-card-percent {
	font-size: 110rem;
	font-weight: 900;
	color: #fd8643;
	text-align: center;
	padding: 45rem 0 30rem 0;
	line-height: 1;
	letter-spacing: -3px;
}

.job-certi-card-percent-2 {
	color: #5eb9ff;
}

.job-certi-card-percent span {
	font-size: 70rem;
}

.job-certi-card-footer {
	max-width: 100%;
	border-top: 1px solid #283449;
	margin: 0 auto;
}

.job-certi-card-footer span:first-child {
	display: block;
	font-size: 19rem;
	color: #ffffff;
	font-weight: 700;
	margin: 25rem 0 10rem 0;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
	text-align: center;
}

.job-certi-card-footer span:last-child {
	display: none !important;
	font-size: 16rem;
	color: #909193;
	font-weight: 500;
}

.news-cate {
	width: 100%;
	margin-top: 20rem;
}

.news-cate .tab-menu {
	display: flex;
	list-style: none;
	gap: 40px;
	padding-left: 0px;
}

.news-cate .tab-menu .tab-item {
	position: relative;
	padding: 15px 0;
}

.news-cate .tab-menu .tab-item a {
	text-decoration: none;
	color: #888888;
	font-size: 20rem;
	font-weight: 500;
	transition: color 0.2s ease;
}

.news-cate .tab-menu .tab-item a:hover {
	color: #222222;
}

.news-cate .tab-menu .tab-item.active a {
	color: #222222;
	font-weight: 800;
}

.news-cate .tab-menu .tab-item::after {
	content: "";
	position: absolute;
	bottom: 0px;
	left: 50%;
	width: 0;
	height: 2rem;
	background-color: var(--primary-color);
	transition: width 0.3s ease;
	transform: translateX(-50%);
}

.news-cate .tab-menu .tab-item.active::after {
	width: 100%;
}

.main-news {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 50rem;
	margin-top: 50rem;
}

.main-news.tab-content {
	display: none;
}

.main-news.tab-content.active {
	display: grid;
}

.news-card .news-card-img {
	width: 100%;
	aspect-ratio: 4 / 2.5;
	overflow: hidden;
	border-radius: 10rem;
	position: relative;
	margin-bottom: 25rem;
	background-color: #f4f4f5;
}

.news-card .news-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	transition: transform 0.4s ease;
}

.news-card:hover .news-card-img img {
	transform: scale(1.03);
}

.news-card .news-card-title {
	font-size: 19rem;
	color: #363636;
	font-weight: 600;
	margin-bottom: 10rem;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 1;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-card .news-card-date {
	font-size: 16rem;
	color: #828282;
	font-weight: 400;
}

.partner-wrapper {
	max-width: 100%;
	margin: 0rem auto 0 auto;
	position: relative;
	overflow: hidden;
}

.partner-wrapper::before,
.partner-wrapper::after {
	content: "";
	position: absolute;
	top: 0;
	width: 150rem;
	height: 100%;
	z-index: 2;
	pointer-events: none;
}

.partner-container {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 0rem 0;
}

.banner-row {
	display: flex;
	flex-wrap: wrap;
	gap: 20rem;
	justify-content: center;
	width: 100%;
	max-width: 1320rem;
	padding: 0 20rem;
}

.partner-item {
	width: 200rem;
	height: 60rem;
	display: flex;
	align-items: center;
	justify-content: center;
	font-weight: 600;
	color: #334155;
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	padding: 0rem;
}

.partner-item img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.cs-container {
	width: 100%;
	max-width: 1600rem;
	margin: 0 auto;
	padding: 40rem 20rem;
	text-align: center;
}

.cs-menu {
	display: flex;
	justify-content: center;
	gap: 20rem;
	list-style: none;
	margin-bottom: 15rem;
}

.cs-menu-item {
	display: inline-flex;
	align-items: center;
	text-decoration: none;
	color: #333333;
	font-size: 19rem;
	font-weight: 700;
}

.cs-phone {
	margin-bottom: 15rem;
}

.cs-phone a {
	text-decoration: none;
	color: #000000;
	font-size: 54rem;
	font-weight: 800;
	letter-spacing: -1rem;
}

.cs-info {
	color: #666666;
	font-size: 15rem;
	font-weight: 400;
	display: flex;
	justify-content: center;
	align-items: center;
}

.cs-info .divider {
	display: inline-block;
	width: 3rem;
	height: 3rem;
	background-color: #999999;
	border-radius: 50%;
	margin: 0 12rem;
}

.myinfo-wrapper {
	width: 560rem;
	padding: 40rem;
	border: 1px solid var(--border-color);
	border-radius: 12rem;
	box-shadow: 0 4rem 20rem rgba(0, 0, 0, 0.03);
	background-color: #ffffff;
	margin-bottom: 80rem;
}

/* 팝업 오픈 시 배경 스크롤 방지 */
html.popup-open,
body.popup-open {
	overflow: hidden !important;
	height: 100% !important;
	touch-action: none !important;
}

/* 팝업 레이어 오버레이 배경 및 컨테이너 스타일링 */
.integrated-popup-wrap {
	position: fixed;
	top: 0;
	left: 0;
	width: 100vw;
	height: 100vh;
	z-index: 10000;
	background: rgba(0, 0, 0, 0.6);
	backdrop-filter: blur(2rem);
	display: none;
	align-items: center;
	justify-content: center;
}

.integrated-popup-wrap.is-open {
	display: flex;
}

.popup-box-container {
	width: 550rem;
	max-height: 734rem;
	background: rgba(255, 255, 255, 0.98);
	border-radius: 12rem;
	box-shadow: 0 25rem 55rem rgba(0, 0, 0, 0.5);
	display: flex;
	flex-direction: column;
	overflow: hidden;
}

.popup-body-content {
	flex: 1;
	background-color: #fff;
	height: 680rem;
	/* 세로 규격 680rem 피팅 */
	max-height: 680rem;
	position: relative;
}

.popup-html-render {
	padding: 0rem;
	font-size: 14rem;
	line-height: 1.6;
	color: #334155;
}

.popup-html-render img {
	max-width: 100% !important;
	height: auto !important;
	display: block;
	margin: 0 auto;
}

.popup-link-wrapper {
	display: block;
	text-decoration: none;
	color: inherit;
}

.popup-swiper {
	width: 100%;
	height: 100%;
	position: relative;
}

.popup-nav-btn {
	width: 35rem !important;
	height: 35rem !important;
	/* background-color: rgba(30, 41, 59, 0.7); */
	border: 0px;
	border-radius: 50%;
	color: #fff !important;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background-color 0.2s;
	box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
}

.popup-swiper .popup-nav-btn::after {
	content: none;
}

.popup-nav-btn img {
	width: 9rem;
	height: auto;
}

.popup-nav-btn:hover {
	background-color: rgba(193, 194, 196, 0.95);
}

/* .swiper-button-prev {
	left: 4rem !important;
}

.swiper-button-next {
	right: 4rem !important;
} */

.popup-swiper-controls-bar {
	position: absolute;
	bottom: 10rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 10;
	display: flex;
	align-items: center;
	gap: 12rem;
	background: rgba(30, 41, 59, 0.5);
	backdrop-filter: blur(8rem);
	-webkit-backdrop-filter: blur(8rem);
	padding: 6rem 14rem;
	border-radius: 30rem;
}

.btn-autoplay-toggle {
	background: none;
	border: none;
	color: #fff;
	cursor: pointer;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 20rem;
	height: 20rem;
	outline: none;
	transition: opacity 0.2s;
}

.btn-autoplay-toggle:hover {
	opacity: 0.8;
}

.popup-page-counter {
	font-size: 13rem;
	color: #e2e8f0 !important;
	font-weight: 600;
	letter-spacing: 0.5rem;
	user-select: none;
}

.popup-footer-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 12rem 20rem;
	background-color: #f8fafc;
	border-top: 1px solid #e2e8f0;
}

.today-hide-label {
	font-size: 14rem;
	font-weight: 500;
	color: #64748b;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 6rem;
	user-select: none;
}

.popup-close-btn {
	background-color: #475569;
	color: #fff;
	border: none;
	padding: 6rem 16rem;
	font-size: 14rem;
	font-weight: 500;
	border-radius: 4rem;
	cursor: pointer;
	transition: background-color 0.2s;
}

.popup-close-btn:hover {
	background-color: #334155;
}

@media (max-width: 600px) {
	.popup-box-container {
		width: 92vw;
		max-height: 90vh;
	}

	.popup-body-content {
		height: auto;
		max-height: calc(90vh - 52rem);
	}
}

/* 모바일 반응형 대응 (중앙 정렬 및 오버레이 유지) */

.join-wrapper {
	width: 560rem;
	padding: 40rem;
	border: 1px solid var(--border-color);
	border-radius: 12rem;
	box-shadow: 0 4rem 20rem rgba(0, 0, 0, 0.03);
	background-color: #ffffff;
	margin-bottom: 80rem;
}

/* ==========================================
   입력창 + 버튼 가로 결합 그룹 (.input-btn-group)
   ========================================== */

/* PC 기본 스타일 */
.input-btn-group {
	display: flex;
	gap: 10rem;
	width: 100%;
	align-items: center;
}

.input-btn-group .form-input {
	flex: 1;
	min-width: 0;
	/* Flex 자식 찌그러짐 방지 치트키 */
	height: 48rem;
	padding: 10rem 16rem;
	font-size: 15rem;
	border: 1px solid var(--border-color);
	border-radius: 8rem;
	outline: none;
	background-color: #fafafa;
	transition:
		border-color 0.2s,
		background-color 0.2s;
}

.input-btn-group .form-input:focus {
	border-color: var(--primary-color);
	background-color: #ffffff;
}

.input-btn-group .btn-check {
	height: 48rem;
	padding: 0 20rem;
	background-color: #ffffff;
	border: 1px solid var(--primary-color);
	color: var(--primary-color);
	font-size: 14rem;
	font-weight: 700;
	border-radius: 8rem;
	cursor: pointer;
	white-space: nowrap;
	/* 중복확인 텍스트 줄바꿈 방지 */
	flex-shrink: 0;
	/* 모바일에서 버튼 폭 축소 방지 */
	transition: all 0.2s ease;
}

.input-btn-group .btn-check:hover {
	background-color: var(--primary-color);
	color: #ffffff;
}

/* ==========================================
   768px 미만 모바일 반응형
   ========================================== */

/* ==========================================================================
   (1024px 이하 )
   ========================================================================== */

/* 미디어 쿼리 헬퍼 클래스 */

/* ==========================================
   오시는 길 (/info/location) 1024px 이하 반응형
   ========================================== */

/* 768px 미만 (모바일): 한 줄에 2명 배치 */

/* ==========================================
   768px 미만 푸터 반응형 (모바일 최적화)
   ========================================== */

/* 모바일 햄버거 버튼 */
.btn-hamburger {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	width: 26px;
	height: 19px;
	background: transparent;
	border: none;
	cursor: pointer;
	padding: 0;
	z-index: 1020;
}

.btn-hamburger span {
	display: block;
	width: 100%;
	height: 2px;
	background-color: var(--text-dark);
	border-radius: 2px;
	transition: all 0.3s ease;
}

.btn-hamburger.active span:nth-child(1) {
	transform: translateY(8.5px) rotate(45deg);
}

.btn-hamburger.active span:nth-child(2) {
	opacity: 0;
}

.btn-hamburger.active span:nth-child(3) {
	transform: translateY(-8.5px) rotate(-45deg);
}

/* 모바일 네비게이션 드로어 & 오버레이 */
.mobile-navigation-wrapper {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	z-index: 2000;
	pointer-events: none;
	visibility: hidden;
	transition: visibility 0.3s;
}

.mobile-navigation-wrapper.active {
	pointer-events: auto;
	visibility: visible;
}

.mobile-nav-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.mobile-navigation-wrapper.active .mobile-nav-overlay {
	opacity: 1;
}

.mobile-nav-drawer {
	position: absolute;
	top: 0;
	right: -320px;
	width: 300px;
	max-width: 85vw;
	height: 100%;
	background-color: #ffffff;
	box-shadow: -4px 0 20px rgba(0, 0, 0, 0.15);
	display: flex;
	flex-direction: column;
	transition: right 0.3s cubic-bezier(0.4, 0, 0.2, 1);
	overflow-y: auto;
}

.mobile-navigation-wrapper.active .mobile-nav-drawer {
	right: 0;
}

/* 모바일 드로어 헤더 & 회원 영역 */
.mobile-nav-header {
	padding: 24px 20px;
	background-color: #f8fafc;
	border-bottom: 1px solid var(--border-color);
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.mobile-user-area {
	display: flex;
	flex-direction: column;
	gap: 12px;
	width: 80%;
}

.mobile-user-area .user-name {
	font-size: 15px;
	color: var(--text-dark);
}

.mobile-user-area .user-btns {
	display: flex;
	gap: 8px;
}

.mobile-user-area .m-btn {
	display: inline-block;
	padding: 6px 14px;
	font-size: 13px;
	font-weight: 600;
	border-radius: 4px;
	background-color: var(--primary-color);
	color: #fff !important;
	text-align: center;
}

.mobile-user-area .m-btn.outline {
	background-color: transparent;
	color: var(--primary-color) !important;
	border: 1px solid var(--primary-color);
}

.btn-close-nav {
	background: none;
	border: none;
	font-size: 28px;
	line-height: 1;
	color: #64748b;
	cursor: pointer;
	padding: 0;
}

/* 모바일 네비게이션 아코디언 메뉴 목록 */
.mobile-navigation {
	padding: 10px 0;
	flex: 1;
}

.m-nav-list {
	display: flex;
	flex-direction: column;
}

.m-nav-item {
	border-bottom: 1px solid #f1f5f9;
}

.m-nav-title {
	display: flex;
	justify-content: space-between;
	align-items: center;
	padding: 16px 20px;
	cursor: pointer;
	transition: background-color 0.2s;
}

.m-nav-title:hover,
.m-nav-item.active .m-nav-title {
	background-color: #f8fafc;
}

.m-nav-trigger {
	font-size: 16px;
	font-weight: 700;
	color: var(--text-dark);
	background: none;
	border: none;
	padding: 0;
	margin: 0;
	text-align: left;
	cursor: pointer;
	font-family: inherit;
}

.m-nav-item.active .m-nav-trigger {
	color: var(--primary-color);
}

.m-arrow {
	width: 8px;
	height: 8px;
	border-right: 2px solid #94a3b8;
	border-bottom: 2px solid #94a3b8;
	transform: rotate(45deg);
	transition: transform 0.3s ease;
}

.m-nav-item.active .m-arrow {
	transform: rotate(-135deg);
	border-color: var(--primary-color);
}

.m-sub-list {
	display: none;
	background-color: #f8fafc;
	padding: 8px 0;
	border-top: 1px solid #f1f5f9;
}

.m-sub-list li a {
	display: block;
	padding: 10px 20px 10px 32px;
	font-size: 14px;
	font-weight: 500;
	color: #475569;
	transition: color 0.2s;
}

.m-sub-list li a:hover {
	color: var(--primary-color);
}

/* ==========================================
   과정 상세 페이지 (Course View) 1024px 이하 반응형
   ========================================== */

/* ==========================================
   취업현황 & 자격증 현황 (.job-grid) 반응형
   ========================================== */

/* 1. 1024px 이하 (태블릿): 한 줄에 2개씩 (2열 배치) */

/* 2. 768px 미만 (모바일): 한 줄에 1개씩 (1열 세로 배치) */

.mt110 {
	margin-top: 110rem;
}

.mt166 {
	margin-top: 166rem;
}

/* 576px 이하 소형 스마트폰에서는 하단 카드도 1열 세로 스택 */

/* ==========================================
   NEWS 섹션 1024px 이하 반응형 (탭 폰트 & 카드 2열 배치)
   ========================================== */

/* 480px 이하 극소형 스마트폰 화면 시 (필요 시 1열로 변경) */

/* 웹접근성 및 SEO 전용 숨김 텍스트 클래스 */
.sr-only {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* 홈페이지 우측 하단 고정 플로팅 레이어 (배경색 #F6E340, 라운드 10rem) */
.fixed-bottom-right-layer {
	position: fixed;
	bottom: 30rem;
	right: 30rem;
	z-index: 9999;
	gap: 15rem;
}

.fixed-bottom-right-layer .fixed-bottom-002,
.fixed-bottom-right-layer .fixed-bottom-001 {
	background-color: #f6e340;
	border-radius: 100rem;
	padding: 11rem;
	box-shadow: 0 4rem 15rem rgba(0, 0, 0, 0.15);
	display: flex;
	align-items: center;
	justify-content: center;
	transition:
		transform 0.3s ease,
		box-shadow 0.3s ease;
	width: 160rem;
	height: 40rem;
}

.fixed-bottom-right-layer .fixed-bottom-001 {
	background-color: #6c59f0;
}

.fixed-bottom-right-layer div:hover {
	transform: translateY(-3rem);
	box-shadow: 0 6rem 20rem rgba(0, 0, 0, 0.22);
}

.fixed-bottom-right-layer div a {
	font-size: 15rem;
	font-weight: 700;
	text-decoration: none;
	display: block;
	line-height: 1;
}

.fixed-bottom-right-layer div a:hover {
	color: #111111;
}

.fixed-bottom-right-layer div a img {
	width: 22rem;
	margin-right: 10rem;
}

.fixed-bottom-right-layer div a.btn-ai-camp:hover,
.fixed-bottom-right-layer div a.btn-ai-camp {
	color: #ffffff;
}

.fixed-bottom-right-layer div a span {
	font-size: 18rem;
	margin-right: 10rem;
}

/* ==========================================================================
   1. 데스크톱 기본 및 고해상도 분기 (@media min-width)
   ========================================================================== */

/* 1024px 이상 (기본 데스크톱) */
/* @media (min-width: 1024px) {
	html {
		font-size: 0.07vw;
	}

	.mobile-only {
		display: none !important;
	}
} */
html {
	font-size: 1px;
}
/* 1400px 이상 (대형 데스크톱) */
/* @media (min-width: 1400px) {
	html {
		font-size: 1px;
	}
} */

/* 기존 레거시 css 이동 */

.greet_01 {
	display: block;
	width: 100%;
	position: relative;
	padding-top: 30px;
}
.greet_01 span {
	font-size: 27px;
	color: #111;
	display: block;
	margin: 10px 0 20px 20px;
	font-weight: 700;
	letter-spacing: -0.5px;
}
.greet_01 .greet_02 {
	width: 100%;
	background: #1d4d91;
	padding: 23px 15px 17px 25px;
	border-radius: 3px;
}
.greet_01 p {
	font-size: 24px;
	color: #fff;
	margin: 0;
	padding: 0;
	font-weight: 500;
	line-height: 39px;
}
.greet_01 .ceo_photo {
	display: block;
	position: absolute;
	top: 7px;
	right: 50px;
	z-index: 10;
}
.greet_01 .ceo_photo img {
	border-radius: 9px;
}
.greet_01 .ceo_photo p {
	font-size: 16px;
	width: 100%;
	text-align: center;
	margin-top: 0px;
}
.greet_01 .ceo_photo p span {
	font-size: 13px;
	display: inline;
	color: #fff;
	padding: 0;
	margin: 0;
}
.greet_03,
.greet_04 {
	width: 100%;
	display: block;
	margin: 30px 0;
	font-size: 19px;
	color: #333;
	line-height: 26px;
	padding: 0 20px;
	text-align: justify;
	letter-spacing: -0px;
}
.greet_04 {
	font-size: 18px;
	color: #b5610e;
	line-height: 30px;
}
.greet_05 {
	background: url(/proxy-img/image/sub/greet_bg.gif) no-repeat -10px 0;
	width: 830px;
	height: 175px;
	display: block;
	margin: 10px auto 40px auto;
	text-align: center;
	font-size: 20px;
	color: #333;
	line-height: 37px;
	padding-top: 30px;
}
.greet_06 {
	display: block;
	margin-bottom: 20px;
	margin: 0 auto;
}

.greet_07 .text_co_01 {
	color: #3c8411;
}
.greet_07 .text_co_02 {
	color: #256bd4;
}
.greet_07 .text_co_03 {
	color: #de27cf;
}
.greet_07 .text_co_04 {
	color: red;
}
.sub_menu {
	position: relative;
	width: 260px;
	margin: 0;
}
.sub_menu .sm_hd {
	position: relative;
	margin-top: -70px;
	background: #24375d;
	font-size: 30px;
	font-weight: 700;
	padding: 52px 0 50px 0;
	text-align: Center;
	color: #fff;
	border-radius: 10px 10px 0 0;
}
.sub_menu .sm_hd_bottom {
	position: absolute;
	bottom: 0;
	left: 0;
	border-radius: 10px 10px 0 0;
	background: #fff;
	width: 100%;
	height: 10px;
}

.sub_menu .sm_con {
	width: 220px;
	margin: 0 auto;
}

.sub_menu .sm_con div {
	width: 100%;
	border-bottom: 1px solid #cfcfcf;
	position: relative;
}
.sub_menu .sm_con div a {
	width: 100%;
	font-size: 17px;
	font-weight: 500;
	color: #555;
	padding: 14px 0 14px 5px;
}
.sub_menu .sm_con div.on {
	border-bottom: 1px solid #333;
}
.sub_menu .sm_con div.on:after {
	content: "▶";
	font-size: 10px;
	position: absolute;
	top: 18px;
	right: 5px;
}
.sub_menu .sm_con div.on a {
	font-weight: 700;
	color: #222;
}

.li1 li {
	width: 100%;
	text-align: center;
	line-height: 45px;
}
.li2 li {
	width: 546.5px;
	text-align: center;
	line-height: 45px;
}
.li3 li {
	width: 364px;
	text-align: center;
	line-height: 45px;
}
.li4 li {
	width: 272.7px;
	text-align: center;
	line-height: 45px;
}
.li5 li {
	width: 218px;
	text-align: center;
	line-height: 45px;
}
.li6 li {
	width: 181.5px;
	text-align: center;
	line-height: 45px;
}
.li7 li {
	width: 155.4px;
	text-align: center;
	line-height: 45px;
}
.li8 li {
	width: 12.41%;
	text-align: center;
	line-height: 45px;
}

.sub_menu li a {
	width: 100%;
	height: 100%;
	position: absolute;
	top: 0;
	left: 0;
	z-index: 10;
	font-size: 15px;
}
.sub_menu li.on a {
	background: #53afee;
	color: #fff;
	font-weight: 400;
}
.sub_bg {
	background: #fff;
	padding: 0px 0 50px 0;
}

.sub_vis_01 {
	height: 141px;
	background: url("/proxy-img/image/common/sub_bg.jpg") 0 0 no-repeat;
	width: 100%;
	position: relative;
}
.sub_text01 {
	font-size: 30px;
	font-weight: 800;
	color: #333;
	opacity: 0;
	position: absolute;
	top: 45px;
	left: 760px;
	z-index: 3;
	animation-delay: 0.3s;
	animation-duration: 0.4s;
	animation-name: sub_t_01;
	animation-direction: alternate;
	animation-fill-mode: forwards;
}

@keyframes sub_t_01 {
	from {
		margin-top: 5px;
		opacity: 0;
	}
	to {
		margin-top: 0px;
		opacity: 1;
	}
}
.sub_text02 {
	font-size: 24px;
	font-weight: 400;
	color: #444;
	opacity: 0;
	position: absolute;
	top: 85px;
	left: 690px;
	z-index: 3;
	animation-delay: 0.5s;
	animation-duration: 0.4s;
	animation-name: sub_t_02;
	animation-direction: alternate;
	animation-fill-mode: forwards;
}

@keyframes sub_t_02 {
	from {
		margin-top: 5px;
		opacity: 0;
	}
	to {
		margin-top: 0px;
		opacity: 1;
	}
}

.sub_cont {
	border: 0px solid #cfcfcf;
	background: #fff;
	min-height: 480px;
	padding: 0px 0;
	width: 1100px;
}

.sub_cont_hd {
	display: block;
	margin: 0px;
	font-size: 27px;
	color: #222;
	font-weight: 700;
	border-bottom: 1px solid #cfcfcf;
	margin-bottom: 70px;
}
.sub_cont_hd p {
	font-size: 27px;
	margin: 40px 0 25px 0;
	padding: 0 0 0px 0;
}
.cont-wrap {
	width: 1000px;
	margin: 0 50px;
}

.sub_tap {
	display: block;
	height: 100px;
	text-align: center;
}
.sub_tap2 {
	display: block;
	clear: both;
	height: 90px;
}
.sub_tap li {
	float: left;
	width: 230px;
	text-align: center;
	border-right: 0px solid #fff;
	margin-right: 10px;
	border-radius: 40px;
	overflow: hidden;
}
.sub_tap li:last-child {
	border: 0;
	margin-right: 0px;
}
.sub_tap li.on {
	border: 2px solid #096dc3;
}
.sub_tap li.over {
	border: 1px solid #ccc;
}
.sub_tap li.over a {
	color: #444;
}
.sub_tap li.on a {
	color: #096dc3;
	font-weight: 600;
}
.sub_tap li a {
	display: inline-block;
	width: 100%;
	height: 44px;
	line-height: 44px;
	font-size: 18px;
}

.sub_tap2 li {
	float: left;
	width: 123px;
	text-align: center;
	margin-right: 10px;
}
.sub_tap2 li a {
	font-size: 18px;
	color: #444;
}
.sub_tap2 li.long {
	padding-top: 4px;
	height: 40px;
}
.sub_tap2 li.long2 {
	letter-spacing: -0px;
	padding-top: 4px;
	height: 40px;
}
.sub_tap2 li:hover a {
	color: #096dc3;
}

.sub_tap1 li {
	float: left;
	width: 186px;
	text-align: center;
	margin-right: 10px;
}

.sub_tap3 li {
	float: left;
	width: 141px;
	text-align: center;
	margin-right: 10px;
}
.sub_tap_2 {
	display: block;
	clear: both;
}
.sub_tap2 li.long a,
.sub_tap2 li.long2 a {
	line-height: 18px;
}

.sub_tap4 li {
	float: left;
	width: 300px;
	text-align: center;
	margin-right: 10px;
}

.sub_tap5 {
	display: block;
}
.sub_tap5 li {
	display: inline-block;
	margin: 0px 1px 10px 0;
	padding: 8px 19px;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	font-size: 15px !important;
	width: 180px;
	text-align: center;
	cursor: pointer;
	border-radius: 3px;
}
.sub_tap5 li last-child {
	border: 0;
	margin-right: 0px;
}

.sub_tap5 li:hover a {
	color: #fff;
}

.sub_tap5 li:hover {
	background-color: #24375d;
	border: 1px solid #24375d;
	color: #fff;
	border-radius: 3px;
}
.sub_tap5 li.long2 {
	width: 237px;
}
.sub_tap5 li.long {
	width: 210px;
}

.history-image {
	text-align: center;
}

.history {
	display: grid;
	margin-bottom: 40px;
	grid-template-columns: 300px 1fr;
	gap: 50px;
}

.hist_hd {
	width: 300px;
	margin: 0 0px 0 0px;
	border-top: 2px solid #333;
	font-size: 18px;
	font-weight: 700;
	padding: 20px 0 0 10px;
}
.hist_hd p {
	margin: 5px 0 0 0;
	padding: 0;
	font-size: 22px;
}
.hist_cont {
	width: 100%;
	float: left;
	border-top: 1px solid #aaa;
}
.hist_cont li {
	border-bottom: 1px solid #ccc;
	padding: 10px 0 10px 10px;
	font-size: 15px;
	color: #555;
}
.clear {
	clear: both;
}

.foot_02 {
	float: left;
	width: 480px;
	border: 1px solid #ccc;
	font-size: 15px;
	margin-bottom: 30px;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}
.foot_02 h2 {
	margin: 0;
	padding: 0;
	height: 50px;
	background: #444;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	color: #fff;
	line-height: 50px;
	padding: 0 0 0 20px;
	font-size: 20px;
	font-weight: 500;
}
.foot_02 p.cont {
	padding: 10px;
	background: none;
	color: #666;
	font-size: 15px;
	line-height: 23px;
	display: block;
	clear: both;
	height: 115px;
	border-top-left-radius: 0px;
	-webkit-border-top-left-radius: 0px;
	-moz-border-top-left-radius: 0px;
	border-top-right-radius: 0px;
	-webkit-border-top-right-radius: 0px;
	-moz-border-top-right-radius: 0px;
}

.foot_021 {
	margin-right: 25px;
}

.foot_02:nth-child(2n + 1) {
	margin-right: 25px;
}

.member_01 {
	color: #1771b0;
	font-size: 16px;
	font-weight: bold;
}
.member_02 {
	color: #444444;
	font-size: 14px;
}
.member_044 td {
	font-size: 15px;
}
.member_04 {
	color: #555555;
	font-size: 14px;
	font-weight: bold;
}

/* 교수소개 정적 목록 */
.teacher-tab {
	max-width: 497rem;
	margin-right: auto;
	margin-left: auto;
}

.t_list {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 20rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.t_list > li {
	display: flex;
	gap: 22rem;
	min-height: 170rem;
	padding: 22rem;
	border: 1px solid #dedede;
}

.t_list > li > img {
	width: 111rem;
	height: 127rem;
	flex: 0 0 auto;
	object-fit: cover;
}

.teacher-info {
	min-width: 0;
}

.teacher-info h2 {
	margin: 0 0 12rem;
	color: #1771b0;
	font-size: 18rem;
	font-weight: 700;
}

.teacher-info dl {
	display: grid;
	grid-template-columns: 68rem minmax(0, 1fr);
	margin: 0 0 5rem;
	font-size: 14rem;
	line-height: 1.45;
}

.teacher-info dt {
	color: #555;
	font-weight: 700;
}

.teacher-info dd {
	margin: 0;
	word-break: keep-all;
}

.teacher-info a {
	color: #319caf;
	word-break: break-all;
}
a.member_03:link {
	color: #319caf;
	font-size: 14px;
	font-family: "Verdana";
}
a.member_03:active {
	color: #319caf;
	font-size: 14px;
	font-family: "Verdana";
}
a.member_03:hover {
	color: #319caf;
	font-size: 14px;
	font-family: "Verdana";
}
a.member_03:visited {
	color: #319caf;
	font-size: 14px;
	font-family: "Verdana";
}
a.member_04:link {
	color: #1771b0;
	font-size: 14px;
	font-family: "Verdana";
}
a.member_04:active {
	color: #1771b0;
	font-size: 14px;
	font-family: "Verdana";
}
a.member_04:hover {
	color: #f45f16;
	font-size: 14px;
	font-family: "Verdana";
}
a.member_04:visited {
	color: #1771b0;
	font-size: 14px;
	font-family: "Verdana";
}

.map_01 {
	display: block;
	margin-top: 15px;
}
.map_01 p {
	font-size: 20px;
	color: #3b69a8;
	margin: 0;
	padding: 0;
}
.map_01 .map_02 {
	font-size: 15px;
	color: #666;
	margin: 5px 0 10px 0;
}
.map_01 .map_02 p {
	font-size: 17px;
	color: #3b69a8;
}

.photo_board td a,
.photo_board td {
	text-align: left;
	color: #444;
	font-size: 15px;
	padding: 0 10px;
}
.photo_board td.titles {
	text-align: center;
	color: #333;
	font-size: 17px;
	font-weight: 700;
}
.photo_board td.board_cont {
	min-height: 120px;
	padding: 20px 20px 40px 20px;
}
.board_arrow td {
	color: #888;
	font-size: 14px;
}

.photo_b_list_p {
	width: 290px;
	height: 190px;
	overflow: hidden;
	border: 1px solid #e9e9e9;
}
.photo_b_list_p img {
	min-height: 100%;
	min-height: 100%;
	display: inline-block;
	-ms-interpolation-mode: bicubic;
}

.apply_scrt {
	display: block;
	font-size: 17px;
	color: #666;
	margin-bottom: 20px;
}
.app_table {
	border-top: 1px solid #3a78c1;
}
.app_table td label {
	margin-right: 20rem;
}
.app_table th {
	border-bottom: 1px solid #ddd;
	border-right: 1px solid #ddd;
	width: 20%;
	height: 60px;
	background: #fafafa;
	font-weight: 500;
	text-align: center;
	padding: 0;
	font-size: 16rem;
	color: #444;
}
.app_table td {
	border-bottom: 1px solid #ddd;
	width: 80%;
	padding: 0 0 0 10px;
	text-align: left;
	font-size: 16rem;
}

.priv_agree {
	margin-top: 20px;
	border: 1px solid #ddd;
	width: 100%;
	padding: 20px;
	background: #f3f3f3;
	font-size: 15px;
	color: #555;
}
.priv_agree p {
	font-size: 20px;
	color: #3154a2;
	padding: 0;
	margin: 0;
	margin-bottom: 25px;
	font-weight: 700;
}
.agree_app {
	font-size: 15px;
	color: #333;
	margin-top: 15px;
	display: block;
	width: 100%;
	text-align: center;
}
.apply_form1 {
	width: 200px;
	height: 40px;
	background: #fcfcfc;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	border: #c0c0c0 1px solid;
	padding: 0 0 0 5px;
}
.apply_form2 {
	width: 70px;
	height: 40px;
	background: #fcfcfc;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	border: #c0c0c0 1px solid;
}
.apply_form3 {
	width: 70px;
	height: 40px;
	background: #fcfcfc;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	border: #c0c0c0 1px solid;
}
.apply_form4 {
	height: 40px;
	background: #fcfcfc;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	border: #c0c0c0 1px solid;
}
.apply_form5 {
	width: 600px;
	height: 40px;
	background: #fcfcfc;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	border: #c0c0c0 1px solid;
}
.apply_form6 {
	width: 600px;
	height: 40px;
	background: #fcfcfc;
	font-size: 17px;
	font-weight: 700;
	color: #222;
	border: #c0c0c0 1px solid;
}
.add_p {
	display: block;
	margin: 0 0 5px 0;
	padding: 0;
}

.apply_btn a,
.apply_btn button {
	display: block;
	width: 160px;
	height: 45px;
	text-align: center;
	line-height: 42px;
	margin: 30px auto 20px auto;
	font-size: 17px;
	color: #fff;
	background: #2557a5;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
	cursor: pointer;
	box-sizing: border-box;
	border: 0;
}
a.add_btn {
	width: 160px;
	height: 50px;
	text-align: center;
	line-height: 42px;
	margin: 0px;
	padding: 11px 10px;
	font-size: 15px;
	color: #fff;
	background: #aaaaaa;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}

button.add_btn {
	display: inline-block;
	margin: 0;
	padding: 11px 10px;

	border: 0;
	border-radius: 5px;

	background: #aaa;
	color: #fff;

	font-size: 15px;
	line-height: 1.2;
	text-align: center;
	text-decoration: none;

	cursor: pointer;
	box-sizing: border-box;
}
button.add_btn:hover {
	background: #888;
}
a.btn_blue {
	background: #78bde4;
}

.board_search1 {
	width: 70px;
	height: 30px;
	background: #fcfcfc;
	font-size: 14px;
	font-weight: 500;
	color: #222;
}
.board_search2 {
	width: 200px;
	height: 30px;
	background: #fcfcfc;
	font-size: 14px;
	font-weight: 500;
	color: #222;
}
.b_search_btn {
	display: inline-block;
}
.b_search_btn a {
	display: inline-block;
	width: 50px;
	height: 30px;
	text-align: center;
	line-height: 30px;
	margin: 0;
	font-size: 15px;
	color: #fff;
	background: #888;
}

.board_hd th {
	font-size: 15px;
	color: #222;
	font-weight: 500;
}
.board_hd td {
	font-size: 15px;
	color: #666;
	font-weight: 500;
}
.board_wr th {
	height: 48px;
	border-right: 1px solid #ccc;
	font-size: 15px;
	color: #222;
	font-weight: 500;
	background: #fafafa;
}
.board_wr td {
	font-size: 14px;
	color: #666;
	font-weight: 500;
	padding-left: 15px;
}
.board_wr td input {
	height: 35px;
	background: #fcfcfc;
	font-size: 14px;
	font-weight: 500;
	color: #333;
}
.board_wr td input.checkbox {
	height: 14px;
}
.board_wr td input.noline {
	border: 0px;
}

.board_hd tr td:nth-child(1),
.board_hd tr td:nth-child(3),
.board_hd tr td:nth-child(4),
.board_hd tr td:nth-child(5) {
	font-weight: 400;
}
.job_table tr td {
	font-size: 15px;
}
.job_table tr td:nth-child(1),
.job_table tr td:nth-child(3),
.job_table tr td:nth-child(4),
.job_table tr td:nth-child(5) {
	font-weight: 400;
}

.board_top_app {
	display: block;
	margin: 0 auto 15px auto;
	max-width: 990rem;
}
.board_top_app .job_rst {
	display: block;
	clear: both;
	margin-top: 40px;
	height: 235px;
}
.board_top_app .job_rst li {
	float: left;
	width: 235px;
	height: 220px;
	border: 2px solid #e5e5e5;
	background: #fff;
	margin: 0 11px 0 0;
	padding: 0;
}
.board_top_app .job_rst li:last-child {
	margin: 0;
}

.board_top_app .job_rst li p {
	width: 210px;
	margin: 0 auto;
}

.board_top_app .job_rst li div.gra_00 {
	height: 115px;
	text-align: center;
	overflow: hidden;
	position: relative;
}
.board_top_app .job_rst li div.off {
	background: url(/proxy-img/main/gra_off2.gif) no-repeat 38px 0;
}
.board_top_app .job_rst li div.on div {
	height: 115px;
	width: 160px;
	position: absolute;
	z-index: 1000;
	top: 0;
	left: 38px;
}
.board_top_app .job_rst li div.on img.photo {
	height: 135px;
}
.board_top_app .job_rst li p.gra_01 {
	font-size: 16px;
	color: #2b83ba;
	font-weight: 600;
	margin-top: 10px;
}
.board_top_app .job_rst li p.gra_02 {
	font-size: 16px;
	color: #333;
	font-weight: 500;
	line-height: 30px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.board_top_app .job_rst li p.gra_03 {
	font-size: 14px;
	color: #888;
	font-weight: 400;
	line-height: 16px;
	text-align: justify;
	word-break: break-word;
	overflow: hidden;
	text-overflow: ellipsis;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
}

.board_top_app .job_rst li p.gra_03 a {
	color: #888;
}
.board_top_app .job_rst li:hover {
	border: 2px solid #2ec4cb; /*cursor: pointer; */
}

.lec_name {
	font-size: 21px;
	color: #333;
	font-weight: 500;
	padding: 0;
	margin: 0;
	line-height: 27px;
}
.app_dtl td {
	font-size: 15px;
	color: #666;
	font-weight: 500;
	padding: 0;
	background-color: initial;
	border: 0;
	text-align: left;
	height: 25px;
}
.app_dtl td span {
	font-size: 15px;
	color: #d44b02;
	font-weight: 500;
	display: inline-block;
	margin-right: 20px;
}
.app_dtl_box {
	border: 1px solid #ddd;
	background: #fafafa;
	padding: 5px 10px;
	width: 96%;
}

.lic_hd {
	font-size: 21px;
	color: #333;
	font-weight: 600;
	padding: 0 0 15px 0;
	margin: 0;
	line-height: 27px;
	text-align: left;
}
.lic_hd2 {
	font-size: 17px;
	color: #2a6dba;
	font-weight: 600;
	padding: 0 0 10px 0;
	margin: 0;
	line-height: 27px;
	text-align: left;
}

.lic_pyo {
	display: block;
	border: 1px solid #ccc;
	background: #fafafa;
	padding: 20px;
}
.lic_pyo li {
	font-size: 15px;
	margin: 15px 0;
	line-height: 22px;
}

.job_site {
	display: block;
	width: 100%;
}
.job_site_top li,
.job_site li {
	display: inline-block;
	width: 234px;
	height: 110px;
	background: #fff;
	margin-right: 10px;
	border: 1px solid #d4d4d4;
	margin-bottom: 35px;
	vertical-align: top;
}
.job_site_top li img,
.job_site li img {
	padding: 4px;
}
.job_site_top li p,
.job_site li p {
	display: block;
	width: 100%;
	text-align: center;
	padding: 0;
	margin: 0;
}

.job_site div > li:nth-child(2n) {
	margin: 0;
}
.job_site > li:nth-child(4n) {
	margin: 0;
}
.job_site li p.jb_s {
	font-size: 14px;
}

.job_site_top li p.f_img,
.job_site li p.f_img {
	margin: 4px;
	width: 228px;
	height: 71px;
	background: #f2f2f2;
	line-height: 71px;
	font-size: 20px;
	font-weight: 500;
}
.job_cate {
	display: block;
	width: 100%;
	height: 45px;
	border: 1px solid #ccc;
	background: #fafafa;
	text-align: center;
	padding-top: 15px;
	margin-bottom: 30px;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}
.job_table th {
	color: #333;
	font-size: 14px;
	font-weight: 500;
}
.job_table td {
	color: #666;
	font-size: 14px;
}
.job_dtl th {
	color: #333;
	font-size: 15px;
	font-weight: 500;
	border-bottom: 1px solid #ddd;
	background: #fafafa;
	width: 17%;
}
.job_dtl td {
	border-bottom: 1px solid #ddd;
	color: #666;
	font-size: 15px;
	height: 45px;
	padding-left: 15px;
	text-align: left;
	line-height: 1.6;
}
.job_dtl td.job_condition {
	padding: 15px 0 15px 15px;
	color: crimson;
}
.company-category-form {
	margin-bottom: 15px;
}
.company-table-wrap {
	overflow-x: auto;
}
.company-table-wrap .job_table {
	width: 100%;
	/* min-width: 720px; */
}
.company-name a {
	color: inherit;
	font-weight: 600;
}
.job-recruiting-badge {
	display: inline-block;
	margin-left: 8px;
	padding: 2px 8px;
	border-radius: 4px;
	background: #fb582a;
	color: #fff;
	font-size: 12px;
	line-height: 1.5;
}
.company-employment-types label {
	margin-right: 16px;
	white-space: nowrap;
}

.job_interv th {
	color: #333;
	font-size: 15px;
	font-weight: 500;
	font-weight: 600;
	text-align: left;
	height: 30px;
}
.job_interv td {
	color: #666;
	font-size: 15px;
}
.job_interv td a.name {
	color: #2d7edd;
	font-size: 14px;
	font-weight: 600;
}

.job_inter {
	display: block;
	width: 100%;
	margin-bottom: 20px;
	height: auto;
}
.job_inter li {
	display: inline-block;
	float: left;
	width: 294px;
	height: 210px;
	border: 1px solid #ddd;
	background: #333;
}
.job_inter li .inter_image {
	position: relative;
}
.job_inter li .inter_image img {
	width: 100%;
	height: 100%;
}
.job_inter ul li {
	margin: 0 10px 20px 10px;
}
.job_inter ul li p {
	position: absolute;
	z-index: 10;
	margin: 0;
	padding: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 40px;
	background: #fff;
	opacity: 0.6;
}
.job_inter ul li span {
	position: absolute;
	z-index: 20;
	margin: 0;
	padding: 0;
	bottom: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 40px;
	font-size: 16rem;
	font-weight: 600;
	line-height: 40px;
	color: #111;
	text-align: center;
}
.employment-interview-list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.job_inter li .inter_image {
	display: block;
	height: 100%;
}
.employment-image-empty {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 208px;
	color: #fff;
	font-size: 14px;
}
.job_inter li.employment-empty {
	float: none;
	width: auto;
	height: auto;
	padding: 30px;
	background: #fff;
	color: #555;
	text-align: center;
}
.employment-detail {
	max-width: 905px;
}
.employment-gallery {
	display: grid;
	grid-template-columns: minmax(0, 1fr) 120px;
	gap: 12px;
	padding: 8px;
	background: #f0f0f0;
}
.employment-gallery-main {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 360px;
	background: #fff;
}
.employment-gallery-main img,
.employment-map img {
	display: block;
	width: 100%;
	height: auto;
	object-fit: cover;
}
.employment-gallery-thumbnails {
	display: flex;
	flex-direction: column;
	gap: 10px;
}
.employment-gallery-thumbnails button {
	padding: 0;
	border: 2px solid transparent;
	background: #fff;
	cursor: pointer;
}
.employment-gallery-thumbnails button.is-active {
	border-color: #3382cc;
}
.employment-gallery-thumbnails img {
	display: block;
	width: 100%;
	height: 82px;
	object-fit: cover;
}
.employment-detail-section {
	margin-top: 36px;
}
.employment-detail-section h2 {
	margin: 0;
	padding: 0 0 10px 10px;
	border-bottom: 2px solid #dee9f2;
	color: #3387cc;
	font-size: 16px;
}
.employment-detail-grid {
	display: grid;
	grid-template-columns: 200px 1fr;
	margin: 3px 0 0;
	/* border-top: 1px solid #e7e7e7; */
}
.employment-detail-grid dt,
.employment-detail-grid dd {
	margin: 0;
	padding: 10px;
	border-bottom: 1px solid #e7e7e7;
}
.employment-detail-grid dt {
	font-weight: 700;
}
.employment-detail-grid dd a {
	color: #3387cc;
	text-decoration: underline;
}
.employment-detail-content,
.employment-map {
	padding: 16px 10px;
	/* border-bottom: 1px solid #e7e7e7; */
	line-height: 1.7;
}
@media (max-width: 767px) {
	.job_inter li,
	.job_inter ul li {
		float: none;
		width: 100%;
		margin: 0 0 14px;
	}
	.employment-gallery {
		grid-template-columns: 1fr;
	}
	.employment-gallery-main {
		min-height: 0;
	}
	.employment-gallery-thumbnails {
		flex-direction: row;
	}
	.employment-gallery-thumbnails button {
		flex: 1;
	}
	.employment-detail-grid {
		grid-template-columns: 90px minmax(0, 1fr);
	}
}

.job_page {
	display: block;
	position: relative;
	width: 100%;
	margin: 0 auto;
	padding: 0 0px;
	clear: both;
}
.job_page .job_rsts {
	display: block;
	clear: both;
	margin-top: 0px;
}
.job_page .job_rsts li {
	float: left;
	width: 238px;
	height: 210px;
	border: 1px solid #e5e5e5;
	background: #fff;
	margin: 0 10px 15px 0;
	padding: 0;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}
.job_page .job_rsts li:nth-child(4n) {
	margin-right: 0;
}

.job_page .job_rsts li p {
	display: block;
	padding: 0;
	margin: 0;
	width: 100%;
	text-align: center;
}
.job_page .job_rsts li p.jos_01 {
	padding-top: 30px;
	font-size: 16px;
	color: #555;
}
.job_page .job_rsts li p.jos_01 span {
	color: #2aa39a;
}
.job_page .job_rsts li p.jos_02 {
	padding-top: 2px;
	font-size: 50px;
	color: #2e6eaa;
	font-weight: 700;
	height: 90rem;
}
.job_page .job_rsts li p.jos_03 {
	padding: 0 10px;
	font-size: 15px;
	color: #222;
	font-weight: 500;
	height: 24rem;
}
.job_page .job_rsts li p.jos_04 {
	padding-top: 0px;
	font-size: 15px;
	color: #888;
	font-weight: 500;
	height: 24rem;
}

.yout_page {
	display: block;
	clear: both;
	margin-top: 0px;
}

#youtube-gallery_p1 li {
	float: left;
	width: 239px;
	height: 220px;
	border: 1px solid #ddd;
	background: #fff;
	margin: 0 10px 30px 0;
	padding: 0;
}
#youtube-gallery_p1 li:nth-child(4n) {
	margin-right: 0;
}

.carntv-heading {
	margin-bottom: 30px;
	padding-bottom: 20px;
	border-bottom: 1px solid #ddd;
}
.carntv-heading p {
	margin: 0 0 5px;
	color: #2876c4;
	font-size: 14px;
	font-weight: 700;
}
.carntv-heading h2 {
	margin: 0 0 15px;
	color: #333;
	font-size: 24px;
}
.carntv-heading a {
	color: #2876c4;
	font-size: 14px;
	font-weight: 600;
}
#youtube-gallery_p1.carntv-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}
#youtube-gallery_p1.carntv-grid li {
	float: none;
	width: auto;
	height: auto;
	margin: 0;
	overflow: hidden;
}
.carntv-grid a {
	display: block;
	color: #333;
}
.carntv-grid img {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}
.carntv-grid strong {
	display: -webkit-box;
	overflow: hidden;
	margin: 12px 12px 6px;
	font-size: 15px;
	line-height: 1.45;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}
.carntv-grid time {
	display: block;
	margin: 0 12px 12px;
	color: #888;
	font-size: 13px;
}
.carntv-empty {
	padding: 60px 0;
	color: #666;
	text-align: center;
}

@media (max-width: 767px) {
	#youtube-gallery_p1.carntv-grid {
		grid-template-columns: 1fr;
	}
}

.honor {
	display: block;
	clear: both;
	margin-top: 0px;
}
.honor li {
	float: left;
	width: 485px;
	height: 270px;
	border: 0px solid #ddd;
	background: #fff;
	margin: 0 15px 20px 0;
	padding: 0;
}
.honor li:nth-child(2n) {
	margin-right: 0;
}

.board_lect th {
	font-size: 15px;
}
.board_lect td {
	font-size: 15px;
}

.interview {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 15px 10px;
	width: 100%;
	clear: both;
	margin-top: 0px;
	padding: 0;
	list-style: none;
}
.interview li {
	width: auto;
	height: 187px;
	border: 1px solid #ddd;
	background: #fff;
	margin: 0;
	padding: 0;
	background: url(/proxy-img/image/sub/ti_bg.gif) 0 0 no-repeat;
	padding-left: 10px;
	position: relative;
}
.interview li:nth-child(3n) {
	margin-right: 0;
}
.interview li img {
	position: absolute;
	right: 0;
	top: 0;
	z-index: 10;
}
.interview h1 {
	color: #ea9d00;
	font-size: 18px;
	margin: 119px 0 5px 0;
	font-weight: 600;
}
.interview h2 {
	color: #ffffff;
	font-size: 26px;
	margin: 0px 0 0 0;
	font-weight: 600;
}
.interview h2 span {
	color: #ffffff;
	font-size: 15px;
	font-weight: 500;
}
.in_btn {
	display: block;
	width: 100%;
	clear: both;
	padding-top: 30px;
}
.in_btn a {
	font-size: 14px;
	display: block;
	width: 90px;
	height: 30px;
	border: 1px solid #ccc;
	background: #f3f3f3;
	color: #333;
	text-align: center;
	line-height: 30px;
	margin: 0 auto;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}

@media (max-width: 767px) {
	.t_list {
		grid-template-columns: 1fr;
	}

	.t_list > li {
		padding: 18rem;
	}

	.interview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
}
.interv_cont {
	width: 897px;
	border: 0px solid #ccc;
	display: block;
	clear: both;
	margin: 0 auto;
}
.in_hd_img {
	display: block;
	width: 897px;
	margin: 0 auto 40px auto;
}
.interv_cont li {
	float: left;
	width: 437px;
	border: 0px solid #ccc;
	margin: 0 20px 0 0;
	text-align: justify;
	font-size: 15px;
	color: #666;
	line-height: 20px;
}
.interv_cont li:last-child {
	margin-right: 0;
}
.interv_cont li h4 {
	display: block;
	font-size: 16px;
	color: #3a68c1;
	margin: 0 0 0px 0;
}
.interv_cont li p {
	width: 100%;
	text-align: justify;
	font-size: 15px;
	color: #666;
	line-height: 22px;
	margin: 20px 0 20px 0;
}
.interv_cont li img.in_cont_img {
	padding: 0;
	margin: 0 0 20px 0;
}

.lec_cont {
	display: block;
	width: 100%;
}
.lec_cont .lec_hd_img {
	width: 536px;
	display: block;
	margin: 0 auto 40px auto;
}
.lec_cont li {
	float: left;
	margin: 0 0px 0 0;
	border: 0px solid #ddd;
}
.lec_cont li.lec_top_01 {
	display: inline-block;
	width: 480px;
}
.lec_cont li.lec_top_02 {
	display: inline-block;
	width: 515px;
}

.lec_title {
	display: block;
	font-size: 32px;
	font-weight: 600;
	height: 48px;
}

.lec_info {
	display: block;
	width: 100%;
	border: 1px solid #ddd;
	background: #fafafa;
	color: #333;
	padding: 10px 0;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}

.lec_info_table {
	width: 95%;
	margin: 0 auto;
}

.lec_info_table th {
	font-size: 14px;
	color: #ef7700;
	height: 25px;
}
.lec_info_table td {
	font-size: 14px;
	color: #555;
}

.course-detail-actions {
	display: flex;
	justify-content: center;
	gap: 10px;
	margin: 0 0 30px;
}
.course-detail-actions .lec_btn {
	margin-top: 0;
}
.course-detail-image {
	text-align: center;
}
.course-detail-image img {
	max-width: 100%;
}

.lec_btn {
	display: inline-block;
	width: 249px;
	height: 50px;
	border: 0px solid #ddd;
	margin-top: 15px;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}

.lec_btn_01 {
	background: #6acfc4;
	margin-right: 13px;
}
.lec_btn_02 {
	background: #3fb3de;
}
.lec_btn_03 {
	background: #6169d2;
}
.lec_btn a {
	display: block;
	font-size: 19px;
	line-height: 50px;
	color: #fff;
	text-align: center;
	width: 100%;
}

.lec_banner {
	margin: 20px 0 40px 0;
	display: block;
	height: 118px;
}

.lec_discr {
	display: block;
	clear: both;
	width: 100%;
	border-top: 1px solid #ddd;
	padding-top: 20px;
	padding-bottom: 20px;
	line-height: 1.6;
}
.lec_discr h1 {
	font-size: 20px;
	color: #2876c4;
	margin: 14px 0;
}

.lec_discr .lec_t {
	display: block;
	width: 100%;
	height: 25px;
}
.lec_discr .tcolor_01 {
	color: #01b097;
}
.lec_discr .tcolor_02 {
	color: #e60012;
}
.lec_discr .tcolor_03,
.lec_discr .tcolor_03 a {
	color: #f39800;
}
.lec_discr .lec_hd_icon {
	border: 1px solid #ddd;
	width: 280px;
	display: block;
	text-align: center;
}

.lec_discr .teach_01 {
	display: block;
	border: 0px solid #ddd;
	width: 725px;
	background: #3676b1;
	color: #fff;
	padding: 10px;
	font-size: 16px;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
	height: auto;
}
.teachtable td.teach_02 {
	background: #f4f4f4;
	color: #555;
	padding: 10px 0;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}
.lec_discr .teach_03 {
	display: block;
	width: 100%;
	border: 0px solid #ddd;
	background: #f18d0f;
	color: #333;
	padding: 10px 0;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}
.lec_discr .teach_04 {
	text-align: center;
}

.board_lect2 td.cont {
	padding: 7px 7px 7px 10px;
}
.board_lect2 th {
	border-right: 1px solid #ddd;
	height: 45px;
}
.board_lect2 th:nth-child(3n) {
	border: 0px;
}

.cate_tap {
	display: block;
	margin: 0;
	padding: 0;
	height: 85px;
}
.cate_tap input[type="radio"] {
	display: none;
	margin: 0px;
}
.cate_tap input[type="radio"] + label {
	display: inline-block;
	margin: 0px -15px 10px 0;
	padding: 8px 19px;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	font-size: 15px !important;
	width: 145px;
	text-align: center;
	cursor: pointer;
	border-radius: 3px;
}

.cate_tap input[type="radio"]:checked + label {
	background-image: none;
	background-color: #24375d;
	border: 1px solid #24375d;
	color: #fff;
	border-radius: 3px;
}

.cate_tap6 {
	height: 125px;
}
.cate_tap6 input[type="radio"] + label {
	display: inline-block;
	margin: 0px -15px 10px 0;
	padding: 8px 19px;
	background-color: #f5f5f5;
	border: 1px solid #ccc;
	font-size: 15px !important;
	width: 115px;
	text-align: center;
	cursor: pointer;
}

.after_class td {
}
.after_class td div.after_cont {
	display: block;
	width: 965px;
	margin: 0;
	padding: 20px 15px;
	border: 1px solid #ddd;
	font-size: 16px;
	color: #333;
	font-weight: 500;
}
.after_class td div.after_name {
	display: block;
	width: 965px;
	margin: 0;
	padding: 10px 15px;
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-size: 14px;
	color: #888;
}

.time_plan {
	border-top: 1px solid #c3c3c3;
	border-left: 0px solid #c3c3c3;
}
.time_plan th,
.time_plan td {
	font-size: 14px;
	border-bottom: 1px solid #c3c3c3;
	border-right: 1px solid #c3c3c3;
	height: 30px;
	text-align: center;
}
.time_plan th {
	background: #fafafa;
}
.time_plan th:last-child,
.time_plan td:last-child {
	border-right: 0px solid #c3c3c3;
}

.site_map {
	display: block;
	width: 100%;
	height: 500px;
}
.site_map li {
	border: 1px solid #333;
	width: 23%;
	float: left;
	margin-right: 20px;
	height: 150px;
}
.site_map li:nth-child(4) {
	margin-right: 0px;
}
.car_common td b {
	font-size: 15px;
}
.car_common td {
	font-size: 13px;
}

.c_red {
	color: red;
}
.c_blue {
	color: blue;
}

.member_m {
	font-size: 15px;
	color: #666666;
	border: #c9ddf2 1px solid;
	padding: 20px;
	width: 950px;
	line-height: 22px;
}

.papershadow {
	text-shadow:
		-1px -1px 1px #000,
		2px 2px 1px #c0c0c0;
}
.retroshadow {
	text-shadow:
		2px 2px 0px #444,
		2px 2px 0px rgba(0, 0, 0, 0.3);
}

/* for MS계열 브라우저 */
@keyframes blink {
	0% {
		background-color: #f80044;
	}
	50% {
		background-color: #ffa400;
	}
}

/* for Chrome, Safari */
@-webkit-keyframes blink {
	0% {
		background-color: #f80044;
	}
	50% {
		background-color: #ffa400;
	}
}

/* blink CSS 브라우저 별로 각각 애니메이션을 지정해 주어야 동작한다. */
.blinkcss {
	font-weight: bold;
	animation: blink 1s step-end infinite;
	-webkit-animation: blink 1s step-end infinite;
}

.homepage_step {
	font-size: 12px;
	font-weight: 500;
	margin: 0;
	display: inline-block;
	border: 0px solid #df194f;
	background: #df194f;
	color: #fff;
	padding: 0px 7px;
	height: 22px;
	line-height: 20px;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
	vertical-align: text-bottom;
}

.homepage_step2 {
	border: 0px solid #3579ce;
	background: #3579ce;
}

.homepage_step3 {
	border: 0px solid #999;
	background: #999;
}
.homepage_step4 {
	border: 0px solid #999;
	background: #999;
}

.lecture_view2 {
	font-size: 17px;
	color: #222222;
	font-weight: 500;
	line-height: 25px;
	text-align: left;
	width: 100%;
	margin: 0px 0 0 0;
	padding: 0 0 0px 0;
}
.lecture_view2 strong {
	color: #ea6868;
	font-weight: 700;
}

.backslash {
	background: #f5fcfd
		url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg"><line x1="0" y1="0" x2="100%" y2="100%" stroke="gray" /></svg>');
}

.main_hd2 {
	font-size: 28px;
	color: #222;
	font-weight: 700;
	text-align: center;
}

/* 전체 한 행 */
.apply_01_table {
	display: flex;
	align-items: stretch;
	width: 100%;
	min-height: 140px;
	margin: 0;
	padding: 40px 0;
	border-bottom: 1px solid #ddd;
	box-sizing: border-box;

	list-style: none;
	background: #fff;
}

/* -------------------------------------------------
   왼쪽 이미지
------------------------------------------------- */

.apply_01_table > li:first-child {
	flex: 0 0 220px;
	width: 220px !important;
	padding: 0px !important;
	margin: 0;
	box-sizing: border-box;
}

.apply_01_table > li:first-child a {
	display: block;
	width: 100%;
	height: 100%;
}

.apply_01_table > li:first-child img {
	display: block;
	width: 220px !important;
	height: 140px !important;
	object-fit: cover;
}

/* -------------------------------------------------
   오른쪽 내용
------------------------------------------------- */

.apply_01_table > li:nth-child(2) {
	flex: 1;
	min-width: 0;

	padding: 0 0px 0 30px;
	margin: 0;

	box-sizing: border-box;
}

.apply_01_table2 {
	width: 100% !important;
	border-collapse: collapse;
	border-spacing: 0;
	font-size: 14px;
	color: #444;
}
.apply_01_table2 td {
	padding: 2px 5px;
	line-height: 20px;
	vertical-align: middle;
}

.apply_01_table2 .title {
	height: 38px;
	padding: 0 5px 5px 0;
	text-align: left;
	white-space: nowrap;
}

.apply_01_table2 .lec_name {
	display: inline-block;
	color: #222;
	font-size: 22px;
	font-weight: 600;
	text-decoration: none;

	vertical-align: middle;
}

.apply_01_table2 .homepage_step {
	display: inline-block;

	margin-left: 6px;
	padding: 2px 6px;

	background: #f32f4c;
	border-radius: 3px;

	color: #fff;
	font-size: 12px;
	line-height: 20px;
	font-weight: normal;

	vertical-align: middle;
}

.course-detail table td {
	border: 0;
}
.class_certi td {
	text-align: left;
	padding: 0;
	font-size: 16rem;
}
.teachtable {
	border-collapse: separate;
	border-spacing: 5px;
}
.teachtable td {
	text-align: left;
	padding: 0;
	font-size: 16rem;
}
.in_btn.top_border {
	border-top: 1px solid #e5e5e5;
	padding-top: 30px;
}

.swiper-pagination {
	text-align: right !important;
	padding-right: 30px !important;
	color: #fff !important;
	font-weight: 600 !important;
	font-size: 17px !important;
	width: 1410px !important;
	bottom: var(--swiper-pagination-bottom, 18px) !important;
}
.swiper-button-next:after,
.swiper-button-prev:after {
	display: none;
}
.btn-prev,
.btn-autoplay,
.btn-next {
	cursor: pointer;
	font-size: 10rem;
}
.btn-autoplay {
	width: 20px;
	height: 20px;
	background: url(/proxy-img/image/main/main_play.gif) no-repeat 0px 0px;
}
.btn-autoplay.on {
	background: url(/proxy-img/image/main/main_play.gif) no-repeat -20px 0px;
}
.class_img {
	width: 335px;
	height: 250px;
}
.class_btn {
	margin: 25px 0 15px 0;
}
.class_btn .btn_datail,
.class_btn .btn_apply {
	width: 102px;
	height: 31px;
	text-align: center;
	background: #262626;
	border: 1px solid #262626;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
	margin-right: 3px;
}
.class_btn .btn_datail {
	background: #ffffff;
	border: 1px solid #121212;
	color: #222;
}
.class_btn .btn_apply:hover {
	font-weight: 600;
	background: #d93939;
	border: 1px solid #d93939;
}
.class_btn .btn_datail:hover {
	color: #d93939;
	border: 1px solid #d93939;
}
.class_btn .btn_done {
	width: 102px;
	height: 29px;
	text-align: center;
	background: #aaa;
	border: 1px solid #aaa;
	font-size: 14px;
	font-weight: 500;
	color: #fff;
}
.class_s_title {
	color: #555;
	font-weight: 500;
	font-size: 14px;
}
.class_title {
	color: #333;
	font-size: 22px;
	font-weight: 700;
	margin: 5px 0;
	letter-spacing: -0.5px;
}
.class_dates {
	color: #666;
	font-size: 16px;
	font-weight: 400;
	letter-spacing: -0.5px;
	margin: 10px 0 0 0;
}

.main_class2_box {
	width: 335px;
	height: 138px;
	border: 1px solid #a6a6a6;
	padding: 22px 17px 15px 22px;
}

.main_title {
	margin: 65px 0 25px 0;
	font-size: 33px;
	color: #333;
	font-weight: 700;
	position: relative;
	letter-spacing: -0.5px;
	width: 100%;
	text-align: left;
}

.main_map {
	width: 100%;
	height: 300px;
	overflow: hidden;
	border: 1px solid #bfbfbf;
}

.tabs-container {
	width: 703px;
}

.tabs-container .tabs {
	width: 100%;
	border-bottom: 1px solid #111;
	height: 60px;
}
.tabs-container .tabs div {
	font-size: 22px;
	color: #333;
	font-weight: 500;
	padding: 0 35px;
	height: 58px;
	cursor: pointer;
}
.tabs-container .tabs div.active {
	font-weight: 700;
	border-bottom: 2px solid #111;
}
.tabs-container .tab-content {
	border-bottom: 1px solid #111;
	min-height: 320px;
	margin-top: 25px;
}
.main_board_list {
	font-size: 19px;
	color: #333;
}

.main_board_list .mbl_01 {
	flex-basis: 35%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.main_board_list .mbl_02 {
	flex-basis: 15%;
}
.main_board_list .mbl_03 {
	margin-left: 20px;
	flex-basis: 50%;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.main_board_list .date_input {
	color: #888;
}

.mjobs {
	display: block;
	padding: 0;
	margin: 0;
	text-align: center;
	background: #fcfbfc;
	border: 1px solid #dbd8da;
	height: 278px !important;
	width: 457px !important;
}
.mjobs .jos_01 {
	padding-top: 20px;
	font-size: 21px;
	color: #333;
	font-weight: 500;
}
.mjobs .jos_01 span {
	color: #2aa39a;
}
.mjobs .jos_02 {
	padding-top: 0px;
	font-size: 100px;
	color: #2e6eaa;
	font-weight: 700;
	letter-spacing: -1px;
}
.mjobs .jos_03 {
	padding-top: 0px;
	font-size: 23px;
	color: #222;
	font-weight: 500;
}
.mjobs .jos_04 {
	padding-top: 7px;
	font-size: 19px;
	color: #888;
	font-weight: 500;
}

.classview_img img {
	width: 457px;
	height: 280px;
}
.classview_title {
	font-size: 20px;
	color: #333;
	font-weight: 500;
	margin: 25px 0 0 0;
}

.classviewt,
.carntvt,
.jobpro {
	margin: 65px 0 40px 0;
}
.main_jobsrev_list {
	background: #fcfbfc;
	border: 1px solid #dbd8da;
	box-sizing: border-box;
}
.jobrev01 {
	width: 150px;
}
.jobrev01 > img {
	width: 100px;
	height: 125px;
	border-radius: 5px;
}
.jobrev02 {
	width: 530px;
	margin-right: 20px;
}

.jobrev_01 {
	font-size: 17px;
	color: #333;
	margin-bottom: 15px;
	font-weight: 500;
}
.jobrev_02 {
	font-size: 20px;
	color: #333;
	margin-bottom: 15px;
	font-weight: 600;
	width: 520px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.jobrev_03 {
	font-size: 15px;
	color: #6b6b6b;
	overflow: hidden;
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
}

/*
.main_vis .cycle-pager {position: absolute; left:0%; width:100%; top:325px; z-index: 1000; border:0px solid red;  text-align:center;}
.main_vis .cycle-pager span:hover {cursor: pointer;}
.main_vis .cycle-pager span {display: inline-block;  width:12px; height:12px;  background:#ccc; text-indent:-10000px; overflow: hidden; margin:0 5px;
    border-top-left-radius: 6px; -webkit-border-top-left-radius: 6px; -moz-border-top-left-radius: 6px; 
	border-top-right-radius: 6px; -webkit-border-top-right-radius: 6px; -moz-border-top-right-radius: 6px; 
	border-bottom-left-radius: 6px; -webkit-border-bottom-left-radius: 6px; -moz-border-bottom-left-radius: 6px; 
	border-bottom-right-radius: 6px; -webkit-border-bottom-right-radius: 6px; -moz-border-bottom-right-radius: 6px;
}
.main_vis .cycle-pager span.cycle-pager-active {background:#fff;}

.main_vis1 .cycle-pager {top:450px; }
*/

.classess,
.classes {
	width: 260px;
	height: 119px;
	border: 1px solid #d4d4d6;
	background: #f8f8f8;
	float: left;
	margin-right: 10px;
	margin-bottom: 15px;
	cursor: pointer;
	position: relative;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}
.classess {
	cursor: default;
}
.clsss_done {
	position: absolute;
	top: 0;
	left: 0;
	z-index: 100;
}
.home_tag2_class_off,
.clsss_no {
	display: none;
}

.home_tag2_class_on {
	position: absolute;
	top: -11px;
	left: calc(50% - 75px);
	z-index: 99;
	width: 150px;
	height: 20px;
	text-align: center;
	background: #fff;
	border: 1px solid #ccc;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
	line-height: 20px;
	font-size: 13px;
	color: #000;
}

.classes_none {
	cursor: inherit;
}
.classes:hover {
	border: 1px solid #f15f5a;
}
.classes_none:hover {
	border: 1px solid #d4d4d6;
}
.classes:hover .class_hd {
	background: #f5ba3d;
}
.classes:hover .class_date p,
.classes:hover .class_date span,
.classes:hover .class_date {
	color: #f15f5a;
}

/*.classes:nth-child(4n) {margin-right:0px;}*/
.classess .class_hd,
.classes .class_hd {
	width: 251px;
	height: 45px;
	display: block;
	margin: 0 auto;
	margin-top: 5px;
	color: #fff;
	font-size: 27px;
	font-weight: 700;
	text-align: center;
	line-height: 45px;
	letter-spacing: -1.5px;
	overflow: hidden;
	border-top-left-radius: 5px;
	-webkit-border-top-left-radius: 5px;
	-moz-border-top-left-radius: 5px;
	border-top-right-radius: 5px;
	-webkit-border-top-right-radius: 5px;
	-moz-border-top-right-radius: 5px;
	border-bottom-left-radius: 5px;
	-webkit-border-bottom-left-radius: 5px;
	-moz-border-bottom-left-radius: 5px;
	border-bottom-right-radius: 5px;
	-webkit-border-bottom-right-radius: 5px;
	-moz-border-bottom-right-radius: 5px;
}
.class_hd.color01 {
	background: #f15f5a;
}
.class_hd.color02 {
	background: #3787c7;
}
.class_hd.color03 {
	background: #52b444;
}
/*
.class_hd.color01 {background:#3787c7;}
.class_hd.color02 {background:#f5ba3d;}
.class_hd.color03 {background:#49b03a;}
*/

.class_date {
	display: block;
	font-size: 31px;
	font-weight: 900;
	text-align: center;
	color: #222;
	border: 0px solid red;
	line-height: 35px;
	margin-top: 5px;
	height: 37px;
	vertical-align: text-bottom;
}
.class_date span {
	font-size: 18px;
	font-weight: 700;
	margin-left: 5px;
}
.class_date p {
	font-size: 29px;
	font-weight: 900;
	text-align: center;
	color: #222;
	padding: 0;
	margin: 0;
	line-height: 35px;
}
.class_tag {
	display: block;
	border: 0px solid red;
	height: 20px;
	overflow: hidden;
	text-align: center;
	margin-top: 3px;
}
.class_tag dd {
	display: inline-block;
	min-width: 20px;
	font-size: 11px;
	font-weight: 300;
	text-align: center;
	color: #fff;
	background: #898989;
	line-height: 18px;
	height: 18px;
	margin: 0 2px;
	padding: 0 10px;
	letter-spacing: -0.5px;
	border-top-left-radius: 9px;
	-webkit-border-top-left-radius: 9px;
	-moz-border-top-left-radius: 9px;
	border-top-right-radius: 9px;
	-webkit-border-top-right-radius: 9px;
	-moz-border-top-right-radius: 9px;
	border-bottom-left-radius: 9px;
	-webkit-border-bottom-left-radius: 9px;
	-moz-border-bottom-left-radius: 9px;
	border-bottom-right-radius: 9px;
	-webkit-border-bottom-right-radius: 9px;
	-moz-border-bottom-right-radius: 9px;
}
.class_tag dd:hover {
	background: #646464;
}

.glossy {
	-webkit-animation: glossy 0.4s ease-in-out infinite alternate;
	-moz-animation: glossy 0.4s ease-in-out infinite alternate;
	animation: glossy 0.4s ease-in-out infinite alternate;
}
@-webkit-keyframes glossy {
	0% {
		background-color: ##f15f5a;
	}
	100% {
		background-color: #f5ba3d;
	}
}
@-moz-keyframes glossy {
	0% {
		background-color: ##f15f5a;
	}
	100% {
		background-color: #f5ba3d;
	}
}
@keyframes glossy {
	0% {
		background-color: ##f15f5a;
	}
	100% {
		background-color: #f5ba3d;
	}
}

.glossy2 {
	animation: glossy2 0.7s ease-in-out infinite alternate;
}

@keyframes glossy2 {
	0% {
		border: 1px solid #d4d4d6;
	}
	100% {
		border: 1px solid #ff6600;
	}
}

.glossy2 .class_li_con2 {
	animation: glossy3 0.7s ease-in-out infinite alternate;
}

@keyframes glossy3 {
	0% {
		color: #0a67b1;
	}
	100% {
		color: #fb582a;
	}
}

.main_link {
	background: url(/proxy-img/image/main/main_link.jpg) no-repeat 0 0px;
	height: 93px;
	display: block;
}
.main_link li {
	float: left;
	width: 130px;
	font-size: 27px;
	font-weight: 700;
	line-height: 65px;
	letter-spacing: -0.5px;
}
.main_link li a {
	color: #fff;
}
.main_link li a:hover {
	color: #ffdc38;
}
.main_link_01 {
	padding-left: 100px;
}
.main_link_02 {
	padding-left: 65px;
}
.main_link_03 {
	padding-left: 77px;
}
.main_link_03 a {
	letter-spacing: 1px;
}
.main_link_04 {
	padding-left: 73px;
}
.main_link_05 {
	padding-left: 70px;
}
.carntvt-pagination,
.classviewt-pagination {
	font-size: 17px;
	font-weight: 500;
	color: #444;
	letter-spacing: -1px;
}
.main_title .btn-next img,
.main_title .btn-prev img {
	width: 20rem;
	max-width: 20rem;
	height: 20rem;
}

#r_banner a.copylink_01 {
	display: block;
	width: 55px;
	height: 36px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat 1px 0px;
}
#r_banner a.copylink_02 {
	display: block;
	width: 55px;
	height: 36px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -44px 0px;
}
#r_banner a.copylink_03 {
	display: block;
	width: 55px;
	height: 36px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -87px 0px;
}
#r_banner a.copylink_04 {
	display: block;
	width: 55px;
	height: 36px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -128px 0px;
}
#r_banner a.copylink_05 {
	display: block;
	width: 55px;
	height: 36px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -166px 0px;
}
#r_banner a.copylink_06 {
	display: block;
	width: 55px;
	height: 36px;
	background: url(/proxy-img/image/common/copylink.jpg) no-repeat -212px 0px;
}
.main_visual {
	width: 1440px;
	height: 598px;
}
.main-2din {
	gap: 34px;
	grid-template-columns: 1fr 1fr;
}
.jobs-review {
	position: relative;
	width: 703px;
	height: 347px;
	overflow: hidden;
}
.jobs-list {
	position: relative;
	width: 660px;
	height: 294px;
	overflow: hidden;
	margin: 25px auto 26px auto;
}
div.after_cont {
	display: block;
	width: 990px;
	margin: 0 auto 30rem auto;
	padding: 20px 15px;
	border: 1px solid #ddd;
	font-size: 16px;
	color: #333;
	font-weight: 400;
}
div.after_name {
	display: block;
	width: 965px;
	margin: 0;
	padding: 10px 15px;
	border-right: 1px solid #ddd;
	border-left: 1px solid #ddd;
	border-bottom: 1px solid #ddd;
	font-size: 14px;
	color: #888;
	font-weight: 400;
}
/* ==========================================================================












   공통 모바일 기반: 페이지별 세부 레이아웃은 각 영역의 후속 규칙에서 조정












   ========================================================================== */

@media (min-width: 768px) {
	.mobile-only {
		display: none !important;
	}
}

@media (max-width: 767px) {
	body {
		overflow-x: hidden;
		overflow-y: auto;
		font-size: 15rem;
	}

	img {
		max-width: none;
		height: initial;
	}

	.pc-only {
		display: none !important;
	}
	.site-header {
		position: absolute;
	}

	.header-container {
		width: 100%;
		height: 72rem;
		padding: 0 16rem;
	}

	.logo img {
		width: auto;
		max-height: 46rem;
	}

	#mainbody,
	#contbody {
		width: 98%;
		margin: 72rem auto 0 auto;
		overflow: hidden;
	}

	#subbody {
		display: block;
		width: 100%;
		padding: 0 16rem 40rem;
	}

	.contenst {
		width: 100%;
		min-width: 0;
	}

	.footer {
		width: 100%;
		margin: 20rem 0 0;
		padding: 0 16rem;
	}

	.footer .footer_inner {
		flex-direction: column;
		gap: 24rem;
		padding: 32rem 0;
	}

	.footer .footer_inner li {
		width: 100%;
		flex-basis: auto;
		text-align: center;
	}

	.footer .footer_inner li.links.br a {
		display: inline-block;
		margin: 0 0 0 5px !important;
	}
	.footer .footer_inner li.links.br a:first-child {
		margin: 0 !important;
	}

	.footer .footer_inner li.links_last {
		text-align: center;
	}

	#common_r_banner {
		display: none;
	}

	.main_map {
		width: 100%;
		height: 250px;
		overflow: hidden;
		border: 1px solid #bfbfbf;
		text-align: center;
		border-radius: 10px;
	}
	.main_map a img {
		width: 100%;
		height: 100%;
		object-fit: cover;
		object-position: center center;
		display: block;
	}
	.main_banner {
		margin-top: 20rem !important;
		display: flex;
		gap: 12px;
		overflow-x: auto;
		scroll-snap-type: x mandatory;
		-webkit-overflow-scrolling: touch;
		padding: 0 16px 10px;
	}
	.main_banner img {
		width: 40vw;
	}
	.main_title {
		margin: 20px 0;
		font-size: 20px;
		color: #333;
		font-weight: 700;
		position: relative;
		letter-spacing: -0.5px;
		justify-content: center !important;
		background: #eee;
		padding: 15rem 0;
		border-radius: 9999rem;
		text-align: center;
	}
	.main_title.none {
		display: none;
	}
	.main-youtube {
		display: block;
		width: 100%;
		height: auto;
		aspect-ratio: 703 / 400;
		border-radius: 10px;
	}
	.wrap {
		width: 98%;
	}
	.main_visual {
		width: 100% !important;
		height: inherit !important;
	}
	.main_visual img {
		width: 100%;
		border-radius: 10px;
	}
	.swiper-button-prev,
	.swiper-button-next {
		display: none !important;
	}
	.class_img {
		width: 100% !important;
		height: 300px !important;
	}
	.class_img img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		object-position: center !important;
		border-radius: 10px;
	}
	.mo-cul {
		justify-content: center !important;
		flex-direction: column;
		gap: 10rem;
	}
	.main-2din {
		gap: 30px;
		grid-template-columns: 1fr;
	}

	.main-2din {
		align-items: stretch !important;
	}

	.main-2din > .d-flex {
		width: 100%;
		min-width: 0;
	}

	.tabs-container {
		width: 100%;
		overflow: hidden;
	}
	.jobs-review {
		position: relative;
		width: 100%;
		height: 300px;
		overflow: hidden;
	}
	.jobs-list {
		position: relative;
		width: 95%;
		height: 254px;
		overflow: hidden;
		margin: 25px auto 26px auto;
	}
	.main_board_list {
		font-size: 15px;
		color: #333;
		padding: 10px 0 !important;
	}

	.main_board_list .mbl_01 {
		flex-basis: 35%;
	}
	.main_board_list .mbl_02 {
		flex-basis: 15%;
	}
	.main_board_list .mbl_03 {
		flex-basis: 45%;
		margin-left: 0px;
	}

	.main_board_list .date_input {
		font-size: 14px;
	}
	.main_board_list div:first-child {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		width: 70%;
	}

	.jobrev01 {
		width: 25%;
	}
	.jobrev01 > img {
		width: 90%;
		height: auto;
		border-radius: 5px;
	}
	.jobrev02 {
		width: 65%;
		margin-left: 0px;
	}

	.jobrev_01 {
		font-size: 15px;
		color: #333;
		margin-bottom: 15px;
		font-weight: 500;
	}
	.jobrev_02 {
		font-size: 18px;
		color: #333;
		margin-bottom: 10px;
		font-weight: 600;
		width: 100%;
	}
	.jobrev_03 {
		font-size: 15px;
	}
	.tabs-container .tab-content {
		min-height: 250px;
		margin-top: 15px;
	}
	.classview_img img {
		width: 100%;
		border-radius: 10px;
	}
	.mo-100 div {
		width: 100% !important;
	}
	.pagination .btn-next,
	.pagination .btn-prev {
		display: none;
	}
	.classview_title {
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		text-align: center;
	}
	.mjobs {
		height: 278px !important;
		width: 98% !important;
		border-radius: 10px;
	}
	.cont-wrap {
		width: 95%;
		margin: 0 auto;
	}
	.cont-wrap img {
		width: 100%;
	}
	.sub_vis_01 {
		height: 141px;
		background: url(/proxy-img/image/common/sub_bg.jpg) 0px center no-repeat;
	}
	.sub_text01 {
		font-size: 23px;
		font-weight: 800;

		left: 50%;
		transform: translateX(-50%);
		white-space: nowrap;
		text-align: center;
	}
	.sub_text02 {
		font-size: 17px;
		font-weight: 400;
		top: 85px;
		width: 100%;
		text-align: center;
		left: 50%;
		transform: translateX(-50%);
	}

	/* 인사말 페이지 */
	.cont-wrap:has(> .greet_01) {
		width: 100%;
		padding: 0 16rem;
	}

	.cont-wrap:has(> .greet_01) .greet_01 {
		padding-top: 16rem;
	}

	.cont-wrap:has(> .greet_01) .greet_01 > span {
		margin: 0 0 16rem;
		font-size: 22rem;
		line-height: 1.4;
		text-align: center;
		word-break: keep-all;
	}

	.cont-wrap:has(> .greet_01) .greet_01 .greet_02 {
		padding: 18rem 16rem;
		text-align: center;
	}

	.cont-wrap:has(> .greet_01) .greet_01 .greet_02 p {
		font-size: 16rem;
		line-height: 1.65;
		word-break: keep-all;
	}

	.cont-wrap:has(> .greet_01) .greet_01 .ceo_photo {
		position: static;
		width: 100%;
		margin: 20rem auto 0;
		text-align: center;
	}

	.cont-wrap:has(> .greet_01) .greet_01 .ceo_photo img {
		width: 160rem;
		max-width: 100%;
		height: auto;
	}

	.cont-wrap:has(> .greet_01) .ceo_photo p {
		font-size: 15rem;
		line-height: 1.5;
	}

	.cont-wrap:has(> .greet_01) .greet_03,
	.cont-wrap:has(> .greet_01) .greet_04 {
		margin: 24rem 0;
		padding: 0;
		font-size: 16rem;
		line-height: 1.75;
		text-align: left;
		word-break: keep-all;
	}

	.cont-wrap:has(> .greet_01) .greet_04 {
		font-size: 15rem;
		line-height: 1.8;
	}

	.cont-wrap:has(> .greet_01) .greet_05 {
		width: 100%;
		height: auto;
		min-height: 150rem;
		margin: 24rem auto 32rem;
		padding: 28rem 16rem;
		background-position: center top;
		background-size: cover;
		font-size: 16rem;
		line-height: 1.75;
		word-break: keep-all;
	}

	.cont-wrap:has(> .greet_01) .greet_06 {
		width: 100%;
		height: auto;
	}

	/* 학교연혁 페이지 */
	.cont-wrap:has(> .sub_tap) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> .sub_tap) .sub_tap {
		height: auto;
		margin-bottom: 28rem;
	}

	.cont-wrap:has(> .sub_tap) .sub_tap ul {
		flex-wrap: wrap;
		gap: 8rem;
	}

	.cont-wrap:has(> .sub_tap) .sub_tap li {
		width: calc((100% - 8rem) / 2);
		margin: 0;
		border-radius: 24rem;
	}

	.cont-wrap:has(> .sub_tap) .sub_tap li a {
		height: 42rem;
		line-height: 42rem;
		font-size: 15rem;
	}

	.cont-wrap:has(> .sub_tap) .history {
		grid-template-columns: 1fr;
		gap: 12rem;
		margin-bottom: 28rem;
	}

	.cont-wrap:has(> .sub_tap) .hist_hd {
		width: 100%;
		padding: 14rem 0 0 8rem;
		font-size: 17rem;
	}

	.cont-wrap:has(> .sub_tap) .hist_hd p {
		font-size: 18rem;
	}

	.cont-wrap:has(> .sub_tap) .hist_cont li {
		padding: 10rem 8rem;
		font-size: 14rem;
		line-height: 1.6;
		word-break: keep-all;
	}

	.cont-wrap:has(> .sub_tap) .foot_02 {
		float: none;
		width: 100%;
		margin: 0 0 16rem;
	}

	.cont-wrap:has(> .sub_tap) .foot_02:nth-child(2n + 1) {
		margin-right: 0;
	}

	.cont-wrap:has(> .sub_tap) .foot_02 h2 {
		height: auto;
		min-height: 48rem;
		padding: 12rem 16rem;
		font-size: 17rem;
		line-height: 1.45;
	}

	.cont-wrap:has(> .sub_tap) .foot_02 p.cont {
		height: auto;
		min-height: 0;
		padding: 14rem 16rem;
		font-size: 14rem;
		line-height: 1.7;
		word-break: keep-all;
	}

	.cont-wrap:has(> .sub_tap) .history-image img {
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	/* 교수소개 페이지 */
	.cont-wrap:has(> .teacher-tab) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> .teacher-tab) .teacher-tab {
		max-width: none;
		height: auto;
		margin-bottom: 24rem;
	}

	.cont-wrap:has(> .teacher-tab) .teacher-tab ul {
		display: flex;
		gap: 8rem;
	}

	.cont-wrap:has(> .teacher-tab) .teacher-tab li {
		float: none;
		width: calc((100% - 8rem) / 2);
		margin: 0;
		border-radius: 24rem;
	}

	.cont-wrap:has(> .teacher-tab) .teacher-tab li a {
		height: 42rem;
		line-height: 42rem;
		font-size: 15rem;
	}

	.cont-wrap:has(> .teacher-tab) .t_list {
		grid-template-columns: 1fr;
		gap: 14rem;
	}

	.cont-wrap:has(> .teacher-tab) .t_list > li {
		gap: 14rem;
		min-height: 0;
		padding: 14rem;
	}

	.cont-wrap:has(> .teacher-tab) .t_list > li > img {
		width: 90rem;
		height: 104rem;
	}

	.cont-wrap:has(> .teacher-tab) .teacher-info h2 {
		margin-bottom: 8rem;
		font-size: 17rem;
	}

	.cont-wrap:has(> .teacher-tab) .teacher-info dl {
		grid-template-columns: 60rem minmax(0, 1fr);
		margin-bottom: 4rem;
		font-size: 13rem;
	}

	.cont-wrap:has(> .teacher-tab) .teacher-info dd {
		word-break: break-word;
	}

	.cont-wrap:has(> .teacher-tab) .interview {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 10rem;
	}

	.cont-wrap:has(> .teacher-tab) .interview li {
		position: relative;
		height: 180rem;
		padding: 0;
		overflow: hidden;
		background: #222;
	}

	.cont-wrap:has(> .teacher-tab) .interview li a {
		position: relative;
		display: block;
		width: 100%;
		height: 100%;
		color: #fff;
	}

	.cont-wrap:has(> .teacher-tab) .interview li img {
		position: absolute;
		inset: 0;
		z-index: 0;
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	.cont-wrap:has(> .teacher-tab) .interview li::after {
		position: absolute;
		right: 0;
		bottom: 0;
		left: 0;
		z-index: 1;
		height: 68%;
		content: "";
		pointer-events: none;
		background: linear-gradient(
			to bottom,
			rgba(0, 0, 0, 0) 0%,
			rgba(0, 0, 0, 0.12) 35%,
			rgba(0, 0, 0, 0.78) 100%
		);
	}

	.cont-wrap:has(> .teacher-tab) .interview h1 {
		position: absolute;
		right: 12rem;
		bottom: 45rem;
		left: 12rem;
		z-index: 2;
		margin: 0;
		color: #fff;
		font-size: 13rem;
		line-height: 1.3;
		text-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.65);
	}

	.cont-wrap:has(> .teacher-tab) .interview h2 {
		position: absolute;
		right: 12rem;
		bottom: 14rem;
		left: 12rem;
		z-index: 2;
		margin: 0;
		color: #fff;
		font-size: 21rem;
		line-height: 1.25;
		text-shadow: 0 1rem 3rem rgba(0, 0, 0, 0.65);
	}

	.cont-wrap:has(> .teacher-tab) .interview h2 span {
		color: inherit;
		font-size: 14rem;
	}

	.cont-wrap:has(> .teacher-tab) .interv_cont,
	.cont-wrap:has(> .teacher-tab) .in_hd_img {
		width: 100%;
	}

	.cont-wrap:has(> .teacher-tab) .interv_cont li {
		float: none;
		width: 100%;
		margin: 0 0 24rem;
	}

	.cont-wrap:has(> .teacher-tab) .interv_cont li img,
	.cont-wrap:has(> .teacher-tab) .in_hd_img {
		max-width: 100%;
		height: auto;
	}

	.section-title {
		height: 48rem;
		font-size: 25rem;
		margin: 30rem 0 50rem 0;
	}
	/* 오시는 길 페이지 */
	.cont-wrap:has(> #map) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> #map) #map {
		width: 100% !important;
		height: clamp(260rem, 70vw, 360rem) !important;
		border: 1px solid #dadada;
	}

	.cont-wrap:has(> #map) .map_01 {
		margin-top: 20rem;
	}

	.cont-wrap:has(> #map) .map_01 > p {
		font-size: 19rem;
		line-height: 1.4;
		word-break: keep-all;
	}

	.cont-wrap:has(> #map) .map_01 .map_02 {
		margin: 16rem 0;
		font-size: 15rem;
		line-height: 1.7;
		word-break: keep-all;
	}

	.cont-wrap:has(> #map) .map_01 .map_02 p {
		margin-bottom: 5rem;
		font-size: 16rem;
	}

	/* 취업지원 협력업체 페이지 */
	.cont-wrap:has(> .job_site_top) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> .job_site_top) .job_site_top {
		display: grid !important;
		grid-template-columns: 1fr;
		gap: 12rem;
		width: 100% !important;
		margin-bottom: 24rem !important;
	}

	.cont-wrap:has(> .job_site_top) .job_site_top > div {
		width: 100% !important;
		height: 140rem !important;
	}

	.cont-wrap:has(> .job_site_top) .job_site_top a {
		display: flex;
		width: 100%;
		height: 100%;
		align-items: center;
		justify-content: center;
	}

	.cont-wrap:has(> .job_site_top) .job_site_top img {
		width: 100% !important;
		max-width: 100%;
		height: 100%;
		object-fit: contain;
	}

	.cont-wrap:has(> .job_site_top) .job_site {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12rem;
		width: 100%;
	}

	.cont-wrap:has(> .job_site_top) .job_site > li {
		display: flex;
		flex-direction: column;
		width: auto;
		height: 118rem;
		margin: 0 !important;
		overflow: hidden;
	}

	.cont-wrap:has(> .job_site_top) .job_site > li a {
		display: flex;
		/* flex: 1; */
		min-height: 0;
		align-items: center;
		justify-content: center;
	}

	.cont-wrap:has(> .job_site_top) .job_site > li img {
		width: 100%;
		max-width: 100%;
		height: 78rem;
		padding: 4rem;
		object-fit: cover;
	}

	.cont-wrap:has(> .job_site_top) .job_site > li p {
		padding: 0 6rem;
		font-size: 13rem;
		line-height: 1.35;
		word-break: keep-all;
	}

	.cont-wrap:has(> .job_site_top) .job_site li p.f_img {
		display: flex;
		width: calc(100% - 8rem);
		height: 72rem;
		margin: 4rem;
		padding: 6rem;
		align-items: center;
		justify-content: center;
		font-size: 15rem;
		line-height: 1.35;
		text-align: center;
	}
	/* 채용업체 카테고리 탭 */
	.company-category-form {
		width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.company-category-form .cate_tap {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		width: max-content;
		min-width: 100%;
		height: auto;
		padding: 0 0 10rem;
	}

	.company-category-form .cate_tap input[type="radio"] + label {
		flex: 0 0 auto;
		width: auto;
		min-width: 104rem;
		margin: 0 8rem 0 0;
		padding: 10rem 14rem;
		font-size: 14rem !important;
		line-height: 1.35;
		white-space: nowrap;
	}

	.company-category-form .cate_tap input[type="radio"] + label:last-child {
		margin-right: 0;
	}

	.company-category-form::-webkit-scrollbar {
		display: none;
	}
	/* 채용업체 상세 페이지 */
	.cont-wrap:has(> .job_dtl) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> .job_dtl) > .table,
	.cont-wrap:has(> .job_dtl) .job_dtl {
		width: 100% !important;
		max-width: 100%;
	}

	.cont-wrap:has(> .job_dtl) .job_dtl {
		table-layout: fixed !important;
	}

	.cont-wrap:has(> .job_dtl) .job_dtl th {
		width: 92rem;
		padding: 12rem 8rem;
		font-size: 14rem;
		line-height: 1.4;
		word-break: keep-all;
	}

	.cont-wrap:has(> .job_dtl) .job_dtl td {
		padding: 12rem 10rem;
		font-size: 14rem;
		line-height: 1.6;
		word-break: break-word;
	}

	.cont-wrap:has(> .job_dtl) .company-employment-types {
		display: flex;
		flex-wrap: wrap;
		gap: 8rem 12rem;
	}

	.cont-wrap:has(> .job_dtl) .company-employment-types label {
		margin: 0;
		font-size: 13rem;
		white-space: nowrap;
	}

	.cont-wrap:has(> .job_dtl) td.job_condition {
		padding: 14rem 10rem;
		line-height: 1.75;
		word-break: keep-all;
	}

	.cont-wrap:has(> .job_dtl) .in_btn {
		padding-top: 24rem;
	}

	.cont-wrap:has(> .job_dtl) .in_btn a {
		width: 100%;
		max-width: 180rem;
		margin: 0 auto;
	}
	/* 취업 사이트 페이지 */
	.cont-wrap:has(> .job_site):not(:has(> .job_site_top)) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> .job_site):not(:has(> .job_site_top)) .job_site {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12rem;
		width: 100%;
	}

	.cont-wrap:has(> .job_site):not(:has(> .job_site_top)) .job_site > li {
		display: flex;
		flex-direction: column;
		width: auto;
		height: 88rem;
		margin: 0 !important;
		overflow: hidden;
	}

	.cont-wrap:has(> .job_site):not(:has(> .job_site_top)) .job_site > li a {
		display: flex;
		flex: 1;
		min-height: 0;
		align-items: center;
		justify-content: center;
	}

	.cont-wrap:has(> .job_site):not(:has(> .job_site_top)) .job_site > li img {
		width: 100%;
		max-width: 100%;
		height: 78rem;
		padding: 4rem;
		object-fit: contain;
	}

	.cont-wrap:has(> .job_site):not(:has(> .job_site_top)) .job_site > li p {
		padding: 0 6rem;
		font-size: 13rem;
		line-height: 1.35;
		text-align: center;
		word-break: keep-all;
	}

	.cont-wrap:has(> .job_site):not(:has(> .job_site_top)) .job_site > li p.jb_s {
		font-size: 12rem;
		line-height: 1.3;
	}
	/* 과정별 취업률: /job/rate 첫 번째 탭 */
	.cont-wrap:has(> .job_page) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap .sub_tap.rate {
		display: flex;
		width: 100% !important;
		height: auto;
		margin-bottom: 24rem !important;
		gap: 8rem;
	}

	.cont-wrap .sub_tap.rate li {
		float: none;
		width: calc((100% - 8rem) / 2);
		margin: 0;
		border-radius: 24rem;
	}

	.cont-wrap .sub_tap.rate li a {
		height: 42rem;
		line-height: 42rem;
		font-size: 15rem;
	}

	.cont-wrap:has(> .job_page) .job_rsts {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12rem;
	}

	.cont-wrap:has(> .job_page) .job_rsts li {
		float: none;
		width: auto;
		height: 185rem;
		margin: 0 !important;
		border-radius: 8rem;
	}

	.cont-wrap:has(> .job_page) .job_rsts li p.jos_01 {
		padding-top: 22rem;
		font-size: 14rem;
	}

	.cont-wrap:has(> .job_page) .job_rsts li p.jos_02 {
		height: 76rem;
		padding-top: 2rem;
		font-size: 42rem;
	}

	.cont-wrap:has(> .job_page) .job_rsts li p.jos_03 {
		padding: 0 8rem;
		font-size: 14rem;
	}

	.cont-wrap:has(> .job_page) .job_rsts li p.jos_04 {
		font-size: 13rem;
	}
	.table-basic td.mo-jspd {
		padding: 12rem 5rem;
	}
	/* 국가기술자격검정 일정표 */
	.cont-wrap:has(.exam-plan-table) {
		width: 100%;
		margin: 0;
		padding: 0 0rem;
	}

	.cont-wrap:has(.exam-plan-table) > table:first-of-type {
		width: 100%;
	}

	.cont-wrap:has(.exam-plan-table) > table:nth-of-type(2) {
		display: block;
		width: 100%;
		max-width: 100%;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.cont-wrap:has(.exam-plan-table) .exam-plan-table {
		width: 920rem !important;
		min-width: 920rem;
		margin-bottom: 16rem;
		font-size: 12rem;
	}

	.cont-wrap:has(.exam-plan-table) .exam-plan-table td {
		padding: 7rem 5rem;
		font-size: 12rem;
		line-height: 1.45;
		word-break: keep-all;
	}

	.cont-wrap:has(.exam-plan-table) .exam-plan-table td span,
	.cont-wrap:has(.exam-plan-table) .exam-plan-table td strong {
		font-size: inherit;
	}

	.cont-wrap:has(.exam-plan-table) > table:nth-of-type(2)::-webkit-scrollbar {
		height: 6rem;
	}

	.cont-wrap:has(.exam-plan-table)
		> table:nth-of-type(2)::-webkit-scrollbar-thumb {
		background: #9fb9d1;
		border-radius: 999rem;
	}
	/* 응시기준 페이지 */
	.cont-wrap:has(> .lic_pyo) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> .lic_pyo) .lic_hd {
		padding-bottom: 12rem;
		font-size: 19rem;
		line-height: 1.45;
	}

	.cont-wrap:has(> .lic_pyo) .lic_hd2 {
		padding-bottom: 8rem;
		font-size: 16rem;
		line-height: 1.5;
		word-break: keep-all;
	}

	.cont-wrap:has(> .lic_pyo) > table:nth-of-type(2) img {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
		margin: 0 auto;
	}

	.cont-wrap:has(> .lic_pyo) .lic_pyo {
		padding: 14rem;
		border-radius: 6rem;
	}

	.cont-wrap:has(> .lic_pyo) .lic_pyo li {
		margin: 10rem 0;
		font-size: 14rem;
		line-height: 1.7;
		word-break: keep-all;
	}
	/* 시험장소 페이지 */
	.cont-wrap:has(> .sub_tap5) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> .sub_tap5) .sub_tap5 {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 8rem;
		width: 100%;
	}

	.cont-wrap:has(> .sub_tap5) .sub_tap5 li,
	.cont-wrap:has(> .sub_tap5) .sub_tap5 li.long,
	.cont-wrap:has(> .sub_tap5) .sub_tap5 li.long2 {
		display: block;
		width: auto !important;
		margin: 0;
		padding: 0;
	}

	.cont-wrap:has(> .sub_tap5) .sub_tap5 li a {
		display: flex;
		min-height: 46rem;
		padding: 8rem 10rem;
		align-items: center;
		justify-content: center;
		font-size: 13rem;
		line-height: 1.35;
		text-align: center;
		word-break: keep-all;
	}

	.cont-wrap:has(> .sub_tap5) #wrapMap {
		width: 100% !important;
		height: clamp(280rem, 75vw, 380rem) !important;
		margin: 20rem 0 0 !important;
	}

	.cont-wrap:has(> .sub_tap5) #map {
		width: 100% !important;
		height: 100% !important;
	}

	.cont-wrap:has(> .sub_tap5) #target {
		display: none;
	}
	/* 수강신청 페이지 */
	.cont-wrap:has(> #admissionApplyForm) {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	.cont-wrap:has(> #admissionApplyForm) .apply_scrt {
		margin-bottom: 16rem;
		font-size: 15rem;
		line-height: 1.6;
	}

	.cont-wrap:has(> #admissionApplyForm) .app_table {
		width: 100%;
		table-layout: fixed;
	}

	.cont-wrap:has(> #admissionApplyForm) .app_table th {
		width: 88rem;
		height: auto;
		padding: 12rem 6rem;
		font-size: 14rem;
		line-height: 1.4;
		word-break: keep-all;
	}

	.cont-wrap:has(> #admissionApplyForm) .app_table td {
		width: auto;
		padding: 10rem;
		font-size: 14rem;
		line-height: 1.6;
		word-break: break-word;
	}

	.cont-wrap:has(> #admissionApplyForm) .app_table td label {
		display: inline-flex;
		margin: 4rem 12rem 4rem 0;
		align-items: center;
		gap: 3rem;
	}

	.cont-wrap:has(> #admissionApplyForm) .apply_form1:not([name="jumin1"]),
	.cont-wrap:has(> #admissionApplyForm) .apply_form4,
	.cont-wrap:has(> #admissionApplyForm) .apply_form6 {
		width: 100%;
		max-width: 100%;
	}

	.cont-wrap:has(> #admissionApplyForm) input[name="jumin1"].apply_form1 {
		width: 120rem;
	}

	.cont-wrap:has(> #admissionApplyForm) select.apply_form3,
	.cont-wrap:has(> #admissionApplyForm) .apply_form2 {
		width: 23%;
		min-width: 58rem;
	}

	.cont-wrap:has(> #admissionApplyForm) input[name="zipcode"].apply_form3 {
		width: 92rem;
	}

	.cont-wrap:has(> #admissionApplyForm) .apply_form1,
	.cont-wrap:has(> #admissionApplyForm) .apply_form2,
	.cont-wrap:has(> #admissionApplyForm) .apply_form3,
	.cont-wrap:has(> #admissionApplyForm) .apply_form4,
	.cont-wrap:has(> #admissionApplyForm) .apply_form6 {
		height: 42rem;
		font-size: 15rem;
	}

	.cont-wrap:has(> #admissionApplyForm) .add_btn {
		height: 42rem;
		padding: 0 10rem;
		font-size: 13rem;
		white-space: nowrap;
	}

	.cont-wrap:has(> #admissionApplyForm) .priv_agree {
		max-height: 230rem;
		margin-top: 20rem;
		padding: 16rem;
		overflow-y: auto;
		font-size: 13rem;
		line-height: 1.7;
	}

	.cont-wrap:has(> #admissionApplyForm) .priv_agree p {
		margin-bottom: 14rem;
		font-size: 17rem;
	}

	.cont-wrap:has(> #admissionApplyForm) .agree_app {
		padding: 0 4rem;
		font-size: 14rem;
		line-height: 1.5;
		text-align: left;
	}

	.cont-wrap:has(> #admissionApplyForm) .apply_btn button {
		width: 100%;
		max-width: 280rem;
		height: 48rem;
		margin: 24rem auto;
		font-size: 16rem;
	}
	/* 모집과정 페이지 */
	.cont-wrap:has(> .sub_tap2.sub_tap1) {
		width: 100%;
		margin: 0;
		padding: 0 0rem;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) > .sub_tap {
		height: auto;
		margin-bottom: 20rem;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) > .sub_tap ul {
		justify-content: flex-start !important;
		flex-wrap: nowrap !important;
		width: max-content;
		min-width: 100%;
		padding-bottom: 8rem;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) > .sub_tap li {
		flex: 0 0 104rem;
		float: none;
		width: 104rem;
		margin: 0 8rem 0 0;
		border-radius: 22rem;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) > .sub_tap li a {
		height: 42rem;
		line-height: 42rem;
		font-size: 14rem;
		white-space: nowrap;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .apply_01_table {
		flex-direction: column;
		min-height: 0;
		padding: 24rem 0;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .apply_01_table > li:first-child {
		width: 100% !important;
		flex-basis: auto;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .apply_01_table > li:first-child img {
		width: 100% !important;
		height: 190rem !important;
		object-fit: cover;
		border-radius: 6rem;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .apply_01_table > li:nth-child(2) {
		width: 100%;
		padding: 14rem 0 0;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .apply_01_table2 .title {
		height: auto;
		padding: 0 0 10rem;
		white-space: normal;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .apply_01_table2 .lec_name {
		font-size: 18rem;
		line-height: 1.45;
		white-space: normal;
		word-break: keep-all;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .apply_01_table2 .homepage_step {
		margin: 4rem 0 0 6rem;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .app_dtl_box {
		width: 100%;
		padding: 10rem;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .app_dtl td {
		font-size: 13rem;
		line-height: 1.55;
	}

	.cont-wrap:has(> .sub_tap2.sub_tap1) .app_dtl td img {
		max-width: 30%;
		height: auto;
	}
	/* 모집과정 상세 페이지 */
	.course-detail {
		width: 100%;
		margin: 0;
		padding: 0 16rem;
	}

	/* 상단 과정정보: 이미지 위, 항목/값 아래 */
	.course-detail > table:first-of-type,
	.course-detail > table:first-of-type tbody {
		display: block;
		width: 100%;
	}

	.course-detail > table:first-of-type tr {
		display: grid;
		grid-template-columns: 88rem minmax(0, 1fr);
		width: 100%;
	}

	.course-detail > table:first-of-type td {
		display: block;
		width: auto !important;
		height: auto !important;
		min-width: 0;
		padding: 12rem 10rem !important;
		font-size: 14rem;
		line-height: 1.55;
		word-break: keep-all;
	}

	.course-detail > table:first-of-type td[rowspan] {
		grid-column: 1 / -1;
		padding: 0 0 16rem !important;
	}

	.course-detail > table:first-of-type td[rowspan] img {
		display: block;
		width: 100% !important;
		height: 210rem !important;
		object-fit: cover;
		border-radius: 6rem;
	}

	.course-detail > table:first-of-type tr:first-child td:nth-child(2),
	.course-detail > table:first-of-type tr:not(:first-child) td:first-child {
		background: #f9f9f9;
		text-align: center;
		word-break: keep-all;
	}

	/* 수강신청·고용24·입학상담 버튼 */
	.course-detail .course-detail-actions {
		gap: 8rem;
		margin: 24rem 0;
	}

	.course-detail .course-detail-actions .lec_btn {
		flex: 1;
		width: auto;
		height: 46rem;
		margin: 0;
	}

	.course-detail .course-detail-actions .lec_btn a {
		font-size: 14rem;
		line-height: 46rem;
	}

	/* 배너와 상세 이미지 */
	.course-detail .lec_banner {
		width: 100%;
		height: auto;
		margin: 20rem 0 28rem;
	}

	.course-detail .lec_banner img,
	.course-detail .course-detail-image img {
		display: block;
		width: 100%;
		max-width: 100%;
		height: auto;
	}

	/* 관련 자격증·직종·시간표: 구조 보존을 위한 가로 스크롤 */
	.course-detail .lec_discr:has(.class_certi) {
		/* overflow-x: auto; */
		-webkit-overflow-scrolling: touch;
	}

	.course-detail .class_certi {
		min-width: 620rem;
	}

	.course-detail .class_certi td {
		padding: 8rem;
		font-size: 14rem;
		line-height: 1.5;
	}

	.course-detail .lec_discr .lec_hd_icon {
		width: 150rem;
	}

	.course-detail .lec_discr .lec_hd_icon img {
		width: 100%;
		max-width: 100%;
		height: auto;
	}
	.course-detail .lec_discr .teach_01 {
		width: 100%;
		padding: 8rem;
		font-size: 14rem;
		line-height: 1.45;
		word-break: break-all;
	}
}

/* 홈페이지 팝업 모바일 대응 */
@media (max-width: 767px) {
	.integrated-popup-wrap {
		--popup-side: min(calc(100vw - 32rem), calc(100dvh - 90rem));
		padding: 16rem;
		box-sizing: border-box;
	}

	.popup-box-container {
		width: var(--popup-side);
		height: auto;
		max-height: none;
		border-radius: 8rem;
	}

	.popup-body-content {
		flex: 0 0 auto;
		width: var(--popup-side);
		height: var(--popup-side);
		aspect-ratio: auto;
		max-height: none;
		overflow: hidden;
	}

	.popup-swiper,
	.popup-swiper .swiper-slide,
	.popup-link-wrapper {
		display: flex;
		align-items: center;
		justify-content: center;
	}

	.popup-swiper,
	.popup-swiper .swiper-wrapper,
	.popup-swiper .swiper-slide,
	.popup-link-wrapper {
		height: 100%;
	}

	.popup-link-wrapper {
		width: 100%;
	}

	.popup-swiper .swiper-slide {
		background-color: #ffffff;
	}

	.popup-swiper .swiper-slide > img,
	.popup-link-wrapper > img {
		display: block;
		width: 100%;
		height: 100%;
		max-height: none;
		object-fit: contain;
	}

	.popup-nav-btn {
		width: 32rem !important;
		height: 32rem !important;
	}

	.popup-nav-btn img {
		width: 9rem;
		height: auto;
	}

	.popup-swiper-controls-bar {
		bottom: 8rem;
		padding: 5rem 12rem;
	}

	.popup-footer-bar {
		flex: 0 0 auto;
		padding: 10rem 14rem;
	}

	.today-hide-label,
	.popup-close-btn {
		font-size: 13rem;
	}

	.popup-close-btn {
		padding: 7rem 14rem;
	}
}
