/* === law-suite skin : modern / blue / compact ===
   建築法令リンク群 共通スキン。各HTMLの<head>に
   <link rel="stylesheet" href="(../)law-suite.css"> で読み込む。 */
:root{
  /* tindex 「モダン実務」テーマと同一トークン */
  --ac:#16356e; --ac-d:#0e2550; --ac-l:#e0e6f2;
  --bg:#f6f7f9; --surf:#ffffff; --bd:#e2e6ec;
  --tab-bg:#f1f3f6; --tab-fg:#54607a;
  --tx:#1a2230; --sub:#54607a; --hd:#16304f;
  --r:8px;
  --gothic:"Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,system-ui,sans-serif;
}
html,body{margin:0;padding:0;}
body{
  font-family:"Hiragino Kaku Gothic ProN","Yu Gothic Medium","Yu Gothic",Meiryo,system-ui,sans-serif !important;
  background:var(--bg); color:var(--tx);
  font-size:15px; line-height:1.6; padding:14px;
  -webkit-font-smoothing:antialiased;
}
h1{
  display:flex; align-items:center; gap:9px;
  font-size:17px; font-weight:700; color:var(--hd); letter-spacing:.02em;
  margin:0 0 10px; padding:9px 14px; text-align:left;
  background:var(--surf); border:1px solid var(--bd); border-radius:var(--r);
  box-shadow:0 1px 0 rgba(15,27,45,.04);
}
h1::before{
  content:""; flex:0 0 auto; width:18px; height:18px; border-radius:4px;
  background:var(--ac);
  box-shadow:inset 0 0 0 2px #fff, inset 0 0 0 4px var(--ac);
}
h2{ font-size:14px; font-weight:700; color:var(--hd); margin:16px 0 6px; }
h3{ font-size:12.5px; font-weight:600; color:var(--sub); margin:10px 0 5px; }
div[align="center"]{ text-align:left !important; }
div[align="right"]{ color:var(--sub); font-size:12px; margin:0 2px 10px; }

/* nav buttons — tindex タブと同じ表情（ゴシック明示） */
button{
  font-family:var(--gothic) !important; font-size:14px !important; font-weight:500 !important;
  padding:5px 12px !important; color:#1a2230 !important;
  background:var(--tab-bg) !important; border:1px solid var(--bd) !important;
  border-radius:var(--r) !important; cursor:pointer; line-height:1.35 !important;
  white-space:nowrap !important;
  transition:background .12s,color .12s,border-color .12s;
}
button:hover{ background:#e8ebf1 !important; color:var(--ac) !important; border-color:#cfd6e0 !important; }

/* 市・会社ごとの色分けタグ（背景で色分け・文字は黒で統一） */
.tint-blue{   background:#e7f0ff !important; border-color:#bcd2f0 !important; color:#1a2230 !important; }
.tint-green{  background:#e6f6ec !important; border-color:#b6dcc4 !important; color:#1a2230 !important; }
.tint-orange{ background:#fcefe0 !important; border-color:#f0cfa8 !important; color:#1a2230 !important; }
.tint-purple{ background:#f1eafb !important; border-color:#d7c2ee !important; color:#1a2230 !important; }
button.tint-blue:hover,button.tint-green:hover,button.tint-orange:hover,button.tint-purple:hover{ filter:brightness(.97); }

/* 選択状態は紺で強調（色分けより優先） */
button.clicked{ background:var(--ac) !important; color:#fff !important;
  border-color:var(--ac-d) !important; font-weight:700 !important; }

/* top nav bar (bare div of buttons) */
body > div:has(> button):not(.button-container){
  position:sticky; top:0; z-index:5;
  display:flex; flex-wrap:wrap; column-gap:5px; row-gap:3px;
  background:var(--surf); border:1px solid var(--bd);
  border-radius:var(--r); padding:6px; margin-bottom:6px;
  box-shadow:0 1px 0 rgba(15,27,45,.04);
}
/* layer panels */
.button-container{
  background:var(--surf) !important; border:1px solid var(--bd) !important;
  border-radius:var(--r) !important; padding:6px !important; margin-bottom:6px !important;
  column-gap:5px !important; row-gap:3px !important; flex-wrap:wrap !important;
}
.pullDownList,select{
  font-family:var(--gothic) !important; font-size:14px !important; color:var(--tx) !important;
  padding:5px 9px !important; border:1px solid var(--bd) !important;
  border-radius:var(--r) !important; background:var(--tab-bg) !important;
}

/* tables */
table{
  border-collapse:collapse !important; width:100%;
  background:var(--surf); font-size:14px;
  border:1px solid var(--bd) !important; margin:6px 0 14px;
}
th,td{ border:1px solid var(--bd) !important; padding:5px 9px !important;
  text-align:left; vertical-align:top; }
thead th{
  position:sticky; top:0; z-index:2;
  background:var(--ac) !important; color:#fff !important;
  font-weight:700; white-space:nowrap; border-color:var(--ac-d) !important;
}
tbody tr:nth-child(even){ background:var(--bg); }
tbody tr:hover{ background:var(--ac-l); }

/* links */
a{ color:var(--ac-d); text-decoration:none; }
a:hover{ text-decoration:underline; }
td a[target="_blank"]{
  display:inline-block; padding:3px 10px; border-radius:var(--r);
  font-family:var(--gothic);
  background:var(--tab-bg); color:var(--ac-d) !important; font-weight:600;
  font-size:13px; border:1px solid var(--bd); text-decoration:none;
  transition:background .12s,color .12s,border-color .12s;
}
td a[target="_blank"]:hover{ background:var(--ac); color:#fff !important; border-color:var(--ac-d); }

/* iframe */
iframe{ border:1px solid var(--bd) !important; border-radius:var(--r); background:var(--surf); }
font[color="red"], font[color="red"] p{ color:#c0392b !important; }
