/* カラー設定 */
:root{
	--brand:#a9d3df;
	--text:#222;
	--muted:#6b7280;
	--border:#e5e7eb;
	--bg:#ffffff;
	--container: 1200px;
}

/* ベース */
html, body{
	margin:0;
	padding:0;
	background:var(--bg);
	color:var(--text);
	font-family:-apple-system,BlinkMacSystemFont,"Hiragino Kaku Gothic ProN","Yu Gothic UI","Yu Gothic","Noto Sans JP",Meiryo,sans-serif;
}
a{
	color:#0a66c2;
	text-decoration:none;
}
a:hover{
	text-decoration:underline;
}
.container{
	max-width:var(--container);
	margin-inline:auto;
	padding:24px;
}

/* ヘッダー */
header{
	background:var(--brand);
}
.nav{
	display:flex;
	align-items:center;
	gap:24px;
}
.logo{
	display:flex;
	align-items:center;
	gap:12px;
	font-weight:700;
}
.logo-mark{
	width:36px;
	height:36px;
	border-radius:50%;
	background:#e7f4f8;
	display:grid;
	place-items:center;
	font-size:12px;
}
.nav-links{
	margin-left:auto;
	display:flex;
	gap:32px;
	font-size:15px;
}
.nav-links a{
	color:#0f2b36;
	font-weight:600;
}

/* タイトル */
h1{
	font-size:clamp(20px,3.2vw,32px);
	letter-spacing:.06em;
	text-align:center;
	margin:40px 0 24px;
}

/* 明細（定義表） */
.definition{
	width:100%;
	border:1px solid var(--border);
	border-collapse:separate;
	border-spacing:0;
	overflow:hidden;
	border-radius:8px;
}
.row{
	display:grid;
	grid-template-columns:200px 1fr;
}
.row:nth-child(odd){
	background:#fafafa;
}
.cell{
	padding:18px 20px;
	border-top:1px solid var(--border);
}
.row:first-child .cell{
	border-top:none;
}
.th{
	font-weight:600;
	color:#374151;
	background:#f8fafc;
}

/* フッター */
footer{
	background:var(--brand);
	margin-top:64px;
}
footer .copy{
	font-size:13px;
	color:#134452;
	opacity:.9;
	text-align:center;
}

/* レスポンシブ */
@media (max-width: 800px){
	.nav{
		gap:12px;
	}
	.nav-links{
		gap:18px;
		font-size:14px;
	}
	.row{
		grid-template-columns:1fr;
	}
	.th{
		border-bottom:1px solid var(--border);
	}
}

/* 印刷配慮 */
@media print{
	header, footer{
		background:#fff;
	}
	a[href^="http"]::after{
		content:" (" attr(href) ")";
		font-size:12px;
		color:var(--muted);
	}
}