/*my reset*/
* {
  margin: 0;
  padding: 0;
}

li {
  list-style: none;
}

a {
  text-decoration: none;
  color: inherit;
}

img {
  vertical-align: top;
}

.wrap,
.wrap2,
.wrap3 {
  margin: 0 auto;
  position: relative;
}

.wrap {
  width: 100%;
  overflow: hidden;
}

.wrap2 {
  width: 95%;
  overflow: hidden;
}

.wrap3 {
  width: 90%;
}

.wrap:after,
ul:after,
cl:after {
  content: "";
  clear: both;
  display: block;
}

.blind {
  position: absolute;
  left: -9999px;
  font-size: 0;

  width: 0;
  height: 0;
  overflow: hidden;
}

/*reset*/

html {
  position: relative;
  animation: bg 3s;
}

@keyframes bg {
  0% {
    opacity: 0;
  }

  100% {
    opacity: 1;
  }
}

body {
  font-family: "Pretendard-Light";
  position: relative;
}

/*--------header---------*/

header {
  width: 100%;
  height: 15vw;
  position: fixed;
  z-index: 9999;
}

header.on {
  background: #fff;
  box-shadow: 2px 2px 10px rgba(0, 0, 0, 0.2);
}

h1 {
  margin: 6vw 0 0 5vw;
  text-align: left;
}

h1 img {
  height: 4vw;
}

.call {
  width: 9vw;
  height: 9vw;
  text-align: center;
  position: absolute;
  top: 3.5vw;
  right: 15vw;
  border: 1px solid #000;
  border-radius: 100%;
}

.call img {
  height: 3vw;
  margin: 3vw auto;
}

.menu {
  position: absolute;

  top: 3.5vw;
  right: 3.5vw;
  width: 9vw;
  height: 9vw;
  cursor: pointer;
  border: 1px solid #000;
  border-radius: 100%;
}

.menu span {
  display: block;
  width: 4vw;
  height: 0.4vw;
  background: #000;
  border-radius: 5px;
  margin: 1vw auto;
  transition: 0.5s;
}

.menu span:nth-of-type(1) {
  margin-top: 3vw;
}

.menu span.on:nth-of-type(1) {
  transform: rotate(45deg);
  margin-top: 4.4vw;
  width: 4.5vw;
}

.menu span.on:nth-of-type(2) {
  display: none;
}

.menu span.on:nth-of-type(3) {
  transform: rotate(-45deg);
  margin-top: -1.5vw;
  width: 4.5vw;
}

/*------------menu-------------*/

.gnb {
  background: #fff;
  position: fixed;
  right: -100vw;
  top: 15vw;
  overflow: auto;
  height: calc(100vh - 15vw);
  width: 100vw;

  text-align: left;
  z-index: 9999;
  transition: 0.5s;
  border-top: 1px solid #ccc;
}

.gnb.on {
  right: 0;
}

.gnb > li {
  display: block;
  text-align: center;
}

.gnb > li > a {
  border-bottom: 1px solid #ddd;
  display: block;
  width: 100vw;
}

.gnb > li > a {
  font-size: 4.3vw;
  font-weight: 600;
  line-height: 3.2;
  width: 100%;
  background-size: 3vw;
}

.gnb > li > ul {
  display: none;
}

.gnb > li > ul > li {
  font-size: 4vw;
  font-weight: 500;
  line-height: 3;
  width: 100%;
  background-size: 3vw;
  background: #f4f4f4;
  transition: 0.3s;
  border-bottom: 1px solid #ddd;
}
.gnb > li > ul li:hover {
  background: #dae2e7;
  color: #111;
}

/*----------개인정보 처리방침----------*/

#popup01 {
  width: 90vw;
  height: 80vh;
  position: fixed;
  top: 10vh;
  left: 50%;
  transform: translateX(-50%);
  background-color: #fff;
  display: none;
  z-index: 100;
  overflow-y: auto;
  border-radius: 3px;
  border: 1px solid #ddd;
}

.close {
  position: absolute;
  top: 2vw;
  right: 2vw;
  cursor: pointer;
  z-index: 999;
  font-size: 3vw;
  background: #333;
  width: 30vw;
  line-height: 10vw;
  color: #fff;
  text-align: center;
}

/*.backon {
    content: "";
    width: 100%;
    height: 100%;
    background: #000;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 100;
}*/

.openPopup {
  cursor: pointer;
}

/*------------footer-------------*/

footer {
  width: 100%;
  background: #000;
  color: #777;
  overflow: hidden;
  padding-bottom: 10vw;
  font-size: 3.5vw;
}

.foot_logo {
  height: 4vw;
  display: block;
  padding: 6vw 0 0 5vw;
}

.personal {
  position: absolute;
  top: 4vw;
  right: 4vw;
  text-align: center;
  line-height: 8vw;
  width: 30vw;
  border: 1px solid #777;
  font-size: 3.3vw;
  cursor: pointer;
}

.company {
  height: 5vw;
  padding: 5vw 4vw 4vw;
}

.company span:nth-of-type(1) {
  display: block;
}
.company span {
  line-height: 2.5;
}
.company span img {
  height: 6vw;
  padding: 0 3vw;
}

.duck {
  padding: 15vw 5vw 0;
}
.duck .address p {
  line-height: 1.6;
  font-size: 2.5vw !important;
}
.duck .address p span {
  color: #fff;
}
.duck > p {
  padding-top: 3vw;
  font-size: 2.4vw;
  letter-spacing: -1px;
  line-height: 1.3;
}
.duck > span {
  padding-top: 3vw;
  font-size: 2.4vw;
  display: block;
}

/*-----scrollmagic--back-to-position------*/

.back-to-position {
  opacity: 0;
  transition: 1.5s;
}

.back-to-position.up {
  transform: translateY(10vw);
}

.back-to-position.down {
  transform: translateY(-10vw);
}

.back-to-position.to-right {
  transform: translateX(-10vw);
}

.back-to-position.to-left {
  transform: translateX(10vw);
}

.show .back-to-position {
  opacity: 1;
  transform: translateX(0);
}

.show .back-to-position.delay-0 {
  transition-delay: 0.2s;
}

.show .back-to-position.delay-1 {
  transition-delay: 0.3s;
}

.show .back-to-position.delay-2 {
  transition-delay: 0.4s;
}

.show .back-to-position.delay-3 {
  transition-delay: 0.5s;
}
