@charset "utf-8";


.sub_con {width:100%; padding-top:200px;  padding-bottom:200px; margin:0 auto;  font-size:17.5px; color:#fff;  font-weight:300; line-height:1.4; overflow:hidden; position:relative; }
.con_wrap {line-height:1.6;}
.bg_img {z-index:-9;  opacity:.2;  filter: grayscale(100%); position:fixed; left:0; top:0}
h3.guide {font-size:2.3em; margin-top:5px;  margin-bottom:40px; position:Relative; z-index:9}

hr.sub_hr {height:100px}
 
.sub_con img {max-width:100%}
.sub_con h4 {font-size:1.3em; font-weight:600; margin-bottom:5px}

@media all and (max-width:800px) {
		.sub_con {font-size:15px; padding-bottom:100px}
		h3.guide {font-size:2em; }

}
.sub_nav  {border-bottom:1px solid rgba(255,255,255,.3); gap:35px; margin-bottom:80px}
.sub_nav li {position:relative; font-weight:400; font-size:18px; line-height:55px; cursor:pointer; opacity:.8}
.sub_nav li:after {width:0; content:''; z-index:99; position:absolute; left:50%; bottom:-1px; height:2px; display:inline-block; background-color:#fff;  transition: all 0.3s ease-out;}
.sub_nav li:hover:after {width:100%; left:0  }
.sub_nav li.ov {color:var(--main_c); opacity:1; font-weight:600}
.sub_nav li.ov:after {width:100%; content:''; z-index:99; position:absolute; left:0; bottom:-1px; height:2px; display:inline-block; background-color:var(--main_c)}

.basic_t {font-size:1em; line-height:1.6}

 
/* =========================
   공연캘린더
========================= */
#showCalendar{
  display:block;
  width:100%;
  margin:50px auto 0;
}
#showCalendar a {color:#fff}
 
   
/* 요일 헤더 */
#showCalendar .calendarArea ul.calWeek{
  clear:both;
  display:flex;
  position:relative;
  width:100%;
  border-collapse:separate;
  
}

/* 날짜 리스트 공통 */
#showCalendar .calendarArea ul{
  clear:both;
  position:relative;
  display:flex;
  flex-wrap:wrap;
  width:100%;
  border-collapse:separate;
  
}

#showCalendar .calendarArea ul li{
   position:relative;
   width:14.3%;
  padding:12px; 
  box-sizing:border-box; 
  border:1px solid rgba(255,255,255,.3);
  margin:-1px; 
    vertical-align:top;
  background:rgba(0,0,0,0.8);
  min-height:150px; 
  
}
#showCalendar .calendarArea ul.calWeek li {min-height:auto}
#showCalendar .calendarArea ul li > a{
  position:relative;
  display:block;
  width:100%;
  min-height:140px;
 }

 
/* 오늘 */
#showCalendar .calendarArea ul li.today{
  background:rgba(255,255,255,0.1);
 }

 
/* 빈 날짜 */
#showCalendar .calendarArea ul li.dateNone{
  width:135px;
  min-height:150px;
  background:rgba(255,255,255,0.1);
  border-color:transparent !important; /* ✅ 오타 수정: bord er-color */
}

 
/* 라인(표시용) */
#showCalendar .calendarArea ul li .line{
  display:none;
  position:absolute;
  background:#d3364a;
}
#showCalendar .calendarArea ul li.today .line{ display:block; }

#showCalendar .calendarArea ul li.over {cursor:pointer}
#showCalendar .calendarArea ul li.over:hover:after {content:'대관신청'; position:absolute; left:0; top:50%; margin-top:-10px;  width:100%; text-align:center}


/* 셀 상단 우측 */
 

#showCalendar .calendarArea .cnt{
  position:relative;
  font-size:.90em;   
  
}

 
 
#showCalendar .calendarArea .close{
  padding-top:3px;
  
  color:#1d1f21;
}

/* 상태 뱃지 */
#showCalendar .calendarArea .reservation,
#showCalendar .calendarArea .hallRent,
#showCalendar .calendarArea .uplusRent{
  display:inline-block;
  padding:6px 15px;
  font-size:15px;
  position:absolute;
  right:0px;
  top:-1px;
  z-index:99;

  
  
}

 
#showCalendar .calendarArea .reservation.sketch{ width:62px; }

#showCalendar .calendarArea .hallRent.color1 { text-align:center; color:#000; background:#ee7e40; }
#showCalendar .calendarArea .hallRent.color2 { text-align:center; color:#000; background:#f08b6a; }
#showCalendar .calendarArea .hallRent.color3 { text-align:center; color:#fff; background:#1a1a1a; }


#showCalendar .calendarArea .hallRent > a{ color:#fff; }
#showCalendar .calendarArea .hallRent.sketch{ width:62px; }
 
#showCalendar .calendarArea .uplusRent > a{ color:#fff; }
#showCalendar .calendarArea .uplusRent br{ display:block; }
#showCalendar .calendarArea .uplusRent.sketch{ width:62px; }

#showCalendar .calendarArea .day{ color:#CCC; }

#showCalendar .calendarArea .showTime{
  margin:5px 0 0;
   color:#919394;
   font-weight:400;
   font-size:.90em;
   line-height:1.2;
}

 
 @media all and (max-width:800px) {
	#showCalendar .calendarArea ul.calWeek {display:none}
	#showCalendar .calendarArea ul li {width:100%; min-height:90px}
	#showCalendar .calendarArea ul li.empty {display:none}
 }



/* =========================
   대관배너
========================= */
.show_rent{
  clear:both;
  position:relative;
  width:auto;
  height:auto;
   padding:0;
  background:transparent;
}

.show_rent .bn_rent_01{
  position:relative;
  width:100%;
  margin:0 auto;
  padding:40px 0 0;
  text-align:center;
}

.show_rent .bn_rent_01 img{
  width:100%;
  max-width:100%;
}
 
.calHead{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
   margin-bottom:30px;
}

.calTitle{
  color:#fff;
  font-weight:600;
  letter-spacing:0px;
  font-size:30px;
  margin:0 15px; 
}
.calTitle .dot{ opacity:.6; margin:0 0px; }
.calTitle .mm{ color:#fff; }

.calNav{
  width:42px;
  height:42px;
  border-radius:5px;
  border:1px solid #fff;
   color:#fff;
  font-size:22px;
    display:flex;
  align-items:center;
  justify-content:center;
   transition:.18s ease;
}

 
.calNav:active{ transform:translateY(0); }

.rental2 .flex h4 {width:250px; font-size:1.5em; flex-shrink:0; padding-right:50px; box-sizing:border-box}
.rental2 h5 {color:#fff; font-size:1.1em;  margin-bottom:10px}
.rental2 hr {height:70px}
.rental2 .flex h4 + div {width:100%;  }
 
.rental2 dl dt {font-weight:700; margin-bottom:4px}
.rental2 ul.basic {display:flex; flex-direction:column; gap:8px}
.rental2 ul.basic li {display:flex; gap:10px; color:#eee; font-size:.93em }
.rental2 ul.basic li:before {content:'*'}
.rental2 ul.basic li p:before {content:'-'}


.rental2 .step {gap:30px}
.rental2 .step li {width:130px; text-align:center;  box-sizing:border-box;  border-radius:50%; height:130px; display:flex; align-items:center; justify-content:center; position:relative; background: linear-gradient(146deg, rgba(255, 255, 255, 0.16) 0%, transparent 60%, transparent 100%);  font-size:17px;  transition: all .4s ease;}
.rental2 .step li:after {content:'1'; position:absolute; right:-30px; line-height:150px; width:30px; text-align:center;  content:'\f105'; font-family:"Font Awesome 5 Free";   font-weight:600;  }
.rental2 .step li:last-child:after {display:none}
.rental2 .step li b {font-size:16px; font-weight:400; display:none }
 .rental2 .step li.ov { border:2px solid var(--main_c); transform:scale(1.1); color:var(--main_c); font-weight:600;  border:2px solid var(--main_c); }
 .rental2 .step li.ov:after { color:#fff; right:-27px }

.palette-set { margin-top:100px;    display:flex; align-items:flex-start; gap:50px }
.palette-set .right_area {width:65%; flex-shrink:0}
.palette-set:first-child { margin-top:0; }
.palette-set:last-child{border-bottom:0;padding-bottom:0}

.swatches{ display:grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 48px; align-items:start; }
.swatch-card{text-align:left}
.swatch-box{ height: 160px; border-radius: 2px; display:flex; align-items:center; justify-content:center; font-size: 28px; font-weight: 500; background:#fff; }
.swatch-box.lightText{color:#fff;border:0}
.swatch-box.darkText{color:#111}

.swatch-meta{ margin-top: 18px; line-height:1.3; color:#eee; font-size:.93em }
.swatch-meta b {font-weight:500 }

.section-head { margin-top: 34px; display:flex; align-items:flex-end; justify-content:space-between; gap: 12px; }
 

.grad-area{
	margin-top: 18px;
	background:#f4f4f4;
	padding: 24px 18px 18px;
	border-radius: 4px;
}
.grad-bar{
	height: 56px;
	border-radius: 4px;
	position: relative;
	overflow:hidden;
	 
}
.grad-labels{
	position:absolute;
	inset:0;
	display:flex;
	align-items:center;
	justify-content:space-between;
	padding: 0 46px;
	font-size: 18px;
	font-weight: 500;
	color:#111;
	opacity: .95;
	pointer-events:none;
}

.stops {margin-top: 18px; display:grid; grid-template-columns: repeat(4, 1fr); gap: 12px; }
.stop {text-align:center}
.stop p { margin:0; line-height:1.5; font-size: 16px; color:#222; }
.dot { width: 28px; height: 28px; border-radius: 50%; margin: 0 auto 10px;  }
 

.stage {position:relative; width:100%; display:flex;   box-sizing:border-box }
.stage  div.box {width:55%; position:relative}
.stage .box{ display:none; }
.stage .box:first-child{ display:block; }

.stage img{width:100%}
.stage button {position:absolute; width:33px; border-radius:50%;   height:33px; background-color:var(--main_c); color:#fff; display:flex; align-items:center; justify-content:center; font-size:17px; font-weight:300}
.stage  h3 {height:50px;  }
.button_wrap {width:100%; height:calc(100% - 50px); position:absolute; top:50px;  }

/* 팝업 */
.layer_popup{
  position:fixed;
  inset:0;
  z-index:99999999999999999999;
  display:none;
}

.layer_popup.is_open{ display:block; }

.layer_dim{
  position:absolute;
  inset:0;
  background: rgba(0,0,0,.9);
}

.layer_inner{
  position:absolute;
  left:50%;
  top:50%;
  transform: translate(-50%, -50%);
  width:90vw; 
  max-width:900px; 
  max-height: 90vh;
  overflow-y:auto; 
  }

.layer_close{
  position:absolute;
  right:0;
  top:0;
  width:42px;
  height:42px;
  border:0;
  background: rgba(255,255,255,.12);
  color:#fff;
  border-radius:10px;
  cursor:pointer;
  font-size: 26px;
  line-height: 1;
}

 
 
#seatPopupImg{
  width:100%;
  height:auto;
  display:block;
 }

.layer_caption{
	color:#fff;
	text-align:Center; 
	box-sizing:border-box; 
	font-size:1.5em;
	line-height:1.4;
	font-weight:500; 
	margin-top:15px; 
}
.link_list {gap:20px; flex-wrap:wrap}
.link_list li  {width:calc(16% - 9px);  box-sizing:border-box;  padding:20px; border:1px solid #666;   position:relative;  transition: all 0.3s ease;  min-height:9vw;}
.link_list li a {width:100%; display:flex; align-items:center; justify-content:center; height:100%}
.link_list li a span { display:inline-block; color:#fff; font-size:1em; text-align:center; width:100%;   box-sizing:border-box;   }
.link_list li:before {
content:''; 
	 background:url('/common/img/arrow.svg') no-repeat;
	 background-size:100%; 
	width:30px; height:30px; 
	position:Absolute; right:10px; top:10px;
	z-index:99; 
	transform: rotate(45deg);  
	opacity:0;
	transition: all 0.3s ease;

}
.link_list li:hover {background: linear-gradient(146deg, rgba(255, 255, 255, 0.16) 0%, transparent 60%, transparent 100%); border:1px solid #fff}
.link_list li:hover:before {opacity:1}

 @media all and (max-width:1300px) {

  .link_list li  {width:calc(33% - 11px); min-height:auto; }

}
 @media all and (max-width:800px) {
		.link_list {flex-wrap:wrap; gap:10px 0; justify-content:space-between}
		.link_list li {width:49%; }
		.link_list li:before  {display:none}
}

.scroll {width: auto; height:150px; margin: 0px auto 0 auto; font-size:.9em; padding: 10px; color: #fff; margin-top:10px;  border: 1px solid #666;  overflow-y: auto;  }

.map_wrap {gap:50px; display:flex}
.map_wrap dl.basic dt  {width:130px; font-size:1.1em; font-weight:500}
.map_wrap dl.basic dd  {color:#eee; margin-top:2px; font-size:.9em}
 