@charset "UTF-8";
.bg {
	background-image: url(../images/top/recommend_course_bg_wave_sp.png);
	background-repeat: repeat-x;
	background-size: 474px 80px;
	background-position: bottom left;
}

.facility_contents {
	margin-bottom: 40px;
}

.facility_contents a {
	display: block;
	background: #fff;
	box-shadow: 0 4px 16px rgba(51, 51, 51, 0.08);
	border-radius: calc(16 / 375 * 100vw);
	padding: 16px 16px 44px 16px;
	font-weight: bold;
	position: relative;
}

.facility_contents a::after {
	content: "";
	display: block;
	width: 24px;
	height: 24px;
	background: url(../images/arrow_green.svg);
	background-size: contain;
	position: absolute;
	bottom: 16px;
	right: 16px;
}

.facility_contents img {
	border-radius: 4px;
	height: calc(198 / 375 * 100vw);
	object-fit: cover;
}

.title {
	margin-top: 8px;
}

/* =======================
村内の施設一覧
========================*/
.facilities:not(:last-child) {
	padding-bottom: 0;
}

.facilities .wrap_facility_contents {
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 40px 8px;
	margin-top: 24px;
}

.facilities .facility_contents {
	width: 42.6666666667vw;
	margin: 0;
}

.facilities .facility_contents a {
	height: 100%;
}

.facilities .facility_contents a::after {
	background-image: url(../images/icon_external_link_green.svg);
	top: auto;
	transform: translate(0,0);
}

@media (min-width: 769px) {
	.bg {
		background-image: url(../images/top/recommend_course_bg_wave_pc.png);
		background-size: 1920px 324px;
	}
	
	.inner_section {
		width: min(calc(1120 / 1360 * 100vw), 1120px);
		max-width: none;
	}

	.wrap_facility_contents {
		display: flex;
		flex-wrap: wrap;
		gap: 40px min(calc(32 / 1360 * 100vw), 32px);
	}

	.facility_contents {
		width: min(calc(352 / 1360 * 100vw), 352px);
		margin-bottom: 0;
	}

	.facility_contents a {
		border-radius: 16px;
		padding: 32px 32px 88px 32px;
		height: 100%;
	}

	.facility_contents a::after {
		bottom: 32px;
		right: 32px;
	}
	
	.facility_contents img {
		height: min(calc(216 / 1360 * 100vw), 216px);
	}

	/* =======================
	村内の施設一覧
	========================*/
	.facilities .wrap_facility_contents {
		gap: 40px min(calc(32 / 1360 * 100vw), 32px);
	}

	.facilities .facility_contents {
		width: calc(100% / 3 - min(calc(64 / 1360 * 100vw), 64px) / 3);
		margin-bottom: 0;
	}

	.facilities .facility_contents a {
		border-radius: 16px;
		padding: 32px 32px 88px 32px;
	}

}