@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;
}

/* ==========================================================
   ヘッダーロゴ・ナビ：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;
}

/* ナビ：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;
  }
}
