@charset "utf-8";
@font-face {
    font-family: 'GowunDodum-Regular';
    src: url('https://cdn.jsdelivr.net/gh/projectnoonnu/noonfonts_2108@1.1/GowunDodum-Regular.woff') format('woff');
    font-weight: normal;
    font-style: normal;
  }



/* about 펜션소개 */
.about_con1 {
  display: flex; 
  flex-direction: row-reverse; /*메인쪽과 left right 반전*/
  justify-content: space-between;
  margin-bottom: 5%;
  text-align: center;
}
.about_con1 span {display:block;}

.about_con1 .abtcon1_left {width: 45%; position: relative;}
.abtcon1_left img {width: 100%; height: 100%; object-fit: cover;}
.abtcon1_left .title {position: absolute; top: 5%; left: 50%; transform: translateX(-50%); color: #fff;}
.abtcon1_left .title span {
  font-size: 18px;
}
.abtcon1_left .title h2 {
  font-size: 60px;
  line-height: 75px;
}
.abtcon1_left .title p {
  font-size: 22px;
}
.about_con1 .abtcon1_right {
  display: flex;
  flex-direction: column;
  width: 55%;
  padding: 3%;
  background: #F8F1EB;
  box-sizing: border-box;
}

.abtcon1_right .center {height: 50%;}
.abtcon1_right .center img {height: 100%; object-fit: cover;}
.abtcon1_right .text {height: 50%;}
.abtcon1_right .text h3 {margin: 60px 0 50px 0; font-size: 25px;}
.abtcon1_right .text p {font-size: 17px; line-height: 30px; word-break: keep-all; padding: 2% 8%; }
@media (max-width:1500px){
  .abtcon1_right .center {height: 50%;}
  .abtcon1_right .text {height: 50%;}
  .abtcon1_right .text h3 {margin: 50px 0 40px 0; font-size: 26px;}
  .abtcon1_right .text p {font-size: 17px; line-height: 30px; }
}
@media (max-width:1024px){
  .about_con1 {flex-wrap: wrap; flex-direction: column-reverse;}
  .about_con1 .abtcon1_left {width: 100%;}
  .about_con1 .abtcon1_right {width: 100%;}
  .abtcon1_right .center img {width: 80%;}
}
@media (max-width:768px){
  .abtcon1_right .text h3 {margin: 50px 0 40px 0; font-size: 20px;}
  .abtcon1_right .text p {font-size: 13px; line-height: 25px; }
  .abtcon1_right .text br.mo {display: none;}
}
@media (max-width:500px){
  .about_con1 .abtcon1_left {max-height: 350px;}
  .abtcon1_left img {max-height: 350px;}

  .about_con1 .abtcon1_right {background-image: linear-gradient(180deg, #CCAA90 44% ,#fff 44%);}
  .abtcon1_right .center {height: 50%; }
  .abtcon1_right .text {height: 50%;}
  .abtcon1_right .title img {width: 100px;}
  .abtcon1_right .title h2 {font-size: 36px; margin-top: 10px; margin-bottom: 7%;}
  .abtcon1_right .center img {width: 90%; }
  .abtcon1_right .text h3 {margin: 30px 0 20px 0; font-size: 20px;}
  
}
@media (max-width:400px){
  .abtcon1_right .title h2 {font-size: 30px;}
}


/* map */

.map_dl { position:relative; z-index:2;}
.map_dl:after {content:"";display:block;clear:both;}
.map_dl dt { width:27.1%; }
.map_dl dd { position:absolute; width:72.9%; height:100%; right:0; top:0; }
.map_add { position:absolute; left:0; bottom:0; padding:2%; font-size:1.2em; line-height:1.2em;}

.mapCon { width:72.9%; margin-left:27.1%;}
.map_text { font-size:1em; line-height:1.6em; margin-top:1.5em; padding-right:2%;}
.map_text dt { font-size:1.3em; font-weight:600; margin-bottom:1em;}
.map_text dd { margin-bottom:3em;}
.map_text dd div { margin-bottom:1em;}
.map_text .map_p { margin-bottom:3px;}
.map_text dd div strong { display:block; font-size:1.05em; font-weight:500; color:#47423E; }

.mapFrame { position:relative; width:80%; height:36vw; background:#ddd; border:1px solid #eee; overflow:hidden; }
.mapFrame iframe {position:absolute; width:200%; height:200%; left:-50%; top:-20%; filter: alpha(opacity=0;);}
.active .mapFrame iframe { opacity:1; filter: alpha(opacity=100;); top:-50%; transition: all 0.5s ease 0.5s;}


@media  (max-width: 1480px){
.mapFrame { width:100%;}
}

@media  (max-width: 1280px){
.about02_02 dt { font-size:1.6em;  line-height:1em; margin-bottom:1.5%;}
.about02_02 dd {font-size:0.9em; line-height:1.6em;}
}

@media  (max-width: 1024px){
.map_add { font-size:0.9em; line-height:1.6em; word-break: keep-all;}
.mapCon { width:100%; margin-left:0;}
.mapFrame { height:50vw;}
.map_text { line-height:1.5em; padding:0 3%;}
.map_text dd div { margin-bottom:1.2em;}
}

@media  (max-width: 768px){
.mapFrame { height:80vw;}
}

@media  (max-width: 400px){
  .map_add { font-size:0.75em;}
  br.m_360 {display: none;}
}



/* room */
.roomCon { position:relative; }
.roomCon01 { margin-top:10%; padding-top:30px; text-align:right;}
.room_reser { position:absolute; display:inline-block; left:0; top:0; -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; -ms-transition: all 0.2s ease; -o-transition: all 0.2s ease; transition: all 0.2s ease; z-index:2;}
.room_reser:hover { left:10px;}
.room01_01 { position:relative; width:96%; max-width:1327px; vertical-align:top; z-index:1;}

.roomCon02 { margin:0; text-align:center;}
.room02_01 { margin:6% 0;}
.room02_01 img { width:70%; max-width:500px; vertical-align:top; margin-top: 20px;}
.room02_03 { margin:6% 0; font-family: 'Courgette', cursive; font-size:1.38em;line-height:2em; color:#919191; }

.roomCon03 { padding-top:8%; margin-bottom:8%;}
.room03_01 { position:absolute; width:100%; height:45%; left:0; top:0; background:#d3d3d3; z-index:1; }
.room03_02 { position:relative; width:92%; max-width:1440px; margin:0 auto; z-index:2}
.room03_03 { position:relative; font-family: 'Barlow', sans-serif; font-size:6.9em; font-weight:600; line-height:0.8em; color:#47423E; text-transform:uppercase; letter-spacing:0.2em; padding-left:0.2em; margin-top:-0.44em; text-align:center; z-index:2;}

.room10_text {position: relative; margin: 0 auto; height: 100px; }
.room10_text p {position: absolute; top: 0; left: 50%; transform: translate(-50%,-50%); font-size: 1.8em; text-align: center; font-family: 'GowunDodum-Regular', serif;}
.room10_text ul {position: absolute; top: 100%; left: 50%; transform: translate(-50%,-50%); margin-bottom: 2%; text-align: left;}
.room10_text ul li {font-size: 1.5em; line-height: 30px; font-family: 'GowunDodum-Regular', serif;}
@media (max-width:500px){
  .room10_text p {font-size: 1.3em;}
  .room10_text ul li{font-size: 1em;}
}

@media  (max-width: 1720px){
.room02_03 { font-size:1.6vw; line-height:1.5em; }
.room03_03 { font-size:4.5vw; }
}

@media  (max-width: 1024px){
.roomFa {font-size:0.9em; line-height:1.5em;}

.room_reser img { width:150px;}
.room02_03 { font-size:2.4vw;}
.room03_03 { font-size:7vw; }
}
/*room 2번째 영역 탑슬라이드 바로하단*/
.room_first_area {display: flex;  }
.room_first_area .first_left {
  width: 50%; 
  display: flex; 
  justify-content: center;
  align-items: center; 
  flex-direction: column; 
  background: var(--main-brown); 
}
  .room_first_area .first_left .l_top {padding-top: 4%;}
    .l_top .img_box {
      max-width: 550px;
      margin: 0 auto; 
    }
    .l_top .img_box img {width: 100%; height: 100%; object-fit: cover;}
   
  .room_first_area .first_left .l_bottom {
    width: 100%; 
    text-align: center; 
  }
    .l_bottom img {}
    .l_bottom h3 {font-size: 50px; line-height: 1.4;  color: #fff; margin: 20px 0 10px;}
    .l_bottom p {font-size: 16px; line-height: 1.5;  color: #fff; }
    .l_bottom p strong {font-size: 1.1em;}
    .l_bottom ul.hashtag {display: flex; justify-content: center; gap: 1.5%; margin-bottom: -10%;}
    .l_bottom ul.hashtag li {
      background: #fff; font-size: 15px; padding: 8px 10px; color: var(--main-brown);
      transform: translateX(-100px); transition: all 1s; transition-delay: 0.5s;
    }
    .l_bottom ul.hashtag li:nth-of-type(3) {transition-delay: 0.65s;}
    .l_bottom ul.hashtag li:nth-of-type(2) {transition-delay: 0.8s;}
    .l_bottom ul.hashtag li:nth-of-type(1) {transition-delay: 0.95s;}

.room_first_area .first_right {
  width: 50%;
  height: 830px;
}  
  .first_right img, .first_right video {width: 100%; height: 100%; object-fit: cover;}  

.zoomable-image {
  transition: transform 0.3s ease; /* 확대 애니메이션 */
}

.zoom-button {
    animation: rotate_img 3.5s linear infinite;
    position: absolute;
    bottom: 20px;
    right: 20px;
    padding: 5px 10px;
    font-size: 25px;
    cursor: pointer;
    border: none;
    background-color: rgba(0, 0, 0, 0.5);
    color: white;
    border-radius: 50%;
}
@keyframes rotate_img { /*회전 애니메이션 */
  0% {
    transform: rotate(0deg);
  }
  12.5% {
    transform: rotate(180deg); /* 1초 동안 회전 */
  }
  100% {
    transform: rotate(180deg); /* 3초 동안 정지 */
  }
}
/* 모달 창 스타일 */
.modal {
  display: none; /* 처음에는 숨김 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: rgba(0, 0, 0, 0.8); 
  justify-content: center;
  align-items: center;
  z-index: 1000;
}

.modal-content {
  position: relative;
  top: 10%;
  left: 50%;
  transform: translateX(-50%);
  min-width: 1200px;
  max-width: 1280px;
  min-height: 720px;
  max-height: 795px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.modal-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  /* transform: scale(1.6);  */
}

.close-button {
  animation: rotate_img 3.5s linear infinite;
  position: absolute;
  display: flex;
  justify-content: center;
  align-items: center;
  top: 20px;
  right: 20px;
  width: 50px;
  height: 50px;
  background-color: rgba(0, 0, 0, 0.7);
  border-radius: 50%;
  font-size: 50px;
  color: white;
  cursor: pointer;
}




  @media  (max-width: 1200px){
    .l_top .img_box {
      max-width: 90%;
    }
    .l_bottom h3 {font-size: 30px; }
    .l_bottom p { font-size: 14px;}

    .room_first_area .first_right {
      height: 700px;
    } 


    .zoom-button {display: none;}
  }
  @media  (max-width: 1024px){
    .room_first_area { flex-wrap: wrap; }
    .room_first_area .first_left{ width: 100%; padding-bottom: 3%;}
    .room_first_area .first_left .l_top { 
      padding-top: 50px;
      height: auto;
    }
    .room_first_area .first_left .l_bottom { height: auto; min-height: 260px;}
    .room_first_area .first_right { 
      width: 100%;
      height: auto;
    }
    .first_right img, .first_right video { height: 100%;}
  }

  @media (max-width:768px) {
    .l_top .img_box {
      max-width: 100%;
      width: 95%;
    }
    .l_bottom h3 {
        margin: 20px 0 11px;
    }
    .l_bottom p {
        font-size: 13px; word-break: keep-all;
        width: 90%;
        margin: 0 auto;
    }
    
  }


  @media (max-width: 500px){
    .l_bottom ul.hashtag li {font-size: 11px; padding: 4px 6px; margin-bottom: 6px;}
    .room_first_area .first_right { max-height: 400px;}
  }
  @media (max-width: 360px){
    .l_bottom ul.hashtag {gap: 1%;}
    .l_bottom ul.hashtag li {font-size: 10px; padding: 3px 5px;}
  }
  @media (max-width: 343px){
    .l_bottom ul.hashtag li {opacity: 1; transform: translateX(0);}
  }

/* 코코몰디브 전용 내비게이션 */
.coconav_wrap {
  width: 100%;  
  display: flex; 
  justify-content: center;
  margin: 7% 0;
  text-align: center;
}
.coconav_wrap div ul {
  display: flex;
  gap: 30px;
}
.coconav_wrap div li a {
  display: inline-block;
  width: 100%;
  position: relative;
}
.coconav_wrap div.nav1 ul, .coconav_wrap div.nav2 ul {
  margin-right: 30px;
}
.coconav_wrap ul li {
  width: 15vw;
}
.coconav_wrap img {
  width: 100%;
  border-radius: 50%;
  object-fit: cover;
  transform: perspective(2500px) rotateY(90deg);
  transition: all 1s;
  transition-delay: 0.5s;
}
.coconav_wrap img.on {
  transform: perspective(2500px) rotateY(0);
}

.coconav_wrap h2 {
  width: 80%;
  margin: 3% auto;
  padding: 3.5% 5%;
  color: #fff;
  font-size: 21px;
  font-weight: normal;
  background: #988B7E no-repeat;
  border: 1px solid #988B7E;
  border-radius: 24px;
}
.coconav_wrap p {
  padding: 3% 5%;
  font-size: 16px;
  border: 1px solid #707070;
  border-radius: 24px;
  line-height: 25px;
}
.nav2 p {
  width: 93.5%;
  margin: 0 auto;
  padding: 0.95% 2%;
}
.coconav_wrap .btn_more {
  position: absolute;
  bottom: 50%; right: 50%;
  transform: translate(50%, 50%);
  padding: 10px 15px;
  background: rgba(0, 0, 0, 0.7);
  border: 1px solid transparent;
  border-radius: 28px;
  font-size: 16px;
  color: #fff;
  font-style: normal;
}
.coconav_wrap li:hover img {
  filter: brightness(0.5);
}
.coconav_wrap li:hover .btn_more { /*바로가기*/
  opacity: 1;
}

@media (max-width:1700px){
  .coconav_wrap h2 {
    font-size: 18px;
  }
  .coconav_wrap p {
    font-size: 14px;
  }
}
@media (max-width:1470px){
  .coconav_wrap div ul {
    gap: 20px;
  }
  .coconav_wrap div.nav1 ul, .coconav_wrap div.nav2 ul {
    margin-right: 20px;
  }
  .coconav_wrap h2 {
    font-size: 16px;
  }
  .coconav_wrap p {
    font-size: 12px;
  }
}
@media (max-width:1280px){
  .coconav_wrap { 
    display: block; 
    margin: 5% 0;
  }
  .coconav_wrap div ul {
    justify-content: center;
    padding: 0 1%;
  }
  .coconav_wrap div.nav1 ul, .coconav_wrap div.nav2 ul {
    margin-right: 0;
  }
  .coconav_wrap div.nav1 {
    margin-bottom: 5%;
  }
  .coconav_wrap ul li {
    width: 31vw;
  }
  .coconav_wrap h2 {
    font-size: 17px;
  }
  .coconav_wrap p {
    font-size: 12px;
    line-height: 20px;
  }
  .coconav_wrap .btn_more {
    display: none;
  }
}
@media (max-width:768px){
  .coconav_wrap h2 {
    font-size: 14px;
  }
  .coconav_wrap div ul {
    gap: 8px;
  }
  .coconav_wrap div.nav1 p, .coconav_wrap div h2 {
    width: 100%;
  }
  .nav2 p {
    width: 96.5%;
  }
}
@media (max-width:500px){
  .coconav_wrap h2 {
    margin: 7px auto;
    font-size: 12px;
  }
  .coconav_wrap p {
    padding: 5px 10px;
    font-size: 10px;
    line-height: 17px;
    border-radius: 10px;
    word-break: keep-all;
  }
  .nav1 br {display: none;}
}
@media (max-width:420px){
  .coconav_wrap h2 {
    padding: 2% 4%;
    font-size: 12px;
  }
  .coconav_wrap p {word-break: break-all;}
}
@media (max-width:350px){
  .coconav_wrap h2 {
    font-size: 10px;
  }
  .coconav_wrap p {
    font-size: 10px;
  }
  
}

/*예약하기 버튼 및 객실정보 영역*/
.room_container{
  display: flex;
  margin: 180px auto 80px;
  width: 100%;
  max-width: 85vw;
}
.room_container .leftbox{ /*예약하기 버튼 영역*/
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: center;
  width: 30%;
  padding: 0 3%;
  box-sizing: border-box;
}
.room_container .leftbox a {
  
  display: block;
  width: max-content;
  font-size: 21px;
  font-family: 'arita-m';
  margin: 30px auto 0;
  padding: 2px 30px;
  border: 1px solid var(--main-brown);
  border-radius: 40px;
  color: #fff;
  background-color: #BEAC98;
  text-decoration: none;
  overflow: hidden;
}
.room_container .leftbox a:hover {
  background-color: var(--main-brown);
  font-weight: normal;
}
.room_container .rightbox{
  width: 70%;
  margin: 0 auto;
  padding: 0 3%;
  box-sizing: border-box;
}
.rightbox .roominfo .info{
  display: flex;
  gap: 3%;
  margin-bottom: 2%;
  padding-bottom: 2%;
  font-size: 15px;
  word-break: keep-all;
  border-bottom: 1px solid var(--main-brown);
}
.rightbox .roominfo .info:first-of-type {
  padding-top: 3.3%;
  border-top: 1px solid var(--main-brown);
}
.room_container .rightbox .left{
  width: 30%;
  font-size: 20px;
  color: var(--main-brown);
}
.room_container .rightbox .left .fa-solid{
  display: none;
}
.room_container .rightbox .right{
  width: 70%;
  line-height: 25px;
  font-family: 'pret-r';
  color: #000;
}
.bg_pink {
  background: #fddbdb;
  background: rgba(139, 118, 102, .3);
}
.room_container .rightbox .right ul li::before {
 content: "· ";
 margin-left: -10px;
}
/* .room_container .rightbox .right ul li::before {
  content: "- "; 
  margin-left: -13px;
} */
.room_container .rightbox .right ul li.nodash::before {
  content: ""; 
  margin-left: -16px;}

@media (max-width:1400px) {
  .room_container{
    max-width: 95vw;
  }
}

@media all and (max-width:1200px){
  .room_container .rightbox .left{
    font-size: 18px;
  }
  .room_container .rightbox .left img{
    width: 20px;
    transform: translateY(2px);
  }
}

@media (max-width:768px){
  .room_container{
    flex-direction: column-reverse;
    margin: 80px auto 20px;
  }
  .room_container .leftbox,.room_container .rightbox{
    width: 92%;
    margin: 0 auto;
    padding: 0;
  }
  .room_container .leftbox img {
    display: none;
  }
  .rightbox .roominfo {
    padding-top: 7%;
  }
  .room_container .leftbox a{ /*예약하기*/
    position: static;
    background-color: var(--main-brown);
    font-size: 15px;
    color: #fff;
    
  }
  .room_container .leftbox a em {
    font-weight: normal;
  }
  .room_container .leftbox a:hover em{
    color: #47423E;
  }
  .room_container .leftbox a:hover::before{
    width: 0;
  }
  .rightbox .roominfo .info {
    flex-wrap: wrap;
  }
  .room_container .rightbox .left{
    width: 100%;
  }
  .room_container .rightbox .right {
    width: 100%;
    padding: 3% 3% 3% 6%;
    font-size: 13px;
  }
}
/*ROOM 중간 배너 */
.room-banner {
  margin: 100px 0;
}

@media (max-width:768px) {
  .room-banner {
    margin: 100px 0 40px;
  }
}




/* roomPre */
.roomPre_01 {
  display: flex; justify-content: center; flex-wrap: wrap; 
  /* width:90%; max-width:1600px; margin:0 auto;  */
  background-image: linear-gradient(180deg, #CCAA90 50%, #fff 50%);
  padding:3% 10%;}
.roomPre_01 > div {width: 100%; text-align: center; margin-bottom: 5%;}
.roomPre_01 h2 {font-size: 50px; line-height: 70px; color: #fff; font-weight: normal;}
.roomPre_01 p { font-size:1.25em; line-height:1.5em; color:#000; margin-bottom:0.5em;}
.roomPre_01 .btn_scroll { display:inline-block; font-size:14px; line-height:1em; color:#fff; padding:8px; background:#898989; -webkit-transition: all 0.2s ease; -moz-transition: all 0.2s ease; -ms-transition: all 0.2s ease; -o-transition: all 0.2s ease; transition: all 0.2s ease;}
.roomPre_01 .btn_scroll:hover { padding:8px 16px; background: #3f4255;}
.roomPre { position:relative; float:left; }
.roomPre_list { position:absolute; width:70%; height:100%; left:24%; top:0; z-index:2;}
.roomPre_list a { position:absolute; display:block; width:9.2%; height:13%; margin:-4% 0 0 -4.7%; background:#000; color:#fff; filter: alpha(opacity=0;);}

.roomPre_list .roomNav01 { left:34.8%; top:32.2%;}
.roomPre_list .roomNav02 { left:46.6%; top:32.1%;}
.roomPre_list .roomNav03 { left:58.3%; top:32.0%;}
.roomPre_list .roomNav04 { left:69.6%; top:30.3%;}
.roomPre_list .roomNav11 { left:12.5%; top:30.8%;}

.roomPre_list02 { position:absolute; width:70%; height:100%; left:20%; top:0; z-index:2; }

@media  (max-width: 1280px){
}

@media  (max-width: 1024px){
.roomPre_01 { width:96%; max-width:1600px; margin:5% auto; padding:3%; }
.roomPre_01 p { font-size:0.9em; line-height:1.3em; text-shadow:1px 1px rgba(255, 255, 255, 0.5); }
.roomPre_01 .btn_scroll { font-size:12px;}
.roomPre_list a { width:11%; height:18%; margin:-7% 0 0 -5.5%;}
.roomPre_list {width:100%; left:0;}
}
@media (max-width: 500px){
  .roomPre_01 h2 {font-size: 32px; line-height: 50px;}
  .roomPre_01 img.prelogo {width: 50px;}
}



/* -------------------------- */
/* special 스페셜 */
.special_con1 {display: flex; text-align: center; }
.special_con1 .left {width: calc(100% - 1080px); min-width: 30%; background: var(--main-brown);}
.special_con1 .left .img_box {
  width: 300px; height: 300px; 
  max-width: 25vw;
  max-height: 25vw;
  margin: 110px auto 50px; border-radius: 50%; overflow: hidden;}
.special_con1 .left .img_box img {width: 100%; height: 100%; object-fit: cover;}
.special_con1 .left .title {margin: 25px 0; font-size: 21px; color: #fff; font-family: 'pret-r'; }
.special_con1 .left p {font-size: 16px; line-height: 2; color: #fff; 
  margin: 40px auto;
  max-width: 90%;
}



.special_con1 .right {
  position: relative;
  width: 1080px; 
  max-width: 70%;
  color: #fff;
}
.special_con1 .right .bg_box {position: absolute; top: 0; left: 0; z-index: -1; width: 100%; height: 100%;}
.special_con1 .right .bg_box img {width: 100%; height: 100%; object-fit: cover; filter: brightness(30%);}
.special_con1 .right .img_box{
  margin: 60px auto 40px; 
  width: 70%; 
}

/* cate 03 이상 */
.special_con1 .right .img_box.cate_03 {
  margin-top: 7vw;
}
.special_con1 .right .img_box + .pool_tit{
  margin-top: 3vw;
}



.special_con1 .right .img_box img {width: 100%; height: 100%; object-fit: cover;}
.img_box img.spe02_01 { max-width: 242px;}
.img_box img.spe02_02 { max-width: 470px;}

.special_con1 .right .pool_info{
  width: 70%;
  margin: 0 auto;
  color: #fff;
}

/* 뱃지 */
.pool_info .pool_badge{
  display: table;
  margin: 0 auto 20px;
  padding: 6px 22px;
  border-radius: 30px;
  background: #fff;
  color: #222;
  font-size: 15px;
}

/* 테이블 공통 */
.pool_info .pool_tables{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 40px;
}
.pool_info .pool_tb_l{flex: 337;}
.pool_info .pool_tb_r{flex: 435;}

.pool_info .pool_tb{
  border-collapse: collapse;
  table-layout: fixed;
  font-size: 15px;
  text-align: center;

  border-collapse: separate;
  border-spacing: 0;
  background:
    linear-gradient(#fff, #fff) right top / 1px 0 no-repeat,   /* 오른쪽선 */
    linear-gradient(#fff, #fff) right bottom / 0 1px no-repeat; /* 하단선 */

}
.pool_info .pool_tb th {
  font-weight: normal;
}
.pool_info .pool_tb th,
.pool_info .pool_tb td{
  height: 39px;
  padding: 0 8px;
  /* border: 1px solid #fff; */
  font-family: 'pret-r';
  line-height: 1.3;
  word-break: keep-all;

  background:
    linear-gradient(#fff, #fff) left top / 0 1px no-repeat,   /* 상단선 */
    linear-gradient(#fff, #fff) left top / 1px 0 no-repeat;   /* 왼쪽선 */
}

/* 테두리 모션 */
.pool_info .pool_tb.active th,
.pool_info .pool_tb.active td {
  animation: cellDraw .6s linear forwards;
}
.pool_info .pool_tb.active {
  animation: tableDraw .6s linear 0.7s forwards; /* 셀이 다 그려진 뒤 */
}

/* 행별 시차 */
.pool_info .pool_tb.active tr:nth-child(2) > * { animation-delay: .1s; }
.pool_info .pool_tb.active tr:nth-child(3) > * { animation-delay: .2s; }
.pool_info .pool_tb.active tr:nth-child(4) > * { animation-delay: .3s; }
.pool_info .pool_tb.active tr:nth-child(5) > * { animation-delay: .4s; }
.pool_info .pool_tb.active tr:nth-child(6) > * { animation-delay: .5s; }

@keyframes cellDraw {
  0%   { background-size: 0 1px,    1px 0; }
  50%  { background-size: 100% 1px, 1px 0; }
  100% { background-size: 100% 1px, 1px 100%; }
}
@keyframes tableDraw {
  0%   { background-size: 1px 0,    0 1px; }
  50%  { background-size: 1px 100%, 0 1px; }
  100% { background-size: 1px 100%, 100% 1px; }
}


/* 안내 문구 */
.pool_info .pool_note{
  margin-top: 20px;
  font-size: 15px;
  color: #fff;
  text-align: left;
}
.pool_info .pool_note li{line-height: 1.8;}
.pool_info .pool_note li::before{content: "· "; margin-right: 2px;}
.pool_info .pool_note li.nodot { color: #ffeaca;}
.pool_info .pool_note li.nodot::before{content: ""; }   





/* 태블릿 이하 */
@media screen and (max-width: 1024px){
  .special_con1 .right .pool_info{width: 90%;}
  .pool_info .pool_tables{flex-direction: column; gap: 20px;}
  .pool_info .pool_tb_l,
  .pool_info .pool_tb_r{flex: none; width: 100%;}
  .pool_info .pool_tb{font-size: 13px;}
  .pool_info .pool_tb th,
  .pool_info .pool_tb td{height: 34px;}
  .pool_info .pool_note { font-size: 13px;}
  
}


/* ===== cate 02 ===== */
.special_con1 .right .pool_info.pool_info02{
  width: 78%;
  margin-top: 45px;
}
.pool_cols{
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
}
.pool_col{
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 41%;
}

/* 이미지 영역: 두 컬럼 높이를 맞춰서 뱃지 위치를 정렬 */
.pool_col .pool_img{
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 343 / 210;
  margin-bottom: 30px;
}
.special_con1 .right .pool_col .img_box{
  flex: none;
  margin: 0;
}
.special_con1 .right .pool_col_in .img_box{width: 70%;}
.special_con1 .right .pool_col_out .img_box{width: 136%;} /* 테이블보다 넓게 */



.pool_col .pool_badge{margin-bottom: 10px;}
.pool_col .pool_sub{
  margin: 3px 0 10px;
  font-size: 15px;
  text-align: center;
  word-break: keep-all;
}
.pool_col .pool_tb{width: 100%;}
.pool_col .pool_note{width: 100%; margin-top: 10px;}

@media screen and (max-width: 1024px){
  .special_con1 .right .pool_info.pool_info02{width: 90%; margin-top: 40px;}
  .pool_cols{flex-direction: column; align-items: center; gap: 50px;}
  .pool_col{width: 100%;}
  .pool_col .pool_img{aspect-ratio: auto; margin-bottom: 24px;}
  .special_con1 .right .pool_col_in .img_box{width: 60%;}
  .special_con1 .right .pool_col_out .img_box{width: 100%;}
}


/* ===== cate 03 ~  ===== */

.text03-wrap {
  display: flex;
  gap: 14px;
  justify-content: center;
  margin-bottom: 87px;
}
.text03-wrap .box {
  position: relative;
  /* border: 1px solid #fff; */
  padding: 30px 25px 20px;
}
.text03-wrap .box li {
  font-size: 16px;
  line-height: 2;
  text-align: center;
  color: #fff;
}
.text03-wrap .badge {
  position: absolute;
  z-index: 1;
  top: -15px;
  left: 50%;
  transform: translateX(-50%);
  font-family: 'pret-r';
  font-size: 16px;
  color: var(--main-brown);
  padding: 5px 14px;
  background-color: #fff;
  border-radius: 40px;
}

.text03-wrap .box::before,
.text03-wrap .box::after {
  content: '';
  position: absolute;
  top: 0;
  width: 50%;
  height: 100%;
  pointer-events: none;
  background-repeat: no-repeat;
  background-image:
    linear-gradient(#fff, #fff),
    linear-gradient(#fff, #fff),
    linear-gradient(#fff, #fff);
  background-size: 0 1px, 1px 0, 0 1px; /* 상단선, 옆선, 하단선 */
}

/* 왼쪽 절반: 중앙(우측 상단) → 왼쪽 → 아래 → 하단 중앙 */
.text03-wrap .box::before {
  left: 0;
  background-position: right top, left top, left bottom;
}

/* 오른쪽 절반: 중앙(좌측 상단) → 오른쪽 → 아래 → 하단 중앙 */
.text03-wrap .box::after {
  right: 0;
  background-position: left top, right top, right bottom;
}

.text03-wrap .badge {
  z-index: 1; /* 기존 badge에 추가 */
}

/* 감지되면 실행 */
.text03-wrap .box.active::before,
.text03-wrap .box.active::after {
  animation: drawBorder 1.2s linear forwards;
}

@keyframes drawBorder {
  0%   { background-size: 0 1px,    1px 0,    0 1px; }
  35%  { background-size: 100% 1px, 1px 0,    0 1px; }
  65%  { background-size: 100% 1px, 1px 100%, 0 1px; }
  100% { background-size: 100% 1px, 1px 100%, 100% 1px; }
}



/* 공통 타이틀 */
.pool_tit{
  margin-top: 42px;
  text-align: center;
  color: #fff;
}
.pool_tit strong{
  display: block;
  font-size: 33px;
  font-weight: 400;
  letter-spacing: -0.02em;
}
.pool_tit span{
  display: block;
  margin: 10px 0;
  font-size: 27px;
}

@media (max-width:1024px) {
  .pool_tit{ margin-bottom: 20px; }
  .pool_tit strong{font-size: 25px;}
  .pool_tit span{font-size: 18px; margin-bottom: 0;}
}








@media (max-width:1500px){
  .special_con1 .left {
    min-width: 40%;
  }
  .special_con1 .right {
    max-width: 60%;
  }
  .special_con1 .right .img_box {
    width: 85%;
  }
  .special_con1 .right .pool_info {
    width: 85%;
  }
  

}
@media (max-width:1200px){
  .special_con1 {flex-wrap: wrap; flex-direction: column-reverse;}
  .special_con1 .left {width: 100%;}
  .special_con1 .left .img_box {width: 60%; height: auto;}
  .special_con1 .right {width: 100%; max-width: 100%;}
  .special_con1 .right .img_box {margin: 30px auto; height: auto;}
 
}
@media (max-width:768px){
  /*위쪽 영역 (컬럼 리버스시킴)*/
  .special_con1 .right { margin-top: 80px;}
  .special_con1 .right .img_box { width: 90%;}
  .special_con1 .right .title {font-size: 24px; line-height: 30px;} 
  .special_con1 .right p{font-size: 14px; line-height: 20px; margin-bottom: 20px;}
  /*아래쪽*/
  .special_con1 .left .img_box {
    width: 52.5vw; height: 52.5vw;
    max-width: 52.5vw; max-height: 52.5vw;
    margin: 40px auto 30px;

  }
  .special_con1 .left .title {margin: 30px 0; font-size: 18px;}
  .special_con1 .left p {
    font-size: 13px; line-height: 25px;
    margin-bottom: 30px;
    margin-top: 30px;
    padding: 0 5vw;
    word-break: keep-all;
  }
  .special_con1 .left ul {margin: 20px 0;}
  .special_con1 .left ul li {
    font-size: 13px; 
    line-height: 23px;
  }

  .text03-wrap {
    flex-direction: column;
    gap: 0;
    max-width: 75%;
    min-width: 280px;
    justify-content: center;
    margin: 0 auto 87px;
  }
  .text03-wrap .badge {
    font-size: 14px;
  }


  



}





/* tour */

.tour_wrap .title {
    text-align: center;
}
.tour_wrap .title h2 {
    font-size: 65px;
    margin: 100px 0 20px;
}
.tour_wrap .title p {
    font-size: 15px;
    margin-bottom: 80px;
}

.tour_wrap .tour_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 60px 6.25vw;
    max-width: 1300px;
    margin: 60px auto 200px;
    padding: 0 20px;
}

.tour_wrap .tour_item {
    width: 100%;
    max-width: 630px;
    padding: 3px;
    /* border: 1px solid var(--main-brown); */
}

.tour_wrap .tour_img {
    width: 100%;
    max-width: 630px;
    overflow: hidden;
}

.tour_wrap .tour_img img {
    width: 100%;
    height: auto;
    display: block;
}

.tour_wrap .tour_info {
    padding: 30px 40px;
    position: relative;
}

.tour_wrap .tour_info h3 {
    font-size: 30px;
}


.tour_wrap .tour_info p {
    color: #1c1c1c;
    font-size: 16px;
    line-height: 1.6;
    margin-top: 10px;
}

.tour_wrap .tour_info .more-btn {
    position: absolute;
    bottom: 27px;
    right: 40px;
}
.tour_info .more-btn .line {
    width: 9.9vw;
}

@media (max-width:1024px) {
  .tour_wrap .tour_info h3 {
      font-size: 26px;
  }

  .tour_wrap .tour_info p {
      font-size: 14px;
  }
}

/* 768px 이하 : 1열, 7행 */
@media (max-width: 768px) {

    .tour_wrap .title h2 {
      font-size: 40px;
      margin: 100px 0 20px;
    }
    .tour_wrap .title p {
      font-size: 13px;
      margin-bottom: 50px;
    }

    .tour_wrap .tour_list {
        grid-template-columns: 1fr;
        gap: 50px 0;
        margin: 50px auto 100px;
        padding: 0 5vw;
    }

    .tour_wrap .tour_item {
        max-width: 100%;
    }

    .tour_wrap .tour_info {
        padding: 25px 20px 20px;
    }
    .tour_wrap .tour_info h3 {
        font-size: 22px;
    }

    .tour_wrap .tour_info p {
        font-size: 13px;
    }
    .tour_wrap .tour_info .more-btn {
        bottom: 18px;
        right: 20px;
    }
    .tour_info .more-btn .line {
        width: 21vw;
    }
}

@media (max-width: 400px) {
  .tour_info .more-btn .line {
        width: 21vw;
    }
}












/*  commnuity */
.boardCon { position:relative; width:80%; max-width:1440px; margin:150px auto 0;}
.boardImg {  width:100%; margin:5% auto;  z-index:1;}
.borderCon { position:relative; width:56%; height:calc(100vh - 180px); left:41.5%; top:130px; background:url(../images/bg/white_70.png); z-index:3;}
.board_frame { display:block; width:100%; margin:0 auto; padding:2em; }


@media  (max-width: 1280px){

.boardCon { width:92%;}

}

@media  (max-width: 1024px){
.boardCon { width:94%;}
}


