:root{
  --fg:#111; --bg:#fff; --muted:#666; --line:#e5e5e5; --accent:#000;
}

*{ box-sizing:border-box; }
html,body{
  margin:0; padding:0; background:var(--bg); color:var(--fg);
  font-family:'Noto Sans JP', system-ui, -apple-system, Segoe UI, sans-serif;
  font-weight:400; line-height:1.7;
}

/* ヘッダー */
header{ border-bottom:1px solid var(--line); background:#fff; position:sticky; top:0; z-index:10; }
.header-inner{ display:flex; align-items:center; justify-content:space-between; height:64px; }
.container{ max-width:1080px; margin:0 auto; padding:0 20px; }
.brand{ display:flex; align-items:center; }
.logo{ height:25px; display:block; }

/* セクション */
.section{ padding:40px 0; border-top:1px solid var(--line); }
.section:first-of-type{ border-top:0; }
.section h2{ font-size:28px; margin:0 0 16px; font-weight:800; }
.card h3{ margin:0 0 4px; font-size:22px; font-weight:800; }
.card p{ margin:0; }

/* グリッド */
.grid{ display:grid; grid-template-columns:1fr 1fr; gap:24px; }
.card{
  border:1px solid var(--line); border-radius:12px; padding:20px;
  display:flex; flex-direction:column; gap:16px;
}
img.media{ width:100%; aspect-ratio:16/9; object-fit:cover; border-radius:8px; border:1px solid var(--line); }

/* ボタン */
a{ color:inherit; text-underline-offset:2px; }
a:hover{ text-decoration:underline; }
.cta{ margin-top:18px; }
a.btn{
  display:inline-block; border:1px solid var(--fg); background:var(--fg); color:#fff;
  border-radius:999px; padding:12px 18px; font-weight:700; text-decoration:none;
}
a.btn:hover{ opacity:.9; }

/* 会社概要（罫線なし・コンパクト・項目改行なし） */
.company-table{ width:100%; border-collapse:collapse; font-size:14px; line-height:1.6; }
.company-table th, .company-table td{
  padding:6px 4px; text-align:left; vertical-align:top;
}
.company-table th{
  width:120px; font-weight:800; white-space:nowrap;
}
.company-table td{ font-weight:400; }

/* 実績（控えめトーン） */
.media-list{ list-style:none; padding:0; margin:0; }
.media-list li{ margin:8px 0; font-size:14px; color:var(--muted); }
.media-list li a{ font-size:14px; text-decoration:none; border-bottom:1px solid var(--line); }
.media-list li a:hover{ border-bottom:1px solid var(--fg); }

/* フッター */
footer{ border-top:1px solid var(--line); padding:24px 0; color:var(--muted); font-size:14px; }

/* レスポンシブ */
@media (max-width: 800px){
  .grid{ grid-template-columns:1fr; }
  .section{ padding:32px 0; }
  .section h2{ font-size:24px; }
  .card h3{ font-size:20px; }
}
