.visual {
  width: 100%;
  height: 100vh;
  background: url("../images/visual_bg.png") no-repeat center/cover;
  overflow: hidden;
  position: relative;
  animation: load_bg 2s both;
  animation-delay: 0.2s;
}

@keyframes load_bg {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
.visual .inner {
  width: 100%;
  margin: 0 auto;
}
.visual .inner .visual-title {
  display: flex;
  flex-direction: column;

  float: right;
  position: absolute;
  right: 140px;
  top: 16%;
  /* text-align: right; */
  /* width: 540px;
  height: 313px; */
}
.visual .inner .visual-title > div {
  margin-left: auto;
}

.visual .inner .visual-title .v-title-01 {
  width: 384px;
  height: 132px;
  /* margin-left: auto; */
  margin-bottom: 47px;
}
.visual .inner .visual-title .v-title-02 {
  width: 540px;
  height: 66px;
  /* margin-left: auto; */
  margin-bottom: 20px;
}
.visual .inner .visual-title .v-title-03 {
  width: 295px;
  height: 48px;
  /* margin-left: auto; */
}
.visual .inner .visual-title .v-logo {
  width: 144px;
  height: 110px;
  /* margin-left: auto; */
  margin-top: 27px;
}
.visual .inner .visual-title img{
  width: 100%;
  height: 100%;
}

.visual .inner img {
  width: 100%;
  height: 100%;
}
.visual .inner .visual-contents {
  /* margin-bottom: 10px; */
  width: 100%;
  height: 596px;
  position: absolute;
  bottom: 0;
}
.visual .inner .visual-contents img {
  /* margin-bottom: 10px; */
  width: 1920px;
  height: 596px;
}

.quick {
  width: 504px;
  height: 71px;
  display: flex;
  gap: 24px;
  position: absolute;
  bottom: 4%;
  right: 8%;
}
.quick .icon01 {
  width: 70px;
  height: 70px;
  background-color: #2a4040;
  border-radius: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.1s ease-in;
  filter: drop-shadow(5px 5px 5px rgba(230, 230, 230, 0.1));
}
.quick .icon01 img {
  width: 31px;
  height: 31px;
}
.quick .icon02 {
  background-color: #e28500;
}
.quick .icon02 img {
  width: 31px;
  height: 23px;
}
.quick .icon01:hover {
  filter: none;
}

/* location영역 */
.location {
  width: 100%;
  height: 100%;
  /* background: #f5f2eb; */
  overflow: hidden;
  position: relative;
}
.location .inner {
  width: 1620px;
  height: 100%;
  margin: 0 auto;
  overflow: hidden;
}

.location .inner .lo_title {
  color: #2a4040;
  letter-spacing: -2px;
  /* margin-top: 190px;
  margin-left: 170px; */
  position: absolute;
  top: 190px;
  left: 170px;
  z-index: 980;
}
.location .inner .lo_title h2 {
  font-family: "poppins";
  font-size: 60px;
  font-weight: bold;
  letter-spacing: -2px;
}
.location .inner .lo_title p {
  font-family: "Nanum Myeongjo", serif;
  color: #2b2b2b;
  font-size: 24px;
  font-weight: 500;
}
.location .inner .lo_title p em {
  color: #2a4040;
}
.location .inner .lo_title p span {
  font-size: 32px;
  font-weight: bold;
  color: #2a4040;
}

.location .inner .lo_cont {
  display: flex;
  flex-direction: column;
  gap: 15px;
  margin-top: 8%;
  /* margin-right: 7%; */
  transition: all 0.5s;
}

.location .inner .lo_cont .lo_top {
  display: flex;
  justify-content: flex-end;
  margin-left: auto;
  gap: 20px;
  position: relative;
  width: 100%;
}
.location .inner .lo_top2::after {
  content: "";
  display: block;
  background: url("../images/lo_point.png") no-repeat;
  position: absolute;
  width: 73px;
  height: 161px;
  /* top: -15%;
  right: 49.5%; */
  bottom: 4px;
  left: 45%;
}
.location .inner .lo_cont .lo_box {
  position: relative;
}
.location .inner .lo_cont .lo_box p {
  color: #ffffff;
  position: absolute;
  bottom: 20px;
  left: 20px;
  font-size: 18px;
  letter-spacing: -2px;
}
.location .inner .lo_cont .lo_box p span {
  font-size: 28px;
  font-weight: 800;
}
.location .inner .lo_cont .lo_logo {
  background-color: #f5f2eb;
  width: 388px;
  height: 360px;
  justify-content: center;
  align-items: center;
  display: flex;
}

/* floor영역 */

.floor {
  width: 100%;
  height: 100vh;
  background: url("../images/floor_bg.png") no-repeat center/cover;
  overflow: hidden;
  position: relative;
}
.floor .inner {
  /* margin-left: 170px; */
  /* height: 100%; */
  /* margin: 0 auto; */
  overflow: hidden;
  margin-top: 10%;
  /* width: 100%; */
}
.floor .inner .floor_img {
  width: 1267px;
  height: 454px;
  margin: 0 auto;
  position: relative;
}
.floor .inner .floor_img::after {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/floor_point.png") no-repeat;
  width: 171px;
  height: 41px;
  right: -15%;
  bottom: 26%;
}
.floor .inner .floor_img::before {
  content: "";
  display: block;
  position: absolute;
  background: url("../images/floor_point2.png") no-repeat;
  width: 87px;
  height: 87px;
  left: -8%;
}
.floor .inner .floor_img img {
  width: 100%;
  height: 100%;
}
.floor .inner .floor_txt {
  display: flex;
  width: 1267px;
  /* height: 454px; */
  margin: 0 auto;
  margin-top: 39px;
  justify-content: space-between;
}
.floor .inner .floor_txt .floor_bold {
  color: #282828;
  font-size: 36px;
  font-weight: 900;
  letter-spacing: -3px;
  line-height: 45px;
}
.floor .inner .floor_txt .floor_r {
  display: flex;
  flex-direction: column;
  gap: 20px;
}
.floor .inner .floor_txt .floor_r .floor_1f {
  display: flex;
  font-size: 20px;
  color: #282828;
  font-weight: 600;
  gap: 29px;
  letter-spacing: -2px;
}
.floor .inner .floor_txt .floor_r .floor_1f h3 {
  display: block;
  /* color: #ffffff; */
  background-color: #dce7c9;
  width: 70px;
  height: 27px;
  text-align: center;
  line-height: 27px;
  border-radius: 70px;
  font-weight: 900;
}

/* investment - level영역 */

.level {
  width: 100%;
  height: 100vh;
  background: url("../images/level_bg.png") no-repeat center/cover;
  overflow: hidden;
  position: relative;
}

.level .inner {
  display: flex;
}
.level .inner .title {
  position: absolute;
  left: 7%;
  top: 27%;
  display: flex;
  flex-direction: column;
  /* gap: 43px; */
  z-index: 998;
}
.level .contents {
  width: 100%;
  /* border: 1px solid #ddd; */
  display: flex;
  margin: 0 auto;
  margin-top: 125px;
}

.box {
  /* width: 100%; */
  display: flex;
  /* flex-direction: column; */
  justify-content: space-between;
  gap: 200px;
}

.box.style01 {
  width: 30%;
  /* overflow: hidden; */
}
.box.style01 .main-slide .desc01 {
  padding-top: 50%;
  padding-left: 22%;
}
.box.style01 .main-slide .desc01 h3 {
  color: #1d1d1d;
  font-size: 31px;
  font-weight: 900;
  letter-spacing: -3px;
  opacity: 0;
  font-stretch: ultra-condensed;
}
.box.style01 .main-slide .desc01 h3 span {
  color: #2a4040;
}

.box.style01 .main-slide .desc01 p {
  letter-spacing: -2px;
  color: #282828;
  font-size: 23px;
  margin-top: 23px;
  opacity: 0;
}
.box.style01 .main-slide .swiper-slide-active .desc01 h3,
.box.style01 .main-slide .swiper-slide-active .desc01 p {
  opacity: 1;
}
.box.style01 .main-slide .swiper-slide-active .desc01 h3 {
  animation: load_R 1.2s both;
}
.box.style01 .main-slide .swiper-slide-active .desc01 p {
  animation: load_L 1.2s both;
}

.box.style02 {
  width: 70%;
  overflow: visible;
  height: 600px;
  /* padding-top: 50px; */
}
.box.style02 .sub-slide {
  width: 100%;
  /* overflow: hidden; */
}
.box.style02 .sub-slide .swiper-slide {
  width: 441px;
  height: 539px;
  /* overflow: hidden; */
}
.box.style02 .sub-slide .swiper-slide img {
  width: 441px;
  height: 539px;
}
.box.style02::after {
  content: "";
  position: absolute;
  display: block;
  width: 466px;
  height: 568px;
  border: 2px solid #e28500;
  border-radius: 10px;
  top: 22.2%;
  left: 29.3%;
  z-index: 999;
  overflow: visible;
}

.level .swiper-pagination-fraction {
  color: #2a4040;
}
.swiper-progressbar {
  position: absolute;
  display: flex;
  justify-content: flex-start;
  width: 250px;
  height: 2px;
  z-index: 99;
  left: 7%;

  bottom: 20%;
}

.swiper-progressbar .background {
  animation-duration: 4.5s;
  animation-name: growdown;
  animation-iteration-count: infinite;
  height: inherit;

  background: #2a4040;
  opacity: 0.3;
}

.swiper-progressbar .bar {
  animation-duration: 4.5s;
  animation-name: growup;
  animation-iteration-count: infinite;
  height: inherit;

  background: #2a4040;
  opacity: 1;
  position: relative;
}
.swiper-progressbar .bar::after {
  content: "";
  display: block;
  width: 15px;
  height: 15px;
  background: url(../images/bar_dot.png) no-repeat;
  position: absolute;
  right: -7px;
  top: -7px;
}

@keyframes growup {
  from {
    width: 0%;
  }

  to {
    width: 100%;
  }
}

@keyframes growdown {
  from {
    width: 100%;
  }

  to {
    width: 0%;
  }
}

.swiper-pagination {
  bottom: 80px;

  width: 20%;
  text-align: right;
  margin-left: 350px;
  color: #2a4040;
  font-weight: bold;
}

.more_btn {
  display: block;
  width: 140px;
  height: 37px;
  margin-top: 43px;
}

/* 반응형 */

@media all and (min-width: 1250px) and (max-width: 1670px) {
  header .inner .gnb .menu {
    margin-left: 249px;
  }

  .location .inner .lo_title {
    left: 100px;
  }
  .location .inner .lo_cont {
    transform: scale(0.88);
  }
}
