@charset "UTF-8";

.root_daum_roughmap .cont {
  display: none;
}

/* scroll set */
::selection{background: #00a1f5;color:#fff;}

/* scroll custom */
*::-webkit-scrollbar{width:16px;background-color:#ebebeb;}
*::-webkit-scrollbar-thumb:hover{background-color: #00a1f5;;}
::-webkit-scrollbar-thumb{background-color:#C1C1C1;}

@media (max-width:860px){
	*::-webkit-scrollbar{display:none !important; width:0; height:0;}
}

/* //////////////////////////// */

.quick{position: fixed; right: 0; top: 32%; z-index: 3; display: flex; flex-direction: column; gap:2px 0px;}

.Hfull{position: relative;}
.maintext_box{height:100%; display: flex; align-items: center; justify-content:right;  }
.maintext_box img{max-width:638px; width: 100%; padding-left:7%;}
.swiper_btn_wrap{display: flex; width: 100%; justify-content: space-between; position: absolute; top: 45%; z-index: 3; left: 0; right: 0; margin: 0 auto;}
.swiper_btn_wrap div{font-family: 'SUIT-Regular'; width: 55px; height: 55px; border-radius: 50%; text-align: center; line-height: 55px; color: #888; background: rgba(255,255,255,0.7); font-size: 2.6rem;}

.main1{padding-bottom: 60px; padding-top: 60px;}
.main1 .box_wrap{display: flex; gap:0px 1%; position: relative; z-index: 10;}
.main1 .box_wrap a{width: 24%; position: relative; transition: 0.3s all;}
.main1 .box_wrap .img img{width: 100%;}
.main1 .box_wrap .text{position: absolute; width: 100%; height: 100%; padding: 10px; top: 0; left: 0;background: rgb(0,0,0);
background: linear-gradient(180deg, rgba(0,0,0,0.5) 0%, rgba(255,255,255,0) 100%); transition: 0.3s all;}
.main1 .box_wrap .text .text_border{border: 1px solid #fff; width: 100%; height: 100%; padding: 10px; display: flex; flex-direction: column; align-items: center; justify-content: center;}
.main1 .box_wrap .text .h2{position: relative; font-size: 2.4rem; color: #fff; font-weight: bold; display: block; padding-top: 10px;}
.main1 .box_wrap .text .h3{position: relative; font-size: 1.6rem; color: #fff; font-weight: 100; display: block; font-family: 'SUIT-Thin'; text-align: center;}
.main1 .box_wrap .text .h3 b{font-size: 2.2rem; font-family: 'Pretendard';}
/* .main1 .box_wrap a:hover{box-shadow: 0px 0px 20px rgba(0,0,0,0.6);} */
.main1 .box_wrap a:hover .text{background: rgba(0,0,0,0.6);}
.main1 .box_wrap .text .more{padding: 4px 20px; border-radius: 30px; background: #fff; font-family: 'SUIT-Medium'; font-size: 1.4rem; margin-top: 20px;}
.main1 .box_wrap a:nth-child(5) .h2{padding-top: 0px; padding-bottom: 10px; border-bottom: 1px solid #fff; display: block; margin-bottom: 10px;}


.main_img{display: flex;}
.main_img a{width: 33.33333%;}
.main_img a img{width: 100%;}

.main_map{background: #fff; }
.main_map .width{display: flex; justify-content: space-between; gap:30px 0px; align-items: center;}
.main_map .root_daum_roughmap{width: 55% !important;}
.main_map .text{width: 40%;}
.main_map .text h2{font-size: 3.5rem; font-weight: bold; margin-bottom: 20px;}
.main_map .text  ul li{display: flex; font-size: 2.0rem; font-weight: 500; margin-top: 15px;}
.main_map .text  ul li span{font-size: 2.0rem; font-weight: bold; margin-right: 5px; white-space: nowrap;}
.main_map .text .naver{width: 250px; height: 45px; line-height: 45px; border-radius: 5px; display: block; margin-top: 40px; background: #222; text-align: center; color: #fff; font-size: 1.8rem; font-weight: 500;}
.main_map .text .naver span{font-family: 'SUIT-Regular'; margin-left: 10px;}

#ft{background: #f7f7f7;}
.foot_info_wrap{width: 100%;}
#ft .footer{display: flex; align-items: center; gap: 25px 30px;}
#ft .foot_info{display: flex; gap:3px 1%; justify-content: flex-start;; width: 100%; flex-wrap: wrap;}
#ft .foot_info p{font-size: 1.5rem; color: #666; font-weight: 500;}
#ft .foot_info span{font-size: 1.5rem; color: #666; font-weight: 500;}
#ft .foot_info a{font-size: 1.5rem; color: #666; font-weight: 500;}
#ft .copyright{margin-top: 20px;text-align: left;}
#ft .copyright span{font-size: 1.7rem; color: #666;}

.page1 .width{display: flex; justify-content: space-between; align-items: center; gap: 30px 0px;}
.page1 .width img{width: 45%; }
.page1 .text{width: 50%;}
.page1 .text h2{font-size: 3.2rem; font-weight: bold;}
.page1 .text p{font-size: 1.8rem; font-weight: 400; margin-top: 20px; line-height: 150%; color: #666;}
.page1 .text a{font-size: 3.0rem; font-weight: bold; margin-top: 30px; display: block;}
.page1 .text span {font-weight: bold; color: var(--c-01);}

.page2 .width{display: flex; justify-content: space-between; align-items: center;}
.page2 .root_daum_roughmap{width: 50%;}
.page2 .text_wrap{width: 46%;}
.page2 .text_wrap .info{display: flex; margin-bottom: 40px;}
.page2 .text_wrap .info h2{font-size: 2.5rem; font-weight: bold; margin-bottom: 12px;}
.page2 .text_wrap .info p{font-size: 1.8rem; font-weight: 500; color: #353535;}
.page2 .text_wrap .info i{font-size: 2.5rem; margin-right: 10px;}
.page2 .text_wrap .tel{font-size: 2.6rem; font-weight: bold; display: block; margin-bottom: 20px;}
.page2 .text_wrap .map{width: 250px; height: 45px; line-height: 45px; text-align: center; display: block; background: var(--c-01); color: #fff; font-size: 1.8rem; font-weight: 500; border-radius: 5px;}
.page2 .text_wrap .map span{font-family: 'SUIT-Regular'; margin-left: 10px;}

.page3{max-width: 1000px; margin: 0 auto;}
.page3 img{width: 100%;}

.mt_bg{
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: ;
}
@media all and (max-width: 1400px){}
@media all and (max-width: 1200px){}
@media all and (max-width: 1024px){
  .Hfull{margin-top: 60px; height: 550px;}
  .maintext_box{justify-content: center;}
  .maintext_box img{max-width: 400px; padding-top:0%;}
  .main_map .text h2{font-size: 3.0rem;}
  .main_map .text ul li span{font-size: 1.8rem;}
  .main_map .text ul li{font-size: 1.8rem;}
  .board_title{padding-top: 110px;}
  .page1 .text h2{font-size: 2.8rem;}
  .page1 .text p{font-size: 1.8rem; margin-top: 14px;}
  .page1 .text a{font-size: 2.6rem;}
  .page2 .text_wrap .info h2{font-size: 2.2rem;}
  .page2 .text_wrap .info i{font-size: 2.2rem;}
  .page2 .text_wrap .tel{font-size: 2.2rem;}
}
@media all and (max-width: 900px){

  .swiper_btn_wrap{display: none;}
}
@media all and (max-width: 850px){
  .maintext_box img{max-width: 300px; margin-bottom:15% !important; }
  .maintext_box{padding-top: 0px; display: flex; padding-bottom:10%;}
  .Hfull{margin-top: 60px; height: 650px;}
  .Hfull .slide1{background: url('../img/mslide1.png')no-repeat; background-size: cover; background-position: center;}
  .Hfull .slide2{background: url('../img/mslide2.png')no-repeat; background-size: cover; background-position: center}

  .Hfull .slide3{background: url('../img/mslide3.png')no-repeat; background-size: cover; background-position: center;}
  .Hfull .slide4{background: url('../img/mslide4.png')no-repeat; background-size: cover; background-position: center}
    .Hfull .slide5{background: url('../img/mslide5.png')no-repeat; background-size: cover; background-position: center;}
  .Hfull .slide6{background: url('../img/mslide6.png')no-repeat; background-size: cover; background-position: center}
    .Hfull .slide7{background: url('../img/mslide7.png')no-repeat; background-size: cover; background-position: center;}
  .Hfull .slide8{background: url('../img/mslide8.png')no-repeat; background-size: cover; background-position: center}
    .Hfull .slide9{background: url('../img/mslide9.png')no-repeat; background-size: cover; background-position: center;}






  .main_map .width{flex-direction: column;}
  .main_map .text{width: 100%;}
  .main_map .root_daum_roughmap{width: 100% !important;}
  #ft .foot_info p{font-size: 1.5rem;}
  #ft .foot_info span{font-size: 1.5rem;}
  #ft .foot_info a{font-size: 1.5rem;}
  #ft .copyright span{font-size: 1.5rem;}
  .page2 .width{flex-direction: column;}
  .page2 .root_daum_roughmap{width: 100%; margin-bottom: 30px;}
  .page2 .text_wrap{width: 100%;}
  .page1 .width{flex-direction: column;}
  .page1 .width img{width: 100%;}
  .page1 .text{width: 100%;}
  .main1{padding-bottom: 0px; padding-top: 0px;}
  .main1 .width{width: 100% !important;}
  .main1 .box_wrap{margin-top: 0px; gap:0px; flex-wrap: wrap;}
  .main1 .box_wrap a{width: 50%;}
  .main1 .box_wrap a:nth-child(5){width: 100%; height: 250px; overflow: hidden;}
}
@media all and (max-width: 768px){

  #ft .footer{flex-direction: column;}
  #ft  .foot_logo img{width: 100px;}
  #ft .foot_info{flex-direction: column;}
  #ft .foot_info span{display: none;}
  #ft .copyright{text-align: center;}
  .maintext_box{padding-right:0%;}
  .maintext_box img{width: 80%; padding-top:25%;     padding-left: 0%;}
}
@media all and (max-width: 650px){
  /* .maintext_box img{max-width: 350px} */
  .Hfull{margin-top: 60px; height: 450px;}
}


.about_tt{width:1300px;font-size:20px; margin:0 auto;  border:0px solid red; padding-top:100px; line-height: 33px;}
.about_tt p{font-size:25px; font-weight:600; }




.director_wrap {
  width: 100%;
  padding: 10px;
  background: #f3f3f3;
  box-sizing: border-box;
}

.director_inner {
  width: 100%;

  margin: 0 auto;
  padding: 30px;
  background: #fff;
  box-sizing: border-box;
  color: #776a67;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
}

.director_item {
  margin-bottom: 32px;
}

.director_title {
  margin-bottom: 22px;
}

.director_title span {
  display: block;
  margin-bottom: 8px;
  font-size: 25px;
  font-weight: 600;
  line-height: 1.2;
  color: #766866;
}

.director_title h3 {
  margin: 0;
  font-size: 20px;
  font-weight: 500;
  line-height: 1.4;
  color: #766866;
}

.director_img {
  width: 100%;
  max-width: 550px;
  margin: 0 0 17px;
  overflow: hidden;
}

.director_img img {
  display: block;
  width: 100%;
  height: auto;
}

.director_text,
.education_text {
  font-size: 15px;
  font-weight: 400;
  line-height: 1.85;
  color: #817370;
  word-break: keep-all;
}

.director_text p,
.education_text p {
  margin: 0 0 21px;
}

.director_text ul,
.education_text ul {
  margin: 0;
  padding: 0;
  list-style: none;
}

.director_text li,
.education_text li {
  position: relative;
  padding-left: 10px;
}

.director_text li::before,
.education_text li::before {
  content: "•";
  position: absolute;
  top: 0;
  left: 0;
  color: #817370;
}

.education_item {
  padding-top: 10px;
}

.education_line {
  width: 175px;
  height: 1px;
  margin-bottom: 48px;
  background: #ddd7d5;
}

.education_item h2 {
  margin: 0 0 42px;
  font-size: 20px;
  font-weight: 600;
  line-height: 1.4;
  color: #766866;
}

.education_text ul {
  margin: 22px 0;
}

.education_text .last_text {
  margin-top: 25px;
  margin-bottom: 30px;
}

.couple_img {
  margin-top: 15px;
  margin-bottom: 0;
}

/* 태블릿 */
@media screen and (max-width: 768px) {
  .director_wrap {
    padding: 0;
  }

  .director_inner {
    max-width: 100%;
    padding: 20px;
  }
}

/* 모바일 */
@media screen and (max-width: 480px) {
  .director_inner {
    padding: 20px ;
  }

  .director_item {
    margin-bottom: 38px;
  }

  .director_title {
    margin-bottom: 20px;
  }

  .director_title span {
    font-size: 20px;
  }

  .director_title h3 {
    font-size: 19px;
  }

  .director_img {
    max-width: 100%;
  }

  .director_text,
  .education_text {
    font-size: 13px;
    line-height: 1.8;
  }

  .education_line {
    margin-bottom: 40px;
  }

  .education_item h2 {
    margin-bottom: 35px;
    font-size: 19px;
  }
}





.kindergarten_page {
  width: 100%;
 
   padding: 10px;
  background: #f3f3f3;
  box-sizing: border-box;
}

.kindergarten_page * {
  box-sizing: border-box;
}

.kindergarten_inner {
  width: 100%;

  margin: 0 auto;
  padding: 25px 32px 45px;
  background: #fff;
  font-family: "Pretendard", "Noto Sans KR", sans-serif;
  color: #776966;
}

/* 상단 이미지 */
.kindergarten_visual {
  width: 100%;
  margin-bottom: 18px;
  text-align: left;
}

.kindergarten_visual img {
  display: block;
  width: 90%;
  
  height: auto;
}

/* 각 스텝 영역 */
.kindergarten_section {
  margin-top: 35px;
}

.step_text {
  display: block;
  margin-bottom: 7px;
  color: #ed5348;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.4;
}

.kindergarten_section h2,
.kindergarten_bottom h2 {
  margin: 0 0 6px;
  color: #776966;
  font-size: 23px;
  font-weight: 500;
  line-height: 1.55;
  letter-spacing: -0.5px;
  word-break: keep-all;
}

.kindergarten_section h2 strong,
.kindergarten_bottom h2 strong {
  font-weight: 500;
}

.kindergarten_text {
  color: #81716d;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: -0.3px;
  word-break: keep-all;
}

.kindergarten_text p {
  margin: 0;
}

/* 교육 포인트 */
.education_point {
  margin-top: 4px;
}

.point_item {
  margin-bottom: 5px;
}

.point_item:last-child {
  margin-bottom: 0;
}

.point_item h3 {
  margin: 0;
  color: #70615e;
  font-size: 17px;
  font-weight: 500;
  line-height: 1.8;
}

.point_item h3 span {
  display: inline-block;
  width: 21px;
  font-size: 17px;
}

.point_item p {
  margin: 0;
  color: #81716d;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.85;
  letter-spacing: -0.3px;
  word-break: keep-all;
}

/* 추천 리스트 */
.recommend_list {
  margin: 2px 0 0;
  padding: 0;
  list-style: none;
}

.recommend_list li {
  position: relative;
  padding-left: 10px;
  color: #81716d;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: -0.3px;
  word-break: keep-all;
}

.recommend_list li::before {
  content: "•";
  position: absolute;
  top: 0;
  left: 0;
}

/* 하단 포스터 2개 */
.poster_gallery {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 4px;
  width: 100%;
  margin-top: 40px;
}

.poster_item {
  position: relative;
  display: block;
  width: 100%;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 0;
  background: none;
  cursor: pointer;
}

.poster_item img {
  display: block;
  width: 100%;
  height: auto;
  transition: transform 0.4s ease;
}

.poster_item:hover img {
  transform: scale(1.025);
}

.zoom_icon {
  position: absolute;
  right: 12px;
  bottom: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 34px;
  height: 34px;
  border-radius: 50%;
  background: rgba(0, 0, 0, 0.65);
  color: #fff;
  font-size: 22px;
  font-weight: 300;
  line-height: 1;
  opacity: 0;
  transform: translateY(8px);
  transition:
    opacity 0.3s ease,
    transform 0.3s ease;
}

.poster_item:hover .zoom_icon {
  opacity: 1;
  transform: translateY(0);
}

/* 하단 문구 */
.kindergarten_bottom {
  margin-top: 42px;
}

.kindergarten_bottom h2 {
  margin-bottom: 22px;
}

.kindergarten_bottom p {
  margin: 0;
  color: #81716d;
  font-size: 16px;
  font-weight: 400;
  line-height: 1.9;
  letter-spacing: -0.3px;
  word-break: keep-all;
}

/* 이미지 확대 모달 */
.image_modal {
  position: fixed;
  z-index: 99999;
  inset: 0;
  display: none;
  align-items: center;
  justify-content: center;
  padding: 35px 20px;
}

.image_modal.active {
  display: flex;
}

.image_modal_bg {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, 0.85);
  cursor: pointer;
}

.image_modal_content {
  position: relative;
  z-index: 2;
  max-width: 900px;
  max-height: calc(100vh - 70px);
}

.image_modal_content img {
  display: block;
  max-width: 100%;
  max-height: calc(100vh - 70px);
  margin: 0 auto;
  object-fit: contain;
  box-shadow: 0 10px 45px rgba(0, 0, 0, 0.35);
}

.image_modal_close {
  position: absolute;
  z-index: 3;
  top: -17px;
  right: -17px;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 42px;
  height: 42px;
  padding: 0 0 4px;
  border: 0;
  border-radius: 50%;
  background: #fff;
  color: #222;
  font-size: 32px;
  font-weight: 300;
  line-height: 1;
  cursor: pointer;
}

body.modal_open {
  overflow: hidden;
}

/* 모바일 */
@media screen and (max-width: 600px) {
  .kindergarten_page {
    padding: 0;
  }

  .kindergarten_inner {
    max-width: 100%;
    padding: 20px 22px 38px;
  }

  .kindergarten_visual img {
    width: 100%;
    max-width: 100%;
  }

  .kindergarten_section {
    margin-top: 31px;
  }

  .kindergarten_section h2,
  .kindergarten_bottom h2 {
    font-size: 19px;
  }

  .kindergarten_text,
  .point_item h3,
  .point_item p,
  .recommend_list li,
  .kindergarten_bottom p {
    font-size: 13px;
  }

  .poster_gallery {
    gap: 3px;
    margin-top: 34px;
  }

  .zoom_icon {
    right: 7px;
    bottom: 7px;
    width: 29px;
    height: 29px;
    font-size: 19px;
    opacity: 1;
    transform: none;
  }

  .kindergarten_bottom {
    margin-top: 35px;
  }

  .image_modal_close {
    top: -15px;
    right: -5px;
  }
}










@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+KR:wght@300;400;500;600&display=swap');

.yedam_intro {
   width: 100%;
    margin: 0 auto;
    padding: 30px;
    background: #fff;
    box-sizing: border-box;
}

.yedam_intro * {
    box-sizing: border-box;
}

.intro_inner {
    width: 100%;

    margin: 0 auto;
    padding: 30px;
    bordeR:10px solid  #f3f3f3;
    background: #fff;
 
}

/* 각 영역 구분선 */
.intro_section {
    padding: 54px 0 53px;
    border-top: 1px solid #dddddd;
}

.intro_section:first-child {
    padding-top: 0;
    border-top: 0;
}

/* 상단 인사말 */
.intro_title {
    margin: 0 0 5px;
    font-size: 18px;
    font-weight: 400;
    line-height: 1.7;
    color: #785950;
}

.intro_title strong {
    color: #e35b36;
    font-weight: 500;
}

.intro_subtitle {
    margin: 0 0 26px;
    font-size: 16px;
    font-weight: 400;
    line-height: 1.8;
    color: #785950;
}

.intro_text {
    font-size: 16px;
    font-weight: 300;
    line-height: 1.82;
    color: #785950;
}

.intro_text p {
    margin: 0 0 24px;
}

.intro_text p:last-child {
    margin-bottom: 0;
}

/* 제목 */
.section_title {
    margin: 0 0 34px;
    font-size: 22px;
    font-weight: 400;
    line-height: 1.5;
    color: #785950;
}

/* 교육 철학 */
.philosophy_text {
    font-size: 14px;
    font-weight: 300;
    line-height: 1.8;
}

.philosophy_item {
    margin-bottom: 1px;
}

.philosophy_item:last-child {
    margin-bottom: 0;
}

.philosophy_item strong {
    display: block;
    margin-bottom: 1px;
    color: #087de5;
    font-weight: 500;
}

.philosophy_item p {
    margin: 0;
    color: #785950;
}

/* 특별한 이유 */
.intro_reason {
    padding-bottom: 0;
}

.intro_reason .section_title {
    margin-bottom: 33px;
}

.reason_list {
    margin: 0;
    padding: 0;
    list-style: none;
    font-size: 14px;
    font-weight: 300;
    line-height: 1.82;
    color: #785950;
}

.reason_list li {
    position: relative;
    padding-left: 13px;
}

.reason_list li::before {
    content: "✓";
    position: absolute;
    top: 0;
    left: 0;
    color: #9b6255;
    font-size: 13px;
    font-weight: 400;
}

/* 모바일 */
@media screen and (max-width: 767px) {
    .intro_inner {
        width: 100%;
        padding: 20px 22px 30px;
        border-left-width: 5px;
        border-right-width: 5px;
    }

    .intro_section {
        padding: 42px 0;
    }

    .intro_title,
    .intro_subtitle,
    .intro_text,
    .philosophy_text,
    .reason_list {
        font-size: 13px;
    }

    .section_title {
        margin-bottom: 27px;
        font-size: 17px;
    }

    .intro_text br,
    .philosophy_item br {
        display: none;
    }

    .intro_text p {
        margin-bottom: 21px;
    }
}



@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

.yedam_program {
    --yedam-blue: #123b68;
    --yedam-deep-blue: #082849;
    --yedam-light-blue: #eef4fa;
    --yedam-border: #e4e9ee;
    --yedam-text: #172435;
    --yedam-gray: #647080;

    width: 100%;
    padding: 50px 0;
    overflow: hidden;
    background: #f7f5f1;
    font-family: 'Pretendard', sans-serif;
    color: var(--yedam-text);
    word-break: keep-all;
}

.yedam_program * {
    box-sizing: border-box;
}

.yedam_inner {
    width: min(1500px, calc(100% - 80px));
    margin: 0 auto;
}


/* 상단 타이틀 */

.yedam_title {
    margin-bottom: 70px;
    text-align: center;
}

.yedam_title > span {
    display: inline-block;
    margin-bottom: 20px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.28em;
    color: var(--yedam-blue);
}

.yedam_title h2 {
    margin: 0;
    font-size: clamp(30px, 4vw, 48px);
    line-height: 1.3;
    font-weight: 800;
    letter-spacing: 0em;
    color: var(--yedam-deep-blue);
}

.yedam_title p {
    margin: 25px 0 0;
    font-size: 18px;
    line-height: 1.8;
    color: var(--yedam-gray);
}


/* 카드 목록 */

.yedam_card_list {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 28px;
}

.yedam_card {
    position: relative;
    min-height: 500px;
    padding: 45px 35px 42px;
    overflow: hidden;
    border: 1px solid rgba(18, 59, 104, 0.04);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(21, 35, 49, 0.07);
    transition:
        transform 0.35s ease,
        box-shadow 0.35s ease;
}

.yedam_card:hover {
    transform: translateY(-10px);
    box-shadow: 0 28px 55px rgba(18, 59, 104, 0.13);
}


/* 스텝 숫자 */

.step_number {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 58px;
    height: 58px;
    margin-bottom: 27px;
    border-radius: 50%;
    color: #fff;
    background: var(--yedam-blue);
}

.step_number span {
    font-size: 18px;
    font-weight: 800;
    letter-spacing: -0.02em;
}

.step_name {
    margin: 0 0 10px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: #8b9bae;
}

.yedam_card > h3 {
    position: relative;
    margin: 0 0 25px;
    padding-bottom: 24px;
    font-size: 27px;
    line-height: 1.4;
    font-weight: 500;
    letter-spacing:0em;
    color: #172435;
}

.yedam_card > h3::after {
    content: '';
    position: absolute;
    left: 0;
    bottom: 0;
    width: 38px;
    height: 3px;
    background: var(--yedam-blue);
}

.yedam_card > h3 strong {
    font-weight: 800;
    color: var(--yedam-deep-blue);
}


/* 본문 */

.card_text {
    margin: 0 0 24px;
    font-size: 18px;
    line-height: 1.85;
    color: var(--yedam-gray);
}

.card_list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.card_list li {
    position: relative;
    padding-left: 20px;
    margin-bottom: 14px;
    font-size: 15px;
    line-height: 1.7;
    color: #334255;
}

.card_list li::before {
    content: '';
    position: absolute;
    top: 10px;
    left: 0;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: var(--yedam-blue);
}


/* STEP 02 */

.point_card {
    padding-bottom: 35px;
}

.education_list {
    display: flex;
    flex-direction: column;
    gap: 5px;
}

.education_item {
    display: grid;
    grid-template-columns: 38px minmax(0, 1fr);
    gap: 14px;
    padding: 16px 0;
    border-bottom: 1px solid var(--yedam-border);
}

.education_item:last-child {
    border-bottom: 0;
}

.education_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 38px;
    height: 38px;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 800;
    color: var(--yedam-blue);
    background: var(--yedam-light-blue);
}

.education_text h4 {
    margin: 0 0 7px;
    font-size: 17px;
    font-weight: 800;
    color: var(--yedam-deep-blue);
}

.education_text p {
    margin: 0;
    font-size: 14px;
    line-height: 1.7;
    color: var(--yedam-gray);
}


/* 관장 정보 */

.director_info {
    margin-top: 28px;
    border-top: 1px solid var(--yedam-border);
}

.director_info > div {
    padding: 15px 0;
    border-bottom: 1px solid var(--yedam-border);
}

.director_info span {
    display: block;
    margin-bottom: 5px;
    font-size: 12px;
    font-weight: 800;
    color: var(--yedam-blue);
}

.director_info strong {
    display: block;
    font-size: 14px;
    line-height: 1.5;
    font-weight: 700;
    color: #354458;
}


/* 추천 목록 */

.recommend_list {
    margin-top: 5px;
}

.recommend_list li {
    display: flex;
    align-items: flex-start;
    gap: 10px;
    padding: 16px 0;
    margin: 0;
    border-bottom: 1px solid var(--yedam-border);
    font-size: 15px;
    font-weight: 600;
}

.recommend_list li::before {
    display: none;
}

.check_icon {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 23px;
    height: 23px;
    margin-top: 1px;
    border-radius: 50%;
    font-size: 12px;
    color: #fff;
    background: var(--yedam-blue);
}

.recommend_message {
    margin-top: 28px;
    padding: 23px;
    border-radius: 18px;
    background: var(--yedam-light-blue);
}

.recommend_message span {
    display: block;
    margin-bottom: 8px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.18em;
    color: var(--yedam-blue);
}

.recommend_message p {
    margin: 0;
    font-size: 15px;
    line-height: 1.65;
    font-weight: 700;
    color: var(--yedam-deep-blue);
}


/* 하단 마무리 */

.yedam_bottom {
    position: relative;
    display: block;
    align-items: center;
    gap: 45px;
    margin-top: 35px;
    padding: 60px 70px;
    overflow: hidden;
    border-radius: 30px;
    color: #fff;
    background:
        linear-gradient(
            135deg,
            var(--yedam-blue) 0%,
            var(--yedam-deep-blue) 100%
        );
    box-shadow: 0 25px 55px rgba(8, 40, 73, 0.2);
}

.bottom_number {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 105px;
    height: 105px;
    border: 1px solid rgba(255, 255, 255, 0.25);
    border-radius: 50%;
    font-size: 45px;
    line-height: 1;
    font-weight: 900;
    color: #fff;
    background: rgba(255, 255, 255, 0.08);
}

.bottom_text {
    position: relative;
    z-index: 2;
    text-align: center;
}

.bottom_text > span {
    display: block;
    margin-bottom: 12px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.25em;
    color: rgba(255, 255, 255, 0.55);
}

.bottom_text h3 {
    margin: 0 0 18px;
    font-size: clamp(30px, 3.2vw, 47px);
    line-height: 1.35;
    font-weight: 300;
    letter-spacing: -0.05em;
}

.bottom_text h3 strong {
    font-weight: 800;
}

.bottom_text p {
    
    margin: 0;
    font-size: 17px;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.74);
}

.yedam_bottom::after {
    content: '';
    position: absolute;
    right: -150px;
    bottom: -230px;
    width: 450px;
    height: 450px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}


/* 반응형 */

@media (max-width: 1400px) {
    .yedam_card_list {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .yedam_card {
        min-height: auto;
    }
}

@media (max-width: 900px) {
    .yedam_program {
        padding: 90px 0;
    }

    .yedam_inner {
        width: calc(100% - 50px);
    }

    .yedam_title {
        margin-bottom: 55px;
    }

    .yedam_title p {
        font-size: 16px;
    }

    .yedam_bottom {
        padding: 50px 45px;
    }

    .bottom_number {
        width: 85px;
        height: 85px;
        font-size: 37px;
    }

    .bottom_text p {
        font-size: 16px;
    }
}

@media (max-width: 640px) {
    .yedam_program {
        padding: 70px 0;
    }

    .yedam_inner {
        width: calc(100% - 34px);
    }

    .yedam_title {
        margin-bottom: 40px;
    }

    .yedam_title h2 {
        font-size: 33px;
    }

    .yedam_title p {
        font-size: 15px;
        line-height: 1.75;
    }

    .yedam_title p br {
        display: none;
    }

    .yedam_card_list {
        grid-template-columns: 1fr;
        gap: 20px;
    }

    .yedam_card {
        padding: 35px 25px;
        border-radius: 24px;
    }

    .step_number {
        width: 52px;
        height: 52px;
        margin-bottom: 22px;
    }

    .step_number span {
        font-size: 16px;
    }

    .yedam_card > h3 {
        font-size: 25px;
    }

    .card_text {
        font-size: 15px;
    }

    .card_list li {
        font-size: 14px;
    }

    .yedam_bottom {
        display: block;
        margin-top: 22px;
        padding: 45px 27px;
        border-radius: 24px;
    }

    .bottom_number {
        width: 65px;
        height: 65px;
        margin-bottom: 25px;
        font-size: 28px;
    }

    .bottom_text h3 {
        font-size: 30px;
    }

    .bottom_text p {
        font-size: 15px;
        line-height: 1.75;
    }
}





@import url('https://cdn.jsdelivr.net/gh/orioncactus/pretendard/dist/web/static/pretendard.css');

.yedam_director {
    --director-blue: #123b68;
    --director-deep: #082849;
    --director-light: #edf3f9;
    --director-bg: #f7f5f1;
    --director-line: #e1e6ec;
    --director-text: #172435;
    --director-gray: #687585;

    width: 100%;
    padding: 50px 0 50px;
    overflow: hidden;
    font-family: 'Pretendard', sans-serif;
    color: var(--director-text);
    background: var(--director-bg);
    word-break: keep-all;
}

.yedam_director * {
    box-sizing: border-box;
}

.yedam_director img {
    display: block;
    width: 100%;
    max-width: 100%;
}

.director_width {
    width: min(1280px, calc(100% - 80px));
    margin: 0 auto;
}


/* 상단 제목 */

.director_heading {
    margin-bottom: 70px;
    text-align: center;
}

.director_heading > span {
    display: block;
    margin-bottom: 18px;
    font-size: 13px;
    font-weight: 800;
    letter-spacing: 0.25em;
    color: var(--director-blue);
}

.director_heading h2 {
    margin: 0;
    font-size: clamp(38px, 4vw, 58px);
    line-height: 1.3;
    font-weight: 400;
    letter-spacing: -0.055em;
    color: var(--director-text);
}

.director_heading h2 strong {
    font-weight: 800;
    color: var(--director-deep);
}

.director_heading p {
    margin: 24px 0 0;
    font-size: 17px;
    line-height: 1.8;
    color: var(--director-gray);
}


/* 관장님 프로필 전체 */

.director_profile {
    display: grid;
    grid-template-columns: 450px minmax(0, 1fr);
    align-items: stretch;
    gap: 32px;
    margin-bottom: 80px;
}

.director_profile:last-child {
    margin-bottom: 0;
}


/* 왼쪽 프로필 카드 */

.director_person {
    position: relative;
    padding: 44px 35px 45px;
    overflow: hidden;
    border-radius: 30px;
    color: #fff;
    background:
        linear-gradient(
            145deg,
            var(--director-blue) 0%,
            var(--director-deep) 100%
        );
    box-shadow: 0 22px 50px rgba(8, 40, 73, 0.16);
}

.director_person::after {
    content: '';
    position: absolute;
    right: -120px;
    bottom: -150px;
    width: 450px;
    height: 300px;
    border: 1px solid rgba(255, 255, 255, 0.08);
    border-radius: 50%;
}

.director_photo {
    position: relative;
    z-index: 2;
    height: 310px;
    margin-bottom: 25px;
    overflow: hidden;
    background: #dfe6ee;
}

.director_photo img {
    width: 100% !important;
    height: 100%;
    object-fit: cover;
    transition: transform 0.8s ease;
}

.director_person:hover .director_photo img {
    transform: scale(1.04);
}

.director_label {
    position: relative;
    z-index: 2;
    display: inline-flex;
    align-items: center;
    min-height: 31px;
    margin-bottom: 28px;
    padding: 6px 18px;
    border: 1px solid rgba(255, 255, 255, 0.23);
    border-radius: 30px;
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.12em;
    color: #fff;
    background: rgba(255, 255, 255, 0.1);
}

.director_position {
    position: relative;
    z-index: 2;
    margin: 0 0 7px;
    font-size: 14px;
    font-weight: 600;
    color: rgba(255, 255, 255, 0.65);
}

.director_person h3 {
    position: relative;
    z-index: 2;
    margin: 0 0 20px;
    font-size: 33px;
    font-weight: 800;
    letter-spacing: -0.05em;
}

.director_school {
    position: relative;
    z-index: 2;
    margin: 0 0 22px;
    padding-bottom: 20px;
    border-bottom: 1px solid rgba(255, 255, 255, 0.17);
    font-size: 15px;
    font-weight: 700;
    line-height: 1.6;
    color: #fff;
}

.director_intro {
    position: relative;
    z-index: 2;
    margin: 0 0 11px;
    font-size: 14px;
    line-height: 1.8;
    color: rgba(255, 255, 255, 0.76);
}

.director_intro:last-child {
    margin-bottom: 0;
}


/* 오른쪽 카드 영역 */

.director_details {
    display: flex;
    flex-direction: column;
    gap: 28px;
}

.director_detail_card {
    padding: 43px 45px;
    border: 1px solid rgba(18, 59, 104, 0.03);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 40px rgba(27, 39, 52, 0.055);
}

.director_detail_card:first-child {
    min-height: 210px;
}

.director_detail_card:last-child {
    flex: 1;
}

.detail_title {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 30px;
}

.detail_number {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 55px;
    height: 55px;
    border-radius: 50%;
    font-size: 17px;
    font-weight: 800;
    color: #fff;
    background: var(--director-blue);
}

.detail_title h4 {
    margin: 0 0 5px;
    font-size: 27px;
    font-weight: 800;
    letter-spacing: -0.045em;
    color: var(--director-text);
}

.detail_title p {
    margin: 0;
    font-size: 13px;
    font-weight: 700;
    color: var(--director-blue);
}


/* 학력 */

.education_row {
    padding-top: 25px;
    border-top: 1px solid var(--director-line);
}

.education_row strong {
    display: block;
    margin-bottom: 9px;
    font-size: 18px;
    font-weight: 800;
    line-height: 1.6;
    color: var(--director-deep);
}

.education_row span {
    display: block;
    font-size: 15px;
    line-height: 1.6;
    color: var(--director-gray);
}


/* 경력 및 지도 */

.career_list {
    padding: 0;
    margin: 0;
    list-style: none;
}

.career_list li {
    display:inline-block;
     width: 100%;
    padding: 15px 0;
    border-bottom: 1px solid var(--director-line);
}

.career_list li:first-child {
    padding-top: 3px;
}

.career_list li:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.career_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 47px;
    height: 47px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 800;
    color: var(--director-blue);
    background: var(--director-light);
}

.career_list strong {
    display: block;
    margin-bottom: 7px;
    font-size: 17px;
    font-weight: 800;
    line-height: 1.5;
    color: var(--director-deep);
}

.career_list p {
    margin: 0;
    font-size: 15px;
    line-height: 1.75;
    color: var(--director-gray);
}


/* 등장 애니메이션 */

.director_reveal {
    opacity: 0;
    transform: translateY(45px);
    transition:
        opacity 0.9s ease,
        transform 0.9s ease;
}

.director_reveal.active {
    opacity: 1;
    transform: translateY(0);
}


/* 태블릿 */

@media (max-width: 1100px) {
    .director_width {
        width: calc(100% - 60px);
    }

    .director_profile {
        grid-template-columns: 290px minmax(0, 1fr);
        gap: 24px;
    }

    .director_person {
        padding: 35px 28px;
    }

    .director_photo {
        height: 280px;
    }

    .director_detail_card {
        padding: 35px;
    }
}


/* 모바일 및 작은 태블릿 */

@media (max-width: 850px) {
    .yedam_director {
        padding: 90px 0 110px;
    }

    .director_profile {
        grid-template-columns: 1fr;
        gap: 25px;
        margin-bottom: 65px;
    }

    .director_person {
        display: grid;
        grid-template-columns: 260px minmax(0, 1fr);
        column-gap: 30px;
        align-items: start;
    }

    .director_photo {
        grid-row: 1 / 8;
        height: 100%;
        min-height:350px;
        margin-bottom: 0;
        object-fit: none;
    }

    .director_label {
        margin-top: 10px;
        margin-bottom: 20px;
    }

    .director_intro {
        font-size: 14px;
    }
}


/* 모바일 */

@media (max-width: 640px) {
    .yedam_director {
        padding: 70px 0 85px;
    }

    .director_width {
        width: calc(100% - 34px);
    }

    .director_heading {
        margin-bottom: 45px;
    }

    .director_heading > span {
        font-size: 11px;
        letter-spacing: 0.18em;
    }

    .director_heading h2 {
        font-size: 33px;
    }

    .director_heading p {
        font-size: 15px;
    }

    .director_heading p br {
        display: none;
    }

    .director_profile {
        margin-bottom: 50px;
    }

    .director_person {
        display: block;
        padding: 27px 24px 35px;
        border-radius: 24px;
    }

    .director_photo {
        height: 250px;
        min-height: 0;
        margin-bottom: 23px;
    }

    .director_label {
        margin-top: 0;
        margin-bottom: 22px;
    }

    .director_person h3 {
        font-size: 29px;
    }

    .director_detail_card {
        padding: 29px 24px;
        border-radius: 24px;
    }

    .detail_title {
        gap: 14px;
        margin-bottom: 25px;
    }

    .detail_number {
        width: 48px;
        height: 48px;
        font-size: 15px;
    }

    .detail_title h4 {
        font-size: 23px;
    }

    .education_row strong {
        font-size: 16px;
    }

    .education_row span {
        font-size: 13px;
    }

    .career_list li {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 14px;
        padding: 18px 0;
    }

    .career_icon {
        width: 40px;
        height: 40px;
        font-size: 11px;
    }

    .career_list strong {
        font-size: 15px;
    }

    .career_list p {
        font-size: 14px;
        line-height: 1.7;
    }
}




/* ========================================
   부부가 함께 만드는 교육
======================================== */

.couple_edu_wrap {
    position: relative;
    display: grid;
    grid-template-columns: 43% 57%;
    align-items: stretch;
    width: 92%;
    min-height: 620px;
   
    overflow: hidden;
    border-radius: 32px;
    color: #fff;
    background: #0d3863;
    box-shadow: 0 25px 55px rgba(9, 40, 71, 0.18);
    word-break: keep-all;
    margin: 50px ;
}

.couple_edu_wrap * {
    box-sizing: border-box;
}

.couple_edu_wrap::before {
    content: '';
    position: absolute;
    right: -170px;
    bottom: -260px;
    width: 520px;
    height: 520px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
    pointer-events: none;
}

.couple_edu_wrap::after {
    content: '';
    position: absolute;
    top: -180px;
    right: 60px;
    width: 350px;
    height: 350px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 50%;
    pointer-events: none;
}


/* 왼쪽 이미지 */

.couple_edu_photo {
    position: relative;
    z-index: 2;
    display: flex;
    align-items: flex-start;
    justify-content: center;
    min-width: 0;
    min-height: 620px;
    overflow: hidden;
    background:
        linear-gradient(
            135deg,
            rgba(255, 255, 255, 0.1),
            rgba(255, 255, 255, 0.015)
        );
}

.couple_edu_photo::after {
    content: '';
    position: absolute;
    z-index: 2;
    top: 20px;
    right: 10;
    width: 110px;
    height: 100%; border-radius: 35px;
  
    pointer-events: none;
}

.couple_edu_photo img {
    position: relative;
    z-index: 1;
    display: block;
    width: 90% !important;
    height: 100%;
    margin-top:40px;
    min-height: 620px;
    object-fit: contain;

    object-position: center top;
    filter: drop-shadow(0 20px 25px rgba(0, 0, 0, 0.18));
    transition: transform 0.7s ease;
}

.couple_edu_wrap:hover .couple_edu_photo img {
    transform: scale(1.02);
}


/* 오른쪽 텍스트 */

.couple_edu_text {
    position: relative;
    z-index: 3;
    display: flex;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    padding: 65px 75px 65px 55px;
    text-align: left;
}

.couple_edu_eng {
    margin: 0 0 17px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.28em;
    color: rgba(255, 255, 255, 0.5);
}

.couple_edu_text h3 {
    margin: 0;
    font-size: clamp(36px, 3.5vw, 52px);
    line-height: 1.3;
    font-weight: 300;
    letter-spacing: -0.055em;
    color: #fff;
}

.couple_edu_text h3 strong {
    font-weight: 800;
}

.couple_edu_desc {
    max-width: 720px;
    margin: 0px 0 30px;
    font-size: 17px;
    line-height: 1.85;
    color: rgba(255, 255, 255, 0.72);
}


/* 교육 포인트 */

.couple_edu_points {
    max-width: 720px;
    padding: 0;
    margin: 0;
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, 0.14);
}

.couple_edu_points li {
    display: flex;
    align-items: center;
    gap: 17px;
    padding: 16px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.14);
}

.couple_edu_points li > span {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 35px;
    height: 35px;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 800;
    color: #0d3863;
    background: #fff;
}

.couple_edu_points li > p {
    margin: 0;
    font-size: 16px;
    line-height: 1.6;
    font-weight: 600;
    color: #fff;
}


/* 균형 교육 강조 */

.couple_edu_balance {
    margin: 28px 0 0;
    font-size: 18px;
    line-height: 1.7;
    font-weight: 400;
    color: rgba(255, 255, 255, 0.72);
}

.couple_edu_balance strong {
    font-weight: 800;
    color: #fff;
}


/* 마지막 문구 */

.couple_edu_finish {
    max-width: 720px;
    margin-top: 25px;
    padding: 20px 23px;
    border-left: 3px solid #fff;
    background: rgba(255, 255, 255, 0.07);
}

.couple_edu_finish p {
    margin: 0;
    font-size: 16px;
    line-height: 1.75;
    color: rgba(255, 255, 255, 0.72);
}

.couple_edu_finish strong {
    font-weight: 800;
    color: #fff;
}


/* ========================================
   태블릿
======================================== */

@media (max-width: 1050px) {
    .couple_edu_wrap {
        grid-template-columns: 42% 58%;
        min-height: 580px;
    }

    .couple_edu_photo {
        min-height: 580px;
    }

    .couple_edu_photo img {
        min-height: 580px;
    }

    .couple_edu_text {
        padding: 55px 40px;
    }

    .couple_edu_desc {
        font-size: 16px;
    }

    .couple_edu_points li > p {
        font-size: 15px;
    }
}


/* ========================================
   모바일
======================================== */

@media (max-width: 760px) {

    .couple_edu_wrap {
      width:95%;
      margin:10px;
        grid-template-columns: 1fr;
        min-height: auto;
        margin-top: 45px;
        border-radius: 24px;
    }

    .couple_edu_photo {
        align-items: flex-start;
        min-height: 350px;
        max-height: 350px;
    }

    .couple_edu_photo::after {
        top: auto;
        right: 0;
        bottom: 0;
        width: 100%;
        height: 100px;
        background:
            linear-gradient(
                180deg,
                rgba(13, 56, 99, 0),
                #0d3863
            );
    }

    .couple_edu_photo img {
        width: 100%;
        height: auto;
        min-height: 300px;
        max-height: 300px;
        object-fit: contain;
        object-position: center top;
    }

    .couple_edu_text {
        justify-content: flex-start;
        padding: 15px 27px 45px;
    }

    .couple_edu_text h3 {
        font-size: 34px;
    }

    .couple_edu_desc {
        margin: 20px 0 27px;
        font-size: 15px;
        line-height: 1.75;
    }

    .couple_edu_points li {
        align-items: flex-start;
        gap: 13px;
        padding: 15px 0;
    }

    .couple_edu_points li > span {
        width: 31px;
        height: 31px;
        margin-top: 1px;
        font-size: 10px;
    }

    .couple_edu_points li > p {
        font-size: 14px;
    }

    .couple_edu_balance {
        font-size: 16px;
    }

    .couple_edu_finish {
        padding: 17px 18px;
    }

    .couple_edu_finish p {
        font-size: 14px;
    }

    .couple_edu_finish br {
        display: none;
    }
}



/* ===================================
   유치부 프로그램 이미지 갤러리
=================================== */

.kids_photo_gallery {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 24px;
    width: 100%;
    margin: 32px 0;
}

.kids_photo_item {
    position: relative;
    display: block;
    height: 550px;
    overflow: hidden;
    border-radius: 28px;
    background: #e8edf2;
    box-shadow: 0 18px 38px rgba(12, 49, 92, 0.1);
}

.kids_photo_item::after {
    content: '';
    position: absolute;
    inset: 0;
    z-index: 2;
    background:
        linear-gradient(
            180deg,
            rgba(5, 31, 61, 0) 45%,
            rgba(5, 31, 61, 0.58) 100%
        );
    opacity: 0;
    transition: opacity 0.35s ease;
}

.kids_photo_item img {
    display: block;
    width: 100% !important;
    height: 100%;
    object-fit: cover;
    object-position: center;
    transition: transform 0.65s ease;
}

.kids_photo_hover {
    position: absolute;
    z-index: 3;
    left: 30px;
    bottom: 25px;
    display: flex;
    align-items: center;
    gap: 11px;
    opacity: 0;
    transform: translateY(15px);
    transition:
        opacity 0.35s ease,
        transform 0.35s ease;
}

.kids_zoom_icon {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    border: 1px solid rgba(255, 255, 255, 0.45);
    border-radius: 50%;
    font-size: 28px;
    line-height: 1;
    font-weight: 200;
    color: #fff;
    background: rgba(255, 255, 255, 0.12);
    backdrop-filter: blur(8px);
}

.kids_photo_hover p {
    margin: 0;
    font-size: 14px;
    font-weight: 700;
    color: #fff;
}

.kids_photo_item:hover::after {
    opacity: 1;
}

.kids_photo_item:hover img {
    transform: scale(1.055);
}

.kids_photo_item:hover .kids_photo_hover {
    opacity: 1;
    transform: translateY(0);
}


/* 태블릿 */

@media (max-width: 900px) {
    .kids_photo_gallery {
        gap: 18px;
        margin: 25px 0;
    }

    .kids_photo_item {
        height: 310px;
        border-radius: 23px;
    }
}


/* 모바일 */

@media (max-width: 640px) {
    .kids_photo_gallery {
        grid-template-columns: 1fr;
        gap: 16px;
        margin: 20px 0;
    }

    .kids_photo_item {
        height: 280px;
        border-radius: 20px;
    }

    .kids_photo_item::after {
        opacity: 1;
        background:
            linear-gradient(
                180deg,
                rgba(5, 31, 61, 0) 55%,
                rgba(5, 31, 61, 0.5) 100%
            );
    }

    .kids_photo_hover {
        left: 20px;
        bottom: 18px;
        opacity: 1;
        transform: none;
    }

    .kids_zoom_icon {
        width: 36px;
        height: 36px;
        font-size: 23px;
    }

    .kids_photo_hover p {
        font-size: 13px;
    }
}



/* =========================================
   교육 철학 / 특별한 이유
========================================= */

.yedam_value_section {
    --value-blue: #0d3b68;
    --value-deep: #082849;
    --value-light: #eef4fa;
    --value-line: #e1e8ef;
    --value-text: #172638;
    --value-gray: #667486;

    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: stretch;
    gap: 28px;
    width: 100%;
    margin-top: 35px;
    word-break: keep-all;
}

.yedam_value_section * {
    box-sizing: border-box;
}


/* 공통 카드 */

.yedam_value_card {
    position: relative;
    min-width: 0;
    padding: 52px 48px;
    overflow: hidden;
    border: 1px solid rgba(13, 59, 104, 0.04);
    border-radius: 30px;
    background: #fff;
    box-shadow: 0 18px 42px rgba(17, 39, 62, 0.07);
}


/* 카드 제목 */

.value_title {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 38px;
}

.value_number {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 57px;
    height: 57px;
    border-radius: 50%;
    font-size: 16px;
    font-weight: 800;
    color: #fff;
    background: var(--value-blue);
}

.value_title p {
    margin: 0 0 6px;
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.18em;
    color: var(--value-blue);
}

.value_title h3 {
    margin: 0;
    font-size: 29px;
    line-height: 1.35;
    font-weight: 800;
    letter-spacing: -0.045em;
    color: var(--value-text);
}

.value_title h3 strong {
    font-weight: 800;
    color: var(--value-blue);
}


/* =========================================
   왼쪽 교육 철학
========================================= */

.philosophy_list {
    border-top: 1px solid var(--value-line);
}

.philosophy_item {
    display: grid;
    grid-template-columns: 45px minmax(0, 1fr);
    align-items: flex-start;
    gap: 19px;
    padding: 27px 0;
    border-bottom: 1px solid var(--value-line);
}

.philosophy_item:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.philosophy_num {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 43px;
    height: 43px;
    border-radius: 50%;
    font-size: 11px;
    font-weight: 800;
    color: var(--value-blue);
    background: var(--value-light);
}

.philosophy_text h4 {
    margin: 0 0 10px;
    font-size: 19px;
    line-height: 1.5;
    font-weight: 800;
    letter-spacing: -0.035em;
    color: var(--value-deep);
}

.philosophy_text p {
    margin: 0;
    font-size: 15px;
    line-height: 1.8;
    color: var(--value-gray);
}


/* =========================================
   오른쪽 특별한 이유
========================================= */

.special_card {
    color: #fff;
    border-color: transparent;
    background:
        linear-gradient(
            145deg,
            var(--value-blue) 0%,
            var(--value-deep) 100%
        );
    box-shadow: 0 22px 48px rgba(8, 40, 73, 0.18);
}

.special_card::before {
    content: '';
    position: absolute;
    right: -170px;
    bottom: -230px;
    width: 470px;
    height: 470px;
    border: 1px solid rgba(255, 255, 255, 0.07);
    border-radius: 50%;
}

.special_card::after {
    content: '';
    position: absolute;
    top: -150px;
    right: 50px;
    width: 300px;
    height: 300px;
    border: 1px solid rgba(255, 255, 255, 0.05);
    border-radius: 50%;
}

.special_card .value_title {
    position: relative;
    z-index: 2;
}

.special_card .value_number {
    color: var(--value-deep);
    background: #fff;
}

.special_card .value_title p {
    color: rgba(255, 255, 255, 0.55);
}

.special_card .value_title h3,
.special_card .value_title h3 strong {
    color: #fff;
}


/* 체크 목록 */

.special_list {
    position: relative;
    z-index: 2;
    padding: 0;
    margin: 0;
    list-style: none;
    border-top: 1px solid rgba(255, 255, 255, 0.15);
}

.special_list li {
    display: flex;
    align-items: center;
    gap: 15px;
    min-height: 64px;
    padding: 15px 0;
    border-bottom: 1px solid rgba(255, 255, 255, 0.15);
}

.special_check {
    display: flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    width: 29px;
    height: 29px;
    border-radius: 50%;
    font-size: 12px;
    font-weight: 800;
    color: var(--value-blue);
    background: #fff;
}

.special_list p {
    margin: 0;
    font-size: 15px;
    line-height: 1.6;
    font-weight: 600;
    color: #fff;
}


/* 하단 강조 문구 */

.special_message {
    position: relative;
    z-index: 2;
    margin-top: 30px;
    padding: 23px 25px;
    border: 1px solid rgba(255, 255, 255, 0.15);
    border-radius: 17px;
    background: rgba(255, 255, 255, 0.07);
}

.special_message > span {
    display: block;
    margin-bottom: 7px;
    font-size: 10px;
    font-weight: 800;
    letter-spacing: 0.2em;
    color: rgba(255, 255, 255, 0.48);
}

.special_message p {
    margin: 0;
    font-size: 17px;
    line-height: 1.7;
    color: rgba(255, 255, 255, 0.7);
}

.special_message strong {
    font-weight: 800;
    color: #fff;
}


/* =========================================
   태블릿
========================================= */

@media (max-width: 1000px) {
    .yedam_value_section {
        gap: 22px;
    }

    .yedam_value_card {
        padding: 42px 34px;
    }

    .philosophy_item {
        grid-template-columns: 40px minmax(0, 1fr);
        gap: 15px;
    }

    .philosophy_num {
        width: 39px;
        height: 39px;
    }

    .philosophy_text h4 {
        font-size: 17px;
    }

    .philosophy_text p,
    .special_list p {
        font-size: 14px;
    }
}


/* =========================================
   모바일
========================================= */

@media (max-width: 760px) {
    .yedam_value_section {
        grid-template-columns: 1fr;
        gap: 20px;
        margin-top: 25px;
    }

    .yedam_value_card {
        padding: 35px 25px;
        border-radius: 24px;
    }

    .value_title {
        align-items: flex-start;
        gap: 14px;
        margin-bottom: 29px;
    }

    .value_number {
        width: 48px;
        height: 48px;
        font-size: 14px;
    }

    .value_title h3 {
        font-size: 25px;
    }

    .philosophy_item {
        grid-template-columns: 37px minmax(0, 1fr);
        gap: 13px;
        padding: 22px 0;
    }

    .philosophy_num {
        width: 36px;
        height: 36px;
        font-size: 10px;
    }

    .philosophy_text h4 {
        margin-bottom: 7px;
        font-size: 16px;
    }

    .philosophy_text p {
        font-size: 14px;
        line-height: 1.75;
    }

    .special_list li {
        align-items: flex-start;
        min-height: auto;
        gap: 12px;
        padding: 15px 0;
    }

    .special_check {
        width: 26px;
        height: 26px;
        margin-top: 1px;
        font-size: 11px;
    }

    .special_list p {
        font-size: 14px;
    }

    .special_message {
        padding: 19px 20px;
    }

    .special_message p {
        font-size: 15px;
    }
}