    /* ===== 工務店 詳細（ページ固有） ===== */

    /* --- 会社概要（写真ギャラリー＋概要） --- */
    .kd-overview { display: grid; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: clamp(28px, 3.6vw, 60px); align-items: start; }
    .kd-gallery__main { overflow: hidden; aspect-ratio: 4 / 3; }
    .kd-gallery__main img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
    .kd-gallery:hover .kd-gallery__main img { transform: scale(1.03); }
    .kd-gallery__thumbs { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(8px, 1vw, 14px); margin-top: clamp(8px, 1vw, 14px); }
    .kd-gallery__thumb { overflow: hidden; aspect-ratio: 4 / 3; }
    .kd-gallery__thumb img { width: 100%; height: 100%; object-fit: cover; transition: transform .5s var(--ease-out); }
    .kd-gallery__thumb:hover img { transform: scale(1.05); }

    .kd-info__en { font-family: var(--font-en); font-weight: 500; font-size: 13px; letter-spacing: .16em; text-transform: uppercase; color: var(--brown); }
    .kd-info__title { margin: 12px 0 20px; font-size: clamp(22px, 2.6vw, 32px); font-weight: 700; line-height: 1.5; letter-spacing: .02em; color: var(--ink); }
    .kd-info__tags { display: flex; flex-wrap: wrap; gap: 8px; margin-bottom: 22px; }
    .kd-info__tag { display: inline-block; padding: 5px 14px; background: var(--cream); border: 1px solid var(--line); border-radius: 999px; font-size: 12px; color: var(--ink-soft); letter-spacing: .02em; }
    .kd-info__text { font-size: 14px; line-height: 2.05; color: var(--ink-soft); }
    .kd-info__text + .kd-info__text { margin-top: 16px; }
    .kd-info__btn { margin-top: 30px; }

    /* --- 区切りの帯（直接問い合わせ） --- */
    .kd-band { background: var(--brown-dark); color: #fff; }
    .kd-band__inner { display: flex; flex-wrap: wrap; align-items: center; justify-content: center; gap: clamp(16px, 2.4vw, 40px); padding: clamp(32px, 4vw, 52px) 0; text-align: center; }
    .kd-band__lead { font-size: clamp(16px, 1.8vw, 21px); font-weight: 700; letter-spacing: .04em; }
    .kd-band__note { flex-basis: 100%; font-size: 12.5px; color: rgba(255,255,255,.72); line-height: 1.8; }
    .kd-band .btn-brown { background: #fff; color: var(--brown-dark); }
    .kd-band .btn-brown:hover { background: var(--cream); color: var(--brown-dark); box-shadow: 0 12px 26px rgba(0,0,0,.18); }

    /* --- 強み・こだわり（画像＋テキスト行） --- */
    .kd-features { display: flex; flex-direction: column; gap: clamp(28px, 3.4vw, 52px); }
    .kd-feature { display: grid; grid-template-columns: clamp(300px, 44%, 560px) 1fr; gap: clamp(24px, 3.4vw, 56px); align-items: center; }
    .kd-feature:nth-child(even) .kd-feature__img { order: 2; }
    .kd-feature__img { overflow: hidden; aspect-ratio: 4 / 3; }
    .kd-feature__img img { width: 100%; height: 100%; object-fit: cover; transition: transform .6s var(--ease-out); }
    .kd-feature:hover .kd-feature__img img { transform: scale(1.04); }
    .kd-feature__num { font-family: var(--font-en); font-size: 14px; font-weight: 600; color: var(--brown); letter-spacing: .08em; }
    .kd-feature__title { margin: 10px 0 16px; font-size: clamp(19px, 2.1vw, 25px); font-weight: 700; line-height: 1.5; color: var(--ink); }
    .kd-feature__text { font-size: 13.5px; line-height: 2; color: var(--ink-soft); }

    /* --- スタッフ紹介 --- */
    .kd-staff { display: grid; grid-template-columns: repeat(3, 1fr); gap: clamp(20px, 2.4vw, 34px); }
    .kd-staff__card { text-align: center; }
    .kd-staff__photo { overflow: hidden; aspect-ratio: 3 / 4; margin-bottom: 18px; }
    .kd-staff__photo img { width: 100%; height: 100%; object-fit: cover; transition: transform .55s var(--ease-out); }
    .kd-staff__card:hover .kd-staff__photo img { transform: scale(1.05); }
    .kd-staff__role { font-family: var(--font-en); font-size: 12px; font-weight: 500; letter-spacing: .08em; color: var(--brown); }
    .kd-staff__name { margin: 6px 0 12px; font-size: 18px; font-weight: 700; letter-spacing: .04em; color: var(--ink); }
    .kd-staff__comment { font-size: 13px; line-height: 1.95; color: var(--ink-soft); text-align: left; }

    /* --- 店舗情報 --- */
    .kd-shopinfo { max-width: 760px; margin: 0 auto; }

    @media (max-width: 1024px) {
      .kd-staff { gap: 18px; }
    }
    @media (max-width: 768px) {
      .kd-overview { grid-template-columns: 1fr; gap: 26px; }
      .kd-feature { grid-template-columns: 1fr; gap: 16px; }
      .kd-feature__img, .kd-feature:nth-child(even) .kd-feature__img { order: -1; }
      .kd-band__inner { flex-direction: column; gap: 16px; }
    }
    @media (max-width: 480px) {
      .kd-staff { grid-template-columns: 1fr; gap: 26px; max-width: 340px; margin-inline: auto; }
      .kd-staff__photo { aspect-ratio: 4 / 3; }
      .kd-staff__comment { text-align: center; }
    }
