@charset "UTF-8";
/* CSS Document */
@import url('https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700;900&family=PT+Sans+Narrow&display=swap');


:root{
  /* ============================================
     Typography System
     ここだけ変えれば全体の文字サイズが連動
     ============================================ */
  --fz-base: 18px;
  --fz-ratio-h1: 3;
  --fz-ratio-hero-sub: 2.2;
  --fz-ratio-h2: 1.95;
  --fz-ratio-h3: 1.35;
  --fz-ratio-body-sm: 0.92;
  --fz-ratio-body-xs: 0.82;
  --fz-ratio-note: 0.74;
  --fz-ratio-label: 0.88;
  --fz-ratio-label-xs: 0.72;
  --fz-ratio-btn: 1.05;
  --fz-ratio-btn-sm: 0.95;
  --fz-ratio-counter-label: 1.12;

  --fz-body: var(--fz-base);
  --fz-body-sm: calc(var(--fz-base) * var(--fz-ratio-body-sm));
  --fz-body-xs: calc(var(--fz-base) * var(--fz-ratio-body-xs));
  --fz-note: calc(var(--fz-base) * var(--fz-ratio-note));
  --fz-label: calc(var(--fz-base) * var(--fz-ratio-label));
  --fz-label-xs: calc(var(--fz-base) * var(--fz-ratio-label-xs));
  --fz-btn: calc(var(--fz-base) * var(--fz-ratio-btn));
  --fz-btn-sm: calc(var(--fz-base) * var(--fz-ratio-btn-sm));
  --fz-sec-eyebrow: calc(var(--fz-base) * 0.78);
  --fz-counter-label: calc(var(--fz-base) * var(--fz-ratio-counter-label));

  --lh-body: 1.9;
  --lh-copy: 1.8;
  --lh-tight: 1.45;
}

/* ============================================
   Typography Utility
   ============================================ */
.text-body{font-size:var(--fz-body);line-height:var(--lh-body);color:#374151;}
.text-body-sm{font-size:var(--fz-body-sm);line-height:1.8;color:#475569;}
.text-body-xs{font-size:var(--fz-body-xs);line-height:1.75;color:#64748b;}
.text-note{font-size:var(--fz-note);line-height:1.7;color:#6b7280;}
.text-label{font-size:var(--fz-label);line-height:1.6;font-weight:700;}
.text-label-xs{font-size:var(--fz-label-xs);line-height:1.6;font-weight:700;}
.heading-section{font-size:clamp(calc(var(--fz-base) * 1.55),4vw,calc(var(--fz-base) * 2.25));line-height:1.25;font-weight:900;letter-spacing:-0.04em;}
.heading-card{font-size:clamp(calc(var(--fz-base) * 1.05),2.5vw,calc(var(--fz-base) * 1.28));line-height:1.4;font-weight:700;}
.btn-text{font-size:var(--fz-btn);font-weight:700;line-height:1.4;}
.btn-text-sm{font-size:var(--fz-btn-sm);font-weight:700;line-height:1.4;}

/* ============================================
   Typography Master Control
   --fz-base を変えるだけで全体連動
   ============================================ */
p,
li,
dd,
dt,
blockquote,
figcaption,
input,
textarea,
select,
label,
td,
th,
.faq-answer-inner,
.gm-text,
.service-text,
.voice-text,
.why-card-text,
.subsidy-text,
.case-point,
.reason-text,
.flow-desc,
.hero-desc,
.results-sub,
.micro-cta-sub,
.reciprocity-sub,
.sim-desc,
.quiz-result-sub,
.tax-box .tax-desc,
.urgency-sub,
.step3-sub,
.lp-footer-desc,
.lp-footer-links a,
.lp-footer-copy,
.fv-note,
.gm-site-text,
.cta-badge-item,
.cost-note{
  font-size:var(--fz-body);
  line-height:var(--lh-body) !important;
}

small,
.text-note,
.sim-disclaimer,
.reason-note,
.voice-meta,
.case-card-meta,
.case-kpi-label,
.quiz-cta-sub,
.faq-safe,
.gm-site-badge,
.lp-header-cta,
.lp-sp-cta-btn,
.hero-badge,
.quiz-eyebrow,
.subsidy-tag,
.tax-badge,
.step3-badge,
.sim-result-hero-label,
.results-eyebrow,
.sec-eyebrow,
.fv-card-label,
.case-card-industry,
.micro-cta-eyebrow,
.fv-card-title,
.fv-note,
.cost-label span,
.sim-tax-title,
.sim-subsidy-title,
.sim-subsidy-item,
.sim-rec-label,
.sim-rec-note,
.sim-kpi-label,
.sim-kpi-note,
.sim-range-label,
.sim-unit,
.sim-type-name,
.sim-label-text,
.sim-input-label,
.tax-option-label,
.tax-option-desc,
.quiz-result-box-label,
.quiz-result-item,
.subsidy-tag,
.lp-tel,
.compare_table th,
.compare_table td,
.compare-table th,
.compare-table td{
  font-size:var(--fz-body-sm) !important;
}

h2,
.sec-head h2,
.results-title,
.cta-area-title,
.service-title,
.tax-box h3,
.quiz-result-title,
.why-conclusion p,
.step3-title,
.sim-h2{
  font-size:clamp(calc(var(--fz-base) * 1.5),4vw,calc(var(--fz-base) * var(--fz-ratio-h2))) !important;
  line-height:1.3 !important;
}

h3,
section h3:not(.flow-title):not(.reason-title):not(.case-card-name),
.reason-title,
.flow-title,
.case-card-name,
.subsidy-title,
.why-card-title,
.quiz-q,
.micro-cta-title,
.reciprocity-title,
.faq-q-text,
.gm-name-bar,
.urgency-title,
.hero-cap,
.hero-sub,
.results-title + .results-sub,
.fv-card-title{
  font-size:clamp(calc(var(--fz-base) * 1.08),2.6vw,calc(var(--fz-base) * var(--fz-ratio-h3))) !important;
  line-height:1.45 !important;
}

button,
.btn-primary,
.btn-outline,
.micro-cta-btn,
.reciprocity-btn,
.quiz-cta-btn,
.sim-calc-btn,
.sim-cta-link,
.lp-header-cta,
.lp-sp-cta-btn,
.sp-fixed-cta a,
.hero-cta{
  font-size:var(--fz-btn) !important;
  line-height:1.4 !important;
}

.hero-h1{
  font-size:clamp(calc(var(--fz-base) * 2.1),6.2vw,calc(var(--fz-base) * var(--fz-ratio-h1))) !important;
}

.hero-sub{
  font-size:clamp(calc(var(--fz-base) * 1.6),4.8vw,calc(var(--fz-base) * var(--fz-ratio-hero-sub))) !important;
}



/* ============================================
   RESET & WordPress競合完全除去
   ============================================ */
*{box-sizing:border-box;margin:0;padding:0;}
html{scroll-behavior:smooth;overflow-x:hidden;margin-top:0!important;padding-top:0!important;}
body{
  font-family:'Noto Sans JP',sans-serif;
  color:#1e293b;line-height:1.7;
  overflow-x:hidden;background:#ffffff;
  padding:0!important;margin:0!important;
}
img{max-width:100%;height:auto;display:block;}
a{text-decoration:none;transition:all .2s;}

/* WP要素を完全非表示 */
#wpadminbar,header.site-header,footer:not(.lp-footer),.footer-fixed,
#secondary,.side_container {display:none!important;}
html.wp-toolbar,html.wp-toolbar body{margin-top:0!important;padding-top:0!important;}

/* WPラッパー幅制限を全解除 */
#all,#wrapper,#content,#primary,.main_container,.ind_box1,
.entry-content,.site-content,article{
  width:100%!important;max-width:none!important;
  padding:0!important;margin:0!important;
  float:none!important;background:transparent!important;
  border:none!important;box-shadow:none!important;
}

/* ============================================
   Typography リセット（soelc_main.css競合解消）
   ============================================ */
h1,h2,h3,h4,h5,h6{
  font-family:'Noto Sans JP',sans-serif;
  font-weight:700;
  line-height:1.3;
  letter-spacing:-0.03em;
  color:inherit;
  background:none!important;
  background-image:none!important;
  border:none!important;
  padding:0!important;
}
p{font-size:var(--fz-body);line-height:var(--lh-body);color:#374151;}
ul,ol{list-style:none;}

/* ============================================
   Container & Layout
   ============================================ */
.container{
  width:100%;
  max-width:1280px!important;
  margin:0 auto;
  padding:0 24px;
  }

.section-pad{padding:80px 0;}
.section-pad-sm{padding:48px 0;}


/* ============================================
   共通パーツ ★ 視認性強化
   ============================================ */
.sec-head{text-align:center;margin-bottom:56px;position:relative;overflow:hidden;padding-top:8px;}
.sec-head h2{
  font-size:clamp(26px,4vw,40px);font-weight:900;margin-bottom:12px;
  position:relative;z-index:1;color:#0f2540;
  letter-spacing:-0.04em;line-height:1.25;
}
.sec-eyebrow{
  font-size:var(--fz-sec-eyebrow);font-weight:700;letter-spacing:.18em;color:#f59e0b;
  text-transform:uppercase;display:block;margin-bottom:10px;
}
.sec-head .grad-line{
  display:block;width:56px;height:4px;
  background:linear-gradient(90deg,#f59e0b,#fbbf24);
  border-radius:2px;margin:14px auto 0;
}
.top_txt{
  font-family:'PT Sans Narrow',sans-serif;font-size:clamp(60px,12vw,160px);
  line-height:1;color:rgba(0,0,0,.04);position:absolute;top:-1rem;
  left:0;right:0;text-align:center;z-index:0;overflow:hidden;
  pointer-events:none;white-space:nowrap;font-weight:700;
}
strong{font-weight:700;color:#0f2540;}

/* 背景バリエーション */
.bg-white{background:#ffffff!important;}
.bg-light{background:#f8fafc!important;}
.bg-blue-light{background:#eff6ff!important;}
.bg-amber-light{background:#fffbeb!important;}
.bg-dark{background:linear-gradient(135deg,#0f2540,#1e3a5f)!important;}
.bg-dark-gray{background:#111827!important;}

/* CTAボタン共通 */
.btn-primary{
  display:inline-flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#fff!important;font-weight:700;font-size:var(--fz-btn);
  padding:17px 32px;border-radius:50px;
  box-shadow:0 4px 20px rgba(245,158,11,.4);
  transition:all .25s;cursor:pointer;border:none;font-family:inherit;
  position:relative;
  width: 500px;
}
.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 28px rgba(245,158,11,.5);}
.btn-primary .meyasu{
  position:absolute;top:-18px;left:50%;transform:translateX(-50%);
  background:#fff;color:#333;font-weight:700;
  padding:3px 14px;border-radius:50px;white-space:nowrap;
  box-shadow:0 2px 8px rgba(0,0,0,.1);
}
.btn-outline{
  display:inline-flex;align-items:center;gap:8px;
  border:2px solid #f59e0b;color:#92400e;font-weight:700;font-size:var(--fz-label);
  padding:12px 24px;border-radius:50px;background:#fffbeb;transition:all .2s;
}
.btn-outline:hover{background:#f59e0b;color:#fff;}

/* highlight */
.highlight-number{font-size:2.8rem;color:#0066CC;line-height:1;font-weight:900;}
.highlight-number2{
  font-size:2.8rem;
  color:#60a5fa;
  line-height:1.6;
  font-weight:900;
}
.text-amber{color:#d97706;}
.text-blue{color:#0066CC;}

/* SP utility */
.sp-only{display:none!important;}
.pc-only{display:block;}

.zentei{text-shadow:2px 3px 6px rgba(0,0,0,.4);}

/* ============================================
   ヘッダー
   ============================================ */
.lp-header{
  background:#fff;
  border-bottom:2px solid #f59e0b;
  box-shadow:0 2px 20px rgba(0,0,0,.08);
  position: fixed;
  top: 0;
  z-index: 9999;
  transform: translateY(0);
  transition: transform 0.3s ease, box-shadow 0.3s ease;
  width: 100%;
}
/* PCのみ適用 */
@media (min-width: 1024px) {
  .lp-header.is-fixed {
    position: fixed;
    top: 0;
    left: 0;
  }

  /* 表示 */
  .lp-header.is-fixed.is-visible {
    transform: translateY(0);
    box-shadow: 0 4px 12px rgba(0,0,0,0.08);
  }

  /* 非表示（上に隠れる） */
  .lp-header.is-fixed:not(.is-visible) {
    transform: translateY(-100%);
  }
}

.lp-header-inner{
  max-width:1280px;
  margin:0 auto;
  padding:0 24px;
  height:64px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}
.lp-logo img{
  height:auto;
  width: 140px;
}
.headermenu {
  
}
.headermenu ul {
  display: flex;
  align-items: center;
  gap: 2px;
  list-style: none;
  margin: 0;
  padding: 0;
}
.headermenu ul li {
  margin-right: 1rem;
}
.headermenu ul li a {
  display: inline-block;
  white-space: nowrap;
}
.headermenu ul li a:hover {
  background: #fef3c7;
  color: #92400e !important;
}
.lp-header-right{display:flex;align-items:center;gap:16px;}
.lp-tel{
  display:flex;
  align-items:center;
  gap:6px;
  color:#0f2540;
  font-weight:700;
  font-size:var(--fz-body);
  display: none;
}
.lp-tel i{color:#f59e0b;}
.lp-tel:hover{color:#d97706;}
.lp-header-cta{
  display:inline-flex;align-items:center;gap:6px;
  background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#fff!important;font-size:13px;font-weight:700;
  padding:10px 18px;border-radius:8px;
  box-shadow:0 3px 12px rgba(245,158,11,.4);transition:all .2s;
}
.lp-header-cta:hover{transform:translateY(-1px);box-shadow:0 5px 20px rgba(245,158,11,.5);}

/* SPヘッダー */
.lp-sp-header{
  display:none;background:#fff;border-bottom:2px solid #f59e0b;
  position:sticky;top:0;z-index:1000;padding:10px 16px;
  align-items:center;justify-content:space-between;
}
.lp-sp-cta-btn{
  display:inline-flex;align-items:center;gap:4px;
  background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#fff!important;font-size:11px;font-weight:700;
  padding:7px 12px;border-radius:6px;
}


/* ============================================
   ヒーローセクション
   ============================================ */
.hero-bg{
  background:
    linear-gradient(135deg,rgba(10,28,56,.74),rgba(0,0,0,.56)),
    url('../../images/fv_bg.jpg') center/cover no-repeat;
  min-height:680px;display:flex;align-items:center;padding:92px 0 84px;
}
.hero-grid{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:48px;
  align-items:center;
}
.hero-copy{
  max-width:620px;
}
.hero-badge{
  display:inline-block;background:#2dd4bf;color:#fff;
  font-size:var(--fz-body-sm);font-weight:800;padding:9px 18px;border-radius:6px;
  margin-bottom:24px;letter-spacing:.02em;box-shadow:0 6px 20px rgba(45,212,191,.18);
}
.hero-h1{
  font-size:clamp(42px,6.2vw,76px);font-weight:900;color:#fff;
  line-height:1.03;margin-bottom:16px;text-shadow:0 3px 18px rgba(0,0,0,.56);
}
.hero-line{display:block;}
.hero-sub{
  font-size:clamp(34px,4.8vw,54px);font-weight:900;color:#fbbf24;
  line-height:1.08;margin-bottom:12px;
  text-shadow:0 2px 12px rgba(0,0,0,.5);
  letter-spacing:-0.03em;
}
.hero-cap{
  font-size:clamp(18px,2.15vw,26px);font-weight:700;color:#f1f5f9;
  margin-bottom:24px;line-height:1.45;
}
.hero-desc{font-size:var(--fz-body-sm);color:rgba(255,255,255,.84);line-height:1.85;margin-bottom:28px;}
.ppa-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(255,255,255,.15);border:1px solid rgba(255,255,255,.4);
  border-radius:50px;padding:9px 18px;
  font-size:18px;color:#fff;
  backdrop-filter:blur(6px);margin-bottom:24px;
}
.ppa-badge .yen{
  color:#fbbf24;
  font-weight:900;
  font-size:30px;
}
.cta-badges{
  display:flex;
  background:rgba(255,255,255,.12);
  border-radius:14px;
  padding:16px 0;
  backdrop-filter:blur(6px);
  max-width:500px;
  border:1px solid rgba(255,255,255,.18);
  margin-bottom:24px;
}
.cta-badge-item{
  flex:1;
  display:flex;
  flex-direction:column;
  align-items:center;
  padding:0 10px;
  font-size:18px;
  color:rgba(255,255,255,.92);
  text-align:center;
  line-height:1.45;
  font-weight:500;
}
.cta-badge-item:not(:last-child){border-right:1px solid rgba(255,255,255,.25);}
.cta-badge-item img{width:32px;margin-bottom:6px;}
.hero-cta{
  font-size:20px!important;
  padding:22px 40px!important;
  min-width:500px;
  border-radius:999px!important;
  box-shadow:0 10px 32px rgba(245,158,11,.42)!important;
}
.hero-cta .meyasu{
  top:-16px;
  font-size:12px;
  padding:4px 14px;
}

.conditions li {
  font-size: 16px;
}


/* ★ CTAボタン用ラッパー */
.btn-wrap{display:flex;justify-content:center;width:100%;}
.btn-wrap-left{display:flex;justify-content:flex-start;width:100%;}

/* シミュレカード（FV右）*/
.fv-card{
  
}
.fv-card-label{display:inline-block;background:#eff6ff;color:#3b82f6;font-size:11px;font-weight:700;padding:3px 10px;border-radius:50px;margin-bottom:8px;}
.fv-card-title{font-size:14px;font-weight:700;color:#0f2540;margin-bottom:10px;}
.fv-card img{border-radius:10px;width:100%;margin-bottom:12px;}
.fv-kpi-box{
  background:#fffbeb;
  border:1px solid #fde68a;
  border-radius:10px;
  padding:12px;
  text-align:center;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}
.fv-kpi-num{font-size:clamp(24px,4vw,36px);font-weight:900;color:#d97706;}
.fv-note{font-size:11px;color:#94a3b8;margin-top:8px;}

@media(max-width:450px){
  .fv-card_sp {
    overflow: hidden;
    width: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    
  }
  .fv-card_sp img {
    width: 127%;
    max-width: inherit;
    height: auto;
  }
}

/* ============================================
   アンカリングバー
   ============================================ */
.cost-flow-section{
  padding: 34px 0;
  background: linear-gradient(180deg, #0a2348 0%, #091d3b 100%);
  border-top: 1px solid rgba(255,255,255,0.06);
  border-bottom: 1px solid rgba(255,255,255,0.06);
}

.cost-flow-grid{
  display: grid;
  grid-template-columns: 1fr 40px 1fr 40px 1fr 40px 1fr;
  align-items: center;
  gap: 18px;
}

.cost-step{
  background: rgba(255,255,255,0.03);
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 18px;
  padding: 22px 0;
  text-align: center;
  min-height: 148px;
}

.cost-step--highlight{
  background: linear-gradient(180deg, rgba(251,191,36,0.10) 0%, rgba(255,255,255,0.04) 100%);
  border: 1px solid rgba(251,191,36,0.35);
  box-shadow: 0 8px 24px rgba(0,0,0,0.18);
}

.cost-label{
  margin: 0 0 10px;
  line-height: 1.5;
  font-weight: 700;
  color: rgba(255,255,255,0.72);
}

.cost-label span{
  font-size: var(--fz-note);
  color: rgba(255,255,255,0.55);
}

.cost-price{
  margin: 0;
  font-size: 54px;
  line-height: 1.05;
  font-weight: 800;
  color: #ffffff;
  letter-spacing: -0.03em;
}
.cost-price span {
  font-size: 35px;
  display: inline-block;
}

.cost-step--highlight .cost-price{
  color: #fbbf24;
}

.cost-price.is-strike{
  color: rgba(255,255,255,0.62);
  text-decoration: line-through;
  text-decoration-thickness: 3px;
  text-decoration-color: rgba(255,255,255,0.3);
}

.cost-note{
  margin: 8px 0 0;
  font-size: var(--fz-body-xs);
  line-height: 1.5;
  color: rgba(255,255,255,0.58);
}

.cost-arrow{
  text-align: center;
  font-size: 34px;
  font-weight: 800;
  color: #fbbf24;
}


/* ============================================
   シミュレーター
   ============================================ */
.sim-wrap{
  background:linear-gradient(135deg,#0f2540,#1e3a5f);
  border-radius:20px;padding:44px 40px;
  box-shadow:0 12px 48px rgba(15,37,64,.3);
  max-width:860px;margin:0 auto;
}

.sim-label-text{font-weight:700;letter-spacing:.1em;color:#fbbf24;text-transform:uppercase;margin-bottom:6px;display:block;}
.sim-h2{font-size:clamp(20px,3.5vw,30px);font-weight:900;color:#fff;margin-bottom:4px;}
.sim-desc{font-size:var(--fz-body-sm);color:rgba(255,255,255,.5);margin-bottom:28px;}
.sim-inputs{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:16px;}

.sim-input-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:18px 20px;}
.sim-input-label{
  display:flex;justify-content:space-between;align-items:baseline;
  font-weight:700;color:rgba(255,255,255,.72);
  letter-spacing:.06em;margin-bottom:12px;
}
.sim-val{font-size:24px;font-weight:900;color:#fbbf24;}
.sim-unit{color:rgba(255,255,255,.5);margin-left:2px;}
.sim-range-labels{display:flex;justify-content:space-between;margin-top:6px;}
.sim-range-label{color:rgba(255,255,255,.35);}
input[type=range]{width:100%;height:5px;-webkit-appearance:none;appearance:none;background:rgba(255,255,255,.15);border-radius:3px;outline:none;}
input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;width:22px;height:22px;background:#f59e0b;border-radius:50%;cursor:pointer;box-shadow:0 2px 8px rgba(245,158,11,.6);}
input[type=range]::-moz-range-thumb{width:22px;height:22px;background:#f59e0b;border-radius:50%;cursor:pointer;border:none;}
.sim-type-full{margin-bottom:20px;}
.sim-type-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:8px;}
.sim-type-btn{
  border:1.5px solid rgba(255,255,255,.15);border-radius:12px;
  padding:14px 10px;text-align:center;cursor:pointer;
  background:rgba(255,255,255,.04);transition:all .2s;
}
.sim-type-btn:hover{border-color:rgba(245,158,11,.5);background:rgba(245,158,11,.08);}
.sim-type-btn.active{border-color:#f59e0b;background:rgba(245,158,11,.15);}
.sim-type-icon{font-size:24px;display:block;margin-bottom:6px;}
.sim-type-name{font-weight:600;color:rgba(255,255,255,.6);line-height:1.4;}
.sim-type-btn.active .sim-type-name{color:#fbbf24;font-weight:700;}
.sim-calc-btn{
  width:100%;padding:18px;margin-top:4px;
  background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#fff;border:none;border-radius:14px;font-size:var(--fz-btn-sm);font-weight:900;
  cursor:pointer;font-family:inherit;letter-spacing:.04em;
  transition:all .2s;box-shadow:0 6px 24px rgba(245,158,11,.45);
}
.sim-calc-btn:hover{transform:translateY(-2px);box-shadow:0 8px 32px rgba(245,158,11,.55);}
/* 結果 */
.sim-result{display:none;margin-top:32px;}
.sim-result.show{display:block;animation:fadeUp .5s ease;}
@keyframes fadeUp{from{opacity:0;transform:translateY(20px);}to{opacity:1;transform:translateY(0);}}
.sim-result-hero{
  background:linear-gradient(135deg,#f59e0b,#fbbf24);
  border-radius:16px;padding:28px;text-align:center;margin-bottom:20px;
}
.sim-result-hero-label{font-size:var(--fz-label-xs);font-weight:700;letter-spacing:.1em;color:rgba(15,37,64,.6);margin-bottom:6px;text-transform:uppercase;}
.sim-result-hero-num{font-size:clamp(36px,6vw,52px);font-weight:900;color:#0f2540;line-height:1;}
.sim-result-hero-sub{font-size:var(--fz-label);color:rgba(15,37,64,.65);margin-top:6px;}
.sim-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px;}

.sim-kpi-card{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px;}
.sim-kpi-label{font-weight:700;color:rgba(255,255,255,.4);letter-spacing:.06em;margin-bottom:6px;text-transform:uppercase;}
.sim-kpi-val{font-size:clamp(20px,3vw,26px);font-weight:900;color:#fff;}
.sim-kpi-unit{color:rgba(255,255,255,.5);margin-left:2px;}
.sim-kpi-note{color:rgba(255,255,255,.35);margin-top:4px;}
/* 投資回収3列 */
.sim-rec-row{display:grid;grid-template-columns:1fr 1fr 1fr;gap:10px;margin-bottom:20px;}

.sim-rec-card{border-radius:12px;padding:16px 12px;text-align:center;}
.sim-rec-plain{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);}
.sim-rec-sub{background:rgba(245,158,11,.1);border:1px solid rgba(245,158,11,.25);}
.sim-rec-best{background:linear-gradient(135deg,#f59e0b,#fbbf24);position:relative;margin-top:12px;}
.sim-rec-best-badge{
  position:absolute;top:-12px;left:50%;transform:translateX(-50%);
  background:#0f2540;color:#fbbf24;font-size:10px;font-weight:700;
  padding:3px 12px;border-radius:20px;white-space:nowrap;letter-spacing:.04em;
}
.sim-rec-label{font-size:10px;font-weight:700;color:rgba(255,255,255,.45);letter-spacing:.04em;margin-bottom:8px;line-height:1.4;}
.sim-rec-best .sim-rec-label{color:rgba(15,37,64,.6);}
.sim-rec-num{font-size:clamp(22px,3.5vw,28px);font-weight:900;color:#fff;}
.sim-rec-sub-card .sim-rec-num{color:#fbbf24;}
.sim-rec-best .sim-rec-num{color:#0f2540;}
.sim-rec-unit{font-size:12px;font-weight:400;color:rgba(255,255,255,.5);}
.sim-rec-best .sim-rec-unit{color:rgba(15,37,64,.6);}
.sim-rec-note{font-size:10px;color:rgba(255,255,255,.35);margin-top:4px;}
.sim-rec-best .sim-rec-note{color:rgba(15,37,64,.55);}
/* 税制内訳 */
.sim-tax-box{background:rgba(245,158,11,.08);border:1px solid rgba(245,158,11,.25);border-radius:12px;padding:16px 20px;margin-bottom:16px;}
.sim-tax-title{font-size:12px;font-weight:700;color:#fbbf24;margin-bottom:12px;letter-spacing:.04em;}
.sim-tax-row{display:flex;justify-content:space-between;align-items:center;padding:6px 0;border-bottom:1px solid rgba(255,255,255,.07);font-size:13px;}
.sim-tax-row:last-child{border-bottom:none;}
.sim-tax-name{color:rgba(255,255,255,.65);}
.sim-tax-val{font-weight:700;color:#fff;}
.sim-tax-row.total{background:rgba(245,158,11,.15);margin:8px -12px -8px;padding:10px 12px;border-radius:0 0 10px 10px;}
.sim-tax-row.total .sim-tax-name{font-weight:700;color:#fff;font-size:14px;}
.sim-tax-row.total .sim-tax-val{color:#fbbf24;font-size:var(--fz-btn-sm);}
/* 補助金リスト */
.sim-subsidy-box{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:16px 20px;margin-bottom:16px;}
.sim-subsidy-title{font-size:12px;font-weight:700;color:rgba(255,255,255,.7);margin-bottom:10px;}
.sim-subsidy-item{font-size:12px;color:rgba(255,255,255,.6);padding:5px 0 5px 18px;position:relative;line-height:1.6;}
.sim-subsidy-item::before{content:'▶';font-size:8px;color:#f59e0b;position:absolute;left:0;top:7px;}
.sim-disclaimer{font-size:10px;color:rgba(255,255,255,.3);text-align:center;margin-bottom:16px;line-height:1.8;}
/* 返報性CTA */
.reciprocity-box{
  background:rgba(255,255,255,.06);border:2px solid rgba(245,158,11,.35);
  border-radius:16px;padding:24px;margin-bottom:20px;text-align:center;
}
.reciprocity-title{font-size:var(--fz-btn-sm);font-weight:700;color:#fbbf24;margin-bottom:8px;}
.reciprocity-sub{font-size:var(--fz-body-xs);color:rgba(255,255,255,.6);margin-bottom:16px;line-height:1.7;}
.reciprocity-btn{
  display:inline-flex;align-items:center;gap:8px;
  background:#fff;color:#0f2540;font-weight:700;font-size:var(--fz-btn-sm);
  padding:13px 20px;border-radius:50px;transition:all .2s;cursor:pointer;
  border:none;font-family:inherit;box-shadow:0 4px 16px rgba(255,255,255,.15);
}
.reciprocity-btn:hover{background:#fef3c7;transform:translateY(-2px);}
/* シミュレーターCTA */
.sim-cta-link{
  display:flex;align-items:center;justify-content:center;gap:10px;
  background:#fff;color:#0f2540;font-weight:700;font-size:var(--fz-btn);
  padding:18px 28px;border-radius:14px;
  transition:all .2s;box-shadow:0 4px 20px rgba(255,255,255,.12);
}
.sim-cta-link:hover{background:#fef3c7;transform:translateY(-2px);}
.sim-cta-link span{display:flex;flex-direction:column;}
.sim-cta-sub{color:rgba(15,37,64,.5);font-weight:400;margin-top:2px;}

/* ============================================
   マイクロCTA（段階的コミットメント）
   ============================================ */
.micro-cta-section{background:#fff;padding:24px 0;}
.micro-cta{
  background:linear-gradient(135deg,#fffbeb,#fef3c7);
  border:2px solid #f59e0b;border-radius:16px;
  padding:24px 32px;max-width:800px;margin:0 auto;
  display:flex;align-items:center;justify-content:space-between;gap:20px;
}

.micro-cta-eyebrow{font-weight:700;color:#92400e;letter-spacing:.1em;text-transform:uppercase;margin-bottom:5px;}
.micro-cta-title{font-size:clamp(19px,2.8vw,22px);font-weight:900;color:#0f2540;margin-bottom:4px;}
.micro-cta-sub{font-size:var(--fz-body-xs);color:#78350f;}
.micro-cta-btn{
  display:inline-flex;align-items:center;gap:8px;white-space:nowrap;flex-shrink:0;
  background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:700;font-size:var(--fz-btn-sm);
  padding:13px 24px;border-radius:50px;box-shadow:0 4px 16px rgba(245,158,11,.4);
  transition:all .2s;
}
.micro-cta-btn:hover{transform:translateY(-1px);box-shadow:0 6px 24px rgba(245,158,11,.5);}


/* ============================================
   補助金3分診断（クイズ）
   ============================================ */
.quiz-wrap{
  background:#fff;border-radius:24px;padding:40px;
  box-shadow:0 8px 48px rgba(0,0,0,.1);max-width:720px;margin:0 auto;
}

.quiz-progress{display:flex;gap:8px;margin-bottom:28px;}
.quiz-progress-dot{flex:1;height:5px;border-radius:3px;background:#e5e7eb;transition:background .35s;}
.quiz-progress-dot.done{background:linear-gradient(90deg,#f59e0b,#fbbf24);}
.quiz-step{display:none;}
.quiz-step.active{display:block;animation:fadeUp .3s ease;}
.quiz-eyebrow{display:inline-block;background:#0f2540;color:#fbbf24;font-size:11px;font-weight:700;padding:3px 12px;border-radius:50px;margin-bottom:12px;letter-spacing:.04em;}
.quiz-q{font-size:clamp(17px,3vw,20px);font-weight:700;color:#0f2540;margin-bottom:24px;line-height:1.5;}
.quiz-choices{display:grid;gap:12px;}
.quiz-choice{
  border:2px solid #e2e8f0;border-radius:14px;padding:16px 20px;
  cursor:pointer;transition:all .2s;background:#fff;
  font-size:var(--fz-body-sm);font-weight:500;color:#1e3a5f;
  text-align:left;font-family:inherit;
  display:flex;align-items:center;gap:12px;
  width:100%;
}
.quiz-choice:hover{border-color:#f59e0b;background:#fffbeb;transform:translateX(4px);}
.quiz-choice-icon{font-size:22px;flex-shrink:0;}
/* 結果 */
.quiz-result{display:none;text-align:center;}
.quiz-result.show{display:block;animation:fadeUp .4s ease;}
.quiz-result-emoji{font-size:52px;margin-bottom:12px;}
.quiz-result-title{font-size:clamp(20px,3vw,26px);font-weight:900;color:#0f2540;margin-bottom:10px;}
.quiz-result-sub{font-size:14px;color:#64748b;margin-bottom:24px;line-height:1.8;}
.quiz-result-box{background:#fffbeb;border:2px solid #f59e0b;border-radius:14px;padding:20px 24px;margin-bottom:24px;text-align:left;}
.quiz-result-box-label{font-size:11px;font-weight:700;color:#92400e;letter-spacing:.06em;margin-bottom:12px;display:block;}
.quiz-result-item{font-size:14px;color:#0f2540;padding:5px 0 5px 20px;position:relative;line-height:1.7;}
.quiz-result-item::before{content:'✓';color:#10b981;position:absolute;left:0;font-weight:900;}
 .quiz-cta-btn{
  display:flex;align-items:center;justify-content:center;gap:10px;width:100%;
  padding:18px 10px;background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#fff;border:none;border-radius:14px;font-size:var(--fz-btn-sm);font-weight:900;
  cursor:pointer;font-family:inherit;transition:all .2s;
  box-shadow:0 6px 24px rgba(245,158,11,.45);text-decoration:none;
}
.quiz-cta-btn:hover{transform:translateY(-2px);}
.quiz-cta-sub{font-size:11px;opacity:.7;font-weight:400;display:block;margin-top:3px;}

/* ============================================
   WHY NOW（電気代危機）
   ============================================ */
.why-alert{
  background:linear-gradient(135deg,#fef2f2,#fff1f2);
  border:2px solid #fca5a5;border-radius:16px;
  padding:24px 28px;margin-bottom:40px;text-align:center;
}
.why-alert-title{font-size:clamp(16px,2.5vw,20px);font-weight:700;color:#991b1b;margin-bottom:6px;}
.why-alert-sub{font-size:14px;color:#b91c1c;}
.why-card{
  background:#fff;border-radius:14px;padding:22px 24px;
  box-shadow:0 2px 16px rgba(0,0,0,.05);border:1px solid #e2e8f0;
  border-left:4px solid #0f2540;
}
.why-card-title{font-size:var(--fz-btn-sm);font-weight:700;color:#0f2540;margin-bottom:8px;display:flex;align-items:center;gap:8px;}
.why-card-text{font-size:14px;color:#475569;line-height:1.8;}
.why-conclusion{
  background:linear-gradient(135deg,#0f2540,#1e3a5f);
  border-radius:16px;padding:28px 32px;text-align:center;margin-top:40px;
}
.why-conclusion p{font-size:clamp(16px,2.5vw,26px);font-weight:700;color:#fff;line-height:1.7;}
.why-conclusion strong{color:#fbbf24;}

/* ============================================
   補助金セクション
   ============================================ */
.subsidy-case-card{
  background:#fff;border-radius:16px;padding:24px 28px;
  box-shadow:0 2px 20px rgba(0,0,0,.06);
  border-left:5px solid #f59e0b;margin-bottom:16px;
}
.subsidy-case-num{
  display:inline-flex;align-items:center;justify-content:center;
  width:30px;height:30px;background:linear-gradient(135deg,#f59e0b,#d97706);
  color:#fff;border-radius:50%;font-size:14px;font-weight:900;
  margin-right:10px;flex-shrink:0;
}
.subsidy-tag{
  display:inline-block;background:#e0f2fe;color:#0369a1;
  font-size:11px;font-weight:700;padding:3px 12px;border-radius:50px;margin-bottom:10px;
}
.subsidy-title{font-size:17px;font-weight:700;color:#0f2540;margin-bottom:8px;}
.subsidy-text{font-size:14px;color:#374151;line-height:1.85;}
.subsidy-text strong{color:#0f2540;font-weight:700;}
/* 税制優遇ボックス */
.tax-box{
  background:linear-gradient(135deg,#0f2540,#1e3550);
  border-radius:20px;padding:32px 36px;margin:32px 0;
}

.tax-badge{
  display:inline-flex;align-items:center;gap:8px;
  background:rgba(245,158,11,.2);border:1px solid rgba(245,158,11,.4);
  color:#fbbf24;padding:5px 14px;border-radius:50px;
  font-size:12px;font-weight:700;margin-bottom:16px;
}
.tax-box h3{font-size:clamp(18px,3vw,24px);font-weight:900;color:#fff;margin-bottom:8px;}
.tax-box .tax-desc{font-size:14px;color:rgba(255,255,255,.6);margin-bottom:24px;}
.tax-options{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-bottom:20px;}

.tax-option{background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.15);border-radius:14px;padding:20px;}
.tax-option-label{font-size:11px;font-weight:700;color:#fbbf24;letter-spacing:.06em;margin-bottom:8px;}
.tax-option-num{font-size:clamp(18px,3vw,22px);font-weight:900;color:#fff;margin-bottom:6px;}
.tax-option-num span{color:#fbbf24;}
.tax-option-desc{font-size:13px;color:rgba(255,255,255,.6);line-height:1.6;}
.tax-deadline{
  background:rgba(239,68,68,.15);border:1px solid rgba(239,68,68,.3);
  border-radius:12px;padding:14px 18px;
  display:flex;align-items:center;gap:12px;
}
.tax-deadline i{color:#f87171;font-size:18px;flex-shrink:0;}
.tax-deadline p{font-size:20px;font-weight:700;color:#fff;}
.tax-deadline span{color:#fbbf24;}
/* 注意点 */
.warn-box{background:#fff7ed;border:1.5px solid #fed7aa;border-radius:14px;padding:20px 24px;}
.warn-box-title{font-weight:700;color:#c2410c;margin-bottom:12px;}
.warn-item{display:flex;align-items:flex-start;gap:10px;padding:6px 0;font-size:20px;color:#7c2d12;}
.warn-item i{flex-shrink:0;margin-top:2px;}

/* ============================================
   導入事例
   ============================================ */
.case-card{
  background:#fff;border-radius:16px;overflow:hidden;
  box-shadow:0 4px 24px rgba(0,0,0,.08);
  transition:transform .25s,box-shadow .25s;
}
.case-card:hover{transform:translateY(-5px);box-shadow:0 12px 40px rgba(0,0,0,.13);}
.case-card-header{background:linear-gradient(135deg,#0f2540,#1e3a5f);padding:16px 20px;}
.case-card-industry{font-size:11px;font-weight:700;color:#2dd4bf;letter-spacing:.08em;margin-bottom:5px;}
.case-card-name{font-size:17px;font-weight:700;color:#fff;margin-bottom:2px;}
.case-card-meta{font-size:11px;color:rgba(255,255,255,.45);}
.case-card-body{padding:20px;}
.case-kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-bottom:14px;}
.case-kpi{background:#f8fafc;border-radius:10px;padding:12px;text-align:center;}
.case-kpi.gold{background:#fffbeb;border:1px solid #fde68a;}
.case-kpi-num{font-size:clamp(18px,2.5vw,24px);font-weight:900;color:#0f2540;line-height:1.1;}
.case-kpi.gold .case-kpi-num{color:#92400e;}
.case-kpi-label{font-size:10px;color:#94a3b8;margin-top:3px;}
.case-kpi.gold .case-kpi-label{color:#a16207;}
.case-point{font-size:14px;color:#374151;line-height:1.85;padding-left:14px;border-left:3px solid #f59e0b;}
.quote {
  color: #989898;
  font-size: 12px;
  display: inline-block;
  margin-top: 15px;
}

.voice-stars{color:#f59e0b;font-size:var(--fz-btn-sm);letter-spacing:3px;margin-bottom:12px;}
 .voice-text{font-size:var(--fz-body);color:#1e3a5f;line-height:1.9;margin-bottom:14px;}
.voice-meta{font-size:12px;color:#94a3b8;font-weight:600;padding-top:14px;border-top:1px solid #f1f5f9;}
.voice-card{background:#fff;border-radius:16px;padding:24px;box-shadow:0 4px 20px rgba(0,0,0,.06);border:1px solid #e2e8f0;}

/* 比較表 */
.compare_table{overflow-x:auto;}
.compare_table table{border-collapse:collapse;width:100%;min-width:480px;}
.compare_table th{background:#0f2540;color:#fff;font-weight:700;padding:14px;text-align:center;font-size:14px;}
.compare_table th.blank{background:transparent!important;border:none!important;}
.compare_table td{border:1px solid #e2e8f0;padding:14px;text-align:center;vertical-align:middle;}
.compare_table tr:nth-child(even) td{background:#f8fafc;}
.compare_table td.co-name{font-weight:700;color:#1d4ed8;background:#eff6ff!important;text-align:left;padding-left:16px;}

/* ============================================
   実績カウンター
   ============================================ */
.counter-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;max-width:900px;margin:0 auto;}

.counter-card{
  background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);
  border-radius:16px;padding:28px 16px;text-align:center;
}
.counter-num{font-size:clamp(28px,4vw,44px);font-weight:900;color:#fbbf24;line-height:1.1;}
.counter-plus{font-size:20px;color:rgba(255,255,255,.4);}
.counter-label{font-size:var(--fz-counter-label);color:rgba(255,255,255,.55);margin-top:10px;line-height:1.6;}

/* ============================================
   選ばれる理由
   ============================================ */
.reason-card{
  background:#fff;border-radius:16px;padding:32px 24px;
  box-shadow:0 4px 20px rgba(0,0,0,.07);text-align:center;
  transition:transform .25s,box-shadow .25s;
  border-top:4px solid transparent;
}
.reason-card:hover{transform:translateY(-5px);box-shadow:0 10px 32px rgba(0,0,0,.1);border-top-color:#f59e0b;}
.reason-img{width:120px;height:120px;display:flex;align-items:center;justify-content:center;margin:0 auto 16px;}
.reason-img img{max-width:100px;max-height:100px;object-fit:contain;}
.reason-title{font-size:20px;font-weight:700;color:#0f2540;margin-bottom:10px;}
.reason-text{
  color:#64748b;
  line-height:1.75;
}
.reason-note{font-size:11px;color:#94a3b8;margin-top:6px;}

/* ============================================
   サービス説明 ★ 白背景カードで可読性確保
   ============================================ */
#service-lp{
  background:url('../../images/service_bg.jpg') center/cover no-repeat;
  position:relative;}
#service-lp::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.88);z-index:0;}
#service-lp .container{position:relative;z-index:1;}
.service-title{
  font-size:clamp(20px,3vw,30px);
  font-weight:900;
  color:#0f2540;
  margin-bottom:20px;
  line-height:1.4;
}
.service-title span{color:#2563eb;}
 .service-text{font-size:var(--fz-body);line-height:1.9;color:#374151;}

/* ============================================
   ご利用の流れ ★ flow-numのoverflowを確保
   ============================================ */
.flow-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:24px;
  margin:0 auto;
}

.flow-card{
  background:#fff;border-radius:16px;
  padding:56px 16px 24px;/* ★ top paddingを増やしflow-numが収まるように */
  box-shadow:0 4px 20px rgba(0,0,0,.07);text-align:center;
  position:relative;
  border-top:3px solid #2dd4bf;
}
.flow-num{
  position:absolute;top:-22px;left:50%;transform:translateX(-50%);
  width:48px;height:48px;background:linear-gradient(135deg,#2dd4bf,#0f9488);
  color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:22px;font-weight:900;box-shadow:0 4px 14px rgba(45,212,191,.45);
  flex-shrink:0;
}
.flow-icon{width:56px;margin:0 auto 12px;}
.flow-icon img{width:100%;height:auto;}
.flow-title{font-size:var(--fz-btn-sm);font-weight:700;color:#0f2540;margin-bottom:6px;}
.flow-desc{
  color:#64748b;
  line-height:1.6;
}

/* ============================================
   おすすめ法人
   ============================================ */
.reco-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:16px;
  margin:0 auto;
}

.reco-card{
  background:#fff;
  border-radius:14px;
  padding: 40px 12px;
  box-shadow:0 4px 16px rgba(0,0,0,.06);
  text-align:center;
  transition:transform .2s;
}
.reco-card:hover{transform:translateY(-3px);}
.reco-icon{
  width:70px;
  height:70px;
  margin:0 auto 10px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.reco-icon img{
  width:70px;
  height:70px;
  object-fit:contain;
}
.reco-label{
  font-size: 24px;
  font-weight:700;
  color:#0f2540;
}

/* ============================================
   FAQ
   ============================================ */
.faq-item{background:#fff;border-radius:14px;margin-bottom:10px;overflow:hidden;box-shadow:0 2px 12px rgba(0,0,0,.05);}
.faq-question{
  padding:20px 24px;display:flex;justify-content:space-between;align-items:center;
  cursor:pointer;gap:12px;transition:background .2s;
}
.faq-question:hover{background:#f8fafc;}
.faq-q-text{font-size:var(--fz-btn-sm);font-weight:700;color:#0f2540;flex:1;line-height:1.5;}
.faq-safe{display:inline-block;background:#dcfce7;color:#166534;font-size:10px;font-weight:700;padding:2px 8px;border-radius:50px;margin-left:8px;vertical-align:middle;}
.faq-icon{color:#3b82f6;transition:transform .3s ease;flex-shrink:0;font-size:14px;}
.faq-item.active .faq-icon{transform:rotate(180deg);}
.faq-answer{max-height:0;overflow:hidden;transition:max-height .35s ease;}
.faq-item.active .faq-answer{max-height:500px;}
.faq-answer-inner{padding:4px 24px 22px;font-size:var(--fz-body-sm);color:#374151;line-height:1.85;}

/* ============================================
   統括責任者
   ============================================ */
.gm-profile{border-radius:20px;overflow:hidden;box-shadow:0 8px 40px rgba(0,0,0,.15);position:relative;}
.gm-profile>img:first-child{width:100%;height:auto;display:block;}
.gm-license{position:absolute!important;right:12px!important;bottom:72px!important;width:110px!important;height:auto!important;display:block!important;}
.gm-name-bar{position:absolute;bottom:0;left:0;right:0;background:#2dd4bf;color:#fff;font-size:18px;font-weight:700;text-align:center;padding:14px;}
.gm-text{color:#374151;line-height:1.9;margin-bottom:16px;}
.gm-cred-bar{
  background:#2563eb;
  color:#fff;
  font-size:20px;
  font-weight:700;
  padding:8px 16px;
  margin-bottom:16px;
}
.gm-sites{display:grid;grid-template-columns:1fr 1fr;gap:16px;}
.gm-site img{border-radius:10px;box-shadow:0 4px 16px rgba(0,0,0,.1);width:100%;margin-bottom:8px;}
.gm-site-badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 12px;border-radius:50px;margin-bottom:4px;}
.gm-site-badge.blue{background:#3b82f6;color:#fff;}
.gm-site-badge.amber{background:#f59e0b;color:#fff;}
.gm-site-text{
  color:#374151;
}
.gm-site-text strong{font-weight:700;}

/* ★ 統括責任者 - license.pngが顔に被る問題を修正 */
#gm-lp{background:url('../../images/gm_bg.jpg') center/cover no-repeat;position:relative;}
#gm-lp::before{content:'';position:absolute;inset:0;background:rgba(255,255,255,.88);z-index:0;}
#gm-lp .container{position:relative;z-index:1;}
.urgency-box{
  background:linear-gradient(135deg,#7f1d1d,#9b1c1c);
  border-radius:16px;padding:24px 28px;margin-bottom:32px;
  display:flex;align-items:center;gap:20px;
}

.urgency-icon{font-size:36px;flex-shrink:0;}
.urgency-title{font-size:clamp(15px,2.5vw,18px);font-weight:700;color:#fbbf24;margin-bottom:5px;}
.urgency-sub{font-size:13px;color:rgba(255,255,255,.75);line-height:1.7;}
.urgency-sub strong{color:#fbbf24;}
.step3-box{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.2);
  border-radius:14px;
  padding:20px 0;
  margin-bottom:32px;
  text-align:center;
}
.step3-badge{display:inline-block;background:rgba(245,158,11,.25);color:#fbbf24;font-size:11px;font-weight:700;padding:4px 14px;border-radius:50px;letter-spacing:.06em;margin-bottom:10px;}
.step3-title{font-size:18px;font-weight:700;color:#fff;margin-bottom:6px;}
.step3-sub{
  color:rgba(255,255,255,.65);
  line-height:1.7;
}

/* ============================================
   フォームセクション
   ============================================ */
.contact-iframe-wrap{
  background:#fff;
  border-radius:16px;
  box-shadow:0 8px 40px rgba(0,0,0,.1);
  padding:1.5rem;
  border:1px solid #e5e7eb;
  overflow:hidden;
}

/* ============================================
   CTA中間セクション ★ テキスト色を確保
   ============================================ */
.cta_area{
  background:url('../../images/cta_bg.jpg') no-repeat center/cover;
  padding:80px 0;
  position:relative;
}
.cta_area::before{content:'';position:absolute;inset:0;background:rgba(15,37,64,.55);z-index:0;}
.cta_area .container{position:relative;z-index:1;}
.cta_area .cta-area-title{color:#fff;}
.cta_area .highlight-number{color:#fbbf24;font-size:2.8rem;font-weight:900;line-height:1;}
.cta_area2{background:url('../../images/cta_area2_bg.jpg') no-repeat center/cover;padding:80px 0;position:relative;}
.cta_area2::before{content:'';position:absolute;inset:0;background:rgba(10,20,40,.65);z-index:0;}
.cta_area2 .container{position:relative;z-index:1;}
.cta-area-title{font-size:clamp(20px,3.5vw,34px);font-weight:900;color:#fff;text-align:center;margin-bottom:16px;line-height:1.5;}

/* ============================================
   LP専用フッター
   ============================================ */
.lp-footer{background:linear-gradient(180deg,#0f2540 0%,#060e1a 100%);color:#fff;padding:36px 16px;text-align:center;}
.lp-footer-logo img{height:32px;margin:0 auto 12px;}
.lp-footer-desc{color:rgba(255,255,255,.35);font-size:12px;margin-bottom:20px;}
.lp-footer-links{display:flex;justify-content:center;gap:24px;margin-bottom:20px;flex-wrap:wrap;}
.lp-footer-links a{color:rgba(255,255,255,.4);font-size:11px;}
.lp-footer-links a:hover{color:rgba(255,255,255,.8);}
.lp-footer-copy{color:rgba(255,255,255,.2);font-size:11px;}

/* ============================================
   RESULTS
   ============================================ */
.results-section{
  position: relative;
  padding: 88px 0;
  background:
    radial-gradient(circle at top center, rgba(59,130,246,0.10), transparent 35%),
    linear-gradient(180deg, #07152b 0%, #0a1d3f 52%, #07152b 100%);
  overflow: hidden;
}

.results-section::before{
  content:"";
  position:absolute;
  inset:0;
  background: linear-gradient(90deg, rgba(255,255,255,0.02), rgba(255,255,255,0));
  pointer-events:none;
}

.results-head{
  text-align:center;
  margin-bottom:40px;
}

.results-eyebrow{
  display:inline-block;
  margin:0 0 12px;
  color:#fbbf24;
  font-size:13px;
  font-weight:800;
  letter-spacing:.22em;
  text-transform:uppercase;
}

.results-title{
  margin:0;
  font-size:34px;
  line-height:1.3;
  font-weight:800;
  color:#ffffff;
}

.results-sub{
  margin:12px 0 0;
  font-size:var(--fz-body-sm);
  line-height:1.8;
  color:rgba(255,255,255,0.72);
}

.counter-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:22px;
  max-width:1100px;
  margin:0 auto;
}

.counter-card{
  position:relative;
  background: linear-gradient(180deg, rgba(255,255,255,0.08) 0%, rgba(255,255,255,0.05) 100%);
  border:1px solid rgba(255,255,255,0.12);
  border-radius:24px;
  padding:34px 24px 28px;
  text-align:center;
  box-shadow: 0 12px 32px rgba(0,0,0,0.22);
  backdrop-filter: blur(6px);
}

.counter-accent{
  position:absolute;
  top:0;
  left:24px;
  right:24px;
  height:4px;
  border-radius:0 0 999px 999px;
  background: linear-gradient(90deg, #f59e0b 0%, #fbbf24 100%);
}

.counter-num{
  font-size:50px;
  line-height:1;
  font-weight:800;
  color:#fbbf24;
  letter-spacing:-0.03em;
  margin-bottom:14px;
}

.counter-num span{
  margin-left:4px;
  font-size:24px;
  font-weight:700;
  color:rgba(255,255,255,0.78);
}

.counter-label{
  font-size:22px;
  line-height:1.75;
  font-weight:700;
  color:rgba(255,255,255,0.9);
}





/* ============================================
   SP固定CTA
   ============================================ */
.sp-fixed-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:500;background:#fff;padding:10px 12px;box-shadow:0 -4px 24px rgba(0,0,0,.15);}

.sp-fixed-cta a{
  display:flex;align-items:center;justify-content:center;gap:8px;
  background:linear-gradient(135deg,#f59e0b,#d97706);color:#fff;font-weight:700;font-size:var(--fz-body-sm);
  padding:14px;border-radius:12px;box-shadow:0 4px 16px rgba(245,158,11,.5);
}


.sp-br { display:inline; }


/* Tailwindクラスのbg強制適用 */
[class*="bg-white"]{background-color:#ffffff!important;}
[class*="bg-gray-50"]{background-color:#f9fafb!important;}
[class*="bg-gray-900"]{background-color:#111827!important;}
[class*="bg-blue-50"]{background-color:#eff6ff!important;}
[class*="bg-amber-50"]{background-color:#fffbeb!important;}


/* ============================================
   改行見え方の最終調整（スマホ）
   ============================================ */

@media(max-width:768px){
  :root{
    --fz-base:17px;
  }
}

@media(max-width:768px){.container{padding:0 16px;}}

@media(max-width:768px){.section-pad{padding:56px 0;}.section-pad-sm{padding:32px 0;}}

@media(max-width:768px){.sp-only{display:block!important;}.pc-only{display:none!important;}}

@media(max-width:768px){
  .lp-header{display:none;}
  .lp-sp-header{display:flex;}
}

@media(max-width:768px){
  .hero-bg{min-height:auto;padding:56px 0 48px;}
  .hero-grid{grid-template-columns:1fr;gap:28px;}
  .hero-copy{max-width:none;}
  .hero-badge{
    font-size:12px;
    padding:7px 12px;
    margin-bottom:18px;
    width: 100%;
    text-align: center;
  }
  .hero-h1{
    font-size:clamp(38px,10vw,52px);
    line-height:1.06;
    margin-bottom:14px;
    text-align: center;
  }
  .hero-sub{
    font-size:clamp(30px,8vw,40px);
    margin-bottom:10px;
    text-align: center;
  }
  .hero-cap{
    font-size:18px;
    margin-bottom:18px;
    text-align: center;
  }
  .ppa-badge {
    font-size: 17px;
  }
  .hero-desc{font-size:var(--fz-body-sm);margin-bottom:22px;}
  .cta-badges{max-width:none;padding:14px 12px;}
  .hero-cta{
    width:100%;
    min-width:0;
    font-size:18px!important;
    padding:18px 24px!important;
  }
}

@media (max-width: 1024px){
  .cost-flow-grid{
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .cost-arrow{
    transform: rotate(90deg);
    font-size: 26px;
    line-height: 1;
  }

  .cost-step{
    min-height: auto;
  }

  .cost-price{
    font-size: 42px;
  }
}

@media(max-width:768px){.sim-wrap{padding:28px 20px;border-radius:16px;}}

@media(max-width:600px){.sim-inputs{grid-template-columns:1fr;}}

@media(max-width:480px){.sim-kpi-grid{grid-template-columns:1fr;}}

@media(max-width:480px){.sim-rec-row{grid-template-columns:1fr;}}

@media(max-width:640px){.micro-cta{flex-direction:column;text-align:center;padding:20px;}}

@media(max-width:640px){.micro-cta-btn{width:100%;justify-content:center;}}

@media(max-width:640px){.quiz-wrap{padding:24px 16px;border-radius:16px;}}

@media(max-width:640px){.tax-box{padding:24px 20px;}}

@media(max-width:480px){.tax-options{grid-template-columns:1fr;}}

@media(max-width:640px){.counter-grid{grid-template-columns:repeat(2,1fr);}}

@media(max-width:640px){.flow-grid{grid-template-columns:repeat(2,1fr); column-gap: 15px;}}

@media(max-width:640px){.reco-grid{grid-template-columns:repeat(3,1fr);gap:12px;}}

@media(max-width:400px){.reco-grid{grid-template-columns:repeat(2,1fr);}}

@media(max-width:640px){.urgency-box{flex-direction:column;text-align:center;gap:12px;}}

@media (max-width: 1024px){
  .counter-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .results-title{
    font-size:30px;
  }

  .counter-num{
    font-size:54px;
  }

  .counter-label{
    font-size:20px;
  }
}

@media (max-width: 640px){
  .results-section{
    padding:72px 0;
  }

  .results-eyebrow{
    font-size:12px;
    letter-spacing:.18em;
  }

  .results-title{
    font-size:26px;
  }

  .results-sub{
    font-size:14px;
    line-height:1.7;
    padding:0 10px;
  }

  .counter-grid{
    grid-template-columns:1fr;
    gap:16px;
  }

  .counter-card{
    padding:28px 18px 24px;
    border-radius:20px;
  }

  .counter-num{
    font-size:48px;
    margin-bottom:10px;
  }

  .counter-num span{
    font-size:20px;
  }

  .counter-label{
    font-size:18px;
    line-height:1.65;
  }
}

@media(max-width:768px){.sp-fixed-cta{display:block;}}

@media(max-width:768px){body{padding-bottom:76px;}}

@media(max-width:768px){
  .sp-br { display:block; }
}

@media(max-width:768px){
  .hero-h1{max-width:7.4em;margin-left:auto;margin-right:auto;text-wrap:balance;word-break:keep-all;overflow-wrap:normal;line-height:1.12!important;}
  .hero-sub{max-width:8em;margin-left:auto;margin-right:auto;text-wrap:pretty;word-break:keep-all;}
  .hero-cap{max-width:14em;margin-left:auto;margin-right:auto;text-wrap:pretty;word-break:keep-all;}
  .sec-head h2,
  .results-title,
  .cta-area-title,
  .service-title,
  .sim-h2,
  .micro-cta-title,
  .quiz-result-title,
  .why-alert-title,
  .subsidy-title,
  .tax-box h3,
  .step3-title{
    text-wrap:pretty;
    word-break:keep-all;
    overflow-wrap:normal;
  }
  .micro-cta-title{line-height:1.45!important;}
  .service-title{
    line-height:1.5!important;
    text-align: center;
  }
  .cta-area-title{line-height:1.5!important;}
  .tax-box h3{line-height:1.5!important;}
  .step3-title{line-height:1.45!important;}

  .hero-desc{max-width:18em;margin-left:auto;margin-right:auto;}
  .sim-desc{max-width:15em;margin-left:auto;margin-right:auto;}
  .results-sub{margin-left:auto;margin-right:auto;}
  .quiz-result-sub{max-width:17em;margin-left:auto;margin-right:auto;}
  .micro-cta-sub{max-width:18em;margin-left:auto;margin-right:auto;}
  .service-text,.gm-text,.urgency-sub,.step3-sub{
    margin-left:auto;
    margin-right:auto;
  }
  .why-card-title,.reason-title,.flow-title,.reco-label,.subsidy-title,.faq-q-text{word-break:keep-all;overflow-wrap:anywhere;}
  .why-card-text,.reason-text,.flow-desc,.subsidy-text,.voice-text,.gm-site-text,.faq-answer-inner{word-break:keep-all;overflow-wrap:anywhere;}
  .tax-deadline p,.warn-box-title,.compare_table + p{word-break:keep-all;overflow-wrap:anywhere;}
}

@media(max-width:768px){
  #hero .container>div:first-of-type{grid-template-columns:1fr!important;}
  #why-now .container>div>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;}
  #cases .container>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;}
  #cases .container h3+div{grid-template-columns:1fr!important;}
  #reason .container>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;}
  #service-lp .container>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;}
  #gm-lp .container>div[style*="grid-template-columns"]{grid-template-columns:1fr!important;}
  .anchor-bar-inner{grid-template-columns:repeat(2,1fr)!important;}
  .anchor-item:not(:last-child)::after{display:none!important;}
  .micro-cta{flex-direction:column!important;text-align:center!important;}
  .micro-cta-btn{width:100%!important;justify-content:center!important;}
  .btn-wrap-left{justify-content:center!important;}
  .cta-badges{
    flex-direction:column!important;
    padding: 0 14px;
  }
  .cta-badge-item{
    border-right:none!important;
    border-bottom:1px solid rgba(255,255,255,.2)!important;
    padding:10px 0!important;
    flex-direction: row;
    gap: 15px;
  }
  .cta-badge-item:last-child{border-bottom:none!important;}
  .cta-badge-item img {
    margin-bottom: 0;
  }
  .urgency-box{
    flex-direction:column!important;
    text-align:center!important;
    padding: 24px 20px;
  }
}

@media(max-width:640px){
  #why-now .container>div:last-child>div:nth-child(2){grid-template-columns:1fr!important;}
}
