/* ━━━ 採用バナー（最上部固定帯） ━━━ */
.recruit-bar {
	position: fixed;
	top: 0; left: 0; right: 0;
	height: var(--banner-h);
	overflow: hidden;
	/* WCAG 1.4.3: 白文字が全域で 4.5:1 以上になるよう、同系統のまま濃色化
	   （旧 #FF3D6B/#FF6B00 は白文字 2.9〜3.4:1 で不足していた）。 */
	background: linear-gradient( 90deg, #6D28D9 0%, #C21D57 50%, #C2410C 100% );
	color: #fff;
	z-index: 1002;
	transition: height .3s ease;
}

.recruit-bar__inner {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	max-width: var(--max-w);
	margin-inline: auto;
	padding-inline: var(--gutter);
	position: relative;
}

.recruit-bar__link {
	display: flex;
	align-items: center;
	gap: .65rem;
	color: #fff;
	font-size: .82rem;
	font-weight: 700;
	line-height: 1;
	flex-wrap: wrap;
	justify-content: center;
}

.recruit-bar__badge {
	background: #fff;
	color: #C21D57; /* 白地の小さな太字バッジで 4.5:1 以上を確保 */
	font-size: .6rem;
	font-weight: 900;
	padding: .15rem .55rem;
	border-radius: var(--r-pill);
	letter-spacing: .06em;
	flex-shrink: 0;
	animation: badge-pulse 2s infinite;
}

@keyframes badge-pulse {
	0%, 100% { box-shadow: 0 0 0 0 rgba(255,255,255,.55); }
	50%       { box-shadow: 0 0 0 6px rgba(255,255,255,0); }
}

.recruit-bar__text {
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.recruit-bar__cta {
	/* 暗い半透明にして白文字のコントラストを上げる（白半透明だと地色が明るくなり不足） */
	background: rgba(0,0,0,.18);
	padding: .22rem .8rem;
	border-radius: var(--r-pill);
	font-size: .78rem;
	white-space: nowrap;
	transition: background .2s ease;
	flex-shrink: 0;
}

.recruit-bar__link:hover .recruit-bar__cta {
	background: rgba(0,0,0,.30);
}

.recruit-bar__close {
	position: absolute;
	right: var(--gutter);
	top: 50%;
	transform: translateY(-50%);
	display: flex;
	align-items: center;
	justify-content: center;
	width: 28px; height: 28px;
	background: rgba(255,255,255,.2);
	border: 1.5px solid rgba(255,255,255,.4);
	border-radius: 50%;
	color: #fff;
	font-size: 1rem;
	line-height: 1;
	cursor: pointer;
	transition: background .2s ease;
	flex-shrink: 0;
}

.recruit-bar__close:hover {
	background: rgba(255,255,255,.4);
}

@media (max-width: 600px) {
	.recruit-bar__text { display: none; }
	.recruit-bar__link { gap: .5rem; }
}
