@charset "utf-8";

body {
  display: block;
}

/* 네비 */
.header {
  width: 100%;
  height: 64px;
  position: fixed;
  z-index: 99;
  transition: .3s;

  .inner {
    width: 1280px;
    height: 100%;
    align-items: center;
    margin: 0 auto;
    display: flex;
    justify-content: space-between;

    .logo {
      width: 186px;
      height: 42px;

      img {
        height: 100%;
        object-fit: cover;
      }
    }
  }

  .m-head-right {
    display: none;
    align-items: center;
    gap: 16px;

    .m-head-login {
      color: #fff;
      padding: 6px 13px;
      border: 1px solid #fff;
      border-radius: 99px;
      font-size: .875rem;
      cursor: pointer;
    }
  }

  .mobile-menu {
    display: none;
    cursor: pointer;
  }

  .mobile-menu-black {
    display: none;
  }

  .mobile-menu-open {
    width: 100%;
    height: 100dvh;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(100%);
    background: #fff;
    z-index: 1000;
    visibility: hidden;
    transition: transform .35s ease, visibility .35s;
    overflow-y: auto;
  }

  &.scroll {
    background: rgb(255, 255, 255);
    box-shadow: 0 -8px 34px -11px #a1a1a1;

    .m-head-right .m-head-login {
      color: #121212;
      border-color: #121212;
    }

    .logo a .logo-white {
      display: none;
    }

    .logo a .logo-black {
      display: block;
    }

    .menu {
      ul a {
        color: #121212;
      }
    }

    .menu .menu-right {
      .family-site .family-menu {
        color: #121212;

        svg>path {
          fill: #121212;
        }
      }

      .login {
        color: #121212;
        border-color: #121212;
      }
    }


  }

  /* header스크롤시 네비색상변경 */
}


@media(max-width:1279px) {
  .header .inner {
    width: 1080px;
    padding: 30px;
  }
}

@media(max-width:1079px) {
  .header .inner {
    padding: 0 20px;
    width: 100%;

    .menu {
      display: none;

    }

    .m-head-right {
      display: flex;
    }

    .mobile-menu {
      display: block;
    }
  }

  .header.scroll {
    .inner .mobile-menu-black {
      display: block;
    }

    .inner .mobile-menu {
      display: none;
    }
  }

  .header .mobile-menu-open {
    width: 100%;
    height: 100dvh;
    position: absolute;
    top: 0;
    right: 0;
    transform: translateX(100%);
    background: #fff;
    z-index: 1000;
    visibility: hidden;
    transition: transform .35s ease, visibility .35s;
    overflow-y: auto;

    .m-inner {
      padding: 10px 20px;

      .mobile-top {
        display: flex;
        justify-content: space-between;
        align-items: center;

        .logo {
          width: 168px;
          height: 24px;

          img {
            width: 100%;
          }
        }

        .login-wrap {
          display: flex;
          gap: 18px;
          align-items: center;

          .m-login {
            color: #A1A1A1;
          }

          .close {
            cursor: pointer;
            width: 33px;
            height: 33px;

            img {
              width: 100%;
            }
          }
        }
      }

      /* mobile-top //*/

      .menu-list {
        margin-top: 40px;

        .menu-item {
          border-bottom: 1px solid #E6E6E6;
          padding: 16px 12px;

          a {
            font-size: 1.25rem;
            font-weight: 700;
            color: #121212;
          }
        }
      }
    }

    &.extend {
      transform: translateX(0);
      visibility: visible;
    }
  }

  /* mobile-menu-open //*/
}

/* header max-width:1079px //*/


.logo {
  width: 238px;
  height: 35px;

  a img {
    width: 100%;
  }

  .logo-black {
    display: none;
  }
}


.menu {
  display: flex;
  gap: 54px;
  align-items: center;

  ul {
    display: flex;
    gap: 54px;

    li a {
      color: #fff;
      font-size: 1.05rem;

      &:hover {
        color: #E9A410;
      }
    }
  }

  .menu-right {
    display: flex;
    gap: 20px;
    align-items: center;
    position: relative;

    .family-site {
      position: relative;

      .family-menu {
        display: flex;
        gap: 2px;
        align-items: center;
        color: #fff;
        cursor: pointer;


        svg {
          transition: 0.3s ease-in-out;
        }
      }

      ul {
        display: none;
        background: #FFF;
        border-radius: 4px;
        box-shadow: 0 0 7px 0 rgba(63, 63, 63, 0.25);
        position: absolute;
        flex-direction: column;
        padding: 16px 50px 16px 16px;
        gap: 12px;
        right: 6px;
        top: 32px;


        li a {
          font-size: 0.9rem;
          color: #404040;

          &:hover {
            color: #2471E2;
          }
        }
      }

      &.on ul {
        display: block;
      }

      &.on .family-menu>svg {
        transform: rotate(-180deg)
      }
    }

    .login {
      color: #fff;
      padding: 6px 13px;
      border: 1px solid #fff;
      border-radius: 99px;
      cursor: pointer;
    }
  }

}

/* header //*/



/* login popup */
.login-pop {
  width: 100%;
  height: 100vh;
  background: #121212a3;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 999;
  visibility: hidden;


  .loginBox {
    padding: 32px;
    background: #fff;
    border-radius: 6px;
    position: relative;
    width: 344px;
    left: 50%;
    top: 50%;
    transform: translate(-50%, -50%);

    .pop-close {
      position: absolute;
      top: -30px;
      right: 0;
      color: #fff;
      display: flex;
      align-items: center;
      cursor: pointer;
    }

    .loginBt {
      border-radius: 4px 4px 0 0;
      background: #2471E2;
      color: #fff;
      position: absolute;
      left: -76px;
      top: 27px;
      padding: 12px 30px;
      transform: rotate(-90deg);
    }

    .loginBoxTit {
      text-align: center;
    }

    .flexcol {
      margin-top: 20px;
      width: 280px;

      span {
        color: #444;
        font-size: 0.7rem;
      }

      input {
        width: 100%;
        height: 40px;
        padding: 0 6px;
        border: 1px solid #DCDDDD;
        border-radius: 4px;
      }
    }

    .btn-auth img {
      width: 14px;
      height: 14px;
    }

    button {
      background: #09296D;
      margin-top: 20px;
      color: #fff;
      border-radius: 4px;
      width: 100%;
      height: 44px;
      cursor: pointer;
    }

    .mem_join {
      margin-top: 12px;
      display: flex;
      justify-content: space-around;

      div {
        color: #797979;
        font-size: 0.85rem;
      }

      .save label,
      .join {
        color: #797979;
        font-size: 0.85rem;
      }
    }

    .auth-login {
      .auth-log-txt {
        margin-top: 32px;
        width: 100%;
        display: flex;
        justify-content: center;
        position: relative;
        color: #7A7A7A;

        p {
          width: fit-content;
          text-align: center;
          background-color: #fff;
          padding: 0 12px;
          position: relative;
          z-index: 1;
          font-size: 0.7rem;
        }

        div {
          width: 100%;
          border-top: 1px solid #cdcdcd;
          position: absolute;
          top: 43%;
          z-index: 0;
        }
      }

      .btn-auth {
        border-radius: 4px;
        border: 1px solid #09296D;
        background: #FFF;
        color: #09296D;
      }
    }

    /* login box //*/
  }

  &.view {
    visibility: visible;
  }
}

/* login-popup //*/


.inner {
  max-width: 1280px;
  margin: 0 auto;
}

.title {
  font-size: 3rem;
  font-weight: bold;
}

p {
  white-space: unset;
}


.fix {
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  right: 44px;
  bottom: 80px;
  width: 65px;
  height: 65px;
  background: #fff;
  border-radius: 60px;
  text-align: center;
  line-height: 12px;
  box-shadow: 0px 0px 13px 2px #3e2e7924;

  .kuls {
    width: 26px;
    height: 26px;
    margin-bottom: 4px;
  }

  div {
    font-size: 0.7rem;
    line-height: 8px;
    transition: 0.3s ease-in-out;
  }

  &.topBt {
    right: 44px;
    bottom: 160px;
    cursor: pointer;
    transition: background 0.3s ease-in-out;

    a {
      width: 100%;
      height: 100%;
      display: flex;
      align-items: center;
      justify-content: center;
    }
  }

  &:hover a div {
    color: #2471E2;
  }

}

.topBt:hover {
  background: #2471E2;

  a svg>path {
    stroke: #fff;
  }
}


/* 콘텐츠영역  */
.visual {
  width: 100%;
  height: 720px;
  margin: 0 auto;
  background-image: url(../img/visual.png);
  background-repeat: no-repeat;
  position: relative;
  background-position: center;
  background-size: cover;

  .inner {
    width: 1080px;
    height: 100%;
    margin: 0 auto;
    display: flex;
    align-items: center;
    justify-content: space-between;


    .main-text {

      .sub-tit {
        font-size: 24px;
        color: #fff;
        margin-bottom: 16px;
      }

      .head-tit {
        color: #fff;
        font-size: 4rem;
        font-weight: 700;
        line-height: 4.2rem;
      }

      .main-script {
        color: #fff;
        margin-top: 20px;
        margin-bottom: 24px;
        font-size: 0.85rem;
      }
    }

    .loginBox {
      padding: 32px;
      background: #fff;
      border-radius: 0px 6px 6px 6px;
      position: relative;

      .loginBt {
        border-radius: 4px 4px 0 0;
        background: #2471E2;
        color: #fff;
        position: absolute;
        left: -76px;
        top: 27px;
        padding: 12px 30px;
        transform: rotate(-90deg);
      }

      .loginBoxTit {
        text-align: center;
      }

      .flexcol {
        margin-top: 20px;
        width: 280px;

        span {
          color: #444;
          font-size: 0.7rem;
        }

        input {
          width: 100%;
          height: 40px;
          padding: 0 6px;
          border: 1px solid #DCDDDD;
          border-radius: 4px;
        }
      }

      .btn-auth img {
        width: 14px;
        height: 14px;
      }

      button {
        background: #09296D;
        margin-top: 20px;
        color: #fff;
        border-radius: 4px;
        width: 100%;
        height: 44px;
        cursor: pointer;
      }

      .mem_join {
        margin-top: 12px;
        display: flex;
        justify-content: space-around;

        div {
          color: #797979;
          font-size: 0.85rem;
        }

        .save label,
        .join {
          color: #797979;
          font-size: 0.85rem;
        }
      }

      .auth-login {
        .auth-log-txt {
          margin-top: 32px;
          width: 100%;
          display: flex;
          justify-content: center;
          position: relative;
          color: #7A7A7A;

          p {
            width: fit-content;
            text-align: center;
            background-color: #fff;
            padding: 0 12px;
            position: relative;
            z-index: 1;
            font-size: 0.7rem;
          }

          div {
            width: 100%;
            border-top: 1px solid #cdcdcd;
            position: absolute;
            top: 43%;
            z-index: 0;
          }
        }

        .btn-auth {
          border-radius: 4px;
          border: 1px solid #09296D;
          background: #FFF;
          color: #09296D;
        }

      }
    }

    /* login box //*/

  }

  /* inner //*/
}

/* visual //*/


.sec1 {
  padding: 176px 0;

  .inner {

    .sec1-bg {

      background-image: url(../img/sec1-bg.png);
      background-repeat: no-repeat;
      background-position: center;
      background-size: contain;
      width: 764px;
      height: 534px;
      margin: 0 auto;
      position: relative;

      .item-wrap {
        display: flex;
        gap: 12px;
        justify-content: center;
        position: absolute;
        top: 36%;
        left: 46%;
        transform: translate(-49%, -50%);
        width: 980px;
        flex-wrap: wrap;


        .sec1-item {
          width: 32%;
          padding: 23px 24px;
          border-radius: 8px;
          border: 1px solid #ACCBFC;
          background: #fff;
          box-shadow: 0 0 4px 0 #6893E9;

          .icon {
            width: 44px;
            height: 42px;
            border-radius: 6px;
            background: #106BC0;
            padding: 6px 9px;

            img {
              width: 24px;
              height: 24px;
            }
          }

          .item-tit {
            font-weight: bold;
            color: #01287D;
            margin-top: 24px;
            margin-bottom: 8px;
            font-size: 1.12rem;
          }
        }

        .sec1-txt div br {
          display: none;
        }
      }

      /* item-wrap */

    }

    /* sec1-bg */

    .title {
      margin-bottom: 120px;
      text-align: center;
    }

    .sec1-txt {
      font-size: 2rem;
      font-weight: bold;
      color: #121212;
      text-align: center;

      div span {
        color: #0E81E3;
      }
    }

  }

  /* inner */
}

.sec2 {
  background-image: url(../img/sec2-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  height: 100vh;

  .title {
    text-align: center;
  }

  .inner {
    display: flex;
    justify-content: space-between;
    align-items: center;
    height: 100%;

    .sec2-content {
      p {
        color: #A3B2CC;
        font-size: 1.5rem;
        font-weight: bold;
        margin-bottom: 16px;
      }

      .title {
        text-align: left;
        line-height: 62px;
      }

      .sec2-text {
        color: #0B2357;
        line-height: 26px;
        margin-top: 36px;
      }

      .keyword-wrap {
        display: flex;
        gap: 12px;
        align-items: center;
        margin-top: 28px;
        flex-wrap: wrap;
        width: 440px;

        .keyword {
          color: #3A5EA7;
          display: flex;
          gap: 2px;
          align-items: center;
          padding: 10px 12px;
          border-radius: 40px;
          border: 1px solid #3A5EA7;
        }
      }
    }

  }
}

.sec3 {
  padding: 164px 0;

  .inner {
    .title {
      text-align: center;

      p {
        margin-bottom: 8px;
        color: #0C90FF;
        font-size: 1.25rem;
      }

      div {
        font-size: 3rem;
        font-weight: bold;
        color: #121212;
      }
    }

    .feature-card-wrap {
      display: flex;
      flex-wrap: wrap;
      width: 1200px;
      gap: 12px;
      justify-content: center;
      margin: 64px auto 0;

      .feature-card {
        border-radius: 12px;
        border: 1px solid #DFDFDF;
        background: #FFF;
        padding: 26px 22px;
        height: 303px;
        display: flex;
        flex-direction: column;
        justify-content: space-between;
        width: 24%;

        .feature-header {
          .tag {
            font-size: 0.75rem;
            padding: 5px 6px;
            border-radius: 4px;
            background: #EDF4FF;
            color: #106BC0;
          }

          .card-title {
            font-size: 1.5rem;
            font-weight: bold;
            margin-top: 6px;
          }

          .feature2 {
            color: #219109;
            background: #E8F6EC;
          }

          .feature3 {
            color: #E8690F;
            background: #FEF3EB;
          }

          .feature4 {
            color: #3D25AE;
            background: #EFECFD;
          }

          .feature5 {
            color: #FEB602;
            background: #FFFBF3;
          }
        }

        ul li {
          list-style: disc;
          margin-left: 26px;
          font-size: 0.9rem;
        }
      }
    }

  }
}

.sec4 {
  background-image: url(../img/sec4-bg.png);
  background-repeat: no-repeat;
  background-size: cover;
  padding: 164px 0;

  .inner {

    .title {
      text-align: center;
      margin-bottom: 64px;

      p {
        color: #0C90FF;
        font-size: 1.25rem;
      }

      div {
        color: #fff;
        font-size: 3.25rem;
        font-weight: bold;
        margin-top: 8px;
      }
    }

    .benefit1 {
      display: flex;
      width: 100%;
      padding: 48px 120px;
      justify-content: space-between;
      align-items: center;
      border-radius: 16px;
      background: rgba(0, 0, 0, 0.24);

      .benefit1-item {
        color: #fff;
        text-align: center;

        .figure {
          font-size: 4rem;
          font-weight: bold;

          span {
            font-size: 2rem;
          }
        }

        div {
          font-size: 1.25rem;
          font-weight: bold;
        }

        p {
          font-size: 0.87rem;
          color: #c8d1e3;
          margin-top: 4px;
          line-height: 18px;
        }
      }
    }

    .benefit2 {
      display: flex;
      gap: 20px;
      width: 100%;
      margin-top: 20px;

      .benefit2-item {
        border-radius: 16px;
        background: rgba(0, 0, 0, 0.24);
        padding: 40px 32px;
        width: 49%;

        .benefit2-tit {
          color: #fff;
          font-size: 1.5rem;
          font-weight: bold;
          margin-bottom: 12px;
        }

        ul li {
          list-style: disc;
          color: #fff;
          margin-left: 32px;
        }
      }
    }

    .benefit3 {
      display: flex;
      justify-content: space-between;
      margin-top: 164px;

      .benefit3-tit {
        color: #fff;
        font-size: 3.25rem;
        font-weight: bold;
      }

      .sec4-textbox {
        width: 48%;
        color: #fff;

        .text-item {
          border-bottom: 1px solid #2D5886;
          padding: 20px 12px;

          div {
            font-size: 1.5rem;
            font-weight: bold;
            margin-bottom: 8px;
          }

          p {
            font-size: 0.85rem;
            color: #c8d1e3;
          }
        }
      }
    }
  }
}

.sec5 {
  padding: 200px 0;
  height: 100vh;
  background-image: url(../img/sec5-bg.png);

  .inner {

    .sec5-progress {
      background-image: url(../img/progress-bar.png);
      background-size: cover;
      background-repeat: no-repeat;
      width: 100%;
      height: 16px;
      margin-top: 64px;
    }

    .sec5-itemWrap {
      display: flex;
      justify-content: space-between;


      .sec5-item {
        width: 32%;
        margin-top: 28px;
        border-radius: 16px;
        background: #fff;
        padding: 40px 24px;

        .text {
          div {
            font-size: 1.37rem;
            font-weight: bold;
            color: #121212;
            margin-bottom: 24px;
          }
        }

        ul li {
          list-style: disc;
          margin-left: 24px;
          font-size: 0.87rem;
        }
      }

      .first {
        background: #484848;

        .text {
          p {
            color: #8F8F8F;
          }

          div {
            color: #fff;
          }
        }

        ul li {
          color: #fff;
        }
      }

      .second {
        border: 4px solid #0E81E3;

        .text p {
          color: #106BC0;
        }
      }

      .third {
        border: 2px dashed #0E81E3;

        .text p {
          color: #8F8F8F;
        }
      }
    }
  }
}


.sec6 {
  padding: 190px 0;
  text-align: center;
  background: linear-gradient(98deg, #032040 1.65%, #15579E 98.72%);

  .title {
    color: #fff;
  }

  .text {
    color: #F0F5FF;
    font-size: 1.12rem;
    margin-top: 12px;
  }

  button {
    padding: 16px 40px;
    border-radius: 8px;
    background: #106BC0;
    color: #fff;
    margin-top: 12px;
  }
}

.sec7 {
  padding: 120px 0;
}

.system .inner {

  .system-head {
    display: flex;
    justify-content: space-between;

    .system-title {
      .sub-tit {
        margin-top: 8px;
        margin-bottom: 40px;
        font-size: 1.12rem;
        line-height: 160%;
        color: #404040;
      }
    }

    ul li {
      line-height: 180%;
      /* 28.8px */
    }

    .system-img {
      width: 312px;
      height: 364px;
      border-radius: 4px;
    }
  }

  .system-layout {
    padding: 52px 48px 68px 48px;
    border-radius: 6px;
    border: 1px solid #DCDDDD;
    margin-top: 80px;
    text-align: center;
    overflow-x: scroll;

    img {
      max-width: fit-content;
    }
  }
}

/* system //*/



@media (max-width:1279px) {

  section .inner {
    max-width: 980px;
  }

  .title {
    font-size: 2.5rem;
  }

  #header {
    padding: 20px 0;

    .inner {
      max-width: 88%;
    }
  }

  .visual .visual-txt h1 {
    font-size: 2.0rem;
  }

  .sec2 {
    padding: 80px 0;
    height: auto;

    .inner {
      flex-direction: column;
      gap: 40px;

      .sec2-content {
        width: 100%;

        p {
          margin-bottom: 8px;
          font-size: 1.25rem;
        }

        .title {
          line-height: 48px;
        }

        .sec2-text {
          margin-top: 20px;
        }
      }
    }
  }

  .sec3 {
    .inner {
      .feature-card-wrap {
        width: 100%;

        .feature-card {
          width: 49%;
        }
      }
    }
  }

  .sec4 .inner {
    .benefit1 {
      justify-content: center;
      flex-wrap: wrap;
      gap: 24px;
    }
  }

  .sec5 {
    height: auto;

    .inner .sec5-progress {
      background-size: contain;
    }
  }

  .sec6 p span {
    display: block;
  }
}


@media (max-width:1080px) {
  .sec1 {
    .inner {
      .sec1-bg {
        .item-wrap {
          width: 100%;

          .sec1-item .item-tit {
            font-size: 1.0rem;
          }

          .sec1-item p {
            font-size: 0.85rem;
          }
        }
      }
    }
  }

  .sec4 .inner {
    .benefit1 {
      .benefit1-item {
        width: 47%;

        .figure {
          font-size: 2.8rem;
        }
      }
    }

    .benefit3 {
      .benefit3-tit {
        font-size: 2.75rem;
      }
    }
  }
}



@media (max-width:979px) {
  section .inner {
    max-width: 720px;
  }

  .title {
    font-size: 2.5rem;
  }

  .visual .inner {
    justify-content: center;

    .loginBox {
      display: none;
    }

    .main-text .main-script {
      font-size: 1.12rem;
    }
  }
}



@media (max-width:719px) {

  section .inner {
    max-width: 480px;
  }

  .title {
    font-size: 2.0rem;
  }


  .visual {
    height: 640px;

    .visual-txt {

      div {
        font-size: 1.0rem;
      }

      h1 {
        font-size: 1.5rem;
        line-height: 1.5;

        span {
          display: block;
        }
      }
    }
  }

  .sec1 {

    padding: 120px 0;

    & .inner {

      .title {
        margin-bottom: 40px;

        span {
          display: block;
        }
      }

      & .sec1-bg {

        width: 100%;
        height: auto;

        .item-wrap {
          position: relative;
          top: unset;
          left: unset;
          transform: none;

          .sec1-item {
            width: 48%;
            padding: 16px;

            .icon {
              margin-top: 0;
              width: 40px;
              height: 40px;
            }

            .item-tit {
              margin-top: 12px;

              br {
                display: none;
              }
            }
          }
        }
      }

      /* sec1-bg  */

      .sec1-txt {
        margin-top: 40px;

        div br {
          display: block;
        }
      }
    }
  }

  .sec3 {
    padding: 120px 0;

    .inner {
      .title {
        div {
          font-size: 2.0rem;
        }

        p {
          margin-bottom: 0;
        }
      }

      .feature-card-wrap {
        margin-top: 40px;

        .feature-card {
          width: 100%;
          height: auto;
        }
      }

    }
  }

  .sec4 {
    padding: 120px 0;

    .inner {
      .title {
        margin-bottom: 40px;

        div {
          font-size: 2.0rem;
          margin-top: 0;
        }
      }

      .benefit1 {
        padding: 28px;

        .benefit1-item {
          .figure {
            font-size: 2.25rem;
          }
        }
      }

      .benefit2 {
        flex-direction: column;

        .benefit2-item {
          width: 100%;
          padding: 28px;

          ul li {
            margin-left: 28px;
            font-size: 0.85rem;
          }
        }
      }

      .benefit3 {
        margin-top: 100px;
        flex-direction: column;

        .benefit3-tit {
          font-size: 2.0rem;
          line-height: 40px;
          margin-bottom: 12px;
        }

        .sec4-textbox {
          width: 100%;
        }
      }
    }
  }

  .sec5 {
    padding: 120px 0;

    .inner {
      .sec5-progress {
        display: none;
      }

      .sec5-itemWrap {
        flex-direction: column;

        .sec5-item {
          width: 100%;
          padding: 28px 20px;
          margin-top: 20px;

          .text div {
            margin-bottom: 16px;
          }
        }
      }
    }

  }

  .sec6 {
    padding: 120px 0;

    .title {
      font-size: 2.0rem;

      span {
        display: block;
      }
    }

    .text {
      font-size: 0.8rem;
    }
  }

  .system .inner {
    .system-head {
      flex-direction: column;

      .system-title .sub-tit {
        font-size: 1.0rem;
      }

      .system-img {
        width: 100%;
        height: auto;
        margin-top: 32px;

        img {
          width: 100%;
        }
      }
    }
  }

}


@media (max-width:479px) {
  section .inner {
    max-width: 350px;
  }
}