:root {
	--bg: #f6f7fb;
	--panel: #ffffff;
	--text: #1c1d2b;
	--muted: #5c6075;
	--line: #dfe2ee;
	--cyan: #0aa7c4;
	--magenta: #d43a9f;
}

@media (prefers-color-scheme: dark) {
	:root {
		--bg: #0e0e1f;
		--panel: #16172c;
		--text: #e9ebf7;
		--muted: #a4a8c4;
		--line: #2a2c49;
		--cyan: #2fe3ff;
		--magenta: #ff57c7;
	}
}

* { box-sizing: border-box; }

body {
	margin: 0;
	background: var(--bg);
	color: var(--text);
	font-family: system-ui, -apple-system, "Segoe UI", "Hiragino Sans", "Noto Sans JP", sans-serif;
	line-height: 1.8;
}

main {
	max-width: 760px;
	margin: 0 auto;
	padding: 40px 16px 64px;
}

a { color: var(--cyan); }

header.site {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 32px;
	font-size: 14px;
}

header.site .home {
	color: var(--text);
	font-weight: 700;
	letter-spacing: 0.06em;
	text-decoration: none;
}

h1 {
	font-size: 26px;
	line-height: 1.4;
	margin: 0 0 8px;
}

h2 {
	font-size: 18px;
	margin: 32px 0 8px;
	padding-left: 10px;
	border-left: 3px solid var(--magenta);
}

.lead { color: var(--muted); }

.card {
	display: flex;
	gap: 20px;
	align-items: center;
	background: var(--panel);
	border: 1px solid var(--line);
	border-radius: 12px;
	padding: 20px;
	margin-top: 24px;
}

.card img { width: 96px; height: 96px; flex: none; }

.card h2 {
	margin: 0 0 4px;
	padding: 0;
	border: none;
}

.card p { margin: 0 0 8px; }

ul { padding-left: 1.4em; }

footer {
	margin-top: 48px;
	padding-top: 16px;
	border-top: 1px solid var(--line);
	color: var(--muted);
	font-size: 13px;
}

@media (max-width: 480px) {
	.card { flex-direction: column; align-items: flex-start; }
}
