/* --- ベースのレイアウト（提供いただいたものを完全維持） --- */
.job-archive-outer { max-width: 1200px !important; margin: 30px auto !important; padding: 0 15px !important; box-sizing: border-box !important; }
.job-archive-flex-layout { display: flex !important; flex-direction: row !important; gap: 30px !important; align-items: flex-start !important; }

.job-archive-main-content { flex: 1 !important; min-width: 0 !important; width: 100%; }
.job-archive-info-bar { display: flex !important; justify-content: space-between !important; align-items: flex-end !important; margin-bottom: 20px !important; border-bottom: 2px solid #3458ab !important; padding-bottom: 8px !important; }
.archive-result-title { font-size: 20px !important; font-weight: bold !important; margin: 0 !important; color: #3458ab !important; border: none !important; }
.result-count strong { font-size: 22px !important; color: #ff4500 !important; font-family: 'Verdana', sans-serif !important; }

.job-archive-sidebar-right { width: 340px !important; flex-shrink: 0 !important; }
.job-search-card { background: #fff !important; border: 1px solid #ddd !important; border-radius: 8px !important; padding: 20px !important; position: sticky !important; top: 15px; box-shadow: 0 3px 15px rgba(0,0,0,0.05) !important; box-sizing: border-box !important; }
.search-title { font-size: 16px !important; color: #3458ab; font-weight: bold !important; margin-bottom: 15px !important; border-bottom: 1px solid #eee !important; padding-bottom: 8px !important; }

.filter-section { margin-bottom: 20px !important; width: 100% !important; }
.filter-label { font-size: 13px !important; font-weight: bold !important; color: #444 !important; margin-bottom: 8px !important; display: block !important; }
.input-text { width: 100% !important; padding: 10px !important; border: 1px solid #ccc !important; border-radius: 4px !important; font-size: 14px !important; box-sizing: border-box !important; }

.price-input-flex { display: flex !important; align-items: center !important; gap: 8px !important; }
.price-input-flex .input-text { flex: 1 !important; }
.unit { font-size: 14px !important; color: #666 !important; white-space: nowrap !important; }

.chip-container { display: flex !important; flex-wrap: wrap !important; gap: 8px !important; }
.chip-label { cursor: pointer !important; margin: 0 !important; }
.chip-label input { display: none !important; }
.chip-text { display: inline-block !important; padding: 7px 12px !important; background: #fff !important; border: 1px solid #3458ab !important; border-radius: 4px !important; font-size: 13px !important; color: #3458ab !important; transition: 0.2s !important; text-align: center !important; }
.chip-label input:checked + .chip-text { background: #3458ab !important; color: #fff !important; font-weight: bold !important; }

.execute-btn { width: 100% !important; background: #3458ab !important; color: #fff !important; border: none !important; padding: 14px !important; border-radius: 4px !important; font-weight: bold !important; cursor: pointer !important; font-size: 15px !important; margin-top: 10px !important; }
.reset-link { display: block !important; text-align: center !important; margin-top: 15px !important; font-size: 12px !important; color: #666 !important; text-decoration: underline !important; }

/* --- 変更箇所：アイコン化とスリム化 --- */
.baitoru-no-img-card { background: #fff !important; border: 1px solid #e0e0e0 !important; border-radius: 8px !important; margin-bottom: 15px !important; overflow: hidden !important; transition: 0.2s ease !important; }
.baitoru-no-img-card:hover { border-color: #3458ab !important; box-shadow: 0 5px 15px rgba(0,0,0,0.08) !important; }
.wide-card-link { text-decoration: none !important; color: #333 !important; display: block !important; }

.wide-card-body { display: flex !important; padding: 20px !important; align-items: center !important; }
.wide-card-txt { flex: 1 !important; min-width: 0 !important; }

/* 勤務地アイコン（ピンマークをCSSで作成） */
.meta-address { display: flex !important; align-items: center !important; }
.meta-address::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    background-color: #3458ab;
    margin-right: 8px;
    flex-shrink: 0;
    -webkit-mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/></svg>") no-repeat center;
    mask: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'><path d='M12 2C8.13 2 5 5.13 5 9c0 5.25 7 13 7 13s7-7.75 7-13c0-3.87-3.13-7-7-7zm0 9.5c-1.38 0-2.5-1.12-2.5-2.5s1.12-2.5 2.5-2.5 2.5 1.12 2.5 2.5-1.12 2.5-2.5 2.5z'/></svg>") no-repeat center;
}

.type-badge-inline { display: inline-block !important; background: #3458ab !important; color: #fff !important; font-size: 10px !important; padding: 3px 8px !important; border-radius: 3px !important; margin-bottom: 8px !important; font-weight: bold !important; vertical-align: middle !important; }
.wide-card-title { font-size: 19px !important; font-weight: bold !important; color: #333 !important; margin: 0 0 12px 0 !important; line-height: 1.4 !important; border: none !important; padding: 0 !important; }

/* 勤務地・給与の見出しタグ(dt)と矢印がなくなった前提の設定 */
.wide-card-meta .meta-row { display: flex !important; align-items: center !important; margin-bottom: 6px !important; font-size: 14px !important; border: none !important; padding: 0 !important; }
.wage-label { background: #fdf2ec !important; color: #d35400 !important; padding: 2px 6px !important; font-size: 12px !important; border-radius: 3px !important; margin-right: 8px !important; }
.salary-val strong { color: #d35400 !important; font-size: 18px !important; font-family: 'Verdana', sans-serif !important; }

.wide-card-footer { background: #fafafa !important; padding: 10px 20px !important; border-top: 1px solid #f0f0f0 !important; display: flex !important; justify-content: space-between !important; align-items: center !important; }
.footer-note { font-size: 11px !important; color: #999 !important; }
.footer-btn { font-weight: bold !important; color: #3458ab !important; font-size: 13px !important; }

/* ページネーションとレスポンシブは元のまま維持 */
.archive-pagination { margin-top: 30px !important; text-align: center !important; }
.archive-pagination .page-numbers { display: inline-block !important; padding: 8px 14px !important; margin: 0 3px !important; background: #fff !important; border: 1px solid #ddd !important; color: #3458ab !important; text-decoration: none !important; border-radius: 4px !important; }
.archive-pagination .current { background: #3458ab !important; color: #fff !important; border-color: #3458ab !important; }

@media screen and (max-width: 1024px) {
    .job-archive-flex-layout { flex-direction: column !important; }
    .job-archive-sidebar-right { width: 100% !important; order: -1 !important; }
    .job-search-card { position: static !important; width: 100% !important; margin-bottom: 60px; }
    .wide-card-title { font-size: 17px !important; }
    .wide-card-body { padding: 15px !important; }
}