:root{
  --sidebar-w: 280px;
  --gap: 18px;
  --border: #e6e6e6;
  --muted: #666;
  --card-bg: #fff;
  --chip-bg: #f4f4f4;
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,"Noto Sans JP","Hiragino Kaku Gothic ProN","Yu Gothic",sans-serif;color:#222;background:#fafafa}
a{color:inherit}
.container{width:100%;max-width:1500px;margin:0 auto;padding:16px}
.layout{display:flex;gap:var(--gap);align-items:flex-start}
.sidebar{flex:0 0 var(--sidebar-w);position:sticky;top:12px;max-height:calc(100vh - 24px);overflow:auto;background:#fff;border:1px solid var(--border);border-radius:10px;padding:12px}
.sidebar h2{margin:0 0 10px;font-size:18px}
.menu{list-style:none;margin:0;padding:0}
.menu li{margin:6px 0}
.menu a{display:block;text-decoration:none;padding:8px 10px;border-radius:8px;background:#f5f5f5}
.menu a:hover{background:#ececec}
.main{flex:1 1 auto;min-width:0}
.main h1{margin:0 0 6px;font-size:22px}
.main .note{margin:0 0 10px;color:var(--muted);font-size:13px}
.frame{width:100%;height:82vh;border:1px solid var(--border);border-radius:10px;background:#fff}
@media (max-width: 900px){
  .layout{flex-direction:column}
  .sidebar{position:relative;top:auto;max-height:none;width:100%}
  .frame{height:78vh}
}
.company-list{display:flex;flex-direction:column;gap:10px;margin:14px 0}
.card{border:1px solid var(--border);border-radius:12px;background:var(--card-bg);padding:12px}
.card .top{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.card .name{font-weight:700;font-size:16px;margin:0}
.card .industry{display:inline-block;background:var(--chip-bg);border:1px solid var(--border);border-radius:999px;padding:3px 9px;font-size:12px;color:#333;white-space:nowrap}
.card .catch{margin:8px 0 6px;font-size:13px;color:#111}
.card .biz{margin:0;color:var(--muted);font-size:13px;line-height:1.55}
.card .actions{margin-top:10px}
.btn{display:inline-block;text-decoration:none;border:1px solid var(--border);border-radius:10px;padding:8px 10px;background:#fff}
.btn:hover{background:#f5f5f5}
.section-title{margin:18px 0 8px;font-size:18px}