:root{
  --fg:#0f172a;--muted:#64748b;--line:#e2e8f0;--chip:#f8fafc;
  --bg-card:#fff;--shadow:0 4px 16px rgba(0,0,0,.06);
  --type-公約:#155e75; --type-活動:#334155; --type-一般質問:#4f46e5;
  --tag-地域:#15803d; --tag-議会:#1d4ed8; --tag-行政:#475569;
}
html{scroll-behavior:smooth}
.card{background:var(--bg-card);border:1px solid var(--line);border-radius:14px;padding:14px;box-shadow:none;transition:.2s box-shadow,.2s transform}
.card:hover{box-shadow:var(--shadow);transform:translateY(-1px)}
.card h3{margin:.1em 0 .25em;font-size:1.05rem;line-height:1.35}
.card p{margin:.4em 0;color:var(--fg)}
.muted{color:var(--muted)}

/* 種別バッジ */
.badge{display:inline-flex;align-items:center;gap:.35em;font:600 .75rem/1.2 ui-sans-serif,system-ui;
  padding:.25em .6em;border-radius:999px;background:#eef2ff;color:#3730a3;border:1px solid #e0e7ff}
.badge[data-type="公約"]{background:#ecfeff;color:var(--type-公約);border-color:#cffafe}
.badge[data-type="活動"]{background:#eef2f7;color:var(--type-活動);border-color:#dbe3ee}
.badge[data-type="一般質問"]{background:#eef2ff;color:var(--type-一般質問);border-color:#e0e7ff}

/* タグピル：アイコン付き＆縦位置を安定させる */
.tagpill{
  display:inline-flex;
  align-items:center;             /* ← 縦位置のズレ防止 */
  gap:.45em;
  padding:.3em .65em;
  border:1px solid var(--line);
  border-radius:999px;
  background:var(--chip);
  font:.8rem/1 ui-sans-serif,system-ui;  /* ← line-heightを1に */
  color:var(--fg);
  text-decoration:none;
  vertical-align:middle;          /* 行内での上下ズレ抑制 */
}

/* 小さな色丸アイコン（デフォルトは中間グレー） */
.tagpill::before{
  content:"";
  width:.6em; height:.6em;
  border-radius:999px;
  background:#94a3b8;            /* default */
  flex:0 0 .6em;
  box-shadow:0 0 0 2px #fff inset; /* 白縁で視認性UP（薄色背景でも潰れない） */
}

/* 主要3タグの色分け（丸アイコン色のみ変える） */
.tagpill[data-tag="地域"]::before{  background:#16a34a; } /* green */
.tagpill[data-tag="議会"]::before{  background:#2563eb; } /* blue  */
.tagpill[data-tag="行政"]::before{  background:#475569; } /* slate */

/* ピル自体の背景・枠色は上品なまま薄めで */
.tagpill[data-tag="地域"]{ border-color:#bbf7d0; background:#f0fdf4; }
.tagpill[data-tag="議会"]{ border-color:#bfdbfe; background:#eff6ff; }
.tagpill[data-tag="行政"]{ border-color:#cbd5e1; background:#f1f5f9; }

/* ボタン（既存 .btn に軽微な光沢） */
.btn{border-radius:10px;border:1px solid var(--line);padding:.5em .8em;text-decoration:none}
.btn-primary{border-color:#93c5fd}

/* 行数を詰めすぎない＆要約を2行で省略 */
.clamp-2{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* フォーカス可視化 */
a:focus,button:focus{outline:3px solid #93c5fd;outline-offset:2px;border-radius:10px}

/* モバイルのタップ領域 */
button.btn{min-height:38px}

/* プロフィール */
.profile-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(180px,240px);
  align-items:end;
  gap:24px;
}
.profile-content{min-width:0}
.profile-mascot{align-self:end;line-height:0;text-align:center}
.profile-mascot img{
  display:block;
  width:100%;
  height:auto;
  max-height:300px;
  object-fit:contain;
}

@media (max-width:700px){
  .profile-layout{grid-template-columns:1fr;gap:18px}
  .profile-mascot{width:min(70%,220px);margin:0 auto}
}

/* 重点課題詳細：関連活動（本文を妨げない補助導線） */
.priority-activities__list{
  display:grid;
  gap:6px;
}
.priority-activities__item{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:9px;
  padding:8px 10px;
  border:1px solid #e7def0;
  border-radius:9px;
  background:#fff;
  color:#24162d;
  text-decoration:none;
}
.priority-activities__item time{
  color:#6d6473;
  font-size:.72rem;
}
.priority-activities__item strong{
  overflow:hidden;
  font-size:.88rem;
  line-height:1.35;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.priority-activities__item span{color:#8c68a5;font-size:1.2rem}
.priority-activities__empty{margin:.4rem 0;color:#6d6473;font-size:.88rem}
.priority-activities__more{margin:.7rem 0 0}
.priority-activities__more a{color:#6f2c91;font-size:.88rem;font-weight:700}

@media (max-width:430px){
  .priority-activities__item{grid-template-columns:1fr auto;gap:2px 8px}
  .priority-activities__item time{grid-column:1}
  .priority-activities__item strong{grid-column:1}
  .priority-activities__item span{grid-column:2;grid-row:1 / span 2}
}
