/* yR Media の base.css には手を入れず、カツプロPR だけの小さな直しをここに置く（2026-10-04） */
.head-icons a span, .site-logo__sub { white-space: nowrap; }
.pick__noimg { position: absolute; inset: 0; display: grid; place-items: center; padding: 24px; text-align: center; font-weight: 700; font-size: 20px; background: linear-gradient(135deg, #3d7bff, #0036b3); }
.mini__noimg, .ncard__noimg { display: grid; place-items: center; background: var(--panel); color: var(--rose); font-weight: 700; font-size: 12px; text-align: center; }
.pick__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; }
@media (max-width: 760px) {
  .sub-tabs { overflow-x: auto; scrollbar-width: none; }
  .sub-tabs a { flex: none; white-space: nowrap; padding: 5px 14px; }
}

/* 頭を固定（管理のメニューバーも一緒に）。下にスクロールしたら2段目を隠す（2026-10-04 カツ指定） */
.pr-sticky { position: sticky; top: 0; z-index: 60; }
.pr-sticky.is-scrolled .site-head__sub { display: none; }

/* picks 4:3（2026-10-04 カツ「比率は極力4:3で」）。右の4枠を 4:3 にし、左の大きい枠は2段ぶんの高さ（ほぼ 4:3） */
.picks__inner { height: auto; }
.pick { aspect-ratio: 4 / 3; }
.pick--main { aspect-ratio: auto; }
@media (max-width: 760px) { .pick { aspect-ratio: 4 / 3; } .pick--main { aspect-ratio: 4 / 3; } }
/* 準注目（2列×2段・画像 4:3） */
.cards2--semi { row-gap: 32px; }
.cards2--semi .card__img img { aspect-ratio: 4 / 3; }

/* メインビジュアル（2026-10-04 作り直し）：写真の上に文字を重ねない。写真 4:3、題名は下に白で。PC は左に大1・右に2×2 */
.prmv { background: linear-gradient(135deg, #0055ff 0%, #0036b3 100%); padding: 28px 0 32px; color: #fff; }
.prmv__inner { width: min(1100px, calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 20px 18px; align-items: start; }
.prmv__item { display: block; color: #fff; text-decoration: none; min-width: 0; }
.prmv__item--main { grid-row: span 2; }
.prmv__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 4px; background: #0a2a6b; }
.prmv__img img { width: 100%; height: 100%; object-fit: cover; transition: scale .5s ease; }
.prmv__item:hover .prmv__img img { scale: 1.04; }
.prmv__noimg { display: grid; place-items: center; height: 100%; padding: 16px; text-align: center; font-weight: 700; background: linear-gradient(135deg, #3d7bff, #0036b3); }
.prmv__text { display: flex; flex-direction: column; align-items: flex-start; gap: 6px; padding-top: 10px; }
.prmv__cat { font-size: 11px; letter-spacing: .12em; padding: 1px 10px; border: 1px solid rgba(255,255,255,.8); border-radius: 999px; }
.prmv__title { font-weight: 700; font-size: 14px; line-height: 1.55; display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; overflow: hidden; }
.prmv__item--main .prmv__title { font-size: clamp(18px, 1.8vw, 24px); line-height: 1.5; -webkit-line-clamp: 3; }
.prmv__co { font-size: 13px; opacity: .9; }
.prmv__item:hover .prmv__title { text-decoration: underline; }
@media (max-width: 760px) {
  .prmv { padding: 16px 0 20px; }
  .prmv__inner { width: calc(100% - 32px); grid-template-columns: 1fr 1fr; gap: 16px 12px; }
  .prmv__item--main { grid-column: span 2; grid-row: auto; }
  .prmv__title { font-size: 13px; }
}

/* 準注目：横1列4件の小さめのカード（スマホは2列） */
.semi { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.semi__item { display: block; text-decoration: none; color: var(--text-strong); min-width: 0; }
.semi__img { display: block; aspect-ratio: 4 / 3; overflow: hidden; border: 1px solid var(--line); }
.semi__img img { width: 100%; height: 100%; object-fit: cover; transition: scale .5s ease; }
.semi__item:hover .semi__img img { scale: 1.04; }
.semi__title { display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; overflow: hidden; margin-top: 8px; font-weight: 700; font-size: 13px; line-height: 1.6; }
.semi__co { display: block; margin-top: 4px; font-size: 12px; color: var(--text-sub); }
.semi__item:hover .semi__title { text-decoration: underline; }
@media (max-width: 760px) { .semi { grid-template-columns: 1fr 1fr; gap: 16px 12px; } }
/* ヘッダーのログアウト（フォームのボタン）を、ほかのアイコンのリンクと同じ見た目に（2026-10-05） */
.head-icons__form { display: flex; margin: 0; }
.head-icons__form button { display: flex; flex-direction: column; align-items: center; gap: 4px; padding: 0; border: 0; background: none; cursor: pointer; font: inherit; font-size: 11px; letter-spacing: .08em; color: var(--text-strong); }
.head-icons__form button span { white-space: nowrap; }

/* 注目のPR：投稿ごとに白い台紙・文字は濃い色に（2026-10-05 カツ「投稿ごとに白背景いれて、文字色変えよう」）。文字は15px以上 */
.prmv__item { background: #fff; color: #111827; border-radius: 10px; overflow: hidden; box-shadow: 0 6px 18px rgba(0, 20, 80, .18); }
.prmv__img { border-radius: 0; }
.prmv__text { padding: 12px 14px 14px; gap: 8px; }
.prmv__cat { font-size: 15px; letter-spacing: .04em; color: #0055ff; border-color: #0055ff; background: #f3f6ff; }
.prmv__title { font-size: 15px; color: #111827; }
.prmv__co { font-size: 15px; color: #4b5563; opacity: 1; }
.prmv__item:hover { box-shadow: 0 10px 26px rgba(0, 20, 80, .28); }
.prmv__item:hover .prmv__title { color: #0055ff; }
@media (max-width: 760px) { .prmv__title { font-size: 15px; } }

/* 募集の一覧（オーディション・ボランティア・求人）：注目のPR と同じ青い帯＋白い台紙（2026-10-05） */
.prrc__head { width: min(1100px, calc(100% - 48px)); margin: 0 auto 22px; display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 14px 24px; }
.prrc__en { margin: 0; font-size: 15px; font-weight: 700; letter-spacing: .2em; color: rgba(255,255,255,.75); }
.prrc__title { margin: 2px 0 6px; font-size: clamp(22px, 2.4vw, 30px); font-weight: 700; color: #fff; }
.prrc__lead { margin: 0; font-size: 15px; color: rgba(255,255,255,.92); }
.prrc__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 16px; }
.prrc__link { font-size: 15px; color: #fff; text-decoration: underline; }
.prrc__btn { display: inline-block; padding: 10px 18px; border-radius: 999px; background: #fff; color: #0055ff; font-size: 15px; font-weight: 700; text-decoration: none; }
.prrc__btn:hover { background: #eef4ff; }
.prrc__grid { width: min(1100px, calc(100% - 48px)); margin: 0 auto; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px 18px; }
.prrc__tags { display: flex; flex-wrap: wrap; gap: 6px; }
.prrc__tag { font-size: 15px; padding: 1px 10px; border-radius: 999px; background: #f3f4f6; color: #374151; }
.prrc__tag--end { background: #e5e7eb; color: #4b5563; }
.prrc__tag--due { background: #fef2f2; color: #b91c1c; }
.prrc__empty { width: min(1100px, calc(100% - 48px)); margin: 0 auto; padding: 40px; border-radius: 10px; background: #fff; color: #4b5563; font-size: 15px; text-align: center; }
@media (max-width: 760px) { .prrc__head, .prrc__grid, .prrc__empty { width: calc(100% - 32px); } .prrc__grid { grid-template-columns: 1fr 1fr; gap: 16px 12px; } }
@media (max-width: 480px) { .prrc__grid { grid-template-columns: 1fr; } }
/* 画像の無い投稿：青いグラデーションの上の会社名は白（台紙の文字色を受け継いで黒くなっていた） */
.prmv__noimg { color: #fff; font-size: 15px; }

/* 注目のPR を1画面に収める（2026-10-05 カツ「カテゴリーは小さく・極力スクロールしない1画面で」）
 * 画像は 4:3 → 16:9・帯の上下の余白と文字の間を詰める・カテゴリの札は小さく（カツの指定で 15px の決まりの例外） */
.prmv { padding: 18px 0 20px; }
.prmv__inner { gap: 14px 16px; }
.prmv .prmv__img { aspect-ratio: 16 / 9; }
.prmv__text { padding: 8px 12px 10px; gap: 4px; }
.prmv__cat { font-size: 12px; padding: 0 8px; letter-spacing: .02em; line-height: 1.6; }
.prmv__title { -webkit-line-clamp: 2; }
.prmv__item--main .prmv__title { font-size: clamp(18px, 1.6vw, 22px); -webkit-line-clamp: 2; }
.prmv__item--main .prmv__co { font-size: 15px; }
.prrc__tag { font-size: 12px; padding: 0 8px; line-height: 1.6; }
/* スマホ：札は小さいまま・横の小さな投稿は題名1行にして1画面に近づける */
@media (max-width: 760px) {
  .prmv .prmv__cat { font-size: 12px !important; }
  .prmv__item:not(.prmv__item--main) .prmv__title { -webkit-line-clamp: 1; }
}
.prmv__cat { white-space: nowrap; max-width: 100%; overflow: hidden; text-overflow: ellipsis; }
