@charset "UTF-8";
* {
  margin: 0;
  padding: 0;
  font: inherit;
  color: inherit; }

*, :after, :before {
  box-sizing: border-box;
  flex-shrink: 0; }

:root {
  -webkit-tap-highlight-color: transparent;
  line-height: 1.7em;
  overflow-wrap: break-word;
  word-break: break-word;
  tab-size: 4; }

html, body {
  height: 100%; }

img, picture, video, canvas, svg {
  display: block;
  max-width: 100%; }

button {
  background: none;
  border: 0;
  cursor: pointer; }

a {
  text-decoration: none;
  transition: color 0.2s ease, background 0.2s ease; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

.clearfix:after {
  content: '';
  display: block;
  clear: both; }

body {
  font-family: "Noto Sans KR", sans-serif; }

@media screen and (min-width: 980px) {
  body {
    color: #404040; }
    body .layout {
      position: relative;
      margin: 0 auto;
      width: 940px; }
    body > nav {
      position: fixed;
      top: 0;
      left: 0;
      right: 0;
      z-index: 1000;
      height: 30px;
      background: #f8f8f8; }
      body > nav a {
        display: block;
        float: left;
        position: relative;
        padding: 0 10px;
        font-size: 12px; }
        body > nav a:first-child {
          margin-left: -10px; }
          body > nav a:first-child:before {
            content: none; }
        body > nav a.active, body > nav a:hover {
          color: #00b4e3; }
        body > nav a:before {
          content: '';
          display: block;
          position: absolute;
          top: 7px;
          left: 0;
          width: 1px;
          height: 15px;
          background: #b8b9bb; }
    body > header {
      position: fixed;
      top: 30px;
      left: 0;
      right: 0;
      z-index: 1000;
      height: 90px;
      background: #fff;
      border-bottom: 1px solid #ccc; }
      body > header > .layout {
        position: relative; }
      body > header h1 {
        position: absolute;
        top: 27px;
        left: 0; }
        body > header h1 > a,
        body > header h1 img {
          display: block; }
        body > header h1 img {
          width: 160px;
          height: 40px; }
      body > header nav {
        position: absolute;
        top: 25px;
        right: 0; }
        body > header nav > a {
          display: inline-block;
          padding: 0 10px;
          height: 40px;
          line-height: 40px;
          font-size: 14px; }
          body > header nav > a.active, body > header nav > a:hover {
            color: #00b4e3; }
          body > header nav > a.regist {
            display: inline-block;
            margin-left: 12px;
            padding: 0 20px;
            background: #00b4e3;
            border-radius: 40px;
            color: #fff;
            font-size: 13px; }
            body > header nav > a.regist:hover {
              background: #0086b8; }
  /* Section 공통 시작 */
  section {
    padding: 75px 0; }
    section:nth-child(2n+3) {
      background: #f5f5f5; }
    section h2 {
      margin-bottom: 40px;
      font-family: "NanumSquare", sans-serif;
      font-size: 30px;
      font-weight: 400;
      line-height: 1em;
      text-align: center; }
      section h2 strong {
        font-weight: bold; }
      section h2 span + span {
        margin-left: 7px; }
    section a.btn {
      display: block;
      margin: 30px auto 0;
      width: 375px;
      height: 50px;
      line-height: 50px;
      background: #00b4e3;
      border-radius: 25px;
      color: #fff;
      font-family: initial;
      font-size: 19px;
      text-align: center; }
      section a.btn:hover {
        background: #0086b8; }
  /* Section 공통 종료 */
  section.hero {
    position: relative;
    margin-top: 120px;
    padding: inherit;
    min-width: 940px;
    height: 530px;
    background: url(images/bg_hero.jpg) repeat-x center bottom;
    border-bottom: 1px solid #888; }
    section.hero:after {
      content: '';
      position: absolute;
      top: 0;
      left: 0;
      right: 0;
      bottom: 0;
      background: rgba(0, 0, 0, 0.02); }
    section.hero .layout {
      position: relative;
      z-index: 1;
      height: 100%;
      background: url(images/hero.png) no-repeat bottom right/586px 456px; }
      section.hero .layout .wrap {
        position: absolute;
        top: 130px;
        font-family: "NanumSquare", "Noto Sans KR", sans-serif; }
        section.hero .layout .wrap h2 {
          margin-bottom: 20px;
          line-height: 1.4em;
          font-size: 40px;
          font-weight: bold;
          text-align: inherit;
          letter-spacing: -0.5px; }
        section.hero .layout .wrap p {
          font-size: 20px;
          letter-spacing: -0.5px; }
        section.hero .layout .wrap a.btn {
          margin: 85px 0 0; }
  section.answer {
    font-family: "NanumSquare", sans-serif; }
    section.answer dl {
      display: flex;
      justify-content: space-between;
      margin-top: 50px;
      text-align: center;
      counter-reset: dt-answer; }
      section.answer dl div {
        width: 280px; }
        section.answer dl div dt {
          font-size: 24px;
          font-weight: bold; }
          section.answer dl div dt:before {
            counter-increment: dt-answer;
            content: counter(dt-answer) " ";
            color: #0086b8; }
        section.answer dl div dd {
          margin-top: 16px;
          padding-top: 16px;
          border-top: 1px solid #b3b3b3;
          font-size: 18px; }
          section.answer dl div dd strong {
            font-weight: bold; }
  section.document ul {
    margin: 40px auto 0;
    padding: 40px 0 40px 70px;
    width: 700px;
    background: #fff;
    font-family: "NanumSquare", "Noto Sans KR", sans-serif;
    font-size: 20px;
    list-style-type: none; }
    section.document ul li {
      position: relative;
      padding-left: 37px; }
      section.document ul li strong {
        font-weight: bold; }
      section.document ul li + li {
        margin-top: 30px; }
      section.document ul li:before {
        content: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOSIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI5IDI4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iIzQwNDA0MSIgc3Ryb2tlPSIjRjVGNUY1IiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0yNy42NCA0LjQ4NGwtMy4yMTctMy4yMTlhLjYwMy42MDMgMCAwIDAtLjg1MiAwbC0xMS42MyAxMS42My0yLjI2NS0yLjI2NmEuNjAzLjYwMyAwIDAgMC0uODUyIDBsLTMuMjIgMy4yMTlhLjYwMi42MDIgMCAwIDAgMCAuODUybDUuODkzIDUuODlhLjYwMi42MDIgMCAwIDAgLjQyNi4xNzdjLjAwNyAwIC4wMTQtLjAwNC4wMi0uMDA0LjAwNyAwIC4wMTMuMDA0LjAyLjAwNGEuNi42IDAgMCAwIC40MjUtLjE3N0wyNy42NDEgNS4zMzdhLjYwMy42MDMgMCAwIDAgMC0uODUzeiIvPgogICAgICAgIDxwYXRoIGZpbGw9IiNDQ0MiIGQ9Ik0yMC4xNjggMTUuNDJ2Ny45SDMuNzI1VjYuODc1aDExLjU5NmwzLjcyNS0zLjcyNUgxLjk0di4wMDNjLS4wMDkgMC0uMDE3LS4wMDMtLjAyNi0uMDAzQTEuOTEgMS45MSAwIDAgMCAuMDA0IDUuMDE4SDB2MjAuMTZoLjAwNWExLjkwOCAxLjkwOCAwIDAgMCAxLjg2MiAxLjg2MnYuMDA0aDIwLjE2di0uMDA0YTEuOTA4IDEuOTA4IDAgMCAwIDEuODYxLTEuODYyaC4wMDVWMTEuNjk1bC0zLjcyNSAzLjcyNXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==");
        display: block;
        position: absolute;
        top: -1px;
        left: 0;
        width: 24px;
        height: 24px; }
  section.process img {
    margin-top: 30px; }
  section.process p {
    position: absolute;
    bottom: 0;
    margin-top: 26px;
    padding-left: 6px;
    width: 825px;
    font-size: 14px;
    line-height: 1.5em; }
    section.process p:before {
      content: '* ';
      position: absolute;
      top: 3px;
      left: -5px; }
    section.process p strong {
      font-weight: bold; }
  section.price {
    height: 357px;
    background-image: url(images/bg_price.png);
    background-repeat: no-repeat;
    background-position: calc(50% + 440px) bottom; }
    section.price h2 {
      text-align: left; }
      section.price h2 span {
        display: block; }
      section.price h2 span + span {
        margin-top: 13px;
        margin-left: 0; }
    section.price div.wrapPrice {
      margin-top: 40px;
      font-family: "NanumSquare", "Noto Sans KR", sans-serif; }
      section.price div.wrapPrice span.price {
        color: #0086b8;
        font-size: 48px;
        font-weight: bold; }
      section.price div.wrapPrice span.won {
        font-size: 24px; }
      section.price div.wrapPrice span.vat {
        font-family: "Noto Sans KR", sans-serif;
        font-size: 14px; }
    section.price p {
      position: relative;
      margin-top: 26px;
      padding-left: 6px;
      font-size: 14px;
      line-height: 1.5em; }
      section.price p:before {
        content: '* ';
        position: absolute;
        top: 3px;
        left: -5px; }
      section.price p strong {
        font-weight: bold; }
  section.news iframe {
    float: left;
    display: block;
    margin-right: 30px;
    border: none; }
  section.news a {
    float: left;
    display: block;
    width: 450px; }
    section.news a + a {
      margin-top: 40px; }
    section.news a:nth-child(2n+5) {
      margin-right: 30px; }
    section.news a article {
      position: relative;
      padding-top: 50px; }
      section.news a article h3 {
        font-size: 16px;
        line-height: 1.5em; }
      section.news a article p {
        margin-top: 10px;
        color: #777;
        font-size: 14px;
        line-height: 1.5em; }
      section.news a article address {
        position: absolute;
        top: 0;
        left: 0; }
        section.news a article address img {
          height: 30px; }
      section.news a article time {
        position: absolute;
        top: 2px;
        right: 0;
        color: #888;
        font-size: 14px; }
  section.apply p {
    margin-top: 30px;
    font-size: 18px;
    line-height: 1.7em;
    text-align: center; }
  footer {
    background: #404040; }
    footer nav {
      display: flex;
      justify-content: space-between;
      height: 50px; }
      footer nav a {
        display: block;
        height: 50px;
        line-height: 50px;
        color: #fff;
        font-size: 14px; }
    footer address {
      position: relative;
      border-top: 1px solid #58595b;
      color: #b9b9b9;
      font-size: 12px; }
      footer address div.layout {
        padding: 25px 0 25px 140px; }
        footer address div.layout img {
          position: absolute;
          left: 0;
          top: 28px; }
  div.modal_bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.05); }
    div.modal_bg article {
      position: absolute;
      left: calc(50% - 250px);
      top: calc(50vh - 125px);
      box-sizing: border-box;
      padding: 30px;
      width: 500px;
      height: 250px;
      background: #fff;
      border-radius: 20px;
      box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); }
      div.modal_bg article h1 {
        position: relative;
        margin-bottom: 40px;
        padding-left: 12px;
        font-size: 28px; }
        div.modal_bg article h1:before {
          content: '';
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          width: 3px;
          height: 28px;
          background: #0086b8; } }

@media screen and (max-width: 979px) {
  body {
    color: #404040; }
    body .layout {
      position: relative;
      padding: 15px clamp(15px, 4vw, 50px); }
    body > nav {
      display: none; }
    body > header {
      position: absolute; }
      body > header nav {
        display: none; }
      body > header h1 > a,
      body > header h1 img {
        display: block; }
      body > header h1 img {
        width: 120px;
        height: 30px; }
  section {
    padding: 30px 0; }
    section:nth-child(2n+3) {
      background: #f5f5f5; }
    section h2 {
      margin-bottom: 30px;
      font-family: "NanumSquare", sans-serif;
      font-size: clamp(22px, 5.2vw, 30px);
      line-height: 1.3em;
      letter-spacing: -0.3px;
      text-align: center; }
      section h2 strong {
        font-weight: bold; }
      section h2 span {
        display: block; }
    section a.btn {
      display: block;
      margin: 30px auto 0;
      width: clamp(250px, 100%, 500px);
      height: 50px;
      line-height: 50px;
      background: #00b4e3;
      border-radius: 25px;
      color: #fff;
      font-family: initial;
      font-size: 19px;
      text-align: center; }
      section a.btn:hover {
        background: #0086b8; }
  section.hero {
    padding-top: 50px;
    padding-bottom: 0;
    height: clamp(450px, 110vw, 900px);
    background: url(images/hero_mobile.png) no-repeat bottom center/90vw 67.86vw, url(images/bg_hero.jpg) no-repeat left bottom/200% 100%;
    font-family: "NanumSquare", "Noto Sans KR", sans-serif; }
    section.hero .layout {
      height: 100%; }
      section.hero .layout .wrap {
        position: relative;
        height: 100%; }
        section.hero .layout .wrap h2 {
          margin-bottom: 4vw;
          font-size: clamp(24px, 6vw, 40px);
          font-weight: bold;
          letter-spacing: -0.5px;
          line-height: 1.25em; }
        section.hero .layout .wrap p {
          font-size: clamp(16px, 3vw, 28px);
          letter-spacing: -0.7px;
          text-align: center; }
        section.hero .layout .wrap a.btn {
          position: absolute;
          bottom: -4px;
          width: 100%; }
  section.answer {
    font-family: "NanumSquare", sans-serif; }
    section.answer dl {
      text-align: center;
      counter-reset: dt-answer; }
      section.answer dl div dt {
        font-size: clamp(20px, 5.5vw, 26px);
        font-weight: bold; }
        section.answer dl div dt:before {
          counter-increment: dt-answer;
          content: counter(dt-answer) " ";
          color: #0086b8; }
      section.answer dl div dd {
        margin-top: clamp(5px, 1.5vw, 15px);
        font-size: clamp(18px, 4vw, 22px); }
        section.answer dl div dd strong {
          font-weight: bold; }
      section.answer dl div + div {
        position: relative;
        margin-top: 18px;
        padding-top: 18px; }
        section.answer dl div + div:before {
          content: '';
          display: block;
          position: absolute;
          top: 0;
          left: calc(50% - 15vw);
          width: 30vw;
          height: 1px;
          background: #b3b3b3; }
  section.document {
    font-family: "NanumSquare", "Noto Sans KR", sans-serif; }
    section.document ul {
      padding: 20px 0 20px 15px;
      background: #fff;
      font-size: clamp(14px, 3.7vw, 18px);
      list-style-type: none; }
      section.document ul li {
        position: relative;
        padding-left: clamp(10px, 7vw, 38px); }
        section.document ul li strong {
          font-weight: bold; }
        section.document ul li + li {
          margin-top: clamp(8px, 2vw, 17px); }
        section.document ul li:before {
          content: '';
          display: block;
          position: absolute;
          top: calc(6px - 0.8vw);
          left: 0;
          width: clamp(20px, 5.5vw, 28px);
          height: clamp(20px, 5.5vw, 28px);
          background: url("data:image/svg+xml;base64,PHN2ZyB4bWxucz0iaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmciIHdpZHRoPSIyOSIgaGVpZ2h0PSIyOCIgdmlld0JveD0iMCAwIDI5IDI4Ij4KICAgIDxnIGZpbGw9Im5vbmUiIGZpbGwtcnVsZT0iZXZlbm9kZCI+CiAgICAgICAgPHBhdGggZmlsbD0iIzQwNDA0MSIgc3Ryb2tlPSIjRjVGNUY1IiBzdHJva2Utd2lkdGg9IjIiIGQ9Ik0yNy42NCA0LjQ4NGwtMy4yMTctMy4yMTlhLjYwMy42MDMgMCAwIDAtLjg1MiAwbC0xMS42MyAxMS42My0yLjI2NS0yLjI2NmEuNjAzLjYwMyAwIDAgMC0uODUyIDBsLTMuMjIgMy4yMTlhLjYwMi42MDIgMCAwIDAgMCAuODUybDUuODkzIDUuODlhLjYwMi42MDIgMCAwIDAgLjQyNi4xNzdjLjAwNyAwIC4wMTQtLjAwNC4wMi0uMDA0LjAwNyAwIC4wMTMuMDA0LjAyLjAwNGEuNi42IDAgMCAwIC40MjUtLjE3N0wyNy42NDEgNS4zMzdhLjYwMy42MDMgMCAwIDAgMC0uODUzeiIvPgogICAgICAgIDxwYXRoIGZpbGw9IiNDQ0MiIGQ9Ik0yMC4xNjggMTUuNDJ2Ny45SDMuNzI1VjYuODc1aDExLjU5NmwzLjcyNS0zLjcyNUgxLjk0di4wMDNjLS4wMDkgMC0uMDE3LS4wMDMtLjAyNi0uMDAzQTEuOTEgMS45MSAwIDAgMCAuMDA0IDUuMDE4SDB2MjAuMTZoLjAwNWExLjkwOCAxLjkwOCAwIDAgMCAxLjg2MiAxLjg2MnYuMDA0aDIwLjE2di0uMDA0YTEuOTA4IDEuOTA4IDAgMCAwIDEuODYxLTEuODYyaC4wMDVWMTEuNjk1bC0zLjcyNSAzLjcyNXoiLz4KICAgIDwvZz4KPC9zdmc+Cg==") no-repeat center center;
          background-size: 100% 100%; }
  section.process div.layout p {
    position: relative;
    margin-top: 15px;
    padding-left: 6px;
    font-size: clamp(14px, 3vw, 20px);
    font-weight: 300;
    line-height: 1.5em; }
    section.process div.layout p:before {
      content: '* ';
      position: absolute;
      top: 3px;
      left: -5px; }
    section.process div.layout p strong {
      font-weight: 500; }
  section.price div.wrapPrice {
    margin-top: 20px;
    font-family: "NanumSquare", "Noto Sans KR", sans-serif;
    text-align: center; }
    section.price div.wrapPrice span.price {
      color: #0086b8;
      font-size: 40px;
      font-weight: bold; }
    section.price div.wrapPrice span.won {
      font-size: 20px; }
    section.price div.wrapPrice span.vat {
      font-family: "Noto Sans KR", sans-serif;
      font-size: 14px; }
  section.price p {
    position: relative;
    margin: clamp(6px, 2vw, 15px) auto 0;
    padding-left: 6px;
    width: fit-content;
    font-size: clamp(14px, 3vw, 20px);
    font-weight: 300;
    line-height: 1.5em; }
    section.price p:before {
      content: '* ';
      position: absolute;
      top: 3px;
      left: -5px; }
    section.price p strong {
      font-weight: 500; }
  section.news iframe {
    display: block;
    border: none;
    margin: 0 auto;
    max-width: 600px;
    width: 100%;
    height: clamp(210px, calc((100vw - 40px) / 4 * 2.4), 375px); }
  section.news a {
    display: block;
    margin-top: 30px; }
    section.news a article {
      position: relative;
      padding-top: 50px; }
      section.news a article h3 {
        font-size: clamp(17px, 3vw, 20px);
        line-height: 1.5em; }
      section.news a article p {
        margin-top: 10px;
        color: #777;
        font-size: clamp(14px, 3vw, 16px);
        line-height: 1.5em; }
      section.news a article address {
        position: absolute;
        top: 5px;
        left: 0; }
        section.news a article address img {
          height: clamp(20px, 5vw, 30px); }
      section.news a article time {
        position: absolute;
        top: 2px;
        right: 0;
        color: #888;
        font-size: 14px; }
  section.apply p {
    margin-top: 30px;
    font-size: clamp(16px, 4vw, 22px);
    line-height: 1.7em;
    text-align: center; }
  footer {
    background: #404040; }
    footer nav {
      display: flex;
      justify-content: space-between;
      height: 50px; }
      footer nav.layout {
        padding-top: 0;
        padding-bottom: 0; }
      footer nav a {
        display: block;
        height: 50px;
        line-height: 50px;
        color: #fff;
        font-size: 14px; }
      footer nav a:nth-child(1),
      footer nav a:nth-child(2) {
        display: none; }
    footer address {
      position: relative;
      border-top: 1px solid #58595b;
      color: #b9b9b9;
      font-size: 13px;
      line-height: 1.7em; }
      footer address div.layout img {
        display: none; }
  div.modal_bg {
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1000;
    background: rgba(0, 0, 0, 0.05); }
    div.modal_bg article {
      position: absolute;
      left: 5vw;
      top: 20vh;
      box-sizing: border-box;
      padding: 30px;
      width: 90vw;
      height: 30vh;
      background: #fff;
      border-radius: 20px;
      box-shadow: 5px 5px 10px rgba(0, 0, 0, 0.1); }
      div.modal_bg article h1 {
        position: relative;
        margin-bottom: 40px;
        padding-left: 12px;
        font-size: clamp(24px, 6vw, 28px);
        line-height: 1em; }
        div.modal_bg article h1:before {
          content: '';
          display: block;
          position: absolute;
          left: 0;
          top: 0;
          width: 3px;
          height: clamp(24px, 6vw, 28px);
          background: #0086b8; } }
