@charset "UTF-8";

/*
Theme Name: Lightning Child
Description: Lightning専用の子テーマ（Noto Sans JP・余白・行間調整）
Template: lightning
Version: 1.0.0
*/

/* ==========================================================
   CSS変数のオーバーライド
   Lightning は --wp--preset--font-family--system-font と
   --vk-size-text でフォント・サイズを一元管理している。
   ここで上書きするだけでサイト全体に反映される。
   ========================================================== */

:root {
  /* フォント：Noto Sans JP に変更 */
  --wp--preset--font-family--system-font:
    'Noto Sans JP',
    'Hiragino Kaku Gothic ProN',
    'Hiragino Sans',
    Meiryo,
    sans-serif;

  /* ベーステキストサイズ：16px → 17px */
  --vk-size-text: 17px;
}

/* ==========================================================
   body：行間・文字間隔
   ========================================================== */

body {
  line-height: 2.0;
  letter-spacing: 0.05em;
}

/* ==========================================================
   本文・段落
   ========================================================== */

.entry-content,
.entry-body {
  font-size: 1rem;
  line-height: 2.0;
  letter-spacing: 0.05em;
}

.entry-content p,
.entry-body p {
  margin-bottom: 2em;
  line-height: 2.0;
}

/* ==========================================================
   見出し
   ========================================================== */

.entry-content h2,
.entry-body h2 {
  font-size: 1.5em;
  line-height: 1.6;
  letter-spacing: 0.08em;
  margin-top: 3em;
  margin-bottom: 1.2em;
}

.entry-content h3,
.entry-body h3 {
  font-size: 1.25em;
  line-height: 1.6;
  letter-spacing: 0.07em;
  margin-top: 2.5em;
  margin-bottom: 1em;
}

.entry-content h4,
.entry-body h4 {
  font-size: 1.1em;
  line-height: 1.7;
  letter-spacing: 0.06em;
  margin-top: 2em;
  margin-bottom: 0.8em;
}

/* ==========================================================
   ページタイトル
   ========================================================== */

h1.entry-title,
.entry-title {
  line-height: 1.5;
  letter-spacing: 0.06em;
  margin-bottom: 1.5em;
}

/* ==========================================================
   リスト
   ========================================================== */

.entry-content ul,
.entry-content ol,
.entry-body ul,
.entry-body ol {
  line-height: 2.0;
  margin-bottom: 2em;
}

.entry-content li,
.entry-body li {
  margin-bottom: 0.5em;
}

/* ==========================================================
   テーブル
   ========================================================== */

.entry-content table,
.entry-body table {
  line-height: 1.9;
  margin-bottom: 2em;
}

.entry-content th,
.entry-content td,
.entry-body th,
.entry-body td {
  padding: 0.85em 1.1em;
}

/* 概要テーブル（クラスなし）の1列目は折り返し禁止 */
.entry-content table:not([class]) td:first-child,
.entry-body table:not([class]) td:first-child {
  white-space: nowrap;
}

/* ==========================================================
   ヘッダーロゴ・ナビ：2段レイアウト
   上段：ロゴ（中央 or 左寄せ）
   下段：ナビ（全幅）
   ========================================================== */

/* ヘッダーコンテナをflex折り返しに */
#site-header-container {
  flex-wrap: wrap !important;
  align-items: center;
}

/* ロゴ：1行目で全幅使用 */
.site-header-logo {
  width: 100% !important;
  min-width: 0 !important;
  flex-shrink: 1 !important;
  margin-bottom: 0.5rem;
  text-align: left;
}

/* ロゴ画像：高さ指定・暗い背景で見えるように白反転 */
.site-header-logo img {
  max-height: 50px !important;
  height: 50px !important;
  width: auto !important;
  max-width: none !important;
  margin-left: 0 !important;
  filter: brightness(0) invert(1);
}

/* ナビ：2行目で全幅使用 */
#global-nav {
  width: 100% !important;
  margin-top: 0 !important;
}

/* ==========================================================
   ナビゲーション
   ========================================================== */

.global-nav-list > li > a {
  letter-spacing: 0.06em;
}

/* ==========================================================
   ウィジェット
   ========================================================== */

.widget {
  line-height: 1.9;
}

.widget-title,
.widgettitle {
  letter-spacing: 0.06em;
}

/* ==========================================================
   フッター
   ========================================================== */

.site-footer {
  line-height: 1.9;
  letter-spacing: 0.04em;
}

/* ==========================================================
   レスポンシブ
   ========================================================== */

/* タブレット（〜1023px） */
@media screen and (max-width: 1023px) {
  :root {
    --vk-size-text: 16px;
  }
  body {
    line-height: 1.95;
  }
}

/* スマートフォン（〜767px） */
@media screen and (max-width: 767px) {
  :root {
    --vk-size-text: 15px;
  }
  .site-header-logo img {
    max-height: 40px !important;
    height: 40px !important;
    width: auto !important;
    max-width: none !important;
  }
  body {
    line-height: 1.9;
  }
  .entry-content p,
  .entry-body p {
    margin-bottom: 1.8em;
  }
  .entry-content h2,
  .entry-body h2 {
    font-size: 1.3em;
    margin-top: 2.2em;
  }
  .entry-content h3,
  .entry-body h3 {
    font-size: 1.15em;
  }

  /* ltg-slideスライダー：Swiperが固定する高さをautoにリセットして
     画像が縦向きスマホでも自然な比率で全体表示されるようにする */
  .ltg-slide .swiper-wrapper,
  .ltg-slide .swiper-slide {
    height: auto !important;
  }
  .ltg-slide-item-img {
    width: 100% !important;
    height: auto !important;
    display: block !important;
  }
}

/* ==========================================================
   フロントページ：Lightningスライダーを非表示（kwn-heroで代替）
   ========================================================== */
.home .ltg-slide,
.home .vk-slider {
  display: none !important;
}

/* フロントページ全体の背景をダークに */
.home .site-content,
.home #page {
  background: #ffffff;
}

/* フロントページのLightningデフォルト余白をリセット */
.home .l-main {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

/* ==========================================================
   全ページ共通：ダークテーマ
   ========================================================== */

/* ヘッダー */
#site-header,
#site-header-container,
.l-header {
  background: #08122e !important;
  border-bottom: 1px solid rgba(201,168,76,.18) !important;
}
.site-header-logo a,
.site-name a { color: #fff !important; }
.global-nav-list > li > a { color: #e2e8f0 !important; }
.global-nav-list > li > a:hover,
.global-nav-list > li.current-menu-item > a { color: #ffffff !important; }

/* ハンバーガー */
.vk-mobile-nav-menu-btn span { background: #e2e8f0 !important; }

/* ページ全体背景 */
body,
#page,
.site,
.l-main,
.site-content { background: #ffffff !important; }

/* コンテンツエリア */
.entry-content,
.entry-body,
.l-content,
.l-primary { background: transparent !important; }

/* テキスト */
.entry-content,
.entry-body,
.entry-content p,
.entry-body p { color: #334155 !important; }
.entry-content h1, .entry-content h2,
.entry-content h3, .entry-content h4,
.entry-body h1, .entry-body h2,
.entry-body h3, .entry-body h4,
h1.entry-title, .entry-title { color: #1a1a1a !important; }

/* 料金案内：白背景セクション内のテキストは暗い色に戻す */
.price-section h2,
.price-section h3 { color: #1a1a1a !important; }
.price-section p,
.price-section .price-note { color: #444 !important; }

/* 料金案内：セルのはみ出し防止 */
.price-table td.label,
.price-table td.price { white-space: normal !important; }

/* パンくず */
.vk-breadcrumb,
.breadcrumb { background: #f0f5fa !important; color: #64748b !important; }
.vk-breadcrumb a,
.breadcrumb a { color: #2461a0 !important; }

/* フッター */
.site-footer,
#site-footer { background: #08122e !important; color: #94a3b8 !important;
  border-top: 1px solid rgba(255,255,255,.1) !important; }
.site-footer a { color: #ffffff !important; }
.site-footer-copyright p:last-child { display: none !important; }

/* サイドバー */
.l-sidebar,
.widget { background: transparent !important; color: #334155 !important; }

/* ==========================================================
   kwn カスタムページ強制上書き
   （上の .entry-content h2{color:#fff!important} に勝つため
     クラス2個で詳細度を上げる）
   ========================================================== */

/* h2見出し - 白背景セクション */
.entry-content h2.kwn-h,
h2.kwn-h {
  color: #1a1a1a !important;
  background: transparent !important;
  border-top: none !important;
  border-bottom: none !important;
}

/* プロフィール本文・引用 */
.entry-content p.kwn-prof-text,
p.kwn-prof-text,
.kwn-prof-text {
  color: #334155 !important;
}
.kwn-prof-quote {
  color: #334155 !important;
}
.kwn-prof-name {
  color: #1a1a1a !important;
  background: transparent !important;
}
.kwn-prof-role {
  color: #2461a0 !important;
}

/* お悩みセクション */
.kwn-pain-title {
  color: #1a1a1a !important;
  background: transparent !important;
}
.kwn-pain-en {
  color: #4b5563 !important;
}

/* FAQ */
.kwn-faq-q {
  color: #1a1a1a !important;
  background: transparent !important;
}
.kwn-faq-a {
  color: #334155 !important;
}

/* 料金 */
.kwn-price-name {
  color: #1a1a1a !important;
  background: transparent !important;
}
.kwn-price-amt {
  color: #1a1a1a !important;
  background: transparent !important;
}
.kwn-price-unit {
  color: #4b5563 !important;
}

/* Whyカード・サービスカード */
.kwn-why-card {
  color: #1a1a1a !important;
}
.kwn-why-card p {
  color: #4b5563 !important;
}
.kwn-svc-card strong {
  color: #1a1a1a !important;
  background: transparent !important;
}
.kwn-svc-card p {
  color: #4b5563 !important;
}


/* ==========================================================
   kwn-hero / kwn-cta：暗背景なので文字を白に固定
   ========================================================== */
.kwn-hero-title {
  color: #ffffff !important;
}
.kwn-hero-en,
.kwn-hero-ja {
  color: rgba(255,255,255,0.88) !important;
}
.kwn-hero-badge {
  color: #a8c7f0 !important;
  border-color: rgba(168,199,240,0.6) !important;
}
.kwn-cta-h {
  color: #ffffff !important;
}
.kwn-cta-sub {
  color: rgba(255,255,255,0.80) !important;
}
