/* =============================================================
   SiteMentor — 下層ページ共通スタイル
   （特商法表記 / 利用規約 / プライバシーポリシー / 会社概要 /
     コラム / 採用情報 の6ページで共有）
   index.html はCSSをインライン化していますが、こちらは複数ページで
   使い回すため外部ファイルにしています（2ページ目以降はキャッシュ利用）。
   ※ファイル名は法務3ページ用として作成した経緯によるものです。
   ============================================================= */

:root{
  --ink:#0A1A2F;
  --ink-2:#2A3B54;
  --muted:#5A6B85;
  --brand:#1B4DB1;
  --brand-600:#153C8C;
  --brand-50:#EEF3FC;
  --accent:#2E8FE6;
  --bg:#FFFFFF;
  --surface:#F6F8FC;
  --border:#E3E9F3;
  --border-2:#CFD9E9;
  --radius:14px;
  --shadow-sm:0 1px 2px rgba(10,26,47,.06), 0 1px 3px rgba(10,26,47,.05);
  --maxw:860px;
  --gut:clamp(20px, 5vw, 40px);
  --font:-apple-system, BlinkMacSystemFont, "Segoe UI", "Helvetica Neue",
         "Hiragino Kaku Gothic ProN", "Noto Sans JP", "Yu Gothic UI", Meiryo, sans-serif;
}

*,*::before,*::after{box-sizing:border-box}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;scroll-padding-top:88px}
body{
  margin:0;font-family:var(--font);color:var(--ink);background:var(--bg);
  font-size:16px;line-height:1.9;letter-spacing:.01em;
  -webkit-font-smoothing:antialiased;overflow-wrap:break-word;
}
h1,h2,h3,p,ul,ol,dl,dd,figure{margin:0}
ul,ol{padding:0;list-style:none}
a{color:var(--brand);text-decoration:underline;text-underline-offset:3px}
a:hover{color:var(--brand-600)}
:focus-visible{outline:3px solid var(--accent);outline-offset:3px;border-radius:4px}
@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}

.wrap{width:100%;max-width:var(--maxw);margin-inline:auto;padding-inline:var(--gut)}
.skip{position:fixed;top:-100px;left:16px;z-index:200;background:var(--ink);color:#fff;padding:12px 18px;border-radius:8px;text-decoration:none;transition:top .18s}
.skip:focus{top:16px}

/* ---- ヘッダー ---- */
.site-header{border-bottom:1px solid var(--border);background:rgba(255,255,255,.9);position:sticky;top:0;z-index:50;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.hdr{display:flex;align-items:center;gap:16px;min-height:70px;max-width:1140px;margin-inline:auto;padding-inline:var(--gut)}
.brand{display:flex;align-items:center;gap:10px;font-weight:800;font-size:1.1rem;letter-spacing:-.01em;color:var(--ink);text-decoration:none;flex:none}
.brand-mark{width:32px;height:32px;border-radius:9px;flex:none;background:linear-gradient(140deg,var(--brand) 0%, var(--ink) 100%);color:#fff;display:grid;place-items:center;font-size:.9rem;font-weight:800}
.brand small{display:block;font-size:.62rem;font-weight:600;letter-spacing:.1em;color:var(--muted);line-height:1}
.hdr-back{
  margin-left:auto;display:inline-flex;align-items:center;gap:7px;
  min-height:42px;padding:0 18px;border:1px solid var(--border-2);border-radius:999px;
  font-size:.86rem;font-weight:700;color:var(--ink);text-decoration:none;
  transition:border-color .15s,color .15s;
}
.hdr-back:hover{border-color:var(--brand);color:var(--brand)}
.hdr-back svg{width:15px;height:15px}
@media (max-width:420px){
  .brand small{display:none}
  .hdr-back{padding:0 13px;font-size:.8rem}
  .hdr-back .lbl{display:none}
}

/* ---- パンくず ---- */
.crumb{padding-block:22px 0;font-size:.8rem;color:var(--muted)}
.crumb ol{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.crumb li{display:flex;align-items:center;gap:8px}
.crumb li+li::before{content:"／";color:var(--border-2)}
.crumb a{color:var(--muted)}
.crumb [aria-current]{color:var(--ink-2);font-weight:700}

/* ---- 見出し ---- */
.doc-head{padding-block:20px 34px;border-bottom:1px solid var(--border);margin-bottom:40px}
h1{font-size:clamp(1.55rem,4vw,2.2rem);line-height:1.4;font-weight:800;letter-spacing:-.015em}
.doc-meta{margin-top:14px;display:flex;flex-wrap:wrap;gap:8px 18px;font-size:.8rem;color:var(--muted)}
.doc-lead{margin-top:18px;color:var(--ink-2);font-size:.95rem}

/* ---- 本文 ---- */
main{padding-bottom:clamp(56px,8vw,96px)}
.doc section{margin-bottom:38px}
.doc h2{
  font-size:clamp(1.08rem,2.2vw,1.28rem);font-weight:800;line-height:1.6;
  padding-bottom:10px;border-bottom:2px solid var(--brand-50);margin-bottom:18px;
}
.doc h3{font-size:1rem;font-weight:800;margin:24px 0 10px}
.doc p{margin-bottom:14px;font-size:.95rem}
.doc p:last-child{margin-bottom:0}
.doc > section > ol{counter-reset:item;margin-bottom:14px}
.doc > section > ol > li{
  counter-increment:item;position:relative;padding-left:2.1em;margin-bottom:10px;font-size:.95rem;
}
.doc > section > ol > li::before{
  content:counter(item)".";position:absolute;left:0;top:0;
  font-weight:700;color:var(--brand);font-variant-numeric:tabular-nums;
}
.doc ul.dash{margin:10px 0 14px}
.doc ul.dash li{position:relative;padding-left:1.2em;margin-bottom:8px;font-size:.93rem}
.doc ul.dash li::before{content:"";position:absolute;left:0;top:.85em;width:9px;height:1.5px;background:var(--border-2)}
.doc ol.paren{margin:10px 0 14px;counter-reset:sub}
.doc ol.paren li{counter-increment:sub;position:relative;padding-left:2.4em;margin-bottom:8px;font-size:.93rem}
.doc ol.paren li::before{content:"("counter(sub)")";position:absolute;left:0;top:0;color:var(--muted);font-variant-numeric:tabular-nums}

/* ---- 定義リスト（特商法表記） ---- */
.table-scroll{overflow-x:auto;border:1px solid var(--border);border-radius:var(--radius);background:#fff;-webkit-overflow-scrolling:touch;margin-bottom:14px}
table{width:100%;border-collapse:collapse;min-width:480px;font-size:.92rem}
th,td{padding:15px 18px;text-align:left;border-bottom:1px solid var(--border);vertical-align:top}
tbody th{background:var(--surface);font-weight:700;width:32%;color:var(--ink-2)}
tbody tr:last-child th,tbody tr:last-child td{border-bottom:0}
td p{margin-bottom:8px;font-size:.92rem}
td p:last-child{margin-bottom:0}
td ul.dash{margin:6px 0 0}
td ul.dash li{font-size:.9rem;margin-bottom:6px}

/* ---- 注意書き / 未確定箇所 ---- */
.callout{
  padding:18px 20px;border-radius:var(--radius);background:#FFF8E6;
  border:1px solid #F2DFAE;font-size:.9rem;color:#6B4E0F;margin-bottom:32px;
}
.callout strong{color:#4A360A}
.callout p{margin-bottom:8px;font-size:.9rem}
.callout p:last-child{margin-bottom:0}
.todo{
  display:inline-block;padding:1px 8px;border-radius:5px;
  background:#FFE9E6;border:1px solid #F5C0B8;color:#9B2C1B;
  font-size:.84em;font-weight:700;white-space:nowrap;
}
.note{font-size:.83rem;color:var(--muted);margin-top:10px}

/* ---- 関連ページ ---- */
.related{margin-top:52px;padding-top:32px;border-top:1px solid var(--border)}
.related h2{font-size:.76rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--muted);margin-bottom:16px}
.related ul{display:grid;gap:10px}
.related a{
  display:flex;align-items:center;justify-content:space-between;gap:12px;
  padding:15px 18px;border:1px solid var(--border);border-radius:var(--radius);
  font-size:.92rem;font-weight:700;color:var(--ink);text-decoration:none;
  transition:border-color .15s,transform .15s,box-shadow .15s;
}
.related a:hover{border-color:var(--brand);color:var(--brand);transform:translateY(-2px);box-shadow:var(--shadow-sm)}
.related svg{width:16px;height:16px;flex:none;color:var(--muted)}
.related a:hover svg{color:var(--brand)}

/* ---- 空状態（コンテンツ準備中のページ） ---- */
.empty{
  padding:clamp(34px,5vw,56px) clamp(22px,4vw,40px);
  border:1px dashed var(--border-2);border-radius:var(--radius);
  background:var(--surface);text-align:center;
}
.empty .ic{
  width:52px;height:52px;margin:0 auto 18px;border-radius:14px;
  display:grid;place-items:center;background:#fff;border:1px solid var(--border);color:var(--brand);
}
.empty .ic svg{width:24px;height:24px}
.empty h2{font-size:1.1rem;font-weight:800;border:0;padding:0;margin-bottom:10px}
.empty p{color:var(--muted);font-size:.93rem;max-width:52ch;margin-inline:auto}

/* ---- 予定テーマ / 募集職種の一覧 ---- */
.plan-list{display:grid;gap:12px;margin-top:14px}
.plan-list li{
  display:flex;gap:14px;align-items:flex-start;
  padding:16px 18px;border:1px solid var(--border);border-radius:var(--radius);background:#fff;
}
.plan-list .tag{
  flex:none;font-size:.7rem;font-weight:800;letter-spacing:.04em;
  padding:4px 10px;border-radius:999px;background:var(--brand-50);color:var(--brand);margin-top:2px;
}
.plan-list b{display:block;font-size:.95rem;font-weight:800;margin-bottom:4px}
.plan-list span.d{font-size:.88rem;color:var(--muted);line-height:1.75}

/* ---- 会社概要の価値観カード ---- */
.value-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:6px}
@media (max-width:640px){.value-grid{grid-template-columns:1fr}}
.value-grid article{padding:22px;border:1px solid var(--border);border-radius:var(--radius);background:#fff}
.value-grid h3{margin:0 0 10px;font-size:1rem;font-weight:800}
.value-grid p{margin:0;font-size:.9rem;color:var(--muted)}

/* ---- 沿革 ---- */
.history{margin-top:6px}
.history li{display:grid;grid-template-columns:8.5em minmax(0,1fr);gap:14px;padding:14px 0;border-bottom:1px solid var(--border)}
.history li:last-child{border-bottom:0}
.history time{font-weight:800;font-size:.88rem;color:var(--brand);font-variant-numeric:tabular-nums}
.history p{margin:0;font-size:.93rem}
@media (max-width:520px){
  .history li{grid-template-columns:1fr;gap:4px}
}

/* ---- 下部CTA ---- */
.cta-band{
  margin-top:52px;padding:clamp(28px,4vw,40px);border-radius:18px;color:#fff;
  background:radial-gradient(600px 320px at 85% -30%, rgba(46,143,230,.36) 0%, rgba(46,143,230,0) 60%),
             linear-gradient(165deg,#0A1A2F 0%, #12325E 100%);
}
.cta-band h2{font-size:clamp(1.15rem,2.4vw,1.5rem);font-weight:800;border:0;padding:0;margin-bottom:12px;color:#fff}
.cta-band p{color:rgba(255,255,255,.78);font-size:.93rem;margin-bottom:22px;max-width:54ch}
.cta-band .btn{
  display:inline-flex;align-items:center;gap:9px;min-height:52px;padding:0 26px;
  background:#fff;color:var(--ink);border-radius:999px;font-weight:700;font-size:.96rem;
  text-decoration:none;transition:transform .16s, box-shadow .16s;
}
.cta-band .btn:hover{transform:translateY(-2px);box-shadow:0 12px 30px -10px rgba(0,0,0,.4);color:var(--ink)}
.cta-band .btn svg{width:17px;height:17px}

/* ---- フッター ---- */
.site-footer{background:var(--ink);color:rgba(255,255,255,.62);padding-block:44px 28px;font-size:.85rem}
.site-footer .wrap{max-width:1140px}
.foot-nav{display:flex;flex-wrap:wrap;gap:12px 26px;margin-bottom:26px}
.site-footer a{color:rgba(255,255,255,.72);text-decoration:none}
.site-footer a:hover{color:#fff;text-decoration:underline}
.foot-bottom{padding-top:22px;border-top:1px solid rgba(255,255,255,.12);font-size:.78rem}
