/* kyujin-center.biz — 落ち着いた青と、信号の緑・黄・赤。書体は読みやすさ優先の BIZ UDPゴシック */
:root{
  --ink:#16232F; --ink-2:#4C5A67; --bg:#F5F7FA; --surface:#fff; --soft:#EAF0F7; --line:#D5DEE8;
  --brand:#1559B7; --brand-ink:#fff; --accent:#C62828; --accent-ink:#fff; --pay:#16232F;
  --ok:#2E7D32; --ok-ink:#1B5E20; --ok-l:#E6F4E7; --tri:#E0A100; --tri-l:#FFF6DB; --ng:#C62828; --ng-l:#FDECEC;
  --f-d:"BIZ UDPGothic",var(--f-b); --f-n:"BIZ UDPGothic",var(--f-b);
  --r:10px; --r-lg:14px;
}
.logo__name{font-weight:700;font-size:1.25rem}
.h2,.page__t,.job__title,.hero__t{font-weight:700}
.hd__cta{background:var(--brand);color:#fff}
.job__new{background:var(--brand);color:#fff}

/* ヒーロー：写真の左の淡い余白に文字 */
.hero{position:relative;isolation:isolate;overflow:hidden;background:#EEF3F8}
.hero__bg{position:absolute;inset:0;z-index:-2}
.hero__bg img{object-position:70% 40%}
.hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(90deg,rgb(238 243 248 / .97) 0%,rgb(238 243 248 / .9) 40%,rgb(238 243 248 / 0) 66%)}
.hero .photo__cap{top:auto;bottom:10px}
.hero__in{padding-top:56px;padding-bottom:64px;max-width:var(--wrap)}
.hero__eyebrow{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:.85rem;color:var(--ok-ink);background:var(--ok-l);padding:4px 12px;border-radius:999px}
.hero__eyebrow::before{content:"";width:8px;height:8px;border-radius:50%;background:var(--ok)}
.hero__t{font-family:var(--f-d);font-size:clamp(1.9rem,1.3rem + 2.8vw,3.2rem);line-height:1.35;margin-top:14px}
.hero__lead{margin-top:14px;max-width:30em;color:var(--ink-2)}
.hero__btns{display:flex;flex-wrap:wrap;gap:12px;margin-top:22px}
.hero__btns .btn--ghost{background:#fff}
@media (max-width:760px){
  .hero{background:none}
  .hero::after{display:none}
  .hero__bg{position:relative;height:210px}
  .hero__bg img{object-position:72% 30%}
  .hero__in{padding-top:20px;padding-bottom:8px}
}

.sec__src{font-size:.8rem;color:var(--ink-2)}
.howto{font-size:.85rem;color:var(--ink-2);margin:-6px 0 12px}
.howto__ok{color:var(--ok-ink);font-weight:700}
.howto__no{font-weight:700;margin-left:4px}

/* 記載チェックつきカード */
.job--check .job__check li{background:var(--soft)}
.job--check .job__check .is-ok{background:var(--ok-l);color:var(--ok-ink)}
.job--check .job__check .is-ok span[aria-hidden]{color:var(--ok-ink)}

/* 止める信号の帯 */
.cta{background:#fff;border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.cta__in{display:grid;gap:28px}
@media (min-width:1000px){.cta__in{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:48px;align-items:start}}
.xl{display:grid;gap:8px;counter-reset:x}
.xl li{counter-increment:x}
.xl a{display:flex;align-items:center;gap:12px;min-height:48px;padding:10px 14px;border-radius:var(--r);background:var(--ng-l);color:var(--ink);text-decoration:none;font-weight:700;line-height:1.6}
.xl a::before{content:"×";flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;background:var(--ng);color:#fff;font-size:.95rem}
.cta__box{background:var(--soft);border-radius:var(--r-lg);padding:20px;display:grid;gap:16px;justify-items:start}
.sigs{display:grid;gap:10px}
.sigs li{display:flex;gap:12px;align-items:flex-start}
.sigs strong{display:block}
.sigs__m{flex:none;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:1.1rem;color:#fff}
.sigs__m--x{background:var(--ng)}.sigs__m--t{background:var(--tri);color:var(--ink)}.sigs__m--o{background:var(--ok)}

/* 補足のカード */
.sd{display:grid;gap:12px;grid-template-columns:1fr}
@media (min-width:760px){.sd{grid-template-columns:repeat(2,1fr)}}
.sd__item{background:#fff;border:1px solid var(--line);border-top:4px solid var(--ok);border-radius:var(--r);padding:16px 18px}
.sd__name{font-size:1.05rem}
.sd__tel a{font-size:1.6rem;font-weight:700;color:var(--ok-ink);text-decoration:none;display:inline-flex;min-height:44px;align-items:center;font-family:var(--f-n)}
.sd__by{font-size:.85rem;color:var(--ink-2);margin-bottom:8px}
.sd__lb{display:inline-block;font-size:.75rem;font-weight:700;background:var(--soft);color:var(--brand);padding:1px 8px;border-radius:999px;margin-right:6px}
.sd__note{font-size:.92rem;margin-top:6px}
.sd__link a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}
.note{font-size:.86rem;color:var(--ink-2);background:#fff;border-left:4px solid var(--line);padding:10px 14px;border-radius:0 8px 8px 0;margin-top:14px}

/* 安全チェック */
.chk__list{display:grid;gap:12px}
.chk__item fieldset{margin:0;border:1px solid var(--line);border-radius:var(--r);background:#fff;padding:14px 16px}
.chk__item legend{display:contents}
.chk__no{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;background:var(--soft);color:var(--brand);font-weight:700;margin-right:8px;font-size:.9rem}
.lv{display:inline-block;font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:999px}
.lv--x{background:var(--ng-l);color:var(--ng)}
.lv--t{background:var(--tri-l);color:#8A5300}
.chk__q{display:block;font-weight:700;margin:8px 0 10px;line-height:1.7}
.chk__opts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;max-width:420px}
.opt{position:relative}
.opt input{position:absolute;inset:0;opacity:0;width:100%;height:100%;margin:0;cursor:pointer}
.opt span{display:flex;align-items:center;justify-content:center;min-height:48px;padding:0 6px;border:2px solid var(--line);border-radius:10px;background:#fff;font-weight:700;cursor:pointer}
.opt input:checked+span{border-color:var(--brand);background:var(--soft);color:var(--brand)}
.opt input:focus-visible+span{outline:3px solid var(--brand);outline-offset:2px}
.chk__why{font-size:.9rem;color:var(--ink-2);margin:10px 0 0}
.chk__item.is-hit fieldset{border-color:var(--ng);box-shadow:inset 4px 0 0 var(--ng)}
.chk__item.is-hit[data-level="t"] fieldset,.chk__item.is-unk fieldset{border-color:var(--tri);box-shadow:inset 4px 0 0 var(--tri)}
.chk__end{display:flex;gap:10px;flex-wrap:wrap;margin:20px 0}
.res{border-radius:var(--r);padding:18px;border:2px solid var(--line);background:#fff;margin-bottom:16px}
.res__h{display:flex;align-items:center;gap:12px;font-size:1.2rem;font-weight:700;margin:0 0 8px}
.res__m{flex:none;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;border-radius:50%;font-size:1.5rem;color:#fff}
.res--x{border-color:var(--ng);background:var(--ng-l)}.res--x .res__m{background:var(--ng)}
.res--t{border-color:var(--tri);background:var(--tri-l)}.res--t .res__m{background:var(--tri);color:var(--ink)}
.res--o{border-color:var(--ok);background:var(--ok-l)}.res--o .res__m{background:var(--ok)}
.res ul{margin:8px 0;padding-left:1.4em;list-style:disc}

.ext{display:grid;gap:10px}
.ext li{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:10px 16px}
.ext a{display:inline-flex;min-height:44px;align-items:center;font-weight:700}
.ext__d{display:block;font-size:.88rem;color:var(--ink-2)}
.terms{display:flex;flex-wrap:wrap;gap:8px}
.terms a{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border-radius:999px;border:1px solid var(--line);background:#fff;text-decoration:none;color:var(--ink);font-weight:700}
.readable{max-width:820px}
.ft{background:#12314F}

/* 見出しの上の行（キーワード）を見出しと一体に */
.hero__t{margin-top:0;display:flex;flex-direction:column;align-items:flex-start}
.hero__t .hero__eyebrow{font-family:var(--f-b);line-height:1.5;max-width:100%}
.hero__main{display:block;margin-top:14px}
.hero__main{align-self:stretch;text-wrap:wrap}
