/* ====== 공통배경 ====== */

.flow_bg {
	width: 100vw;
	background: url(/images/sub/flow_bg.jpg) no-repeat top center;
	background-size: cover;
	animation: bgFadeIn 6s ease-in-out infinite;
}
@keyframes bgFadeIn {
 0% {
 filter: brightness(1);
}
 50% {
 filter: brightness(1.05);
}
 100% {
 filter: brightness(1);
}
}
/* ====== 3차메뉴 ====== */


.tab_wrap_knu {
	margin-bottom: var(--subContPd);
	border-top: 1px solid #D5D9E3;
	width: 100%;
	box-sizing: border-box;
}
/* Swiper 구조 강제 높이 설정 */
.tab_wrap_knu .swiper-container {
	width: 100%;
	overflow: visible !important;
	height: auto !important;
	min-height: 1px !important;
}
.tab_wrap_knu .swiper-container .in {
	width: 100%;
	overflow: visible !important;
	height: auto !important;
	min-height: 1px !important;
}
.tab_wrap_knu .swiper-wrapper {
	width: 100%;
	height: auto !important;
	min-height: 1px !important;
}
/* 상단 3분류 탭 */
#centerTab {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	width: 100%;
	box-sizing: border-box;
}
#centerTab a {
	position: relative;
	white-space: nowrap;
	width: auto;
	padding: 1em;
	color: #BCBFC7;
	font-size: 1.2rem;
	font-weight: 700;
	background: none;
	border: none;
	cursor: pointer;
}
#centerTab a::before {
	content: '';
	position: absolute;
	top: -2px;
	left: 50%;
	width: 0%;
	height: 2px;
	background: #000;
	transition: left 0.4s, width 0.4s;
}
#centerTab a + button {
	margin-left: 2em;
}
#centerTab a.on {
	color: #000;
}
#centerTab a.on::before {
	left: 0;
	width: 100%;
}
/* 탭 컨텐츠 가시성 */
.ct_tab_cont {
	display: none;
	overflow: hidden;
}
.ct_tab_cont.on {
	display: block;
}
/* 서브 라운드 탭 */
.round_tab_wrap {
	overflow-x: auto;
	margin: 2rem 0 3rem;
	text-align: center;
}
.round_tab_wrap::-webkit-scrollbar {
display: none;
}
.round_tab {
	display: inline-flex;
	overflow: hidden;
	padding: 9px;
	margin: auto 0;
	background: var(--sub-gray);
	border-radius: 3em;
}
.round_tab .tab {
	display: inline-block;
	min-width: 8em;
	padding: 1em 1em;
	color: #777;
	font-size: 1rem;
	font-weight: 700;
	text-align: center;
	border-radius: 2em;
	line-height: 1em;
	transition: background .3s ease-in-out, color .3s ease-in-out;
}
.round_tab .tab + .tab {
	margin-left: 0.25em;
}
.round_tab .tab.on {
	background: var(--main-red);
	color: #fff;
}
.tab_cont {
	display: none;
}
.tab_cont.on {
	display: block;
}
/* 교실소개 레이아웃: 이미지 좌, 텍스트 우 */
.cls_rev {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 2rem;
	width: 100%;
	margin-bottom: 3rem;
	text-align: left;
	margin-left: 1rem !important;
}
.cls_rev_img {
	flex: 0 0 30%;
	max-width: 28%;
	float: none !important;
}
.cls_rev_img img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 20px;
	object-fit: cover;
	border: 1px solid #e3e1e1
}
.cls_rev_txt {
	flex: 1 1 auto;
	max-width: 100%;
	margin: 0;
	float: none !important;
	line-height: 1.7;
	font-weight: 200 !important;
	text-align: left;
}
h3.left {
	margin: 1.5rem 0 0.75rem;
}
/* 커스텀 상단 탭: 좌측 정렬, active 아래 라인 비움 */
.custom_tab_wrap {
	width: 100%;
	display: block;
	margin-bottom: 2rem;
}
.custom_tabs {
	display: flex;
	flex-wrap: nowrap;
	justify-content: flex-start;
	align-items: flex-end;
	gap: 8px;
	position: relative;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	padding-bottom: 0;
}
.custom_tabs::before {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 0;
	height: 1px;
	background: #000;
	z-index: 1;
}
.tab_btn {
	position: relative;
	z-index: 2;
	padding: 0.8rem 1.5rem;
	font-size: 1rem;
	font-weight: 600;
	color: #9aa0a6;
	border-top: 1px solid #d0d0d0;
	border-left: 1px solid #d0d0d0;
	border-right: 1px solid #d0d0d0;
	border-bottom: 1px solid #000; /* 바닥만 검정 */
	border-radius: 12px 12px 0 0;
	cursor: pointer;
	transition: color .2s, border-color .2s, background .2s;
	white-space: nowrap;
}
.tab_btn:hover {
	color: #222;
	border-color: #000;
	border-bottom: 1px solid #fff;
}
.tab_btn.on {
	color: var(--main-red);
	background: #fff;
	border-color: #000;
	z-index: 3;
}
.tab_btn.on::after {
	content: "";
	position: absolute;
	left: -1px;
	right: -1px;
	bottom: -1px;
	height: 2px;
	background: #fff;
	z-index: 4;
}
.tab_btn:first-child {
	margin-left: 0;
}
.tab_btn:last-child {
	margin-right: 0;
}

/* 반응형 */
@media screen and (max-width: 1024px) {
.cls_rev {
	gap: 1rem;
}
}
@media screen and (max-width: 768px) {
.tab_wrap_knu {
	overflow-x: unset;
	padding: 0 1rem;
	width: 100%;
	box-sizing: border-box;
	border-top: none;
}
.tab_wrap_knu .swiper-container, .tab_wrap_knu .swiper-container .in, .tab_wrap_knu .swiper-wrapper {
	width: 100% !important;
	overflow: visible !important;
	height: auto !important;
	min-height: 1px !important;
}
#centerTab {
	gap: 0.5rem 0.5rem;
	justify-content: center;
	width: 100%;
	padding: 1rem 0;
}
#centerTab a {
	width: calc(31% - 1rem);
	font-size: 0.9rem;
	text-align: Center;
	padding: 0.8rem;
	box-sizing: border-box;
	white-space: nowrap;
	margin: 0 !important;
}
#centerTab a + button {
	margin-left: 0 !important;
}
.round_tab {
	display: grid !important;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5rem 1rem;
	padding: 1rem;
}
.round_tab .tab {
	width: 100%;
	font-size: 0.9rem;
	padding: 0.8rem 1rem;
	white-space: nowrap;
}
.round_tab .tab + .tab {
	margin-left: 0 !important;
}
.tab {
	display: block !important;
}
.cls_rev {
	flex-direction: column;
	margin-left: 0 !important;
}
.cls_rev_img, .cls_rev_txt {
	flex: 0 0 auto;
	max-width: 100%;
	width: 100%;
}
.cls_rev_img {
	margin-bottom: 0.75rem;
}
.custom_tabs {
	gap: 6px;
}
.tab_btn {
	padding: 0.7rem 1rem;
	font-size: 0.95rem;
}
}
@media screen and (max-width: 400px) {
.tab_btn {
	padding: 0.6rem 0.9rem;
	font-size: 0.9rem;
}
}
.prof_rev {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem; /* 간격을 2rem으로 넓힘 */
	justify-content: space-between;
	/*margin-top: 2rem;*/
	padding: 1rem; /* 그림자 여유 확보 */
	box-sizing: border-box;
	overflow: visible; /* 그림자 잘림 방지 */
	margin-left: 0.5rem
}
.prof_rev dl {
	display: flex;
	width: calc(50% - 1rem); /* gap과 padding을 고려해 너비 조정 */
	border-radius: 10px;
	overflow: hidden;
	padding: 2rem;
	box-sizing: border-box;
	align-items: flex-start;
	/* 연한 아웃글로우 효과 (box-shadow) */
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); /* 조금 더 자연스럽게 조절 */
	transition: box-shadow 0.3s ease;
}
.prof_rev dt {
	flex-shrink: 0;
	margin-right: 1rem;
	width: 40%;
	padding-right: 1rem
}
.prof_rev dt img {
	width: 100%;
	height: auto;
	border-radius: 10px;
	border: 1px solid #f3f3f3
}
.prof_rev dd {
	margin: 0;
	flex: 1;
}
.prof_rev dd img {
	height: 40px;
	border-radius: 6px;
	margin-bottom: 0.5rem;
}
.prof_rev dd strong {
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0.5rem 0;
	line-height: 1.2
}
.prof_rev dd a {
	display: inline-block;
	background-color: #b10000;
	color: #fff;
	padding: 0.2rem 1rem;
	font-size: 0.8rem;
	text-align: center;
	border-radius: 5px;
	text-decoration: none;
	transition: background-color 0.3s;
	margin-top: 2rem
}
.prof_rev dd a:hover {
	background-color: #880000;
}
.prof_rev li {
	font-weight: 200 !important;
	line-height: 1.2;
}
.prof_rev li span {
	font-size: 0.8rem;
	font-weight: 200 !important;
}
#centerTab a {
	position: relative;
	white-space: nowrap;
	width: auto;
	padding: clamp(0.5rem, 2.5vw, 1rem);
	color: #BCBFC7;
	font-size: clamp(1rem, 2.5vw, 1.2rem);
	font-weight: 700;
	background: none;
	border: none;
	cursor: pointer;
	margin-bottom: 1.5rem
}
#centerTab a::before {
	content: '';
	position: absolute;
	top: -2px;
	left: 50%;
	width: 0%;
	height: 2px;
	background: #000;
	transition: left 0.4s, width 0.4s;
}
#centerTab a + button {
	margin-left: 2em;
}
#centerTab a.on {
	color: #000;
}
#centerTab a.on::before {
	left: 0;
	width: 100%;
}
#centerTab button {
	position: relative;
	white-space: nowrap;
	width: auto;
	padding: clamp(0.5rem, 2.5vw, 1rem);
	color: #BCBFC7;
	font-size: clamp(1rem, 2.5vw, 1.2rem);
	font-weight: 700;
	background: none;
	border: none;
	cursor: pointer;
}
#centerTab button::before {
	content: '';
	position: absolute;
	top: -2px;
	left: 50%;
	width: 0%;
	height: 2px;
	background: #000;
	transition: left 0.4s, width 0.4s;
}
#centerTab button + button {
	margin-left: clamp(1rem, 2.5vw, 2rem);
}
#centerTab button.on {
	color: #000;
}
#centerTab button.on::before {
	left: 0;
	width: 100%;
}


/* 반응형 처리 */
@media (max-width: 768px) {
.prof_rev dl {
	width: 100%;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.prof_rev dt {
	margin: 0 0 1rem 0 !important;
	padding-right: 0 !important
}
.prof_rev dd img {
	max-width: 100%;
}
}
/* ====== 동아리 ====== */

/* 배경 */
.club_bg {
	width: 100vw;
	background: url(/images/sub/sponsorship/club_bg.jpg) no-repeat top center;
	background-size: cover;
	animation: bgFadeIn 6s ease-in-out infinite;
}
@keyframes bgFadeIn {
 0% {
filter: brightness(1);
}
 50% {
filter: brightness(1.05);
}
 100% {
filter: brightness(1);
}
}
/* 동아리 카드 래퍼 */
.club_rev {
	perspective: 1000px;
	display: flex;
	flex-wrap: wrap;
	gap: 2rem;                     /* 카드 간격 */
	justify-content: space-between;
	align-items: stretch;          /* 같은 행의 카드 높이 맞춤 */
	margin-top: 2rem;
	padding: 1rem;                 /* 그림자 여유 */
	box-sizing: border-box;
	overflow: visible;             /* 그림자 잘림 방지 */
}
/* 카드 (dl) : 안쪽 여백 동일 + 높이 통일(최소값) */
.club_rev dl {
	display: flex;
	width: calc(50% - 1rem);
	padding: 1.5rem;               /* 상/하/좌/우 동일 여백 */
	box-sizing: border-box;
	border-radius: 10px;
	overflow: hidden;
	align-items: stretch;          /* dt, dd 높이 동일 */
	gap: 1rem;                     /* dt와 dd 사이 간격 */
	background: #fff;
	box-shadow: 0 4px 12px rgba(0,0,0,0.2);
	transition: box-shadow .3s ease, transform .2s ease;
	min-height: 220px;             /* 여러 장일 때 최소 높이 통일 */
 --t: rotateY(90deg);                 /* 시작 각도 */
	transform: var(--t);
	opacity: 0;
	backface-visibility: hidden;
	transform-style: preserve-3d;
	will-change: transform, opacity;
	transition: transform .7s cubic-bezier(.22, .61, .36, 1), opacity .5s ease;
}
.club_rev dl.is-in {
 --t: rotateY(0deg);
	opacity: 1;
}
.club_rev dl:hover {
	box-shadow: 0 10px 24px rgba(0,0,0,0.18);
	transform: var(--t) translateY(-2px);
}
/* 살짝 스태거(등장 지연) */
.club_rev dl:nth-child(2n) {
	transition-delay: .06s;
}
.club_rev dl:nth-child(3n) {
	transition-delay: .12s;
}
.club_rev dl:nth-child(4n) {
	transition-delay: .18s;
}

/* 모션 최소화 선호 사용자 */
@media (prefers-reduced-motion: reduce) {
.club_rev dl {
	transition: none !important;
	transform: none !important;
	opacity: 1 !important;
}
}
/* 제목 영역 (dt): 수직/수평 중앙 + 라운딩 라인 */
.club_rev dt {
	flex-shrink: 0;
	width: 35%;
	display: flex;
	align-items: center;           /* 세로 가운데 */
	justify-content: center;       /* 가로 가운데 */
	text-align: center;
	font-size: 1.7rem;
	font-weight: bold;
	padding: 1rem;                 /* 내부 여백 */
	border: 1px solid #e3e6eb;     /* 라운딩 라인 */
	border-radius: 12px;
	color: var(--main-red);
	background-color: #f3f3f3
}
/* 내용 (dd) */
.club_rev dd {
	margin: 0;
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: center;       /* 내용도 세로 가운데(선택) */
}
.club_rev dd strong {
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
 margin: .5rem 0;
	line-height: 1.2;
}
.club_rev dd a {
	display: inline-block;
	background-color: #b10000;
	color: #fff;
 padding: .2rem 1rem;
 font-size: .8rem;
	text-align: center;
	border-radius: 5px;
	text-decoration: none;
	transition: background-color .3s;
	margin-top: 2rem;
}
.club_rev dd a:hover {
	background-color: #880000;
}

/* 반응형 */
@media (max-width: 768px) {
.club_rev dl {
	width: 100%;
	flex-direction: column;
	align-items: center;
	text-align: center;
	min-height: 0;               /* 모바일은 높이 고정 해제 */
}
.club_rev dt {
	width: 100%;
	margin-bottom: 1rem;
}
.club_rev dd img {
	max-width: 100%;
}
}
/* ── ul.dot_red: 붉은 점 불릿 ── */
.dot_red {
	padding-left: 25px;
	margin-bottom: 1.5rem;
}
.dot_red li {
	list-style: none;
	font-size: 1rem;
	font-weight: 300;
	color: #555;
	position: relative;
 margin: .4rem 0 0 25px;
	padding-left: 10px;
}
.dot_red li::before {
	content: "";
	position: absolute;
	left: -15px;
	top: .72em;
	width: 7px;
	height: 7px;
	background: #777;
	border-radius: 50%;
}
/*======================================
vision_s_wrapper
======================================*/



.v_bg {
	width: 100%;
	max-width: 100%;
	background: url('/kor/images/main/vision_bg.gif') no-repeat top;
	background-size: 180%;
	padding: 6rem 0
}
.maincom_sub {
	font-size: clamp(3.5rem, 8vw, 5rem);
	font-weight: 100;
	border-left: none;
	letter-spacing: -4px;
	color: var(--red);
}
.maincom_sub2 {
	font-size: clamp(0.6rem, 8vw, 1.8rem);
	font-weight: bold;
	margin-bottom: 2rem
}
.vision_s_wrapper {
	width: 100%;
	max-width: 1300px;
	padding: var(--mainpadding);
	position: relative;
	background-size: cover;
	margin: 0 auto;
	height: auto;  /* 기본값 유지 */
	display: flex;
	flex-direction: column;
	align-items: flex-start;
}
.vision_s_wrapper .int {
	width: 100%;
}
.vision_s_wrapper .int h3 {
	color: var(--red);
}
.vision_s_wrapper .int strong {
	font-size: inherit;
	line-height: inherit;
	color: inherit;
}
.vision_s_wrapper .int h3 strong {
	font-weight: 600;
}
.vision_s_wrapper .chartin {
	width: 100%;
	position: relative;
	transform: none;
	align-items: flex-start;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
	justify-content: center;     /* 가운데 정렬 */
	margin-top: 3rem;            /*여백 보정 */
	margin-bottom: 0;            /*하단 여백 제거 */
}
.vision_s_wrapper .chartin div {
	width: calc((110% / 3 ) + 0px);
	position: relative;
	/*aspect-ratio: 1 / 1;*/
	align-content: center;
	color: #fff;
	margin-left: -8%;
}
.vision_s_wrapper .chartin dl {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	padding-left: 20%;
}
.vision_s_wrapper .chartin dl dt {
	color: #fff;
	font-size: 15px;
}
.vision_s_wrapper .chartin dl dd {
	color: #fff;
	font-size: 27px;
	font-weight: 600;
}
.vision_s_wrapper .chartin div img {
	width: 100%;
}
.vision_s_wrapper .chartin div:nth-child(1) {
	z-index: 3;
	margin-left: 0px;
}
.vision_s_wrapper .chartin div:nth-child(2) {
	z-index: 2;
}
.vision_s_wrapper .chartin div:nth-child(3) {
	z-index: 1;
}
.websmall_br {
	width: 100%;
	display: block;
}
.a_arrow_type02 {
	border: 1px solid var(--black);
	display: inline-block;
	font-size: 20px;
	padding-left: 20px;
	line-height: 2.5;
}
 @media (min-width: 1650px) {
}
 @media (min-width: 1500px) {
.websmall_br {
	width: 20px;
	display: inline-block;
}
}
 @media (min-width: 1025px) and (max-width:1300px) {
.vision_s_wrapper .chartin {
	width: 860px;
	right: -110px;
}
.vision_s_wrapper .chartin div {
	margin-left: -8%;
}
.vision_s_wrapper .chartin dl {
	padding-left: 19%;
}
}
 @media (min-width: 1025px) {
}
@media (max-width: 1024px) {
.scon {
	background-size: cover;
	padding: 30px 0
}
.maincom_sub {
	line-height: 1.1;
}
.maincom_sub2 {
	font-size: 1.5rem !important;
	line-height: 1.3;
	margin-top: 1rem
}
.vision_s_wrapper {
	height: auto !important;
}
.vision_s_wrapper .int {
	width: 100%;
}
.vision_s_wrapper .chartin {
	flex-direction: column; /* 세로 정렬 */
	align-items: center;
	gap: 0rem; /* 카드 간 간격 */
	width: 100%;
	transform: none;
	top: auto;
}
.vision_s_wrapper .chartin div {
	width: 100%;
	margin: 0; /* 마진 제거 */
	position: relative;
	margin-top: -30px;
}
.vision_s_wrapper .chartin dl {
	position: relative; /* 절대 위치 해제 */
	padding: 0;
	text-align: center;
	transform: none;
	width: 75%
}
.vision_s_wrapper .chartin dl dt {
	font-size: 16px;
}
.vision_s_wrapper .chartin dl dd {
	font-size: 22px;
}
.vision_s_wrapper .chartin div img {
	width: 100%;
	transform: none !important; /* 회전 제거 */
}
}
 @media (min-width: 768px) and (max-width: 1024px) {
}
 @media (max-width: 767px) {
.vision_s_wrapper {
	height: auto;
}
.vision_s_wrapper .int {
	width: 100%;
}
.vision_s_wrapper .chartin {
	width: 280px;
	padding-bottom: 60px;
	position: relative;
	margin: 0 auto;
}
.a_arrow_type02 {
	font-size: 17px;
}
}
/*======================================
연혁
======================================*/

.ani_box {
	position: relative;
	width: 100%;
	padding-top: 35%; /* 비율 유지 */
	background: url(/images/sub/50th.jpg) no-repeat center top;
	background-size: contain;
	background-repeat: no-repeat;
	transform: scale(0.6);
	transform-origin: center top;
	filter: brightness(1);
	transition: transform 0.8s ease, filter 0.8s ease;
}
.ani_box.enlarged {
	transform: scale(1.2);
	filter: brightness(1.3);
}
.ani_box.normalized {
	transform: scale(1);
	filter: brightness(1);
}
.histt {
	font-size: 4rem;
	color: var(--main-red);
	font-family: 'jejumyeongjo';
}
.his ul {
	margin-top: 3rem
}
.his ul:first-child {
	margin-top: 6rem !important;
}
.his ul li dl dt {
	color: var(--main-red);
}
.photo_flow_01 {
	overflow: hidden;
	width: 100%;
	position: relative;
	height: 280px; /* 필요시 조절 */
	margin: 1.2rem 0 5rem;
}
.photo_flow_01 ul {
	display: flex;
	flex-wrap: nowrap;
	animation: filmMove 30s linear infinite;
	width: fit-content;
}
.photo_flow_01 li {
	flex: 0 0 auto;
	margin-right: 10px; /* 이미지 간 여백 */
}
.photo_flow_01 li img {
	width: 500px;
	height: auto;
	display: block;
	border-radius: 4px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
.comst01 {
	color: var(--main-red);
	font-size: 2.5rem;
	font-weight: bold;
	line-height: 1.1
}
.comst01 span {
	color: #000;
	font-size: 0.9rem
}
.decade-nav {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin: 2rem 0;
}
.decade-nav button {
	padding: 0.6rem 1.2rem;
	background: var(--main-red);
	color: #fff;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	font-size: 1rem;
}
.decade-nav button:hover {
	opacity: 0.8;
}
.his ul li dl dt {
	line-height: 35px;
}
.his ul li dl dd {
	line-height: 35px;
}
#scrollTopBtn {
	position: fixed;
	bottom: 50px;
	right: 30px;
	width: 50px;
	height: 50px;
	background-color: red;
	color: white;
	border: none;
	border-radius: 50%;
	font-size: 18px;
	font-weight: bold;
	cursor: pointer;
	z-index: 9999;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 8px rgba(0,0,0,0.2);
	transition: opacity 0.3s ease;
}
#scrollTopBtn:hover {
	background-color: darkred;
}
#scrollTopBtn.hidden {
	opacity: 0;
	pointer-events: none;
}
 @keyframes filmMove {
 0% {
 transform: translateX(0);
}
 100% {
 transform: translateX(-50%);
}
}
 @media (max-width: 768px) {
.ani_box {
	padding-top: 60%; /* 모바일에서 비율 유지 */
	background-size: cover;
	transform: scale(1); /* 확대 효과 제거 또는 조절 */
}
.his ul:first-child {
	margin-top: 0rem !important;
	padding-top: 0rem !important
}
.his ul li:first-child {
	background: none !important;
	color: var(--main-red);
	width: 20% !important;
	padding-right: 5px !important
}
.his ul li:last-child {
	width: 80% !important;
}
.histt {
	font-size: 1.5rem;
}
.comst01 {
	font-size: 1.6rem;
	text-align: center;
}
.comst01 span {
	font-size: 0.8rem;
}
.photo_flow_01 {
	height: 200px; /* 모바일에서 높이 축소 */
}
.photo_flow_01 li img {
	width: 280px; /* 모바일용 너비 */
}
.decade-nav {
	flex-wrap: wrap;
	gap: 0.5rem;
	padding: 0 1rem;
}
.decade-nav button {
	font-size: 0.9rem;
	padding: 0.4rem 1rem;
	flex: 1 1 40%;
}
.his ul li dl dt,  .his ul li dl dd {
	font-size: 0.95rem;
	line-height: 1.5;
	float: left !important;
	text-align: left;
	padding-bottom: 0.7rem
}
.his ul {
	margin-top: 2rem;
}
.stitle {
	font-size: 1.8rem;
	padding: 1rem;
	text-align: center;
}
#scrollTopBtn {
	width: 40px;
	height: 40px;
	font-size: 14px;
	bottom: 20px;
	right: 20px;
}
.center {
	text-align: center !important;
}
}
/* =====================조직도===================== */

.org_t {
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
}
.org-item {
	position: relative;
	background: #fff;
	border: 1px solid #afafaf;
	padding: 0.75rem 1rem;
	text-align: center;
	z-index: 1;
	box-shadow: inset 0 1px 0 rgba(255, 255, 255, .9), 0 8px 18px rgba(0, 0, 0, .08);
	border-radius: 10px
}
.org-item .title {
	font-weight: bold;
	margin-bottom: 0.3rem;
}
.org-item ul {
	list-style: disc;
	padding: 0 0.6rem;
	margin: 0;
	text-align: left;
}
.org-item li {
	font-size: 0.8rem;
	line-height: 1.6;
	text-align: center;
	color: #777
}
/* 1단계 */
.level1 {
	display: flex;
	justify-content: space-between;
	width: 40%;
	margin-bottom: 1rem;
	position: relative;
}
.level1::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	border-top: 1px solid #afafaf;
}
.level1 .org-item:nth-child(2)::before {
	content: '';
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	height: 19.3rem;
	width: 1px;
	background: #afafaf;
}
/* 2단계 */
.level2 {
	display: flex;
	justify-content: space-between;
	width: 60%;
	margin-bottom: 2rem;
	position: relative;
}
.level2::before {
	content: '';
	position: absolute;
	top: 0;
	left: 49.3%;
	width: calc(45% - 1.5rem);
	transform: translateX(-100%);
	border-top: 1px solid #afafaf;
}
.level2::after {
	content: '';
	position: absolute;
	top: 0;
	left: 40%;
	width: calc(50% - 1.5rem);
	border-top: 1px solid #afafaf;
}
.level2 .org-item {
	margin-top: 1rem;
}
.level2 .org-item:nth-child(1)::before, .level2 .org-item:nth-child(2)::before {
	content: '';
	position: absolute;
	top: -1rem;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 1rem;
	background: #afafaf;
}
/* 3단계 */
.level3 {
	display: flex;
	justify-content: flex-start;
	margin-bottom: 2rem;
	position: relative;
	margin-left: -42.9%;
}
.level3::before {
	content: '';
	position: absolute;
	top: -1rem;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 1rem;
	background: #afafaf;
}
.level3::after {
	content: '';
	position: absolute;
	top: -1rem;
	left: 370%;
	transform: translateX(-50%);
	width: 35rem;
	height: 1px;
	background: #afafaf;
}
.level3 .connector {
	position: absolute;
	top: 100%;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 1rem;
	background: #afafaf;
}
.level3 .line-down-after {
	position: absolute;
	top: -1rem;
	left: calc(435% + 14rem);
	transform: translateX(-50%);
	height: 7.1rem;
	width: 1px;
	background: #afafaf;
}
/* 4단계 */
.level4 {
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
	width: 95%;
	gap: 2rem;
	margin-bottom: 2rem;
	position: relative;
}
.level4 .org-item::before {
	content: '';
	position: absolute;
	top: -1rem;
	left: 50%;
	transform: translateX(-50%);
	width: 1px;
	height: 1rem;
	background: #afafaf;
}
.level4::after {
	content: '';
	position: absolute;
	top: -1rem;
	left: 6.5%;
	right: 55.9%;
	height: 1px;
	background: #afafaf;
}
.level4 .org-item:nth-child(4)::after {
	content: '';
	position: absolute;
	top: -1rem;
	left: 101%;
	transform: translateX(-50%);
	width: calc(95% + 1.2rem);
	height: 1px;
	background: #afafaf;
}
.bg_c_01 {
	background-color: #5f688a;
	color: #fff;
	border: none
}
.bg_c_02 {
	background-color: #fff6f6;
	border-color: #ffe0e0
}
.bg_c_03 {
	background-color: #f3f3f3;
}
/* ===================== 반응형: 전체를 비율 축소 ===================== */
@media (max-width: 1100px) {
.scon {
	overflow-x: hidden;
}
.level1, .level2, .leve4 {
	width: 530px;
}
.level2::before {
	left: 50.2%;
}
.level2::after {
	left: 38%;
}
.level3 .line-down-after {
	display: none
}
.level3 .bg_c_03 {
	margin-left: -40px;
}
.level3::after {
	left: 152px;
	width: 286px
}
.level3::before {
	top: -1rem;
	left: 6px;
	height: 120px;
}
.level3 .connector {
	top: -14px;
	left: 293px;
	width: 1px;
	height: 104px;
}
.level4 {
	display: grid;
	grid-auto-rows: auto;
	grid-template-columns: 1fr 1fr;
	gap: 10px;
}
.level4::after {
	display: none
}
.level4 > .org-item:nth-child(1) {
	grid-column: 1;
	grid-row: 1
}
.level4 > .org-item:nth-child(2) {
	grid-column: 1;
	grid-row: 2;
	margin-top: -45px;
}
.level4 > .org-item:nth-child(3) {
	grid-column: 1;
	grid-row: 3;
}
.level4 > .org-item:nth-child(4) {
	grid-column: 2;
	grid-row: 1;
}
.level4 > .org-item:nth-child(5) {
	grid-column: 2;
	grid-row: 1;
	margin-top: 145px;
}
.level4 .org-item:nth-child(4)::after {
	display: none
}
}
 @media (max-width: 650px) {
.level1, .level2, .level4 {
	width: 320px !important;
}
.level1 .org-item:nth-child(2)::before {
	height: 347px;
}
.level2 > .org-item:nth-child(2) {
	width: 130px;
}
.level2::before {
	left: 53.2%;
}
.level2::after {
	left: 37%;
}
.level3 .bg_c_03 {
	margin-left: 20px;
}
.level3::after {
	left: 142px;
	width: 166px;
}
.level3::before {
	left: 60px;
}
.level3 .connector {
	left: 225px;
	height: 204px;
}
.level4 .org-item::before {
	display: none;
}
.level4 > .org-item:nth-child(2) {
	margin-top: -135px;
}
.level4 > .org-item:nth-child(5) {
	margin-top: 217px;
}
}
/* ===================== 시설안내 ===================== */


.fac_knu {
	display: flex;
	flex-direction: column;
	max-width: 1200px;
	margin: auto;
}
.flow_bg {
	width: 100vw;
	background: url(/images/sub/flow_bg.jpg) no-repeat top center;
	background-size: cover;
	animation: bgFadeIn 6s ease-in-out infinite;
}
 @keyframes bgFadeIn {
 0% {
 filter: brightness(1);
}
 50% {
 filter: brightness(1.05);
}
 100% {
 filter: brightness(1);
}
}
.floor {
	display: flex;
	border-top: 1px solid #ffd5d5;
	padding: 1rem 0;
	flex-wrap: wrap;
}
.left-building {
	background-color: var(--main-red);
	color: #fff;
	width: 180px;
	text-align: center;
	padding: 1rem 0.5rem;
	flex-shrink: 0;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
}
.left-building .floor-num {
	font-weight: bold;
	line-height: 1.1;
	color: #fff !important;
}
.left-building .floor-num strong {
	color: #fff !important;
	font-size: 2.5rem;
	font-family: 'jejumyeongjo';
	padding-right: 0.2rem;
	font-style: italic
}
.left-building .building-name {
	font-size: 0.75rem;
	color: #fff !important;
	font-weight: 200 !important;
}
.right-rooms {
	flex: 1;
	padding: 1rem 0.5rem;
	display: grid;
	grid-template-columns: repeat(4, 1fr); /* 최대 4개씩 배치 */
	gap: 0.6rem;
}
.room {
	background: none;
	border: none;
	min-height: 40px;
	display: flex;
	align-items: flex-start;
	justify-content: flex-start;
	padding: 0.25rem 0.5rem;
	font-size: 0.84rem; /* 1.2배 확대 */
	line-height: 1.3;
	gap: 0.25rem;
	text-align: left
}
.room strong {
	background-color: #444;
	color: #fff;
	font-size: 0.65rem;
	padding: 0.2rem 0.5rem;
	border-radius: 999px;
	display: inline-flex; /* inline-block → inline-flex로 변경 */
	align-items: center;
	justify-content: center;
	font-weight: 500;
	line-height: 1;
	margin: 0;
}

/* 반응형 */
@media (max-width: 1024px) {
.right-rooms {
	grid-template-columns: repeat(4, 1fr); /* 1024px 이하일 때는 4칸 */
}
}
@media (max-width: 768px) {
.floor {
	flex-direction: column;
}
.left-building {
	width: 100%;
}
.right-rooms {
	grid-template-columns: repeat(2, 1fr); /* 768px 이하는 2칸 */
}
}
/* ===================== 관련사이트 ===================== */



.realated_site {
	display: flex;
	flex-wrap: wrap;
	gap: 2rem; /* 간격을 2rem으로 넓힘 */
	justify-content: space-between;
	margin-top: 2rem;
	padding: 1rem; /* 그림자 여유 확보 */
	box-sizing: border-box;
	overflow: visible; /* 그림자 잘림 방지 */
}
.realated_site dl {
	display: flex;
	width: calc(50% - 1rem); /* gap과 padding을 고려해 너비 조정 */
	border-radius: 10px;
	overflow: hidden;
	padding: 2rem;
	box-sizing: border-box;
	align-items: flex-start;
	/* 연한 아웃글로우 효과 (box-shadow) */
	background: #fff;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); /* 조금 더 자연스럽게 조절 */
	transition: box-shadow 0.3s ease;
}
.realated_site dt {
	flex-shrink: 0;
	margin-right: 1rem;
	width: 40%;
	padding-right: 1rem
}
.realated_site dt img {
	width: 100%;
	height: auto;
	border-radius: 10px;
}
.realated_site dd {
	margin: 0;
	flex: 1;
}
.realated_site dd img {
	height: 40px;
	border-radius: 6px;
	margin-bottom: 0.5rem;
}
.realated_site dd strong {
	display: block;
	font-size: 1.5rem;
	font-weight: bold;
	margin: 0.5rem 0;
	line-height: 1.2
}
.realated_site dd a {
	display: inline-block;
	background-color: #b10000;
	color: #fff;
	padding: 0.2rem 1rem;
	font-size: 0.8rem;
	text-align: center;
	border-radius: 5px;
	text-decoration: none;
	transition: background-color 0.3s;
}
.realated_site dd a:hover {
	background-color: #880000;
}

/* 반응형 처리 */
@media (max-width: 768px) {
.realated_site dl {
	width: 100%;
	flex-direction: column;
	align-items: center;
	text-align: center;
}
.realated_site dt {
	margin: 0 0 1rem 0;
}
.realated_site dd img {
	max-width: 100%;
}
}
/* 꽉 차게 */
.site-links {
	display: flex;
	flex-wrap: wrap;
	gap: 1rem;
	justify-content: space-between;
	margin: 0;          /* 상하좌우 여백 제거 */
	padding: 0;         /* 내부 패딩 제거 */
	width: 100%;        /* 전체 폭 사용 */
}
/* site-group 넓이 조정 (기존보다 넓게) */
.site-group {
	width: calc(33.3333% - 1.5rem); /* 기존보다 여백 적게 */
	box-sizing: border-box;
	display: flex;
	flex-direction: column;
}
/* 왼쪽 제목 박스 */
.site-title {
	background-color: var(--sub-gray);
	color: var(--main-red);
	padding: 0.6rem 1.2rem;
	border-radius: 10px;
	font-weight: bold;
	font-size: 1.1rem;
	text-align: center;
	flex-shrink: 0;
	margin-bottom: 1rem
}
/* 오른쪽 링크 리스트 */
.site-group ul {
	list-style: none;
	padding: 0;
	margin: 0;
	flex: 1;
}
.site-group li {
	position: relative; /* ::before 위치 기준 */
	margin-bottom: 0.8rem;
	font-size: 0.9rem;
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	padding-left: 1rem; /* 점과 텍스트 사이 여백 */
}
.site-group li::before {
	content: '';
	position: absolute;
	top: 0.55em;  /* 수직 중앙 정렬 */
	left: 0;
	width: 5px;
	height: 5px;
	background-color: var(--main-red);
	border-radius: 50%;
}
/* 사이트 바로가기 버튼 */
.site-group li a {
	display: inline-block;
	background-color: #777;
	color: #fff;
	padding: 0.2rem 1rem;
	font-size: 0.6rem;
	text-align: center;
	border-radius: 5px;
	text-decoration: none;
	transition: background-color 0.3s;
}


/* 반응형: 모바일 대응 */
@media (max-width: 768px) {
.site-group {
	flex-direction: column;
	padding: 1rem;
}
.site-title {
	margin: 0 0 1rem 0;
	width: 100%;
	font-size: 1rem;
	border-radius: 10px;
}
.site-group li {
	flex-direction: column;
	align-items: flex-start;
	gap: 0.3rem;
}
.site-group li a {
	margin-left: 0;
}
}
 @media (max-width: 768px) {
.site-group {
	width: calc(50% - 0.75rem);
}
}

/* 모바일: 1단 */
@media (max-width: 480px) {
.site-group {
	width: 100%;
}
}
/* ===================== 입학안내 ===================== */

:root {
 --card-max: 980px;
 --gap: 24px;
 --radius: 10px;
 --line: #e7e7e7;
 --ink: #121212;
 --muted: #606570;
 --blue: #4b74d9;
 --blue2:#8fb3ff;
 --red: #b10000;
 --green: #208c40;
 --btn: #1f2a44;
}
* {
	box-sizing: border-box
}
.admission-card {
	width: 100%;
	padding: 14px;
	margin: 5rem 0
}
.admission-inner {
	padding: 18px;
	display: flex;
	flex-wrap: wrap;
	justify-content: right;
}
/* LEFT */
.ad-left {
	position: relative;
	display: none;
}
.left-visual {
	position: relative;
	height: 100%;
	min-height: 420px;
	border-radius: 10px;
	overflow: hidden;
}
.photo {
	position: absolute;
	inset: 0;
}
/* 파란 아치 */
.arc {
	position: absolute;
	left: -40px;
	top: -70px;
	width: 280px;
	height: 280px;
	border-radius: 50%;
	border: 14px solid transparent;
	border-top-color: var(--blue);
	border-left-color: var(--blue);
	transform: rotate(15deg);
	pointer-events: none;
}
/* 타이핑 끝나면 커서 사라지는 .slogan */
.slogan {
	position: relative;
	display: inline-block;
	align-self: flex-start;
	text-align: left;
	white-space: nowrap;
	overflow: hidden;
	margin-top: 1rem;

  /* 타이핑 길이/속도 조절 */
  --type-ch: 60;          /* 글자 길이에 맞게 여유 있게 */
 --type-time: 4s;        /* 전체 타이핑 시간 */
	width: 0;
	animation: slogan-typing var(--type-time) steps(var(--type-ch)) .2s forwards;
}
/* 커서: 타이핑 중에만 깜빡이고, 끝나면 사라짐 */
.slogan::after {
	content: "";
	display: inline-block;
	width: 2px;
	height: 1.2em;
	margin-left: 6px;
	background: currentColor;                 /* 글자색과 동일 */
	animation: slogan-caret .8s step-end infinite,     /* 타이핑 중 깜빡임 */  slogan-caret-hide 0s linear calc(.2s + var(--type-time)) forwards; /* 끝나면 숨김 */
}

/* keyframes */
@keyframes slogan-typing {
to {
width: calc(var(--type-ch) * 1ch);
}
}
@keyframes slogan-caret {
50% {
opacity: 0;
}
}
@keyframes slogan-caret-hide {
to {
opacity: 0;
}
}

/* 모션 최소화 환경 */
@media (prefers-reduced-motion: reduce) {
.slogan {
	width: auto;
	animation: none;
}
.slogan::after {
	content: none;
	animation: none;
}
}
.slogan .s1 {
	color: #fff;
	font-size: 2rem;
	font-family: 'jejumyeongjo' !important;
}
.slogan .plus {
	color: #ca3c3c;
	font-size: 1.2rem;
	margin: 0 4px;
}
.slogan .s2 {
	color: #fff;
	font-size: 2rem;
	font-family: 'jejumyeongjo' !important;
}
/* RIGHT */
.ad-right {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 700px;
}
.ad-head {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 6px;
}
.brand {
	font-size: clamp(2.2rem, 2.5vw, 4.4rem);
	font-weight: bold;
	color: #fff;
	line-height: 1.4
}
.knu-logo {
	height: 40px;
	width: auto;
	object-fit: contain;
}
.ad-title {
	margin: 0 0 0.5rem;
	font-size: 2.1rem;
	font-weight: 800;
	color: var(--ink);
	color: #fff
}
.divider {
	height: 8px;
	border-radius: 6px;
	background: var(--main-red);
	box-shadow: 0 1px 0 rgba(0,0,0,.06) inset;
	margin: 8px 0 14px;
}
.ad-desc {
	margin: 6px 0 38px;
	color: var(--muted);
	line-height: 1.6;
	font-size: 0.98rem;
	color: #fff
}
/* rows */
.ad-rows {
	display: flex;
	flex-direction: column;
	gap: 10px
}
.ad-row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 10px;
}
.ad-label {
	min-width: 70px;
	font-weight: 700;
	color: #3a3f4a;
}
/* buttons */
.ad-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 10px 14px;
	border-radius: 8px;
	font-weight: 700;
	text-decoration: none;
	outline: 0;
	transition: transform .05s ease, box-shadow .2s ease, background .2s ease, color .2s ease, border-color .2s ease;
}
.ad-btn.ghost {
	color: #2b2f39;
}
.ad-btn.ghost:hover {
	border-color: #9aa3b2;
}
.ad-btn.solid {
	background: var(--main-red);
	color: #fff;
}
.ad-btn.solid:hover {
	filter: brightness(1.05);
}
.ad-btn:active {
	transform: translateY(1px);
}
.st_bg_01 {
	background: url(/images/sub/sponsorship/img_01.jpg) no-repeat;
	background-size: cover
}

/* RESPONSIVE */
@media (max-width: 980px) {
.admission-inner {
	grid-template-columns: 320px 1fr;
}
.ad-title {
	font-size: 1.86rem
}
}
@media (max-width: 780px) {
.admission-inner {
	grid-template-columns: 1fr;
	padding: 14px;
	gap: 16px;
}
.ad-head {
	flex-direction: row;
}
.ad-title {
	text-align: left;
	font-size: 1.7rem
}
.divider {
	margin: 6px 0 12px
}
.slogan {
	padding-top: 20px;
	left: 12px;
	right: 12px;
	bottom: 10px;
	display: flex;
	flex-wrap: wrap;
	flex-direction: column;
}
.slogan .plus {
	font-size: 30px;
	padding-left: 100px;
}
}
@media (max-width: 420px) {
.ad-title {
	font-size: 1.48rem
}
.ad-label {
	min-width: auto;
	margin-right: 4px
}
.ad-row {
	gap: 8px
}
.ad-btn {
	flex: 1 1 auto;
	text-align: center;
}
}
/* ===================== 장학제도 ===================== */



.fac_knu {
	display: flex;
	flex-direction: column;
	max-width: 1200px;
	margin: auto;
}
.flow_bg {
	width: 100vw;
	background: url(/images/sub/flow_bg.jpg) no-repeat top center;
	background-size: cover;
	animation: bgFadeIn 6s ease-in-out infinite;
}
@keyframes bgFadeIn {
 0% {
 filter: brightness(1);
}
 50% {
 filter: brightness(1.05);
}
 100% {
 filter: brightness(1);
}
}
:root {
 --wrap: 1080px;
 --ink: #111;
 --muted:#6b7280;
 --line:#e5e7eb;
 --blue:#3b82f6;
 --orange:#f97316;
 --black:#111;
 --radius:14px;
 --shadow: 0 6px 20px rgba(0,0,0,.08);
 --bg: #fff;
}
/* 레이아웃 */
.scholarship {
	color: var(--ink);
}
.scholarship .wrap {
	max-width: var(--wrap);
	margin: 0 auto;
}
/* 상단 타이틀 (이미지의 라운드 바 느낌) */
.title_scholarship {
	position: relative;
	align-items: center;
	gap: .4em;
	font-size: clamp(1.1rem, 2.4vw, 1.9rem);
	font-weight: 800;
	padding: 18px 18px;
	background: #fff;
	border-radius: 999px;
	box-shadow: inset 0 1px 0 rgba(255,255,255,.9), 0 8px 18px rgba(0,0,0,.08);
	border: 1px solid #ececec;
	width: 100%;
	text-align: center;
	color: var(--main-red)
}
.title_scholarship span {
color: #;
}
/* 아래쪽 화살표 */
.down-arrow {
	width: 0;
	height: 0;
	margin: 18px auto 26px;
	border-left: 28px solid transparent;
	border-right: 28px solid transparent;
	border-top: 28px solid #cdcdcd;
	filter: drop-shadow(0 10px 10px rgba(0,0,0,.08));
}
.down-arrow::after {
	content: "";
	position: relative;
	display: block;
	top: -28px;
	left: -24px;
	width: 0;
	height: 0;
	border-left: 24px solid transparent;
	border-right: 24px solid transparent;
	border-top: 24px solid #ededed; /* 안쪽면 */
}
/* 카드 그리드 */
.cards {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: clamp(12px, 2.5vw, 22px);
}
.card {
	background: var(--bg);
	border-radius: var(--radius);
	box-shadow: var(--shadow);
	border: 1px solid var(--line);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	min-height: 220px;
}
.card-top {
}
.accent-orange {
}
.accent-blue {
}
.accent-black {
}
.card-inner {
	padding: 18px 18px 20px;
}
.no {
	font-family: ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace;
	color: #9aa1ac;
	letter-spacing: .02em;
	font-weight: 700;
	margin-bottom: 6px;
}
.sup {
	font-size: 0.8rem;
	color: #fff;
	margin: 0 auto 0.5rem;
	font-weight: 200;
	padding: 3px;
	background-color: #7c7c7c;
	border-radius: 10px;
	width: 30%;
}
.main_schol {
	margin: 2px 0 10px;
	font-size: 1.5rem;
	letter-spacing: -0.02em;
	color: var(--main-red);
}
.desc_schp {
	margin: 0;
	padding: 0.7rem;
	background-color: #f3f3f3;
	border-radius: 10px;
}
.desc_schp li {
	list-style: none;
	line-height: 1.5;
	font-size: 0.9rem;
	font-weight: 200;
	min-height: 90px; /* 원하는 높이값 지정 */
	flex-direction: column;
	justify-content: center; /* 내용 수직 가운데 정렬 */
}
.desc_schp strong {
}

/* 반응형 */
@media (max-width: 1024px) {
.cards {
	grid-template-columns: repeat(2, 1fr);
}
}
@media (max-width: 640px) {
.cards {
	grid-template-columns: 1fr;
}
.title_scholarship {
	width: 100%;
	justify-content: center;
}
}

/* 접근성/모션 선호 */
@media (prefers-reduced-motion: no-preference) {
.card {
	transform: translateY(6px);
	transition: transform .35s ease, box-shadow .35s ease;
}
.card:hover {
	transform: translateY(0);
	box-shadow: 0 10px 24px rgba(0,0,0,.12);
}
}
.scholarship_sub {
	margin-top: 2.5rem
}
.num_box, .dot_red {
	padding-left: 25px;        /* 좌측 패딩 */
	margin-bottom: 1.5rem
}
.num_box li, .dot_red li {
	list-style: none;          /* 기본 불릿 제거 */
	font-size: 1rem;           /* 폰트 크기 */
	font-weight: 300;          /* 폰트 두께 */
	color: #555;               /* 폰트 컬러 */
	position: relative;
 margin: .4rem 0 0 25px;
	padding-left: 10px
}
/* ── ol.num_box: 붉은 원형 숫자 배지 ── */
.num_box {
	counter-reset: item;
}
.num_box li::before {
	counter-increment: item;
	content: counter(item);
	position: absolute;
	left: -25px;               /* 패딩 25px과 맞춤 */
	top: .15em;
	width: 22px;
	height: 22px;
	line-height: 22px;
	text-align: center;
	font-weight: 700;
 font-size: .8rem;
	color: #fff;
	background: #777;
	border-radius: 50%;
	box-shadow: 0 1px 2px rgba(0,0,0,.08);
}
/* ── ul.dot_red: 붉은 점 불릿 ── */
.dot_red li::before {
	content: "";
	position: absolute;
	left: -15px;               /* 패딩 25px 기준 적당한 거리 */
	top: .72em;                /* 텍스트 중간 정도 */
	width: 7px;
	height: 7px;
	background: #777;
	border-radius: 50%;
}
.point_mark01 {
	position: relative;
	padding-left: 35px; /* 아이콘 공간 확보 */
	margin-left: 25px;  /* 좌측 들여쓰기 */
}
.point_mark01::before {
	content: "!";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background: var(--main-red, #c40000); /* 메인 레드 색상 */
	color: #fff;
	font-weight: 700;
	font-size: 0.9rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.red_btn_01 {
	background-color: var(--main-red);
	color: #fff !important;
	font-size: 0.7rem;
	padding: 0.20rem 0.5rem;
	border-radius: 5px
}
/* ===================== 기숙사 ===================== */


.fc_con {
	clear: both;
	padding-bottom: 2.5rem;
	display: flow-root
}
.fc_con_d dt {
	float: left;
	width: 40%;
}
.fc_con_d dt img {
	border-radius: 10px
}
.fc_con_d dd {
	float: left;
}
/* ── ol.num_box: 붉은 원형 숫자 배지 ── */


/* ── ol.num_box: 붉은 원형 숫자 배지 ── */

.dot_red {
	padding-left: 25px;        /* 좌측 패딩 */
	margin-bottom: 1.5rem
}
.dot_red > li {
	list-style: none;          /* 기본 불릿 제거 */
	font-size: 1rem;           /* 폰트 크기 */
	font-weight: 300;          /* 폰트 두께 */
	color: #444;               /* 폰트 컬러 */
	position: relative;
 margin: .4rem 0 0 25px;
	padding-left: 10px
}
.dot_red > li::before {
	content: "";
	position: absolute;
	left: -15px;               /* 패딩 25px 기준 적당한 거리 */
	top: 10px;                /* 텍스트 중간 정도 */
	width: 7px;
	height: 7px;
	background: #777;
	border-radius: 50%;
}
.dot_red > li > ul {
	padding-top: 10px;
	padding-bottom: 10px;
}
.dot_red > li > ul > li {
	font-size: 0.9rem;
	color: #777;
	padding-left: 3px
}
.dot_red > li > ul > li::before {
	left: -15px;
	top: 10px;
	width: 3px;
	height: 3px;
}
.point_mark01 {
	position: relative;
	padding-left: 35px; /* 아이콘 공간 확보 */
	margin-left: 25px;  /* 좌측 들여쓰기 */
}
.point_mark01::before {
	content: "!";
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 22px;
	height: 22px;
	background: var(--main-red, #c40000); /* 메인 레드 색상 */
	color: #fff;
	font-weight: 700;
	font-size: 0.9rem;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
}
.red_btn_01 {
	background-color: var(--main-red);
	color: #fff !important;
	font-size: 0.7rem;
	padding: 0.20rem 0.5rem;
	border-radius: 5px
}
.d_text {
	padding: 0 0 0.5rem 25px;
	font-size: 1.5rem;
	color: #5e0505;
	font-family: 'jejumyeongjo';
	letter-spacing: -1px;
}
}
 @media (max-width: 1024px) {
.fc_con_d dt {
	width: 100%;
	text-align: center;
}
}
