/* 旧テーマ由来コンポーネント（legacy-content.css）より後に読み込む上書き用 */
/* 研修会 絞り込みモーダル（旧UIの上書き） */
.ptc-fb-btn::after { content: none; }
.ptc-fb-btn span { font-size: 10px; color: rgba(255,255,255,.7); letter-spacing: .12em; }
.ptc-fb-icon { display: inline-flex; flex-direction: column; gap: 3px; }
.ptc-fb-icon i { display: block; width: 14px; height: 2px; background: currentColor; border-radius: 2px; }
.ptc-fm-bg { background: rgba(34,34,34,.6); }
.ptc-fm-panel { width: min(600px, 92vw); border-radius: 12px; overflow: hidden; background: var(--white); box-shadow: 0 20px 60px rgba(0,0,0,.25); display: flex; flex-direction: column; }
.ptc-fm-head { background: var(--white); color: var(--black); text-align: left; padding: 24px 28px 8px; font-size: 20px; font-weight: 700; letter-spacing: 0; border: 0; }
.ptc-fm-head span { display: block; margin: 0 0 6px; font-family: var(--font-en); font-size: 11px; font-weight: 800; color: var(--red); letter-spacing: .12em; }
.ptc-fm-x { right: 16px; top: 24px; transform: none; width: 36px; height: 36px; font-size: 26px; color: var(--black); }
.ptc-fm-body { padding: 8px 28px 16px; }
.ptc-fm-guide { margin: 0 0 8px; font-size: 13px; color: var(--dark-gray); }
.ptc-fm-row { gap: 16px; padding: 14px 0; border-bottom: 1px solid var(--gray); }
.ptc-fm-label { flex: 0 0 96px; font-size: 14px; font-weight: 700; color: var(--black); }
.ptc-fm-label em { font-family: var(--font-en); font-size: 9px; color: var(--dark-gray); letter-spacing: .12em; }
.ptc-fm-sel select, .ptc-fm-row.is-kw input[type=text] { font-size: 15px; font-weight: 500; padding: 12px 40px 12px 16px; border: 1px solid var(--gray); border-radius: 10px; background: var(--white); color: var(--black); }
.ptc-fm-row.is-kw input[type=text] { padding-right: 16px; }
.ptc-fm-sel select:focus, .ptc-fm-row.is-kw input[type=text]:focus { border-color: var(--black); outline: none; }
.ptc-fm-sel::after { color: var(--dark-gray); }
.ptc-fm-foot { gap: 12px; padding: 16px 28px 24px; background: var(--white); color: var(--black); border-top: 1px solid var(--gray); }
.ptc-fm-count { font-size: 12px; font-weight: 700; color: var(--dark-gray); }
.ptc-fm-count strong { color: var(--black); font-size: 18px; }
.ptc-fm-reset { color: var(--dark-gray); border: 0; font-size: 12px; text-decoration: underline; padding: 0; }
.ptc-fm-reset:hover { background: none; color: var(--black); }
.ptc-fm-submit { padding: 14px 24px; font-size: 14px; font-weight: 700; letter-spacing: 0; background: var(--black); border-radius: 10px; }
.ptc-fm-submit:hover { background: var(--red); }
@media screen and (max-width: 600px) { .ptc-fm-panel { border-radius: 0; } }
