@charset "utf-8";
/* main image
------------------------------------------*/
.main-image {
	background-image: var(--bg-path, none);
	height: 40vw;
	min-height: 300px;
}
.contents {
	padding: 10px;
}
.main {
	flex-grow: 1;
	order: 2;
}
.area-ttl {
	display: none;
}
.area-list {
	gap: 0 30px;
}
.card {
	background: #fff;
	box-shadow: 2px 2px 20px rgba(100,100,100,0.1);
	border-radius: 8px;
	margin-bottom: 40px;
	overflow: hidden;
	height: stretch;
}
.card .card-image {
	width: 100%;
	height: 260px;
	text-align: center;
}
.card .card-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
}
.card [data-icon]::before {
	width: 1.3em;
	height: 1.3em;
	margin-top: -0.15em;
	margin-right: 0.25em;
}

.card .card-genre {
	position: relative;
	display: flex;
	align-items: center;
	background-color: #FFE87C;
	width: 90%;
	max-width: 350px;
	height: 54px;
	margin-top: -30px;
	margin-bottom: 20px;
	padding: 0 30px 0;
	clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0% 100%);
	-webkit-clip-path: polygon(0 0, 100% 0, calc(100% - 20px) 100%, 0% 100%);
	z-index: 2;
}
.card .card-genre a {
	color: #333;
	font-weight:bold;
	text-decoration: none;
}

.card .card-ttl {
	margin: 0 20px;
	padding: 5px 10px;
}
.card .card-ttl a {
	color: #333;
	text-decoration: none;
}

.card .card-tel {
	margin: 0 20px;
	padding: 10px;
}
.card .card-tel a {
	color: #777;
	text-decoration: none;
	pointer-events: none;
}

.card .card-area {
	margin: 0 20px;
	border-top: 1px solid #ddd;
	padding: 15px 10px;
}
.card .card-area a {
	color: #777;
	text-decoration: none;
}
.card  a:hover {
	color: #FF3A54;
}


.sidebar {
	order: 1;
	flex-basis: clamp(260px, 25%, 360px);
	flex-shrink: 0;
	padding-top: 20px;
}
.sidebar .sidebar-search {
	border: 1px solid #ddd;
	border-radius: 8px;
	padding: 40px 15px;

}
@media screen and (max-width: 900px) {
	.contents {
		display: flex;
		flex-direction: column;
	}
	.contents .sidebar {
		max-width: 100%;
		width: 100%;
		margin: auto;
	}
	.contents .sidebar .sidebar-search {
		display: flex;
		justify-content: center;
		width: calc(100%  - 20px);
		margin: auto;
		gap: 20px;
	}

}
@media screen and (max-width: 600px) {
	.contents .sidebar .sidebar-search {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}

}

