@import url(/css/default.css);
@import url(/css/common.css);
@import url(/css/main_pc.css);
@import url(/css/sub.css);
@import url(/css/mobile.css);


.inner01 {
  width: 100%;
  margin: 0 auto;
}

.inner02 {
  width: 1500px;
  width: 1400px;
  margin: 0 auto;
}

#header {
  position: fixed;
  position: absolute;
  width: 100%;
  height: 100px;
  top: 0;
  left: 0;
  right: 0;
  z-index: 10;
  transition: all 0s 0.2s;
  border-bottom: 1px solid transparent;
}

#header .header_bx {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  padding: 0 4%;
  height: 100%;
  position: relative;
  z-index: 2;
}

#header .header_bx #logo {
  height: 48px;
}

#header .header_bx #logo img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#header .header_bx .hd_right {
  display: flex;
  align-items: center;
  gap: 32px;
}

#header .header_bx .hd_right .util {
  display: flex;
  align-items: center;
  gap: 16px;
}

#header .header_bx .hd_right .util .btn {
  height: 40px;
  font-weight: 500;
  padding: 0 20px;
  font-size: 15px;
  color: #fff;
  background: transparent;
  border: 2px solid #fff;
}

#header .header_bx .hd_right .util .ico_kakaoch {
  padding: 0;
  width: 40px;
  height: 40px;
  border-radius: 50%;
  background: url(/img/kakao_ch.svg) no-repeat center #fff;
  /* background-image: url(/img/kakao_ch_w.svg); */
  background-size: 28px;
  background-color: #F7E301;
  border-color: #F7E301;
}

#header .nav_btn {
  cursor: pointer;
}

#header .nav_btn span {
  display: block;
  width: 30px;
  height: 3px;
  background: #fff;
  transition: transform ease .3s;
}

#header .nav_btn span:nth-child(2) {
  margin: 8px 0;
}

.nav_area {
  background-color: rgb(31 21 10 / 80%);
  backdrop-filter: blur(20px);
  color: #fff;
  position: fixed;
  top: -100%;
  right: 0;
  width: 100%;
  overflow: hidden;
  height: 100%;
  z-index: 1;
  display: flex;
  align-items: center;
  padding: 0 10%;
  transition: all ease .6s;
}

.nav_area a {
  color: #fff;
  cursor: pointer;
}

.nav {
  width: 100%;
  opacity: 0;
  transition: opacity ease .3s;
}

.nav>ul>li {
  width: 100%;
  position: relative;
  overflow: hidden;
}

.nav>ul>li>a {
  display: block;
  font-weight: bold;
}

.nav>ul>li>ul>li>a {
  position: relative;
  transition: all ease .3s;
  font-weight: 300;
}

/* pc */
.nav_pc .nav>ul {
  display: flex;
}

.nav_pc .nav>ul>li {
  padding: 0 32px 60px;
  border-style: solid;
  border-width: 0 1px 0 1px;
  border-color: rgba(255, 255, 255, 0.12);
}

.nav_pc .nav>ul>li>a {
  font-size: 40px;
  margin-bottom: 40px;
}

.nav_pc .nav>ul>li>ul>li {
  font-size: 17px;
  padding: 8px 0;
}


/* mobile */
.nav_mo .header_bx.hide {
  opacity: 0;
  background: rgba(0, 0, 0, 0.5);
}

.nav_mo .header_bx.unhide {
  opacity: 1;
  z-index: 99;

  -webkit-transition: all 0.8s ease;
  -moz-transition: all 0.8s ease;
  -o-transition: all 0.8s ease;
  transition: all 0.8s ease;
}

.nav_mo .nav>ul>li {
  margin: 28px 0;
}

.nav_mo .nav>ul>li>a {
  font-size: 24px;
}

.nav_mo .nav>ul>li>ul {
  display: none;
}

.nav_mo .nav>ul>li>ul>li>a {
  display: block;
  padding: 8px 12px;
  color: #fff;
}

.nav_mo .nav_area {
  background-position: right bottom 5%;
  background-size: 520px;
  overflow-y: auto;
  align-items: start;
  flex-direction: column;
  justify-content: space-between;
  padding: 76px 8% 0;
  background-size: 80%;
}

.nav_mo.active .logo {
  display: none;
}

#header.nav_mo.active .header_bx .hd_right .util {
  display: flex;
  gap: 12px;
}


/* active */
#header.active .header_bx .hd_right .util {
  display: none;
}

#header.active .nav {
  opacity: 1;
}

#header.active .nav_area {
  top: 0;
}

#header.active .nav_btn {
  padding-top: 15px;
}

#header.active .nav_btn span {
  margin: -3px 0;
}

#header.active .nav_btn span:nth-child(1) {
  transform: rotate(45deg);
}

#header.active .nav_btn span:nth-child(2) {
  display: none;
}

#header.active .nav_btn span:nth-child(3) {
  transform: rotate(-45deg);
}

#header.active .nav>ul>li>a {
  transform: translateY(0);
  transition-delay: .5s;
  opacity: 1;
}

.fp-watermark {
  display: none;
}


/* ani */
.main_container [class^="ani"] {
  -webkit-transition: line-height 0.85s cubic-bezier(0.77, 0, 0.175, 1);
  transition: line-height 0.85s cubic-bezier(0.77, 0, 0.175, 1);
  -webkit-transition-delay: 0s;
  transition-delay: 0s;

  transform: translate3d(0, 100px, 0);
  transition-timing-function: ease;
  transition-duration: 1.2s;
  opacity: 0;
  transition-property: opacity, transform;
}

.main_container .active [class^="ani"] {
  opacity: 1;
  transform: translateZ(0);
}

.section.active .ani1 {
  -webkit-transition-delay: .3s;
  transition-delay: .3s;
}

.section.active .ani2 {
  -webkit-transition-delay: .8s;
  transition-delay: .8s;
}

.section.active .ani3 {
  -webkit-transition-delay: 1.2s;
  transition-delay: 1.2s;
}

.section.active .ani4 {
  -webkit-transition-delay: 1.6s;
  transition-delay: 1.6s;
}

/* fullpage */
.fp-is-overflow .fp-overflow {
  overflow-y: visible;
}

/* 메인 */
.main_visual {
  position: relative;
  padding: 0;
  height: 100vh !important;
  overflow: hidden;
}

.main_visual article {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

.main_visual .main_visual_bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  transition: 1s ease-in-out;

  background-image: url(/img/visual.jpg);
  background-image: url(/img/visual01.jpg);
}

.main_visual .main_visual_bg:before {
  opacity: 0.7;
  background: var(--primary-darkest);
}

.main_visual:hover .main_visual_bg {
  transform: scale(1.05);
}

.main_visual .main_visual_txt {
  color: #fff;
  text-align: center;
  line-height: 1.3;
  font-family: var(--main-font);
}

.main_visual .main_visual_txt strong {
  font-weight: 400;
  display: block;
  font-size: 60px;
  margin-bottom: 16px;
}

.main_visual .main_visual_txt p {
  font-size: 36px;
}

.main_container .more_btn {
  height: 60px;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, 0.5);
  color: #fff;
  /* font-size: 18px; */
  font-weight: 500;
  border-radius: 0;
  justify-content: space-between;
  padding: 0 32px;
  padding-right: calc(24px + 32px + 20px);
}

.main_container .more_btn img {
  position: absolute;
  top: calc(50% - 12px);
  right: 32px;
  transition: all .4s ease-in-out;
}

.main_container .more_btn:hover {
  border: 1px solid #fff;
}

.main_container .more_btn:hover img {
  right: 8px;
  opacity: 0;
}

.main_aboutus {
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url(/img/main_aboutus.jpg);
  color: #fff;
}

.main_aboutus:before {
  background: var(--primary-darkest);
  opacity: 0.6;
}

.main_aboutus .main_title {
  display: flex;
  align-items: flex-end;
  white-space: nowrap;
  gap: 40px;
}

.main_aboutus .main_title h2 {
  font-family: var(--main-font);
  font-size: 52px;
  font-weight: 300;
  margin-bottom: 20px;
}

.main_aboutus .main_title>div {
  display: flex;
  align-items: center;
  gap: 8px;
  font-size: 32px;
}

.main_aboutus .main_title>div i {
  font-style: normal;
  font-family: var(--main-font);
  opacity: 0.8;
}

.main_aboutus .main_title>div .bar {
  display: block;
  width: 48px;
  height: 1px;
  background: #fff;
  opacity: 0.4;
}

.main_aboutus .main_title>div p {
  letter-spacing: -0.5px;
  font-family: var(--main-font);
}

.main_aboutus .main_cont {
  margin-top: 60px;
}

.main_aboutus .main_cont p {
  font-family: 'Pretendard';
  font-size: 18px;
  line-height: 1.7;
  font-weight: 200;
  opacity: 0.8;
  letter-spacing: -0.25px;
}

.main_aboutus .main_cont .btn {
  margin-top: 80px;
}

.main_service {}

.main_service>div {
  height: 100vh;
}

.main_service article {
  height: 100%;
}

.main_service article ul {
  position: relative;
  height: 100%;
  display: flex;
  gap: 6px;
  background: #1F150A;
}

.main_service article ul>li {
  flex: 1;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 0 60px;
  clip-path: inset(0 0 100%);
  transition: all 0.8s;
}

.main_service.active article ul>li:nth-child(1) {
  transition: all 0.8s;
}

.main_service.active article ul>li:nth-child(2) {
  transition: all 1.2s;
}

.main_service.active article ul>li:nth-child(3) {
  transition: all 1.6s;
}

.main_service.active article ul>li:nth-child(4) {
  transition: all 2.0s;
}

.main_service.active article ul>li:nth-child(5) {
  transition: all 2.4s;
}

.main_service.active article ul>li {
  clip-path: inset(0 0 0);
}

.main_service article ul>li div {
  width: 100%;
}

.main_service h3 {
  font-size: 28px;
  color: #fff;
  text-align: center;
  font-weight: 600;
  opacity: 0.8;
  line-height: 1.3;
  letter-spacing: -0.25px;
}

.main_service .btn {
  opacity: 0;
  width: 100%;
  margin-top: 60px;
  transition: all .4s ease-in-out;
}

.main_service ul li:hover h3,
.main_service ul li:hover .btn {
  opacity: 1;
}

.main_service ul li:before {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: url(/img/main_service.jpg) no-repeat center top /cover;
  background-attachment: fixed;

  clip-path: inset(0 0 0);
  transition: all 0.6s ease-in-out;

  opacity: 30%;

  background-position: center;
}

.main_service ul li:hover:before {
  clip-path: inset(0 0 100%);
}

.main_insight {
  background: var(--primary-darkest);
  color: #fff;
}

.main_insight>div {
  padding-bottom: 80px;
}

.main_insight .main_title {
  margin-bottom: 40px;
  padding-top: 60px;
  line-height: 1.3;
}

.main_insight .main_title p {
  font-size: 18px;
  font-weight: 600;
}

.main_insight .main_title h2 {
  font-size: 48px;
  margin-top: 4px;
}

.gallery {
  position: relative;
  padding-bottom: 40px;
  overflow: visible;
}

.gallery ul li .img_box {
  border-radius: 4px;
  padding-bottom: 56.33%;
}

.gallery ul li .txt_box {
  padding: 24px 16px;
  color: #fff;
}

.gallery ul li p {
  color: var(--point);
  font-weight: 600;
}

.gallery ul li strong {
  display: block;
  font-size: 18px;
  margin: 6px 0 12px;
  line-height: 1.5;
  font-weight: 600;

  display: -webkit-box;
  overflow: hidden;
  text-overflow: ellipsis;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;

  opacity: 0.6;
  transition: color 0.2s ease-out;

  /* max-height: calc(1em * 1.6 * 2);
  height: calc(1em * 1.6 * 2); */
}

.gallery ul li .date {
  font-size: 14px;
  opacity: 0.6;
}

.gallery ul li a:hover strong {
  opacity: 1;
}

.gallery ul li a:hover .img_box img {
  transform: translate(-50%, -50%) scale(1.1);
}

.gallery .swiper-scrollbar {
  left: 0;
  height: 3px;
  background: rgba(255, 255, 255, 0.2);
}

.gallery .swiper-scrollbar-drag {
  background: rgba(255, 255, 255, 0.8);
}

.main_insight .btn_box {
  justify-content: center;
  margin-top: 52px;
}

.gallery .control-box {
  position: absolute;
  top: -40px;
  right: 0;
  width: 100px;
}

.gallery .control-box svg {
  display: none;
}

.gallery .control-box>div {
  background-image: url(/img/on_prev.svg);
  background-repeat: no-repeat;
  width: 40px;
  height: 40px;
  background-color: #fff;
  border-radius: 50%;
  background-position: center;
}

.gallery .control-box>div:last-child {
  background-image: url(/img/on_next.svg);
}


.section.footer {
  height: auto;
}

#footer {
  padding: 80px 0;
  background-color: var(--primary-darker);
  color: #fff;
}

#footer>div {
  display: flex;
  gap: 120px;
}

#footer .ft_left {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

#footer .ft_left .ft_top {
  display: flex;
  align-items: flex-end;
  gap: 60px;
}

#footer .ft_left .ft_top .ft_logo {
  height: 48px;
  /* opacity: 0.8; */
}

#footer .ft_left .ft_top .ft_logo img {
  height: 100%;
}

#footer .ft_left .ft_top .ft_nav {
  display: flex;
  align-items: center;
  gap: 28px;
}

#footer .ft_left .ft_top .ft_nav>li:first-child {
  color: var(--point);
  font-weight: 600;
}

#footer .ft_left .btn_box {
  justify-content: flex-start;
}

#footer .ft_left .btn_box .btn {
  background-color: transparent;
  border-color: rgba(255, 255, 255, 0.12);
  color: rgba(255, 255, 255, 0.8);
  height: 48px;
  width: 48px;
}

#footer .ft_left .btn_box .btn img {
  width: 24px;
  height: 24px;
}

#footer .ft_right {
  font-size: 14px;
}

#footer .ft_right div {
  display: flex;
  flex-wrap: wrap;
  gap: 12px 40px;
}

#footer .ft_right dl {
  display: flex;
  gap: 8px;
}

#footer .ft_right dl:first-child,
#footer .ft_right dl:last-child {
  width: 100%;
}

#footer .ft_right dl dt {
  opacity: 0.6;
  font-weight: 600;
}

#footer .ft_right address {
  font-style: normal;
  opacity: 0.5;
  margin-top: 60px;
}





/* sub layout */
#sub_visual {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 560px;
  padding: 40px 0 80px;
  background: url(/img/sub_visual.jpg);
  background-size: cover;
  background-repeat: no-repeat;
  background-position: center;
}

.room #sub_visual {
  background-image: url(/img/vis_room1.jpg);
}

.poolvilla #sub_visual {
  background-image: url(/img/vis_poolvilla.jpg);
  background-image: url(/img/vis_poolvilla1.jpg);
}

.golf #sub_visual {
  background-image: url(/img/vis_golf.jpg);
}

.golfprice #sub_visual {
  background-image: url(/img/vis_golf.jpg);
}

.facility #sub_visual {
  background-image: url(/img/vis_facility.jpg);
}

.facility #sub_visual.pool {
  background-image: url(/img/vis_pool.jpg);
  background-image: url(/img/vis_facility1.jpg);
}

.facility #sub_visual.restaurant {
  background-image: url(/img/vis_restaurant.jpg);
  background-image: url(/img/vis_facility1.jpg);
}

.facility #sub_visual.garden {
  background-image: url(/img/vis_garden.jpg);
  background-image: url(/img/vis_facility1.jpg);
}

.notice #sub_visual,
.inquiry #sub_visual {
  background-image: url(/img/vis_inquiry.jpg);
}


#sub_visual:before {
  background: #342920;
  opacity: 0.8;
}

#sub_visual.etc_visual {
  height: 360px;
  background: url(/img/vis_etc.jpg);
  padding: 0;
}

#sub_visual.etc_visual .location_box {
  margin-bottom: 0;
}

#sub_visual .location_box {
  position: relative;
  z-index: 1;
  color: #fff;
  text-align: center;
}

#sub_visual .location_box>div:nth-child(1) .ani_hide_inner {}

#sub_visual .location_box>div:nth-child(2) .ani_hide_inner {
  transition-delay: .4s;
}

#sub_visual .location_box>div:nth-child(3) .ani_hide_inner {
  transition-delay: .8s;
}

#sub_visual .location_box strong {
  display: block;
  font-weight: 600;
  font-size: 52px;
  overflow: hidden;
  line-height: 1.2;
  margin-top: 12px;
}

#sub_visual .breadcrumb {
  text-align: center;
  display: inline-flex;
  align-items: center;
  font-size: 14px;
  color: #838B9C;
  color: #fff;
  margin-top: 24px;
}

#sub_visual .breadcrumb li {
  margin-right: 12px;
}

#sub_visual .breadcrumb li:last-child {
  margin-right: 0;
}

#sub_visual .breadcrumb li img {
  margin: 0;
  width: 16px;
  height: 16px;
  opacity: 0.8;
  vertical-align: text-bottom;
}

#sub_visual .breadcrumb li em {
  font-style: normal;
  opacity: 0.6;
}

#sub_visual .breadcrumb li b {
  opacity: 1;
  font-weight: 500;
}

#snb {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  z-index: 9;
  background-color: rgba(133, 107, 84, 0.6);
  backdrop-filter: blur(20px);
}

#snb .sub_menu {
  position: relative;
  text-align: center;
  width: 1500px;
  margin: 0 auto;
}

#snb .sub_menu ul {
  display: flex;
  height: 80px;
  color: #fff;

  font-size: 18px;
  font-weight: 500;
  align-items: center;
  /*justify-content: center;*/
}

#snb .sub_menu ul li {
  width: 20%;
  height: 100%;
}

#snb .sub_menu ul li a {
  display: block;
  position: relative;
  height: 100%;
}

#snb .sub_menu ul li a {
  display: block;
  position: relative;
}

#snb .sub_menu ul li a {
  display: block;
  position: relative;
  transition: all .4s;
  opacity: 0.8;
}

#snb .sub_menu ul li a:before,
#snb .sub_menu ul li a:after {
  content: '';
  display: block;
  transition: all .4s;
  position: absolute;
  top: 0;
  left: 50%;
  transform: translateX(-50%);
}

#snb .sub_menu ul li a:before {
  top: 0;
  width: 24px;
  height: 24px;
  background: url(/img/sub_menu_on.svg) no-repeat;
  background-size: 22px;
  background-position: top -6px center;
  opacity: 0;
}

#snb .sub_menu ul li a:after {
  width: 0;
  height: 3px;
  background: #fff;
}

#snb .sub_menu ul li a span {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 100%;
}

#snb .sub_menu.type02 ul {
  padding-right: calc((100% - 1400px) / 2);
}

#snb .sub_menu.type02 ul li {
  flex: 1;
}

#snb .sub_menu ul li.on a {
  opacity: 1;
}

#snb .sub_menu ul li a:hover:after,
#snb .sub_menu ul li.on a:after {
  width: 100%;
}

#snb .sub_menu ul li.on {
  width: 20%;
  color: #fff;
  font-weight: bold;
}

#snb .sub_menu ul li.on a:before {
  opacity: 1;
}

#sub_container {
  padding: 80px 0 120px;
}

#sub_container .sub_content {}


@media (max-width: 1500px) {

  .inner01,
  .inner02 {
    width: 100%;
    padding-left: 4% !important;
    padding-right: 4% !important;
  }

  #snb .sub_menu {
    width: 100%;
    padding: 0 4%;
  }
}

@media (max-width: 850px) {
  #header {
    height: 60px;
  }

  #header .header_bx #logo {
    width: 45px;
    height: 36px;
  }

  #header .header_bx .hd_right {
    gap: 20px;
  }

  #header .header_bx .hd_right .util {
    gap: 8px;
  }

  #header .header_bx .hd_right .util .ico_kakaoch {
    width: 36px;
    height: 36px;
    background-size: 28px;
  }

  #header .header_bx .hd_right .util .btn {
    height: 36px;
    padding: 0 16px;
    font-size: 13px;
  }

  #header.active .nav_btn {
    padding-top: 3px;
  }

  #header .nav_btn span {
    width: 28px;
    height: 2px;
  }

  #header.active .nav_btn span {
    margin: -2px 0;
  }

  #footer {
    padding: 28px 0;
  }

  #footer>div {
    flex-direction: column;
    gap: 24px;
  }

  #footer .ft_left .ft_top {
    flex-direction: column;
    align-items: flex-start;
    gap: 20px;
  }

  #footer .ft_left .ft_top .ft_logo {
    height: 28px;
  }

  #footer .ft_left .ft_top .ft_nav {
    flex-wrap: wrap;
    gap: 8px 24px;
    font-size: 15px;
  }

  #footer .ft_left .btn_box .btn {
    height: 40px;
    width: 40px;
  }

  #footer .ft_right {
    font-size: 13px;
  }

  #footer .ft_left .btn_box {
    margin-top: 24px;
  }

  #footer .ft_right dl {
    flex-direction: column;
    margin-bottom: 24px;
  }

  #footer .ft_right dl dt {
    font-size: 14px;
    width: 100%;
    margin-bottom: 8px;
  }

  #footer .ft_right dl dd {
    width: 100%;
    gap: 4px 20px;
  }

  /* 서브레이아웃 */
  #sub_container {
    padding: 40px 0 60px;
  }

}




.snb_wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: var(--primary-dark);
  padding: 16px 4%;
  color: #fff;
  font-size: 16px;
}

.snb_wrap a {
  display: block;
  width: 28px;
  height: 28px;
}

.snb_wrap a img {
  width: 100%;
  height: 100%;
}


.quick{
  position: fixed;
  z-index: 101;
  transform: translateY(56px);
  transition: .3s ease-out;
  right: 4%;
  bottom: 100px;
}
.quick {
  display: flex;
  flex-direction: column;
  gap: 12px;
}
.quick li a{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 52px;
  height: 52px;
  background: #fff;
  border: 2px solid var(--line);
  border-radius: 50%;
  box-shadow: var(--shadow-xs);
}