/* ==========================================================================
   benefits/index.html 専用スタイル
   もとは同ページの <style> 直書き + 各要素の style="" だったものを、
   表示結果を変えずにこちらへ移設しています（2026-09-08更新）。
   ・body.pageBg でスコープしているため、他ページ(site.css既定値)には影響しません。
   ・ben-xxx-N は元の style="" の中身をそのままクラス化したものです。
   ========================================================================== */

/* ---- このページ固有のキーフレーム・クラス（元<style>ブロックより／9-8のページ遷移モーション刷新を含む） ---- */
@keyframes revealFadeup{0%{opacity:0;transform:translateY(24px)}100%{opacity:1;transform:translateY(0)}}
@keyframes heroKenburns{0%{transform:scale(1.01)}100%{transform:scale(1.06)}}
@keyframes sheenv{0%{transform:translateX(-120%)}18%{transform:translateX(70%)}52%{transform:translateX(220%)}100%{transform:translateX(220%)}}
@keyframes marq{0%{transform:translateX(0)}100%{transform:translateX(-50%)}}
@keyframes veilout{to{opacity:0;visibility:hidden}}
@keyframes pgin{0%{opacity:0;transform:translateY(18px)}100%{opacity:1;transform:translateY(0)}}
.marq-track{display:flex;width:max-content;animation:marq 24s linear infinite}
#pt-veil{position:fixed;inset:0;background:radial-gradient(120% 100% at 50% 28%,#14285f 0%,#0a1738 62%);z-index:99999;opacity:1;pointer-events:none;transition:opacity .5s cubic-bezier(.4,0,.2,1);animation:veilout .6s cubic-bezier(.4,0,.2,1) .05s both}
#scroll-content{animation:pgin .75s cubic-bezier(.2,.7,.2,1) .08s backwards}
.pg-shell.pg-out{transition:opacity .4s ease;opacity:0}.pg-shell.pg-out #scroll-content{transition:translate .4s ease;translate:0 -12px}
@media (prefers-reduced-motion:reduce){.marq-track{animation:none}#pt-veil{display:none}#scroll-content{animation:none}.pg-shell.pg-out{transition:none;opacity:1}.pg-shell.pg-out #scroll-content{transition:none;translate:none}}

/* もとの <style> ブロックのページ固有上書き分
   （site.css の既定はブレークポイント1023px / gnavの余白が別値のため、
    このページだけ従来どおり1400px・別余白で動くよう明示的に上書きする） */
body.pageBg { margin: 0; background: #eeebe4; font-family: 'Noto Sans JP', system-ui, sans-serif; }
body.pageBg .pc-view { display: block; width: 100%; }
body.pageBg .sp-view { display: none; width: 100%; }
@media (max-width: 1400px) {
  body.pageBg .pc-view { display: none; }
  body.pageBg .sp-view { display: block; }
}
body.pageBg .gnav a { white-space: nowrap; }
body.pageBg .gnav > div { gap: 20px !important; }
body.pageBg .gnav > div[data-gnav-toggle] { gap: 5px !important; }
body.pageBg .gnav > div > div { gap: 18px !important; }
@media (max-width: 1400px) {
  body.pageBg .gnav { padding-left: 32px !important; padding-right: 32px !important; }
}

/* ---- 以下、各要素の style="" を1:1でクラス化したもの ---- */
.ben-top-1{display:none;visibility:hidden}
.ben-top-2{background:#faf7f1}
.ben-top-3{height:84px;display:flex;align-items:center;justify-content:space-between;padding:0 52px;box-sizing:border-box}
.ben-top-4{display:flex;align-items:center;gap:14px;text-decoration:none}
.ben-top-5{height:20px;width:auto;display:block;filter:brightness(0) invert(1)}
.ben-top-6{width:1px;height:22px;background:rgba(255,255,255,.22);flex:none}
.ben-top-7{font-size: 12px; font-weight: 400; letter-spacing: .14em; color: #8fe0f4; white-space: nowrap; font-family: Noto Sans JP}
.ben-top-8{display:flex;align-items:center;gap:34px}
.ben-top-9{display:flex;gap:28px;font-size:14px;font-weight:400;color:rgba(255,255,255,.85)}
.ben-top-10{text-decoration:none}
.ben-top-11{display:inline-flex;align-items:center;gap:6px;font-size:11px;font-weight:500;letter-spacing:.04em;color:rgba(255,255,255,.82);text-decoration:none;border:1px solid rgba(255,255,255,.42);border-radius:999px;padding:8px 15px;line-height:1;white-space:nowrap}
.ben-top-12{flex:none}
.ben-top-13{position:relative;overflow:hidden;font-weight:700;font-size:13px;color:#2b1d05;background:linear-gradient(120deg,#f07f13 0%,#ffa62e 55%,#ffc964 100%);padding:12px 24px;border-radius:999px;text-decoration:none}
.ben-top-14{position:absolute;top:0;bottom:0;left:0;width:45%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.55),transparent);animation:sheenv 3.6s linear infinite}
.ben-top-15{width:100%;background:#faf7f1;overflow:hidden}
.ben-hero-1{position:relative;width:100%;height:520px;overflow:hidden;background:#0a1738}
.ben-hero-2{position:absolute;inset:0;background:url('../img/hero_positions.jpg') 30% 62%/cover no-repeat;animation:heroKenburns 20s linear both}
.ben-hero-3{position:absolute;inset:0;background:linear-gradient(105deg,rgba(6,15,40,.93) 0%,rgba(6,15,40,.72) 42%,rgba(6,15,40,.44) 70%,rgba(6,15,40,.68) 100%)}
.ben-hero-4{position:absolute;left:52px;right:52px;bottom:60px;z-index:6;animation:revealFadeup .9s ease both}
.ben-hero-5{font-weight:600;font-size:13px;letter-spacing:.24em;color:#8fe0f4;margin-bottom:20px}
.ben-hero-6{margin:0;font-weight:500;font-size:64px;line-height:1.34;color:#fff;letter-spacing:.01em;text-shadow:0 2px 30px rgba(0,0,0,.4)}
.ben-hero-7{margin:26px 0 0;max-width:720px;font-size:16px;line-height:2;font-weight:300;color:rgba(255,255,255,.85)}
.ben-crumb-1{background:#faf7f1;padding:34px 96px 0;box-sizing:border-box}
.ben-crumb-2{max-width:1170px;margin:0 auto;display:flex;gap:10px;align-items:center}
.ben-crumb-3{font-size:12.5px;color:#5f6878;text-decoration:none}
.ben-crumb-4{font-size:12.5px;color:#c2c8d2}
.ben-crumb-5{font-size:12.5px;color:#3a475f;font-weight:700}
.ben-sec01-1{background:#faf7f1;padding:56px 96px 0;box-sizing:border-box}
.ben-sec01-2{max-width:1170px;margin:0 auto}
.ben-sec01-3{margin-bottom:36px}
.ben-sec01-4{font-weight:600;font-size:12px;letter-spacing:.26em;color:#17629f;margin-bottom:14px}
.ben-sec01-5{margin:0;font-weight:700;font-size:32px;line-height:1.45;color:#0f1e3d}
.ben-sec01-6{margin:16px 0 0;font-size:14.5px;line-height:2;color:#3a475f}
.ben-sec01-7{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.ben-sec01-8{background:#fff;border:1px solid rgba(15,30,61,.09);border-radius:16px;padding:32px 30px;box-shadow:0 12px 30px rgba(15,30,61,.05)}
.ben-sec01-9{font-weight:700;font-size:19px;color:#0f1e3d}
.ben-sec01-10{margin-top:14px;font-size:14px;line-height:2;color:#3a475f}
.ben-sec02-1{background:#faf7f1;padding:72px 96px 0;box-sizing:border-box}
.ben-sec02-2{display:grid;grid-template-columns:repeat(2,1fr);row-gap:0;column-gap:44px}
.ben-sec02-3{display: grid; grid-template-columns: 180px 1fr; gap: 24px; padding: 20px 4px; align-items: center; border-top: 1px solid rgba(15,30,61,.12)}
.ben-sec02-4{font-weight: 700; font-size: 15px; color: #0f1e3d; display: block; align-items: stretch; justify-content: flex-start}
.ben-sec02-5{font-size:14px;line-height:1.95;color:#3a475f}
.ben-sec03-1{position:relative;background:#0a1738;padding:88px 96px;box-sizing:border-box;margin-top:88px;overflow:hidden}
.ben-sec03-2{position:absolute;inset:0;background:radial-gradient(1200px 400px at 15% 0%,rgba(28,116,196,.35),transparent 70%)}
.ben-sec03-3{position:relative;max-width:1170px;margin:0 auto}
.ben-sec03-4{margin-bottom:44px}
.ben-sec03-5{font-weight:600;font-size:12px;letter-spacing:.26em;color:#57c9eb;margin-bottom:14px}
.ben-sec03-6{margin:0;font-weight:700;font-size:32px;line-height:1.45;color:#fff}
.ben-sec03-7{margin:16px 0 0;font-size:14.5px;line-height:2;color:rgba(255,255,255,.7)}
.ben-sec03-8{display:grid;grid-template-columns:repeat(4,1fr);row-gap:24px;column-gap:32px}
.ben-sec03-9{padding:0}
.ben-sec03-10{font-weight:700;font-size:16px;color:#fff}
.ben-sec03-11{margin-top:12px;font-size:13px;line-height:1.9;color:rgba(255,255,255,.66)}
.ben-sec04-1{background:#faf7f1;padding:88px 96px 96px;box-sizing:border-box}
.ben-sec04-2{display:grid;grid-template-columns:repeat(2,1fr);gap:20px}
.ben-cta-1{position:relative;background:#081128;padding:92px 96px 88px;box-sizing:border-box;overflow:hidden}
.ben-cta-2{position:absolute;inset:0;background:url('../img/photo_meeting.jpg') center/cover no-repeat;opacity:.26}
.ben-cta-3{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,17,40,.86),rgba(8,17,40,.94))}
.ben-cta-4{position:relative;max-width:1170px;margin:0 auto;text-align:center}
.ben-cta-5{font-weight:600;font-size:13px;letter-spacing:.24em;color:#8fe0f4;margin-bottom:22px}
.ben-cta-6{margin:0;font-weight:500;font-size:44px;line-height:1.45;color:#fff}
.ben-cta-7{display:flex;justify-content:center;gap:14px;margin-top:40px;flex-wrap:wrap}
.ben-cta-8{position:relative;overflow:hidden;display:inline-flex;align-items:center;gap:10px;font-weight:700;font-size:15px;color:#2b1d05;background:linear-gradient(120deg,#f07f13 0%,#ffa62e 55%,#ffc964 100%);padding:16px 36px;border-radius:999px;text-decoration:none}
.ben-cta-9{display:inline-flex;align-items:center;gap:8px;font-weight:600;font-size:15px;color:#fff;border:1.5px solid rgba(255,255,255,.5);padding:15px 28px;border-radius:999px;text-decoration:none}
.ben-footer-1{background:#050b1c;overflow:hidden;padding:64px 0 8px}
.ben-footer-2{white-space:nowrap;font-weight:700;font-size:88px;line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1.5px rgba(143,224,244,.4)}
.ben-footer-3{background:#050b1c;padding:56px 96px 40px;box-sizing:border-box}
.ben-footer-4{max-width:1170px;margin:0 auto;display:flex;justify-content:space-between;align-items:flex-start;gap:48px;flex-wrap:wrap}
.ben-footer-5{height:20px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.9}
.ben-footer-6{display:flex;gap:64px;flex-wrap:wrap}
.ben-footer-7{display:flex;flex-direction:column;gap:12px}
.ben-footer-8{font-size:11px;letter-spacing:.2em;color:rgba(255,255,255,.4)}
.ben-footer-9{font-size:13.5px;color:rgba(255,255,255,.78);text-decoration:none}
.ben-footer-10{max-width:1170px;margin:40px auto 0;padding-top:22px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.ben-footer-11{font-size:11px;color:rgba(255,255,255,.4);letter-spacing:.06em}
.ben-footer-12{width:1px}
.ben-footerSp-1{position:relative;width:100%;height:470px;overflow:hidden;background:#0a1738}
.ben-footerSp-2{position:absolute;inset:0;background:url('../img/hero_positions.jpg') 36% 60%/cover no-repeat;animation:heroKenburns 20s linear both}
.ben-footerSp-3{position:absolute;inset:0;background:linear-gradient(175deg,rgba(6,15,40,.72) 0%,rgba(6,15,40,.44) 30%,rgba(6,15,40,.88) 100%)}
.ben-footerSp-4{position:absolute;inset:0;z-index:6}
.ben-footerSp-5{position:absolute;top:12px;left:22px;right:22px;height:52px;display:flex;align-items:center;justify-content:space-between}
.ben-footerSp-6{height:15px;width:auto;display:block;filter:brightness(0) invert(1)}
.ben-footerSp-7{width:1px;height:16px;background:rgba(255,255,255,.22);flex:none}
.ben-footerSp-8{font-size:10px;font-weight:600;letter-spacing:.14em;color:#8fe0f4;white-space:nowrap}
.ben-footerSp-9{display:flex;flex-direction:column;gap:5px;padding:6px 2px}
.ben-footerSp-10{display:block;width:24px;height:2px;background:#fff;border-radius:2px}
.ben-footerSp-11{position:absolute;left:24px;right:24px;bottom:40px}
.ben-footerSp-12{font-weight:600;font-size:11px;letter-spacing:.22em;color:#8fe0f4;margin-bottom:14px}
.ben-footerSp-13{margin:0;font-weight:900;font-size:32px;line-height:1.42;color:#fff}
.ben-footerSp-14{margin:16px 0 0;font-size:13.5px;line-height:1.95;font-weight:400;color:rgba(255,255,255,.85)}
.ben-footerSp-15{background:#faf7f1;padding:28px 22px 40px;box-sizing:border-box}
.ben-footerSp-16{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-bottom:26px}
.ben-footerSp-17{font-size:11.5px;color:#5f6878;text-decoration:none}
.ben-footerSp-18{font-size:11.5px;color:#c2c8d2}
.ben-footerSp-19{font-size:11.5px;color:#3a475f;font-weight:700}
.ben-footerSp-20{font-weight:600;font-size:11px;letter-spacing:.22em;color:#17629f;margin-bottom:10px}
.ben-footerSp-21{margin:0 0 12px;font-weight:700;font-size:21px;line-height:1.5;color:#0f1e3d}
.ben-footerSp-22{margin:0 0 22px;font-size:13.5px;line-height:1.95;color:#3a475f}
.ben-footerSp-23{display:flex;flex-direction:column;gap:14px}
.ben-footerSp-24{background:#fff;border:1px solid rgba(15,30,61,.09);border-radius:14px;padding:22px 20px}
.ben-footerSp-25{font-weight:700;font-size:16px;color:#0f1e3d}
.ben-footerSp-26{margin-top:10px;font-size:13px;line-height:1.9;color:#3a475f}
.ben-footerSp-27{background:#faf7f1;padding:0 22px 44px;box-sizing:border-box}
.ben-footerSp-28{margin:0 0 20px;font-size:13.5px;line-height:1.95;color:#3a475f}
.ben-footerSp-29{display:grid}
.ben-footerSp-30{padding:14px 2px;border-top:1px solid rgba(15,30,61,.12)}
.ben-footerSp-31{font-weight:700;font-size:14px;color:#0f1e3d}
.ben-footerSp-32{margin-top:5px;font-size:12.5px;line-height:1.85;color:#3a475f}
.ben-footerSp-33{position:relative;background:#0a1738;padding:44px 22px 48px;box-sizing:border-box;overflow:hidden}
.ben-footerSp-34{position:absolute;inset:0;background:radial-gradient(600px 260px at 20% 0%,rgba(28,116,196,.4),transparent 70%)}
.ben-footerSp-35{position:relative}
.ben-footerSp-36{font-weight:600;font-size:11px;letter-spacing:.22em;color:#57c9eb;margin-bottom:10px}
.ben-footerSp-37{margin:0 0 12px;font-weight:700;font-size:21px;line-height:1.5;color:#fff}
.ben-footerSp-38{margin:0 0 22px;font-size:13.5px;line-height:1.95;color:rgba(255,255,255,.7)}
.ben-footerSp-39{display:grid;grid-template-columns:1fr 1fr;row-gap:20px;column-gap:34px}
.ben-footerSp-40{font-weight:700;font-size:13.5px;color:#fff}
.ben-footerSp-41{margin-top:6px;font-size:12px;line-height:1.75;color:rgba(255,255,255,.66)}
.ben-footerSp-42{background:#faf7f1;padding:44px 22px 48px;box-sizing:border-box}
.ben-footerSp-43{position:relative;background:#081128;padding:48px 22px;box-sizing:border-box;overflow:hidden}
.ben-footerSp-44{position:absolute;inset:0;background:url('../img/photo_meeting.jpg') center/cover no-repeat;opacity:.24}
.ben-footerSp-45{position:relative;text-align:center}
.ben-footerSp-46{margin:0;font-weight:500;font-size:22px;line-height:1.55;color:#fff}
.ben-footerSp-47{display:flex;flex-direction:column;gap:10px;margin-top:26px}
.ben-footerSp-48{position:relative;overflow:hidden;text-align:center;font-weight:700;font-size:14px;color:#2b1d05;background:linear-gradient(120deg,#f07f13 0%,#ffa62e 55%,#ffc964 100%);padding:14px 20px;border-radius:999px;text-decoration:none}
.ben-footerSp-49{text-align:center;font-weight:600;font-size:14px;color:#fff;border:1.5px solid rgba(255,255,255,.5);padding:13px 20px;border-radius:999px;text-decoration:none}
.ben-footerSp-50{background:#050b1c;overflow:hidden;padding:34px 0 4px}
.ben-footerSp-51{white-space:nowrap;font-weight:700;font-size:42px;line-height:1;letter-spacing:.02em;color:transparent;-webkit-text-stroke:1px rgba(143,224,244,.4)}
.ben-footerSp-52{background:#050b1c;padding:36px 24px 30px;box-sizing:border-box}
.ben-footerSp-53{height:17px;width:auto;display:block;filter:brightness(0) invert(1);opacity:.9}
.ben-footerSp-54{margin-top:24px;display:flex;gap:44px;flex-wrap:wrap}
.ben-footerSp-55{font-size:10.5px;letter-spacing:.2em;color:rgba(255,255,255,.4)}
.ben-footerSp-56{font-size:12.5px;color:rgba(255,255,255,.75);text-decoration:none}
.ben-footerSp-57{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.1);display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px}
.ben-footerSp-58{font-size:10.5px;color:rgba(255,255,255,.4);letter-spacing:.05em}
