@charset "utf-8";
/* difsw-pages.css
   下層ページ（service / cases）用の補助CSS。
   ヘッダー・フッター・タイポグラフィ・配色は /assets/css/style.css をそのまま使用し、
   ここでは style.css に含まれない微調整のみを定義する。
   必ず style.css の後に読み込むこと。 */

/* ページヒーローのバリエーション（背景の色味だけを変える） */
.page-hero.hero-identity::after,
.page-hero.hero-corporate::after,
.page-hero.hero-subsidy::after{
  content:"";
  position:absolute; inset:0;
  pointer-events:none;
  opacity:.5;
}
.page-hero.hero-identity::after{
  background:radial-gradient(60% 120% at 85% 0%, rgba(0,80,120,.10), transparent 60%);
}
.page-hero.hero-corporate::after{
  background:radial-gradient(60% 120% at 85% 0%, rgba(20,60,110,.10), transparent 60%);
}
.page-hero.hero-subsidy::after{
  background:radial-gradient(60% 120% at 85% 0%, rgba(120,90,20,.10), transparent 60%);
}
.page-hero{ position:relative; }
.page-hero > *{ position:relative; z-index:1; }

/* リード文（ヒーロー直下） */
.page-hero p.lead{ max-width:46em; }

/* カード内の見出しを少し詰める */
.card h3{ margin:0 0 .4em; }
.card p:last-child{ margin-bottom:0; }

/* 対応範囲の2カラム（対応すること / 別途となるもの） */
.scope-grid{ display:grid; grid-template-columns:1.15fr .85fr; gap:24px; }
@media (max-width:860px){ .scope-grid{ grid-template-columns:1fr; } }

/* 料金表（table-scroll 内）の列幅微調整 */
.table-scroll table.price-table th:first-child{ width:46%; }
.table-scroll table.price-table td.amount{ white-space:nowrap; font-variant-numeric:tabular-nums; }

/* 関連ページリンク */
ul.link-list{ list-style:none; margin:0; padding:0; display:grid; grid-template-columns:repeat(2,1fr); gap:10px 24px; }
ul.link-list li{ margin:0; }
ul.link-list a{ display:inline-block; padding:2px 0; }
@media (max-width:640px){ ul.link-list{ grid-template-columns:1fr; } }

/* 末尾の注意書きを少し弱めに */
.note.warn p:last-child{ margin-bottom:0; }

/* パンくずの折り返し対応 */
.crumbs{ word-break:break-word; }
