/* ===== layout ===== */
.room_map{
  margin:0 auto;
  padding:0;
}

.room_sections{
  margin-top:14px;
}

.room_section{
  border:1px solid #e7e7ee;
  border-radius:14px;
  overflow:hidden;
  background:#fff;
  margin:14px 0 24px;
}

/* ===== sticky menu ===== */
.room_nav{
  position:sticky;
  top:100px; /* PC에서도 고정되게 추가 */
  z-index:1000;
  background:rgba(255,255,255,.92);
  backdrop-filter:saturate(160%) blur(10px);
  border:1px solid #e7e7ee;
  border-radius:14px;
  padding:10px 12px;
  transition:padding .25s ease, box-shadow .25s ease;
}

/* nav head */
.room_nav_head{
  display:block;
}

.room_nav_toggle{
  appearance:none;
  background:#fff;
  color:#111;
  border-radius:10px;
  padding:10px 40px 10px 14px;
  font-size:14px;
  font-weight:700;
  line-height:1.2;
  cursor:pointer;
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  position:relative;
}

.room_nav_toggle::after{
  content:"⌄";
  position:absolute;
  right:14px;
  top:50%;
  transform:translateY(-80%);
  font-size:20px;
  font-weight:700;
  line-height:1;
}

.room_nav.is_collapsed .room_nav_toggle::after{
  transform: translateY(-50%);	
  content:"»";
}

.room_nav_body{
  overflow:hidden;
  transition:max-height .3s ease, opacity .25s ease, margin-top .25s ease;
}



.room_nav_body{
  max-height:1200px;
  opacity:1;
  margin-top:10px;
}

.room_nav.is_collapsed .room_nav_body{
  max-height:0;
  opacity:0;
  margin-top:0;
}

@media (max-width:767px){
  .room_nav{
    top:75px;
    padding:10px;
  }

  .room_nav_head{
    display:block;
  }

  .room_nav_body{
    max-height:1200px;
    opacity:1;
    margin-top:10px;
  }

  .room_nav.is_collapsed .room_nav_body{
    max-height:0;
    opacity:0;
    margin-top:0;
  }

  .room_nav.is_collapsed{
    padding-bottom:10px;
  }
}

/* ===== floor buttons ===== */
.floor_row{
  display:grid;
  grid-template-columns:74px 1fr;
  gap:12px;
  padding:10px 0;
  border-bottom:1px dashed #e7e7ee;
}

.floor_row:last-child{
  border-bottom:0;
}

.floor_badge{
  display:flex;
  align-items:center;
  justify-content:center;
  font-weight:600;
  font-size:18px;
  letter-spacing:-.4px;
  color:#111;
  border:2px solid #e7e7ee;
  border-radius:10px;
  background:#fafafc;
  padding:10px 0;
  height:fit-content;
}

.floor_grid{
  display:grid;
  grid-template-columns:repeat(8, minmax(0, 1fr));
  gap:10px;
}

.room_btn{
  appearance:none;
  border:1px solid #3ebaae;
  background:#fff;
  color:#1a1a1a;
  font-weight:800;
  font-size:14px;
  padding:12px 10px;
  border-radius:10px;
  cursor:pointer;
  min-height:52px;
  text-align:center;
  line-height:1.2;
  transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease;
}

.room_btn:hover{
  transform:translateY(-1px);
  box-shadow:0 10px 20px rgba(0,0,0,.08);
}

.room_btn.is_active{
  background:#3ebaae;
  color:#fff;
}

/* ===== panel ===== */
.panel_head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:16px 20px;
  border-bottom:1px solid #eeeef4;
  background:#fff;
}

.panel_tit{
  font-size:22px;
  font-weight:700;
  letter-spacing:-.3px;
  color:#111;
}

.panel_actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  flex-shrink:0;
}

.btn_fill{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:40px;
  padding:0 14px;
  border-radius:10px;
  font-weight:800;
  font-size:14px;
  text-decoration:none;
  white-space:nowrap;
  border:1px solid #3ebaae;
  background:#3ebaae;
  color:#fff;
}

.btn_fill:hover{
  box-shadow:0 12px 28px rgba(28,26,87,.25);
}

.room_body{
  display:block;
  padding:0 20px 24px;
}

/* ===== slider ===== */
.room_slider{
  padding:14px 0;
}

.slider_main{
  position:relative;
  border:1px solid #eeeef4;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}

.slider_figure{
  margin:0;
}

.slider_main_img{
  width:100%;
  height:auto;
  display:block;
  aspect-ratio:16/9;
  object-fit:cover;
}

.slider_btn{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  width:44px;
  height:44px;
  border-radius:999px;
  border:1px solid #e7e7ee;
  background:rgba(255,255,255,.92);
  font-size:26px;
  line-height:1;
  cursor:pointer;
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:3;
}

.slider_btn.prev{
  left:12px;
}

.slider_btn.next{
  right:12px;
}

.slider_btn:hover{
  box-shadow:0 10px 22px rgba(0,0,0,.12);
}

.slider_thumbs{
  display:flex;
  gap:10px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  scroll-behavior:smooth;
  padding:12px 2px 2px;
}

.slider_thumbs::-webkit-scrollbar{
  height:8px;
}

.slider_thumbs::-webkit-scrollbar-thumb{
  background:#d7d7e6;
  border-radius:999px;
}

.slider_thumbs::-webkit-scrollbar-track{
  background:transparent;
}

.thumb{
  flex:0 0 auto;
  width:180px;
  border:2px solid transparent;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
  cursor:pointer;
  padding:0;
}

.thumb img{
  width:100%;
  height:96px;
  object-fit:cover;
  display:block;
}

.thumb.is_active{
  border-color:#3ebaae;
}

/* ===== etc ===== */
.etc{
  padding:0 0 14px;
}

.sub-title-bar{
  width:8px;
  height:22px;
  border-radius:999px;
  background:#3ebaae;
  flex:0 0 auto;
}

.sub-title-txt{
  font-size:18px;
  font-weight:600;
  letter-spacing:-0.02em;
  line-height:1.2;
}

.room_plan{
  margin-top:20px;
  text-align:center;
}

.room_plan img{
  max-width:100%;
  height:auto;
}

/* ===== accessibility ===== */
.sr-only{
  position:absolute !important;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

/* ===== table common ===== */
.room-table{
  width:100%;
}

.room-table__inner,
.price_tbl_wrap{
  width:100%;
  overflow:visible;
  -webkit-overflow-scrolling:touch;
  position:relative;
  background:#fff;
}

.scroll_hint{
  display:none;
  margin:8px 0 8px;
  font-size:12px;
  line-height:1.4;
  color:#64748b;
  text-align:right;
  font-weight:600;
}

.table_scroll_box{
  background:#fff;
}

/* ===== room info table ===== */
.room-table__inner{
  margin:0 auto;
  padding:18px 0;
}

.rt{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  background:#fff;
}

.rt__head th{
  background:#636363;
  color:#fff;
  font-weight:700;
  font-size:15px;
  padding:18px 12px;
  text-align:center;
  border-right:1px solid rgba(255,255,255,.25);
  white-space:normal;
  word-break:keep-all;
  line-height:1.4;
  vertical-align:middle;
}

.rt__head th:last-child{
  border-right:0;
}

.rt__body td{
  padding:18px 12px;
  font-size:15px;
  text-align:center;
  border-bottom:1px solid #dfe3ea;
  white-space:normal;
  line-height:1.45;
  vertical-align:middle;
}

.rt__body tr:hover td{
  background:#fafbff;
}

/* ===== price / extra cost table ===== */
.price_sec{
  margin:0 auto;
  padding:18px 0;
}

.price_tbl_wrap{
  border-top:2px solid #1b1b1f;
  border-bottom:2px solid #1b1b1f;
  background:transparent;
}

.price_tbl{
  width:100%;
  border-collapse:separate;
  border-spacing:0;
  table-layout:fixed;
  background:transparent;
}

.price_tbl th,
.price_tbl td{
  padding:18px 14px;
  border-top:1px solid #ececf3;
  vertical-align:middle;
  text-align:center;
  font-size:15px;
  line-height:1.45;
  background:transparent;
  white-space:normal;
  word-break:keep-all;
}

.price_tbl thead th{
  font-weight:700;
  color:#111;
  background:#fafafe;
  border-top:0;
}

.price_tbl thead tr:first-child th{
  border-bottom:1px solid #ececf3;
}

.price_tbl tbody th.row_head{
  text-align:left;
  font-weight:600;
  color:#111;
  background:transparent;
}

.price_tbl tbody td{
  color:#111;
}

.price_tbl tbody tr:last-child th,
.price_tbl tbody tr:last-child td{
  border-bottom:0;
}

/* ===== info list ===== */
.info_sec{
  padding:10px 0;
}

.info_list{
  list-style:none;
  margin:0;
  padding:0;
  border-top:1px solid #ececf3;
}

.info_list li{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px 10px;
  border-bottom:1px solid #ececf3;
  font-size:15px;
}

.info_list .label{
  color:#111;
  font-weight:600;
}

.info_list .val{
  color:#111;
  font-weight:800;
}

/* ===== responsive ===== */
@media (max-width:980px){
  .floor_grid{
    grid-template-columns:repeat(4, minmax(0, 1fr));
  }
}

@media (max-width:767px){
  .room_nav{
    position:sticky;
    top:75px;
    z-index:1000;
    background:rgba(255,255,255,.92);
    backdrop-filter:saturate(160%) blur(10px);
    border:1px solid #e7e7ee;
    border-radius:14px;
    padding:10px 12px;
  }

  .room_map{
    max-width:1140px;
    margin:0 auto;
    padding:24px 0;
  }

  .room_btn{
    appearance:none;
    border:1px solid #3ebaae;
    background:#fff;
    color:#1a1a1a;
    font-weight:600;
    font-size:12px;
    padding:8px 10px;
    border-radius:10px;
    cursor:pointer;
    min-height:auto;
    text-align:center;
    line-height:1.2;
    transition:transform .12s ease, box-shadow .12s ease, background .12s ease, color .12s ease;
  }

  .floor_row{
    grid-template-columns:60px 1fr;
    gap:12px;
  }

  .floor_badge{
    display:flex;
    align-items:center;
    justify-content:center;
    font-weight:600;
    font-size:14px;
    letter-spacing:-.4px;
    color:#111;
    border:2px solid #e7e7ee;
    border-radius:10px;
    background:#fafafc;
    padding:5px 0;
    height:auto;
  }

  .floor_grid{
    grid-template-columns:repeat(3, minmax(0, 1fr));
  }

  .panel_head{
    padding:16px;
    align-items:flex-start;
    flex-direction:column;
  }

  .panel_tit{
    font-size:18px;
  }

  .panel_actions{
    width:100%;
    justify-content:flex-start;
  }

  .room_body{
    padding:0 16px 20px;
  }

  .thumb{
    width:150px;
  }

  /* 모바일에서만 좌우스크롤 */
  .room-table__inner,
  .price_tbl_wrap{
    overflow-x:auto;
    overflow-y:hidden;
  }

  .room-table__inner::-webkit-scrollbar,
  .price_tbl_wrap::-webkit-scrollbar{
    height:6px;
  }

  .room-table__inner::-webkit-scrollbar-thumb,
  .price_tbl_wrap::-webkit-scrollbar-thumb{
    background:#cbd5e1;
    border-radius:999px;
  }

  .room-table__inner::-webkit-scrollbar-track,
  .price_tbl_wrap::-webkit-scrollbar-track{
    background:#f1f5f9;
  }

  .rt{
    width:max-content;
    min-width:1200px;
  }

  .price_tbl{
    width:max-content;
    min-width:900px;
  }

  .rt__head th{
    padding:16px 12px;
    font-size:14px;
    white-space:nowrap;
  }

  .rt__body td,
  .price_tbl th,
  .price_tbl td{
    padding:16px 12px;
    font-size:14px;
    line-height:1.4;
    white-space:nowrap;
  }

  .scroll_hint{
    display:block;
  }

  .table_scroll_box{
    border:1px solid #e5e7eb;
    border-radius:12px;
  }
}

@media (max-width:520px){
  .thumb{
    width:130px;
  }

  .slider_btn{
    width:40px;
    height:40px;
  }
}

/* 룸홀정보 */
.gn_center_imgs{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:12px;
  margin-bottom:50px;
}

.gn_center_imgs img{
  width:100%;
  height:260px;
  object-fit:cover;
  border-radius:6px;
}

/* 모바일 */
@media (max-width:767px){
  .gn_center_imgs{
    grid-template-columns:repeat(2,1fr);
  }

  .gn_center_imgs img{
    height:160px;
  }
}

/* ====== 공용 ====== */
.gn_premium_wrap{
  max-width:1550px;
  margin:0 auto;
  font-family:'Noto Sans KR', sans-serif;
  padding:40px 0;
}

/* ====== 상단 헤더 ====== */
.gn_premium_head{
  padding:46px 0 28px;
}

.gn_premium_kicker{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:8px 12px;
  border:1px solid #eef2f7;
  border-radius:999px;
  font-size:14px;
  font-weight:600;
  color:#2b3a55;
  background:#fff;
}

.gn_premium_kicker:before{
  content:"";
  width:10px;
  height:10px;
  border-radius:50%;
  background:#3ebaae;
  display:inline-block;
}

.gn_premium_title{
  margin-top:14px;
  font-size:34px;
  font-weight:600;
  letter-spacing:-.02em;
  line-height:1.25;
  color:#101828;
}

.gn_premium_title span{
  color:#3ebaae;
}

.gn_premium_desc{
  margin-top:8px;
  font-size:18px;
  line-height:1.75;
  color:#475467;
}

.gn_premium_desc strong{
  color:#3ebaae;
  font-weight:600;
}

/* ====== 핵심 포인트 카드 ====== */
.gn_premium_grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:14px;
  padding:0 0 28px;
}

.gn_premium_card{
  border:1px solid #eef2f7;
  border-radius:16px;
  padding:18px 18px 16px;
  background:#ffffff;
}

.gn_premium_card_top{
  display:flex;
  align-items:center;
  gap:12px;
  margin-bottom:10px;
}

.gn_premium_icon{
  width:42px;
  height:42px;
  border-radius:12px;
  background:rgba(62,186,174,.14);
  position:relative;
  flex:0 0 auto;
}

.gn_premium_icon:after{
  content:"";
  width:18px;
  height:18px;
  border-radius:6px;
  background:#3ebaae;
  position:absolute;
  top:50%;
  left:50%;
  transform:translate(-50%,-50%);
  opacity:.95;
}

.gn_premium_card h4{
  margin:0;
  font-size:16px;
  font-weight:600;
  color:#101828;
  letter-spacing:-.01em;
}

.gn_premium_card p{
  margin:0;
  font-size:14px;
  line-height:1.65;
  color:#667085;
}

/* ====== 상세 리스트 ====== */
.gn_premium_body{
  padding:14px 0;
  background:#fff;
}

.gn_premium_list{
  list-style:none;
  padding:0;
  margin:0;
  display:grid;
  gap:14px;
}

.gn_premium_item{
  border:1px solid #eef2f7;
  border-radius:14px;
  padding:18px 18px 18px 46px;
  position:relative;
  background:#fbfcfe;
}

.gn_premium_item:before{
  content:"";
  width:16px;
  height:16px;
  border-radius:4px;
  background:#101828;
  position:absolute;
  left:18px;
  top:22px;
  opacity:.9;
}

.gn_premium_item:after{
  content:"";
  width:6px;
  height:6px;
  border-radius:1px;
  background:#3ebaae;
  position:absolute;
  left:23px;
  top:27px;
}

.gn_premium_item strong{
  display:block;
  font-size:16px;
  font-weight:600;
  color:#101828;
  margin-bottom:6px;
}

.gn_premium_item span{
  display:block;
  font-size:15px;
  line-height:1.75;
  color:#475467;
}

.gn_premium_item em{
  font-style:normal;
  font-weight:600;
  color:#3ebaae;
}

/* ====== 하단 CTA ====== */
.gn_premium_footer{
  padding:14px 0 0 0;
}

.gn_premium_footer_text{
  font-size:18px;
  line-height:1.65;
  color:#101828;
  font-weight:600;
  letter-spacing:-.01em;
}

.gn_premium_footer_text small{
  display:block;
  margin-top:6px;
  font-size:14px;
  font-weight:600;
  color:#667085;
}

.gn_premium_badge{
  display:inline-flex;
  align-items:center;
  gap:10px;
  padding:12px 14px;
  border-radius:999px;
  border:1px solid #e7f6f4;
  background:rgba(62,186,174,.10);
  color:#0f766e;
  font-size:14px;
  font-weight:600;
  white-space:nowrap;
}

.gn_premium_badge:before{
  content:"";
  width:8px;
  height:8px;
  border-radius:50%;
  background:#3ebaae;
}

/* ====== 반응형 ====== */
@media (max-width:767px){
  .gn_premium_wrap{
    padding:22px 0;
  }

  .gn_premium_head{
    padding:26px 18px 18px;
  }

  .gn_premium_title{
    font-size:24px;
  }

  .gn_premium_desc{
    font-size:15px;
  }

  .gn_premium_grid{
    grid-template-columns:repeat(2,1fr);
    padding:0 18px 18px;
    gap:10px;
  }

  .gn_premium_card{
    padding:14px 14px 12px;
    border-radius:14px;
  }

  .gn_premium_icon{
    width:38px;
    height:38px;
    border-radius:12px;
  }

  .gn_premium_card h4{
    font-size:14px;
  }

  .gn_premium_card p{
    font-size:13px;
  }

  .gn_premium_body{
    padding:18px 18px 22px;
  }

  .gn_premium_item{
    padding:16px 14px 16px 46px;
  }

  .gn_premium_item strong{
    font-size:15px;
  }

  .gn_premium_item span{
    font-size:14px;
  }

  .gn_premium_footer{
    padding:18px;
    flex-direction:column;
    align-items:flex-start;
  }

  .gn_premium_footer_text{
    font-size:16px;
  }

  .gn_premium_badge{
    width:100%;
    justify-content:center;
  }
}

/* 카카오 지도 하단 컨트롤 숨김 */
.cont,
.wrap_controllers{
  display:none;
}

/* section */
.location-section{
  padding:30px 0;
}

.location-inner{
  max-width:1200px;
  margin:0 auto;
}

/* 타이틀 디자인 요소 추가 */
.location-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:0 0 24px;
}

.location-title-bar{
  width:8px;
  height:22px;
  border-radius:999px;
  background:#3ebaae;
  flex:0 0 auto;
}

.location-title-txt{
  font-size:26px;
  font-weight:800;
  letter-spacing:-0.02em;
  line-height:1.2;
}

/* map */
.location-map{
  border-radius:12px;
  overflow:hidden;
  box-shadow:0 14px 34px rgba(0,0,0,.08);
  border:1px solid rgba(0,0,0,.06);
}

.location-map img{
  width:100%;
  display:block;
}

/* info row */
.location-info{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  margin-top:30px;
  gap:30px;
}

.info-left{
  flex:1;
}

/* brand */
.brand{
  display:flex;
  align-items:center;
  gap:0;
  margin-bottom:14px;
}

.brand-ico{
  width:40px;
  height:40px;
  border-radius:12px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}

.brand-ico img{
  width:25px;
  height:25px;
  display:block;
}

.brand strong{
  font-size:18px;
  font-weight:800;
  letter-spacing:-0.02em;
}

/* 주소/연락처 박스 */
.info-card{
  background:#fff;
  border:1px solid rgba(0,0,0,.08);
  border-radius:14px;
  padding:16px 18px;
  box-shadow:0 10px 26px rgba(0,0,0,.06);
}

.info-left dl{
  display:grid;
  grid-template-columns:74px 1fr;
  row-gap:10px;
  column-gap:12px;
  font-size:15px;
  margin:0;
}

.info-left dt{
  font-weight:700;
  color:#222;
  align-self:start;
}

.info-left dd{
  margin:0;
  color:#444;
  line-height:1.55;
}

.info-left dd .tel{
  color:#222;
  font-weight:700;
  text-decoration:none;
}

.info-left dd .tel:hover{
  text-decoration:underline;
  text-underline-offset:3px;
}

/* right button */
.info-right{
  display:flex;
  align-items:flex-end;
}

.map-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  height:88px;
  padding:0 22px;
  border-radius:10px;
  background:#3ebaae;
  color:#fff;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
  box-shadow:0 10px 22px rgba(62,186,174,.28);
  border:1px solid rgba(0,0,0,.06);
}

.map-btn:hover{
  filter:brightness(0.98);
}

/* 반응형 */
@media (max-width:768px){
  .location-section{
    padding:44px 16px;
  }

  .location-title-txt{
    font-size:22px;
  }

  .location-title-bar{
    width:36px;
  }

  .location-info{
    flex-direction:column;
    gap:16px;
  }

  .info-right{
    padding-top:0;
    align-self:flex-start;
    display:none;
  }

  .info-left{
    width:100%;
  }

  .info-left dl{
    grid-template-columns:66px 1fr;
    font-size:14px;
  }
}

/* 인덱스 */
.sub_page{
  padding:0;
}

.sub-title{
  display:flex;
  align-items:center;
  gap:12px;
  margin:40px 0 0 0;
}

.sub-title-bar{
  width:8px;
  height:22px;
  border-radius:999px;
  background:#3ebaae;
}

.sub-title-txt{
  font-size:20px;
  font-weight:600;
}

.price_sec{
  margin:0 auto;
  padding:18px 0;
}

.price_tbl_wrap{
  overflow:auto;
  border-top:2px solid #1b1b1f;
  border-bottom:2px solid #1b1b1f;
}

.price_tbl{
  width:100%;
  min-width:980px;
  border-collapse:collapse;
  table-layout:fixed;
}

.price_tbl th,
.price_tbl td{
  padding:15px;
  border-top:1px solid #ececf3;
  text-align:center;
  font-size:15px;
}

.price_tbl thead th{
  font-weight:700;
  background:#fafafe;
  border-top:0;
}

.price_tbl tbody th{
  text-align:left;
  font-weight:600;
}

/* 모바일 */
@media (max-width:767px){
  .sub_page{
    padding:0 0 40px 0;
  }

  .sub-title{
    display:flex;
    align-items:center;
    gap:12px;
    margin:20px 0 0 0;
  }

  .sub-title-txt{
    font-size:16px;
  }

  .price_tbl{
    min-width:900px;
  }

  .price_tbl th,
  .price_tbl td{
    padding:12px 8px;
    font-size:14px;
  }
}

.rental_notice{
  margin-top:60px;
  padding:28px 24px;
  border:1px solid #e5e7eb;
  border-radius:16px;
  background:#fafafa;
}

.rental_notice_tit{
  margin:0 0 20px;
  font-size:24px;
  font-weight:800;
  line-height:1.4;
  color:#111;
  letter-spacing:-0.02em;
}

.notice_group + .notice_group{
  margin-top:22px;
  padding-top:22px;
  border-top:1px solid #e9ecef;
}

.notice_group h4{
  margin:0 0 10px;
  font-size:18px;
  font-weight:700;
  line-height:1.4;
  color:#111;
}

.notice_group p{
  position:relative;
  margin:6px 0 0;
  padding-left:12px;
  font-size:15px;
  line-height:1.8;
  color:#444;
  word-break:keep-all;
}

.notice_group p::before{
  content:"-";
  position:absolute;
  left:0;
  top:0;
  font-weight:700;
}

@media (max-width:767px){
  .rental_notice{
    margin-top:28px;
    padding:20px 16px;
    border-radius:12px;
  }

  .rental_notice_tit{
    margin-bottom:16px;
    font-size:19px;
  }

  .notice_group + .notice_group{
    margin-top:18px;
    padding-top:18px;
  }

  .notice_group h4{
    margin-bottom:8px;
    font-size:16px;
  }

  .notice_group p{
    padding-left:10px;
    font-size:14px;
    line-height:1.7;
  }
}

.img-two-col{
  display:flex;
  flex-direction:column;
  gap:20px;
  width:100%;
  margin:20px 0 0 0;
}

.img-two-col__item{
  flex:0 0 calc(50% - 10px);
  border:1px solid #e6e6e6;
  border-radius:12px;
}

.img-two-col__item img{
  display:block;
  width:100%;
  height:auto;
  border-radius:12px;
}

/* 모바일 */
@media (max-width:767px){
  .img-two-col{
    gap:12px;
  }

  .img-two-col__item{
    flex:1 1 100%;
  }
}

/* 기본대관료 */
.share-fab{
  width:52px;
  height:52px;
  border-radius:999px;
  background:#188c81;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 10px 24px rgba(0,0,0,.18);
  cursor:pointer;
  z-index:9999;
  transition:transform .15s ease, opacity .15s ease;
}

.share-fab:hover{
  transform:translateY(-2px);
}

.share-fab:active{
  transform:translateY(0);
}

.share-fab__icon{
  font-size:20px;
  font-weight:800;
}

/* Sheet */
.share-sheet{
  position:fixed;
  inset:0;
  z-index:9998;
  display:none;
}

.share-sheet.is_open{
  display:block;
}

.share-sheet__dim{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,.45);
}

.share-sheet__panel{
  position:absolute;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  width:min(420px, calc(100% - 24px));
  background:#fff;
  border-radius:16px;
  box-shadow:0 18px 40px rgba(0,0,0,.2);
  overflow:hidden;
}

.share-sheet__head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  padding:14px 16px;
  border-bottom:1px solid #eee;
}

.share-sheet__title{
  font-size:16px;
}

.share-sheet__close{
  width:34px;
  height:34px;
  border-radius:10px;
  border:1px solid #eee;
  background:#fff;
  cursor:pointer;
}

.share-sheet__grid{
  padding:14px 16px;
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:10px;
}

.share-item{
  border:1px solid #eee;
  background:#fff;
  border-radius:12px;
  padding:10px 8px;
  cursor:pointer;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:6px;
  transition:transform .15s ease, border-color .15s ease;
}

.share-item:hover{
  transform:translateY(-2px);
  border-color:#cfe9e6;
}

.share-item__ico{
  width:36px;
  height:36px;
  border-radius:12px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:#f3f5f7;
  font-weight:800;
}

.share-item__txt{
  font-size:12px;
  color:#333;
  font-weight:700;
}

/* URL row */
.share-sheet__url{
  padding:0 16px 16px 16px;
  display:flex;
  gap:8px;
  align-items:center;
}

#shareUrlInput{
  flex:1;
  height:40px;
  border-radius:10px;
  border:1px solid #eee;
  padding:0 10px;
  font-size:13px;
  background:#fafafa;
}

.share-url__copy{
  height:40px;
  padding:0 14px;
  border:none;
  border-radius:10px;
  background:#188c81;
  color:#fff;
  cursor:pointer;
  font-weight:800;
}

/* Toast */
.share-toast{
  position:fixed;
  left:50%;
  bottom:80px;
  transform:translateX(-50%);
  background:#111;
  color:#fff;
  padding:10px 12px;
  border-radius:12px;
  font-size:13px;
  opacity:0;
  pointer-events:none;
  transition:opacity .2s ease, transform .2s ease;
  z-index:10000;
}

.share-toast.is_show{
  opacity:1;
  transform:translateX(-50%) translateY(-2px);
}

/* Mobile: bottom sheet style */
@media (max-width:767px){
  .share-sheet__panel{
    left:50%;
    top:auto;
    bottom:12px;
    transform:translateX(-50%);
    border-radius:18px;
  }
}

#sh_container{
  position:relative;
  z-index:10;
  width:100%;
}

/* =========================== FOOTER */
#fixMenu{
  opacity:0;
  visibility:hidden;
  position:fixed;
  bottom:30px;
  right:30px;
  z-index:101;
}

#fixMenu.on{
  opacity:1;
  visibility:visible;
  bottom:10px;
}

#fixMenu a{
  display:flex;
  flex-flow:column;
  justify-content:center;
  align-items:center;
  width:70px;
  height:70px;
  padding-bottom:2px;
  border-radius:50%;
  font-size:13px;
  font-weight:700;
  color:#fff;
  background:#3ebaae;
  transition:all .3s;
  font-family:'Pretendard';
}



#fixMenu a + a{
  margin-top:8px;
}

#fixMenu a:hover{
  background:#3ebaae;
}

#fixMenu .to_top{
  margin:15px auto 0;
  width:70px;
  height:70px;
  border-radius:50%;
  text-align:center;
  line-height:75px;
  background:#f1f1f1;
  cursor:pointer;
  transition:all .3s;
}

#fixMenu .to_top:hover{
  box-shadow:3px 3px 8px rgba(0,0,0,.2);
}

/* 기본: 예약버튼 숨김 */
#fixMenu .btn_reserve{
  display:none;
}

#fixMenu .quick_form{
  display:none;
}

#fixMenu .quick_tel{
  display:none;
}

@media (max-width:767px){
  .pc_only {display:none !important}	
  #fixMenu a:hover{
  }

  #fixMenu .quick_form{
    display:flex;
  }

  #fixMenu .quick_tel{
    display:flex;
  }

  /* 기존 위로가기 숨김 */
  #fixMenu .to_top{
    display:none !important;
  }

  /* 예약 버튼 노출 */
  #fixMenu .btn_reserve{
    display:flex;
    flex:0 0 56px;
    height:56px;
    background:#ff6b3d;
    color:#fff;
    border-radius:50%;
    align-items:center;
    justify-content:center;
    flex-direction:column;
    font-size:11px;
    font-weight:700;
    box-shadow:0 6px 15px rgba(255,107,61,0.4);
  }

  #fixMenu .btn_reserve img{
    width:22px;
    margin-bottom:3px;
    filter:none;
  }

  #fixMenu{
    position:fixed;
    bottom:20px;
    left:50%;
    transform:translateX(-50%);
    right:auto;
    display:flex;
    justify-content:space-between;
    align-items:center;
    width:calc(100% - 32px);
    max-width:380px;
    padding:8px 10px;
    background:rgba(255,255,255,0.85);
    backdrop-filter:blur(12px);
    -webkit-backdrop-filter:blur(12px);
    border-radius:50px;
    box-shadow:0 8px 25px rgba(0,0,0,0.15);
    z-index:999;
    opacity:1 !important;
    visibility:visible !important;
  }

  /* 버튼 공통 */
  #fixMenu a{
    flex:1;
    height:56px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    border-radius:14px;
    background:transparent;
    color:#333;
    font-size:11px;
    font-weight:600;
    transition:all .2s ease;
  }


  /* hover 느낌 */
  #fixMenu a:active{
    background:rgba(0,0,0,0.05);
    transform:scale(0.96);
  }

  /* 버튼 사이 간격 제거 */
  #fixMenu a + a{
    margin:0;
  }

  /* TOP 버튼 */
  #fixMenu .to_top{
    flex:0 0 56px;
    height:56px;
    background:#3ebaae;
    color:#fff;
    border-radius:50%;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:18px;
    box-shadow:0 4px 12px rgba(62,186,174,0.4);
  }

  #fixMenu .to_top:hover{
    background:#35a99f;
  }
}

/* 하단 */
#shGnb .center_list a{
  font-weight:600;
  color:#fff;
  font-size:28px;
  padding:0 20px;
}

#sh_hd.fixed #shGnb .center_list a,
#shGnb.on .center_list a{
  color:#58595b;
}

#shSub{
  background-image:linear-gradient(rgb(0, 0, 0, 0.6), rgb(0, 0, 0, 0.6)), url(/img/sub_bg.jpg) !important;
  position:relative;
}

#shGnb .sh_logo img{
  content:url(/img/logo.svg) !important;
}

/* 스크롤 픽스(fixed) 또는 hover(on)면 블랙 */
#sh_hd.fixed #shGnb .sh_logo img,
#shGnb.on .sh_logo img{
  content:url(/img/logo_black.svg) !important;
}

/* 상단 */
#shSub .txt_area{
  text-align:center;
  margin:0;
}

#shSub .txt_area p{
  position:relative;
  display:inline-block;
  padding-bottom:14px;
}

/* 흰색 바 */
#shSub .txt_area p::after{
  content:'';
  position:absolute;
  left:50%;
  bottom:0;
  transform:translateX(-50%);
  width:48px;
  height:4px;
  background:#fff;
  border-radius:4px;
}

:root{
  --primary:#3ebaae;
  --main-size:1560px;
  --k-font:'Pretendard';
  --e-font:'play';
}

#inc04 .bnr{
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  height:400px;
  border-radius:30px;
  color:#fff;
  text-align:center;
  background:url(./img/bnr_img.jpg) no-repeat center;
  background-size:cover;
}

#mainVisual{
  position:relative;
}

#mainVisual .main_bnr{
  position:relative;
  margin:auto;
  width:100%;
  height:100vh;
  background:#111;
}

#mainVisual .main_bnr:after{
  position:absolute;
  z-index:10;
  content:'';
  top:0;
  left:0;
  width:100%;
  height:100vh;
  background:rgba(0,0,0,.5);
}

#mainVisual .main_bnr .bg01{
  background-image:url(/img/main_banner01.jpg);
}

#mainVisual .main_bnr .bg02{
  background-image:url(/img/main_banner02.jpg);
}

#mainVisual .main_bnr .bg03{
  background-image:url(/img/main_banner03.jpg);
}

#mainVisual .main_bnr .bg{
  width:100%;
  height:100vh;
  transform:skewX(3deg);
  transition:all 1.2s cubic-bezier(0.165, 0.840, 0.440, 1);
  background-size:cover;
}

#mainVisual .main_bnr li.on .bg{
  opacity:1;
  transform:skewX(0);
}

#sh_hd{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  z-index:1000;
  transition:background 0.3s ease, box-shadow 0.3s ease;
}

#sh_hd .sh_nav > ul > li > a{
  color:#fff;
}

/* 스크롤 후 고정된 헤더 */
#sh_hd.fixed{
  position:fixed;
  background:#fff;
  box-shadow:0 2px 10px rgba(0,0,0,0.08);
}

/* 스크롤 후 1차 메뉴 색상 */
#sh_hd.fixed .sh_nav > ul > li > a{
  color:#000;
}

.call-wrap{
  position:relative;
  display:inline-block;
}

/* 전화상담 버튼 */
.call-btn{
  background:#3ebaae;
  border-radius:5px;
  padding:10px 20px;
  font-size:18px;
  color:#fff;
  font-weight:600;
  cursor:pointer;
  width:215px;
  text-align:center;
}

/* 펼쳐지는 리스트 */
.call-list{
  position:absolute;
  top:calc(100% + 8px);
  left:0;
  min-width:100%;
  background:#fff;
  border-radius:5px;
  box-shadow:0 4px 12px rgba(0,0,0,0.15);
  overflow:hidden;
  display:none;
  z-index:50;
}

.call-list ul{
  list-style:none;
  margin:0;
  padding:8px 0;
}

.call-list li{
  border-bottom:1px solid #f1f1f1;
}

.call-list li:last-child{
  border-bottom:none;
}

/* 링크 레이아웃 */
.call-list ul li a{
  display:flex;
  align-items:flex-start;
  gap:6px;
  padding:10px 8px;
  font-size:15px;
  color:#2a2a2a;
  text-decoration:none;
}

.call-list ul li a:hover{
  background:#f6fdfb;
  color:#3ebaae;
}

/* 센터명 */
.call-list ul li a .center{
  flex:0 0 85px;
  font-size:15px;
  font-weight:600;
  line-height:1.4;
}

/* 다중 전화번호 */
.call-list ul li a .tel-wrap{
  flex:1 1 auto;
  min-width:0;
  display:flex;
  flex-direction:column;
  gap:2px;
}

/* 전화번호 */
.call-list ul li a .tel{
  display:block;
  font-size:14px;
  color:#555;
  letter-spacing:0.3px;
  line-height:1.4;
  white-space:normal;
}

/* hover 시 텍스트 색상 유지 */
.call-list ul li a:hover .center,
.call-list ul li a:hover .tel{
  color:#3ebaae;
}

/* 닫기 */
.call-close{
  text-align:center;
  padding:10px 0;
  font-size:14px;
  cursor:pointer;
  background:#f7f7f7;
}

#m_logo{
  display:flex;
  align-items:center;
  gap:10px;
}

#m_logo img{
  display:block;
  height:40px;
}

.m_center a{
  font-size:24px;
  font-weight:600;
  color:#fff;
  line-height:40px;
}

/* 기본 (PC 유지) */
.location-wrap{
  position:absolute;
  top:80%;
  left:50%;
  transform:translate(-50%, -50%);
  width:100%;
  max-width:1064px;
  padding:0 16px;
  box-sizing:border-box;
  z-index:20;
}

.location-list{
  display:flex;
  justify-content:center;
  align-items:center;
  flex-wrap:wrap;
  gap:10px;
}

.location-list a{
  display:block;
  text-decoration:none;
}

.loc-item{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:44px;
  padding:10px 16px;
  background:#fff;
  border:1px solid #e5e5e5;
  border-radius:8px;
  font-size:14px;
  font-weight:600;
  color:#333;
}

/* 모바일 핵심 수정 */
@media (max-width:767px){
  .location-wrap{
    position:relative;
    top:auto;
    left:auto;
    transform:none;
    max-width:none;
    width:100%;
    margin:0 auto;
    padding:0 12px;
  }

  .location-list{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
    justify-content:flex-start;
  }

  .location-list a{
    flex:0 0 calc(50% - 4px);
    max-width:calc(50% - 4px);
  }

  .loc-item{
    width:100%;
    min-height:42px;
    padding:10px 12px;
    font-size:13px;
    text-align:center;
    white-space:normal;
  }
}

.company-down-wrap {
    display: flex;
    gap: 16px;           
    width: 96%;          
    margin: 0 auto;      
}

.company-down-btn-wrap {
    flex: 1;
}

.company-down-btn {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    height: 56px;
    background: #3ebaae !important;
    color: #fff;
    border-radius: 8px !important;
    font-size: 14px;
    font-weight: 600;
    text-align: center;
}

@media (max-width: 767px) {
    .company-down-wrap {
        flex-direction: column;
        width: 100%;
        margin: 0 auto;
    }
}