    /* ===== 施工事例一覧（ページ固有） ===== */

    /* 絞り込みバー */
    .works-filter { margin-bottom: clamp(28px, 3.4vw, 46px); }
    .works-filter__bar { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: 16px; }
    .works-filter__note { font-size: 12.5px; color: var(--ink-soft); letter-spacing: .02em; }

    /* 絞り込みパネル（ポップアップ想定・ページ内展開） */
    .filter-panel {
      position: relative; max-width: 900px; margin: 24px auto 0;
      background: var(--cream); border: 1px solid var(--line);
      overflow: hidden;
    }
    .filter-panel__close {
      position: absolute; top: 16px; right: 16px; width: 36px; height: 36px;
      display: inline-flex; align-items: center; justify-content: center;
      background: #fff; border: 1px solid var(--line); border-radius: 50%; color: var(--ink-soft);
      transition: color .3s var(--ease-soft), border-color .3s var(--ease-soft);
    }
    .filter-panel__close:hover { color: var(--brown); border-color: var(--brown); }
    .filter-panel__close svg { width: 17px; height: 17px; }

    /* タブ */
    .filter-tabs { display: flex; border-bottom: 1px solid var(--line); }
    .filter-tab {
      flex: 1; padding: 18px 10px; background: transparent; border: 0;
      font-family: inherit; font-size: 14px; font-weight: 600; color: var(--ink-soft);
      position: relative; letter-spacing: .04em; cursor: pointer;
      transition: color .3s var(--ease-soft);
    }
    .filter-tab::after {
      content: ""; position: absolute; left: 0; bottom: -1px; width: 100%; height: 2px;
      background: var(--brown); transform: scaleX(0); transition: transform .3s var(--ease-out);
    }
    .filter-tab:hover { color: var(--ink); }
    .filter-tab.is-active { color: var(--brown); }
    .filter-tab.is-active::after { transform: scaleX(1); }

    /* パネル中身 */
    .filter-body { padding: clamp(22px, 3vw, 34px); }
    .filter-state { font-size: 12.5px; color: var(--ink-soft); margin-bottom: 26px; }
    .filter-state strong { color: var(--ink); font-weight: 600; margin-left: 8px; }
    .filter-group + .filter-group { margin-top: 30px; }
    .filter-group__label { font-size: 13px; font-weight: 600; color: var(--ink); letter-spacing: .06em; margin-bottom: 14px; }
    .filter-chips { display: grid; grid-template-columns: repeat(3, 1fr); gap: 12px; }

    .fchip {
      display: flex; align-items: center; gap: 12px; padding: 10px 16px;
      background: #fff; border: 1px solid var(--line); border-radius: 10px;
      font-size: 13.5px; color: var(--ink); text-align: left; cursor: pointer;
      transition: border-color .3s var(--ease-soft), box-shadow .3s var(--ease-soft), transform .3s var(--ease-out);
    }
    .fchip:hover { border-color: var(--brown); transform: translateY(-2px); box-shadow: 0 8px 18px rgba(181,140,107,.14); }
    .fchip.is-active { border-color: var(--brown); background: #fff; box-shadow: 0 0 0 1px var(--brown) inset; }
    .fchip__thumb { width: 34px; height: 34px; border-radius: 50%; overflow: hidden; flex: none; }
    .fchip__thumb img { width: 100%; height: 100%; object-fit: cover; }
    .fchip__label { line-height: 1.4; }

    /* パネルフッター */
    .filter-actions { display: flex; flex-wrap: wrap; justify-content: center; gap: 16px; margin-top: 30px; }
    .filter-clear {
      display: inline-flex; align-items: center; justify-content: center; min-width: 180px;
      padding: 14px 26px; background: #fff; border: 1px solid var(--line); border-radius: 999px;
      font-family: inherit; font-size: 13.5px; font-weight: 500; color: var(--ink); cursor: pointer;
      transition: border-color .3s var(--ease-soft), color .3s var(--ease-soft);
    }
    .filter-clear:hover { border-color: var(--brown); color: var(--brown); }
    .filter-apply { min-width: 220px; justify-content: center; cursor: pointer; }

    /* カードのタイトル（サムネ下） */
    .work-item__title { margin-top: 14px; font-size: 15px; font-weight: 700; line-height: 1.6; color: var(--ink); transition: color .3s var(--ease-soft); }
    .acard:hover .work-item__title { color: var(--brown); }

    /* ページャ */
    .pager { display: flex; justify-content: center; align-items: center; gap: 8px; margin-top: clamp(40px, 4.5vw, 64px); flex-wrap: wrap; }
    .pager__item {
      display: inline-flex; align-items: center; justify-content: center; min-width: 44px; height: 44px;
      padding: 0 8px; background: #fff; border: 1px solid var(--line); border-radius: 8px;
      font-family: var(--font-en); font-size: 14px; font-weight: 500; color: var(--ink);
      transition: border-color .3s var(--ease-soft), color .3s var(--ease-soft), background-color .3s var(--ease-soft);
    }
    .pager__item:hover { border-color: var(--brown); color: var(--brown); }
    .pager__item.is-current { background: var(--brown); border-color: var(--brown); color: #fff; }
    .pager__item.is-current:hover { color: #fff; }
    .pager__item svg { width: 16px; height: 16px; }
    .pager__item[aria-disabled="true"] { opacity: .4; pointer-events: none; }
    .pager__ellipsis { min-width: 20px; text-align: center; color: var(--ink-soft); font-family: var(--font-en); }

    @media (max-width: 768px) {
      .filter-chips { grid-template-columns: repeat(2, 1fr); }
      .filter-tab { font-size: 13.5px; padding: 16px 8px; }
      .work-item__title { font-size: 14px; }
    }
    @media (max-width: 480px) {
      .filter-chips { grid-template-columns: 1fr; }
      .filter-actions { flex-direction: column; }
      .filter-clear, .filter-apply { width: 100%; min-width: 0; }
      .pager__item { min-width: 40px; height: 40px; }
    }
