/* TB Works Table
   配色は CSS変数（--tb-*）を参照し、無い場合はライト配色にフォールバック。
   配色統合の段階で、変数の値を差し替えるだけで対応できる。角丸は使わない（ピン角）。 */
.tbwt{
  --tbwt-ink:   var(--tb-ink,   #2b241d);
  --tbwt-ink2:  var(--tb-ink2,  #5c5349);
  --tbwt-ink3:  var(--tb-ink3,  #8a8175);
  --tbwt-line:  var(--tb-line,  rgba(34,26,20,.14));
  --tbwt-line2: var(--tb-line2, rgba(34,26,20,.28));
  --tbwt-accent:#9c5638;
  max-width:1100px; margin:0 auto; color:var(--tbwt-ink); box-sizing:border-box;
}
.tbwt *{ box-sizing:border-box; border-radius:0; }

/* 絞り込みボタン */
.tbwt-filters{ display:flex; flex-wrap:wrap; gap:1.2rem 3rem; margin:0 0 1.2rem; }
.tbwt-group{ display:flex; flex-direction:column; gap:.4rem; }
.tbwt-glabel{ font-size:.72rem; letter-spacing:.08em; color:var(--tbwt-ink3); }
.tbwt-seg{ display:flex; flex-wrap:wrap; gap:.4rem; }
.tbwt-btn{
  appearance:none; background:transparent; color:var(--tbwt-ink2); cursor:pointer;
  border:1px solid var(--tbwt-line); padding:.45em .9em; font-size:.85rem; line-height:1.4;
  font-family:inherit; transition:border-color .2s,color .2s;
}
.tbwt-btn:hover{ border-color:var(--tbwt-line2); color:var(--tbwt-ink); }
.tbwt-btn[aria-pressed="true"]{
  color:var(--tbwt-ink); border-color:var(--tbwt-ink); box-shadow:inset 0 -2px 0 var(--tbwt-accent);
}
.tbwt-c{ margin-left:.45em; font-size:.72rem; color:var(--tbwt-ink3); }

/* 表 */
.tbwt-table{ width:100%; border-collapse:collapse; border-top:1px solid var(--tbwt-ink); margin:0; }
.tbwt-table th{
  text-align:left; font-weight:400; font-size:.72rem; letter-spacing:.06em; color:var(--tbwt-ink3);
  padding:.8rem .6rem .6rem 0; border-bottom:1px solid var(--tbwt-line); white-space:nowrap;
}
.tbwt-table td{
  padding:.85rem .6rem .85rem 0; vertical-align:top; font-size:.86rem; line-height:1.6;
  border-bottom:1px solid var(--tbwt-line); color:var(--tbwt-ink2);
}
.tbwt-nm{ min-width:14rem; }
.tbwt-nm a{ color:var(--tbwt-ink); text-decoration:none; font-size:.95rem; }
.tbwt-nm a:hover{ color:var(--tbwt-accent); text-decoration:underline; }
.tbwt-y{ white-space:nowrap; text-align:right; padding-right:0 !important; }
.tbwt-empty td{ color:var(--tbwt-ink3); padding:1.4rem 0; }

.tbwt-chip{
  display:inline-block; margin:0 .3rem .3rem 0; padding:.05em .55em; font-size:.76rem; line-height:1.6;
  border:1px solid var(--tbwt-line2); color:var(--tbwt-ink2);
}
.tbwt-chip.is-hit{ border-color:var(--tbwt-accent); color:var(--tbwt-accent); }

/* フッター */
.tbwt-foot{ display:flex; flex-wrap:wrap; justify-content:space-between; align-items:center; gap:.6rem 1rem; margin-top:1rem; }
.tbwt-count{ font-size:.78rem; color:var(--tbwt-ink3); }
/* 一覧を開くリンク：サイト共通のリンク色＋「→」（→は子テーマ base.css の .tb-more）2026-11-11 */
.tbwt-open{ font-size:.85rem; color:var(--color_link, #93573a); text-decoration:none; }
.tbwt-open:hover{ color:var(--color_link, #93573a); opacity:.7; }

/* スマホ：1物件を縦カード表示に切り替える */
@media (max-width:780px){
  .tbwt-table, .tbwt-table tbody, .tbwt-table tr, .tbwt-table td{ display:block; width:100%; }
  .tbwt-table thead{ display:none; }
  .tbwt-table tr{ padding:.9rem 0; border-bottom:1px solid var(--tbwt-line); }
  .tbwt-table td{ border:0; padding:.12rem 0; display:flex; gap:.8rem; }
  .tbwt-table td::before{ content:attr(data-label); flex:0 0 3.2rem; font-size:.72rem; color:var(--tbwt-ink3); padding-top:.2em; }
  .tbwt-nm{ min-width:0; }
  .tbwt-nm::before{ display:none; }
  .tbwt-nm a{ font-size:1rem; }
  .tbwt-y{ text-align:left; }
  .tbwt-empty td{ display:block; }
  .tbwt-empty td::before{ display:none; }
}
