@charset "UTF-8";
/*! modern-normalize v1.0.0 | MIT License | https://github.com/sindresorhus/modern-normalize */
/*
Document
========
*/
/**
Use a better box model (opinionated).
*/
*,
*::before,
*::after {
  box-sizing: border-box; }

/**
Use a more readable tab size (opinionated).
*/
:root {
  -moz-tab-size: 4;
  -o-tab-size: 4;
     tab-size: 4; }

/**
1. Correct the line height in all browsers.
2. Prevent adjustments of font size after orientation changes in iOS.
*/
html {
  font-size: 16px;
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  /* Enable kerning and optional ligatures */
  text-rendering: optimizeLegibility; }

/*
Sections
========
*/
/**
Remove the margin in all browsers.
*/
body {
  margin: 0; }

/**
Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
*/
body {
  font-family: 'Noto Sans KR', sans-serif; }

/*
Grouping content
================
*/
/**
1. Add the correct height in Firefox.
2. Correct the inheritance of border color in Firefox. (https://bugzilla.mozilla.org/show_bug.cgi?id=190655)
*/
hr {
  height: 0;
  /* 1 */
  color: inherit;
  /* 2 */ }

/*
Text-level semantics
====================
*/
/**
Add the correct text decoration in Chrome, Edge, and Safari.
*/
abbr[title] {
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted; }

/**
Add the correct font weight in Edge and Safari.
*/
b,
strong {
  font-weight: bolder; }

/**
1. Improve consistency of default fonts in all browsers. (https://github.com/sindresorhus/modern-normalize/issues/3)
2. Correct the odd 'em' font sizing in all browsers.
*/
code,
kbd,
samp,
pre {
  font-family: ui-monospace, SFMono-Regular, Consolas, 'Liberation Mono', Menlo, monospace;
  /* 1 */
  font-size: 1em;
  /* 2 */ }

/**
Add the correct font size in all browsers.
*/
small {
  font-size: 0.85rem; }

/**
Prevent 'sub' and 'sup' elements from affecting the line height in all browsers.
*/
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sub {
  bottom: -0.25em; }

sup {
  top: -0.5em; }

/*
Tabular data
============
*/
/**
1. Remove text indentation from table contents in Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=999088, https://bugs.webkit.org/show_bug.cgi?id=201297)
2. Correct table border color inheritance in all Chrome and Safari. (https://bugs.chromium.org/p/chromium/issues/detail?id=935729, https://bugs.webkit.org/show_bug.cgi?id=195016)
*/
table {
  text-indent: 0;
  /* 1 */
  border-color: inherit;
  /* 2 */ }

/*
Forms
=====
*/
/**
1. Change the font styles in all browsers.
2. Remove the margin in Firefox and Safari.
*/
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
Remove the inheritance of text transform in Edge and Firefox.
1. Remove the inheritance of text transform in Firefox.
*/
button,
select {
  /* 1 */
  text-transform: none; }

/**
Correct the inability to style clickable types in iOS and Safari.
*/
button,
[type='button'],
[type='reset'],
[type='submit'] {
  -webkit-appearance: button; }

/**
Remove the inner border and padding in Firefox.
*/
::-moz-focus-inner {
  border-style: none;
  padding: 0; }

/**
Restore the focus styles unset by the previous rule.
*/
:-moz-focusring {
  outline: 1px dotted ButtonText; }

/**
Remove the additional ':invalid' styles in Firefox.
See: https://github.com/mozilla/gecko-dev/blob/2f9eacd9d3d995c937b4251a5557d95d494c9be1/layout/style/res/forms.css#L728-L737
*/
:-moz-ui-invalid {
  box-shadow: none; }

/**
Remove the padding so developers are not caught out when they zero out 'fieldset' elements in all browsers.
*/
legend {
  padding: 0; }

/**
Add the correct vertical alignment in Chrome and Firefox.
*/
progress {
  vertical-align: baseline; }

/**
Correct the cursor style of increment and decrement buttons in Safari.
*/
::-webkit-inner-spin-button,
::-webkit-outer-spin-button {
  height: auto; }

/**
1. Correct the odd appearance in Chrome and Safari.
2. Correct the outline style in Safari.
*/
[type='search'] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
Remove the inner padding in Chrome and Safari on macOS.
*/
::-webkit-search-decoration {
  -webkit-appearance: none; }

/**
1. Correct the inability to style clickable types in iOS and Safari.
2. Change font properties to 'inherit' in Safari.
*/
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */ }

/*
Interactive
===========
*/
/*
Add the correct display in Chrome and Safari.
*/
summary {
  display: list-item; }

a {
  text-decoration: none; }

h1, h2, h3, h4, h5, h6, p {
  margin: 0; }

.embla {
  overflow: hidden;
  position: relative; }

.embla__container {
  display: flex; }

.embla__slide {
  position: relative;
  flex: 0 0 100%; }

.embla-slide__image {
  display: block;
  margin: 0;
  padding: 0;
  width: 100%;
  min-height: 200px;
  -o-object-fit: cover;
     object-fit: cover; }

.embla-slide__layer {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: flex;
  justify-content: center;
  align-items: center; }
  .embla-slide__layer .border {
    border: none;
    height: 4px;
    background-color: #FFFFFF;
    width: 35px; }

.embla__dots {
  position: absolute;
  display: flex;
  bottom: 16px;
  width: 100%;
  list-style: none;
  justify-content: center;
  padding-top: 10px;
  align-items: center; }
  @media only screen and (min-width: 640px) {
    .embla__dots {
      bottom: 32px; } }

.embla__dot {
  background-color: transparent;
  cursor: pointer;
  position: relative;
  padding: 0;
  outline: 0;
  width: 8px;
  height: 8px;
  border-radius: 8px;
  margin-right: 7.5px;
  margin-left: 7.5px;
  border: 1px solid #FFFFFF; }

.embla__dot.is-selected {
  background-color: #FFFFFF; }

.subheader {
  margin-top: 40px;
  margin-bottom: 40px;
  text-align: center; }
  @media only screen and (min-width: 640px) {
    .subheader {
      margin-top: 72px;
      margin-bottom: 72px; } }

.subheader-title {
  margin-bottom: 8px;
  color: #1C1C1C; }

.subheader-description {
  color: #828282;
  font-size: 14px; }
  @media only screen and (min-width: 640px) {
    .subheader-description {
      font-size: 16px; } }

@media only screen and (min-width: 640px) {
  .history {
    display: flex; } }

.history-age {
  font-size: 18px;
  color: #1F5697;
  font-weight: bold; }
  @media screen and (min-width: 641px) {
    .history-age {
      width: 25.6689%;
      text-align: center; } }

.history-table {
  margin-top: 24px; }
  @media screen and (min-width: 641px) {
    .history-table {
      margin-top: 0;
      width: 65.719%; } }

.history-table-row {
  margin: 0 0 4px 0; }

.history-table-year {
  width: 16%; }

.history-table-month {
  margin-right: 8px; }
  @media screen and (min-width: 641px) {
    .history-table-month {
      margin-right: 30px; } }

.history-table-border {
  margin: 16px 0;
  border: none;
  height: 1px;
  background-color: #D8D8D8; }

.performance-age {
  font-size: 18px;
  color: #1F5697; }
  @media screen and (min-width: 641px) {
    .performance-age {
      flex: 0 0 160px; } }

.performance-table {
  margin-top: 24px; }
  @media screen and (min-width: 641px) {
    .performance-table {
      margin-top: 0;
      flex: 1 1 0px; } }

@media screen and (min-width: 641px) {
  .performance-data {
    display: flex; } }

@media screen and (min-width: 641px) {
  .performance-data-etc {
    flex: 0 0 240px; } }

@media screen and (max-width: 640px) {
  .performance-data-organize {
    margin: 8px 0; } }

@media screen and (min-width: 641px) {
  .performance-data-organize {
    flex: 0 0 240px; } }

@media screen and (max-width: 640px) {
  .performance-data-summary {
    margin: 8px 0; } }

@media screen and (min-width: 641px) {
  .performance-data-summary {
    padding-right: 40px;
    flex: 1 1 0px; } }

.performance-table-border {
  margin: 24px 0;
  border: none;
  height: 1px;
  background-color: #D8D8D8; }

.card-topborder {
  margin: 0;
  border: none;
  height: 12px;
  background-color: #0D447B; }

.card-image {
  display: block;
  width: 100%; }

.card-image__layer {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background-color: rgba(11, 62, 110, 0.4); }

.card-contents {
  position: absolute;
  top: 24px;
  left: 24px;
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); }
  @media only screen and (min-width: 640px) {
    .card-contents {
      top: 45px;
      left: 45px; } }

.card-button {
  position: absolute;
  padding: 8px;
  right: 24px;
  bottom: 24px;
  transform: rotate(-45deg);
  border-radius: 12px;
  background-color: rgba(250, 186, 31, 0.77); }
  @media only screen and (min-width: 640px) {
    .card-button {
      padding: 16px;
      bottom: 48px;
      right: 48px;
      border-radius: 19px; } }

.container {
  padding: 0 16px;
  margin: 0 auto;
  width: 100%;
  max-width: 1228px; }

.container__lnb {
  padding: 0; }

.row {
  display: flex; }
  @media only screen and (max-width: 640px) {
    .row {
      flex-direction: column; }
      .row .col {
        width: 100%; } }
  .row.row__two.row__gap {
    margin-top: -32px; }
    .row.row__two.row__gap .col {
      margin-top: 32px; }
  @media only screen and (min-width: 640px) {
    .row.row__two.row__gap {
      margin-left: -40px; }
      .row.row__two.row__gap .col {
        margin-left: 40px; } }
  @media only screen and (min-width: 640px) {
    .row.row__three .col {
      width: 33.3333%; } }
  .row.row__three.row__gap {
    margin-top: -36px; }
    @media only screen and (min-width: 640px) {
      .row.row__three.row__gap {
        margin-left: -48px; } }
    .row.row__three.row__gap .col {
      margin-top: 36px; }
      @media only screen and (min-width: 640px) {
        .row.row__three.row__gap .col {
          margin-left: 48px; } }
  .row.row__three.row__hr hr {
    display: none; }
  @media only screen and (min-width: 640px) {
    .row.row__three.row__hr hr {
      display: block; } }
  .row .col-hr {
    border: none;
    width: 1px !important;
    height: 148px;
    margin-right: 0;
    background-color: #979797;
    flex-basis: 1px; }

.col-2 {
  width: 100%; }
  @media only screen and (min-width: 640px) {
    .col-2 {
      flex: 0 0 auto;
      width: 50%; } }

.opacity-10 {
  opacity: 0.1; }

.opacity-20 {
  opacity: 0.2; }

.opacity-50 {
  opacity: 0.5; }

.opacity-70 {
  opacity: 0.7; }

.section--gap {
  margin-top: 24px;
  margin-bottom: 24px; }
  @media only screen and (min-width: 640px) {
    .section--gap {
      margin-top: 32px;
      margin-bottom: 32px; } }

.section-gap {
  margin-bottom: 32px; }
  @media only screen and (min-width: 640px) {
    .section-gap {
      margin-bottom: 80px; } }

.section-gap__last {
  margin-bottom: 40px; }
  @media only screen and (min-width: 640px) {
    .section-gap__last {
      margin-bottom: 152px; } }

.my-32 {
  margin-top: 32px;
  margin-bottom: 32px; }

.relative {
  position: relative; }

.absolute {
  position: absolute; }

@media only screen and (max-width: 640px) {
  .mobile-hide {
    display: none; } }

@media only screen and (min-width: 640px) {
  .pc-hide {
    display: none; } }

.mb-4 {
  margin-bottom: 4px; }

.mb-8 {
  margin-bottom: 8px; }

.contents {
  margin-top: 32px;
  margin-bottom: 32px; }
  @media only screen and (min-width: 640px) {
    .contents {
      margin-top: 56px;
      margin-bottom: 152px; } }

.flex {
  display: flex; }

.flex-col__three {
  flex: 0 0 auto;
  width: 100%; }
  @media only screen and (min-width: 640px) {
    .flex-col__three {
      width: 33.3333%; } }

.flex-col__five {
  flex: 0 0 auto;
  width: calc(100% / 2); }
  @media only screen and (min-width: 640px) {
    .flex-col__five {
      width: calc(100% / 5); } }

.product-explanation {
  padding: 8px;
  border: 1px solid #D6D6D6;
  border-top: 2px solid #0D447B;
  background-color: #FBFBFB; }
  @media only screen and (min-width: 640px) {
    .product-explanation {
      padding: 20px 40px; } }

.topbar {
  background-color: #F6F8FA;
  color: #999999; }

.topbar-contact {
  margin-left: 8px;
  padding: 0 8px 2px 8px;
  display: flex;
  justify-content: center;
  align-items: center;
  color: #2F363D;
  background-color: #FABA1F;
  text-align: center;
  width: 140px; }

.gnb {
  display: flex;
  justify-content: space-between;
  padding-right: 0; }

.gnb-logo {
  display: flex;
  justify-content: center;
  align-items: center; }

.gnb-toggle {
  display: block;
  position: relative;
  width: 56px;
  height: 56px; }
  @media only screen and (min-width: 640px) {
    .gnb-toggle {
      display: none; } }

.gnb-toggle-top {
  display: block;
  position: absolute;
  top: 27px;
  left: 18px;
  width: 20px;
  height: 2px;
  background-color: black;
  transform: translateY(-5px);
  transition: transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96); }

.gnb-toggle-bottom {
  display: block;
  position: absolute;
  bottom: 27px;
  left: 18px;
  width: 20px;
  height: 2px;
  background-color: black;
  transform: translateY(5px);
  transition: transform 0.1806s cubic-bezier(0.04, 0.04, 0.12, 0.96); }

.gnb-lang {
  display: none; }
  @media only screen and (min-width: 640px) {
    .gnb-lang {
      display: block; } }

.nav {
  margin: 0;
  list-style: none;
  display: none;
  color: white; }
  @media only screen and (min-width: 640px) {
    .nav {
      display: flex;
      justify-content: space-between; } }

.nav-item {
  padding: 16px 0; }
  .nav-item.is-open .nav-item__sub {
    transform: scaleY(1); }
    @media screen and (max-width: 640px) {
      .nav-item.is-open .nav-item__sub {
        display: block; } }
  @media only screen and (min-width: 640px) {
    .nav-item {
      color: #212121;
      cursor: pointer;
      padding: 24px 0;
      width: 140px;
      position: relative;
      z-index: 300;
      /* 경계선에서 hover효과가 사라져 서브메뉴가 없어지는 문제 */ } }

.nav-item__link {
  display: block;
  color: inherit; }
  @media only screen and (min-width: 640px) {
    .nav-item__link {
      padding: 8px 16px; } }

.nav-item__button {
  width: 100%;
  color: inherit;
  cursor: inherit;
  -webkit-appearance: none;
  text-align: start;
  background: none;
  border: none;
  font-size: 19px;
  font-weight: 500; }
  @media only screen and (min-width: 640px) {
    .nav-item__button {
      color: #212121;
      padding: 8px 16px; } }

.nav-item__sub {
  padding-top: 8px;
  list-style: none;
  overflow: hidden;
  transform: scaleY(0);
  transform-origin: top;
  transition: transform 0.08s ease; }
  @media screen and (min-width: 641px) {
    .nav-item__sub {
      margin: 0;
      padding: 0;
      position: absolute;
      left: 0;
      top: 100%;
      background-color: #0D447B;
      color: white;
      font-weight: bold;
      min-width: 200px; } }
  @media screen and (max-width: 640px) {
    .nav-item__sub {
      display: none; } }

.nav-item__sub-item {
  padding: 8px 0;
  font-weight: normal; }
  @media only screen and (min-width: 640px) {
    .nav-item__sub-item {
      padding: 8px;
      z-index: 1000; }
      .nav-item__sub-item:hover {
        background-color: #0B305A; } }

.gnb-layer {
  position: fixed;
  width: 100%;
  top: 0;
  bottom: 0;
  background-color: #0D447B;
  height: 0;
  z-index: 550;
  overflow-y: auto; }

#gnb-open:checked ~ header .gnb {
  position: relative;
  z-index: 9999;
  background-color: white;
  overflow-y: initial !important; }

#gnb-open:checked ~ header .gnb-layer {
  height: 100vh;
  transition: all .3s; }

#gnb-open:checked ~ header .nav {
  display: block;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  z-index: 4000; }

#gnb-open:checked ~ header .gnb-toggle-top {
  transform: rotate(45deg); }

#gnb-open:checked ~ header .gnb-toggle-bottom {
  transform: rotate(-45deg); }

#gnb-open:checked ~ main {
  max-height: 20vh;
  overflow: hidden; }

.lnb-wrapper {
  background-color: #0D447B; }

.lnb {
  display: flex;
  width: 100%; }
  @media only screen and (max-width: 640px) {
    .lnb {
      padding-left: 0;
      padding-right: 0; } }

.lnb-item {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 40px;
  flex: 1 1 0px;
  text-align: center;
  color: #FFFFFF; }
  .lnb-item.is-active {
    background-color: #FABA1F;
    font-weight: bold; }
  .lnb-item:not(.is-active):hover {
    background-color: #0B305A; }

.lnb-item__link {
  margin-bottom: 1px;
  font-size: 14px; }
  @media only screen and (min-width: 640px) {
    .lnb-item__link {
      font-size: 16px; } }

.text-navy {
  color: #0D447B; }

.text-navy-heavy {
  color: #0F273F; }

.text-grey {
  color: #A5A5A5; }

.text-black-light {
  color: #3D3D3C; }

.text-black-heavy {
  color: #1C1C1C; }

.text-grey {
  color: #A5A5A5; }

.text-grey-heavy {
  color: #828282; }

.text-primary {
  color: #0D447B; }

.text-white {
  color: #FFFFFF; }

.text-xs {
  font-size: 13px;
  line-height: 16px; }

.text-sm {
  font-size: 14px; }

.text-lg {
  font-size: var(--font-lg); }

.text-xl {
  font-size: var(--font-xl); }

.text-2xl {
  font-size: var(--font-2xl);
  line-height: 1.33; }

.text-5xl {
  font-size: var(--font-5xl);
  line-height: 1.35; }

.text-shadow {
  text-shadow: 0 2px 4px rgba(0, 0, 0, 0.5); }

.text-center {
  text-align: center; }

.table {
  width: 100%;
  border-top: 2px solid #0D447B;
  border-spacing: 0; }
  @media screen and (min-width: 641px) {
    .table {
      table-layout: fixed; } }

.table thead th {
  color: #0D447B;
  font-weight: bold;
  word-break: keep-all; }

.table th,
.table td {
  padding: 16px 24px;
  border-bottom: 1px solid #D8D8D8;
  border-right: 1px solid #D8D8D8; }
  .table th:last-child,
  .table td:last-child {
    border-right: none; }

.equipment-2 {
  width: 248px; }

.equipment-3 {
  width: 200px; }

.equipment-4 {
  width: 80px; }

.equipment-5 {
  width: 195px; }

.product-1 {
  width: 120px; }
  @media screen and (min-width: 641px) {
    .product-1 {
      width: 20%; } }

#footer {
  padding: 32px 0;
  background-color: #0F273F; }

@media only screen and (min-width: 640px) {
  .footer-contents {
    display: flex;
    justify-content: space-between; } }

.footer-logo {
  margin-top: 16px; }
  @media only screen and (min-width: 640px) {
    .footer-logo {
      margin-top: 0; } }

@media only screen and (max-width: 959px) {
  .process__pc {
    display: none; } }

@media only screen and (min-width: 960px) {
  .process__mobile {
    display: none; } }

@media only screen and (min-width: 640px) {
  .process-line {
    display: flex;
    align-items: stretch; }
    .process-line.is-reverse {
      flex-direction: row-reverse; } }

.process-item-line-container {
  flex: 0 0 48px;
  display: flex;
  align-items: center; }
  .process-item-line-container.is-side {
    flex: 0 0 24px; }
  .process-item-line-container.is-start {
    flex: 0 0 1px; }
  .process-item-line-container.is-end {
    flex: 0 0 1px; }

.process-item-line {
  display: block;
  border: none;
  width: 100%;
  height: 1px;
  position: relative;
  background-color: #FABA1F; }
  .process-item-line.is-right::before {
    display: block;
    position: absolute;
    content: "▶";
    width: 100%;
    text-align: center;
    color: #FABA1F;
    font-size: 13px;
    top: 0;
    transform: translateY(-50%); }
  .process-item-line.is-left::before {
    display: block;
    position: absolute;
    content: "◀";
    width: 100%;
    text-align: center;
    color: #FABA1F;
    font-size: 13px;
    top: 0;
    transform: translateY(-50%); }
  .process-item-line.is-vertical-up {
    height: 50%;
    transform: translateY(-50%); }
  .process-item-line.is-vertical-down {
    height: 50%;
    transform: translateY(50%); }
  .process-item-line.is-down {
    height: 100%; }
  .process-item-line.is-down::before {
    display: block;
    position: absolute;
    content: "▼";
    text-align: center;
    color: #FABA1F;
    font-size: 13px;
    top: 50%;
    left: 1px;
    transform: translateX(-50%); }
  .process-item-line.is-none {
    background-color: transparent;
    color: transparent; }

.process-item-line__mobile {
  width: 1px;
  height: 50px; }
  .process-item-line__mobile::before {
    position: absolute;
    content: "▼";
    color: #FABA1F;
    font-size: 13px;
    top: 35%;
    left: .5px;
    transform: translateX(-50%); }

.certificate-image {
  display: block;
  border: 1px solid #D8D8D8;
  width: 100%; }

.certificate-caption {
  text-align: center;
  margin-top: 15px;
  color: #212121; }
