/* reset */
*{margin:0;padding:0;box-sizing:border-box}
ul,ol{list-style:none}
a{text-decoration:none;color:inherit}
button{background:none;border:0;cursor:pointer;font:inherit;color:inherit}

.inner{max-width:1200px;margin:0 auto;padding:0 20px}


/* sub visual */
.all_wrap_title {height: 700px; overflow: hidden;}
.sub_bg {height: inherit; animation: bg-zoom-in 5s both;}
.sub_tit {color:#8BBBF1;font-size:1.6rem; font-weight: 500; letter-spacing: 0.5px;}
@keyframes bg-zoom-in {
	0% {transform: scale(1);}
	100% {transform: scale(1.1);}
}

.sub_cont01_wrap {padding: 0 20px;}
.sub_cont01{width: 100%; max-width:1400px; margin:120px auto; }
.sub_cont01 .box_01 {position: relative; margin-bottom: 120px; color: rgba(0, 0, 0, .2);}
.sub_cont01 .box_01 p {position: relative; line-height: 1.3; text-align:right; font-size:3.5rem; background: linear-gradient(to right, #000, #000) no-repeat; -webkit-background-clip: text; background-clip: text; background-size: 0%; transition: background-size cubic-bezier(.1,.5,.5,1) 0.5s}
.sub_cont01 .box_01 p:nth-child(2){font-weight:bold; margin-top: 10px;}

.sub_cont01 .box_02 p {font-weight: 500; line-height: 1.2;}
.sub_cont01 .box_02 p:nth-child(1){}
.sub_cont01 .box_02 p:nth-child(2){color:#000;font-size:2.4rem; margin-top: 20px;}
/* ---- .sub visual */




/* features */
.features{background:#f6f7f9;padding:120px 0; position: relative; text-align: center;}
.features::before{content:'';position:absolute;top:236px; left: 0;height:2px;background:#91BEF2;width:100%;}
.features h3{font-size:4rem;font-weight:700;color:#222;margin-bottom:40px}
.feature-list{display:grid;grid-template-columns:repeat(5,1fr);gap:20px;position:relative}
.feature-list li{position:relative;padding-top:60px;text-align:center;}
.feature-list li::before{content:'';position:absolute;top:32px;left:50%;transform: translateX(-50%); width:12px;height:12px;border-radius:50%;background:#002D7F;}
.feature-list .num {font-size:3.2rem;font-weight:300;color:#C8C8C8;}
.feature-list p{font-size:1.8rem; font-weight: 300; margin-top: 10px; line-height:1.55}

/* programs */
.programs{padding:90px 0}
.program-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.program-list li{background:#f9f9f9; border-radius:2px;overflow:hidden;display:flex;flex-direction:column}
.program-list .thumb{aspect-ratio:4/3;overflow:hidden}
.program-list .thumb img{width:100%;height:100%;object-fit:cover}
.program-list .info {padding:26px 20px 30px}
.program-list h4 {font-size:2.5rem; font-weight: 500; margin-bottom:24px; }
.program-list dl {font-size: 1.6rem;line-height:1.7; }
.program-list dl .flex {display: flex; margin-top: 25px;}
.program-list dl .flex:first-child {margin-top: 0;}
.program-list dt {width: 100%; max-width: 75px; font-weight: 600;}
.program-list dd {word-break: keep-all;}



/* tablet */
@media (max-width:1024px){
    .gnb ul{gap:18px}
    .gnb a{font-size:14px}

    .features::before {display: none;}
    .feature-list {grid-template-columns: 1fr;gap: 0;position: relative;padding-left: 40px; max-width: 250px; width: 100%; margin: 0 auto;}
		/* 세로 연결선 */
		.feature-list::before {content: '';display: block;position: absolute;top: 18px;bottom: 10px;left: 37px;width: 2px;height: auto;background: #91BEF2;}
		/* 각 아이템 점 위치 조정 */
		.feature-list li {position: relative;padding: 14px 0 24px 20px;text-align: left;}
		.feature-list li::before {top: 17px;left: -2px;width: 10px;height: 10px; border-color: #f6f7f9;}

		/* 번호 인라인 표시 */
		.feature-list .num {position: static;display: block;margin-bottom: 6px;}
		.feature-list p {line-height: 1.6;}

    .program-list{grid-template-columns:1fr 1fr}
    .program-list li:last-child{grid-column:1/-1;max-width:50%;margin:0 auto;width:100%}
}

@media (max-width: 850px) {
  /* top */
  .all_wrap_title {height: 400px;}

  /* .sub_cont01 */
  .sub_cont01 {margin: 80px auto;}
  .sub_cont01 .box_01 {margin-bottom: 60px;}
  .sub_cont01 .box_01 p {font-size: 2.5rem;}

  /* .features */
  .features {padding: 80px 0;}
}

/* mobile */
@media (max-width:768px){
    .header{height:60px}
    .gnb{display:none}
    .menu-btn{display:flex}
    .sub-visual{margin-top:60px;height:260px}
    .sub-visual h2{font-size:28px}

    .programs{padding:60px 0}
    .program-list{grid-template-columns:1fr;gap:30px}
    .program-list li{max-width:100%!important}
    .program-list .info{padding:22px 20px 26px;}
    .program-list dt {max-width: 60px;}


}
