/* 日本語フォント最適化＋レスポンシブ強化版 */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@300;400;500;700;900&family=Noto+Serif+JP:wght@400;700;900&display=swap');

:root {
  --font-sans: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', sans-serif;
  --font-serif: 'Noto Serif JP', Georgia, 'Times New Roman', serif;
  --color-primary: #B8860B;    /* ダークゴールド（深みのある金色） */
  --color-accent: #D4AF37;     /* ゴールド（華やかな金色） */
  --color-light-gold: #F4D03F; /* ライトゴールド（明るい金色） */
  --color-champagne: #F7E7CE;  /* シャンパンゴールド（淡い金色） */
  --color-bg: #FFFFFF;
  --color-text: #333333;
}

* {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

body {
  font-family: var(--font-sans);
  line-height: 1.8;
  color: var(--color-text);
  background: var(--color-bg);
  overflow-x: hidden;
  width: 100%;
  max-width: 100vw;
}

/* 4つの強みグリッド */
.strengths-grid-4 {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 2rem;
  margin-top: 3rem;
}

@media (min-width: 1024px) {
  .strengths-grid-4 {
    grid-template-columns: repeat(4, 1fr);
  }
}

@media (max-width: 1023px) and (min-width: 768px) {
  .strengths-grid-4 {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (max-width: 767px) {
  .strengths-grid-4 {
    grid-template-columns: 1fr;
  }
}

/* Contactセクション センタリング */
.contact-section .contact-content {
  text-align: center;
}

.contact-section .section-subtitle,
.contact-section .section-title,
.contact-section .section-description {
  text-align: center;
}

.contact-section .contact-info-boxes {
  justify-content: center;
}

.contact-section .contact-buttons {
  display: flex;
  justify-content: center;
}

/* ========================================
   グローバル リストスタイル統一
   全ページで箇条書きをゴールドチェックマークに
   ======================================== */

/* コンテンツエリア内の全てのul */
.site-main ul,
.equipment-detail-page ul,
.page-content ul,
article ul {
  list-style: none;
  padding-left: 0;
  margin: 1.5rem 0;
}

/* 全てのli要素にゴールドチェックマーク */
.site-main ul li,
.equipment-detail-page ul li,
.page-content ul li,
article ul li {
  position: relative;
  padding-left: 1.75rem;
  margin-bottom: 1rem;
  line-height: 1.8;
  color: #333;
}

.site-main ul li::before,
.equipment-detail-page ul li::before,
.page-content ul li::before,
article ul li::before {
  content: '✓';
  position: absolute;
  left: 0;
  top: 0;
  color: #D4AF37;
  font-weight: 700;
  font-size: 1.1rem;
  line-height: 1.8;
}

/* ネストされたリスト（2階層目以降）も同じスタイル */
.site-main ul ul li::before,
.equipment-detail-page ul ul li::before,
.page-content ul ul li::before,
article ul ul li::before {
  content: '✓';
  color: #D4AF37;
}

/* 特殊なリスト（除外が必要な場合） */
.no-bullet-list li::before,
nav ul li::before,
.menu li::before {
  content: none !important;
}

/* モバイル対応 */
@media (max-width: 768px) {
  .site-main ul li,
  .equipment-detail-page ul li,
  .page-content ul li,
  article ul li {
    padding-left: 1.5rem;
    margin-bottom: 0.875rem;
  }
  
  .site-main ul li::before,
  .equipment-detail-page ul li::before,
  .page-content ul li::before,
  article ul li::before {
    font-size: 1rem;
  }
}

/* ========================================
   完全に・を削除する最強設定
   ======================================== */
* ul,
* ul li {
  list-style: none !important;
  list-style-type: none !important;
}

/* すべてのulにチェックマークを強制適用 */
body ul:not(.no-bullet-list):not(nav ul):not(.menu) {
  list-style: none !important;
  padding-left: 0 !important;
}

body ul:not(.no-bullet-list):not(nav ul):not(.menu) li {
  position: relative !important;
  padding-left: 1.75rem !important;
  list-style: none !important;
  list-style-type: none !important;
}

body ul:not(.no-bullet-list):not(nav ul):not(.menu) li::before {
  content: '✓' !important;
  position: absolute !important;
  left: 0 !important;
  color: #D4AF37 !important;
  font-weight: 700 !important;
  font-size: 1.1rem !important;
}

/* ========================================
   ::marker疑似要素を完全削除（超最強版）
   ======================================== */

/* 全てのリストマーカーを強制削除 */
* ul::marker,
* ul li::marker,
* ol::marker,
* ol li::marker {
  content: '' !important;
  display: none !important;
  width: 0 !important;
  height: 0 !important;
  opacity: 0 !important;
  visibility: hidden !important;
}

/* リストスタイルを完全リセット */
ul, ol {
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
  list-style-position: outside !important;
}

ul li, ol li {
  list-style: none !important;
  list-style-type: none !important;
  list-style-image: none !important;
}

/* ブラウザのデフォルトスタイルを上書き */
ul li::before {
  list-style: none !important;
}

/* 入れ子リストも完全に制圧 */
ul ul, ul ul li,
ol ul, ol ul li,
ul ol, ul ol li {
  list-style: none !important;
  list-style-type: none !important;
}

ul ul li::marker,
ol ul li::marker {
  display: none !important;
}
