/* === Recruit Page Header === */
.page-header { padding: 160px 0 80px; background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%); }
.page-header .container { max-width: 900px; }
.page-label { font-family: var(--font-en); font-size: 12px; font-weight: 600; letter-spacing: 0.2em; color: rgba(0,0,0,0.5); margin-bottom: 16px; }
.page-title { font-family: var(--font-en); font-size: clamp(40px, 6vw, 64px); font-weight: 700; letter-spacing: -0.02em; margin-bottom: 12px; color: var(--color-black); }
.page-title-jp { font-size: 14px; color: rgba(0,0,0,0.6); letter-spacing: 0.1em; }
.page-catchphrase { font-family: var(--font-en); font-size: 18px; font-weight: 500; margin-top: 32px; color: var(--color-black); }

/* === Content === */
.content-section { max-width: 900px; margin: 0 auto; padding: 80px 60px; }
.intro-text { font-size: 16px; line-height: 2.2; color: var(--color-gray); margin-bottom: 60px; }
.section-block { margin-bottom: 80px; }
.section-block h2 { font-family: var(--font-en); font-size: 13px; font-weight: 600; letter-spacing: 0.15em; color: var(--color-accent-dark); margin-bottom: 32px; padding-bottom: 16px; border-bottom: 2px solid var(--color-accent); display: inline-block; }

/* === Position Cards === */
.position-card { background: var(--color-white); border: 1px solid var(--color-border); padding: 40px; margin-bottom: 24px; transition: all 0.3s var(--transition); }
.position-card:hover { border-color: var(--color-accent); box-shadow: 0 8px 32px rgba(114, 198, 239, 0.15); }
.position-title { font-size: 18px; font-weight: 600; margin-bottom: 16px; color: var(--color-black); display: flex; align-items: center; gap: 12px; }
.position-title::before { content: ''; width: 4px; height: 20px; background: linear-gradient(180deg, var(--color-accent) 0%, var(--color-accent-dark) 100%); }
.position-desc { font-size: 14px; line-height: 2; color: var(--color-gray); }

/* === Requirements === */
.requirements-list { list-style: none; }
.requirements-list li { font-size: 15px; line-height: 2; color: var(--color-gray); padding: 16px 0; border-bottom: 1px solid var(--color-border); display: flex; align-items: flex-start; gap: 16px; }
.requirements-list li:last-child { border-bottom: none; }
.requirements-list li::before { content: ''; width: 8px; height: 8px; background: var(--color-accent); border-radius: 50%; margin-top: 10px; flex-shrink: 0; }
.requirements-list strong { color: var(--color-black); font-weight: 600; }

/* === Info Table === */
.info-table { width: 100%; border-collapse: collapse; }
.info-table tr { border-bottom: 1px solid var(--color-border); }
.info-table th, .info-table td { padding: 24px 0; text-align: left; font-size: 14px; vertical-align: top; }
.info-table th { width: 140px; font-weight: 600; color: var(--color-black); }
.info-table td { color: var(--color-gray); line-height: 1.9; }

/* === CTA === */
.cta-box { background: linear-gradient(135deg, var(--color-accent) 0%, var(--color-accent-dark) 100%); padding: 60px; text-align: center; margin-top: 80px; }
.cta-box h3 { font-family: var(--font-en); font-size: 24px; font-weight: 600; margin-bottom: 16px; color: var(--color-black); }
.cta-box p { font-size: 14px; color: rgba(0,0,0,0.7); margin-bottom: 32px; }
.cta-box a { display: inline-flex; align-items: center; gap: 12px; font-family: var(--font-en); font-size: 14px; font-weight: 600; letter-spacing: 0.05em; color: var(--color-white); background: var(--color-black); text-decoration: none; padding: 18px 40px; transition: all 0.3s var(--transition); }
.cta-box a:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,0.2); }

/* === Back Link === */
.back-link { max-width: 900px; margin: 0 auto; padding: 0 60px 100px; }

/* === Responsive === */
@media (max-width: 768px) {
    .page-header { padding: 120px 0 60px; }
    .content-section { padding: 60px 24px; }
    .back-link { padding: 0 24px 60px; }
    .position-card { padding: 24px; }
    .info-table th, .info-table td { display: block; width: 100%; padding: 12px 0; }
    .info-table th { padding-bottom: 4px; }
    .cta-box { padding: 40px 24px; }
}
