@charset "UTF-8";
* {
  box-sizing: border-box;
}
body{position:relative; line-height: 1.6;}

#ui-datepicker-div {
  display: none;
}

#wrap{min-width:1200px; min-height:100dvh; display: flex; flex-direction: column;}

img {
  width: 100%;
  vertical-align : top;
}
a:hover {
  outline: 0;
  text-decoration: none;
}
/* CONTENT */
#content {
  display: flex;
  justify-content: center;
  margin-top: 80px;
  min-height: calc(100vh - 424px);
  margin-bottom: 100px;
}
#content .content-wrap {
  width: 100%;
  max-width: 1000px;
}

#content .quick-menu{position: absolute;left: 50%;top: 121px;margin-left: -737px;width: 127px;height: 360px;background: url('../images/etc/quick_call.png')  0 0 no-repeat;}
#content .sns{position: absolute;right: 50%;top: 90px;margin-right: -684px;width: 74px;height: 430px;background: url(../images/etc/quick_sns.png) 0 0 no-repeat; }
#content .sns a{display: block;width: 74px;font-size: 0;}
#content .sns .instagram{height: 74px;}
#content .sns .blog{height: 76px;}
#content .sns .btn-top{height: 27px;}

/* FOOTER */
#footer{height: 50px;text-align: center;}
#footer .links{display: inline-block;}
#footer .links a{display: inline-block;margin-right: 9px;line-height: 50px;color: #777;font-size: 12px;font-weight: 500;}
#footer .copyright{line-height: 50px;color: #777;font-size: 12px;font-weight: 500;}

/* 레이어 팝업 */

.required {padding-bottom:10px;}
.pop{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
  display:none;
  z-index: 1000; 
}
.pop .bg{position:fixed;top:0;left:0;width:100%;height:100%;background:#000;opacity:.58;filter:alpha(opacity=58);}
.popup-box{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}

/* 간편상담 팝업 */
div.checker span.checked {
	background-size: cover;
}
#companyPop .counsel-icon {
  display: inline-block;
  width: 24px;
  height: 24px;
}
#companyPop .popup-box {
	position:fixed;
	top: 50%;
	left: 50%;
	display: flex;
	flex-direction: column;
	margin: 0;
	width: 100%;
  height: auto;
	max-width: 600px;
	border-radius: 12px;
	transform: translate(-50%,-50%);
	background-color: var(--gray-light);
}
/* 예약문의 - 상단 고정 헤더 */
#companyPop .popup-box .counsel-header {
	position: sticky;
	top: 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	background: #fff;
	z-index: 10;
}
#companyPop .popup-title-area {
	position: relative;
	padding: 20px 0;
	width: 100%;
}
#companyPop .btn-pop-close {
	position: absolute;
	top: 50%;
	left: auto;
	right: 20px;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 30px;
	height: 30px;
	color: #000;
	transform: translateY(-50%);
	background-color: #fff;
}
#companyPop .btn-close-img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
#companyPop .popup-title-area h3{
	padding-top: 0;
	line-height: 47px;
	color: #292929;
	font-size: 26px;
	font-weight: 500;
	text-align: center;
}
#companyPop h2, #companyPop p {
	margin: 0;
}
#companyPop .fold-btn {
	position: absolute;
	left: 20px;
	top: 50%;
	display: flex;
	align-items: center;
	padding: 4px 6px 4px 1px;
	color: var(--text-light);
	border: 1px solid var(--line-strong);
	border-radius: 6px;
	font-size: 18px;
	cursor: pointer;
	transform: translateY(-50%);
	z-index: 1;
}
/* 예약문의 - 예약과정 UI */
#companyPop .progress-box {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 10px 0;
	width: 100%;
	height: auto;
	border-bottom: 1px solid var(--gray-light);
	background-color: #fff;
}
#companyPop .progress-step {
	position: relative;
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 4px;
	font-size: 16px;
	text-align: center;
}
#companyPop .progress-step::after {
	content: '';
	position: absolute;
	top: 25px;
	left: calc(50% + 30px);
	width: calc(100% - 60px);
	height: 2px;
	background: var(--line-strong);
}
#companyPop .progress-step:last-child::after {
	display: none;
}
#companyPop .progress-step.active, #companyPop .progress-step.done {
	color: var(--app-primary);
}
#companyPop .progress-step.active::after, #companyPop .progress-step.done::after {
	background: var(--app-primary);
}
#companyPop .step-icon {
	display: flex;
	justify-content: center;
	align-items: center;
	width: 50px;
	height: 50px;
	font-size: 20px;
	color: var(--text-light);
	border: 1px solid var(--line-strong);
	border-radius: 50%;
}
#companyPop .progress-step.active .step-icon {
	color: var(--app-primary);
	border: 2px solid var(--app-primary);
}
#companyPop .progress-step.done .step-icon {
	position: relative;
	color: transparent;
}
#companyPop .progress-step.done .step-icon::after {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	width: 50px;
	height: 50px;
	transform: translate(-50%, -50%);
	background: url('/@resource/images/event/check_circle.svg') no-repeat center;
	background-size: contain;
}
/* 예약문의 - 안내문구 공용 UI */
#companyPop .text-title {
	display: flex;
	align-items: center;
	gap: 6px;
	margin-bottom: 10px;
	font-weight: bold;
}
#companyPop .text-content {
	padding-left: 10px;
}
#companyPop .popup-text-link {
  font-weight: 600;
	color: var(--app-third);
}
#companyPop .popup-text-link:hover {
  color: var(--app-primary);
}
#companyPop .popup-text-wrap {
	margin: 10px 0;
	padding: 10px;
	font-size: 18px;
	border: 1px solid var(--app-primary);
	background-color: var(--primary-light);
}
#companyPop .popup-text-wrap .text {
	padding: 0;
	width: 100%;
}
#companyPop .popup-text-wrap.living-out-text {
	display: none;
}
#companyPop .addr-info-box {
	margin: 10px 0;
	padding: 10px;
	font-size: 16px;
	border: 1px solid #ffab3b;
	background-color: #ffeeb4;
}
#companyPop .addr-info-box .text-bold {
	font-weight: 600;
}
#companyPop .addr-info-box p {
	margin-bottom: 0 !important;
}
/* 예약문의 - form */
#companyPop button:focus {
	outline: none;
}
#companyPop .error-msg, #companyPop .text-caution {
	color: var(--color-error) !important;
	margin-bottom: 0;
}
#companyPop #counselForm {
	flex: 1;
	display: flex;
	flex-direction: column;
	min-height: 0;
}
#companyPop .step-wrap {
	flex: 1;
	overflow-y: auto;
}
#companyPop .step {
	display: none;
	height: 100%;
}
#companyPop .step.active {
	display: block;
}
#companyPop .step-3.step.active, #companyPop .step-4.step.active {
	display: flex;
	flex-direction: column;
}
#companyPop .section-container {
	flex: 1;
	display: flex;
	flex-direction: column;
	gap: 20px;
	height: 100%;
	background-color: var(--gray-light);
}
/* 예약문의 - form section */
#companyPop .section {
	width: 100%;
	background-color: #fff;
}
#companyPop #counselForm .section {
	padding: 10px 20px;
	box-shadow: 0 2px 6px rgba(0,0,0,0.1);
}
#companyPop .label-checker {
	margin-bottom: 0;
	font-weight: 400;
	color: #000;
}
#companyPop .label-checkbox {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2px;
	padding: 2px 10px;
	font-size: 16px;
	border-radius: 12px;
	background-color: var(--gray-light);
	cursor: pointer;
}
#companyPop .p-section {
	flex: 1;
}
#companyPop .section-title{
	display:flex;
	flex-direction: column;
	padding: 14px 0;
}
#companyPop .section-title .title-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
}
#companyPop .section-title h2 {
	font-size: 20px;
	font-weight: 600;
}
#companyPop .section-title p {
	color: var(--text-light);
	font-size: 16px;
}
#companyPop .form-field {
	display: flex;
	align-items: baseline;
	padding: 5px 0;
}
#companyPop #lived-out-field {
	display: none;
}
#companyPop .field-label {
	width: 100%;
	max-width: 120px;
	color: var(--app-black);
	font-size: 16px;
}
#companyPop .form-field--textarea {
	display: flex;
	flex-direction: column;
	gap: 10px;
	padding: 5px 0;
}
#companyPop .form-field--textarea textarea {
	width: 100%;
	height: 100px;
	padding: 10px;
	border: 1px solid var(--line-strong);
	border-radius: 6px;
	font-size: 18px;
}
#companyPop .form-field .insert {
	width: 100%;
}
/* 예약문의 - form input UI */
#companyPop .form-field input:not([type="radio"]) {
	width: 100%;
	padding: 10px;
	border-radius: 6px;
	border: 1px solid var(--line-strong);
	font-size: 16px;
}
#companyPop .user-section .form-field input[type="text"]:read-only {
	color: var(--text-light);
	background-color: var(--gray-light);
}
#companyPop .form-field .insert .input-text {
	color: var(--app-third);
	font-size: 14px;
}
/* 예약문의 - form radio UI */
#companyPop .radio-group input[type="radio"] {
	display: none;
}
#companyPop .radio-btn {
	display: flex;
	justify-content: center;
	align-items: center;
	margin: 0;
	padding: 10px 16px;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 8px;
	font-size: 16px;
	cursor: pointer;
}
#companyPop .radio-group {
	display: flex;
	gap: 10px;
}
#companyPop .radio-group input[type="radio"]:checked + .radio-btn {
	color: #fff;
	font-weight: 600;
	background: var(--app-primary);
}
/* 예약문의 - form 약관동의 */
#companyPop .popup-box .agreement-section {
	flex: 1;
}
#companyPop .popup-box .agreement-section .agreement {
	margin: 10px 0;
	padding: 20px 15px;
	border: 1px solid var(--line-strong);
	border-radius: 12px;
}
#companyPop .popup-box .agreement-section .agree {
	display: flex;
	justify-content: space-between;
	align-items: center;
	margin-bottom: 0;
	padding: 5px 0;
}
#companyPop .popup-box .agreement-section .agreeAll {
	margin-bottom: 15px;
	padding: 0;
	padding-bottom: 15px;
	border-bottom: 1px solid var(--line-strong);
}
#companyPop .popup-box .agreement-section .agreeAll label.checkAll{
	margin-bottom: 0;
	color: #000;
	font-size: 20px;
	font-weight: 600;
}
#companyPop .popup-box .agreement-section .agree .input-text {
	display: flex;
	align-items: center;
	font-size: 16px;
}
#companyPop .popup-box .agreement-section .agree .input-text label {
	margin-bottom: 0;
}
#companyPop .popup-box .agreement .agree .detail{
	display: inline-block;
	height: 29px;
	line-height: 29px;
	color: var(--text-light);
	font-size: 13px;
	background: url('/@resource/images/bg/line04.gif') left bottom repeat-x;
}
/* 예약문의 - 예약 완료 */
#companyPop .section-complete {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 100px 0;
}
#companyPop .section-complete img {
	width: 140px;
	height: 140px;
}
#companyPop .section-complete .complete-title {
	font-size: 42px;
	font-weight: 600;
}
#companyPop .section-complete .complete-subtitle {
	font-size: 20px;
	color: var(--text-light);
}
#companyPop .section-complete .complete-note {
	font-size: 18px;
	color: var(--app-third);
}
#companyPop .step-4.complete .nav-wrap{
	position: sticky;
	bottom: 0;
	display: flex;
	gap: 10px;
	padding: 20px;
	background: #fff;
	z-index: 10;
}
/* 예약문의 - 하단 버튼 */
#companyPop .fixed-btn {
	position: sticky;
	bottom: 0;
	display: flex;
	gap: 10px;
	padding: 20px;
	background-color: #fff;
	z-index: 10;
}
#companyPop .step-btn {
	padding: 14px;
	width: 100%;
	border-radius: 6px;
	font-size: 20px;
}
#companyPop .prev-btn {
	border: 1px solid var(--line-strong);
	background-color: var(--gray-light);
}
#companyPop .next-btn, #companyPop .nav-home {
	color: #fff;
	background-color: var(--app-third);
}

#counselPop333 .popup-box{width: 550px;height: 610px;background-color: #fff;border-radius: 10px;-webkit-border-radius: 10px;left: 50%;margin:0; top:0; transform:translate(-50%,0);}
#counselPop333 .popup-box h3{padding-top: 28px;line-height: 47px;font-size: 24px;color: #292929;font-weight: 700;text-align: center;}
#counselPop333 .popup-box .text{line-height: 20px;font-size: 14px;color: #767676;text-align: center;}
#counselPop333 .popup-box .input-area{padding: 27px 40px 0;}
#counselPop333 .popup-box .text-wrap{position: relative; margin-top:10px;}
#counselPop333 .popup-box .text-wrap label{display: inline-block;position: relative;padding-right: 6px;line-height:45px;font-size: 14px;}
#counselPop333 .popup-box .text-wrap label span{color:red; font-size:11px;}
#counselPop333 .popup-box .text-wrap .insert{position: absolute;left: initial; right:0;top: 0;width: 300px;line-height:45px;color: #cacaca;color: #292929;}
#counselPop333 .popup-box .text-wrap .insert input[type="text"]{width: 100%;padding-left: 8px;border: 0 none;border-bottom: 1px solid #ccc;box-sizing: border-box;-webkit-box-sizing: border-box;height: 45px;outline: none;}
#counselPop333 .popup-box .text-wrap .selector{width: 300px !important;height: 40px;background: url('../images/bg/select02.gif') right top no-repeat; position:absolute; right:0; font-size:14px!important;}
#counselPop333 .popup-box .agreement{padding-top: 18px;}
#counselPop333 .popup-box .agreement .agree{margin-bottom: 11px;overflow: hidden;}
#counselPop333 .popup-box .agreement .agree .input-text{float: left;height: 29px;line-height: 29px;}
#counselPop333 .popup-box .agreement .agree .input-text label{font-size: 14px;color: #777;}
#counselPop333 .popup-box .agreement .agree label span{color: #bd081b;}
#counselPop333 .popup-box .agreement .agree .detail{float: right;display: inline-block;height: 29px;line-height: 29px;font-size: 13px;color: #000;background: url('../images/bg/line04.gif') left bottom repeat-x;}
#counselPop333 .popup-box .btn-area{position: absolute;bottom: 0;width: 100%;height: 55px;overflow: hidden;background-color: #353a40;border-bottom-left-radius: 10px;-webkit-border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;-webkit-border-bottom-right-radius: 10px;}
#counselPop333 .popup-box .btn-area:after{content: '';display: block;position: absolute;left: 244px;top: 10px;width: 2px;height: 31px;background: url('../images/bg/line05.gif') left top no-repeat;}
#counselPop333 .popup-box .btn-area a{display: block;float: left;width: 50%;height: 55px;background-color: #353a40;}
#counselPop333 .popup-box .btn-area a.pop-close{background: url('../images/ico/pop_close.gif') center center no-repeat;-webkit-border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;}
#counselPop333 .popup-box .btn-area a.pop-check{background: url('../images/ico/pop_check.gif') center center no-repeat;border-bottom-right-radius: 10px;-webkit-border-bottom-right-radius: 10px;}

/* 전화상담 팝업 */
#callPop .popup-box,
#callPop2 .popup-box{
  width: 396px;
  height: 413px;
  background-color: #fff;
  border-radius: 10px;
  -webkit-border-radius: 10px;
  margin:0;
}
#callPop .popup-box{
  position:absolute;
  top:50%;
  left:50%;
  transform: translate(-50%,-50%);
}
#callPop2 .popup-box{left: 0;}
#callPop .popup-box h3,
#callPop2 .popup-box h3{padding-top: 60px;line-height: 40px;font-size: 24px;color: #292929;font-weight: 700;text-align: center;}
#callPop .popup-box .text,
#callPop2 .popup-box .text{padding-top: 16px;line-height: 20px;font-size: 14px;color: #767676;text-align: center;}
#callPop .popup-box .number,
#callPop2 .popup-box .number{padding-top: 27px;line-height: 40px;font-size: 30px;color: #0066cb;font-weight: 700;text-align: center;}
#callPop .popup-box .btn-area,
#callPop2 .popup-box .btn-area{position: absolute;bottom: 0;width: 100%;height: 55px;overflow: hidden;background-color: #353a40;border-bottom-left-radius: 10px;-webkit-border-bottom-left-radius: 10px;border-bottom-right-radius: 10px;-webkit-border-bottom-right-radius: 10px;}
#callPop .popup-box .btn-area a.pop-check,
#callPop2 .popup-box .btn-area a.pop-check{display: block;width: 100%;height: 55px;background-color: #353a40;background: url('../images/ico/pop_check.gif') center center no-repeat;border-bottom-right-radius: 10px;-webkit-border-bottom-right-radius: 10px;}

/* 버튼 */
.btn.large{height: 70px;line-height: 70px;font-size: 24px;color: #fff;font-weight: 700;text-align: center;}
.btn.type01{background-color: var(--app-primary);}
.btn.type02{background-color: #03203b;}

/* 이벤트 메인 */
.event #content .quick-menu{top:159px;}
.event #content{width: 100%;margin-top: 80px;}
.event.view #content{padding-bottom: 90px;}
.event .content-wrap{width: 100%;display: flex; flex-direction:column; align-items:center;}
.event.view .content-wrap{background-color: #fff;}
.event.view .content-wrap .view-title {
  width: 100%;
  margin: 59px 0 15px 0;
  display: flex;
  flex-direction: column;
  align-items: center;
}
.event.view .content-wrap .view-title .text-wrap span{display: inline-block;line-height: 36px;font-size: 18px;color: #292929;}
.event.view .content-wrap .view-title .title{font-weight: 500;line-height: 48px;font-size: 30px;color: #292929;}
.event.view .content-wrap .view-title .period{font-weight: 500;line-height: 23px;font-size: 14px;color: #767676;}
.event.view .content-wrap .view-content{margin: 0 10px;padding: 40px 0 3px;border-top: 1px solid #e8e8e8;overflow: visible;}
.event.view .content-wrap .view-content .text-area{float: left;position: relative;padding-bottom: 0px;}
.event.view .content-wrap .view-content .text-area .thumb{font-size: 0;}
.event.view .content-wrap .view-content .text-area .btn-area {
  position: fixed;
  display: flex;
  left: 50%;
  bottom: 0;
  transform: translateX(-50%);
  width: 100%;
  max-width:1000px;
  height: 70px;
}
.event.view .content-wrap .view-content .text-area .btn-area .btn{
  display: flex;
  align-items: center;
  justify-content:center;
  width: 100%;
  height: 70px;
}

.event.view .content-wrap .view-content .banner{width:100%; float:left;}
.event.view .content-wrap .view-content .banner li{width:19%; float:left; padding-top:0px; margin:0 0.5%;}
.event.view .content-wrap .view-content .banner li .thumb{width:100%; height:79px; overflow:hidden;}
.event.view .content-wrap .view-content .banner li .thumb a{height:79px; display:block; overflow:hidden;}
.event.view .content-wrap .view-content .banner li .thumb img{width: 100%;}
.event.view .content-wrap .view-content .banner li .text{padding: 8px 0 16px;line-height: 22px;font-size: 16px;color: #767676; width:100%; display:inline-block; text-overflow:ellipsis; overflow:hidden; white-space:nowrap;}

.event .bx-wrapper .bx-controls-direction a{top: 227px;width: 28px;height: 47px;margin: 0;opacity:0.6;}
.event .bx-wrapper .bx-viewport{left: 0;margin: 0;box-shadow: none;border: 0 none;}
.event .bx-wrapper .bx-prev{left: 80px;width: 28px;height: 47px;background: url('../images/ico/prev.png') left top no-repeat;}
.event .bx-wrapper .bx-next{right: 80px;width: 28px;height: 47px;background: url('../images/ico/next.png') left top no-repeat;}

.event .select-area{padding: 32px 0 13px;}
.event .select-area .selector{margin-right: 7px;}

.event .event-list{overflow: hidden;}
.event .event-list ul{width: 110%;}
.event .event-list ul li{float: left;position: relative;width: 490px;height: 318px;margin: 0 15px 20px -5px;padding-left: 5px;}
.event .event-list ul li a{display: block;width: 490px; border: 1px solid #ddd;}
.event .event-list ul li .thumb{width: 490px;height:213px;}
.event .event-list ul li .thumb img{width: 100%;height:213px;}
.event .event-list ul li .info{min-height: 87px;padding: 21px 30px;background-color: #fff;overflow: hidden;text-align: right; display: flex; justify-content: space-between; align-items: flex-end;}
.event .event-list ul li .info .text-wrap{text-align: left;}
.event .event-list ul li .info .text-wrap span{line-height: 21px;font-weight: 500;font-size: 14px;color: #797979;}
.event .event-list ul li .info .title{line-height: 27px;text-align: left;font-weight: 500;font-size: 18px;color: #292929;}
.event .event-list ul li .info .price{line-height: 27px;text-align: right; font-weight: 500;font-size: 20px;color: #0066cb;}
.event .event-list ul li .info .location{display: inline-block;padding-left: 15px;font-weight: 500;line-height: 16px;font-size: 15px;color: #292929;background: url('../images/ico/location.png') left top no-repeat;}

.no-result {
	color: var(--app-primary);
	font-size: 24px;
	font-weight: 600;
	text-align: center;
}
.event-list-wrap {
  width : 100%;
}
.event-list-wrap ul {
  grid-template-columns: 1fr 1fr;
  display: grid;
  gap: 20px;
  width: 100%;
  height: 100%;
  margin-top: 1rem;
  padding-bottom: 3rem;
  margin-bottom: 0;
}
.event-list-wrap ul li {
  box-shadow: 0 3px 16px 0 rgba(0, 0, 0, 0.16);
  width: 490px;
  border-radius: 16px;
  overflow: hidden;
}

.event-list-wrap ul li a {
  display: block;
  position: relative;
}
.event-list-wrap ul li a:hover {
  text-decoration: none;
}

.event-list-wrap .thumb img {
  width: 100%;
}

.event-list-wrap .info {
  width: 100%;
  background: white;
  padding: 18px 24px;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 10px;
}

.event-list-wrap .info .upper {
  width: 100%;
  position: relative;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: flex-start;
}

.event-list-wrap .info .upper .title {
  color: #222;
  font-size: 18px;
  font-weight: 600;
}

.event-list-wrap .info .upper .location {
  color: #444;
  font-size: 16px;
}

.event-list-wrap .info .lower {
  width: 100%;
  line-height: normal;
}

.event-list-wrap .info .lower .lower-bottom {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.event-list-wrap .info .lower .lower-bottom > p {
  margin-bottom: 0 !important;
  font-size: 14px;
  color: #444;
}

.event-list-wrap .info .lower .lower-bottom .price {
  font-weight: 600;
  color: #46c0ff;
  font-size: 24px;
}

/* 마이페이지, 공지사항 */

#content-header {
  display: flex;
  justify-content: center;
  width:100%;
  max-width: 1000px;
  margin-top: 40px;
  height: 78px;
  padding-bottom: 20px;
  border-bottom: 1px solid #d3d3d3;
}
#content-header h2 {
  font-size: 36px;
  line-height: 50px;
  color: var(--app-primary);
  font-weight: 600;
}
#content-header .summary {
  display: inline-block;
  font-size: 15px;
  line-height: 15px;
  margin-top: 10px;
}
