/* Orbit 共通スタイル(表紙 d8 と同じ見た目を下層ページでも使う) */
:root{
  --ink:#0b1622; --space:#050b18; --line:#e6eaf0;
  --blue:#1f5fd4; --blue2:#6bb0ff; --paper:#f6f8fb; --muted:#5f6b7a; --gray:#8a94a2;
  --en:"Inter",sans-serif; --jp:"Zen Kaku Gothic New","Noto Sans JP",sans-serif;
}
*{margin:0;padding:0;box-sizing:border-box}
html{scroll-behavior:smooth}
body{font-family:var(--jp);color:var(--ink);background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
.en{font-family:var(--en);letter-spacing:.04em}

/* ===== nav ===== */
.nav{position:fixed;top:0;left:0;right:0;z-index:60;display:flex;align-items:center;justify-content:space-between;
  padding:18px clamp(24px,3.6vw,60px);background:#fff;box-shadow:0 1px 0 rgba(11,22,34,.08)}
.brand{display:flex;align-items:center;gap:14px}
.brand img{height:40px;width:auto;display:block}
.navlinks{display:flex;align-items:center;gap:clamp(18px,2vw,30px);font-family:var(--en);font-size:15px;font-weight:500;color:var(--ink)}
.navlinks a{position:relative;padding:4px 0;transition:color .2s}
.navlinks a::after{content:"";position:absolute;left:0;right:100%;bottom:-2px;height:2px;background:var(--blue);transition:right .3s}
.navlinks a:hover::after,.navlinks a.active::after{right:0}
.navbtn{display:inline-flex;align-items:center;gap:10px;border:1px solid var(--line);border-radius:40px;
  padding:14px 28px;font-size:14.5px;font-weight:600;color:var(--ink);transition:.25s}
.navbtn:hover{background:var(--blue);color:#fff;border-color:var(--blue)}
@media(max-width:920px){.navlinks{display:none}}

/* ===== 下層ページの見出し帯 ===== */
.page-head{position:relative;overflow:hidden;background:var(--space);color:#fff;padding:170px 0 78px}
.page-head::before{content:"";position:absolute;inset:-4%;z-index:0;
  background:url(../images/hero-earth.png) center/cover no-repeat;opacity:.55}
.page-head::after{content:"";position:absolute;inset:0;z-index:1;
  background:linear-gradient(90deg,rgba(5,11,24,.9) 0%,rgba(5,11,24,.62) 45%,rgba(5,11,24,.3) 100%)}
.page-head .wrap{position:relative;z-index:2}
.page-head h1{font-family:"Zen Kaku Gothic New",var(--jp);font-size:clamp(30px,4vw,46px);font-weight:900;letter-spacing:-.015em;line-height:1.25}
.page-head p{margin-top:16px;font-size:15.5px;line-height:2;color:rgba(255,255,255,.88);max-width:40em}

.wrap{max-width:1080px;margin:0 auto;padding:0 clamp(20px,4vw,48px)}
.sec{padding:clamp(64px,7vw,104px) 0}
.kick{display:flex;align-items:center;gap:14px}
.kick::before{content:"";width:40px;height:3px;border-radius:2px;background:var(--blue)}
.h2{font-family:"Zen Kaku Gothic New",var(--jp);font-size:clamp(24px,3vw,36px);font-weight:900;letter-spacing:-.02em;margin-top:16px}

/* ===== 会社概要の表 ===== */
.info dl{display:grid;grid-template-columns:220px 1fr;border-top:1px solid var(--line);margin-top:40px}
.info dt,.info dd{padding:22px 8px;border-bottom:1px solid var(--line);font-size:15px}
.info dt{font-weight:700;color:var(--ink);background:var(--paper)}
.info dd{color:#3a4a5c;line-height:1.9}
.info dd .sub{color:var(--gray);font-size:13px;display:block;margin-top:2px}
.info dd ul.biz{list-style:none;display:grid;gap:8px}
.info dd ul.biz li{position:relative;padding-left:16px;line-height:1.85}
.info dd ul.biz li::before{content:"";position:absolute;left:0;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--blue)}
.info dd a.link{color:var(--blue);font-weight:600}
.info dd a.link:hover{text-decoration:underline}

/* ===== 企業理念 ===== */
.philosophy{background:linear-gradient(180deg,#fff 0%,var(--paper) 100%)}
.ph-block{margin-top:52px;padding-top:32px;border-top:1px solid var(--line)}
.ph-block:first-of-type{margin-top:44px}
.ph-label{font-size:12px;font-weight:700;letter-spacing:.24em;color:var(--blue)}
.ph-main{font-family:"Zen Kaku Gothic New",var(--jp);font-size:clamp(22px,2.8vw,34px);font-weight:900;
  letter-spacing:-.015em;line-height:1.35;margin-top:14px}
.ph-sub{margin-top:16px;max-width:42em;font-size:15px;line-height:2.05;color:#3a4a5c}
.ph-values{list-style:none;margin-top:22px;display:grid;gap:18px}
.ph-values li{font-size:15px;line-height:2.05;color:#3a4a5c;padding-left:18px;border-left:3px solid var(--blue)}
.ph-values b{display:block;font-size:17px;font-weight:800;color:var(--ink);margin-bottom:4px}

/* ===== 採用情報 ===== */
.rc-lead{margin-top:40px;max-width:44em;font-size:16px;line-height:2.1;color:#3a4a5c}
.rc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(18px,2.4vw,30px);margin-top:44px}
.rc-card{border:1px solid var(--line);border-radius:16px;padding:30px 26px;background:#fff;
  box-shadow:0 14px 36px rgba(11,22,34,.06)}
.rc-card h3{font-size:18px;font-weight:800;margin-bottom:12px}
.rc-card p{font-size:14px;line-height:1.95;color:#3a4a5c}
.rc-table{display:grid;grid-template-columns:200px 1fr;border-top:1px solid var(--line);margin-top:44px}
.rc-table dt,.rc-table dd{padding:20px 8px;border-bottom:1px solid var(--line);font-size:15px}
.rc-table dt{font-weight:700;background:var(--paper)}
.rc-table dd{color:#3a4a5c;line-height:1.9}
.rc-cta{margin-top:48px;text-align:center}
.rc-cta p{font-size:15px;color:#3a4a5c;margin-bottom:22px}
@media(max-width:820px){.rc-grid{grid-template-columns:1fr}.rc-table{grid-template-columns:1fr}
  .rc-table dt{border-bottom:none;padding-bottom:4px}.rc-table dd{padding-top:6px}}

/* ===== 本文ページ(プラポリなど) ===== */
.prose h2{font-size:19px;font-weight:800;margin:38px 0 12px;letter-spacing:-.01em}
.prose p,.prose li{font-size:14.5px;line-height:2.05;color:#3a4a5c}
.prose ul{margin:10px 0 0 1.3em}
.prose li{margin-bottom:6px}

/* ===== ボタン ===== */
.btn-primary{display:inline-flex;align-items:center;justify-content:center;background:var(--blue);color:#fff;
  border-radius:8px;padding:16px 34px;font-weight:700;font-size:15px;transition:transform .2s,box-shadow .2s}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 16px 40px rgba(31,95,212,.3)}

/* ===== footer ===== */
footer{background:#0b1622;color:#c3cad2}
.fnav{max-width:1280px;margin:0 auto;padding:34px clamp(20px,4vw,64px);display:flex;align-items:center;gap:28px;font-size:13px;flex-wrap:wrap}
.fnav a{opacity:.85;transition:opacity .2s}.fnav a:hover{opacity:1}
.fcopy{text-align:center;padding:20px;font-family:var(--en);font-size:12px;color:#7f8a99;border-top:1px solid rgba(255,255,255,.08)}

@media(max-width:720px){
  .page-head{padding:130px 0 56px}
  .info dl{grid-template-columns:1fr}
  .info dt{border-bottom:none;padding-bottom:4px}
  .info dd{padding-top:6px}
}

/* ===== スマホ(2026-09-22)。三本線メニューと詰め ===== */
.navtoggle{display:none;width:44px;height:44px;border:1px solid var(--line);border-radius:12px;background:#fff;cursor:pointer;
  flex-direction:column;align-items:center;justify-content:center;gap:5px;margin-left:auto;margin-right:10px}
.navtoggle span{display:block;width:18px;height:2px;border-radius:2px;background:var(--ink);transition:transform .25s,opacity .25s}
.nav.open .navtoggle span:nth-child(1){transform:translateY(7px) rotate(45deg)}
.nav.open .navtoggle span:nth-child(2){opacity:0}
.nav.open .navtoggle span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}
@media(max-width:920px){
  .navtoggle{display:inline-flex}
  .nav{padding:12px 16px}
  .brand img{height:32px}
  .navbtn{padding:10px 14px;font-size:13px;white-space:nowrap}
  .nav.open .navlinks{display:flex;position:absolute;top:100%;left:0;right:0;flex-direction:column;align-items:stretch;gap:0;
    background:#fff;border-top:1px solid var(--line);box-shadow:0 18px 40px rgba(11,22,34,.12);font-family:var(--jp);font-size:15.5px}
  .nav.open .navlinks a{padding:15px 22px;border-bottom:1px solid var(--line)}
  .nav.open .navlinks a::after{display:none}
}
@media(max-width:600px){
  .page-head{padding:104px 0 40px}
  .page-head h1{font-size:28px}
  .page-head p{font-size:14px;line-height:1.85}
  .sec{padding:44px 0}
  .wrap{padding:0 20px}
  .h2{font-size:22px}
  .fnav{gap:12px 18px;padding:24px 20px;font-size:12.5px}
}
