/* Scoped overrides for DB-stored HTML (news.content, etc.) */
.legacy-cms {
	font-size: 1rem;
	line-height: 1.65;
	color: #292524;
	word-break: break-word;
}
.legacy-cms font {
	font-size: inherit !important;
}
.legacy-cms img {
	max-width: 100%;
	height: auto !important;
}
.legacy-cms h1 {
	font-size: 1.875rem !important;
	line-height: 1.3;
	margin: 1rem 0 0.75rem;
	font-weight: 700;
}
.legacy-cms h2 {
	font-size: 1.5rem !important;
	line-height: 1.35;
	margin: 1rem 0 0.5rem;
	font-weight: 600;
}
.legacy-cms h3 {
	font-size: 1.25rem !important;
	line-height: 1.4;
	margin: 0.75rem 0 0.5rem;
	font-weight: 600;
}
.legacy-cms p,
.legacy-cms li,
.legacy-cms td,
.legacy-cms th,
.legacy-cms div {
	font-size: 1rem !important;
	line-height: 1.65 !important;
}
.legacy-cms span[style*="font-size"] {
	font-size: inherit !important;
}

/* リンクは本文中で判別できるようにする（全体CSSの a{text-decoration:none} を上書き） */
.legacy-cms a {
	color: #0f766e;
	text-decoration: underline;
	text-underline-offset: 2px;
	text-decoration-thickness: 1px;
}
.legacy-cms a:hover {
	color: #115e59;
}
.legacy-cms a:focus-visible {
	outline: 2px solid rgba(20, 184, 166, 0.6);
	outline-offset: 2px;
	border-radius: 2px;
}

/* トップ・一覧内の固定幅画像をレスポンシブに */
#main #area h1 img,
#main .toppage_banner img,
#main .lr img,
#main #xnews img {
	max-width: 100% !important;
	height: auto !important;
}
#main #xnews ul li[style*="inline-block"] {
	display: block !important;
	width: 100% !important;
	max-width: 28rem;
	margin-left: auto !important;
	margin-right: auto !important;
}
