@charset "utf-8";

html {font-size: 16px}

@media all and (max-width: 1024px){    

  html {font-size: 14px;}

}

@media all and (max-width: 768px){    

  html {font-size: 13px;}

}

@media all and (max-width: 480px){    

  html {font-size: 12px;}

}

@media all and (max-width: 350px){    

  html {font-size: 9px;}

}

* {

  box-sizing: border-box;

  word-break: keep-all;

}



/* common */

body {

  font-size: 1rem; font-family: 'Pretendard', sans-serif; font-weight:400; color:#333; line-height:1; letter-spacing: -0.07em; 

}

.wrap {position: relative;}

.container {

  width:calc(100% - 60px); 

  max-width:1300px; 

  margin:0 auto;

}

:root {

  --white: #ffffff;

  --black: #000000;

  --mainColor: #0055A7;





  --black01: #292e41;

  --black02: #222;



  --gray01: #eee;

  --gray02: #67738e;

  --gray03: #373f57;

  --gray04: #999999;

  --gray05: #dddddd;

  --gray06: #bfbfc3;

  --gray07: #5c667b;

  --gray08: #404040;



  --blue01: #0066ff;

  --blue02: #00ffff;

  --blue03: #00ccff;

  --blue04: #2d65f2;



  --purple01: #562dff;

  --purple02: #f6f3ff;

  --purple03: #a2a0fd;



  --size12: 0.75rem;

  --size13: 0.8125rem;

  --size14: 0.875rem;

  --size15: 0.9375rem;

  --size16: 1rem;

  --size18: 1.125rem;

  --size20: 1.25rem;

  --size22: 1.375rem;

  --size24: 1.5rem;

  --size25: 1.5625rem;

  --size26: 1.625rem;

  --size28: 1.75rem;

  --size30: 1.875rem;

  --size34: 2.125rem;

  --size36: 2.25rem;

  --size40: 2.5rem;

  --size45: 2.8125rem;

}



.flex-box {

  display: flex;

  flex-flow: row wrap;

}



.mt50 {margin-top: 3.125rem;}

.mt30 {margin-top: 1.875rem;}



.content-wrap {

  overflow: hidden;

}



/* header */

header { 

  position: fixed; 

  top:0; 

  left:0; 

  width:100%; 

  box-sizing: border-box; 

  z-index:11; 

}

.subHeader {

  border-bottom: 1px solid #ddd;

}

.header-top {

  background: #EEEEEE;

  padding: 9px 0;

}

.header-top h5 {

  font-weight: 500;

  font-size: var(--size22); 

  line-height: 1;

  letter-spacing: 0;

  color: var(--black);

}

.header-bottom {

  padding: 24px 0;

  background-color: rgba(255,255,255,.5);

  transition: background-color 0.3s;

  -webkit-transition: background-color 0.3s;

  -moz-transition: background-color 0.3s;

  -ms-transition: background-color 0.3s;

  -o-transition: background-color 0.3s;

}

.header-bottom .container {

  justify-content: space-between; 

  align-items: center;

}

.header .logo a img {height: 50px;}

.header-bottom .header-right {

  gap: 40px;

}

.header-bottom .header-right h4 {

  font-family: 'Gmarket Sans';

  font-weight: 400;

  font-size: var(--size24);

  line-height: 1;

  letter-spacing: 0;

  color: #0055A7;

}

.header-bottom .header-right h4 .span01 {

  color: #002970;

}

.header-bottom .header-right h4 .span02 {

  font-weight: 600;

  color: #002970;

}

.header-bottom .header-right button {

  display: flex;

  flex-flow: column wrap;

  gap: 7px;


}

.header-bottom .header-right button div {

  width: 46px;

  height: 3px;

  background-color: var(--black);

}



header.on .header-bottom {

  background-color: #fff;

  border-bottom: 1px solid #eee;

}

@media all and (max-width:1024px){    

  

}



@media all and (max-width:820px){    

  .header .logo a img {width: auto; height: 30px;}

  .header-bottom .container {


    align-items: center;

    position: relative;

  }

  .header-bottom .header-right #gnb-nav-open {

    position: absolute;

    right: 20px;

    top: 50%;

    transform: translateY(-50%);

    -webkit-transform: translateY(-50%);

    -moz-transform: translateY(-50%);

    -ms-transform: translateY(-50%);

    -o-transform: translateY(-50%);

  }

  .header-bottom .header-right h4 {

    font-size: var(--size16);
    display: none;
  }
  .header-bottom .header-right #gnb-nav-open {
    position: relative;
    right: auto;
    bottom: auto;
    transform: translate(0);
    -webkit-transform: translate(0);
    -moz-transform: translate(0);
    -ms-transform: translate(0);
    -o-transform: translate(0);
}
}



@media all and (max-width: 450px) {    

  .header .logo a img {width: auto; height: 25px;}

  .header-bottom .header-right button div {width: 35px;}

}



/* GNB */

.gnb-bg {

  width: 100vw;

  height: 100vh;

  position: fixed;

  top: 0;

  right: 0;

  z-index: 990;

  background-color: rgba(0,0,0,0.5);

  transition: opacity 0.3s ease;

  -webkit-transition: opacity 0.3s ease;

  -moz-transition: opacity 0.3s ease;

  -ms-transition: opacity 0.3s ease;

  -o-transition: opacity 0.3s ease;

  opacity: 0;

  visibility: hidden;



}

.gnb-nav {

  position: fixed;

  top: 0;

  right: 0;

  max-width: 400px;

  width: 80%;

  height: 100vh;

  background-color: #fff;

  z-index: 991;

  transition: transform 0.3s ease;

  transform: translateX(calc(100% + 100px));

  -webkit-transform: translateX(calc(100% + 100px));

  -moz-transform: translateX(calc(100% + 100px));

  -ms-transform: translateX(calc(100% + 100px));

  -o-transform: translateX(calc(100% + 100px));

  -webkit-transition: transform 0.3s ease;

  -moz-transition: transform 0.3s ease;

  -ms-transition: transform 0.3s ease;

  -o-transition: transform 0.3s ease;

}



.gnb-nav #gnb-nav-close {

  position: absolute;

  top: 72px;

  right: calc(100% + 50px);

}



.gnb-nav #gnb-nav-close i {

  display: block;

  width: 36px;

  height: 36px;

  background: url(/img/main/gnb_close.png) center center no-repeat;

}

.gnb-nav .gnb-content {

  padding: 120px 50px 0;

}

.gnb-nav .gnb-content ul {

  display: flex;

  flex-flow: row wrap;

  gap: var(--size36);

}

.gnb-nav .gnb-content ul li {

  width: 100%;

}

.gnb-nav .gnb-content ul li a {

  display: flex;

  justify-content: space-between;

  align-items: center;

  font-weight: 500;

  font-size: var(--size28);

  line-height: 1.5;

  letter-spacing: 0;

  transition: all 0.3s;

  -webkit-transition: all 0.3s;

  -moz-transition: all 0.3s;

  -ms-transition: all 0.3s;

  -o-transition: all 0.3s;

  color: var(--black);

}

.gnb-nav .gnb-content ul li a:hover {

  color: var(--mainColor);

}



.gnb-nav.active {

  transform: translateX(0);

  -webkit-transform: translateX(0);

  -moz-transform: translateX(0);

  -ms-transform: translateX(0);

  -o-transform: translateX(0);

}

.gnb-bg.active {

  opacity: 1;

  visibility: visible;

}



@media all and (max-width: 1024px) {}



@media all and (max-width: 768px) {

  .gnb-nav {

    width: 100%;

  }

  .gnb-nav #gnb-nav-close {

    right: 20px;

    top: 20px;

  }

  .gnb-nav #gnb-nav-close i {

    background-image: url(/img//main/gnb_close_black.png);

  }

}



@media all and (max-width: 480px) {

  .gnb-nav .gnb-content {

    padding: 80px 40px;

  }

  .gnb-nav #gnb-nav-close i {

    width: 30px;

    height: 30px;

  }

}



@media all and (max-width: 350px) {}



/* footer */

footer {

  background: #2E3138;

  padding: 100px 0;

}

footer * {

  color: #fff;

}

footer ul li {

  font-weight: 500;

  font-size: var(--size15);

  line-height: 140%;

  letter-spacing: 0;

  margin-bottom: 6px;

  word-break: keep-all;

  position: relative;

  padding-left: var(--size22);

}

footer ul li:last-of-type {

  margin-bottom: 0;

}

footer ul li::before {

  content: "";

  display: block;

  position: absolute;

  left: 0.5625rem;

  top: 0.53125rem;

  width: 4px;

  height: 4px;

  background-color: #fff;

  border-radius: 50%;

  -webkit-border-radius: 50%;

  -moz-border-radius: 50%;

  -ms-border-radius: 50%;

  -o-border-radius: 50%;

}

footer p {

  font-weight: 500;

  font-size: var(--size15);

  line-height: 180%;

  letter-spacing: 0;

}



footer h5 {

  font-weight: 700;

  font-size: var(--size16);

  line-height: 180%;

  letter-spacing: 0;

}



@media all and (max-width: 1024px) {

  footer {

    padding: 100px 0;

  }

}



@media all and (max-width: 768px) {

  footer {

    padding: 50px 0 100px;

  }

}



@media all and (max-width: 480px) {}



@media all and (max-width: 320px) {}



/* Sidebar */

.sidebar {

  position: fixed;

  top: 70%;

  transform: translateY(-50%);

  right: 20px;

  z-index: 9;

  overflow: hidden;

  border-radius: 10px;

  -webkit-border-radius: 10px;

  -moz-border-radius: 10px;

  -ms-border-radius: 10px;

  -o-border-radius: 10px;

  -webkit-transform: translateY(-50%);

  -moz-transform: translateY(-50%);

  -ms-transform: translateY(-50%);

  -o-transform: translateY(-50%);

}



.sidebar .icon-wrap {

  width: 70px;

  box-sizing: border-box;

}



.sidebar .icon-wrap a {

  width: 100%;

  display: flex;

  flex-flow: column wrap;

  align-items: center;

  justify-content: center;

  gap: 10px;

  height: 80px;

  border-bottom: 1px solid rgba(255,255,255,.1);

  background: #0B2742;

  position: relative;

}



.sidebar .icon-wrap a::before {

  position: absolute;

  top: 50%;

  left: 50%;

  z-index: 2;

  display: block;

  content: '';

  width: 0;

  height: 0;

  background: rgba(0, 0, 0, .2);

  border-radius: 50%;

  transform: translate(-50%, -50%);

  opacity: 0;

}



.sidebar .icon-wrap a:hover {

  animation: bloom ease-in-out .75s forwards;

  -webkit-animation: bloom ease-in-out .75s forwards;

}



.sidebar .icon-wrap a:hover::before {

  animation: circle2 .75s;

}



.sidebar .icon-wrap a p {

  font-weight: 500;

  font-size: var(--size13);

  line-height: 1.0625rem;

  letter-spacing: 0;

  text-align: center;

  color: #fff;

}



.sidebar .icon-wrap a img {

  display: block;

}



.sidebar .icon-wrap:last-child a {

  background: #FFDE01;

  border-bottom: 0;

}



.sidebar .icon-wrap:last-child a p {

  color: var(--black);

}



@keyframes bloom {

  0% {

    filter: grayscale(.8);

  }

  40% {

      filter: grayscale(.5);

  }

  100% {

      filter: grayscale(0);

  }

}



@keyframes circle2 {

  0% {

    opacity: .3;

    background: rgba(255, 255, 255, .2);

  }



  40% {

      opacity: 0.5;

      background: rgba(255, 255, 255, .2);

  }

  100% {

      width: 200%;

      height: 200%;

      opacity: 0;

  }

}



@media all and (max-width: 768px) {

  .sidebar {

    right: auto;

    top: auto;

    bottom: 0;

    left: 0;

    width: 100%;

    display: flex;

    flex-flow: row wrap;

    border-radius: 0;

    -webkit-border-radius: 0;

    -moz-border-radius: 0;

    -ms-border-radius: 0;

    -o-border-radius: 0;

    transform: translateY(0);

    -webkit-transform: translateY(0);

    -moz-transform: translateY(0);

    -ms-transform: translateY(0);

    -o-transform: translateY(0);
    padding: 0 15px;

  }

  .sidebar::before {
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    background-color: #0B2742;
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
  }
  .sidebar::after {
    content: "";
    display: block;
    width: 50%;
    height: 100%;
    background-color: #FFDE01;
    position: absolute;
    top: 0;
    right: 0;
    z-index: -1;
  }



  .sidebar .icon-wrap {

    width: 16.66666%;

  }
  .sidebar .icon-wrap6 {
    padding-left: 15px;
  }
  .sidebar .icon-wrap a {

    height: 70px;

    border-bottom: none;

    border-right: 1px solid rgba(255, 255, 255, .1);

    position: relative;

  }

  .sidebar .icon-wrap a img {

    height: 18px;

  }

  .sidebar .icon-wrap:last-child a {

    border-right: none;

  }

}



@media all and (max-width: 480px) {}



@media all and (max-width: 320px) {}