@charset "utf-8";
/* 施設一覧
======================================================*/
.main-image {
	background-image: var(--bg-path, none);
	height: 40vw;
	min-height: 300px;
}

.main {
	flex-grow: 1;
	order: 2;
}
.job-ttl {
	display: none;
}
.job-list {
	gap: 0 30px;
}
.card {
	background: #fff;
	box-shadow: 2px 2px 20px rgba(100,100,100,0.1);
	border-radius: 8px;
	margin-bottom: 20px;
	overflow: hidden;
}
.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.2em;
	height: 1.2em;
	vertical-align: middle;
	margin-top: -0.15em;
	margin-right: 0.25em;
}

.card .card-genre {
	position: relative;
	display: flex;
	align-items: center;
	background-color: #FFE87C;
	width: 100%;
	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: 5px 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;

}


/* 個別データ
======================================================*/
/* メインイメージ */
.main-image.job-data .main-image__inner .main-image-text {

}
.main-image.job-data .main-image__inner .main-image-text span {
	display: block;
	font-size: 1rem;
	color: red;
	font-weight: normal;
	text-shadow: none;
}
/* メインデータ */
.job-data .main {
	order: 1;
}

.job-data .job-ttl {
	display: none;
}
.job-data .job-ttl span {
	display: block;
	font-size: 0.9rem;
	color: red;
	font-weight: normal;
}

.job-data .com {
	padding-top: 0;
	color: gray;
}
.job-data .com p+p {
	margin-top: 15px;
}

/* ギャラリー */
.job-data .gallery {
	width: 100%;
	margin: 50px auto;
}
.job-data .gallery-ttl {
	margin-bottom: 10px;
}
.job-data .gallery .grid {
	gap: 0 15px;
}
.job-data .gallery .grid>* {
	margin-bottom: 15px;
}
.job-data .gallery .grid>li p {
	margin-top: 15px;
	text-align: center;
	color: grey;
}


/* おすすめ */
.job-data .osusume {
	width: 100%;
	margin: 50px auto;
}

.job-data .osusume-ttl {
	margin-bottom: 10px;
}
.job-data .osusume .grid {
	gap: 0 15px;
}
.job-data .osusume .grid>* {
	margin-bottom: 15px;
}

.job-data .osusume .grid>* p {
	margin-top: 15px;
	text-align: center;
	color: grey;
}

/* 特徴 */
.job-data .amenities {
	border-top: 1px solid #dedede;
	width: calc(100% - 10px);
	margin: 50px auto;
	padding: 10px;
}
.job-data .amenities-ttl {
	margin-bottom: 10px;
}
.job-data .amenities-list {
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}
.job-data .amenities-list>li {
	width: calc((100% - 40px) / 3);
	color: grey;
}

/* sidebar */
.job-data .sidebar {
	order: 2;
	padding-top: 0;
}
.job-data .sidebar .maps {
	position: relative;
	width: 100%;
	height: 0;
	padding-top: 70%;
}
.job-data .sidebar .maps iframe {
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
}
.job-data .sidebar .about {
	width: 100%;
	background: #F7F7F7;
	padding: 20px;
	font-size: 1em;
	color: #666;
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}
.job-data .sidebar .about li[data-icon] {
	display: flex;
}
.job-data .sidebar .about li[data-icon]::before {
	flex-shrink: 0;
	width: 1.2em;
	height: 1.2em;
	margin-top: 0.2em;
}
.job-data .sidebar .about li+li {
	margin-top: 10px;
}
.job-data .sidebar .about li[data-icon] a,
.job-data .sidebar .about li[data-icon] span {
	display: block;
	word-break: break-all;
}
.job-data .sidebar .about a {
	color: #666;
	text-decoration: none;
}
.job-data .sidebar .about a:hover {
	color: #FF3A54;
}

.job-data .sidebar .opening-hours {
	border: 1px solid #dedede;
	border-radius: 8px;
	margin: 50px auto 0;
	padding: 20px;
}
.job-data .sidebar .opening-hours .oh-ttl {
	margin-bottom: 10px;
	font-size: 1.3em;
	font-weight: bold;
}
.job-data .sidebar .opening-hours dl {
	width: 100%;
	display: flex;
	flex-wrap: wrap;
	gap: 10px 0;
	font-size: 0.95rem;
}
.job-data .sidebar .opening-hours dl dt {
	width: 140px;
	color: grey;
}
.job-data .sidebar .opening-hours dl dd {
	width: calc(100% - 140px);
}
.job-data .sidebar .opening-hours dl .full {
	width: 100%;
}



/* ブレイクポイント
-----------------------------------------------------------*/
@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;
	}

	.job-data .sidebar .opening-hours dl dt {
		width: 140px;
		text-align: left;
	}
	.job-data .sidebar .opening-hours dl dd {
		width: calc(100% - 140px);
		text-align: left;
	}

}


@media screen and (max-width: 600px) {
	.contents .sidebar .sidebar-search {
		display: flex;
		flex-direction: column;
		justify-content: center;
		align-items: center;
	}
	.job-data .amenities-list>li {
		width: calc((100% - 20px) / 2);
	}


}

