@charset "utf-8";
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@400;500;700;800&display=swap");




body, input, textarea, select, button, table {
  font-family: 'Noto Sans KR', '맑은 고딕', 'Malgun Gothic', 'Apple SD Gothic Neo', AppleGothic, sans-serif;
 	font-size: 1rem;
}

body, #kso-container,
#kso-container div, #kso-container p, #kso-container span, #kso-container a,
#kso-container li, #kso-container dt, #kso-container dd,
#kso-container h1, #kso-container h2, #kso-container h3, #kso-container h4, #kso-container h5, #kso-container h6,
#kso-container input, #kso-container textarea, #kso-container select, #kso-container button,
#kso-container table, #kso-container th, #kso-container td, #kso-container strong, #kso-container em {
  font-family: 'Noto Sans KR', '맑은 고딕', 'Malgun Gothic', 'Apple SD Gothic Neo', AppleGothic, sans-serif;
}


/* ===== 서브 비주얼 보케 효과 ===== */
.sub-header{
  position:relative;
  overflow:hidden;
}

.sub-header::before{
  content:"";
  position:absolute;
  inset:0;
  background:rgba(40,30,20,0.25);
  z-index:1;
}

/* 보케 레이어 */
.sub-bokeh{
  position:absolute;
  inset:0;
  z-index:2;
  pointer-events:none;
}

.sub-bokeh span{
  position:absolute;
  border-radius:50%;
  background:radial-gradient(circle, rgba(255,255,255,0.35), rgba(255,255,255,0.05));
  animation:bokehFloat 12s infinite ease-in-out;
  filter:blur(3px);
}

/* 위치 + 크기 */
.sub-bokeh span:nth-child(1){ width:120px;height:120px; left:10%; top:20%;}
.sub-bokeh span:nth-child(2){ width:80px;height:80px; left:20%; top:70%;}
.sub-bokeh span:nth-child(3){ width:140px;height:140px; left:35%; top:30%;}
.sub-bokeh span:nth-child(4){ width:60px;height:60px; left:50%; top:75%;}
.sub-bokeh span:nth-child(5){ width:110px;height:110px; left:60%; top:20%;}
.sub-bokeh span:nth-child(6){ width:90px;height:90px; left:70%; top:65%;}
.sub-bokeh span:nth-child(7){ width:130px;height:130px; left:80%; top:25%;}
.sub-bokeh span:nth-child(8){ width:70px;height:70px; left:90%; top:70%;}
.sub-bokeh span:nth-child(9){ width:100px;height:100px; left:40%; top:50%;}
.sub-bokeh span:nth-child(10){ width:60px;height:60px; left:75%; top:45%;}

/* 애니메이션 */
@keyframes bokehFloat{
  0%{ transform:translateY(0px) scale(1); opacity:.4;}
  50%{ transform:translateY(-20px) scale(1.1); opacity:.7;}
  100%{ transform:translateY(0px) scale(1); opacity:.4;}
}

/* 텍스트 위로 */
.sub-header .container{
  position:relative;
  z-index:3;
}


.fa, .fa-solid, .fa-regular, .fa-brands, .fas, .far, .fab {
  font-family: "Font Awesome 6 Free", "Font Awesome 6 Brands" !important;
}

.fa-solid, .fas {
  font-weight: 900 !important;
}

.fa-regular, .far, .fa-brands, .fab {
  font-weight: 400 !important;
}


.waves {
  position:relative;
  width: 100%;
  height:15vh;
  margin-bottom:-7px; /*Fix for safari gap*/
  min-height:100px;
  max-height:150px;
}
.parallax > use {
  animation: move-forever 25s cubic-bezier(.55,.5,.45,.5) infinite;
}
.parallax > use:nth-child(1) {
  animation-delay: -2s;
  animation-duration: 7s;
}
@keyframes move-forever {
  0% {
   transform: translate3d(-90px,0,0);
  }
  100% { 
    transform: translate3d(85px,0,0);
  }
}
/*Shrinking for mobile*/
@media (max-width: 768px) {
  .waves {
    height:40px;
    min-height:40px;
  }
}



/*------------- sub -------------*/
.sub-header {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 200px;
	background-color: #eee;
	background-size: cover;
	background-repeat: no-repeat;
	background-position: center;
	background-image: url(../img/subtop.jpg);
}
.sub-header:before {
	content: '';
	position: absolute;
	inset: 0;
	background-color: rgba(0, 0, 0, .32);
}
.sub-header .container,
.sub-header .row,
.sub-header .col {
	height: 100%;
}
.sub-header .row {
	align-items: center !important;
	justify-content: center;
	transform: translateY(-30%);
}
.sub-header .col {
	display: flex;
	align-items: flex-end;
	justify-content: center;
}
.sub-header h1 {
	position: relative;
	margin: 0;
	text-align: center;
	font-size: 2.4rem;
	font-weight: 700;
	line-height: 1.2;
	text-shadow: 0 2px 12px rgba(0, 0, 0, .18);
}




/*------------- main -------------*/


.section-carousel {
	position: relative;
}
.section-carousel:before {
	content: '';
	position: absolute;
	top: 50%;
	bottom: 0;
	width: 100%;
	background-color: #10182A;
}
.section-swiper .swiper-slide {
	display: block;
	text-align: left;
}	




#owl-zine .item {
	background-color: #fff;
}
#owl-zine.owl-carousel .caption {
	padding: 2rem 2rem;
}
#owl-zine.owl-carousel h5 {
	margin-bottom: 1.5rem;
	font-weight: bold;
}
#owl-zine.owl-carousel p {
	font-size: 15px;
	color: #888;
}	
#owl-zine.owl-carousel .owl-nav button.owl-next, 
#owl-zine.owl-carousel .owl-nav button.owl-prev {
	position: absolute;
	top: 50%;
	width: 40px;
	height: 40px;
	background-color: #fff;
	border-radius: 50%;
}
#owl-zine.owl-carousel .owl-nav button.owl-next {
	left: auto;
	right: -4rem;
}
#owl-zine.owl-carousel .owl-nav button.owl-prev {
	right: auto;
	left: -4rem;
}




.section-block .item {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	padding: 2rem;
	min-height: 250px;
	background-color: #E9E9E9;
	transition: all .3s ease;
}
.section-block .item h5 {
	line-height: 1.6;
}
.section-block .item a {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
}	
.section-block .item i {
	transition: all .3s ease;
}
.section-block .item:hover i {
	transform: rotate(90deg);
}
.section-block .item.active h5,
.section-block .item.active a,
.section-block .item:hover h5,
.section-block .item:hover a {
	color: #fff;
}
.section-block .item.active:hover {
	background-color: #E9E9E9;
}	
.section-block .item.active:hover h5,
.section-block .item.active:hover a {
	color: #1f4669;
}

.bg-img-cover.dark:after {
	background-color: rgba(0, 0, 0, .5);
}	


.infinite-carousel {
	position: relative;
	margin-inline: auto;
	height: 60px;
	-webkit-mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent);
	mask-image: linear-gradient(90deg, transparent, #fff 20%, #fff 80%, transparent);
	mask-image: linear-gradient(
	to right,
	rgba(0, 0, 0, 0),
	rgba(0, 0, 0, 1) 20%,
	rgba(0, 0, 0, 1) 80%,
	rgba(0, 0, 0, 0)
	);	
}
.infinite-carousel .item {
	position: absolute;
	left: max(calc(200px * var(--logo-img-num)), 100%);
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 200px;
	height: 60px;
	animation-name: infiniteCarousel;
	animation-duration: 30s;
	animation-timing-function: linear;
	animation-iteration-count: infinite;
	animation-direction: reverse;
	animation-delay: -15s;
}
.infinite-carousel .item img {
	display: block;
	max-width: 200px;
	max-height: 60px;
	width: auto;
	height: auto;
}
.infinite-carousel .client-link {
	text-decoration: none;
	transition: transform .25s ease, filter .25s ease, opacity .25s ease;
}
.infinite-carousel .client-link:hover,
.infinite-carousel .client-link:focus-visible {
	transform: scale(1.06);
	filter: drop-shadow(0 8px 18px rgba(15,23,42,.14));
	opacity: 1;
}
.infinite-carousel .client-link:focus-visible {
	outline: 2px solid rgba(31,70,105,.35);
	outline-offset: 4px;
	border-radius: 12px;
}
/* duration * delay * -1 */
/* 30s / 8 * (8 - x) * -1 */
.infinite-carousel .item1 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 1) * -1);}
.infinite-carousel .item2 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 2) * -1);}
.infinite-carousel .item3 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 3) * -1);}
.infinite-carousel .item4 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 4) * -1);}
.infinite-carousel .item5 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 5) * -1);}
.infinite-carousel .item6 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 6) * -1);}
.infinite-carousel .item7 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 7) * -1);}
.infinite-carousel .item8 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 8) * -1);}
.infinite-carousel .item9 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 9) * -1);}
.infinite-carousel .item10 {animation-delay: calc(30s / var(--logo-img-num) * (var(--logo-img-num) - 10) * -1);}

@keyframes infiniteCarousel {
	0% {
		left: -200px;
	}
}




/*------------- footer -------------*/
footer {
	background-color: #EBEBEB;
}
footer .nav a {
	font-size: .9rem;
	color: #111;
}
footer .nav li:first-child a {
	padding-left: 0;
}
/*------------- footer -------------*/
footer {
	background-color: #EBEBEB;
}

footer .nav a {
	font-size: 1rem;   /* 기존 .9rem → 키움 */
	color: #111;
}

footer .footer-content {
	font-size: 1.05rem;   /* 핵심: 글자 크게 */
    color: #666;         /* 너무 흐린 회색 → 조금 진하게 */
    line-height: 1.9;    /* 가독성 업 */
}

footer .copyright {
	font-size: .9rem;     /* 기존 .8 → 키움 */
	color: rgba(0, 0, 0, .5);
	margin-top: 10px;
}


#scollTop {
    display: none;
    position: fixed;
    right: 2rem;
    bottom: 4rem;
	width: 50px;
    height: 50px;
    border: none;
    border-radius: 50%;
    box-shadow: 0 3px 5px rgba(0,0,0,.2);
    z-index: 99;
}
#scollTop .scroll-icon {
    width: 20px;
    height: 20px;
    text-align: center;
    color: #fff;
}


/*------------- media query -------------*/




@media(max-width: 767px) {
	.container {
		padding-left: 20px;
		padding-right: 20px;
	}
	footer .footer-content {
		font-size: .8rem;
	}
}

@media(max-width: 991px) {
	.sub-header {
		height: 180px;
	}
	.sub-header h1 {
		font-size: 2rem;
	}
}

@media(max-width: 767px) {
	.sub-header {
		height: 150px;
	}
	.sub-header h1 {
		font-size: 1.7rem;
	}
}


/*------------- news hero enhanced -------------*/
.news-hero-section {
	position: relative;
	padding: 2rem 0 0;
	background-repeat: no-repeat;
	background-size: cover;
	background-position: center top;
	isolation: isolate;
}
.news-hero-overlay {
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, rgba(255,255,255,.72) 0%, rgba(255,255,255,.9) 28%, rgba(255,255,255,.96) 100%);
	z-index: -2;
}
.news-hero-inner {
	position: relative;
	z-index: 2;
}
.news-hero-summary {
	max-width: 760px;
	margin-inline: auto;
}
.news-top-visual {
	margin: 0 auto 2.25rem;
}
.news-top-visual__img {
	width: 100%;
	height: clamp(180px, 26vw, 320px);
	border-radius: 28px;
	background-size: cover;
	background-position: center;
	box-shadow: 0 20px 50px rgba(15,23,42,.12);
	border: 1px solid rgba(255,255,255,.7);
}
.news-card-row {
	position: relative;
	z-index: 2;
}
.news-card-link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.news-card-link:hover,
.news-card-link:focus {
	text-decoration: none;
	color: inherit;
}
.news-card-item {
	position: relative;
	overflow: hidden;
	backdrop-filter: blur(2px);
	background-color: rgba(233,233,233,.9);
}
.news-card-item:before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(255,255,255,.22) 0%, rgba(255,255,255,0) 60%);
	pointer-events: none;
}
.news-card-item h5,
.news-card-item .news-card-action {
	position: relative;
	z-index: 1;
}
.news-card-action {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 15px;
}
.news-card-link:hover .news-card-item,
.news-card-link:focus .news-card-item {
	transform: translateY(-4px);
	box-shadow: 0 18px 34px rgba(15,23,42,.1);
}
.news-card-link:hover .news-card-item i,
.news-card-link:focus .news-card-item i {
	transform: rotate(90deg);
}
.news-motion {
	position: absolute;
	inset: 0;
	overflow: hidden;
	z-index: -1;
	pointer-events: none;
	filter: blur(.35px);
}
.news-motion .shape {
	position: absolute;
	display: block;
	opacity: .62;
	will-change: transform, opacity;
	mix-blend-mode: screen;
}
.news-motion-stars .shape {
	clip-path: polygon(50% 0%, 61% 36%, 98% 35%, 68% 57%, 79% 91%, 50% 70%, 21% 91%, 32% 57%, 2% 35%, 39% 36%);
	background: radial-gradient(circle at 30% 30%, rgba(255,255,255,.98) 0%, rgba(255,244,185,.88) 34%, rgba(255,214,90,.58) 64%, rgba(255,214,90,0) 100%);
	box-shadow: 0 0 22px rgba(255,224,120,.42), 0 0 44px rgba(255,255,255,.24);
}
.news-motion-orbs .shape {
	border-radius: 50%;
	background: radial-gradient(circle at 35% 35%, rgba(255,255,255,.9) 0%, rgba(255,228,140,.62) 35%, rgba(255,207,90,.34) 58%, rgba(255,255,255,0) 78%);
	box-shadow: 0 0 24px rgba(255,210,110,.24);
}
.news-motion .s1 { width: 82px; height: 82px; left: 5%; top: 14%; animation: newsDrift1 15s ease-in-out infinite; }
.news-motion .s2 { width: 132px; height: 132px; right: 7%; top: 8%; animation: newsDrift2 20s ease-in-out infinite; }
.news-motion .s3 { width: 64px; height: 64px; left: 16%; top: 54%; animation: newsDrift3 17s ease-in-out infinite; }
.news-motion .s4 { width: 96px; height: 96px; right: 23%; top: 41%; animation: newsDrift4 22s ease-in-out infinite; }
.news-motion .s5 { width: 48px; height: 48px; left: 44%; top: 18%; animation: newsDrift5 13s ease-in-out infinite; }
.news-motion .s6 { width: 88px; height: 88px; right: 38%; top: 64%; animation: newsDrift6 18s ease-in-out infinite; }
@keyframes newsDrift1 {
	0%,100% { transform: translate3d(0,0,0) scale(.95) rotate(0deg); opacity: .46; }
	50% { transform: translate3d(30px,-18px,0) scale(1.22) rotate(70deg); opacity: .88; }
}
@keyframes newsDrift2 {
	0%,100% { transform: translate3d(0,0,0) scale(1); opacity: .4; }
	25% { transform: translate3d(-18px,20px,0) scale(1.18); opacity: .78; }
	50% { transform: translate3d(22px,46px,0) scale(.86); opacity: .3; }
	75% { transform: translate3d(-36px,12px,0) scale(1.14); opacity: .72; }
}
@keyframes newsDrift3 {
	0%,100% { transform: translate3d(0,0,0) scale(.92); opacity: .34; }
	50% { transform: translate3d(14px,-28px,0) scale(1.28); opacity: .82; }
}
@keyframes newsDrift4 {
	0%,100% { transform: translate3d(0,0,0) scale(1); opacity: .35; }
	33% { transform: translate3d(-26px,16px,0) scale(1.15); opacity: .75; }
	66% { transform: translate3d(12px,-22px,0) scale(.82); opacity: .28; }
}
@keyframes newsDrift5 {
	0%,100% { transform: translate3d(0,0,0) rotate(0deg) scale(.9); opacity: .5; }
	50% { transform: translate3d(0,0,0) rotate(180deg) scale(1.35); opacity: .95; }
}
@keyframes newsDrift6 {
	0%,100% { transform: translate3d(0,0,0) scale(.88); opacity: .28; }
	30% { transform: translate3d(18px,-12px,0) scale(1.18); opacity: .82; }
	60% { transform: translate3d(-30px,-30px,0) scale(.72); opacity: .18; }
}
@media (max-width: 991.98px) {
	.news-top-visual { margin-bottom: 1.5rem; }
	.news-top-visual__img { border-radius: 22px; }
}
@media (max-width: 767.98px) {
	.news-hero-section { padding-top: 1rem; }
	.news-top-visual__img { height: 170px; border-radius: 18px; }
	.news-card-item { min-height: 220px; }
	.news-motion .shape { opacity: .44; }
}


.infinite-carousel:hover .item,
.infinite-carousel:focus-within .item {
	animation-play-state: paused;
}

.quickboard-wrap-section {
	background: linear-gradient(180deg, rgba(248,249,250,.75) 0%, rgba(255,255,255,1) 100%);
}
.quickboard-section {
	position: relative;
}
.quickboard-summary {
	max-width: 720px;
	margin: 0 auto;
}
.quickboard-card {
	height: 100%;
	padding: 1.75rem;
	border-radius: 28px;
	background: #fff;
	border: 1px solid rgba(15,23,42,.08);
	box-shadow: 0 18px 36px rgba(15,23,42,.06);
}
.quickboard-card--notice {
	background: linear-gradient(180deg, rgba(255,255,255,1) 0%, rgba(249,246,236,1) 100%);
}
.quickboard-card--program {
	background: linear-gradient(180deg, rgba(239,246,255,1) 0%, rgba(255,255,255,1) 100%);
}
.quickboard-card--diet {
	background: linear-gradient(180deg, rgba(247,251,239,1) 0%, rgba(255,255,255,1) 100%);
}
.quickboard-head {
	display:flex;
	align-items:flex-start;
	justify-content:space-between;
	gap:1rem;
	margin-bottom: 1.2rem;
}
.quickboard-eyebrow {
	display:inline-block;
	margin-bottom:.5rem;
	font-size:.78rem;
	font-weight:700;
	letter-spacing:.08em;
	color:#8c7340;
}
.quickboard-card h3 {
	margin:0;
	font-size:1.6rem;
	font-weight:800;
	letter-spacing:-.03em;
	color:#1a1f2c;
}
.quickboard-more {
	flex-shrink:0;
	display:inline-flex;
	align-items:center;
	gap:.4rem;
	padding:.7rem .95rem;
	border-radius:999px;
	background: rgba(255,255,255,.8);
	border:1px solid rgba(15,23,42,.08);
	text-decoration:none;
	color:#1f4669;
	font-weight:700;
}
.quickboard-more:hover {
	background:#1f4669;
	color:#fff;
}
.quickboard-notice-list {
	margin:0;
	padding:0;
	list-style:none;
	display:flex;
	flex-direction:column;
	gap:.8rem;
}
.quickboard-notice-list li a {
	display:flex;
	justify-content:space-between;
	gap:1rem;
	padding:.95rem 1rem;
	border-radius:18px;
	background: rgba(255,255,255,.86);
	border:1px solid rgba(15,23,42,.06);
	text-decoration:none;
	color:#222;
	transition: transform .2s ease, box-shadow .2s ease, border-color .2s ease;
}
.quickboard-notice-list li a:hover {
	transform: translateY(-2px);
	box-shadow: 0 12px 24px rgba(15,23,42,.08);
	border-color: rgba(31,70,105,.18);
}
.quickboard-notice-text {
	flex:1;
	min-width:0;
	display:-webkit-box;
	-webkit-line-clamp:1;
	-webkit-box-orient:vertical;
	overflow:hidden;
	font-weight:600;
}
.quickboard-notice-date {
	flex-shrink:0;
	font-size:.9rem;
	color:#7b7f87;
}
.quickboard-empty {
	display:flex;
	flex-direction:column;
	justify-content:center;
	align-items:flex-start;
	gap:.9rem;
	min-height: 240px;
	color:#666;
}
.quickboard-linkcard {
	display:block;
	height:100%;
	text-decoration:none;
}
.quickboard-linkcard .quickboard-card {
	transition: transform .2s ease, box-shadow .2s ease;
}
.quickboard-linkcard:hover .quickboard-card,
.quickboard-linkcard:focus .quickboard-card {
	transform: translateY(-4px);
	box-shadow: 0 22px 36px rgba(15,23,42,.1);
}
.quickboard-icon {
	width:58px;
	height:58px;
	border-radius:18px;
	display:flex;
	align-items:center;
	justify-content:center;
	font-size:1.5rem;
	margin-bottom:1rem;
	background: rgba(255,255,255,.88);
	border:1px solid rgba(15,23,42,.07);
	color:#1f4669;
}
.quickboard-card--diet .quickboard-icon {
	color:#5d7c22;
}
.quickboard-linkcard p {
	margin:0;
	color:#5b6270;
	line-height:1.75;
}
.quickboard-cta {
	margin-top:1.25rem;
	display:flex;
	align-items:center;
	justify-content:space-between;
	font-weight:700;
	color:#1f4669;
}
.quickboard-card--diet .quickboard-cta {
	color:#507315;
}
@media (max-width: 1199.98px) {
	.quickboard-card h3 { font-size: 1.45rem; }
}
@media (max-width: 767.98px) {
	.quickboard-card {
		padding: 1.35rem;
		border-radius: 22px;
	}
	.quickboard-head {
		flex-direction:column;
		align-items:flex-start;
	}
	.quickboard-notice-list li a {
		flex-direction:column;
		gap:.35rem;
	}
	.quickboard-notice-date {
		font-size:.82rem;
	}
}
