@charset "utf-8";

/* ========================================
= [GLOBAL - COMMON] / 2026.01.21
= Description: 신규 공통
======================================== */
:root{
	/* [Color - White] 색상 - White */	
	--white: #FFFFFF;
    --white-op-10: rgba(255,255,255,0.1);
    --white-op-20: rgba(255,255,255,0.2);
    --white-op-30: rgba(255,255,255,0.3);
    --white-op-40: rgba(255,255,255,0.4);
    --white-op-50: rgba(255,255,255,0.5);
    --white-op-60: rgba(255,255,255,0.6);
    --white-op-70: rgba(255,255,255,0.7);
    --white-op-80: rgba(255,255,255,0.8);


	/* [Color - Black] 색상 - Black */	
    --black: #000000;
    --black-op-10: rgba(0,0,0,0.1);
    --black-op-20: rgba(0,0,0,0.2);
    --black-op-30: rgba(0,0,0,0.3);
    --black-op-40: rgba(0,0,0,0.4);
    --black-op-50: rgba(0,0,0,0.5);
    --black-op-60: rgba(0,0,0,0.6);
    --black-op-70: rgba(0,0,0,0.7);
    --black-op-80: rgba(0,0,0,0.8);
}

*,
*::after,
*::before{
	box-sizing: border-box;
	margin: 0; padding: 0;
}
span{ font-family: inherit; line-height: inherit; }

[class*="max-"]	{ width: 100%; margin: 0 auto; }
.max-1200	{ max-width: 1200px; }
.is-full	{ width: 100%; height: 100%; }
.w-full		{ width: 100%; }
.h-full		{ height: 100%; }

.gutter		{ padding-inline: 40px; }
@media all and (max-width: 768px) {
	.gutter		{ padding-inline: 20px; }
}

/* [Global - RWD Content Show & Hide] 공용 - RWD Content Show & Hide(PC/MO 노출 여부) */
@media all and (min-width: 769px){
	.only-mo{display:none !important;}
}
@media all and (max-width: 768px){
	.only-pc{display:none !important;}
}


/* {Global - Line Height} 글로벌 - 폰트 높이 */
.lh-normal	{ line-height: normal; }
.lh100		{ line-height: 1; }
.lh110		{ line-height: 1.1; }
.lh120		{ line-height: 1.2; }
.lh125		{ line-height: 1.25; }
.lh130		{ line-height: 1.3; }
.lh140		{ line-height: 1.4; }
.lh150		{ line-height: 1.5; }
.lh160		{ line-height: 1.6; }
.lh180		{ line-height: 1.8; }
.lh200		{ line-height: 2; }

/* {Global - Font Weight} 글로벌 - 폰트 굵기 */
.fw400{ font-weight: 400; }
.fw500{ font-weight: 500; }
.fw600{ font-weight: 600; }
.fw700{ font-weight: 700; }

/* {Global - Font Family} 글로벌 - 폰트 스타일 */
.ff-serif{ font-family: 'Noto Serif KR', serif;}
.ff-roboto{ font-family: 'Roboto',sans-serif; }

/* [Global - Ellipsis] 공용 - Ellipsis(...처리) */
.ellipsis{
	/* 디폴트 1개 라인 */
	overflow: hidden;
	text-overflow: ellipsis;
}
.ellipsis:not([class*="line-"])	{ 
	display: block;
	white-space: nowrap;
}
.ellipsis[class*="line-"]		{
	display: -webkit-box;
	-webkit-box-orient: vertical;
}
.ellipsis.line-2					{ -webkit-line-clamp: 2;}
.ellipsis.line-3					{ -webkit-line-clamp: 3;}
.ellipsis.line-4					{ -webkit-line-clamp: 4;}

/* [Global - Title & Text Style] 공용 - Title & Text Style */
.ta-l 			{ text-align: left !important; }
.ta-r 			{ text-align: right !important; }
.ta-c 			{ text-align: center !important; }

.underline 		{ text-decoration: underline; }
.uppercase 		{ text-transform: uppercase; }

/* {Global - Flex Layout} 글로벌 - 플렉스 */
[class*="pack-"] { display: flex; }
.pack-center{
	align-items: center;
	justify-content: center;
}
.pack-between {
	align-items: center;
	justify-content: space-between;
}
.pack-down{
	flex-direction: column;
}

[class*="pack-"].start	{ align-items: flex-start; 	text-align: left; }
[class*="pack-"].end	{ align-items: flex-end; 	text-align: right; }
[class*="pack-"].center	{ align-items: center; 		text-align: center; }
[class*="pack-"].wrap	{ flex-wrap: wrap; }

.items-start    { align-items: flex-start; }
.items-end      { align-items: flex-end; }
.items-center   { align-items: center; }
.items-stretch  { align-items: stretch; }

.justify-start    { justify-content: flex-start; }
.justify-end      { justify-content: flex-end; }
.justify-center   { justify-content: center; }
.justify-between  { justify-content: space-between; }
.justify-around   { justify-content: space-around; }
/* [RWD Flex Layout] 반응형 */
@media (max-width: 767px) {
	.mo-row { flex-direction: row; }
	.mo-col { flex-direction: column; }
}

[class*="grid-"]	{ display: grid; }
.grid-wrap.col-2	{ grid-template-columns: repeat(2, 1fr); }
.grid-wrap.col-3	{ grid-template-columns: repeat(3, 1fr); }
.grid-wrap.col-4	{ grid-template-columns: repeat(4, 1fr); }


.gap-160		{ gap: 160px; }
.gap-160-80		{ gap: 160px; }

.gap-40			{ gap: 40px; }
.gap-40-30		{ gap: 40px; }

.gap-30			{ gap: 30px; }
.gap-30-36		{ gap: 30px; }
.gap-30-20		{ gap: 30px; }
.gap-30-16		{ gap: 30px; }

.gap-24			{ gap: 24px; }
.gap-24-16		{ gap: 24px; }

.gap-20			{ gap: 20px; }
.gap-20-16		{ gap: 20px; }
.gap-20-24		{ gap: 20px; }

@media all and (max-width: 768px) {
	.gap-160-80		{ gap: 80px; }

	.gap-40-30		{ gap: 30px; }

	.gap-30-36		{ gap: 36px; }
	.gap-30-20		{ gap: 20px; }
	.gap-30-16		{ gap: 16px; }

	.gap-24-16		{ gap: 16px; }

	.gap-20-16		{ gap: 16px; }
	.gap-20-24		{ gap: 24px; }
}

/* {Global - Icon} 글로벌 - 아이콘 */
.ico		{
	display: flex; aspect-ratio: 1/1;
	background-position: center;
	background-repeat: no-repeat; background-size: cover;
	-webkit-mask-size: cover;
			mask-size: cover;
	
}
.ico:is([class="mask-"]) { 
	-webkit-mask: url() no-repeat 50% 50%;
			mask: url() no-repeat 50% 50%;
	-webkit-mask-size: 100% 100%;
			mask-size: 100% 100%;
}

/* 16px */
.ico.outlink{
	width: 16px;
	background-image: url("../images/ico/outlink.png");
}
/* 20px */
.ico.outlink2{
	width: 20px;
	background-image: url("../images/ico/ico_outlink2.png");
}
.ico.mask-outlink{
	width: 16px; background-color: var(--white);
	-webkit-mask-image: url("../images/ico/outlink.png");
			mask-image: url("../images/ico/outlink.png");
}


/* {Global - Button} 글로벌 - 버튼 */
.btns{
	position: relative; cursor: pointer !important;
	width: fit-content; margin: 0; padding: 0;

	display: inline-flex; align-items: center;
	justify-content: center;

	text-align: center; vertical-align: middle;

	border: 0 none; outline: none;
	color: inherit; background-color: transparent;

	font-size: inherit; 

	transition: all 0.4s ease; appearance: none;
}

.btns[class*="swiper-"]{
	width: 64px; height: 64px;
}
.btns[class*="swiper-"] .ico.mask-arrow{
	width: 9px; aspect-ratio: 9/14;
	-webkit-mask-image: url("../images/alumni/prev-b.png");
			mask-image: url("../images/alumni/prev-b.png");
}
.btns.swiper-prev {}
.btns.swiper-next {}
.btns.swiper-next .ico{ transform: rotate(180deg); }

.swiper-btns.white .btns[class*="swiper-"]		{ background-color: var(--white); }
.swiper-btns.white .btns[class*="swiper-"] .ico	{ background-color: var(--black); }
.swiper-btns.white .btns[class*="swiper-"]:hover		{ background-color: #DF1E36; }
.swiper-btns.white .btns[class*="swiper-"]:hover .ico	{ background-color: var(--white); }

.swiper-btns.red .btns[class*="swiper-"]		{ background-color: #DF1E36; }
.swiper-btns.red .btns[class*="swiper-"] .ico	{ background-color: var(--white); }
.swiper-btns.red .btns[class*="swiper-"]:hover		{ background-color: var(--white); }
.swiper-btns.red .btns[class*="swiper-"]:hover .ico	{ background-color: #DF1E36; }
@media (max-width: 768px) {
	.btns[class*="swiper-"]{ width: 32px; height: 32px; }
	.btns[class*="swiper-"] .ico.mask-arrow{ width: 6px; height: 12px; }
}

/* {Global - Item} 글로벌 - 아이템 */
.item.new-news{
	border-top: 1px solid #DF1E36; border-left: 1px solid #DF1E36; 
	padding-block: 40px 12px; padding-inline: 40px 40px;
	display: flex; flex-direction: column;
	justify-content: space-between;
}
.item.new-news .title-wrap{
	display: flex; flex-direction: column;
	gap: 30px;
}
.item.new-news .category	{
	color: #DF1E36;
	font-size: 14px;
	font-weight: 700; line-height: 1.25;
}
.item.new-news .title		{
	font-size: 20px; font-weight: 400;
	line-height: 1.65; text-align: left;
}
.item.new-news .data		{
	font-family: 'Roboto',sans-serif; font-size: 14px;
	font-weight: 400; line-height: 1.65;
}
.item.new-news:hover{ background-color: #FFF; }
@media (max-width: 768px) {
	.item.new-news{ padding-block: 28px 12px; padding-inline: 32px 32px; }
	.item.new-news .title-wrap	{ gap: 16px; }
	.item.new-news .title		{ font-size: 18px; }
}


.item.new-newsletter{
	position: relative;
}
.item.new-newsletter .text-wrap{
	position: absolute; inset: 0 0 0 0;
	width: 100%; height: 100%; text-align: center;
	display: none; align-items: center;
	justify-content: center; flex-direction: column;
	gap: 6px;
}
.item.new-newsletter .text-wrap .text{
	color: #FFF; font-size: 16px;
	font-weight: 400; line-height: 1.25;
}
/* // () => [GLOBAL - COMMON END] 신규 공통 종료 */



/* ==================================================================================== */


/* ========================================
= [SUB - PAGE ALUMNI] (New Page) / 2026.01.21
= Description: New Page 지평 ALUMNI
======================================== */
.sub.alumni	{ width: 100%; background-color: #F6F6F3; }
.sub.alumni h2.title::after	{ display: none !important; }
.sub.alumni .text br		{ display: block !important; }

.sub.alumni .search-area{}
.sub.alumni .search-area .title-area{
	display: flex; flex-direction: column;
	gap: 40px;
}
.sub.alumni .search-area .title-area .text{padding-top: 0px;}
@media all and (max-width: 768px) {
	.sub.alumni .search-area .title-area{ gap: 20px; }
}
/* // New Page - ALUMNI COMMON 종료 */


/* ========================================
= [SUB - PAGE ALUMNI LANDING] (Landing) / 2026.01.21
= Description: ALUMNI 메인
======================================== */
.sub.alumni.landing{}
.sub.alumni.landing .section{ 
	position: relative; width: 100%;
}
/* {ALUMNI - PAGE HEADER} 졸업생 - 페이지 헤더 */
/* PAGE HEADER - Section Visual */
.sub.alumni.landing .section.visual{
	width: 100%; 
	background-size: contain; background-position: top center;
}
.sub.alumni.landing .section.visual .title-wrap	{
	display: flex; flex-direction: column; gap: 24px;
	text-align: center;
}
.sub.alumni.landing .section.visual .title		{ 
	letter-spacing: -2.16px;
	font-size: 62px; color: #FFF;
}
.sub.alumni.landing .section.visual .text		{
	padding: 0 !important; letter-spacing: -0.6px;
	font-size: 20px; color: rgba(255,255,255,0.8);
}
/* [RWD Section Visual] 반응형 */
@media all and (max-width: 1024px) {
	.sub.alumni.landing .section.visual .title	{ font-size: 62px; }
	.sub.alumni.landing .section.visual .text	{ font-size: 18px; }
}
@media all and (min-width: 769px) {
	.sub.alumni.landing .section.visual{
		height: 700px; background-attachment: fixed;
		background-image: url("../images/alumni/alumni-01.jpg");
	}
}
@media all and (max-width: 768px) {
	.sub.alumni.landing .section.visual{ 
		height: 668px; 
		background-image: url("../images/alumni/alumni-01_mo.jpg");
	}
	.sub.alumni.landing .section.visual .title	{ font-size: 32px; letter-spacing: -0.96px; }
	.sub.alumni.landing .section.visual .text	{ font-size: 16px; letter-spacing: -0.48px; }
}

.sub.alumni.landing .page-header .data-wrap{ margin-top: calc((186px / 2) * -1); }
.sub.alumni.landing .page-header .data-wrap ul{ gap: 4px; }
.sub.alumni.landing .page-header .data-wrap li{ width: calc(100% / 3); }
.sub.alumni.landing .page-header .data-wrap .btn{
	width: 100%; height: 186px; 
	margin: 0; padding-inline: clamp(40px,5.21vw,48px);
	display: flex; align-items: center;
	line-height: 1.25; text-align: left;
	font-weight: 600; font-size: 26px;
	background-color: #df1e36; color: #FFF;
}

.sub.alumni.landing .page-header .data-wrap .btn span{ position: relative; line-height: inherit; }
.sub.alumni.landing .page-header .data-wrap .btn .ico{
	position: absolute; bottom: 2px; right: -40px;
	width: 24px; background-image: url('../images/alumni/arrow.svg');
}

/* [RWD Data Wrap] 반응형 */
@media all and (max-width: 1024px) {
	.sub.alumni.landing .page-header .data-wrap ul{ flex-direction: column; gap: 6px; }
	.sub.alumni.landing .page-header .data-wrap li{ width: 100%; }
}
@media all and (max-width: 768px) {
	.sub.alumni.landing .page-header .data-wrap		{ margin-top: calc((150px / 2) * -1); }
	.sub.alumni.landing .page-header .data-wrap .btn{ height: 130px; font-size: 20px; }
	.sub.alumni.landing .page-header .data-wrap .btn .ico{ width: 16px; bottom: 3px; right: -27px; }
}

/* // {ALUMNI - PAGE HEADER END} 업생 - 페이지 헤더 종료 */


/* {ALUMNI - PAGE CONTENT} 졸업생 - 페이지 콘텐츠 */
.sub.alumni.landing .page-content{ padding-block: 160px; }

.sub.alumni.landing .sect-header .title-wrap{padding-block: 5px;}
.sub.alumni.landing .sect-header .title{ font-size: 32px; }
/* [RWD PAGE CONTENT] 반응형 */
@media all and (max-width: 768px) {
	.sub.alumni.landing .page-content{ padding-block: 100px; }
	.sub.alumni.landing .sect-header .title-wrap{padding-block: 12.5px;}
	.sub.alumni.landing .sect-header .title{ font-size: 20px; }
}

/* PAGE CONTENT - Section News */
.sub.alumni.landing .section.news		{}
.sub.alumni.landing .section.news ul,
.sub.alumni.landing .section.news li	{ width: 100%; }

.sub.alumni.landing .section.news .item.new-news{ 
	width: 100%; height: 450px;
}
@media all and (min-width: 1025px) {
	.sub.alumni.landing .section.news .item.new-news .title{ 
		-webkit-line-clamp: 6;
	}
}
@media all and (max-width: 1024px) {
	.sub.alumni.landing .section.news ul{
		grid-template-columns: repeat(1, 1fr);
	}
	.sub.alumni.landing .section.news .item.new-news{height: 330px;}
}
@media all and (max-width: 768px) {
	.sub.alumni.landing .section.news .item.new-news{ height: 210px; }
}


/* PAGE CONTENT - Section Newsletter(Letter) */
.sub.alumni.landing .section.letter{}
.sub.alumni.landing .section.letter li	{
	display: flex; height: 335px;
	flex-direction: row-reverse;
}
.sub.alumni.landing .section.letter .custom-dot{ 
	bottom: 47px; left: clamp(30px,3.91vw,40px);
	width: fit-content; gap: 15px;
	display: flex; align-items: center;
}
.sub.alumni.landing .section.letter .custom-dot span{
	width: fit-content; height: fit-content; margin: 0;
	background-color: transparent; opacity: 1;

	color:var(--black-op-40); line-height: 1.25;
	font-family: 'Roboto',sans-serif;
	font-size: 14px; font-weight: 500;
}
.sub.alumni.landing .section.letter .custom-dot span.swiper-pagination-bullet-active{ color:#DF1E36; }

.sub.alumni.landing .section.letter .img-wrap	{ 
	width: calc(100% - clamp(240px,31.21vw,380px));
}
.sub.alumni.landing .section.letter .text-wrap	{
	width: clamp(240px,31.21vw,380px);
	padding-block: 40px 47px; padding-inline: clamp(30px,3.91vw,40px);
	background-color: var(--white);
}
.sub.alumni.landing .section.letter .text-wrap .title{ font-size: 24px; }
.sub.alumni.landing .section.letter .text-wrap .text{
	color: var(--black-op-40); font-size: 16px;
}

.sub.alumni.landing .section.letter .swiper-btns{
	position: absolute; bottom: 0; right: 0; z-index: 1;
}
@media all and (max-width: 768px) {
	.sub.alumni.landing .section.letter li{ 
		flex-direction: column; height: auto;
	}
	.sub.alumni.landing .section.letter .custom-dot{ bottom: 30px; }

	.sub.alumni.landing .section.letter .img-wrap,
	.sub.alumni.landing .section.letter .text-wrap			{ width: 100%; height: 200px; }

	.sub.alumni.landing .section.letter .img-wrap			{  }
	.sub.alumni.landing .section.letter .text-wrap			{ padding-block: 40px 30px; }
	.sub.alumni.landing .section.letter .text-wrap .title	{ font-size: 16px; }
	.sub.alumni.landing .section.letter .text-wrap .text	{ font-size: 13px; }

	.sub.alumni.landing .section.letter .swiper-btns{top: calc(200px - 32px); bottom: auto;}
}

/* PAGE CONTENT - Section Certificate(Cert) */
/* 메인 랜딩 - Section Cert */
.sub.alumni.landing .section.cert{}
.sub.alumni.landing .section.cert .sect-body{
	border-top: 1px solid #DF1E36;
}
.sub.alumni.landing .section.cert .cert-wrap{ padding-block: 40px; }
.sub.alumni.landing .section.cert .cert-wrap + .cert-wrap{
	border-top: 1px solid rgba(116, 116, 116, 0.2);
}
.sub.alumni.landing .section.cert .cert-wrap dl{}
.sub.alumni.landing .section.cert .cert-wrap dt{
	width: clamp(260px,25.39vw,380px);
	color: #DF1E36; line-height: 1.65;
	font-size: 20px; font-weight: 400;
}
.sub.alumni.landing .section.cert .cert-wrap dd{ width: calc(100% - clamp(260px,25.39vw,380px)); }
.sub.alumni.landing .section.cert .cert-wrap .cert-box{ gap: 20px; }
.sub.alumni.landing .section.cert .cert-wrap dd .text{
	font-size: 20px; font-weight: 400;
	line-height: 1.65;
	display: flex; align-items: center;
}
.sub.alumni.landing .section.cert .cert-wrap dd .text .color{ color: #3553E9; }

.sub.alumni.landing .section.cert .cert-wrap dd ul{}
.sub.alumni.landing .section.cert .cert-wrap dd li{
	font-size: 16px; font-weight: 400;
	line-height: 1.8; color: rgba(0,0,0,0.8);
}
.sub.alumni.landing .section.cert .cert-wrap dd li span{ 
	position: relative; padding-left: 20px;
}
.sub.alumni.landing .section.cert .cert-wrap dd li span::after{
	content: ""; position: absolute; top: 14px; left: 6px;
	width: 4px; height: 4px; border-radius: 50%;
	background-color: #000;

}

.sub.alumni.landing .section.cert .cert-wrap .button-wrap{ padding-left: 20px; gap: 30px; }
.sub.alumni.landing .section.cert .cert-wrap dd .btn{
	position: relative;
	gap: 10px; line-height: 1.65; margin: 0;
	font-size: 16px; font-weight: 400;	
}
.sub.alumni.landing .section.cert .cert-wrap dd .btn::after{
	content: ""; position: absolute; bottom: -4px; left: 0;
	width: 100%; height: 1px; background-color: #000;
}
.sub.alumni.landing .section.cert .cert-wrap dd .btn .ico{ height: fit-content; }

@media all and (max-width: 1024px) {
	.sub.alumni.landing .section.cert .cert-wrap dl{
		flex-direction: column; gap: 24px;
	}
	.sub.alumni.landing .section.cert .cert-wrap dt,
	.sub.alumni.landing .section.cert .cert-wrap dd{width: 100%;}

	.sub.alumni.landing .section.cert .cert-wrap dt{ line-height: 1.25;}
}
@media all and (max-width: 768px) {
	.sub.alumni.landing .section.cert .cert-wrap{ padding-block: 30px; }
	.sub.alumni.landing .section.cert .cert-wrap .cert-box{ gap: 24px; }
	
	.sub.alumni.landing .section.cert .cert-wrap dt,
	.sub.alumni.landing .section.cert .cert-wrap dd .text{ font-size: 18px; }
	.sub.alumni.landing .section.cert .cert-wrap dd .text{
		flex-direction: column; align-items: flex-start;
	}
	.sub.alumni.landing .section.cert .cert-wrap dd li{ font-size: 14px; }
	.sub.alumni.landing .section.cert .cert-wrap dd li span br{display: none;}
	.sub.alumni.landing .section.cert .cert-wrap dd li span::after{
		top: 12px; width: 3px; height: 3px; left: 7px;
	}

	.sub.alumni.landing .section.cert .cert-wrap .button-wrap{ gap: 16px; flex-direction: column; }
	.sub.alumni.landing .section.cert .cert-wrap dd .btn{  width: fit-content; font-size: 16px; }
}

/* // {ALUMNI - PAGE CONTENT END} 업생 - 페이지 콘텐츠 종료 */
/* // () => [SUB - PAGE ALUMNI LANDING END] 서브 지평 랜딩 종료 */


/* ========================================
= [SUB - PAGE ALUMNI NEWS] (News) / 2026.01.21
= Description: ALUMNI News
======================================== */
.sub.alumni.news{}


/* ========================================
= [SUB - PAGE ALUMNI NEWSLETTER] (Newsletter) / 2026.01.21
= Description: ALUMNI Newsletter
======================================== */
.sub.alumni.newsletter{}
.sub.alumni.newsletter .item-list li.active .download.text-wrap{ display: flex !important; }

/* // () => [SUB - PAGE NEWSLETTER LANDING END] 서브 뉴스레터 종료 */