a, button, input[type='button'], input[type='submit'] {cursor: pointer;}

/* search */
.board-top-area {display: flex; justify-content: space-between; margin-bottom: 20px; width: 100%; align-items: center; min-height: 30px; position:absolute;}
.board-top-area .sns-area ul {display: flex;}
.board-top-area .sns-area ul li {padding: 0 20px; position: relative;}
.board-top-area .sns-area ul li:first-child {padding-left: 0;}
.board-top-area .sns-area ul li:last-child {padding-right: 0;}
.board-top-area .sns-area ul li:after {content: ""; width: 1px; height: 20px; background: #777; display: block; top: 8px; right: 0; position: absolute;}
.board-top-area .sns-area ul li:last-child:after {display: none;}
.board-top-area .sns-area ul li a {font-size: 24px; color: #777;}
.board-top-area .sns-area ul li a img {padding-top: 6px;}
#board-write {position: absolute; right: 0;}
.search-box {width: 300px; position: relative;}
.search-box input {background: transparent; border-radius: 18px; height: 36px; line-height: 36px; width: 100%; border: 1px solid #999; padding: 0 10px;}
.search-box button {position: absolute; right: 10px; top: 9px; background: none; border: none;}
.search-box button i {display: block; font-size: 18px; color: #222;}
#board-searchform {position: relative; justify-content:end;}
#keyword {border: 2px solid #959897; height: 40px; padding: 10px 30px 10px 15px; border-radius: 999px; outline: none; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); background-color: #fff; transition: border-color 0.2s, box-shadow 0.2s;}
#keyword:focus {border-color: #ff6000; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);}
.board-search-button {background-size: 18px; background: url(/img/layout/icon-search-orange.svg) center center no-repeat; height: 40px; width: 40px; background-size: 18px; position: absolute; right: 0;}

.search-qna .search-box {border-radius: 30px; height: 60px; line-height: 60px; max-width: 700px; width: 100%; position: relative; border: 1px solid #222;}
.search-qna .search-box input {width: 100%; line-height: 58px; background: transparent; display: block; font-size: 18px; height: 58px; padding: 0 30px; border: none; border-radius: 30px;}
.search-qna .search-box button {position: absolute; right: 30px; top: 15px; background: none; border: none;}
.search-qna .search-box button i {display: block; font-size: 28px; color: #222;}

.search-select {height: 36px; line-height: 36px; width: 150px; position: relative;}
.search-select select {border-radius: 18px; border: 1px solid #999; padding: 0 10px; width: 100%; line-height: 34px; background-color: transparent; font-size: 14px; background: url(/img/layout/arrow-down.svg) right 10px center no-repeat; background-size: 13px; display: block;}
.round-tab ul {display: flex; gap: 30px;}
.round-tab ul li a {width: 150px; height: 55px; border-radius: 27.5px; line-height: 55px; background-color: #e3e3e3; color: #222; font-size: 22px; display: block; text-align: center;}
.round-tab ul li a.active {background-color: #ffcc00;}

@media (max-width: 767px) {
	.board-top-area {flex-wrap: wrap;}
	.sns-area {width: 100%;}
	.sns-area ul {justify-content: center;}
	#board-search {position: relative; right: auto; width: 100%; margin-top: 20px;}
	.search-box {width: 100%;}
	#board-write {
		width: 100%;
		position: relative;
		right: auto;
		text-align: right;
		margin-top: 15px;
	}
	.round-tab {overflow-x: scroll;}
	.round-tab ul {
		gap: 10px;
	}
	.round-tab ul li a {
		width: 90px;
		height: 40px;
		border-radius: 20px;
		line-height: 40px;
		color: #222;
		font-size: 14px;
	}
}

/* 메인 큰 검색창 */
.main section.main-search {padding-bottom: 12px;}
.search-form {width: 100%;}
.main-search-box {position: relative; width: 100%;}
.search-input {width: 100%; padding: 20px 52px 20px 30px; font-size: 18px; border: 2px solid #959897; border-radius: 999px; outline: none; box-shadow: 0 2px 6px rgba(0, 0, 0, 0.1); background-color: #fff; transition: border-color 0.2s, box-shadow 0.2s;}
.search-input:focus {border-color: #ff6000; box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);}
.search-input::placeholder {color: #999;}

.section-title .title-link {position: absolute; right: 0; top: 0;}
.section-title .title-link img {height: 18px;}

.no-results p {justify-items: center;}
.no-results p img {width: 200px; display: block;}
.search-results-list {border-bottom: 1px solid #ddd; padding-bottom: 50px; margin-top: 50px;}

.search-btn {position: absolute; top: 50%; right: 16px; transform: translateY(-50%); width: 40px; height: 40px; border: none; background: none; cursor: pointer; color: #555; display: flex; align-items: center; justify-content: center; transition: color 0.2s;}
.search-btn:hover {color: #000;}


@media (max-width: 767px) {
	.main section.main-search {padding-bottom: 0; padding-top: 50px;}
	section.main-search {padding: 50px 0;}
	.search-results h3 {font-size: 21px;}
	.search-results-list {padding-bottom: 30px; margin-top: 30px;}
}

/* pagination */
.pagination {text-align:center; display:block;}
.pagination ul {text-align:center; display:inline-block;}
.pagination ul li {display:block; float: left; vertical-align:middle; margin: 0 2px;}
.pagination ul li a {text-align:center; display:inline-block; color:#333; vertical-align:middle; width:32px;  height: 30px; line-height:29px;}
.pagination ul li a.btn_prev {background:url(/img/board/bg_prev.png) center no-repeat; text-indent: -9999px; width: 29px; height: 29px;  margin: 0 5px 0 0;}
.pagination ul li a.btn_next {background:url(/img/board/bg_next.png) center no-repeat; text-indent: -9999px; width: 29px; height: 29px;  margin: 0 0 0 5px;}
.pagination ul li a.current {font-weight:bold; width: 29px; height: 29px; line-height: 29px;}
.pagination ul li a img {max-width:100%; vertical-align:middle;}
.pagination ul li a.board_button:hover {background-color:transparent;}

/* 더보기 버튼 */
.button a {display: inline-flex; padding: 10px 30px; color: #222; align-items: center; border-radius: 25px; border: 1px solid #222;}
.button-more a {height: 60px; line-height: 60px; display: block; font-size: 24px; color: #222; border-radius: 10px; border: 1px solid #ccc; background: #fbfbfa;}
.button-more-right {position: absolute; right: 0; bottom: 0;}
.button-more-right a {display: inline-flex; padding: 10px 30px; color: #fff; align-items: center; border-radius: 999px;}
.button-more-right a i {padding-left: 25px;}
.button-more-center {justify-content: center; display: flex;}
.button-more-center a {display: inline-flex; padding: 10px 30px; color: #fff; align-items: center; border-radius: 999px;}
.button-more-center a i {padding-left: 25px;}
/* .button-small a {padding: 5px 25px;} */
.button-large a {border-radius: 30px;}
.button-wide a {width: 300px; height: 60px; line-height: 60px; border-radius: 30px; padding: 0 40px;}
.button-more-blur {position: absolute; bottom: 0; width: 100%;}
.button-more-blur a {display: block; font-size: 24px; color: #222; background: linear-gradient(to top, rgba(255,255,255,1) 70%, rgba(255,255,255,0)); padding-top: 120px;}

@media (max-width: 767px) {
	.button-more-right {position: relative; margin-top: 20px;}
}

/* 게시판 분류 */
.board-category {display: flex; gap: 20px; margin-top: 25px;}
.board-category li a {font-size: 24px; font-family: 'S-CoreDream-7ExtraBold'; color: #777;}
.board-category li a i {color: #ccc;}
.board-category li.active a {color: #222;}
.board-category li.active a i {color: #e23535;}

/* 테이블형 게시판 */
.board-table table a {color: #222}
.board-table table .no{width:10%;}
.board-table table .check {width:13px; padding: 15px 0;}
.board-table table .name{width:10%;}
.board-table table .date{width:10%;}
.board-table table .hit{width:7%;}
.board-table table {width:100%; border-spacing:0px; border:0; border-collapse:collapse; border-top:2px solid #222;}
.board-table table .notice {background-color: #ececf8;}
.board-table table tr:hover {background:#f7f7f7;}
.board-table table tr:hover .num01 {color:#1bafc3;}
.board-table table tr:hover .num02 {color:#333;}
.board-table table .notice td {color: #222;}
.board-table table .notice td.no, .board-table table .notice td.title a {font-weight: 700;}
.board-table table .notice td.title a {color:#222;}
.board-table table .notice td.title a:hover {color: #222; font-weight: normal;}
.board-table table td {padding:15px; border-bottom:1px solid #ddd; text-align:center; color:#333; font-size:16px;}
.board-table table th {padding:15px; border-bottom:1px solid #ddd; text-align:center; color:#333; font-size:16px; font-weight: 700;}
.board-table table .notice_box{display:inline-block; padding:2px 14px; border:1px solid #1bafc3; font-size:14px; color:#1bafc3; font-weight:normal; vertical-align:text-top;}
.board-table table td.name .answer_no {border:1px solid #555; display:inline-block; padding:2px 7px;}
.board-table table td.name .answer_ok {border:1px solid #1bafc3; color:#1bafc3; display:inline-block; padding:2px 7px;}

@media (max-width: 767px) {
	.board-table table tr {
		position: relative;
	}
	/* .board-table table tr:nth-child(1) {
		display: none;
	} */
	.board-table table tr .admin.check {
		display: block;
	}
	.board-table table td {
		padding: 10px;
		text-align: left;
		font-size: 14px;
		display: block;
		border-bottom: none;
		margin: 0;
	}
	.board-table table .check {
		width: 13px;
		padding: 0;
	}
	.board-table table .no, .board-table table .hit {
		display: none;
	}
	.board-table table .name, .board-table table .date {
		width: 50%; font-size: 12px; color: #777; float: left; border-bottom: 1px solid #ddd; padding-top: 0;
	}
	.board-table table .date {	
		text-align: right;
	}
	.board-table table .admin.check {
		position: absolute;
		left: -17px;
		top: 10px;
	}
	.board-inquiry table .date {
		width: 100%;
	}
}

/* FAQ */
.board-faq {border-top:2px solid #333;}
.board-faq ul li {}
.board-faq ul li .Question {float: left; color: #222; font-size: 18px; font-weight: bold; background: #ffcc00; width: 35px; height: 35px; text-align: center; line-height: 35px; border-radius: 50%;}
.board-faq ul li .Question .active_off {display:inline;}
.board-faq ul li .Question .active_on {display:none}
.board-faq ul li .active .Question .active_off {display:none;}
.board-faq ul li .active .Question .active_on {display:inline;}
.board-faq ul li .Answer {float:left; color:#fff; font-size:18px; font-weight:bold; background: #4149b8; width: 35px; height: 35px; text-align: center; line-height: 35px; border-radius: 50%;}
.board-faq ul li .Qtxt {padding-left:21px; width: calc(100% - 35px);}
.board-faq ul li .Atxt {padding-left:11px; font-size:16px; color:#777; line-height:200%; overflow-x:auto;}
.board-faq ul li h4 {padding-top:5px; color:#777; font-size:16px; font-weight: 600;}
.board-faq ul li .acc.active h4 {color:#4149b8;}
.board-faq ul li .Category {display:inline;}
.board-faq ul li .acc {padding: 20px; cursor: pointer; border-bottom: 1px solid #ddd; background: url(/img/layout/arrow-down.svg) right 20px center no-repeat; background-size: 20px; display: flex; align-items: center;}
.board-faq ul li .acc_cont {display:none; padding:20px 30px; background:#f9f9f9; border-bottom:1px solid #ddd;}
.board-faq ul li .acc.active {background:url(../../img/layout/arrow-up.svg) right 20px center no-repeat; background-size: 20px;}

@media (max-width: 767px) {
	.board-faq ul li .acc, .board-faq ul li .acc_cont {
		padding: 20px 10px;
	}
}

/* 게시판 카테고리형 */
.board-type-text-category {display: grid; grid-template-columns: repeat(4, 1fr); gap: 60px;}
.board-type-text-category .head > div {display: inline-block; padding: 10px 15px 5px 15px; margin-bottom: 20px; color: #fff;}
.board-type-text-category .head > div.wait {background-color: #fd5e00;}
.board-type-text-category .head > div.done {background-color: #323232;}
.board-type-text-category .body h4 {font-size: 22px; color: #e0eaf3;}
.board-type-text-category .body p {font-size: 14px; color: #e0eaf3; margin-top: 5px;}

@media (max-width: 767px) {
    .board-type-text-category {display: grid; grid-template-columns: 1fr; gap: 30px;}
}
@media (min-width: 768px){
    .board-type-text-category {display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px;}
}
@media (min-width: 992px){
    
}
@media (min-width: 1310px){
    .board-type-text-category {display: grid; grid-template-columns: repeat(4, 1fr); gap: 60px;}
}
@media (min-width: 1530px){
    
}

/* 게시판 좌측 이미지형 둥근 이미지 */
.board-type-img-circle {display: grid; grid-template-columns: repeat(2, 1fr); gap: 100px;}
.board-type-img-circle .head {display: flex; gap: 20px; align-items: center;}
.board-type-img-circle .head h4 {font-size: 27px; font-weight: 700; color: #1e1e1e;}
.board-type-img-circle .body {font-size: 14px; color: #6b6b6b; margin-top: 15px;}
@media (max-width: 767px) {
    .board-type-img-circle {grid-template-columns: 1fr; gap: 50px;}
    .board-type-img-circle .head h4 {font-size: 24px;}
}
@media (min-width: 768px){
    
}
@media (min-width: 992px){
    
}
@media (min-width: 1310px){
    
}
@media (min-width: 1530px){
    
}

/* 게시판 좌측 이미지형 */
.board-type-img {display: grid; grid-template-columns: repeat(2, 1fr); gap: 40px 60px;}
.board-type-img li a {border-radius: 10px; background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.15); overflow: hidden; display: flex; gap: 20px; align-items: center;}
.board-type-img .head .img {width: 200px;}
.board-type-img .head .img img {width: 100%; display: block;}
.board-type-img .body h4 {font-size: 18px; font-weight: 700; color: #222;}
.board-type-img .body p {margin-top: 15px; font-size: 18px; color: #222;}
.board-type-img .body p.date {margin-top: 15px; font-size: 14px; color: #777;}
@media (max-width: 767px) {
    .board-type-img li a {align-items: flex-start;}
    .board-type-img {display: grid; grid-template-columns: 1fr; gap: 40px 60px;}
	.board-type-img .body h4 {
		font-size: 16px;
	}
	.board-type-img .body p {font-size: 16px;}
}
@media (min-width: 768px){
    .board-type-img {display: grid; grid-template-columns: 1fr; gap: 40px 60px;}
}
@media (min-width: 992px){
    
}
@media (min-width: 1310px){
    .board-type-img li a {gap: 20px;}
    .board-type-img {display: grid; grid-template-columns: repeat(2, 1fr); gap: 20px;}
}
@media (min-width: 1530px){
    
}


/* 글수정삭제버튼위치교체 */

.button-xsmall {right: 0px; bottom: 60px; margin-bottom:20px;}
@media (max-width: 425px) {
	.button-xsmall {
		position: unset;
		margin-bottom: 30px;
	}
}

/* 검색창 헤드라인 옆으로 이동 */
.search-head {display: inline-block;float: right;position: relative; top: 30px;z-index: 999;}
@media (max-width: 425px) {
    .search-head {display: block; margin-bottom:30px; float:none; position:unset;}
	.search-head #keyword {width:100%;}
}
/* 게시판 좌측 이미지형 1줄 타입 */
.board-type-img-one {display: grid;}
.board-type-img-one > li > a {border-radius: 10px; background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.15); overflow: hidden; display: flex; gap: 30px; align-items: center;}
/*.board-type-img-one > li > a {display: block;}*/
.board-type-img-one .head .img {width: 200px;}
.board-type-img-one .head .img img {width: 100%; height: 100%; display: block; aspect-ratio: 185/130; object-fit: cover;}
#challenge .board-type-img-one .head .img img {aspect-ratio: 1/1;}
.board-type-img-one .body {padding: 20px 30px;}
.board-type-img-one .body h3 {font-size: 24px;}
.board-type-img-one .body .category {width: 90px; line-height: 24px; border-radius: 12px;}
.board-type-img-one .body .status {margin-bottom: 5px;}
.board-type-img-one .body .status span {padding: 4px 10px; display: inline-flex; border-radius: 12px; line-height: 1;}
.board-type-img-one .body .status span.new {background: #2ee3b6; color: #222; border: 1px solid #2ee3b6;}
.board-type-img-one .body .status span.hot {background: #e23535; color: #fff; border: 1px solid #e23535;}
.board-type-img-one .body .status span.double {background: #9450c8; color: #fff; border: 1px solid #9450c8;}
.board-type-img-one .body .status span.off {border: 1px solid #ccc; background: #ccc; color: #777;}
.board-type-img-one .body .status span.on {display: inline-flex; border: 1px solid #222; background: #fff; color: #222;}
.board-type-img-one .body .status span.mountain {background: #22a777; color: #fff; border: 1px solid #22a777; border-radius: 20px;}
.board-type-img-one .body .status span.fish {background: #1678ff; color: #fff; border: 1px solid #1678ff; border-radius: 20px;}
.board-type-img-one .body .info ul {display: flex;}
.board-type-img-one .body .info ul li {font-size: 18px; padding: 0 10px; position: relative;}
.board-type-img-one .body .info ul li:after {content: ''; display: block; position: absolute; width: 1px; height: 18px; right: 0; top: 50%; transform: translate(0,-50%); background: #ccc;}
.board-type-img-one .body .info ul li:first-child {padding-left: 0;}
.board-type-img-one .body .info ul li:last-child {padding-right: 0;}
.board-type-img-one .body .info ul li:last-child:after {display: none;}

@media (max-width: 767px) {
    .board-type-img-one li a {align-items: flex-start;}
	.board-type-img-one > li {flex-wrap: wrap;}
	.board-type-img-one, .board-type-img-one > li > a {display: grid; grid-template-columns: 1fr; gap: 20px;}
	.board-type-img-one .head, .board-type-img-one .head .img {width: 100%;}
	.board-type-img-one .body {padding: 0 20px 20px 20px;}
	.board-type-img-one .body h4 {flex-wrap: wrap; gap: 10px;}
}
@media (min-width: 768px){
    .board-type-img-one {display: grid; grid-template-columns: 1fr; gap: 20px;}
}
@media (min-width: 992px){
    
}
@media (min-width: 1310px){
    .board-type-img-one li a {gap: 20px;}
    .board-type-img-one {display: grid; grid-template-columns: 1fr; gap: 20px;}
}
@media (min-width: 1530px){
    
}

/* 예약 게시판 */
.reservation {border-top: 1px solid #ddd; border-bottom: 5px solid #eee;}
.reservation > li {border-radius: 0; background: #fff; box-shadow: none; overflow: hidden; display: flex; gap: 0; align-items: center; justify-content: space-between;}
.reservation .head, .reservation .body {padding: 40px 0;}
.reservation .head {width: 300px; border-radius: 10px; overflow: hidden;}
.reservation .reserve-info {display: flex; height: 100%; padding: 50px; flex-wrap: wrap; align-content: center; width: calc(100% / 3);}
.reservation .reserve-info .people button {width: 40px; height: 40px; border: 1px solid #ddd; background: #fff;}
.reservation .reserve-info .people input {text-align: center; width: 100px; line-height: 40px; height: 40px; border: 1px solid #ddd;}
.reservation .reserve-info .price-cal {text-align: right; width: 100%; line-height: 40px; height: 40px; background: #eee; padding: 0 10px;}
.reservation .reserve-info .price-cal input {background: transparent; text-align: right; font-weight: 700; font-size: 18px; line-height: 40px; padding-right: 20px; margin-top: -2px;}
.reservation .reserve-content {padding: 40px 0; border-top: 1px solid #ddd;}
.reservation .reserve-content .info-txt {padding-left: 100px;}
.reservation .reserve-content .info-txt .course-txt {grid-template-columns: 300px 1fr; gap: 100px;}
.reservation .reserve-content .info-txt .course-txt > div {width: 300px;}
.reservation .reserve-content .info-txt .course-txt > ul {width: 100%; margin-top: -20px;}
.reservation .reserve-content .info-txt .course-txt > ul li {display: inline-flex; align-items: center; border-bottom: 1px solid #ddd; color: #222; padding-top: 20px; padding-bottom: 20px;}
.reservation .reserve-content .info-txt .course-txt > ul li:last-child {border-bottom: none;}
.reservation .reserve-content .info-txt .course-txt > ul li strong {width: 125px;}
.reservation.result > li {border-radius: 0; background: #fff; box-shadow: none; overflow: hidden; display: flex; gap: 50px; align-items: center; justify-content: start;}

@media (min-width: 1310px) {
	.board-type-img-one.reservation {display: grid; grid-template-columns: 1fr; gap: 0;}
}

/* 게시판 갤러리형 */
.board-type-gallery {display: grid;}
.board-type-gallery a {display: block;}
.board-type-gallery .head .img img {width: 100%; height: 100%; display: block; object-fit: cover; aspect-ratio: 3/2;}
.board-type-gallery .body h4 {font-weight: 700; font-size: 16px; font-weight: 700; color: #1e1e1e;}
.board-type-gallery .body {padding: 20px 5px 0 5px;}
.board-type-gallery .body p {font-size: 14px; color: #8c8c8c; margin-top: 30px;}
@media (max-width: 767px) {
    .board-type-gallery {grid-template-columns: 1fr; gap: 30px;}
}
@media (min-width: 768px){
    .board-type-gallery {grid-template-columns: repeat(2, 1fr); gap: 15px;}
}
@media (min-width: 992px){
    
}
@media (min-width: 1310px){
    .board-type-gallery {grid-template-columns: repeat(4, 1fr); gap: 15px;}
}
@media (min-width: 1530px){
    
}

/* 게시판 갤러리형 3단 그리드 */
.board-type-gallery-three {display: grid;}
.board-type-gallery-three > li {border-radius: 30px; overflow: hidden; box-shadow: 1px 0 40px rgba(0,0,0,.08); position: relative;}
.board-type-gallery-three > li .admin.check {position: absolute; left: 20px; top: 20px; z-index: 1;}
.board-type-gallery-three a {display: block;}
.board-type-gallery-three .head {position: relative;}
.board-type-gallery-three .head .img img {width: 100%; height: 100%; display: block; object-fit: cover; object-position: top center; aspect-ratio: 1/1;}
.board-type-gallery-three .head .event-category {display: flex; justify-content: space-between; position: absolute; bottom: 0; padding: 0 20px 20px 20px; width: 100%;}
.board-type-gallery-three .head .event-category .category {padding: 10px; border-radius: 50%; background-color: #fff; font-size: 18px;}
.board-type-gallery-three .head .event-category .event-button {display: flex; gap: 5px;}
.board-type-gallery-three .head .event-category .event-button a {padding: 10px 12px; border-radius: 40px; background-color: #1877f2; color: #fff; font-size: 18px; display: inline-flex; gap: 10px; width: 100px; justify-content: center;}
.board-type-gallery-three .head .event-category .event-button a img {width: 18px;}
.board-type-gallery-three .body h4 {}
.board-type-gallery-three .body {padding: 15px 20px 20px;}
.board-type-gallery-three .body ul {font-size: 18px; color: #777; margin-top: 5px;}

.event-box {padding: 30px 20px;}
.event-box .event-img img {width: 100%; height: 100%; object-fit: cover; object-position: top center; display: block; border-radius: 15px; aspect-ratio: 1/1;}
.event-box .event-txt {padding-left: 50px;}
.event-box .event-txt .category {padding: 0 12px; line-height: 30px; height: 30px; border-radius: 15px; background: #1877f2; color: #fff;}
.event-box .event-txt .sns ul li {border-radius: 50%; width: 30px; height: 30px; display: flex; align-items: center; justify-content: center;}
.event-box .event-txt .sns ul li:nth-child(1) {background-color: #3095d3;}
.event-box .event-txt .sns ul li:nth-child(2) {background-color: #1877f2;}
.event-box .event-txt .sns ul li:nth-child(3) {background-color: #104784;}
.event-box .event-txt .info li {padding: 10px 0;}
.event-box .event-txt .info li h4 {width: 40%; line-height: 1.5;}
.event-box .event-txt .info li p {width: 60%;}

.ticket-banner .event-txt .info li {padding: 10px 0;}
.ticket-banner .event-txt .info li h4 {width: 40%; line-height: 1.5;}
.ticket-banner .event-txt .info li p {width: 60%;}

.event .inner-tab {padding: 0 20px;}
.event .inner-tab ul {display: flex; background: #ececf8; border-radius: 43px;}
.event .inner-tab ul li {flex: 1; text-align: center; padding: 10px;}
.event .inner-tab ul li a {display: block; padding: 15px 0; border-radius: 33px;}
.event .inner-tab ul li.active a {background: #fff; color: #4149b8; box-shadow: 0 0 10px rgba(0,0,0,.05);}
.event-inner-box {box-shadow: 5px 0 20px rgba(0,0,0,.1); border-radius: 15px; padding: 50px 40px;}
.event-inner-box.event-end {background: #fff;}
.event-inner-box.event-check {background: #e9f3ff; display: flex; justify-content: space-between; align-items: center;}
.event-inner-box.event-check .button a {background: #4149b8; border: none;}
.event-inner-box.event-check h4 {color: #4149b8;}

p span img {width: 100%;}

/* .event-quiz-area {background: #fcfae9; padding: 30px; border: 1px solid #f2f1e7;} */
.event-quiz-area {background: #f5f9ff; padding: 30px; border: 1px solid #e3e8f1;}

.event-info-check {background: #fafafa; padding: 30px; border: 1px solid #eee;}
.event-quiz-area h5 {color:#1877f2; font-size: 20px;}
.event-info-check h5 {color:#444;}
.event-info-check ul {padding-left: 20px;}
.event-info-check ul li {list-style: circle;}
.event-quiz-area .question {font-weight: 600; color: #777;}
.event-quiz-area .quiz-reply {margin-top: 5px;}
.event-quiz-area .quiz-reply > ul {max-height: 400px; overflow-y: auto; margin-top: 10px;}
.event-quiz-area .quiz-reply > ul::-webkit-scrollbar {display: none;}
.event-quiz-area .quiz-reply ul li {margin-top: 10px;}
.event-quiz-area .quiz-reply ul li:first-child {margin-top: 0;}
/*.event-quiz-area .quiz-reply ul li .reply-box {margin-top: 5px; padding: 10px 20px; border: 1px solid #e5e2d5; background: #fffdf3; border-radius: 0 20px 20px 20px; word-wrap: break-word; word-break: break-word;}*/
.event-quiz-area .quiz-reply ul li .reply-box {margin-top: 5px; padding: 10px 20px; border: 1px solid #e5e2d5; background: #fff; border-radius: 0 20px 20px 20px; word-wrap: break-word; word-break: break-word;}
.event-quiz-area .quiz-reply ul li .reply-box h6 {font-size: 16px; line-height: 1.3; font-weight: 400; color: #000;}
.event-apply a {width: 200px; height: 80px; line-height: 80px; font-size: 18px; font-weight: 700; color: #fff; background-color: #1877f2; border-radius: 5px; display: inline-flex; gap: 10px; justify-content: center;}
.event-apply a img {width: 18px;}
.event-apply a.button-point {background-color: #4245bc}

.event-step ul {align-items: start;}
.event-step ul li {justify-items: center;}
.event-step .step-icon {background: #ffcc00; width: 135px; height: 135px; border-radius: 50%; display: flex; align-items: center; justify-content: center;}
.board-read .content-read div.reply-date {font-size: 16px; color: #aaa;}

@media (min-width: 768px) {
	.event-box .grid-2 {grid-template-columns: repeat(2,1fr);}
	.event-box .event-txt {
		padding-left: 30px;
	}
	.event-box .event-txt > ul {
		margin-top: 20px;
	}
	.event-box .event-txt h3 {
		font-size: 30px;
	}
	.event-box .event-txt .info li {
		padding: 7px 0;
	}
	.event-box .event-txt .info li h4, .event-box .event-txt .info li p {
		font-size: 16px;
	}
	.ticket-banner .event-txt {
		padding-left: 30px;
	}
	.ticket-banner .event-txt > ul {
		margin-top: 20px;
	}
	.ticket-banner .event-txt h3 {
		font-size: 30px;
	}
	.ticket-banner .event-txt .info li {
		padding: 7px 0;
	}
	.ticket-banner .event-txt .info li h4, .ticket-banner .event-txt .info li p {
		font-size: 16px;
	}
}

@media (min-width: 992px) {
	.event-box .event-txt {
		padding-left: 50px;
	}
	.event-box .event-txt h3 {
		font-size: 36px;
	}
	.event-box .event-txt .info li {
		padding: 10px 0;
	}
	.event-box .event-txt .info li h4, .event-box .event-txt .info li p {
		font-size: 22px;
	}

	.ticket-banner .event-txt {
		padding-left: 50px;
	}
	.ticket-banner .event-txt h3 {
		font-size: 36px;
	}
	.ticket-banner .event-txt .info li {
		padding: 10px 0;
	}
	.ticket-banner .event-txt .info li h4, .ticket-banner .event-txt .info li p {
		font-size: 22px;
	}
}

@media (max-width: 767px) {
	.board-type-gallery-three .head .event-category {
		padding: 0 10px 10px 10px;
	}
	.board-type-gallery-three .head .event-category .category, .board-type-gallery-three .head .event-category .event-button a {
		padding: 1px 10px;
		font-size: 16px;
	}
    .board-type-gallery-three {grid-template-columns: 1fr; gap: 25px 15px;}
	.event-box {
		padding: 20px 0;
	}
	.event-box .event-txt {padding-left: 0; margin-top: 20px;}
	.event-box .event-txt h3 {font-size: 24px;}
	.event .inner-tab {
		padding: 0;
	}
	.event .inner-tab ul li {
		padding: 4px;
	}
	.event .inner-tab ul li a {
		padding: 10px 0;
		font-size: 16px;
	}
	.event-box .event-txt .info li {
		padding: 5px 0;
	}
	.event-box .event-txt .info li h4, .event-box .event-txt .info li p {
		font-size: 16px;
	}
	.event-box .event-txt .info li h4 {
		width: 35%;
	}
	.event-box .event-txt .info li p {
		width: 65%;
	}

	.ticket-banner .event-txt {padding-left: 0; margin-top: 20px;}
	.ticket-banner .event-txt h3 {font-size: 24px;}
	.ticket-banner .event-txt .info li {
		padding: 5px 0;
	}
	.ticket-banner .event-txt .info li h4, .ticket-banner .event-txt .info li p {
		font-size: 16px;
	}
	.ticket-banner .event-txt .info li h4 {
		width: 35%;
	}
	.ticket-banner .event-txt .info li p {
		width: 65%;
	}

	.event-inner-box {
		text-align: center;
		border-radius: 10px;
		padding: 15px;
	}
	.event-inner-box.event-check {
		flex-wrap: wrap;
		justify-content: center;
		gap: 15px;
	}
	.event-quiz-area, .event-info-check {
		padding: 20px 12px;
	}
	.event-quiz-area .quiz-reply ul li .reply-box h6 {
		font-size: 14px;		
		line-height: 1.3;
	}
	.event-quiz-area .quiz-reply ul li .reply-box {
		font-size: 14px;
		display: inline-block;
		padding: 7px 10px;
		border-radius: 0 12px 12px 12px;
	}
	.reply-message {
		display: block;
	}
	.reply-date {
		margin-top: 5px;
		display: block;
	}
	.event-apply a {
		width: 49%;
		height: 60px;
		line-height: 60px;
	}
}
@media (min-width: 768px){
    .board-type-gallery-three {grid-template-columns: repeat(2, 1fr); gap: 40px;}
}
@media (min-width: 992px){
    
}
@media (min-width: 1310px){
    .board-type-gallery-three {grid-template-columns: repeat(3, 1fr);}
}
@media (min-width: 1530px){
    
}

/* 게시판 갤러리형 3단 그리드 이벤트 */
.review {display: grid;}
.review > li {border-radius: 15px; overflow: hidden; box-shadow: 1px 0 40px rgba(0,0,0,.08); position: relative;}
.review > li .admin.check {position: absolute; left: 20px; top: 20px; z-index: 1;}
.review a {display: block;}
.review {position: relative;}
.review .img img {width: 100%; height: 100%; display: block; aspect-ratio: 1/1; object-position: top center; object-fit: cover;}
.review .txt {padding: 30px;}
.border-box {min-height: 300px; border: 1px solid #ddd; padding: 10px;}
.hashtag ul {display: flex; gap: 10px;}
.hashtag ul li a {border-radius: 16.5px; line-height: 33px; background-color: #ffe478; color: #777; font-size: 18px; display: block; text-align: center; padding: 0 10px;}

@media (max-width: 767px) {
    .review {grid-template-columns: 1fr; gap: 25px;}
}
@media (min-width: 768px){
    .review {grid-template-columns: repeat(2, 1fr); gap: 50px;}
}
@media (min-width: 992px){
    
}
@media (min-width: 1310px){
    .review {grid-template-columns: repeat(3, 1fr);}
}
@media (min-width: 1530px){
    
}

/* 게시판 갤러리 박스형 */
/* .board-type-gallery-box {display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px;} */
.board-type-gallery-box {display: flex;}
.board-type-gallery-box .slick-track {height: 100%;}
.board-type-gallery-box a {display: block;}
.board-type-gallery-box li {background: #fff; margin: 0 7px;}
.board-type-gallery-box li:last-child {margin-right: 0;}
.board-type-gallery-box .head .img img {width: 100%; height: 100%; display: block;}
.board-type-gallery-box .body h4 {font-weight: 700; font-family: 'S-CoreDream-7ExtraBold'; font-size: 17px; font-weight: 700; color: #323232;}
.board-type-gallery-box .body {padding: 30px;}
.board-type-gallery-box .body p {font-size: 14px; color: #b1b1b1; margin-top: 15px;}
.board-type-gallery-box .slick-list {margin: 0 -7px;}
.slide-nav button {position: absolute; top: 50%; transform: translateY(-50%); background: #fff; border-radius: 3px; box-shadow: 0 0 15px rgba(0,0,0,0.15); z-index: 2; display: block;}
@media (max-width: 767px) {
    .slide-nav button {width: 30px; height: 30px;}
    .slide-nav .prev-btn {left: -15px;}
    .slide-nav .next-btn {right: -15px;}
}
@media (min-width: 768px) {
    .board-type-gallery-box {display: flex;}
    .board-type-gallery-box .slick-track {height: 100%;}
    .board-type-gallery-box a {display: block;}
    .board-type-gallery-box li {background: #fff; margin: 0 7px;}
    .board-type-gallery-box li:last-child {margin-right: 0;}
    .board-type-gallery-box .head .img img {width: 100%; height: 100%; display: block;}
    .board-type-gallery-box .body h4 {font-weight: 700; font-family: 'S-CoreDream-7ExtraBold'; font-size: 17px; font-weight: 700; color: #323232;}
    .board-type-gallery-box .body {padding: 30px;}
    .board-type-gallery-box .body p {font-size: 14px; color: #b1b1b1; margin-top: 15px;}
    .board-type-gallery-box .slick-list {margin: 0 -7px;}
    .slide-nav button {width: 40px; height: 40px;}
    .slide-nav .prev-btn {left: -20px;}
    .slide-nav .next-btn {right: -20px;}
}
@media (min-width: 1310px) {
    .board-type-gallery-box {display: flex;}
    .board-type-gallery-box .slick-track {height: 100%;}
    .board-type-gallery-box a {display: block;}
    .board-type-gallery-box li {background: #fff; margin: 0 7px;}
    .board-type-gallery-box li:last-child {margin-right: 0;}
    .board-type-gallery-box .head .img img {width: 100%; height: 100%; display: block;}
    .board-type-gallery-box .body h4 {font-weight: 700; font-family: 'S-CoreDream-7ExtraBold'; font-size: 17px; font-weight: 700; color: #323232;}
    .board-type-gallery-box .body {padding: 30px;}
    .board-type-gallery-box .body p {font-size: 14px; color: #b1b1b1; margin-top: 15px;}
    .board-type-gallery-box .slick-list {margin: 0 -7px;}
    .slide-nav button {width: 60px; height: 60px;}
    .slide-nav .prev-btn {left: -70px;}
    .slide-nav .next-btn {right: -70px;}
}
@media (min-width: 1530px) {
    .board-type-gallery-box {display: flex;}
    .board-type-gallery-box .slick-track {height: 100%;}
    .board-type-gallery-box a {display: block;}
    .board-type-gallery-box li {background: #fff; margin: 0 7px;}
    .board-type-gallery-box li:last-child {margin-right: 0;}
    .board-type-gallery-box .head .img img {width: 100%; height: 100%; display: block;}
    .board-type-gallery-box .body h4 {font-weight: 700; font-family: 'S-CoreDream-7ExtraBold'; font-size: 17px; font-weight: 700; color: #323232;}
    .board-type-gallery-box .body {padding: 30px;}
    .board-type-gallery-box .body p {font-size: 14px; color: #b1b1b1; margin-top: 15px;}
    .board-type-gallery-box .slick-list {margin: 0 -7px;}
    .slide-nav .prev-btn {left: -110px;}
    .slide-nav .next-btn {right: -110px;}
}

/* 게시판 갤러리 박스형 3단 그리드 */
/* .board-type-gallery-box {display: grid; grid-template-columns: repeat(4, 1fr); gap: 15px;} */
.board-type-gallery-box-three {display: grid; gap: 30px;}
.board-type-gallery-box-three > li {background: #fff; border-radius: 10px; background: #fff; box-shadow: 0 0 10px rgba(0,0,0,.15); overflow: hidden;}
.board-type-gallery-box-three .head .img img {width: 100%; height: 100%; display: block;}
.board-type-gallery-box-three .body {padding: 30px;}
.board-type-gallery-box-three .body .status {margin-bottom: 10px;}
.board-type-gallery-box-three .body .status span {padding: 4px 10px; display: inline-flex; border: 1px solid #ccc; background: #ccc; color: #777; border-radius: 12px; line-height: 1;}
.board-type-gallery-box-three .body .status span.on {display: inline-flex; border: 1px solid #222; background: #fff; color: #222;}
.board-type-gallery-box-three .body .info ul {display: flex;}
.board-type-gallery-box-three .body .info ul li {font-size: 14px; padding: 0 10px; position: relative;}
.board-type-gallery-box-three .body .info ul li:after {content: ''; display: block; position: absolute; width: 1px; height: 14px; right: 0; top: 50%; transform: translate(0,-50%); background: #ccc;}
.board-type-gallery-box-three .body .info ul li:first-child {padding-left: 0;}
.board-type-gallery-box-three .body .info ul li:last-child {padding-right: 0;}
.board-type-gallery-box-three .body .info ul li:last-child:after {display: none;}
.board-type-gallery-box-three .body p {font-size: 14px; color: #b1b1b1; margin-top: 10px;}
.board-type-gallery-box-three .body .link {margin-top: 30px;}
.board-type-gallery-box-three .body .link a {display: block; color: #fff; background: #22a777; height: 36px; line-height: 36px; border-radius: 5px;}

@media (max-width: 767px) {
    .slide-nav button {width: 30px; height: 30px;}
    .slide-nav .prev-btn {left: -15px;}
    .slide-nav .next-btn {right: -15px;}
}
@media (min-width: 768px) {
    .board-type-gallery-box-three {grid-template-columns: repeat(2, 1fr);}
}
@media (min-width: 1310px) {
    .board-type-gallery-box-three {grid-template-columns: repeat(3, 1fr);}
}
@media (min-width: 1530px) {
}

/* textarea */
.textarea textarea {width: 100%; min-height: 250px; padding: 15px 20px; color: #999; border: 1px solid #ddd; background: #fff; border-radius: 5px; font-size: 18px;}

/* login */
.login {background: url(/img/05_mypage/bg-login.jpg) no-repeat; background-size: cover; padding: 50px 0; margin-bottom: -150px;}
.login .login-box {background: #fff; max-width: 450px; margin: 0 auto; padding: 100px 20px; border-radius: 10px;}
.login-box .input-box {border-radius: 10px; border: 1px solid #ddd; line-height: 50px; position: relative;}
.login-box .input-box input[type='id'], .login-box .input-box input[type='password'] {border: none; line-height: 50px; width: calc(100% - 60px); padding: 0 30px; margin-left: 55px; background: transparent; margin-top: -2px; border: none;}
.login-box .input-box input[type='email'] {border: none; line-height: 50px; width: 100%; padding: 0 30px; background: transparent; margin-top: -2px; border: none; text-align: center;}
.find .login-box .input-box input[type='text'] {border: none; line-height: 50px; width: 100%; padding: 0 30px; background: transparent; margin-top: -2px; border: none; text-align: center; margin-left: 0;}
.login-box .input-box label {position: absolute; left: 0; text-align: center; width: 60px;}
.login-box input[type='submit'] {width: 100%; border-radius: 10px; line-height: 50px; color: #fff; background: #222;}
.login-box .login-sns div:before {content:""; display: block; position: absolute; left: 0; top: 50%; transform: translateY(-50%); width: 155px; height: 3px; background: #ddd;}
.login-box .login-sns div:after {content:""; display: block; position: absolute; right: 0; top: 50%; transform: translateY(-50%); width: 155px; height: 3px; background: #ddd;}

@media (max-width: 767px) {
	.login {
		margin-bottom: -100px;
	}
    .login .login-box {
		background: #fff;
		max-width: 450px;
		margin: 0 auto;
		padding: 40px 20px;
		border-radius: 10px;
	}
	.login-box .login-sns div:before {
		content: "";
		display: block;
		position: absolute;
		left: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 30%;
		height: 3px;
		background: #ddd;
	}
	.login-box .login-sns div:after {
		content: "";
		display: block;
		position: absolute;
		right: 0;
		top: 50%;
		transform: translateY(-50%);
		width: 30%;
		height: 3px;
		background: #ddd;
	}
	.login-box .input-box {
		border-radius: 10px;
		border: 1px solid #ddd;
		line-height: 40px;
		position: relative;
	}
	.login-box .input-box label {
		position: absolute;
		left: 0;
		text-align: center;
		width: 50px;
	}
	.login-box .input-box input[type='id'], .login-box .input-box input[type='password'] {
		border: none;
		line-height: 40px;
		width: calc(100% - 50px);
		padding: 0 15px;
		margin-left: 45px;
		background: transparent;
		margin-top: -2px;
		border: none;
	}

}
@media (min-width: 768px) {
    .board-type-gallery-box-three {grid-template-columns: repeat(2, 1fr);}
}
@media (min-width: 1310px) {
    .board-type-gallery-box-three {grid-template-columns: repeat(3, 1fr);}
}
@media (min-width: 1530px) {
}

/* 아이디 비밀번호 찾기 */
.find .login-box {max-width: 450px; margin: 0 auto; padding: 0 20px;}
.find-copy {padding-bottom: 35px; border-bottom: 3px solid #ddd;}

/* 마이페이지 */
.my-happy-title .grid {grid-template-columns: 250px auto; border-radius: 15px; box-shadow: 0 0 15px rgba(0,0,0,.15);}
.my-happy-title .head img {display: block; aspect-ratio: 1/1.774; object-fit: cover; width: 100%; height: 100%;}
.my-happy-title .body {padding: 30px 40px;}
.my-happy-title .board-table table td {padding:}
.my-happy-title .body {padding: 0 40px;}
.my-happy-title .body .status {background: #ff9600; padding: 5px 20px; border-radius: 20px;}

.my-reserve.reservation .head {width: 155px;}
.my-reserve.board-type-img-one .head .img {width: 155px; padding: 0 0 0 20px;}
.my-reserve.reservation > li {display: grid; grid-template-columns: 155px 1fr 1fr; gap: 30px; align-items: center; justify-content: flex-start; border-top: 1px solid #ddd;}
.my-reserve.reservation > li:last-child {border-bottom: 1px solid #ddd;}
.my-reserve.reservation .reserve-info {height: 100%; padding: 20px; align-content: center; width: 100%;}
.my-reserve.reservation {border: none;}
.my-reserve .button a {background: #f3f3f3; border: none; color: #777;}
.my-reserve .button a.on {background: #222; border: none; color: #fff;}
.my-reserve.reservation .body {padding: 0;}

@media (max-width: 767px) {
	.my-happy-title .grid {
		grid-template-columns: 1fr;
		border-radius: 15px;
		box-shadow: 0 0 15px rgba(0,0,0,.15);
	}
	.my-happy-title .head img {
		display: block;
		width: 100%;
		border-radius: 15px;
	}
	.my-happy-title .body {
		padding: 20px;
	}
	.my-happy-title .body h4.flex {
		flex-wrap: wrap;  justify-content: center;
	}
	.my-happy-title .body h4 .margin-l-20 {
		margin-left: 0; margin-top: 15px;
	}
	.my-happy-title .board-table table tr:nth-child(1) {
		display: table-row;
	}
	.my-happy-title .board-table table td {
		padding: 10px;
		text-align: center;
		font-size: 14px;
		display: table-cell;
		border-bottom: 1px solid #ddd;
	}
	.my-happy-title .board-table table .no {
		display: none;
	}
	.my-happy-title .board-table table .name, .my-happy-title .board-table table .date {
		width: 10%; font-size: 12px; color: #777; float: none; border-bottom: 1px solid #ddd; padding-top: 10px;
	}
	.my-happy-title .board-table table .date {
		text-align: center;
	}
	.my-happy-title .board-table table tr td:nth-child(2), .my-happy-title .board-table table tr td:nth-child(3), .my-happy-title .board-table table tr td:nth-child(4) {
		display: none;
	}
	#happyzone-area .search-area.flex {display: block;}
	#happyzone-area .happyzone-table.board-table table tr:nth-child(1) {
		display: table-row;
	}
	#happyzone-area .happyzone-table.board-table table td {
		padding: 10px;
		text-align: center;
		font-size: 14px;
		display: table-cell;
		border-bottom: 1px solid #ddd;
	}
	#happyzone-area .happyzone-table.board-table table .no {
		display: none;
	}
	#happyzone-area .happyzone-table.board-table table .name, #happyzone-area .happyzone-table.board-table table .date {
		width: 10%; font-size: 12px; color: #777; float: none; border-bottom: 1px solid #ddd; padding-top: 10px;
	}
	#happyzone-area .happyzone-table.board-table table .date {
		text-align: center;
	}
	#happyzone-area .happyzone-table.board-table table tr td:nth-child(2), #happyzone-area .happyzone-table.board-table table tr td:nth-child(3), #happyzone-area .happyzone-table.board-table table tr td:nth-child(4) {
		display: none;
	}

	.my-reserve.reservation > li {
		display: grid;
		grid-template-columns: 1fr;
		gap: 15px;
		align-items: center;
		justify-content: flex-start;
		border-top: 1px solid #ddd;
	}
	.my-reserve.reservation .head {
		width: 100%;
	}
		.my-reserve.board-type-img-one .head .img {
		width: 100%;
		padding: 0;
	}
	.reservation .head, .reservation .body {
		padding: 20px 0 0 0;
	}
	.my-reserve.reservation .body {
		padding: 0 20px;
	}
	.board-type-img-one .body .info ul {
		flex-wrap: wrap;
	}
	.board-type-img-one .body .info ul li {
		font-size: 14px;
		padding: 3px 0;
		position: relative;
	}
	.board-type-img-one .body .info ul li:after {display: none;}
	.board-type-img-one .body .price {margin-top: 10px;}
	.my-reserve.reservation .reserve-info {
		height: 100%;
		padding: 0 20px;
		align-content: center;
		width: 100%;
	}
	.my-reserve.reservation .reserve-info .button {
		margin-top: 15px;
	}
	.my-reserve.reservation > li:last-child {
		border-bottom: 1px solid #ddd;
		padding-bottom: 20px;
	}

}

/* 회원가입 */
.join .naver a {display: block; background-image: url(/img/05_mypage/join-naver.png); background-repeat: no-repeat; background-position: left 15px center; background-color: #2db403; color: #fff; line-height: 50px; border-radius: 3px;}
.join .kakao a {display: block; background-image: url(/img/05_mypage/join-kakao.png); background-repeat: no-repeat; background-position: left 15px center; background-color: #fece09; color: #222; line-height: 50px; border-radius: 3px;}
.join .busan a {display: block; background-image: url(/img/05_mypage/join-busan.png); background-repeat: no-repeat; background-position: left 15px center; background-color: #222; color: #fff; line-height: 50px; border-radius: 3px;}

.join .agree {padding: 30px; border-radius: 15px; box-shadow: 0 0 15px rgba(0,0,0,.15);}
.join .agree ul li {transition: background 0.3s ease-in-out;}
.join .agree ul li:first-child {border-bottom: 1px solid #ddd;}
.agree ul li .acc {padding: 20px 0; cursor: pointer; display: flex; align-items: center;}
.agree ul li .acc h5 {font-weight: 400;}
.join .agree ul li:first-child .acc {padding-top: 0;}
.join .agree ul li:first-child .acc h5 {font-weight: 700;}
.agree ul li .acc_cont {display: none; padding: 0 20px 20px 20px; border-bottom: 1px solid #ddd;}
.agree ul li .Qtxt {padding-left: 20px;}
input.mem2[type=checkbox]:not(old) {position: absolute; padding: 0; border: 0 none; background: transparent; cursor: pointer; display: none;}
input.mem2[type=checkbox]:not(old) + label {position: relative; display: block; width: 31px; height: 31px; background: transparent url('/img/layout/checkbox-off.png') top left no-repeat; background-size: 31px 31px; cursor: pointer; cursor: pointer; z-index: 4;}
input.mem2[type=checkbox]:checked + label, input.mem2[type=checkbox]:active + label {background: transparent url('/img/layout/checkbox-on.png') top left  no-repeat; background-size: 31px 31px;}
.join-row {padding: 20px 0; align-items: center; display: grid; grid-template-columns: 20% 1fr;}
.join-row .join-input-box .input-box {background: #f9f9f9; border-radius: 5px; overflow: hidden;}
.join-row .join-input-box .input-box.read-only {background: #fff; height: 50px; padding: 0 10px; line-height: 50px;}
.join-row .join-input-box input[type='text'], .join-row .join-input-box input[type='password'] {height: 50px; width: 100%; padding: 0 10px; background: transparent;}
.join-row .join-input-box input[type='file'] {height: 50px; width: 100%; padding: 15px 10px; background: transparent;}
.join-row .join-input-box.grid {grid-template-columns: 80% calc(20% - 20px); gap: 20px;}
.join-row .join-input-box.grid button {border: 1px solid #222; background: #fff; width: 100%; height: 50px; display: block; border-radius: 5px;}
.join-row .join-input-box.grid .email-wrap .email {width: calc(45% - 9px); height: 46px; outline: none;}
.join select, div.input-wrap select {background: #fff url(/img/board/select-bg.png) right 20px center no-repeat;}
.join-row .join-input-box .input-box textarea {background: transparent; min-height: 200px; width: 100%; padding: 10px;}

.newsletter ul {gap: 25px;}
.newsletter ul li {padding: 20px; border-radius: 15px; box-shadow: 0 0 15px rgba(0,0,0,.15); gap: 25px;}
.newsletter ul li h5 {display: flex; align-items: center;}
.newsletter ul li h5 span {padding: 2px 15px 0 15px; display: inline-flex; color: #fff; border-radius: 10px; font-size: 14px; font-weight: 400; margin-left: 10px;}
.newsletter ul li .bread h5 span {background: #ff0066;}
.newsletter ul li .weekend h5 span {background: #f99b44;}
.newsletter ul li .weeknjoy h5 span {background: #6dbd40;}
.newsletter ul li .newscook h5 span {background: #00c2ba;}

.newsletter ul {gap: 25px;}
.newsletter ul li {padding: 20px; border-radius: 15px; box-shadow: 0 0 15px rgba(0,0,0,.15); gap: 25px;}
.newsletter ul li h5 {display: flex; align-items: center;}
.newsletter ul li h5 span {padding: 2px 15px 0 15px; display: inline-flex; color: #fff; border-radius: 10px; font-size: 14px; font-weight: 400; margin-left: 10px;}
.newsletter ul li .bread h5 span {background: #ff0066;}
.newsletter ul li .weekend h5 span {background: #f99b44;}
.newsletter ul li .weeknjoy h5 span {background: #6dbd40;}
.newsletter ul li .newscook h5 span {background: #00c2ba;}

.button-border-wrap {border-top: 1px solid #ddd; padding-top: 50px;}
.button-border-wrap ul {gap: 30px;}
.button-border-wrap input[type='submit'], .button-border-wrap a {width: 150px; height: 50px; line-height: 50px; display: inline-flex; border-radius: 15px; justify-content: center;}

.join-end {background: #f9f9f9 url(/img/05_mypage/join-end.png) right bottom no-repeat; padding: 100px 80px;}
.join-end h3 strong {background: url(/img/05_mypage/join-line.png) bottom left repeat-x;}
.join-end .join-button a {width: 130px; height: 40px; line-height: 40px; display: inline-flex; border-radius: 5px; justify-content: center;}
.join-end .join-button li:nth-child(1) a {background-color: #222;}
.join-end .join-button li:nth-child(2) a {background-color: #66c1ff;}

@media (max-width: 767px) {
	.join .agree {
		padding: 20px 15px;
		border-radius: 15px;
		box-shadow: 0 0 15px rgba(0,0,0,.15);
	}
	.join-row {
		padding: 10px 0;
		grid-template-columns: 1fr;
		gap: 10px;
	}
	.join-row .join-input-box .input-box.read-only {
		padding-left: 0;
	}
	.join-row .join-input-box.grid {
		grid-template-columns: 1fr;
		gap: 10px;
	}
	#newsletter .grid-4 {grid-template-columns: 1fr; gap: 10px;}
	.newsletter ul {gap: 10px;}
	.button-border-wrap {padding-top: 35px;}
	.button-border-wrap ul {gap: 10px;}
	.button-border-wrap input[type='submit'], .button-border-wrap a {
		width: 135px;
		height: 40px;
		line-height: 40px;
		border-radius: 7px;
	}
}

/* 챌린지 메인 */
.sub_challenge { background: url(/img/00_main/course_bg.jpg) no-repeat right center; padding: 100px 0; margin-bottom: -50px; background-size: cover;}
#challenge-main {max-width: 1920px; margin: 0 auto; position: relative;}
#challenge-main #course-slider {position: relative;}
#challenge-main #course-slider::after {content: ''; display: block; clear: both;}
#challenge-main #course-slider .course-slider {position: absolute; left: 0; height: auto; width: 60.677083%; z-index: 0; overflow: hidden;}
#challenge-main #course-slider .course-slider .img {background-color: #000;}
#challenge-main #course-slider .course-slider .img img {opacity: 0.9;}
#challenge-main .img img {width: 100%; object-fit: cover; display: block;}
#challenge-main .course-slider .img {position: relative;}
#challenge-main .course-slider .img::before {content: ''; position: absolute; top: 0; left: 0; width: 100%; height: 100%; background: linear-gradient(to bottom right, rgba(0, 0, 0, 0.3) 0%, transparent 50%); z-index: 1;}
#challenge-main #course-slider .course-slider .img img {aspect-ratio: 1165/974;}
#challenge-main #course-slider .course-thumb-slider {position: absolute; top: 50%; right: 0; transform: translateY(-50%); height: 850px; overflow: hidden; z-index: 1;}
.swiper-slide-thumb-active .thumbnail {border: 1px solid #00c2ba;}
#challenge-main .course-slider .img, #challenge-main .course-slider .img img {border-radius: 0 10px 10px 0; overflow: hidden;}
#challenge-main .swiper-slide {position: relative;}
#challenge-main .course-slider .swiper-slide .txt {position: absolute; left: 100px; top: 100px; z-index: 1;}
#challenge-main .course-slider .swiper-slide .txt p:nth-child(1) {display: inline-flex; border-radius: 999px; padding: 3px 15px; background-color: #fff;}
#challenge-main .course-thumb-slider .swiper-wrapper {height: 100%;}
#challenge-main .course-thumb-slider .swiper-slide {padding: 10px;}
#challenge-main .course-thumb-slider .swiper-slide .thumbnail {width: 520px; height: 250px !important; box-shadow: 0 0 10px rgba(0, 0, 0, 0.15); border-radius: 10px; display: grid; grid-template-columns: 250px 1fr; overflow: hidden;}
#challenge-main .course-thumb-slider .swiper-slide .img {overflow: hidden; border-radius: 10px 0 0 10px;}
#challenge-main .course-thumb-slider .swiper-slide .img img {aspect-ratio: 1/1;}
#challenge-main .course-thumb-slider .swiper-slide .body {padding: 20px; background-color: #fff; position: relative;}
#challenge-main .course-thumb-slider .swiper-slide .body .status {margin-bottom: 10px;}
#challenge-main .course-thumb-slider .swiper-slide .body .status span {padding: 4px 10px; display: inline-flex; border: 1px solid #ccc; background: #ccc; color: #777; border-radius: 12px; line-height: 1;}
#challenge-main .course-thumb-slider .swiper-slide .body .status span.on {display: inline-flex; border: 1px solid #222; background: #fff; color: #222;}
#challenge-main .course-thumb-slider .swiper-slide .body .info ul li {font-size: 14px; position: relative;}
#challenge-main .course-thumb-slider .swiper-slide .body p {font-size: 14px; color: #b1b1b1; margin-top: 10px;}
#challenge-main .course-thumb-slider .swiper-slide .body .link {position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%); width: calc(100% - 40px);}
#challenge-main .course-thumb-slider .swiper-slide .body .link a {display: block; color: #fff; background: #22a777; height: 36px; line-height: 36px; border-radius: 5px;}

/* 챌린지 코스 */
#challenge .board-type-gallery-box-three .body .info ul {display: block;}
#challenge .board-type-gallery-box-three .body .info ul li {font-size: 14px; padding: 0; position: relative;}
#challenge .board-type-gallery-box-three .body .info ul li:after {display: none;}
#challenge .board-type-gallery-box-three .body p {font-size: 14px; color: #b1b1b1; margin-top: 10px;}
#challenge .board-type-gallery-box-three .body .link {margin-top: 30px;}
#challenge .board-type-gallery-box-three .body .link a {display: block; color: #fff; background: #22a777; height: 36px; line-height: 36px; border-radius: 5px;}

/* 지도보기 */
.map-layer {
    display: none;
    position: fixed; top:0; left:0;
    width:100%; height:100%;
    z-index:1000;
}
.map-layer.open {
    display: block;
}

.map-layer {
  pointer-events: none;
}

/* 지도 컨테이너와 닫기 버튼만 클릭 허용 */
.map-layer.open #map-container,
.map-layer.open .map-close {
  pointer-events: auto;
}

/* ★ 컨테이너를 relative 로 바꿔줍니다 */
#map-container {
    position: absolute;
    top:50%; left:50%;
    width:90%; max-width:600px;
    height:400px;
    transform: translate(-50%,-50%);
    background:#fff;
    border-radius:8px;
    overflow:hidden;
    /* 새로 추가 */
    position: relative;
}

/* 버튼은 map-container 안에서 절대위치 */
#map-container > .map-close {
    position: absolute;
    top:  8px;   /* 맵 박스의 안쪽 여백 정도 */
    right: 8px;  /* 박스 우측 여백 정도 */
    font-size: 24px;
    background: transparent;
    border: none;
    color: #333;    /* 흰 배경 위라면 짙은색으로 */
    cursor: pointer;
    z-index: 10;
}


@media (min-width: 768px) {

}
@media (min-width: 1310px) {

}
@media (min-width: 1530px) {
}


/* [수정] 썸네일 네비게이션 버튼 스타일
- 버튼을 개별적으로 위치시키고 디자인에 맞게 스타일 적용
*/
#challenge-main .swiper-button-prev-thumb,
#challenge-main .swiper-button-next-thumb {
    position: absolute;
    right: 18%;
    z-index: 0;
    pointer-events: auto; /* 숨김 해제 */
}

#challenge-main .swiper-button-prev-thumb {
    top: 0; /* 썸네일 슬라이더 상단 바깥으로 위치 */
}

#challenge-main .swiper-button-next-thumb {
    bottom: 0; /* 썸네일 슬라이더 하단 바깥으로 위치 */
}

#challenge-main .swiper-button-prev-thumb i,
#challenge-main .swiper-button-next-thumb i {font-size: 100px; color: #ddd;}

@media (max-width: 767px) {
    #challenge-main {
        padding: 0;
    }
    #challenge-main #course-slider .course-slider {
        position: relative;
        width: calc(100% - 20px);
        left: 50%;
        transform: translateX(-50%);
    }
    #challenge-main #course-slider > .container {
        padding: 0;
    }
    #challenge-main #course-slider .course-thumb-slider {
        position: relative;
        top: -20px;
        right: 0;
        transform: translateY(0);
        height: auto;
    }
    #challenge-main .course-slider .img, #challenge-main .course-slider .img img {
        border-radius: 10px 10px 0;
    }
    #challenge-main .course-thumb-slider .swiper-slide .thumbnail {
        width: auto;
        height: auto !important;
        grid-template-columns: 1fr;
    }
    #challenge-main .course-thumb-slider .swiper-slide {
        padding: 0;
    }
    #challenge-main .course-thumb-slider .swiper-slide .body {
        padding: 15px;
        min-height: 200px;
    }
    #challenge-main .course-thumb-slider .swiper-slide .body h4 {
        
    }
    /* #challenge-main .course-thumb-slider .swiper-slide .body .info {
        padding-bottom: 100px;
    } */
    /*#challenge-main .course-thumb-slider .swiper-slide .body .info,*/ #challenge-main .course-thumb-slider .swiper-slide .body > p {
        display: none;
    }
    #challenge-main .course-thumb-slider .swiper-slide .img {
        overflow: hidden;
        border-radius: 10px 10px 0 0;
    }
    #challenge-main .course-thumb-slider .swiper-slide .img img {
        aspect-ratio: 16/9;
    }
    #challenge-main .course-thumb-slider .swiper-slide .body .link {
        bottom: 10px;
        width: calc(100% - 20px);
    }
    #challenge-main .course-thumb-wrapper .swiper-thumb-nav {display: none;}
}

/* 스템프 */
.stamp {padding: 40px 0;}
.sub_cert .stamp {border-radius: 20px; background-color: #fff; box-shadow: 0 0 15px rgba(0, 0, 0, 0.2); padding: 40px;}
.stamp.bg-light-gray {background-color: #eee;}
.stamp ul {display: grid; align-items: center; justify-content: space-between; justify-items: center; gap: 40px;}
.stamp ul li {width: 147px; height: 147px; align-items: center; display: flex; justify-content: center; text-align: center; font-size: 30px; color: #ccc; line-height: 1.2; font-family: 'S-CoreDream-6Bold'; background-image: url(/img/02_cert/bg-stamp.png); background-position: center center; background-repeat: no-repeat;}
.stamp ul li a {font-size: 30px; color: #ccc; line-height: 1.2; font-family: 'S-CoreDream-6Bold'; display: block;}
.stamp ul li.active {color: #e25959; background-image: url(/img/02_cert/bg-stamp-on.png); background-position: center center; background-repeat: no-repeat;}
.stamp ul li.active a {color: #e25959;}
.stamp ul li.medal {color: #fff; background-image: url(/img/02_cert/bg-medal.png);}
.stamp ul li.medal.active {color: #fff; background-image: url(/img/02_cert/bg-medal-on.png);}

@media (max-width: 767px) {
    .stamp {padding: 20px 0;}
    .sub_cert .stamp {border-radius: 15px; padding: 15px 0;}
	.stamp ul {grid-template-columns: repeat(4, 1fr); gap: 20px;}
	.stamp ul li {width: 50px; height: 50px; font-size: 12px; background-size: cover;}
    .stamp ul li a {font-size: 12px;}
}
@media (min-width: 768px){
	.stamp ul {grid-template-columns: repeat(2, 1fr);}
}
@media (min-width: 992px){
	.stamp ul {grid-template-columns: repeat(4, 147px);}
}
@media (min-width: 1310px){
}
@media (min-width: 1530px){
	
}

/* 스템프 안내 */
.stamp-tab ul {gap: 50px; padding: 0 50px;}
.stamp-tab ul li {width: calc(100% / 5);}
.stamp-tab ul li a {background-color: #eee; color: #777; padding: 30px 0 25px 0; border-radius: 10px 10px 0 0; width: 100%; display: block; font-size: 24px;}
.stamp-tab ul li.active a {color: #fff;}
.mountain .stamp-tab ul li.active a {background-color: #00aa7d;}

.stamp-content {border-radius: 15px 15px 0 0; overflow: hidden;}
.mountain .stamp-content {background: #00aa7d;}
.stamp-content .head {padding: 50px 90px 0 90px;}
.stamp-content .head ul {gap: 100px; border-bottom: 1px solid #fff; padding-bottom: 30px;}
.stamp-content .head ul li:nth-child(1) a h5 {background-image: url(/img/05_mypage/icon-mountain01.png);}
.stamp-content .head ul li:nth-child(2) a h5 {background-image: url(/img/05_mypage/icon-mountain02.png);}
.stamp-content .head ul li:nth-child(3) a h5 {background-image: url(/img/05_mypage/icon-mountain03.png);}
.stamp-content .head ul li a h5 {color: #fff; padding-top: 90px; background-position: top center; background-repeat: no-repeat;}

.stamp-content .body {padding: 0 90px 100px 90px;}
.stamp-mypage .stamp {padding: 40px 0;}
.stamp-mypage .stamp ul {display: grid; align-items: center; justify-content: space-between; gap: 40px;}
.stamp-mypage .stamp ul li {width: 147px; height: 147px; align-items: center; display: flex; justify-content: center; text-align: center; font-size: 30px; color: #fff; line-height: 1.2; font-family: 'S-CoreDream-6Bold'; background-image: url(/img/05_mypage/bg-stamp-mypage.png); background-position: center center; background-repeat: no-repeat;}
.stamp-mypage .stamp ul li.active {color: #ffd145; background-image: url(/img/05_mypage/bg-stamp-mypage-on.png);}
.stamp-mypage .stamp ul li.medal {color: #fff; background: url(/img/01_course/bg-medal.png); background-position: center center; background-repeat: no-repeat;}
.stamp-mypage .stamp ul li.medal.active {color: #fff; background: url(/img/01_course/bg-medal-on.png); background-size: cover;}

.stamp-content .foot {padding: 100px 40px; background: #f7f7f7; border-radius: 50px 0 0 0; box-shadow: 0 -20px 40px rgba(0,0,0,.25);}
.stamp-content .foot ul li.relative {overflow: hidden; border-radius: 20px; box-shadow: 0 0 10px rgba(0,0,0,.15);}
.thumbnail img {width: 100%; height: 100%; display: block;}
.description {background: rgba(8,63,49,0.0); opacity: 0; filter: alpha(opacity=0); position: absolute; top: 0; left: 0; width: 100%; height: 100%; overflow: hidden; transition: all .4s ease-in-out; -webkit-transition: all .4s ease-in-out; -moz-transition: all .4s ease-in-out; -o-transition: all .4s ease-in-out; padding: 20px; display: grid; align-content: space-between;}
.description:hover {background: rgba(8,63,49,0.75); opacity: 1; filter: alpha(opacity=0.75);cursor: pointer;}
.description .status span {font-size: 14px; border: 1px solid #fff; width: 50px; height: 24px; line-height: 24px; border-radius: 12px; color: #fff; display: inline-flex; justify-content: center;}
.description a {display: block; position: relative; width: 100%; height: 100%; cursor: pointer;}
.description h2 {font-size: 36px; color: #fff; position: absolute; left: 50%; top: 50%; transform: translate(-50%, -50%);}
.stamp-content .foot ul li.relative .button a {color: #fff; background: #22a777; border-radius: 5px; text-align: center; border: none; line-height: 36px; height: 36px; padding: 0;}

@media (max-width: 767px) {
	.stamp-tab ul {
		gap: 5px;
		padding: 0 5px;
	}
	.stamp-tab ul li a {
		background-color: #eee;
		color: #777;
		padding: 15px 0 10px 0;
		border-radius: 5px 5px 0 0;
		width: 100%;
		display: block;
		font-size: 18px;
	}
	.stamp-content {
		border-radius: 5px 5px 0 0;
		overflow: hidden;
	}
	.stamp-content .head {
		padding: 40px 15px 0 15px;
	}
	.stamp-content .head ul {
		gap: 30px;
		border-bottom: 1px solid #fff;
		padding-bottom: 20px;
	}
	.stamp-content .head ul li a h5 {
		padding-top: 70px;
	}
	.stamp-content .body {
		padding: 0 10px 0 10px;
	}
	.stamp-mypage .stamp ul li {
		width: 120px; height: 120px; font-size: 30px; background-size: cover;
	}
	.stamp-mypage .stamp ul {
		gap: 20px;
	}
	.stamp-content .foot {
		padding: 40px 20px;
		background: #f7f7f7;
		border-radius: 20px 0 0 0;
		box-shadow: 0 -10px 20px rgba(0,0,0,.25);
	}
	.stamp-content .foot .grid-4 {
		grid-template-columns: 1fr;
	}
}

/* 게시판 읽기 페이지 */
.board-read {border-top: 2px solid #222;}
.board-read .board-row {border-bottom: 1px solid #ddd; margin-bottom: 30px;}
.board-read .board-inner-row {border-top: 1px solid #eee;}
.board-read .content-read {padding: 20px; min-height: 200px;}
.board-read .content-read, .board-read .content-read p, .board-read .content-read span, .board-read .content-read div {font-size: 14pt !important; font-family: 'Pretendard';}
.content-read.tab-content img {max-width: 100%;}
.board-read .content-read table {width: 100%; border-top: 2px solid #222;}
.board-read .content-read table th, .board-read .content-read table td {padding: 10px; text-align: left; border-bottom: 1px solid #ddd;}
.board-read .content-read table th {background: #eee;}

@media (max-width: 767px) {
	.board-read-list {flex-wrap: wrap;}
	.board-read-list .button-xsmall {flex-wrap: wrap;}
	.board-read .content-read {
		padding: 15px 0;
		min-height: 200px;
	}
	.title-read {flex-wrap: wrap;}
	.title-read > p {line-height: 1.2; width: 100%; margin-bottom: 10px;}
	.title-read > div {
		justify-content: left;
		width: 100%;
		flex-wrap: wrap;
		gap: 0px 10px;
	}
	.title-read .width-100 {flex-wrap: wrap;}
	.title-read .width-10 {width: 20%;}
	/* .board-read .content-read table colgroup {
		display: none;
	}
	.board-read .content-read table th, .board-read .content-read table td {
		width: 100%;
		display: block;
	} */
	.board-read .content-read table th, .board-read .content-read table td {
		padding: 7px;
		text-align: left;
		border-bottom: 1px solid #ddd;
		font-size: 12px;
	}
	.board-read .content-read, .board-read .content-read p, .board-read .content-read span, .board-read .content-read div {
		font-size: 1.2em;
	}
	.quiz-reply .light-gray.font-12 {font-size: 12px !important;}
}

/* 댓글 */
.reply .reply-box {background: #f7fbff; border: 1px solid #e1ebf4; position: relative; border-radius: 3px;}
.reply .reply-box .reply-box-inner {display: flex; align-items: center;}
.reply .reply-box .star {border-right: 1px solid #e1ebf4; padding: 10px; width: 171px; height: 97px; line-height: 89px;}
.reply .reply-box textarea {width: calc(100% - 80px); background: none; border: none; padding: 10px; height: 97px; display: block;}
.reply .reply-box label {position: absolute; left: 10px; top: 10px; color: #777; font-size: 14px;}
.reply .reply-box input[type='submit'] {color: #fff; background: #222; border-radius: 0 3px 3px 0; display: block; width: 80px; height: 99px; border: 1px solid #222;}
/* 댓글 수정시 */
.reply .reply-box input[type='submit'].modify-submit {color: #fff; background: #222; border-radius: 0 3px 0 0; display: block; width: 80px; height: 50px; border: 1px solid #222;}
.reply .reply-box button.modify-cancel {color: #fff; background: #999; border-radius: 0 0 3px 0; display: block; width: 80px; height: 49px; border: 1px solid #999;}
/* 댓글 수정시 */
.reply .reply-button span a {padding: 1px 10px 3px 10px; border: 1px solid #ddd; border-radius: 3px;}
.reply .reply-button span:last-child a {border: 1px solid #222; background: #222; color: #fff;}
/* 댓글크기 */
/* 댓글 */
.reply .reply-box p span {font-size: 1.3em!important;}
@media (max-width: 767px) {
	.reply .reply-box .reply-box-inner {flex-wrap: wrap;}
	.reply .reply-box .star {
		border-bottom: 1px solid #e1ebf4;
		border-right: 0;
		padding: 10px 5px;
		width: 100%;
		height: 44px;
		line-height: 24px;
	}
	.reply .reply-box textarea {
		width: calc(100% - 80px);
		background: none;
		border: none;
		padding: 10px;
		height: 97px;
		display: block;
	}
	.reply-view .flex {flex-wrap: wrap;}
	.reply-view > .flex .star {width: 100%;}
}

/* 문의 게시판 */
.inquiry-status {width: 120px; height: 45px; line-height: 45px; display: inline-block; text-align: center;}
.inquiry-status.done {background: #222; color: #fff;}
.inquiry-status.wait {background: #fd5e00; color: #fff;}
.inquiry .reply-box {min-height: 250px;}
.inquiry-password {max-width: 600px; margin: 0 auto;}
.inquiry-password .inquiry-password-box {border: 1px solid #ddd; padding: 50px 100px;}
.inquiry-password input[type='password'] {border: 1px solid #ddd; width: 100%; height: 40px;}
.inquiry.privacy-box pre {width: 100%; word-break: keep-all; background: #fff; padding: 15px; height: 165px; overflow-y: auto; border: 1px solid #ddd;}
.inquiry-write table {border-top: 2px solid #333; width: 100%; border-collapse: collapse; margin-bottom: 30px;}
.inquiry-write table td .customer_input {width: 100%; height: 40px; padding: 5px 10px;}
.inquiry-write table td .customer_input2 {width: 350px; height: 40px; padding: 5px 10px;}
.inquiry-write table td .customer_input3 {width: 200px; height: 40px; padding: 5px 10px;}
.inquiry-write table td .customer_input4 {width: 50%; height: 40px; padding: 5px 10px;}
.inquiry-write table td input, .inquiry-write table td textarea,.inquiry-write table td select {border: 1px solid #ddd; font-size: 18px;}
.inquiry-write table td select {width: 160px; height: 40px; padding: 0 0 0 10px;}
.inquiry-write table th {padding: 20px 15px; font-size: 18px; font-weight: 700; color: #222; position: relative; text-align: left;}
.inquiry-write table .notice th {text-align: center; background: #ececf8;}
.inquiry-write table td {padding: 15px 15px; color: #777;}
.inquiry-write table td label {font-size: 18px; font-weight: normal; vertical-align: middle;}
.inquiry-write table th, .inquiry-write table td {border-bottom: 1px solid #ddd;}
input.mem2[type=checkbox]:not(old) {position: absolute; padding: 0; border: 0 none; background: transparent; cursor: pointer; display: none;}
input.mem2[type=checkbox]:not(old) + label {position: relative; display: inline-block; padding-left: 36px; background: transparent url('../../img/layout/checkbox-off.png') top left no-repeat; background-size: 31px; font-size: 18px; cursor: pointer; vertical-align: middle; cursor: pointer; z-index: 4;}
input.mem2[type=checkbox]:checked + label, input.mem2[type=checkbox]:active + label {background: transparent url('../../img/layout/checkbox-on.png') top left no-repeat;}
.inquiry-write input[type=radio] {display: none;}
input.mem3[type=radio]:not(old) + label {position: relative; display: inline-block; padding-left: 30px; padding-top: 5px; padding-bottom: 5px; background: transparent url('../../img/layout/radio-off.png') top 7px left no-repeat; background-size: 22px 22px; font-size: 18px; cursor: pointer; vertical-align: top; cursor: pointer; z-index: 4;}
input.mem3[type=radio]:checked + label, input.mem3[type=radio]:active + label {background: transparent url('../../img/layout/radio-on.png') top 7px left  no-repeat; background-size: 22px 22px;}

.inquiry-write td.file input[type=radio] {display: none;}
.inquiry-write td.file input[type=radio]:not(old) + label {position: relative; display: inline-block; padding-left: 30px; padding-top: 5px; padding-bottom: 5px; background: transparent url('../../img/layout/radio-off.png') top 7px left no-repeat; background-size: 22px 22px; font-size: 18px; cursor: pointer; vertical-align: top; cursor: pointer; z-index: 4;}
.inquiry-write td.file input[type=radio]:checked + label, .inquiry-write td.file input[type=radio]:active + label {background: transparent url('../../img/layout/radio-on.png') top 7px left  no-repeat; background-size: 22px 22px;}

.inquiry-write table td .customer_input3 {width: 160px; height: 40px; padding: 0 0 0 10px;}
.inquiry-write table td textarea {width: 100%; height: 350px; padding: 10px; outline: none;}
.button_wrap {text-align: center; margin-top: 30px;}
.button_wrap::after {clear: both; display: block; content: "";}
.button_wrap > button {width: 120px; height: 40px; display: inline-block;}
.button_wrap .button_reset {background-color: #999; border: 1px solid #999 !important; color: #fff !important; float: left; cursor: pointer; font-size: 18px;}
.button_wrap .button_submit {background-color: #222; border: 1px solid #222 !important; color: #fff !important; float: right; cursor: pointer; font-size: 18px;}

@media (max-width: 767px) {
	.inquiry-write colgroup {display: none;}
	.inquiry-write table th, .inquiry-write table td {display: block; width: 100%;}
	.inquiry-write table td .customer_input2, .inquiry-write table td .customer_input4 {
		width: 100%;
		height: 40px;
		padding: 5px 10px;
	}
	.inquiry-write table th {
		padding: 10px 0;
		border-bottom: 0;
		font-size: 14px;
	}
	.inquiry-write table td {
		padding: 10px 0;
	}
	.inquiry-write table td input[type='file'] {width: 100%;}
}

.ticket-banner {border-radius: 15px; overflow: hidden; border: 1px solid #ddd;}
.ticket-banner .img img {max-width: 100%; display: block; height: 100%; object-fit: cover;}
.ticket-banner .txt {padding: 0 50px;}

@media (max-width: 767px) {
	.ticket-banner > div {
		flex-wrap: wrap;
	}
	.ticket-banner .txt {
		padding: 15px;
	}
}

/* 마이페이지 포인트 */
.mypoint .box-shadow {padding: 30px; border-radius: 10px;}

/* 퀴즈 */
.quiz {padding: 30px; max-width: 1240px; margin: 0 auto;}
.quiz h2 {font-size: 24px;}
.quiz h2 span {background: #1678ff; width: 24px; height: 24px; border-radius: 50%; display: inline-block; text-align: center;}
.quiz h2 span i {color: #fff; font-size: 18px; line-height: 24px;}
.quiz_cate {background-color: #f5f5f5; padding: 15px; border: 1px solid #eee;}
.quiz .btn_box {text-align: center; margin: 15px 0;}
.quiz input[type='submit'] {background: #333; color: #fff; padding: 7px 20px;}
.quiz input[type='submit'].btn_event {background: #1678ff; border-radius: 3px;}
.quiz .e_search_box {background: #f5f5f5; padding: 20px; border: 1px solid #eee; text-align: center; margin: 15px 0 20px 0;}
.quiz input[type='text'] {height: 32px; line-height: 32px; border: 1px solid #ddd; padding: 5px;}
#ans_cnt {width: 30px; text-align: center; margin-top: 10px;}
.quiz table {border-right: 2px solid #fff;}
.quiz table th {border-right: 1px solid #ddd;}
.quiz table td {border-right: 1px solid #ddd; text-align: left; line-height: 1.5;}
.quiz textarea {padding: 10px; border: 1px solid #ddd;}
.quiz .cur_list tr td {text-align: center;}
.quiz .cur_list tr td:nth-child(6) {text-align: left;}

.event-quiz-area .answer input[type='text'] {height: 32px; line-height: 32px; border: 1px solid #ddd; padding: 5px;}
.event-quiz-area textarea {padding: 10px; border: 1px solid #ddd; width: calc(100% - 10px); margin-top: 5px; border-radius: 3px;height:100px;}

.point-modal {padding: 30px;}
.point-modal input[type='text'] {height: 28px; line-height: 28px; padding: 5px; border: 1px solid #ddd;}
.point-modal input[type='button'] {border-radius: 3px;}
.point-modal #ok {background-color:#1678ff; border:none; color:#fff; padding:5px 20px 5px 20px;}
.point-modal #cancel {background-color:#999; border:none; color:#fff; padding:5px 20px 5px 20px;}

/* modal */
#mbtn {
	display: inline-block;
    font-weight: 400;
    text-align: center;
    white-space: nowrap;
    vertical-align: middle;
    border: 1px solid transparent;
    padding: .375rem .75rem;
    font-size: 1rem;
    line-height: 1.5;
    border-radius: .25rem;
    cursor: pointer;
    color: #fff;
    background-color: #007bff;
    border-color: #007bff;
}
.animate-top {
	position:relative;
	animation:animatetop 0.4s
}
@keyframes animatetop {
	from {top:-300px; opacity:0}
	to {top:0; opacity:1}
}
.modal {
	display: none;
	position: fixed;
	z-index: 1;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	overflow: auto;
	background-color: rgba(0, 0, 0, 0.275);
}

.modal-content {
	margin: 5% auto;
	width: 500px;
	max-width: 90%;
	background-color: #fff;
	border: 1px solid rgba(0, 0, 0, 0.175);
	border-radius: .3rem;
	outline: 0;
}
.modal-header {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: start;
	-ms-flex-align: start;
	align-items: flex-start;
	-webkit-box-pack: justify;
	-ms-flex-pack: justify;
	justify-content: space-between;
	padding: 1rem;
	border-bottom: 1px solid #e9ecef;
	border-top-left-radius: .3rem;
	border-top-right-radius: .3rem;
}
.modal-title {
	margin-bottom: 0;
	line-height: 1.5;
	margin-top: 0;
	font-size: 1.25rem;
}
.modal-header .close {
	float: right;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1;
	color: #000;
	text-shadow: 0 1px 0 #fff;
	opacity: .5;
	padding: 1rem;
	margin: -1rem -1rem -1rem auto;
	background-color: transparent;
	border: 0;
}
.close:not(:disabled):not(.disabled) {
	cursor: pointer;
}

.modal-body {
	flex: 1 1 auto;
	padding: 1rem;
}
.modal-body p {
	margin-top: 0;
	margin-bottom: 1rem;
}
.modal-footer {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-align: center;
	-ms-flex-align: center;
	align-items: center;
	-webkit-box-pack: end;
	-ms-flex-pack: end;
	justify-content: flex-end;
	padding: 1rem;
	border-top: 1px solid #e9ecef;
}
.modal-footer>*{
	margin: 5px;
}

.happyzone-link {background-color: #1877f2; color: #fff; font-size: 24px; padding: 15px 30px; font-weight: 300; border-radius: 5px; display: inline-block;}
.happyzone-link i {color: #ffcc00;}

.recommend-button a, .recommend-button input, .recommend-button button {display: inline-block; padding: 10px 20px; border-radius: 5px; border: 1px solid #ddd;}
.recommend-button a i, .recommend-button input i, .recommend-button button i {opacity: 0.75;}
.recommend-button a.active i, .recommend-button input.active i, .recommend-button button.active i {opacity: 1;}
.recommend-button a.active, .recommend-button input.active, .recommend-button button.active {display: inline-block; padding: 10px 20px; border-radius: 5px; color: #222; border: 1px solid #999; font-weight: 700; box-shadow: 0 0 5px rgba(0, 0, 0, 0.2);}
.recommend-button.like a.active span, .recommend-button.like input.active span, .recommend-button.like button.active span {color: #ff2700;}
.recommend-button.hate a.active span, .recommend-button.hate input.active span, .recommend-button.hate button.active span {color: #1678ff;}

.recommend a.active, .recommend input.active, .recommend button.active {font-weight: 700; color: #222;}
.recommend a i, .recommend input i, .recommend button i {opacity: 0.75;}
.recommend a.active i, .recommend input.active i, .recommend button.active i {opacity: 1;}
.recommend .like a.active span, .recommend .like input.active span, .recommend .like button.active span {color: #ff2700;}
.recommend .hate a.active span, .recommend .hate input.active span, .recommend .hate button.active span {color: #1678ff;}

/* 메인검색추가 */
#keyword2 {border: 1px solid #999999;height: 50px;  width: 30%;border-radius: 30px 0px 0px 30px;  padding-left: 30px;font-size: 17px;opacity: 50%;}
.board-search-button2 {background-size: 18px;background: #7b7b7b url(../img/button-search.png) center center no-repeat;color: #fff;height: 50px;width: 80px;border-radius: 0px 30px 30px 0px;background-size: 18px;}

/* 상단 검색창 관련 */
/* 모달 기본 숨김 */
.search-modal { display: none; position: fixed; inset: 0; z-index: 1000; }
.search-modal.open { display: block; }

/* 배경 반투명 */
.search-modal-bg {
	position: absolute; inset: 0;
	background: rgba(0,0,0,.7);
}

/* 콘텐츠 중앙 정렬 */
.search-modal-content {
	position: absolute;
	width: 90%; max-width: 1200px;
	padding: 0;
	top: 50%; left: 50%;
	transform: translate(-50%, -50%);
}

/* 모달 닫기 버튼 */
.modal-close {
    position: absolute;
    top: -38px;
    right: 0;
    background: none;
    border: none;
    font-size: 30px;
    color: #fff;
}

/* 인증하기 페이지 */
/* 전체 기능을 감싸는 컨테이너 스타일 */
.checkpoint-container {
    border: 1px solid #e0e0e0;
    padding: 30px 20px 20px;
    border-radius: 8px;
    /* max-width: 500px; */
    background-color: #f9f9f9;
}
.checkpoint-container h5 {
    gap: 10px;
    margin-bottom: 15px;
    font-weight: normal;
    display: flex; /* [추가] 세로 정렬을 위해 flex 추가 */
    align-items: center; /* [추가] 세로 정렬을 위해 flex 추가 */
}
.checkpoint-container h5 a {color: #1678ff;}
.auth-filename {
    margin-left: 10px;
    font-size: 14px;
}

/* [추가] 인증 상태(Y/N) 스타일 */
.auth-status {
    font-weight: bold;
    padding: 2px 8px;
    border-radius: 4px;
    font-size: 14px;
    color: #fff;
}
.auth-status.status-y {
    background-color: #28a745; /* 초록색 */
}
.auth-status.status-n {
    background-color: #dc3545; /* 빨간색 */
}

/* 실제 파일 입력(input) 태그는 화면에 보이지 않도록 숨김 처리합니다. */
.file-input {
    display: none;
}

/* 파일 선택을 위한 커스텀 버튼 역할을 하는 label 태그 스타일 */
.custom-file-upload {
    display: block;
    padding: 12px 20px;
    background-color: #fff;
    border: 1px solid #ccc;
    border-radius: 4px;
    cursor: pointer;
    text-align: center;
    transition: background-color 0.2s;
}
.custom-file-upload:hover {
    background-color: #f0f0f0;
}

/* 이미지 미리보기를 감싸는 영역 스타일 */
.image-preview-container {
    display: none;
    margin-top: 15px;
    text-align: center;
    border: 1px dashed #ccc;
    padding: 10px;
    border-radius: 4px;
}
.image-preview-container img {
    max-width: 100%;
    max-height: 300px;
    border-radius: 4px;
}

/* 버튼들을 감싸는 영역 스타일 */
.btn-wrapper {
    margin-top: 15px;
    display: flex;
    justify-content: flex-end;
    gap: 10px;
}

/* 공통 버튼 스타일 */
.btn {
    padding: 12px 25px;
    border: none;
    border-radius: 4px;
    cursor: pointer;
    transition: opacity 0.2s;
}
.btn:hover {
    opacity: 0.8;
}
.btn i {
    margin-left: 8px;
}

/* 개별 버튼 스타일 */
.register-btn { background-color: #363636; color: #fff; }
.cancel-btn { background-color: #888; color: #fff; }
.view-location-btn { background-color: #fff; color: #333; border: 1px solid #ccc; }
.after-register {display: flex; gap: 10px;}
/* 숨김 처리를 위한 클래스 */
.hidden {
    display: none !important;
}

/* 확인 팝업 스타일 */
.confirm-overlay {
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: rgba(0, 0, 0, 0.6);
    z-index: 2000;
    display: flex;
    justify-content: center;
    align-items: center;
}
.confirm-modal {
    background-color: #fff;
    padding: 30px;
    border-radius: 8px;
    text-align: center;
    max-width: 400px;
    box-shadow: 0 4px 15px rgba(0,0,0,0.2);
}
.confirm-message {
    font-size: 16px;
    line-height: 1.6;
    margin: 0 0 24px 0;
}
.confirm-actions {
    display: flex;
    gap: 12px;
    justify-content: center;
}
.confirm-actions button {
    padding: 10px 30px;
    font-size: 15px;
    border-radius: 4px;
    border: 1px solid #ccc;
    cursor: pointer;
}
.confirm-actions .btn-yes {
    background-color: #d9534f;
    color: #fff;
    border-color: #d9534f;
}
.confirm-actions .btn-ok {
    background-color: #363636;
    color: #fff;
    border-color: #363636;
}

@media (max-width: 767px) {
	
}