/*
 * 全ページ共通のデザイン（トップページと各ページ）
 * 固定したモノクロの建築写真の上に、黒・白の面と赤のアクセントを重ねる
 */
:root {
  --accent: #B3191F;        /* 赤（ボタン・線・グラフ） */
  --accent-on-dark: #EF5350; /* 黒い面の上の赤い文字 */
  --panel-dark: rgba(12, 12, 12, 0.8);
  --panel-light: rgba(250, 250, 250, 0.88);
  --card-dark: rgba(26, 26, 26, 0.85);
  --text-on-dark: #F2F2F2;
  --muted-on-dark: #B3B3B3;
  --line-on-dark: rgba(255, 255, 255, 0.14);
  --text: #333333;
  --heading: #111111;
  --line: #DDDDDD;
}

.kp {
  margin: 0;
  position: relative;
  font-family: 'Noto Sans JP', sans-serif;
  color: var(--text-on-dark);
  background: #111111;
  line-height: 1.8;
}
.kp a { text-decoration: none; }
.kp img { max-width: 100%; }
.kp h1, .kp h2, .kp h3, .kp p, .kp ul { margin: 0; }

/* 背景: パソコンは横長の写真、スマホは同じ写真を回転して縦に使う */
.kp-bg-wide, .kp-bg-tall, .kp-bg-overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 0;
}
.kp-bg-wide { display: block; height: min(100vh, 62.5vw); object-fit: cover; object-position: center; }
.kp-bg-tall { display: none; height: min(100vh, 216vw); overflow: hidden; }
.kp-bg-tall img {
  position: absolute;
  top: 50%;
  left: 50%;
  width: min(100vh, 216vw);
  height: 100vw;
  max-width: none;
  object-fit: cover;
  transform: translate(-50%, -50%) rotate(90deg) scaleX(-1);
}
.kp-bg-overlay { height: 100vh; background: rgba(10, 10, 10, 0.4); }
@media (max-width: 767px) {
  .kp-bg-wide { display: none; }
  .kp-bg-tall { display: block; }
}

.kp-page { position: relative; z-index: 1; }
.kp-inner { max-width: 1200px; margin: 0 auto; padding: 88px 24px; display: flex; flex-direction: column; gap: 40px; }
.kp-spacer { height: 96px; }

/* ヘッダー */
.kp-header { background: rgba(10, 10, 10, 0.88); border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.kp-header-inner { max-width: 1200px; margin: 0 auto; padding: 14px 24px; display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 12px 24px; }
.kp-logo { font-family: 'Orbitron', sans-serif; font-size: 24px; font-weight: 600; color: #FFFFFF; letter-spacing: 0.04em; }
.kp-nav { display: flex; flex-wrap: wrap; align-items: center; gap: 8px 28px; font-size: 15px; font-weight: 500; }
.kp-nav a { color: var(--text-on-dark); }
.kp-nav a:hover, .kp-nav a[aria-current="page"] { color: #FFFFFF; text-decoration: underline; text-decoration-color: var(--accent); text-decoration-thickness: 2px; text-underline-offset: 6px; }
.kp-nav a.kp-btn { text-decoration: none; }

/* スマホのメニュー（767px 以下で横並びのメニューと入れ替える） */
.kp-menu { display: none; }
.kp-menu summary { display: inline-flex; align-items: center; min-height: 44px; padding: 0 16px; border: 1px solid rgba(255, 255, 255, 0.4); border-radius: 2px; color: #FFFFFF; font-size: 14px; font-weight: 700; cursor: pointer; list-style: none; }
.kp-menu summary::-webkit-details-marker { display: none; }
.kp-menu[open] summary { background: rgba(255, 255, 255, 0.1); }
.kp-menu nav { position: absolute; left: 0; right: 0; top: 100%; z-index: 10; padding: 8px 24px 24px; background: rgba(10, 10, 10, 0.97); border-bottom: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; }
.kp-menu nav a { display: flex; align-items: center; min-height: 48px; color: #F2F2F2; border-bottom: 1px solid rgba(255, 255, 255, 0.08); }
.kp-menu nav a[aria-current="page"] { color: #FFFFFF; font-weight: 700; }
.kp-menu nav a.kp-btn { margin-top: 16px; justify-content: center; border-bottom: 0; }
.kp-header { position: relative; }
@media (max-width: 767px) {
  .kp-nav { display: none; }
  .kp-menu { display: block; }
}

/* ボタン */
.kp-btn { display: inline-flex; align-items: center; justify-content: center; min-height: 44px; padding: 0 20px; border-radius: 2px; font-weight: 700; }
.kp-btn-red { background: var(--accent); color: #FFFFFF !important; letter-spacing: 0.04em; }
.kp-btn-red:hover { background: #8E1418; text-decoration: none !important; }
.kp-btn-outline { border: 1px solid #FFFFFF; color: #FFFFFF; }
.kp-btn-outline:hover { background: rgba(255, 255, 255, 0.1); }
.kp-btn-large { min-height: 64px; padding: 8px 28px; font-size: 16px; }
.kp-btn-tel { flex-direction: column; line-height: 1.4; }
.kp-btn-tel small { font-size: 13px; font-weight: 400; }
.kp-btn-tel strong { font-size: 24px; letter-spacing: 0.04em; }

/* ファーストビュー */
.kp-hero .kp-inner { padding: 120px 24px 96px; }
.kp-hero-text { display: flex; flex-direction: column; gap: 20px; max-width: 760px; }
.kp-eyebrow { display: flex; align-items: center; gap: 12px; font-size: 15px; font-weight: 700; color: #FFFFFF; letter-spacing: 0.12em; }
.kp-eyebrow::before { content: ""; display: inline-block; width: 40px; height: 3px; background: var(--accent); }
.kp-hero h1 { font-size: clamp(34px, 5.2vw, 64px); font-weight: 900; line-height: 1.3; color: #FFFFFF; letter-spacing: 0.02em; }
.kp-hero-lead { font-size: 17px; color: #E6E6E6; }
.kp-actions { display: flex; flex-wrap: wrap; gap: 12px; }

/* 強みの数字 */
.kp-kpis { display: flex; flex-wrap: wrap; gap: 1px; background: var(--line-on-dark); border: 1px solid var(--line-on-dark); }
.kp-kpi { flex: 1 1 240px; padding: 24px 28px; background: rgba(12, 12, 12, 0.82); display: flex; flex-direction: column; gap: 2px; }
.kp-kpi-label { font-size: 13px; color: var(--muted-on-dark); }
.kp-kpi-value { font-size: 44px; font-weight: 900; line-height: 1.2; color: #FFFFFF; }
.kp-kpi-value small { font-size: 18px; font-weight: 700; margin: 0 4px; }
.kp-kpi::after { content: ""; display: block; width: 32px; height: 3px; margin-top: 8px; background: var(--accent); }

/* セクション */
.kp-section-dark { background: var(--panel-dark); }
.kp-section-light { background: var(--panel-light); color: var(--text); }
.kp-section-head { display: flex; flex-wrap: wrap; align-items: flex-end; justify-content: space-between; gap: 16px; }
.kp-label { font-family: 'Orbitron', sans-serif; font-size: 13px; color: var(--accent-on-dark); letter-spacing: 0.16em; }
.kp-section-light .kp-label { color: var(--accent); }
.kp-section-head h2 { font-size: 32px; font-weight: 700; line-height: 1.4; color: #FFFFFF; }
.kp-section-light .kp-section-head h2 { color: var(--heading); }
.kp-more { display: inline-flex; align-items: center; min-height: 44px; font-size: 15px; font-weight: 700; color: var(--accent-on-dark); }
.kp-section-light .kp-more { color: var(--accent); }
.kp-more:hover { text-decoration: underline; }

/* 選ばれる理由 */
.kp-cards { display: flex; flex-wrap: wrap; gap: 24px; }
.kp-reason { flex: 1 1 300px; min-width: 0; background: var(--card-dark); border: 1px solid rgba(255, 255, 255, 0.1); display: flex; flex-direction: column; color: var(--text-on-dark); }
.kp-reason:hover { border-color: rgba(255, 255, 255, 0.3); }
.kp-reason img { display: block; width: 100%; height: 190px; object-fit: cover; }
.kp-reason-body { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.kp-reason-no { font-family: 'Orbitron', sans-serif; font-size: 13px; color: var(--accent-on-dark); }
.kp-reason h3 { font-size: 19px; line-height: 1.5; color: #FFFFFF; }
.kp-reason p { font-size: 15px; color: #CCCCCC; }

/* サービス */
.kp-services { display: flex; flex-wrap: wrap; gap: 20px; }
.kp-service { flex: 1 1 340px; min-width: 0; display: flex; gap: 20px; padding: 18px; background: rgba(255, 255, 255, 0.92); border: 1px solid var(--line); color: var(--text); }
.kp-service:hover { border-color: var(--accent); }
.kp-service img { flex: 0 0 112px; width: 112px; height: 112px; object-fit: cover; }
.kp-service-body { min-width: 0; display: flex; flex-direction: column; gap: 6px; }
.kp-service h3 { font-size: 17px; line-height: 1.5; color: var(--heading); }
.kp-service p { font-size: 14px; line-height: 1.7; }
.kp-service-link { font-size: 14px; font-weight: 700; color: var(--accent); }

/* 実績全国マップ */
.kp-map-total { display: flex; flex-direction: column; align-items: flex-end; gap: 2px; }
.kp-map-total strong { font-size: 40px; font-weight: 900; line-height: 1.2; color: #FFFFFF; }
.kp-map-total strong small { font-size: 16px; font-weight: 700; margin: 0 6px; }
.kp-map-total span { font-size: 12px; color: var(--muted-on-dark); }
.kp-map { display: flex; flex-wrap: wrap; align-items: center; gap: 40px; }
.kp-map-image { flex: 1 1 380px; min-width: 0; display: flex; justify-content: center; }
.kp-map-image img { display: block; width: 100%; max-width: 460px; height: auto; }
.kp-regions { flex: 1 1 560px; min-width: 0; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.kp-region { padding: 16px 18px; background: var(--card-dark); border-left: 3px solid var(--accent); display: flex; flex-direction: column; gap: 6px; }
.kp-region-head { display: flex; align-items: baseline; justify-content: space-between; gap: 8px; }
.kp-region-name { font-size: 15px; font-weight: 700; color: #FFFFFF; }
.kp-region-total { font-size: 22px; font-weight: 900; color: #FFFFFF; }
.kp-region-total small { font-size: 12px; font-weight: 500; }
.kp-region p { font-size: 12px; line-height: 1.7; color: var(--muted-on-dark); }
@media (max-width: 480px) {
  .kp-regions { grid-template-columns: repeat(1, minmax(0, 1fr)); }
  .kp-map-total { align-items: flex-start; }
}

/* 業務実績 */
.kp-works { display: flex; flex-wrap: wrap; gap: 32px; }
.kp-usage { flex: 1 1 480px; min-width: 0; padding: 32px; background: rgba(255, 255, 255, 0.92); border: 1px solid var(--line); display: flex; flex-direction: column; gap: 14px; }
.kp-usage-head { display: flex; flex-wrap: wrap; align-items: baseline; justify-content: space-between; gap: 8px; }
.kp-usage-head h3 { font-size: 18px; color: var(--heading); }
.kp-usage-head span { font-size: 12px; color: #666666; }
.kp-bar { display: flex; align-items: center; gap: 12px; font-size: 14px; }
.kp-bar-name { flex: 0 0 112px; }
.kp-bar-track { flex: 1 1 auto; height: 8px; background: #EEEEEE; }
.kp-bar-fill { display: block; height: 8px; background: #333333; }
.kp-bar:nth-of-type(-n+3) .kp-bar-fill { background: var(--accent); }
.kp-bar-count { flex: 0 0 56px; text-align: right; font-weight: 700; color: var(--heading); }
.kp-feature { flex: 1 1 380px; min-width: 0; background: #111111; display: flex; flex-direction: column; color: #FFFFFF; }
.kp-feature img { display: block; width: 100%; height: 240px; object-fit: cover; }
.kp-feature-body { padding: 28px; display: flex; flex-direction: column; gap: 12px; }
.kp-feature-label { display: flex; align-items: center; gap: 10px; font-size: 13px; font-weight: 700; letter-spacing: 0.08em; }
.kp-feature-label::before { content: ""; display: inline-block; width: 24px; height: 3px; background: var(--accent); }
.kp-feature h3 { font-size: 26px; font-weight: 900; line-height: 1.4; }
.kp-feature p { font-size: 14px; color: #CCCCCC; }
.kp-feature-specs { display: flex; flex-wrap: wrap; gap: 8px 24px; font-size: 14px; }

/* お知らせ */
.kp-news { padding: 0; list-style: none; border-top: 1px solid rgba(255, 255, 255, 0.16); }
.kp-news li { border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
.kp-news a { display: flex; flex-wrap: wrap; align-items: baseline; gap: 4px 32px; padding: 22px 4px; color: var(--text-on-dark); }
.kp-news a:hover .kp-news-title { text-decoration: underline; }
.kp-news-date { flex: 0 0 120px; font-size: 14px; color: var(--muted-on-dark); }
.kp-news-title { flex: 1 1 320px; min-width: 0; font-size: 16px; font-weight: 700; color: #FFFFFF; }
.kp-news-arrow { font-size: 14px; color: var(--accent-on-dark); }

/* お問い合わせ */
.kp-contact { background: var(--accent); color: #FFFFFF; }
.kp-contact .kp-inner { padding: 64px 24px; flex-direction: row; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 32px; }
.kp-contact-text { flex: 1 1 420px; min-width: 0; display: flex; flex-direction: column; gap: 10px; }
.kp-contact h2 { font-size: 28px; font-weight: 900; line-height: 1.4; }
.kp-contact p { font-size: 15px; }
.kp-contact .kp-btn-tel { background: #111111; color: #FFFFFF; }
.kp-contact .kp-btn-tel:hover { background: #000000; }

/* フッター */
.kp-footer { background: #0A0A0A; color: #CCCCCC; }
.kp-footer .kp-inner { padding: 56px 24px 32px; gap: 40px; }
.kp-footer-row { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 32px 48px; }
.kp-footer-company { display: flex; flex-direction: column; gap: 8px; font-size: 14px; }
.kp-footer-company a { color: #FFFFFF; }
.kp-footer-links { display: flex; flex-wrap: wrap; gap: 32px 56px; }
.kp-footer-links nav { display: flex; flex-direction: column; gap: 6px; font-size: 14px; }
.kp-footer-links a { color: #CCCCCC; }
.kp-footer-links a:hover { color: #FFFFFF; text-decoration: underline; }
.kp-footer-heading { font-size: 13px; font-weight: 700; color: #FFFFFF; letter-spacing: 0.08em; }
.kp-copyright { font-size: 12px; color: #999999; }


/* ===== 下層ページの部品 ===== */

/* ページの見出し（写真の上に直接のせる） */
.kp-page-hero .kp-inner { padding: 88px 24px 64px; gap: 16px; }
.kp-page-hero h1 { font-size: clamp(30px, 4.4vw, 48px); font-weight: 900; line-height: 1.3; color: #FFFFFF; }
.kp-page-lead { max-width: 760px; font-size: 16px; color: #E6E6E6; }
.kp-breadcrumb { display: flex; flex-wrap: wrap; gap: 8px; padding: 0; list-style: none; font-size: 13px; color: var(--muted-on-dark); }
.kp-breadcrumb li + li::before { content: "/"; margin-right: 8px; color: #777777; }
.kp-breadcrumb a { color: var(--muted-on-dark); }
.kp-breadcrumb a:hover { color: #FFFFFF; text-decoration: underline; }

/* 本文 */
.kp-prose { display: flex; flex-direction: column; gap: 16px; font-size: 16px; }
.kp-prose h3 { font-size: 20px; line-height: 1.5; color: #FFFFFF; padding-left: 14px; border-left: 3px solid var(--accent); }
.kp-section-light .kp-prose h3 { color: var(--heading); }
.kp-prose ul, .kp-prose ol { padding-left: 1.4em; display: flex; flex-direction: column; gap: 4px; }
.kp-prose a { color: var(--accent-on-dark); text-decoration: underline; }
.kp-section-light .kp-prose a { color: var(--accent); }
.kp-note { font-size: 13px; color: var(--muted-on-dark); }
.kp-section-light .kp-note { color: #666666; }

/* 写真と文章の横並び（狭い画面では縦に積む） */
.kp-split { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px; }
.kp-split-media { flex: 1 1 360px; min-width: 0; }
.kp-split-media img { display: block; width: 100%; height: auto; }
.kp-split-body { flex: 1 1 480px; min-width: 0; }
.kp-signature { font-size: 18px; font-weight: 700; text-align: right; }

/* 定義の表（会社概要など） */
.kp-dl { margin: 0; border-top: 1px solid var(--line); }
.kp-dl div { display: flex; flex-wrap: wrap; gap: 4px 24px; padding: 16px 4px; border-bottom: 1px solid var(--line); }
.kp-dl dt { flex: 0 0 140px; font-weight: 700; color: var(--heading); }
.kp-dl dd { flex: 1 1 320px; min-width: 0; margin: 0; }
.kp-section-dark .kp-dl, .kp-section-dark .kp-dl div { border-color: var(--line-on-dark); }
.kp-section-dark .kp-dl dt { color: #FFFFFF; }

/* 沿革 */
.kp-timeline { padding: 0; list-style: none; border-left: 2px solid var(--line-on-dark); margin-left: 6px; }
.kp-timeline li { position: relative; display: flex; flex-wrap: wrap; gap: 4px 24px; padding: 0 0 24px 28px; }
.kp-timeline li::before { content: ""; position: absolute; left: -7px; top: 9px; width: 12px; height: 12px; border-radius: 50%; background: var(--accent); }
.kp-timeline-year { flex: 0 0 80px; font-family: 'Orbitron', sans-serif; font-size: 15px; color: #FFFFFF; }
.kp-timeline-text { flex: 1 1 280px; min-width: 0; }
.kp-section-light .kp-timeline { border-color: var(--line); }
.kp-section-light .kp-timeline-year { color: var(--heading); }

/* カード（白い面用。黒い面は .kp-reason を使う） */
.kp-card { flex: 1 1 300px; min-width: 0; background: rgba(255, 255, 255, 0.92); border: 1px solid var(--line); display: flex; flex-direction: column; color: var(--text); }
a.kp-card:hover { border-color: var(--accent); }
.kp-card img { display: block; width: 100%; height: 200px; object-fit: cover; }
.kp-card-body { padding: 24px; display: flex; flex-direction: column; gap: 10px; }
.kp-card h3 { font-size: 18px; line-height: 1.5; color: var(--heading); }
.kp-card p { font-size: 15px; }

/* 本文＋右側のサービス一覧（サービスの各ページ） */
.kp-with-side { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 40px; }
.kp-with-side-main { flex: 999 1 560px; min-width: 0; display: flex; flex-direction: column; gap: 40px; }
.kp-side { flex: 1 1 260px; min-width: 0; background: var(--card-dark); border: 1px solid rgba(255, 255, 255, 0.1); }
.kp-side-title { padding: 16px 20px; font-size: 14px; font-weight: 700; color: #FFFFFF; border-bottom: 1px solid rgba(255, 255, 255, 0.1); }
.kp-side nav { display: flex; flex-direction: column; }
.kp-side nav a { display: flex; align-items: center; min-height: 48px; padding: 0 20px; font-size: 14px; color: #E6E6E6; border-bottom: 1px solid rgba(255, 255, 255, 0.06); }
.kp-side nav a:hover { background: rgba(255, 255, 255, 0.06); color: #FFFFFF; }
.kp-side nav a[aria-current="page"] { color: #FFFFFF; font-weight: 700; box-shadow: inset 3px 0 0 var(--accent); }

/* 手順（流れ） */
.kp-steps { margin: 0; padding: 0; list-style: none; display: flex; flex-direction: column; gap: 12px; counter-reset: kp-step; }
.kp-steps li { counter-increment: kp-step; display: flex; gap: 16px; align-items: flex-start; padding: 16px 20px; background: var(--card-dark); border: 1px solid rgba(255, 255, 255, 0.1); }
.kp-steps li::before { content: counter(kp-step, decimal-leading-zero); flex: 0 0 auto; font-family: 'Orbitron', sans-serif; font-size: 14px; color: var(--accent-on-dark); line-height: 1.9; }
.kp-section-light .kp-steps li { background: rgba(255, 255, 255, 0.92); border-color: var(--line); }
.kp-section-light .kp-steps li::before { color: var(--accent); }

/* 表（横に長い表はこの箱の中で横スクロール） */
.kp-table-wrap { overflow-x: auto; }
.kp-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.kp-table th, .kp-table td { padding: 12px 14px; text-align: left; border-bottom: 1px solid var(--line-on-dark); white-space: nowrap; }
.kp-table th { font-weight: 700; color: #FFFFFF; background: rgba(255, 255, 255, 0.06); }
.kp-section-light .kp-table th, .kp-section-light .kp-table td { border-color: var(--line); }
.kp-section-light .kp-table th { color: var(--heading); background: #F2F2F2; }

/* お問い合わせフォーム */
.kp-form { display: flex; flex-direction: column; gap: 20px; max-width: 720px; }
.kp-field { display: flex; flex-direction: column; gap: 6px; }
.kp-field > label, .kp-field legend { font-size: 15px; font-weight: 700; color: var(--heading); padding: 0; }
.kp-field fieldset { border: 0; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 6px; }
.kp-required { margin-left: 8px; padding: 1px 6px; font-size: 11px; color: #FFFFFF; background: var(--accent); border-radius: 2px; vertical-align: middle; }
.kp-input, .kp-select, .kp-textarea { width: 100%; box-sizing: border-box; min-height: 48px; padding: 10px 14px; font: inherit; font-size: 16px; color: var(--heading); background: #FFFFFF; border: 1px solid #BBBBBB; border-radius: 2px; }
.kp-textarea { min-height: 180px; resize: vertical; }
.kp-input:focus, .kp-select:focus, .kp-textarea:focus { outline: 2px solid var(--accent); outline-offset: 1px; border-color: var(--accent); }
.kp-choices { display: flex; flex-wrap: wrap; gap: 8px 24px; }
.kp-choices label { display: inline-flex; align-items: center; gap: 8px; min-height: 44px; font-size: 15px; }
.kp-form-actions { display: flex; flex-wrap: wrap; gap: 12px; padding-top: 8px; }
.kp-btn-dark-outline { border: 1px solid var(--heading); color: var(--heading); background: transparent; font: inherit; font-weight: 700; cursor: pointer; }
button.kp-btn-red { border: 0; font: inherit; font-weight: 700; cursor: pointer; }
.kp-error { padding: 12px 16px; border-left: 3px solid var(--accent); background: rgba(179, 25, 31, 0.08); color: var(--heading); }

/* 見出し・紹介文と数字の横並び（会社概要の冒頭） */
.kp-about { display: flex; flex-wrap: wrap; align-items: center; gap: 40px 64px; }
.kp-about-text { flex: 1 1 520px; min-width: 0; display: flex; flex-direction: column; gap: 20px; }
.kp-about-text h2 { font-size: clamp(26px, 3vw, 34px); font-weight: 900; line-height: 1.45; color: #FFFFFF; }
.kp-about-text p:not(.kp-label) { font-size: 16px; color: #E6E6E6; }
.kp-stats { flex: 1 1 360px; max-width: 440px; min-width: 0; margin: 0; border-top: 1px solid rgba(255, 255, 255, 0.16); }
.kp-stats::after { content: ""; display: block; width: 48px; height: 3px; margin-top: 20px; background: var(--accent); }
.kp-stat { display: flex; align-items: baseline; justify-content: space-between; gap: 16px; padding: 22px 0; border-bottom: 1px solid rgba(255, 255, 255, 0.16); }
.kp-stat dt { font-size: 14px; color: var(--muted-on-dark); }
.kp-stat dd { margin: 0; font-size: 48px; font-weight: 900; line-height: 1; color: #FFFFFF; text-align: right; }
.kp-stat dd small { font-size: 18px; font-weight: 700; margin-left: 4px; }
.kp-stat dd.kp-stat-text { font-size: 30px; line-height: 1.2; }
@media (max-width: 900px) {
  .kp-stats { max-width: none; }
}
