:root {
	--primary: #f05a22;
	--primary50: #fff1ea;
	--primary100: #ffd2be;
	--primary200: #ffab83;
	--primary300: #f05a22;
	--primary400: #cf4717;
	--primary500: #a63912;
	--primary600: #7a290c;
	--primary700: #ec1c24;
	--primary-tint5: rgba(240, 90, 34, 0.08);
	--primary-tint10: rgba(240, 90, 34, 0.12);
	--primary-tint20: rgba(240, 90, 34, 0.2);
	--accent-yellow: #fff100;
}

body {
	background: #fff;
}

.branch.pcview,
.branch.mobview {
	display: none !important;
}

#mainVisual,
#mainVisual ul li {
	min-height: 620px;
	height: clamp(620px, 44vw, 760px);
}

#mainVisual ul li.ani-banner .pcview {
	display: flex;
	align-items: center;
	min-height: inherit;
	padding-top: 110px;
	padding-bottom: 110px;
}

#mainVisual .pcview .text-area {
	max-width: 700px;
}

#mainnNEWS .inner > ul {
	align-items: stretch;
}

#mainnNEWS {
	padding-top: 80px;
}

#mainnNEWS .m-intro .img ul li {
	background: #f4f4f4;
}

#mainnNEWS .m-intro .img ul li img {
	display: block;
	width: 100%;
	min-height: 420px;
	object-fit: cover;
}

#mainnNEWS .m-notice {
	display: flex;
}

#mainnNEWS .m-notice > ul {
	width: 100%;
}

#mainnNEWS .m-notice ul .photo-list img {
	display: block;
	min-height: 150px;
	object-fit: cover;
}

#mainCurrent .infiniteWrap > div {
	overflow: hidden;
}

#mainCurrent .current-list {
	align-items: center;
}

#mainCurrent .current-list li {
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 0 0 auto;
	box-sizing: border-box;
	width: auto;
	min-width: 180px;
	height: 88px;
	padding: 0 26px;
	margin: 0 16px 0 0 !important;
	border: 1px solid var(--gs200);
	border-radius: 20px;
	background: #fff;
}

#mainCurrent .current-list li:nth-child(3n+1),
#mainCurrent .current-list li:nth-child(2n+1),
#mainCurrent .current-list li:nth-child(2n+2) {
	margin-top: 0 !important;
	margin-bottom: 0 !important;
}

#mainCurrent .current-list li a {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
}

#mainCurrent .current-list li img {
	display: block;
	width: auto;
	max-width: 132px;
	max-height: 34px;
	object-fit: contain;
	object-position: center;
	margin: 0 auto;
}

#mainCurrent .current-total,
#footerCounsel,
#mainStudent .m-portfolio {
	display: none !important;
}

#mainCurrent .flex-box {
	display: block;
	height: auto !important;
}

#mainCurrent .flex-box > div {
	width: 100% !important;
	margin-right: 0 !important;
}

#mainCurrent .flex-box > div::after,
#mainCurrent::after {
	display: none !important;
}

#logo img,
.top-slide-menu .logo img,
.footer-info .logo img {
	width: auto;
	height: auto;
	max-width: 100%;
	max-height: 70px;
	object-fit: contain;
}

#mainProcess .inner.title-area {
	padding-top: 20px;
	padding-bottom: 80px;
}

#mainProcess .lecture-page-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 24px;
	width: 100%;
	padding-bottom: 40px;
}

#mainProcess .lecture-page-head h2 {
	padding-bottom: 0 !important;
}

#mainProcess .lecture-page-head h2 span {
	display: block;
	margin-top: 10px;
	font-size: 16px;
	font-weight: 500;
	line-height: 1.5;
	color: var(--gs400);
}

#mainProcess .lecture-page-head .curri-filter {
	width: 360px;
	margin-left: auto;
}

#mainProcess .curri-filter.mobview {
	display: none !important;
}

#mainProcess #courseSection,
#mainProcess #trainingSection {
	width: 100%;
}

#mainProcess .scpass-filter-shell {
	position: relative;
	width: 100%;
}

#mainProcess .scpass-filter-viewport {
	width: 100%;
	overflow-x: auto;
	overflow-y: hidden;
	scrollbar-width: none;
	-webkit-overflow-scrolling: touch;
}

#mainProcess .scpass-filter-viewport::-webkit-scrollbar {
	display: none;
}

#mainProcess #courseSection .tab,
#mainProcess #trainingSection .tag {
	display: flex;
	flex-wrap: nowrap;
	width: 100%;
}

#mainProcess #courseSection .tab {
	gap: 0;
	margin: 0;
	border-bottom: 1px solid #ebebeb;
}

#mainProcess #courseSection .tab li {
	flex: 1 1 0;
	min-width: 0;
	padding: 0;
	color: #888;
	text-align: center;
	border-bottom: 1px solid transparent;
}

#mainProcess #courseSection .tab li.is-active {
	color: var(--primary300);
	border-bottom-color: var(--primary300);
}

#mainProcess #courseSection .tab li .btn-group {
	display: flex;
	align-items: center;
	justify-content: center;
	min-height: 52px;
	padding: 0 12px;
	color: inherit;
	font-size: 16px;
	font-weight: 700;
	line-height: 1.5;
	text-align: center;
	white-space: nowrap;
}

#mainProcess #courseSection .tab li.is-active .btn-group {
	color: var(--primary300);
}

#mainProcess #trainingSection .tag {
	gap: 12px;
	margin: 0;
	padding-top: 8px;
}

#mainProcess #trainingSection .tag li {
	flex: 0 0 auto;
}

#mainProcess #trainingSection .tag li .btn-course {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-height: 46px;
	padding: 0 18px;
	border: 1px solid #dddddd;
	border-radius: 999px;
	background: #fff;
	color: #555;
	font-size: 15px;
	font-weight: 700;
	line-height: 1;
	text-align: center;
	white-space: nowrap;
	transition: background-color 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}

#mainProcess #trainingSection .tag li.is-active .btn-course {
	border-color: var(--primary300);
	background: var(--primary300);
	color: #fff;
}

#mainProcess .scpass-filter-arrow {
	display: none;
}

#mainProcess .list li:not(.static-empty) {
	display: flex;
	flex-direction: column;
}

#mainProcess .list li:not(.static-empty) > a {
	display: block;
}

#mainProcess .list li .text {
	display: flex;
	flex-direction: column;
	gap: 8px;
	flex: 1 1 auto;
	min-height: 148px;
}

#mainProcess .list li .text h6 {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.35em * 2);
}

#mainProcess .list li .text p {
	display: -webkit-box;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 2;
	overflow: hidden;
	min-height: calc(1.5em * 2);
}

#mainProcess .list li .course-actions {
	display: flex;
	gap: 10px;
	margin-top: auto;
	padding-top: 16px;
	position: relative;
	z-index: 2;
}

#mainProcess .list li .course-actions .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 0;
	padding: 12px 14px;
	text-align: center;
	border-radius: 100px;
}

@media screen and (max-width: 1024px) {
	#mainProcess .list li .text {
		min-height: 128px;
	}
}

@media screen and (max-width: 768px) {
	#mainProcess .list li .text {
		min-height: 116px;
	}
}

#mainProcess .list li .thum-img,
#mainProcess .list li:hover .thum-img,
#lecture_list li .thum-img,
#lecture_list li:hover .thum-img {
	background-position: center;
	background-size: cover;
}

#mainProcess .list li.static-empty,
#lecture_list .static-empty {
	width: 100%;
	margin-right: 0;
	padding: 28px 24px;
	border: 1px solid var(--gs200);
	border-radius: 18px;
	text-align: center;
	color: var(--gs500);
	background: #fff;
}

.floating-menu ul li a span,
#mainProcess .list li .text h6,
#mainStudent .m-review ul li .txt h6,
#mainnNEWS .m-notice ul .text-list .info h6,
#mainCurrent .current-total li h6,
#mainCurrent .current-total li h3 {
	word-break: keep-all;
}

#mainStudent .inner {
	display: block;
}

#mainStudent .m-review {
	width: 100% !important;
	max-width: none;
}

#mainStudent .m-review ul li .card-content.is-dark-bg h5 {
	color: #fff !important;
	text-shadow: 0 1px 4px rgba(0, 0, 0, 0.45);
}

#mainStudent .m-review ul li .card-content.is-light-bg h5 {
	color: #111 !important;
	text-shadow: 0 1px 3px rgba(255, 255, 255, 0.55);
}

#ConsultationBanner .consul-banner {
	gap: 24px;
}

#ConsultationBanner .consul-banner .benefit-icon {
	flex: 0 0 auto;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 80px;
	height: 80px;
	border-radius: 22px;
	background: var(--primary300);
	color: #fff;
	font-size: 38px;
}

#ConsultationBanner .consul-banner .txt {
	padding-left: 0;
}

#ConsultationBanner .consul-banner .txt::after {
	display: none;
}

.floating-menu ul li a i,
.quickBox .circle button i {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 25px;
	height: 25px;
	font-size: 22px;
	color: var(--primary300);
}

.quickBox .circle button {
	display: flex;
	align-items: center;
	justify-content: center;
}

.quickBox .circle button i {
	color: #fff;
	font-size: 24px;
}

.quickBox .quick-panel-links a {
	display: flex;
	align-items: center;
	gap: 10px;
}

.quickBox .quick-panel-links a i {
	color: var(--primary300);
	font-size: 16px;
}

.quickBox .quick-panel {
	display: grid;
	gap: 12px;
	padding: 18px;
}

.quickBox .quick-panel-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.quickBox .quick-panel-head strong {
	font-size: 16px;
	line-height: 1.35;
}

.quickBox .quick-panel-head button {
	border: 0;
	background: transparent;
	font-size: 22px;
	line-height: 1;
	cursor: pointer;
}

.quickBox .quick-panel-links {
	display: grid;
	gap: 10px;
}

.quickBox .quick-panel-links a {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 14px 16px;
	border: 1px solid var(--gs200);
	border-radius: 14px;
	color: var(--gs700);
	background: #fff;
	font-size: 14px;
	font-weight: 600;
	line-height: 1.45;
	word-break: keep-all;
}

.quickBox .quick-panel-note {
	margin: 0;
	color: var(--gs400);
	font-size: 12px;
	line-height: 1.5;
}

#footer .footer-info .logo {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: auto;
	padding: 16px 20px;
	margin: 28px 0 12px;
	border-radius: 24px;
	background: rgba(255, 255, 255, 0.98);
	box-shadow: 0 14px 28px rgba(0, 0, 0, 0.18);
}

#footer .footer-info .logo img.scpass-footer-logo {
	display: block;
	width: auto;
	height: 64px;
	max-width: 220px;
	max-height: none;
	margin-right: 0;
	object-fit: contain;
}

.wow,
.fadeInDown,
.fadeInUp {
	visibility: visible !important;
	animation: none !important;
}

@media screen and (max-width: 1080px) {
	.floating-menu.pcview {
		display: none !important;
	}

	.quickBox.mobview {
		display: block !important;
	}

	#logo img,
	.top-slide-menu .logo img,
	.footer-info .logo img {
		max-height: 56px;
	}

	#footer .footer-info .logo {
		padding: 14px 18px;
		margin: 20px 0 10px;
		border-radius: 20px;
	}

	#footer .footer-info .logo img.scpass-footer-logo {
		height: 56px;
		max-width: 190px;
	}

	#mainnNEWS .m-intro .img ul li img {
		min-height: 360px;
	}

	#ConsultationBanner .consul-banner .benefit-icon {
		width: 72px;
		height: 72px;
		font-size: 32px;
	}
}

@media screen and (max-width: 768px) {
	#mainVisual,
	#mainVisual ul li {
		min-height: 500px;
		height: auto;
	}

	#mainnNEWS .m-intro .img ul li img {
		min-height: 320px;
	}

	#mainCurrent .current-list li {
		min-width: 160px;
		height: 76px;
		padding: 0 20px;
	}

	#ConsultationBanner .consul-banner {
		gap: 16px;
	}

	#ConsultationBanner .consul-banner .benefit-icon {
		width: 64px;
		height: 64px;
		border-radius: 18px;
		font-size: 28px;
	}
}

@media screen and (max-width: 640px) {
	#mainProcess .list li .course-actions {
		flex-direction: column;
	}
}

body.menu-open {
	overflow: hidden;
}

@media screen and (max-width: 1080px) {
	html,
	body {
		overflow-x: hidden;
	}

	#wrapper,
	#content,
	#container {
		overflow-x: clip;
	}

	#gnb,
	#dropDownMenu {
		display: none !important;
	}

	#header,
	#header.scroll,
	#header.sub,
	#header.sub.scroll,
	#header #nav,
	#header.scroll #nav,
	#header.sub #nav {
		background: #fff !important;
	}

	#nav .inner {
		display: flex !important;
		flex-direction: row !important;
		align-items: center !important;
		justify-content: space-between !important;
		gap: 16px;
		min-height: 76px;
		padding: 14px 0 !important;
		margin: 0 auto !important;
		max-width: calc(100% - 32px) !important;
	}

	#nav .inner .logo-wrap {
		position: relative !important;
		left: auto !important;
		width: auto !important;
		flex: 1 1 auto;
		min-width: 0;
		align-items: center !important;
	}

	#nav .inner .logo-wrap .logo a {
		height: auto;
		margin-right: 0;
	}

	#nav .inner .btn-area {
		width: auto !important;
		margin: 0 0 0 auto !important;
		flex: 0 0 auto;
	}

	#nav .inner .btn-area li {
		margin-left: 0 !important;
		width: 40px;
		height: 40px;
		background: rgba(240, 90, 34, 0.08);
		border-radius: 999px;
	}

	#nav .inner .btn-area li button {
		width: 40px;
		height: 40px;
		background-size: 22px;
	}

	#allMenu {
		display: none;
	}

	#allMenu.is-active {
		display: block;
		position: fixed;
		inset: 0;
		z-index: 1001;
		background: #fff;
		overflow-y: auto;
		overscroll-behavior: contain;
	}

	.top-slide-menu.is-active .logo {
		position: sticky;
		top: 0;
		z-index: 3;
		padding: 18px 16px;
		text-align: left;
		background: #fff;
		border-bottom: 1px solid rgba(0, 0, 0, 0.08);
	}

	.top-slide-menu.is-active .logo .pt-xs {
		display: inline-flex !important;
	}

	.top-slide-menu.is-active .logo img {
		width: auto;
		max-height: 34px;
	}

	.top-slide-menu.is-active .logo .btn-close {
		position: absolute;
		top: 14px;
		right: 16px;
		display: inline-flex !important;
		align-items: center;
		justify-content: center;
		width: 40px;
		height: 40px;
		border: 1px solid rgba(0, 0, 0, 0.08);
		border-radius: 999px;
		background: #fff;
	}

	.menu-mob.mobview {
		display: block !important;
		height: auto !important;
		min-height: calc(100dvh - 76px);
		padding-bottom: 24px;
	}

	.menu-wrap.mobview {
		display: block !important;
		height: auto !important;
		overflow: visible;
	}

	.menu-wrap.mobview .tab-buttons {
		display: flex !important;
		flex-direction: row !important;
		gap: 8px;
		overflow-x: auto;
		padding: 14px 16px;
		background: #fff;
		border-bottom: 1px solid #ededed;
		scrollbar-width: none;
	}

	.menu-wrap.mobview .tab-buttons::-webkit-scrollbar {
		display: none;
	}

	.menu-wrap.mobview .tab-buttons button {
		flex: 0 0 auto;
		width: auto;
		padding: 10px 16px;
		border: 1px solid rgba(240, 90, 34, 0.22);
		border-radius: 999px;
		background: #fff7f2;
		color: #575757;
		font-size: 14px;
		line-height: 1.2;
		white-space: nowrap;
	}

	.menu-wrap.mobview .tab-buttons button.active {
		background: var(--primary300);
		color: #fff;
	}

	.menu-wrap.mobview .tab-buttons button.active::after {
		display: none;
	}

	.menu-wrap.mobview .tab-content {
		padding: 18px 16px 28px;
		border-top: 0;
	}

	.menu-wrap.mobview .tab-content .tab-process {
		gap: 12px 0;
	}

	.menu-wrap.mobview .tab-content .tab-process dd {
		width: 33.333%;
		margin-bottom: 12px;
	}

	.menu-wrap.mobview .tab-content dl dd {
		margin-bottom: 12px;
	}

	.menu-wrap.mobview .tab-content dl dd a {
		align-items: flex-start;
		text-align: left;
		font-size: 15px;
	}

	.quickBox.mobview {
		display: block !important;
		right: 16px;
		bottom: max(16px, env(safe-area-inset-bottom));
	}

	.quickBox .inner {
		width: min(320px, calc(100vw - 32px));
		right: 0;
		bottom: calc(100% + 12px);
		border-radius: 20px;
		overflow: hidden;
	}

	#footer .footer-main,
	#footer .footer-info > div {
		flex-direction: column;
		gap: 16px;
	}

	#footer .logo {
		padding: 28px 0 8px;
	}

	#footer .number-info p {
		position: static !important;
		text-align: left !important;
	}

	#footer .footer-links {
		flex-wrap: wrap;
		row-gap: 10px;
	}

	.scpass-subpage #container {
		padding-top: 76px !important;
	}
}

@media screen and (max-width: 768px) {
	#mainVisual,
	#mainVisual ul li {
		min-height: 520px;
		height: 520px;
	}

	#mainVisual ul li.ani-banner .mobview.visual-layer,
	#mainVisual ul li.ani-banner .pcview.visual-layer {
		align-items: flex-end;
		width: 100%;
		min-height: inherit;
		padding: 110px 20px 88px !important;
	}

	#mainVisual ul li.ani-banner .pcview.visual-layer {
		display: none !important;
	}

	#mainVisual ul li.ani-banner .mobview.visual-layer {
		display: flex !important;
	}

	#mainVisual .pcview .text-area,
	#mainVisual .mobview .text-area {
		max-width: 100%;
		width: 100%;
	}

	#mainVisual .text-area span {
		font-size: 14px;
	}

	#mainVisual .text-area h2 {
		padding: 12px 0 16px !important;
		font-size: clamp(28px, 7vw, 40px) !important;
		line-height: 1.18;
	}

	#mainVisual .text-area .fw-li {
		padding: 0 !important;
		font-size: 15px;
		line-height: 1.6;
		max-width: 100%;
	}

	#mainVisual .btn-area {
		left: 50% !important;
		bottom: 20px !important;
		width: calc(100% - 40px) !important;
		max-width: none !important;
		transform: translateX(-50%) !important;
		z-index: 5 !important;
		height: auto !important;
	}

	#mainVisual .bar {
		left: 0 !important;
		bottom: 0 !important;
		width: 100% !important;
		height: auto !important;
	}

	#mainVisual .bar .swiper-pagination {
		left: 0 !important;
		width: auto !important;
	}

	#mainVisual .autoplay-progress {
		left: 56px !important;
		width: calc(100% - 88px) !important;
		transform: none !important;
	}

	#mainVisual .bar .pause-button {
		right: 0 !important;
		bottom: -4px !important;
	}

	#mainProcess #courseSection .tab li,
	#mainProcess #trainingSection .tag li,
	.course-list-page #courseSection .tab li,
	.course-list-page #trainingSection .tag li {
		flex: 0 0 auto;
	}

	#mainProcess .lecture-page-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 16px;
		padding-bottom: 24px;
	}

	#mainProcess .lecture-page-head .curri-filter {
		width: 100%;
		margin-left: 0;
	}

	#mainProcess .curri-filter.pcview {
		display: block !important;
	}

	#mainProcess .scpass-filter-shell.has-overflow {
		padding: 0 18px;
	}

	#mainProcess .scpass-filter-shell.has-overflow .scpass-filter-arrow {
		position: absolute;
		top: 50%;
		z-index: 3;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 30px;
		height: 30px;
		border: 1px solid rgba(17, 17, 17, 0.08);
		border-radius: 999px;
		background: rgba(255, 255, 255, 0.96);
		box-shadow: 0 10px 18px rgba(0, 0, 0, 0.08);
		color: #222;
		font-size: 20px;
		line-height: 1;
		transform: translateY(-50%);
	}

	#mainProcess .scpass-filter-shell.has-overflow .scpass-filter-arrow.prev {
		left: 6px;
	}

	#mainProcess .scpass-filter-shell.has-overflow .scpass-filter-arrow.next {
		right: 6px;
	}

	#mainProcess .scpass-filter-shell.is-at-start .scpass-filter-arrow.prev,
	#mainProcess .scpass-filter-shell.is-at-end .scpass-filter-arrow.next {
		display: none;
	}

	#mainProcess #courseSection .tab,
	#mainProcess #trainingSection .tag {
		width: max-content;
		min-width: 100%;
	}

	.course-list-page #courseSection,
	.course-list-page #trainingSection {
		width: 100%;
		overflow: hidden;
	}

	.course-list-page #courseSection .tab,
	.course-list-page #trainingSection .tag {
		display: flex;
		flex-wrap: nowrap;
		width: max-content;
		min-width: 100%;
	}

	#mainProcess #courseSection .tab {
		gap: 10px;
		border-bottom: 0;
		padding-bottom: 8px;
	}

	.course-list-page #courseSection .tab {
		gap: 10px;
		margin: 0;
		border-bottom: 0;
		padding-bottom: 8px;
	}

	#mainProcess #courseSection .tab li {
		flex: 0 0 auto;
		border-bottom: 0;
	}

	.course-list-page #courseSection .tab li,
	.course-list-page #trainingSection .tag li {
		flex: 0 0 auto;
		width: auto !important;
		min-width: auto !important;
		padding: 0;
		border-bottom: 0;
	}

	#mainProcess #courseSection .tab li .btn-group {
		min-height: 44px;
		padding: 0 16px;
		border: 1px solid #e1e1e1;
		border-radius: 999px;
		background: #fff;
		font-size: 14px;
	}

	#mainProcess #courseSection .tab li.is-active .btn-group {
		border-color: var(--primary300);
		background: var(--primary300);
		color: #fff;
	}

	.course-list-page #courseSection .tab li .btn-group {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 16px;
		border: 1px solid #e1e1e1;
		border-radius: 999px;
		background: #fff;
		color: #555;
		font-size: 14px;
		font-weight: 700;
		line-height: 1;
		white-space: nowrap;
	}

	.course-list-page #courseSection .tab li.is-active .btn-group {
		border-color: var(--primary300);
		background: var(--primary300);
		color: #fff;
	}

	#mainProcess #trainingSection .tag {
		padding-top: 4px;
		padding-bottom: 8px;
	}

	.course-list-page #trainingSection .tag {
		gap: 10px;
		margin: 0;
		padding-top: 4px;
		padding-bottom: 8px;
	}

	.course-list-page #trainingSection .tag li a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		min-height: 44px;
		padding: 0 16px;
		border: 1px solid #dddddd;
		border-radius: 999px;
		background: #fff;
		color: #555;
		font-size: 14px;
		font-weight: 700;
		line-height: 1;
		white-space: nowrap;
	}

	.course-list-page #trainingSection .tag li.is-active a {
		border-color: var(--primary300);
		background: var(--primary300);
		color: #fff;
	}

	#mainProcess .list,
	.course-list-page #lecture_list {
		display: grid;
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 16px;
	}

	#mainProcess .list li,
	.course-list-page #lecture_list > li {
		width: auto !important;
		margin: 0 !important;
	}

	#mainProcess .list li .thum-img,
	.course-list-page #lecture_list > li .thum-img {
		min-height: 220px;
	}

	#mainProcess .list li .text,
	.course-list-page #lecture_list .text {
		padding: 14px 0 0;
	}

	#mainProcess .list li .course-actions,
	.course-list-page #lecture_list .course-actions {
		flex-direction: column;
		gap: 8px;
	}

	#mainProcess .list li .course-actions .btn,
	.course-list-page #lecture_list .course-actions .btn {
		padding: 12px;
	}

	#ConsultationBanner {
		margin: 40px 0;
	}

	#ConsultationBanner .inner.consul-banner {
		padding: 24px 20px;
	}

	#ConsultationBanner .consul-banner .txt h5 {
		font-size: 22px;
		line-height: 1.35;
	}

	#ConsultationBanner .consul-banner .txt h6 {
		display: block !important;
		margin-top: 8px;
		font-size: 14px;
		line-height: 1.6;
	}

	#mainStudent {
		padding-top: 20px;
	}

	#mainStudent .inner {
		display: block;
	}

	#mainStudent .m-review {
		width: 100% !important;
		margin: 0 !important;
		padding-top: 0 !important;
	}

	.m-review ul li .card-content {
		height: 220px;
	}

	.m-review ul li .txt h6,
	.m-review ul li .txt span {
		white-space: normal;
		overflow: visible;
		text-overflow: initial;
	}

	.m-review ul li .txt span {
		line-height: 1.6;
	}

	#mainCurrent {
		padding-top: 40px;
	}

	#mainCurrent .flex-box {
		display: block;
		height: auto !important;
	}

	#mainCurrent .infiniteWrap > div {
		width: 100% !important;
		overflow: hidden;
	}

	#mainCurrent .current-list {
		display: flex;
		flex-wrap: nowrap !important;
		align-items: center;
	}

	#mainCurrent .current-list li {
		width: 152px !important;
		min-width: 152px !important;
		max-width: 152px !important;
		height: 72px;
		padding: 0 16px;
		margin: 0 12px 0 0 !important;
		border-radius: 16px;
	}

	#mainCurrent .current-list li img {
		max-width: 100%;
		max-height: 28px;
	}

	#mainnNEWS {
		padding-top: 64px;
	}

	#mainnNEWS .inner > ul {
		display: grid;
		gap: 20px;
	}

	#mainnNEWS .m-intro,
	#mainnNEWS .m-notice {
		width: 100% !important;
		margin: 0 !important;
	}

	#mainnNEWS .m-intro .img ul li img {
		min-height: 260px;
	}

	#mainnNEWS .m-notice ul .photo-list {
		display: block;
		padding-bottom: 16px;
	}

	#mainnNEWS .m-notice ul .photo-list img {
		width: 100% !important;
		min-height: 220px;
		margin: 0 0 12px !important;
		border-radius: 14px;
	}

	#mainnNEWS .m-notice ul .photo-list > div {
		width: 100% !important;
	}

	#mainnNEWS .m-notice ul .text-list {
		display: flex;
		gap: 12px;
	}

	#mainnNEWS .m-notice ul .text-list .info {
		width: calc(100% - 72px);
	}
}

@media screen and (max-width: 540px) {
	#nav .inner {
		max-width: calc(100% - 24px) !important;
		min-height: 70px;
		padding: 12px 0 !important;
	}

	#mainVisual,
	#mainVisual ul li {
		min-height: 468px;
		height: 468px;
	}

	#mainVisual ul li.ani-banner .mobview.visual-layer,
	#mainVisual ul li.ani-banner .pcview.visual-layer {
		padding: 96px 16px 78px !important;
	}

	#mainVisual .text-area h2 {
		font-size: clamp(24px, 7vw, 32px) !important;
	}

	#mainVisual .text-area .fw-li {
		font-size: 14px;
	}

	#mainProcess .list,
	.course-list-page #lecture_list {
		grid-template-columns: 1fr;
	}

	#mainProcess .list li .thum-img,
	.course-list-page #lecture_list > li .thum-img {
		min-height: 210px;
	}

	#mainProcess .lecture-page-head h2 span {
		font-size: 14px;
	}

	#mainProcess .curri-filter.pcview {
		display: block !important;
	}

	#mainProcess .curri-filter .input-text-search .input-group input {
		min-width: 0;
	}

	#ConsultationBanner .inner.consul-banner {
		gap: 16px;
		padding: 20px 16px;
	}

	#ConsultationBanner .consul-banner .benefit-icon {
		width: 56px;
		height: 56px;
		font-size: 24px;
	}

	#ConsultationBanner .consul-banner .txt h5 {
		font-size: 18px;
	}

	.quickBox.mobview {
		right: 12px;
		bottom: max(12px, env(safe-area-inset-bottom));
	}

	.quickBox .inner {
		width: min(300px, calc(100vw - 24px));
	}

	#mainCurrent .current-list li {
		width: 136px !important;
		min-width: 136px !important;
		max-width: 136px !important;
		height: 64px;
		padding: 0 12px;
		margin: 0 10px 0 0 !important;
	}

	#mainCurrent .current-list li img {
		max-width: 100%;
		max-height: 24px;
	}

	#mainnNEWS .m-intro .img ul li img,
	#mainnNEWS .m-notice ul .photo-list img {
		min-height: 200px;
	}
}

@media screen and (max-width: 480px) {
	#mainVisual ul li.ani-banner .pcview.visual-layer {
		display: none !important;
	}

	#mainVisual ul li.ani-banner .mobview.visual-layer {
		display: flex !important;
	}
}

body.modal-open {
	overflow: hidden;
}

.floating-menu ul li a .floating-fa-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 26px;
	height: 26px;
	margin: 0 auto 8px;
	font-size: 22px;
	color: var(--primary300);
}

.floating-menu ul li.tuition span {
	letter-spacing: -0.02em;
}

@media screen and (min-width: 961px) {
	.floating-menu {
		width: 86px;
		right: max(18px, 2.3%);
	}

	.floating-menu ul {
		max-height: calc(100vh - 140px);
		overflow-y: auto;
		-ms-overflow-style: none;
		scrollbar-width: none;
	}

	.floating-menu ul::-webkit-scrollbar {
		display: none;
	}

	.floating-menu ul li a {
		padding: 11px 0 10px !important;
	}

	.floating-menu ul li a span {
		font-size: 12px;
		line-height: 1.3;
	}

	.floating-menu ul li.tuition a {
		padding-top: 10px !important;
		padding-bottom: 10px !important;
	}

	.floating-menu ul li.tuition span {
		font-size: 11px;
		line-height: 1.2;
		word-break: keep-all;
	}

	.floating-menu ul li.tuition .floating-fa-icon {
		margin-bottom: 6px;
		font-size: 20px;
	}

	.floating-menu ul .contact a {
		padding: 14px 6px 16px !important;
	}
}

.scpass-tuition-modal {
	position: fixed;
	inset: 0;
	z-index: 1200;
	display: none;
	align-items: center;
	justify-content: center;
	padding: 28px;
}

.scpass-tuition-modal.is-open {
	display: flex;
}

.scpass-tuition-modal__backdrop {
	position: absolute;
	inset: 0;
	background: rgba(15, 23, 42, 0.54);
	backdrop-filter: blur(2px);
}

.scpass-tuition-modal__dialog {
	position: relative;
	width: min(760px, 100%);
	max-height: min(86vh, 920px);
	padding: 32px 32px 28px;
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 28px 70px rgba(15, 23, 42, 0.22);
	overflow: hidden;
}

.scpass-tuition-modal__close {
	position: absolute;
	top: 18px;
	right: 18px;
	width: 42px;
	height: 42px;
	border: 0;
	border-radius: 50%;
	background: #f4f6f8;
	color: #1f2937;
	font-size: 18px;
	cursor: pointer;
}

.scpass-tuition-modal__head h3 {
	margin: 10px 0 12px;
	font-size: 30px;
	font-weight: 800;
	line-height: 1.2;
	color: #111827;
}

.scpass-tuition-modal__head p {
	margin: 0;
	font-size: 15px;
	line-height: 1.7;
	color: #4b5563;
}

.scpass-tuition-modal__eyebrow {
	margin: 0;
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	color: var(--primary300);
	text-transform: uppercase;
}

.scpass-tuition-search {
	display: flex;
	gap: 12px;
	margin-top: 24px;
}

.scpass-tuition-search input {
	flex: 1 1 auto;
	height: 54px;
	padding: 0 18px;
	border: 1px solid #d1d5db;
	border-radius: 16px;
	font-size: 15px;
	color: #111827;
}

.scpass-tuition-search button {
	flex: 0 0 120px;
	height: 54px;
	border: 0;
	border-radius: 16px;
	background: linear-gradient(135deg, var(--primary300), #ff8a3d);
	color: #fff;
	font-size: 15px;
	font-weight: 700;
	cursor: pointer;
}

.scpass-tuition-modal__summary {
	margin-top: 14px;
	font-size: 13px;
	color: #6b7280;
}

.scpass-tuition-table-wrap {
	margin-top: 20px;
	border: 1px solid #e5e7eb;
	border-radius: 22px;
	overflow: hidden;
}

.scpass-tuition-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.scpass-tuition-table th,
.scpass-tuition-table td {
	padding: 16px 18px;
	border-bottom: 1px solid #eef2f7;
	font-size: 15px;
	line-height: 1.6;
	text-align: left;
	vertical-align: middle;
}

.scpass-tuition-table thead th {
	background: #f8fafc;
	font-size: 13px;
	font-weight: 800;
	color: #374151;
}

.scpass-tuition-table tbody tr:last-child td {
	border-bottom: 0;
}

.scpass-tuition-table td.title {
	font-weight: 700;
	color: #111827;
}

.scpass-tuition-table td.hours,
.scpass-tuition-table td.tuition {
	width: 140px;
	white-space: nowrap;
	color: #374151;
}

.scpass-tuition-empty {
	text-align: center !important;
	color: #6b7280;
}

.scpass-tuition-note {
	margin: 18px 4px 0;
	font-size: 14px;
	font-weight: 700;
	color: var(--primary400);
}

@media screen and (min-width: 1081px) {
	#allMenu .menu-wrap.pcview .all-menu .inner {
		display: flex;
		flex-wrap: nowrap;
		align-items: flex-start;
	}

	#allMenu .menu-wrap.pcview .all-menu .inner > h3 {
		flex: 0 0 clamp(170px, 15%, 240px);
		width: auto;
		min-width: 170px;
	}

	#allMenu .menu-wrap.pcview .all-menu .inner > .all-lecture {
		display: flex;
		flex: 1 1 auto;
		flex-wrap: nowrap;
		width: auto;
		min-width: 0;
	}

	#allMenu .menu-wrap.pcview .all-menu .inner > .all-lecture > dl {
		flex: 1 1 0;
		width: auto;
		min-width: 0;
	}
}

@media screen and (max-width: 768px) {
	.scpass-tuition-modal {
		padding: 16px;
	}

	.scpass-tuition-modal__dialog {
		padding: 24px 18px 22px;
		border-radius: 22px;
		max-height: min(88vh, 920px);
		overflow-y: auto;
	}

	.scpass-tuition-modal__head h3 {
		font-size: 24px;
		padding-right: 40px;
	}

	.scpass-tuition-search {
		flex-direction: column;
	}

	.scpass-tuition-search button {
		flex-basis: auto;
		width: 100%;
	}

	.scpass-tuition-table th,
	.scpass-tuition-table td {
		padding: 14px 12px;
		font-size: 14px;
	}

	.scpass-tuition-table td.hours,
	.scpass-tuition-table td.tuition {
		width: auto;
	}
}
