/* ============================================================
   実績詳細 (ケーススタディ) ページ
   page-work-detail.php / データ: inc/works-data.php
   構成: パンくず / タグ / 要約 / 成果(先出し) / 課題+施策 / サービス / 戻る
   ブランドトークン: base.css の :root (--nv-main 等)
   ============================================================ */

.nv-wd{
  padding-block:64px 96px;
}

/* パンくず直下のタグ */
.nv-wd-tag{
  display:inline-flex;
  align-items:center;
  margin-top:8px;
  padding:2px 14px;
  border-radius:999px;
  background:var(--nv-main);
  font-size:14px;
  line-height:22px;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--nv-white);
}

.nv-wd-summary{
  margin:20px 0 0;
  max-width:52em;
  font-size:16px;
  line-height:2;
  color:var(--nv-text);
}

/* ---- 見出し ---- */
.nv-wd-h{
  display:flex;
  align-items:baseline;
  gap:14px;
  margin:0 0 20px;
  font-size:20px;
  line-height:1.5;
  font-weight:700;
  letter-spacing:.04em;
  color:var(--nv-text);
}
.nv-wd-h__en{
  font-family:'Montserrat', var(--nv-font);
  font-size:13px;
  font-weight:800;
  letter-spacing:.14em;
  color:var(--nv-main);
}

.nv-wd-section{
  margin-top:56px;
}

/* ---- 成果 (先出し・強調ボックス) ---- */
.nv-wd-outcome{
  margin-top:40px;
  padding:32px;
  border-radius:16px;
  background:var(--nv-base);
}
.nv-wd-metrics{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:16px;
}
.nv-wd-metric{
  display:flex;
  flex-direction:column;
  gap:8px;
  padding:20px 24px;
  border-radius:12px;
  background:var(--nv-white);
  box-shadow:0 0 16px rgba(42,103,212,.10);
}
.nv-wd-metric__label{
  font-size:13.5px;
  line-height:1.6;
  font-weight:700;
  letter-spacing:.03em;
  color:#5B7089;
}
.nv-wd-metric__value{
  font-size:20px;
  line-height:1.35;
  font-weight:700;
  letter-spacing:.02em;
  color:var(--nv-text);
}
.nv-wd-metric__value .n{
  font-family:'Montserrat', var(--nv-font);
  font-size:30px;
  font-weight:800;
  color:var(--nv-main);
}
.nv-wd-note{
  margin:20px 0 0;
  font-size:13px;
  line-height:1.9;
  color:#5B7089;
}

/* ---- 課題 + 施策 (2カラム) ---- */
.nv-wd-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:40px;
  margin-top:56px;
}
.nv-wd-grid .nv-wd-section{margin-top:0}

.nv-wd-list{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:14px;
}
.nv-wd-list li{
  position:relative;
  padding-left:26px;
  font-size:15px;
  line-height:1.9;
  color:var(--nv-text);
}
.nv-wd-list li::before{
  content:"";
  position:absolute;
  left:2px;
  top:12px;
  width:10px;
  height:10px;
  border-radius:3px;
  background:var(--nv-accent-y1);
}

.nv-wd-steps{
  margin:0;
  padding:0;
  list-style:none;
  counter-reset:wd;
  display:flex;
  flex-direction:column;
  gap:16px;
}
.nv-wd-steps li{
  counter-increment:wd;
  position:relative;
  padding-left:44px;
  font-size:15px;
  line-height:1.9;
  color:var(--nv-text);
}
.nv-wd-steps li::before{
  content:counter(wd);
  position:absolute;
  left:0;
  top:2px;
  width:28px;
  height:28px;
  border-radius:50%;
  background:var(--nv-main);
  color:var(--nv-white);
  font-family:'Montserrat', var(--nv-font);
  font-size:14px;
  font-weight:800;
  display:flex;
  align-items:center;
  justify-content:center;
}

/* ---- 使用したサービス ---- */
.nv-wd-services{
  margin:0;
  padding:0;
  list-style:none;
  display:flex;
  flex-wrap:wrap;
  gap:12px;
}
.nv-wd-services a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:12px 20px;
  border-radius:999px;
  border:2px solid var(--nv-main);
  font-size:15px;
  font-weight:700;
  letter-spacing:.03em;
  color:var(--nv-main);
  text-decoration:none;
  transition:background .2s ease, color .2s ease;
}
.nv-wd-services a:hover,
.nv-wd-services a:focus-visible{
  background:var(--nv-main);
  color:var(--nv-white);
}

/* ---- 戻る ---- */
.nv-wd-back{
  margin-top:56px;
}
.nv-wd-back a{
  display:inline-flex;
  align-items:center;
  gap:8px;
  font-size:15px;
  font-weight:700;
  color:var(--nv-text);
  text-decoration:none;
}
.nv-wd-back a:hover{color:var(--nv-main)}

/* ---- レスポンシブ ---- */
@media (max-width:900px){
  .nv-wd-grid{grid-template-columns:1fr;gap:40px}
}
@media (max-width:600px){
  .nv-wd{padding-block:40px 64px}
  .nv-wd-outcome{padding:20px}
  .nv-wd-metrics{grid-template-columns:1fr}
  .nv-wd-metric__value .n{font-size:26px}
}
