/* ============================================================
   みんなのキャリア 求職者登録LP / 共通スタイル
     配色：LINEの緑 #06C755 ／ 強調の濃い緑 #05863B ／ ピンク #E4307A（みんなのキャリアのロゴ色） ／ 黒と白
     和文 Zen Kaku Gothic New・英数字 Archivo（どちらも自前で配信。外部読込なし）
   ============================================================ */
@font-face{font-family:'ZKGN';font-weight:400;font-display:swap;src:url(zen-400.woff2) format('woff2')}
@font-face{font-family:'ZKGN';font-weight:700;font-display:swap;src:url(zen-700.woff2) format('woff2')}
@font-face{font-family:'Archivo';font-weight:600;font-display:swap;src:url(archivo-600.woff2) format('woff2')}

:root{
  /* 2026-10-21 ユーザー指定：LINE登録専用ページなので、LINEの緑を主役にする。
     （水色 #BEECFC 案・ターコイズ案は撤回）。白文字は緑の上で読みにくい（2.26）ので、緑の面に乗せる文字は黒にする */
  --m:#06C755;          /* LINEの緑（ボタン・帯・下線。上に乗る文字は黒＝コントラスト9.31） */
  --cta:#05863B;        /* 白地の上の強調文字（濃い緑。白とのコントラスト4.69） */
  --cta-h:#04712F;
  --pink:#E4307A;       /* 大きな強調語だけに使う（みんなのキャリアのロゴのピンク系。大文字サイズで4.2） */
  --yel:#FFE600;
  --ink:#000;
  --body:#1A1A1A;
  --muted:#5C5C5C;
  --paper:#fff;
  --line:#DCDCDC;
  --err:#C8102E;
  --jp:'ZKGN',system-ui,sans-serif;
  --en:'Archivo','ZKGN',system-ui,sans-serif;
  --wrap:1040px;
}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none !important}
html{-webkit-text-size-adjust:100%;scroll-behavior:smooth}
body{margin:0;background:var(--paper);color:var(--body);font-family:var(--jp);font-size:16px;line-height:1.8;
  font-feature-settings:'palt';letter-spacing:.02em;-webkit-font-smoothing:antialiased}
img{max-width:100%;display:block}
a{color:inherit}
h1,h2,h3,p{margin:0}
h1,h2,h3,.kw{word-break:keep-all;overflow-wrap:anywhere;text-wrap:balance}
/* 本文は最終行が1〜2文字で終わらないように（泣き別れ防止） */
p,li,dd,summary,b,label{text-wrap:pretty}
.wrap{max-width:var(--wrap);margin:0 auto;padding:0 20px}
.en{font-family:var(--en)}

/* ---------- ヘッダー ---------- */
.hdr{border-bottom:1px solid var(--line);background:var(--paper)}
.hdr-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:12px}
.logo{display:block;padding:10px 0}
.logo img{height:30px;width:auto}
.hdr-tag{font-size:13px;font-weight:700;padding:4px 12px;border:2px solid var(--ink);border-radius:999px;white-space:nowrap;background:var(--m);color:var(--ink)}

/* ---------- ボタン ---------- */
/* 参考デザイン（黒の太線・水色の塗り・右端に黒丸の矢印）に合わせたボタン。文字は黒なので水色の上でも読める */
.btn{position:relative;display:inline-flex;align-items:center;justify-content:center;gap:.5em;min-height:58px;padding:12px 64px 12px 36px;
  border:2.5px solid var(--ink);border-radius:999px;background:var(--m);color:var(--ink);font:700 17px/1.4 var(--jp);letter-spacing:.08em;
  text-decoration:none;cursor:pointer;box-shadow:0 4px 0 var(--ink);transition:transform .12s, box-shadow .12s, background .15s}
.btn::after{content:'';position:absolute;right:14px;top:50%;width:28px;height:28px;margin-top:-14px;border-radius:50%;
  background:var(--ink) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 28 28'%3E%3Cpath d='M10 8l7 6-7 6' fill='none' stroke='%23fff' stroke-width='2.6' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/100% no-repeat}
.btn:hover{background:#fff}
.btn:active{transform:translateY(3px);box-shadow:0 1px 0 var(--ink)}
.btn:focus-visible,.f-in:focus-visible,.chk input:focus-visible+span{outline:3px solid var(--cta);outline-offset:3px}
.btn[disabled]{background:#D9D9D9;color:#5C5C5C;cursor:not-allowed;box-shadow:none;transform:none}
.btn-line{background:#06C755;color:#fff}
.btn-line:hover{background:#05A847}
.btn-ghost{background:#fff}
.btn-ghost:hover{background:var(--m)}

/* ---------- 見出し（日本語を大きく＋英字ラベル） ---------- */
.sec-head{margin-bottom:32px}
.sec-head .en-l{display:block;font-family:var(--en);font-weight:600;font-size:15px;letter-spacing:.24em;color:var(--ink);margin-top:8px}
.sec-head h2{font-size:38px;line-height:1.35;font-weight:700;letter-spacing:.06em;color:var(--ink)}
.sec-head h2 .hl{background:linear-gradient(transparent 58%,var(--m) 58%)}
@media (max-width:560px){ .sec-head h2{font-size:28px} .sec-head{margin-bottom:24px} }

/* 背景の英字（輪郭だけの大きな文字） */
.wm{position:absolute;pointer-events:none;user-select:none;font-family:var(--en);font-weight:600;line-height:.9;letter-spacing:.02em;
  color:transparent;-webkit-text-stroke:1.5px rgba(0,0,0,.18);white-space:nowrap}

/* ---------- フッター ---------- */
.ftr{background:var(--ink);color:#fff;padding:48px 0 40px;font-size:14px}
.ftr-links{display:flex;flex-wrap:wrap;gap:0 24px;margin:0 0 24px;padding:0;list-style:none}
.ftr-links a{display:inline-block;padding:11px 0;text-decoration:none;border-bottom:1px solid rgba(255,255,255,.5);line-height:1.5}
.ftr-links a:hover{border-color:#fff}
.ftr-co{color:#D0D0D0;line-height:1.9}
.ftr-co b{color:#fff}

/* ---------- 規約ページ ---------- */
.doc{padding:48px 0 80px}
.doc-wrap{max-width:820px}
.doc h1{font-size:28px;line-height:1.5;font-weight:700;margin-bottom:8px}
.doc .ver{font-size:14px;color:var(--muted);margin-bottom:32px}
.doc-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 48px;padding:0;list-style:none}
.doc-nav a{display:inline-flex;align-items:center;min-height:44px;padding:0 18px;border:2px solid var(--ink);border-radius:999px;
  font-weight:700;font-size:15px;text-decoration:none}
.doc-nav a:hover{background:var(--ink);color:#fff}
.doc section{padding-top:24px;margin-bottom:56px;border-top:4px solid var(--ink)}
.doc h2{font-size:23px;line-height:1.5;font-weight:700;margin:8px 0 24px}
.doc h3{font-size:17px;font-weight:700;margin:32px 0 8px}
.doc p,.doc li{font-size:15px}
.doc ol,.doc ul{padding-left:1.6em;margin:8px 0}
.doc li{margin:4px 0}
.doc table{width:100%;border-collapse:collapse;margin:12px 0;font-size:14px}
.doc th,.doc td{border:1px solid var(--line);padding:10px 12px;text-align:left;vertical-align:top;line-height:1.7}
.doc th{background:var(--ink);color:#fff;font-weight:700}
.doc td:first-child{font-weight:700;white-space:nowrap}
.doc .enact{margin-top:24px;color:var(--muted);font-size:14px}
.doc .tbl{overflow-x:auto}
@media (max-width:640px){
  .doc h1{font-size:23px}
  .doc h2{font-size:20px}
  .doc td:first-child{white-space:normal}
}
