@charset "utf-8";

@media screen and (min-width:768px) and (max-width:1280px){
	div.side-fix-in{width:100%}
	div.side-fix button{width:100%}
}
@media screen and (max-width:1280px){
	div.side-fix{display:flex; justify-content:center; align-items:center; position:fixed; z-index:50; bottom:30px; right:0; left:0; padding:0 3vw}
	div.side-fix-in{padding:5px; border-radius:500px; background:#fff; box-shadow:0 0 6px rgb(36 24 64 / 30%)}
	div.side-fix button{display:flex; justify-content:center; align-items:center; padding:15px 30px; border-radius:500px; color:var(--color-primary); font-size:15px}
	div.side-fix button.map{background-color:var(--color-background-primary); transition:.3s}
	div.side-fix button.map i.icon{display:flex; width:12px; height:14px; margin-right:10px}
	div.side-fix button.map i.icon svg{fill:var(--color-primary)}
}
@media screen and (min-width:1281px){
	div.side-fix{display:none}
}

/* 레이아웃(layout) */
@media screen and (max-width:1280px){
}
@media screen and (min-width:1281px){
	main.place{display:flex}
}
/* 레이아웃(layout) */

/* 왼쪽 메뉴(aside.place-cate) */
aside.place-cate{box-sizing:border-box}
a.place-cate-link{display:block}
span.place-cate-text{position: relative; color: var(--color-text-deeper); transition:.3s}
a.place-cate-link:hover span.place-cate-text{color:var(--color-text)}
a.place-cate-link:hover span.place-cate-text::after{content: ''; display: inline-block; background-color: var(--color-tertiary); border-radius: 50%; position: absolute; top: 0}
a.place-cate-link:focus span.place-cate-text{color: var(--color-text)}
a.place-cate-link:focus span.place-cate-text::after{content: ''; display: inline-block; background-color: var(--color-tertiary); border-radius: 50%; position: absolute; top: 0}
a.place-cate-link span.place-cate-text.on{color:var(--color-text)}
a.place-cate-link span.place-cate-text.on::after{content: ''; display: inline-block; background-color: var(--color-tertiary); border-radius: 50%; position: absolute; top: 0}
div.place-cate-option-title{border-top: 1px solid var(--color-border)}
@media screen and (max-width:767px){
	h2.place-cate-title{font-size: 1.43rem}
	a.place-cate-link span.place-cate-text{font-size: 14px}
}
@media screen and (min-width:768px) and (max-width:1280px){
	h2.place-cate-title{font-size: 1.6rem}
	a.place-cate-link span.place-cate-text{font-size: 15px}
}
@media screen and (max-width:1280px){
	aside.place-cate{}
	div.place-cate-title{padding: 1rem 3vw 1.33rem; }
	h2.place-cate-title{}
	div.place-cate-option{display: none}
	ul.place-cate-lists{display: flex; flex-wrap: wrap; border-top: 1px solid var(--color-border);}
	li.place-cate-list{width: calc(100% / 4); box-sizing: border-box; border-right: 1px solid var(--color-border); border-bottom: 1px solid var(--color-border)}
	li.place-cate-list:nth-child(4n){border-right: 0}
	a.place-cate-link{padding: 0 0.67rem; align-items: center; height: 46px; display: flex; justify-content: center}
	span.place-cate-text{text-align: center}
	a.place-cate-link:hover span.place-cate-text::after{width: 0.27rem; height: 0.27rem; right: -0.67rem}
	a.place-cate-link:focus span.place-cate-text::after{width: 0.27rem; height: 0.27rem; right: -0.67rem}
	a.place-cate-link span.place-cate-text.on::after{width: 0.27rem; height: 0.27rem; right: -0.67rem}
	div.place-cate-option-title{padding: 4rem 0 2rem; margin-top: 4rem}
}
@media screen and (min-width:1281px){
	aside.place-cate{position:sticky; bottom:0; flex-shrink:0; align-self:flex-end; width:22rem; padding:3rem; background:#f6f5f8; height: calc(100vh - 144px); overflow-y: auto;}
	aside.place-cate.scrolled {height: calc(100vh - 131px);}

	h2.place-cate-title{position:relative; font-size:1.62rem}
	div.place-cate-list{margin:3rem 0 0 0}
	li.place-cate-list{padding-bottom:1.25rem}
	li.place-cate-list:last-child{padding-bottom:0}
	span.place-cate-text{font-size:1.13rem}
	a.place-cate-link:hover span.place-cate-text::after{width:0.37rem; height:0.37rem; right:-0.62rem}
	a.place-cate-link:focus span.place-cate-text::after{width:0.37rem; height:0.37rem; right:-0.62rem}
	a.place-cate-link span.place-cate-text.on::after{width:0.37rem; height:0.37rem; right:-0.62rem}
	div.place-cate-option-title{padding: 3.75rem 0 1.87rem; margin-top: 3.75rem}
}
/* 왼쪽 메뉴(aside.place-cate) */

/* 정렬 선택박스 (추천순, 조회순) */
.select-box {position: relative; width: 6.875rem;}
.select-trigger {width: 100%; height: 2rem;  display: flex; justify-content: space-between; gap: 0.625rem; box-sizing: border-box; border-radius: 0.2rem; padding: 0.2rem;}
.select-trigger:hover {background: #F7F6F9;}
.selected-text {font-size: 1rem; font-weight: 400; display: flex; align-items: center;}
.arrow-icon {display: flex; width: 1rem; aspect-ratio: 1/1; justify-content: center; align-items: center;}
.select-list {position: absolute; top: 105%; left: 0; width: 100%; max-height: 30vh; overflow: auto; border-radius: 0.2rem; display:none; box-shadow: 0px 3px 5px rgba(17,0,55,0.09);}
.select-list.on {display: block; z-index: 1;}
.select-option {cursor:pointer; display: flex; align-items: center; width: 100%place-list-stat; height: 2.5rem;  background: #F7F6F9; border: 1px solid var(--color-border-lightest); box-sizing: border-box; padding: 1.25rem 1.5625rem;}
.select-option:hover {background: var(--color-button-background-secondary-hover);}
@media screen and (max-width:1280px){
	.select-box {padding: 0 3vw;}
}
@media screen and (max-width:767px){
	.select-trigger {padding: 1rem; height: 3rem;}
}
/* 정렬 선택박스 (추천순, 조회순) */

/* 업체 목록(section.place-list) */
section.place-list{box-sizing:border-box}
div.place-list-title{display:flex; flex-wrap:nowrap; justify-content:space-between; align-items:center}
h1.place-list-title{font-weight:700}
a.place-list-img{position:relative; display:block; flex-shrink: 0; aspect-ratio:1/1; border-radius:10px; overflow:hidden; cursor:pointer; border: 1px solid #eee;}
span.place-list-num {position: absolute; top: 0; left: 0; display: flex; align-items: center; justify-content: center; width: 3.125rem; height: 3.125rem; background: var(--color-primary); color: #fff; font-size:1.125rem; font-weight:700; }
img.place-list-img{display:block; width:100%; height:100%; object-fit:cover}
div.place-list-text{position:relative; display:flex; flex-direction:column; align-items:flex-start; flex:1; box-sizing:border-box}
div.place-list-bizNm{display:flex; justify-content:flex-start; align-items:center; padding-right: 2.5rem;}
h2.place-list-bizNm{font-weight:700}
a.place-list-bizNm{color:var(--color-text)}
span.place-list-cate{}
a.place-list-cate{font-weight: 400; color:var(--color-text-date)}
div.place-list-rate{display:flex; justify-content:flex-start; align-items:center}
div.place-list-tel{font-weight: 600}
div.place-list-adr{width: 100%; border-bottom: 1px solid var(--color-border)}
div.place-list-star{display:flex; align-items:center; overflow:hidden}
span.place-list-star{flex:none; width:17px; height:17px; margin:0 3px 0 0}
span.place-list-star:last-child{margin:0}
span.place-list-star svg{display:block; width:100%; height:100%; fill:var(--color-tertiary)}
div.place-list-rating{display:flex; justify-content:flex-start; align-items:center}
span.place-list-rating{color:var(--color-tertiary); font-weight:600}
span.place-list-rating-cnt{color: var(--color-secondary); background-color: var(--color-background-primary); border-radius: 500px; font-size: 14px}
div.place-list-keyword{display:flex; flex-wrap:wrap; justify-content:flex-start; align-items:flex-start; width:100%; height: 1rem; overflow: hidden;}
a.place-list-keyword{display:block; color:var(--color-text-date); white-space:nowrap}
a.place-list-keyword:last-child{margin:0}
a.place-list-keyword:before{content: '#'; display: inline-block; margin-right: 5px}
div.place-list-stats{position:absolute; top:0; right:0; display:flex; align-items:center}
button.place-list-stat{display:flex; align-items:center; color:var(--color-text-deep); transition:.4s}
button.place-list-stat:hover{color:#9c9aa7}
button.place-list-stat:hover svg{fill: #9c9aa7}
i.place-list-stat-icon {display:flex; align-items:center;}
i.place-list-stat-icon svg{transition:.4s; fill:var(--color-icon-fill-lightest)}
button.place-list-stat.on i.place-list-stat-icon svg{transition:.4s; fill: #df1a42;}

@media screen and (max-width:428px){
	ul.place-list{margin:-1.87rem 0}
	li.place-list{padding:1.87rem 0}
	h2.place-list-bizNm{font-size:24px}
	div.place-list-tel{font-size:17px}
	div.place-list-adr{font-size:15px}
	button.place-list-stat{margin-left:15px}
}
@media screen and (min-width:429px) and (max-width:767px){
	ul.place-list{display: flex; flex-wrap:wrap; margin: -1.43rem -1.07rem; gap: 1.07rem}
	li.place-list{width: calc((100% - 1.07rem)/ 2); padding: 1.43rem 1.07rem}
	h2.place-list-bizNm{font-size:1.6rem}
	div.place-list-tel{font-size:1.13rem}
	div.place-list-adr{font-size:1rem}
	button.place-list-stat{margin-left:1rem}
}
@media screen and (max-width:767px){
}
@media screen and (min-width:768px) and (max-width:1280px){
	ul.place-list{display: flex; flex-wrap:wrap; gap: 1.33rem;}
	li.place-list{width: calc((100% - 2 * 1.33rem) / 3); padding: 1.33rem}
	h2.place-list-bizNm{font-size:1.6rem}
	div.place-list-tel{font-size:1.13rem}
	div.place-list-adr{font-size:1rem}
	button.place-list-stat{margin-left:1rem}
}
@media screen and (max-width:1280px){
	section.place-list{padding:0 0 8rem}
	div.listTop{display:flex; justify-content:space-between; align-items:center; margin-bottom:1.33rem}
	div.place{margin-top:40px; padding:0 3vw}
	ul.place-list{margin: -1rem 0; padding: 0 3vw;}
	li.place-list{padding: 1rem 0}
	span.place-list-rank{width:2.5rem; height:2.5rem}
/*	div.place-list-text{flex-direction:column-reverse}*/
	div.place-list-text-left{padding-top:1.33rem}
	div.place-list-bizNm{margin:1.25rem 0 0.67rem; flex-direction: column; align-items:start; gap: 0.2rem;}
	span.place-list-cate{}
	div.place-list-rating{margin:0 0 0 0.5rem}
	span.place-list-rating-cnt{margin:0 0 0 0.5rem; padding: 3px 10px}
	div.place-list-tel{margin:0.625rem 0 1.33rem}
	span.place-list-lnoAdr{margin-top:0.31rem}
	div.place-list-stats{justify-content:space-between; margin-top:1.33rem}
	div.place-list-stats a.star i.icon{margin-right:5px}
	div.place-list-stats a.star i.icon svg{width:1.062rem}
	a.place-list-keyword{margin:0 10px 0 0}
	button.place-list-stat{font-size:14px}
	i.place-list-stat-icon{margin-right:0.5rem}
	div.place-list-stats svg{height:12px}
	h1.place-list-title {display:none;}
}
@media screen and (min-width:1281px){
	section.place-list{width:55vw; padding:3rem}
	nav.breadcrumb{margin:0 0 0.5rem 0}
	div.place-list-title{margin:3.125rem 0}
	h1.place-list-title{font-size:1.9rem}
	ul.place-list{margin: -1.56rem 0}
	li.place-list{padding: 1.56rem 0}
	li.place-list:last-child{margin:0}
	div.place-list-box{display:flex; align-items:center; width:100%}
	a.place-list-img{width:13.75rem;}	
	div.place-list-text{padding-left:2.5rem}
	div.place-list-bizNm{margin-bottom:0.3rem}
	h2.place-list-bizNm{font-size:1.5rem}
	span.place-list-cate{margin:0 0 0 1rem}
	div.place-list-rate{}
	div.place-list-tel{margin: 0.94rem 0; font-size: 1.13rem}
	div.place-list-adr{padding-bottom: 0.94rem}
	span.place-list-star{width:1.05rem; height:1.05rem; margin:0 0.19rem 0 0}
	div.place-list-rating{margin:0 0 0 0.5rem}
	span.place-list-rating-cnt{margin:0 0 0 0.5rem; padding: 3px 10px}
	div.place-list-hello{margin-top:0.94rem}
	div.place-list-keyword{margin:0.62rem 0 0 0}
	a.place-list-keyword{margin:0 10px 0 0}
	button.place-list-stat{margin-left:1.25rem}
	i.place-list-stat-icon{margin-right:0.5rem}
	div.place-list-stats svg{height:1rem}
}
/* 업체 목록(section.place-list) */

/* 페이지네이션 (pagination) */
ol._paging{display:flex; flex-wrap:nowrap; align-items: center; justify-content: center}
a._paging-link{display:flex; justify-content:center; align-items:center; box-sizing:border-box; font-size:1rem; color:var(--color-text-deeper)}
a._paging-link.active{font-weight: 700; color: var(--color-primary)}
a._paging-link svg{display:block; fill: var(--color-icon-fill-lightest)}
@media screen and (max-width:1280px){
	nav._paging{margin:5rem 0 0 0}
	a._paging-link{padding: 0 0.4rem}
	a._paging-link svg{width:10px; height:10px}
}
@media screen and (min-width:1281px){
	nav._paging{margin:5rem 0 0 0}
	a._paging-link{padding: 0 0.94rem}
	a._paging-link svg{width:10px; height:10px}
}
/* 페이지네이션 (pagination) */

/* 지도(section.place-map) */
section.place-map{background:#eee; transition:all .3s}
img.place-map{display:block; width:100%; height:100%; object-fit:cover}
@media screen and (max-width:1280px){
	section.place-map {display: none;}
	section.place-map.on {display: revert; position:fixed; top: 98px; width: 100%; height: calc(100% - 98px); z-index: 40;}
	section.place-map.on div.place-map {height: 100%;}
}
@media screen and (min-width:1281px){
	section.place-map{flex:1}
	div.place-map{position:sticky; top:144px; height:calc(100vh - 144px)} /* 52px(header-inner 높이) + 51px(header-inner padding-top + padding-bottom) + 21px(gnb 높이, a태그에 높이 설정 됨) + 20px(gnb padding-bottom) */
	div.place-map.scrolled{top:131px; height:calc(100vh - 131px)} /* 52px(header-inner 높이) + 42px(header-inner padding-top + padding-bottom) + 21px(gnb 높이, a태그에 높이 설정 됨) + 16px(gnb padding-bottom) */
}
/* 지도(section.place-map) */


/* 카카오 지도 마커의 내용 */
/*<div class="kakaomap-wrap">*/
/*	<div class="kakaomap-info">*/
/*		<div class="kakaomap-title">*/
/*			${store.bizesNm}*/
/*			<div class="kakaomap-close" onclick="closeOverlay()" title="닫기"></div>*/
/*		</div>*/
/*		<div class="kakaomap-body">*/
/*			<div class="kakaomap-img">*/
/*				<img src="https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/thumnail.png" width="73" height="70">*/
/*		   </div>*/
/*			<div class="kakaomap-desc">*/
/*				<div class="kakaomap-ellipsis">${store.rdnmAdr}</div>*/
/*				<div class="kakaomap-jibun kakaomap-ellipsis">(우) ${store.newZipcd} (지번) ${store.lnoAdr.split(" ").slice(-2).join(" ")}</div>*/
/*				<div><a href="https://www.kakaocorp.com/main" target="_blank" class="kakaomap-link">홈페이지</a></div>*/
/*			</div>*/
/*		</div>*/
/*	</div>   */
/*</div>*/
.kakaomap-wrap {position: absolute;left: 0;bottom: 40px;width: 288px;height: 132px;margin-left: -144px;text-align: left;overflow: hidden;font-size: 12px;font-family: 'Malgun Gothic', dotum, '돋움', sans-serif;line-height: 1.5;}
.kakaomap-wrap * {padding: 0;margin: 0;}
.kakaomap-wrap .kakaomap-info {width: 286px;height: 120px;border-radius: 5px;border-bottom: 2px solid #ccc;border-right: 1px solid #ccc;overflow: hidden;background: #fff;}
.kakaomap-wrap .kakaomap-info:nth-of-type(1) {border: 0;box-shadow: 0px 1px 2px #888;}
.kakaomap-info .kakaomap-title {padding: 5px 0 0 10px;height: 30px;background: #eee;border-bottom: 1px solid #ddd;font-size: 18px;font-weight: bold;}
.kakaomap-info .kakaomap-close {position: absolute;top: 10px;right: 10px;color: #888;width: 17px;height: 17px;background: url('https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/overlay_close.png');}
.kakaomap-info .kakaomap-close:hover {cursor: pointer;}
.kakaomap-info .kakaomap-body {position: relative;overflow: hidden;}
.kakaomap-info .kakaomap-desc {position: relative;margin: 13px 0 0 90px;height: 75px;}
.kakaomap-desc .kakaomap-ellipsis {overflow: hidden;text-overflow: ellipsis;white-space: nowrap;}
.kakaomap-desc .kakaomap-jibun {font-size: 11px;color: #888;margin-top: -2px;}
.kakaomap-info .kakaomap-img {position: absolute;top: 6px;left: 5px;width: 73px;height: 71px;border: 1px solid #ddd;color: #888;overflow: hidden;}
.kakaomap-info .kakaomap-img img {object-fit: contain;}
.kakaomap-info::after {content: '';position: absolute;margin-left: -12px;left: 50%;bottom: 0;width: 22px;height: 12px;background: url('https://t1.daumcdn.net/localimg/localimages/07/mapapidoc/vertex_white.png')}
.kakaomap-info .kakaomap-link {color: #5085BB;}