html.fs-s {
	--efd-public-content-font-size: 16px;
	font-size: 16px !important;
}

/* Lightning ProのPC用ヘッダーナビで、長い事業名が途中改行されない幅を確保する。 */
@media (min-width: 992px) {
	header nav.wp-block-navigation[aria-label^="ヘッダーナビ"] .wp-block-navigation__submenu-container {
		min-width: 280px;
		width: 280px;
	}

	header nav.wp-block-navigation[aria-label^="ヘッダーナビ"] .wp-block-navigation__submenu-container .wp-block-navigation-item__content,
	header nav.wp-block-navigation[aria-label^="ヘッダーナビ"] .wp-block-navigation__submenu-container .wp-block-navigation-item__label {
		white-space: nowrap;
	}
}

/* TOP 利用者別・事業内容別ナビゲーション */
.efd-top-purpose-nav {
	color: #17444b;
	font-family: inherit;
	margin: 24px auto;
	max-width: 1120px;
}

.efd-top-purpose-nav *,
.efd-top-purpose-nav *::before,
.efd-top-purpose-nav *::after {
	box-sizing: border-box;
}

.efd-top-purpose-nav__shell {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	overflow: visible !important;
}

.efd-top-purpose-nav .efd-top-purpose-nav__heading {
	background: transparent !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	clear: none !important;
	color: #1978b6 !important;
	display: block !important;
	font-size: clamp(22px, 3vw, 30px) !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	outline: 0 !important;
	padding: 20px 16px 14px !important;
	position: static !important;
	text-align: center !important;
}

.efd-top-purpose-nav .efd-top-purpose-nav__heading::before,
.efd-top-purpose-nav .efd-top-purpose-nav__heading::after {
	background: #72b79a !important;
	border: 0 !important;
	box-shadow: none !important;
	content: "" !important;
	display: inline-block !important;
	height: 2px !important;
	margin: 0 12px 7px !important;
	padding: 0 !important;
	position: static !important;
	transform: rotate(55deg) !important;
	width: 23px !important;
}

.efd-top-purpose-nav .efd-top-purpose-nav__heading::after {
	transform: rotate(-55deg) !important;
}

.efd-top-purpose-nav__tabs {
	border: 1px solid #cfd9d5;
	border-radius: 10px 10px 0 0;
	display: grid;
	grid-template-columns: 1fr 1fr;
	margin: 0 18px;
	overflow: hidden;
}

.efd-top-purpose-nav__tab {
	-webkit-appearance: none !important;
	appearance: none !important;
	background: #f1f2f2 !important;
	border: 0 !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	color: #4a4038 !important;
	cursor: pointer;
	display: block !important;
	font: inherit !important;
	font-size: 18px !important;
	font-weight: 700 !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	min-height: 54px !important;
	padding: 11px 8px !important;
	text-transform: none !important;
	width: 100% !important;
}

.efd-top-purpose-nav__tab[aria-selected="true"] {
	background: #277eb8 !important;
	color: #fff !important;
}

.efd-top-purpose-nav__tab:focus-visible {
	outline: 3px solid #f4a640;
	outline-offset: -4px;
}

.efd-top-purpose-nav__panel {
	padding: 18px;
}

.efd-top-purpose-nav.is-ready .efd-top-purpose-nav__panel[hidden] {
	display: none;
}

.efd-top-purpose-nav__audience {
	display: grid;
	gap: 18px;
	grid-template-columns: repeat(6, minmax(0, 1fr));
}

.efd-top-purpose-nav__audience-link {
	background: #f5f8f5;
	border-radius: 13px;
	display: block;
	overflow: hidden;
	text-decoration: none !important;
	transition: transform 0.18s ease, box-shadow 0.18s ease;
}

.efd-top-purpose-nav__audience-link:hover,
.efd-top-purpose-nav__audience-link:focus {
	box-shadow: 0 6px 14px rgba(44, 87, 78, 0.16);
	transform: translateY(-3px);
}

.efd-top-purpose-nav__audience-link img {
	display: block;
	height: auto;
	margin: 0 !important;
	width: 100%;
}

.efd-top-purpose-nav__services {
	display: grid;
	gap: 12px;
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.efd-top-purpose-nav__service {
	align-items: center !important;
	background: #fff !important;
	border: 1px solid #d9e4df !important;
	border-radius: 12px !important;
	box-shadow: 0 2px 7px rgba(47, 92, 82, 0.06) !important;
	color: #17444b !important;
	display: flex !important;
	font-size: 17px !important;
	font-weight: 700 !important;
	gap: 12px !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	min-height: 72px !important;
	padding: 13px 16px !important;
	text-align: left !important;
	text-decoration: none !important;
}

.efd-top-purpose-nav__service:hover,
.efd-top-purpose-nav__service:focus {
	background: #f1faf6 !important;
	border-color: #4fa68a !important;
}

.efd-top-purpose-nav__service-icon {
	align-items: center !important;
	background: #e2f3ec !important;
	border-radius: 50% !important;
	color: #278a68 !important;
	display: grid !important;
	flex: 0 0 42px !important;
	height: 42px !important;
	justify-items: center !important;
	line-height: 1 !important;
	margin: 0 !important;
	padding: 0 !important;
	width: 42px !important;
}

.efd-top-purpose-nav__service-icon svg {
	display: block !important;
	fill: none !important;
	height: 22px !important;
	margin: 0 !important;
	overflow: visible !important;
	stroke: currentColor !important;
	stroke-linecap: round !important;
	stroke-linejoin: round !important;
	stroke-width: 2 !important;
	width: 22px !important;
}

.efd-top-purpose-nav__service-label {
	color: inherit !important;
	display: block !important;
	line-height: 1.5 !important;
	margin: 0 !important;
	min-width: 0 !important;
	padding: 0 !important;
}

.efd-top-purpose-nav__arrow {
	color: #278a68 !important;
	display: block !important;
	flex: 0 0 auto !important;
	font-size: 24px !important;
	font-weight: 400 !important;
	line-height: 1 !important;
	margin: 0 0 0 auto !important;
	padding: 0 !important;
}

.efd-top-purpose-nav__note {
	color: #667a76;
	font-size: 14px;
	margin: 0;
	padding: 0 18px 18px;
	text-align: center;
}

@media (max-width: 767px) {
	.efd-top-purpose-nav {
		margin: 18px auto !important;
		max-width: calc(100vw - 64px) !important;
		width: calc(100vw - 64px) !important;
	}

	.efd-top-purpose-nav__shell {
		border-radius: 0 !important;
		max-width: 100% !important;
		width: 100% !important;
	}

	.efd-top-purpose-nav .efd-top-purpose-nav__heading {
		font-size: 22px !important;
		padding: 16px 10px 12px !important;
	}

	.efd-top-purpose-nav__tabs {
		margin: 0 10px;
	}

	.efd-top-purpose-nav__tab {
		font-size: 16px !important;
		min-height: 50px !important;
	}

	.efd-top-purpose-nav__panel {
		padding: 12px 10px 14px;
	}

	.efd-top-purpose-nav__audience {
		gap: 10px;
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.efd-top-purpose-nav__services {
		gap: 9px;
		grid-template-columns: 1fr;
	}

	.efd-top-purpose-nav__service {
		font-size: 16px !important;
		min-height: 64px !important;
		padding: 10px 13px !important;
	}

	.efd-top-purpose-nav__service-icon {
		flex-basis: 38px !important;
		height: 38px !important;
		width: 38px !important;
	}

	.efd-top-purpose-nav__note {
		font-size: 12px;
		padding: 0 12px 14px;
	}
}

@media (prefers-reduced-motion: reduce) {
	.efd-top-purpose-nav__audience-link {
		transition: none;
	}
}

html.fs-m {
	--efd-public-content-font-size: 20px;
	font-size: 16px !important;
}

html.fs-l {
	--efd-public-content-font-size: 24px;
	font-size: 16px !important;
}

html.fs-s :is(.entry-body, .entry-content),
html.fs-m :is(.entry-body, .entry-content),
html.fs-l :is(.entry-body, .entry-content) {
	font-size: var(--efd-public-content-font-size) !important;
}

html.fs-s :is(.entry-body, .entry-content) table :is(th, td, p, li, a, span, strong),
html.fs-m :is(.entry-body, .entry-content) table :is(th, td, p, li, a, span, strong),
html.fs-l :is(.entry-body, .entry-content) table :is(th, td, p, li, a, span, strong),
html.fs-s .vk_posts :is(.postListText_title, .vk_post_title, .vk_post_excerpt, .vk_post_date),
html.fs-m .vk_posts :is(.postListText_title, .vk_post_title, .vk_post_excerpt, .vk_post_date),
html.fs-l .vk_posts :is(.postListText_title, .vk_post_title, .vk_post_excerpt, .vk_post_date) {
	font-size: var(--efd-public-content-font-size) !important;
}

html.fs-s .font-resizer,
html.fs-m .font-resizer,
html.fs-l .font-resizer {
	font-size: 16px !important;
}

html.fs-s .font-resizer__btn,
html.fs-m .font-resizer__btn,
html.fs-l .font-resizer__btn {
	font-size: 16px !important;
}

@media (max-width: 767.98px) {
	html.fs-m {
		--efd-public-content-font-size: 19px;
	}

	html.fs-l {
		--efd-public-content-font-size: 22px;
	}
}

.post-list {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

@media (min-width: 768px) {
	.post-list {
		grid-template-columns: repeat(4, minmax(0, 1fr));
	}
}

.post-list .box {
	display: flex;
	flex-direction: column;
	gap: 8px;
}

.post-list .image-link img {
	display: block;
	height: auto;
	width: 100%;
}

.post-list .title {
	font-size: 14px;
	line-height: 1.6;
	margin: 0;
}

.post-list .pagination {
	grid-column: 1 / -1;
	margin-top: 16px;
}

.booklet-slider-mix {
	overflow: hidden;
	position: relative;
}

.efd-slider-viewport {
	overflow: hidden;
}

.efd-slider-track {
	display: flex;
	transition: transform 0.6s ease;
}

.efd-slider-slide {
	flex: 0 0 100%;
	padding: 4px;
}

.booklet-slider-mix .card {
	color: inherit;
	display: block;
	text-decoration: none;
}

.booklet-slider-mix .thumb {
	background: #fff;
	display: block;
	overflow: hidden;
}

.booklet-slider-mix .thumb > img {
	aspect-ratio: 210 / 297;
	display: block;
	height: 100%;
	object-fit: contain;
	width: 100%;
}

.booklet-slider-mix .cap {
	display: block;
	font-size: 14px;
	font-weight: 600;
	margin-top: 0.5rem;
}

.efd-slider-prev,
.efd-slider-next {
	background: rgba(255, 255, 255, 0.9);
	border: 1px solid #d8e1df;
	border-radius: 999px;
	color: #1e40af;
	cursor: pointer;
	font-size: 28px;
	height: 42px;
	position: absolute;
	top: 43%;
	width: 42px;
}

.efd-slider-prev {
	left: 8px;
}

.efd-slider-next {
	right: 8px;
}

.efd-slider-dots {
	display: flex;
	gap: 7px;
	justify-content: center;
	margin-top: 10px;
}

.efd-slider-dot {
	background: #9aa9b6;
	border: 0;
	border-radius: 999px;
	cursor: pointer;
	height: 9px;
	padding: 0;
	width: 9px;
}

.efd-slider-dot.is-current {
	background: #1e40af;
}

.h2buttons {
	display: flex;
	gap: 0.6rem;
	margin: 1rem 0 1.2rem;
}

.h2buttons.is-nowrap {
	flex-wrap: nowrap;
	overflow: auto;
	padding-bottom: 0.25rem;
}

.h2buttons.is-wrap {
	flex-wrap: wrap;
}

.h2buttons.is-left {
	justify-content: flex-start;
}

.h2buttons.is-center {
	justify-content: center;
}

.h2buttons.is-right {
	justify-content: flex-end;
}

.h2buttons .h2btn {
	background: #fff;
	border: 1px solid var(--vk-color-border, #ddd);
	border-radius: 9999px;
	box-shadow: 0 1px 0 rgba(0, 0, 0, 0.03);
	display: inline-block;
	line-height: 1;
	padding: 0.5rem 0.9rem;
	text-decoration: none;
	white-space: nowrap;
}

.h2buttons .h2btn:hover {
	background: #f7f7f7;
}

.h2buttons .h2btn--xs {
	font-size: 0.75rem;
	padding: 0.35rem 0.7rem;
}

.h2buttons .h2btn--sm {
	font-size: 0.875rem;
	padding: 0.45rem 0.8rem;
}

.h2buttons .h2btn--lg {
	font-size: 1.125rem;
	padding: 0.6rem 1rem;
}

.entry-body .h2buttons {
	margin-bottom: 1rem;
	margin-top: 0;
}

.custom-sitemap,
.custom-sitemap ul {
	list-style: none;
	margin: 0;
	padding: 0;
}

.custom-sitemap {
	margin: 1.5em 0;
}

.custom-sitemap > li {
	margin: 1em 0;
}

.custom-sitemap__title,
.custom-sitemap__section-title {
	border-left: 4px solid #3498db;
	color: #2c3e50;
	display: inline-block;
	font-weight: 700;
	padding-left: 0.6em;
	text-decoration: none;
}

.custom-sitemap__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem 0.6rem;
	margin-top: 0.6em;
}

.custom-sitemap__chip {
	background: #fff;
	border: 1px solid #d9dde3;
	border-radius: 9999px;
	color: #34495e;
	display: inline-block;
	max-width: 100%;
	overflow: hidden;
	padding: 0.35em 0.8em;
	text-decoration: none;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.custom-sitemap__section {
	margin: 1.5em 0 1em;
}

.links-list-toolbar {
	display: flex;
	justify-content: flex-end;
	margin-bottom: 12px;
}

.links-admin-btn,
.link-edit-btn {
	background: #2271b1;
	border-radius: 6px;
	color: #fff;
	display: inline-block;
	font-size: 13px;
	padding: 6px 10px;
	text-decoration: none;
}

.links-grid {
	display: grid;
	gap: 16px;
	grid-template-columns: repeat(4, minmax(0, 1fr));
}

.links-item {
	align-items: center;
	background: #fff;
	border: 1px solid #eee;
	border-radius: 10px;
	display: flex;
	flex-direction: column;
	justify-content: center;
	min-height: 160px;
	padding: 16px;
	text-align: center;
}

.links-link {
	display: inline-flex;
	justify-content: center;
	max-width: 100%;
}

.links-banner {
	display: block;
	height: auto;
	max-width: 100%;
}

.link-edit-btn {
	margin-top: 8px;
}

.efd-front-edit-actions {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 1rem;
}

.efd-front-edit-button {
	align-items: center;
	background: #2271b1;
	border: 1px solid #2271b1;
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	padding: 0.55rem 0.9rem;
	text-decoration: none;
}

.efd-front-edit-button:hover,
.efd-front-edit-button:focus {
	background: #135e96;
	border-color: #135e96;
	color: #fff;
	text-decoration: none;
}

.efd-archive-create-actions {
	display: flex;
	justify-content: flex-end;
	margin: 0 0 1rem;
}

.efd-archive-create-button {
	align-items: center;
	background: #2271b1;
	border: 1px solid #2271b1;
	border-radius: 6px;
	color: #fff;
	display: inline-flex;
	font-size: 14px;
	font-weight: 700;
	line-height: 1.4;
	padding: 0.55rem 0.9rem;
	text-decoration: none;
}

.efd-archive-create-button:hover,
.efd-archive-create-button:focus {
	background: #135e96;
	border-color: #135e96;
	color: #fff;
	text-decoration: none;
}

.efd-application-top-list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.efd-application-top-list__item {
	margin: 0;
	border-bottom: 1px dotted #ccc;
}

.efd-application-top-list__link {
	display: grid;
	grid-template-columns: auto minmax(0, 1fr) auto;
	gap: 12px;
	align-items: center;
	padding: 14px 2px;
	color: inherit;
	text-decoration: none;
}

.efd-application-top-list__link:hover,
.efd-application-top-list__link:focus {
	color: var(--vk-color-primary, #337ab7);
	text-decoration: underline;
}

.efd-application-top-list__link .fa-file-pdf {
	color: #c62828;
}

.efd-application-top-list__category {
	padding: 2px 9px;
	border-radius: 999px;
	background: #eef6f1;
	color: #397d5c;
	font-size: 12px;
	white-space: nowrap;
}

@media (max-width: 768px) {
	.links-grid {
		grid-template-columns: 1fr;
	}
}

/* 介護保険ページの案内表は、本文を二重管理せずスマートフォンだけカード表示にする。 */
@media (max-width: 767px) {
	.efd-application-top-list__link {
		grid-template-columns: auto minmax(0, 1fr);
		gap: 8px 10px;
	}
	.efd-application-top-list__category {
		grid-column: 2;
		justify-self: start;
	}
	body.page-id-69 table.care-info-table,
	body.page-id-69 table.care-info-table > tbody {
		display: block;
		width: 100% !important;
	}

	body.page-id-69 table.care-info-table {
		border: 0;
		border-collapse: separate;
		border-spacing: 0;
		table-layout: auto;
	}

	body.page-id-69 table.care-info-table > tbody > tr {
		background: #fff;
		border: 1px solid #d9d9d9;
		border-radius: 8px;
		display: block;
		margin-bottom: 14px;
		overflow: hidden;
	}

	body.page-id-69 table.care-info-table > tbody > tr > th,
	body.page-id-69 table.care-info-table > tbody > tr > td {
		box-sizing: border-box;
		display: block;
		width: 100% !important;
	}

	body.page-id-69 table.care-info-table > tbody > tr > th {
		background-color: #ebebeb !important;
		border: 0;
		border-bottom: 1px solid #d9d9d9;
		font-weight: 700;
		padding: 9px 12px;
	}

	body.page-id-69 table.care-info-table > tbody > tr > td {
		border: 0;
		padding: 11px 12px;
	}

	body.page-id-69 table.care-info-table > tbody > tr > td > :last-child {
		margin-bottom: 0;
	}

	body.page-id-69 table.care-schedule-table {
		display: table;
		font-size: 0.9rem;
		table-layout: auto;
		width: 100% !important;
	}

	body.page-id-69 table.care-schedule-table th,
	body.page-id-69 table.care-schedule-table td {
		display: table-cell;
		padding: 8px;
		width: auto !important;
	}

	body.page-id-69 table.care-schedule-table th:first-child,
	body.page-id-69 table.care-schedule-table td:first-child {
		white-space: nowrap;
		width: 5em !important;
	}

	body.page-id-69 table.care-schedule-table ul {
		margin-bottom: 0;
		padding-left: 1.25rem;
	}
}
