/**
 * Office SEO Brushup：追記ブロックの見た目（.osbu- のみ。既存の文言・テーマの見出しは変えません）。
 */
.osbu-block {
	box-sizing: border-box;
	color: #0f2d52;
	line-height: 1.8;
	margin: 2.2em 0;
	width: 100%;
}
.osbu-block *,
.osbu-block *::before,
.osbu-block *::after {
	box-sizing: border-box;
}
.osbu-block p { margin: 0.7em 0; }
.osbu-block a {
	color: #163f8a;
	font-weight: 700;
	text-decoration: underline;
	text-underline-offset: 3px;
}
.osbu-block a:focus {
	outline: 2px solid #163f8a;
	outline-offset: 2px;
}
.osbu-block strong { color: #0b2a5b; font-weight: 800; }
.osbu-lead {
	font-size: 1.05em;
	background: #f3f6fb;
	border-left: 5px solid #b8860b;
	padding: 10px 14px;
	border-radius: 0 8px 8px 0;
}
.osbu-h3 {
	font-size: 18px;
	font-weight: 800;
	color: #0f2d52;
	margin: 1.6em 0 0.6em;
	padding-left: 10px;
	border-left: 4px solid #0f2d52;
}
.osbu-table-wrap {
	width: 100%;
	max-width: 100%;
	overflow-x: auto;
	-webkit-overflow-scrolling: touch;
	margin: 1em 0 1.2em;
}
.osbu-table {
	width: 100%;
	min-width: 640px;
	border-collapse: collapse;
	background: #fff;
	font-size: 14.5px;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.05);
	margin: 0;
}
.osbu-table-narrow { min-width: 0; max-width: 680px; }
.osbu-table th,
.osbu-table td {
	border: 1px solid #d7deea;
	padding: 0.65em 0.7em;
	vertical-align: top;
	text-align: left;
	line-break: strict;
}
.osbu-table th {
	background: #0f2d52;
	color: #fff;
	font-weight: 800;
}
.osbu-table tr.osbu-hl td { background: #fff7e6; }
.osbu-table .osbu-num { text-align: right; white-space: nowrap; }
.osbu-table .osbu-need { color: #b42318; font-weight: 800; white-space: nowrap; }
.osbu-table .osbu-ok { color: #1d6b3a; font-weight: 800; }
.osbu-check,
.osbu-steps {
	margin: 0.6em 0 1em;
	padding-left: 1.5em;
}
.osbu-check li,
.osbu-steps li { margin: 0.45em 0; }
.osbu-steps li::marker { color: #b8860b; font-weight: 900; }
.osbu-point {
	background: #fff4f2;
	border: 1px solid #f3c7bd;
	border-radius: 10px;
	padding: 12px 16px;
}
.osbu-card {
	background: #fff;
	border: 2px solid #0f2d52;
	border-radius: 12px;
	padding: 14px 18px;
	margin: 1em 0;
}
.osbu-card-title { font-weight: 800; margin: 0 0 0.3em; }
.osbu-src {
	font-size: 12.5px;
	color: #4a5568;
	margin-top: 1em;
}
.osbu-faq-list { margin: 0.6em 0 1em; }
.osbu-faq {
	background: #fff;
	border: 1px solid #d7deea;
	border-radius: 10px;
	margin: 0.7em 0;
	padding: 12px 16px;
}
.osbu-faq-q { font-weight: 800; margin: 0 0 0.35em; color: #0f2d52; }
.osbu-faq-a { margin: 0; color: #223; }
.osbu-strengths {
	background: #0f2d52;
	color: #fff;
	border-radius: 14px;
	padding: 20px 22px 16px;
}
.osbu-strengths-title {
	font-size: 20px;
	font-weight: 900;
	margin: 0 0 0.4em !important;
	color: #fff;
}
.osbu-strengths-list { list-style: none; padding: 0; margin: 0.4em 0 0.8em; }
.osbu-strengths-list li {
	position: relative;
	padding-left: 1.6em;
	margin: 0.45em 0;
	color: #fff;
}
.osbu-strengths-list li::before {
	content: "✓";
	position: absolute;
	left: 0;
	color: #f5c451;
	font-weight: 900;
}
.osbu-block .osbu-strengths strong { color: #f5c451; }
.osbu-cta { display: flex; flex-wrap: wrap; gap: 10px; margin: 0.8em 0 0.3em; }
.osbu-block a.osbu-btn {
	display: inline-block;
	background: #cc1f00;
	color: #fff;
	text-decoration: none;
	font-weight: 800;
	padding: 12px 18px;
	border-radius: 8px;
	line-height: 1.4;
}
.osbu-block a.osbu-btn-sec {
	background: #fff;
	color: #0f2d52;
	border: 2px solid #fff;
}
.osbu-strengths .osbu-note { font-size: 12.5px; color: #dbe3f0; margin: 0.4em 0 0; }
.osbu-linkhub {
	background: #f3f6fb;
	border: 1px solid #d7deea;
	border-radius: 12px;
	padding: 14px 18px;
}
.osbu-linkhub-title { font-weight: 900; margin: 0 0 0.3em !important; }
.osbu-linkhub ul { margin: 0; padding-left: 1.3em; }
.osbu-linkhub li { margin: 0.35em 0; }
@media (max-width: 767px) {
	.osbu-table { font-size: 13.5px; }
	.osbu-strengths { padding: 16px 16px 12px; }
	.osbu-strengths-title { font-size: 18px; }
	.osbu-block a.osbu-btn { width: 100%; text-align: center; }
}
