/* recruit — 旧サイトの <style> をそのまま移したもの */
  :root{
    --paper:#F6F4EE;--paper-2:#FBFAF6;--card:#FFFFFF;
    --ink:#1B2723;--ink-soft:#4C5A54;--line:#E3DFD3;
    --pine:#20463B;--pine-deep:#152722;--sage:#6E8C7D;--sage-soft:#E7EDE8;
    --honey:#C97A34;--honey-soft:#F4E5D2;--forest:#1C3D33;--forest-deep:#13241F;
    --shadow:0 1px 2px rgba(21,39,34,.05),0 12px 32px -18px rgba(21,39,34,.35);
    --shadow-lg:0 24px 60px -30px rgba(21,39,34,.55);--radius:18px;
    --serif:"Yu Mincho","YuMincho","Hiragino Mincho ProN","Hiragino Mincho Pro","Noto Serif JP",serif;
    --sans:"Hiragino Kaku Gothic ProN","Hiragino Sans","Yu Gothic","YuGothic","Noto Sans JP",Meiryo,system-ui,sans-serif;
  }
  @media (prefers-color-scheme:dark){:root{
    --paper:#141A18;--paper-2:#182320;--card:#1C2723;--ink:#ECEFEA;--ink-soft:#A9B6AF;--line:#2C3A34;
    --pine:#8CC0AB;--pine-deep:#B9E0CF;--sage:#7CA593;--sage-soft:#22322C;--honey:#E2A462;--honey-soft:#33281B;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 34px -20px rgba(0,0,0,.7);--shadow-lg:0 26px 66px -32px rgba(0,0,0,.85);}}
  :root[data-theme="dark"]{--paper:#141A18;--paper-2:#182320;--card:#1C2723;--ink:#ECEFEA;--ink-soft:#A9B6AF;--line:#2C3A34;
    --pine:#8CC0AB;--pine-deep:#B9E0CF;--sage:#7CA593;--sage-soft:#22322C;--honey:#E2A462;--honey-soft:#33281B;
    --shadow:0 1px 2px rgba(0,0,0,.3),0 14px 34px -20px rgba(0,0,0,.7);--shadow-lg:0 26px 66px -32px rgba(0,0,0,.85);}
  :root[data-theme="light"]{--paper:#F6F4EE;--paper-2:#FBFAF6;--card:#FFFFFF;--ink:#1B2723;--ink-soft:#4C5A54;--line:#E3DFD3;
    --pine:#20463B;--pine-deep:#152722;--sage:#6E8C7D;--sage-soft:#E7EDE8;--honey:#C97A34;--honey-soft:#F4E5D2;
    --shadow:0 1px 2px rgba(21,39,34,.05),0 12px 32px -18px rgba(21,39,34,.35);--shadow-lg:0 24px 60px -30px rgba(21,39,34,.55);}

  *{box-sizing:border-box}html{scroll-behavior:smooth}
  body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans);line-height:1.8;font-size:15.5px;
    -webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow-x:hidden}
  @media(min-width:600px){body{font-size:16px;line-height:1.85}}
  .wrap{max-width:1080px;margin:0 auto;padding:0 18px}
  @media(min-width:600px){.wrap{padding:0 24px}}
  .narrow{max-width:760px}
  h1,h2,h3,h4{font-family:var(--serif);font-weight:600;line-height:1.4;text-wrap:balance;letter-spacing:.01em;margin:0}
  p{margin:0}a{color:inherit;text-decoration:none}
  .eyebrow{font-size:.72rem;letter-spacing:.24em;text-transform:uppercase;color:var(--sage);font-weight:700;margin:0 0 14px}
  .btn{display:inline-flex;align-items:center;gap:.5em;border:none;cursor:pointer;font-family:var(--sans);font-weight:700;font-size:1rem;
    padding:15px 28px;border-radius:999px;line-height:1;transition:transform .18s ease,box-shadow .18s ease,background .18s}
  .btn-primary{background:var(--honey);color:#fff}
  :root[data-theme="dark"] .btn-primary{color:#241708}
  @media (prefers-color-scheme:dark){.btn-primary{color:#241708}}
  :root[data-theme="light"] .btn-primary{color:#fff}
  .btn-primary:hover{transform:translateY(-2px);box-shadow:0 14px 30px -12px rgba(201,122,52,.6)}
  .btn-ghost{background:transparent;color:var(--pine);border:1.5px solid var(--line)}
  .btn-ghost:hover{background:var(--sage-soft);transform:translateY(-2px)}
  .btn-lg{padding:16px 30px}
  @media(min-width:600px){.btn-lg{padding:18px 40px;font-size:1.05rem}}
  .btn-light{background:#fff;color:var(--pine)}
  .btn-light:hover{transform:translateY(-2px);box-shadow:0 14px 34px -14px rgba(0,0,0,.4)}

  header.topbar{position:sticky;top:0;z-index:50;background:color-mix(in srgb,var(--paper) 86%,transparent);
    backdrop-filter:blur(12px);border-bottom:1px solid var(--line)}
  .topbar .wrap{display:flex;align-items:center;justify-content:space-between;height:66px}
  .brand{display:inline-flex;flex-direction:column;align-items:flex-start;line-height:1;color:var(--pine)}
  .lockup{font-family:var(--serif);display:inline-flex;align-items:baseline}
  .lockup .l-b,.lockup .l-w{font-size:1.5rem;font-weight:600}
  .lockup .l-b{transform:translateY(-.05em)}.lockup .l-w{transform:translateY(.06em)}
  .lockup .l-to{font-size:.58rem;font-weight:500;margin:0 .12em}
  .lockup-sub{font-family:var(--serif);font-size:.48rem;letter-spacing:.4em;margin-top:3px;opacity:.72}
  .topbar-actions{display:flex;align-items:center;gap:12px}
  .theme-toggle{background:transparent;border:1px solid var(--line);color:var(--ink-soft);width:36px;height:36px;
    border-radius:50%;cursor:pointer;font-size:.95rem;display:grid;place-items:center;transition:background .2s,transform .2s}
  .theme-toggle:hover{background:var(--sage-soft);transform:rotate(15deg)}
  .nav-cta{font-size:.86rem;padding:10px 18px;display:none}
  @media(min-width:600px){.nav-cta{display:inline-flex}}

  /* hero */
  .hero{position:relative;overflow:hidden;padding:clamp(56px,9vw,110px) 0 clamp(48px,7vw,88px)}
  .hero-grain{position:absolute;inset:0;pointer-events:none;opacity:.6;z-index:0}
  .hero .wrap{position:relative;z-index:1}
  .hero .eyebrow{color:var(--honey)}
  .hero h1{font-size:clamp(2rem,5.2vw,3.6rem);margin:0 0 20px;line-height:1.28}
  .hero h1 .hl{color:var(--honey);position:relative;white-space:nowrap}
  .hero h1 .hl::after{content:"";position:absolute;left:0;right:0;bottom:.06em;height:.16em;background:var(--honey-soft);z-index:-1;border-radius:2px}
  .hero-lead{font-size:clamp(1.02rem,2.2vw,1.18rem);color:var(--ink-soft);max-width:33em;margin:0 0 30px}
  .hero-cta{display:flex;gap:12px;flex-wrap:wrap}
  .hero-cta .btn{flex:1 1 auto;justify-content:center}
  @media(min-width:560px){.hero-cta .btn{flex:0 0 auto}}
  .hero-tags{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px}
  .hero-tags span{font-size:.8rem;background:var(--card);border:1px solid var(--line);color:var(--pine);padding:8px 15px;border-radius:999px;box-shadow:var(--shadow)}

  section{padding:clamp(54px,8vw,96px) 0}
  .alt{background:var(--paper-2)}
  .sec-head{max-width:660px;margin:0 auto clamp(32px,5vw,52px);text-align:center}
  .sec-head h2{font-size:clamp(1.6rem,3.6vw,2.4rem);margin:0 0 14px}
  .sec-head p{color:var(--ink-soft);font-size:1.02rem}

  /* feelings */
  .feel-grid{display:grid;grid-template-columns:1fr;gap:14px;max-width:860px;margin:0 auto}
  @media(min-width:680px){.feel-grid{grid-template-columns:repeat(2,1fr)}}
  .feel{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:22px 24px;box-shadow:var(--shadow);position:relative}
  .feel::before{content:"”";position:absolute;top:2px;right:16px;font-family:var(--serif);font-size:2.6rem;color:var(--sage-soft);line-height:1}
  .feel p{font-size:.98rem;line-height:1.75;position:relative}
  .feel-turn{text-align:center;margin-top:38px;font-family:var(--serif);font-size:clamp(1.2rem,2.8vw,1.7rem);color:var(--ink)}
  .feel-turn .hl{color:var(--honey)}

  /* work / role */
  .work{display:grid;grid-template-columns:1fr;gap:30px;align-items:center}
  @media(min-width:840px){.work{grid-template-columns:1fr 1fr;gap:52px}}
  .work-copy .lead{font-family:var(--serif);font-size:clamp(1.15rem,2.4vw,1.55rem);color:var(--ink);margin-bottom:16px;line-height:1.6}
  .work-copy p{color:var(--ink-soft);margin-bottom:14px}
  .work-list{display:grid;gap:12px;margin-top:8px}
  .work-list li{list-style:none;background:var(--card);border:1px solid var(--line);border-left:3px solid var(--sage);border-radius:12px;
    padding:14px 18px;font-size:.94rem}
  .work-list li b{color:var(--pine);font-family:var(--serif)}
  .work-card{background:var(--forest);color:#EAF2ED;border-radius:22px;padding:clamp(28px,4vw,40px);box-shadow:var(--shadow-lg)}
  .work-card h3{color:#fff;font-size:1.3rem;margin-bottom:16px}
  .work-card p{color:#CBE0D5;font-size:.96rem;margin-bottom:16px}
  .work-card .pt{display:flex;gap:12px;padding:12px 0;border-top:1px solid rgba(183,216,199,.22);align-items:baseline}
  .work-card .pt b{color:#fff;font-family:var(--serif);flex:none;min-width:88px}
  .work-card .pt span{color:#CBE0D5;font-size:.9rem}

  /* reasons */
  .reason-grid{display:grid;grid-template-columns:1fr;gap:16px}
  @media(min-width:600px){.reason-grid{grid-template-columns:repeat(2,1fr)}}
  @media(min-width:940px){.reason-grid{grid-template-columns:repeat(3,1fr)}}
  .reason{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:26px 24px;box-shadow:var(--shadow);transition:transform .2s,box-shadow .2s}
  .reason:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
  .reason .ic{width:46px;height:46px;border-radius:12px;background:var(--sage-soft);display:grid;place-items:center;font-size:1.4rem;margin-bottom:14px}
  .reason .rn{font-family:var(--serif);font-size:.8rem;color:var(--honey);letter-spacing:.1em;margin-bottom:6px}
  .reason h3{font-size:1.12rem;margin-bottom:8px}
  .reason p{font-size:.9rem;color:var(--ink-soft)}

  /* founder message */
  .fmsg{display:grid;grid-template-columns:1fr;gap:36px;align-items:center}
  @media(min-width:820px){.fmsg{grid-template-columns:.8fr 1.2fr;gap:56px}}
  .fmsg-photo{position:relative;isolation:isolate;max-width:400px;margin:0 auto;width:100%}
  .fmsg-photo img{width:100%;height:auto;border-radius:22px;display:block;position:relative;z-index:1;box-shadow:var(--shadow-lg);background:#fff}
  .fmsg-photo::after{content:"";position:absolute;right:-14px;bottom:-14px;width:62%;height:62%;border:2px solid var(--honey);border-radius:22px;z-index:0}
  .fmsg-photo .badge{position:absolute;left:16px;bottom:16px;z-index:2;background:var(--forest);color:#EAF2ED;font-size:.72rem;font-weight:600;padding:8px 14px;border-radius:999px}
  .fmsg-body .eyebrow{color:var(--honey)}
  .fmsg-body h2{font-size:clamp(1.5rem,3.2vw,2.2rem);margin-bottom:22px;line-height:1.45}
  .fmsg-body p{color:var(--ink-soft);margin-bottom:16px;max-width:34em}
  .fmsg-body .big{font-family:var(--serif);font-size:clamp(1.2rem,2.6vw,1.6rem);color:var(--ink);margin-bottom:18px;line-height:1.6}
  .fmsg-sign{margin-top:22px;padding-left:16px;border-left:3px solid var(--sage)}
  .fmsg-sign b{font-family:var(--serif);font-size:1.3rem;color:var(--pine);display:block}
  .fmsg-sign span{font-size:.85rem;color:var(--ink-soft)}

  /* who */
  .who{max-width:760px;margin:0 auto;background:var(--card);border:1px solid var(--line);border-radius:20px;padding:clamp(28px,4vw,40px);box-shadow:var(--shadow)}
  .who ul{list-style:none;padding:0;margin:0;display:grid;gap:14px}
  .who li{display:flex;gap:14px;align-items:flex-start;font-size:1rem}
  .who li .ck{color:var(--honey);font-weight:700;flex:none;margin-top:2px;font-size:1.1rem}
  .who-note{margin-top:22px;padding-top:20px;border-top:1px solid var(--line);font-size:.92rem;color:var(--ink-soft);text-align:center}
  .who-note b{color:var(--pine)}

  /* overview table */
  .ov{max-width:760px;margin:0 auto}
  .ov dl{display:grid;gap:0;border-top:1px solid var(--line)}
  .ov dl>div{display:grid;grid-template-columns:1fr;gap:2px;padding:16px 4px;border-bottom:1px solid var(--line)}
  @media(min-width:560px){.ov dl>div{grid-template-columns:150px 1fr;gap:20px;align-items:baseline}}
  .ov dt{font-family:var(--serif);font-size:.92rem;color:var(--pine);font-weight:600;margin:0}
  .ov dd{margin:0;color:var(--ink-soft);font-size:.94rem}
  .ov-note{font-size:.8rem;color:var(--ink-soft);margin-top:16px;text-align:center}

  /* faq */
  .faq{max-width:760px;margin:0 auto;display:grid;gap:12px}
  .faq details{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:4px 20px;box-shadow:var(--shadow)}
  .faq summary{cursor:pointer;list-style:none;padding:16px 0;font-weight:600;font-size:.98rem;display:flex;gap:12px;align-items:center}
  .faq summary::-webkit-details-marker{display:none}
  .faq summary::before{content:"Q";font-family:var(--serif);color:var(--honey);font-weight:700;flex:none}
  .faq summary::after{content:"＋";margin-left:auto;color:var(--sage);font-weight:400}
  .faq details[open] summary::after{content:"−"}
  .faq .a{padding:0 0 18px 26px;color:var(--ink-soft);font-size:.92rem}

  /* entry / final */
  .entry{background:var(--forest);color:#EAF2ED;border-radius:28px;padding:clamp(40px,6vw,64px) 26px;box-shadow:var(--shadow-lg)}
  .entry-head{text-align:center;max-width:36em;margin:0 auto 30px}
  .entry .badge{display:inline-block;font-size:.74rem;letter-spacing:.2em;text-transform:uppercase;color:#B7D8C7;border:1px solid rgba(183,216,199,.4);padding:7px 16px;border-radius:999px;margin-bottom:20px;font-weight:700}
  .entry h2{color:#fff;font-size:clamp(1.6rem,3.6vw,2.3rem);margin:0 0 14px}
  .entry-head p{color:#CBE0D5}
  form.eform{max-width:560px;margin:0 auto;display:grid;gap:14px}
  .field{display:grid;gap:6px}
  .field label{font-size:.82rem;font-weight:600;color:#CBE0D5}
  .field label .req{font-size:.6rem;color:#241708;background:var(--honey);padding:1px 7px;border-radius:5px;margin-left:6px;font-weight:700}
  .field input,.field textarea{font-family:var(--sans);font-size:.95rem;padding:12px 14px;border:1.5px solid rgba(183,216,199,.3);
    border-radius:11px;background:rgba(255,255,255,.06);color:#fff;transition:border-color .15s}
  .field input::placeholder,.field textarea::placeholder{color:#8FB0A2}
  .field input:focus,.field textarea:focus{outline:none;border-color:var(--honey)}
  .field textarea{resize:vertical;min-height:92px}
  .eform .btn{justify-content:center}
  .fnote{font-size:.76rem;color:#9EBBAC;text-align:center}
  .toast{display:none;background:rgba(255,255,255,.12);color:#fff;border-radius:11px;padding:12px 14px;font-size:.88rem;font-weight:600}
  .toast.show{display:block}
  .toast.err{background:rgba(224,134,114,.2);color:#F2C2B6}

  footer{background:var(--forest-deep);color:#CBE0D5;padding:40px 0 36px;margin-top:0}
  footer .wrap{display:flex;justify-content:space-between;flex-wrap:wrap;gap:16px;align-items:center}
  footer .brand{color:#fff}
  footer p{font-size:.82rem;color:#9EBBAC}
  footer a.home{font-size:.86rem;color:#CBE0D5;border:1px solid rgba(183,216,199,.35);padding:9px 18px;border-radius:999px}
  footer a.home:hover{color:#fff;background:rgba(255,255,255,.08)}

  .reveal{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
  .reveal.in{opacity:1;transform:none}
  @media (prefers-reduced-motion:reduce){*{animation-duration:.001ms!important;transition-duration:.001ms!important}.reveal{opacity:1;transform:none}}
