@charset "utf-8";

@media (min-width: 769px) and (max-width: 1399px) {
    .study-wrap,
    .study-wrap .section {
        width: 100%;
    }
    .point_banner .typeB-txt h1 {
        font-size: 1.8em;
    }
    
    .point_banner .typeD-txt h1 {
        font-size: 1.8em;
    }
    
    .sub-tit img {
        width: 300px;
    }
    
    .sub-tit p {
        font-size: 1.6em;
    }
    
    /* class open 추가 */
    .feature-content {
        height: 900px;
    }
    .feature-cards {
        width: 100%;
        padding: 0 15px;
    }
    .feature-card.open .card-wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .feature-card.open .card-wrap .card-title {
        color: #24A8B2;
        font-size: 1.5em;
        font-weight: bold;
    }
    .feature-card.open .card-wrap img {
        display: none;
    }
    .feature-card.open .card-txt {
        margin-top: 10px;
        font-size: 1.2em;
    }
    .feature-card.open .laptop-view {
        display: block;
    }
    
    /* laptop-view */
    .laptop-view {
        display: none;
        width: 100%;
        height: 300px;
        position: relative;
        padding-left: 0;
        overflow: hidden;
        border-radius: 0 0 10px 10px;
    }   
    .laptop-view img {
        position: absolute;
        width: 87%;
        top: 3%;
        object-fit: scale-down;
    }

    .feature-cards li:nth-of-type(1) .laptop-view {
        background: #FFF1E2;
    }
    .feature-cards li:nth-of-type(2) .laptop-view {
        background: #DEFFFD;
    }
    .feature-cards li:nth-of-type(3) .laptop-view {
        background: #EFF1FF;
    }
    .feature-cards li:nth-of-type(4) .laptop-view {
        background: #DFF5DE;
    }
    .feature-cards li:nth-of-type(5) .laptop-view {
        background: #FFE9EF;
    }
    .feature-cards li:nth-of-type(6) .laptop-view {
        background: #E7FFF8;
    }

    
    /* section-introduce - process */
    /* process title */
    .process-wrap .process-tit h1 {
        padding: 60px 50px 20px 50px;
        font-family: 'GmarketSansBold';
        font-size: 45px;
        text-align: center;
        letter-spacing: -3px;
    }

    .process-level {
        width: 100%;
        display: flex;
        flex-wrap: wrap;
        align-items: center;
        padding: 0;
    }

    .process-level .card {    
        width: 47%;
        height: 195px;
        margin: 10px;
        position: relative;
        flex-direction: column;
        flex-flow: wrap;
        background: #F2F2F2;
        border-radius: 15px;
        padding-left: 25px;
    }

    .process-level .card h1{
        margin: 20px 0 8px;    
        font-weight: bold;
        font-size: 21px;
    }

    .process-level .card ul {
        width: 90%;
        height: 125px;
        margin-top: 5px;
    }
    .process-level .card:last-child ul {
        margin-top: 0;
    }
    
    .process-level .card ul li {
        font-size: 16px;
        line-height: 1.4;
    }
    
    .process-level .card ul li small {
        font-size: 14px;
        line-height: 1;
    }
    
    .process-level .card ul li i {
        width: 40px;
        height: 15px;
        font-size: 12px;
    }

    .process-level .card.level-2 ul li:nth-child(4) {
        font-size: 16px;
    }

    .level-1 .mark {
        padding: 3px 6px;
        margin-right: 8px;
        background: #5FC8C3;
        border-radius: 5px;
        color: #fff;
        font-size: 15px;
    }

    .level-2 .mark {
        font-size: 15px;
    }
    .level-3 .mark {
        font-size: 15px;
    }
    .level-4 .mark {
        font-size: 15px;
    }
    .card p {
        position: absolute;
        right: 0;
        width: 30%;
        margin: 20px 20px 20px 0;
    }
    .card:nth-child(2) p {
        width: 28%;
    }
    .card p img {
        width: 90%;
    }
    
    .point_banner.typeC {
        padding: 0 20px;
    }
    
    footer .container {
        width: 90%;
    }
    
    /* study-wrap */ 
    .study-wrap .section .tit {
        width: 150px;
        height: 40px;
        line-height: 45px;
        font-size: 25px;
    }
    .study-wrap .section h1 {
        font-size: 35px;
    }
    .study-wrap .section p {
        font-size: 18px;
    }
    .study-wrap .section .img-box {
        width: 700px;
        height: 300px;
        margin: 0 auto;
    }
    .study-wrap .section .img-box img {
        max-width: 30px;
        width: auto;
        height: auto;
    }

    /* 리뉴얼 추가 */
    #partner .con-authn {
        width: 1060px;
        /*height: 431px;*/
    }

    #partner .con-patent {
        height: 800px;
    }

    #partner .con-who div {
        width: 1062px;
        height: 552px;
    }

    #partner .worry-con {
        width: 344px;
        height: 396px;
        padding: 40px;
    }

    #partner .worry-con li img {
        width: 155px;
        height: 162px;
    }

    #partner .worry-txt .worry-title {
        font-size: 26px;
    }
    #partner .worry-txt p:nth-of-type(2) {
        font-size: 18px;
        line-height: 24px;
    }
    
    .point-wrap {
        height: auto;
        padding: 0 0 50px;
    }
    
    .point-title {
        width: 100%;
        height: auto;
        padding-bottom: 50px;
    }
    
    .point-title p {
        padding: 0 50px;
        font-size: 1.2em;
        line-height: 1.2;
    }
    
    .point-con .point,
    .point ul.point-txt {
        width: 400px;
        height: auto;
    }
    
    .point ul.point-txt {
        margin-top: 13px;
        padding-top: 55px;
    }
    
    .point-wrap .point-con {
        width: 90%;
        padding-top: 50px;
        gap: 10px;
    }
    
    .point-txt ul li:nth-of-type(1) {
        font-size: 1.4em;
        letter-spacing: 0;
    }
    
    .point-txt ul li:nth-of-type(2) {
        font-size: 1.2em;
        letter-spacing: 0;
        line-height: 1.2;
    }

    .sub-con ul {
        margin-top: 120px;
        height: 1400px;
    }


    /* study-wrap */
    .study-wrap .section .tit {
        width: 150px;
        height: 40px;
        line-height: 45px;
        font-size: 25px;
    }
    .study-wrap .section h1 {
        font-size: 2em;
        padding: 0px 50px;
        text-align: center;
        letter-spacing: -2px;
    }
    .study-wrap .section p {
        font-size: 1.6em;
        padding: 0 50px;
        line-height: 1.2;
    }
    .study-wrap .section .img-box {
        width: 90%;
        height: auto;
        display: flex;
        flex-direction: column;
        margin: 10px auto 0;
    }
    
    .study-wrap .section .img-box .box-title,
    .sub-con-wrap {
        max-width: 100%;
        height: auto;
    }
    
    .sub-con-wrap {
        margin-top: 50px;
    }
    
    .sub-con-wrap .sub-con {
        width: 90%;
        margin: 0 auto;
    }
    
    .sub-con-wrap .sub-con:nth-of-type(2) {
        margin-top: 30px;
    }

    .study-wrap .section .img-box h2 {
        font-size: 1.8em;
    }
    
    .con-txt ul li {
        font-size: 1.5em;
        line-height: 0.2;
    }
    
    .study-wrap .section .box-title img {
        max-width: 30px;
        width: auto;
        height: auto;
    }
    
    .con-txt ul li::before {
        width: 3px;
        height: 3px;
        left: -6px;
    }
    
    .study-wrap .img-box .box-con {
        flex-direction: row;
        gap: 10px;
    }
    
    .box-con .con-txt {
        line-height: 1.2;
        margin-left: -10px;
    }
    
    .study-wrap .img-box .box-con img {
        max-width: 600px;
        height: auto;
    }
    
    .study-wrap .section:nth-child(2) {
        width: 100%;
        margin-top: 50px;
    }
    
    .study-wrap .student-wrap {
        width: 100%;
        flex-direction: column;
        margin: 0 auto;
        gap: 10px;
    }

    .section-con > div {
        width: 480px;
        height: 400px;
    }

    .section-con > div .section-img img {
        width: 100%;
        height: 100%;
    }

    #so-ssam .con-img {
        padding: 0 8%;
        justify-content: center;
    }

    footer .footer-top > .footer-wrap,
    footer .footer-bottom > .footer-wrap {
        max-width: 1000px;
    }


    .each-part .section h1 {
        font-size: 46px !important;
    }

    .each-part .section h2 {
        font-size: 25px !important;
    }
}

@media  (max-width: 1200px) {
    .study-wrap,
    .study-wrap .section {
        width: 100%;
    }
    
    .system ul li:nth-child(2){
        font-size: 30px;
        letter-spacing: -2px;
    }
    .system ul li:nth-child(2) p {
        font-size: 45px;
    }

    /* 리뉴얼 추가 */
    #partner {
        padding-top: 50px;
    }
    #partner h1 {
        font-size: 46px;
    }

    #partner img {
        width: 296px;
        height: 40px;
    }

    #partner .con-patent {
        height: 790px;
    }

    #partner .con-patent ul li {
        width: 154px;
        height: 220px;
    }

    #partner .con-who div {
        width: 898px;
        height: 468px;
    }

    #partner .worry-con {
        width: 290px;
        height: 335px;
        padding: 30px 20px;
    }

    #partner .worry-con img {
        width: 155px;
        height: 145px;
    }

    #partner .con-worry {
        height: 600px;
    }

    #partner .worry-txt .worry-title {
        font-size: 20px;
    }
    #partner .worry-txt p:nth-of-type(2) {
        font-size: 16px;
        line-height: 24px;
    }
    
    .point-wrap {
        height: auto;
        padding: 0 0 50px;
    }
    
    .point-title {
        width: 100%;
        height: auto;
        padding-bottom: 50px;
    }
    
    .point-title p {
        padding: 0 50px;
        font-size: 1.2em;
        line-height: 1.2;
    }
    
    .point-con .point,
    .point ul.point-txt {
        width: 350px;
        height: auto;
    }
    
    .point ul.point-txt {
        margin-top: 13px;
        padding-top: 55px;
    }
    
    .point-wrap .point-con {
        width: 90%;
        padding-top: 50px;
        gap: 10px;
    }
    
    .point-txt ul li:nth-of-type(1) {
        font-size: 1.4em;
        letter-spacing: 0;
    }
    
    .point-txt ul li:nth-of-type(2) {
        font-size: 1.2em;
        letter-spacing: 0;
        line-height: 1.2;
    }
    
    .point p,
    .sub-con p {
        width: 50%;
        height: auto;
        font-size: 1.2em;
        line-height: 200%;
    }
    
    .sub-con ul {
        height: auto !important;
        padding: 60px 30px 30px;
    }
    
    .sub-con ul li {
        font-size: 1em;
        line-height: 1.2; 
        margin: 0 0 10px;
    }
    
    .sub-con p {
        width: 80%;
        top: -10px;
        letter-spacing: -2px;
    }
    
    .point_banner.typeC {
        min-height: 160px;
        padding: 50px 0;
    }
    
    .point_banner.typeC .btn_contact {
        width: 230px;
        height: 58px;
        font-size: 1.2em;
        padding-top: 4px;
        line-height: 28px;
    }
    .typeC .typeB-txt {
        margin-top: 40px;
    }
    
    /* study-wrap */
    .study-wrap .section .tit {
        width: 150px;
        height: 40px;
        line-height: 45px;
        font-size: 25px;
    }
    .study-wrap .section h1 {
        font-size: 2.5em;
        padding: 0px 50px;
        text-align: center;
        letter-spacing: -2px;
    }
    .study-wrap .section p {
        font-size: 1.6em;
        padding: 0 50px;
        line-height: 1.2;
    }
    .study-wrap .section .img-box {
        width: 90%;
        height: auto;
        display: flex;
        flex-direction: column;
        margin: 10px auto 0;
    }
    
    .study-wrap .section .img-box .box-title,
    .sub-con-wrap {
        max-width: 100%;
        height: auto;
    }
    
    .sub-con-wrap {
        margin-top: 50px;
        padding: 0 20px;
    }

    .sub-con ul li img {
        margin-top: 0;
    }

    .sub-con-wrap .sub-con {
        width: 90%;
        margin: 0 auto;
    }
    
    .sub-con-wrap .sub-con:nth-of-type(2) {
        margin-top: 30px;
    }

    .study-wrap .section .img-box h2 {
        font-size: 1.8em;
    }
    
    .con-txt ul li {
        font-size: 1.5em;
        line-height: 1.2;
    }
    
    .study-wrap .section .box-title img {
        max-width: 30px;
        width: auto;
        height: auto;
    }
    
    .con-txt ul li::before {
        width: 3px;
        height: 3px;
        left: -6px;
    }
    
    .study-wrap .img-box .box-con {
        flex-direction: row;
        gap: 10px;
    }
    
    .box-con .con-txt {
        line-height: 1.2;
        margin-left: -10px;
    }
    
    .study-wrap .img-box .box-con img {
        max-width: 460px;
        height: auto;
    }
    
    .study-wrap .section:nth-child(2) {
        width: 100%;
        margin-top: 50px;
    }
    
    .study-wrap .student-wrap {
        width: 100%;
        flex-direction: column;
        margin: 0 auto;
        gap: 10px;
    }

    .footer-wrap .footer-bottom-bottom {
        flex-direction: column;
        gap: 20px;
    }

    .part-teacher p, .part-student p {
        font-size: 3.4rem;
        width: 100%;
    }

    .part-teacher {
        height: 80px;
    }
    .part-student {
        height: 100px;
    }

    .part-teacher p {
        text-indent: 0;
        font-size: 2.7rem;
        line-height: 80px;
    }

    .part-student p {
        text-indent: 0;
        font-size: 2.7rem;
        line-height: 60px;
        height: 100px;
        padding-top: 20px;
    }

    .section .section-con {
        flex-direction: column;
    }

    .part-teacher div::before,
    .part-student div::before {
        display:none;
    }

    #partner .con-authn {
        width: 100%;
    }

    #partner .con-authn img {
        width: 230px;
        height: 70px;
    }

    #partner .con-authn img:nth-of-type(2),
    #partner .con-authn img:nth-of-type(5) {
        width: 208px;
        height: 70px;
    }


    #partner .con-authn img:nth-of-type(7),
    #partner .con-authn img:nth-of-type(8) {
        width: 183px;
        height: 70px;
    }
}

@media (min-width: 320px) and (max-width: 990px) {

    /* header */
    header {
        width: 100%;
        min-width: 36px;
        height: 90px;
        padding: 20px 40px 20px;
    }
    header .container {
        width: 100%;
        height: 100%;
    }
    header .logo {
        width: 200px;
        background-size: 50%;
        height: 50px;
    }
    header .aside .btn-nav {
        height: 60px;
    }

    /* 모바일메뉴 전체보기 */
    .scrollLock {
        overflow: hidden;
        touch-action: none;
    }
    div.bg.on {
        display: block;
        z-index: 25;
        position: absolute;
        left: 0;
        right: 0;
        width: 100%;
        height: 100%;
        background: rgba(0, 0, 0, 0.7);
    }
    header .mo-nav-menu {
        z-index: 99999;
        position: absolute;
        top: 0;
        left: -100%;
        width: 100%;
        height: 360px;
        background: #fff;
    }
    header .mo-nav-menu.active {
        display: block;
        left: 0;
    }

    .mo-nav-menu .mo-top {
        display: flex;
        width: 100%;
        height: 90px;
        padding: 20px 40px 20px;
    }

    .mo-nav-menu .mo-top li:first-child {
        width: 200px;
        background: url(../images/top_logo.png) no-repeat;
        background-size: 50%;
        height: 50px;
    }

    .mo-nav-menu .mo-top li button {
        position: absolute;
        right: 50px;
        display: block !important;
        width: 25px;
        height: 60px;
        z-index: 10;
        background: url(../images/icon_close.png) no-repeat center;
        text-indent: -99999px;
    }

    .mo-nav-menu .gnb {
        width: 100%;
        height: auto;
        padding: 10px 40px;
        display: flex;
        flex-direction: column;
        gap: 2px;
    }
    
    .mo-nav-menu .gnb li {
        width: 100%;
        height: 40px;
        position: relative;
        font-size: 18px;
        font-weight: 500;
        color: #151515;
    }

    .mo-nav-menu .gnb li:nth-child(3) a,
    .mo-nav-menu .gnb li:nth-child(4) a {
        display: inline-block;
        width: 100%;
        height: 40px;
        line-height: 40px;
        border-radius: 10px;
        text-align: center;
        background: #FF9335;
        color: #fff !important;
    }
    .mo-nav-menu .gnb li:nth-child(4) a {
        background: #2162F3;
        margin-top: 5px;

    }




    /* 리뉴얼 추가 */
    #visual .visual-img video {
        width: 614px !important;
        height: 488px;
    }
    #partner h1 {
        font-size: 44px;
        padding: 0 30px;
    }

    #partner .con-patent {
        height: auto;
        padding-top: 70px;
        padding-bottom: 60px;
    }

    #partner .con-patent ul {
        width: 89%;
    }

    #partner .con-patent ul li {
        width: 154px;
        height: 220px;
        margin-bottom: 20px;
    }

    #partner .con-who div {
        width: 740px;
        height: 385px;
    }

    #partner .con-worry {
        height: 1000px;
        padding-top: 80px;
    }

    #partner .con-worry > .worry-wrap {
        flex-direction: column;
        align-items: center;
    }

    #partner .worry-con  {
        width: 600px;
        height: 240px;

        display: flex;
        align-items: center;
        justify-content: space-between;
        padding: 0 30px;
    }

    #partner .worry-con img {
        margin-bottom: 0;
    }

    #partner .worry-txt {
        width: 60%;
    }
    .worry-con li:nth-of-type(2) {
        width: 40%;
    }

    #partner .worry-con li img {
        width: 100%;
        height: auto;
    }

    #partner .worry-txt .worry-title {
        font-size: 20px;
    }

    #partner .worry-txt p:nth-of-type(2) {
        font-size: 18px;
        line-height: 24px;
    }
    
    .point-wrap {
        height: auto;
        padding: 0 0 50px;
    }
    
    .point-title {
        width: 100%;
        height: auto;
        padding-bottom: 50px;
    }
    
    .point-title p {
        padding: 0 50px;
        font-size: 1.2em;
        line-height: 1.2;
    }
    
    .point-con .point,
    .point ul.point-txt {
        height: auto;
    }
    
    .point ul.point-txt {
        margin-top: 13px;
        padding-top: 55px;
    }
    
    .point-wrap .point-con {
        width: 90%;
        padding-top: 50px;
        gap: 10px;
    }
    
    .point-txt ul li:nth-of-type(1) {
        font-size: 1.4em;
        letter-spacing: 0;
    }
    
    .point-txt ul li:nth-of-type(2) {
        font-size: 1.2em;
        letter-spacing: 0;
        line-height: 1.2;
    }
    
    .point p,
    .sub-con p {
        width: 50%;
        height: auto;
        font-size: 1.2em;
        line-height: 200%;
    }
    
    .sub-con ul {
        height: auto !important;
        padding: 60px 30px 30px;
    }
    
    .sub-con ul li {
        font-size: 1em;
        line-height: 1.2; 
        margin: 0 0 10px;
    }
    
    .sub-con p {
        width: 80%;
        top: -10px;
        letter-spacing: -2px;
    }
    
    .point_banner.typeC {
        min-height: 160px;
        padding: 50px 0;
    }
    
    .point_banner.typeC .btn_contact {
        width: 230px;
        height: 58px;
        font-size: 1.2em;
        padding-top: 4px;
        line-height: 28px;
    }
    .typeC .typeB-txt {
        margin-top: 40px;
    }
    
    /* study-wrap */
    .study-wrap .section .tit {
        width: 150px;
        height: 40px;
        line-height: 45px;
        font-size: 25px;
    }
    .study-wrap .section h1 {
        font-size: 1.5em;
        padding: 0px 50px;
        text-align: center;
        letter-spacing: -2px;
    }
    .study-wrap .section p {
        font-size: 1.2em;
        padding: 0 50px;
        line-height: 1.2;
    }
    .study-wrap .section .img-box {
        width: 90%;
        height: auto;
        display: flex;
        flex-direction: column;
        margin: 10px auto 0;
    }
    
    .study-wrap .section .img-box .box-title,
    .sub-con-wrap {
        max-width: 100%;
        height: auto;
    }
    
    .sub-con-wrap {
        margin-top: 50px;
    }
    
    .sub-con-wrap .sub-con {
        width: 90%;
        margin: 0 auto;
    }
    
    .sub-con-wrap .sub-con:nth-of-type(2) {
        margin-top: 30px;
    }

    .study-wrap .section .img-box h2 {
        font-size: 1.4em;
    }
    
    .con-txt ul li {
        font-size: 1.2em;
        line-height: 0.2;
    }
    
    .study-wrap .section .box-title img {
        max-width: 30px;
        width: auto;
        height: auto;
    }
    
    .con-txt ul li::before {
        width: 3px;
        height: 3px;
        left: -6px;
    }
    
    .study-wrap .img-box .box-con {
        flex-direction: column;
        gap: 10px;
    }
    
    .box-con .con-txt {
        line-height: 1.2;
        margin-left: -10px;
    }
    
    .study-wrap .img-box .box-con img {
        max-width: 100%;
        height: auto;
    }
    
    .study-wrap .section:nth-child(2) {
        width: 100%;
        margin-top: 50px;
    }
    
    .study-wrap .student-wrap {
        width: 100%;
        flex-direction: column;
        margin: 0 auto;
        gap: 10px;
    }
}
    
@media (min-width: 320px) and (max-width: 768px) {

    /* section-visual */
    #visual {
        position: relative;
        width: 100%;
        height: 470px;
    }
    #visual .container {
        margin-top: 50px;
        gap: 20px;
    }
    
    #visual h3 {
        font-size: 18px;
        margin-bottom: 10px;
        padding: 0 51px;
    }
    #visual .visual-txt img {
        width: 360px;
        padding: 0 29px;
    }
    #visual .visual-img video {
        width: 267px !important;
        height: 213px;
        object-fit: cover;
        margin-top: 44px !important;
    }

    #partner .con-patent {
        margin-top: 0;
    }
    /* section-introduce - review */
    .review {
        margin-top: 80px;
    }
    .review h1 {
        padding: 0 30px;
    }
    #introduce .review h1 {
        font-size: 20px;
        margin-bottom: 10px;
    }

    .review .con .teacher01 {
        width: 80%;
        height: 170px;
        background-position-x: 110%;
    }
    .review .con .teacher02 {
        width: 80%;
        height: 170px;
        background-position-x: 110%;
    }
    .review .con ul li {
        text-align: center;
        font-size: 1em;
        line-height: 1.3;
    }
    
    .review .con ul li p {
        margin-top: 7px;
        font-size: 12px;
        color: #656565;
    }

    /* banner typeA */
    .point_banner.typeA {
        background-image: linear-gradient(to bottom, #0f101e 74.9%, #fff 0%)
    }
/*    .point_banner.typeA img {
        width: 126%;
    }*/

    /* banner typeB */
    .point_banner.typeB {
        background: #F2F2F2 url(../images/point_banner02.png) no-repeat center 0 / cover;
        min-height: 160px;
    }
    .point_banner .typeB-txt {
        width: 100%;
        margin-top: 50px;
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center;
        color: #fff;
        text-align: center;
        font-size: 12px;
        line-height: 1.4;
    }
    .point_banner .typeB-txt h1 {
        padding: 0 30px;
        margin-bottom: 20px;
        font-family: 'GmarketSansBold';
        font-size: 27px;
        text-align: center;
        letter-spacing: -2px;
        color: #fff;
    }
    
    /* banner typeD */
    .point_banner.typeD {
        background: #F2F2F2 url(../images/point_banner04.png) no-repeat center 0 / cover;
        min-height: 160px;
        margin-bottom: 50px;
    }
    .point_banner .typeD-txt {
        width: 100%;
        margin-top: 60px;
    }
    .point_banner .typeD-txt h1 {
        margin-bottom: 14px;
        font-family: 'GmarketSansBold';
        font-size: 23px;
        text-align: center;
        letter-spacing: 0px;
        color: #fff;
    }
    
    /* section-introduce - system */
    #introduce .system {
        padding: 50px 40px;
    }
    /*#introduce .system:nth-of-type(2n) {
        flex-direction: column-reverse
    }*/
    #introduce .system.point_01 {
        padding: 50px 40px;
    }
    .system ul {
        width: 100%;
        text-align: center;
    }

    .system ul span.num {
        display: inline-block;
        width: 60px;
        height: 70px;
    }
    .system ul span.num img {
        width: 100%;
    }

    .system ul.right li:first-child {
        margin: 0 auto;
        width: 60px;
        height: 70px;
    }
    .system ul.right li:first-child img {
        width: 100%;
    }
    .system ul li {
        font-size: 12px;
    }

    .system ul li:nth-child(2) {
        font-size: 20px;
    }
    .system ul li:nth-child(2) p {
        letter-spacing: -2px;
        font-size: 24px;
    }

    /*point_01*/
    .system.point_01 {
        background: #FFF;
    }

    /*point_02*/
    .system.point_02 {
        background: #F2F2F2;
    }
    .system.point_02 ul:nth-child(2) {
        text-align: center;
        background: #F2F2F2;
    }

    /*point_03*/
    .system.point_03 {
        background: #FFF;
    }

    /*point_04*/
    .system.point_04 {
        background: #F2F2F2;
    }
    .system.point_04 ul:nth-child(2) {
        text-align: center;
    }

    .system .point-img2 {
        margin-top: 40px;
        text-align: center;
    }  

    /* section-introduce - sub-tit */
    .sub-tit {
        padding: 40px 14px;
    }
    
    .sub-tit img {
        width: 200px;
    }
    
    .sub-tit p {
        margin-top: 18px;
        font-size: 12px;
    }

    /* tab btn - feature-content */
    .feature-content {
        width: 100%;
        height: auto;
        padding: 10px 30px 0px;
    }
    .feature-cards {
        width: 100%;
    }
    .feature-card {
        border-radius: 10px;
    }
    
    /* card-wrap */
    .feature-card .card-wrap {
        padding: 10px 20px;
    }
    .card-wrap .card-title {
        font-size: 16px;
        line-height: 25px;
        padding-right: 18px;
    }
    .card-wrap img {
        width: 21px;
        height: 10px;    
    }
    .card-txt {
        display: none;
    }
    
    /* class open 추가 */
    .feature-card.open .card-wrap {
        display: flex;
        flex-direction: column;
        align-items: flex-start;
    }
    .feature-card.open .card-wrap .card-title {
        color: #24A8B2;
        font-weight: bold;
    }
    .feature-card.open .card-wrap img {
        display: none;
    }
    .feature-card.open .card-txt {
        margin-top: 10px;
        font-size: 12px;
    }
    .feature-card.open .laptop-view {
        display: block;
    }
    
    /* laptop-view */
    .laptop-view {
        display: none;
        width: 100%;
        height: 200px;
        position: relative;
        padding-left: 0;
        overflow: hidden;
        border-radius: 0 0 10px 10px;
    }   
    .laptop-view img {
        position: absolute;
        width: 100%;
        top: 3%;
        object-fit: scale-down;
    }

    .feature-cards li:nth-of-type(1) .laptop-view {
        background: #FFF1E2;
    }
    .feature-cards li:nth-of-type(2) .laptop-view {
        background: #DEFFFD;
    }
    .feature-cards li:nth-of-type(3) .laptop-view {
        background: #EFF1FF;
    }
    .feature-cards li:nth-of-type(4) .laptop-view {
        background: #DFF5DE;
    }
    .feature-cards li:nth-of-type(5) .laptop-view {
        background: #FFE9EF;
    }
    .feature-cards li:nth-of-type(6) .laptop-view {
        background: #E7FFF8;
    }
    

    /* section-introduce - process */
    /* process title */
    .process-wrap .process-tit h1 {
        padding: 60px 50px 20px 50px;
        font-family: 'GmarketSansBold';
        font-size: 24px;
        text-align: center;
        letter-spacing: -3px;
    }

    .process-level {
        display: flex;
        flex-direction: column;
        align-items: center;
        padding: 0 30px;
    }

    .process-level .card {    
        width: 100%;
        height: 145px;
        margin: 10px;
        position: relative;
        flex-direction: column;
        flex-flow: wrap;
        background: #F2F2F2;
        border-radius: 15px;
        padding-left: 25px;
    }

    .process-level .card h1{
        margin: 20px 0 8px;    
        font-weight: bold;
        font-size: 16px;
    }

    .process-level .card ul {
        width: 90%;
        height: 100px;
        margin-top: 5px;
    }
    .process-level .card:last-child ul {
        margin-top: 0;
    }
    
    .process-level .card ul li {
        font-size: 12px;
        line-height: 1.4;
    }
    
    .process-level .card ul li i {
        width: 39px;
        height: 15px;
        font-size: 11px;
    }
    
    .process-level .card ul li small {
        padding-left: 5px;
        font-size: 12px;
        line-height: 1;
    }

    .process-level .card.level-2 ul li:nth-child(4) {
        font-size: 12px;
    }

    .level-1 .mark {
        padding: 3px 6px;
        margin-right: 8px;
        background: #5FC8C3;
        border-radius: 5px;
        color: #fff;
        font-size: 15px;
    }

    .level-2 .mark {
        font-size: 15px;
    }
    .level-3 .mark {
        font-size: 15px;
    }
    .level-4 .mark {
        font-size: 15px;
    }
    .card p {
        position: absolute;
        right: 0;
        width: 30%;
        margin: 20px 20px 20px 0;
    }
    .card:nth-child(2) p {
        width: 28%;
    }
    .card p img {
        width: 70%;
    }

    #partner .swiper {
        width: 100%;
    }
    /* section-partner */
    /* #partner {
        padding: 60px 0 0;
    }
    #partner .swiper_box {
        padding: 40px 0 20px;
    }

    .swiper-wrapper {
        width: 100%;
        gap: 20px;
    }
    .swiper-wrapper .swiper-slide {
        width: 110px;
    }
    .swiper-wrapper .swiper-slide img {
        width: 100%;
    } */
    /* point-banner typeC */
    .point-wrap {
        height: auto;
        padding: 0 0 50px;
    }
    
    .point-title {
        width: 100%;
        height: auto;
        padding-bottom: 50px;
    }
    
    .point-title p {
        padding: 0 50px;
        font-size: 1.2em;
        line-height: 1.2;
    }
    
    .point-con .point,
    .point ul.point-txt {
        width: 100%;
        height: auto;
    }
    
    .point ul.point-txt {
        margin-top: 13px;
        padding-top: 55px;
    }
    
    .point-wrap .point-con {
        width: 90%;
        padding-top: 50px;
        gap: 10px;
    }
    
    .point-txt ul li:nth-of-type(1) {
        font-size: 1.4em;
        letter-spacing: 0;
    }
    
    .point-txt ul li:nth-of-type(2) {
        font-size: 1.2em;
        letter-spacing: 0;
        line-height: 1.2;
    }
    
    .point p,
    .sub-con p {
        width: 50%;
        height: auto;
        font-size: 1.2em;
        line-height: 200%;
    }
    
    .sub-con ul {
        height: auto !important;
        padding: 60px 30px 30px;
    }
    
    .sub-con ul li {
        font-size: 1em;
        line-height: 1.2; 
        margin: 0 0 10px;
    }
    
    .sub-con p {
        width: 80%;
        top: -10px;
        letter-spacing: -1px;
    }
    
    .point_banner.typeC {
        min-height: 160px;
        padding: 50px 0;
    }

    .point_banner.typeC .btn_contact {
        width: 150px;
        height: 42px;
        font-size: 19px;
        padding-top: 4px;
        line-height: 28px;
    }

    .typeC .typeB-txt {
        margin-top: 40px;
    }
    
    /* study-wrap */
    .study-wrap .section .tit {
        width: 150px;
        height: 40px;
        line-height: 45px;
        font-size: 25px;
    }
    .study-wrap .section h1 {
        font-size: 1.5em;
        padding: 0px 50px;
        text-align: center;
        letter-spacing: -2px;
    }
    .study-wrap .section p {
        font-size: 1.2em;
        padding: 0 50px;
        line-height: 1.2;
    }
    .study-wrap .section .img-box {
        width: 90%;
        height: auto;
        display: flex;
        flex-direction: column;
        margin: 10px auto 0;
    }
    
    .study-wrap .section .img-box .box-title,
    .sub-con-wrap {
        max-width: 100%;
        height: auto;
    }
    
    .sub-con-wrap {
        margin-top: 50px;
    }
    
    .sub-con-wrap .sub-con {
        width: 90%;
        margin: 0 auto;
    }
    
    .sub-con-wrap .sub-con:nth-of-type(2) {
        margin-top: 30px;
    }

    .study-wrap .section .img-box h2 {
        font-size: 1.4em;
    }
    
    .con-txt ul li {
        font-size: 1.2em;
        line-height: 0.2;
    }
    
    .study-wrap .section .box-title img {
        max-width: 30px;
        width: auto;
        height: auto;
    }
    
    .con-txt ul li::before {
        width: 3px;
        height: 3px;
        left: -6px;
    }
    
    .study-wrap .img-box .box-con {
        flex-direction: column;
        gap: 10px;
    }
    
    .box-con .con-txt {
        line-height: 1.2;
        margin-left: -10px;
    }
    
    .study-wrap .img-box .box-con img {
        max-width: 100%;
        height: auto;
    }
    
    .study-wrap .section:nth-child(2) {
        width: 100%;
        margin-top: 50px;
    }
    
    .study-wrap .student-wrap {
        width: 100%;
        flex-direction: column;
        margin: 0 auto;
        gap: 10px;
    }
    
    .quickPop-wrap {
        zoom: 40%;
        top: 300px;
    }
    
    .dropdown {
        zoom: 40%;
    }
    
    .study-wrap {
        margin-bottom: 50px;
    }


    /* footer */
    footer {
        padding: 13px 13px 40px;
    }

    footer .footer-top > .footer-wrap {
        width: 100%;
    }
    .footer-wrap .footer-top-left {
        width: 70%;
    }

    /* 리뉴얼 추가 */
    #partner h1 {
        font-size: 30px;
        padding: 0 60px;
        line-height: 1.1;
    }
    
    #partner h1 br {
        display: none;
    }

    #visual h3 {
        font-size: 16px !important;
    }

    #partner img {
        width: 256px;
        height: 36px;
    }

    #partner .con-authn {
        width: 100%;
    }

    #partner .con-authn img {
        width: 230px;
        height: 70px;
    }

    #partner .con-authn img:nth-of-type(7), 
    #partner .con-authn img:nth-of-type(8) {
        width: 183px;
        height: 70px;
    }

    #partner .con-patent ul {
        width: 100%;
    }

    #partner .con-patent ul li {
        width: 135px;
        height: 194px;
    }

    #partner .con-who div {
        width: 568px;
        height: 296px;
        margin-top: 40px;
    }

    #partner .worry-con  {
        width: 500px;
    }

    #partner .worry-txt p:nth-of-type(2) {
        font-size: 16px;
    }


    #visual .container::before {
        width: 150px;
        height: 30px;
        top: -26px;
        left: 26px;
        padding: 5px 16px;
        background-size: 80%
    }

    #visual h2 {
        font-size: 3.2rem;
        letter-spacing: -4px;
    }

    #visual h3 {
        margin-top: 40px;
    }

    #visual .visual-img {
        width: 100%;
        margin-top: 10px;
    }

    #visual .visual-img img {
        width: 80%;
    }

    .each-part .section h1 {
        font-size: 3rem;
        letter-spacing: -3px;
    }    
    
    .each-part .section h2 {
        font-size: 2rem;
        letter-spacing: -2px;
        padding: 0 55px;
        text-align: center;
    }

    .section .section-con {
        width: 100% !important;
        height: auto;

    }
    .section-con > div {
        width: 100% !important;
        height: auto;
    }

    .section-con > div .section-img img {
        width: 100%;
        height: auto;
    }

    .section-con > div p {
        height: 42px;
        line-height: 42px;
        font-size: 20px;
    }

    .part-teacher p {
        height: 80px;
        line-height: 30px;
        padding: 10px 60px 0;
    }

    .part-student p {
        line-height: 30px;
    }

    #school h1 span.gradi {
        font-size: 30px;
        padding: 0;
        line-height: 1.1;
        padding-right: 4px;
    }

    #school {
        padding: 100px 20px;
    }

    #school .con-img img {
        width: 100%;
    }

    #so-ssam h1 {
        font-size: 34px;
    }

    #so-ssam .con-img .each-con {
        width: 550px;
    }

    .each-con p.each-con-title {
        width: 55%;
        line-height: 30px;
        font-size: 22px;
    }

    .each-con p.each-con-sub {
        width: 75%;
        line-height: 20px;
        font-size: 14px;
        padding-top: 10px;
    }

    .each-con p.each-con-who {
        font-size: 16px;
        margin-top: 20px;
    }

    .each-con:nth-of-type(2) p.each-con-who {
        margin-top: 5px;
    }

    .footer-wrap .footer-bottom-top {
        flex-wrap: wrap;
        line-height: 10px;
        gap: 10px;
        margin-bottom: 4px;
    }

    .footer-wrap .footer-bottom-bottom {
        gap: 12px;
    }
}

@media (min-width: 320px) and (max-width: 600px) {
    /* .card p img {
        width: 80%;
    } */

    #visual h3 {
        padding: 0 10px;
    }
    
    #partner img {
        margin-bottom: 20px;
    }

    #partner .con-authn {
        gap: 10px;
    }

    #partner .con-authn img {
        width: 183px;
        height: 56px;
    }

    #partner .con-authn img:nth-of-type(2), 
    #partner .con-authn img:nth-of-type(5) {
        width: 167px;
        height: 56px;
    }    
    
    #partner .con-authn img:nth-of-type(7), 
    #partner .con-authn img:nth-of-type(8) {
        width: 146px;
        height: 56px;
    }
    
    #partner .con-who {
        margin-top: 60px;
        padding-bottom: 40px;
    }

    #partner .con-who div {
        width: 436px;
        height: 227px;
        margin-top: 20px;
    }
    #partner .con-worry h1 {
        padding: 0 110px;
    }

    #partner .con-worry {
        height: 820px;
        margin-top: 30px;
        padding-top: 30px;
    }


    #partner .worry-con  {
        width: 450px;
        height: 200px;
        padding: 0 20px;
    }

    #partner .worry-con li:nth-of-type(1) {
        width: 60%;
    }
    #partner .worry-con img {
        width: 30%;
        height: auto;
        object-fit: contain;
    }

    #partner .worry-txt {
        width: 74%;
    }

}

@media (min-width: 320px) and (max-width: 550px) {
    #partner .con-patent {
        height: auto;
        padding-bottom: 70px;
    }

    #partner .con-patent ul li {
        width: 100px !important;
        height: 174px !important;
        margin: 0px 2px 10px;
    }

    #visual {
        height: 420px;
    }

    .part-teacher div::before p {
        line-height: 70px;
    }
    .part-student div::before p {
        line-height: 35px;
    }

    #so-ssam {
        padding: 100px 20px;
    }

    #so-ssam .con-img .each-con::after {
        width: 142px;
        height: 144px;
        bottom: -28px;
        background-size: contain;
    }

    #so-ssam .con-img .each-con:nth-of-type(2)::after,
    #so-ssam .con-img .each-con:nth-of-type(3)::after,
    #so-ssam .con-img .each-con:nth-of-type(4)::after {
        background-size: contain;
    }
}

 
@media (max-width: 500px) {
    #so-ssam h1 {
        font-size: 24px;
        letter-spacing: -2px;
        padding: 0 70px;
        line-height: 31px;
    }

    #so-ssam .con-img .each-con {
        width: 84%;
        height: 300px;
        padding: 20px 20px;
    }

    .each-con p.each-con-title {
        font-size: 20px;
    }

    .each-con p.each-con-title,
    .each-con p.each-con-sub {
        width: 100%;
    }

    .each-con p.each-con-who {
        margin-top: 87px;
    }

    .each-con:nth-of-type(2) p.each-con-who {
        margin-top: 90px;
    }
    .each-con p.each-con-sub {
        width: 90%;
        font-size: 18px;
        font-weight: 400;
        line-height: 25px;
    }

    .each-con p.each-con-who {
        font-size: 18px;
        font-weight: 400;
        line-height: 25px;
        margin-top: 63px !important;
    }

    #so-ssam .con-img .each-con::before {
        right: 262px;
        top:256px;
    }

    #so-ssam .con-img .each-con:nth-of-type(3)::before,
    #so-ssam .con-img .each-con:nth-of-type(4)::before {
        right: 287px;
    }

    #so-ssam .con-img .each-con:nth-of-type(2)::before {
        right: 240px;
    }

    .point_banner .typeB-txt h1 {
        padding: 0 87px;
    }
}

@media (min-width: 430px) and (max-width: 450px) {
    #visual h3 {
        padding: 0 5px;
        font-size: 13px !important;
    }

    .quickPop-wrap {
        top: 320px;
    }

    #visual .visual-img video {
        width: 281px !important;
        height: 224px;
    }

    #partner img {
        width: 180px;
        height: 26px;
    }

    #partner h1 {
        font-size: 24px;
        line-height: 30px;
        padding: 0 5px;
    }

    #partner .con-who div {
        width: 316px;
        height: 164px;
    }

    #partner .con-worry {
        height: 640px;
    }

    #partner .worry-con {
        width: 300px;
        height: 140px;
        padding: 0 20px;
    }

    #partner .worry-con li:nth-of-type(1) {
        width: 45%;
    }

    #partner .worry-txt {
        width: 70%;
    }

    #partner .worry-txt .worry-title {
        font-size: 16px;
    }

    #partner .worry-txt p:nth-of-type(2) {
        font-size: 12px;
        line-height: 15px;
    }

    #introduce {
        padding-top: 0px;
    }
}

@media (max-width: 430px) {
    #visual {
        height: 380px;
    }

    #visual h2 {
        font-size: 3rem;
        letter-spacing: -4px;
        padding: 0 70px;
    }

    #visual h3 {
        padding: 0 30px;
        font-size: 13px !important;
    }

    .quickPop-wrap {
        top: 320px;
    }

    #visual .visual-img video {
        width: 281px !important;
        height: 224px;
        margin-top: 9px !important;
    }

    #partner img {
        width: 180px;
        height: 26px;
    }

    #partner h1 {
        font-size: 24px;
        line-height: 30px;
        padding: 0 25px;
    }
    
    #partner .con-authn img {
        width: 142px;
        height: 43px;
    }

    #partner .con-authn img:nth-of-type(2), 
    #partner .con-authn img:nth-of-type(5) {
         width: 125px;
         height: 44px;
    }    
    
    #partner .con-authn img:nth-of-type(7), 
    #partner .con-authn img:nth-of-type(8) {
         width: 113px;
         height: 44px;
    }

    #partner .con-who div {
        width: 316px;
        height: 164px;
    }

    #partner .con-worry {
        height: 640px;
    }

    #partner .con-worry h1 {
        padding: 10px 76px 0;
    }

    #partner .worry-con {
        width: 300px;
        height: 140px;
        padding: 0 20px;
    }

    #partner .worry-con li:nth-of-type(1) {
        width: 90%;
    }

    #partner .worry-txt {
        width: 70%;
    }

    #partner .worry-txt .worry-title {
        font-size: 16px;
    }

    #partner .worry-txt p:nth-of-type(2) {
        font-size: 12px;
        line-height: 15px;
    }

    #introduce {
        padding-top: 0px;
    }

    .part-teacher div::before {
        left: 16%;
    }

    .part-student div::before {
        left: 9%;
    }

    .part-teacher,
    .part-student {
        height: 100px;
    }

    .part-teacher p {
        text-indent: 0;
        font-size: 2rem;
        line-height: 30px;
        height: 100px;
        padding: 20px 44px 0;
    }
    .part-student p {
        text-indent: 0;
        font-size: 2rem;
        line-height: 30px;
        height: 100px;
        padding-top: 20px;
    }
    .each-part .section h1 {
        text-align: center;
        font-size: 2.8rem;
    }
    .each-part .section.third h1 {
        padding: 0 20px;
    }

    .each-part .section h2 {
        padding: 0 10px;
        font-size: 1.6rem;
    }

    #school {
        margin-top: 50px;
        padding: 48px 50px;
    }

    #school .con-img {
        margin-top: 20px;
    }


    #so-ssam .con-img .each-con {
        width: 92%;
        font-size: 14px;
        line-height: 20px;
    }

    .each-con p.each-con-sub {
        font-size: 14px;
        line-height: 20px;
    }

    .each-con:nth-of-type(2) p.each-con-who {
        margin-top: 92px !important;
    }

    #so-ssam .con-img .each-con::before {
        right: 187px;
        top: 260px;
    }

    #so-ssam .con-img .each-con:nth-of-type(3)::before,
    #so-ssam .con-img .each-con:nth-of-type(4)::before {
        right: 210px;
    }

    #so-ssam .con-img .each-con:nth-of-type(2)::before {
        right: 164px;
    }

    .footer-wrap .footer-top-left {
        width: 80% !important;
    }
}

@media (max-width: 390px) {
    .each-con p.each-con-sub {
        font-size: 14px;
        line-height: 20px;
    }

    .each-con:nth-of-type(2) p.each-con-who {
        margin-top: 92px !important;
    }

    #so-ssam .con-img .each-con::before {
        right: 213px;
    }

    #so-ssam .con-img .each-con:nth-of-type(3)::before,
    #so-ssam .con-img .each-con:nth-of-type(4)::before {
        right: 235px;
    }

    #so-ssam .con-img .each-con:nth-of-type(2)::before {
        right: 190px;
    }

    .each-con:nth-of-type(2) p.each-con-who,
    .each-con:nth-of-type(3) p.each-con-who,
    .each-con:nth-of-type(4) p.each-con-who {
        margin-top: 92px !important;
    }
}

@media (max-width: 360px) {
    #so-ssam h1 {
        padding: 0 56px;
    }

    .each-con p.each-con-title {
        padding-right: 30px;
    }

    .each-con:nth-of-type(3) p.each-con-who,
    .each-con:nth-of-type(4) p.each-con-who {
        margin-top: 63px !important;
    }

    #so-ssam .con-img .each-con::before {
        right: 188px;
    }

    #so-ssam .con-img .each-con:nth-of-type(2)::before {
        right: 165px;
    }

    #so-ssam .con-img .each-con:nth-of-type(3)::before,
    #so-ssam .con-img .each-con:nth-of-type(4)::before {
        right: 209px;
    }


}
