@charset "utf-8";

/********** header **********/
.header__inner {display:flex; align-items:center; justify-content:space-between;}
.header__top {display:flex; align-items:center; justify-content:space-between;}
.header__menu {list-style:none; margin:0; padding:0; display:flex; align-items:center; justify-content:flex-end;}
.headerMenuLine {border-left:1px dashed #D9DADE;}
.hamburger {display:none; border:none; background:transparent; width:48px; height:48px; cursor:pointer; transition:background-color 0.2s ease;}
.hamburger:focus-visible {outline:2px solid #26272b; outline-offset:4px;}
.hamburger__icon {width:28px; height:auto; display:block;}
.sr-only {position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip:rect(0, 0, 0, 0); border:0;}
.fixBnt {right:56px; bottom:56px;}

/********** mainBanner 슬라이드 기본 **********/
.mainBanner.sliderArea {position: relative; overflow: hidden;}
.mainBanner .sliderWrap {position: relative; width: 100%; height: 100%;}
.mainBanner .slide {position: absolute; inset: 0; width: 100%; height: 100%; opacity: 0; transition: opacity 1.2s ease;}
.mainBanner .slide.active {opacity: 1; z-index: 2;}
.mainBannerBg1 {background-image:url('/img/mainBanner-001.jpg'); background-position:center; background-size:cover;}
.mainBannerBg2 {background-image:url('/img/mainBanner-002.jpg'); background-position:center; background-size:cover;}
.mainBanner .t1,
.mainBanner .t2 {opacity: 0;}
.text-anim-left {animation: textLeftIn 0.9s ease forwards;}
.text-anim-right {animation: textRightIn 0.9s ease forwards;}
@keyframes textLeftIn {
  0% { opacity: 0; transform: translateX(-60px);}
  100% {opacity: 1; transform: translateX(0);}
}
@keyframes textRightIn {
  0% { opacity: 0; transform: translateX(60px);}
  100% { opacity: 1; transform: translateX(0);}
}

/********** mainEdu **********/
.mainEduCnt1{background:url('/img/brand-001.jpg')center center no-repeat; background-size:cover}
.mainEduCnt2{background:url('/img/brand-002.jpg')center center no-repeat; background-size:cover}
.mainEduCnt3{background:url('/img/brand-003.jpg')center center no-repeat; background-size:cover}
.mainEduCnt4{background:url('/img/brand-004.jpg')center center no-repeat; background-size:cover}
.filterBg{top:0; left:0;}
.mainEduTuna{top: 50%; left: 50%; transform: translate(-50%, -50%); }
.mainEdu .mainEduTuna {animation: tunaRotate 4s ease-in-out infinite;transform-origin: center center;}
@keyframes tunaRotate {
    0%   { transform: translate(-50%, -50%) rotate(0); }
    50%  { transform: translate(-50%, -50%) rotate(6deg); }
    100% { transform: translate(-50%, -50%) rotate(0); }
}

/********** review **********/
.reviewSlider {overflow: hidden; width: 100%;}
.reviewTrack {display: flex; flex-wrap: nowrap; will-change: transform;}
.reviewItem {flex: 0 0 calc(100% / 4.5); margin-right: 24px; box-sizing: border-box;}
@media (max-width: 1024px) {
  .reviewItem {flex: 0 0 calc(100% / 2.5); margin-right: 16px;}
}
@media (max-width: 768px) {
  .reviewItem {flex: 0 0 calc(100% / 1.5); margin-right: 8px;}
}

/********** notice **********/
.noticeBoxLiine {border:1px solid #E83828;}
.noticeCard {height:100%; display:flex;}
.noticeCardLink {display:flex; flex-direction:column; height:100%; overflow:hidden; background:#fff;}
.noticeCardThumb {aspect-ratio:4/3; object-fit:cover; display:block;}

/********** location **********/
.wrap_controllers {display:none;}
.section_address {display:none;}
.wrap_btn_zoom {display:none !important;}
.wrap_map {height:420px !important;}
.root_daum_roughmap {width:50% !important;}

/********** contactBanner **********/
.contactBanner {background-image:url('/img/subBanner-001.jpg'); background-position:center; background-size:cover;}

/********** snowcrab **********/
.snowcrabBoxLine {border:2px solid #FFCCC7; box-shadow:2px 2px 4px 0px #FFCCC7;}
.snowcrabCnt {background-image:url('/img/snowcrabBg.jpg'); background-position:center; background-size:cover;}

/********** notice **********/
.noticeTable {border-top:1px solid #222; border-bottom:1px solid #222;}
.noticeTable td {border-top:1px solid #EEEEF0;}
.noticeTop {border-bottom:1px solid #222;}
.noticeNav {border-top:1px solid #222;}
.contactBoxLine {border:1px solid #F94A3A; box-shadow:0 0 8px #D9DADE;}
.text_base {border:1px solid #D9DADE;}
.input_base {border:1px solid #D9DADE;}
.policy_check input[type="checkbox"] {position: absolute; opacity: 0; pointer-events: none;}
.policy_check .checkImg {width: 20px; height: 20px; background: url('/img/chkOff.svg') no-repeat center center / contain; display: inline-block; margin-right: 12px;}
.policy_check input[type="checkbox"]:checked + .checkImg {background-image: url('/img/chkOn.svg');}
.noticeCardBody {display: flex; flex-direction: column;}
.noticeCardDate {margin-top: auto;}


/********** login **********/
.loginBg {background-image:url('/img/login.jpg'); background-position:center; background-size:cover;}

/********** contactList **********/
.contactTbl th,
.contactTbl td {border-bottom:1px solid #D9DADE; border-top:1px solid #D9DADE; border-left:1px solid #D9DADE;}
.contactTbl tr > th:first-child,
.contactTbl tr > td:first-child {border-left: none;}

/********** contactView **********/
.contactViewCnt {border-top:1px solid #D9DADE; border-bottom:1px solid #D9DADE;}
.contactBtn {border:1px solid #D9DADE;}

/********** policy **********/
.policyTp {border-bottom:1px solid #26272B;}
