/* ブログ共通スタイル。記事を増やすたびにCSSを複製しないよう1箇所にまとめる */
:root{--blue:#2563EB;--dark:#0F172A;--gray:#334155;--light:#F1F5F9}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,"Hiragino Sans","Noto Sans JP",sans-serif;line-height:2;color:var(--dark);background:#fff}
.wrap{max-width:680px;margin:0 auto;padding:0 20px}
header{padding:18px 0;border-bottom:1px solid #E2E8F0}
header a{color:var(--blue);text-decoration:none;font-weight:700;font-size:15px}
article{padding:40px 0 24px}
h1{font-size:clamp(22px,4.6vw,30px);line-height:1.6;margin-bottom:12px}
.date{font-size:13px;color:#64748B;margin-bottom:28px;display:block}
h2{font-size:clamp(18px,3.8vw,22px);margin:44px 0 14px;padding-left:12px;border-left:4px solid var(--blue);line-height:1.6}
h3{font-size:16.5px;margin:28px 0 8px}
p{margin-bottom:16px;color:var(--gray);font-size:15.5px}
ul,ol{margin:0 0 16px 24px;color:var(--gray);font-size:15.5px}
li{margin-bottom:6px}
strong{color:var(--dark)}
em{font-style:normal;font-weight:600;color:var(--dark)}
.box{background:var(--light);border-radius:12px;padding:18px 20px;margin:20px 0;font-size:14.5px;color:var(--gray)}
.tablewrap{overflow-x:auto;margin:20px 0}
table{width:100%;border-collapse:collapse;font-size:14.5px;color:var(--gray)}
th,td{border:1px solid #E2E8F0;padding:10px 12px;text-align:left;line-height:1.8}
th{background:var(--light);color:var(--dark);font-weight:700}
.cta-block{background:linear-gradient(180deg,#EFF6FF,#fff);border:1px solid #BFDBFE;border-radius:16px;padding:28px 24px;margin:44px 0;text-align:center}
.cta-block h2{border:none;padding:0;margin:0 0 10px;font-size:19px}
.cta-block p{font-size:14.5px}
.cta{display:inline-block;background:var(--blue);color:#fff;text-decoration:none;font-weight:700;font-size:16px;padding:14px 34px;border-radius:12px;margin-top:8px}
.related{font-size:14.5px;color:var(--gray)}
.related a{color:var(--blue)}
footer{padding:32px 20px;text-align:center;font-size:13px;color:#64748B;border-top:1px solid #E2E8F0}
footer a{margin:0 8px;color:#64748B}
/* 一覧ページ */
.post{display:block;text-decoration:none;color:inherit;border:1px solid #E2E8F0;border-radius:14px;padding:20px 22px;margin-bottom:16px}
.post h2{border:none;padding:0;margin:0 0 8px;font-size:17.5px}
.post p{margin:0 0 8px;font-size:14.5px}
.post .date{margin:0}
