/*
Theme Name: Lightning Child
Theme URI: 
Template: lightning
Description: 
Author: 
Tags: 
Version: 0.6.0
*/

/* ===== Google Fonts ===== */
@import
url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;700;900&family=Plus+Jakarta+Sans:wght@600;700&display=swap');

/* ===== カラー変数 ===== */
:root {
--color-charcoal:  #1f1f1f;
--color-mint:      #00c896;
--color-mint-dark: #00a87e;
--color-cream:     #fafaf5;
--color-white:     #ffffff;
--color-gray-light:#f0f0ea;
--color-text:      #000000;
--color-text-sub:  #666660;
}

/* ===== ベース ===== */
body {
background-color: var(--color-cream);
color: var(--color-text);
font-family: 'Noto Sans JP', sans-serif;
font-size: 16px;
line-height: 1.8;
}

/* ===== ヘッダー ===== */
.site-header,
#site-header {
background-color: var(--color-charcoal) !important;
border-bottom: 2px solid var(--color-mint);
}
.site-header a,
#site-header a {
color: var(--color-white) !important;
}

/* ===== ナビゲーション ===== */
.global-nav a,
.navbar-nav a {
color: var(--color-white) !important;
font-weight: 700;
font-size: 0.9rem;
letter-spacing: 0.05em;
}

.global-nav a:hover {
color: var(--color-mint) !important;
}
/* ===== 見出し ===== */
h1, h2, h3, h4 {
font-family: 'Noto Sans JP', sans-serif;
font-weight: 900;
color: var(--color-text);
line-height: 1.3;
}

/* 英字見出し（クラスを付与して使う） */
.en-heading {
font-family: 'Plus Jakarta Sans', sans-serif;
}

/* ===== ボタン ===== */
.btn-primary,
.vk_button .btn,
.wp-block-button__link {
background-color: var(--color-mint) !important;
border-color: var(--color-mint) !important;
color: var(--color-charcoal) !important;
font-weight: 700;
border-radius: 4px;
padding: 14px 32px;
transition: background-color 0.2s, transform 0.1s;
}

.btn-primary:hover,
.vk_button .btn:hover,
.wp-block-button__link:hover {
background-color: var(--color-mint-dark) !important;
border-color: var(--color-mint-dark) !important;
transform: translateY(-1px);
}

																		/* ===== セクション区切り ===== */
.section-dark {
background-color: var(--color-charcoal);
color: var(--color-white);
}

.section-dark h2,
.section-dark h3 {
color: var(--color-white);
}

.section-mint {
background-color: var(--color-mint);
color: var(--color-charcoal);
}

/* ===== フッター ===== */
.site-footer,
#site-footer {
background-color: var(--color-charcoal) !important;
color: var(--color-gray-light) !important;
border-top: 2px solid var(--color-mint);
}

.site-footer a {
color: var(--color-mint) !important;
}
.site-footer h4 {
color:var(--color-white) !important;
}
/* ===== リンク ===== */
a {
color: var(--color-mint-dark);
}

a:hover {
color: var(--color-mint);
}

/* ===== ヒーローセクション ===== */
.hero-label {
color: var(--color-mint);
font-size: 0.85rem;
font-weight: 700;
letter-spacing: 0.15em;
text-transform: uppercase;
}

.wp-block-cover h1 {
color: var(--color-white);
font-size: clamp(2rem, 5vw, 3.5rem);
font-weight: 900;
line-height: 1.25;
}

.wp-block-cover p {
color: rgba(255,255,255,0.75);
font-size: 1.05rem;
max-width: 560px;
margin: 1.5rem auto 2rem;
}

/* ===== サービスカード ===== */
.service-card {
  background: var(--color-cream);
  border-top: 3px solid var(--color-mint);
  border-radius: 4px;
  padding: 2rem 1.5rem;
  text-align: center;
}

.service-card h3 {
  font-size: 1.2rem;
  margin-bottom: 1rem;
  color: var(--color-charcoal);
}
/* ===== セクション見出し ===== */
.wp-block-heading.section-title {
  text-align: center !important;
  font-size: clamp(1.5rem, 3vw, 2rem) !important;                                                                                
  color: var(--color-cream) !important;   /* ← これを追加 */
  margin-bottom: 0.75rem;
  padding-bottom: 1rem;
  position: relative;
}

.wp-block-heading.section-title::after {
  content: '';
  display: block;
  width: 40px;
  height: 3px;
  background: var(--color-mint);
  margin: 0.5rem auto 0;
}
/* ===== Contact Form 7 ===== */
.cf7-field {
  margin-bottom: 1.25rem;
}

.cf7-field label {
  display: block;
  font-weight: 700;
  margin-bottom: 0.4rem;
  color: var(--color-cream);
  font-size: 0.9rem;
}

.wpcf7-form input[type="text"],
.wpcf7-form input[type="email"],
.wpcf7-form textarea {
  width: 100%;
  padding: 0.75rem 1rem;
  background: rgba(255,255,255,0.05);
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 4px;
  color: var(--color-cream);
  font-size: 1rem;
  transition: border-color 0.2s;
}

.wpcf7-form input:focus,
.wpcf7-form textarea:focus {
  outline: none;
  border-color: var(--color-mint);
}

.wpcf7-form input[type="submit"] {
  background: var(--color-mint);
  color: var(--color-charcoal);
  border: none;
  padding: 0.875rem 2.5rem;
  font-weight: 700;
  font-size: 1rem;
  border-radius: 4px;
  cursor: pointer;
  transition: background-color 0.2s;
}

.wpcf7-form input[type="submit"]:hover {
  background: var(--color-mint-dark);
}

.required {
  color: var(--color-mint);
  margin-left: 0.25rem;
}

body.blog,
body.blog .site,
body.blog main,
body.blog .blog-list-page {
  background: #ffffff;
    color: #111111;
}
