/* =========================================================
   dark-theme.css — 蕨野組 全ページ共通ダークテーマオーバーライド
   ========================================================= */

/* ── 1. CSS変数（ルート） ── */
:root {
  --bg:       transparent !important;
  --bg2:      rgba(10,20,52,0.55) !important;
  --bg3:      rgba(12,24,58,0.68) !important;
  --surface:  rgba(9,17,44,0.82) !important;
  --border:   rgba(100,148,215,0.14) !important;
  --border2:  rgba(130,175,240,0.24) !important;
  --accent:   #C9971C !important;
  --accent2:  #EFC94C !important;
  --accent-l: rgba(201,151,28,0.14) !important;
  --text:     #EDF2FF !important;
  --text2:    rgba(200,218,255,0.75) !important;
  --text3:    rgba(140,170,225,0.50) !important;
  --gold:     #C9971C !important;
  --gold-lt:  #F0D060 !important;
  --glow-gold: rgba(201,151,28,0.30) !important;
  --glow-blue: rgba(60,120,255,0.20) !important;
  --laser:    #55D0FF !important;
  --ok:       #22C55E !important;
  --ok-l:     rgba(34,197,94,0.10) !important;
  --amber:    #D97706 !important;
  --shadow:   0 2px 12px rgba(0,0,0,0.38) !important;
  --shadow-md: 0 4px 28px rgba(0,0,0,0.52) !important;
}

/* ── 2. ベース（body / html） ── */
html {
  background:
    radial-gradient(ellipse 100% 75% at 0% 0%,    rgba(22,62,185,0.32) 0%, transparent 50%),
    radial-gradient(ellipse 55%  50% at 30% 55%,  rgba(18,52,160,0.12) 0%, transparent 55%),
    radial-gradient(ellipse 65%  65% at 100% 80%, rgba(2,4,12,0.72)    0%, transparent 55%),
    radial-gradient(ellipse 35%  80% at 100% 30%, rgba(3,6,16,0.60)    0%, transparent 55%),
    linear-gradient(108deg,
      #0E1E46 0%,
      #0A1636 28%,
      #08112C 52%,
      #060D20 72%,
      #040A18 100%
    );
  background-attachment: fixed;
  min-height: 100%;
}

body {
  background: transparent !important;
  color: var(--text) !important;
}

/* ── 3. ナビゲーション ── */
nav {
  background: rgba(3,7,18,0.97) !important;
  backdrop-filter: blur(32px) saturate(160%) !important;
  -webkit-backdrop-filter: blur(32px) saturate(160%) !important;
  border-bottom: 1px solid rgba(100,148,215,0.12) !important;
  box-shadow:
    0 1px 0 rgba(212,170,69,0.10),
    0 6px 40px rgba(0,0,0,0.55),
    inset 0 -1px 0 rgba(50,100,220,0.07) !important;
}

nav::after {
  content: '';
  position: absolute;
  top: 0; left: 0; right: 0; height: 1px;
  background: linear-gradient(90deg,
    transparent 0%,
    rgba(212,170,69,0.18) 12%,
    rgba(201,151,28,0.55) 30%,
    rgba(239,201,76,0.80) 50%,
    rgba(201,151,28,0.55) 70%,
    rgba(212,170,69,0.18) 88%,
    transparent 100%);
  pointer-events: none;
}

.nav-links a { color: rgba(185,205,250,0.70) !important; }
.nav-links a:hover,
.nav-links a.active { color: #D4AA45 !important; }

.nav-btn,
.nav-cta {
  background: linear-gradient(135deg, #A87C10 0%, #C9971C 45%, #EFC94C 100%) !important;
  color: #08102A !important;
  border: none !important;
  box-shadow: 0 2px 14px rgba(192,144,40,0.32), inset 0 1px 0 rgba(255,255,255,0.18) !important;
  position: relative; overflow: hidden;
}
.nav-btn::before, .nav-cta::before {
  content: ''; position: absolute; top: -50%; left: -60%;
  width: 28%; height: 200%;
  background: rgba(255,255,255,0.20); transform: skewX(-20deg);
  transition: left .5s ease; pointer-events: none;
}
.nav-btn:hover::before, .nav-cta:hover::before { left: 135%; }
.nav-btn:hover, .nav-cta:hover {
  background: linear-gradient(135deg, #C09020 0%, #E0B030 45%, #F5D050 100%) !important;
  color: #08102A !important;
}

/* ハンバーガーアイコン */
.hb-line { background: rgba(212,170,69,0.80) !important; }

/* ロゴ画像：黒ベース表示 */
.logo img { filter: invert(1) !important; }

/* ── 4. ブレッドクラム ── */
.breadcrumb {
  background: rgba(5,10,22,0.88) !important;
  border-bottom: 1px solid rgba(100,148,215,0.10) !important;
}
.breadcrumb-inner, .breadcrumb a { color: rgba(130,160,210,0.55) !important; }
.breadcrumb a:hover { color: #D4AA45 !important; }
.breadcrumb .sep { color: rgba(100,130,180,0.30) !important; }

/* ── 5. ページヒーロー ── */
.page-hero {
  background:
    linear-gradient(165deg, rgba(10,24,80,0.98) 0%, rgba(7,16,55,0.96) 45%, rgba(4,10,36,0.98) 100%),
    radial-gradient(ellipse 90% 70% at 15% 40%,  rgba(40,120,255,0.28) 0%, transparent 55%),
    radial-gradient(ellipse 70% 80% at 85% 15%,  rgba(192,144,40,0.16) 0%, transparent 50%),
    radial-gradient(ellipse 50% 55% at 50% 90%,  rgba(20,60,190,0.18)  0%, transparent 55%),
    #060E28 !important;
  position: relative;
}
.page-hero::after {
  content: '';
  position: absolute; bottom: 0; left: 5%; right: 5%; height: 1px;
  background: linear-gradient(90deg,
    transparent,
    rgba(68,196,248,0.28) 20%,
    rgba(212,170,69,0.60) 50%,
    rgba(68,196,248,0.28) 80%,
    transparent);
  pointer-events: none;
}

/* ── 6. セクション共通 ── */
.section { background: transparent !important; }
.section-alt {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05) 0%, transparent 40%),
    rgba(8,16,42,0.52) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    inset 0 -1px 0 rgba(0,0,0,0.20) !important;
}
.section-dark {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04) 0%, transparent 30%),
    rgba(2,5,14,0.75) !important;
}
.section-label { color: #D4AA45 !important; }
.section-title { color: #EBF0FF !important; }
.section-desc { color: rgba(185,205,250,0.72) !important; }
.section-dark .section-title { color: #fff !important; }
.section-dark .section-desc { color: rgba(185,205,250,0.65) !important; }
.section-dark .section-label { color: #D4AA45 !important; }

/* detail-section (product.html) */
.detail-section {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.04) 0%, transparent 32%),
    rgba(8,16,34,0.70) !important;
}

/* ── 7. カード共通（top-sheen + rim light） ── */
.reason-card,
.v-card,
.business-card,
.number-card,
.strength-card,
.detail-card,
.blog-card,
.featured-card,
.news-card,
.case-card,
.spec-card,
.merit-card,
.faq-item,
.comp-card,
.step-card,
.flow-card,
.price-card,
.support-card,
.demo-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.10) 0%, rgba(255,255,255,0.025) 28%, transparent 52%),
    linear-gradient(135deg, rgba(60,130,255,0.12) 0%, rgba(30,80,200,0.04) 42%, transparent 65%),
    linear-gradient(155deg, #111F48 0%, #0C1A3E 55%, #08122E 100%) !important;
  border-color: rgba(100,148,215,0.18) !important;
  box-shadow:
    0 4px 32px rgba(0,0,0,0.58),
    0 1px 0 rgba(255,255,255,0.07) inset,
    0 -1px 0 rgba(0,0,0,0.35) inset !important;
}
.reason-card:hover,
.v-card:hover,
.business-card:hover,
.number-card:hover,
.strength-card:hover,
.detail-card:hover,
.blog-card:hover,
.featured-card:hover,
.news-card:hover,
.case-card:hover,
.merit-card:hover,
.faq-item:hover,
.demo-card:hover {
  border-color: rgba(201,151,28,0.38) !important;
  box-shadow:
    0 12px 52px rgba(0,0,0,0.68),
    0 0 32px rgba(201,151,28,0.16),
    0 1px 0 rgba(255,255,255,0.09) inset !important;
}

/* テキスト色をカード内で修正 */
.number-value { color: #D4AA45 !important; }
.number-label, .number-sub { color: rgba(130,160,210,0.55) !important; }
.business-name { color: #EBF0FF !important; }
.business-desc { color: rgba(185,205,250,0.68) !important; }
.business-share { background: rgba(192,144,40,0.13) !important; color: #D4AA45 !important; }
.history-year { color: #D4AA45 !important; }
.history-dot { background: #C09028 !important; box-shadow: 0 0 0 2px #C09028 !important; }
.history-list::before { background: rgba(100,148,215,0.15) !important; }

/* strength-card */
.strength-card::before {
  background: linear-gradient(180deg, #C09028, #D4AA45) !important;
}
.strength-num { color: rgba(192,144,40,0.10) !important; }
.strength-icon {
  background: linear-gradient(135deg, #9A7418, #D4AA45) !important;
  box-shadow: 0 6px 20px rgba(192,144,40,0.28) !important;
}
.strength-title { color: #EBF0FF !important; }
.strength-desc { color: rgba(185,205,250,0.72) !important; }

/* ── 8. FAQアイテム ── */
.faq-q {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.025) 0%, transparent 100%),
    rgba(11,22,42,0.80) !important;
  border-bottom: 1px solid rgba(100,148,215,0.10) !important;
}
.faq-q-mark { color: #D4AA45 !important; background: rgba(192,144,40,0.12) !important; }
.faq-q-text { color: #EBF0FF !important; }
.faq-toggle { color: rgba(185,205,250,0.60) !important; }
.faq-a {
  background: rgba(7,18,32,0.60) !important;
  color: rgba(185,205,250,0.72) !important;
  border-top: 1px solid rgba(100,148,215,0.08) !important;
}
.section-heading { color: #EBF0FF !important; }
.section-icon { filter: brightness(0.9) saturate(0.8); }
.tab-row { background: rgba(7,18,32,0.70) !important; border-bottom: 1px solid rgba(100,148,215,0.10) !important; }
.tab { color: rgba(130,160,210,0.65) !important; }
.tab.active, .tab:hover { color: #D4AA45 !important; border-bottom-color: #C09028 !important; }

/* ── 9. 会社概要テーブル（about.html） ── */
.overview-th {
  background: rgba(10,18,40,0.80) !important;
  color: rgba(239,201,76,0.88) !important;
  border-bottom-color: rgba(100,148,215,0.12) !important;
}
.overview-td {
  background: rgba(8,16,34,0.55) !important;
  color: rgba(185,205,250,0.72) !important;
  border-bottom-color: rgba(100,148,215,0.08) !important;
}
.overview-wrap {
  border-color: rgba(100,148,215,0.14) !important;
  box-shadow: 0 4px 24px rgba(0,0,0,0.36) !important;
}

/* ── 10. アクセスセクション ── */
.map-placeholder {
  background: rgba(11,26,46,0.65) !important;
  border-color: rgba(100,148,215,0.14) !important;
}
.map-placeholder p { color: rgba(130,160,210,0.55) !important; }
.access-icon { background: rgba(192,144,40,0.13) !important; }
.access-text dt { color: rgba(130,160,210,0.55) !important; }
.access-text dd { color: rgba(185,205,250,0.72) !important; }
.access-info h3 { color: #EBF0FF !important; }

/* ── 11. メッセージ・写真 ── */
.message-photo {
  background: linear-gradient(160deg, rgba(15,32,64,0.80) 0%, rgba(9,21,37,0.90) 100%) !important;
  border-color: rgba(100,148,215,0.14) !important;
}
.message-text p { color: rgba(185,205,250,0.72) !important; }
.message-sign { border-top-color: rgba(100,148,215,0.12) !important; }
.message-sign-name { color: #EBF0FF !important; }
.message-sign-name span, .message-sign-title { color: rgba(130,160,210,0.55) !important; }
.msg-label-bar { background: #C09028 !important; }
.photo-caption { color: rgba(130,160,210,0.55) !important; }
.photo-caption strong { color: #EBF0FF !important; }

/* ── 12. ビジネスカード内の背景グラデーション ── */
.biz-laser { background: linear-gradient(135deg, #0F2A5A, #1A3FAA) !important; }
.biz-pile  { background: linear-gradient(135deg, #1e293b, #0f172a) !important; }
.biz-cargo { background: linear-gradient(135deg, #78350F, #451a03) !important; }
.share-bar { background: rgba(11,26,46,0.65) !important; }
.share-laser { background: #C09028 !important; }
.share-dot { color: rgba(185,205,250,0.65) !important; }

/* ── 13. CTAバンド ── */
.cta-band {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.055) 0%, transparent 28%),
    linear-gradient(0deg,   rgba(0,0,0,0.20) 0%, transparent 35%),
    radial-gradient(ellipse 70% 60% at 50% 50%, rgba(30,70,180,0.10) 0%, transparent 65%),
    rgba(6,12,28,0.92) !important;
  border-top-color: rgba(100,148,215,0.15) !important;
  border-bottom-color: rgba(100,148,215,0.15) !important;
  box-shadow:
    inset 0 1px 0 rgba(255,255,255,0.05),
    inset 0 -1px 0 rgba(0,0,0,0.30) !important;
}
.cta-band h2 { color: #EBF0FF !important; }
.cta-band p { color: rgba(185,205,250,0.72) !important; }

/* ── 13b. CTAボトム（cta-bottom） ── */
.cta-bottom {
  background:
    radial-gradient(ellipse 90% 60% at 50% -5%,  rgba(201,151,28,0.20) 0%, transparent 58%),
    radial-gradient(ellipse 60% 45% at 15% 100%, rgba(40,100,230,0.10) 0%, transparent 50%),
    radial-gradient(ellipse 60% 45% at 85% 100%, rgba(40,100,230,0.10) 0%, transparent 50%),
    linear-gradient(170deg, #0D1E44 0%, #09132C 50%, #060D1E 100%) !important;
  border-top: 1px solid rgba(201,151,28,0.38) !important;
  position: relative !important;
  box-shadow: inset 0 1px 0 rgba(201,151,28,0.12) !important;
}
.cta-bottom::before {
  content: '' !important;
  position: absolute !important;
  inset: 0 !important;
  background: linear-gradient(180deg, rgba(201,151,28,0.06) 0%, transparent 40%) !important;
  pointer-events: none !important;
}
.cta-bottom h2 { color: #EFC94C !important; }
.cta-bottom p  { color: rgba(200,218,255,0.72) !important; }
.cta-bottom .note { color: rgba(140,170,225,0.45) !important; }

/* CTAボトム内ボタン */
.cta-bottom .btn-white {
  background: linear-gradient(135deg, #A87C10 0%, #C9971C 45%, #EFC94C 100%) !important;
  color: #08102A !important;
  border: none !important;
  box-shadow: 0 3px 18px rgba(192,144,40,0.38), inset 0 1px 0 rgba(255,255,255,0.18) !important;
  font-weight: 800 !important;
}
.cta-bottom .btn-white:hover {
  background: linear-gradient(135deg, #C09020 0%, #E0B030 45%, #F5D050 100%) !important;
  color: #08102A !important;
}
.cta-bottom .btn-outline-w {
  border: 1.5px solid rgba(212,170,69,0.45) !important;
  color: rgba(240,208,96,0.88) !important;
  background: rgba(192,144,40,0.07) !important;
}
.cta-bottom .btn-outline-w:hover {
  background: rgba(192,144,40,0.16) !important;
  border-color: rgba(240,208,96,0.70) !important;
  color: #F0D060 !important;
}

/* ── 14. ボタン ── */
.btn-primary,
.btn-submit {
  background: linear-gradient(135deg, #A87C10 0%, #C9971C 45%, #EFC94C 100%) !important;
  color: #08102A !important;
  border: none !important;
  box-shadow: 0 3px 18px rgba(192,144,40,0.36), inset 0 1px 0 rgba(255,255,255,0.18) !important;
  position: relative; overflow: hidden;
  font-weight: 800 !important;
}
.btn-primary::before, .btn-submit::before {
  content: ''; position: absolute; top: -50%; left: -60%;
  width: 28%; height: 200%;
  background: rgba(255,255,255,0.22); transform: skewX(-20deg);
  transition: left .5s ease; pointer-events: none;
}
.btn-primary:hover::before, .btn-submit:hover::before { left: 135%; }
.btn-primary:hover, .btn-submit:hover {
  background: linear-gradient(135deg, #C09020 0%, #E0B030 45%, #F5D050 100%) !important;
  color: #08102A !important;
}

.btn-outline {
  border: 1.5px solid rgba(192,144,40,0.40) !important;
  color: rgba(212,170,69,0.85) !important;
  background: rgba(192,144,40,0.06) !important;
}
.btn-outline:hover {
  background: rgba(192,144,40,0.15) !important;
  border-color: rgba(212,170,69,0.70) !important;
  color: #D4AA45 !important;
}

/* ── 15. フッター ── */
footer {
  background: rgba(3,7,18,0.98) !important;
  border-top: 1px solid rgba(100,148,215,0.10) !important;
}
.footer-logo { color: rgba(212,170,69,0.90) !important; }
.footer-links a { color: rgba(130,160,210,0.50) !important; }
.footer-links a:hover { color: rgba(212,170,69,0.80) !important; }

/* ── 16. スティッキーCTA ── */
.sticky-cta {
  background: linear-gradient(135deg, #0a1c36 0%, #0d2248 100%) !important;
  border-top: 1px solid rgba(192,144,40,0.20) !important;
  box-shadow: 0 -4px 24px rgba(0,0,0,0.50) !important;
}
.sticky-btn,
.article-body .sticky-btn,
.news-article-body .sticky-btn {
  background: linear-gradient(135deg, #A87C10 0%, #C9971C 40%, #EFC94C 100%) !important;
  color: #000 !important;
  box-shadow: 0 2px 12px rgba(192,144,40,0.32), inset 0 1px 0 rgba(255,255,255,0.15) !important;
}
.sticky-close { color: rgba(185,205,250,0.50) !important; }
.sticky-cta p { color: rgba(212,170,69,0.85) !important; }

/* ── 17. ページナビ ── */
.page-nav {
  background: rgba(7,18,32,0.90) !important;
  backdrop-filter: blur(12px) !important;
  -webkit-backdrop-filter: blur(12px) !important;
  border-bottom-color: rgba(100,148,215,0.10) !important;
}
.page-nav a { color: rgba(130,160,210,0.60) !important; }
.page-nav a:hover { color: #D4AA45 !important; }
.page-nav a.active { color: #D4AA45 !important; border-bottom-color: #C09028 !important; }

/* ── 18. フォーム（contact.html） ── */
.contact-main { background: transparent !important; }
.form-wrap {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05) 0%, transparent 25%),
    rgba(8,16,34,0.80) !important;
  border: 1px solid rgba(100,148,215,0.14) !important;
  box-shadow: 0 4px 28px rgba(0,0,0,0.36) !important;
}
.form-title { color: #EBF0FF !important; }
.form-label { color: rgba(185,205,250,0.72) !important; }
.form-note { color: rgba(130,160,210,0.55) !important; }
.form-input,
.form-textarea,
.form-select {
  background: rgba(5,12,26,0.85) !important;
  border: 1px solid rgba(100,148,215,0.18) !important;
  color: #EBF0FF !important;
  box-shadow: inset 0 2px 6px rgba(0,0,0,0.30) !important;
}
.form-input:focus,
.form-textarea:focus,
.form-select:focus {
  border-color: rgba(192,144,40,0.50) !important;
  box-shadow: 0 0 0 3px rgba(192,144,40,0.15), inset 0 2px 6px rgba(0,0,0,0.30) !important;
  outline: none !important;
}
.form-input::placeholder,
.form-textarea::placeholder { color: rgba(130,160,210,0.40) !important; }
.required { background: rgba(192,144,40,0.15) !important; color: #D4AA45 !important; border-radius: 3px; }
.optional { background: rgba(100,130,180,0.10) !important; color: rgba(130,160,210,0.60) !important; }
.form-sub { color: rgba(130,160,210,0.55) !important; }
.radio-item, .checkbox-item { color: rgba(185,205,250,0.72) !important; }
.address-block { color: rgba(185,205,250,0.72) !important; }
.btn-tel {
  background: rgba(11,26,46,0.80) !important;
  border: 1.5px solid rgba(100,148,215,0.22) !important;
  color: rgba(212,170,69,0.80) !important;
}
.btn-tel:hover {
  background: rgba(192,144,40,0.12) !important;
  border-color: rgba(192,144,40,0.40) !important;
}
.faq-link { color: #D4AA45 !important; }

/* ── 19. ブログ一覧（blog.html） ── */
.demo-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035) 0%, transparent 28%),
    linear-gradient(155deg, #0D2040 0%, #091828 100%) !important;
  border: 1px solid rgba(100,148,215,0.14) !important;
}
.demo-play-btn { background: rgba(192,144,40,0.85) !important; color: #071220 !important; }
.demo-time-badge { background: rgba(7,18,32,0.80) !important; color: rgba(212,170,69,0.85) !important; }
.demo-eyebrow { color: #D4AA45 !important; }
.demo-title { color: #EBF0FF !important; }

/* ブログカード */
.blog-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035) 0%, transparent 28%),
    rgba(9,21,37,0.75) !important;
  border-color: rgba(100,148,215,0.12) !important;
}
.blog-card:hover { border-color: rgba(192,144,40,0.28) !important; }
.featured-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.035) 0%, transparent 25%),
    linear-gradient(155deg, #0D2040 0%, #091828 100%) !important;
  border-color: rgba(100,148,215,0.14) !important;
}
.blog-card-title, .featured-title { color: #EBF0FF !important; }
.blog-card-excerpt, .featured-excerpt { color: rgba(185,205,250,0.68) !important; }
.blog-card-date, .featured-date { color: rgba(130,160,210,0.55) !important; }

/* カテゴリタグ */
.cat-tag, .article-tag {
  background: rgba(192,144,40,0.12) !important;
  color: #D4AA45 !important;
  border: 1px solid rgba(192,144,40,0.22) !important;
}
.cat-laser { background: rgba(68,196,248,0.10) !important; color: #44C4F8 !important; border-color: rgba(68,196,248,0.22) !important; }
.cat-compare { background: rgba(192,144,40,0.12) !important; color: #D4AA45 !important; border-color: rgba(192,144,40,0.22) !important; }

/* デモセクション背景 */
.demo-section {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.020) 0%, transparent 25%),
    rgba(7,18,32,0.65) !important;
}

/* ── 20. ニュース一覧（news.html） ── */
.news-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.030) 0%, transparent 28%),
    rgba(9,21,37,0.70) !important;
  border-color: rgba(100,148,215,0.12) !important;
}
.news-card:hover { border-color: rgba(192,144,40,0.28) !important; }
.news-tag { background: rgba(192,144,40,0.12) !important; color: #D4AA45 !important; border: 1px solid rgba(192,144,40,0.22) !important; }
.news-title { color: #EBF0FF !important; }
.news-date { color: rgba(130,160,210,0.55) !important; }
.news-excerpt { color: rgba(185,205,250,0.68) !important; }

/* ── 21. 記事ページ（blog-post*.html） ── */

/* 記事ヘッダー */
.article-header {
  background:
    linear-gradient(160deg, rgba(18,42,110,0.90) 0%, rgba(8,22,60,0.88) 100%),
    radial-gradient(ellipse 80% 60% at 20% 50%, rgba(56,130,255,0.15) 0%, transparent 60%) !important;
}
.article-title { color: #EBF0FF !important; }
.article-meta { color: rgba(130,160,210,0.60) !important; }
.meta-item { color: rgba(130,160,210,0.60) !important; }
.article-tags { gap: 8px; }
.article-hero-text { color: rgba(185,205,250,0.72) !important; }

/* 記事本文 */
.article-body { color: rgba(185,205,250,0.80) !important; }
.article-body h2 { color: #EBF0FF !important; border-left-color: #C09028 !important; }
.article-body h3 { color: rgba(212,170,69,0.90) !important; }
.article-body h4 { color: rgba(212,170,69,0.75) !important; }
.article-body a { color: #D4AA45 !important; }
.article-body a:hover { color: #E2C050 !important; }
.article-body strong { color: #EBF0FF !important; }
.article-body p { color: rgba(185,205,250,0.78) !important; }
.article-body li { color: rgba(185,205,250,0.78) !important; }
.article-body ul li::before { color: #D4AA45 !important; }
.article-body blockquote {
  background: rgba(11,26,46,0.65) !important;
  border-left-color: #C09028 !important;
  color: rgba(185,205,250,0.72) !important;
}

/* TOCボックス */
.toc-box, .toc {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05) 0%, transparent 28%),
    rgba(8,16,34,0.85) !important;
  border: 1px solid rgba(100,148,215,0.14) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.36) !important;
}
.toc-title, .toc-box h2 { color: #D4AA45 !important; border-bottom-color: rgba(192,144,40,0.22) !important; }
.toc-list li a, .toc a { color: rgba(185,205,250,0.72) !important; }
.toc-list li a:hover, .toc a:hover { color: #D4AA45 !important; }

/* コールアウト */
.callout {
  background: rgba(11,26,46,0.75) !important;
  border-color: rgba(100,148,215,0.20) !important;
}
.callout-title { color: rgba(185,205,250,0.85) !important; }
.callout-check {
  background: rgba(34,197,94,0.08) !important;
  border-color: rgba(34,197,94,0.20) !important;
  color: rgba(185,205,250,0.78) !important;
}
.callout-check .callout-title { color: #4ADE80 !important; }
.callout-info {
  background: rgba(56,130,255,0.08) !important;
  border-color: rgba(56,130,255,0.20) !important;
}
.callout-info .callout-title { color: #60A5FA !important; }
.callout-warn {
  background: rgba(245,158,11,0.08) !important;
  border-color: rgba(245,158,11,0.22) !important;
}
.callout-warn .callout-title { color: #FBBF24 !important; }

/* 比較テーブル */
.comparison {
  background: rgba(9,21,37,0.75) !important;
  border-color: rgba(100,148,215,0.14) !important;
}
.comp-card {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.030) 0%, transparent 28%),
    rgba(11,26,46,0.80) !important;
  border-color: rgba(100,148,215,0.14) !important;
}
.comp-label { color: rgba(185,205,250,0.72) !important; }
.comp-good { color: #4ADE80 !important; }
.comp-neutral { color: #FBBF24 !important; }
.comp-list li { color: rgba(185,205,250,0.72) !important; border-bottom-color: rgba(100,148,215,0.08) !important; }

/* コストテーブル */
.cost-compare {
  background: rgba(9,21,37,0.75) !important;
  border-color: rgba(100,148,215,0.14) !important;
  overflow: hidden;
}
.cost-col-head {
  background: rgba(11,26,46,0.85) !important;
  color: rgba(185,205,250,0.80) !important;
  border-bottom-color: rgba(100,148,215,0.14) !important;
}
.cost-row-label { color: rgba(130,160,210,0.70) !important; border-bottom-color: rgba(100,148,215,0.08) !important; }
.cost-row-val { color: rgba(185,205,250,0.78) !important; border-bottom-color: rgba(100,148,215,0.08) !important; }
.cost-col { border-color: rgba(100,148,215,0.12) !important; }

/* データテーブル */
.data-table { border-color: rgba(100,148,215,0.12) !important; }
.data-table th {
  background: rgba(11,26,46,0.85) !important;
  color: rgba(212,170,69,0.85) !important;
  border-color: rgba(100,148,215,0.14) !important;
}
.data-table td {
  color: rgba(185,205,250,0.75) !important;
  border-color: rgba(100,148,215,0.08) !important;
}
.data-table tr:nth-child(even) td {
  background: rgba(11,22,42,0.35) !important;
}

/* レーザー行 */
.laser-row { background: rgba(192,144,40,0.08) !important; border-left-color: #C09028 !important; }
.laser { color: #D4AA45 !important; }
.highlight { background: rgba(212,170,69,0.10) !important; color: #D4AA45 !important; }
.highlight-red { background: rgba(239,68,68,0.10) !important; color: #F87171 !important; }
.gold { color: #D4AA45 !important; }

/* 著者ボックス */
.author-box {
  background:
    linear-gradient(180deg, rgba(255,255,255,0.05) 0%, transparent 28%),
    rgba(8,16,34,0.85) !important;
  border: 1px solid rgba(100,148,215,0.14) !important;
  box-shadow: 0 4px 20px rgba(0,0,0,0.32) !important;
}
.author-info { color: rgba(185,205,250,0.72) !important; }
.author-icon, .author-avatar { color: rgba(130,160,210,0.55) !important; }
.author-role { color: #D4AA45 !important; }

/* ── 22. 製品ページ（product-welder.html / product-cleaner.html） ── */
.spec-table, .spec-row, .spec-th, .spec-td {
  border-color: rgba(100,148,215,0.12) !important;
}
.spec-th, .spec-label {
  background: rgba(11,26,46,0.80) !important;
  color: rgba(212,170,69,0.80) !important;
  border-color: rgba(100,148,215,0.14) !important;
}
.spec-td, .spec-value {
  background: rgba(7,18,32,0.55) !important;
  color: rgba(185,205,250,0.75) !important;
  border-color: rgba(100,148,215,0.08) !important;
}

/* product.html detail-card body */
.detail-card-body {
  background: rgba(9,21,37,0.90) !important;
  border-top: 1px solid rgba(100,148,215,0.12) !important;
}
.dc-cat { color: rgba(130,160,210,0.55) !important; }
.dc-name { color: #EBF0FF !important; }
.dc-sub { color: rgba(185,205,250,0.65) !important; }
.dc-tags { gap: 8px; }

/* ── 23. プライバシーポリシー（privacy.html） ── */
.privacy-body h2 { color: rgba(212,170,69,0.90) !important; border-bottom-color: rgba(192,144,40,0.22) !important; }
.privacy-body h3 { color: rgba(185,205,250,0.85) !important; }
.privacy-body p, .privacy-body li { color: rgba(185,205,250,0.72) !important; }
.privacy-body a { color: #D4AA45 !important; }

/* ── 24. ニュース記事ページ（news-*.html） ── */
.news-article-header {
  background: linear-gradient(160deg, rgba(18,42,110,0.90) 0%, rgba(8,22,60,0.88) 100%) !important;
}
.news-article-body h2, .news-article-body h3 { color: #EBF0FF !important; }
.news-article-body p, .news-article-body li { color: rgba(185,205,250,0.75) !important; }
.news-article-body a { color: #D4AA45 !important; }

/* ── 25. その他汎用 ── */
/* テキスト色デフォルト */
h1, h2, h3, h4, h5, h6 { color: #EBF0FF; }
p { color: rgba(185,205,250,0.75); }
a { color: #D4AA45; }

/* hr / 区切り線 */
hr { border-color: rgba(100,148,215,0.12) !important; }

/* ボーダーラインアニメーション */
.msg-label-bar { background: #C09028 !important; }

/* スクロールリビール（背景透明を維持） */
[data-reveal] { background: transparent; }

/* ── 26. モバイルメニュー（mobile.css補完） ── */
.mobile-menu {
  background: linear-gradient(160deg, #08102A 0%, #0C1838 100%) !important;
  border-top: 1px solid rgba(100,148,215,0.12) !important;
}
.mobile-menu-list li a { color: #EBF0FF !important; }
.mobile-menu-list li a:hover { color: #D4AA45 !important; }
.mobile-menu-tel-link {
  color: rgba(212,170,69,0.85) !important;
  background: rgba(192,144,40,0.08) !important;
  border: 1px solid rgba(192,144,40,0.22) !important;
  border-radius: 8px !important;
}
.mobile-menu-cta-link {
  background: linear-gradient(135deg, #A87C10 0%, #C9971C 45%, #EFC94C 100%) !important;
  color: #08102A !important;
  font-weight: 800 !important;
  box-shadow: 0 2px 14px rgba(192,144,40,0.32) !important;
}

/* ── 27. ストリップ・実績バー（複数ページ共通） ── */
.strip, .achievement-strip, .proof-strip {
  background: linear-gradient(135deg, #060e20 0%, #0C1840 60%, #0A1635 100%) !important;
  border-top: 1px solid rgba(100,148,215,0.10) !important;
  border-bottom: 1px solid rgba(100,148,215,0.10) !important;
}
.strip-val, .strip-label { color: #D4AA45 !important; }
.strip-unit { color: rgba(212,170,69,0.60) !important; }

/* ── 28. アニメーション（glimmer effect on gold elements） ── */
@keyframes glimmer {
  0%   { opacity: 0.7; }
  50%  { opacity: 1; }
  100% { opacity: 0.7; }
}
