.p-project-filter__fields { padding-right: 8px; }
.p-project-filter .c-search__item { padding-bottom: 18px; border-bottom: 1px solid #d9e2e8; }
.p-project-filter__range { display: grid; gap: 8px; }
.p-project-filter__range > span { line-height: 1; text-align: center; }
.p-project-filter__range .c-form-select { font-size: 14px; }
.p-project-filter__check { display: flex; align-items: center; gap: 8px; margin-top: 10px; cursor: pointer; font-size: 14px; font-weight: normal; }
.p-project-filter .p-project-filter__check input[type=checkbox] { flex: 0 0 18px; width: 18px; height: 18px; margin: 0; accent-color: #164963; border-radius: 2px; }
.p-project-filter .p-project-filter__note { font-size: 12px; line-height: 1.7; font-weight: normal; color: #586770; }
.p-project-filter__footer { position: sticky; bottom: 0; z-index: 2; padding: 14px 0 0; background: #f0f2f4; box-shadow: 0 -8px 12px -10px rgba(1, 37, 67, .35); }
.p-project-filter .p-project-filter__count { display: flex; align-items: baseline; justify-content: center; gap: 7px; margin-bottom: 10px; font-size: 13px; }
.p-project-filter__count strong { color: #b3252b; font-size: 24px; }
.p-project-filter__reset { display: block; text-align: center; padding: 12px 0; text-decoration: underline; font-size: 13px; }
.p-project-filter__help { position: relative; top: -2px; display: inline-block; margin-left: 8px; vertical-align: middle; }
.p-project-filter__helpButton { display: inline-flex; align-items: center; justify-content: center; width: 18px; height: 18px; padding: 0; border: 1.5px solid #7b858d; border-radius: 50%; background: transparent; color: #68737c; font-family: Georgia, serif; font-size: 13px; font-weight: bold; line-height: 1; cursor: pointer; }
.p-project-filter__helpButton:focus-visible { outline: 2px solid #164963; outline-offset: 3px; }
.p-project-filter__helpContent { position: absolute; top: calc(100% + 8px); right: -50px; z-index: 5; width: 260px; max-width: calc(100vw - 48px); padding: 14px; border: 1px solid #d9e2e8; border-radius: 4px; background: #fff; box-shadow: 0 3px 12px rgba(1, 37, 67, .15); color: #354550; font-size: 13px; font-weight: normal; line-height: 1.7; }
.p-project-filter__helpContent strong, .p-project-filter__helpContent > span { display: block; }
.p-project-filter__helpContent::before { content: ''; position: absolute; top: -8px; right: 0; left: 0; height: 8px; }
.p-project-filter__helpContent strong:not(:first-child) { margin-top: 8px; }
/* 検索欄の汎用input幅指定より優先し、ダイアログのチェックボックスを保護する。 */
.p-project-filter .c-industry-picker__group input[type=checkbox] { width: 18px; height: 18px; border-radius: 2px; }
@media (max-width: 767px) {
  .c-search__check:checked ~ .p-project-filter { overflow: visible; }
  .p-project-filter__fields { padding: 0 4px; }
  .p-project-filter__range { grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr); align-items: center; }
  .p-project-filter__range .c-form-select { padding-left: 8px; }
}
