/* 五十鈴WF 共通スタイル(ローファイ/グレースケール/1440px基準) */
:root{
  --ink:#1a1a1a; --sub:#6b6b6b; --line:#d8d8d8; --line2:#e8e8e8;
  --box:#e3e3e3; --box-label:#8a8a8a; --tag-bg:#f0f0f0; --dark:#262626; --maxw:1200px;
}
*{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{font-family:'Hiragino Kaku Gothic ProN','Yu Gothic',Meiryo,sans-serif;color:var(--ink);background:#fff;line-height:1.7;-webkit-font-smoothing:antialiased;width:1440px;margin:0 auto}
a{color:inherit;text-decoration:none}
.inner{max-width:none;margin:0 auto;padding:0 60px}

.section{padding:96px 0;border-bottom:1px solid var(--line2)}
.eyebrow{font-size:13px;letter-spacing:.14em;color:var(--sub);font-weight:700;margin-bottom:14px}
.sec-head{font-size:30px;font-weight:800;letter-spacing:.02em;line-height:1.4;margin-bottom:8px}
.sec-lead{font-size:15px;color:#444;max-width:760px;line-height:1.9;margin-bottom:8px}

.imgbox{background:var(--box);border:1px solid #d2d2d2;color:var(--box-label);display:flex;align-items:center;justify-content:center;text-align:center;font-size:13px;line-height:1.6;padding:18px}

.copy .real{display:block;margin-bottom:10px}
.copy .dash{display:block;border-bottom:1px dashed #c4c4c4;height:0;margin:14px 0}
.copy .dash.short{width:55%}

.tags{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}
.tag{font-size:12px;color:#555;background:var(--tag-bg);border:1px solid #dcdcdc;border-radius:999px;padding:3px 12px}

.textlink{display:inline-block;font-size:14px;font-weight:700;border-bottom:2px solid var(--ink);padding-bottom:2px;margin-top:8px}
.btn{display:inline-block;font-size:14px;border:1.5px solid var(--ink);padding:11px 22px;border-radius:3px;font-weight:700}
.btn.primary{background:var(--ink);color:#fff}
.btn.lg{padding:15px 40px;font-size:15px}

/* ヘッダー */
.wf-header{position:sticky;top:0;z-index:50;background:#fff;border-bottom:1px solid var(--line);height:74px;display:flex;align-items:center}
.wf-header .inner{display:flex;align-items:center;gap:32px;width:100%}
.logo{width:118px;height:34px;background:var(--box);border:1px solid #d2d2d2;display:flex;align-items:center;justify-content:center;font-size:11px;color:var(--box-label)}
.gnav{display:flex;gap:26px;font-size:14px;font-weight:600;margin-left:8px}
.hactions{margin-left:auto;display:flex;gap:12px;align-items:center}

/* フッター */
.wf-footer{background:#f7f7f7;padding:56px 0 28px}
.foot-top{display:flex;justify-content:space-between;gap:40px;border-bottom:1px solid var(--line);padding-bottom:28px}
.foot-nav{display:flex;gap:48px;flex-wrap:wrap;font-size:13px;color:#555}
.foot-nav div{display:flex;flex-direction:column;gap:10px}
.foot-bottom{display:flex;justify-content:space-between;font-size:12px;color:#999;padding-top:18px}
.foot-bottom .links{display:flex;gap:20px}

/* ページヘッダー / パンくず */
.page-head{padding:52px 0 44px;border-bottom:1px solid var(--line2)}
.breadcrumb{font-size:12px;color:var(--sub);margin-bottom:18px}
.page-head h1{font-size:38px;font-weight:800;margin-bottom:16px}
.page-head .lead{font-size:15px;color:#444;max-width:780px;line-height:1.9}

/* CTAバンド */
.cta-band{background:#f4f4f4;text-align:center;border-bottom:none}
.cta-band h2{font-size:24px;font-weight:800;line-height:1.6;margin-bottom:24px}

/* ダークセクション */
.section.dark{background:var(--dark);color:#ededed;border-bottom:none}
.section.dark .eyebrow,.section.dark .sec-lead{color:#b3b3b3}
.section.dark .imgbox{background:#3a3a3a;border-color:#555;color:#aaa}
.section.dark .tag{background:#3a3a3a;border-color:#555;color:#ccc}
.section.dark .textlink{border-color:#ededed}

/* 課題から探す(タグボタン) */
.issue-tags{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px;max-width:920px}
.issue-tag{font-size:14px;border:1px solid var(--line);border-radius:6px;padding:12px 18px;color:#444;background:#fafafa}

/* 左右交互の大パネル */
.biz-row{display:flex;gap:48px;align-items:center;padding:44px 0;border-bottom:1px solid var(--line2)}
.biz-row:last-child{border-bottom:none}
.biz-row.rev{flex-direction:row-reverse}
.biz-row .ph{flex:0 0 600px;height:340px}
.biz-row .body{flex:1}
.biz-row .body h2{font-size:26px;font-weight:800;margin-bottom:14px}

/* 汎用カード/グリッド */
.grid-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:24px}
.grid-2{display:grid;grid-template-columns:repeat(2,1fr);gap:26px;margin-top:24px}
.card{border:1px solid var(--line2);border-radius:4px;padding:24px}
.card h3{font-size:18px;font-weight:800;margin-bottom:10px}
.card p{font-size:13px;color:#555;line-height:1.8}

/* リンク化したコンポーネントの見た目維持 */
a.nrow{display:flex}
a.art-card{display:block}
a.c{display:block}
a.art-card,.art-card{text-decoration:none;color:inherit}

/* データテーブル */
.data-table{width:100%;border-top:1px solid var(--line);margin-top:18px}
.data-row{display:flex;border-bottom:1px solid var(--line);padding:16px 4px;font-size:14px}
.data-row .key{flex:0 0 200px;color:#666;font-weight:700}
.data-row .val{flex:1;color:var(--ink)}

/* 数値ハイライト */
.stats{display:flex;gap:24px;flex-wrap:wrap;background:#f5f5f5;padding:28px;border-radius:6px;margin-top:18px}
.stat{flex:1;min-width:140px;text-align:center}
.stat .num{font-size:30px;font-weight:800}
.stat .label{font-size:12px;color:var(--sub);margin-top:4px}

/* 下層ページ:ヒーロー */
.hero{position:relative;height:380px}
.hero .label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);color:#9a9a9a;font-size:13px}
.hero .overlay{position:absolute;left:60px;right:60px;bottom:44px;max-width:820px;text-align:left}
.hero .label{top:38%}
.hero .overlay .breadcrumb{margin-bottom:14px}
.hero .overlay h1{font-size:34px;font-weight:800;color:#1a1a1a;margin-bottom:12px;line-height:1.4}
.hero .overlay .lead{font-size:15px;color:#333;line-height:1.9}
/* アプローチ(哲学) */
.approach{background:#f7f6f4;border-bottom:1px solid var(--line2)}
.approach h2{font-size:26px;font-weight:800;margin-bottom:18px;max-width:880px;line-height:1.5}
/* サービスカード */
.svc-card{border:1px solid var(--line);border-radius:6px;padding:28px;margin-top:20px}
.svc-card h3{font-size:19px;font-weight:800;margin-bottom:6px}
.svc-card .sub{font-size:14px;color:#555;margin-bottom:18px}
.svc-cols{display:flex;gap:40px}
.svc-cols .col{flex:1}
.svc-cols h4{font-size:13px;font-weight:700;color:var(--sub);margin-bottom:8px}
.svc-cols ul{list-style:none;display:flex;flex-direction:column;gap:6px}
.svc-cols li{font-size:13px;color:#444;padding-left:14px;position:relative}
.svc-cols li::before{content:'・';position:absolute;left:0;color:#999}
.svc-cols p{font-size:13px;color:#444;line-height:1.8;margin-bottom:12px}
.url-link{font-size:12px;color:#666;margin-top:10px;display:block;border-bottom:1px dotted #aaa;width:fit-content}
/* 3択CTA */
.cta-3{display:flex;gap:20px;margin-top:8px}
.cta-3 .c{flex:1;border:1px solid var(--line);border-radius:6px;padding:24px;text-align:center}
.cta-3 .c .t{font-size:15px;font-weight:700;margin-bottom:6px}
.cta-3 .c .s{font-size:12px;color:var(--sub)}
/* 記事カード2枚 */
.art-2{display:grid;grid-template-columns:repeat(2,1fr);gap:24px;margin-top:20px}
.art-card .imgbox{height:180px;margin-bottom:12px}
.art-card .cat{font-size:11px;font-weight:700;color:#777;letter-spacing:.06em}
.art-card h4{font-size:16px;font-weight:700;margin:6px 0 8px;line-height:1.5}
/* 環境取り組み・2カラムリスト */
.eco-list{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin-top:18px}
.eco-item{background:#f2f5f2;border:1px solid #e3ebe3;border-radius:6px;padding:16px 18px;font-size:14px;color:#3a4a3a}
/* 3軸ナビ(サステナトップ) */
.axis-3{display:grid;grid-template-columns:repeat(3,1fr);gap:26px;margin-top:24px}
.axis-card .imgbox{height:200px;margin-bottom:14px}
.axis-card h3{font-size:18px;font-weight:800;margin-bottom:8px}
.axis-card p{font-size:13px;color:#555;line-height:1.8;margin-bottom:10px}
/* タイムライン */
.timeline{display:flex;gap:20px;overflow-x:auto;margin-top:24px;padding-bottom:10px}
.tl-node{flex:0 0 240px;border-left:2px solid var(--line);padding-left:16px}
.tl-node .yr{font-size:13px;font-weight:800;margin-bottom:6px}
.tl-node .ti{font-size:14px;font-weight:700;margin-bottom:6px}
.tl-node .ds{font-size:12px;color:#666;line-height:1.7}
/* 記事グリッド3列 */
.art-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-top:24px}
/* フォーム */
.form-field{margin-bottom:18px;max-width:680px}
.form-field label{display:block;font-size:13px;font-weight:700;margin-bottom:6px}
.form-field .input{height:44px;border:1px solid var(--line);border-radius:4px;background:#fff}
.form-field .input.area{height:120px}
/* 種別カード2x2 */
.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:18px;margin-top:24px;max-width:900px}
.type-card{border:1px solid var(--line);border-radius:8px;padding:24px;cursor:pointer}
.type-card h3{font-size:16px;font-weight:800;margin-bottom:8px}
.type-card p{font-size:13px;color:#555}
