/* 求人ページ用。Emanon の配色に寄せつつ、テーマに依存しない最小限のスタイル */
.rp-recruit { --rp-accent: #e65100; --rp-line: #e2e2e2; --rp-soft: #f7f7f5; }
.rp-recruit__header { margin-bottom: 1.5em; }
.rp-recruit__title { font-size: 1.75rem; line-height: 1.4; margin: 0 0 .4em; }
.rp-recruit__date { color: #777; font-size: .875rem; margin: 0; }
.rp-recruit__intro { margin-top: 1em; }
.rp-recruit__closed { background: #fdecea; border-left: 4px solid #c62828; padding: .8em 1em; margin: 0 0 1.5em; }
.rp-recruit__thumb { margin: 0 0 2em; }
.rp-recruit__thumb img { width: 100%; height: auto; border-radius: 8px; }
.rp-recruit__section, .rp-recruit__apply { margin: 0 0 2.5em; }
.rp-recruit__section > h2, .rp-recruit__apply > h2 { font-size: 1.3rem; border-left: 4px solid var(--rp-accent); padding-left: .6em; margin: 0 0 1em; }

.rp-recruit-filter { display: flex; flex-wrap: wrap; gap: .75em; align-items: flex-end; background: var(--rp-soft); padding: 1em; border-radius: 8px; margin-bottom: 2em; }
.rp-recruit-filter__item { display: flex; flex-direction: column; gap: .25em; font-size: .875rem; flex: 1 1 200px; }
.rp-recruit-filter__item select { width: 100%; padding: .5em; border: 1px solid var(--rp-line); border-radius: 4px; background: #fff; }
.rp-recruit-filter__submit { padding: .6em 1.6em; border: 0; border-radius: 4px; background: var(--rp-accent); color: #fff; font-weight: 700; cursor: pointer; }

.rp-recruit-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 1em; }
.rp-recruit-card__link { display: block; border: 1px solid var(--rp-line); border-radius: 8px; padding: 1.2em 1.4em; color: inherit; text-decoration: none; background: #fff; transition: box-shadow .2s; }
.rp-recruit-card__link:hover { box-shadow: 0 4px 16px rgba(0,0,0,.08); }
.rp-recruit-card__tags { display: flex; flex-wrap: wrap; gap: .4em; margin-bottom: .6em; }
.rp-tag { font-size: .75rem; padding: .15em .7em; border-radius: 999px; background: var(--rp-soft); border: 1px solid var(--rp-line); }
.rp-tag--job { background: var(--rp-accent); border-color: var(--rp-accent); color: #fff; }
.rp-recruit-card__title { font-size: 1.15rem; margin: 0 0 .6em; line-height: 1.5; }
.rp-recruit-card__meta { margin: 0; font-size: .9rem; }
.rp-recruit-card__meta div { display: flex; gap: .8em; }
.rp-recruit-card__meta dt { flex: 0 0 4em; color: #777; }
.rp-recruit-card__meta dd { margin: 0; }
.rp-recruit-card__excerpt { margin: .8em 0 0; font-size: .9rem; color: #555; }
.rp-recruit-card__more { display: inline-block; margin-top: .8em; color: var(--rp-accent); font-weight: 700; font-size: .9rem; }

.rp-recruit-table { margin: 0; border-top: 1px solid var(--rp-line); }
.rp-recruit-table__row { display: flex; border-bottom: 1px solid var(--rp-line); }
.rp-recruit-table__row dt { flex: 0 0 9em; background: var(--rp-soft); padding: .9em 1em; font-weight: 700; }
.rp-recruit-table__row dd { margin: 0; padding: .9em 1em; flex: 1; }
@media (max-width: 600px) {
	.rp-recruit-table__row { flex-direction: column; }
	.rp-recruit-table__row dt { flex-basis: auto; padding: .6em 1em; }
}

.rp-recruit__apply { background: var(--rp-soft); padding: 1.5em; border-radius: 8px; }
.rp-recruit__apply-buttons { display: flex; flex-wrap: wrap; gap: .8em; }
.rp-btn { display: inline-block; padding: .9em 1.6em; border-radius: 999px; border: 2px solid var(--rp-accent); color: var(--rp-accent); background: #fff; font-weight: 700; text-decoration: none; text-align: center; }
.rp-btn--primary { background: var(--rp-accent); color: #fff; }
.rp-recruit__back { text-align: center; }
