:root { --paper:#f6f3ee; --ink:#2a2723; --mid:#6f695f; --line:#e2ddd4; --card:#fffdf9; }
* { box-sizing:border-box; }
body { margin:0; background:var(--paper); color:var(--ink); font:16px/1.9 "Zen Kaku Gothic New","Hiragino Sans",sans-serif; }
a { color:inherit; }
.wrap { max-width:1080px; margin:0 auto; padding:0 16px; }
.narrow { max-width:720px; }
header.site { border-bottom:1px solid var(--line); }
header.site .wrap { display:flex; justify-content:space-between; align-items:center; height:64px; }
.logo { font:600 24px "Zen Old Mincho",serif; letter-spacing:.08em; text-decoration:none; }
nav.site { display:flex; gap:22px; font-size:14px; color:var(--mid); }
nav.site a { text-decoration:none; }
.kicker { font-size:12px; letter-spacing:.2em; color:var(--mid); }
h1, h2, h3 { font-family:"Zen Old Mincho",serif; font-weight:600; }
h1 { font-size:clamp(28px,4vw,40px); line-height:1.5; margin:10px 0 16px; }
.lead { color:var(--mid); margin:0 0 22px; }
.btn { display:inline-block; border:1px solid var(--ink); padding:12px 26px; border-radius:99px; font:inherit; font-size:15px; text-decoration:none; background:var(--card); color:var(--ink); cursor:pointer; }
.btn.fill { background:var(--ink); color:var(--paper); }
.card { background:var(--card); border:1px solid var(--line); border-radius:6px; padding:24px; margin:16px 0; }
.ph { background:linear-gradient(135deg,#e9e3d9,#d9d1c4); border-radius:4px; aspect-ratio:4/3; }
.hero { display:grid; grid-template-columns:1.3fr 1fr; gap:40px; padding:56px 0 48px; align-items:center; }
.tool { display:grid; grid-template-columns:1fr 1.2fr; gap:28px; align-items:center; margin:8px 0 56px; padding:28px; }
.tool h2 { font-size:22px; margin:4px 0 8px; }
.fake { border:1px dashed var(--line); border-radius:6px; padding:14px; font-size:14px; color:var(--mid); line-height:2.1; }
.sec { display:flex; justify-content:space-between; align-items:baseline; border-top:1px solid var(--ink); padding-top:14px; margin-bottom:22px; }
.sec h2 { font-size:20px; margin:0; }
.grid { display:grid; grid-template-columns:repeat(3,1fr); gap:28px; margin-bottom:64px; }
.meta, .muted { font-size:13px; color:var(--mid); }
.pr { border:1px solid var(--line); padding:0 6px; border-radius:3px; font-size:11px; font-family:sans-serif; }
footer.site { border-top:1px solid var(--line); padding:28px 0 48px; font-size:12px; color:var(--mid); margin-top:48px; }
footer.site nav { display:flex; gap:18px; margin-bottom:8px; }
/* 見積もりチェック */
label { font-weight:500; display:block; margin-bottom:6px; }
select, textarea { width:100%; font:inherit; border:1px solid var(--line); border-radius:8px; padding:10px; background:#fff; color:var(--ink); }
textarea { min-height:170px; }
.row { display:flex; gap:8px; margin-top:12px; flex-wrap:wrap; }
table { width:100%; border-collapse:collapse; font-size:15px; }
td, th { text-align:left; padding:8px 6px; border-bottom:1px solid var(--line); vertical-align:top; }
td.num { text-align:right; white-space:nowrap; }
.tag { font-size:12px; border:1px solid var(--ink); border-radius:99px; padding:1px 8px; white-space:nowrap; }
.tag.soft { border-color:var(--line); color:var(--mid); }
.big { font:600 30px/1.2 "Zen Old Mincho",serif; }
@media (max-width:760px) {
  nav.site { display:none; }
  .hero, .tool { grid-template-columns:1fr; }
  .hero { padding-top:32px; }
  .grid { grid-template-columns:1fr; }
}
/* 記事 */
.article h2 { font-size:21px; margin:40px 0 10px; }
.article th { width:30%; font-weight:500; }
.src { border-top:1px solid var(--line); margin-top:48px; }
.src li { font-size:14px; }
.alist a { display:block; padding:14px 0; border-top:1px solid var(--line); text-decoration:none; }
.alist h3 { font-size:17px; margin:0; }
