/*
 * 鈴木金属 事例掲載 v1.0.6
 * 事例ページ専用。既存テーマの共通要素には影響させない。
 */
.suzukin-case-page-contents *,
.suzukin-case-page-contents *::before,
.suzukin-case-page-contents *::after { box-sizing:border-box; }

/* =========================
   サイドエリア
   ========================= */
.suzukin-case-page-contents .suzukin-case-nav { width:100%; }
.suzukin-case-page-contents .suzukin-case-side-search,
.suzukin-case-page-contents .suzukin-case-side-cats,
.suzukin-case-page-contents .suzukin-case-side-latest { margin:0 0 30px; }

.suzukin-case-page-contents .suzukin-case-side-heading,
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child {
  position:relative;
  margin:0 0 14px;
  padding:10px 12px 10px 30px;
  background:#f4f4f4;
  color:#222;
  font-size:16px;
  line-height:1.45;
  font-weight:700;
}
.suzukin-case-page-contents .suzukin-case-side-heading::before,
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child::before {
  content:"";
  position:absolute;
  left:12px;
  top:50%;
  width:0;
  height:0;
  transform:translateY(-50%);
  border-top:6px solid transparent;
  border-bottom:6px solid transparent;
  border-left:8px solid #0071bc;
}
.suzukin-case-page-contents .suzukin-case-side-heading strong,
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child strong { font-weight:700; }
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child a { color:#222; text-decoration:none; }

/* 検索フォーム */
.suzukin-case-page-contents .suzukin-case-side-search form {
  display:grid;
  grid-template-columns:1fr;
  gap:10px;
  margin:0;
}
.suzukin-case-page-contents .suzukin-case-side-search input,
.suzukin-case-page-contents .suzukin-case-side-search select {
  display:block;
  width:100%;
  min-width:0;
  height:46px;
  margin:0;
  padding:0 13px;
  border:1px solid #d6dbe0;
  border-radius:3px;
  outline:none;
  background:#fff;
  color:#222;
  font-size:14px;
  line-height:46px;
  transition:border-color .2s, box-shadow .2s;
  appearance:auto;
}
.suzukin-case-page-contents .suzukin-case-side-search input:focus,
.suzukin-case-page-contents .suzukin-case-side-search select:focus {
  border-color:#0071bc;
  box-shadow:0 0 0 2px rgba(0,113,188,.10);
}
.suzukin-case-page-contents .suzukin-case-side-search input::placeholder { color:#999; }
.suzukin-case-page-contents .suzukin-case-side-search button {
  display:flex;
  align-items:center;
  justify-content:center;
  width:100%;
  min-height:46px;
  margin:0;
  padding:9px 14px;
  border:1px solid #0071bc;
  border-radius:3px;
  background:#0071bc;
  color:#fff;
  font-size:14px;
  line-height:1.4;
  font-weight:700;
  cursor:pointer;
  transition:opacity .2s, background .2s;
}
.suzukin-case-page-contents .suzukin-case-side-search button:hover { opacity:.82; }

/* カテゴリ */
.suzukin-case-page-contents .suzukin-case-side-cats ul { margin:0; padding:0; list-style:none; }
.suzukin-case-page-contents .suzukin-case-side-cats li { margin:0; padding:0; border-bottom:1px solid #e5e5e5; list-style:none; }
.suzukin-case-page-contents .suzukin-case-side-cats li:first-child { border-top:1px solid #e5e5e5; }
.suzukin-case-page-contents .suzukin-case-side-cats li a {
  position:relative;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  min-height:44px;
  padding:10px 5px 10px 20px;
  color:#222;
  text-decoration:none;
  font-size:14px;
  line-height:1.55;
}
.suzukin-case-page-contents .suzukin-case-side-cats li a::before {
  content:"";
  position:absolute;
  left:5px;
  top:50%;
  width:0;
  height:0;
  transform:translateY(-50%);
  border-top:4px solid transparent;
  border-bottom:4px solid transparent;
  border-left:6px solid #0071bc;
}
.suzukin-case-page-contents .suzukin-case-side-cats li a:hover { color:#0071bc; }
.suzukin-case-page-contents .suzukin-case-side-cats li span {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  min-width:25px;
  height:22px;
  padding:0 6px;
  border-radius:11px;
  background:#eef5fa;
  color:#0071bc;
  font-size:11px;
  font-weight:700;
}

/* 最新事例 */
.suzukin-case-page-contents .suzukin-case-side-latest .article {
  margin:0;
  padding:12px 4px;
  border-bottom:1px solid #e5e5e5;
}
.suzukin-case-page-contents .suzukin-case-side-latest .article .category {
  display:inline-block;
  margin:0 0 6px;
  color:#0071bc;
  font-size:12px;
  text-decoration:none;
}
.suzukin-case-page-contents .suzukin-case-side-latest .article .date { margin-left:8px; color:#777; }
.suzukin-case-page-contents .suzukin-case-side-latest .article .entry {
  display:block;
  color:#222;
  font-size:14px;
  line-height:1.55;
  text-decoration:none;
}
.suzukin-case-page-contents .suzukin-case-side-latest .article .entry:hover { color:#0071bc; }
.suzukin-case-page-contents .suzukin-case-empty {
  margin:0;
  padding:14px 4px;
  color:#777;
  font-size:13px;
  line-height:1.7;
}

/* =========================
   一覧メイン
   ========================= */
.suzukin-case-page-contents .suzukin-case-list-head { margin:0 0 30px; }
.suzukin-case-page-contents .suzukin-case-list-head h1 {
  position:relative;
  margin:0;
  padding:0 0 16px;
  color:#222;
  font-size:30px;
  line-height:1.45;
  font-weight:700;
}
.suzukin-case-page-contents .suzukin-case-list-head h1::after {
  content:"";
  position:absolute;
  left:0;
  bottom:0;
  width:58px;
  height:3px;
  background:#0071bc;
}
.suzukin-case-page-contents .suzukin-case-list-head > p { margin:14px 0 0; color:#555; line-height:1.85; }

.suzukin-case-page-contents .suzukin-case-grid {
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:36px 24px;
  margin:0;
  padding:0;
  list-style:none;
}
.suzukin-case-page-contents .suzukin-case-grid > li { min-width:0; margin:0; padding:0; list-style:none; }
.suzukin-case-page-contents .suzukin-case-card { height:100%; border-bottom:1px solid #ddd; padding-bottom:22px; }
.suzukin-case-page-contents .suzukin-case-card .entry { display:block; color:#222; text-decoration:none; }
.suzukin-case-page-contents .suzukin-case-card .eyecatch {
  width:100%;
  margin:0 0 14px;
  overflow:hidden;
  background:#f2f2f2;
  aspect-ratio:4/3;
}
.suzukin-case-page-contents .suzukin-case-card .eyecatch .fit,
.suzukin-case-page-contents .suzukin-case-card .eyecatch img { display:block; width:100%; height:100%; object-fit:cover; }
.suzukin-case-page-contents .suzukin-case-card .entry:hover .eyecatch img { opacity:.85; }
.suzukin-case-page-contents .suzukin-case-noimage {
  display:flex!important;
  align-items:center;
  justify-content:center;
  width:100%;
  height:100%;
  color:#888;
  font-size:12px;
  letter-spacing:.08em;
}
.suzukin-case-page-contents .suzukin-case-card .title { margin:0 0 8px; font-size:18px; line-height:1.55; font-weight:700; }
.suzukin-case-page-contents .suzukin-case-card .lead { margin:10px 0 0; color:#555; font-size:14px; line-height:1.8; }
.suzukin-case-page-contents .suzukin-case-card-meta { display:flex; flex-wrap:wrap; gap:4px 12px; color:#777; font-size:12px; line-height:1.6; }
.suzukin-case-page-contents .suzukin-case-card-cats { display:flex; flex-wrap:wrap; gap:6px; margin:0 0 10px; }
.suzukin-case-page-contents .suzukin-case-card-cats a,
.suzukin-case-page-contents .suzukin_case_detail .category a {
  display:inline-block;
  margin:0 4px 4px 0;
  padding:4px 9px;
  background:#0071bc;
  color:#fff!important;
  font-size:12px;
  line-height:1.35;
  text-decoration:none;
}

/* 0件表示 */
.suzukin-case-page-contents .suzukin-case-no-results {
  position:relative;
  margin:0;
  padding:34px 34px 32px;
  border:1px solid #e1e4e7;
  border-top:4px solid #0071bc;
  background:#fafafa;
}
.suzukin-case-page-contents .suzukin-case-no-results::before {
  content:"";
  display:block;
  width:42px;
  height:3px;
  margin:0 0 18px;
  background:#0071bc;
}
.suzukin-case-page-contents .suzukin-case-no-results p { margin:0; color:#444; font-size:15px; line-height:1.8; }
.suzukin-case-page-contents .suzukin-case-no-results p + p { margin-top:18px; }
.suzukin-case-page-contents .suzukin-case-no-results a {
  display:inline-flex;
  align-items:center;
  min-height:42px;
  padding:8px 20px;
  border:1px solid #0071bc;
  background:#0071bc;
  color:#fff!important;
  font-size:14px;
  font-weight:700;
  text-decoration:none;
  transition:opacity .2s;
}
.suzukin-case-page-contents .suzukin-case-no-results a::after { content:"›"; margin-left:10px; font-size:20px; line-height:1; }
.suzukin-case-page-contents .suzukin-case-no-results a:hover { opacity:.82; }

.suzukin-case-page-contents .suzukin-case-pagination { display:flex; flex-wrap:wrap; gap:6px; justify-content:center; align-items:center; margin:46px 0 0; }
.suzukin-case-page-contents .suzukin-case-pagination .page-numbers {
  display:inline-flex;
  min-width:40px;
  height:40px;
  align-items:center;
  justify-content:center;
  padding:0 10px;
  border:1px solid #d2d2d2;
  color:#222;
  text-decoration:none;
}
.suzukin-case-page-contents .suzukin-case-pagination .current { border-color:#0071bc; background:#0071bc; color:#fff; }

/* =========================
   詳細
   ========================= */
.suzukin-case-page-contents .suzukin_case_detail > .titleset { margin:0 0 24px; }
.suzukin-case-page-contents .suzukin_case_detail > .titleset h1 { margin:0 0 12px; font-size:28px; line-height:1.5; }
.suzukin-case-page-contents .suzukin_case_detail > .titleset .data { display:flex; flex-wrap:wrap; align-items:center; gap:8px 14px; }
.suzukin-case-page-contents .suzukin_case_detail > .titleset .data p { margin:0; }
.suzukin-case-page-contents .suzukin-case-main-image { margin:0 0 30px; }
.suzukin-case-page-contents .suzukin-case-main-image img { display:block; width:100%; height:auto; }
.suzukin-case-page-contents .suzukin-case-summary { margin:30px 0 38px; padding:24px; border-top:3px solid #0071bc; background:#f7f7f7; }
.suzukin-case-page-contents .suzukin-case-summary h2,
.suzukin-case-page-contents .suzukin-case-before-after h2,
.suzukin-case-page-contents .suzukin-case-comment h2,
.suzukin-case-page-contents .suzukin-case-related h2 { margin:0 0 18px; font-size:22px; line-height:1.5; }
.suzukin-case-page-contents .suzukin-case-summary dl { margin:0; }
.suzukin-case-page-contents .suzukin-case-summary dl > div { display:grid; grid-template-columns:150px 1fr; padding:12px 0; border-bottom:1px solid #ddd; }
.suzukin-case-page-contents .suzukin-case-summary dl > div:last-child { border-bottom:0; }
.suzukin-case-page-contents .suzukin-case-summary dt { font-weight:700; }
.suzukin-case-page-contents .suzukin-case-summary dd { margin:0; }
.suzukin-case-page-contents .suzukin-case-summary dd strong { font-size:1.2em; }
.suzukin-case-page-contents .suzukin-case-summary dd small { display:block; margin-top:3px; color:#666; }
.suzukin-case-page-contents .suzukin-case-before-after { margin:38px 0; }
.suzukin-case-page-contents .suzukin-case-ba-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; }
.suzukin-case-page-contents .suzukin-case-ba-grid figure { margin:0; }
.suzukin-case-page-contents .suzukin-case-ba-grid figcaption { margin:0 0 8px; font-weight:700; }
.suzukin-case-page-contents .suzukin-case-ba-grid img { display:block; width:100%; height:auto; }
.suzukin-case-page-contents .suzukin-case-content { margin-top:36px; }
.suzukin-case-page-contents .suzukin-case-content > :first-child { margin-top:0; }
.suzukin-case-page-contents .suzukin-case-comment { margin:38px 0; padding:24px; border-left:4px solid #0071bc; background:#f7f7f7; }
.suzukin-case-page-contents .suzukin-case-comment p { margin:0; line-height:1.9; }
.suzukin-case-page-contents .suzukin-case-related { margin-top:52px; padding-top:30px; border-top:1px solid #ddd; }
.suzukin-case-page-contents .suzukin-case-related .suzukin-case-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
.suzukin-case-page-contents .suzukin-case-related .title { font-size:15px; }

@media (max-width:900px) {
  .suzukin-case-page-contents .suzukin-case-grid,
  .suzukin-case-page-contents .suzukin-case-related .suzukin-case-grid { grid-template-columns:1fr; }
  .suzukin-case-page-contents .suzukin-case-summary { padding:18px; }
  .suzukin-case-page-contents .suzukin-case-summary dl > div { grid-template-columns:1fr; gap:5px; }
  .suzukin-case-page-contents .suzukin-case-ba-grid { grid-template-columns:1fr; }
  .suzukin-case-page-contents .suzukin-case-list-head h1,
  .suzukin-case-page-contents .suzukin_case_detail > .titleset h1 { font-size:24px; }
  .suzukin-case-page-contents .suzukin-case-no-results { padding:24px 20px; }
}

/* =========================================================
   v1.0.3: 既存 single-item の page_nav / nav の余白感に合わせる
   ========================================================= */
@media (min-width: 946px) {
  .suzukin-case-page-contents .page_nav {
    align-self: flex-start;
    overflow: visible !important;
  }
  .suzukin-case-page-contents .page_nav .suzukin-case-nav {
    position: sticky;
    top: 110px;
    z-index: 5;
  }
}

/* 既存 .nav カード内の余白を基準ページに近づける */
.suzukin-case-page-contents .page_nav .suzukin-case-nav {
  padding: 30px 32px 32px !important;
}

.suzukin-case-page-contents .suzukin-case-side-search,
.suzukin-case-page-contents .suzukin-case-side-cats,
.suzukin-case-page-contents .suzukin-case-side-latest {
  margin: 0 0 34px;
}
.suzukin-case-page-contents .suzukin-case-side-latest:last-child { margin-bottom:0; }

.suzukin-case-page-contents .suzukin-case-side-heading,
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child {
  margin: 0 0 18px !important;
  padding: 15px 18px 15px 34px !important;
  min-height: 52px;
  display: flex;
  align-items: center;
  background: #f1f3f5;
  font-size: 16px;
  line-height: 1.45;
}
.suzukin-case-page-contents .suzukin-case-side-heading::before,
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child::before {
  left: 15px;
}

.suzukin-case-page-contents .suzukin-case-side-search form {
  gap: 13px;
}
.suzukin-case-page-contents .suzukin-case-side-search input,
.suzukin-case-page-contents .suzukin-case-side-search select {
  height: 50px;
  padding: 0 15px;
  font-size: 14px;
  line-height: 50px;
}
.suzukin-case-page-contents .suzukin-case-side-search button {
  min-height: 50px;
  font-size: 14px;
}

/* single-item のナビと同程度の1行高さを確保 */
.suzukin-case-page-contents .suzukin-case-side-cats ul {
  border-top: 1px solid #e8e8e8;
}
.suzukin-case-page-contents .suzukin-case-side-cats li,
.suzukin-case-page-contents .suzukin-case-side-cats li:first-child {
  border-top: 0;
  border-bottom: 1px solid #e8e8e8;
}
.suzukin-case-page-contents .suzukin-case-side-cats li a {
  min-height: 57px;
  padding: 15px 7px 15px 25px;
  font-size: 14px;
  line-height: 1.7;
}
.suzukin-case-page-contents .suzukin-case-side-cats li a::before {
  left: 7px;
}
.suzukin-case-page-contents .suzukin-case-side-cats li span {
  min-width: 27px;
  height: 24px;
  border-radius: 12px;
}

.suzukin-case-page-contents .suzukin-case-side-latest .article {
  margin: 0 !important;
  padding: 15px 7px !important;
  min-height: 58px;
}
.suzukin-case-page-contents .suzukin-case-side-latest .article .category {
  margin-bottom: 7px;
}
.suzukin-case-page-contents .suzukin-case-empty {
  margin: 0 !important;
  padding: 16px 7px 8px !important;
  line-height: 1.8;
}

@media (max-width: 945px) {
  .suzukin-case-page-contents .page_nav .suzukin-case-nav {
    position: static;
    top: auto;
    padding: 22px 20px 24px !important;
  }
  .suzukin-case-page-contents .suzukin-case-side-search,
  .suzukin-case-page-contents .suzukin-case-side-cats,
  .suzukin-case-page-contents .suzukin-case-side-latest { margin-bottom:26px; }
}

/* =========================================================
   v1.0.4: 現場写真ギャラリー
   ========================================================= */
.suzukin-case-page-contents .suzukin-case-gallery-section { margin:38px 0 42px; }
.suzukin-case-page-contents .suzukin-case-gallery-section h2 { margin:0 0 18px; font-size:22px; line-height:1.5; }
.suzukin-case-page-contents .suzukin-case-gallery-swiper { position:relative; width:100%; overflow:hidden; padding:0 0 38px; }
.suzukin-case-page-contents .suzukin-case-gallery-swiper .swiper-wrapper { align-items:stretch; }
.suzukin-case-page-contents .suzukin-case-gallery-swiper .swiper-slide { height:auto; }
.suzukin-case-page-contents .suzukin-case-gallery-open { display:block; width:100%; padding:0; border:0; background:none; cursor:zoom-in; overflow:hidden; }
.suzukin-case-page-contents .suzukin-case-gallery-open img { display:block; width:100%; aspect-ratio:4/3; object-fit:cover; transition:transform .25s ease; }
.suzukin-case-page-contents .suzukin-case-gallery-open:hover img { transform:scale(1.025); }
.suzukin-case-page-contents .suzukin-case-gallery-prev,
.suzukin-case-page-contents .suzukin-case-gallery-next { top:calc(50% - 19px); width:42px; height:42px; margin-top:-21px; border-radius:50%; background:rgba(255,255,255,.95); box-shadow:0 2px 10px rgba(0,0,0,.2); color:#0071bc; }
.suzukin-case-page-contents .suzukin-case-gallery-prev::after,
.suzukin-case-page-contents .suzukin-case-gallery-next::after { font-size:17px; font-weight:700; }
.suzukin-case-page-contents .suzukin-case-gallery-prev { left:10px; }
.suzukin-case-page-contents .suzukin-case-gallery-next { right:10px; }
.suzukin-case-page-contents .suzukin-case-gallery-pagination { bottom:5px !important; }
.suzukin-case-page-contents .suzukin-case-gallery-pagination .swiper-pagination-bullet-active { background:#0071bc; }

.suzukin-case-lightbox { position:fixed; inset:0; z-index:100000; display:none; align-items:center; justify-content:center; padding:30px; }
.suzukin-case-lightbox.is-open { display:flex; }
.suzukin-case-lightbox-backdrop { position:absolute; inset:0; background:rgba(0,0,0,.88); }
.suzukin-case-lightbox-dialog { position:relative; z-index:1; display:flex; align-items:center; justify-content:center; width:min(1200px,92vw); height:min(820px,88vh); }
.suzukin-case-lightbox-image { display:block; max-width:100%; max-height:100%; width:auto; height:auto; object-fit:contain; box-shadow:0 6px 30px rgba(0,0,0,.35); }
.suzukin-case-lightbox-close { position:absolute; top:-8px; right:-8px; z-index:3; width:46px; height:46px; padding:0; border:0; border-radius:50%; background:rgba(255,255,255,.95); color:#222; font-size:32px; line-height:42px; cursor:pointer; }
.suzukin-case-lightbox-nav { position:absolute; top:50%; z-index:3; width:50px; height:58px; margin-top:-29px; padding:0; border:0; border-radius:4px; background:rgba(255,255,255,.9); color:#111; font-size:42px; line-height:50px; cursor:pointer; }
.suzukin-case-lightbox-nav.prev { left:8px; }
.suzukin-case-lightbox-nav.next { right:8px; }
.suzukin-case-lightbox-count { position:absolute; left:50%; bottom:-26px; transform:translateX(-50%); margin:0; color:#fff; font-size:13px; }
body.suzukin-case-lightbox-open { overflow:hidden; }

@media (max-width:900px) {
  .suzukin-case-page-contents .suzukin-case-gallery-section { margin:30px 0 34px; }
  .suzukin-case-page-contents .suzukin-case-gallery-section h2 { font-size:20px; }
  .suzukin-case-page-contents .suzukin-case-gallery-swiper { padding-bottom:34px; }
  .suzukin-case-page-contents .suzukin-case-gallery-prev,
  .suzukin-case-page-contents .suzukin-case-gallery-next { width:38px; height:38px; margin-top:-19px; }
  .suzukin-case-lightbox { padding:14px; }
  .suzukin-case-lightbox-dialog { width:96vw; height:82vh; }
  .suzukin-case-lightbox-close { top:0; right:0; width:42px; height:42px; font-size:28px; }
  .suzukin-case-lightbox-nav { width:42px; height:52px; font-size:36px; }
  .suzukin-case-lightbox-nav.prev { left:0; }
  .suzukin-case-lightbox-nav.next { right:0; }
}

/* =========================================================
   v1.0.5: 一覧・詳細の実表示を基準に全体調整
   ========================================================= */

/* 一覧：画像＋本文の横長カード。1件でも間延びしない構成 */
.suzukin-case-page-contents .suzukin-case-grid {
  display:grid;
  grid-template-columns:1fr;
  gap:28px;
}
.suzukin-case-page-contents .suzukin-case-card {
  display:grid;
  grid-template-columns:minmax(260px, 38%) minmax(0, 1fr);
  gap:0;
  overflow:hidden;
  min-height:260px;
  padding:0;
  border:1px solid #e2e6e9;
  border-bottom:1px solid #e2e6e9;
  background:#fff;
  transition:box-shadow .2s ease, transform .2s ease;
}
.suzukin-case-page-contents .suzukin-case-card:hover {
  box-shadow:0 8px 26px rgba(0,0,0,.08);
  transform:translateY(-2px);
}
.suzukin-case-page-contents .suzukin-case-card-image {
  display:block;
  min-width:0;
  height:100%;
  text-decoration:none;
  overflow:hidden;
  background:#f1f3f5;
}
.suzukin-case-page-contents .suzukin-case-card .eyecatch {
  display:block;
  width:100%;
  height:100%;
  min-height:260px;
  margin:0;
  aspect-ratio:auto;
}
.suzukin-case-page-contents .suzukin-case-card .eyecatch .fit,
.suzukin-case-page-contents .suzukin-case-card .eyecatch img {
  display:block;
  width:100%;
  height:100%;
  min-height:260px;
  object-fit:cover;
}
.suzukin-case-page-contents .suzukin-case-card-image:hover img { transform:scale(1.025); }
.suzukin-case-page-contents .suzukin-case-card-image img { transition:transform .25s ease; }
.suzukin-case-page-contents .suzukin-case-card-body {
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:28px 30px;
}
.suzukin-case-page-contents .suzukin-case-card .entry {
  display:flex;
  flex-direction:column;
  color:#222;
  text-decoration:none;
}
.suzukin-case-page-contents .suzukin-case-card .title {
  margin:0 0 13px;
  font-size:21px;
  line-height:1.6;
  font-weight:700;
}
.suzukin-case-page-contents .suzukin-case-card .lead {
  margin:14px 0 0;
  color:#555;
  font-size:14px;
  line-height:1.95;
}
.suzukin-case-page-contents .suzukin-case-card-meta {
  display:flex;
  flex-wrap:wrap;
  gap:7px 18px;
  padding:10px 0;
  border-top:1px solid #edf0f2;
  border-bottom:1px solid #edf0f2;
  color:#666;
  font-size:13px;
  line-height:1.6;
}
.suzukin-case-page-contents .suzukin-case-card-meta span { position:relative; }
.suzukin-case-page-contents .suzukin-case-card-meta span + span::before {
  content:"";
  position:absolute;
  left:-10px;
  top:50%;
  width:1px;
  height:12px;
  transform:translateY(-50%);
  background:#d7dce0;
}
.suzukin-case-page-contents .suzukin-case-card-cats { margin:0 0 12px; }
.suzukin-case-page-contents .suzukin-case-card .more {
  display:inline-flex;
  align-self:flex-start;
  align-items:center;
  margin-top:18px;
  padding:9px 16px;
  border:1px solid #0071bc;
  color:#0071bc;
  font-size:13px;
  font-weight:700;
  line-height:1;
}
.suzukin-case-page-contents .suzukin-case-card .more::after {
  content:"›";
  margin-left:10px;
  font-size:18px;
}
.suzukin-case-page-contents .suzukin-case-card .entry:hover .more {
  background:#0071bc;
  color:#fff;
}
.suzukin-case-page-contents .suzukin-case-noimage {
  min-height:260px;
  background:linear-gradient(135deg,#f7f7f7,#eceff1);
  color:#8c949a;
  font-size:12px;
}

/* 詳細：見出し・本文の階層を明確化 */
.suzukin-case-page-contents .suzukin_case_detail > .titleset {
  margin:0 0 34px;
  padding:0 0 22px;
  border-bottom:1px solid #e1e5e8;
}
.suzukin-case-page-contents .suzukin_case_detail > .titleset h1 {
  margin:0 0 14px;
  color:#222;
  font-size:31px;
  line-height:1.55;
  letter-spacing:.01em;
}
.suzukin-case-page-contents .suzukin_case_detail > .titleset .data {
  gap:10px 14px;
  color:#666;
  font-size:13px;
}
.suzukin-case-page-contents .suzukin-case-summary {
  margin:0 0 48px;
  padding:0;
  overflow:hidden;
  border:1px solid #dde2e6;
  border-top:4px solid #0071bc;
  background:#fff;
}
.suzukin-case-page-contents .suzukin-case-summary h2 {
  margin:0 !important;
  padding:18px 22px !important;
  border:0 !important;
  background:#f3f5f6 !important;
  color:#222 !important;
  font-size:20px !important;
  line-height:1.45 !important;
}
.suzukin-case-page-contents .suzukin-case-summary dl { margin:0; padding:0 22px 8px; }
.suzukin-case-page-contents .suzukin-case-summary dl > div {
  grid-template-columns:145px minmax(0,1fr);
  align-items:start;
  padding:15px 0;
  border-bottom:1px solid #e7eaec;
}
.suzukin-case-page-contents .suzukin-case-summary dt {
  color:#333;
  font-size:14px;
  font-weight:700;
}
.suzukin-case-page-contents .suzukin-case-summary dd {
  color:#333;
  font-size:14px;
  line-height:1.8;
}
.suzukin-case-page-contents .suzukin-case-summary dd strong {
  color:#222;
  font-size:24px;
  line-height:1.2;
}
.suzukin-case-page-contents .suzukin-case-summary dd small {
  margin-top:7px;
  color:#666;
  font-size:12px;
  line-height:1.7;
}

/* 共通セクションタイトル */
.suzukin-case-page-contents .suzukin-case-gallery-section > h2,
.suzukin-case-page-contents .suzukin-case-before-after > h2,
.suzukin-case-page-contents .suzukin-case-comment > h2,
.suzukin-case-page-contents .suzukin-case-related > h2 {
  position:relative;
  margin:0 0 22px !important;
  padding:0 0 13px 18px !important;
  border:0 !important;
  border-bottom:1px solid #e1e5e8 !important;
  background:none !important;
  color:#222 !important;
  font-size:23px !important;
  line-height:1.5 !important;
  font-weight:700 !important;
}
.suzukin-case-page-contents .suzukin-case-gallery-section > h2::before,
.suzukin-case-page-contents .suzukin-case-before-after > h2::before,
.suzukin-case-page-contents .suzukin-case-comment > h2::before,
.suzukin-case-page-contents .suzukin-case-related > h2::before {
  content:"";
  position:absolute;
  left:0;
  top:.16em;
  width:5px;
  height:1.2em;
  background:#0071bc;
}

.suzukin-case-page-contents .suzukin-case-gallery-section { margin:0 0 50px; }
.suzukin-case-page-contents .suzukin-case-gallery-swiper { padding:0 0 36px; }
.suzukin-case-page-contents .suzukin-case-gallery-open {
  border:1px solid #e3e6e8;
  background:#f4f5f6;
}
.suzukin-case-page-contents .suzukin-case-gallery-open img {
  aspect-ratio:4/3;
  min-height:220px;
}

/* Gutenberg本文をテーマに馴染ませる */
.suzukin-case-page-contents .suzukin-case-content {
  margin:50px 0 0;
  color:#333;
  font-size:15px;
  line-height:2;
}
.suzukin-case-page-contents .suzukin-case-content p { margin:0 0 22px; }
.suzukin-case-page-contents .suzukin-case-content h2 {
  position:relative;
  margin:52px 0 24px;
  padding:17px 20px 17px 24px;
  border-left:5px solid #0071bc;
  background:#f2f4f5;
  color:#222;
  font-size:23px;
  line-height:1.55;
  font-weight:700;
}
.suzukin-case-page-contents .suzukin-case-content h3 {
  position:relative;
  margin:38px 0 20px;
  padding:0 0 12px 16px;
  border-bottom:2px solid #e0e4e7;
  color:#222;
  font-size:20px;
  line-height:1.55;
  font-weight:700;
}
.suzukin-case-page-contents .suzukin-case-content h3::before {
  content:"";
  position:absolute;
  left:0;
  top:.2em;
  width:4px;
  height:1.1em;
  background:#0071bc;
}
.suzukin-case-page-contents .suzukin-case-content h4 {
  margin:30px 0 14px;
  color:#222;
  font-size:17px;
  line-height:1.6;
  font-weight:700;
}
.suzukin-case-page-contents .suzukin-case-content ul,
.suzukin-case-page-contents .suzukin-case-content ol {
  margin:0 0 26px 1.5em;
  padding:0;
}
.suzukin-case-page-contents .suzukin-case-content li { margin:.4em 0; }
.suzukin-case-page-contents .suzukin-case-content figure { margin:30px 0; }
.suzukin-case-page-contents .suzukin-case-content img { max-width:100%; height:auto; }
.suzukin-case-page-contents .suzukin-case-content blockquote {
  margin:28px 0;
  padding:20px 24px;
  border-left:4px solid #0071bc;
  background:#f7f8f9;
}
.suzukin-case-page-contents .suzukin-case-content table {
  width:100%;
  margin:28px 0;
  border-collapse:collapse;
  font-size:14px;
}
.suzukin-case-page-contents .suzukin-case-content th,
.suzukin-case-page-contents .suzukin-case-content td {
  padding:12px 14px;
  border:1px solid #dfe3e6;
  text-align:left;
  vertical-align:top;
}
.suzukin-case-page-contents .suzukin-case-content th { background:#f2f4f5; font-weight:700; }

/* コメント */
.suzukin-case-page-contents .suzukin-case-comment {
  margin:46px 0 0;
  padding:0;
  border:1px solid #e0e4e7;
  border-left:0;
  background:#fff;
}
.suzukin-case-page-contents .suzukin-case-comment > h2 {
  margin:0 !important;
  padding:16px 20px 16px 38px !important;
  border-bottom:1px solid #e0e4e7 !important;
  background:#f5f6f7 !important;
  font-size:20px !important;
}
.suzukin-case-page-contents .suzukin-case-comment > h2::before { left:20px; top:18px; height:22px; }
.suzukin-case-page-contents .suzukin-case-comment p { padding:20px 22px 22px; font-size:14px; line-height:1.95; }

/* サイド：最新1件時の空表示を自然に */
.suzukin-case-page-contents .suzukin-case-current-latest {
  margin:0 !important;
  padding:14px 8px 6px !important;
  color:#666;
  font-size:13px;
  line-height:1.75;
}
.suzukin-case-page-contents .suzukin-case-all-link { margin:8px 8px 0 !important; }
.suzukin-case-page-contents .suzukin-case-all-link a {
  display:inline-flex;
  align-items:center;
  color:#0071bc;
  font-size:13px;
  font-weight:700;
  text-decoration:none;
}
.suzukin-case-page-contents .suzukin-case-all-link a::after { content:"›"; margin-left:7px; font-size:18px; }

@media (max-width:945px) {
  .suzukin-case-page-contents .suzukin-case-card {
    grid-template-columns:1fr;
    min-height:0;
  }
  .suzukin-case-page-contents .suzukin-case-card .eyecatch,
  .suzukin-case-page-contents .suzukin-case-card .eyecatch .fit,
  .suzukin-case-page-contents .suzukin-case-card .eyecatch img,
  .suzukin-case-page-contents .suzukin-case-noimage { min-height:0; aspect-ratio:16/10; }
  .suzukin-case-page-contents .suzukin-case-card-body { padding:22px 20px 24px; }
  .suzukin-case-page-contents .suzukin-case-card .title { font-size:19px; }
  .suzukin-case-page-contents .suzukin_case_detail > .titleset h1 { font-size:25px; }
  .suzukin-case-page-contents .suzukin-case-summary dl { padding:0 17px 6px; }
  .suzukin-case-page-contents .suzukin-case-summary dl > div { grid-template-columns:1fr; gap:6px; }
  .suzukin-case-page-contents .suzukin-case-summary dd strong { font-size:21px; }
  .suzukin-case-page-contents .suzukin-case-content { margin-top:38px; font-size:14px; }
  .suzukin-case-page-contents .suzukin-case-content h2 { margin-top:40px; padding:14px 15px 14px 18px; font-size:20px; }
  .suzukin-case-page-contents .suzukin-case-content h3 { margin-top:30px; font-size:18px; }
}

/* 関連事例はコンパクトカード */
.suzukin-case-page-contents .suzukin-case-related .suzukin-case-grid {
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:18px;
}
.suzukin-case-page-contents .suzukin-case-related-card {
  display:block;
  min-height:0;
}
.suzukin-case-page-contents .suzukin-case-related-card .eyecatch,
.suzukin-case-page-contents .suzukin-case-related-card .eyecatch .fit,
.suzukin-case-page-contents .suzukin-case-related-card .eyecatch img,
.suzukin-case-page-contents .suzukin-case-related-card .suzukin-case-noimage {
  min-height:0;
  aspect-ratio:4/3;
}
.suzukin-case-page-contents .suzukin-case-related-card .suzukin-case-card-body { padding:16px 16px 18px; }
.suzukin-case-page-contents .suzukin-case-related-card .title { margin-bottom:8px; font-size:15px; line-height:1.65; }
.suzukin-case-page-contents .suzukin-case-related-card .date { margin:0; color:#777; font-size:12px; }
.suzukin-case-page-contents .suzukin-case-related-card .more { margin-top:12px; padding:7px 11px; font-size:12px; }

@media (max-width:945px) {
  .suzukin-case-page-contents .suzukin-case-related .suzukin-case-grid { grid-template-columns:1fr; }
}

/* =========================================================
   v1.0.6: アイコンと情報の視認性を強化
   ========================================================= */
.suzukin-case-page-contents .suzukin-case-icon {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
  width:28px;
  height:28px;
  margin-right:10px;
  border-radius:50%;
  background:#e9f4fb;
  color:#0071bc;
  vertical-align:middle;
}
.suzukin-case-page-contents .suzukin-case-icon svg {
  width:15px;
  height:15px;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}
.suzukin-case-page-contents .suzukin-case-icon.is-yen {
  font-size:17px;
  line-height:1;
  font-weight:800;
  font-family:Arial,Helvetica,sans-serif;
}

/* タイトル直下の投稿日・カテゴリ */
.suzukin-case-page-contents .suzukin_case_detail > .titleset .data p {
  display:inline-flex;
  align-items:center;
}
.suzukin-case-page-contents .suzukin_case_detail > .titleset .data .suzukin-case-icon {
  width:24px;
  height:24px;
  margin-right:7px;
}
.suzukin-case-page-contents .suzukin_case_detail > .titleset .data .suzukin-case-icon svg { width:13px; height:13px; }
.suzukin-case-page-contents .suzukin_case_detail > .titleset .category { gap:5px; }
.suzukin-case-page-contents .suzukin_case_detail > .titleset .category .suzukin-case-icon { margin-right:3px; }

/* 事例概要を「情報カード」らしく */
.suzukin-case-page-contents .suzukin-case-summary {
  box-shadow:0 8px 24px rgba(0,63,102,.055);
}
.suzukin-case-page-contents .suzukin-case-summary h2 {
  position:relative;
  display:flex;
  align-items:center;
  gap:12px;
  padding-top:21px !important;
  padding-bottom:21px !important;
}
.suzukin-case-page-contents .suzukin-case-summary h2::before {
  content:"";
  width:5px;
  align-self:stretch;
  min-height:28px;
  background:#0071bc;
  border-radius:3px;
}
.suzukin-case-page-contents .suzukin-case-section-kicker {
  display:inline-flex;
  align-items:center;
  min-height:24px;
  padding:3px 9px;
  border-radius:12px;
  background:#0071bc;
  color:#fff;
  font-size:10px;
  line-height:1;
  letter-spacing:.10em;
  font-weight:700;
}
.suzukin-case-page-contents .suzukin-case-summary dl { padding:7px 22px 12px; }
.suzukin-case-page-contents .suzukin-case-summary dl > div {
  min-height:66px;
  grid-template-columns:190px minmax(0,1fr);
  align-items:center;
  padding:13px 0;
}
.suzukin-case-page-contents .suzukin-case-summary dt {
  display:flex;
  align-items:center;
  min-width:0;
  color:#263238;
}
.suzukin-case-page-contents .suzukin-case-summary dt span:last-child { line-height:1.4; }
.suzukin-case-page-contents .suzukin-case-summary dd { padding-left:6px; }
.suzukin-case-page-contents .suzukin-case-summary dl > div.is-amount {
  margin:0 -22px;
  padding-left:22px;
  padding-right:22px;
  background:linear-gradient(90deg,#f7fbfe 0%,#fff 100%);
}
.suzukin-case-page-contents .suzukin-case-summary dl > div.is-amount .suzukin-case-icon {
  background:#0071bc;
  color:#fff;
}
.suzukin-case-page-contents .suzukin-case-summary dl > div.is-amount dd strong {
  color:#0071bc;
  font-size:27px;
  font-weight:800;
  letter-spacing:.01em;
}

/* セクション見出し：アイコン＋補足文 */
.suzukin-case-page-contents .suzukin-case-gallery-section > h2,
.suzukin-case-page-contents .suzukin-case-before-after > h2,
.suzukin-case-page-contents .suzukin-case-comment > h2,
.suzukin-case-page-contents .suzukin-case-related > h2 {
  display:grid !important;
  grid-template-columns:auto auto 1fr;
  grid-template-rows:auto auto;
  column-gap:10px;
  row-gap:2px;
  align-items:center;
  padding:0 0 14px 0 !important;
}
.suzukin-case-page-contents .suzukin-case-gallery-section > h2::before,
.suzukin-case-page-contents .suzukin-case-before-after > h2::before,
.suzukin-case-page-contents .suzukin-case-comment > h2::before,
.suzukin-case-page-contents .suzukin-case-related > h2::before { display:none; }
.suzukin-case-page-contents .suzukin-case-gallery-section > h2 .section-icon,
.suzukin-case-page-contents .suzukin-case-before-after > h2 .section-icon,
.suzukin-case-page-contents .suzukin-case-comment > h2 .section-icon,
.suzukin-case-page-contents .suzukin-case-related > h2 .section-icon {
  grid-column:1;
  grid-row:1 / span 2;
  width:42px;
  height:42px;
  margin:0;
  background:#0071bc;
  color:#fff;
  border-radius:8px;
}
.suzukin-case-page-contents .suzukin-case-gallery-section > h2 .section-icon svg,
.suzukin-case-page-contents .suzukin-case-before-after > h2 .section-icon svg,
.suzukin-case-page-contents .suzukin-case-comment > h2 .section-icon svg,
.suzukin-case-page-contents .suzukin-case-related > h2 .section-icon svg { width:20px; height:20px; }
.suzukin-case-page-contents .suzukin-case-gallery-section > h2 > span:not(.suzukin-case-icon),
.suzukin-case-page-contents .suzukin-case-before-after > h2 > span:not(.suzukin-case-icon),
.suzukin-case-page-contents .suzukin-case-comment > h2 > span:not(.suzukin-case-icon),
.suzukin-case-page-contents .suzukin-case-related > h2 > span:not(.suzukin-case-icon) {
  grid-column:2 / 4;
  grid-row:1;
  align-self:end;
}
.suzukin-case-page-contents .suzukin-case-gallery-section > h2 small,
.suzukin-case-page-contents .suzukin-case-before-after > h2 small,
.suzukin-case-page-contents .suzukin-case-comment > h2 small,
.suzukin-case-page-contents .suzukin-case-related > h2 small {
  grid-column:2 / 4;
  grid-row:2;
  display:block;
  color:#7a858c;
  font-size:11px;
  line-height:1.4;
  font-weight:500;
  letter-spacing:.02em;
}

/* ギャラリーに立体感 */
.suzukin-case-page-contents .suzukin-case-gallery-open {
  border-radius:4px;
  box-shadow:0 3px 12px rgba(0,0,0,.06);
}
.suzukin-case-page-contents .suzukin-case-gallery-open::after {
  content:"＋";
  position:absolute;
  right:10px;
  bottom:10px;
  display:flex;
  align-items:center;
  justify-content:center;
  width:28px;
  height:28px;
  border-radius:50%;
  background:rgba(0,113,188,.92);
  color:#fff;
  font-size:17px;
  line-height:1;
  opacity:0;
  transform:translateY(4px);
  transition:opacity .2s, transform .2s;
}
.suzukin-case-page-contents .suzukin-case-gallery-open { position:relative; }
.suzukin-case-page-contents .suzukin-case-gallery-open:hover::after { opacity:1; transform:none; }

/* コメントを人物／吹き出しの印象に */
.suzukin-case-page-contents .suzukin-case-comment {
  position:relative;
  overflow:hidden;
  border-radius:3px;
  box-shadow:0 5px 18px rgba(0,0,0,.035);
}
.suzukin-case-page-contents .suzukin-case-comment > h2 {
  display:grid !important;
  padding:16px 20px !important;
  background:linear-gradient(90deg,#f0f7fc 0%,#f6f7f8 100%) !important;
}
.suzukin-case-page-contents .suzukin-case-comment.customer > h2 {
  background:linear-gradient(90deg,#f5f8ef 0%,#f6f7f8 100%) !important;
}
.suzukin-case-page-contents .suzukin-case-comment.customer > h2 .section-icon {
  background:#4e8d42;
}
.suzukin-case-page-contents .suzukin-case-comment p {
  position:relative;
  padding:25px 28px 26px 34px;
}
.suzukin-case-page-contents .suzukin-case-comment p::before {
  content:"“";
  position:absolute;
  left:12px;
  top:10px;
  color:#c8ddec;
  font-family:Georgia,serif;
  font-size:38px;
  line-height:1;
}
.suzukin-case-page-contents .suzukin-case-comment.customer p::before { color:#d1e2cc; }

/* 一覧カードのメタ情報にもアイコン */
.suzukin-case-page-contents .suzukin-case-card-meta span {
  display:inline-flex;
  align-items:center;
}
.suzukin-case-page-contents .suzukin-case-card-meta .suzukin-case-icon {
  width:22px;
  height:22px;
  margin-right:6px;
  background:#f0f6fa;
}
.suzukin-case-page-contents .suzukin-case-card-meta .suzukin-case-icon svg { width:12px; height:12px; }
.suzukin-case-page-contents .suzukin-case-card-meta .suzukin-case-icon.is-yen { font-size:13px; }

@media (max-width:945px) {
  .suzukin-case-page-contents .suzukin-case-summary dl > div {
    grid-template-columns:1fr;
    gap:8px;
    min-height:0;
  }
  .suzukin-case-page-contents .suzukin-case-summary dd { padding-left:38px; }
  .suzukin-case-page-contents .suzukin-case-summary dl > div.is-amount dd { padding-left:38px; }
  .suzukin-case-page-contents .suzukin-case-gallery-section > h2 .section-icon,
  .suzukin-case-page-contents .suzukin-case-before-after > h2 .section-icon,
  .suzukin-case-page-contents .suzukin-case-comment > h2 .section-icon,
  .suzukin-case-page-contents .suzukin-case-related > h2 .section-icon { width:38px; height:38px; }
  .suzukin-case-page-contents .suzukin-case-gallery-section > h2,
  .suzukin-case-page-contents .suzukin-case-before-after > h2,
  .suzukin-case-page-contents .suzukin-case-comment > h2,
  .suzukin-case-page-contents .suzukin-case-related > h2 { font-size:20px !important; }
}

/* =========================================================
   v1.0.7: Lightbox viewport fix / section icon contrast
   ========================================================= */
body > .suzukin-case-lightbox {
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  z-index:2147483000 !important;
  box-sizing:border-box !important;
  padding:20px !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:hidden !important;
}
body > .suzukin-case-lightbox .suzukin-case-lightbox-backdrop {
  position:fixed !important;
  inset:0 !important;
  width:100vw !important;
  height:100vh !important;
  height:100dvh !important;
  background:rgba(0,0,0,.9) !important;
}
body > .suzukin-case-lightbox .suzukin-case-lightbox-dialog {
  position:relative !important;
  inset:auto !important;
  width:min(1200px, calc(100vw - 40px)) !important;
  height:auto !important;
  max-height:calc(100vh - 40px) !important;
  max-height:calc(100dvh - 40px) !important;
  margin:auto !important;
}
body > .suzukin-case-lightbox .suzukin-case-lightbox-image {
  display:block !important;
  width:auto !important;
  height:auto !important;
  max-width:100% !important;
  max-height:calc(100vh - 80px) !important;
  max-height:calc(100dvh - 80px) !important;
  margin:auto !important;
  object-fit:contain !important;
}
body > .suzukin-case-lightbox .suzukin-case-lightbox-close {
  top:10px !important;
  right:10px !important;
  position:fixed !important;
  z-index:2147483002 !important;
}
body > .suzukin-case-lightbox .suzukin-case-lightbox-count {
  position:fixed !important;
  left:50% !important;
  bottom:12px !important;
  transform:translateX(-50%) !important;
  z-index:2147483002 !important;
}
body > .suzukin-case-lightbox .suzukin-case-lightbox-nav {
  z-index:2147483002 !important;
}
body.suzukin-case-lightbox-open {
  overflow:hidden !important;
}

/* 青背景のセクションアイコンはテーマ側SVG指定より優先して白に固定 */
.suzukin-case-page-contents .suzukin-case-icon.section-icon {
  background:#0071bc !important;
  color:#fff !important;
}
.suzukin-case-page-contents .suzukin-case-icon.section-icon svg,
.suzukin-case-page-contents .suzukin-case-icon.section-icon svg * {
  fill:none !important;
  stroke:#fff !important;
  color:#fff !important;
}

@media (max-width:945px) {
  body > .suzukin-case-lightbox { padding:10px !important; }
  body > .suzukin-case-lightbox .suzukin-case-lightbox-dialog {
    width:calc(100vw - 20px) !important;
    max-height:calc(100dvh - 20px) !important;
  }
  body > .suzukin-case-lightbox .suzukin-case-lightbox-image {
    max-height:calc(100dvh - 56px) !important;
  }
  body > .suzukin-case-lightbox .suzukin-case-lightbox-close {
    top:8px !important;
    right:8px !important;
  }
}


/* v1.0.8: 一覧・タイトル画像 */
.suzukin-case-page-contents .suzukin_case_detail > .titleset .suzukin-case-title-row {
  display:flex;
  align-items:center;
  gap:18px;
  margin:0 0 12px;
}
.suzukin-case-page-contents .suzukin_case_detail > .titleset .suzukin-case-title-row h1 {
  flex:1;
  min-width:0;
  margin:0;
}
.suzukin-case-page-contents .suzukin-case-title-thumb {
  flex:0 0 76px;
  width:76px;
  height:76px;
  border-radius:8px;
  overflow:hidden;
  background:#eef4f8;
  box-shadow:0 0 0 1px rgba(0,113,188,.12);
}
.suzukin-case-page-contents .suzukin-case-title-thumb img {
  display:block;
  width:100%;
  height:100%;
  object-fit:cover;
}
@media (max-width: 767px) {
  .suzukin-case-page-contents .suzukin_case_detail > .titleset .suzukin-case-title-row { gap:12px; align-items:flex-start; }
  .suzukin-case-page-contents .suzukin-case-title-thumb { flex-basis:58px; width:58px; height:58px; border-radius:6px; }
}

/* =========================================================
   v1.0.9: 一覧カードを既存テーマの汎用クラスから完全分離
   ========================================================= */
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-grid {
  display:grid !important;
  grid-template-columns:minmax(0,1fr) !important;
  gap:26px !important;
  margin:0 !important;
  padding:0 !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-grid > li {
  display:block !important;
  width:auto !important;
  margin:0 !important;
  padding:0 !important;
  list-style:none !important;
  float:none !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card {
  position:relative !important;
  display:grid !important;
  grid-template-columns:300px minmax(0,1fr) !important;
  width:100% !important;
  min-height:210px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#fff !important;
  border:1px solid #dfe5e9 !important;
  box-shadow:none !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-image {
  position:relative !important;
  display:block !important;
  width:300px !important;
  height:210px !important;
  min-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  background:#eef2f4 !important;
  text-decoration:none !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-thumb {
  display:block !important;
  width:100% !important;
  height:100% !important;
  margin:0 !important;
  padding:0 !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-thumb img,
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-image img {
  position:static !important;
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  max-width:none !important;
  margin:0 !important;
  padding:0 !important;
  object-fit:cover !important;
  transform:none;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-body {
  position:static !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  min-width:0 !important;
  margin:0 !important;
  padding:24px 28px !important;
  background:#fff !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-link {
  position:static !important;
  display:block !important;
  width:auto !important;
  height:auto !important;
  inset:auto !important;
  margin:0 !important;
  padding:0 !important;
  background:none !important;
  color:#222 !important;
  text-decoration:none !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-title {
  position:static !important;
  margin:8px 0 12px !important;
  padding:0 !important;
  color:#222 !important;
  font-size:21px !important;
  line-height:1.55 !important;
  font-weight:700 !important;
  background:none !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-meta {
  position:static !important;
  display:flex !important;
  flex-wrap:wrap !important;
  gap:7px 16px !important;
  margin:0 !important;
  padding:9px 0 !important;
  border-top:1px solid #edf0f2 !important;
  border-bottom:1px solid #edf0f2 !important;
  background:none !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-excerpt {
  position:static !important;
  margin:12px 0 0 !important;
  padding:0 !important;
  color:#555 !important;
  font-size:14px !important;
  line-height:1.8 !important;
  background:none !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-more {
  display:inline-flex !important;
  align-items:center !important;
  align-self:flex-start !important;
  margin-top:14px !important;
  color:#0879bf !important;
  font-size:13px !important;
  font-weight:700 !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-more::after {
  content:'›';
  margin-left:7px;
  font-size:18px;
  line-height:1;
}

/* 関連事例にも汎用テーマクラスを使わない */
.suzukin-case-page-contents .suzukin-case-related .suzukin-case-card-link {
  position:static !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#222 !important;
  text-decoration:none !important;
}
.suzukin-case-page-contents .suzukin-case-related .suzukin-case-card-title {
  margin:0 0 8px !important;
  font-size:16px !important;
  line-height:1.6 !important;
  font-weight:700 !important;
}
.suzukin-case-page-contents .suzukin-case-related-date { margin:0; color:#777; font-size:12px; }

@media (max-width:900px) {
  .suzukin-case-page-contents .suzukin_case_list .suzukin-case-card {
    grid-template-columns:1fr !important;
  }
  .suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-image {
    width:100% !important;
    height:auto !important;
    aspect-ratio:16/10 !important;
  }
  .suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-body {
    padding:20px !important;
  }
  .suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-title {
    font-size:18px !important;
  }
}

/* v1.0.10: 一覧サムネイルをカード左列の高さ全体へフィット */
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-image {
  align-self:stretch !important;
  height:100% !important;
  min-height:100% !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-thumb {
  height:100% !important;
  min-height:100% !important;
}
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-thumb img,
.suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-image img {
  width:100% !important;
  height:100% !important;
  min-height:100% !important;
  object-fit:cover !important;
  object-position:center center !important;
}
@media (max-width:900px) {
  .suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-image {
    height:auto !important;
    min-height:0 !important;
    aspect-ratio:16/10 !important;
  }
  .suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-thumb {
    height:100% !important;
    min-height:0 !important;
  }
  .suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-thumb img,
  .suzukin-case-page-contents .suzukin_case_list .suzukin-case-card-image img {
    min-height:0 !important;
  }
}


/* =========================================================
   v1.0.12: 事例一覧 カテゴリ横スクロールタブ
   ========================================================= */
.suzukin-case-page-contents .suzukin-case-category-tabs-wrap {
  width:100%;
  min-width:0;
  margin:0 0 28px;
  overflow:hidden;
  border-bottom:1px solid #dce2e6;
}
.suzukin-case-page-contents .suzukin-case-category-tabs {
  display:flex;
  flex-wrap:nowrap;
  gap:6px;
  width:100%;
  max-width:100%;
  min-width:0;
  margin:0;
  padding:0 0 8px;
  overflow-x:auto;
  overflow-y:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior-inline:contain;
  scrollbar-width:thin;
  scrollbar-color:#b7c2ca transparent;
}
.suzukin-case-page-contents .suzukin-case-category-tabs::-webkit-scrollbar { height:5px; }
.suzukin-case-page-contents .suzukin-case-category-tabs::-webkit-scrollbar-track { background:transparent; }
.suzukin-case-page-contents .suzukin-case-category-tabs::-webkit-scrollbar-thumb { background:#b7c2ca; border-radius:999px; }
.suzukin-case-page-contents .suzukin-case-category-tab {
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  justify-content:center;
  min-height:42px;
  margin:0;
  padding:9px 18px;
  border:1px solid #d6dde2;
  border-radius:2px;
  background:#fff;
  color:#333!important;
  font-size:14px;
  line-height:1.35;
  font-weight:700;
  white-space:nowrap;
  text-decoration:none!important;
  transition:border-color .18s ease, color .18s ease, background .18s ease;
}
.suzukin-case-page-contents .suzukin-case-category-tab:hover {
  border-color:#0071bc;
  color:#0071bc!important;
}
.suzukin-case-page-contents .suzukin-case-category-tab.is-active {
  border-color:#0071bc;
  background:#0071bc;
  color:#fff!important;
}
@media (max-width:900px) {
  .suzukin-case-page-contents .suzukin-case-category-tabs-wrap { margin-bottom:22px; }
  .suzukin-case-page-contents .suzukin-case-category-tabs { gap:5px; padding-bottom:7px; }
  .suzukin-case-page-contents .suzukin-case-category-tab {
    min-height:40px;
    padding:8px 15px;
    font-size:13px;
  }
}

/* =========================
   v1.0.13 サイドバー：最新事例一覧
   - テーマ .nav の <p><a> スタイル干渉を避ける
   - 一覧・タイトル画像をサムネイルとして表示
   - 見出し矢印はプラグイン側の1個だけに統一
   ========================= */
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child > a::before,
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child > a::after,
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child strong::before,
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child strong::after {
  content:none !important;
  display:none !important;
}
.suzukin-case-page-contents .suzukin-case-side-latest > p:first-child > a {
  display:block !important;
  width:100%;
  padding:0 !important;
  margin:0 !important;
  background:none !important;
}
.suzukin-case-page-contents .suzukin-case-latest-list {
  margin:0;
  padding:0;
}
.suzukin-case-page-contents .suzukin-case-latest-item {
  display:grid;
  grid-template-columns:82px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin:0;
  padding:14px 0;
  border-bottom:1px solid #e8e8e8;
}
.suzukin-case-page-contents .suzukin-case-latest-item:first-child { padding-top:0; }
.suzukin-case-page-contents .suzukin-case-latest-item:last-child { border-bottom:0; padding-bottom:0; }
.suzukin-case-page-contents .suzukin-case-latest-thumb {
  display:block !important;
  width:82px;
  height:62px;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden;
  background:#f2f2f2 !important;
  text-decoration:none !important;
}
.suzukin-case-page-contents .suzukin-case-latest-thumb::before,
.suzukin-case-page-contents .suzukin-case-latest-thumb::after { content:none !important; display:none !important; }
.suzukin-case-page-contents .suzukin-case-latest-thumb img,
.suzukin-case-page-contents .suzukin-case-latest-thumb .suzukin-case-noimage {
  display:block !important;
  width:100% !important;
  height:100% !important;
  min-height:0 !important;
  object-fit:cover;
  aspect-ratio:auto !important;
}
.suzukin-case-page-contents .suzukin-case-latest-thumb .suzukin-case-noimage {
  display:flex !important;
  align-items:center;
  justify-content:center;
  font-size:9px;
}
.suzukin-case-page-contents .suzukin-case-latest-body { min-width:0; }
.suzukin-case-page-contents .suzukin-case-latest-meta {
  display:flex;
  flex-wrap:wrap;
  gap:4px 8px;
  align-items:center;
  margin:0 0 5px;
  font-size:11px;
  line-height:1.4;
}
.suzukin-case-page-contents .suzukin-case-latest-meta .category {
  display:inline-block !important;
  margin:0 !important;
  padding:0 !important;
  color:#0071bc !important;
  background:none !important;
  font-size:11px !important;
  text-decoration:none !important;
}
.suzukin-case-page-contents .suzukin-case-latest-meta .category::before,
.suzukin-case-page-contents .suzukin-case-latest-meta .category::after { content:none !important; display:none !important; }
.suzukin-case-page-contents .suzukin-case-latest-meta .date {
  margin:0 !important;
  color:#888;
  font-size:11px;
  white-space:nowrap;
}
.suzukin-case-page-contents .suzukin-case-latest-item .entry {
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  color:#222 !important;
  background:none !important;
  font-size:12px !important;
  font-weight:500;
  line-height:1.55;
  text-decoration:none !important;
  overflow-wrap:anywhere;
}
.suzukin-case-page-contents .suzukin-case-latest-item .entry::before,
.suzukin-case-page-contents .suzukin-case-latest-item .entry::after { content:none !important; display:none !important; }
.suzukin-case-page-contents .suzukin-case-latest-item .entry:hover { color:#0071bc !important; }

@media (max-width:945px) {
  .suzukin-case-page-contents .suzukin-case-latest-item {
    grid-template-columns:92px minmax(0,1fr);
    gap:12px;
  }
  .suzukin-case-page-contents .suzukin-case-latest-thumb {
    width:92px;
    height:69px;
  }
}
