/*
Theme Name: Lightning Child
Theme URI:
Template: lightning
Description: 株式会社 河本電気 公式サイト用カスタマイズ
Author:
Tags:
Version: 0.6.0
*/

:root {
  --kw-navy: #0b2742;
  --kw-navy-2: #123d63;
  --kw-blue: #1670b8;
  --kw-accent: #f2b134;
  --kw-ink: #17212b;
  --kw-muted: #66727f;
  --kw-line: #dfe5eb;
  --kw-soft: #f4f7fa;
  --kw-white: #ffffff;
  --kw-radius: 12px;
  --kw-shadow: 0 14px 40px rgba(11,39,66,.09);
}

body {
  color: var(--kw-ink);
  font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif;
  line-height: 1.8;
  letter-spacing: .02em;
}

a { transition: color .2s ease, opacity .2s ease, background-color .2s ease, border-color .2s ease; }

.site-header {
  border-top: 4px solid var(--kw-accent);
  box-shadow: 0 1px 0 rgba(11,39,66,.08);
  background: rgba(255,255,255,.98);
}

.site-header-logo a {
  color: var(--kw-navy);
  text-decoration: none;
  font-weight: 800;
  letter-spacing: .04em;
}

.global-nav-list > li > a {
  color: var(--kw-navy);
  padding-left: 15px;
  padding-right: 15px;
}

.global-nav-list > li > a:hover,
.global-nav-list > li.current-menu-item > a {
  color: var(--kw-blue);
}

.global-nav-list > li:last-child > a {
  background: var(--kw-navy);
  color: #fff;
  border-radius: 8px;
  margin-left: 8px;
  padding-left: 18px;
  padding-right: 18px;
}

.global-nav-list > li:last-child > a:hover {
  background: var(--kw-blue);
  color: #fff;
}

.page-header {
  background: linear-gradient(135deg, var(--kw-navy), var(--kw-navy-2));
  color: #fff;
  padding: 44px 0;
}

.page-header-title {
  font-weight: 800;
  letter-spacing: .05em;
}

.home .page-header { display: none; }
.home .breadcrumb { display: none; }
.page:not(.home) .entry-body > h1:first-child { display: none; }
body.page .sub-section { display: none !important; }
body.page .main-section { width: 100% !important; max-width: 100% !important; float: none !important; }

.site-body { padding-top: 0; }

.main-section {
  padding-top: 52px;
  padding-bottom: 72px;
}

.entry-body h2,
.main-section h2 {
  color: var(--kw-navy);
  font-weight: 800;
  margin-top: 2.2em;
  margin-bottom: .9em;
}

.entry-body h2::after {
  content: "";
  display: block;
  width: 48px;
  height: 3px;
  background: var(--kw-accent);
  margin-top: 10px;
}

.entry-body h3 {
  color: var(--kw-navy);
  font-weight: 700;
}

.wp-block-button__link {
  border-radius: 8px;
  background: var(--kw-blue);
  font-weight: 700;
  padding: .85em 1.55em;
  box-shadow: 0 8px 22px rgba(22,112,184,.18);
}

.wp-block-button__link:hover {
  background: var(--kw-navy);
  opacity: 1;
}

.wp-block-button.is-style-outline .wp-block-button__link {
  color: var(--kw-navy);
  border: 2px solid var(--kw-navy);
  background: transparent;
  box-shadow: none;
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
  color: #fff;
  background: var(--kw-navy);
}

.kw-hero {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at 78% 16%, rgba(242,177,52,.22), transparent 27%),
    linear-gradient(135deg, #071c30 0%, #0b2742 54%, #124c75 100%);
  color: #fff;
}

.kw-hero::after {
  content: "";
  position: absolute;
  right: -100px;
  bottom: -160px;
  width: 440px;
  height: 440px;
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 50%;
  box-shadow: 0 0 0 70px rgba(255,255,255,.035), 0 0 0 140px rgba(255,255,255,.02);
}

.kw-hero > * { position: relative; z-index: 1; }

.kw-eyebrow {
  display: inline-block;
  color: #ffe1a1;
  font-size: .82rem;
  font-weight: 800;
  letter-spacing: .15em;
  text-transform: uppercase;
  margin-bottom: 14px;
}

.kw-hero h1 {
  color: #fff;
  font-size: clamp(2.1rem, 5vw, 4rem);
  line-height: 1.25;
  letter-spacing: .04em;
  margin-bottom: 24px;
}

.kw-hero p { color: rgba(255,255,255,.9); }

.kw-hero .wp-block-button__link {
  background: var(--kw-accent);
  color: #15202a;
  box-shadow: none;
}

.kw-hero .wp-block-button__link:hover { background: #ffc85c; color: #15202a; }
.kw-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #fff; border-color: rgba(255,255,255,.7); }
.kw-hero .wp-block-button.is-style-outline .wp-block-button__link:hover { background: #fff; color: var(--kw-navy); }

.kw-stats {
  margin-top: -34px;
  position: relative;
  z-index: 3;
}

.kw-stat-card {
  background: #fff;
  border: 1px solid var(--kw-line);
  border-radius: var(--kw-radius);
  box-shadow: var(--kw-shadow);
  padding: 28px 20px;
  height: 100%;
}

.kw-stat-card strong {
  display: block;
  color: var(--kw-blue);
  font-size: 1.75rem;
  line-height: 1.2;
  margin-bottom: 7px;
}

.kw-feature-card {
  background: #fff;
  border: 1px solid var(--kw-line);
  border-radius: var(--kw-radius);
  box-shadow: 0 10px 30px rgba(11,39,66,.06);
  padding: 30px;
  height: 100%;
}

.kw-feature-card h3 { margin-top: 0; }

.kw-section-soft {
  background: var(--kw-soft);
}

.wp-block-table table {
  border-collapse: separate;
  border-spacing: 0;
  border: 1px solid var(--kw-line);
  border-radius: 10px;
  overflow: hidden;
}

.wp-block-table th,
.wp-block-table td {
  border: 0;
  border-bottom: 1px solid var(--kw-line);
  padding: 14px 16px;
  vertical-align: top;
}

.wp-block-table th {
  width: 28%;
  background: var(--kw-soft);
  color: var(--kw-navy);
  font-weight: 700;
}

.wp-block-table tr:last-child th,
.wp-block-table tr:last-child td { border-bottom: 0; }

.wpcf7 {
  background: var(--kw-soft);
  border: 1px solid var(--kw-line);
  border-radius: var(--kw-radius);
  padding: 28px;
  margin-top: 22px;
}

.wpcf7 label { font-weight: 700; color: var(--kw-navy); }

.wpcf7 input[type="text"],
.wpcf7 input[type="email"],
.wpcf7 input[type="tel"],
.wpcf7 select,
.wpcf7 textarea {
  width: 100%;
  margin-top: 7px;
  padding: 12px 13px;
  border: 1px solid #cfd8e2;
  border-radius: 7px;
  background: #fff;
  color: var(--kw-ink);
}

.wpcf7 input[type="submit"] {
  border: 0;
  border-radius: 8px;
  background: var(--kw-blue);
  color: #fff;
  font-weight: 700;
  padding: 13px 34px;
  cursor: pointer;
}

.wpcf7 input[type="submit"]:hover { background: var(--kw-navy); }

.site-footer { background: #071c30; color: rgba(255,255,255,.8); }
.site-footer a { color: rgba(255,255,255,.88); }
.site-footer a:hover { color: #fff; }
.site-footer-copyright p:nth-child(2) { display: none; }
.site-footer-copyright { padding-top: 22px; padding-bottom: 22px; }

@media (max-width: 991px) {
  .global-nav-list > li:last-child > a { margin-left: 0; border-radius: 0; background: transparent; color: var(--kw-navy); }
  .kw-stats { margin-top: 24px; }
  .main-section { padding-top: 36px; }
}

@media (max-width: 767px) {
  .kw-hero { padding-top: 64px !important; padding-bottom: 64px !important; }
  .kw-hero h1 { font-size: 2.2rem; }
  .kw-feature-card, .kw-stat-card { padding: 24px 20px; }
  .wp-block-table th { width: 34%; }
  .wpcf7 { padding: 20px; }
}
