.btn-cta-header{background:#fff;color:var(--green)!important;border-radius:8px;padding:10px 20px;font-size:13px;font-weight:700;transition:background .3s,transform .2s;white-space:nowrap;}
.page-hero::before{content:'';position:absolute;top:-50%;right:-20%;width:400px;height:400px;background:radial-gradient(circle,rgba(234,47,35,.12) 0%,transparent 70%);pointer-events:none;}
.page-hero h1{font-size:36px;font-weight:900;letter-spacing:.06em;margin-bottom:8px;line-height:1.5;position:relative;}
.page-hero .hero-lead{font-size:16px;opacity:.9;letter-spacing:.03em;font-weight:500;margin-bottom:0;position:relative;}
.page-hero .breadcrumb{font-size:12px;opacity:.6;margin-bottom:16px;position:relative;}
/* Hero Stats */
.hero-stats{display:flex;justify-content:center;gap:32px;margin-top:24px;flex-wrap:wrap;position:relative;}
.hero-stat{text-align:center;position:relative;}
.hero-stat-num{font-size:28px;font-weight:900;line-height:1.2;}
.hero-stat-num small{font-size:14px;font-weight:700;}
.hero-stat-label{font-size:11px;opacity:.7;margin-top:2px;}
.hero-stat + .hero-stat::before{content:'';position:absolute;left:-16px;top:50%;transform:translateY(-50%);width:1px;height:28px;background:rgba(255,255,255,.25);}
/* Hero Job Nav */
.hero-job-nav{display:flex;justify-content:center;gap:10px;margin-top:24px;flex-wrap:wrap;position:relative;}
.hero-job-link{display:inline-block;padding:10px 20px;border:2px solid rgba(255,255,255,.4);border-radius:8px;font-size:13px;font-weight:700;color:#fff;transition:all .2s;background:rgba(255,255,255,.08);}
.hero-job-link:hover{border-color:#fff;background:rgba(255,255,255,.18);transform:translateY(-1px);}
.section-surface{background:var(--surface);border-top:1px solid var(--border);border-bottom:1px solid var(--border);}
.section-title{font-size:28px;font-weight:900;text-align:center;margin-bottom:8px;line-height:1.5;}
.section-sub{font-size:15px;text-align:center;color:var(--txt2);margin-bottom:16px;}
/* RECRUIT MESSAGE - Compact */
.recruit-message{max-width:800px;margin:0 auto;text-align:center;}
.recruit-message h3{font-size:22px;font-weight:900;line-height:1.7;margin-bottom:16px;}
.recruit-message h3 em{font-style:normal;background:var(--grad);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;}
.recruit-message p{font-size:15px;color:var(--txt2);line-height:2;margin-bottom:12px;text-align:left;}
/* MVV Compact */
.mvv-compact{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:900px;margin:32px auto 0;}
.mvv-compact-card{border-radius:12px;padding:24px 20px;text-align:center;}
.mvv-compact-card.is-mission{background:var(--dark);color:#fff;}
.mvv-compact-card.is-vision{background:var(--grad-vivid);color:#fff;}
.mvv-compact-card.is-value{background:#fff;color:var(--txt);border:1px solid var(--border);box-shadow:0 2px 12px rgba(0,0,0,.04);}
.mvv-compact-label{font-size:10px;font-weight:700;letter-spacing:.15em;opacity:.5;margin-bottom:8px;text-transform:uppercase;}
.mvv-compact-card.is-value .mvv-compact-label{color:var(--txt2);}
.mvv-compact-text{font-size:15px;font-weight:900;line-height:1.6;}
/* Origin Note */
.origin-note{text-align:center;margin-top:28px;padding:20px 24px;background:rgba(32,94,73,.05);border-radius:12px;max-width:700px;margin-left:auto;margin-right:auto;}
.origin-note-label{font-size:12px;font-weight:700;color:var(--green);letter-spacing:.1em;margin-bottom:4px;}
.origin-note-title{font-size:15px;font-weight:900;line-height:1.8;}
.origin-note-desc{font-size:13px;color:var(--txt2);margin-top:4px;line-height:1.8;}
/* APPEAL CARDS */
.appeal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto;}
.appeal-card{background:#fff;border-radius:14px;padding:28px 20px;text-align:center;box-shadow:0 4px 24px rgba(0,0,0,.06);border:1px solid var(--border);transition:transform .3s;position:relative;overflow:hidden;}
.appeal-card::before{content:'';position:absolute;top:0;left:0;right:0;height:3px;background:var(--grad);}
.appeal-card:hover{transform:translateY(-4px);}
.appeal-num{font-size:11px;font-weight:700;letter-spacing:.15em;color:var(--green);opacity:.5;margin-bottom:10px;}
.appeal-card h4{font-size:16px;font-weight:900;margin-bottom:8px;}
.appeal-card p{font-size:13px;color:var(--txt2);line-height:1.8;}
/* TAB UI */
.tab-nav{display:flex;gap:0;max-width:900px;margin:0 auto;border-radius:12px 12px 0 0;overflow:hidden;border:1px solid var(--border);border-bottom:none;}
.tab-btn{flex:1;padding:16px 12px;text-align:center;cursor:pointer;background:var(--surface);border:none;font-family:inherit;font-size:14px;font-weight:700;color:var(--txt2);transition:all .2s;position:relative;}
.tab-btn:not(:last-child){border-right:1px solid var(--border);}
.tab-btn.active{background:#fff;color:var(--txt);}
.tab-btn.active::after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:var(--grad);}
.tab-btn-sub{display:block;font-size:11px;font-weight:500;opacity:.7;margin-top:2px;}
.tab-content{max-width:900px;margin:0 auto;background:#fff;border:1px solid var(--border);border-radius:0 0 12px 12px;overflow:hidden;box-shadow:0 4px 24px rgba(0,0,0,.06);}
.tab-panel{display:none;}
.tab-panel.active{display:block;}
/* Job Quick Info */
.job-quick{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:var(--border);border-bottom:1px solid var(--border);}
.job-quick-item{background:#fff;padding:16px;text-align:center;}
.job-quick-label{font-size:11px;color:var(--txt2);font-weight:500;margin-bottom:4px;}
.job-quick-value{font-size:15px;font-weight:900;color:var(--txt);}
.job-quick-value small{font-size:12px;font-weight:500;}
.job-highlight-badge{display:inline-block;background:rgba(234,47,35,.08);color:var(--red);font-size:11px;font-weight:700;padding:2px 8px;border-radius:4px;margin-top:4px;}
/* Job Summary - 直接表示するセクション */
.job-summary{padding:24px 28px;border-bottom:1px solid var(--border);}
.job-summary-text{font-size:14px;color:var(--txt2);line-height:1.8;margin-bottom:12px;}
.job-tags{display:flex;flex-wrap:wrap;gap:6px;}
.job-tag{display:inline-block;font-size:12px;font-weight:700;padding:4px 12px;border-radius:20px;background:var(--surface);color:var(--green);border:1px solid rgba(32,94,73,.15);}
/* Job Visible Section - 仕事内容・応募資格を直接表示 */
.job-visible{padding:0 28px;}
.job-visible-block{padding:20px 0;border-bottom:1px solid var(--border);}
.job-visible-block:last-child{border-bottom:none;}
.job-visible-title{font-size:14px;font-weight:900;color:var(--txt);margin-bottom:10px;display:flex;align-items:center;gap:8px;}
.job-visible-title::before{content:'';width:4px;height:16px;background:var(--grad);border-radius:2px;flex-shrink:0;}
.job-visible-body{font-size:14px;line-height:1.9;color:var(--txt2);}
.job-visible-body ul{margin:0;padding-left:20px;}
.job-visible-body li{margin-bottom:4px;}
/* Job Details Accordion - 詳細のみ折りたたみ */
.job-details{padding:0 28px 20px;}
.job-details summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--green);padding:14px 0;border-bottom:1px solid var(--border);list-style:none;display:flex;align-items:center;justify-content:space-between;}
.job-details summary::-webkit-details-marker{display:none;}
.job-details summary::after{content:'+';font-size:18px;font-weight:400;color:var(--txt2);transition:transform .2s;}
.job-details details[open] summary::after{transform:rotate(45deg);}
.job-details details[open] summary{color:var(--txt);border-bottom-color:var(--green);}
.job-detail-body{padding:14px 0;font-size:14px;line-height:1.9;}
.job-detail-body ul{margin:0;padding-left:20px;}
.job-detail-body li{margin-bottom:4px;}
.job-detail-body .detail-label{font-size:12px;font-weight:700;color:var(--txt2);margin-bottom:4px;margin-top:12px;}
.job-detail-body .detail-label:first-child{margin-top:0;}
/* Tab Apply Button */
.job-apply{padding:0 28px 24px;text-align:center;}
.btn-job-apply{display:inline-block;background:var(--grad-vivid);color:#fff;border-radius:8px;padding:14px 40px;font-size:14px;font-weight:700;text-decoration:none;transition:transform .2s,box-shadow .2s;box-shadow:0 4px 16px rgba(32,94,73,.25);}
.btn-job-apply:hover{transform:translateY(-2px);box-shadow:0 6px 24px rgba(32,94,73,.35);}
/* SELECTION FLOW */
/* FLOW COMPACT */
.flow-compact{display:flex;justify-content:center;align-items:center;gap:8px;flex-wrap:wrap;}
.flow-chip{background:#fff;border:2px solid var(--primary);border-radius:24px;padding:8px 18px;font-size:14px;font-weight:700;color:var(--txt1);white-space:nowrap;}
.flow-chip b{color:var(--primary);margin-right:4px;}
.flow-chip-final{background:var(--grad);color:#fff;border-color:transparent;}
.flow-chip-final b{color:#fff;}
.flow-chip-arrow{font-size:18px;color:var(--border);}
/* COACH VOICE */
.coach-voice-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:16px;max-width:900px;margin:0 auto;}
.coach-voice-card{position:relative;background:#fff;border-radius:14px;padding:20px 18px 18px;box-shadow:0 4px 24px rgba(0,0,0,.06);border:1px solid var(--border);display:flex;gap:16px;align-items:flex-start;}
.coach-voice-card::before{content:'\201C';position:absolute;top:4px;left:12px;font-size:40px;color:var(--border);line-height:1;font-family:Georgia,serif;}
.coach-voice-img{width:56px;height:56px;border-radius:50%;object-fit:cover;border:3px solid var(--surface);flex-shrink:0;}
.coach-voice-body{flex:1;padding-top:4px;}
.coach-voice-body blockquote{font-size:13px;line-height:1.8;margin-bottom:8px;color:var(--txt);}
.coach-voice-body cite{font-size:11px;color:var(--txt2);font-style:normal;font-weight:700;}
/* CTA */
.cta-section{text-align:center;padding:72px 20px;background:var(--grad-vivid);color:#fff;position:relative;overflow:hidden;}
.cta-section::before{content:'';position:absolute;top:50%;left:50%;width:600px;height:600px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(89,190,240,.12) 0%,transparent 70%);pointer-events:none;}
.cta-section h2{font-size:26px;font-weight:900;margin-bottom:12px;position:relative;}
.cta-section p{font-size:15px;opacity:.85;margin-bottom:32px;position:relative;line-height:1.9;}
.cta-buttons{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;position:relative;}
.btn-cta-main{display:inline-block;background:#fff;color:var(--green);border-radius:8px;padding:18px 52px;font-size:16px;font-weight:700;text-decoration:none;transition:background .3s,transform .2s;box-shadow:0 4px 24px rgba(0,0,0,.2);}
.btn-cta-main:hover{background:#f0f0f0;transform:translateY(-2px);}
.btn-line{display:inline-block;background:var(--line);color:#fff;border-radius:8px;padding:18px 36px;font-size:16px;font-weight:700;text-decoration:none;transition:transform .2s;box-shadow:0 4px 20px rgba(6,199,85,.3);}
.btn-line:hover{transform:translateY(-2px);}
.cta-note{font-size:13px;opacity:.7;margin-top:16px;position:relative;}
/* FLOATING */
.floating{position:fixed;bottom:24px;right:24px;z-index:999;display:flex;flex-direction:column;gap:8px;}
.fl-cta{background:var(--green);color:#fff;border-radius:12px;padding:16px 28px;font-size:14px;font-weight:700;text-decoration:none;text-align:center;box-shadow:0 4px 24px rgba(32,94,73,.35);transition:background .3s,transform .2s;display:flex;align-items:center;gap:8px;}
.fl-cta:hover{background:#174a39;transform:translateY(-2px);}
.fl-cta::before{content:'';width:8px;height:8px;background:#fff;border-radius:50%;animation:pulse 2s infinite;}
@keyframes pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.fl-line{background:var(--line);color:#fff;border-radius:12px;padding:12px 24px;font-size:12px;font-weight:700;text-decoration:none;text-align:center;box-shadow:0 4px 20px rgba(6,199,85,.3);}
.mobile-menu .mm-cta{background:var(--green);border-radius:8px;padding:14px 36px;font-size:16px;margin-top:12px;}
/* ===== RESPONSIVE ===== */
  .page-hero h1{font-size:22px;line-height:1.5;}
  .page-hero .hero-lead{font-size:13px;}
  .hero-stats{gap:16px;margin-top:18px;}
  .hero-stat-num{font-size:22px;}
  .hero-stat-num small{font-size:12px;}
  .hero-stat-label{font-size:10px;}
  .hero-stat + .hero-stat::before{left:-8px;height:24px;}
  .hero-job-nav{gap:6px;margin-top:18px;}
  .hero-job-link{padding:8px 14px;font-size:12px;}
  .section-title{font-size:20px;margin-bottom:6px;}
  .section-sub{font-size:13px;margin-bottom:12px;}
  .grad-line{margin-bottom:12px;}
  .recruit-message h3{font-size:17px;line-height:1.7;}
  .recruit-message p{font-size:13px;line-height:1.9;}
  .mvv-compact{grid-template-columns:1fr;gap:8px;margin-top:24px;}
  .mvv-compact-card{padding:16px 14px;display:flex;align-items:center;gap:12px;text-align:left;}
  .mvv-compact-label{margin-bottom:0;min-width:52px;}
  .mvv-compact-text{font-size:13px;}
  .origin-note{margin-top:20px;padding:16px 14px;}
  .origin-note-title{font-size:14px;}
  .origin-note-desc{font-size:12px;}
  /* Appeal */
  .appeal-grid{grid-template-columns:1fr;gap:12px;}
  .appeal-card{padding:22px 18px;text-align:center;}
  .appeal-num{margin-bottom:8px;}
  .appeal-card h4{font-size:15px;margin-bottom:6px;}
  .appeal-card p{font-size:12px;line-height:1.7;text-align:center;}
  /* Tab UI */
  .tab-nav{border-radius:10px 10px 0 0;}
  .tab-btn{padding:12px 8px;font-size:12px;}
  .tab-btn-sub{font-size:10px;}
  .tab-content{border-radius:0 0 10px 10px;}
  .job-quick{grid-template-columns:1fr 1fr 1fr;}
  .job-quick-item{padding:12px 6px;}
  .job-quick-label{font-size:10px;}
  .job-quick-value{font-size:13px;}
  .job-quick-value small{font-size:11px;}
  .job-highlight-badge{font-size:10px;padding:1px 6px;}
  .job-summary{padding:18px 16px;}
  .job-summary-text{font-size:13px;margin-bottom:10px;}
  .job-tags{gap:5px;}
  .job-tag{font-size:11px;padding:3px 10px;}
  .job-visible{padding:0 16px;}
  .job-visible-block{padding:16px 0;}
  .job-visible-title{font-size:13px;margin-bottom:8px;}
  .job-visible-body{font-size:13px;line-height:1.8;}
  .job-visible-body ul{padding-left:18px;}
  .job-visible-body li{font-size:13px;margin-bottom:2px;}
  .job-details{padding:0 16px 16px;}
  .job-details summary{font-size:13px;padding:12px 0;}
  .job-detail-body{font-size:13px;line-height:1.8;}
  .job-detail-body ul{padding-left:18px;}
  .job-detail-body li{font-size:13px;margin-bottom:2px;}
  .job-apply{padding:0 16px 20px;}
  .btn-job-apply{padding:12px 32px;font-size:13px;width:100%;}
  /* Flow Compact */
  .flow-chip{padding:6px 14px;font-size:13px;}
  .flow-chip-arrow{font-size:14px;}
  /* CTA */
  .cta-section{padding:48px 16px;}
  .cta-section h2{font-size:20px;}
  .cta-section p{font-size:13px;margin-bottom:24px;}
  .cta-buttons{flex-direction:column;gap:10px;max-width:300px;margin:0 auto;}
  .btn-cta-main,.btn-line{padding:16px 24px;font-size:15px;text-align:center;width:100%;}
  .cta-note{font-size:12px;}
  /* Floating */
  .floating{bottom:0;right:0;left:0;flex-direction:row;padding:10px 12px;background:#fff;border-top:1px solid var(--border);border-radius:0;gap:8px;}
  .fl-cta{flex:7;border-radius:8px;padding:14px;justify-content:center;font-size:13px;box-shadow:none;}
  .fl-line{flex:3;border-radius:8px;padding:14px;font-size:11px;}
  body{padding-bottom:64px;}
