/* ============================================================
   株式会社Spera — spera.css
   engoodテーマのデザイントークンを継承し、
   「信頼感のある端正なコーポレート」へ再配色。
   ネイビー基調 × ゴールドの細い差し色（大手取引を意識した格調）。
   ティール（青緑）→スティールブルーへ振り、engoodと差別化。
   ============================================================ */
:root{
  --ink:#102e4b;
  --ink-soft:#33506d;
  --brand:#17466f;
  --brand-deep:#0e3153;
  --violet:#33587e;        /* サブ：スティールブルー（緑味を抜く） */
  --cyan:#6d92b8;
  --pink:#4a7099;
  --accent:#1c568a;        /* CTA：ネイビー寄りスティール */
  --accent-deep:#123f66;
  --gold:#c39a4c;          /* 差し色ゴールド */
  --text:#3a4a5c;
  --muted:#788799;
  --line:#e2eaf1;
  --bg-alt:#f3f7fb;
  --bg-deep:#0c2842;
  --grad-hero:linear-gradient(135deg,#0a2540 0%,#123f63 48%,#1c568a 100%);
  --grad-brand:linear-gradient(120deg,#17466f,#33587e 60%,#6d92b8);
  --grad-accent:linear-gradient(120deg,#1c568a,#17466f 55%,#0e3153);
  --grad-cool:linear-gradient(120deg,#17466f,#6d92b8);
  --grad-gold:linear-gradient(135deg,#e2c37e,#c39a4c);
  --ff-disp:"Outfit","Noto Sans JP",sans-serif;
  --ff-mincho:"Shippori Mincho","Noto Serif JP",serif;
}

/* 明朝の差し色（格調） */
.mincho{font-family:var(--ff-mincho);font-weight:600;letter-spacing:.02em}

/* ロゴ：Sマーク */
.logo .mark{background:var(--grad-hero)}
.logo small{letter-spacing:.24em}

/* ロゴ：マーク画像（社名テキストと併記） */
.logo__mark-img{width:40px;height:40px;object-fit:contain;display:block;flex:none}
.foot-brand__logo{display:flex;align-items:center;gap:10px;margin-bottom:14px}
.foot-mark-img{width:36px;height:36px;object-fit:contain;display:block;flex:none;background:#fff;border-radius:9px;padding:3px}
.foot-logo-name{font-family:var(--ff-disp);font-weight:900;font-size:20px;color:#fff}

/* ヒーロー：キャッチコピーを明朝で大きく、金の下線 */
.hero h1 .catch{font-family:var(--ff-mincho);font-weight:700;letter-spacing:.04em}
.hero h1 .pop{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero__eyebrow .dot{background:var(--gold);box-shadow:0 0 0 4px rgba(195,154,76,.22)}

/* ヒーロー右：3事業ビジュアルカード */
.biz-figure{position:relative;border-radius:var(--radius-lg);overflow:hidden;
  border:1px solid rgba(255,255,255,.18);
  background:linear-gradient(160deg,rgba(255,255,255,.14),rgba(255,255,255,.04));
  backdrop-filter:blur(8px);box-shadow:0 40px 80px -30px rgba(0,0,0,.55);
  padding:30px 28px}
.biz-figure__cap{display:inline-flex;align-items:center;gap:8px;font-family:var(--ff-disp);
  font-weight:800;font-size:12px;letter-spacing:.14em;color:var(--gold);margin-bottom:18px}
.biz-figure__cap::before{content:"";width:22px;height:2px;background:var(--gold)}
.biz-figure__list{display:grid;gap:12px}
.biz-figure__item{display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:14px 16px}
.biz-figure__item .bi-ic{width:44px;height:44px;border-radius:12px;flex:none;display:grid;place-items:center;
  background:rgba(195,154,76,.16);border:1px solid rgba(195,154,76,.35)}
.biz-figure__item .bi-ic .micon{font-size:24px;color:var(--gold)}
.biz-figure__item b{display:block;color:#fff;font-size:15.5px;line-height:1.3}
.biz-figure__item small{display:block;color:#b8cbdd;font-size:12px;font-weight:600;margin-top:2px}

/* 理念バンド（ヒーロー直下） */
.philosophy{background:
  radial-gradient(1000px 400px at 50% -30%,rgba(23,70,111,.06),transparent 60%),var(--bg);
  text-align:center;padding:clamp(56px,8vw,88px) 0}
.philosophy__eyebrow{display:inline-flex;align-items:center;gap:.5em;font-family:var(--ff-disp);
  font-weight:800;font-size:12px;letter-spacing:.2em;text-transform:uppercase;color:var(--brand);margin-bottom:20px}
.philosophy__quote{font-family:var(--ff-mincho);font-weight:700;
  font-size:clamp(21px,3.4vw,34px);line-height:1.85;color:var(--ink);max-width:20em;margin:0 auto;letter-spacing:.03em}
.philosophy__quote .u{background:linear-gradient(transparent 66%,rgba(195,154,76,.35) 66%)}
.philosophy__lead{margin:26px auto 0;max-width:640px;color:var(--muted);font-size:clamp(14px,1.6vw,16px)}

/* 事業カード（COREカード流用の補強） */
.core--1::before,.core--2::before,.core--3::before{
  background:linear-gradient(160deg,#0e3153 0%,#17466f 58%,#1f5786 100%)}
.core__tags{display:flex;flex-wrap:wrap;gap:7px;margin-top:16px}
.core__tags span{font-size:11.5px;font-weight:700;color:#dbe8f3;
  background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);padding:5px 11px;border-radius:999px}
.core__more{margin-top:auto;padding-top:18px}
.core__more a{display:inline-flex;align-items:center;gap:6px;color:#fff;font-weight:800;font-size:14px}
.core__more a .micon{font-size:18px;color:var(--gold)}

/* ===== サステナビリティ：循環（サーキュラー）ビジュアル ===== */
.sustain{position:relative;overflow:hidden;color:#fff;
  background:linear-gradient(135deg,#0b2a48,#12395c 55%,#1a4e7a)}
.sustain::after{content:"";position:absolute;inset:0;opacity:.18;pointer-events:none;
  background:radial-gradient(50% 90% at 85% 12%,rgba(195,154,76,.7),transparent 60%),
            radial-gradient(55% 90% at 8% 92%,rgba(95,178,199,.5),transparent 60%)}
.sustain .container{position:relative;z-index:1}
.sustain__head{text-align:center;max-width:760px;margin:0 auto clamp(34px,5vw,58px)}
.sustain__eyebrow{font-family:var(--ff-disp);font-weight:800;font-size:12px;letter-spacing:.22em;color:var(--gold);text-transform:uppercase}
.sustain__head h2{color:#fff;font-size:clamp(25px,3.9vw,40px);margin:14px 0 16px;line-height:1.4}
.sustain__accent{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.sustain__head p{color:#d3e0ec;font-size:clamp(14px,1.6vw,16px);line-height:1.95}
.sustain__head p b{color:#fff}

/* 循環オービット */
.cycle{position:relative;max-width:940px;margin:0 auto;min-height:600px;display:flex;align-items:center;justify-content:center}
.cycle__orbit{position:absolute;left:50%;top:50%;width:540px;height:540px;transform:translate(-50%,-50%);
  border-radius:50%;border:1.5px dashed rgba(195,154,76,.4);animation:cycleSpin 34s linear infinite}
.cycle__orbit::before{content:"";position:absolute;inset:44px;border-radius:50%;border:1px solid rgba(255,255,255,.08)}
@keyframes cycleSpin{to{transform:translate(-50%,-50%) rotate(360deg)}}
@media(prefers-reduced-motion:reduce){.cycle__orbit,.cycle__ring{animation:none}}
.cycle__core{position:relative;z-index:2;width:184px;height:184px;display:grid;place-items:center}
.cycle__ring{position:absolute;inset:0;border-radius:50%;border:2px dashed rgba(255,255,255,.25);animation:cycleSpin2 18s linear infinite}
@keyframes cycleSpin2{to{transform:rotate(-360deg)}}
.cycle__hub{width:150px;height:150px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#2a6394,#123f63 70%);
  display:grid;place-items:center;text-align:center;color:#fff;
  box-shadow:0 24px 60px -18px rgba(0,0,0,.65),inset 0 0 0 1px rgba(255,255,255,.12)}
.cycle__hub .micon{font-size:42px;color:var(--gold)}
.cycle__hub b{display:block;font-size:21px;font-weight:900;line-height:1.1;margin-top:2px}
.cycle__hub small{font-family:var(--ff-disp);font-size:9.5px;letter-spacing:.24em;color:#9fb6cc}
/* 周囲のノード */
.cycle__node{position:absolute;z-index:3;width:270px;background:rgba(255,255,255,.07);
  border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:20px 22px;backdrop-filter:blur(6px);
  box-shadow:0 20px 44px -22px rgba(0,0,0,.6)}
.cycle__ic{display:inline-grid;place-items:center;width:46px;height:46px;border-radius:12px;
  background:rgba(195,154,76,.16);border:1px solid rgba(195,154,76,.4);margin-bottom:10px}
.cycle__ic .micon{font-size:26px;color:var(--gold)}
.cycle__node b{display:block;color:#fff;font-size:16px;margin-bottom:6px}
.cycle__node>span{color:#c7d6e4;font-size:13px;line-height:1.7;display:block}
.cycle__node--1{left:0;top:4%}
.cycle__node--2{right:0;top:4%}
.cycle__node--3{left:50%;bottom:0;transform:translateX(-50%)}
@media(max-width:900px){
  .cycle{flex-direction:column;min-height:0;gap:16px;max-width:440px}
  .cycle__orbit{display:none}
  .cycle__core{position:static;margin-bottom:4px}
  .cycle__node{position:static;width:100%;transform:none}
  .cycle__node--3{transform:none}
}

/* ===== 採用：動的レイアウト（大型タイポ＋職種カード） ===== */
.recruit{padding:clamp(56px,8vw,90px) 0}
.recruit__inner{position:relative;overflow:hidden;border-radius:var(--radius-lg);
  background:linear-gradient(120deg,#0e3153,#17466f 55%,#25628f);
  padding:clamp(34px,5vw,60px);color:#fff;box-shadow:var(--shadow)}
.recruit__ghost{position:absolute;right:2%;bottom:-6%;font-family:var(--ff-disp);font-weight:900;
  font-size:clamp(90px,17vw,220px);line-height:.8;letter-spacing:-.02em;pointer-events:none;
  -webkit-text-stroke:1.5px rgba(255,255,255,.1);color:transparent;user-select:none}
.recruit__grid{position:relative;z-index:1;display:grid;grid-template-columns:1.15fr .85fr;gap:clamp(28px,4vw,52px);align-items:center}
.recruit__eyebrow{font-family:var(--ff-disp);font-weight:800;font-size:12px;letter-spacing:.22em;color:var(--gold)}
.recruit__lead h2{color:#fff;font-size:clamp(24px,3.6vw,38px);margin:10px 0 14px;line-height:1.35}
.recruit__lead p{color:#d6e2ee;font-size:15px;line-height:1.9;margin-bottom:26px}
.recruit__roles{display:grid;gap:14px}
.rrole{display:flex;align-items:center;gap:16px;background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:16px 20px;backdrop-filter:blur(6px);
  transition:transform .25s,border-color .25s}
.rrole:hover{transform:translateX(6px);border-color:rgba(195,154,76,.6)}
.rrole__ic{display:inline-grid;place-items:center;width:48px;height:48px;border-radius:12px;flex:none;
  background:var(--grad-gold);box-shadow:0 10px 24px -10px rgba(195,154,76,.7)}
.rrole__ic .micon{font-size:26px;color:#123f63}
.rrole b{display:block;color:#fff;font-size:16.5px}
.rrole small{display:block;color:#b8cbdd;font-size:12.5px;margin-top:2px}
@media(max-width:820px){
  .recruit__grid{grid-template-columns:1fr;gap:26px}
  .recruit__ghost{font-size:clamp(70px,22vw,120px);opacity:.7}
}

/* 代表メッセージ：写真なし1カラム版 */
.greeting--nophoto{grid-template-columns:1fr;max-width:900px;margin-inline:auto}
.greeting__role{display:inline-block;font-family:var(--ff-disp);font-weight:800;font-size:12px;
  letter-spacing:.14em;color:var(--brand);background:var(--bg-alt);border:1px solid var(--line);
  padding:6px 14px;border-radius:999px;margin-bottom:16px}
.greeting__name{font-size:22px;font-weight:900;color:var(--ink);margin:18px 0 0}
.greeting__name small{display:block;font-size:12.5px;font-weight:700;color:var(--muted);margin-top:4px}

/* 会社概要テーブル（トップ用サマリー） */
.company-info__list{max-width:820px;margin:0 auto;display:grid;gap:0;
  background:#fff;border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft)}
.company-info__list>div{display:grid;grid-template-columns:200px 1fr;border-bottom:1px solid var(--line)}
.company-info__list>div:last-child{border-bottom:0}
.company-info__list dt{margin:0;padding:16px 22px;background:var(--bg-alt);color:var(--ink);font-weight:700;font-size:14px}
.company-info__list dd{margin:0;padding:16px 22px;color:var(--text);font-size:14.5px;line-height:1.8}
@media(max-width:600px){
  .company-info__list>div{grid-template-columns:1fr}
  .company-info__list dt{padding:14px 20px 2px;background:#fff}
  .company-info__list dd{padding:2px 20px 14px}
}

/* 新着（記事なし時の空表示） */
.news-empty{text-align:center;color:var(--muted);font-size:15px;
  background:var(--bg-alt);border:1px dashed var(--line);border-radius:var(--radius);padding:40px 20px;max-width:640px;margin:0 auto}

/* セクション見出しの明朝アクセント（任意） */
.sec-head h2 .hl::after{background:linear-gradient(90deg,rgba(195,154,76,.5),rgba(195,154,76,.5))}

/* ===== 画像モード：メイン画像下の見出し（おしゃれH1） ===== */
.hero-intro{padding:clamp(38px,5vw,60px) 0 clamp(30px,4vw,44px)}
.hero-intro__eyebrow{display:inline-flex;align-items:center;gap:.55em;background:var(--bg-alt);border:1px solid var(--line);color:var(--brand-deep);font-weight:800;font-size:13px;padding:8px 18px;border-radius:999px;margin-bottom:20px}
.hero-intro__eyebrow .dot{width:8px;height:8px;border-radius:50%;background:var(--gold);box-shadow:0 0 0 4px rgba(195,154,76,.2)}
.hero-intro__title{font-size:clamp(28px,5vw,50px)!important;line-height:1.4;letter-spacing:.03em;margin:0 auto 18px}
.hero-intro__title .mincho{font-family:var(--ff-mincho);font-weight:700}
.hero-intro__accent{background:var(--grad-gold);-webkit-background-clip:text;background-clip:text;color:transparent}
.hero-intro__title::after{content:"";display:block;width:64px;height:3px;margin:22px auto 0;background:var(--grad-gold);border-radius:3px}

/* ===== OUR BUSINESS（メイン画像下の事業ブロック） ===== */
.biz-strip-sec{padding:0 0 clamp(52px,7vw,84px)}
.biz-strip__eyebrow{text-align:center;font-family:var(--ff-disp);font-weight:800;font-size:13px;letter-spacing:.24em;color:var(--brand);margin:0 0 24px;text-transform:uppercase}
.biz-strip{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.biz-card{position:relative;display:block;background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:32px 26px 30px;box-shadow:var(--shadow-soft);transition:transform .25s,box-shadow .25s,border-color .25s;color:var(--ink)}
.biz-card:hover{transform:translateY(-6px);box-shadow:var(--shadow);border-color:var(--brand)}
.biz-card__ic{display:inline-grid;place-items:center;width:60px;height:60px;border-radius:16px;background:var(--grad-hero);margin-bottom:16px;box-shadow:var(--shadow-color)}
.biz-card__ic .micon{font-size:30px;color:#fff}
/* 見出しではなくリンクのラベル（見出しレベルが h1→h3 に飛ぶのを避けるため span） */
.biz-card__ttl{display:block;font-size:19px;margin-bottom:8px;line-height:1.35;
  color:var(--ink);font-weight:900;letter-spacing:.01em}
.biz-card p{font-size:14px;color:var(--muted)}
.biz-card__go{position:absolute;top:26px;right:24px;color:var(--gold);opacity:0;transform:translateX(-6px);transition:.25s}
.biz-card:hover .biz-card__go{opacity:1;transform:none}
.biz-card__go .micon{font-size:20px}
@media(max-width:860px){.biz-strip{grid-template-columns:1fr}}

/* ===== 数字セクション：タイトル対応（グリッド分離＋白見出し） ===== */
.stats .container{display:block}
.stats__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:24px;text-align:center}
@media(max-width:980px){.stats__grid{grid-template-columns:1fr 1fr;gap:32px 16px}}
@media(max-width:430px){.stats__grid{grid-template-columns:1fr}}
.sec-head--light h2{color:#fff}
.sec-head--light p{color:#c4d8e6}
.eyebrow--light{background:none;-webkit-background-clip:border-box;background-clip:border-box;-webkit-text-fill-color:var(--gold);color:var(--gold)}

/* ===== 選ばれる理由：画像付きカード ===== */
.reason--photo{padding:0;overflow:hidden;display:flex;flex-direction:column}
.reason__img{aspect-ratio:4/3;overflow:hidden;background:var(--bg-alt)}
.reason__img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.reason--photo:hover .reason__img img{transform:scale(1.05)}
.reason__body{padding:22px 24px 26px}
.reason__body h3{font-size:18px;margin-bottom:8px}
.reason__body p{font-size:13.5px;color:var(--muted)}

/* ===== SDGs／サステナビリティ目標（代表メッセージ内に統合） ===== */
.sdgs{background:var(--bg-alt)}
.msg-sdgs{margin-top:clamp(40px,5vw,60px);background:var(--bg-alt);border:1px solid var(--line);
  border-radius:var(--radius-lg);padding:clamp(30px,4vw,52px)}
.msg-sdgs__head{text-align:center;max-width:720px;margin:0 auto clamp(28px,4vw,40px)}
.sdgs-masthead{display:block;width:min(240px,64%);height:auto;margin:0 auto 18px}
.msg-sdgs__head h3{font-size:clamp(21px,2.9vw,30px);color:var(--ink);margin:.35em 0 .45em;line-height:1.4}
.msg-sdgs__head p{color:var(--muted);font-size:clamp(14px,1.6vw,15.5px)}
.sdgs-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;max-width:1000px;margin:0 auto}
.sdgs-card{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);padding:clamp(26px,3vw,34px);box-shadow:var(--shadow-soft);display:flex;flex-direction:column}
.sdgs-card__cat{display:inline-flex;align-items:center;gap:7px;align-self:flex-start;font-family:var(--ff-disp);font-weight:800;font-size:12.5px;letter-spacing:.06em;color:#fff;padding:6px 15px;border-radius:999px;margin-bottom:16px}
.sdgs-card__cat .micon{font-size:18px}
.sdgs-card__cat--env{background:linear-gradient(120deg,#3f7e44,#4c9f38)}
.sdgs-card__cat--soc{background:linear-gradient(120deg,#17466f,#33587e)}
.sdgs-card h3{font-size:clamp(18px,2.2vw,21px);color:var(--ink);line-height:1.5;margin-bottom:18px}
.sdgs-card__kpi{background:var(--bg-alt);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:16px 18px;margin-bottom:24px}
.sdgs-card__kpi-label{display:inline-block;font-weight:800;font-size:11.5px;letter-spacing:.08em;color:var(--brand-deep);margin-bottom:6px}
.sdgs-card__kpi p{font-size:14px;color:var(--text);line-height:1.8;margin:0}
.sdgs-card__logos{margin-top:auto}
.sdgs-card__logos-label{display:block;font-weight:800;font-size:11.5px;letter-spacing:.04em;color:var(--muted);margin-bottom:10px}
.sdgs-logos{display:flex;gap:14px;flex-wrap:wrap}
/* SDGs 実ロゴ */
.sdgs-logo{width:98px;height:98px;border-radius:8px;display:block;box-shadow:var(--shadow-soft)}
/* ロゴ差込プレースホルダ（SDGs公式カラー・未使用時のフォールバック） */
.sdgs-ph{position:relative;width:92px;height:92px;border-radius:10px;display:grid;align-content:center;justify-items:center;gap:1px;text-align:center;color:#fff;font-family:var(--ff-disp);box-shadow:var(--shadow-soft);overflow:hidden}
.sdgs-ph::after{content:"";position:absolute;inset:5px;border:1.5px dashed rgba(255,255,255,.6);border-radius:7px;pointer-events:none}
.sdgs-ph small{font-size:9px;font-weight:800;letter-spacing:.1em;opacity:.9}
.sdgs-ph b{font-size:34px;font-weight:900;line-height:.9}
.sdgs-ph i{font-style:normal;font-size:9.5px;font-weight:700;opacity:.85;margin-top:1px}
.sdgs-ph[data-n="7"]{background:#fcc30b}
.sdgs-ph[data-n="13"]{background:#3f7e44}
.sdgs-ph[data-n="3"]{background:#4c9f38}
.sdgs-ph[data-n="8"]{background:#a21942}
.sdgs-note{text-align:center;color:var(--muted);font-size:12.5px;margin:clamp(28px,4vw,40px) auto 0;max-width:640px}
@media(max-width:820px){.sdgs-grid{grid-template-columns:1fr}}

/* ===== お問い合わせフォーム ===== */
.page-lead{max-width:760px;margin:0 auto clamp(28px,4vw,40px);text-align:center;color:var(--text);font-size:15.5px;line-height:1.9}
.page-lead strong{color:var(--brand-deep)}
.cform{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:clamp(24px,3.5vw,40px);max-width:820px;margin:0 auto}
.cform__hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
.cform__row{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-bottom:18px}
.cform__field{display:block;margin-bottom:18px}
.cform__row .cform__field{margin-bottom:0}
.cform__label{display:block;font-weight:700;font-size:14px;color:var(--ink);margin-bottom:7px}
.cform__label em{font-style:normal;font-size:11px;font-weight:800;color:#fff;background:var(--accent);padding:2px 8px;border-radius:6px;margin-left:8px;vertical-align:1px}
.cform input[type=text],.cform input[type=email],.cform input[type=tel],.cform select,.cform textarea{
  width:100%;padding:13px 15px;border:1.5px solid var(--line);border-radius:10px;font:inherit;background:#fff;color:var(--text);transition:border-color .2s,box-shadow .2s}
.cform input:focus,.cform select:focus,.cform textarea:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px rgba(23,70,111,.12)}
.cform textarea{min-height:150px;resize:vertical}
.cform .is-error input,.cform .is-error textarea,.cform .is-error select{border-color:#d64550;box-shadow:0 0 0 3px rgba(214,69,80,.12)}
.cform__agree{display:flex;align-items:flex-start;gap:10px;margin:6px 0 22px;font-size:14px;color:var(--text);line-height:1.7}
.cform__agree input[type=checkbox]{width:18px;height:18px;margin-top:2px;accent-color:var(--brand);flex:none;cursor:pointer}
.cform__agree a{color:var(--brand);text-decoration:underline}
.cform__submit{text-align:center}
.cform__submit .btn{min-width:280px}
.cform__note{font-size:12.5px;color:var(--muted);margin-top:14px}
.cform__alert{border-radius:12px;padding:16px 20px;font-size:14.5px;line-height:1.8;margin-bottom:22px}
.cform__alert--ok{background:#eaf6ef;border:1px solid #b7e0c6;color:#1f7a45}
.cform__alert--err{background:#fdeced;border:1px solid #f4c3c7;color:#c0392b}
/* お問い合わせ：電話/会社情報/地図 */
.contact-aside{max-width:820px;margin:34px auto 0;text-align:center;background:var(--bg-alt);border:1px solid var(--line);border-radius:var(--radius);padding:26px 24px}
.contact-aside__ttl{font-weight:700;color:var(--ink);margin-bottom:14px}
.contact-aside__links{display:flex;justify-content:center;gap:12px;flex-wrap:wrap}
.contact-aside__links .btn{display:inline-flex;flex-direction:row;gap:8px;align-items:center}
.contact-aside__note{font-size:12.5px;color:var(--muted);margin-top:12px}
.map-wrap{max-width:820px;margin:36px auto 0}
.map-ttl{display:flex;align-items:center;justify-content:center;gap:8px;font-size:20px;color:var(--ink);margin-bottom:16px}
.map-ttl .micon{color:var(--brand)}
.map-embed{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);line-height:0}
.map-embed iframe{width:100%;height:400px;border:0;display:block}
.figure-note{text-align:center;color:var(--muted);font-size:12.5px;margin-top:22px}
.company-info{max-width:820px;margin-inline:auto}
@media(max-width:560px){.cform__row{grid-template-columns:1fr;gap:18px}.cform__submit .btn{min-width:0;width:100%}}

/* 下層ページ：アクセス地図 */
.access-map{border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow-soft);line-height:0}
/* 下層ページ：2枚のreasonカードを中央寄せ */
.reason-grid--center{grid-template-columns:repeat(2,1fr);max-width:760px;margin:0 auto}
@media(max-width:600px){.reason-grid--center{grid-template-columns:1fr}}

/* ===== 微調整（スマホ表示のバランス修正） ===== */
/* ①ヘッダー「お問い合わせ」ボタンを1行に固定（2行折り返し防止） */
.hdr-btn{white-space:nowrap}

/* ②数字カード：アイコン・数字・ラベルを縦積み中央揃え（横並びのズレ解消） */
.stat{display:flex;flex-direction:column;align-items:center}
.stat .n{display:block}
.stat .l{display:block}

/* ③採用の2ボタン：横幅を揃える（スタック時は均等フル幅） */
.recruit .btn-row{gap:14px}
@media(max-width:820px){
  .recruit .btn-row{flex-direction:column;align-items:stretch}
  .recruit .btn-row .btn{width:100%}
}

/* ④お問い合わせ最終CTAの2ボタン：間隔を確保＋均等幅（くっつき解消） */
.final-cta{display:flex;gap:16px;flex-wrap:wrap;justify-content:center;max-width:600px;margin:0 auto}
.final-cta .btn{flex:1 1 240px;max-width:300px}
@media(max-width:600px){.final-cta{gap:14px}.final-cta .btn{flex:1 1 100%;max-width:none}}

/* ===== 採用：募集要項カード（page-recruit） ===== */
.job-list{display:grid;gap:36px;max-width:900px;margin:0 auto}
.job{background:#fff;border:1px solid var(--line);border-radius:var(--radius-lg);box-shadow:var(--shadow-soft);padding:34px 32px 30px;scroll-margin-top:96px}
.job__head{margin-bottom:22px}
.job__badge{display:inline-flex;align-items:center;gap:7px;background:var(--grad-brand);color:#fff;font-weight:800;font-size:12px;letter-spacing:.06em;padding:6px 15px;border-radius:999px;margin-bottom:14px}
.job__badge .micon{font-size:16px}
.job__ttl{font-size:23px;line-height:1.5;color:var(--ink);margin-bottom:12px}
.job__lead{color:var(--text);font-size:15px;line-height:1.9}
.job__tags{display:flex;flex-wrap:wrap;gap:8px;list-style:none;padding:0;margin:16px 0 0}
.job__tags li{font-size:12.5px;font-weight:700;color:var(--brand);background:var(--bg-alt);border:1px solid var(--line);border-radius:999px;padding:5px 13px}
/* 要項テーブルは会社概要のdlを流用（幅と見出し列だけ調整） */
.job__spec{max-width:none;margin:0}
.job__spec>div{grid-template-columns:160px 1fr}
.job__spec ul{list-style:none;padding:0;margin:0;display:grid;gap:7px}
.job__spec ul li{position:relative;padding-left:16px}
.job__spec ul li::before{content:"";position:absolute;left:2px;top:.72em;width:6px;height:6px;border-radius:50%;background:var(--cyan)}
.job__pay{font-family:var(--ff-disp);font-weight:900;font-size:19px;color:var(--brand-deep);letter-spacing:.01em}
.job__note{display:block;margin-top:8px;font-size:12.5px;color:var(--muted);line-height:1.8}
.job__foot{margin-top:26px;text-align:center}
.job__foot .btn{min-width:300px}
.job__foot small{display:block;margin-top:12px;font-size:12.5px;color:var(--muted);line-height:1.8}
@media(max-width:760px){
  .job{padding:26px 20px 24px}
  .job__ttl{font-size:19px}
  .job__spec>div{grid-template-columns:1fr}
  .job__pay{font-size:17px}
  .job__foot .btn{min-width:0;width:100%}
}
