.hero{background:var(--text-dark);padding:5rem 2rem;text-align:center}.hero-content{max-width:800px;margin:0 auto}.hero-label{color:var(--accent);font-family:var(--font-display);font-size:.9rem;font-weight:600;letter-spacing:.1em;margin-bottom:.5rem}.hero h1{font-size:2.8rem;color:#fff;margin-bottom:1rem}.hero-desc{color:#ffffffe6;font-size:1.1rem}.container{max-width:1100px;margin:0 auto;padding:0 2rem}.about-section{padding:5rem 0;background:var(--bg-elevated)}.about-header{text-align:center;margin-bottom:3rem}.about-label{display:inline-block;color:var(--primary);font-family:var(--font-display);font-size:.85rem;font-weight:600;letter-spacing:.15em;margin-bottom:.75rem}.about-section h2{font-size:2rem;color:var(--text-dark);margin-bottom:1rem}.about-lead{font-size:1.05rem;color:var(--text-body);line-height:1.8}.about-features{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;max-width:1000px;margin:0 auto}.about-feature-card{background:var(--bg-base);border:1px solid var(--border);border-radius:16px;padding:2rem 1.5rem;text-align:center;transition:all .3s ease}.about-feature-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-md);border-color:var(--primary)}.about-feature-card .feature-icon{width:64px;height:64px;margin:0 auto 1.25rem;background:var(--primary-light);border-radius:50%;display:flex;align-items:center;justify-content:center;color:var(--primary)}.about-feature-card h4{font-size:1.1rem;color:var(--text-dark);margin-bottom:.75rem}.about-feature-card p{font-size:.9rem;color:var(--text-body);line-height:1.6}.jobs-section{padding:4rem 0;background:var(--bg-light)}.jobs-section h2{text-align:center;font-size:1.8rem;color:var(--primary);margin-bottom:2rem}.job-cards{display:grid;grid-template-columns:repeat(3,1fr);max-width:1000px;margin-left:auto;margin-right:auto;gap:1.5rem}.job-card{background:var(--bg-elevated);border-radius:16px;padding:2rem;text-decoration:none;box-shadow:var(--shadow-sm);transition:transform .3s ease,box-shadow .3s ease;display:flex;flex-direction:column}.job-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}.job-badge{display:inline-block;background:var(--primary);color:#fff;padding:.25rem .75rem;border-radius:50px;font-size:.75rem;font-weight:600;margin-bottom:1rem;width:fit-content}.job-badge.contract{background:var(--accent);color:var(--text-dark)}.job-card h3{font-size:1.3rem;color:var(--text-dark);margin-bottom:.75rem}.job-desc{font-size:.9rem;color:var(--text-body);margin-bottom:1rem;line-height:1.5}.job-points{list-style:none;margin-bottom:1.5rem;flex-grow:1}.job-points li{font-size:.85rem;color:var(--text-body);padding:.4rem 0;border-bottom:1px solid var(--bg-light)}.job-points li:last-child{border-bottom:none}.job-link{color:var(--primary);font-weight:600;font-size:.9rem}.external-sites{padding:3rem 0;background:var(--bg-elevated);text-align:center}.external-sites h3{margin-bottom:1rem;color:var(--text-dark)}.site-links{display:flex;justify-content:center;gap:1rem}.site-link{padding:.75rem 1.5rem;border:2px solid var(--primary);border-radius:50px;color:var(--primary);font-weight:600;text-decoration:none;transition:all .3s ease}.site-link:hover{background:var(--primary);color:#fff}.contact-cta{padding:4rem 0;background:var(--primary);text-align:center}.contact-cta h3{font-size:1.5rem;color:#fff;margin-bottom:.5rem}.contact-cta>.container>p{color:#fffc;margin-bottom:1.5rem}.cta-phone{display:inline-block;font-size:1.5rem;font-weight:700;color:#fff;text-decoration:none;margin-bottom:.5rem}.cta-hours{display:block;color:#ffffffb3;font-size:.9rem}.cta-email{display:inline-block;font-size:1.2rem;font-weight:600;color:#fff;text-decoration:none;background:rgba(255,255,255,0.2);padding:.75rem 1.5rem;border-radius:8px;transition:background .3s}.cta-email:hover{background:rgba(255,255,255,0.3)}

/* 応募フォーム */
.recruit-form-section{padding:4rem 0;background:var(--bg-light)}
.recruit-form-section h2{text-align:center;font-size:1.8rem;color:var(--primary);margin-bottom:1rem}
.form-lead{text-align:center;color:var(--text-body);margin-bottom:2rem}
.apply-buttons{display:flex;flex-direction:column;gap:1rem;max-width:500px;margin:0 auto 2rem}
.apply-btn{display:flex;align-items:center;gap:1rem;padding:1.5rem 2rem;background:var(--bg-elevated);border:2px solid var(--border);border-radius:12px;text-decoration:none;transition:all .3s ease}
.apply-btn:hover{border-color:var(--primary);transform:translateY(-2px);box-shadow:var(--shadow-md)}
.apply-badge{background:var(--primary);color:#fff;padding:.35rem .75rem;border-radius:50px;font-size:.8rem;font-weight:600;white-space:nowrap}
.apply-badge.contract{background:var(--accent);color:var(--text-dark)}
.apply-title{flex:1;font-size:1.1rem;font-weight:600;color:var(--text-dark)}
.apply-arrow{font-size:1.5rem;color:var(--primary)}
.form-note{text-align:center;font-size:.9rem;color:var(--text-muted)}
.form-note a{color:var(--primary);font-weight:600}

@media (max-width: 768px){.hero h1{font-size:2rem}.about-features,.job-cards{grid-template-columns:1fr}.about-section h2{font-size:1.6rem}.about-lead br{display:none}.form-row{grid-template-columns:1fr}.recruit-form{padding:1.5rem}.radio-group.inline{flex-direction:column}}
@media (prefers-color-scheme:dark){.about-section{background:var(--bg-base)}.about-section h2{color:var(--text-primary)}.about-lead{color:var(--text-secondary)}.about-feature-card{background:var(--bg-elevated);border-color:var(--border)}.about-feature-card .feature-icon{background:rgba(217,119,6,0.15)}.about-feature-card h4{color:var(--text-primary)}.about-feature-card p{color:var(--text-secondary)}.jobs-section{background:var(--bg-section)}.jobs-section h2{color:var(--primary)}.job-card{background:var(--bg-elevated)}.job-card h3{color:var(--text-primary)}.job-desc{color:var(--text-secondary)}.job-points li{color:var(--text-secondary);border-color:var(--border)}.external-sites{background:var(--bg-base)}.external-sites h3{color:var(--text-primary)}.hero{background:var(--bg-dark)}.recruit-form-section{background:var(--bg-section)}.apply-btn{background:var(--bg-elevated);border-color:var(--border)}.apply-title{color:var(--text-primary)}.form-note{color:var(--text-secondary)}}
