/* =========================
   施設カード（共通）
========================= */
.facility-card {
	list-style: none;
	background: #fff;
	border: 1px solid transparent;
	box-sizing: border-box;
	border-radius: 36px;
	overflow: hidden;
	box-shadow: 0 10px 16px rgb(0 0 0 / 10%);
	background-color: #f9f7f3;
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.facility-card:hover {
	border-color: #AEAEAE;
	box-shadow: 0 10px 16px rgb(0 0 0 / 0%);
}

.facility-card a {
	display: flex;
	flex-direction: column;
	height: 100%;
	color: #333;
	text-decoration: none;
}

.facility-card__img {
	aspect-ratio: 16 / 10;
	overflow: hidden;
	background: #f2f2f2;
	flex-shrink: 0;
}

.facility-card__img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.facility-card__body {
	padding: 20px;
	flex: 1;
	display: flex;
	flex-direction: column;
}

.facility-card__name {
	margin: 0 0 15px;
	font-size: 20px;
	font-weight: 700;
}

.facility-card__cats {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin-bottom: 14px;
}

.facility-card__cats .cat {
	padding: 0 10px;
	font-size: 12px;
	color: #333;
	border: 1px solid #AEAEAE;
	background: #ffffff;
	border-radius: 0px;
	height: 22px;
	line-height: 20px;
	display: inline-block;
}

.facility-card__desc {
	margin: 0 0 16px;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}

.facility-card__foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
	margin-top: auto;
}

.facility-card__area {
	display: flex;
	align-items: center;
	gap: 4px;
	font-size: 14px;
	color: #333;
	flex: 1;
	min-width: 0;
}

.facility-card__area-icon {
	display: block;
	width: 30px;
	height: 30px;
	background-color: #AEAEAE;
	-webkit-mask-image: url(../img/icon/purpose/map.svg);
	mask-image: url(../img/icon/purpose/map.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.facility-card__btn {
	display: flex;
	align-items: center;
	gap: 6px;
	height: 40px;
	padding: 0 20px;
	font-size: 14px;
	background: #333;
	color: #fff;
	border-radius: 999px;
	flex-shrink: 0;
	white-space: nowrap;
}

.facility-card__btn img {
	width: 16px;
	height: 16px;
	filter: brightness(0) invert(1);
	transition: transform 0.3s ease;
}

.facility-card:hover .facility-card__btn {
	background: #333;
}

.facility-card:hover .facility-card__btn img {
	transform: translateX(4px);
}

/* =========================
   したいことから探す
========================= */
#beheight01.site-main {
	position: relative;
	margin-bottom: 0;
}

.facility-purpose {
	max-width: 1138px;
	margin: 0 auto;
	padding: 100px 0 140px;
}

.facility-purpose__title {
	text-align: center;
	font-size: 40px;
	font-weight: 700;
	color: #333;
	margin: 0 0 40px;
}

/* 上部：6枚のリッチカード（したいこと5つ＋事業所・サービス名から探す） */
.facility-purpose__cardnav {
	list-style: none;
	display: flex;
	flex-flow: row wrap;
	align-items: flex-start;
	/* gap: 20px; */
	margin: 0 0 0px;
	padding: 0;
}

.facility-purpose__cardnav > li {
	width: calc((100% - 40px) / 3);
}

.facility-purpose__cardnav > li:nth-child(2),
.facility-purpose__cardnav > li:nth-child(5) {
	margin: 0 auto;
}

.facility-purpose__cardnav > li:nth-child(4),
.facility-purpose__cardnav > li:nth-child(5) {
	margin-top: 40px;
}

.facility-purpose__cardnav > li:nth-child(6) {
	margin-top: 20px;
}

.facility-purpose__cardnav > li:nth-child(5) a {
	padding-top: 25px;
}

.facility-purpose__cardnav a {
	position: relative;
	display: block;
	height: 320px;
	box-sizing: border-box;
	padding: 40px 50px 40px 40px;
	background: #fff;
	border: 1px solid #ddd6c8;
	border-radius: 36px;
	color: #333;
	text-decoration: none;
	box-shadow: 0 4px 16px 2px rgba(0, 0, 0, 0.08);
	transition: border-color 0.3s ease, box-shadow 0.3s ease;
}

.facility-purpose__cardnav a:hover {
	border-color: #333;
	box-shadow: 0 4px 16px 2px rgba(0, 0, 0, 0);
}

.facility-purpose__cardnav-head {
	display: flex;
	align-items: center;
	gap: 15px;
	margin-bottom: 20px;
}

.facility-purpose__cardnav-icon img {
	width: 22px;
	height: 22px;
	display: block;
}

.facility-purpose__cardnav-icon {
	display: block;
	width: 40px;
	height: 40px;
	background-color: #AEAEAE;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.facility-purpose__cardnav-icon.is-work {
	-webkit-mask-image: url(../img/icon/purpose/person.svg);
	mask-image: url(../img/icon/purpose/person.svg);
}

.facility-purpose__cardnav-icon.is-live {
	-webkit-mask-image: url(../img/icon/purpose/family.svg);
	mask-image: url(../img/icon/purpose/family.svg);
}

.facility-purpose__cardnav-icon.is-enjoy {
	-webkit-mask-image: url(../img/icon/purpose/smile.svg);
	mask-image: url(../img/icon/purpose/smile.svg);
}

.facility-purpose__cardnav-icon.is-try {
	-webkit-mask-image: url(../img/icon/purpose/mdi_hand-heart-outline.svg);
	mask-image: url(../img/icon/purpose/mdi_hand-heart-outline.svg);
}

.facility-purpose__cardnav-icon.is-ask {
	-webkit-mask-image: url(../img/icon/purpose/purpose-work.svg);
	mask-image: url(../img/icon/purpose/purpose-work.svg);
}

.facility-purpose__nav-icon {
	display: block;
	width: 24px;
	height: 24px;
	background-color: #AEAEAE;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.facility-purpose__nav-icon.is-work {
	-webkit-mask-image: url(../img/icon/purpose/person.svg);
	mask-image: url(../img/icon/purpose/person.svg);
}

.facility-purpose__nav-icon.is-live {
	-webkit-mask-image: url(../img/icon/purpose/family.svg);
	mask-image: url(../img/icon/purpose/family.svg);
}

.facility-purpose__nav-icon.is-enjoy {
	-webkit-mask-image: url(../img/icon/purpose/smile.svg);
	mask-image: url(../img/icon/purpose/smile.svg);
}

.facility-purpose__nav-icon.is-try {
	-webkit-mask-image: url(../img/icon/purpose/mdi_hand-heart-outline.svg);
	mask-image: url(../img/icon/purpose/mdi_hand-heart-outline.svg);
}

.facility-purpose__nav-icon.is-ask {
	-webkit-mask-image: url(../img/icon/purpose/purpose-work.svg);
	mask-image: url(../img/icon/purpose/purpose-work.svg);
}

.facility-purpose__cardnav h3 {
	margin: 0;
	font-size: 28px;
	font-weight: 700;
	line-height: 1.4;
}

.facility-purpose__cardnav p {
	margin: 0;
	font-size: 16px;
	line-height: 2.0;
	color: #333;
}

/* 「事業所・サービス名から探す」はPCでは丸形 */
.facility-purpose__cardnav li.is-circle {
	aspect-ratio: 1 / 1;
}

.facility-purpose__cardnav li.is-circle a {
	background: #fff;
	border: unset !important;
	border-radius: 50%;
	color: #333;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	width: 340px;
	height: 340px;
	text-align: left;
	padding: 30px 42px 0 42px;
	box-sizing: border-box;
	text-align: center;
	box-shadow: 0 4px 16px 2px rgba(0, 0, 0, 0.08), inset 0 0 0 1px rgba(174, 174, 174, 0);
}

.facility-purpose__cardnav li.is-circle a:hover {
	box-shadow: 0 4px 16px 2px rgba(0, 0, 0, 0), inset 0 0 0 1px rgba(174, 174, 174, 1);
}

.facility-purpose__cardnav li.is-circle h3 {
	font-size: 28px;
	line-height: 1.4;
	margin-bottom: 12px;
}

.facility-purpose__cardnav li.is-circle h3 span {
	font-size: 24px;
}

.facility-purpose__cardnav li.is-circle p {
	color: #333;
	margin-bottom: 10px;
	text-align: left;
	font-size: 14px;
}

.facility-purpose__cardnav li.is-circle .facility-purpose__cardnav-arrow {
	position: static;
	background: none;
	width: 100%;
}

.facility-purpose__cardnav li.is-circle .facility-purpose__cardnav-arrow img {
	filter: brightness(0);
	margin: 0 auto;
	display: block;
	width: 24px;
	height: 24px;
}

.facility-purpose__cardnav-arrow {
	position: absolute;
	right: 30px;
	bottom: 25px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	background: #333;
	color: #fff;
	font-size: 14px;
}

.facility-purpose__cardnav-arrow img {
	width: 16px;
	height: 16px;
	filter: brightness(0) invert(1);
	transition: transform 0.3s ease;
}

.facility-purpose__cardnav a:hover .facility-purpose__cardnav-arrow img {
	transform: translateX(4px);
}

/* カテゴリーごとの縁取りカラーは管理画面（facility_purpose タームの「カードの色」）で設定し、
   page-purpose.php からインラインstyleで出力する */

/* 下部：「したいこと」からもう一度探す（コンパクトピル） */
.facility-purpose__nav {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	justify-content: center;
	gap: 12px;
	margin: 0;
	padding: 0;
}

.facility-purpose__nav a {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	height: 44px;
	padding: 0 20px;
	background: #fff;
	border: 2px solid #ddd6c8;
	border-radius: 999px;
	color: #333;
	text-decoration: none;
	font-size: 14px;
	box-sizing: border-box;
	font-weight: bold;
}


.facility-purpose__cardnav-icon img {
	width: 40px;
	height: 40px;
}

.facility-purpose__nav-arrow img {
	width: 10px;
	height: 10px;
	filter: brightness(0);
}

.facility-purpose__sections-bg {
	background: #fff;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.facility-purpose__sections-inner {
	max-width: 1138px;
	margin: 0 auto;
	padding: 60px 0 140px;
}

.facility-purpose__anchor {
	display: block;
	scroll-margin-top: 116px;
}

.facility-purpose__section {
	padding: 60px 0;
	/* border-top: 1px solid #eee; */
}

.facility-purpose__section:first-of-type {
	border-top: none;
}

.facility-purpose__section-title {
	position: relative;
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 26px;
	font-weight: 700;
	color: #333;
	margin: 0 0 24px;
	padding-bottom: 20px;
}

.facility-purpose__section-title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 100vw;
	height: 2px;
	background: var(--facility-purpose-line-color, #ddd6c8);
}

.facility-purpose__section-suffix {
	font-size: 16px;
	font-weight: 400;
	color: #333;
	font-family: "BIZ UDGothic", sans-serif;
	font-weight: 400;
	font-style: normal;
	padding-top: 10px;
}

.facility-purpose__section-icon {
	display: block;
	width: 40px;
	height: 40px;
	background-color: #AEAEAE;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.facility-purpose__section-icon.is-work {
	-webkit-mask-image: url(../img/icon/purpose/person.svg);
	mask-image: url(../img/icon/purpose/person.svg);
}

.facility-purpose__section-icon.is-live {
	-webkit-mask-image: url(../img/icon/purpose/family.svg);
	mask-image: url(../img/icon/purpose/family.svg);
}

.facility-purpose__section-icon.is-enjoy {
	-webkit-mask-image: url(../img/icon/purpose/smile.svg);
	mask-image: url(../img/icon/purpose/smile.svg);
}

.facility-purpose__section-icon.is-try {
	-webkit-mask-image: url(../img/icon/purpose/mdi_hand-heart-outline.svg);
	mask-image: url(../img/icon/purpose/mdi_hand-heart-outline.svg);
}

.facility-purpose__section-icon.is-ask {
	-webkit-mask-image: url(../img/icon/purpose/purpose-work.svg);
	mask-image: url(../img/icon/purpose/purpose-work.svg);
}

.facility-purpose__section-desc {
	font-size: 16px;
	line-height: 2.0;
	color: #333;
	margin: 0 0 30px;
	width: 100%;
}

.facility-purpose__cards {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 0;
	margin: 50px 0 60px;
}

.facility-purpose__empty {
	color: #333;
	font-size: 14px;
	margin: 0 0 30px;
}

.facility-purpose__section-links {
	display: flex;
	align-items: center;
	justify-content: flex-end;
	gap: 16px;
	flex-wrap: wrap;
}

.facility-purpose__linkbtn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 48px;
	padding: 0 28px;
	border-radius: 999px;
	font-size: 14px;
	text-decoration: none;
	white-space: nowrap;
}

.facility-purpose__linkbtn-arrow img {
	width: 20px;
	height: 20px;
	filter: brightness(0) invert(1);
	margin-top: 5px;
	transition: transform 0.3s ease;
}

.facility-purpose__linkbtn-arrow.is-up img {
	filter: brightness(0);
	transform: rotate(-90deg);
}

.facility-purpose__linkbtn.is-dark:hover .facility-purpose__linkbtn-arrow img {
	transform: translateX(8px);
}

.facility-purpose__linkbtn.is-outline:hover .facility-purpose__linkbtn-arrow.is-up img {
	transform: translateY(-4px) rotate(-90deg);
}

.facility-purpose__linkbtn.is-outline {
	border: 1px solid #333;
	color: #333;
	background: #fff;
}

.facility-purpose__linkbtn.is-outline:hover {
	background: #f7f7f7;
}

.facility-purpose__linkbtn.is-dark {
	background: #333;
	color: #fff;
}

.facility-purpose__linkbtn.is-dark:hover {
	background: #333;
}

.facility-purpose__footer-nav {
	position: relative;
	margin-top: 60px;
	padding-top: 60px;
	text-align: center;
}

.facility-purpose__footer-nav::before {
	content: "";
	position: absolute;
	left: 50%;
	top: 0;
	transform: translateX(-50%);
	width: 100vw;
	height: 1px;
	background: #eee;
}

.facility-purpose__footer-nav p {
	font-size: 24px;
	font-weight: 700;
	color: #333;
	margin: 0 0 50px;
}

.facility-purpose__footer-nav .facility-purpose__nav {
	max-width: 700px;
	margin: 0 auto;
}

/* =========================
   事業所・サービス名から探す（ヒーロー）
========================= */
.facility-list__hero {
	max-width: 1138px;
	margin: 0 auto;
	padding: 100px 0 100px;
	text-align: center;
}

.facility-list__title {
	font-size: 40px;
	font-weight: 700;
	color: #333;
	margin: 0 0 40px;
}

.facility-list__cats {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 20px;
	margin: 0;
	padding: 0;
}

.facility-list__cats a {
	display: flex;
	align-items: center;
	gap: 8px;
	height: 48px;
	padding: 0 24px;
	background: #fff;
	border: 1px solid transparent;
	box-sizing: border-box;
	border-radius: 999px;
	color: #333;
	text-decoration: none;
	font-size: 15px;
	white-space: nowrap;
	box-shadow: 0 0px 12px 1px rgba(0, 0, 0, 0.2);
	transition: box-shadow 0.3s ease, border-color 0.3s ease;
}

.facility-list__cats a:hover {
	box-shadow: 0 0px 12px 1px rgba(0, 0, 0, 0);
	border-color: #333;
}

.facility-list__cats a.is-active {
	background: #333;
	color: #fff;
}

.facility-list__cats a.is-active:hover {
	border-color: #AEAEAE;
}

.facility-list__cats li.is-dark a {
	background: #333;
	color: #fff;
}

.facility-list__cats-arrow img {
	width: 16px;
	height: 16px;
	filter: brightness(0) invert(1);
	margin-top: 5px;
}

/* =========================
   事業所紹介一覧（カテゴリーごとのセクション）
========================= */
.facility-list__sections-bg {
	background: #fff;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
}

.facility-list__sections-inner {
	max-width: 1138px;
	margin: 0 auto;
	padding: 60px 0 140px;
}

.facility-list__anchor {
	display: block;
	scroll-margin-top: 116px;
}

.facility-list__section {
	padding: 60px 0;
}

.facility-list__section:first-of-type {
	padding-top: 0;
}

.facility-list__section-title {
	position: relative;
	font-size: 26px;
	font-weight: 700;
	color: #333;
	margin: 0 0 24px;
	padding-bottom: 20px;
}

.facility-list__section-title::after {
	content: "";
	position: absolute;
	left: 50%;
	bottom: 0;
	transform: translateX(-50%);
	width: 100vw;
	height: 2px;
	background: #AEAEAE;
}

/* =========================
   事業所紹介一覧
========================= */
.facility-archive {
	max-width: 1138px;
	margin: 0 auto;
	padding: 60px 0 140px;
}

.facility-archive__cards {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
	padding: 0;
	margin: 0;
}

.facility-archive__empty {
	text-align: center;
	color: #666;
	font-size: 15px;
	padding: 60px 0;
}

@media screen and (max-width: 1100px) {
	.facility-purpose__cardnav > li {
		width: calc((100% - 20px) / 2);
	}
}

@media screen and (max-width: 900px) {
	.facility-purpose__cards,
	.facility-archive__cards {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media screen and (max-width: 600px) {
	.facility-purpose,
	.facility-archive {
		margin: 60px auto 80px;
		padding: 0 20px;
	}
	.facility-purpose__title,
	.facility-archive__title {
		font-size: 28px;
	}
	.facility-purpose__cards,
	.facility-archive__cards {
		grid-template-columns: 1fr;
	}
	.facility-purpose__cardnav > li {
		width: 100%;
	}
}

/* =========================
   事業所詳細
========================= */
.facility-detail__inner {
	max-width: 1138px;
	margin: 0 auto;
	padding: 60px 0 0px;
}

.facility-detail__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin: 60px 0 10px;
}

.facility-detail__purpose-icons {
	display: flex;
	gap: 10px;
}

.facility-detail__purpose-icon {
	display: block;
	width: 30px;
	height: 30px;
	background-color: #999;
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.facility-detail__purpose-icon.is-work {
	-webkit-mask-image: url(../img/icon/purpose/person.svg);
	mask-image: url(../img/icon/purpose/person.svg);
}

.facility-detail__purpose-icon.is-live {
	-webkit-mask-image: url(../img/icon/purpose/family.svg);
	mask-image: url(../img/icon/purpose/family.svg);
}

.facility-detail__purpose-icon.is-enjoy {
	-webkit-mask-image: url(../img/icon/purpose/smile.svg);
	mask-image: url(../img/icon/purpose/smile.svg);
}

.facility-detail__purpose-icon.is-try {
	-webkit-mask-image: url(../img/icon/purpose/mdi_hand-heart-outline.svg);
	mask-image: url(../img/icon/purpose/mdi_hand-heart-outline.svg);
}

.facility-detail__purpose-icon.is-ask {
	-webkit-mask-image: url(../img/icon/purpose/purpose-work.svg);
	mask-image: url(../img/icon/purpose/purpose-work.svg);
}

.facility-detail__area {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: 14px;
	color: #555;
}

.facility-detail__area-icon {
	display: block;
	width: 30px;
	height: 30px;
	background-color: #999;
	-webkit-mask-image: url(../img/icon/purpose/map.svg);
	mask-image: url(../img/icon/purpose/map.svg);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
	-webkit-mask-position: center;
	mask-position: center;
}

.facility-detail__head {
	text-align: center;
	margin: 0 0 40px;
	border-top: 1px solid #AEAEAE;
	border-bottom: 1px solid #AEAEAE;
	padding: 20px;
}

.facility-detail__subtitle {
	font-size: 16px;
	color: #333;
	margin: 0 0 8px;
}

.facility-detail__title {
	font-size: 32px;
	font-weight: 700;
	color: #333;
	margin: 0 0 20px;
}

.facility-detail__cats {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 6px;
}

.facility-detail__cats .cat {
	padding: 0 12px;
	font-size: 13px;
	color: #333;
	border: 1px solid #AEAEAE;
	background: #ffffff;
	/* border-radius: 4px; */
	height: 24px;
	line-height: 22px;
	display: inline-block;
	text-decoration: none;
}

.facility-detail__cats .cat:hover {
	border-color: #333;
}

.facility-detail__hero {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 55px;
	margin: 0 0 40px;
}

.facility-detail__desc {
	font-size: 16px;
	line-height: 2.0;
	color: #333;
	margin: 0 0 24px;
}

.facility-detail__features-box {
	background: #f9f7f3;
	/* border: 1px solid #ddd6c8; */
	border-radius: 20px;
	padding: 30px;
	background: url(../img/facility-detail-features-bg.png);
	background-size: 130%;
}

.facility-detail__features-title {
	text-align: center;
	font-size: 24px;
	font-weight: 700;
	color: #333;
	margin: 0 0 20px;
	border-bottom: 1px solid #AEAEAE;
	padding-bottom: 15px;
}

.facility-detail__features-title span {
	font-size: 16px;
}

.facility-detail__features {
	margin: 0;
	padding: 0;
	list-style: none;
}

.facility-detail__features li {
	position: relative;
	padding-left: 28px;
	margin: 0 0 12px;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}

.facility-detail__features li:last-child {
	margin-bottom: 0;
}

.facility-detail__features li::before {
	content: "";
	position: absolute;
	left: 0;
	top: 2px;
	width: 18px;
	height: 18px;
	background: url(../img/purposelist.png) no-repeat center / contain;
}

.facility-detail__hero-img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 20px;
	display: block;
}

.facility-detail__info-bg {
	background: #f9f7f3;
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-right: calc(50% - 50vw);
	padding: 60px 0;
}

.facility-detail__cards {
	max-width: 1138px;
	margin: 0 auto 40px;
	padding: 0 20px;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 40px;
}

.facility-detail__cards--2col {
	grid-template-columns: repeat(2, 1fr);
	margin-bottom: 0;
}

.facility-detail__card {
	padding: 15px 25px;
	background-color: #FFFFFF;
	border-radius: 36px;
}

.facility-detail__card--action {
	position: relative;
	padding-bottom: 60px;
}

.facility-detail__card-title {
	text-align: center;
	font-size: 20px;
	font-weight: 700;
	color: #333;
	margin: 0 0 20px;
	padding-bottom: 15px;
	border-bottom: 1px solid #eee;
}

.facility-detail__card-text {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	text-align: left;
	margin: 0 0 20px;
}

.facility-detail__card-note {
	font-size: 15px;
	color: #333;
	text-align: center;
	margin: 0 0 16px;
}

.facility-detail__card-list {
	list-style: none;
	margin: 0;
	padding: 0;
	font-size: 16px;
	color: #333;
}

.facility-detail__card-list li {
	padding-left: 14px;
	position: relative;
	margin: 0 0 10px;
}

.facility-detail__card-list li:last-child {
	margin-bottom: 0;
}

.facility-detail__card-list li::before {
	content: "-";
	position: absolute;
	left: 0;
}

.facility-detail__card-btn,
.facility-detail__card-btn:visited {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	height: 44px;
	margin: 0 auto;
	max-width: 220px;
	background: #333;
	color: #fff;
	border-radius: 999px;
	font-size: 14px;
	text-decoration: none;
}

.facility-detail__card-btn:hover {
	background: #555;
}

.facility-detail__card-btn-arrow {
	display: block;
	width: 12px;
	height: 12px;
	background: url(../img/icon/fluent_arrow-left-13-filled.png) no-repeat center / contain;
}

.card-bthd {
	display: block;
	width: 133px;
	height: 40px;
	background-color: #333333;
	color: #FFFFFF;
	text-align: center;
	line-height: 2.3em;
	letter-spacing: 0.1em;
	border-radius: 36px;
	margin-right: 20px;
	background-image: url(../img/icon/fluent_arrow-left-13-filled.png);
	background-repeat: no-repeat;
	background-size: 16px;
	background-position: 105px 12px;
	padding-left: 13px;
	/* margin: 0px auto 0; */
	font-family: 'BIZ UDGothic', sans-serif;
	text-decoration: none;
	font-size: 16px;
	text-align: left;
	position: absolute;
	right: 0;
	bottom: 20px;
}

.card-bthd:visited {
	color: #ffffff;
}

a.card-bthd.is-mail {
	/* font-size: 16px; */
	padding-left: 45px;
	position: absolute;
}

a.card-bthd.is-mail::before {
	content: "";
	position: absolute;
	left: 15px;
	top: 50%;
	transform: translateY(-50%);
	width: 20px;
	height: 16px;
	background-image: url(../img/icon/mail2.png);
	background-repeat: no-repeat;
	background-size: contain;
}

a:hover.card-bthd {
	background-color: #333333;
	background-position: 109px 12px;
	color: #FFFFFF;
}

.facility-detail__card-btn-mail {
	display: block;
	width: 14px;
	height: 14px;
	background-color: #fff;
	-webkit-mask-image: url(../img/icon/material-symbols_mail-outline-sharp.png);
	mask-image: url(../img/icon/material-symbols_mail-outline-sharp.png);
	-webkit-mask-repeat: no-repeat;
	mask-repeat: no-repeat;
	-webkit-mask-size: contain;
	mask-size: contain;
}

/* 管理画面の自由記述HTMLをそのまま出力するエリア共通。
   編集者は <p>- サービス名<br>【営業】...<br>【時間】...</p> を
   グループの数だけ書くだけでよい（1グループ = 1つの<p>）。 */
.facility-richtext p {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	margin: 0 0 20px;
	padding-left: 1em;
	text-indent: -1em;
}

.facility-richtext p:last-child {
	margin-bottom: 0;
}

.facility-richtext p::first-line {
	font-weight: 700;
}

.facility-richtext p::before {
	content: "- ";
}

/* フリー枠（エディターで入力）は、先頭の「- 」・1行目の太字・字下げを付けない */
.facility-richtext--free p {
	padding-left: 0;
	text-indent: 0;
}
.facility-richtext--free p::first-line {
	font-weight: inherit;
}
.facility-richtext--free p::before {
	content: none;
}
.facility-richtext--free ul,
.facility-richtext--free ol {
	margin: 0 0 20px;
	padding-left: 1.5em;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}
.facility-richtext--free > :last-child {
	margin-bottom: 0;
}
.facility-richtext--free a {
	color: #333;
	text-decoration: underline;
}

/* フリー枠は中身に関係なく、いつも横幅いっぱいで表示 */
.facility-detail__card--free {
	grid-column: 1 / -1;
}

/* フリー枠に表（旧サイトから貼り付けた table など）が入った場合
   bgcolor・cellpadding などの古い指定はCSSで上書きし、サイトの見た目にそろえる */
.facility-richtext--free table {
	width: 100%;
	margin: 0 0 20px;
	border-collapse: collapse;
	background: none;
	font-size: 16px;
	line-height: 1.8;
	color: #333;
}
.facility-richtext--free th,
.facility-richtext--free td {
	padding: 12px 16px;
	border: 1px solid #ddd;
	background: #fff;
	text-align: left;
	vertical-align: top;
}
/* 項目名のセル（2列の表の左側） */
.facility-richtext--free th,
.facility-richtext--free tr > td:first-child:not(:only-child) {
	width: 30%;
	background: #f9f7f3;
	font-weight: 700;
}
.facility-richtext--free td p {
	margin: 0;
}
/* 表の中に表を入れている外枠のセルは、枠線・余白なし */
.facility-richtext--free td:has(> table) {
	padding: 0;
	border: none;
}
.facility-richtext--free td > table {
	margin: 0 0 30px;
}
/* 1セルだけの行（「利用の流れ」などの見出し行）は見出しとして表示 */
.facility-richtext--free tr > td:only-child:not(:has(table)) {
	padding: 0 0 10px;
	border: none;
	background: none;
	font-size: 18px;
	font-weight: 700;
}
.facility-richtext--free tr:last-child > td > table {
	margin-bottom: 0;
}

.facility-detail__group {
	margin: 0 0 20px;
}

.facility-detail__group:last-child {
	margin-bottom: 0;
}

.facility-detail__group-name {
	font-size: 15px;
	font-weight: 700;
	color: #333;
	margin: 0 0 6px;
}

.facility-detail__group-text {
	font-size: 16px;
	line-height: 1.8;
	color: #333;
	margin: 0;
}

.facility-detail__section {
	margin: 40px 0;
}

.facility-detail__section-title {
	font-size: 22px;
	font-weight: 700;
	color: #333;
	margin: 0 0 20px;
	padding-bottom: 14px;
	border-bottom: 2px solid #ddd6c8;
}

.facility-detail__map iframe {
	width: 100%;
	border-radius: 12px;
}

.facility-detail__gallery {
	list-style: none;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	padding: 0;
	margin: 60px 0 100px;
}

.facility-detail__gallery img {
	width: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
	display: block;
	height: 240px;
}

.facility-detail__back {
	display: flex;
	justify-content: center;
	margin-top: 40px;
}

.facility-detail__back-link.bthd {
	position: relative;
	background-image: none;
	padding-left: 56px;
}

.facility-detail__back-link.bthd::after {
	content: "";
	position: absolute;
	top: 20px;
	left: 24px;
	width: 16px;
	height: 16px;
	background-image: url(../img/icon/fluent_arrow-left-13-filled.png);
	background-repeat: no-repeat;
	background-size: 16px;
	transform: scaleX(-1);
	transition: transform 0.3s ease;
}

.facility-detail__back-link.bthd:hover::after {
	transform: translateX(-4px) scaleX(-1);
}

.facility-detail__back a.bthd {
	margin-top: 0px;
}

@media screen and (max-width: 900px) {
	.facility-detail__hero {
		grid-template-columns: 1fr;
	}
	.facility-detail__hero-right {
		order: -1;
	}
	.facility-detail__cards,
	.facility-detail__cards--2col {
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 600px) {
	.facility-detail__inner {
		padding: 40px 20px 80px;
	}
	.facility-detail__title {
		font-size: 24px;
	}
	.facility-detail__top {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
}

/* 事業所詳細ページの見出し下（事業所名を表示） */
body.single-facility #pagetop_image .text-normal {
	font-size: 26px;
	font-weight: bold;
}


/* =========================
   responsive（したいことから探す）
========================= */

/* タブレット・小さめのPC */
@media screen and (max-width: 1180px) {
	/* 事業所一覧の部分は .site-main の外にあるため、ここで左右の余白を取る */
	.facility-purpose__sections-inner {
		padding-left: 40px;
		padding-right: 40px;
	}
	/* カードの文章が増えても枠からはみ出さないよう、高さは中身に合わせる */
	.facility-purpose__cardnav a {
		height: auto;
		min-height: 320px;
		padding: 36px 40px 60px 32px;
	}
	.facility-purpose__cardnav h3 {
		font-size: 24px;
	}
	.facility-purpose__cardnav li.is-circle h3 {
		font-size: 22px;
	}
	.facility-purpose__cardnav li.is-circle h3 span {
		font-size: 20px;
	}
	/* 丸いカードは幅340px固定だと列からはみ出すため、列の幅に合わせる */
	.facility-purpose__cardnav li.is-circle {
		aspect-ratio: auto;
		display: flex;
		align-items: center;
		justify-content: center;
	}
	.facility-purpose__cardnav li.is-circle a {
		width: 100%;
		max-width: 340px;
		height: auto;
		min-height: 0;
		aspect-ratio: 1 / 1;
		padding: 20px 36px 0;
		align-items: center;
	}
}

@media screen and (max-width: 1100px) {
	.facility-purpose__cardnav > li,
	.facility-purpose__cardnav > li:nth-child(2),
	.facility-purpose__cardnav > li:nth-child(4),
	.facility-purpose__cardnav > li:nth-child(5),
	.facility-purpose__cardnav > li:nth-child(6) {
		margin: 0;
	}
}

@media screen and (max-width: 900px) {
	/* 上部カード：2列で並べる */
	.facility-purpose__cardnav {
		justify-content: space-between;
		gap: 20px 0;
	}
	.facility-purpose__cardnav a {
		min-height: 280px;
		padding: 30px 50px 60px 30px;
	}
}

/* スマホ */
@media screen and (max-width: 780px) {
	/* .site-main 側で左右20pxの余白を取っているので、二重にならないようにする */
	.facility-purpose {
		margin: 0 auto;
		padding: 50px 0 70px;
	}
	.facility-purpose__title {
		font-size: 24px;
		margin-bottom: 30px;
	}

	/* 上部カード：1列 */
	.facility-purpose__cardnav {
		gap: 16px 0;
	}
	.facility-purpose__cardnav > li {
		width: 100%;
	}
	.facility-purpose__cardnav a {
		min-height: 0;
		padding: 24px 24px 60px;
		border-radius: 24px;
	}
	.facility-purpose__cardnav-head {
		gap: 10px;
		margin-bottom: 12px;
	}
	.facility-purpose__cardnav-icon {
		width: 30px;
		height: 30px;
	}
	.facility-purpose__cardnav h3 {
		font-size: 22px;
	}
	/* 「伝えたい／知りたい」の改行はスマホでは不要（代わりに空白を入れる） */
	.facility-purpose__cardnav-head h3 br {
		display: none;
	}
	.facility-purpose__cardnav-head h3 .br-gap {
		width: 15px;
	}
	.facility-purpose__cardnav li.is-circle h3 br {
		display: none;
	}
	.facility-purpose__cardnav li.is-circle h3 span {
		font-size: 18px;
		margin-left: 10px;
	}
	.facility-purpose__cardnav li.is-circle h3 {
		margin-bottom: 15px;
	}
	.facility-purpose__cardnav p {
		font-size: 16px;
		line-height: 1.9;
	}
	.facility-purpose__cardnav-arrow {
		right: 20px;
		bottom: 18px;
	}

	/* 「事業所・サービス名から探す」はスマホ時は他のカードと同じ四角形に統一 */
	.facility-purpose__cardnav li.is-circle {
		aspect-ratio: auto;
		max-width: none;
		margin: 0;
	}
	.facility-purpose__cardnav li.is-circle a {
		border-radius: 24px;
		width: auto;
		max-width: none;
		height: auto;
		aspect-ratio: auto;
		display: block;
		text-align: left;
		padding: 24px 24px 60px;
	}
	.facility-purpose__cardnav li.is-circle h3 {
		font-size: 22px;
		margin-bottom: 15px;
	}
	.facility-purpose__cardnav li.is-circle h3 br {
		display: none;
	}
	.facility-purpose__cardnav li.is-circle h3 span {
		font-size: 18px;
		margin-left: 10px;
	}
	.facility-purpose__cardnav li.is-circle p {
		text-align: left;
	}
	.facility-purpose__cardnav li.is-circle .facility-purpose__cardnav-arrow {
		position: absolute;
		right: 20px;
		bottom: 18px;
		width: 32px;
		height: 32px;
		background: #333;
	}
	.facility-purpose__cardnav li.is-circle .facility-purpose__cardnav-arrow img {
		filter: brightness(0) invert(1);
		width: 16px;
		height: 16px;
		margin: 0;
	}

	/* 「〇〇したい」ができる事業所 */
	.facility-purpose__sections-inner {
		padding: 20px 20px 70px;
	}
	.facility-purpose__section {
		padding: 40px 0;
	}
	.facility-purpose__section-title {
		flex-wrap: wrap;
		gap: 4px 8px;
		font-size: 24px;
		margin-bottom: 16px;
		padding-bottom: 14px;
	}
	.facility-purpose__section-icon {
		width: 40px;
		height: 40px;
	}
	.facility-purpose__section-suffix {
		font-size: 14px;
		padding-top: 11px;
	}
	.facility-purpose__section-desc {
		font-size: 16px;
		line-height: 1.9;
		margin-bottom: 20px;
	}
	.facility-purpose__section-desc br {
		display: none;
	}
	.facility-purpose__cards {
		gap: 20px;
		margin: 24px 20px 30px;
	}
	.facility-purpose__cards .facility-card {
		border-radius: 24px;
	}
	.facility-purpose__cards .facility-card__name {
		font-size: 18px;
		margin-bottom: 10px;
	}
	.facility-purpose__cards .facility-card__desc {
		font-size: 14px;
	}

	/* 施設サービスから探す・ページ上部へ戻る */
	.facility-purpose__section-links {
		flex-direction: column;
		align-items: stretch;
		gap: 12px;
	}
	.facility-purpose__linkbtn {
		width: 100%;
		max-width: 320px;
		margin: 0 auto;
		box-sizing: border-box;
	}

	/* 「したいこと」からもう一度探す */
	.facility-purpose__footer-nav {
		margin-top: 20px;
		padding-top: 40px;
	}
	.facility-purpose__footer-nav p {
		font-size: 18px;
		margin-bottom: 24px;
	}
	.facility-purpose__nav {
		grid-template-columns: repeat(2, 1fr);
		gap: 10px;
	}
	.facility-purpose__nav a {
		height: auto;
		min-height: 44px;
		padding: 8px 6px;
		gap: 6px;
		font-size: 13px;
		line-height: 1.4;
	}
	.facility-purpose__nav-icon {
		width: 20px;
		height: 20px;
		flex-shrink: 0;
	}
}


/* =========================
   responsive（事業所詳細）
========================= */

/* スマホ */
@media screen and (max-width: 780px) {
	/* .site-main 側で左右20pxの余白を取っているので、二重にならないようにする */
	.facility-detail__inner {
		padding: 30px 0 60px;
	}
	.facility-detail__head {
		padding: 24px 0;
		margin-bottom: 30px;
	}
	.facility-detail__subtitle {
		font-size: 14px;
	}
	.facility-detail__desc {
		font-size: 16px;
		line-height: 2;
	}
	.facility-detail__features-title {
		font-size: 20px;
	}
	.facility-detail__features li {
		margin: 0 0 10px;
		font-size: 16px;
	}
	.facility-detail__card {
		padding: 24px 20px;
		border-radius: 24px;
	}
	.facility-detail__card--action {
		padding-bottom: 64px;
	}
	.facility-detail__card-title {
		font-size: 18px;
		margin-bottom: 14px;
		padding-bottom: 12px;
	}
	.facility-detail__card-text {
		font-size: 16px;
	}
	.facility-detail__card-note {
		font-size: 14px;
	}
	.facility-detail__card-list {
		font-size: 16px;
	}
	.facility-richtext p,
	.facility-richtext--free ul,
	.facility-richtext--free ol,
	.facility-richtext--free table {
		font-size: 16px;
	}
	/* 表は項目名の下に内容を並べる */
	.facility-richtext--free table,
	.facility-richtext--free tbody,
	.facility-richtext--free tr,
	.facility-richtext--free th,
	.facility-richtext--free td {
		display: block;
		width: auto;
	}
	.facility-richtext--free th,
	.facility-richtext--free tr > td:first-child:not(:only-child) {
		width: auto;
		padding: 8px 12px;
		border-bottom: none;
	}
	.facility-richtext--free td {
		padding: 10px 12px;
	}
	.facility-richtext--free tr + tr > td:first-child:not(:only-child) {
		margin-top: -1px;
	}
	.facility-richtext--free tr > td:only-child:not(:has(table)) {
		font-size: 16px;
	}
	/* 地図をみる・メールのボタン */
	.card-bthd {
		font-size: 14px;
		line-height: 2.8em;
	}
	/* 写真は横幅いっぱいで、上から下に1枚ずつ並べる */
	.facility-detail__gallery {
		grid-template-columns: 1fr;
		gap: 10px;
		margin: 30px 0 50px;
	}
}


/* =========================
   responsive（事業所・サービス名から探す）
========================= */

/* タブレット・小さめのPC */
@media screen and (max-width: 1180px) {
	/* 事業所一覧の部分は .site-main の外にあるため、ここで左右の余白を取る */
	.facility-list__sections-inner {
		padding-left: 40px;
		padding-right: 40px;
	}
}

/* スマホ */
@media screen and (max-width: 780px) {
	.facility-list__hero {
		padding: 50px 0;
	}
	.facility-list__title {
		font-size: 24px;
		margin-bottom: 24px;
	}
	/* サービス名のボタン */
	.facility-list__cats {
		gap: 9px;
		margin-bottom: 20px;
	}
	.facility-list__cats a {
		height: 38px;
		padding: 0 14px;
		font-size: 14px;
		box-shadow: 0 0 8px 1px rgba(0, 0, 0, 0.15);
	}
	.facility-list__cats-arrow img {
		width: 14px;
		height: 14px;
		margin-top: 3px;
	}

	/* サービスごとの一覧 */
	.facility-list__sections-inner {
		padding: 20px 20px 70px;
	}
	.facility-list__section {
		padding: 40px 0;
	}
	.facility-list__section-title {
		font-size: 22px;
		margin-bottom: 16px;
		padding-bottom: 14px;
	}
}

/* フォントのルール：「の特徴」は BIZ UDGothic Bold（Figma） */
.facility-detail__features-title span {
  font-family: "BIZ UDGothic", sans-serif;
}

/* フォントのルール：事業所カードの名前は BIZ UDGothic Bold（Figma）。nsjp-1（Noto）より優先 */
.facility-card__name.nsjp-1 {
	font-family: "BIZ UDGothic", sans-serif;
	font-weight: 700;
}
