* { font-family: 'NANUMGOTHIC', sans-serif; font-weight: 400; }

/* header */
#header .header-box { background-color: #fff; }
#header .header-box .h-logo a { background-image: url(/img/common/h-logo-a.png) !important; background-size: cover; background-repeat: no-repeat; background-position: center; }
#header .header-box .dep1 .dep1-a { color: var(--black-color-2); }
#header .header-box .lang-btn .swich-btn { color: var(--black-color-2); }
#header .header-box .lang-btn .swich-btn span { color: var(--black-color-2); }

/* subHeader */
#subHeader { margin-top: 90px; }
#subHeader .subHeader-wrap { position: relative; height: 230px; overflow: hidden; }
#subHeader .subHeader-wrap::after { content: ''; position: absolute; top: 0; left: 0; right: 0; bottom: 0; width: 100%; height: 100%; background-repeat: no-repeat; background-size: cover; background-position: bottom; z-index: -1; transform: scale(1.05); animation: fadeOut 5s forwards; }
#subHeader .subHeader-wrap .title-wrap { overflow: hidden; position: relative; width: 100%; text-align: right; }
#subHeader .subHeader-wrap .title-wrap h2 { font-size: 38px; font-weight: 800; color: #fff; padding-top: 70px; font-family: 'NANUMSQUARE', sans-serif; }
#subHeader .subNab-box { background-color: #fff; border-top: 1px solid #ddd; border-bottom: 1px solid #ddd; box-sizing: border-box; }
#subHeader .subNab-box>ul>li:not(:last-child) { margin-right: 10px; }
#subHeader .subNab-box>ul>li > * { font-size: 16px; line-height: 50px; color: #999; }
#subHeader .subNab-box>ul>li:last-child span { color: #008dd0; }
/*#subHeader .subNab-box>ul>li a { display: inline-block; font-size: 0; }*/

#subHeader .subNab-box .parent>li { position: relative; cursor:pointer; }
#subHeader .subNab-box .parent>li.home-data { margin-right: 20px; }
#subHeader .subNab-box .parent>li.parent-data,
#subHeader .subNab-box .parent>li.child-data { width: 200px; }
#subHeader .subNab-box .parent>li.parent-data::after,
#subHeader .subNab-box .parent>li.child-data::after { content: ''; background: url('/img/icon/sub_header_arrow.png') no-repeat center; width: 11px; height: 6px; position: absolute; top: 50%; right: 27px; transform: translateY(-50%); transition: all 0.2s; }
#subHeader .subNab-box .parent>li>a { display: block; width: 100%; height: 100%; }
#subHeader .subNab-box .parent>li>a span { pointer-events: none; }
#subHeader .subNab-box .parent .data-box { display: none; position: absolute; top: 100%; left: 0; width: 100%; background-color: #fff; padding: 15px 0; box-shadow: 0 0 20px rgba(0, 0, 0, 0.1); z-index: 5; }
#subHeader .subNab-box .parent .data-box li a { display: block; padding: 1em 1.3em; font-size: 16px; line-height: 1; }
#subHeader .subNab-box .parent .data-box li:hover a { font-weight: 700; color: #008dd0; }

/* banner */
#subHeader .subHeader-wrap::after  { background-image: url(/img/sub/common/sub-banner1.png); }

@keyframes fadeOut {
    0% { transform: scale(1.05); }
    100% { transform: scale(1); }
}

.sub-tab-menu { margin-bottom: 100px; }
.sub-tab-menu ul { display: grid; gap: 15px; }
.sub-tab-menu ul.intro {grid-template-columns: repeat(5, 1fr); }
.sub-tab-menu ul.edu {grid-template-columns: repeat(4, 1fr); }
.sub-tab-menu ul.story {grid-template-columns: repeat(3, 1fr); }
.sub-tab-menu ul.parents {grid-template-columns: repeat(6, 1fr); }
.sub-tab-menu ul li { border: 1px solid #008dd0; background: #fff; color: #008dd0; font-weight: 600; transition: all .4s; }
.sub-tab-menu ul li a { display: block; width: 100%; height: 50px;  font: inherit; color: inherit; line-height: 50px; text-align: center; }
.sub-tab-menu ul li.on,
.sub-tab-menu ul li:hover { background: #008dd0; color: #fff; }


.sub-section { padding: 60px 0 120px; position: relative; }
.sub-section .sub-titBox { overflow: hidden; margin-bottom: 70px; }
.sub-section .sub-titBox h3 { font-size: 30px; font-weight: 700; }
.sub-section .sub-titBox .g-txt { font-size: 16px; color: #777; }
.sub-section .s-tit { display: inline-block; font-size: 22px; font-weight: 700; margin-bottom: 30px; }


/* 인사말 */
#gre-section { padding-bottom: 290px; }
#gre-section .cont-box p { line-height: 2.1; font-size: 20px; word-break: keep-all; }
#gre-section .cont-box p:not(:last-child) { margin-bottom: 90px; }
#gre-section .cont-box p em { font-size: 26px; font-weight: 700; }
#gre-section .bottom-img { position: absolute; bottom: 0; max-width: 1920px; width: 100%; left: 50%; transform: translateX(-50%); }


/* HISTORY */
#his-section { background-image: url(/img/sub/intro/history-bg.png); background-repeat: no-repeat; background-size: 519px 1436px; background-position: 95% 100%; }
#his-section .his-contents > ul > li:not(:last-child) { margin-bottom: 80px; }
#his-section .his-contents ul li > div { position: relative; padding-top: 15px; border-top: 1px solid transparent; }
#his-section .his-contents ul li .left-box { width: 150px; margin-right: 30px; border-top-color: #008dd0; }
#his-section .his-contents ul li .left-box h5 { font-size: 30px; color: #008dd0; font-weight: 800; }
#his-section .his-contents ul li .right-box { width: calc(66% - 180px); border-top-color: #dddddd; }
#his-section .his-contents ul li .right-box ul li { font-size: 16px; word-break: keep-all; }
#his-section .his-contents ul li .right-box ul li:not(:last-child) { margin-bottom: 20px; }


/* 교육이념 */
#ideo-section .sub-titBox { margin-bottom: 70px; }
#ideo-section .cont-box .cont:not(:last-child) { margin-bottom: 70px; }
#ideo-section .cont-box .cont p { font-size: 16px; line-height: 1.5; word-break: keep-all; }
#ideo-section .cont-box .cont p:not(:last-child) { margin-bottom: 15px; }
#ideo-section .cont-box .cont p em { font-weight: 700; }
#ideo-section .cont-box .cont ul li { margin-right: 20px; }


/* 교육환경 */
#eduE-section .sub-titBox { margin-bottom: 70px; }
#eduE-section .s-tit { margin-bottom: 20px; }
#eduE-section .cont { padding-top: 90px; }
#eduE-section .cont:first-child { padding-top: 0; }
#eduE-section .cont:not(:last-child) { border-bottom: 1px solid #e8e8e8; padding-bottom: 90px; }
#eduE-section .cont ul li { width: 32%; margin-right: 2%; }
#eduE-section .cont ul li:last-child { margin-right: 0; }
#eduE-section .cont ul li .img-box { border-radius: 20px; overflow: hidden; margin-bottom: 15px; cursor: pointer; }
#eduE-section .cont ul li .img-box.mb-none { margin-bottom: 0; }
#eduE-section .cont ul li .img-box img { width: 100%; max-height: 15.7292vw; transition: all 0.2s; }
#eduE-section .cont ul li .img-box:hover img { transform: scale(1.1); }

#lightbox_overlay { opacity: 0; pointer-events: none; position: fixed; width: 100%; height: 100%; top: 0; left: 0; background-color: rgba(0, 0, 0, .6); transition: opacity .3s ease-in; z-index: 999; }
#lightbox_overlay.visible { opacity: 1; pointer-events: auto; }
#lightbox_overlay #lightbox_image { max-width: 50%; max-height: 90%; position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: auto; text-indent: -9999px; }


/* 입학안내 */
#admis-section { padding-bottom: 15px; }
#admis-section .sub-titBox { margin-bottom: 0; }
#admis-section .cont-box { text-align: center; margin-top: -30px; }


/* 찾아오시는 길 */
#location-section .map-box { overflow: hidden; border-radius: 20px; margin-bottom: 30px; }
#location-section .map-box iframe { width: 100%; height: 400px; }
#location-section .info-box { position: relative; }
#location-section .info-box .caution-box { position: absolute; top: 0; right: 0; }
#location-section .info-box .caution-box span { font-size: 16px; color: #aaa; }
#location-section .info-box ul li { align-items: center; }
#location-section .info-box ul li:not(:last-child) { margin-bottom: 30px; }
#location-section .info-box ul li span { display: inline-block; font-size: 20px; font-weight: 700; margin-right: 10px; }
#location-section .info-box ul li span i { font-weight: bold; margin-right: 20px; }
#location-section .info-box ul li p { font-size: 18px; }


/* 중점교육 */
#focus-section .cont-box { padding: 0 6.4583vw; }
#focus-section .cont:not(:last-child) { margin-bottom: 40px; }
#focus-section .cont .img-box { max-width: 440px; width: 100%; }
#focus-section .cont .img-box img { max-height: 425px; filter: drop-shadow(10px 10px 12px rgba(0, 0, 0, .05)); }
#focus-section .cont .text-box { max-width: 630px; width: 100%; }
#focus-section .cont .text-box p { font-size: 16px; line-height: 1.6; word-break: keep-all; }
#focus-section .cont.l-img .right-box { padding-left: 40px; }
#focus-section .cont.r-img .left-box { text-align: right; padding-right: 40px; }


/* 연령별 교육프로그램 */
#age-section .sub-titBox { margin-bottom: 80px; }
#age-section .cont-box { text-align: center; }


/* 하루일과 */
#aEvent-section .dEvent-wrap .top-cont .blue { margin-bottom: 30px; }
#aEvent-section .dEvent-wrap .top-cont .blue p { font-size: 22px; color: #008dd0; font-weight: 700; }
#aEvent-section .dEvent-wrap .top-cont ul li:nth-of-type(odd) { background-color: #fff7bf; }
#aEvent-section .dEvent-wrap .top-cont { margin-bottom: 120px; }
#aEvent-section .dEvent-wrap .grn .top-cont { margin-bottom: 0; }
#aEvent-section .dEvent-wrap .grn .top-cont ul li:nth-of-type(odd) { background-color: #e7f9c7; }


/* 연간교육행사 */
#aEvent-section .top-cont { margin-bottom: 80px; }
#aEvent-section .top-cont ul { border: 1px solid #e8e8e8; margin-bottom: 20px; }
#aEvent-section .top-cont ul li { padding: 30px 0; }
#aEvent-section .top-cont ul li:nth-of-type(odd) { background-color: #e4f4fc; }
#aEvent-section .top-cont ul li .left-box { width: 233px; text-align: center; }
#aEvent-section .top-cont ul li .left-box span { display: inline-block; font-size: 16px; word-break: keep-all; line-height: 1.2; }
#aEvent-section .top-cont ul li .left-box span em { font-size: 14px; line-height: 1.2; }
#aEvent-section .top-cont ul li .right-box { width: calc(100% - 233px); }
#aEvent-section .top-cont ul li .right-box p { font-size: 16px; line-height: 1.2; word-break: keep-all; }
#aEvent-section .top-cont .caution-box p { font-size: 15px; }

#aEvent-section .bottom-cont ul { flex-wrap: wrap; }
#aEvent-section .bottom-cont ul li { width: 24%; margin-right: 1.33333333%; }
#aEvent-section .bottom-cont ul li:last-child { margin-right: 0; }
#aEvent-section .bottom-cont ul li img { filter: drop-shadow(10px 10px 12px rgba(0, 0, 0, .05)); }


/* 행사달력 */
#calendar-box  * { font-family: 'NANUMSQUARE', sans-serif; font-weight: 400; }
#schedule-box  * { font-family: 'NANUMSQUARE', sans-serif; font-weight: 400; }
#cal-section .cont-box .flex > div { width: 48%; border: 1px solid #ddd; border-radius: 10px; overflow: hidden; padding: 40px 20px; }
#calendar-box { margin-right: 4%; }
#calendar-box #calendar { margin-bottom: 15px; }
#calendar-box #calendar .fc-toolbar { justify-content: center; }
#calendar-box #calendar .fc-toolbar.fc-header-toolbar { margin-bottom: 25px; margin-top: 0; }
#calendar-box #calendar .fc-button-primary { background-color: transparent; border: none; padding: 0; margin: 0 50px; line-height: 1; }
#calendar-box #calendar .fc-button .fc-icon { color: #999; font-size: 26px; }
#calendar-box #calendar .fc-toolbar-title { font-size: 26px; font-weight: 700; }
#calendar-box #calendar .fc-daygrid-day-frame { padding-left: 10px; }
#calendar-box #calendar .fc-scrollgrid { border-left: none; border-bottom: none; }
#calendar-box #calendar .fc-col-header,
#calendar-box #calendar .fc-daygrid-body,
#calendar-box #calendar .fc-scrollgrid-sync-table { width: 100% !important; }
#calendar-box #calendar .fc-daygrid-day-top { flex-direction: row; }
#calendar-box #calendar .fc-event-main { font-size: 0; }
#calendar-box #calendar .fc-event-img { display: inline-block; height: auto; padding-left: 15px; font-size: 0; }
#calendar-box #calendar.fc-theme-standard td, 
#calendar-box #calendar.fc-theme-standard th { border-right-color: transparent; }
/* #calendar-box #calendar.fc-theme-standard td { border-bottom: transparent; } */
#calendar-box #calendar .fc-col-header-cell-cushion { font-size: 18px; font-weight: 700; padding: 15px 4px; }
#calendar-box #calendar .fc-daygrid-day-number { font-size: 16px; padding-top: 13px; }
#calendar-box #calendar .fc-h-event { background-color: transparent; border: none; }
#calendar-box .info-box span { display: inline-block; font-size: 14px; position: relative; padding-left: 15px; }
#calendar-box .info-box span::after { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background-color: #008dd0; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }

#schedule-box .title-box { padding-bottom: 25px; border-bottom: 1px solid #ddd; }
#schedule-box .title-box h4 { font-size: 26px; font-weight: 700; }
#schedule-box .title-box h4 i { color: #008dd0; margin-right: 10px; font-family: "Font Awesome 5 Pro"; }
#schedule-box .cont { padding: 27px 20px; }
#schedule-box .cont:not(:last-child) { border-bottom: 1px solid #e8e8e8; }
#schedule-box .cont:last-child { padding-bottom: 0; }
#schedule-box .cont p.date { font-size: 18px; font-weight: 700; margin-bottom: 25px; }
#schedule-box .cont ul li:not(:last-child) { margin-bottom: 20px; }
#schedule-box .cont ul li p { font-size: 16px; color: #777; position: relative; padding-left: 17px; }
#schedule-box .cont ul li p::after { content: ''; display: inline-block; width: 8px; height: 8px; border-radius: 50%; background-color: #008dd0; position: absolute; top: 50%; left: 0; transform: translateY(-50%); }
