/* =========================================================================
   絆JOB 共通デザインシステム kz.css  (2026-05-31)
   front-page.php のインライン .kz-* を全ページ共通化し、サブページ(page.php)を
   TOPと同水準に引き上げるための正本。functions.php で全ページ enqueue。
   ※ front-page は自前のインライン版を保持(無傷)。本file は主にサブページが使用。
   ========================================================================= */
:root{
  --cream:#fdf6f1;--pink-bg:#fbe9ef;--kusumi:#ecc4d1;--rose:#cf7d97;--rose-dp:#b3637f;
  --gold:#c5a14e;--gold-soft:#e0c787;--ink:#5e4a52;--ink-st:#4a3a41;--gray:#9c8b91;
  --maru:'Zen Maru Gothic','Hiragino Kaku Gothic ProN','Yu Gothic',sans-serif;
  --klee:'Klee One',cursive;--min:'Shippori Mincho','Yu Mincho',serif;
}
.kz *{box-sizing:border-box}
.kz img{max-width:100%;display:block}
.kz .wrap{max-width:1120px;margin:0 auto;padding:0 26px}
.kz .klee{font-family:var(--klee)}

/* ---- 共通ボタン ---- */
.kz .ctas{display:flex;gap:12px;flex-wrap:wrap;margin-top:26px}
.kz .btn{display:inline-flex;flex-direction:column;align-items:center;text-decoration:none;font-weight:700;border-radius:999px;padding:15px 28px;transition:transform .35s}
.kz .btn:hover{transform:translateY(-3px)}
.kz .btn--line{background:#06c755;color:#fff;box-shadow:0 12px 26px rgba(6,199,85,.3)}
.kz .btn--line small{font-weight:400;font-size:.66rem}
.kz .btn--out{background:#fff;color:var(--rose-dp);border:1.5px solid var(--kusumi)}

/* ---- 共通セクション見出し ---- */
.kz-sec{padding:84px 0;position:relative}
.kz-sec.alt{background:var(--pink-bg)}
.kz .shd{text-align:center;margin-bottom:46px}
.kz .shd .e{font-family:var(--klee);font-size:1.05rem;color:var(--rose)}
.kz .shd h2{font-family:var(--min);font-weight:600;font-size:clamp(1.6rem,3.6vw,2.4rem);color:var(--ink-st);margin-top:6px;line-height:1.6}
.kz .shd h2 span{color:var(--rose-dp)}
.kz .shd p{color:var(--gray);font-size:.9rem;margin-top:10px}
.kz .wave{display:block;width:100%;height:54px}

/* ===== サブページ ヒーロー (kz-subfv) ============================== */
.kz-subfv{position:relative;padding:74px 0 64px;overflow:hidden}
.kz-subfv .blob{position:absolute;border-radius:50%;filter:blur(14px);z-index:0;pointer-events:none}
.kz-subfv .b1{width:42vw;height:42vw;background:radial-gradient(circle,rgba(236,196,209,.55),transparent 70%);top:-12%;left:-12%}
.kz-subfv .b2{width:30vw;height:30vw;background:radial-gradient(circle,rgba(224,199,135,.4),transparent 70%);bottom:-14%;right:-6%}
.kz-subfv .wrap{position:relative;z-index:1;display:grid;grid-template-columns:1.05fr .95fr;gap:42px;align-items:center}
.kz-subfv .eb{font-family:var(--klee);font-size:1rem;color:var(--rose-dp);margin-bottom:10px}
.kz-subfv h1{font-family:var(--min);font-weight:600;font-size:clamp(1.7rem,4vw,2.9rem);line-height:1.5;color:var(--ink-st)}
.kz-subfv h1 em{font-style:normal;color:var(--rose-dp)}
.kz-subfv p.lead{margin-top:18px;font-size:.96rem;line-height:1.95;color:var(--ink)}
.kz-subfv .photo{position:relative}
.kz-subfv .photo>img{width:100%;aspect-ratio:7/5;object-fit:cover;border-radius:36px 36px 56px 36px;box-shadow:0 30px 64px rgba(180,99,127,.22)}
.kz-subfv .photo .ring{position:absolute;inset:-12px;border:1.5px solid var(--gold-soft);border-radius:44px 44px 64px 44px;opacity:.5;pointer-events:none}
.kz-subfv .photo .card-float{position:absolute;background:#fff;border-radius:18px;padding:11px 17px;box-shadow:0 14px 30px rgba(180,99,127,.2);font-size:.72rem;color:var(--gray)}
.kz-subfv .photo .card-float b{display:block;font-family:var(--min);font-size:1.3rem;color:var(--rose-dp);line-height:1.1}
.kz-subfv .photo .cf1{bottom:7%;left:-5%}
.kz-subfv .photo .cf2{top:7%;right:-4%}

/* ---- pills marquee (TOPと共通) ---- */
.kz-pills{overflow:hidden;background:var(--pink-bg);padding:20px 0}
.kz-pills .row{display:flex;gap:14px;width:max-content;will-change:transform}
.kz-pills span{white-space:nowrap;font-size:.9rem;color:var(--rose-dp);background:#fff;border-radius:999px;padding:10px 22px;box-shadow:0 6px 16px rgba(180,99,127,.08)}
.kz-pills span::before{content:"\2661 ";color:var(--rose)}

/* ===== 本文 prose (WP the_content をTOP水準に) ===================== */
.kz-prose{max-width:860px;margin:0 auto;font-family:var(--maru);font-weight:500;line-height:2;color:var(--ink);font-size:1rem}
.kz-prose>*+*{margin-top:1.1em}
.kz-prose h2{font-family:var(--min);font-weight:600;font-size:clamp(1.4rem,3vw,1.9rem);color:var(--ink-st);line-height:1.6;margin-top:2.4em;padding-left:18px;position:relative}
.kz-prose h2::before{content:"";position:absolute;left:0;top:.15em;bottom:.15em;width:6px;border-radius:6px;background:linear-gradient(180deg,var(--rose),var(--gold-soft))}
.kz-prose h3{font-family:var(--min);font-weight:600;font-size:1.18rem;color:var(--rose-dp);margin-top:1.8em}
.kz-prose h4{font-weight:700;color:var(--ink-st);margin-top:1.5em}
.kz-prose a{color:var(--rose-dp);text-decoration:underline;text-underline-offset:3px}
.kz-prose strong{color:var(--rose-dp)}
.kz-prose em{font-style:normal;background:linear-gradient(transparent 62%,rgba(224,199,135,.5) 62%)}
.kz-prose ul,.kz-prose ol{padding-left:1.4em}
.kz-prose ul li{list-style:none;position:relative;padding-left:1.4em;margin:.5em 0}
.kz-prose ul li::before{content:"\2661";position:absolute;left:0;color:var(--rose)}
.kz-prose ol li{margin:.5em 0}
.kz-prose blockquote{background:linear-gradient(135deg,#fff,var(--pink-bg));border-left:4px solid var(--rose);border-radius:0 18px 18px 0;padding:18px 24px;font-family:var(--min);color:var(--rose-dp)}
.kz-prose img{border-radius:20px;box-shadow:0 16px 36px rgba(180,99,127,.14);margin:1.6em auto}
.kz-prose table{width:100%;border-collapse:separate;border-spacing:0;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(180,99,127,.1);font-size:.92rem}
.kz-prose table th{background:linear-gradient(135deg,var(--rose),var(--rose-dp));color:#fff;font-weight:700;padding:14px 16px;text-align:left}
.kz-prose table td{padding:13px 16px;border-top:1px solid #f0e0e8;background:#fff}
.kz-prose table tr:nth-child(even) td{background:#fdf6f1}
/* WP本文に元から入る独自クラスもソフトに */
.kz-prose .box,.kz-prose .card,.kz-prose .salary-card,.kz-prose .feature-card,
.kz-prose .step-container,.kz-prose .step-body,.kz-prose .faq-item{
  background:#fff;border-radius:20px;border:1px solid #f0e0e8;box-shadow:0 10px 26px rgba(180,99,127,.08);padding:22px 24px}
.kz-prose .section-title{font-family:var(--min);color:#fff;background:linear-gradient(135deg,var(--rose),var(--rose-dp));border-radius:14px;padding:14px 22px;display:inline-block}
.kz-prose .step-number{background:linear-gradient(135deg,var(--rose),var(--rose-dp));color:#fff;border-radius:50%}
.kz-prose .amount,.kz-prose .salary-card .amount{color:var(--rose-dp);font-family:var(--min)}

/* 本文中の写真帯 (素材写真を複合配置) */
.kz-photoband{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;max-width:980px;margin:50px auto 0}
.kz-photoband figure{margin:0;border-radius:20px;overflow:hidden;box-shadow:0 14px 30px rgba(180,99,127,.12);position:relative}
.kz-photoband img{width:100%;aspect-ratio:4/3;object-fit:cover;transition:transform .6s}
.kz-photoband figure:hover img{transform:scale(1.05)}
.kz-photoband figcaption{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(transparent,rgba(74,58,65,.7));color:#fff;font-size:.74rem;padding:18px 14px 10px;font-family:var(--min)}
@media(max-width:680px){.kz-photoband{grid-template-columns:1fr 1fr}}

/* ===== 関連記事 (kz-rel) ========================================== */
.kz-rel{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:1000px;margin:0 auto}
.kz-rel a{display:flex;flex-direction:column;text-decoration:none;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 14px 32px rgba(180,99,127,.09);transition:transform .4s,box-shadow .4s;border:1px solid #f3e6ec}
.kz-rel a:hover{transform:translateY(-7px);box-shadow:0 22px 44px rgba(180,99,127,.16)}
.kz-rel .thumb{height:150px;background:linear-gradient(135deg,var(--pink-bg),#fff);position:relative;overflow:hidden}
.kz-rel .thumb img{width:100%;height:100%;object-fit:cover;transition:transform .6s}
.kz-rel a:hover .thumb img{transform:scale(1.06)}
.kz-rel .thumb::after{content:"COLUMN";position:absolute;top:12px;left:14px;font-family:var(--klee);font-size:.62rem;letter-spacing:.18em;color:#fff;text-shadow:0 1px 4px rgba(74,58,65,.6);z-index:1}
.kz-rel .body{padding:18px 20px 22px;display:flex;flex-direction:column;gap:10px;flex:1}
.kz-rel .ttl{font-family:var(--min);font-weight:600;font-size:.98rem;color:var(--ink-st);line-height:1.6}
.kz-rel .more{margin-top:auto;font-size:.74rem;color:var(--rose-dp);font-family:var(--klee)}
.kz-rel .more::after{content:" \2192"}

/* ===== 末尾CTA (kz-end TOPと共通) ================================= */
.kz-end{position:relative;padding:100px 0;text-align:center;overflow:hidden;background:radial-gradient(80% 70% at 50% 0,rgba(236,196,209,.55),transparent 60%),linear-gradient(180deg,var(--cream),var(--pink-bg))}
.kz-end h2{font-family:var(--min);font-weight:600;font-size:clamp(1.7rem,4.2vw,2.7rem);line-height:1.7;margin-bottom:14px;color:var(--ink-st)}
.kz-end h2 em{font-style:normal;color:var(--rose-dp)}
.kz-end p{margin-bottom:30px;color:var(--gray)}
.kz-end .ctas{justify-content:center}

/* ===== レスポンシブ ===== */
@media(max-width:840px){
  .kz-subfv .wrap{grid-template-columns:1fr}
  .kz-subfv .photo{max-width:420px;margin:8px auto 0}
  .kz-rel{grid-template-columns:1fr}
}
