@charset "UTF-8";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700;900&display=swap');
/* ============================================================
   株式会社ヤサカ (O01286) site.combined.css
   CueZilla「追加CSS(AddCssInfo)」へ全文貼付。
   構成: 受領 typography.css / styles.css / recruit.css / work.css / interview.css / partner.css / sponsor.css / service.css / company.css / bloglist.css / blog.css / inquiry-form.css / privacy.css
   ※受領が全要素を自前styleするため汎用skinは不採用。画像は CueZilla CDN(WebP)。
   ============================================================ */

/* ===== typography.css ===== */
/* ===========================================================
   Typography Base — 共通タイポグラフィ定義
   基準: 1rem = 16px ／ 単位はすべて rem
   フォント: 'Zen Kaku Gothic New'（ウェイト 500 / 700 / 900 のみ）
   フルイドタイポグラフィ: ビューポート 320px〜1280px で可変
   最小フォントサイズ: 0.75rem (12px) — これ未満は使用しない
   =========================================================== */



:root{
  /* --- font family --- */
  --font-base: 'Zen Kaku Gothic New', sans-serif;

  /* --- font weight（500 / 700 / 900 のみ）--- */
  --fw-medium: 500;   /* 本文・キャプション */
  --fw-bold:   700;   /* H2 / H3・強調 */
  --fw-black:  900;   /* H1・主要見出し */

  /* --- 見出しフォントサイズ（fluid: clamp(最小, 可変, 最大)）---
     H1: 1.75rem (28px) 〜 2rem (32px)
     H2: 1.375rem (22px) 〜 1.625rem (26px)
     H3: 1.125rem (18px) 〜 1.25rem (20px)                       */
  --fs-h1: clamp(1.75rem,  1.6667rem + 0.4167vw, 2rem);
  --fs-h2: clamp(1.375rem, 1.2917rem + 0.4167vw, 1.625rem);
  --fs-h3: clamp(1.125rem, 1.0833rem + 0.2083vw, 1.25rem);

  /* --- 本文フォントサイズ ---
     PC: 1rem (16px) ／ スマホ: 0.875rem (14px) 〜 1rem (16px)    */
  --fs-body:  clamp(0.875rem, 0.8333rem + 0.2083vw, 1rem);
  --fs-small: 0.75rem; /* 最小サイズ (12px) */

  /* --- line-height / letter-spacing --- */
  --lh-heading: 1.3;
  --lh-body:    1.5;
  --ls-heading: 0.05em;
}

/* --- base --- */
html{
  font-size: 100%; /* = 16px = 1rem の基準 */
}
body{
  font-family: var(--font-base);
  font-weight: var(--fw-medium);          /* 本文は 500 */
  font-size: var(--fs-body);              /* スマホ 14px 〜 PC 16px */
  line-height: var(--lh-body);            /* 1.5 */
  color: #222827;
  font-feature-settings: "palt";          /* 和文の詰め（任意）*/
  -webkit-font-smoothing: antialiased;
}

/* PC（デスクトップ）は本文を 1rem (16px) に固定 */
@media (min-width: 1280px){
  body{ font-size: 1rem; }
}

/* ===========================================================
   見出し（Headings）
   共通: letter-spacing 0.05em ／ line-height 1.3
   =========================================================== */
h1, h2, h3,
.text-h1, .text-h2, .text-h3{
  line-height: var(--lh-heading);
  letter-spacing: var(--ls-heading);
}

h1, .text-h1{
  font-size: var(--fs-h1);
  font-weight: var(--fw-black);  /* 900 */
}
h2, .text-h2{
  font-size: var(--fs-h2);
  font-weight: var(--fw-bold);   /* 700 */
}
h3, .text-h3{
  font-size: var(--fs-h3);
  font-weight: var(--fw-bold);   /* 700 */
}

/* ===========================================================
   本文・補助テキスト（Body / Utilities）
   =========================================================== */
p, li, dd, dt, th, td, a, label, input, textarea, button, select{
  font-family: var(--font-base);
}

.text-body{
  font-size: var(--fs-body);
  line-height: var(--lh-body);
  font-weight: var(--fw-medium); /* 500 */
}

/* キャプション・注記（最小 0.75rem = 12px を下限とする）*/
small, .text-small, .caption{
  font-size: var(--fs-small);    /* 12px */
  line-height: var(--lh-body);
  font-weight: var(--fw-medium); /* 500 */
}

/* 強調は 700 */
strong, b, .text-strong{
  font-weight: var(--fw-bold);
}

/* ===========================================================
   ウェイト・ユーティリティ（500 / 700 / 900 のみ）
   =========================================================== */
.fw-medium{ font-weight: var(--fw-medium); } /* 500 */
.fw-bold  { font-weight: var(--fw-bold);   } /* 700 */
.fw-black { font-weight: var(--fw-black);  } /* 900 */

/* ===== styles.css ===== */
/* ===========================================================
   株式会社ヤサカ — TOP page
   現在のデザイン（クラモ）のトーン＆マナーを踏襲し、
   ヤサカのブランドカラー（緑#28BF28＋白）に最適化
   =========================================================== */

/* フォント定義は typography.css（Zen Kaku Gothic New）に集約 */

:root{
  --green:#28bf28;        /* ブランド：面・見出し・装飾 */
  --green-deep:#1a7a1a;   /* 白文字が乗る箇所（WCAG AA） */
  --green-darker:#136414; /* hover */
  --green-tint:#e9f6e6;
  --green-tint2:#dcefd8;
  --mint:#f1f8ef;
  --bg:#ffffff;
  --bg-soft:#daf3d1;
  --ink:#191919;
  --ink-strong:#10211a;
  --ink-soft:#191919;
  --line:#e0e8df;
  --white:#fff;

  --wrap:1200px;
  --pad:clamp(18px,4vw,28px);
  --disp:'Zen Kaku Gothic New', sans-serif;
  --body:'Zen Kaku Gothic New', sans-serif;
  --ease:cubic-bezier(.16,.84,.44,1);
}

*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--body);color:var(--ink);background:var(--bg);
  font-weight:500;line-height:1.85;font-size:16px;-webkit-font-smoothing:antialiased;overflow-x:hidden;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}
button{font-family:inherit;cursor:pointer;border:none;background:none}
:focus-visible{outline:3px solid var(--green-deep);outline-offset:3px;border-radius:0.25rem}

.wrap{max-width:var(--wrap);margin:0 auto;padding:0 var(--pad)}
.br-sp{display:none}

/* ---------- section header pattern ---------- */
.sec-head{display:flex;flex-direction:column}
.sec-jp{font-family:var(--disp);font-weight:700;color:var(--ink-strong);font-size:var(--fs-h2);line-height:var(--lh-heading);letter-spacing:var(--ls-heading);margin:0}
.sec-jp.white{color:#fff}
.sec-jp::before{content:"";width:9px;height:9px;background:var(--green);flex:none;border-radius:0.25rem}

/* ---------- circle arrow link ---------- */
.circle-link{display:inline-flex;align-items:center;gap:16px;font-family:var(--disp);font-weight:700;font-size:15px;color:var(--green-deep);min-height:44px}
.circle-link .label{position:relative;padding-bottom:4px}
.circle-link .label::after{content:"";position:absolute;left:0;right:0;bottom:0;border-bottom:2px dotted currentColor}
.circle-link .arr{width:48px;height:48px;border-radius:0.25rem;border:2px solid currentColor;display:grid;place-items:center;transition:.4s var(--ease)}
.circle-link .arr svg{transition:.4s var(--ease)}
.circle-link .arr path{stroke:currentColor}
.circle-link:hover .arr{background:var(--green-deep);border-color:var(--green-deep)}
.circle-link:hover .arr path{stroke:#fff}
.circle-link:hover .arr svg{transform:translateX(2px)}
.circle-link.white{color:#fff}

/* ---------- buttons ---------- */
.btn{
  display:inline-flex;align-items:center;justify-content:center;gap:12px;
  min-height:52px;padding:0 30px;font-family:var(--disp);font-weight:700;font-size:16px;
  border-radius:0.25rem;transition:.3s var(--ease);white-space:nowrap;
}
.btn .ico{display:inline-flex}
.btn-primary{background:var(--green-deep);color:#fff}
.btn-primary:hover{background:var(--green-darker);transform:translateY(-2px)}
.btn-accent{background:var(--green);color:#fff}
.btn-accent:hover{background:var(--green-deep);transform:translateY(-2px)}
.btn-ghost{background:#fff;color:var(--green-deep);border:2px solid var(--green-deep)}
.btn-ghost:hover{background:var(--green-deep);color:#fff}
.btn svg path,.btn svg line,.btn svg polyline{transition:.3s}
.btn .arr-r{transition:transform .3s var(--ease)}
.btn:hover .arr-r{transform:translateX(4px)}

/* 共通ピルボタン（ヒーロー＋フッターCTA） */
.pill-btn{
  display:block;box-sizing:content-box;text-align:center;vertical-align:middle;text-decoration:none;
  width:120px;margin:auto;padding:1rem 4rem;white-space:nowrap;
  font-family:var(--disp);font-weight:bold;font-size:16px;
  background-image:linear-gradient(to right,#008200 0%,#77c600 100%);
  border-radius:100vh;color:#fff;border:1px solid #fff;transition:.5s;
}
.pill-btn:hover{color:#fff;background-image:linear-gradient(to left,#008200 0%,#77c600 100%)}
/* ブログ署名のCVボタン：スマホ幅で .pill-btn の nowrap により文字が右へはみ出すのを解除＝折り返して中央に収める */
.signature_wrap .pill-btn{white-space:normal !important}

/* ===========================================================
   HEADER
   =========================================================== */
.site-header{position:fixed;top:0;left:0;right:0;z-index:50;display:flex;justify-content:space-between;align-items:stretch;pointer-events:none;background:#fff;box-shadow:0 1px 0 rgba(10,50,20,.06);transition:box-shadow .4s}
.site-header.scrolled{box-shadow:0 2px 20px rgba(0,40,10,.08)}
.site-header>*{pointer-events:auto}
.brand{display:flex;align-items:center;gap:13px;padding:9px 28px 9px var(--pad);background:#fff}
.brand .brand-logo{height:62px;width:auto;flex:none;object-fit:contain;display:block}
.brand .logo-mark{display:flex;align-items:center;gap:11px}
.brand .glyph{width:46px;height:46px;flex:none}
.brand .names{display:flex;flex-direction:column;line-height:1.15}
.brand .en{font-family:var(--disp);font-weight:700;font-size:22px;color:var(--green-deep);letter-spacing:.06em}
.brand .jp{font-size:11px;font-weight:700;color:var(--ink-soft);letter-spacing:.08em}

.nav-panel{background:var(--green-deep);color:#fff;display:flex;flex-direction:column}
.nav-top{display:flex;align-items:center;gap:20px;padding:9px 24px 7px;font-size:12px}
.nav-top .tel{display:flex;flex-direction:column;align-items:flex-start;gap:1px;line-height:1.2}
.nav-top .tel .tel-icon{display:none}
.nav-top .tel .lab{font-size:10.5px;font-weight:700;line-height:1.2}
.nav-top .tel .num{font-family:var(--disp);font-weight:700;font-size:21px;letter-spacing:.02em}
.nav-top .hours{font-size:10.5px;line-height:1.3;opacity:.92}
.nav-top .hours b{background:#fff;color:var(--green-deep);border-radius:0.25rem;padding:1px 6px;margin-right:6px;font-size:10px}
.nav-cta{display:flex;align-items:center;gap:7px;background:var(--green);font-weight:700;font-size:13px;padding:8px 16px;border-radius:0.25rem;min-height:40px}
.nav-cta:hover{background:#fff;color:var(--green-deep)}
.nav-cta:hover svg{stroke:#1a7a1a}
.nav-row{display:flex;align-items:center;gap:24px;padding:9px 24px 12px;border-top:1px solid rgba(255,255,255,.22)}
.nav-row a{position:relative;font-weight:700;font-size:14px;padding-left:13px;white-space:nowrap}
.nav-row a::before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:6px;height:6px;background:var(--green);border-radius:0.25rem}
.nav-row a .u{position:relative}
.nav-row a .u::after{content:"";position:absolute;left:0;bottom:-3px;width:100%;height:2px;background:var(--green);transform:scaleX(0);transform-origin:left;transition:.3s var(--ease)}
.nav-row a:hover .u::after{transform:scaleX(1)}
/* hover時も白文字のまま（下線のみ）。CueZillaテーマの a:hover 色を打ち消す */
.nav-row a,.nav-row a:hover,.nav-row a:focus,.nav-row a:hover .u,.nav-row a:focus .u{color:#fff !important}
/* 採用情報 ドロップダウン */
.nav-has-sub{position:relative;display:inline-flex;align-items:center}
.nav-has-sub > a::after{content:"\25BE";font-size:9px;margin-left:7px;opacity:.85}
.nav-sub{position:absolute;top:100%;left:-24px;min-width:230px;background:var(--green-deep);display:flex;flex-direction:column;padding:6px 0 14px;opacity:0;visibility:hidden;transform:translateY(6px);transition:.25s var(--ease);z-index:60}
.nav-has-sub:hover .nav-sub,.nav-has-sub:focus-within .nav-sub{opacity:1;visibility:visible;transform:none}
.nav-sub a{padding:11px 24px 11px 37px;font-size:14px;white-space:nowrap;min-height:auto}
.nav-sub a::before{display:none}
.burger{display:none}
/* ヘッダー右の余白：PCはナビが端に詰まらないよう左ロゴ(28px)と対称の右余白。
   スマホはハンバーガーを右端ぴったり(フルブリード)＝右側に色違いの緑が出ないよう余白を付けない。 */
@media (min-width:1001px){.nav-top,.nav-row{padding-right:28px}}

.mobile-nav{position:fixed;inset:0;background:var(--green-deep);z-index:60;display:flex;flex-direction:column;justify-content:center;gap:4px;padding:48px var(--pad);transform:translateX(100%);transition:.4s var(--ease)}
.mobile-nav.open{transform:none}
.mobile-nav a{color:#fff;font-family:var(--disp);font-weight:700;font-size:19px;padding:15px 0;border-bottom:1px solid rgba(255,255,255,.2);min-height:44px;display:flex;align-items:center}
.mobile-nav .m-cta{background:var(--green);justify-content:center;border:none;border-radius:0.25rem;margin-top:18px}
.mobile-nav .m-sub{padding-left:22px;font-size:16px;opacity:.9}
.mobile-nav .m-sub::before{content:"\2192 ";opacity:.7}
.mobile-nav .close{position:absolute;top:22px;right:22px;color:#fff;font-size:34px;border:none;min-height:44px}

/* ===========================================================
   HERO
   =========================================================== */
.hero{position:relative;min-height:100svh;display:flex;align-items:center;overflow:hidden;background:#0c3a17;padding:clamp(110px,16vh,160px) 0 clamp(40px,8vh,80px);box-sizing:border-box}
.hero-photo{position:absolute;inset:0;background:#0c3a17 url('https://cdn.cuezilla-cms.com/enjoyworks-test19.site/images/1427/hero-tower.webp') center 40%/cover no-repeat}
.hero-scrim{position:absolute;inset:0;background:
  linear-gradient(100deg,rgba(8,40,16,.66) 0%,rgba(8,40,16,.3) 40%,transparent 64%),
  linear-gradient(0deg,rgba(8,40,16,.5) 0%,transparent 34%)}

.hero-badges{position:absolute;right:3%;top:0;bottom:0;width:40%;pointer-events:none}
.hero-badge{position:absolute;display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.94);color:var(--green-deep);font-family:var(--disp);font-weight:700;font-size:14px;padding:11px 18px 11px 13px;border-radius:0.25rem;box-shadow:0 12px 30px rgba(10,50,20,.25)}
.hero-badge .bi{width:30px;height:30px;background:var(--green-deep);border-radius:0.25rem;display:grid;place-items:center;flex:none}
.hero-badge .bi svg{width:18px;height:18px}
.hb1{right:30%;top:24%}.hb2{right:4%;top:38%}.hb3{right:22%;top:54%}.hb4{right:8%;top:68%}.hb5{right:34%;top:80%}

.hero-copy{position:relative;z-index:5;width:100%}
.hero-eyebrow{display:inline-flex;align-items:center;gap:10px;color:#fff;font-family:var(--disp);font-weight:700;font-size:14px;letter-spacing:.14em;margin-bottom:20px;text-shadow:0 1px 6px rgba(0,0,0,.3)}
.hero-eyebrow::before{content:"";width:34px;height:2px;background:var(--green)}
.hero h1{color:#fff;font-family:var(--disp);font-weight:900;font-size:clamp(34px,6.2vw,72px);line-height:1.75;letter-spacing:.01em}
.hero h1 .hl{background-image:linear-gradient(90deg,#008200,#77c600);background-repeat:no-repeat;background-position:left center;background-size:100% 100%;-webkit-box-decoration-break:clone;box-decoration-break:clone;padding:0 .16em;border-radius:0;color:#fff}
.hero-lead{color:#fff;font-size:clamp(15px,1.7vw,18px);line-height:1.9;margin-top:22px;max-width:34em;text-shadow:0 1px 8px rgba(0,0,0,.32)}
.hero-cta{display:flex;flex-wrap:wrap;gap:14px;margin-top:34px}
.hero-cta .pill-btn{margin:0}

/* ===========================================================
   NEWS band
   =========================================================== */
.news{background:#fff;border-bottom:1px solid var(--line)}
.news .wrap{display:flex;align-items:center;gap:28px;min-height:74px;padding-top:8px;padding-bottom:8px}
.news .lab{display:flex;align-items:center;gap:10px;font-family:var(--disp);font-weight:700;color:var(--green-deep);font-size:15px;flex:none}
.news .lab .en{background:var(--green-deep);color:#fff;font-size:12px;padding:4px 12px;border-radius:0.25rem;letter-spacing:.08em}
.news-item{display:flex;align-items:baseline;gap:22px;flex:1;min-width:0}
.news-date{font-family:var(--disp);font-weight:700;color:var(--green-deep);font-size:14px;flex:none}
.news-cat{font-size:11px;font-weight:700;color:var(--green-deep);border:1px solid var(--green);border-radius:0.25rem;padding:1px 11px;flex:none}
.news-text{font-size:15px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.news .more{flex:none;font-family:var(--disp);font-weight:700;color:var(--green-deep);font-size:13px;display:inline-flex;align-items:center;gap:8px;min-height:44px}
.news .more:hover{gap:13px}

/* ===========================================================
   悩み・共感
   =========================================================== */
.worry{background:var(--bg-soft);padding:clamp(56px,8vw,96px) 0}
.worry-head{text-align:center;margin-bottom:50px}
.worry-head .sec-head{align-items:center}
.worry-head h2{font-family:var(--disp);font-weight:900;font-size:clamp(34px,7vw,65px);color:var(--ink-strong);margin-top:14px;line-height:1.4}
/* スクロール量に連動：background-clip:text のグラデーションを JS で走査 (#77c600 -> #191919) */
#worry-h, #reasons-h, #stats-h, #service-h, #blog-h{
  transition:opacity .8s var(--ease),transform .8s var(--ease);
  background-image:linear-gradient(90deg,#191919 48%,#77c600 52%);
  background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}
#reasons-h{font-size:clamp(34px,7vw,65px);font-weight:900}
.worry-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.worry-card{background:#fff;border-radius:0.25rem;padding:0;overflow:hidden}
.worry-card .tag{display:block;width:100%;text-align:center;background-image:linear-gradient(90deg,#008200,#77c600);background-repeat:no-repeat;background-position:left center;background-size:100% 100%;color:#fff;font-family:var(--disp);font-weight:700;font-size:clamp(18px,1.6vw,21px);letter-spacing:.04em;padding:16px 20px;border-radius:0;margin:0}
.worry-card .tag .n{width:34px;height:34px;border-radius:0.25rem;background:var(--green-tint);display:grid;place-items:center}
.worry-list{display:flex;flex-direction:column;gap:14px;padding:clamp(24px,3.5vw,40px)}
.worry-list li{display:flex;gap:13px;align-items:flex-start;list-style:none;font-size:15.5px;line-height:1.7}
.worry-list li .chk{flex:none;width:24px;height:24px;border-radius:0.25rem;background:var(--green-tint);display:grid;place-items:center;margin-top:3px}
.worry-list li .chk svg{width:13px;height:13px}
.worry-bridge{text-align:center;margin-top:46px}
.worry-bridge p{font-family:var(--disp);font-weight:700;font-size:clamp(18px,2.6vw,26px);color:var(--ink-strong);line-height:1.6}
.worry-bridge .em{color:var(--green-deep)}
.worry-bridge .down{display:inline-grid;place-items:center;width:54px;height:54px;border-radius:0.25rem;background:var(--green-deep);margin-top:24px}
.worry-bridge .down svg path{stroke:#fff}

/* ===========================================================
   選ばれる理由
   =========================================================== */
.reasons{padding:clamp(56px,8vw,100px) 0}
.reasons-top{display:flex;justify-content:center;text-align:center;align-items:flex-end;gap:24px;flex-wrap:wrap;margin-bottom:50px}
.reasons-top .tagline{text-align:right;max-width:30em}
.reasons-top .tagline .lead-tag{font-family:var(--disp);font-weight:700;font-size:clamp(18px,2.3vw,23px);color:var(--ink-soft);line-height:1.7;margin:14px 0 0}
.reasons-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:30px}
.reasons-cta{display:flex;justify-content:center;margin-top:clamp(36px,5vw,56px)}
.reason-card{background:#fff;border-radius:0.25rem;overflow:hidden;border:1px solid var(--line)}
.reason-card .media{height:200px;overflow:hidden}
.reason-card .media .ph{height:100%}
.reason-card .media img{width:100%;height:100%;object-fit:cover;display:block}
.reason-card .body{padding:28px 28px 32px}
.reason-card .num{font-family:var(--disp);font-weight:700;color:var(--green);font-size:14px;letter-spacing:.12em;display:flex;align-items:center;gap:10px;margin-bottom:12px}
.reason-card .num::after{content:"";flex:1;height:1px;background:var(--line)}
.reason-card h3{font-family:var(--disp);font-weight:700;font-size:21px;color:var(--ink-strong);line-height:1.4;margin-bottom:12px}
.reason-card p{font-size:14.5px;line-height:1.85;color:#191919}

/* ===========================================================
   つながるを止めない（事業の幅 / stats）
   =========================================================== */
.connect{position:relative;background:var(--green-deep);color:#fff;padding:0;overflow:hidden}
.connect::before{content:"";position:absolute;inset:0;background:
  radial-gradient(circle at 88% 18%,rgba(40,191,40,.5),transparent 38%),
  radial-gradient(circle at 10% 92%,rgba(40,191,40,.35),transparent 42%)}
.connect .net{position:absolute;inset:0;opacity:.16;pointer-events:none}
.connect .net svg{width:100%;height:100%}
.connect-grid{position:relative;z-index:2;display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.connect-text{position:relative;padding:clamp(60px,9vw,110px) clamp(32px,5vw,72px) clamp(60px,9vw,110px) max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)));background-image:linear-gradient(120deg, #191919, #28bf28, #191919, #1a7a1a);background-size:300% 300%;animation:connectGrad 10s ease-in-out infinite}
@media (prefers-reduced-motion: reduce){.connect-text{animation:none;background-image:linear-gradient(120deg, #191919, #28bf28, #191919, #1a7a1a)}}
.connect-media{position:relative;min-height:340px}
.connect-media .ph{position:absolute;inset:0;border-radius:0}
.connect-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.connect-lead{max-width:560px;margin-bottom:0}
.connect-lead .sec-head{margin-bottom:50px}
#connect-h{font-size:clamp(34px,7vw,65px);font-weight:900}
.connect-lead .lead-tag{font-family:var(--disp);font-weight:700;font-size:clamp(19px,2.6vw,28px);color:#fff;line-height:1.5;margin:14px 0 0;opacity:.96}
.connect-lead p{font-size:clamp(15px,1.6vw,17px);line-height:1.95;opacity:.95;max-width:40em}
.connect-points{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:18px;max-width:34em}
.connect-points li{position:relative;padding-left:18px;font-size:clamp(15px,1.6vw,17px);line-height:1.7;opacity:.96}
.connect-points li::before{content:"";position:absolute;left:0;top:.62em;width:7px;height:7px;border-radius:50%;background:#9be86a}
.connect-points .pt-key{display:block;font-family:var(--disp);font-weight:800;font-size:clamp(17px,2vw,20px);color:#fff;letter-spacing:.04em;margin-bottom:3px}
.stats-sec{background:var(--bg-soft);padding:clamp(56px,8vw,96px) 0}
.stats-sec #stats-h{margin-bottom:50px;font-size:clamp(34px,7vw,65px);font-weight:900;text-align:center}
.stats{display:grid;grid-template-columns:repeat(2,1fr);gap:18px}
.stat{background:#fff;border:1px solid var(--line);border-radius:0.25rem;padding:30px 22px;text-align:center}
.stat .big{font-family:var(--disp);font-weight:900;font-size:60px;color:var(--green-deep);line-height:1.1;display:block}
.stat .big .unit{font-size:40px;color:#191919}
.stat .lab{font-size:30px;color:#191919;margin-top:10px}
.connect-note{font-size:12px;color:var(--ink-soft);margin-top:18px}

/* ===========================================================
   業務案内
   =========================================================== */
.service{padding:0}
.service-pinwrap{position:relative}
.service-sticky{position:sticky;top:0;min-height:100vh;display:flex;flex-direction:column;justify-content:center;gap:clamp(28px,4vw,46px);overflow:hidden;padding:90px 0 40px;background:#fff}
.service-head{text-align:center;margin-bottom:0}
.service-head .sec-head{align-items:center}
#service-h{font-size:clamp(34px,7vw,65px);font-weight:900;text-align:center}
.service-head p{margin-top:14px;color:#191919;font-size:16px}
.service-scroller{overflow:hidden;padding-left:max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)))}
.service-track{display:flex;gap:24px;width:max-content;will-change:transform;padding-right:var(--pad)}
.svc-card{flex:0 0 360px;background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden}
.svc-card .media{height:220px;overflow:hidden}
.svc-card .media .ph{height:100%}
.svc-card .media img{width:100%;height:100%;object-fit:cover;display:block}
.svc-card .body{padding:26px 28px 30px}
.svc-card .k{font-family:var(--disp);font-weight:700;color:var(--green);font-size:12px;letter-spacing:.1em;margin-bottom:8px;display:flex;align-items:center;gap:10px}
.svc-card .k::after{content:"";flex:1;height:1px;background:var(--line)}
.svc-card h3{font-family:var(--disp);font-weight:800;font-size:20px;color:var(--ink-strong);line-height:1.4;margin-bottom:12px}
.svc-card p{font-size:14px;line-height:1.85;color:#191919}

/* ===========================================================
   コンテンツ誘導
   =========================================================== */
.guide{background:var(--bg-soft)}
.guide-grid{display:flex;flex-wrap:wrap;gap:0}
.guide-card{flex:1 1 220px;position:relative;background:#fff;border-radius:0;overflow:hidden;min-height:260px;display:flex;flex-direction:column;justify-content:flex-end;padding:24px 22px;transition:.4s var(--ease)}
.guide-card .gph{position:absolute;inset:0;background:linear-gradient(160deg,var(--green-tint),#cdeac6)}
.guide-card .gph img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.guide-card .gph::after{content:"";position:absolute;inset:0;background:linear-gradient(0deg,rgba(8,40,16,.5),transparent 60%)}
.guide-card:hover{box-shadow:inset 0 0 0 9999px rgba(8,40,16,.18)}
.guide-card .gt{position:relative;color:#fff;z-index:2}
.guide-card .gt .en{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.1em;opacity:.9;display:block;margin-bottom:4px}
.guide-card .gt .jp{font-family:var(--disp);font-weight:700;font-size:17px;display:flex;align-items:center;gap:8px}
.guide-card .gt .jp .arr-r{transition:transform .3s var(--ease)}
.guide-card:hover .gt .jp .arr-r{transform:translateX(4px)}

/* ===========================================================
   工事のご依頼CTA（連動グラデーション）
   =========================================================== */
.order-cta{padding:clamp(48px,7vw,80px) 0;background-image:linear-gradient(120deg, #191919, #28bf28, #191919, #1a7a1a);background-size:300% 300%;animation:connectGrad 10s ease-in-out infinite}
.order-cta .wrap{display:flex;flex-direction:column;align-items:center;gap:26px}
.order-cta-title{font-family:var(--disp);font-weight:900;color:#fff;font-size:clamp(24px,3.6vw,40px);line-height:1.4;text-align:center;letter-spacing:.02em}
.order-cta-btn{background:#fff;color:var(--green-deep);min-height:64px;padding:0 44px;font-size:clamp(16px,2vw,20px)}
.order-cta-btn:hover{background:rgba(255,255,255,.9);transform:translateY(-2px)}
@media (prefers-reduced-motion: reduce){.order-cta{animation:none;background-image:linear-gradient(120deg, #191919, #28bf28, #191919, #1a7a1a)}}

/* ===========================================================
   BLOG（記事）
   =========================================================== */
.blog{padding:clamp(56px,8vw,100px) 0}
.blog-top{text-align:center;margin-bottom:50px}
.blog-top .sec-head{align-items:center}
#blog-h{font-size:clamp(34px,7vw,65px);font-weight:900;text-align:center}
.blog-top p{color:#191919;font-size:16px;margin-top:14px}
.blog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:28px}
.blog-card{background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden;display:flex;flex-direction:column;transition:.4s var(--ease)}
.blog-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(10,50,20,.1)}
.blog-card .media{height:200px;overflow:hidden}
.blog-card .media .ph{height:100%}
.blog-card .media img{width:100%;height:100%;object-fit:cover;display:block}
.blog-card .media img.blog-logo{object-fit:contain;background:#f4f8f3;padding:24px}
.blog-card .body{padding:22px 24px 26px;display:flex;flex-direction:column;gap:10px;flex:1}
.blog-card .meta{display:flex;align-items:center;gap:12px}
.blog-card .date{font-family:var(--disp);font-weight:700;color:var(--green-deep);font-size:13px}
.blog-card .cat{font-size:11.5px;font-weight:700;color:var(--green-deep);border:1px solid var(--green);border-radius:20px;padding:1px 12px}
.blog-card h3{font-family:var(--disp);font-weight:700;font-size:17px;line-height:1.6;color:var(--ink-strong)}
.blog-card .more{margin-top:auto;font-family:var(--disp);font-weight:700;color:var(--green-deep);font-size:13px;display:inline-flex;align-items:center;gap:8px;transition:.3s}
.blog-card:hover .more{gap:13px}
.blog .foot{display:flex;justify-content:center;margin-top:50px}

/* ===== [追補] TOPのブログ動的パーツ(design-parts-11)を受領デザイン(.blogカード)に合わせる ===== */
/* CueZillaのピックアップ投稿パーツ(Bootstrap系)を、受領の .blog-card と同じ体裁へ上書き（高詳細度の素CSSを打ち消すため !important）。 */
.design-parts-11{padding:clamp(56px,8vw,100px) 0 !important;background:#fff !important}
.design-parts-11 .container{max-width:1180px}
.design-parts-11 .header-wrap{text-align:center !important;margin-bottom:50px !important}
.design-parts-11 .header{font-family:var(--disp) !important;font-weight:900 !important;font-size:clamp(34px,7vw,65px) !important;color:var(--ink-strong) !important;text-align:center !important;line-height:1.1 !important}
.design-parts-11 .subheader{color:#191919 !important;font-size:16px !important;margin-top:14px !important;line-height:1.8 !important}
.design-parts-11 ul.row>li{margin-bottom:28px}
.design-parts-11 ul.row>li>a{display:flex !important;flex-direction:column !important;align-items:stretch !important;background:#fff !important;border:1px solid var(--line) !important;border-radius:.25rem !important;overflow:hidden !important;padding:0 !important;height:100% !important;transition:.4s var(--ease) !important}
/* 記事カード内の画像は上のみ角丸（カードの角丸.25remに揃える）・下は直角。
   既定は image_area が全角10pxで下も丸かったのを 0 に。上はカードのクリップ(4px)と合わせ隙間を出さない。 */
.design-parts-11 .image_area{border-radius:.25rem .25rem 0 0 !important}
.design-parts-11 ul.row>li>a:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(10,50,20,.1)}
/* a直下の div は「画像エリア＋card-foot-area」のラッパー。height/overflowを当てると本文が切れるため通常フロー・全幅に戻す */
.design-parts-11 ul.row>li>a>div:first-child{height:auto !important;overflow:visible !important;margin:0 !important;padding:0 !important;width:100% !important;display:block !important}
/* 画像エリア＝ラッパー内の最初の子 を 200px・はみ出し隠し */
.design-parts-11 ul.row>li>a>div:first-child>:first-child{height:200px !important;overflow:hidden !important;width:100% !important;display:block !important;margin:0 !important}
.design-parts-11 ul.row>li>a>div:first-child>:first-child img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}
.design-parts-11 .card-foot-area{display:block !important;padding:22px 24px 26px !important}
.design-parts-11 .card-foot-area .date{display:inline-block !important;vertical-align:middle;font-family:var(--disp) !important;font-weight:700 !important;color:var(--green-deep) !important;font-size:13px !important;margin:0 12px 0 0 !important}
.design-parts-11 .card-foot-area .categorytag{display:inline-block !important;vertical-align:middle;font-size:11.5px !important;font-weight:700 !important;color:var(--green-deep) !important;background:transparent !important;border:1px solid var(--green) !important;border-radius:20px !important;padding:1px 12px !important;margin:0 !important}
.design-parts-11 .card-foot-area .d-inline-block{display:block !important;font-family:var(--disp) !important;font-weight:700 !important;font-size:17px !important;line-height:1.6 !important;color:var(--ink-strong) !important;margin:12px 0 0 !important}

/* ===== [追補] TOP NEWS(design-parts-52)：帯=緑・角丸、白地／PCは帯と日付を同一行で中央揃え・上下余白控えめ／タブレットはデバイス幅に余白／スマホは左揃え＋余白控えめ ===== */
/* 既定はオレンジ帯(#ffcc44)・角丸0・余白0。受領トンマナ(濃緑#1a7a1a)に合わせる。
   .content は flex(align-items:center) なので帯(.banner-area)に margin-bottom を付けると縦位置がズレる→付けない。 */
.design-parts-52{background:#fff !important;padding:clamp(16px,2.5vw,28px) 0 !important}
.design-parts-52 .banner-area{background:#1a7a1a !important;border-radius:8px !important;margin-bottom:0 !important}
/* タブレット以下：コンテナ最大幅(1280px)未満でデバイス端に余白が無いため左右余白を付与 */
@media (max-width:1280px){
  .design-parts-52 .container{padding-left:clamp(16px,4vw,24px) !important;padding-right:clamp(16px,4vw,24px) !important}
}
@media (max-width:760px){
  /* タブレット縦〜スマホ：横並び(.content flex)のままだと帯と項目が詰まって崩れる(〜558px等)ため縦積みに。
     帯はフル幅、帯ラベル・項目を左揃え（既定は中央寄せ＋深いインデント）。帯下に余白。 */
  .design-parts-52 .content{flex-direction:column !important;align-items:stretch !important}
  .design-parts-52 .banner-area{text-align:left !important;justify-content:flex-start !important;margin-bottom:14px !important}
  .design-parts-52 ul{padding-left:0 !important;margin-left:0 !important;list-style:none !important}
  .design-parts-52 li,.design-parts-52 .parts-52-textarea,.design-parts-52 a{padding-left:0 !important;margin-left:0 !important;text-align:left !important}
  .design-parts-52 .date,.design-parts-52 .d-inline-block{text-align:left !important}
}

/* ===========================================================
   ダブルCTA
   =========================================================== */
.dualcta{position:relative;padding:clamp(60px,9vw,110px) 0;background:var(--bg-soft);overflow:hidden}
.dualcta .wrap{position:relative;z-index:2}
.dualcta-head{text-align:center;margin-bottom:50px}
.dualcta-head h2{font-family:var(--disp);font-weight:700;font-size:clamp(24px,3.6vw,38px);color:var(--ink-strong);line-height:1.4}
.dualcta-grid{display:grid;grid-template-columns:1fr 1fr;gap:26px}
.cta-panel{position:relative;border-radius:0.25rem;overflow:hidden;padding:clamp(32px,4vw,48px);color:#fff;display:flex;flex-direction:column;min-height:240px}
.cta-panel.order{background:var(--green-deep)}
.cta-panel.recruit{background:var(--green)}
.cta-panel .pic{position:absolute;inset:0;opacity:.18}
.cta-panel .ck{position:relative;font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.12em;opacity:.92;margin-bottom:12px}
.cta-panel h3{position:relative;font-family:var(--disp);font-weight:700;font-size:clamp(22px,3vw,30px);line-height:1.4;margin-bottom:12px}
.cta-panel p{position:relative;font-size:14px;line-height:1.85;opacity:.95;margin-bottom:auto}
.cta-panel .btn{position:relative;align-self:flex-start;margin-top:26px;background:#fff;color:var(--green-deep)}
.cta-panel .btn:hover{background:rgba(255,255,255,.88);transform:translateY(-2px)}
.cta-panel .tel-inline{position:relative;font-family:var(--disp);font-weight:700;font-size:20px;margin-top:14px;display:flex;align-items:center;gap:10px}

/* ===========================================================
   FOOTER
   =========================================================== */
.site-footer{background:#1a7a1a;color:#fff}
.foot-main{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.foot-left{display:flex;flex-direction:column;justify-content:space-between;gap:48px;padding:clamp(48px,6vw,72px) clamp(32px,5vw,64px) clamp(48px,6vw,72px) max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)))}
.foot-brand .logo-mark{display:flex;align-items:center;gap:12px;margin-bottom:18px}
.foot-brand .foot-logo-img{height:62px;width:auto;display:block}
.foot-brand .names{display:flex;flex-direction:column;line-height:1.2}
.foot-brand .glyph{width:48px;height:48px}
.foot-brand .en{font-family:var(--disp);font-weight:700;font-size:24px;letter-spacing:.06em}
.foot-brand .jp{font-size:12px;opacity:.8}
.foot-brand address{font-style:normal;font-size:13.5px;line-height:2;opacity:.9}
.foot-actions{display:flex;flex-direction:column;align-items:flex-start;gap:12px}
.foot-actions .pill-btn{margin:0}

/* 右側ナビ（#71c300・nav.png スタイル：縦を均等割り） */
.foot-right{display:flex;flex-direction:column;padding:50px clamp(32px,5vw,64px) 50px clamp(32px,5vw,56px)}
.foot-nav-item{flex:1;display:flex;align-items:center;gap:16px;border-bottom:1px solid rgba(255,255,255,.45);color:#fff;transition:.3s var(--ease)}
.foot-nav-item:first-child{border-top:1px solid rgba(255,255,255,.45)}
.foot-nav-item .jp{font-family:var(--disp);font-weight:900;font-size:clamp(20px,2.2vw,28px);line-height:1.1;letter-spacing:.02em}
.foot-nav-item .en{font-family:var(--disp);font-weight:800;font-size:clamp(11px,1.1vw,14px);letter-spacing:.06em;opacity:.85}
.foot-nav-item:hover{color:#fff;padding-left:10px}
.foot-bottom{border-top:1px solid rgba(255,255,255,.14);padding:22px 0;font-size:12px;opacity:.7}
.foot-bottom .wrap{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap}
.foot-bottom a{opacity:.85}.foot-bottom a:hover{opacity:1;color:#bff7b0}

/* ===========================================================
   PHOTO PLACEHOLDER
   =========================================================== */
.ph{position:relative;background:linear-gradient(135deg,#e8f1e6,#d3e6d0);overflow:hidden}
.ph::after{content:"";position:absolute;left:50%;top:50%;width:40px;height:32px;transform:translate(-50%,-50%);opacity:.55;
  background:no-repeat center/contain url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 42 34'><rect x='1' y='1' width='40' height='32' rx='3' fill='none' stroke='%231a7a1a' stroke-width='2'/><circle cx='13' cy='12' r='4' fill='%231a7a1a'/><path d='M5 30l11-12 7 7 8-9 6 6v8z' fill='%231a7a1a'/></svg>")}
.ph.sky{background:linear-gradient(180deg,#9fd2ec,#cfe6d2)}

/* ===========================================================
   ANIMATIONS  (visible by default; hidden only with .js + no reduced-motion)
   =========================================================== */
.line-rev{display:block;overflow:hidden}
@media (prefers-reduced-motion: no-preference){
  .js .reveal{opacity:0;transform:translateY(34px);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .js .reveal.in{opacity:1;transform:none}
  .js .line-rev>span{display:block;transform:translateY(110%);transition:transform .9s var(--ease)}
  .js .line-rev.in>span{transform:translateY(0)}

  /* h2 見出し：スクロールで文字色 #77c600 → #191919（緑背景の白見出しは #fff で着地）*/
  .js h2:not(.white){color:#77c600;transition:color .9s var(--ease)}
  .js h2:not(.white).in{color:#191919}
  .js .sec-jp.white{color:#77c600;transition:color .9s var(--ease)}
  .js .sec-jp.white.in{color:#fff}

  /* 「働き先をお探しの方へ」「発注をお考えの方へ」帯が左→右に流れる (#008200 -> #77c600) */
  .js .worry-card .tag{background-size:0% 100%;transition:background-size .9s var(--ease)}
  .js .worry-card.in .tag{background-size:100% 100%;transition-delay:.2s}

  .js .hero-eyebrow,.js .hero h1,.js .hero-lead,.js .hero-cta{opacity:0;transform:translateY(36px);transition:opacity .9s var(--ease),transform .9s var(--ease)}
  .js .hero.ready .hero-eyebrow{opacity:1;transform:none;transition-delay:.15s}
  .js .hero.ready .hero h1,.js .hero.ready h1{opacity:1;transform:none;transition-delay:.3s}
  .js .hero h1 .hl{background-size:0% 100%;transition:background-size 1s var(--ease)}
  .js .hero.ready h1 .hl{background-size:100% 100%;transition-delay:1.15s}
  .js .hero.ready h1 .hl2{transition-delay:1.6s}
  .js .hero.ready .hero-lead{opacity:1;transform:none;transition-delay:.5s}
  .js .hero.ready .hero-cta{opacity:1;transform:none;transition-delay:.66s}

  .js .hero-badge{opacity:0;transform:translateY(30px) scale(.85);transition:opacity .8s var(--ease),transform .8s var(--ease)}
  .js .hero.ready .hero-badge{opacity:1;transform:none}
  .js .hero.ready .hb1{transition-delay:.7s}.js .hero.ready .hb2{transition-delay:.82s}
  .js .hero.ready .hb3{transition-delay:.94s}.js .hero.ready .hb4{transition-delay:1.06s}
  .js .hero.ready .hb5{transition-delay:1.18s}
  .badge-float{animation:bfloat 5s ease-in-out infinite}
}
@keyframes bfloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes connectGrad{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
.stagger>*{transition-delay:var(--d,0s)}

/* ===========================================================
   下層ページ 共通（ヒーロー＋コンテンツ枠）
   =========================================================== */
.lower-hero{position:relative;background:#e9f6e6 url('https://cdn.cuezilla-cms.com/enjoyworks-test19.site/images/1427/head.webp') center/cover no-repeat;padding:clamp(92px,11vw,128px) 0 clamp(38px,6vw,70px)}
.lower-hero .wrap{position:relative;z-index:2}
.lower-bc{display:flex;flex-wrap:wrap;align-items:center;gap:9px;font-size:13px;font-weight:700;color:#1a7a1a;margin-bottom:clamp(26px,5vw,60px)}
.lower-bc a{color:#1a7a1a;opacity:.82;transition:opacity .25s}
.lower-bc a:hover{opacity:1;text-decoration:underline}
.lower-bc .sep{opacity:.55}
.lower-bc .cur{opacity:.7;font-weight:500}
.lower-title{display:flex;align-items:center;gap:clamp(12px,1.7vw,24px)}
.lower-title .mark{width:clamp(50px,6vw,86px);height:auto;flex:none}
.lower-title .ttl{display:flex;flex-direction:column}
/* 詳細ページでは site.js が #lower-title を h1→h2 に降格（記事タイトルを唯一のh1にするため）。
   h2 になると汎用 .js h2:not(.white) の緑色が乗るため、大きさ・黒文字を一覧(h1)と揃えて固定（色は!important＋text-fillで上書き）。 */
.lower-title h1,.lower-title h2{font-family:var(--disp);font-weight:900;color:#191919 !important;-webkit-text-fill-color:#191919 !important;font-size:clamp(32px,6vw,64px);line-height:1.18;letter-spacing:.04em;margin:0}
.lower-title .en{font-size:clamp(11px,1.2vw,14px);font-weight:700;letter-spacing:.16em;color:#1a7a1a;opacity:.62;margin-top:7px}

.content-area{padding:clamp(50px,7vw,92px) 0;min-height:240px}
.content-placeholder{border:2px dashed var(--line);border-radius:0.25rem;padding:clamp(44px,8vw,96px) var(--pad);text-align:center;color:var(--ink-soft);font-family:var(--disp);font-weight:700;line-height:1.9}
.content-placeholder small{display:block;font-weight:500;font-size:13px;opacity:.8;margin-top:10px}


/* ===========================================================
   RESPONSIVE
   =========================================================== */
@media (max-width:1000px){
  .nav-row,.nav-top .hours{display:none}
  .nav-panel{flex-direction:row;align-items:center}
  .nav-top{padding:12px 16px}
  .burger{display:grid;place-items:center;width:54px;align-self:stretch;background:var(--green-darker);border:none}
  .burger span{width:24px;height:2px;background:#fff;position:relative}
  .burger span::before,.burger span::after{content:"";position:absolute;left:0;width:24px;height:2px;background:#fff}
  .burger span::before{top:-7px}.burger span::after{top:7px}
  .hero-badges{display:none}
  /* タブレット時：大見出しを 7vw → 6vw */
  .worry-head h2,#reasons-h,#stats-h,#service-h,#blog-h,#connect-h{font-size:clamp(34px,6vw,65px)}
}
@media (min-width:761px) and (max-width:1000px){
  /* タブレット：数字カードのテキストが改行されないよう調整 */
  .stat .big{font-size:clamp(38px,5.4vw,52px)}
}
@media (max-width:760px){
  .reasons-grid,.blog-grid{grid-template-columns:1fr 1fr}
  .stats{grid-template-columns:1fr}
  .worry-grid,.dualcta-grid{grid-template-columns:1fr}
  .connect-grid{grid-template-columns:1fr}
  .connect-media{min-height:240px;order:-1}
  .reasons-top .tagline{text-align:left}
  .foot-main{grid-template-columns:1fr}
  .foot-left{padding:48px var(--pad)}
  .foot-right{padding:0 var(--pad)}
  .foot-nav-item{padding:18px 0}
  .news .wrap{flex-wrap:wrap;min-height:0;gap:12px}
  .news-item{flex-wrap:wrap;gap:8px 14px}
  .news .more{margin-left:auto}
}
@media (max-width:480px){
  .reasons-grid,.blog-grid{grid-template-columns:1fr}
  .hero-cta .btn{width:100%}
  .ba .ph{height:104px}
}
@media (max-width:560px){
  /* スマホ：ヘッダーの電話番号・お問い合わせをアイコン化 */
  .nav-top{gap:6px;width:54px;justify-content:center;padding:0;align-self:stretch}
  /* ヒーロー見出し：各行が改行されないサイズ＋上に余白 */
  .hero h1{font-size:clamp(21px,6.6vw,30px);line-height:1.7;margin-top:clamp(20px,7vw,40px)}
  .nav-top .tel{flex-direction:row;align-items:center}
  .nav-top .tel .lab,.nav-top .tel .num{display:none}
  .nav-top .tel .tel-icon{display:grid;place-items:center;width:44px;height:44px;border-radius:0.25rem}
  .nav-cta{gap:0;padding:0;width:44px;height:44px;min-height:44px;justify-content:center;background:transparent}
  .nav-cta:hover{background:transparent}
  .nav-cta:hover svg{stroke:#fff}
  .nav-cta .cta-txt{display:none}
  .nav-top .tel{display:none}
  .brand{padding:8px 14px 8px var(--pad)}
  .brand .brand-logo{height:42px}
  /* スマホのみ「こんな悩み、」で改行 */
  .br-sp{display:inline}
}

/* ===== recruit.css ===== */
/* ===========================================================
   採用トップ（/recruit）専用スタイル
   TOPのトーン＆マナー（緑#28bf28 / #1a7a1a・Zen Kaku）を踏襲
   共通: styles.css（pill-btn・lower-hero・reveal 等）
   =========================================================== */

.rc-sec{padding:clamp(56px,8vw,100px) 0}
.rc-sec.alt{background:var(--bg-soft)}
.rc-sec.tint{background:var(--green-tint)}

/* 見出し色：共通styles.cssの h2 スクロール演出（#77c600→）を上書きし即時可読に */
#main-content .rc-head h2{color:var(--ink-strong);-webkit-text-fill-color:var(--ink-strong)}
#main-content .rc-mv h2{color:var(--green-deep);-webkit-text-fill-color:var(--green-deep)}
#main-content .rc-entry h2{color:#191919;-webkit-text-fill-color:#191919}

/* タイトルのスクロール連動アニメ（TOP「こんな悩み」と同じ／background-clip:text） */
#main-content #salary-h,
#main-content #perks-h,
#main-content #jobs-h,
#main-content #outline-h,
#main-content #welfare-h{
  background-image:linear-gradient(90deg,#191919 48%,#77c600 52%);
  background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* セクション見出し */
.rc-head{text-align:center;margin-bottom:clamp(36px,5vw,54px)}
.rc-head .en{display:block;font-family:var(--disp);font-weight:800;color:var(--green);font-size:14px;letter-spacing:.16em;margin-bottom:10px}
.rc-head h2{font-family:var(--disp);font-weight:900;color:var(--ink-strong);font-size:clamp(26px,4.4vw,44px);line-height:1.35;letter-spacing:.04em;margin:0}
.rc-head p{margin-top:16px;color:var(--ink-soft);font-size:15px;line-height:1.9}

/* ---------- 1. MV 導入 ---------- */
.rc-mv{padding:clamp(54px,8vw,96px) 0;text-align:center}
.rc-mv .en{display:block;font-family:var(--disp);font-weight:800;color:var(--green);font-size:14px;letter-spacing:.16em;margin-bottom:18px}
.rc-mv h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,5vw,52px);line-height:1.5;color:var(--ink-strong);letter-spacing:.03em;margin:0 auto;max-width:20em}
.rc-mv h2 .mk{background-image:linear-gradient(transparent 62%,#cdf2a6 62%);padding:0 .08em}
.rc-mv .lead{margin-top:26px;font-size:clamp(15px,1.8vw,18px);font-weight:700;color:var(--green-deep);line-height:1.9}
.rc-mv .cta{margin-top:34px;display:flex;justify-content:center}

/* ---------- 2. 年収例 ---------- */
.rc-salary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rc-salary-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:0.25rem;padding:40px 28px 36px;text-align:center;overflow:hidden}
.rc-salary-card::before{content:"";position:absolute;left:0;top:0;right:0;height:6px;background:linear-gradient(to right,#008200,#77c600)}
.rc-salary-card .badge{display:inline-block;font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.12em;color:#fff;background:var(--green);border-radius:100vh;padding:5px 18px;margin-bottom:16px}
.rc-salary-card .cond{font-size:13.5px;color:var(--ink-soft);line-height:1.7;min-height:3.4em;display:flex;align-items:center;justify-content:center}
.rc-salary-card .amount{font-family:var(--disp);font-weight:900;color:var(--green-deep);line-height:1;font-size:clamp(42px,6.4vw,72px);margin-top:8px}
.rc-salary-card .amount .yen{font-size:.4em;color:var(--ink-strong);margin-left:.04em}
.rc-salary-card .amount .unit{font-size:.4em;color:var(--ink-strong);margin-left:.04em}
.rc-salary-card .real{display:inline-block;margin-top:14px;font-size:12px;font-weight:700;color:var(--green-deep);background:var(--green-tint);border-radius:100vh;padding:3px 12px}
.rc-salary-break{list-style:none;margin:18px 0 0;padding:14px 16px;background:var(--green-tint);border-radius:0.4rem;text-align:left;display:flex;flex-direction:column;gap:8px}
.rc-salary-break li{display:flex;justify-content:space-between;align-items:baseline;gap:10px;font-size:13.5px;line-height:1.5}
.rc-salary-break li:not(:last-child){border-bottom:1px dashed rgba(0,130,0,.28);padding-bottom:8px}
.rc-salary-break .bk-l{font-weight:700;color:var(--green-deep);white-space:nowrap}
.rc-salary-break .bk-v{font-weight:700;color:var(--ink-strong)}
.rc-salary-note{text-align:center;margin-top:32px;font-family:var(--disp);font-weight:800;font-size:clamp(16px,2vw,20px);color:var(--ink-strong)}
.rc-salary-note b{color:var(--green-deep)}

/* ---------- 2-b. ここで働く、3つの理由 ---------- */
.rc-why{margin-top:clamp(48px,7vw,80px)}
.rc-why .rc-head{margin-bottom:clamp(28px,4vw,44px)}
.rc-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.rc-why-card{background:#fff;border:1px solid var(--line);border-radius:0.4rem;padding:36px 28px;text-align:center}
.rc-why-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;border-radius:50%;background:var(--green-tint);color:var(--green-deep);margin-bottom:18px}
.rc-why-icon svg{width:36px;height:36px}
.rc-why-card h3{font-family:var(--disp);font-weight:800;font-size:clamp(18px,2.4vw,21px);color:var(--ink-strong);margin-bottom:10px;letter-spacing:.04em}
.rc-why-card p{font-size:15px;line-height:1.7;color:var(--ink)}
@media (max-width:760px){
  .rc-why-grid{grid-template-columns:1fr;gap:16px}
}

/* ---------- 3. 待遇・特筆手当 ---------- */
.rc-perks-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}
.rc-perk{background:#fff;border-radius:0.25rem;border:1px solid var(--line);overflow:hidden;box-shadow:0 14px 36px rgba(10,50,20,.05)}
.rc-perk .media{position:relative;height:200px;overflow:hidden}
.rc-perk .media .ph{height:100%}
.rc-perk .body{padding:26px 30px 30px}
.rc-perk h3{font-family:var(--disp);font-weight:800;font-size:19px;color:var(--ink-strong);line-height:1.45;margin-bottom:10px}
.rc-perk p{font-size:14px;line-height:1.85;color:var(--ink-soft)}
.rc-perk .hot{position:absolute;left:14px;top:14px;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.08em;color:#fff;background:var(--green-deep);border-radius:100vh;padding:5px 14px}

/* ---------- 4. 募集職種 ---------- */
.rc-jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;max-width:760px;margin:36px auto 0}
.rc-job{background:#fff;border:1px solid var(--line);border-radius:0.25rem;padding:32px 26px;text-align:center}
.rc-job .ic{width:54px;height:54px;margin:0 auto 14px;display:grid;place-items:center;border-radius:50%;background:var(--green-tint)}
.rc-job .ic svg{width:30px;height:30px;stroke:var(--green-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rc-job h3{font-family:var(--disp);font-weight:800;font-size:clamp(18px,2.2vw,22px);color:var(--ink-strong);line-height:1.4}
.rc-job .en{display:block;font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--green);margin-top:6px}
.rc-jobs-cta{margin-top:36px;display:flex;justify-content:center}

/* ---------- 5. 募集要項テーブル ---------- */
.rc-table-wrap{max-width:920px;margin:0 auto}
.rc-table{width:100%;border-collapse:collapse;background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden}
.rc-table th,.rc-table td{padding:24px 28px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);font-size:15px;line-height:1.9}
.rc-table th{width:240px;background:#1a7a1a;color:#fff;font-family:var(--disp);font-weight:800;white-space:nowrap}
.rc-table td b{color:var(--green-deep);font-weight:800}
.rc-table .amt{font-family:var(--disp);font-weight:900;color:var(--green-deep);font-size:20px}
/* 募集要項セクション背景 */
.rc-outline{background:#daf3d1}
.rc-outline-cta{display:flex;justify-content:center;flex-wrap:wrap;gap:18px;margin-top:36px}
.rc-outline-cta .pill-btn{margin:0}
.rc-table tr:last-child th,.rc-table tr:last-child td{border-bottom:none}

/* ---------- 6. 福利厚生・諸手当 ---------- */
.rc-welfare-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.rc-wcard{background:#fff;border:1px solid var(--line);border-radius:0.25rem;padding:28px 22px 26px;text-align:center}
.rc-wcard .no{font-family:var(--disp);font-weight:900;color:var(--green);font-size:12px;letter-spacing:.14em}
.rc-wcard .ic{width:52px;height:52px;margin:12px auto 14px;display:grid;place-items:center;border-radius:50%;background:var(--green-tint)}
.rc-wcard .ic svg{width:28px;height:28px;stroke:var(--green-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.rc-wcard h3{font-family:var(--disp);font-weight:800;font-size:15.5px;color:var(--ink-strong);line-height:1.45}
.rc-wcard p{font-size:12.5px;line-height:1.75;color:var(--ink-soft);margin-top:8px}

/* ---------- 導線バナー（仕事を知る / インタビュー） ---------- */
.rc-banner{display:grid;grid-template-columns:1fr 1fr;gap:24px}
.rc-bcard{position:relative;display:flex;flex-direction:column;justify-content:center;gap:6px;min-height:210px;padding:clamp(32px,4vw,48px);border-radius:0.25rem;overflow:hidden;color:#fff;transition:.4s var(--ease)}
.rc-bcard.work{background:var(--green-deep)}
.rc-bcard.interview{background:var(--green)}
.rc-bcard:hover{transform:translateY(-6px);box-shadow:0 24px 50px rgba(10,50,20,.18)}
.rc-bcard .en{font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.14em;opacity:.9}
.rc-bcard h3{font-family:var(--disp);font-weight:900;font-size:clamp(20px,2.6vw,28px);line-height:1.4}
.rc-bcard p{font-size:13.5px;line-height:1.8;opacity:.95;margin-top:4px}
.rc-bcard .arrow{margin-top:14px;font-family:var(--disp);font-weight:800;display:inline-flex;align-items:center;gap:8px}
.rc-bcard .arrow .a{transition:transform .3s var(--ease)}
.rc-bcard:hover .arrow .a{transform:translateX(5px)}

/* ---------- 最下部 エントリーCTA ---------- */
.rc-entry{position:relative;background:#e9f6e6 url('https://cdn.cuezilla-cms.com/enjoyworks-test19.site/images/1427/bg_form.webp') center/cover no-repeat;color:#191919;text-align:center;padding:clamp(60px,9vw,110px) 0;overflow:hidden}
.rc-entry::before{content:none}
.rc-entry .wrap{position:relative;z-index:2}
.rc-entry .en{display:block;font-family:var(--disp);font-weight:800;font-size:14px;letter-spacing:.16em;color:var(--green-deep);margin-bottom:14px}
.rc-entry h2{font-family:var(--disp);font-weight:900;font-size:clamp(26px,4.4vw,46px);line-height:1.4;letter-spacing:.03em}
.rc-entry p{margin-top:18px;font-size:clamp(15px,1.7vw,17px);line-height:1.9;color:#191919}
.rc-entry .cta{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:16px}
.pill-btn.on-dark{background-image:none;background:#fff;color:var(--green-deep);border-color:#fff}
.pill-btn.on-dark:hover{background:#eafbe6;color:var(--green-darker)}
.rc-entry .pill-btn.on-dark{width:auto;margin:0;background-image:linear-gradient(to right,#008200 0%,#77c600 100%);background-color:transparent;color:#fff;border-color:#fff}
.rc-entry .pill-btn.on-dark:hover{background-image:linear-gradient(to left,#008200 0%,#77c600 100%);color:#fff}
.rc-entry .tel-big{font-family:var(--disp);font-weight:900;font-size:clamp(22px,3vw,30px);letter-spacing:.02em;display:inline-flex;align-items:center;gap:10px;color:var(--green-deep)}
.rc-entry .tel-big svg{stroke:var(--green-deep)}
.rc-entry .tel-note{font-size:12.5px;color:#191919;opacity:.75;margin-top:-6px}

/* ---------- レスポンシブ ---------- */
@media (max-width:860px){
  .rc-welfare-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .rc-salary-grid,.rc-perks-grid{grid-template-columns:1fr}
  .rc-jobs-grid{grid-template-columns:1fr 1fr}
  .rc-banner{grid-template-columns:1fr}
  /* 募集要項テーブルを縦積み */
  .rc-table,.rc-table tbody,.rc-table tr,.rc-table th,.rc-table td{display:block;width:100%}
  .rc-table th{border-bottom:none;padding-top:14px;padding-bottom:14px;display:flex;align-items:center;min-height:0}
  .rc-table td{padding-top:12px}
}
@media (max-width:480px){
  .rc-jobs-grid,.rc-welfare-grid{grid-template-columns:1fr}
}

/* ===== work.css ===== */
/* ===========================================================
   仕事を知る（/recruit/work）専用スタイル
   共通: styles.css ／ 共有: recruit.css（rc-sec / rc-head / rc-banner / rc-entry / pill-btn）
   =========================================================== */

#main-content .wk-intro h2{color:var(--green-deep);-webkit-text-fill-color:var(--green-deep)}

/* TOP「こんな悩み」と同じスクロール連動カラー */
#main-content #wk-fields-h,#main-content #wk-day-h,#main-content #wk-steps-h{
  background-image:linear-gradient(90deg,#191919 48%,#77c600 52%);
  background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* 仕事の種類（画像トップカード／事業案内から移設） */
.sv-index{display:grid;grid-template-columns:repeat(4,1fr);gap:22px}
.sv-kind{background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden}
.sv-kind .media{position:relative;height:180px;overflow:hidden}
.sv-kind .media .ph{height:100%}
.sv-kind .media img{width:100%;height:100%;object-fit:cover;display:block}
.sv-kind h3{font-family:var(--disp);font-weight:800;font-size:17px;color:var(--ink-strong);line-height:1.4;padding:18px 22px}
@media (max-width:900px){.sv-index{grid-template-columns:repeat(2,1fr)}}
/* 仕事を知る「仕事の種類」：PC 4列 / タブレット以下 2列(2×2)。
   .sv-index は service ページの3列定義(後方)と衝突するため、当セクションへ高詳細度でスコープして上書き。 */
[aria-labelledby="wk-fields-h"] .sv-index{grid-template-columns:repeat(4,1fr)}
@media (max-width:1024px){[aria-labelledby="wk-fields-h"] .sv-index{grid-template-columns:repeat(2,1fr)}}

/* ---------- 導入 ---------- */
.wk-intro{padding:clamp(54px,8vw,90px) 0;text-align:center}
.wk-intro .en{display:block;font-family:var(--disp);font-weight:800;color:var(--green);font-size:14px;letter-spacing:.16em;margin-bottom:16px}
.wk-intro h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4.4vw,42px);line-height:1.5;color:var(--green-deep);letter-spacing:.03em;margin:0 auto;max-width:22em}
.wk-intro p{margin:22px auto 0;max-width:40em;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:var(--ink-soft)}

/* ---------- 事業領域・具体的な仕事内容 ---------- */
.wk-fields{display:grid;grid-template-columns:repeat(2,1fr);gap:22px}
.wk-fields .wk-field:first-child{grid-column:1 / -1}
.wk-field{display:grid;grid-template-columns:200px 1fr;background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden}
.wk-field .media{position:relative;min-height:180px;background:linear-gradient(135deg,#e8f1e6,#d3e6d0)}
.wk-field .media .ph{position:absolute;inset:0}
.wk-field .media .no{position:absolute;left:0;top:0;background:var(--green-deep);color:#fff;font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.08em;padding:6px 14px}
.wk-field .body{padding:26px 28px}
.wk-field h3{font-family:var(--disp);font-weight:800;font-size:clamp(18px,2.2vw,22px);color:var(--ink-strong);line-height:1.4;margin-bottom:6px}
.wk-field .en{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--green);display:block;margin-bottom:12px}
.wk-field .tasks{list-style:none;display:flex;flex-direction:column;gap:8px}
.wk-field .tasks li{position:relative;padding-left:24px;font-size:14px;line-height:1.7;color:var(--ink)}
.wk-field .tasks li::before{content:"";position:absolute;left:0;top:9px;width:12px;height:12px;background:var(--green);border-radius:0.25rem}

/* ---------- 一日の流れ（1本道タイムライン・左右交互） ---------- */
.wk-day-sec{background:#daf3d1}
.wk-timeline{list-style:none;margin:0 auto;padding:0;max-width:980px;position:relative}
.wk-timeline::before{content:"";position:absolute;left:50%;top:6px;bottom:6px;width:2px;transform:translateX(-50%);background:rgba(26,122,26,.28)}
.wk-ev{position:relative;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:0;padding:14px 0}
.wk-time{grid-column:2;justify-self:center;z-index:2;display:flex;align-items:center;justify-content:center;width:54px;height:54px;border-radius:50%;background:var(--green-deep);border:2px solid var(--green-deep);color:#fff;font-family:var(--disp);font-weight:800;font-size:14px;letter-spacing:.02em}
.wk-ev-card{background:#fff;border:1px solid var(--line);border-radius:0.5rem;padding:20px 24px}
.wk-ev-card h3{font-family:var(--disp);font-weight:800;font-size:clamp(16px,1.9vw,19px);color:var(--green-deep);letter-spacing:.03em;margin-bottom:8px;line-height:1.4}
.wk-ev-card p{font-size:14.5px;line-height:1.75;color:#191919}
/* 奇数＝左、偶数＝右 で交互配置 */
.wk-ev:nth-child(odd) .wk-ev-card{grid-column:1;margin-right:34px;text-align:right}
.wk-ev:nth-child(even) .wk-ev-card{grid-column:3;margin-left:34px;text-align:left}
/* 休憩：破線ボーダー＋落ち着いた色 */
.wk-ev.rest .wk-ev-card{background:transparent;border-style:dashed;border-color:rgba(26,122,26,.4)}
.wk-ev.rest .wk-ev-card h3{color:#3f7a3f}
.wk-ev.rest .wk-time{background:#fff;border-color:var(--green-deep);color:var(--green-deep)}
/* 終業：グリーン強調 */
.wk-ev.end .wk-ev-card{border-color:var(--green-deep);box-shadow:0 0 0 1px var(--green-deep) inset}
.wk-day-foot{margin-top:26px;font-size:13px;color:var(--ink-soft);text-align:center}

/* ---------- キャリアステップ ---------- */
.wk-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:20px;counter-reset:step}
.wk-step{position:relative;background:#fff;border:1px solid var(--line);border-radius:0.25rem;border-top:5px solid var(--green);padding:30px 24px 26px}
.wk-step .num{font-family:var(--disp);font-weight:900;color:var(--green);font-size:13px;letter-spacing:.14em;margin-bottom:6px}
.wk-step .num b{display:block;font-size:40px;line-height:1;color:var(--green-deep)}
.wk-step h3{font-family:var(--disp);font-weight:800;font-size:17px;color:var(--ink-strong);line-height:1.45;margin:10px 0 8px}
.wk-step p{font-size:13.5px;line-height:1.8;color:var(--ink-soft)}
.wk-step .arrow{position:absolute;right:-13px;top:50%;transform:translateY(-50%);z-index:2;width:26px;height:26px;border-radius:50%;background:var(--green);display:grid;place-items:center}
.wk-step .arrow svg{width:14px;height:14px;stroke:#fff;fill:none;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.wk-step:last-child .arrow{display:none}

/* ---------- レスポンシブ ---------- */
@media (max-width:860px){
  .wk-steps{grid-template-columns:1fr 1fr}
  .wk-step .arrow{display:none}
}
@media (max-width:760px){
  .wk-fields{grid-template-columns:1fr}
  .wk-field{grid-template-columns:1fr}
  .wk-field .media{min-height:150px}
  /* 一日の流れ：モバイルは左ラインの片側レイアウト */
  .wk-timeline::before{left:27px}
  .wk-ev{grid-template-columns:54px 1fr;column-gap:18px;align-items:start}
  .wk-time{grid-column:1}
  .wk-ev:nth-child(odd) .wk-ev-card,
  .wk-ev:nth-child(even) .wk-ev-card{grid-column:2;margin:0;text-align:left}
}
@media (max-width:480px){
  .wk-steps{grid-template-columns:1fr}
}

/* ===== interview.css ===== */
/* ===========================================================
   先輩インタビュー（/recruit/interview）専用スタイル
   共通: styles.css（pill-btn・lower-hero・reveal 等）
   共有: recruit.css（rc-sec / rc-head / rc-jobs / rc-banner / rc-entry など）
   =========================================================== */

/* 見出し色：共通 h2 スクロール演出を上書きし即時可読に */
#main-content .iv-intro h2{color:var(--green-deep);-webkit-text-fill-color:var(--green-deep)}
/* 導入見出しはフラットな #1a7a1a（スクロール演出なし） */
#main-content #iv-intro-h{color:#1a7a1a;-webkit-text-fill-color:#1a7a1a;background:none}

/* タイトルのスクロール連動アニメ（TOP「こんな悩み」と同じ／background-clip:text） */
#main-content #iv-atmos-h{
  background-image:linear-gradient(90deg,#191919 48%,#77c600 52%);
  background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ---------- 導入 ---------- */
.iv-intro{padding:clamp(54px,8vw,90px) 0 0;text-align:center}
.iv-intro .en{display:block;font-family:var(--disp);font-weight:800;color:var(--green);font-size:14px;letter-spacing:.16em;margin-bottom:16px}
.iv-intro h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4.4vw,42px);line-height:1.5;color:var(--green-deep);letter-spacing:.03em;margin:0 auto;max-width:24em}
.iv-intro p{margin:22px auto 0;max-width:40em;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:var(--ink-soft)}

/* ---------- インタビュー一覧 ---------- */
.iv-list{display:flex;flex-direction:column;gap:clamp(28px,5vw,56px)}
.iv-card{display:grid;grid-template-columns:minmax(0,42%) 1fr;background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden}
.iv-card.flip{grid-template-columns:1fr minmax(0,42%)}
.iv-card.flip .iv-photo{order:2}
.iv-photo{position:relative;min-height:340px;background:linear-gradient(135deg,#e8f1e6,#d3e6d0)}
.iv-photo .ph{position:absolute;inset:0}
.iv-photo .tagbadge{position:absolute;left:0;bottom:0;background:var(--green-deep);color:#fff;font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.06em;padding:10px 18px}
.iv-body{padding:clamp(30px,4vw,52px)}
.iv-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:14px}
.iv-meta .role{font-family:var(--disp);font-weight:800;font-size:13px;color:#fff;background:var(--green);border-radius:100vh;padding:4px 16px}
.iv-meta .career{font-size:13px;font-weight:700;color:var(--green-deep)}
.iv-card h3{font-family:var(--disp);font-weight:900;font-size:clamp(20px,2.8vw,30px);line-height:1.45;color:var(--ink-strong);letter-spacing:.02em;margin-bottom:18px}
.iv-card h3 .hl{background:linear-gradient(transparent 60%,#cdf2a6 60%);padding:0 .06em}
.iv-quote{font-size:15px;line-height:1.95;color:var(--ink);margin-bottom:20px}
.iv-person{display:flex;align-items:center;gap:12px;padding-top:18px;border-top:1px dashed var(--line)}
.iv-person .avatar{width:46px;height:46px;border-radius:50%;background:var(--green-tint);display:grid;place-items:center;flex:none}
.iv-person .avatar svg{width:26px;height:26px;stroke:var(--green-deep);fill:none;stroke-width:1.8}
.iv-person .who{font-size:13px;line-height:1.5;color:var(--ink-soft)}
.iv-person .who b{display:block;font-family:var(--disp);font-weight:800;font-size:15px;color:var(--ink-strong)}

/* ---------- 職場の雰囲気（左右2分割・右画像フル高さ） ---------- */
.iv-atmos{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,48px);align-items:stretch}
.iv-atmos .txt{display:flex;flex-direction:column}
.iv-atmos .txt h3{font-family:var(--disp);font-weight:900;font-size:clamp(22px,3vw,32px);line-height:1.4;color:var(--ink-strong);letter-spacing:.02em;margin-bottom:24px}
.iv-atmos-list{list-style:none;display:flex;flex-direction:column;gap:16px;margin-bottom:20px}
.iv-atmos-list li{display:flex;align-items:flex-start;gap:14px;font-size:clamp(15px,1.7vw,17px);line-height:1.7;font-weight:700;color:var(--ink)}
.iv-atmos-list .ic{flex:none;width:44px;height:44px;border-radius:50%;background:var(--green-tint);display:grid;place-items:center;margin-top:1px}
.iv-atmos-list .ic svg{width:24px;height:24px;stroke:var(--green-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.iv-atmos-note{font-size:14.5px;line-height:1.9;color:var(--ink-soft);margin-bottom:30px}
.iv-atmos .pill-btn{margin:auto 0 0 0}
.iv-atmos-pic{position:relative;border-radius:0.25rem;overflow:hidden;min-height:340px;background:linear-gradient(135deg,#e8f1e6,#d3e6d0)}
.iv-atmos-pic .ph{position:absolute;inset:0}

/* ---------- 募集職種（旧・未使用可） ---------- */
.iv-jobs-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:22px;max-width:880px;margin:0 auto}
.iv-jobcard{background:#fff;border:1px solid var(--line);border-radius:0.25rem;border-top:5px solid var(--green);padding:32px 30px}
.iv-jobcard .ic{width:56px;height:56px;border-radius:0.25rem;background:var(--green-tint);display:grid;place-items:center;margin-bottom:16px}
.iv-jobcard .ic svg{width:32px;height:32px;stroke:var(--green-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.iv-jobcard h3{font-family:var(--disp);font-weight:800;font-size:clamp(18px,2.2vw,21px);color:var(--ink-strong);line-height:1.4;margin-bottom:6px}
.iv-jobcard .en{font-family:var(--disp);font-weight:700;font-size:12px;letter-spacing:.1em;color:var(--green);display:block;margin-bottom:12px}
.iv-jobcard p{font-size:14px;line-height:1.85;color:var(--ink-soft)}
.iv-jobs-cta{margin-top:36px;display:flex;justify-content:center}

/* ---------- レスポンシブ ---------- */
@media (max-width:760px){
  .iv-card,.iv-card.flip{grid-template-columns:1fr}
  .iv-card.flip .iv-photo{order:0}
  .iv-photo{min-height:240px}
  .iv-jobs-grid{grid-template-columns:1fr}
  .iv-atmos{grid-template-columns:1fr}
  .iv-atmos-pic{min-height:240px;order:-1}
  .iv-atmos .pill-btn{margin-top:24px}
}

/* ===== partner.css ===== */
/* ===========================================================
   協力会社・パートナー募集（/partner）専用スタイル
   共通: styles.css ／ 共有: recruit.css（rc-sec / rc-head / rc-entry / pill-btn）
   =========================================================== */

#main-content .pt-intro h2{color:var(--green-deep);-webkit-text-fill-color:var(--green-deep)}

/* トップ「こんな悩み」と同じスクロール連動カラー（#77c600→#191919） */
#main-content #pt-stance-h,#main-content #pt-skills-h,#main-content #pt-flow-h{
  background-image:linear-gradient(90deg,#191919 48%,#77c600 52%);
  background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ---------- 導入 ---------- */
.pt-intro{padding:clamp(54px,8vw,90px) 0;text-align:center}
.pt-intro .en{display:block;font-family:var(--disp);font-weight:800;color:var(--green);font-size:14px;letter-spacing:.16em;margin-bottom:16px}
.pt-intro h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4.4vw,42px);line-height:1.5;color:var(--green-deep);letter-spacing:.03em;margin:0 auto;max-width:22em}
.pt-intro p{margin:22px auto 0;max-width:40em;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:var(--ink-soft)}

/* ---------- スタンス（3本柱） ---------- */
.pt-banner{margin:0 0 clamp(28px,4vw,44px);border-radius:0.6rem;overflow:hidden;border:1px solid var(--line)}
.pt-banner img{width:100%;height:auto;display:block}
.pt-stance{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pt-card{background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden}
.pt-card .media{position:relative;height:180px;overflow:hidden}
.pt-card .media .ph{height:100%}
.pt-card .body{padding:26px 30px 30px}
.pt-card h3{font-family:var(--disp);font-weight:800;font-size:19px;color:var(--ink-strong);line-height:1.45;margin-bottom:12px}
.pt-card p{font-size:14px;line-height:1.9;color:var(--ink-soft);text-align:left}

/* ---------- ヤサカと組む理由（番号付き3カード） ---------- */
.pt-why{background:#daf3d1;padding:clamp(56px,8vw,96px) 0}
.pt-why .rc-head{text-align:center;margin-bottom:clamp(32px,5vw,48px)}
.pt-why .rc-head h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,3.4vw,40px);color:var(--green-deep);letter-spacing:.04em;line-height:1.4}
.pt-why-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}
.pt-why-card{position:relative;background:#fff;border:1px solid var(--line);border-radius:0.5rem;padding:34px 30px 30px}
.pt-why-no{display:block;font-family:var(--disp);font-weight:900;font-size:32px;line-height:1;color:var(--green);margin-bottom:16px}
.pt-why-card h3{font-family:var(--disp);font-weight:800;font-size:clamp(17px,2vw,20px);color:var(--ink-strong);line-height:1.5;margin-bottom:12px;letter-spacing:.02em}
.pt-why-card p{font-size:14.5px;line-height:1.9;color:#191919}
@media (max-width:760px){
  .pt-why-grid{grid-template-columns:1fr}
}

/* ---------- 求めるスキル・職種 ---------- */
.pt-skills-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.pt-skills-cta .pill-btn,.pt-skills-grid + .rc-jobs-cta .pill-btn{width:auto;margin:0}
.pt-skill{background:#fff;border:1px solid var(--line);border-radius:0.25rem;padding:30px 22px;text-align:center;transition:.35s var(--ease)}
.pt-skill:hover{transform:translateY(-5px);box-shadow:0 18px 40px rgba(10,50,20,.08)}
.pt-skill .ic{width:60px;height:60px;border-radius:0.25rem;background:var(--green-tint);display:grid;place-items:center;margin:0 auto 16px}
.pt-skill .ic svg{width:34px;height:34px;stroke:var(--green-deep);fill:none;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.pt-skill h3{font-family:var(--disp);font-weight:800;font-size:17px;color:var(--ink-strong);line-height:1.4}
.pt-skill .en{display:block;font-family:var(--disp);font-weight:700;font-size:11px;letter-spacing:.1em;color:var(--green);margin-top:6px}
.pt-skills-note{margin-top:30px;text-align:center;background:var(--green-tint);border-radius:0.25rem;padding:24px 28px;font-family:var(--disp);font-weight:800;font-size:clamp(15px,2vw,19px);color:var(--green-deep);line-height:1.7}

/* ---------- 開始までの流れ（FLOW） ---------- */
.pt-flow{counter-reset:flow;display:flex;flex-direction:column;gap:16px;max-width:820px;margin:0 auto}
.pt-step{display:grid;grid-template-columns:96px 1fr;align-items:center;gap:24px;background:#fff;border:1px solid var(--line);border-radius:0.25rem;padding:24px 30px;position:relative}
.pt-step .step{font-family:var(--disp);font-weight:900;color:var(--green);line-height:1;text-align:center}
.pt-step .step span{display:block;font-size:11px;letter-spacing:.16em}
.pt-step .step b{font-size:38px;color:var(--green-deep)}
.pt-step .txt h3{font-family:var(--disp);font-weight:800;font-size:18px;color:var(--ink-strong);margin-bottom:4px}
.pt-step .txt p{font-size:14px;line-height:1.8;color:var(--ink-soft)}
.pt-step:not(:last-child)::after{content:"";position:absolute;left:47px;bottom:-16px;width:2px;height:16px;background:var(--green);opacity:.4}

/* ---------- 専用CTA ---------- */
.pt-entry{position:relative;background:#e9f6e6 url('https://cdn.cuezilla-cms.com/enjoyworks-test19.site/images/1427/bg_form.webp') center/cover no-repeat;color:#191919;text-align:center;padding:clamp(60px,9vw,110px) 0;overflow:hidden}
.pt-entry .wrap{position:relative;z-index:2}
.pt-entry h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4.2vw,42px);line-height:1.45;letter-spacing:.03em;color:#191919;-webkit-text-fill-color:#191919}
.pt-entry p{margin-top:18px;font-size:clamp(15px,1.7vw,17px);line-height:1.9;color:#191919}
.pt-entry .cta{margin-top:34px;display:flex;flex-direction:column;align-items:center;gap:16px}
.pt-entry .pill-btn.on-dark{width:auto;margin:0;background-image:linear-gradient(to right,#008200 0%,#77c600 100%);background-color:transparent;color:#fff;border-color:#fff}
.pt-entry .pill-btn.on-dark:hover{background-image:linear-gradient(to left,#008200 0%,#77c600 100%);color:#fff}

/* ---------- レスポンシブ ---------- */
@media (max-width:860px){
  .pt-skills-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .pt-stance{grid-template-columns:1fr}
  .pt-step{grid-template-columns:72px 1fr;gap:16px;padding:20px 22px}
  .pt-step .step b{font-size:30px}
  .pt-step:not(:last-child)::after{left:35px}
}
@media (max-width:480px){
  .pt-skills-grid{grid-template-columns:1fr}
  .pt-skills-cta .pill-btn,.pt-skills-grid + .rc-jobs-cta .pill-btn,.pt-entry .pill-btn.on-dark{display:block;width:100%;padding-left:0;padding-right:0;text-align:center;box-sizing:border-box}
}

/* ===== sponsor.css ===== */
/* ===========================================================
   スポンサー活動（/sponsor）専用スタイル
   共通: styles.css ／ 共有: recruit.css（rc-sec / rc-head / rc-banner / rc-entry / pill-btn）
   =========================================================== */

#main-content .sp-intro h2{color:var(--green-deep);-webkit-text-fill-color:var(--green-deep)}

/* トップ「こんな悩み」と同じスクロール連動カラー（#77c600→#191919） */
#main-content #sp-belief-h,#main-content #sp-athlete-h,#main-content #sp-csr-h{
  background-image:linear-gradient(90deg,#191919 48%,#77c600 52%);
  background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ---------- 導入 ---------- */
.sp-intro{padding:clamp(54px,8vw,90px) 0;text-align:center}
.sp-intro .en{display:block;font-family:var(--disp);font-weight:800;color:var(--green);font-size:14px;letter-spacing:.16em;margin-bottom:16px}
.sp-intro h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4.4vw,42px);line-height:1.5;color:var(--green-deep);letter-spacing:.03em;margin:0 auto;max-width:24em}
.sp-intro p{margin:22px auto 0;max-width:40em;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:var(--ink-soft)}

/* ---------- 想い（理念） ---------- */
.sp-belief{display:grid;grid-template-columns:1.1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center}
.sp-belief .txt p{font-size:clamp(15px,1.7vw,17px);line-height:2;margin-bottom:18px}
.sp-belief .txt p:last-child{margin-bottom:0}
.sp-belief .txt .lead{font-family:var(--disp);font-weight:800;font-size:clamp(18px,2.4vw,24px);line-height:1.6;color:var(--ink-strong)}
.sp-belief .txt .lead b{color:var(--green-deep)}
.sp-belief .visual{position:relative;aspect-ratio:4/3;border-radius:0.25rem;overflow:hidden}
.sp-belief .visual .ph{position:absolute;inset:0}

/* ---------- 選手紹介（ダミー明示） ---------- */
.sp-athlete{position:relative;background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden;display:grid;grid-template-columns:minmax(0,46%) 1fr}
.sp-athlete .photo{position:relative;aspect-ratio:3/4;background:repeating-linear-gradient(45deg,#eef3ec,#eef3ec 14px,#e3ece0 14px,#e3ece0 28px);min-height:380px}
.sp-athlete .photo .dummy{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--green-deep)}
.sp-athlete .photo .dummy svg{width:54px;height:54px;stroke:var(--green-deep);fill:none;stroke-width:1.6;opacity:.6}
.sp-athlete .photo .dummy span{font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.04em;opacity:.75}
.sp-athlete .body{padding:clamp(30px,4vw,52px)}
.sp-athlete .nick{display:inline-block;font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.06em;color:#fff;background:var(--green);border-radius:100vh;padding:5px 18px;margin-bottom:16px}
.sp-athlete h3{font-family:var(--disp);font-weight:900;font-size:clamp(24px,3.4vw,38px);color:var(--ink-strong);line-height:1.3;letter-spacing:.02em}
.sp-athlete h3 .read{display:block;font-size:.42em;font-weight:700;color:var(--ink-soft);letter-spacing:.08em;margin-top:8px}
.sp-athlete .role{font-family:var(--disp);font-weight:700;color:var(--green-deep);font-size:15px;margin:8px 0 20px}
.sp-athlete .profile-dummy{border:1px dashed var(--green);border-radius:0.25rem;background:var(--green-tint);padding:20px 22px;font-size:14px;line-height:1.9;color:var(--green-deep)}
.sp-athlete .profile-dummy b{display:block;font-family:var(--disp);font-weight:800;margin-bottom:6px}
.sp-athlete .sp-profile p{font-size:14.5px;line-height:1.95;color:var(--ink);margin-bottom:14px}
.sp-athlete .sp-profile p:last-child{margin-bottom:0}
.sp-athlete .sp-profile .em{font-family:var(--disp);font-weight:800;color:var(--green-deep);line-height:1.7;margin-top:18px}

/* 素材待ちバッジ（ダミー明示） */
.sp-wip{display:inline-flex;align-items:center;gap:8px;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.04em;color:#a85800;background:#fff3e0;border:1px solid #f0c48a;border-radius:100vh;padding:6px 14px}
.sp-wip::before{content:"";width:8px;height:8px;border-radius:50%;background:#e8821e}
.sp-athlete .photo .sp-wip{position:absolute;left:14px;top:14px;z-index:2}

/* ---------- CSR・展望 ---------- */
.sp-csr{text-align:center;max-width:44em;margin:0 auto}
.sp-csr p{font-size:clamp(15px,1.7vw,17px);line-height:2;margin-bottom:18px}
.sp-csr p.lead{font-family:var(--disp);font-weight:800;font-size:clamp(18px,2.4vw,26px);color:var(--green-deep);line-height:1.6}

/* ---------- レスポンシブ ---------- */
@media (max-width:760px){
  .sp-belief{grid-template-columns:1fr}
  .sp-belief .visual{aspect-ratio:16/10}
  .sp-athlete{grid-template-columns:1fr}
  .sp-athlete .photo{aspect-ratio:16/11;min-height:0}
}

/* ===== service.css ===== */
/* ===========================================================
   事業案内（/service）専用スタイル
   共通: styles.css ／ 共有: recruit.css（rc-sec / rc-head / rc-entry / pill-btn）
   =========================================================== */

#main-content .sv-intro h2{color:var(--green-deep);-webkit-text-fill-color:var(--green-deep)}

/* 「業務案内」見出し：TOP「こんな悩み」と同じスクロール連動カラー */
#main-content #sv-fields-h{
  background-image:linear-gradient(90deg,#191919 48%,#77c600 52%);
  background-size:200% 100%;background-repeat:no-repeat;background-position:100% 0;
  -webkit-background-clip:text;background-clip:text;
  -webkit-text-fill-color:transparent;color:transparent;
}

/* ---------- 導入 ---------- */
.sv-intro{padding:clamp(54px,8vw,90px) 0;text-align:center}
.sv-intro h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4.4vw,42px);line-height:1.5;color:var(--green-deep);letter-spacing:.03em;margin:0 auto;max-width:22em}
.sv-intro p{margin:22px auto 0;max-width:40em;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:var(--ink-soft)}

/* ---------- 仕事の種類（画像トップカード） ---------- */
.sv-index{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.sv-kind{background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden}
.sv-kind .media{position:relative;height:180px;overflow:hidden}
.sv-kind .media .ph{height:100%}
.sv-kind h3{font-family:var(--disp);font-weight:800;font-size:17px;color:var(--ink-strong);line-height:1.4;padding:18px 22px}

/* ---------- 事業セクション（交互レイアウト） ---------- */
.sv-field{display:grid;grid-template-columns:1fr 1fr;gap:clamp(28px,4vw,56px);align-items:center;padding:clamp(40px,6vw,72px) 0;border-bottom:1px solid var(--line)}
.sv-fields{background:#daf3d1}

/* ---------- 3-b. 工事だけじゃない、ヤサカの対応力 ---------- */
.sv-capable{background:#fff;padding:clamp(56px,8vw,96px) 0}
.sv-capable .rc-head,.sv-capable .sv-capable-foot{text-align:center}
.sv-capable .rc-head{margin-bottom:clamp(32px,5vw,48px)}
.sv-capable .rc-head h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,3.4vw,40px);color:var(--ink-strong);letter-spacing:.04em;line-height:1.4}
.sv-capable .rc-head p{margin-top:14px;font-size:clamp(15px,1.8vw,18px);color:#191919}
.sv-capable-list{list-style:none;margin:0 auto;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:20px;max-width:980px}
.sv-capable-list li{display:flex;flex-direction:column;align-items:center;text-align:center;gap:16px;background:var(--green-tint);border-radius:0.5rem;padding:34px 24px}
.sv-capable-ic{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;border-radius:50%;background:#fff;color:var(--green-deep)}
.sv-capable-ic svg{width:32px;height:32px}
.sv-capable-list p{font-family:var(--disp);font-weight:700;font-size:clamp(15px,1.7vw,17px);color:var(--ink-strong);line-height:1.6}
.sv-capable-foot{margin-top:clamp(32px,5vw,48px);font-family:var(--disp);font-weight:800;font-size:clamp(18px,2.4vw,26px);color:var(--green-deep);letter-spacing:.04em}
@media (max-width:760px){
  .sv-capable-list{grid-template-columns:1fr;max-width:420px;gap:14px}
}
.sv-field:last-of-type{border-bottom:none}
.sv-field.flip .sv-media{order:2}
/* 画像枠は一番低い画像(データセンター 800×452)の比に合わせ高さを抑える（幅は1frのまま）。
   img は object-fit:cover で枠を完全に埋める＝下にグレー(背景グラデ)が出ない。本文は .sv-field の align-items:center で画像天地のセンター。 */
.sv-media{position:relative;aspect-ratio:800/452;border-radius:0.25rem;overflow:hidden;background:linear-gradient(135deg,#e8f1e6,#d3e6d0)}
.sv-media .ph{position:absolute;inset:0}
.sv-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.sv-media .no{position:absolute;left:0;top:0;background:var(--green-deep);color:#fff;font-family:var(--disp);font-weight:800;font-size:13px;letter-spacing:.08em;padding:7px 16px}
.sv-field .body .cat{display:inline-block;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.1em;color:#fff;background:var(--green);border-radius:100vh;padding:4px 14px;margin-bottom:14px}
.sv-field .body h3{font-family:var(--disp);font-weight:900;font-size:clamp(21px,3vw,30px);color:var(--ink-strong);line-height:1.4;letter-spacing:.02em;margin-bottom:8px}
.sv-field .body .read{font-family:var(--disp);font-weight:700;font-size:13px;letter-spacing:.08em;color:var(--green);margin-bottom:16px}
.sv-field .body p{font-size:15px;line-height:1.95;color:var(--ink);margin-bottom:18px}
.sv-field .tasks{list-style:none;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:24px;padding-left:0;margin-left:0}
.sv-field .tasks li{font-size:13px;font-weight:700;color:#fff;background:#1a7a1a;border-radius:100vh;padding:6px 14px}

/* ---------- 多角化・挑戦を止めない（成長の根拠／TOP「つながるを止めない会社」と同じ配置） ---------- */
.sv-growth{position:relative;overflow:hidden;max-width:100%}
.sv-growth-grid{display:grid;grid-template-columns:1fr 1fr;align-items:stretch}
.sv-growth-text{position:relative;color:#fff;background-image:linear-gradient(120deg,#191919,#28bf28,#191919,#1a7a1a);background-size:300% 300%;animation:connectGrad 10s ease-in-out infinite;display:flex;align-items:center;padding:clamp(60px,9vw,110px) clamp(32px,5vw,72px) clamp(60px,9vw,110px) max(var(--pad),calc((100vw - var(--wrap))/2 + var(--pad)))}
.sv-growth-inner{max-width:560px}
.sv-growth-media{position:relative;min-height:340px;margin:0}
.sv-growth-media .ph{position:absolute;inset:0;border-radius:0}
@media (prefers-reduced-motion: reduce){.sv-growth-text{animation:none;background-image:linear-gradient(120deg,#191919,#28bf28,#191919,#1a7a1a)}}
.sv-growth h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4vw,40px);line-height:1.45;letter-spacing:.03em;color:#fff;-webkit-text-fill-color:#fff}
.sv-growth .lead{margin:20px 0 0;font-size:clamp(15px,1.7vw,17px);line-height:1.95;opacity:.95}
.sv-growth-cta{margin-top:clamp(28px,4vw,38px)}
.sv-growth-cta .pill-btn{width:auto;margin:0;background-image:none;background:#fff;color:var(--green-deep);border-color:#fff}
.sv-growth-cta .pill-btn:hover{background:#eafbe6;color:var(--green-darker)}

/* ---------- レスポンシブ ---------- */
@media (max-width:900px){
  .sv-index{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:760px){
  .sv-field,.sv-field.flip{grid-template-columns:1fr}
  .sv-field.flip .sv-media{order:0}
  .sv-media{aspect-ratio:16/10}
  .sv-growth-grid{grid-template-columns:1fr;min-width:0}
  .sv-growth-media{aspect-ratio:16/10;order:-1;min-width:0;min-height:0;overflow:hidden;width:100%}
  .sv-growth-media .ph,.sv-growth-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;max-width:100%}
  .sv-growth-text{padding:clamp(40px,8vw,72px) var(--pad);min-width:0}
  .sv-growth-inner{max-width:none}
}
@media (max-width:480px){
  .sv-index{grid-template-columns:1fr 1fr}
  .sv-growth-cta .pill-btn{display:block;width:100%;padding-left:0;padding-right:0;text-align:center}
  .sv-tl{flex-direction:column;gap:8px}
  .sv-tl .arr{transform:rotate(90deg)}
}

/* ===== company.css ===== */
/* ===========================================================
   会社概要（/company）専用スタイル
   共通: styles.css ／ 共有: recruit.css（rc-sec / rc-head / rc-banner / pill-btn）
   =========================================================== */

#main-content .cp-intro h2{color:var(--green-deep);-webkit-text-fill-color:var(--green-deep)}

/* ---------- 導入 ---------- */
.cp-intro{padding:clamp(54px,8vw,90px) 0;text-align:center}
.cp-intro .en{display:block;font-family:var(--disp);font-weight:800;color:var(--green);font-size:14px;letter-spacing:.16em;margin-bottom:16px}
.cp-intro h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4.4vw,42px);line-height:1.5;color:var(--green-deep);letter-spacing:.03em;margin:0 auto;max-width:24em}
.cp-intro p{margin:22px auto 0;max-width:40em;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:var(--ink-soft)}

/* ---------- 代表メッセージ ---------- */
.cp-message{display:grid;grid-template-columns:minmax(0,38%) 1fr;gap:clamp(28px,4vw,56px);align-items:start}
.cp-message .portrait{position:relative;aspect-ratio:3/4;border-radius:0.25rem;overflow:hidden;background:linear-gradient(135deg,#e8f1e6,#d3e6d0)}
.cp-message .portrait .ph{position:absolute;inset:0}
.cp-message .portrait figcaption{position:absolute;left:0;bottom:0;background:var(--green-deep);color:#fff;font-family:var(--disp);font-weight:800;font-size:13px;padding:8px 16px}
.cp-message .txt .eyebrow{font-family:var(--disp);font-weight:800;color:var(--green);font-size:14px;letter-spacing:.12em;margin-bottom:14px}
.cp-message .txt h3{font-family:var(--disp);font-weight:900;font-size:clamp(20px,3vw,30px);line-height:1.5;color:var(--ink-strong);letter-spacing:.02em;margin-bottom:22px}
.cp-message .txt h3 .hl{background:linear-gradient(transparent 60%,#cdf2a6 60%);padding:0 .06em}
.cp-message .txt p{font-size:15px;line-height:2;margin-bottom:18px}
.cp-message .txt .cp-note{font-size:13px;color:var(--ink-soft)}
.cp-message .txt .cp-note a{color:var(--green-deep);font-weight:700;text-decoration:underline;text-underline-offset:3px}
.cp-message .sign{display:flex;align-items:baseline;gap:14px;margin-top:26px;padding-top:22px;border-top:1px dashed var(--line)}
.cp-message .sign .role{font-size:13px;color:var(--ink-soft)}
.cp-message .sign .name{font-family:var(--disp);font-weight:900;font-size:24px;color:var(--ink-strong);letter-spacing:.04em}

/* ---------- 会社概要テーブル ---------- */
.cp-table-wrap{max-width:920px;margin:0 auto}
.cp-table{width:100%;border-collapse:collapse;background:#fff;border:2px solid #1a7a1a;border-radius:0.25rem;overflow:hidden}
.cp-table th,.cp-table td{padding:22px 28px;text-align:left;vertical-align:middle;border-bottom:1px solid var(--line);font-size:15px;line-height:1.9}
.cp-table th{width:220px;background:#1a7a1a;color:#fff;font-family:var(--disp);font-weight:800;white-space:nowrap;vertical-align:middle}
.cp-table tr:last-child th,.cp-table tr:last-child td{border-bottom:1px solid var(--line)}
.cp-table tr:first-child td{border-top:3px solid var(--line)}
.cp-table tr:last-child td{border-bottom:3px solid var(--line)}
.cp-table .tbd{font-size:12px;font-weight:700;color:#a85800;background:#fff3e0;border:1px solid #f0c48a;border-radius:100vh;padding:2px 10px;margin-left:6px;white-space:nowrap}

/* ---------- 沿革タイムライン ---------- */
.cp-history{max-width:760px;margin:0 auto;position:relative;padding-left:6px}
.cp-hitem{position:relative;display:grid;grid-template-columns:128px 1fr;gap:24px;padding:0 0 28px 28px;border-left:2px solid var(--green-tint2)}
.cp-hitem:last-child{padding-bottom:0}
.cp-hitem::before{content:"";position:absolute;left:-9px;top:4px;width:16px;height:16px;border-radius:50%;background:var(--green);border:3px solid #fff;box-shadow:0 0 0 2px var(--green-tint2)}
.cp-hitem .year{font-family:var(--disp);font-weight:900;color:var(--green-deep);font-size:16px;line-height:1.4}
.cp-hitem .year span{display:block;font-size:12px;font-weight:700;color:var(--ink-soft)}
.cp-hitem .ev{font-size:15px;line-height:1.8}

/* ---------- 組織体制（強み） ---------- */
.cp-org{display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin-top:clamp(36px,5vw,52px)}
.cp-orgcard{background:#fff;border:1px solid var(--line);border-radius:0.25rem;border-top:5px solid var(--green);padding:32px 26px;text-align:center}
.cp-orgcard .big{font-family:var(--disp);font-weight:900;color:var(--green-deep);font-size:clamp(34px,5vw,52px);line-height:1.05}
.cp-orgcard .big .u{font-size:.42em;color:var(--ink-strong);margin-left:.1em}
.cp-orgcard h3{font-family:var(--disp);font-weight:800;font-size:17px;color:var(--ink-strong);margin:12px 0 8px}
.cp-orgcard p{font-size:13.5px;line-height:1.8;color:var(--ink-soft)}
.cp-org-lead{text-align:center;max-width:40em;margin:0 auto;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:var(--ink-soft)}

/* ---------- レスポンシブ ---------- */
@media (max-width:760px){
  .cp-message{grid-template-columns:1fr}
  .cp-message .portrait{aspect-ratio:4/3;max-width:340px}
  .cp-org{grid-template-columns:1fr}
  .cp-table th,.cp-table td{display:block;width:100%}
  .cp-table th{border-bottom:none;padding-top:14px;padding-bottom:14px;display:flex;align-items:center;min-height:0}
  .cp-table td{padding-top:10px}
  .cp-table tr:first-child td{border-top:none}
  .cp-table tr:last-child td{border-bottom:none}
  .cp-hitem{grid-template-columns:1fr;gap:6px}
}

/* ===== bloglist.css ===== */
/* === add.css 貼り付け ここから === */
/* BLOG一覧（parts222系）— ヤサカ トンマナ・フラット
   theme_default.css の後に読み込む前提。必要箇所に !important で上書き。 */

#main-content .bl-intro h2{color:#1a7a1a !important;-webkit-text-fill-color:#1a7a1a !important}
.bl-intro{padding:clamp(54px,8vw,90px) 0 clamp(32px,5vw,48px);text-align:center}
.bl-intro h2{font-family:'Zen Kaku Gothic New',sans-serif;font-weight:900;font-size:clamp(24px,4.4vw,42px);color:#1a7a1a;line-height:1.5;letter-spacing:.03em;margin:0}
.bl-intro p{margin:18px auto 0;max-width:40em;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:#191919}

/* レイアウト：本文2カラム */
.parts222_section{padding:0 0 clamp(60px,9vw,100px) !important}
.parts222_wrap{max-width:1200px !important;margin:0 auto !important;padding:0 24px !important;display:grid !important;grid-template-columns:1fr 320px !important;gap:clamp(28px,4vw,48px) !important;align-items:start !important}
.parts222_main{min-width:0 !important;max-width:none !important}

/* 記事一覧グリッド：PC2列／SP1列 */
.parts222_post_list{display:grid !important;grid-template-columns:1fr 1fr !important;gap:24px !important;list-style:none !important;margin:0 !important;padding:0 !important}
.parts222_post_wrap{display:flex !important;flex-direction:column !important;background:#fff !important;border:1px solid #e0e8df !important;border-radius:0.25rem !important;overflow:hidden !important;transition:.4s cubic-bezier(.16,.84,.44,1) !important;color:inherit !important;text-decoration:none !important}
.parts222_post_wrap:hover{transform:translateY(-6px) !important;box-shadow:0 22px 46px rgba(10,50,20,.1) !important}
/* サムネは固定height(190px)だとカード幅拡大時に横広(約2:1)になるため、幅に比例する3:2に（元パーツの画像自然比 600×400 と一致／object-fitで隙間なし） */
.parts222_post_img{aspect-ratio:3/2 !important;height:auto !important;overflow:hidden !important;background:linear-gradient(135deg,#e8f1e6,#d3e6d0) !important}
.parts222_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}
.parts222_post_status{display:flex !important;align-items:center !important;gap:12px !important;padding:18px 20px 0 !important}
.parts222_post_date{font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:13px !important;color:#1a7a1a !important}
.parts222_post_category{font-size:11px !important;font-weight:700 !important;color:#1a7a1a !important;border:1px solid #28bf28 !important;border-radius:100vh !important;padding:1px 11px !important}
.parts222_post_title-excerpt{padding:10px 20px 22px !important}
.parts222_post_title{font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:16px !important;line-height:1.6 !important;color:#10211a !important;margin:0 !important}

/* ページネーション */
.parts222_pagenation{display:flex !important;justify-content:center !important;align-items:center !important;gap:8px !important;margin-top:40px !important;list-style:none !important;padding:0 !important}
.parts222_pagenation a,.parts222_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:42px !important;height:42px !important;padding:0 12px !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:14px !important;color:#1a7a1a !important;background:#fff !important;border:1px solid #cfddc9 !important;border-radius:0.25rem !important;text-decoration:none !important}
.parts222_pagenation .pagination_num.current{background:#1a7a1a !important;color:#fff !important;border-color:#1a7a1a !important}
.parts222_pagenation a:hover{background:#eafbe6 !important}

/* サイドバー */
/* CueZilla既定の max-width:28.179% がサイドバーを縮める（grid 320pxトラックに対し約90pxに潰れる）ため解除し、トラック幅(320px)を満たす */
.parts222_sidebar{min-width:0 !important;max-width:none !important;width:auto !important}
.parts222_sidebar_wrap{background:#fff !important;border:1px solid #e0e8df !important;border-radius:0.25rem !important;margin-bottom:24px !important;overflow:hidden !important}
.parts222_sidebar_wrap h3{font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:800 !important;font-size:15px !important;color:#fff !important;background:#1a7a1a !important;margin:0 !important;padding:13px 18px !important}
.parts222_sidebar_wrap ul{list-style:none !important;margin:0 !important;padding:6px 18px !important}
.parts222_sidebar_wrap li{border-bottom:1px dashed #e0e8df !important}
.parts222_sidebar_wrap li:last-child{border-bottom:none !important}
.parts222_sidebar_wrap li a{display:block !important;padding:13px 0 !important;text-decoration:none !important;color:#191919 !important}
.parts222_sidebar_date{display:block !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:12px !important;color:#1a7a1a !important;margin-bottom:4px !important}
.parts222_sidebar_post_title{font-size:13.5px !important;line-height:1.6 !important;color:#191919 !important;margin:0 !important}
.category_post_count li a{display:flex !important;align-items:center !important;justify-content:space-between !important;gap:10px !important}
.parts222_sidebar_post_category{font-size:14px !important;color:#191919 !important;margin:0 !important}
.parts222_sidebar_post_category_count{flex:none !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:12px !important;color:#1a7a1a !important;background:#eafbe6 !important;border:1px solid #cfddc9 !important;border-radius:0.25rem !important;min-width:26px !important;text-align:center !important;padding:1px 6px !important}

@media (max-width:900px){
  .parts222_wrap{grid-template-columns:1fr !important}
}
@media (max-width:560px){
  .parts222_post_list{grid-template-columns:1fr !important}
}
/* [追補] CMS既定の上限/余白/枠線を打ち消して受領デザインに揃える */
/* ① 記事カード：既定 max-width:47.735% でグリッド列(380px)に対し約181pxに縮むのを解除＝列いっぱいに */
.parts222_post_wrap{max-width:none !important}
/* ② 「ブログ」見出し：下層ヒーロー直後のセクションに上余白が無いため、受領 .bl-intro 相当の余白を付与 */
.lower-hero + section{padding-top:clamp(54px,8vw,90px) !important}
/* ③ カテゴリ一覧：既定の左右ボーダー(縦線2本)を削除 */
.category_post_count li{border-left:none !important;border-right:none !important}

/* ===== [追補] 施工実績一覧(parts228)＝サイドバー無し全幅。ブログ(parts222)のカード装飾に寄せる（既定の!important設定を尊重しつつ上書き） ===== */
.parts228_section{padding:0 0 clamp(60px,9vw,100px) !important}
.parts228_wrap{max-width:1200px !important;margin:0 auto !important;padding:0 24px !important;display:block !important}
.parts228_main{max-width:none !important;width:100% !important;min-width:0 !important}
.parts228_post_list{display:grid !important;grid-template-columns:repeat(3,1fr) !important;gap:24px !important;list-style:none !important;margin:0 !important;padding:0 !important}
/* 既定 max-width:32.465% でカードが約119pxに縮むのを解除＝列いっぱいに */
.parts228_post_wrap{max-width:none !important;display:flex !important;flex-direction:column !important;background:#fff !important;border:1px solid #e0e8df !important;border-radius:.25rem !important;overflow:hidden !important;transition:.4s cubic-bezier(.16,.84,.44,1) !important;color:inherit !important;text-decoration:none !important}
.parts228_post_wrap:hover{transform:translateY(-6px) !important;box-shadow:0 22px 46px rgba(10,50,20,.1) !important}
.parts228_post_wrap a:empty{display:none !important}
.parts228_post_img{aspect-ratio:3/2 !important;height:auto !important;overflow:hidden !important;background:linear-gradient(135deg,#e8f1e6,#d3e6d0) !important;margin:0 !important;display:block !important}
.parts228_post_img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}
/* post_status 内に 日付＋タイトル＋タグ が入るため縦積みに */
.parts228_post_status{display:flex !important;flex-direction:column !important;align-items:flex-start !important;gap:8px !important;padding:16px 20px 20px !important}
.parts228_post_date{font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:13px !important;color:#1a7a1a !important}
.parts228_post_title-excerpt{padding:0 !important;border:0 !important;margin:0 !important;width:100% !important}
.parts228_post_title{font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:16px !important;line-height:1.6 !important;color:#10211a !important;margin:0 !important}
.parts-blog-ex-tag_wrap{display:flex !important;flex-wrap:wrap !important;gap:6px !important;margin-top:10px !important;padding:0 !important}
/* タグ実体は span.parts-blog-ex_tag（既定は角ばった枠）。枠は span 側に角丸pillで付け、親 a の枠は外して二重罫線を防ぐ */
.parts-blog-ex-tag_wrap a{border:0 !important;border-radius:0 !important;padding:0 !important;background:transparent !important;text-decoration:none !important}
.parts-blog-ex_tag{display:inline-block !important;font-size:11px !important;font-weight:700 !important;color:#1a7a1a !important;border:1px solid #28bf28 !important;border-radius:100vh !important;padding:1px 11px !important;background:#fff !important}
.parts228_pagenation{display:flex !important;justify-content:center !important;align-items:center !important;gap:8px !important;margin-top:40px !important;list-style:none !important;padding:0 !important}
.parts228_pagenation a,.parts228_pagenation span{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:42px !important;height:42px !important;padding:0 12px !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:14px !important;color:#1a7a1a !important;background:#fff !important;border:1px solid #cfddc9 !important;border-radius:.25rem !important;text-decoration:none !important}
.parts228_pagenation .pagination_num.current{background:#1a7a1a !important;color:#fff !important;border-color:#1a7a1a !important}
@media (max-width:900px){.parts228_post_list{grid-template-columns:1fr 1fr !important}}
@media (max-width:560px){.parts228_post_list{grid-template-columns:1fr !important}}
/* === add.css 貼り付け ここまで === */

/* ===== blog.css ===== */
/* ===========================================================
   施工実績（/blog-ex/instance）専用スタイル
   共通: styles.css ／ 共有: recruit.css（rc-sec / rc-head / pill-btn）
   ※ 表示は「表形式で内容が追える」一覧型（取材指定）
   =========================================================== */

#main-content .wk-intro h2{color:var(--green-deep);-webkit-text-fill-color:var(--green-deep)}

/* ---------- 導入 ---------- */
.bx-intro{padding:clamp(54px,8vw,90px) 0;text-align:center}
.bx-intro h2{font-family:var(--disp);font-weight:900;font-size:clamp(24px,4.4vw,42px);line-height:1.5;color:#1a7a1a;-webkit-text-fill-color:#1a7a1a;letter-spacing:.03em;margin:0 auto;max-width:24em}
.bx-intro p{margin:22px auto 0;max-width:40em;font-size:clamp(15px,1.7vw,17px);line-height:1.95;color:var(--ink-soft)}

/* ---------- 絞り込み（種別タブ・任意） ---------- */
.bx-filter{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-bottom:36px}
.bx-filter button{font-family:var(--disp);font-weight:700;font-size:13px;color:var(--green-deep);background:#fff;border:1px solid var(--green);border-radius:100vh;padding:8px 18px;min-height:40px;cursor:pointer;transition:.25s var(--ease)}
.bx-filter button[aria-pressed="true"],.bx-filter button:hover{background:var(--green-deep);color:#fff;border-color:var(--green-deep)}

/* ---------- 実績カードグリッド（Before/After 大型表示） ---------- */
.bx-grid{display:grid;grid-template-columns:1fr 1fr;gap:30px}
.bx-card{background:#fff;border:1px solid var(--line);border-radius:0.25rem;overflow:hidden;transition:.35s var(--ease)}
.bx-card:hover{transform:translateY(-6px);box-shadow:0 22px 46px rgba(10,50,20,.1)}

/* Before/After サムネイル（大型・松村スタイル） */
.bx-ba{display:grid;grid-template-columns:1fr 1fr;gap:4px}
.bx-ba figure{margin:0;position:relative}
.bx-ba .ph{height:230px;border-radius:0}
.bx-ba figcaption{position:absolute;left:10px;top:10px;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.04em;color:#fff;background:rgba(16,33,26,.8);padding:4px 12px;border-radius:0.25rem}
.bx-ba figure.after figcaption{background:var(--green)}

.bx-meta{padding:20px 24px 24px}
.bx-row{display:flex;align-items:center;gap:12px;margin-bottom:10px}
.bx-type{display:inline-block;font-family:var(--disp);font-weight:800;font-size:12px;letter-spacing:.04em;color:#fff;background:var(--green);border-radius:100vh;padding:4px 14px}
.bx-date{font-family:var(--disp);font-weight:700;font-size:13.5px;color:var(--green-deep)}
.bx-title{font-family:var(--disp);font-weight:800;font-size:19px;line-height:1.5;color:var(--ink-strong);margin:0}

.bx-foot{display:flex;justify-content:center;margin-top:40px;padding-bottom:clamp(56px,8vw,100px)}

/* ---------- レスポンシブ ---------- */
@media (max-width:760px){
  .bx-grid{grid-template-columns:1fr}
}
@media (max-width:480px){
  .bx-ba .ph{height:180px}
}

/* ===== inquiry-form.css ===== */
/* === add.css 貼り付け ここから === */
/* お問い合わせフォーム（parts213系）— ヤサカ トンマナ適用・フラット装飾
   theme_default.css の後に読み込む前提。必要箇所に !important で上書き。 */

/* 導入文（parts210系） */
.parts210_section_content{padding:clamp(40px,6vw,72px) 0 0 !important}
.parts210_content_wrap{max-width:760px !important;margin:0 auto !important;padding:0 24px !important}
.parts210_content{font-family:'Zen Kaku Gothic New',sans-serif !important;font-size:15px !important;line-height:2 !important;color:#191919 !important;text-align:center !important}

/* フォーム本体の囲み（.contact_section / parts213）— 装飾枠は足さずフラット */
.contact_section{background:transparent !important;padding:clamp(40px,6vw,72px) 0 clamp(60px,9vw,100px) !important}
.parts213_section_form{background:transparent !important;border:none !important;box-shadow:none !important;border-radius:0 !important;padding:0 !important}
.parts213_form_wrap{max-width:760px !important;margin:0 auto !important;padding:0 24px !important;background:transparent !important}

/* 各項目：dl を縦並び（区切り罫線・背景は足さない） */
.parts213_form_wrap dl{display:block !important;margin:0 0 28px !important;padding:0 !important;border:none !important;background:transparent !important}
.parts213_form_wrap dt{display:block !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:15px !important;color:#191919 !important;margin:0 0 10px !important;padding:0 !important;background:transparent !important}
.parts213_form_wrap dd{display:block !important;margin:0 !important;padding:0 !important}

/* 必須ラベル */
/* 必須ラベル：文字を縦横中央（inline-flex＋line-height:1。inline-blockだと文字が上寄りになる）。
   white-space:nowrap で「必須」が絶対に改行（縦並び）しないよう固定。flex-shrink:0 で親flex時も潰れない。 */
.parts213_form_wrap .required{display:inline-flex !important;align-items:center !important;justify-content:center !important;line-height:1 !important;white-space:nowrap !important;flex-shrink:0 !important;margin-left:10px !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:11px !important;color:#fff !important;background:#1a7a1a !important;border-radius:0.25rem !important;padding:4px 9px !important;vertical-align:middle !important}

/* 入力欄：フラット（下線でなくシンプルな枠、角丸0.25rem・塗りなし） */
.parts213_form_wrap input[type="text"],
.parts213_form_wrap input[type="email"],
.parts213_form_wrap input[type="tel"],
.parts213_form_wrap input[type="number"],
.parts213_form_wrap textarea{
  width:100% !important;box-sizing:border-box !important;
  font-family:'Zen Kaku Gothic New',sans-serif !important;font-size:16px !important;color:#191919 !important;
  background:#fff !important;border:1px solid #cfddc9 !important;border-radius:0.25rem !important;
  padding:13px 15px !important;line-height:1.6 !important;transition:border-color .25s !important;
}
.parts213_form_wrap input::placeholder,
.parts213_form_wrap textarea::placeholder{color:#9bb39a !important}
.parts213_form_wrap input[type="text"]:focus,
.parts213_form_wrap input[type="email"]:focus,
.parts213_form_wrap input[type="tel"]:focus,
.parts213_form_wrap input[type="number"]:focus,
.parts213_form_wrap textarea:focus{outline:none !important;border-color:#1a7a1a !important;box-shadow:0 0 0 3px rgba(26,122,26,.12) !important}
.parts213_form_wrap textarea{min-height:200px !important;resize:vertical !important}

/* チェックボックス群（お問い合わせ項目） */
.parts213_form_wrap dd label{display:inline-flex !important;align-items:center !important;gap:8px !important;margin:0 22px 10px 0 !important;font-family:'Zen Kaku Gothic New',sans-serif !important;font-size:15px !important;color:#191919 !important;cursor:pointer !important}
.parts213_form_wrap dd label input[type="checkbox"]{width:18px !important;height:18px !important;accent-color:#1a7a1a !important;margin:0 !important}

/* テキストエリア行の注記（赤字） */
.parts213_form_wrap .form_text_dt .attention{display:block !important;margin-top:6px !important;font-weight:500 !important;font-size:12px !important;line-height:1.7 !important;color:#c0392b !important}

/* エラー文 */
.parts213_form_wrap .error{display:block !important;margin-top:6px !important;font-size:13px !important;color:#c0392b !important}

/* 送信ボタン（控えめ・ヤサカのピル準拠／中央） */
.parts213_form_wrap .contact_submit{display:flex !important;justify-content:center !important;margin-top:40px !important}
.parts213_form_wrap .contact_submit input[type="submit"]{
  display:inline-block !important;cursor:pointer !important;
  font-family:'Zen Kaku Gothic New',sans-serif !important;font-weight:700 !important;font-size:16px !important;
  color:#fff !important;background-image:linear-gradient(to right,#008200 0%,#77c600 100%) !important;
  border:1px solid #fff !important;border-radius:100vh !important;padding:1rem 4rem !important;
  box-shadow:0 0 0 1px #cfddc9 !important;transition:.5s !important;
}
.parts213_form_wrap .contact_submit input[type="submit"]:hover{background-image:linear-gradient(to left,#008200 0%,#77c600 100%) !important}

/* レスポンシブ */
@media (max-width:560px){
  .parts213_form_wrap .contact_submit input[type="submit"]{width:100% !important;padding:1rem 0 !important}
}
/* === add.css 貼り付け ここまで === */

/* ===== privacy.css ===== */
/* プライバシーポリシー（/privacypolicy）専用 — TOPトンマナ
   共通: styles.css ／ 共有: recruit.css */

#main-content .pp-wrap{max-width:880px;margin:0 auto;padding:clamp(50px,7vw,92px) var(--pad)}
.pp-lead{font-size:15px;line-height:2;color:#191919;margin-bottom:clamp(32px,5vw,48px)}
.pp-sec{margin-bottom:clamp(28px,4vw,42px)}
#main-content .pp-sec h2{font-family:var(--disp);font-weight:900;font-size:clamp(17px,2.2vw,21px);color:var(--green-deep);-webkit-text-fill-color:var(--green-deep);line-height:1.5;letter-spacing:.02em;padding-left:16px;border-left:4px solid var(--green);margin-bottom:14px}
.pp-sec p{font-size:14.5px;line-height:1.95;color:#191919;margin-bottom:10px}
.pp-sec p:last-child{margin-bottom:0}
.pp-addr{font-style:normal;font-size:14.5px;line-height:2;color:#191919}
.pp-list{list-style:none;margin:8px 0 0;padding:0}
.pp-list li{position:relative;padding-left:22px;font-size:14.5px;line-height:1.95;color:#191919;margin-bottom:8px}
.pp-list li::before{content:"";position:absolute;left:0;top:11px;width:8px;height:8px;background:var(--green);border-radius:0.25rem}


/* ===== [追補] CueZillaテーマ(Bootstrap)打ち消し ===== */
/* R-20: 受領は下層ヒーローのロゴ画像に class="mark" を使用。Bootstrapの .mark
   （黄ハイライト背景＋padding）が乗ると画像がずれるため、用途箇所で打ち消す。 */
.lower-title .mark{background:transparent;padding:0;color:inherit}


/* ===== [追補] CueZillaパンくず(parts231)を下層ヒーロー帯内に馴染ませる ===== */
/* site.js が parts231 を .lower-hero .wrap 内（.lower-title の前）へ移植する。
   見た目は手書き .lower-bc に合わせる（緑 #1a7a1a / 13px / 区切り "/"）。CueZilla既定の
   背景・padding・">"区切りを打ち消すため要 !important（パーツ自動CSSが高詳細度のため）。 */
.lower-hero .parts231_breadcrumb{background:transparent!important;padding:0!important;margin:0 0 clamp(26px,5vw,60px)!important;font-size:13px!important;font-weight:700!important;color:#1a7a1a!important;line-height:1.7!important}
.lower-hero .parts231_breadcrumb .p-breadcrumb__inner{display:flex!important;flex-wrap:wrap;align-items:center;gap:9px;margin:0!important;padding:0!important;list-style:none}
.lower-hero .parts231_breadcrumb .c-breadcrumb__item{display:inline-flex;align-items:center;padding:0!important;margin:0!important;color:#1a7a1a!important;background:transparent!important}
.lower-hero .parts231_breadcrumb .c-breadcrumb__item a{color:#1a7a1a!important;opacity:.82;text-decoration:none}
.lower-hero .parts231_breadcrumb .c-breadcrumb__item a:hover{opacity:1;text-decoration:underline}
.lower-hero .parts231_breadcrumb .c-breadcrumb__item:last-child{opacity:.7;font-weight:500}
.lower-hero .parts231_breadcrumb .c-breadcrumb__item:not(:first-child)::before{content:"/"!important;opacity:.55;margin-right:9px;color:#1a7a1a!important;font-weight:700}