/* 提携求人（Careerjet）の枠。templates/partials/partner-jobs.php ／ assets/js/partner-jobs.js */
.partner-jobs{margin:28px 0 8px;padding:20px 18px;background:var(--soft);border:1px solid var(--border);border-radius:var(--radius-lg)}
.partner-jobs[hidden]{display:none}
.pj-head h2{margin:0 0 4px;font-size:1.15rem;color:var(--ink)}
.pj-note{margin:0 0 14px;font-size:.84rem;color:var(--muted);line-height:1.6}
.pj-pr{display:inline-block;margin-right:6px;padding:0 6px;border:1px solid var(--muted);border-radius:4px;font-size:.72rem;line-height:1.5;vertical-align:1px}
.pj-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:12px}
.pj-card{position:relative;display:flex;flex-direction:column;gap:6px;padding:14px 16px;background:#fff;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);transition:box-shadow .15s,border-color .15s}
.pj-card[hidden]{display:none}
.pj-card:hover{box-shadow:var(--shadow);border-color:#cfd8e6}
.pj-title{color:var(--accent);font-weight:700;line-height:1.5;text-decoration:none;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;overflow-wrap:anywhere}
.pj-title::after{content:"";position:absolute;inset:0;border-radius:var(--radius)}
.pj-title:focus-visible{outline:none}
.pj-card:focus-within{outline:3px solid var(--accent);outline-offset:2px}
.pj-meta{margin:0;display:grid;grid-template-columns:4em 1fr;gap:2px 8px;font-size:.88rem;color:var(--fg)}
.pj-meta dt{color:var(--muted)}
.pj-meta dd{margin:0;overflow-wrap:anywhere}
.pj-meta dd.is-missing{color:var(--muted)}
.pj-snip{margin:0;font-size:.84rem;color:var(--muted);line-height:1.6;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.pj-foot{margin:auto 0 0;padding-top:4px;display:flex;justify-content:space-between;align-items:center;gap:8px;font-size:.8rem;color:var(--muted)}
.pj-ext{color:var(--accent);white-space:nowrap}
.pj-more{display:block;margin:14px auto 0;padding:8px 22px;background:#fff;color:var(--accent);border:1.5px solid var(--accent);border-radius:999px;font:inherit;font-size:.92rem;cursor:pointer}
.pj-more:hover{background:var(--accent-050)}
.pj-more:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
/* 読み込み中の仮カード（取得が終わるまで。取得できなければ枠ごと消える） */
.pj-card.is-skeleton{min-height:170px;gap:10px;box-shadow:none}
.pj-card.is-skeleton span{display:block;height:12px;border-radius:6px;background:linear-gradient(90deg,#e9edf3 25%,#f5f7fa 50%,#e9edf3 75%);background-size:200% 100%;animation:pj-shimmer 1.2s ease-in-out infinite}
.pj-card.is-skeleton span:nth-child(1){height:16px;width:80%}
.pj-card.is-skeleton span:nth-child(2){width:55%}
.pj-card.is-skeleton span:nth-child(3){width:65%}
.pj-card.is-skeleton span:nth-child(4){width:90%}
@keyframes pj-shimmer{0%{background-position:200% 0}100%{background-position:-200% 0}}
@media (prefers-reduced-motion:reduce){.pj-card.is-skeleton span{animation:none}}
@media (max-width:560px){.partner-jobs{padding:16px 12px}.pj-list{grid-template-columns:1fr}.pj-card.is-skeleton:nth-child(n+2){display:none}}
@media print{.partner-jobs{display:none}}
