/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   VISUAL EFFECTOR — 共通改善CSS v2.0
   対象: 全6ページ共通
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

/* ─── フォントサイズ底上げ ─── */
body { font-size: 16px; }
p, li, label, td, th { font-size: 0.9375rem; }

/* ─── タップターゲット最小44px ─── */
a, button, input[type="checkbox"], input[type="radio"] { min-height: 44px; }
.nav-links a { min_height: 44px; display: flex; align-items: center; }
.filter-btn { min-height: 44px; }

/* ─── フォーカスリング（アクセシビリティ） ─── */
:focus-visible {
  outline: 3px solid #ff6a00;
  outline-offset: 2px;
  border-radius: 3px;
}

/* Arkheテーマ標準ナビを非表示（VEカスタムテンプレート用） */
.l-header,
.l-header__inner,
#site-header,
.c-gnav,
.c-gnav__list,
.c-gnav__item,
.c-gnav__sub,
#global-nav,
.global-nav,
[class*="c-gnav"],
[class*="l-header"] {
  display: none !important;
}

/* ─── Arkheデフォルトリンクスタイルリセット ─── */
body a {
  color: inherit;
  text-decoration: none;
}
body a:hover {
  color: inherit;
  text-decoration: none;
}

/* ─── VEナビ統一スタイル ─── */
nav .nav-logo {
  font-family: 'Bebas Neue', sans-serif;
  font-size: 1.3rem;
  letter-spacing: 0.15em;
  color: #111 !important;
  text-decoration: none !important;
}
nav .nav-logo span { color: #ff6a00 !important; }

nav .nav-links a {
  color: #555 !important;
  text-decoration: none !important;
  font-size: 0.82rem;
  letter-spacing: 0.04em;
}
nav .nav-links a:hover { color: #111 !important; }

nav .nav-cta {
  background: #ff6a00 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700;
  padding: 9px 20px;
  border-radius: 4px;
  font-size: 0.82rem;
}

/* ─── VEナビ完全スタイル（全ページ共通） ─── */
nav[role="navigation"] {
  position: fixed;
  top: 0; left: 0; right: 0;
  z-index: 200;
  height: 64px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0 48px;
  background: rgba(255,255,255,0.96);
  backdrop-filter: blur(8px);
  border-bottom: 1px solid rgba(0,0,0,0.06);
}
nav[role="navigation"] .nav-logo {
  font-family: 'Bebas Neue', 'DM Sans', sans-serif !important;
  font-size: 1.3rem !important;
  letter-spacing: 0.15em !important;
  color: #111 !important;
  text-decoration: none !important;
  font-weight: 400;
}
nav[role="navigation"] .nav-logo span { color: #ff6a00 !important; }
nav[role="navigation"] .nav-links {
  display: flex;
  gap: 4px;
  list-style: none;
  margin: 0; padding: 0;
}
nav[role="navigation"] .nav-links a {
  font-size: 0.82rem !important;
  letter-spacing: 0.04em !important;
  color: #555 !important;
  text-decoration: none !important;
  padding: 8px 10px;
}
nav[role="navigation"] .nav-links a:hover { color: #ff6a00 !important; }
nav[role="navigation"] .nav-cta {
  background: #ff6a00 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 9px 20px !important;
  border-radius: 4px !important;
  font-size: 0.82rem !important;
  white-space: nowrap;
}
nav[role="navigation"] .nav-cta:hover { opacity: 0.85 !important; }

/* ─── ナビロゴ・CTAボタン強制表示 ─── */
.nav-logo {
  display: block !important;
  visibility: visible !important;
  opacity: 1 !important;
  font-family: 'Bebas Neue', sans-serif !important;
  font-size: 1.3rem !important;
  letter-spacing: 0.15em !important;
  color: #111 !important;
  text-decoration: none !important;
}
.nav-logo span { color: #ff6a00 !important; }

.nav-cta {
  display: inline-flex !important;
  visibility: visible !important;
  opacity: 1 !important;
  background: #ff6a00 !important;
  color: #fff !important;
  text-decoration: none !important;
  font-weight: 700 !important;
  padding: 9px 20px !important;
  border-radius: 4px !important;
  font-size: 0.82rem !important;
  white-space: nowrap !important;
  align-items: center !important;
}

/* ─── SP緊急修正 ─── */
@media (max-width: 767px) {
  /* テーブルセルの縦1文字崩れを修正 */
  table { table-layout: auto !important; width: 100% !important; }
  td, th { word-break: normal !important; overflow-wrap: break-word !important; min-width: 0 !important; white-space: normal !important; }

  /* LEDグリッド・エリアラップの2カラム崩れ修正 */
  .led-main-grid { display: flex !important; flex-direction: column !important; width: 100% !important; }
  .area-wrap { display: flex !important; flex-direction: column !important; width: 100% !important; }
  .area-wrap > * { width: 100% !important; min-width: 0 !important; }

  /* ユースケースカードの5列崩れ修正 */
  .use-case-grid, .case-cards, [class*="use-case"] {
    display: grid !important;
    grid-template-columns: repeat(2, 1fr) !important;
    gap: 12px !important;
  }

  /* 全グリッドのmin-width強制リセット */
  [class*="grid"] > *, [class*="cards"] > *, [class*="wrap"] > * {
    min-width: 0 !important;
  }
}