/* Discoveries Corporate Site — recruit (full original CSS) */

/* ══════════════════════════════════════════
   DISCOVERIES Design System v2.0 — Tokens
   ══════════════════════════════════════════ */
:root{
  /* Colors */
  --c-ink:#1D1D1F; --c-ink-2:#424245; --c-ink-3:#6E6E73; --c-ink-4:#86868B;
  --c-bg:#FFFFFF; --c-bg-alt:#F5F5F7; --c-bg-deep:#FAFAFA;
  --c-line:#E5E5EA;
  --c-indigo:#0066CC; --c-indigo-l:#E8F2FD; --c-indigo-d:#004999;
  --c-navy:#0A1F3D;
  --c-grad:linear-gradient(135deg,#0066CC 0%,#7B3FF2 100%);
  --c-grad-warm:linear-gradient(135deg,#FF7A45 0%,#F2793D 100%);
  --c-green:#34C759; --c-red:#FF3B30; --c-amber:#FB8C00;
  /* Typography */
  --f-display:'Outfit','Noto Sans JP',sans-serif;
  --f-text:'Noto Sans JP',sans-serif;
  --f-mono:'JetBrains Mono','SF Mono',Consolas,monospace;
  --t-xs:12px; --t-sm:14px; --t-base:15px; --t-md:17px; --t-lg:20px; --t-xl:24px;
  --t-h2:clamp(28px,3.2vw,40px); --t-h1:clamp(34px,4.6vw,58px);
  --fw-l:300; --fw-r:400; --fw-m:500; --fw-sb:600; --fw-b:700;
  --lh-tight:1.2; --lh-normal:1.5; --lh-relax:1.7;
  /* Spacing */
  --sp-1:4px; --sp-2:8px; --sp-3:12px; --sp-4:16px; --sp-5:20px;
  --sp-6:24px; --sp-7:32px; --sp-8:40px; --sp-10:56px; --sp-12:72px;
  --sp-14:88px; --sp-16:112px; --py-section:clamp(72px,10vw,128px);
  /* Radius & Shadow */
  --r-sm:4px; --r-md:8px; --r-lg:12px; --r-xl:18px; --r-2xl:24px; --r-full:999px;
  --sh-sm:0 1px 2px rgba(0,0,0,.04);
  --sh-md:0 4px 12px rgba(0,0,0,.06);
  --sh-lg:0 12px 32px rgba(0,0,0,.08);
  --sh-xl:0 20px 60px rgba(0,0,0,.12);
  --sh-color-l:0 12px 36px rgba(0,102,204,.18);
  /* Motion */
  --ease-apple:cubic-bezier(0.32,0.72,0,1);
  --ease-out:cubic-bezier(0.22,1,0.36,1);
  --dur-fast:200ms; --dur-base:400ms; --dur-slow:600ms; --dur-reveal:800ms;
}

/* Base resets for page content (theme CSS handles header/footer) */
#contents.no-bg{background:var(--c-bg)}
#contents .recruit-page{
  font-family:var(--f-text); color:var(--c-ink);
  font-feature-settings:"palt"; -webkit-font-smoothing:antialiased;
  line-height:var(--lh-normal); letter-spacing:0.005em;
}
.recruit-page *{box-sizing:border-box}
.recruit-page a{color:inherit; text-decoration:none}
.recruit-page img{max-width:100%; height:auto; display:block}

/* Layout */
.r-container{max-width:1200px; margin:0 auto; padding:0 var(--sp-6)}
@media (max-width:768px){.r-container{padding:0 var(--sp-5)}}
.r-section{padding:var(--py-section) 0}
.r-section-alt{background:var(--c-bg-alt)}
.r-section-deep{background:var(--c-bg-deep)}
.r-section-dark{background:var(--c-navy); color:#fff}

/* Typography helpers */
.r-eyebrow{
  font-family:var(--f-display); font-size:var(--t-xs); font-weight:var(--fw-m);
  letter-spacing:0.18em; text-transform:uppercase; color:var(--c-indigo);
  margin-bottom:var(--sp-4);
}
.r-eyebrow.on-dark{color:#64B4FF}
.r-h2{
  font-family:var(--f-display); font-size:var(--t-h2); font-weight:var(--fw-l);
  letter-spacing:-0.02em; line-height:var(--lh-tight); color:var(--c-ink);
  margin:0 0 var(--sp-6);
}
.r-h2.on-dark{color:#fff}
.r-h2 em{font-style:normal; background:var(--c-grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text}
.r-h3{font-family:var(--f-display); font-size:var(--t-xl); font-weight:var(--fw-sb);
  letter-spacing:-0.01em; line-height:1.3; margin:0 0 var(--sp-3); color:var(--c-ink)}
.r-lead{font-size:var(--t-md); color:var(--c-ink-3); line-height:var(--lh-relax); max-width:680px}
.r-lead.on-dark{color:rgba(255,255,255,.75)}

/* ══════════════════════════════════════════
   Page Header (採用ページ用ヒーロー)
   ══════════════════════════════════════════ */
.r-hero{
  position:relative; overflow:hidden; padding:120px 0 var(--sp-14);
  background:var(--c-bg);
}
.r-hero-mesh{position:absolute; inset:0; pointer-events:none; z-index:0; overflow:hidden}
.r-hero-mesh::before,.r-hero-mesh::after{content:''; position:absolute; border-radius:50%;
  filter:blur(60px); opacity:.7;}
.r-hero-mesh::before{
  top:-25%; right:-15%; width:55vw; height:55vw;
  background:radial-gradient(circle,rgba(0,102,204,.18) 0%,rgba(123,63,242,.08) 50%,transparent 75%);
  animation:rMeshA 22s ease-in-out infinite alternate;
}
.r-hero-mesh::after{
  bottom:-30%; left:-10%; width:50vw; height:50vw;
  background:radial-gradient(circle,rgba(255,122,69,.12) 0%,transparent 70%);
  animation:rMeshB 28s ease-in-out infinite alternate;
}
@keyframes rMeshA{from{transform:translate(0,0) scale(1)}to{transform:translate(-3%,4%) scale(1.05)}}
@keyframes rMeshB{from{transform:translate(0,0)}to{transform:translate(4%,-3%)}}

.r-hero-inner{position:relative; z-index:1}
.r-breadcrumb{
  font-family:var(--f-display); font-size:var(--t-xs); color:var(--c-ink-4);
  margin-bottom:var(--sp-6); display:flex; gap:var(--sp-2); align-items:center;
  letter-spacing:0.02em; flex-wrap:wrap;
}
.r-breadcrumb a{color:var(--c-ink-3); transition:color var(--dur-fast)}
.r-breadcrumb a:hover{color:var(--c-indigo)}
.r-breadcrumb-sep{color:var(--c-line)}

.r-hero-pill{
  display:inline-flex; align-items:center; gap:var(--sp-2);
  background:var(--c-indigo-l); border:1px solid rgba(0,102,204,.2);
  border-radius:var(--r-full); padding:6px 14px 6px 12px;
  font-family:var(--f-display); font-size:var(--t-sm); font-weight:var(--fw-m);
  color:var(--c-indigo); margin-bottom:var(--sp-6); letter-spacing:-0.01em;
}
.r-hero-pill-dot{width:6px; height:6px; border-radius:50%; background:var(--c-indigo);
  animation:rPulse 2.5s ease-in-out infinite}
@keyframes rPulse{0%,100%{opacity:1; transform:scale(1)}50%{opacity:.5; transform:scale(.7)}}

.r-hero h1{
  font-family:var(--f-display); font-size:var(--t-h1); font-weight:var(--fw-l);
  letter-spacing:-0.025em; line-height:1.1; color:var(--c-ink); margin:0 0 var(--sp-7);
}
.r-hero h1 em{font-style:normal; background:var(--c-grad); -webkit-background-clip:text;
  -webkit-text-fill-color:transparent; background-clip:text; font-weight:var(--fw-r)}
.r-hero-lead{
  font-size:var(--t-md); color:var(--c-ink-3); line-height:var(--lh-relax);
  max-width:640px; margin-bottom:var(--sp-8);
}
.r-hero-cta{display:flex; gap:var(--sp-3); flex-wrap:wrap}

/* Buttons */
.r-btn{
  display:inline-flex; align-items:center; gap:var(--sp-2); padding:14px 28px;
  border-radius:var(--r-full); font-family:var(--f-display); font-size:var(--t-base);
  font-weight:var(--fw-sb); letter-spacing:-0.01em; cursor:pointer;
  transition:transform var(--dur-fast) var(--ease-out), box-shadow var(--dur-fast);
  border:1px solid transparent; white-space:nowrap;
}
.r-btn:hover{transform:translateY(-1px)}
.r-btn-primary{background:var(--c-grad); color:#fff; box-shadow:var(--sh-color-l)}
.r-btn-primary:hover{box-shadow:0 16px 44px rgba(0,102,204,.28)}
.r-btn-ghost{background:transparent; color:var(--c-ink); border-color:var(--c-line)}
.r-btn-ghost:hover{border-color:var(--c-ink-3); background:var(--c-bg-alt)}
.r-btn-warm{background:var(--c-grad-warm); color:#fff; box-shadow:0 12px 36px rgba(255,122,69,.22)}
.r-btn-warm:hover{box-shadow:0 16px 44px rgba(255,122,69,.32)}
.r-btn-white{background:#fff; color:var(--c-navy)}
.r-btn-ghost-w{background:transparent; color:#fff; border-color:rgba(255,255,255,.4)}
.r-btn-ghost-w:hover{border-color:#fff; background:rgba(255,255,255,.08)}

/* ══════════════════════════════════════════
   Section: Intro (Entity definition for LLMO)
   ══════════════════════════════════════════ */
.r-intro{display:grid; grid-template-columns:1fr 1.4fr; gap:var(--sp-12); align-items:start}
@media (max-width:860px){.r-intro{grid-template-columns:1fr; gap:var(--sp-7)}}
.r-intro-body p{font-size:var(--t-md); line-height:var(--lh-relax); color:var(--c-ink-2);
  margin:0 0 var(--sp-5)}
.r-intro-body p:last-child{margin-bottom:0}
.r-intro-body strong{color:var(--c-ink); font-weight:var(--fw-sb)}

/* ══════════════════════════════════════════
   Section: Metrics
   ══════════════════════════════════════════ */
.r-metrics{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-5)}
@media (max-width:768px){.r-metrics{grid-template-columns:repeat(2,1fr)}}
.r-metric{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--r-xl);
  padding:var(--sp-7) var(--sp-6); text-align:center;
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base);
}
.r-metric:hover{transform:translateY(-3px); box-shadow:var(--sh-lg)}
.r-metric-num{
  font-family:var(--f-display); font-size:clamp(36px,4.5vw,52px); font-weight:var(--fw-l);
  background:var(--c-grad); -webkit-background-clip:text; -webkit-text-fill-color:transparent;
  background-clip:text; line-height:1; letter-spacing:-0.03em; margin-bottom:var(--sp-3);
}
.r-metric-num small{font-size:0.5em; font-weight:var(--fw-r); margin-left:2px}
.r-metric-label{font-size:var(--t-sm); color:var(--c-ink-3); line-height:1.5}

/* ══════════════════════════════════════════
   Section: AX Themes (4 cards)
   ══════════════════════════════════════════ */
.r-ax-grid{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp-5);
  margin-top:var(--sp-8)}
@media (max-width:768px){.r-ax-grid{grid-template-columns:1fr}}
.r-ax-card{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--r-xl);
  padding:var(--sp-7); position:relative; overflow:hidden;
  transition:transform var(--dur-base) var(--ease-out), border-color var(--dur-base);
}
.r-ax-card:hover{transform:translateY(-3px); border-color:rgba(0,102,204,.3)}
.r-ax-card::before{
  content:''; position:absolute; top:0; left:0; width:4px; height:100%;
  background:var(--c-grad);
}
.r-ax-num{
  font-family:var(--f-display); font-size:var(--t-sm); font-weight:var(--fw-m);
  color:var(--c-indigo); letter-spacing:0.1em; margin-bottom:var(--sp-3);
}
.r-ax-card h3{font-family:var(--f-display); font-size:var(--t-xl); font-weight:var(--fw-sb);
  margin:0 0 var(--sp-3); letter-spacing:-0.01em}
.r-ax-card p{font-size:var(--t-base); color:var(--c-ink-3); line-height:var(--lh-relax); margin:0}

/* ══════════════════════════════════════════
   Section: Job Positions
   ══════════════════════════════════════════ */
.r-jobs{display:grid; grid-template-columns:repeat(2,1fr); gap:var(--sp-5);
  margin-top:var(--sp-8)}
@media (max-width:860px){.r-jobs{grid-template-columns:1fr}}
.r-job-card{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--r-xl);
  padding:var(--sp-7); display:flex; flex-direction:column; gap:var(--sp-4);
  transition:transform var(--dur-base) var(--ease-out), box-shadow var(--dur-base);
}
.r-job-card:hover{transform:translateY(-3px); box-shadow:var(--sh-lg)}
.r-job-tags{display:flex; gap:var(--sp-2); flex-wrap:wrap}
.r-tag{
  display:inline-flex; align-items:center; padding:4px 10px; border-radius:var(--r-full);
  font-family:var(--f-display); font-size:var(--t-xs); font-weight:var(--fw-m);
  letter-spacing:0.02em;
}
.r-tag-ax{background:var(--c-indigo-l); color:var(--c-indigo)}
.r-tag-eng{background:#F0E8FF; color:#5B2FB8}
.r-tag-data{background:#E0F5EA; color:#1F8A4D}
.r-tag-mgr{background:#FFF1E5; color:#B85A14}
.r-job-card h3{margin:0; font-family:var(--f-display); font-size:var(--t-xl);
  font-weight:var(--fw-sb); letter-spacing:-0.01em}
.r-job-card p{margin:0; font-size:var(--t-base); color:var(--c-ink-3);
  line-height:var(--lh-relax); flex:1}
.r-job-meta{display:flex; gap:var(--sp-4); flex-wrap:wrap; padding-top:var(--sp-3);
  border-top:1px dashed var(--c-line); font-size:var(--t-xs); color:var(--c-ink-4)}
.r-job-meta span{display:inline-flex; align-items:center; gap:var(--sp-1)}
.r-job-link{
  display:inline-flex; align-items:center; gap:var(--sp-2); margin-top:var(--sp-2);
  font-family:var(--f-display); font-size:var(--t-base); font-weight:var(--fw-m);
  color:var(--c-indigo); transition:gap var(--dur-fast);
}
.r-job-link:hover{gap:var(--sp-3)}

/* ══════════════════════════════════════════
   Section: Members — Voice Cards (5名)
   ══════════════════════════════════════════ */
.r-members{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-5);
  margin-top:var(--sp-8)}
@media (max-width:960px){.r-members{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.r-members{grid-template-columns:1fr}}
.r-member{
  display:flex; flex-direction:column; gap:var(--sp-4); padding:var(--sp-7) var(--sp-6);
  background:#fff; border:1px solid var(--c-line); border-radius:var(--r-xl);
  transition:transform var(--dur-base) var(--ease-out),
             box-shadow var(--dur-base),
             border-color var(--dur-base);
  position:relative; cursor:pointer;
}
.r-member:hover{transform:translateY(-3px); box-shadow:var(--sh-lg);
  border-color:rgba(0,102,204,.25)}
.r-member-head{display:flex; gap:var(--sp-4); align-items:center}
.r-member-avatar{
  width:56px; height:56px; border-radius:var(--r-full); flex-shrink:0;
  background:var(--c-grad); color:#fff;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--f-display); font-size:22px; font-weight:var(--fw-sb);
}
.r-member-avatar.warm{background:var(--c-grad-warm)}
.r-member-avatar.green{background:linear-gradient(135deg,#34C759 0%,#1F8A4D 100%)}
.r-member-avatar.purple{background:linear-gradient(135deg,#7B3FF2 0%,#5B2FB8 100%)}
.r-member-avatar.amber{background:linear-gradient(135deg,#FB8C00 0%,#B85A14 100%)}
.r-member-meta{flex:1; min-width:0}
.r-member-role{
  font-family:var(--f-display); font-size:var(--t-xs); font-weight:var(--fw-m);
  color:var(--c-indigo); letter-spacing:0.06em; margin-bottom:2px;
}
.r-member-name{font-family:var(--f-display); font-size:var(--t-md); font-weight:var(--fw-sb);
  margin:0; letter-spacing:-0.01em; line-height:1.3}
.r-member-quote{font-size:var(--t-sm); color:var(--c-ink-2); line-height:var(--lh-relax);
  margin:0; flex:1; padding-left:var(--sp-4); border-left:2px solid var(--c-indigo-l)}
.r-member-link{
  display:inline-flex; align-items:center; gap:var(--sp-2);
  font-family:var(--f-display); font-size:var(--t-sm); font-weight:var(--fw-m);
  color:var(--c-indigo); transition:gap var(--dur-fast); margin-top:auto;
}
.r-member:hover .r-member-link{gap:var(--sp-3)}
.r-members-more{text-align:center; margin-top:var(--sp-8)}

/* ══════════════════════════════════════════
   Section: Culture (4 Values)
   ══════════════════════════════════════════ */
.r-values{display:grid; grid-template-columns:repeat(4,1fr); gap:var(--sp-5);
  margin-top:var(--sp-8)}
@media (max-width:860px){.r-values{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.r-values{grid-template-columns:1fr}}
.r-value{
  padding:var(--sp-7) var(--sp-5); text-align:center;
  background:rgba(255,255,255,.04); border:1px solid rgba(255,255,255,.08);
  border-radius:var(--r-xl);
  transition:background var(--dur-base), transform var(--dur-base) var(--ease-out);
}
.r-value:hover{background:rgba(255,255,255,.07); transform:translateY(-3px)}
.r-value-letter{
  font-family:var(--f-display); font-size:48px; font-weight:var(--fw-l);
  background:linear-gradient(135deg,#64B4FF 0%,#B088FF 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  line-height:1; margin-bottom:var(--sp-4);
}
.r-value h3{font-family:var(--f-display); font-size:var(--t-md); font-weight:var(--fw-sb);
  margin:0 0 var(--sp-3); color:#fff; letter-spacing:0.05em}
.r-value p{font-size:var(--t-sm); color:rgba(255,255,255,.7); line-height:var(--lh-relax); margin:0}

/* ══════════════════════════════════════════
   Section: Benefits
   ══════════════════════════════════════════ */
.r-benefits{display:grid; grid-template-columns:repeat(3,1fr); gap:var(--sp-4);
  margin-top:var(--sp-8)}
@media (max-width:860px){.r-benefits{grid-template-columns:repeat(2,1fr)}}
@media (max-width:540px){.r-benefits{grid-template-columns:1fr}}
.r-benefit{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--r-lg);
  padding:var(--sp-5) var(--sp-6); display:flex; gap:var(--sp-4); align-items:center;
}
.r-benefit-icon{
  width:40px; height:40px; flex-shrink:0; border-radius:var(--r-md);
  background:var(--c-indigo-l); color:var(--c-indigo);
  display:flex; align-items:center; justify-content:center; font-size:20px;
}
.r-benefit-text{font-size:var(--t-sm); color:var(--c-ink-2); line-height:1.5}
.r-benefit-text strong{display:block; color:var(--c-ink); font-weight:var(--fw-sb);
  font-size:var(--t-base); margin-bottom:2px}

/* ══════════════════════════════════════════
   Section: Casual Interview
   ══════════════════════════════════════════ */
.r-casual{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--r-2xl);
  padding:var(--sp-12); text-align:center; max-width:880px; margin:0 auto;
  position:relative; overflow:hidden;
}
.r-casual::before{
  content:''; position:absolute; top:-30%; right:-10%; width:300px; height:300px;
  border-radius:50%; background:radial-gradient(circle,rgba(255,122,69,.12) 0%,transparent 70%);
  pointer-events:none;
}
.r-casual::after{
  content:''; position:absolute; bottom:-30%; left:-10%; width:280px; height:280px;
  border-radius:50%; background:radial-gradient(circle,rgba(0,102,204,.1) 0%,transparent 70%);
  pointer-events:none;
}
.r-casual > *{position:relative; z-index:1}
.r-casual h2{font-family:var(--f-display); font-size:clamp(24px,3vw,36px);
  font-weight:var(--fw-l); letter-spacing:-0.02em; margin:0 0 var(--sp-5)}
.r-casual h2 em{font-style:normal; background:var(--c-grad-warm);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  font-weight:var(--fw-r)}
.r-casual p{font-size:var(--t-base); color:var(--c-ink-3); line-height:var(--lh-relax);
  max-width:560px; margin:0 auto var(--sp-7)}
.r-casual-tags{display:flex; gap:var(--sp-2); justify-content:center; flex-wrap:wrap;
  margin-bottom:var(--sp-8)}
.r-casual-tag{
  background:var(--c-bg-alt); border:1px solid var(--c-line); border-radius:var(--r-full);
  padding:6px 14px; font-family:var(--f-display); font-size:var(--t-xs); color:var(--c-ink-2);
  font-weight:var(--fw-m);
}

/* ══════════════════════════════════════════
   Section: FAQ
   ══════════════════════════════════════════ */
.r-faq{max-width:820px; margin:var(--sp-8) auto 0}
.r-faq-item{
  background:#fff; border:1px solid var(--c-line); border-radius:var(--r-lg);
  margin-bottom:var(--sp-3); overflow:hidden;
  transition:border-color var(--dur-fast);
}
.r-faq-item:hover{border-color:var(--c-ink-4)}
.r-faq-q{
  padding:var(--sp-5) var(--sp-6); cursor:pointer; display:flex; align-items:center;
  gap:var(--sp-4); font-family:var(--f-display); font-size:var(--t-md); font-weight:var(--fw-m);
  color:var(--c-ink); letter-spacing:-0.01em;
}
.r-faq-q::before{
  content:'Q'; flex-shrink:0; width:28px; height:28px; border-radius:var(--r-full);
  background:var(--c-indigo-l); color:var(--c-indigo);
  display:flex; align-items:center; justify-content:center; font-size:var(--t-sm);
  font-weight:var(--fw-sb);
}
.r-faq-icon{margin-left:auto; flex-shrink:0; transition:transform var(--dur-base) var(--ease-apple)}
.r-faq-item.open .r-faq-icon{transform:rotate(45deg)}
.r-faq-a{max-height:0; overflow:hidden; transition:max-height var(--dur-base) var(--ease-apple)}
.r-faq-item.open .r-faq-a{max-height:500px}
.r-faq-a-inner{padding:0 var(--sp-6) var(--sp-6) 60px; font-size:var(--t-base);
  color:var(--c-ink-3); line-height:var(--lh-relax)}

/* ══════════════════════════════════════════
   Final CTA
   ══════════════════════════════════════════ */
.r-cta{
  background:var(--c-navy); color:#fff; padding:var(--py-section) 0;
  position:relative; overflow:hidden; text-align:center;
}
.r-cta::before{
  content:''; position:absolute; top:-40%; left:-10%; width:60vw; height:60vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(0,102,204,.3) 0%,transparent 60%);
}
.r-cta::after{
  content:''; position:absolute; bottom:-40%; right:-10%; width:50vw; height:50vw;
  border-radius:50%;
  background:radial-gradient(circle,rgba(123,63,242,.25) 0%,transparent 60%);
}
.r-cta-inner{position:relative; max-width:720px; margin:0 auto; padding:0 var(--sp-6)}
.r-cta h2{font-family:var(--f-display); font-size:clamp(28px,4vw,48px);
  font-weight:var(--fw-l); line-height:1.2; letter-spacing:-0.02em; color:#fff;
  margin:0 0 var(--sp-5)}
.r-cta h2 em{font-style:normal; background:linear-gradient(135deg,#64B4FF 0%,#B088FF 100%);
  -webkit-background-clip:text; -webkit-text-fill-color:transparent; background-clip:text;
  font-weight:var(--fw-r)}
.r-cta-sub{font-size:var(--t-md); color:rgba(255,255,255,.72); max-width:560px;
  margin:0 auto var(--sp-8); line-height:var(--lh-relax)}
.r-cta-btns{display:flex; gap:var(--sp-3); justify-content:center; flex-wrap:wrap}

/* Reveal animation */
.reveal{opacity:0; transform:translateY(20px);
  transition:opacity var(--dur-reveal) var(--ease-apple), transform var(--dur-reveal) var(--ease-apple)}
.reveal.in{opacity:1; transform:translateY(0)}
.d1{transition-delay:80ms} .d2{transition-delay:160ms} .d3{transition-delay:240ms} .d4{transition-delay:320ms}

/* WordPress固有の旧スタイル干渉を打ち消す */
#contents .recruit-page h1,
#contents .recruit-page h2,
#contents .recruit-page h3{padding:0; background:none}
