:root{
  --ink:#0b0c0e; --sub:#5a5e66; --line:#e8eaef; --bg:#ffffff;
  --max:860px; --pad:40px; --tight:24px; --accent:#0b0c0e;
}
*{box-sizing:border-box} html,body{margin:0}
body{
  background:var(--bg); color:var(--ink);
  font:16px/1.75 ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Noto Sans JP",sans-serif;
  -webkit-font-smoothing:antialiased; text-rendering:optimizeLegibility;
}
.wrap{max-width:var(--max); margin:0 auto; padding:0 22px}
section{padding:var(--pad) 0}
section:last-of-type{padding-bottom:60px}
.hr{height:1px; background:var(--line); margin:24px 0}
h1,h2{line-height:1.15; margin:0 0 8px; letter-spacing:-.01em}
h1{font-size:clamp(32px,5.6vw,50px)}
h2{font-size:clamp(19px,2.4vw,24px); margin:0 0 4px}
p{margin:6px 0 10px}
.kicker{letter-spacing:.12em; text-transform:uppercase; font-size:12px; color:var(--sub)}
.lead{font-size:clamp(17px,2.4vw,20px); color:#23252b}
.sub{color:var(--sub)}
a{color:var(--accent); text-decoration:none}
a:hover{text-decoration:underline}
ul{margin:10px 0 0 20px}
li{margin:6px 0}
.grid{display:grid; gap:16px}
@media(min-width:820px){ .cols-2{grid-template-columns:1fr 1fr} }
.card{
  border:1px solid var(--line); border-radius:12px; padding:16px;
  background:#fff;
}
.btn, .cta{
  display:inline-block; padding:10px 16px; border-radius:10px; font-weight:600
}
.btn{background:var(--ink); color:#fff}
.cta{background:#fff; color:var(--ink); border:1px solid var(--line)}
.row{display:flex; gap:12px; flex-wrap:wrap; align-items:center; margin-top:10px}
.footer small{color:var(--sub)}
.hr{height:1px; background:var(--line); margin:16px 0 0}
section{padding:36px 0 12px}
.site-footer {
  padding: 48px 20px;
  background: #f8f8f8;
  text-align: center;
  font-size: 0.9em;
  color: #444;
  border-top: 1px solid #ddd;
  margin-top: 64px;
}

.site-footer .footer-logo img {
  height: 40px;
  margin-bottom: 12px;
}

.footer-nav {
  margin: 20px 0;
}

.footer-nav a {
  margin: 0 10px;
  color: #444;
  text-decoration: none;
  font-weight: 500;
}

.footer-nav a:hover {
  text-decoration: underline;
}

.footer-meta {
  margin: 8px 0;
  color: #666;
  font-size: 0.85em;
}

.footer-copy {
  color: #888;
  font-size: 0.85em;
}
