/* FinalOwnerFix2 §2：調査項目一覧（/services/、page-services.php）。
   8 項目を最初から一覧で表示する。回転・自動切替・アコーディオンは使わない。PC は格子（4 列、1023px 以下は 2 列）、モバイルは縦一覧（1 列）。
   各カードは 1 つのリンクで、1 回選ぶと詳細ページへ進む。名称・写真・順番・説明は TOP の対応調査セクションと同じ値。
   写真の見え方は TOP の PC カードと同じ（明るさ 1.5・コントラスト .88）。色は .hal-lp の既存の変数を使う。 */
.hal-lp.hal-services-index { background: var(--hal-bg, #f5f2ea); color: var(--hal-sumi, #23211d); }
.hal-lp.hal-services-index .hsi-main { padding-top: 77px; }
.hal-lp.hal-services-index .hsi-inner { width: min(calc(100% - 48px), 1200px); margin-inline: auto; }
.hal-lp.hal-services-index .hsi-crumb { padding: 18px 0 0; font-size: 12px; line-height: 1.6; color: var(--hal-muted, #8b8478); }
.hal-lp.hal-services-index .hsi-crumb a { color: inherit; text-decoration: underline; text-underline-offset: .2em; }
.hal-lp.hal-services-index .hsi-crumb [aria-hidden="true"] { margin: 0 .6em; }
.hal-lp.hal-services-index .hsi-hero { padding: 44px 0 36px; text-align: center; }
.hal-lp.hal-services-index .hsi-kicker { margin: 0; font-family: var(--hal-mono, 'Space Mono', monospace); font-size: 11px; letter-spacing: .28em; color: var(--hal-gold, #9c8456); }
.hal-lp.hal-services-index .hsi-title { margin: 14px 0 0; font-family: var(--hal-serif, 'Zen Old Mincho', serif); font-size: clamp(28px, 2.8vw, 38px); font-weight: 600; line-height: 1.5; letter-spacing: .04em; color: var(--hal-sumi, #23211d); }
.hal-lp.hal-services-index .hsi-lead { margin: 12px 0 0; font-family: var(--hal-serif, 'Zen Old Mincho', serif); font-size: clamp(15px, 1.35vw, 18px); line-height: 1.9; letter-spacing: .04em; color: var(--hal-body, #5c574e); }
.hal-lp.hal-services-index .hsi-br-sp { display: none; }
.hal-lp.hal-services-index .hsi-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 24px; margin: 0; padding: 0; list-style: none; }
.hal-lp.hal-services-index .hsi-item { margin: 0; padding: 0; min-width: 0; }
.hal-lp.hal-services-index .hsi-card { display: flex; flex-direction: column; height: 100%; box-sizing: border-box; border: 1px solid var(--hal-line-deep, #ddd6c8); background: #fff; color: inherit; text-decoration: none; transition: border-color .25s ease, box-shadow .25s ease; -webkit-tap-highlight-color: transparent; }
.hal-lp.hal-services-index .hsi-card:hover { border-color: #1b1813; box-shadow: 0 10px 28px rgba(27, 24, 19, .08); }
.hal-lp.hal-services-index .hsi-card:focus-visible { outline: 2px solid #1b1813; outline-offset: 3px; }
.hal-lp.hal-services-index .hsi-photo { display: block; aspect-ratio: 3 / 2; overflow: hidden; background: #191919; }
.hal-lp.hal-services-index .hsi-photo img { display: block; width: 100%; height: 100%; max-width: none; object-fit: cover; filter: brightness(1.5) contrast(.88); transition: transform .6s cubic-bezier(.25, 1, .5, 1); }
.hal-lp.hal-services-index .hsi-card:hover .hsi-photo img { transform: scale(1.04); }
.hal-lp.hal-services-index .hsi-body { display: flex; flex: 1; flex-direction: column; gap: 6px; padding: 18px 18px 20px; }
.hal-lp.hal-services-index .hsi-num { font-family: var(--hal-mono, 'Space Mono', monospace); font-size: 11px; letter-spacing: .2em; color: var(--hal-gold, #9c8456); }
.hal-lp.hal-services-index .hsi-name { font-family: var(--hal-serif, 'Zen Old Mincho', serif); font-size: 18px; font-weight: 600; line-height: 1.5; letter-spacing: .03em; color: var(--hal-sumi, #23211d); }
.hal-lp.hal-services-index .hsi-sub { font-size: 12px; line-height: 1.6; color: var(--hal-muted, #8b8478); }
.hal-lp.hal-services-index .hsi-desc { margin-top: 4px; font-size: 13.5px; line-height: 1.9; letter-spacing: .03em; color: var(--hal-body, #5c574e); }
.hal-lp.hal-services-index .hsi-more { display: inline-flex; align-items: center; gap: .5em; margin-top: auto; padding-top: 12px; font-size: 13px; font-weight: 600; letter-spacing: .06em; color: var(--hal-sumi, #23211d); }
.hal-lp.hal-services-index .hsi-more-arrow { display: inline-block; transition: transform .25s ease; }
.hal-lp.hal-services-index .hsi-card:hover .hsi-more-arrow { transform: translateX(4px); }
.hal-lp.hal-services-index .hsi-note { margin: 40px auto 0; font-size: 13.5px; line-height: 1.9; text-align: center; color: var(--hal-body, #5c574e); }
.hal-lp.hal-services-index .hsi-cta { margin: 28px 0 0; padding-bottom: 96px; text-align: center; }
.hal-lp.hal-services-index .hsi-cta-btn { display: inline-flex; align-items: center; justify-content: center; gap: .6em; min-height: 52px; padding: 14px 28px; box-sizing: border-box; background: #1b1813; border: 1px solid #1b1813; color: #fff; font-size: 15px; font-weight: 600; letter-spacing: .06em; text-decoration: none; transition: background .25s ease, color .25s ease; }
.hal-lp.hal-services-index .hsi-cta-btn:hover { background: #fff; color: #1b1813; }
.hal-lp.hal-services-index .hsi-cta-btn:focus-visible { outline: 2px solid #1b1813; outline-offset: 3px; }
.hal-lp.hal-services-index .hsi-cta p { margin: 12px 0 0; font-size: 13px; line-height: 1.8; color: var(--hal-muted, #8b8478); }
@media (max-width: 1023.98px) {
  .hal-lp.hal-services-index .hsi-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
}
@media (max-width: 767.98px) {
  .hal-lp.hal-services-index .hsi-main { padding-top: 61px; }
  .hal-lp.hal-services-index .hsi-inner { width: calc(100% - 32px); }
  .hal-lp.hal-services-index .hsi-hero { padding: 32px 0 24px; }
  .hal-lp.hal-services-index .hsi-br-sp { display: inline; }
  .hal-lp.hal-services-index .hsi-list { grid-template-columns: minmax(0, 1fr); gap: 12px; }
  .hal-lp.hal-services-index .hsi-card { flex-direction: row; align-items: stretch; }
  .hal-lp.hal-services-index .hsi-photo { flex: 0 0 34%; max-width: 132px; aspect-ratio: auto; min-height: 100%; }
  .hal-lp.hal-services-index .hsi-body { gap: 4px; padding: 12px 14px 14px; }
  .hal-lp.hal-services-index .hsi-name { font-size: 16px; }
  .hal-lp.hal-services-index .hsi-desc { margin-top: 2px; font-size: 13px; line-height: 1.75; }
  .hal-lp.hal-services-index .hsi-more { padding-top: 6px; font-size: 12px; }
  .hal-lp.hal-services-index .hsi-note { margin-top: 28px; text-align: center; }
  .hal-lp.hal-services-index .hsi-cta { padding-bottom: 72px; }
  .hal-lp.hal-services-index .hsi-cta-btn { width: 100%; }
}
@media (prefers-reduced-motion: reduce) {
  .hal-lp.hal-services-index .hsi-card,
  .hal-lp.hal-services-index .hsi-photo img,
  .hal-lp.hal-services-index .hsi-more-arrow,
  .hal-lp.hal-services-index .hsi-cta-btn { transition: none; }
}
