/*-------------------------------------------------------------------
    파일정의 : 메인 스타일
    속성순서 : 레이아웃, 사이징, 박스모양, 글자모양, 문단모양, 기타모양
-------------------------------------------------------------------*/
/* 공통 */
.main{}

.main .container {max-width: 1460px;}

.main [class^='sec']{}
.main [class^='sec'] .title {font-size: 45px; font-weight: 700; font-family: 'Play'; color: #000000; line-height: 1.1111; word-break: keep-all;}
.main [class^='sec'] .title span {position: relative;}
.main [class^='sec'] .title span::after {position: absolute; width: 9px; height: 9px; background: #7BABD0; border-radius: 50%; right: -12px; bottom: 11px; content: ""; display: block;}
.main [class^='sec'] .txt-info {margin-top: 20px; font-size: 20px; line-height: 1.5; letter-spacing: -0.05em; word-break: keep-all;}
.main [class^='sec'] .txt-info strong {font-weight: 700;}

/* 섹션 */
.main .visual .swiper-slide {overflow: hidden;}
.main .visual .swiper-slide > * {position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.main .visual img {position: absolute; min-height: 100%; min-width: 100%; max-width: none;}
.main .visual .visual-cont {max-width: 1450px; width: 100%; padding-left: 20px; padding-right: 20px;}
.main .visual .txt-teller {color: #D5D5D5; font-size: 18px; font-weight: 700; font-family: 'Play'; letter-spacing: -0.025em; line-height: 1.555;}
.main .visual .txt {margin-top: 20px; font-size: 55px; line-height: 1.3636; color: #ffffff;}
.main .visual .txt strong {font-weight: 700;}
.main .visual .swiper-pagination {max-width: 1450px; width: 100%; left: 50%; bottom: 50%; transform: translate(-50%, 50%); text-align: left; padding-left: 20px; padding-right: 20px; transition: all 1s}
.main .visual .swiper-pagination-bullet {width: auto; height: auto; background: none; float: left; opacity: 0.5; color: #ffffff; font-family: 'Play'; font-weight: 700; letter-spacing: -0.025em; line-height: 1.8666; display: flex; align-items: center; justify-content: flex-start;}
.main .visual .swiper-pagination-bullet + .swiper-pagination-bullet {margin-left: 15px;}
.main .visual .swiper-pagination-bullet.swiper-pagination-bullet-active {opacity: 1;}
.main .visual .swiper-pagination-bullet > * {flex: none;}
.main .visual .swiper-pagination-bullet .timeline {width: 65px; height: 1px; background-color: rgba(255, 255, 255, 0.5); display: none; margin-left: 12px;}
.main .visual .swiper-pagination-bullet .timeline .bar {width: 0; height: 1px; background-color: #ffffff; animation: timeline 2.5s linear infinite; animation-delay: 1s;}
.main .visual .swiper-pagination-bullet.swiper-pagination-bullet-active .timeline,
.main .visual .swiper-pagination-bullet.swiper-pagination-bullet-active .timeline .bar {display: block;}
@keyframes timeline{
    0%{
        width: 0%;
    }
    100%{
        width: 100%;
    }
}

.main .healine {background: transparent radial-gradient(closest-side at 49% 92%, #253A46 0%, #223743 24%, #192C38 100%) 0% 0% no-repeat padding-box;}
.main .healine .container {background: url('../img/main/bg_healine.png') no-repeat center 36px; padding-top: 70px; padding-bottom: 72px;}
.main .healine img {margin: 0 auto;}
.main .healine .txt-headline {text-align: center; position: relative; color: #ffffff; font-size: 20px; letter-spacing: -0.05em; line-height: 1.4; margin-top: 51px;}
.main .healine .txt-headline::before {content: ""; width: 50px; height: 1px; background-color: #ffffff; opacity: 0.2; position: absolute; left: 50%; transform: translateX(-50%); top: -25px;}
.main .healine .txt-headline strong {font-weight: 700;}

.main .sec01 {padding-top: 113px; padding-bottom: 120px;}
.main .sec01 ul {margin-top: 60px;}
.main .sec01 ul::after {display: block; clear: both; content: "";}
.main .sec01 ul li {float: left; width: 330px; height: 413px; background-position: center; background-size: 100% auto; background-repeat: no-repeat; position: relative; overflow: hidden;}
.main .sec01 ul li + li {margin-left: 30px;}
.main .sec01 ul li:nth-child(1) {background-image: url('../img/main/bg_levalup.png');}
.main .sec01 ul li:nth-child(2) {background-image: url('../img/main/bg_online_evaluation.png');}
.main .sec01 ul li:nth-child(3) {background-image: url('../img/main/bg_edu_consulting.png');}
.main .sec01 ul li:nth-child(4) {background-image: url('../img/main/bg_supporting.png');}
.main .sec01 ul li img {position: absolute; right: 30px; top: 30px; z-index: 1; width: }
.main .sec01 ul li .txt-wrap {position: relative; width: 100%; padding: 40px 40px 0; color: #ffffff; z-index: 1;}
.main .sec01 ul li .txt-wrap.pc {position: absolute; bottom: 40px;}
.main .sec01 ul li .txt-wrap .tit {line-height: 1.307; font-size: 26px; font-weight: 700;}
.main .sec01 ul li .txt-wrap .tit-sub {margin-top: 5px; font-size: 18px; line-height: 1.1666; font-weight: 500; color: #D5D5D5;}
.main .sec01 ul li .txt-wrap .txt {line-height: 1.625; word-break: keep-all; margin-top: 30px;}

.main .sec02 {background: url('../img/main/bg_worth.png') no-repeat center; background-size: cover;}
.main .sec02 .inner {padding-top: 113px; padding-bottom: 190px; position: relative;}
.main .sec02 .title,
.main .sec02 .txt-info {text-align: center;}
.main .sec02 .title {color: #ffffff;}
.main .sec02 .txt-info {color: #D5D5D5;}
.main .sec02 ul {margin-top: 120px;}
.main .sec02 ul::after {display: block; clear: both; content: "";}
.main .sec02 ul li {float: left; padding-left: 40px; width: 25%; color: #ffffff;}
.main .sec02 ul li::before,
.main .sec02 ul li:nth-child(4)::after {position: absolute; width: 1px; height: 100%; content: ""; background-color: #FFFFFF; opacity: 0.15; top: 0;}
.main .sec02 ul li:nth-child(1)::before {left: 0;}
.main .sec02 ul li:nth-child(2)::before {left: 25%;}
.main .sec02 ul li:nth-child(3)::before {left: 50%;}
.main .sec02 ul li:nth-child(4)::before {left: 75%;}
.main .sec02 ul li:nth-child(4)::after {right: 0}
.main .sec02 ul li img {width: 56px;}
.main .sec02 ul li .tit {font-size: 28px; font-weight: 700; line-height: 1.1785; margin-top: 40px;}
.main .sec02 ul li .tit-sub {margin-top: 7px; color: #D5D5D5; line-height: 1.3125; font-family: 'Play';}
.main .sec02 ul li .txt {margin-top: 35px; line-height: 1.1875;}

.main .sec03 {padding-top: 140px; padding-bottom: 130px; background-color: #F4F6F7;}
.main .sec03 .title,
.main .sec03 .txt-info {padding-left: 10px;}
.main .sec03 .img-wrap {overflow: hidden; box-shadow: 10px 10px 40px #00000040;}

.main .consultant {background: #23313B url('../img/main/bg_consultant.png') no-repeat center bottom; background-size: auto 100%; color: #ffffff; overflow: hidden;}
.main .consultant .txt01 {position: relative; padding-left: 27px; font-size: 16px; font-family: 'Play'; font-weight: 700; line-height: 1.3125;}
.main .consultant .txt01::before {width: 15px; height: 1px; content: ""; background-color: #ffffff; position: absolute; left: 0; top: 11px;}
.main .consultant .txt02 {font-size: 28px; line-height: 1.5; letter-spacing: -0.04em; margin-top: 16px;}
.main .consultant .txt02 strong {font-weight: 700;}
.main .consultant .txt03 {line-height: 1.3125; color: #D5D5D5; margin-top: 18px;}

.main .company {padding-top: 140px; padding-bottom: 130px; overflow: hidden; background: url('../img/main/bg_company.png') no-repeat center bottom; background-size: 100% auto;}
.main .company .work {text-align: center;}
.main .company .work::after {content: ""; clear: both; display: block;}
.main .company .work + .work {margin-top: 100px;}
.main .company .work .img-wrap img {max-width: none; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%); width: 115.21%; margin-left: 2.9%; margin-top: 2.9%;}
.main .company .work .txt-wrap {margin-top: 125px;}
.main .company .work .txt-wrap .tit {font-size: 36px; font-weight: 700; font-family: 'Play';}
.main .company .work .txt-wrap .tit-sub {font-weight: 700; margin-top: 14px; font-size: 20px; line-height: 1.2; letter-spacing: -0.05em;}
.main .company .work .txt-wrap .txt {padding-top: 65px; position: relative; line-height: 1.1875; word-break: keep-all;}
.main .company .work .txt-wrap .txt::before {width: 1px; height: 35px; background-color: #243946; opacity: 0.35; top: 15px; content: ""; position: absolute; left: 50%; transform: translateX(-50%);}
.main .company .work .txt-wrap .txt strong {font-weight: 700;}
.main .company .work .support {margin-top: 40px; display: flex; justify-content: center;}
.main .company .work .support .item {flex: none; width: 200px; height: 90px; display: flex; align-items: center; justify-content: center; text-align: center; background-color: #F4F6F8; border-radius: 10px;}
.main .company .work .support .item + .item {margin-left: 15px;}
.main .company .work .support .item p {font-size: 14px; font-weight: 500; color: #939495; letter-spacing: -0.05em; line-height: 1.5;}
.main .company .work .support .item p strong {color: #243946; font-weight: 700; font-size: 16px;}

@media screen and (min-width: 1460px) {
    .main .visual .swiper-container {height: 900px;}

    .main .sec01 ul li,
    .main .sec01 ul li img,
    .main .sec01 ul li::after,
    .main .sec01 ul li .txt-wrap.pc,
    .main .sec01 ul li .txt-wrap:not(.pc) {transition: all 0.2s;}
    .main .sec01 ul li::after {display: block; position: absolute; width: 100%; height: 100%; content: ""; background-color: #000000; opacity: 0; z-index: 0; top: 0; left: 0;}
    .main .sec01 ul li .txt-wrap:not(.pc) {opacity: 0; transform: translateY(30px);}
    .main .sec01 ul li:hover {box-shadow: 10px 10px 20px #0000004D; transform: translateY(-30px);}
    .main .sec01 ul li:hover::after {opacity: 0.7;}
    .main .sec01 ul li:hover img,
    .main .sec01 ul li:hover .txt-wrap.pc {opacity: 0;}
    .main .sec01 ul li:hover .txt-wrap:not(.pc) {opacity: 1; transform: translateY(0);}

    .main .sec03 .img-wrap {width: 690px; height: 440px; float: left;}
    .main .sec03 .img-wrap img {transition: all 0.3s;}
    .main .sec03 .img-wrap:hover img {transform: scale(1.06);}
    .main .sec03 .txt-wrap {float: left; margin-left: 110px; margin-top: 47px;}
    .main .sec03 ul {overflow: hidden; margin-top: 60px;}
    .main .sec03 ul li {float: left; min-width: 300px; display: flex; align-items: center; justify-content: flex-start; margin-top: 35px;}
    .main .sec03 ul li:nth-child(odd) {clear: both;}
    .main .sec03 ul li:nth-child(-n + 2) {margin-top: 0;}
    .main .sec03 ul li > * {flex: none;}
    .main .sec03 ul li img {width: 50px;}
    .main .sec03 ul li p {font-weight: 500; color: #AAAAAA; line-height: 1.1875; margin-left: 10px;}
    .main .sec03 ul li p strong {color: #000000; font-weight: 700; font-size: 42px; line-height: 1.333; vertical-align: middle; display: inline-block; margin-right: 10px;}

    .main .consultant img {float: left; margin-left: -57px; margin-right: -17px; margin-bottom: -260px; margin-top: -140px; transform: translateY(77px);}
    .main .consultant .txt-wrap {float: right; width: calc(100% - 471px); padding: 113px 0}
    
    .main .company {background: none;}
    .main .company .work .img-wrap {width: 690px; height: 450px; position: relative;}
    .main .company .work .txt-wrap {float: left; width: calc(100% - 690px);}
    .main .company .work:nth-child(odd) .img-wrap {float: right;}
    .main .company .work:nth-child(even) .img-wrap {float: left;}
}

@media screen and (max-width: 1460px) {
    .main [class^='sec'] .title {font-size: 36px; line-height: 1.3333;}
    .main [class^='sec'] .title span::after {width: 9px; height: 9px; right: -14px; bottom: 11px;}
    .main [class^='sec'] .txt-info {margin-top: 21px; font-size: 24px; line-height: 1.5;}

    .main .visual .swiper-container {height: 100vh;}
    .main .visual .visual-cont {text-align: center;}
    .main .visual .txt-teller {font-size: 21px; line-height: 1.357;}
    .main .visual .txt {margin-top: 14px; font-size: 39px; line-height: 1.3846;}
    .main .visual .swiper-pagination {display: flex; align-items: center; justify-content: center;}
    .main .visual .swiper-pagination-bullet {line-height: 1.3076; font-size: 20px;}
    .main .visual .swiper-pagination-bullet + .swiper-pagination-bullet {margin-left: 15px;}
    .main .visual .swiper-pagination-bullet .timeline {width: 65px; height: 1px; margin-left: 11px;}
    
    .main .healine .container {background: url('../img/main/bg_healine.png') no-repeat center bottom; background-size: 180px; padding-top: 75px; padding-bottom: 75px;}
    .main .healine .txt-headline {font-size: 24px;  line-height: 1.625; margin-top: 48px;}
    .main .healine .txt-headline::before {width: 60px; top: -24px;}

    .main .sec01 {padding-top: 84px; padding-bottom: 120px;}
    .main .sec01 ul {margin-top: 30px;}
    .main .sec01 ul li {width: 100%; min-height: 300px; height: auto; padding: 30px 0 45px}
    .main .sec01 ul li + li {margin-left: 0; margin-top: 23px;}
    .main .sec01 ul li img {position: static; margin: 0 auto; width: 53px;}
    .main .sec01 ul li .txt-wrap {padding: 15px 45px 0; text-align: center;}
    .main .sec01 ul li .txt-wrap.pc {display: none;}
    .main .sec01 ul li .txt-wrap .tit {font-size: 30px;}
    .main .sec01 ul li .txt-wrap .tit-sub {margin-top: 6px; font-size: 23px; line-height: 1.2; }
    .main .sec01 ul li .txt-wrap .txt {line-height: 1.5714; margin-top: 23px;}

    .main .sec02 .inner {padding-top: 84px; padding-bottom: 90px;}
    .main .sec02 ul {margin-top: 60px;}
    .main .sec02 ul li {padding-left: 123px; width: 100%; position: relative; display: flex; flex-wrap: wrap; padding-top: 29px; padding-bottom: 26px;}
    .main .sec02 ul li::before,
    .main .sec02 ul li:nth-child(4)::after {width: calc(100% + 40px); height: 1px;}
    .main .sec02 ul li:nth-child(1)::before {left: -20px;}
    .main .sec02 ul li:nth-child(2)::before {left: -20px;}
    .main .sec02 ul li:nth-child(3)::before {left: -20px;}
    .main .sec02 ul li:nth-child(4)::before {left: -20px;}
    .main .sec02 ul li:nth-child(4)::after {right: auto; bottom: 0; top: auto; left: -20px;}
    .main .sec02 ul li:nth-child(1),
    .main .sec02 ul li:nth-child(4) {padding-top: 29px;}
    .main .sec02 ul li img {position: absolute; left: 21px; top: 50%; transform: translateY(-50%); width: 60px;}
    .main .sec02 ul li .tit {font-size: 27px; line-height: 1.166; flex: none; margin-top: 0;}
    .main .sec02 ul li .tit-sub {margin-top: 0; margin-left: 8px; font-size: 21px; line-height: 1.3125;}
    .main .sec02 ul li .txt {margin-top: 0; width: 100%; margin-top: 8px; font-size: 21px; line-height: 1.1875;}

    .main .sec03 {padding-top: 84px; padding-bottom: 90px;}
    .main .sec03 .title,
    .main .sec03 .txt-info {padding-left: 0; text-align: center;}
    .main .sec03 .img-wrap {margin-top: 53px;}
    .main .sec03 .txt-wrap {margin-top: 75px;}
    .main .sec03 .txt-wrap ul::after {display: block; clear: both; content: "";}
    .main .sec03 .txt-wrap ul li {width: 50%; float: left; text-align: center; height: 171px; display: flex; align-items: center; justify-content: center; flex-direction: column; border-top: 1px solid #EDEDED;}
    .main .sec03 .txt-wrap ul li:nth-child(-n + 2) {border-top: 0;}
    .main .sec03 .txt-wrap ul li:nth-child(even) {border-left: 1px solid #EDEDED;}
    .main .sec03 .txt-wrap ul li img {width: 60px;}
    .main .sec03 .txt-wrap ul li p {font-size: 21px; font-weight: 500; color: #AAAAAA;}
    .main .sec03 .txt-wrap ul li p strong {display: block; text-align: center; color: #000000; font-size: 36px; font-weight: 700; font-family: 'Play';}

    .main .consultant {background: #23313B url('../img/main/bg_consultant_m.png') no-repeat center 80px; background-size: 137px; text-align: center;}
    .main .consultant .container {padding-top: 81px; padding-bottom: 400px;}
    .main .consultant .txt01 {padding-left: 0; padding-top: 6px; font-size: 21px;  line-height: 1.3571;}
    .main .consultant .txt01::before {width: 23px; height: 2px; left: 50%; top: 0; transform: translateX(-50%)}
    .main .consultant .txt02 {font-size: 27px; line-height: 1.4444; margin-top: 24px;}
    .main .consultant .txt02 .empty {display: block; height: 23px;}
    .main .consultant .txt03 {margin-top: 27px; line-height: 1.357; font-size: 21px}
    .main .consultant img {position: absolute; bottom: 0; left: 50%; transform: translate(-50%, 7.4%); width: 406px;}

    .main .company {padding-top: 90px; padding-bottom: 68px;}
    .main .company .work + .work {margin-top: 105px;}
    .main .company .work .img-wrap {width: 100%; padding-top: 65.136%; position: relative;}
    .main .company .work .img-wrap img {width: 115.21%; margin-left: 2.9%; margin-top: 2.9%;}
    .main .company .work .txt-wrap {margin-top: 54px;}
    .main .company .work .txt-wrap .tit {font-size: 30px; line-height: 1.35;}
    .main .company .work .txt-wrap .tit-sub {margin-top: 14px; font-size: 24px; line-height: 1.1875;}
    .main .company .work .txt-wrap .txt {padding-top: 60px; font-size: 24px; line-height: 1.5;}
    .main .company .work .txt-wrap .txt::before {width: 1px; height: 38px; top: 12px;}
    .main .company .work .support {margin-top: 45px;}
    .main .company .work .support .item {flex: 1 0; height: 135px; border-radius: 15px;}
    .main .company .work .support .item + .item {margin-left: 18px;}
    .main .company .work .support .item p {font-size: 18px; line-height: 1.5;}
    .main .company .work .support .item p strong {font-size: 24px;}
}

@media screen and (max-width: 1210px) {
    .main [class^='sec'] .title {font-size: 3.6rem;}
    .main [class^='sec'] .title span::after {width: 0.9rem; height: 0.9rem; right: -1.4rem; bottom: 1.1rem;}
    .main [class^='sec'] .txt-info {margin-top: 2.1rem; font-size: 2.4rem;}

    .main .visual .txt-teller {font-size: 2.1rem;}
    .main .visual .txt {margin-top: 1.4rem; font-size: 3.9rem;}
    .main .visual .swiper-pagination-bullet {font-size: 2rem;}
    .main .visual .swiper-pagination-bullet + .swiper-pagination-bullet {margin-left: 1.5rem;}
    .main .visual .swiper-pagination-bullet .timeline {width: 6.5rem; margin-left: 1.1rem;}
    
    .main .healine .container {background: url('../img/main/bg_healine.png') no-repeat center bottom; background-size: 18rem; padding-top: 7.5rem; padding-bottom: 7.5rem;}
    .main .healine .txt-headline {font-size: 2.4rem; margin-top: 4.8rem;}
    .main .healine .txt-headline::before {width: 6rem; top: -2.4rem;}

    .main .sec01 {padding-top: 8.4rem; padding-bottom: 12rem;}
    .main .sec01 ul {margin-top: 3rem;}
    .main .sec01 ul li {min-height: 30rem; padding: 3rem 0 4.5rem}
    .main .sec01 ul li + li {margin-top: 2.3rem;}
    .main .sec01 ul li img {width: 5.3rem;}
    .main .sec01 ul li .txt-wrap {padding: 1.5rem 4.5rem 0;}
    .main .sec01 ul li .txt-wrap .tit {font-size: 3rem;}
    .main .sec01 ul li .txt-wrap .tit-sub {margin-top: 0.6rem; font-size: 2.3rem;}
    .main .sec01 ul li .txt-wrap .txt {margin-top: 2.3rem;}

    .main .sec02 .inner {padding-top: 8.4rem; padding-bottom: 9rem;}
    .main .sec02 ul {margin-top: 6rem;}
    .main .sec02 ul li {padding-left: 12.3rem; padding-top: 2.9rem; padding-bottom: 2.6rem;}
    .main .sec02 ul li::before,
    .main .sec02 ul li:nth-child(4)::after {width: calc(100% + 4rem);}
    .main .sec02 ul li:nth-child(1)::before {left: -20px;}
    .main .sec02 ul li:nth-child(2)::before {left: -20px;}
    .main .sec02 ul li:nth-child(3)::before {left: -20px;}
    .main .sec02 ul li:nth-child(4)::before {left: -20px;}
    .main .sec02 ul li:nth-child(4)::after {left: -20px;}
    .main .sec02 ul li:nth-child(1),
    .main .sec02 ul li:nth-child(4) {padding-top: 2.9rem;}
    .main .sec02 ul li img {left: 2.1rem; width: 6rem;}
    .main .sec02 ul li .tit {font-size: 2.7rem;}
    .main .sec02 ul li .tit-sub {margin-left: 0.8rem; font-size: 2.1rem;}
    .main .sec02 ul li .txt {margin-top: 0.8rem; font-size: 2.1rem;}

    .main .sec03 {padding-top: 8.4rem; padding-bottom: 9rem;}
    .main .sec03 .img-wrap {margin-top: 5.3rem;}
    .main .sec03 .txt-wrap {margin-top: 7.5rem;}
    .main .sec03 .txt-wrap ul li {height: 17.1rem;}
    .main .sec03 .txt-wrap ul li img {width: 6rem;}
    .main .sec03 .txt-wrap ul li p {font-size: 2.1rem;}
    .main .sec03 .txt-wrap ul li p strong {font-size: 3.6rem;}

    .main .consultant {background: #23313B url('../img/main/bg_consultant_m.png') no-repeat center 8rem; background-size: 13.7rem;}
    .main .consultant .container {padding-top: 8.1rem; padding-bottom: 40rem;}
    .main .consultant .txt01 {padding-top: 0.6rem; font-size: 2.1rem;}
    .main .consultant .txt01::before {width: 2.3rem; height: 2px;}
    .main .consultant .txt02 {font-size: 2.7rem; margin-top: 2.4rem;}
    .main .consultant .txt02 .empty {height: 2.3rem;}
    .main .consultant .txt03 {margin-top: 2.7rem; font-size: 2.1rem}
    .main .consultant img {width: 40.6rem;}

    .main .company {padding-top: 9rem; padding-bottom: 6.8rem;}
    .main .company .work + .work {margin-top: 10.5rem;}
    .main .company .work .txt-wrap {margin-top: 5.4rem;}
    .main .company .work .txt-wrap .tit {font-size: 3rem;}
    .main .company .work .txt-wrap .tit-sub {margin-top: 1.4rem; font-size: 2.4rem;}
    .main .company .work .txt-wrap .txt {padding-top: 6rem; font-size: 2.4rem;}
    .main .company .work .txt-wrap .txt::before {height: 3.8rem; top: 1.2rem;}
    .main .company .work .support {margin-top: 4.5rem;}
    .main .company .work .support .item {height: 13.5rem; border-radius: 1.5rem;}
    .main .company .work .support .item + .item {margin-left: 1.8rem;}
    .main .company .work .support .item p {font-size: 1.8rem;}
    .main .company .work .support .item p strong {font-size: 2.4rem;}
}