@charset "utf-8";
.main-page { padding-top:100px; }
.sectionInner { width:1400px; max-width:100%; margin:0 auto; }
.sectionInner--wide { width:1400px; max-width:calc(100% - 40px); margin:0 auto; }

.bg-pink { background:#f58bc3; }
.bg-blue { background:#8fc5ff; }
.bg-yellow { background:#f4de36; }
.bg-purple { background:#b9a6f4; }

.c-pink {color: #FB64B6;}
.c-orange {color: #FB6464;}
.c-blue {color: #63AEFF;}
.c-purple {color: #9b8eff;}


.heroSection { position:relative; display:flex; align-items:center; justify-content:center; overflow:hidden; padding:140px 0; background: linear-gradient(180deg, #ffeff8 0%, #F1FBFF 100%); }

.vector__wrap {position: absolute; z-index: 1; left: 0; top: 0; width: 100%; height: 100%;} 
.vector__wrap .vector-star {position: absolute; left: 4%; bottom: 10%;}
.vector__wrap .vector-star img {width:115px;}
.vector__wrap .vector-circle {position: absolute; left: 35%; top: 15%;}
.vector__wrap .vector-circle img {width:110px;}
.vector__wrap .vector-etc {position: absolute; right: -1%; bottom: 10%;}
.vector__wrap .vector-etc img {width:130px;}

.heroWiggle { animation: wiggle 3.5s ease-in-out infinite; }

@keyframes wiggle {
0% { transform: rotate(0deg); }
25% { transform: rotate(15deg); }
50% { transform: rotate(-15deg); }
75% { transform: rotate(13deg); }
100% { transform: rotate(0deg); }
}
.heroSection__inner { position:relative; display:flex; align-items:center; justify-content:space-between; z-index:10; }
.heroSection__content { flex:1; max-width:450px; }
.heroSection__badge { display:inline-block; margin-bottom:24px; padding:8px 16px; background:#FFF085; border:2px solid #000; border-radius:12px; box-shadow:2px 2px 0 #000; font-size:var(--fs16); font-weight:700; }
.heroSection__title { font-family: 'OneStoreMobileGothicTitleFont'; margin-bottom:24px; font-size:var(--fs60); font-weight: normal; line-height:1.2; color:#0f172a; word-break:keep-all; }
.heroSection__text { margin-bottom:40px; font-size:var(--fs18); line-height:1.6; color:#64748b; word-break:keep-all; }
.heroSection__btnGroup { display:flex; gap:16px; }
.heroSection__btn { display:inline-flex; align-items:center; gap:8px; padding:14px 28px; border:2px solid #000; border-radius:16px; box-shadow:3px 3px 0 #000; font-size:var(--fs16); font-weight:700; color:#000; text-decoration:none; transition:transform .18s ease, box-shadow .18s ease; }
.heroSection__btn:hover { transform:translate(2px, 2px); box-shadow:1px 1px 0 #000; }
.heroSection__btn--primary { background:#ADDAFF; }
.heroSection__btn--secondary { background:#fff; }
.heroSection__visual { flex:1; position:relative; display:flex; justify-content:flex-end; }
.heroSection__frame { max-width:780px; padding:12px; background:#fff; border:3px solid #000; border-radius:40px; box-shadow:8px 8px 0 #000; overflow:hidden; }
.heroSection__image { display:block; width:100%; height:auto; border-radius:30px; }

.noticeSection { padding:140px 0 150px 0; }
.noticeSection__layout { display:grid; grid-template-columns:1.02fr 1fr; gap:30px; align-items:stretch; }
.noticeSection__board { display:flex; flex-direction:column; min-height:600px; padding:30px 36px 34px; background:#fff; border:2px solid #1c2433; border-radius:38px; box-shadow:8px 8px 0 #111a2b; }
.noticeSection__tabs { display:flex; gap:12px; margin:0 0 28px; }
.noticeSection__tab { width:auto; display:inline-flex; align-items:center; justify-content:center; height:55px; padding:0 24px; padding-left: 50px; background:#fff url(../../images/main/i-bell.svg) no-repeat 16px; background-size: 24px; border:2px solid #1c2433; border-radius:20px; box-shadow:3px 3px 0 #111a2b; font-size:var(--fs20); font-weight:600; color:#1c2433; line-height:1; }
.noticeSection__tab:hover { transform:translate(1px, 1px); box-shadow:1px 1px 0 #111a2b; }
.second__tab {background:#fff url(../../images/main/i-note.svg) no-repeat 16px; background-size: 24px;}
.noticeSection__tab.is-active { background-color:#FB64B6; color:#fff; }
.noticeSection__list { display:flex; flex-direction:column; flex:1; justify-content:center; }
.noticeSection__item { border-bottom:1px dashed #e4e4e4; }
.noticeSection__item:last-child { border-bottom:0; }
.noticeSection__link { display:grid; grid-template-columns:minmax(0, 1fr) 110px; gap:20px; align-items:center; min-height:75px; padding:0 2px; }
.noticeSection__link span {transition:.3s;}
.noticeSection__link:hover span {color:var(--c_base1);}
.noticeSection__subject { display:block; overflow:hidden; white-space:nowrap; text-overflow:ellipsis; font-size:var(--fs18); font-weight:600; line-height:1.4; color:#1c2433; }
.noticeSection__date { display:block; text-align:right; font-size:var(--fs14); font-weight:500; color:#9a9a9a; }
.noticeSection__more { display:flex; align-items:center; justify-content:center; width:100%; height:62px; margin:28px 0 0; background:#FB64B6; border:2px solid #1c2433; border-radius:18px; box-shadow:3px 3px 0 #111a2b; font-size:var(--fs18); font-weight:700; color:#fff !important; line-height:1; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.noticeSection__more:hover { transform:translate(2px, 2px); box-shadow:1px 1px 0 #111a2b; }
.noticeSection__values { display:grid; grid-template-columns:repeat(2, 1fr); gap:26px; }
.noticeSection__valueCard { min-height:287px; padding:40px; background:#fff; border:2px solid #1c2433; border-radius:34px; box-shadow:8px 8px 0 #111a2b; }


.noticeSection__valueCard:hover { transform:translate(3px, 3px); box-shadow:2px 2px 0 #111a2b; }

.noticeSection__valueIcon { display:flex; align-items:center; justify-content:center; width:80px; height:80px; }
.noticeSection__valueIcon img { display:block; width:100%; height:100%; object-fit:cover; }
.noticeSection__valueTitle { font-family: 'OneStoreMobileGothicBody'; font-size:var(--fs24); font-weight:800; line-height:1.3; letter-spacing:-0.03em; color:#1c2433; padding-top:35px; }
.noticeSection__valueText { margin:15px 0 0; font-size:var(--fs18); font-weight:300; line-height:1.4; color:#64748b; }



/*** 다양한 교육 프로그램 ***/
.programSection { position: relative; padding:140px 0 150px 0; background:#fff3fa; border-radius: 50px; }
.program__vector__wrap .vector-etc {position: absolute; left: 3%; top: -5%;}
.programSection__head { margin:0 0 50px; text-align:center; }
.programSection__title { font-family: 'OneStoreMobileGothicTitleFont'; font-size:var(--fs46); font-weight:normal; line-height:1.2; letter-spacing:-0.03em; color:#182033; }
.programSection__text { margin-top:8px; font-size:var(--fs18); font-weight:500; line-height:1.6; color:#6f7785; }
.programSection__list { display:flex; flex-direction:column; gap:18px; }
.programSection__row { display:grid; align-items:stretch; }
.programSection__row--imageLeft { grid-template-columns:60fr 40fr; }
.programSection__row--textLeft { grid-template-columns:40fr 60fr; }
.programSection__card { background:#fff; border:2px solid #1b2433; border-radius:38px; box-shadow:8px 8px 0 #111a2b; overflow:hidden; }
.programSection__card--image { min-height:295px; padding:8px; }
.programSection__card--text { display:flex; align-items:center; min-height:295px; padding:60px; }
.programSection__card--pink { background:#FCACD8; }
.programSection__card--yellow { background:#FFE335; }
.programSection__thumb { display:block; width:100%; height:100%; border-radius:30px; overflow:hidden; }
.programSection__thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.programSection__content { width:100%; max-width:360px; }
.programSection__cardTitle { font-family: 'OneStoreMobileGothicBody'; font-size:var(--fs26); font-weight:800; line-height:1.3; letter-spacing:-0.03em; color:#182033; }
.programSection__cardText { margin:16px 0 0; font-size:var(--fs18); font-weight:300; line-height:1.4; color:#64748b; word-break:keep-all; }
.programSection__btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; min-width:154px; height:58px; margin:40px 0 0; padding:0 28px; border:2px solid #1b2433; border-radius:18px; box-shadow:3px 3px 0 #111a2b; font-size:var(--fs20); font-weight:700; line-height:1; color:#111; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.programSection__btn:hover { transform:translate(2px, 2px); box-shadow:1px 1px 0 #111a2b; }
.programSection__btn span { display:inline-block; }
.programSection__btn--pink { background:#FCACD8; }
.programSection__btn--yellow { background:#FFE335; }
.is-overlap { margin-left:-2px; }


/*** 우리 아이들의 행복한 순간 ***/
.gallerySection { position: relative; padding:140px 0 150px 0; background:#fff; }
.gallerySection .gallery__vector__wrap .vector-star {position: absolute; right: 4%; top: -8%;}
.gallerySection__head { margin:0 0 46px; text-align:center; }
.gallerySection__title { font-size:var(--fs55); line-height:1.2; font-weight:800; color:#182033; }
.gallerySection__title span { color:#6aa8f2; }
.gallerySection__text { margin:14px 0 0; font-size:var(--fs18); line-height:1.5; color:#666; }
.gallerySection__sliderWrap { position:relative; }
.gallerySection__slider { padding:18px 0 24px; }
.gallerySection__slider .swiper-wrapper { align-items:stretch; }
.gallerySection__slider .swiper-slide { height:auto; }
.gallerySection__slide { height:100%; padding:0 8px 8px 0; }
.gallerySection__card { display:block; height:100%; background:#fff; border:2px solid #182033; border-radius:30px; box-shadow:8px 8px 0 #182033; overflow:hidden; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.gallerySection__card:hover { transform:translate(3px, 3px); box-shadow:5px 5px 0 #182033; }
.gallerySection__thumb { position:relative; overflow:hidden; aspect-ratio:1.13 / 0.75; background:#dfe8f6; }
.gallerySection__thumb img { display:block; width:100%; height:100%; object-fit:cover; }
.gallerySection__badge { position:absolute; left:16px; top:16px; z-index:2; display:inline-flex; align-items:center; justify-content:center; min-width:74px; height:38px; padding:0 14px; background:#f7f4ed; border:2px solid #182033; border-radius:14px; font-size:var(--fs15); line-height:1; font-weight:600; color:#182033; }
.gallerySection__body { padding:22px 32px; text-align:left; }
.gallerySection__cardTitle { font-size:var(--fs20); line-height:1.45; font-weight:600; color:#182033; word-break:keep-all; }
.gallerySection__date { display:block; margin-top:4px; font-size:var(--fs15); line-height:1; color:#9a9a9a; }
.gallerySection__nav { position:absolute; top:50%; z-index:20; width:44px; height:44px; margin-top:-12px; background:#8EC6FF; border:2px solid #182033; border-radius:10px; cursor:pointer; transition:transform .2s ease, background .2s ease; }
.gallerySection__nav:hover { background:#cde6ff; }
.gallerySection__nav--prev { left:-64px; transform:translateY(-50%); }
.gallerySection__nav--next { right:-64px; transform:translateY(-50%); }
.gallerySection__nav--prev::before { content:""; position:absolute; left:50%; top:50%; width:10px; height:10px; border-top:2px solid #182033; border-right:2px solid #182033; transform:translate(-35%,-50%) rotate(-135deg); }
.gallerySection__nav--next::before { content:""; position:absolute; left:50%; top:50%; width:10px; height:10px; border-top:2px solid #182033; border-right:2px solid #182033; transform:translate(-65%,-50%) rotate(45deg); }



/*** 하늘병아리 위치 안내 ***/
.contactSection { position: relative; background:#FAF5FE; padding:140px 0 150px 0; margin-bottom:-50px; border-radius:50px; z-index:10;}
.contactSection .contact__vector__wrap .vector-circle {position: absolute; left: 5%; top: -6%;}
.contactSection__head { margin:0 0 56px; text-align:center; }
.contactSection__title { font-size:var(--fs55); font-weight:800; line-height:1.2; letter-spacing:-0.03em; color:#182033; }
.contactSection__text { margin:16px 0 0; font-size:var(--fs18); font-weight:500; line-height:1.6; color:#6f7785; }
.contactSection__layout { display:grid; grid-template-columns:35fr 65fr; align-items:stretch; }
.contactSection__info { display:flex; flex-direction:column; min-height:506px; padding:40px 38px 36px; background:#fff; border:2px solid #1b2433; border-radius:34px; box-shadow:8px 8px 0 #111a2b; }
.contactSection__map { padding:18px; margin-left:-2px; background:#fff; border:2px solid #1b2433; border-radius:34px; box-shadow:8px 8px 0 #111a2b; }
.contactSection__infoTitle { font-size:var(--fs30); font-weight:800; line-height:1.15; letter-spacing:-0.03em; color:#182033; }
body .contactSection__list { padding-top:30px; }
.contactSection__item { display:flex; align-items:flex-start; gap:16px; }
.contactSection__item + .contactSection__item { margin-top:30px; }
.contactSection__icon { display:flex; align-items:center; justify-content:center; flex-shrink:0; width:54px; height:54px; border:2px solid #1b2433; border-radius:16px; overflow:hidden; }
.contactSection__icon img { display:block; width:24px; height:auto; }
.contactSection__itemBody { flex:1; padding-top:2px; }
.contactSection__itemTitle { display:block; font-size:var(--fs20); font-weight:800; line-height:1.3; color:#182033; }
.contactSection__itemText { margin:8px 0 0; font-size:var(--fs18); font-weight:500; line-height:1.4; color:##64748b; }
.contactSection__itemSubText { margin:4px 0 0; font-size:var(--fs17); font-weight:300; line-height:1.4; color:#7b8493; }
.contactSection__btn { display:inline-flex; align-items:center; justify-content:center; gap:8px; width:100%; height:62px; margin:34px 0 0; background:#ccbaff; border:2px solid #1b2433; border-radius:20px; box-shadow:3px 3px 0 #111a2b; font-size:var(--fs20); font-weight:700; line-height:1; color:#111; text-decoration:none; transition:transform .2s ease, box-shadow .2s ease; }
.contactSection__btn:hover { transform:translate(2px, 2px); box-shadow:1px 1px 0 #111a2b; }
.contactSection__mapArea { width:100%; height:100%; border-radius:28px; overflow:hidden; border:1px solid #ddd; }

/* 카카오지도 */
.location .mapWrap .root_daum_roughmap { width:100%; overflow:hidden; }
.location .mapWrap .root_daum_roughmap .wrap_controllers { display:none; }
.location .root_daum_roughmap .cont { display:none; }
.location .root_daum_roughmap .wrap_controllers { display:none; }
.location .root_daum_roughmap { width:100%; }
.root_daum_roughmap .map_border { opacity:0; }

@media (max-width:1249px) {
    .main-page { padding-top:80px; }
.sectionInner { width:100%; padding:0 40px; }
.heroSection__inner { width:100%; padding:0 24px; }
.noticeSection { padding:80px 0; }
.noticeSection__layout { gap:24px; }
.noticeSection__board { min-height:560px; padding:28px 28px 30px; }
.noticeSection__valueCard { min-height:260px; padding:28px; }
.programSection { padding:60px 0 100px 0; border-radius:0; }
.programSection__head { margin:0 0 42px; }
.programSection__card--image { min-height:270px; }
.programSection__card--text { min-height:270px; padding:34px 36px; }
.gallerySection__sliderWrap { padding:0 48px; }
.contactSection { padding:80px 0; }
.contactSection__head { margin:0 0 42px; }
.contactSection__info { padding:34px 28px 30px; }
}

@media (max-width:1024px) {

.heroSection__inner { flex-direction:column; text-align:center; padding-top:60px; }
.heroSection__content { max-width:100%; margin-bottom:40px; }
.heroSection__btnGroup { justify-content:center; }
.heroSection__visual { justify-content:center; }
}

@media (max-width:991px) {
.main-page { padding-top:0px; }   
.noticeSection__layout { grid-template-columns:1fr; }
.noticeSection__board { min-height:auto; }
.noticeSection__values { grid-template-columns:repeat(2, 1fr); gap:20px; }
.programSection__card--image { min-height:320px; }
.programSection__card--text { min-height:auto; padding:34px 30px; }
.programSection__content { max-width:none; }
.gallerySection { padding:90px 0; }
.gallerySection__head { margin:0 0 34px; }
.gallerySection__body { padding:20px 22px 22px; }
.contactSection { border-radius:0; padding:70px 0; }
.contactSection__layout { grid-template-columns:1fr; }
.contactSection__info { min-height:auto; border-radius:32px 32px 0 0; box-shadow:0 6px 0 #111a2b; }
.contactSection__map { min-height:380px; margin-top:-2px; margin-left:0; border-radius:0 0 32px 32px; box-shadow:none; }
.contactSection__mapArea { min-height:340px; }

.program__vector__wrap .vector-etc {top:-4%;}
.program__vector__wrap .vector-etc img {width:100px;}

.gallerySection .gallery__vector__wrap .vector-star img {width:100px;}

.contactSection .contact__vector__wrap .vector-circle {top:-4%;}
.contactSection .contact__vector__wrap .vector-circle img {width:100px;}
}

@media (max-width:768px) {
.sectionInner { padding:0 30px; }
.heroSection { padding:100px 0 60px; }
.heroSection__btnGroup { flex-direction:column; }
.noticeSection { padding:0 0 60px; }
.noticeSection__layout { gap:18px; }
.noticeSection__board { padding:20px 18px 20px; border-radius:24px; box-shadow:5px 5px 0 #111a2b; }
.noticeSection__tabs { gap:10px; margin:0 0 20px; }
.noticeSection__tab { min-width:auto; flex:1; height:56px; padding:0 14px; border-radius:16px; box-shadow:3px 3px 0 #111a2b; }
.noticeSection__link { grid-template-columns:1fr; gap:6px; min-height:auto; padding:16px 0; }
.noticeSection__subject { white-space:normal; }
.noticeSection__date { text-align:left; }
.noticeSection__more { height:56px; margin:18px 0 0; border-radius:16px; box-shadow:3px 3px 0 #111a2b; }
.noticeSection__values { grid-template-columns:1fr; gap:18px; }
.noticeSection__valueCard { min-height:auto; padding:22px 20px; border-radius:24px; box-shadow:5px 5px 0 #111a2b; }
.noticeSection__valueIcon { width:62px; height:62px; }
.programSection { padding:60px 0; }
.programSection__head { margin:0 0 30px; }
.programSection__list, .programSection__row { gap:16px; }
.programSection__card { border-radius:26px; box-shadow:5px 5px 0 #111a2b; }
.programSection__card--image { min-height:220px; padding:7px; }
.programSection__thumb { border-radius:20px; }
.programSection__card--text { padding:26px 22px; }
.programSection__btn { min-width:140px; height:52px; margin:28px 0 0; padding:0 22px; border-radius:14px; }
.is-overlap { margin-left:0; }
.gallerySection { padding:70px 0; }
.sectionInner--wide { max-width:calc(100% - 24px); }
.gallerySection__sliderWrap { padding:0; }
.gallerySection__slider { padding:14px 0 18px; }
.gallerySection__slide { padding:0 0 12px; }
.gallerySection__body { padding:18px 18px 20px; }
.gallerySection__date { margin-top:8px; }
.gallerySection__nav { display:none; }
.contactSection { padding:60px 0; margin:0; border-radius:0;}
.contactSection__head { margin:0 0 30px; }
.contactSection__info { padding:26px 20px 22px; border-radius:24px 24px 0 0; box-shadow:0 5px 0 #111a2b; }
.contactSection__map { padding:10px; border-radius:0 0 24px 24px; box-shadow:none; }
.contactSection__mapArea { min-height:260px; border-radius:18px; }
.contactSection__item + .contactSection__item { margin-top:22px; }
.contactSection__icon { width:42px; height:42px; border-radius:14px; }
.contactSection__btn { height:56px; margin:28px 0 0; border-radius:16px; box-shadow:3px 3px 0 #111a2b; }
}