@charset "utf-8";
/* CSS Document */


/* ---------- common color ---------- */

.welfare-hero .en_title1,
.welfare-about .en_title1,
.welfare-feat .en_title1,
.welfare-fac .en_title1,
.welfare-day .en_title1,
.welfare-event .en_title1,
.welfare-price .en_title1 {
	color: #7a9d72;
}

.welfare-hero .line,
.welfare-about .line,
.welfare-feat .line,
.welfare-fac .line,
.welfare-day .line,
.welfare-event .line,
.welfare-price .line {
	background-color: #7a9d72;
}


/* ---------- about ---------- */

.welfare-about {
	padding: clamp(80px, 8vw, 100px) 0;
	background-color: #f5f5f2;
}

.welfare-note {
	margin-top: clamp(20px, 2.2vw, 28px);
	padding:
		clamp(16px, 2vw, 20px)
		clamp(18px, 2.4vw, 24px);

	background-color: #e5e5e2;
	border-left: 3px solid #7a9d72;
}


/* ---------- feature ---------- */

.welfare-feat {
	padding: clamp(80px, 8vw, 100px) 0;
	background-color: #fff;
}

.welfare-feat__grid {
	display: grid;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	align-items: stretch;
	gap: 5px 0;
  /*
	gap: 5px clamp(16px, 2.2vw, 24px);
  */
	margin-top: clamp(40px, 5vw, 56px);
}

.welfare-feat__grid .feat {
	display: flex;
	align-items: stretch;

	height: 100%;
	min-width: 0;
	min-height: clamp(260px, 25vw, 340px);
}
/*
.welfare-feat__grid .feat.rev {
	flex-direction: row-reverse;
}
*/
.welfare-feat__grid .feat__img,
.welfare-feat__grid .feat__txt {
	width: 50%;
	min-width: 0;
}

.welfare-feat__grid .feat__img {
	overflow: hidden;
}

.welfare-feat__grid .feat__img img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}

.welfare-feat__grid .feat__txt {
	display: flex;
	flex-direction: column;
	justify-content: center;

	padding:
		clamp(20px, 3vw, 32px)
		clamp(18px, 2.6vw, 28px);

	box-sizing: border-box;
	background-color: #f5f5f2;
}

.welfare-feat__grid .feat__txt .num {
	margin: 0 0 12px;

	font-family: "Manrope", sans-serif;
	font-size: clamp(14px, 1.4vw, 16px);
	font-weight: 700;
	line-height: 1;
	letter-spacing: 0.1em;

	color: #7a9d72;
}


/* ---------- facility ---------- */

.welfare-fac {
	padding: clamp(80px, 8vw, 100px) 0;
	background-color: #e5e5e2;
}

.welfare-fac__grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;

	gap: clamp(12px, 1.5vw, 16px);
	margin: clamp(36px, 4vw, 48px) 0 40px;

	text-align: center;
}

.welfare-fac__grid > div {
	min-width: 0;
}

.welfare-fac__grid > div > div {
	overflow: hidden;
	margin-bottom: 12px;
	aspect-ratio: 4 / 3;
}

.welfare-fac__grid img {
	display: block;

	width: 100%;
	height: 100%;

	object-fit: cover;
	object-position: center;
}


/* ---------- daily life ---------- */

.welfare-day {
	padding: clamp(80px, 8vw, 100px) 0;
	background-color: #f5f5f2;
}

.day-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	align-items: stretch;

	gap: 0;
	margin-top: clamp(36px, 4vw, 48px);

	background-color: #fff;
	border-top: 1px solid rgba(0, 0, 0, 0.08);
}

.day-grid > div {
	height: 100%;
	padding:
		clamp(22px, 2.6vw, 28px)
		clamp(16px, 2vw, 20px);

	box-sizing: border-box;
	border-top: 2px solid #7a9d72;
	border-bottom: 1px solid rgba(0, 0, 0, 0.08);
}

.day-grid .th {
	margin: 0 0 20px;

	font-family: "Shippori Mincho", serif;
	font-size: clamp(20px, 2.2vw, 24px);
	line-height: 1.4;
}

.day-list p {
	display: flex;
	align-items: center;

	gap: 8px;
	margin: 0;
	padding: 10px 0 11px;

	color: #555;
	font-size: clamp(14px, 1.5vw, 16px);
	line-height: 1.6;

	border-bottom: 1px solid rgba(0, 0, 0, 0.07);
}

.day-list p::before {
	content: "";

	width: 5px;
	height: 5px;
	flex: 0 0 5px;

	background-color: #7a9d72;
}

.day-note {
	margin-top: 24px;
}


/* ---------- event ---------- */

.welfare-event {
	padding: clamp(70px, 7vw, 80px) 0;
	background-color: #1f1f1f;
}

.event-tags {
	display: flex;
	flex-wrap: wrap;

	gap: 8px;
	margin-top: 32px;
}

.event-tags p {
	margin: 0;
	padding: 11px 21px;

	color: #fff;
	font-size: 14px;
	line-height: 1.5;

	border: 1px solid #7a9d72;
}


/* ---------- price ---------- */

.welfare-price {
	padding: clamp(80px, 8vw, 100px) 0;
	background-color: #f5f5f2;
}

.welfare-price .def-table .def-row {
	justify-content: space-between;
}

.price-note {
	margin: 12px 0 0;
	color: #aaa;
}


/* ---------- tablet ---------- */

@media screen and (max-width: 1080px) {

	.welfare-fac__grid,
	.day-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.welfare-feat__grid .feat {
		flex-direction: column;
		min-height: 0;
	}

	.welfare-feat__grid .feat.rev {
		flex-direction: column;
	}

	.welfare-feat__grid .feat__img,
	.welfare-feat__grid .feat__txt {
		width: 100%;
	}

	.welfare-feat__grid .feat__img {
		aspect-ratio: 16 / 10;
	}

	.welfare-feat__grid .feat__txt {
		flex: 1;
	}

}


/* ---------- smartphone ---------- */

@media screen and (max-width: 768px) {

	.welfare-feat__grid,
	.welfare-fac__grid,
	.day-grid {
		grid-template-columns: 1fr;
	}

	.welfare-feat__grid {
		gap: 24px;
	}

	.welfare-feat__grid .feat__img {
		aspect-ratio: 3 / 2;
	}

	.welfare-fac__grid {
		gap: 24px;
	}

}


/* ---------- small smartphone ---------- */

@media screen and (max-width: 576px) {

	.welfare-note {
		border-left-width: 2px;
	}

	.welfare-feat__grid .feat__img {
		aspect-ratio: 4 / 3;
	}

	.event-tags p {
		padding: 9px 15px;
		font-size: 13px;
	}

}