/* ===================================================================
   works.css — 施工事例 一覧（/works）＋ 詳細（/works/<slug>）
   器＝site.css（.stage/.board 1440 流体スケール＋768↓ SP）。本ファイルはページ固有。
   一覧＝.works-index ／ 詳細＝.works-detail で名前空間を分離。
   カード意匠は製品ページ .pworks の系譜（白カード＋灰プレースホルダー＋コバルト pill）。
   =================================================================== */

/* ====== 共通：上部の余白（コバルトヘッダー 72px ぶん）＝ヒーロー無しページ ====== */
.works-top{padding-top:72px}

/* ====== 一覧 HERO（小・mist 帯）====== */
.works-hero{background:linear-gradient(180deg,var(--mist-lead),#E9EBF0);padding:104px 0 56px}
.works-hero-in{width:1200px;max-width:100%;margin:0 auto;padding:0 40px}
.works-hero .ey{font-family:var(--en);font-weight:700;font-size:13px;letter-spacing:.22em;color:var(--cobalt);text-transform:uppercase}
.works-hero h1{font-family:var(--jp);font-weight:900;font-size:38px;letter-spacing:.03em;color:var(--ink);margin-top:12px}
.works-hero p{font-size:15px;font-weight:500;color:var(--body-lead);line-height:2;margin-top:14px;max-width:760px}

/* ====== フィルタ ====== */
.works-filter{background:var(--paper);border-bottom:1px solid var(--line)}
.works-filter-in{width:1200px;max-width:100%;margin:0 auto;padding:18px 40px;display:flex;flex-wrap:wrap;align-items:center;gap:10px 26px}
.wf-group{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wf-label{font-family:var(--jp);font-weight:700;font-size:12px;color:var(--note2);letter-spacing:.04em;margin-right:2px}
.wf-btn{font-family:var(--jp);font-weight:700;font-size:13px;color:var(--sub);background:var(--mist-lead);border:1px solid transparent;border-radius:999px;padding:8px 16px;cursor:pointer;transition:background .18s,color .18s,border-color .18s;line-height:1}
.wf-btn:hover{color:var(--cobalt)}
.wf-btn.on{background:var(--cobalt);color:#fff}

/* ====== グリッド ====== */
.works-wrap{width:1200px;max-width:100%;margin:0 auto;padding:46px 40px 8px}
.works-grid{display:flex;flex-wrap:wrap;gap:24px}
.wcard{width:calc((100% - 48px)/3);background:var(--paper);border:1px solid var(--line);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
a.wcard:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,16,80,.10);border-color:#c9cfe0}
.wcard-img{position:relative;height:172px;background:var(--ph);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.wcard-img .ic{position:absolute;left:12px;top:10px;font-family:var(--en);font-weight:400;font-size:10px;letter-spacing:.22em;color:#b6bccb}
.wcard-img .lb{font-family:var(--jp);font-weight:400;font-size:12.5px;letter-spacing:.05em;color:#9aa1b2}
/* 実写真 fill（photoStatus:live）＝固定高の枠をそのまま覆う */
.wcard-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.wd-hero img{width:100%;height:100%;object-fit:cover;border-radius:4px;display:block}
.wd-gallery .cell img{width:100%;height:100%;object-fit:cover;display:block;border-radius:3px}
.wd-rcard-img img{width:100%;height:100%;object-fit:cover;display:block}
.wcard-body{padding:17px 18px 20px;display:flex;flex-direction:column;flex:1}
.wcard-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.wcard-pill{display:inline-flex;align-items:center;height:25px;padding:0 10px;background:var(--cobalt);border-radius:3px;font-family:var(--jp);font-weight:700;font-size:10.5px;color:#fff;line-height:1}
.wcard-region{font-family:var(--jp);font-weight:700;font-size:11.5px;color:var(--note2);letter-spacing:.02em}
.wcard h3{font-family:var(--jp);font-weight:700;font-size:15px;line-height:1.5;color:var(--ink);margin-top:13px}
.wcard p{font-family:var(--jp);font-weight:400;font-size:12.5px;line-height:1.9;color:var(--sub);margin-top:8px;flex:1}
.wcard-more{margin-top:14px;font-family:var(--jp);font-weight:700;font-size:12.5px;color:var(--cobalt);display:inline-flex;align-items:center;gap:6px}
.wcard-more .ar{transition:transform .2s}
a.wcard:hover .wcard-more .ar{transform:translateX(3px)}

.works-empty{display:none;width:100%;text-align:center;color:var(--note2);font-weight:700;font-size:14px;padding:60px 0}
.works-note{width:1200px;max-width:100%;margin:0 auto;padding:8px 40px 0;font-size:12px;color:var(--note);line-height:1.9}

/* ====== 一覧 CTA（コバルト帯）====== */
.works-cta{margin-top:64px;background:var(--cobalt);padding:58px 40px}
.works-cta-in{width:1200px;max-width:100%;margin:0 auto;text-align:center}
.works-cta h2{font-family:var(--jp);font-weight:900;font-size:26px;color:#fff;letter-spacing:.03em}
.works-cta p{font-size:14px;color:rgba(255,255,255,.86);font-weight:500;margin-top:12px;line-height:1.9}
.works-cta-actions{display:flex;justify-content:center;gap:16px;flex-wrap:wrap;margin-top:26px}
.works-cta-actions a{display:inline-flex;align-items:center;gap:9px;font-family:var(--jp);font-weight:700;font-size:15px;padding:14px 30px;border-radius:8px;background:#fff;color:var(--cobalt);transition:transform .2s}
.works-cta-actions a.ghost{background:transparent;color:#fff;border:1.5px solid rgba(255,255,255,.7)}
.works-cta-actions a:hover{transform:translateY(-2px)}

/* ===================================================================
   詳細ページ（/works/<slug>）
   =================================================================== */
.works-detail{padding-top:72px}
.works-detail-wrap{width:840px;max-width:100%;margin:0 auto;padding:34px 40px 0}
.wd-crumb{font-family:var(--jp);font-size:12px;color:var(--note2);font-weight:500;line-height:1.9}
.wd-crumb a:hover{color:var(--cobalt)}
.wd-crumb .sep{margin:0 8px;color:var(--line)}
.wd-head{margin-top:18px}
.wd-meta{display:flex;align-items:center;gap:9px;flex-wrap:wrap}
.wd-pill{display:inline-flex;align-items:center;height:26px;padding:0 11px;background:var(--cobalt);border-radius:3px;font-family:var(--jp);font-weight:700;font-size:11px;color:#fff;line-height:1}
.wd-region{font-family:var(--jp);font-weight:700;font-size:12px;color:var(--note2)}
.wd-head h1{font-family:var(--jp);font-weight:900;font-size:28px;line-height:1.5;color:var(--ink);margin-top:14px;letter-spacing:.02em}
.wd-hero{margin-top:26px;height:420px;border-radius:4px;background:var(--ph);border:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.wd-hero .lb{font-family:var(--jp);font-weight:400;font-size:13px;color:#9aa1b2;letter-spacing:.05em}
.wd-lead{margin-top:24px;font-family:var(--jp);font-weight:500;font-size:16px;line-height:2.1;color:var(--ink-lead)}
/* 記事風の節（見出し2〜3） */
.wd-section{margin-top:36px}
.wd-section h2{font-family:var(--jp);font-weight:900;font-size:19px;line-height:1.55;color:var(--ink);letter-spacing:.02em;padding-left:14px;border-left:4px solid var(--cobalt)}
.wd-section h3{font-family:var(--jp);font-weight:700;font-size:15.5px;color:var(--ink);margin-top:22px}
.wd-section p{font-family:var(--jp);font-weight:400;font-size:15px;line-height:2.1;color:var(--body-lead);margin-top:14px}
.wd-section .wd-note{font-size:13px;color:var(--note2);margin-top:14px}
/* 旧 .wd-body 互換（残す） */
.wd-body{margin-top:30px;font-family:var(--jp);font-weight:400;font-size:15px;line-height:2.1;color:var(--body-lead)}
.wd-body p+p{margin-top:18px}
.wd-product{margin-top:34px;border:1px solid var(--line);border-radius:6px;padding:20px 22px;display:flex;align-items:center;justify-content:space-between;gap:16px;background:var(--card-mist)}
.wd-product .l .k{font-family:var(--en);font-weight:700;font-size:11px;letter-spacing:.2em;color:var(--cobalt)}
.wd-product .l .nm{font-family:var(--jp);font-weight:900;font-size:18px;color:var(--ink);margin-top:4px}
.wd-product .l .ds{font-family:var(--jp);font-weight:500;font-size:12.5px;color:var(--sub);margin-top:3px}
.wd-product a{flex:none;font-family:var(--jp);font-weight:700;font-size:13.5px;color:#fff;background:var(--cobalt);padding:12px 22px;border-radius:8px;transition:transform .2s}
.wd-product a:hover{transform:translateY(-2px)}
.wd-gallery{margin-top:30px}
.wd-gallery .gh{font-family:var(--jp);font-weight:900;font-size:16px;color:var(--ink);margin-bottom:14px}
.wd-gallery .grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
.wd-gallery .cell{height:150px;background:var(--ph);border:1px solid var(--line);border-radius:3px;display:flex;align-items:center;justify-content:center;font-family:var(--en);font-size:10px;letter-spacing:.2em;color:#b6bccb}
/* 関連事例（同じ製品の他事例） */
.wd-related{width:840px;max-width:100%;margin:52px auto 0;padding:36px 40px 0;border-top:1px solid var(--line)}
.wd-related-h{font-family:var(--jp);font-weight:900;font-size:18px;color:var(--ink);letter-spacing:.02em}
.wd-related-grid{display:flex;flex-wrap:wrap;gap:16px;margin-top:18px}
.wd-rcard{width:calc((100% - 16px)/2);border:1px solid var(--line);background:var(--paper);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s,border-color .2s}
a.wd-rcard:hover{transform:translateY(-3px);box-shadow:0 10px 24px rgba(0,16,80,.10);border-color:#c9cfe0}
.wd-rcard-img{height:118px;background:var(--ph);border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:center}
.wd-rcard-img .ic{font-family:var(--en);font-weight:400;font-size:10px;letter-spacing:.22em;color:#b6bccb}
.wd-rcard-body{padding:13px 15px 16px}
.wd-rcard-meta{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.wd-rcard-pill{display:inline-flex;align-items:center;height:23px;padding:0 9px;background:var(--cobalt);border-radius:3px;font-family:var(--jp);font-weight:700;font-size:10px;color:#fff;line-height:1}
.wd-rcard-region{font-family:var(--jp);font-weight:700;font-size:11px;color:var(--note2)}
.wd-rcard h4{font-family:var(--jp);font-weight:700;font-size:13.5px;line-height:1.5;color:var(--ink);margin-top:10px}
.wd-related-more{margin-top:18px}
.wd-related-more a{font-family:var(--jp);font-weight:700;font-size:13px;color:var(--cobalt);display:inline-flex;align-items:center;gap:6px}
.wd-related-more a .ar{transition:transform .2s}
.wd-related-more a:hover .ar{transform:translateX(3px)}

.wd-back{display:block;width:840px;max-width:100%;margin:36px auto 0;padding:0 40px}
.wd-back a{font-family:var(--jp);font-weight:700;font-size:13px;color:var(--note2)}
.wd-back a:hover{color:var(--cobalt)}

/* ===================================================================
   SP（〜767px）＝ board の transform が外れる。1カラム中心に reflow。
   色・書体・コピーは固定、変えるのはレイアウト軸のみ（responsive-transcription 準拠）。
   =================================================================== */
@media (max-width:767px){
  .works-hero{padding:34px 0 30px}
  .works-hero-in,.works-filter-in,.works-wrap,.works-note,.works-cta-in,.works-detail-wrap,.wd-back,.wd-related{width:auto;padding-left:20px;padding-right:20px}
  .works-hero h1{font-size:27px}
  .works-hero p{font-size:13.5px}
  .works-filter-in{gap:10px 16px;padding-top:14px;padding-bottom:14px}
  .wf-btn{font-size:12px;padding:7px 13px}
  .works-wrap{padding-top:28px}
  .works-grid{gap:14px}
  .wcard{width:calc((100% - 14px)/2)}
  .wcard-img{height:118px}
  .wcard-img .lb{display:none}
  .wcard h3{font-size:13px}
  .wcard p{font-size:11.5px}
  .works-cta{margin-top:44px;padding:40px 20px}
  .works-cta h2{font-size:20px}
  /* 詳細 SP */
  .wd-head h1{font-size:22px}
  .wd-hero{height:210px}
  .wd-body{font-size:14px;line-height:2}
  .wd-product{flex-direction:column;align-items:flex-start}
  .wd-product a{align-self:stretch;text-align:center}
  .wd-gallery .grid{grid-template-columns:repeat(2,1fr)}
  .wd-section h2{font-size:17px}
  .wd-related{padding-top:28px}
  .wd-rcard{width:100%}
}
@media (max-width:430px){
  .wcard{width:100%}
}
