@charset "UTF-8";

.lytMain {width: 100%;}
.lytMain .mainArea {}
.lytMain .mResBtn {display: none;}

@media screen and (min-width: 100px) and (max-width: 1199px) {
}
@media screen and (min-width: 100px) and (max-width: 767px) {
    .lytMain .mResBtn {display: block; position: fixed; left: 20px; bottom: 8px; width: calc(100% - 40px); z-index: 60;}
    .lytMain .mResBtn a {display: block; width: 100%; height: 68px; padding: 18px 106px 0 32px; border-radius: 14px; background: #1b2573; color: #fff; font-size: 20px; font-weight: 700; box-shadow: 5px 14px 54px 0px rgba(0,49,77,0.36); overflow: hidden; position: relative;}
    .lytMain .mResBtn .resAni {width: 140px; height: 140px; position: absolute; right: 0; top: -36px; }
    .lytMain .mResBtn .resAni::after {display: block; content: ""; width: 23px; height: 18px;background: url(/common/images/main/m_main_res_btn_bg.png) center / 23px no-repeat;  position: absolute; top:50%; left: 50%; transform: translate(-50%, -50%);}
    .lytMain .mResBtn .resAni .circ {width: 0; height: 0;border-radius: 50%; font-size: 0; animation: pulsingCirc 2s cubic-bezier(0,-0.06,.33,1.1) infinite; position: absolute; top:50%; left: 50%; transform: translate(-50%, -50%);}
    .lytMain .mResBtn .resAni .circ:nth-child(2) {animation-delay: 0.35s;}
    .lytMain .mResBtn .resAni .circ:nth-child(3) {animation-delay: 0.7s;}

    @keyframes pulsingCirc {
        from {width: 0px; height: 0px; background: rgba(45,59,168, 1);}
        to {width: 140px; height: 140px; background: rgba(45,59,168, 0);}
    }
    .lytFooter .footerCont {padding: 30px 0 114px !important;}
}

/* ------------------------------------ visual ------------------------------------ */
.mainVisual {position: relative; max-width: 1920px; margin: 0 auto;}
.mainVisual .visualArea {}

/* visual slide 영역 */
.mainVisual .visualCont {position: relative;}
.mainVisual .visualCont .visualSlide {}
.mainVisual .visualCont .visualSlide .swiper-container {height: 650px;}
.mainVisual .visualCont .visualSlide .swiper-wrapper {}

.mainVisual .visualCont .visualSlide .swiper-slide {overflow: hidden; position: relative;}
.mainVisual .visualCont .visualSlide .swiper-slide .slideImg {position: absolute; left: 50%; bottom: 0; transform: translateX(-50%);}
.mainVisual .visualCont .visualSlide .swiper-slide .slideImg.mob {display: none;}
.mainVisual .visualCont .visualSlide .swiper-slide .slideImg img {vertical-align: top;}
.mainVisual .visualCont .visualSlide .swiper-slide .slideTxt {position: absolute; left: 0; top: 0; width: 100%;}
.mainVisual .visualCont .visualSlide .swiper-slide .slideTxt p {max-width: 1440px; width: 100%; margin: 0 auto; padding: 170px 20px 0;}
.mainVisual .visualCont .visualSlide .swiper-slide .slideTxt .top {display: block; margin-bottom: 5px; font-size: 24px; font-weight: 500;}
.mainVisual .visualCont .visualSlide .swiper-slide .slideTxt .main {display: block; font-size: 48px; font-weight: 300; line-height: 1.15;}
.mainVisual .visualCont .visualSlide .swiper-slide .slideTxt .main b {font-weight: 700;}

.mainVisual .visualCont .visualSlide .slideControl {position: absolute; left: 0; top: 347px; width: 100%;}
.mainVisual .visualCont .visualSlide .slideControl .controlBox {max-width: 1440px; margin: 0 auto; padding: 0 20px; font-size: 0;}
.mainVisual .visualCont .visualSlide .swiper-pagination {display: inline-block; position: relative; text-align: left; vertical-align: middle;}
.mainVisual .visualCont .visualSlide .swiper-pagination-bullet {width: 13px; height: 13px; margin-right: 13px; background: #ccc; opacity: 1;}
.mainVisual .visualCont .visualSlide .swiper-pagination-bullet-active {background: #0082cd;}
.mainVisual .visualCont .visualSlide .navGrp {display: inline-block; position: relative; margin-left: 4px; padding: 12px 17px; border-radius: 18.5px; background: #2c49a5; font-size: 0; vertical-align: middle; z-index: 10;}
.mainVisual .visualCont .visualSlide .navGrp button {width: 14px; height: 14px; background-repeat: no-repeat; background-position: center; font-size: 0;}
.mainVisual .visualCont .visualSlide .navGrp .btnPrev {background-image: url(/common/images/main/main_slide_nav_prev.png);}
.mainVisual .visualCont .visualSlide .navGrp .btnNext {background-image: url(/common/images/main/main_slide_nav_next.png);}
.mainVisual .visualCont .visualSlide .navGrp .btnPause {margin: 0 10px; background-image: url(/common/images/main/main_slide_nav_pause.png);}
.mainVisual .visualCont .visualSlide .navGrp .btnPause.slideAutoStop {background-image: url(/common/images/main/main_slide_nav_next.png);}

/* visual quick 영역 */
.mainVisual .visualQuick {position: absolute; left: 0; bottom: -116px; width: 100%; z-index: 20;}
.mainVisual .visualQuick .quickArea {display: flex; position: relative; max-width: 1440px; margin: 0 auto; padding: 0 20px;}

.mainVisual .visualQuick .quickLogin {overflow: hidden; position: absolute; right: 20px; top: -380px; border-radius: 11px; background: rgba(0,51,153,0.67);}
.mainVisual .visualQuick .quickLogin .basicLogin {padding: 30px 37px 18px;}
.mainVisual .visualQuick .quickLogin .loginTit {display: block; color: #fff; font-size: 20px; font-weight: 500;}
.mainVisual .visualQuick .quickLogin .loginForm {margin: 15px 0 10px;}
.mainVisual .visualQuick .quickLogin .loginForm .item {overflow: hidden; height: 45px; margin-bottom: 5px; border-radius: 4px; font-size: 0;}
.mainVisual .visualQuick .quickLogin .loginForm .item:before {content: ''; display: inline-block; width: 55px; height: 100%; background-color: #fff; background-repeat: no-repeat; background-position: center; vertical-align: top;}
.mainVisual .visualQuick .quickLogin .loginForm .item.id:before {background-image: url(/common/images/main/main_login_icon01.png);}
.mainVisual .visualQuick .quickLogin .loginForm .item.pw:before {background-image: url(/common/images/main/main_login_icon02.png);}
.mainVisual .visualQuick .quickLogin .loginForm .iptLogin {width: 155px; height: 100%; border: 0; background: #fff; color: #666; font-size: 14px; vertical-align: top;}
.mainVisual .visualQuick .quickLogin .btnLogin {width: 210px; height: 52px; border-radius: 4px; background: #1B2573; color: #fff; font-size: 16px; font-weight: 500; line-height: 52px;}/*20230412 로그인버튼 색상변경*/
.mainVisual .visualQuick .quickLogin .loginLink {display: flex; justify-content: space-between; margin-top: 18px;}
.mainVisual .visualQuick .quickLogin .loginLink .item {}
.mainVisual .visualQuick .quickLogin .loginLink .item a {color: #fff; font-size: 12px;}
.mainVisual .visualQuick .quickLogin .digitalLogin {}
.mainVisual .visualQuick .quickLogin .digitalLogin .btn {width: 100%; height: 70px; background: #1b2573; color: #fff; font-size: 14px; font-weight: 500;}
.mainVisual .visualQuick .quickLogin .digitalLogin .btn .txt {display: inline-block; padding-left: 44px; background: url(/common/images/main/main_login_icon03.jpg) 0 center no-repeat; line-height: 44px;}
 
/* **20230116 추가 */
.mainVisual .visualQuick .quickAccess {position: absolute; right: 20px; top: -380px; width: 280px; padding: 0 10px 20px; border-radius: 10px; background: rgba(0,51,153,0.8); box-shadow: ;}
.mainVisual .quickAccess .accessIntro {padding: 72px 10px 22px;}
.mainVisual .quickAccess .accessIntro .profile {overflow: hidden; position: absolute; left: calc(50% - 43px); top: -24px; width: 86px; height: 86px; border-radius: 50%;}
.mainVisual .quickAccess .accessIntro .profile .thum {width: 100%; height: 100%;}
.mainVisual .quickAccess .accessIntro .profile .thum img {width: 100%; height: 100%; object-fit: cover; vertical-align: top;}
.mainVisual .quickAccess .accessIntro .message {color: #fff; font-size: 17px; font-weight: 500; text-align: center;}
.mainVisual .quickAccess .accessIntro .message p {}
.mainVisual .quickAccess .accessUser {display: flex;}
.mainVisual .quickAccess .accessUser .userGrade {width: calc(41.5% - 2px); margin-right: 4px; padding: 14px 10px; border-radius: 6px; background: #2785e5;}
.mainVisual .quickAccess .accessUser .userGrade dt {color: #fff; font-size: 14px; font-weight: 500; text-align: center;}
.mainVisual .quickAccess .accessUser .userGrade dd {text-align: center;}
.mainVisual .quickAccess .accessUser .userGrade .gradeGrp {display: inline-block;}
.mainVisual .quickAccess .accessUser .userGrade .noGrade {margin-top: 12px;}
.mainVisual .quickAccess .accessUser .userGrade .noGrade img {vertical-align: top;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark {display:flex; justify-content: center; align-items: center; width: 80px; height: 30px; margin-top: 16px; border-radius: 14px; padding: 0 8px; background: #191c38; color: #ffd96e; font-size: 11px; font-weight: 500; letter-spacing: -0.08em;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.adult01 img {width: 27px; margin-top: -8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.adult02 img {width: 27px; margin-top: -8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.adult03 img {width: 27px; margin-top: -8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.adult04 img {width: 27px; margin-top: -8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.adult05 img {width: 27px; margin-top: -8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.adult06 img {width: 27px; margin-top: -8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.child01 img {width: 17px; margin-right: 8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.child02 img {width: 27px; margin-right: 8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.child03 img {width: 27px; margin-right: 8px;}
.mainVisual .quickAccess .accessUser .userGrade .gradeMark.child03 img {width: 27px; margin-right: 8px;}
.mainVisual .quickAccess .accessUser .userRes {width: calc(58.5% - 2px); padding: 14px 10px; border-radius: 6px; background: #0d2250;}
.mainVisual .quickAccess .accessUser .userRes dt {color: #fff; font-size: 14px; font-weight: 500; text-align: center;}
.mainVisual .quickAccess .accessUser .userRes dt:before {content: ''; display: inline-block; width: 18px; height: 18px; margin-right: 6px; padding-top: 2px; background: url(/common/images/main/main_access_reservation01.png) center no-repeat; vertical-align: top;}
.mainVisual .quickAccess .accessUser .userRes dd {color: #fff; font-size: 12px; text-align: center;}
.mainVisual .quickAccess .accessUser .userRes dd a {display:inline-block;}
.mainVisual .quickAccess .accessUser .userRes .noRes {margin-top: 12px;}
.mainVisual .quickAccess .accessUser .userRes .noRes img {vertical-align: top;}
.mainVisual .quickAccess .accessUser .userRes .resInfo {display: block; margin-top: 10px;}

.mainVisual .quickAccess .accessUser.noData .userGrade {width: calc(50% - 3px); margin-right: 6px;}
.mainVisual .quickAccess .accessUser.noData .userRes {width: calc(50% - 3px); padding: 14px 12px;}
.mainVisual .quickAccess .accessUser.noData .userRes dt:before {content: none;}

.mainVisual .quickAccess .accessInfo {margin-top: 18px;}
.mainVisual .quickAccess .accessInfo > ul {display: flex;}
.mainVisual .quickAccess .accessInfo .infoItem {padding: 8px 5px; text-align: center;}
.mainVisual .quickAccess .accessInfo .infoItem:first-child {width: 38%; border-right: 1px solid #4369bf;}
.mainVisual .quickAccess .accessInfo .infoItem:nth-child(2) {width: 31%; border-right: 1px solid #4369bf;}
.mainVisual .quickAccess .accessInfo .infoItem:nth-child(3) {width: 31%;}
.mainVisual .quickAccess .accessInfo .infoItem dt {color: #fff; font-size: 14px; font-weight: 500;}
.mainVisual .quickAccess .accessInfo .infoItem dd {margin-top: 16px; color: #fff; font-size: 14px; font-weight: 500;}
.mainVisual .quickAccess .accessInfo .infoItem dd a {color: #fff; font-size: 14px; font-weight: 500;}
.mainVisual .quickAccess .accessInfo .infoItem .emph {font-size: 18px;  color: #abcbff;}

.mainVisual .visualQuick .quickTit {flex-shrink: 0; width: 312px; height: 258px; margin-top: -67px; padding: 28px 30px 30px; border-radius: 50px; border-bottom-right-radius: 0; background: #3d3d3d url(/common/images/main/main_quick_tit_img01.png) 0 100% no-repeat; z-index: 10;}
.mainVisual .visualQuick .quickTit .txt {display: block; color: #fff; font-size: 26px; font-weight: 300; text-align: right;}
.mainVisual .visualQuick .quickTit b {font-size: 30px; font-weight: 700;}
.mainVisual .visualQuick .quickMenu {max-width: 1308px; width: 100%; min-height: 240px; margin-left: -185px; padding: 40px 10% 40px 17.8%; border-radius: 30px; background: #2785e5;}
.mainVisual .visualQuick .quickMenu ul {display: flex; justify-content: space-between; align-items: center; width: 100%; height: 100%;}
.mainVisual .visualQuick .quickMenu .menuItem {text-align: center;}
.mainVisual .visualQuick .quickMenu .menuItem a {display: inline-block;}
.mainVisual .visualQuick .quickMenu .menuItem a:before {content: ''; display: inline-block; width: 115px; height: 115px; border-radius: 40px; border-top-right-radius: 5px; background-repeat: no-repeat; background-position: center; transition: 0.2s;}
.mainVisual .visualQuick .quickMenu .menuItem:hover a:before {background-color: #1b2573;}
.mainVisual .visualQuick .quickMenu .menu01 a:before {background-image: url(/common/images/main/main_quick_icon01.png);}
.mainVisual .visualQuick .quickMenu .menu02 a:before {background-image: url(/common/images/main/main_quick_icon02.png); background-position-y: -20px;}
.mainVisual .visualQuick .quickMenu .menu03 a:before {background-image: url(/common/images/main/main_quick_icon03.png); background-position-y: -2px;}
.mainVisual .visualQuick .quickMenu .menu04 a:before {background-image: url(/common/images/main/main_quick_icon04.png);}
.mainVisual .visualQuick .quickMenu .menu05 a:before {background-image: url(/common/images/main/main_quick_icon05.png); background-position-y: 9px;}
.mainVisual .visualQuick .quickMenu .menu06 a:before {background-image: url(/common/images/main/main_quick_icon06.png);}
.mainVisual .visualQuick .quickMenu .menuItem .tit {display: block; padding: 3px 0 5px; border-bottom: 1px dashed transparent; color: #fff; font-size: 18px; font-weight: 500; line-height: 1.2; text-align: center; word-break: keep-all;}
.mainVisual .visualQuick .quickMenu .menuItem:hover .tit {border-bottom-color: #1b2573;}

@media screen and (min-width: 100px) and (max-width: 1199px) {
    .mainVisual .visualQuick {bottom: -235px;}
    .mainVisual .visualQuick .quickLogin {display: none;}
    .mainVisual .visualQuick .quickAccess {display: none;}

    .mainVisual .visualQuick .quickMenu {padding: 30px 10% 30px 17.8%;}
    .mainVisual .visualQuick .quickMenu ul {flex-wrap: wrap; justify-content: flex-start;}
    .mainVisual .visualQuick .quickMenu .menuItem {width: 25%;}
}

@media screen and (min-width: 100px) and (max-width: 1079px) {
    .mainVisual .visualQuick .quickTit {width: 270px; border-radius: 44px; border-bottom-right-radius: 0; background-position-y: calc(100% + 2px); background-size: 150px;}
    .mainVisual .visualQuick .quickMenu {margin-left: -128px; padding: 30px 10% 30px 20%;}
    .mainVisual .visualQuick .quickMenu .menuItem {width: 33.333%;}
}

@media screen and (min-width: 100px) and (max-width: 767px) {
    .mainVisual .visualCont .visualSlide .swiper-container {height: auto;}
    .mainVisual .visualCont .visualSlide .swiper-slide .slideImg {position: static; transform: translateX(0);}
    .mainVisual .visualCont .visualSlide .swiper-slide .slideImg.pc {display: none;}
    .mainVisual .visualCont .visualSlide .swiper-slide .slideImg.mob {display: block;}
    .mainVisual .visualCont .visualSlide .swiper-slide .slideImg img {width: 100%;}
    .mainVisual .visualCont .visualSlide .swiper-slide .slideTxt {top: auto; bottom: 0; background: rgba(0,0,0,0.6);}
    .mainVisual .visualCont .visualSlide .swiper-slide .slideTxt p {padding: 30px 20px 54px;}
    .mainVisual .visualCont .visualSlide .swiper-slide .slideTxt .top {color: #fff; font-size: 13px;}
    .mainVisual .visualCont .visualSlide .swiper-slide .slideTxt .main {color: #fff; font-size: 20px; line-height: 1.4;}

    .mainVisual .visualCont .visualSlide .slideControl {top: auto; bottom: 20px;}
    .mainVisual .visualCont .visualSlide .slideControl .controlBox {text-align: right;}
    .mainVisual .visualCont .visualSlide .swiper-pagination {}
    .mainVisual .visualCont .visualSlide .swiper-pagination-bullet {width: 10px; height: 10px; margin-right: 10px;}
    .mainVisual .visualCont .visualSlide .navGrp {padding: 8px; border-radius: 16px;}
    .mainVisual .visualCont .visualSlide .navGrp button {}
    .mainVisual .visualCont .visualSlide .navGrp .btnPrev {background-size: 6px;}
    .mainVisual .visualCont .visualSlide .navGrp .btnNext {background-size: 6px;}
    .mainVisual .visualCont .visualSlide .navGrp .btnPause {margin: 0 10px; background-size: 8px;}
    .mainVisual .visualCont .visualSlide .navGrp .btnPause.slideAutoStop {background-size: 6px;}
 
    .mainVisual .visualQuick {position: static; padding: 34px 0 38px;}
    .mainVisual .visualQuick .quickArea {flex-wrap: wrap;}
    .mainVisual .visualQuick .quickTit {position: relative; width: 100%; height: auto; margin-top: 0; padding: 18px 20px; border-radius: 24px; border-top-left-radius: 4px; border-bottom-right-radius: 4px; background: #3d3d3d;}
    .mainVisual .visualQuick .quickTit:before {content: ''; position: absolute; left: 20px; bottom: 0; width: 104px; height: 91px; background: url(/common/images/main/m_main_quick_tit_img01.png) center / cover no-repeat;}
    .mainVisual .visualQuick .quickTit .txt {font-size: 16px; line-height: 1.3;}
    .mainVisual .visualQuick .quickTit b {font-size: 20px;}
    .mainVisual .visualQuick .quickTit .pcBr {display: none;}
    .mainVisual .visualQuick .quickMenu {min-height: 0; margin-left: 0; margin-top: -18px; padding: 42px 20px 32px; border-radius: 10px; border-top-left-radius: 0; border-top-right-radius: 0;}
    .mainVisual .visualQuick .quickMenu ul {display: flex; justify-content: space-between; align-items: center; width: 100%; height: 100%;}
    .mainVisual .visualQuick .quickMenu .menuItem {text-align: center;}
    .mainVisual .visualQuick .quickMenu .menuItem a {display: inline-block;}
    .mainVisual .visualQuick .quickMenu .menuItem a:before {width: 72px; height: 68px; border-radius: 14px; border-top-right-radius: 2px; background-position: center;}
    .mainVisual .visualQuick .quickMenu .menu01 a:before {background-size: 64px;}
    .mainVisual .visualQuick .quickMenu .menu02 a:before {background-size: 58px; background-position-y: -6px;}
    .mainVisual .visualQuick .quickMenu .menu03 a:before {background-size: 68px; background-position-y: 0;}
    .mainVisual .visualQuick .quickMenu .menu04 a:before {background-size: 70px; background-position-y: 8px;}
    .mainVisual .visualQuick .quickMenu .menu05 a:before {background-size: 65px; background-position-y: 12px;}
    .mainVisual .visualQuick .quickMenu .menu06 a:before {background-size: 68px;}
    .mainVisual .visualQuick .quickMenu .menuItem .tit {padding: 0 0 3px; font-size: 15px;}
}


/* -------------------------- apply: 체력인증센터 예약 및 수강 신청 -------------------------- */
.mainApply {background: #f4f7ff;}
.mainApply .applyWrap {position: relative; max-width: 1640px; margin: 0 auto; background: url(/common/images/main/main_apply_character.png) right top no-repeat; z-index: 22; padding-bottom: 220px;}
.mainApply .applyArea {position: relative; max-width: 1440px; margin: 0 auto; padding: 0 20px;}
.mainApply .applyTop {max-width: 1010px; margin-bottom: 46px; padding-top: 200px; font-size: 0;}
.mainApply .applyTop .topTit {display: inline-block; margin-right: 40px; color: #000; font-size: 34px; font-weight: 300; vertical-align: middle;}
.mainApply .applyTop .topTit b {color: #000; font-weight: 700;}
.mainApply .applyTop .topInfo {display: inline-block; vertical-align: middle;}
.mainApply .applyTop .topInfo .location {display: inline-block; vertical-align: middle;}
.mainApply .applyTop .topInfo .location select {height: 53px; border: 2px solid #1a2473; border-radius: 26px; background: #fff url(/common/images/main/main_apply_select.png) calc(100% - 23px) center no-repeat; color: #1b2573; font-size: 18px; font-weight: 500; box-shadow: 4px 6px 8.73px 0.27px rgba(122,154,205,0.05);}
.mainApply .applyTop .topInfo .location select:focus {outline: none !important; border-color: #2785e5;}
.mainApply .applyTop .topInfo .location select.option01 {width: 137px;}
.mainApply .applyTop .topInfo .location select.option02 {width: 175px; margin-left: 14px;}
.mainApply .applyTop .topInfo .call {display: inline-block; margin-left: 22px; padding-left: 40px; background: url(/common/images/main/main_apply_call.png) 0 center no-repeat; color: #000; font-size: 20px; font-weight: 500; line-height: 31px; vertical-align: middle;}

.mainApply .applyCont {display: flex; justify-content: space-between;}
.mainApply .applyState {flex-shrink: 0; width: calc(50% - 14px); padding: 40px 44px 30px; border-radius: 20px; background: #fff; box-shadow: 2px 6px 30px 2.24px rgba(38,71,119,0.11);}
.mainApply .applyState .stateTop {display: flex; flex-wrap: wrap; justify-content: space-between; align-items: center;}
.mainApply .applyState .stateTop .mainTit {width: 100%; margin-bottom: 2px; font-size: 26px; font-weight: 500;}
.mainApply .applyState .stateTop .mainTit .date {color: #030303; font-size: 29px; font-weight: 700;}
.mainApply .applyState .stateTop .subTit {margin-right: 10px; padding: 7px 20px; border-radius: 4px; background: #424960; color: #fff; font-size: 16px; font-style: normal; font-weight: 500; text-align: center; word-break: keep-all;}
.mainApply .applyState .stateTop .subTit.long {max-width: calc(100% - 207px);}
.mainApply .applyState .stateTop .subTit.short {max-width: calc(100% - 145px);}
.mainApply .applyState .stateTop .subTit .loc {color: #ffd96e;}
.mainApply .applyState .stateTop .subTit .mBr {display: none;}
.mainApply .applyState .stateTop .btnRes {width: 197px; height: 50px; border-radius: 24.5px; background: #2785e5; color: #fff; font-size: 16px; font-weight: 500;}
.mainApply .applyState .stateTop .btnRes:before {content: ''; display: inline-block; width: 24px; height: 24px; margin-right: 15px; background: url(/common/images/main/main_apply_icon01.png) center no-repeat; vertical-align: top;}
.mainApply .applyState .stateTop .btnApply {width: 135px; height: 50px; border-radius: 24.5px; background: #1B2573; color: #fff; font-size: 16px; font-weight: 500;} /*2023.04.12 접근성 수정*/
.mainApply .applyState .stateTop .btnApply:before {content: ''; display: inline-block; width: 26px; height: 26px; margin-right: 10px; background: url(/common/images/main/main_apply_icon03.png) center no-repeat; vertical-align: top;}
.mainApply .applyState .stateTbl {overflow: hidden; margin-top: 18px; border: 1px solid #c7cde0; border-radius: 20px 20px 0 0; isolation: isolate;}
.mainApply .applyState .stateTbl .tblWrap {overflow: auto; height: 278px;}
.mainApply .applyState .stateTbl .tblWrap::-webkit-scrollbar {width: 5px;}
.mainApply .applyState .stateTbl .tblWrap::-webkit-scrollbar-thumb {height: 118px; background: #2785e5;}
.mainApply .applyState .stateTbl .tblWrap::-webkit-scrollbar-track {background: #eee;}
.mainApply .applyState .stateTbl table {table-layout: fixed; width: 100%; border-collapse: collapse; border-spacing: 0;}
.mainApply .applyState .stateTbl thead th {height: 56px; border-right: 1px solid #c7cde0; border-bottom: 1px solid #c7cde0; background: #f3f6fe; font-size: 15px; vertical-align: middle;}
.mainApply .applyState .stateTbl thead th:last-child {border-right: 0;}
.mainApply .applyState .stateTbl thead th .iconTime {display: inline-block; width: 22px; height: 22px; background: url(/common/images/main/main_apply_icon02.png) center no-repeat; font-size: 0; vertical-align: top;}
.mainApply .applyState .stateTbl tbody td {height: 45px; padding: 10px 0; border-right: 1px solid #c7cde0; border-top: 1px solid #c7cde0; font-size: 14px; text-align: center;}
.mainApply .applyState .stateTbl tbody tr:last-child td {border-bottom: 1px solid #c7cde0;}
.mainApply .applyState .stateTbl tbody tr:first-child td {border-top: 0; border-bottom:0;}
.mainApply .applyState .stateTbl tbody td:last-child {border-right: 0;}
.mainApply .applyState .stateNote {margin-top: 30px;}
.mainApply .applyState .stateNote.divLine {margin-top: 23px; padding-top: 18px; border-top: 1px solid #ccc;}
.mainApply .applyState .stateNote .noteItem {position: relative; font-size: 14px; font-weight: 500;}
.mainApply .applyState .stateNote .noteItem .txtRed {color: #ff3b3b;}
.mainApply .applyState .stateNote .noteItem.dot {padding-left: 28px;}
.mainApply .applyState .stateNote .noteItem.dot:before {content: ''; position: absolute; left: 17px; top: 8px; width: 4px; height: 4px; border-radius: 50%; background: #000;}
.mainApply .applyState .stateNote .noteItem.emph {padding-left: 34px; line-height: 1.6;}
.mainApply .applyState .stateNote .noteItem.emph:before {content: ''; position: absolute; left: 5px; top: 0; width: 22px; height: 22px; background: url(/common/images/main/main_apply_icon04.png) center no-repeat;}
.mainApply .applyState .stateList {margin-top: 18px; padding-top: 6px;}
.mainApply .applyState .stateList > ul {overflow: auto; height: 286px;}
.mainApply .applyState .stateList > ul::-webkit-scrollbar {width: 5px;}
.mainApply .applyState .stateList > ul::-webkit-scrollbar-thumb {height: 118px; background: #2785e5;}
.mainApply .applyState .stateList > ul::-webkit-scrollbar-track {background: #eee;}
.mainApply .applyState .stateList .stateItem {position: relative; margin-bottom: 18px; padding-left: 33px; font-size: 0;}
.mainApply .applyState .stateList .stateItem:last-child {margin-bottom: 0;}
.mainApply .applyState .stateList .stateItem:before {content: ''; position: absolute; left: 12px; top: calc((50% - 3.5px)); width: 7px; height: 7px; border-radius: 50%; background: #000;}
.mainApply .applyState .stateList .stateItem:after {content: ''; position: absolute; left: 14px; top: calc((50% + 3.5px)); width: 1px; height: calc(100% + 12px); border-right: 1px dashed #000;}
.mainApply .applyState .stateList .stateItem:last-child:after {content: none;}
.mainApply .applyState .stateList .stateItem .type {display: inline-block; width: 50px; height: 24px; margin-right: 10px; border: 1px solid #3366ff; border-radius: 12px; background: #fff; color: #3366ff; font-size: 12px; font-style: normal; font-weight: 500; line-height: 22px; text-align: center; vertical-align: middle;}
.mainApply .applyState .stateList .stateItem .tit {display: inline-block; width: calc(100% - 205px); vertical-align: middle;}
.mainApply .applyState .stateList .stateItem .tit a {overflow: hidden; display: block; color: #000; font-size: 14px; font-weight: 500; white-space: nowrap; text-overflow: ellipsis;}
.mainApply .applyState .stateList .stateItem .date {display: inline-block; color: #666; font-size: 14px; font-weight: 500; vertical-align: middle;}

@media screen and (min-width: 100px) and (max-width: 1639px) {
    .mainApply .applyWrap {background: none;}
}

@media screen and (min-width: 100px) and (max-width: 1199px) {
    .mainApply .applyTop {padding-top: 284px;}
    .mainApply .applyTop .topInfo {margin-top: 10px;}
}

@media screen and (min-width: 100px) and (max-width: 1079px) {
    .mainApply .applyCont {flex-wrap: wrap;}
    .mainApply .applyState {width: 100%; margin-bottom: 30px;}
}

@media screen and (min-width: 100px) and (max-width: 767px) {
    .mainApply {background: #fff;}
    .mainApply .applyWrap {padding-bottom: 0;}

    .mainApply .applyTop {margin-bottom: 18px; padding-top: 0;}
    .mainApply .applyTop .topTit {width: 100%; margin-right: 0; font-size: 22px; text-align: center;}
    .mainApply .applyTop .topInfo {width: 100%; padding: 20px 26px; border-radius: 14px; background: #f4f7ff;}
    .mainApply .applyTop .topInfo .location {width: 100%;}
    .mainApply .applyTop .topInfo .location select {height: 42px; border-width: 1px; border-radius: 22px; background-position: calc(100% - 18px) center; background-size: 12px; font-size: 14px;}
    .mainApply .applyTop .topInfo .location select.option01 {width: calc(44.5% - 7px);}
    .mainApply .applyTop .topInfo .location select.option02 {width: calc(55.5% - 7px); margin-left: 14px;}
    .mainApply .applyTop .topInfo .call {width: 100%; margin: 16px 0 0; padding-left: 0; background: none; font-size: 16px; font-weight: 700; line-height: 26px; text-align: center;}
    .mainApply .applyTop .topInfo .call:before {content: ''; display: inline-block; width: 26px; height: 26px; margin-right: 10px; background: url(/common/images/main/main_apply_call.png) center / 25px no-repeat; vertical-align: top;}

    .mainApply .applyCont {}
    .mainApply .applyState {position: relative; margin-bottom: 34px; padding: 30px 0 0; border-top: 1px solid ; border-radius: 0; box-shadow: none;}
    .mainApply .applyState:last-child {margin-bottom: 0;}
    .mainApply .applyState:after {content: ''; position: absolute; left: calc(50% - 3px); top: 0; border-width: 6px; border-style: solid; border-color: #000 transparent transparent transparent;}
    .mainApply .applyState .stateTop {}
    .mainApply .applyState .stateTop .mainTit {margin-bottom: 14px; font-size: 18px;}
    .mainApply .applyState .stateTop .mainTit .date {font-size: 20px;}
    .mainApply .applyState .stateTop .subTit {flex-shrink: 0; margin-right: 0; padding: 0; border-radius: 0; background: none; color: #333; line-height: 1.25; text-align: left;}
    .mainApply .applyState .stateTop .subTit.long {max-width: none; min-height: 32px; padding-left: 30px; background: url(/common/images/main/m_main_apply_icon05.png) 0 center / 26px no-repeat;}
    .mainApply .applyState .stateTop .subTit.short {align-self: flex-end; max-width: none; }
    .mainApply .applyState .stateTop .subTit .loc {color: #ff5310;}
    .mainApply .applyState .stateTop .subTit .mBr {display: inline;}
    .mainApply .applyState .stateTop .btnRes {width: 150px; height: 44px; border-radius: 6px; font-size: 15px;}
    .mainApply .applyState .stateTop .btnRes:before {width: 20px; height: 20px; margin-right: 6px; background-size: 20px;}
    .mainApply .applyState .stateTop .btnApply {width: 120px; height: 44px; margin-top: -25px; border-radius: 6px; font-size: 15px;}
    .mainApply .applyState .stateTop .btnApply:before {width: 22px; height: 22px; margin-right: 8px; background-size: 22px;}

    .mainApply .applyState .stateTbl .tblWrap {height: 198px;}
    .mainApply .applyState .stateTbl .tblWrap::-webkit-scrollbar {width: 6px;}
    .mainApply .applyState .stateTbl .tblWrap::-webkit-scrollbar-thumb {height: 82px; border-radius: 3px;}
    .mainApply .applyState .stateTbl thead th {height: 38px; font-size: 12px;}
    .mainApply .applyState .stateTbl thead th:last-child {border-right: 0;}
    .mainApply .applyState .stateTbl thead th .iconTime {width: 12px; height: 12px; background-size: 12px;}
    .mainApply .applyState .stateTbl tbody td {height: 32px; padding: 5px 0; border-right: 1px solid #c7cde0; border-top: 1px solid #c7cde0; font-size: 12px;}

    .mainApply .applyState .stateNote {margin-top: 20px;}
    .mainApply .applyState .stateNote.divLine {padding-top: 12px;}
    .mainApply .applyState .stateNote .noteItem {margin-bottom: 4px; font-size: 12px;}
    .mainApply .applyState .stateNote .noteItem:last-child {margin-bottom: 0;}
    .mainApply .applyState .stateNote .noteItem.dot {padding-left: 14px;}
    .mainApply .applyState .stateNote .noteItem.dot:before {left: 6px; width: 3px; height: 3px;}
    .mainApply .applyState .stateNote .noteItem.emph {padding-left: 22px; line-height: 1.3;}
    .mainApply .applyState .stateNote .noteItem.emph:before {left: 0; top: 1px; width: 14px; height: 14px; background-size: 14px;}

    .mainApply .applyState .stateList {margin-top: 26px; padding-top: 0;}
    .mainApply .applyState .stateList > ul {height: 314px;}
    .mainApply .applyState .stateList > ul::-webkit-scrollbar {width: 6px;}
    .mainApply .applyState .stateList > ul::-webkit-scrollbar-thumb {height: 98px; border-radius: 3px;}
    .mainApply .applyState .stateList .stateItem {padding-left: 26px;}
    .mainApply .applyState .stateList .stateItem:before {top: 8px; width: 5px; height: 5px;}
    .mainApply .applyState .stateList .stateItem:after {left: 13px; top: 12px; height: calc(100% + 14px); border-right-style: dotted;}
    .mainApply .applyState .stateList .stateItem .type {width: 48px; height: 20px; margin-right: 0; border-radius: 10px; line-height: 18px;}
    .mainApply .applyState .stateList .stateItem .tit {width: 100%; padding-right: 10px;}
    .mainApply .applyState .stateList .stateItem .tit a {white-space: normal; text-overflow: clip;}
    .mainApply .applyState .stateList .stateItem .date {width: 100%;}
}


/* -------------------------------- event: 이벤트 배너 -------------------------------- */
.mainEvent {margin: -100px auto 105px; max-width: 1920px;}
.mainEvent .eventArea {}
.mainEvent .eventSlide {position: relative;}
.mainEvent .eventSlide .swiper-container {}
.mainEvent .eventSlide .swiper-wrapper {align-items: center; /*margin-left: -4.3%; margin-left: -3.5%;*/}
.mainEvent .eventSlide .swiper-slide {/*max-width: 914px; width: 55% !important;*/display: flex; justify-content: center; align-items: center;}
.mainEvent .eventSlide .swiper-slide-active {/*max-width: 1047px; width: 55% !important;*/}
.mainEvent .eventSlide .swiper-slide .slideLink {overflow: hidden; position: relative; width: 85%; border-radius: 20px;}
.mainEvent .eventSlide .swiper-slide .slideLink:after {content: ''; position: absolute; left: 0; top: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.5);}
.mainEvent .eventSlide .swiper-slide .slideLink.pc {display: block;}
.mainEvent .eventSlide .swiper-slide .slideLink.mob {display: none;}
.mainEvent .eventSlide .swiper-slide-active .slideLink {width: 100%; box-shadow: 14px 21px 28.13px 0.87px rgba(122,154,205,0.24);}
.mainEvent .eventSlide .swiper-slide-active .slideLink:after {background: rgba(0,0,0,0);}
.mainEvent .eventSlide .swiper-slide img {width: 100%; vertical-align: top;}
/* .mainEvent .eventSlide .navBtn {position: absolute; top: calc(50% - 64px); width: 31px; height: 54px; background-repeat: no-repeat; background-position: center; font-size: 0; z-index: 10;}
.mainEvent .eventSlide .navBtn.navPrev {left: 50%; margin-left: -30.2%; background-image: url(/common/images/main/main_event_icon01.png);}
.mainEvent .eventSlide .navBtn.navNext {left: 50%; margin-left: 29.2%; background-image: url(/common/images/main/main_event_icon02.png);} */
.mainEvent .eventSlide .swiper-button-prev, .mainEvent .eventSlide .swiper-button-next {position: absolute; right: auto; top: calc(50% - 64px); width: 31px; height: 54px; margin-top: 0; background-repeat: no-repeat; background-position: center;}
.mainEvent .eventSlide .swiper-button-prev:after, .mainEvent .eventSlide .swiper-button-next:after {content: none;}
.mainEvent .eventSlide .swiper-button-prev {left: 50%; margin-left: -31.4%; background-image: url(/common/images/main/main_event_icon01.png);}
.mainEvent .eventSlide .swiper-button-next {left: 50%; margin-left: calc(28.9% + 7px); background-image: url(/common/images/main/main_event_icon02.png);}

.mainEvent .eventSlide .slideControl {margin-top: 38px;}
.mainEvent .eventSlide .slideControl .controlBox {font-size: 0; text-align: center;}
.mainEvent .eventSlide .swiper-pagination {display: inline-block; position: relative; text-align: left; vertical-align: middle;}
.mainEvent .eventSlide .swiper-pagination-bullet {width: 17px; height: 17px; margin-right: 13px; background: #aeaeae; opacity: 1;}
.mainEvent .eventSlide .swiper-pagination-bullet-active {background: #0099cc;}
.mainEvent .eventSlide .navGrp {display: inline-block; position: relative; margin-left: 14px; padding: 12px 17px; border-radius: 18.5px; background: rgba(0,0,0,0.7); font-size: 0; vertical-align: middle; z-index: 10;}
.mainEvent .eventSlide .navGrp button {width: 14px; height: 14px; background-repeat: no-repeat; background-position: center; font-size: 0;}
.mainEvent .eventSlide .navGrp .btnPrev {background-image: url(/common/images/main/main_slide_nav_prev.png);}
.mainEvent .eventSlide .navGrp .btnNext {background-image: url(/common/images/main/main_slide_nav_next.png);}
.mainEvent .eventSlide .navGrp .btnPause {margin: 0 10px; background-image: url(/common/images/main/main_slide_nav_pause.png);}
.mainEvent .eventSlide .navGrp .btnPause.slideAutoStop {background-image: url(/common/images/main/main_slide_nav_next.png);}

.mainEvent .eventSlide .swiper-pagination-bullet.slideOne {background: #0099cc !important;}

@media screen and (min-width: 100px) and (max-width: 1199px) {
    /* .mainEvent .eventSlide .swiper-slide .slideLink {width: 89%;} */
    .mainEvent .eventSlide .swiper-button-prev {margin-left: -37.4%;}
    .mainEvent .eventSlide .swiper-button-next {margin-left: calc(34% + 3px);}
}

@media screen and (min-width: 100px) and (max-width: 767px) {
    .mainEvent {margin: 40px 0 30px;}
    .mainEvent .eventSlide .swiper-slide .slideLink {border-radius: 7px;}
    .mainEvent .eventSlide .swiper-slide .slideLink.pc {display: none;}
    .mainEvent .eventSlide .swiper-slide .slideLink.mob {display: block;}
    .mainEvent .eventSlide .swiper-button-prev, .mainEvent .eventSlide .swiper-button-next {top: calc(50% - 46px); width: 12px; height: 30px; background-size: 12px;}
    .mainEvent .eventSlide .swiper-button-prev {margin-left: -43%;}
    .mainEvent .eventSlide .swiper-button-next {margin-left: calc(41% - 3px);}
    
    .mainEvent .eventSlide .slideControl {margin-top: 16px;}
    .mainEvent .eventSlide .swiper-pagination-bullet {width: 10px; height: 10px; margin-right: 10px;}
    .mainEvent .eventSlide .navGrp {margin-left: 0; padding: 8px; border-radius: 16px;}
    .mainEvent .eventSlide .navGrp .btnPrev {background-size: 6px;}
    .mainEvent .eventSlide .navGrp .btnNext {background-size: 6px;}
    .mainEvent .eventSlide .navGrp .btnPause {margin: 0 10px; background-size: 8px;}
    .mainEvent .eventSlide .navGrp .btnPause.slideAutoStop {background-size: 6px;}
}

/* ---------------------------- new info: 공지/채용공고 ---------------------------- */
.mainNewInfo {padding-bottom: 115px;}
.mainNewInfo .newInfoArea {position: relative; max-width: 1440px; margin: 0 auto; padding: 0 20px;}
.mainNewInfo .newInfoTap {margin-bottom: 68px; font-size: 0;}
.mainNewInfo .newInfoTap .tabMenu {display: inline-block; margin-right: 30px; font-size: 0; vertical-align: middle;}
.mainNewInfo .newInfoTap .tabMenu .tabItem {display: inline-block; margin-right: 7px; font-size: 0;}
.mainNewInfo .newInfoTap .tabMenu .tabItem button {width: 184px; height: 75px; border-radius: 37.5px; background: #dedede; color: #353535; font-size: 26px; font-weight: 700;}
.mainNewInfo .newInfoTap .tabMenu .tabItem.on button {position: relative; background: #191c38; color: #fff;}
.mainNewInfo .newInfoTap .tabMenu .tabItem.on button:after {content: ''; position: absolute; left: calc(50% - 5px); bottom: -20px; width: 10px; height: 10px; border-radius: 50%; background: #191c38;}

.mainNewInfo .newInfoTapCont {}
.mainNewInfo .newInfoTapCont .tapContItem {display: none; position:relative;}
.mainNewInfo .newInfoTapCont .tapContItem.on {display: block;}
.mainNewInfo .newInfoTapCont .tabDesc {display: inline-block; color: #666; font-size: 16px; font-style: normal; vertical-align: middle;    position: absolute;    top: -130px;    left: 400px;    height: 50px;    display: flex;    flex-wrap: wrap;    align-items: center;}
.mainNewInfo .newInfoTapCont .tabDesc .pcTxt { width:100%; display:inline-block;}
.mainNewInfo .newInfoTapCont .tabDesc .mBr {display: none;}
.mainNewInfo .newInfoTapCont .tapContItem .contList {display: flex;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit {width: 25%; padding: 0 3.2% 20px; border-right: 1px solid #9a9a9a;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit:first-child {border-left: 1px solid #9a9a9a;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .type {display: inline-block; width: 86px; border-radius: 16.5px; color: #fff; font-size: 16px; font-style: normal; font-weight: 500; line-height: 2; text-align: center;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .type.blue {background: #0099cc;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .type.green {background: #191C38;} /*2023.04.12 접근성 수정*/
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt {margin: 28px 0 60px;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .date {font-size: 14px; font-weight: 500; line-height: 1;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .date b {margin-right: 8px; font-size: 30px; font-weight: 700;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .tit {padding-top: 10px;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .tit a {overflow: hidden; display: -webkit-box; -webkit-line-clamp: 3; -webkit-box-orient: vertical; height: 74px; font-size: 20px; font-weight: 500; line-height: 1.2;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .moreInfo {color: #6f6f6f; font-size: 14px;}
.mainNewInfo .newInfoTapCont .tapContItem .contUnit .moreInfo:after {content: '+'; display: inline-block; margin-left: 8px; vertical-align: top;}
.mainNewInfo .moreLink {position: absolute; right: 20px; top: -130px; width: 100px; height: 40px; padding-top: 9px; border: 1px dashed #333; border-radius: 20px; font-size: 14px; font-weight: 500; text-align: center;}
.mainNewInfo .moreLink:after {content: '+'; display: inline-block; margin-left: 7px; vertical-align: top;}

@media screen and (min-width: 100px) and (max-width: 1079px) {
    .mainNewInfo .newInfoTapCont .tapContItem .contList {flex-wrap: wrap;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit {display: flex; align-items: flex-start; width: 100%; margin-bottom: 20px; padding: 0; border-right: 0;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit:first-child {border-left: 0;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .type {flex-shrink: 0; margin-right: 20px;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt {width: 100%; margin: 0;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .tit a {-webkit-line-clamp: 2; height: 50px;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .moreInfo {display: none;}
    .mainNewInfo .moreLink {display: none;}
}

@media screen and (min-width: 100px) and (max-width: 767px) {
    .mainNewInfo {padding: 30px 0 35px;}
    .mainNewInfo .newInfoTap {margin-bottom: 28px;}
    .mainNewInfo .newInfoTap .tabMenu {margin-right: 0;}
    .mainNewInfo .newInfoTap .tabMenu .tabItem {margin-right: 4px;}
    .mainNewInfo .newInfoTap .tabMenu .tabItem button {width: 88px; height: 36px; border-radius: 18px; font-size: 15px;}
    .mainNewInfo .newInfoTap .tabMenu .tabItem.on button:after {left: calc(50% - 3px); bottom: -10px; width: 6px; height: 6px;}
    .mainNewInfo .newInfoTapCont .tabDesc {width: auto; font-size: 13px; line-height: 1.25; letter-spacing: -0.07em; top:-70px; left:280px;}
    .mainNewInfo .newInfoTapCont .tabDesc .mBr {display: inline;}
    .mainNewInfo .newInfoTapCont .tabDesc .pcTxt {display: none;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit {margin-bottom: ;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .type {width: 62px; margin-right: 14px; border-radius: 12px; font-size: 12px;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt {padding-top: 3px;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .date {font-size: 12px;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .date b {margin-right: 6px; font-size: 16px;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .tit {padding-top: 4px;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .infoTxt .tit a {height: 37px; font-size: 14px; line-height: 1.4;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .moreInfo {color: #d1d1d1; font-size: 14px;}
    .mainNewInfo .newInfoTapCont .tapContItem .contUnit .moreInfo:after {content: '+'; display: inline-block; margin-left: 8px; vertical-align: top;}
    .mainNewInfo .moreLink {position: absolute; right: 20px; top: 30px; width: 100px; height: 40px; padding-top: 9px; border: 1px dashed #333; border-radius: 20px; font-size: 14px; font-weight: 500; text-align: center;}
    .mainNewInfo .moreLink:after {content: '+'; display: inline-block; margin-left: 7px; vertical-align: top;}
}


/* ---------------------------- news: 체력인증센터 소식 ---------------------------- */
.mainNews {background: url(/common/images/main/main_news_bg01.png) 0 0 repeat-x; padding: 100px 0 96px;}
.mainNews .newsArea {display: flex; justify-content: space-between; align-items: center; max-width: 1440px; margin: 0 auto; padding: 0 20px;}
.mainNews .newsSlogan {width: 48.4%; padding-bottom: 35.4%; background: url(/common/images/main/main_news_bg02.png) 0 100% / 100% no-repeat;}
.mainNews .newsSlogan .sloganTxt {}
.mainNews .newsSlogan .sloganTxt img {}
.mainNews .newsSlogan .sloganTxt i {display: block; padding-left: 78px; color: #000; font-size: 25px; font-style: normal; font-weight: 500; line-height: 1.2; letter-spacing: -0.1em; word-break: keep-all;}
.mainNews .newsSlogan .sloganTxt i b {color: #0081cc; font-weight: 700; letter-spacing: -0.1em;}
.mainNews .newsSlogan .sloganTxt .mBr {display: none;}
.mainNews .newsCont {position: relative; width: 630px;}
.mainNews .newsCont .contTit {display: block; margin-bottom: 28px; font-size: 44px; font-weight: 300;}
.mainNews .newsCont .contTit b {font-weight: 700;}
.mainNews .newsCont .newsLocList {padding-bottom: 36px;}
.mainNews .newsCont .newsLocList > ul:after {content: ''; display: block; clear: both;}
.mainNews .newsCont .newsLocList .locItem {display: flex; float: left; width: calc(50% - 10px); margin-bottom: 14px;}
.mainNews .newsCont .newsLocList .locItem:nth-child(odd) {margin-right: 20px;}
.mainNews .newsCont .newsLocList .locItem .loc {flex-shrink: 0; margin-right: 12px; padding: 0 10px; border-radius: 4px; background: #0082cd; color: #fff; font-size: 16px; font-style: normal; line-height: 26px;}
.mainNews .newsCont .newsLocList .locItem .tit {overflow: hidden; font-size: 16px; white-space: nowrap; text-overflow: ellipsis;}
.mainNews .newsCont .newsTypeList {padding-top: 40px; border-top: 1px dashed #6e8398;}
.mainNews .newsCont .newsTypeList > ul {display: flex; flex-wrap: wrap;}
.mainNews .newsCont .newsTypeList .typeItem {width: calc(50% - 12px); margin-bottom: 22px; border-radius: 10px; background: #fff;}
.mainNews .newsCont .newsTypeList .typeItem:nth-child(odd) {margin-right: 24px;}
.mainNews .newsCont .newsTypeList .typeItem a {display: flex; flex-direction: column; justify-content: center; position: relative; width: 100%; height: 100%; padding: 20px 14px 20px 110px;}
.mainNews .newsCont .newsTypeList .typeItem a:before {content: ''; position: absolute; left: 14px; top: 50%; transform: translateY(-50%); width: 82px; height: 82px; background-repeat: no-repeat; background-position: center;}
.mainNews .newsCont .newsTypeList .type01 a:before {background-image: url(/common/images/main/main_news_icon01.png);}
.mainNews .newsCont .newsTypeList .type02 a:before {background-image: url(/common/images/main/main_news_icon02.png);}
.mainNews .newsCont .newsTypeList .type03 a:before {background-image: url(/common/images/main/main_news_icon03.png);}
.mainNews .newsCont .newsTypeList .type04 a:before {background-image: url(/common/images/main/main_news_icon04.png);}
.mainNews .newsCont .newsTypeList .typeItem .tit {display: inline-block; color: #000; font-size: 20px; font-weight: 500; line-height: 1.2; word-break: keep-all;}
.mainNews .newsCont .newsTypeList .typeItem .desc {margin-top: 8px; color: #838383; font-size: 15px; line-height: 1.4; word-break: keep-all;}
.mainNews .newsCont .moreLink {position: absolute; right: 0; top: 15px; width: 100px; height: 40px; padding-top: 9px; border: 1px dashed #333; border-radius: 20px; font-size: 14px; font-weight: 500; text-align: center;}
.mainNews .newsCont .moreLink:after {content: '+'; display: inline-block; margin-left: 7px; vertical-align: top;}

@media screen and (min-width: 100px) and (max-width: 1079px) {
    .mainNews .newsArea {flex-wrap: wrap;}
    .mainNews .newsSlogan {width: 100%; padding: 14% 63.7% 14% 0; background-position: right center; background-size: 57%;}
    .mainNews .newsSlogan .sloganTxt img {width: 100%;}
    .mainNews .newsSlogan .sloganTxt i {padding-left: 0;}
    .mainNews .newsCont {width: 100%;}
    .mainNews .newsCont .newsTypeList .typeItem .pcBr {display: none;}
}

@media screen and (min-width: 100px) and (max-width: 767px) {
    .mainNews {position: relative; padding: 60px 0 28px; background-image: url(/common/images/main/m_main_news_bg01.png);}
    .mainNews:before {content: ''; position: absolute; left: 0; top: 62px; width: 118px; height: 136px; background: url(/common/images/main/m_main_news_bg02.png) 0 center / 100% no-repeat;}
    .mainNews:after {content: ''; position: absolute; right: 0; top: 46px; width: 116px; height: 174px; background: url(/common/images/main/m_main_news_bg03.png) center / 100% no-repeat;}
    .mainNews {padding: 60px 0 28px;}
    .mainNews .newsSlogan {padding: 12px 100px 0; background: none;}
    .mainNews .newsSlogan .sloganTxt {text-align: center;}
    .mainNews .newsSlogan .sloganTxt img {max-width: 142px;}
    .mainNews .newsSlogan .sloganTxt i {font-size: 15px;}
    .mainNews .newsSlogan .sloganTxt .mBr {display: inline;}
    .mainNews .newsCont {padding-top: 70px;}
    .mainNews .newsCont .contTit {margin-bottom: 22px; font-size: 24px;}
    .mainNews .newsCont .newsLocList {padding-bottom: 38px;}
    .mainNews .newsCont .newsLocList .locItem {width: 100%; margin-bottom: 8px;}
    .mainNews .newsCont .newsLocList .locItem:nth-child(odd) {margin-right: 0;}
    .mainNews .newsCont .newsLocList .locItem .loc {margin-right: 8px; padding: 0 3px; border-radius: 2px; font-size: 13px; line-height: 21px;}
    .mainNews .newsCont .newsLocList .locItem .tit {font-size: 15px;}
    .mainNews .newsCont .newsTypeList {padding-top: 0; border-top: 0;}
    .mainNews .newsCont .newsTypeList .typeItem {width: 100%; margin-bottom: 10px; border-radius: 4px;}
    .mainNews .newsCont .newsTypeList .typeItem:nth-child(odd) {margin-right: 0;}
    .mainNews .newsCont .newsTypeList .typeItem a {padding: 18px 20px 18px 98px;}
    .mainNews .newsCont .newsTypeList .typeItem a:before {left: 22px; width: 56px; height: 56px;}
    .mainNews .newsCont .newsTypeList .type01 a:before {background-size: 56px;}
    .mainNews .newsCont .newsTypeList .type02 a:before {background-size: 54px;}
    .mainNews .newsCont .newsTypeList .type03 a:before {background-size: 56px;}
    .mainNews .newsCont .newsTypeList .type04 a:before {background-size: 54px;}
    .mainNews .newsCont .newsTypeList .typeItem .tit {font-size: 16px;}
    .mainNews .newsCont .newsTypeList .typeItem .desc {margin-top: 3px;}
    .mainNews .newsCont .moreLink {top: 70px; width: 94px; height: 34px; padding-top: 5px; border: 1px dashed #333; border-radius: 17px; font-size: 15px;}
}


/* ---------------------------- program: 체력향상 프로그램 ---------------------------- */
.mainProgram {padding: 120px 0 105px;}
.mainProgram .programArea {position: relative; max-width: 1440px; margin: 0 auto; padding: 0 20px;}
.mainProgram .topTit {}
.mainProgram .topTit .tit {color: #050505; font-size: 46px; font-weight: 700;}
.mainProgram .topTit .desc {color: #666; font-size: 17px; font-weight: 500;}
.mainProgram .programList {margin-top: 35px;}
.mainProgram .programList > ul {display: flex; align-items: flex-end;}
.mainProgram .programList .prgmItem {width: 20%; margin-bottom: 25px;}
.mainProgram .programList .prgmItem > a {display: inline-block; max-width: 230px; width: 100%; height: 100%;}
.mainProgram .programList .prgmItem figure {margin: 0; text-align: center;}
.mainProgram .programList .prgmItem figure img {width: 100%; vertical-align: top;}
.mainProgram .programList .prgm01 figure img {max-width: 226px;}
.mainProgram .programList .prgm02 figure img {max-width: 227px;}
.mainProgram .programList .prgm03 figure img {max-width: 200px; margin-left: -8px;}
.mainProgram .programList .prgm04 figure img {max-width: 203px; margin-left: -5px;}
.mainProgram .programList .prgm05 figure img {max-width: 227px;}
.mainProgram .programList .prgmItem dl {position: relative; padding: 14px 0 0 34px;}
.mainProgram .programList .prgmItem dl:before {content: ''; position: absolute; right: 0; top: -47px; width: 47px; height: 47px; border-radius: 50%; background: #212e50 url(/common/images/main/main_program_icon01.png) center no-repeat;}
.mainProgram .programList .prgmItem dt {font-size: 26px; font-weight: 700;}
.mainProgram .programList .prgmItem dt .subTit {margin-left: 7px; color: #444; font-size: 15px; font-weight: 500;} /*2023.04.12 접근성 수정*/
.mainProgram .programList .prgmItem dd {margin-top: 10px; color: #666; font-size: 14px; line-height: 1.3;}
.mainProgram .moreLink {position: absolute; right: 20px; top: 15px; width: 100px; height: 40px; padding-top: 9px; border: 1px dashed #333; border-radius: 20px; font-size: 14px; font-weight: 500; text-align: center;}
.mainProgram .moreLink:after {content: '+'; display: inline-block; margin-left: 7px; vertical-align: top;}

@media screen and (min-width: 100px) and (max-width: 1199px) {
    .mainProgram .programList > ul {flex-wrap: wrap;}
    .mainProgram .programList .prgmItem {width: 33.333%;}
}

@media screen and (min-width: 100px) and (max-width: 767px) {
    .mainProgram {padding: 40px 0 105px;}
    .mainProgram .topTit {text-align: center;}
    .mainProgram .topTit .tit {font-size: 23px;}
    .mainProgram .topTit .desc {font-size: 13px;}
    .mainProgram .programList {margin-top: ;}
    .mainProgram .programList .prgmItem {width: 50%; margin-bottom: 10px; text-align: center;}
    .mainProgram .programList .prgmItem > a {max-width: 180px;}
    .mainProgram .programList .prgm01 figure img {max-width: 144px;}
    .mainProgram .programList .prgm02 figure img {max-width: 144px;}
    .mainProgram .programList .prgm03 figure img {max-width: 128px; margin-left: 0;}
    .mainProgram .programList .prgm04 figure img {max-width: 129px; margin-left: 0;}
    .mainProgram .programList .prgm05 figure img {max-width: 144px;}
    .mainProgram .programList .prgmItem dl {min-height: 64px; padding: 14px 0 0 0;}
    .mainProgram .programList .prgmItem dl:before {left: 130px; right: auto; top: -26px; width: 30px; height: 30px; border-radius: 50%; background-size: 28px;}
    .mainProgram .programList .prgm04 dl:before {left: 118px;}
    .mainProgram .programList .prgmItem dt {font-size: 17px; text-align: left;}
    .mainProgram .programList .prgmItem dt .subTit {margin-left: 7px; font-size: 11px;}
    .mainProgram .programList .prgmItem dd {margin-top: 4px; font-size: 13px; text-align: left;}
    .mainProgram .moreLink {display: none;}
}


/* ------------------------------- support: 고객지원센터 ------------------------------- */
.mainSupport {background: #e3e9f2; /*background: #e3e9f2 url(/common/images/main/main_support_bg01.png) calc(50% - 260px) calc(100% + 176px) no-repeat;*/}
.mainSupport .supportArea {display: flex; justify-content: space-between; position: relative; max-width: 1440px; margin: 0 auto; padding: 96px 20px 100px; font-size: 0;}
.mainSupport .supportArea:before {content: ''; position: absolute; left: 15%; bottom: 0; width: 437px; padding-top: 292px; background: url(/common/images/main/main_support_bg01.png) center top no-repeat;}
.mainSupport .supportTop {flex-shrink: 0; max-width: 300px; margin-right: 30px;}
.mainSupport .supportTop .topTit {display: inline-block; margin-bottom: 35px;}
.mainSupport .supportTop .topTit .tit {color: #252525; font-size: 48px; font-weight: 700;}
.mainSupport .supportTop .topTit .desc {margin-top: -4px; color: #252525; font-size: 20px; font-weight: 500;}
.mainSupport .supportTop .topContact {display: inline-block; padding-top: 16px; border-top: 1px solid #012850;}
.mainSupport .supportTop .topContact .num {font-size: 22px; font-style: normal; font-weight: 700; line-height: 1.4;}
.mainSupport .supportTop .topContact .num b {color: #000; font-size: 36px; font-weight: 700;}
.mainSupport .supportMenu {width: 69.7%;}
.mainSupport .supportMenu > ul {display: flex; width: 100%;}
.mainSupport .supportMenu .menuItem {width: 25%; margin-right: 14px; padding: 0 2.87%; border-radius: 10px; background: #fff;}
.mainSupport .supportMenu .menuItem:last-child {margin-right: 0;}
.mainSupport .supportMenu .menuItem .menuLink {display: block; position: relative; width: 100%; padding: 162px 0 38px; background-repeat: no-repeat; background-position-x: 0;}
.mainSupport .supportMenu .menu01 .menuLink {background-image: url(/common/images/main/main_support_icon01.png); background-position-y: 83px; background-size: 58px;}
.mainSupport .supportMenu .menu02 .menuLink {background-image: url(/common/images/main/main_support_icon02.png); background-position-y: 73px; background-size: 65px;}
.mainSupport .supportMenu .menu03 .menuLink {background-image: url(/common/images/main/main_support_icon03.png); background-position-y: 68px; background-size: 60px;}
.mainSupport .supportMenu .menu04 .menuLink {background-image: url(/common/images/main/main_support_icon04.png); background-position-y: 74px; background-size: 48px;}
.mainSupport .supportMenu .menuItem dt {font-size: 20px; font-weight: 500; line-height: 1.25; letter-spacing: -0.08em; word-break: keep-all;}
.mainSupport .supportMenu .menuItem dd {margin-top: 10px; color: #444; font-size: 14px; letter-spacing: -0.08em;} /*2023.04.12 접근성 수정*/
.mainSupport .supportMenu .menuItem .more {position: absolute; right: 0; top: 25px; width: 27px; height: 27px; background: url(/common/images/main/main_support_icon05.png) center / 27px no-repeat; font-size: 0;}

@media screen and (min-width: 100px) and (max-width: 1199px) {
    .mainSupport .supportArea {flex-wrap: wrap;}
    .mainSupport .supportArea::before {left: auto; right: 15px; top: 70px; bottom: auto;}
    .mainSupport .supportMenu {position: relative; width: 100%; margin-top: 16px;}
}

@media screen and (min-width: 100px) and (max-width: 1079px) {
    .mainSupport .supportMenu > ul {flex-wrap: wrap;}
    .mainSupport .supportMenu .menuItem {width: calc(50% - 7px); margin-top: 14px;}
    .mainSupport .supportMenu .menuItem:nth-child(2n) {margin-right: 0;}
    .mainSupport .supportMenu .menuItem dt br {display: none;}
}

@media screen and (min-width: 100px) and (max-width: 767px) {
    .mainSupport .supportArea {padding: 38px 20px 30px; background: url(/common/images/main/m_main_support_bg01.png) right 32px / 166px no-repeat;}
    .mainSupport .supportArea:before {content: none;}
    .mainSupport .supportTop .topTit {margin-bottom: 25px;}
    .mainSupport .supportTop .topTit .tit {font-size: 27px;}
    .mainSupport .supportTop .topTit .desc {margin-top: 0; font-size: 15px;}
    .mainSupport .supportTop .topContact {padding-top: 0; border-top: 0;}
    .mainSupport .supportTop .topContact .num {font-size: 12px; line-height: 1.15;}
    .mainSupport .supportTop .topContact .num b {font-size: 20px;}
    .mainSupport .supportMenu .menuItem {width: calc(50% - 5px); margin-right: 10px; padding: 0 3.5%; border-radius: 3px;}
    .mainSupport .supportMenu .menuItem .menuLink {padding: 94px 0 24px;}
    .mainSupport .supportMenu .menu01 .menuLink {background-position-y: 36px; background-size: 44px;}
    .mainSupport .supportMenu .menu02 .menuLink {background-position-y: 28px; background-size: 50px;}
    .mainSupport .supportMenu .menu03 .menuLink {background-position-y: 24px; background-size: 46px;}
    .mainSupport .supportMenu .menu04 .menuLink {background-position-y: 28px; background-size: 36px;}
    .mainSupport .supportMenu .menuItem dt {font-size: 15px;}
    .mainSupport .supportMenu .menuItem dd {margin-top: 4px; font-size: 12px;}
    .mainSupport .supportMenu .menuItem .more {top: 16px; width: 20px; height: 20px; background-size: 20px;}
}