@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; padding-top:150px}
		h3.guide {font-size:2em; margin-bottom:20px }
		.bg_img {display:none}

}
.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)}


@media all and (max-width:800px) {
	 .sub_nav { flex-wrap: nowrap; overflow-x: auto; overflow-y: hidden; gap: 20px; }
	.sub_nav li { white-space: nowrap; font-size: 16px; flex: 0 0 auto; }
	.sub_nav li:after { bottom: 0; }
}

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

.about1 .con_flex {gap:50px}
.about1 .img_box {width:500px; flex-shrink:0; padding:70px; display:flex; align-items:center; justify-content:center; box-sizing:border-box; height:500px; background:url('/common/img/about1_img.png') no-repeat; background-size:cover}
.about1 .t1 {font-size:1.6em; font-weight:600}
.about1 .t2 {line-height:1.6}

/**/

.about2 .t1 {font-size:1.6em;  font-weight:600; text-align:center; margin-bottom:30px}
.about2 .img_box {width:300px;  height:170px;  flex-shrink:0; padding:70px; display:flex; align-items:center; justify-content:center; box-sizing:border-box; background: linear-gradient(to right, #D94559 0%, #883F96 50%, #393BF3 100%); margin:0 auto}
.about2 .img_box img {max-width:150px}
.organization {width:100%; gap:20px; display:flex; margin-top:30px; position:Relative; justify-content:space-between }
.organization:after {content:''; width:calc(100% - 18%); height:1px; background-color:#333; display:inline-block; position:absolute; left:9%; top:0}
.organization:before {content:''; width:1px; height:60px; background-color:#333; display:inline-block; position:absolute;  left:50%;  top:-30px}

.organization li {width:18%; padding:20px 0;  background-color:#333; text-align:center; position:relative; margin-top:30px}
.organization li:before {content:''; width:1px; height:30px; background-color:#333; display:inline-block; position:absolute; left:50%; top:-30px}


@media all and (max-width:800px) {
		.organization:after {width:calc(50% + 5px); left:calc(25% - 2px)}
		.organization:before {  height:30px;  }
		.organization {flex-wrap:wrap; gap:0}
		.organization li {width:48%; }



}


.con_wrap {margin-top:40px}

/**/


.about3 .t1 {font-size:1.06em; font-weight:400}
.about3 .info_dl b {width:120px; flex-shrink:0}
.about4 .t1 {font-size:1.5em; font-weight:500;}
.about4 .t2 {font-size:1.2em; }


@media all and (max-width:800px) {
		.about1 .img_box {width:100%; height:300px}
		.about2 .img_box {width:100%; height:150px}
		.about3 .info_dl dd .flex {flex-wrap:nowrap}


}

/* =========================
  공연캘린더
========================= */
#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:#ffb096; }
#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); }


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

   .calTitle {font-size:23px}
}
.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 }


@media all and (max-width:800px) {
	.rental2 .step {margin-top:20px}
	.rental2 .step li {width:35vw; height:35vw; font-size:16px}


}
.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; }
.section-head h4 {margin-bottom:0}
.palette-set { margin-top:100px; }
.palette-set:last-child {border-bottom:0;padding-bottom:0}

 

.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; background: var(--grad-bg); }
.grad-labels { position:absolute; inset:0; display:flex; align-items:center; justify-content:space-between; font-size: 18px; font-weight: 500; color:#111; opacity: .95; pointer-events:none; }
.grad-labels span {width:25%; text-align:center}

.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; background: var(--sub); }
.dot.point { background: var(--point); }


 @media all and (max-width:800px) {
	.palette-set { flex-wrap:wrap }
	.palette-set .right_area {width:100%}
	.swatches {display:flex; flex-wrap:wrap; gap:0; justify-content:space-between }
	.swatch-box {height:80px; font-size:1.1em}
	.stop p {font-size:13px}
	.dot {width:15px; height:15px}
}





 

.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:25px;
  height:25px;
  border-radius:50%;
  background-color:var(--main_c);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:17px;
  font-weight:300;
  border:none;
  cursor:pointer;
  z-index:2;
}
.stage button span {display:none}

/* 툴팁 */
.stage button::before {
  content: attr(data-tooltip);
  position: absolute;
  bottom: 130%;
  left: 50%;
  transform: translateX(-50%);
  background: #111;
  color: #fff;
   padding: 6px 10px;
  font-size: 12px;
  border-radius: 6px;
  white-space: nowrap;
  opacity: 0;
  pointer-events: none;
  transition: 0.2s;
}

/* 화살표 */
.stage button::after {
  content: "";
  position: absolute;
  bottom: 120%;
  left: 50%;
  transform: translateX(-50%);
  border-width: 5px;
  border-style: solid;
  border-color: #111 transparent transparent transparent;
  opacity: 0;
  transition: 0.2s;
}

/* hover 시 */
.stage button:hover::before,
.stage button:hover::after {
  opacity: 1;
}

/* 퍼지는 링 효과 */
.stage button::after {
  content:"";
  position:absolute;
  top:50%;
  left:50%;
  width:100%;
  height:100%;
  border-radius:50%;
  background:var(--main_c);
  transform:translate(-50%, -50%);
  opacity:0.6;
  z-index:-1;
  animation:pulse 1.6s infinite;
}

/* 애니메이션 */
@keyframes pulse {
  0% {
    transform:translate(-50%, -50%) scale(1);
    opacity:0.6;
  }
  70% {
    transform:translate(-50%, -50%) scale(2.2);
    opacity:0;
  }
  100% {
    opacity:0;
  }
}

/* hover 효과 */
.stage button:hover {
  transform:scale(1.2);
  transition:0.2s;
} 
.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; 
}

@media all and (max-width:800px) {
	.stage div.box {width:100%}
	.stage button {width:20px; height:20px}
.layer_caption {font-size:1.1em}

}
.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}
 

 @media all and (max-width:800px) {
		.map_wrap  {flex-wrap:wrap; }
		.map_wrap > div {width:100%}
		#daumRoughmapContainer1772690011605 {height:300px !important; width:100% !important}
.map_wrap dl.basic dt {width:100%}

}