/* ================================================================
   ECフォース「CSS」フィールド用 / BCP非常用発電機_本体
   ※ <style> タグは入れない。/templates/<ID>/css.css として配信される
   テーマカラー：ブルー
================================================================ */

:root{
  --navy:#0A2440;
  --navy-2:#123A66;
  --blue:#1D5DA6;
  --blue-bright:#2E80D2;
  --sky:#EDF4FB;
  --sky-2:#DBE8F6;
  --paper:#FFFFFF;
  --ink:#0F1B2A;
  --ink-dim:#5A6B7D;
  --line:rgba(29,93,166,0.18);
  --accent:#DFA436;
  --accent-deep:#BE851A;
  --alert:#C3382E;
  --sans:'Noto Sans JP', sans-serif;
  --mono:'Space Grotesk', sans-serif;
}

*{box-sizing:border-box; margin:0; padding:0;}
html{scroll-behavior:smooth;}
body{
  background:var(--paper);
  color:var(--ink);
  font-family:var(--sans);
  line-height:1.8;
  -webkit-font-smoothing:antialiased;
  overflow-x:hidden;
}
a{color:inherit;}
img{max-width:100%; display:block;}
li{list-style:none;}
::selection{background:var(--blue); color:#fff;}

.bcp-wrap{max-width:1080px; margin:0 auto; padding:0 24px;}

/* 背景の薄いグリッド */
.bcp-grid-bg{
  position:fixed; inset:0; z-index:0; pointer-events:none;
  background-image:linear-gradient(rgba(29,93,166,0.045) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(29,93,166,0.045) 1px, transparent 1px);
  background-size:52px 52px;
}


/* ---------------- header ---------------- */
.bcp-head{
  position:sticky; top:0; z-index:50;
  background:rgba(255,255,255,0.94);
  backdrop-filter:saturate(140%) blur(8px);
  border-bottom:1px solid var(--line);
}
.bcp-head-inner{
  display:flex; align-items:center; justify-content:space-between;
  gap:16px; height:64px;
}
.bcp-brand{display:flex; align-items:center; gap:10px; min-width:0;}
.bcp-brand-mark{
  width:11px; height:22px; flex:0 0 auto; border-radius:2px;
  background:linear-gradient(180deg, var(--blue-bright), var(--navy));
}
.bcp-brand-text{display:flex; flex-direction:column; line-height:1.28; min-width:0;}
.bcp-brand-text strong{font-size:14.5px; font-weight:900; letter-spacing:0.01em;}
.bcp-brand-text em{font-style:normal; font-size:11px; color:var(--ink-dim); font-weight:500;}

.bcp-head-right{display:flex; align-items:center; gap:14px;}
.bcp-head-cta{
  display:inline-block; text-decoration:none; white-space:nowrap;
  font-size:13px; font-weight:700; color:var(--navy);
  background:var(--accent); padding:11px 20px; border-radius:6px;
  box-shadow:0 1px 0 rgba(0,0,0,0.08);
  transition:background 0.2s ease, transform 0.2s ease;
}
.bcp-head-cta:hover{background:#EBB44A; transform:translateY(-1px);}


/* ---------------- hero ---------------- */
.bcp-hero{
  position:relative; z-index:1; color:#fff;
  padding:74px 0 86px;
  background:linear-gradient(140deg, var(--navy) 0%, var(--navy-2) 52%, var(--blue) 100%);
}
.bcp-hero::after{
  content:""; position:absolute; inset:0; pointer-events:none;
  background-image:linear-gradient(rgba(255,255,255,0.045) 1px, transparent 1px),
                   linear-gradient(90deg, rgba(255,255,255,0.045) 1px, transparent 1px);
  background-size:44px 44px;
}
.bcp-hero-grid{
  position:relative; z-index:1;
  display:grid; grid-template-columns:1.25fr 1fr; gap:44px; align-items:center;
}
.bcp-tag{
  display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:0.04em;
  color:#CFE2F5; border:1px solid rgba(255,255,255,0.32);
  padding:6px 14px; border-radius:100px; margin-bottom:22px;
}
.bcp-hero-title{
  font-size:clamp(30px,4.2vw,47px); font-weight:900; line-height:1.34;
  letter-spacing:-0.01em;
}
.bcp-hero-title .bcp-accent{color:#F2C45F;}
.bcp-hero-lead{
  margin-top:22px; font-size:14.5px; line-height:1.95; color:#D3E2F2; max-width:560px;
}
.bcp-hero-lead strong{color:#F2C45F; font-weight:700;}

.bcp-hero-badges{display:grid; grid-template-columns:repeat(3,1fr); gap:10px; margin-top:28px;}
.bcp-hero-badges li{
  background:rgba(255,255,255,0.09); border:1px solid rgba(255,255,255,0.19);
  border-radius:9px; padding:14px 10px; text-align:center;
  font-size:11.5px; font-weight:700; color:#E4EEF8;
}
.bcp-badge-num{
  display:block; font-family:var(--mono); font-size:22px; font-weight:700;
  color:#F2C45F; line-height:1.15; margin-bottom:4px;
}
.bcp-badge-num em{font-style:normal; font-size:12px; font-family:var(--sans); margin-left:2px;}

.bcp-hero-actions{margin-top:32px;}
.bcp-btn{
  display:inline-block; text-decoration:none;
  font-size:16px; font-weight:900; color:var(--navy);
  background:var(--accent); padding:18px 34px; border-radius:11px;
  box-shadow:0 8px 20px rgba(0,0,0,0.22);
  transition:background 0.22s ease, transform 0.22s ease;
}
.bcp-btn:hover{background:#EBB44A; transform:translateY(-2px);}
.bcp-btn-note{display:block; margin-top:12px; font-size:11.5px; color:#AFC6DD;}


/* ---------------- placeholder ---------------- */
.ph{
  display:flex; flex-direction:column; align-items:center; justify-content:center;
  gap:7px; text-align:center; padding:26px;
  min-height:260px; border-radius:13px;
  border:2px dashed var(--line); background:var(--sky);
  color:var(--ink-dim);
}
.ph-label{font-size:12.5px; font-weight:700; color:var(--blue);}
.ph-note{font-size:11px; line-height:1.7; max-width:300px;}
.ph-dark{
  border-color:rgba(255,255,255,0.28); background:rgba(255,255,255,0.06); color:#B6CCE2;
}
.ph-dark .ph-label{color:#F2C45F;}
.ph-wide{min-height:170px; margin-top:26px;}


/* ---------------- section 共通 ---------------- */
.bcp-sec{position:relative; z-index:1; padding:84px 0; background:var(--paper);}
.bcp-sec-sky{background:var(--sky);}
.bcp-sec-navy{background:linear-gradient(160deg, var(--navy) 0%, var(--navy-2) 100%); color:#fff;}

.bcp-sec-head{margin-bottom:40px;}
.bcp-sec-head-center{text-align:center;}
.bcp-eyebrow{
  display:block; font-family:var(--mono); font-size:11px; font-weight:600;
  letter-spacing:0.22em; text-transform:uppercase; color:var(--blue-bright);
  margin-bottom:10px;
}
.bcp-sec-navy .bcp-eyebrow{color:#F2C45F;}
.bcp-sec-title{
  font-size:clamp(22px,2.9vw,33px); font-weight:900; line-height:1.48; letter-spacing:-0.005em;
}
.bcp-sec-sub{
  display:block; margin-top:12px; font-size:13.5px; font-weight:400;
  line-height:1.9; color:var(--ink-dim);
}
.bcp-sec-navy .bcp-sec-sub{color:#B6CCE2;}


/* ---------------- risk ---------------- */
.bcp-risk-grid{display:grid; grid-template-columns:1fr 1.1fr; gap:36px; align-items:start;}
.bcp-risk-list{display:flex; flex-direction:column; gap:12px;}
.bcp-risk-list li{
  padding:16px 18px; border-left:4px solid var(--alert);
  background:#FCF2F1; border-radius:0 8px 8px 0;
}
.bcp-risk-list h3{font-size:15px; font-weight:700; line-height:1.6;}
.bcp-risk-list p{margin-top:5px; font-size:12.5px; line-height:1.85; color:var(--ink-dim);}
.bcp-risk-caution{border-left-color:var(--accent-deep) !important; background:#FBF5E8 !important;}


/* ---------------- grant ---------------- */
.bcp-grant-grid{display:grid; grid-template-columns:1fr 1fr; gap:24px;}
.bcp-grant-card{
  background:var(--paper); border:1px solid var(--line); border-radius:15px;
  padding:30px 28px; display:flex; flex-direction:column;
}
.bcp-grant-cat{
  display:inline-block; align-self:flex-start;
  font-size:11px; font-weight:700; color:#fff; background:var(--navy);
  padding:4px 11px; border-radius:4px; margin-bottom:16px;
}
.bcp-grant-card-alt .bcp-grant-cat{background:var(--accent-deep);}
.bcp-grant-card h3{font-size:18px; font-weight:900; line-height:1.5;}
.bcp-grant-target{margin-top:8px; font-size:11.5px; line-height:1.8; color:var(--ink-dim);}
.bcp-grant-amt{
  margin:20px 0; padding:20px 16px; text-align:center; border-radius:11px;
  background:var(--sky);
}
.bcp-grant-card-alt .bcp-grant-amt{background:#FBF5E8;}
.bcp-grant-amt-label{display:block; font-size:11px; font-weight:700; color:var(--blue);}
.bcp-grant-card-alt .bcp-grant-amt-label{color:var(--accent-deep);}
.bcp-grant-amt strong{
  display:block; margin-top:4px; font-family:var(--mono);
  font-size:38px; font-weight:700; line-height:1.15; color:var(--navy);
}
.bcp-grant-card-alt .bcp-grant-amt strong{color:var(--accent-deep);}
.bcp-grant-amt strong em{
  font-style:normal; font-family:var(--sans); font-size:16px; font-weight:700; margin-left:3px;
}
.bcp-grant-amt-or{display:block; margin-top:4px; font-size:12px; color:var(--ink-dim);}
.bcp-grant-note{border-top:1px solid var(--line); padding-top:15px; margin-top:auto;}
.bcp-grant-note li{
  position:relative; padding-left:15px; font-size:11.5px; line-height:1.95; color:var(--ink-dim);
}
.bcp-grant-note li::before{
  content:""; position:absolute; left:2px; top:0.92em;
  width:5px; height:5px; border-radius:50%; background:var(--blue-bright);
}
.bcp-grant-card-alt .bcp-grant-note li::before{background:var(--accent);}

/* 交付金の手続き（窓口・締切・金額の考え方） */
.bcp-grant-flow{
  margin-top:26px; padding:28px 30px;
  background:var(--paper); border:1px solid var(--line); border-radius:14px;
}
.bcp-grant-flow-head{
  font-size:16px; font-weight:900; color:var(--navy);
  line-height:1.6; margin-bottom:16px;
}
.bcp-grant-flow dl{display:grid; grid-template-columns:auto 1fr; gap:12px 20px;}
.bcp-grant-flow dt{
  font-family:var(--mono); font-size:11.5px; font-weight:700;
  color:#fff; background:var(--navy);
  padding:5px 13px; border-radius:5px;
  white-space:nowrap; height:fit-content;
}
.bcp-grant-flow dd{font-size:12.5px; line-height:1.95; color:var(--ink-dim);}
.bcp-grant-flow dd strong{color:var(--ink); font-weight:700;}
.bcp-grant-src{
  margin-top:18px; padding-top:14px; border-top:1px solid var(--line);
  font-size:11px; line-height:1.85; color:var(--ink-dim);
}


/* ---------------- requirements ---------------- */
.bcp-req-grid{display:grid; grid-template-columns:1fr 1fr; gap:18px; counter-reset:req;}
.bcp-req-grid li{
  position:relative; counter-increment:req;
  padding:26px 26px 26px 76px;
  background:var(--sky); border:1px solid var(--line); border-radius:12px;
}
.bcp-req-grid li::before{
  content:counter(req);
  position:absolute; left:24px; top:26px;
  width:38px; height:38px; border-radius:50%;
  display:flex; align-items:center; justify-content:center;
  font-family:var(--mono); font-size:18px; font-weight:700;
  color:#fff; background:var(--navy);
}
.bcp-req-grid h3{font-size:16px; font-weight:900; line-height:1.55;}
.bcp-req-grid p{margin-top:7px; font-size:12.5px; line-height:1.9; color:var(--ink-dim);}


/* ---------------- product ---------------- */
.bcp-prod-grid{display:grid; grid-template-columns:1fr 1.2fr; gap:36px; align-items:center;}
.bcp-prod-list{display:flex; flex-direction:column; gap:14px;}
.bcp-prod-list li{
  padding:20px 22px; border-radius:11px;
  background:rgba(255,255,255,0.07); border:1px solid rgba(255,255,255,0.16);
}
.bcp-prod-list h3{font-size:15.5px; font-weight:900; line-height:1.6; color:#F2C45F;}
.bcp-prod-list p{margin-top:6px; font-size:12.5px; line-height:1.9; color:#CBDDEE;}
.bcp-prod-src{margin-top:7px !important; font-size:10.5px !important; line-height:1.75 !important; color:#8FAAC6 !important;}


/* ---------------- lineup ---------------- */
.bcp-lineup{margin-top:38px; padding-top:30px; border-top:1px solid rgba(255,255,255,0.16);}
.bcp-lineup-head{
  font-family:var(--mono); font-size:11px; font-weight:600; letter-spacing:0.18em;
  color:#F2C45F; margin-bottom:16px;
}
.bcp-lineup-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:14px;}
.bcp-lineup-cell{
  padding:20px 20px; border-radius:11px;
  background:rgba(255,255,255,0.06); border:1px solid rgba(255,255,255,0.14);
}
.bcp-lineup-cell-mark{border-color:rgba(242,196,95,0.42); background:rgba(242,196,95,0.07);}
.bcp-lineup-cat{font-size:13.5px; font-weight:900; color:#fff; line-height:1.55;}
.bcp-lineup-spec{
  margin-top:8px; font-family:var(--mono); font-size:12px; line-height:1.75; color:#F2C45F;
}
.bcp-lineup-use{margin-top:9px; font-size:11.5px; line-height:1.8; color:#BBD1E6;}
.bcp-lineup-badge{
  margin-top:11px; padding-top:9px; border-top:1px solid rgba(255,255,255,0.16);
  font-size:10.5px; line-height:1.7; color:#F2C45F;
}
.bcp-lineup-note strong{color:#fff; font-weight:700;}
.bcp-lineup-note{margin-top:16px; font-size:10.5px; line-height:1.85; color:#8FAAC6;}


/* ---------------- maker ---------------- */
.bcp-maker-grid{display:grid; grid-template-columns:repeat(4,1fr); gap:14px;}
.bcp-maker-grid li{
  padding:24px 16px; text-align:center;
  background:var(--sky); border:1px solid var(--line); border-radius:12px;
}
.bcp-maker-num{
  display:block; font-family:var(--mono); font-size:32px; font-weight:700;
  line-height:1.15; color:var(--blue);
}
.bcp-maker-num em{
  font-style:normal; font-family:var(--sans); font-size:13px; font-weight:700; margin-left:3px;
}
.bcp-maker-grid h3{margin-top:5px; font-size:12.5px; font-weight:700; color:var(--ink);}
.bcp-maker-note{
  margin-top:18px; font-size:11px; line-height:1.9; color:var(--ink-dim); text-align:center;
}


/* ---------------- priority load ---------------- */
.bcp-load-grid{display:grid; grid-template-columns:repeat(5,1fr); gap:14px;}
.bcp-load-grid li{
  background:var(--paper); border:1px solid var(--line); border-radius:12px;
  padding:24px 14px; text-align:center;
}
.bcp-load-grid h3{font-size:13.5px; font-weight:900; line-height:1.55;}
.bcp-load-grid p{margin-top:6px; font-size:11px; line-height:1.7; color:var(--ink-dim);}


/* ---------------- flow ---------------- */
.bcp-flow{display:flex; flex-direction:column; gap:12px;}
.bcp-flow li{
  display:flex; align-items:center; gap:18px;
  background:var(--paper); border:1px solid var(--line); border-radius:11px;
  padding:20px 24px;
}
.bcp-flow-step{
  flex:0 0 auto; font-family:var(--mono); font-size:12.5px; font-weight:700;
  color:#fff; background:var(--navy); padding:6px 13px; border-radius:5px;
}
.bcp-flow-last .bcp-flow-step{background:var(--accent-deep);}
.bcp-flow h3{font-size:15.5px; font-weight:900; line-height:1.55;}
.bcp-flow p{margin-top:4px; font-size:12px; line-height:1.8; color:var(--ink-dim);}


/* ---------------- entry ---------------- */
.bcp-entry{
  position:relative; z-index:1; padding:84px 0 96px;
  background:linear-gradient(170deg, var(--sky) 0%, var(--sky-2) 100%);
}
.bcp-notice{
  max-width:720px; margin:0 auto 32px; padding:22px 26px;
  background:var(--paper); border:1px solid var(--line); border-radius:12px;
}
.bcp-notice p{font-size:12.5px; line-height:1.9; color:var(--ink-dim);}
.bcp-notice-head{
  font-size:14.5px !important; font-weight:900; color:var(--blue) !important;
  margin-bottom:7px;
}
.bcp-notice-sub{margin-top:10px; padding-top:10px; border-top:1px solid var(--line);}
.bcp-notice strong{color:var(--ink); font-weight:700;}


/* ---------------- footer ---------------- */
.bcp-foot{
  position:relative; z-index:1;
  background:var(--navy); color:#B6CCE2;
  padding:44px 0 36px; text-align:center;
}
.bcp-foot-brand{font-size:14px; font-weight:900; color:#fff;}
.bcp-foot-company{margin-top:14px; font-size:12px; line-height:2;}
.bcp-foot-label{
  display:inline-block; min-width:44px; margin-right:8px;
  font-size:10px; color:#7E9CBC;
}
.bcp-foot-links{
  display:flex; flex-wrap:wrap; justify-content:center; gap:8px 22px;
  margin-top:20px; font-size:11.5px;
}
.bcp-foot-links a{text-decoration:underline; text-underline-offset:3px;}
.bcp-foot-note{
  max-width:720px; margin:24px auto 0; font-size:10.5px; line-height:1.85; color:#7E9CBC;
}
.bcp-foot-copy{margin-top:18px; font-size:10.5px; color:#6B88A8;}


/* ---------------- reveal ---------------- */
.reveal{opacity:0; transform:translateY(16px); transition:opacity 0.75s ease, transform 0.75s ease;}
.reveal.is-visible{opacity:1; transform:translateY(0);}
@media (prefers-reduced-motion: reduce){
  .reveal{opacity:1 !important; transform:none !important; transition:none !important;}
  html{scroll-behavior:auto;}
}


/* ================================================================
   ECフォース標準フォームの見た目（PC = table 系 / SP = *_sp_ec 系）
   ※ 両方に書かないと片方が無スタイルになります
================================================================ */
/* ECフォースのフォームは #lp-form（.form_container_ec）で包まれている。
   .form_main_container_ec は中の <form> なので、外側にも幅を効かせる */
.bcp-entry .form_container_ec,
.bcp-entry #lp-form{max-width:860px; margin:0 auto;}
.bcp-entry .form_main_container_ec{width:100%;}

/* 「お客様情報のご入力」の見出しと説明文 */
.bcp-entry .landing_form_label_ec{
  font-size:16px; font-weight:900; color:var(--navy);
  text-align:center; margin:0 0 6px;
}
.bcp-entry .purchase_message_ec{
  text-align:center; font-size:12.5px; line-height:1.9;
  color:var(--ink-dim); margin:0 0 18px;
}
.bcp-entry .purchase_message_ec p{font-size:12.5px;}
.bcp-entry #lp-form > br{display:none;}

/* 通信欄はセクション見出しと表内ラベルで「通信欄」が二重に出るので、見出しだけ隠す */
.bcp-entry #view-remark .landing_form_label_ec{display:none;}

/* 非物販なので配送関連は出さない
   （ECフォース側でも実行時に非表示になるが、CSSでも抑えて二重に防ぐ） */
.bcp-entry #view-shipping-information,
.bcp-entry #view-shipping-carrier,
.bcp-entry #view-payment-schedule,
.bcp-entry #view-pickup-location,
.bcp-entry #view-wrapping-information,
.bcp-entry #container_delivery_schedule_date,
.bcp-entry #container_delivery_schedule_time,
.bcp-entry #container_scheduled_delivery_dates,
.bcp-entry #container_pre_ordered_delivery_description{display:none !important;}

/* 注意文（* 番地は入力しましたか？ など） */
.bcp-entry .caution_ec{
  margin-top:6px; font-size:11px; line-height:1.75; color:var(--ink-dim);
}

.bcp-entry .landing_form_ec{
  width:100%; border-collapse:collapse; background:var(--paper);
  border:1px solid var(--line); border-radius:10px; overflow:hidden;
}
.bcp-entry .landing_form_ec th,
.bcp-entry .landing_form_ec td{
  padding:15px 18px; border-bottom:1px solid var(--line);
  font-size:13px; vertical-align:middle; text-align:left;
}
.bcp-entry .landing_form_ec th{
  width:250px; background:var(--sky); font-weight:700; color:var(--ink);
}
.bcp-entry .form_box_label_ec,
.bcp-entry .form_box_label_sp_ec{display:flex; align-items:center; gap:9px; flex-wrap:wrap;}
.bcp-entry .form_required_ec,
.bcp-entry .form_required_sp_ec{
  font-size:10px; font-weight:700; color:#fff; background:var(--alert);
  padding:3px 7px; border-radius:3px; line-height:1;
}
.bcp-entry input[type="text"],
.bcp-entry input[type="tel"],
.bcp-entry input[type="email"],
.bcp-entry input[type="password"],
.bcp-entry input[type="number"],
.bcp-entry select,
.bcp-entry textarea{
  font-family:var(--sans); font-size:13.5px; color:var(--ink);
  padding:11px 13px; border:1px solid var(--line); border-radius:7px;
  background:var(--paper); max-width:100%;
}
.bcp-entry input[type="text"]:focus,
.bcp-entry input[type="tel"]:focus,
.bcp-entry input[type="email"]:focus,
.bcp-entry select:focus,
.bcp-entry textarea:focus{
  outline:none; border-color:var(--blue-bright);
  box-shadow:0 0 0 3px rgba(46,128,210,0.16);
}
.bcp-entry .input_box_name_ec,
.bcp-entry .input_box_kana_ec,
.bcp-entry .input_box_addr1_ec,
.bcp-entry .input_box_addr2_ec,
.bcp-entry .input_box_addr3_ec{width:340px;}
.bcp-entry .input_box_zip1_ec,
.bcp-entry .input_box_zip2_ec{width:90px;}
.bcp-entry .input_box_tel1_ec,
.bcp-entry .input_box_tel2_ec,
.bcp-entry .input_box_tel3_ec{width:98px;}
.bcp-entry textarea{width:100%; min-height:92px; line-height:1.8;}

.bcp-entry .agreement_view_ec{
  margin:22px auto 0; max-width:860px; text-align:center;
  font-size:12.5px; color:var(--ink-dim);
}
.bcp-entry .agreement_view_ec a{color:var(--blue); text-decoration:underline; text-underline-offset:3px;}
.bcp-entry .submit_ec{margin-top:24px; text-align:center;}
.bcp-entry .submit_button_complete_ec{
  -webkit-appearance:none; appearance:none; cursor:pointer;
  font-family:var(--sans); font-size:16px; font-weight:900;
  color:var(--navy); background:var(--accent);
  border:none; border-radius:11px; padding:18px 48px;
  box-shadow:0 8px 20px rgba(10,36,64,0.18);
  transition:background 0.22s ease, transform 0.22s ease;
}
.bcp-entry .submit_button_complete_ec:hover{background:#EBB44A; transform:translateY(-2px);}

/* スマホ版フォーム（div ベース） */
.bcp-entry .form_container_sp_ec{
  background:var(--paper); border:1px solid var(--line); border-radius:10px; overflow:hidden;
}
.bcp-entry .form_box_sp_ec{padding:14px 16px; border-bottom:1px solid var(--line);}
.bcp-entry .form_box_label_sp_ec{margin-bottom:8px; font-size:12.5px; font-weight:700;}


/* ================================================================
   レスポンシブ
================================================================ */
@media (max-width:900px){
  .bcp-hero-grid{grid-template-columns:1fr; gap:30px;}
  .bcp-risk-grid,
  .bcp-prod-grid{grid-template-columns:1fr; gap:26px;}
  .bcp-grant-grid{grid-template-columns:1fr;}
  .bcp-grant-flow{padding:22px 18px;}
  .bcp-grant-flow-head{font-size:14.5px;}
  .bcp-grant-flow dl{grid-template-columns:1fr; gap:2px 0;}
  .bcp-grant-flow dt{justify-self:start; margin-top:14px;}
  .bcp-grant-flow dl > dt:first-of-type{margin-top:0;}
  .bcp-req-grid{grid-template-columns:1fr;}
  .bcp-load-grid{grid-template-columns:repeat(2,1fr);}
  .bcp-lineup-grid{grid-template-columns:1fr;}
  .bcp-maker-grid{grid-template-columns:repeat(2,1fr);}
}

@media (max-width:767px){
  .bcp-wrap{padding:0 16px;}
  .bcp-head-inner{height:58px;}
  .bcp-brand-text strong{font-size:12.5px;}
  .bcp-brand-text em{font-size:10px;}
  .bcp-head-cta{font-size:11.5px; padding:9px 14px;}

  .bcp-hero{padding:48px 0 58px;}
  .bcp-hero-lead{font-size:13.5px;}
  .bcp-hero-badges{grid-template-columns:1fr; gap:8px;}
  .bcp-hero-badges li{display:flex; align-items:center; gap:10px; text-align:left; padding:12px 14px;}
  .bcp-badge-num{margin-bottom:0; font-size:17px;}
  .bcp-btn{display:block; width:100%; text-align:center; font-size:15px; padding:16px 20px;}

  .bcp-sec, .bcp-entry{padding:56px 0;}
  .bcp-sec-head{margin-bottom:28px;}
  .ph{min-height:200px;}
  .ph-wide{min-height:150px;}

  .bcp-grant-card{padding:24px 20px;}
  .bcp-grant-amt strong{font-size:31px;}

  .bcp-req-grid li{padding:22px 20px 22px 20px;}
  .bcp-req-grid li::before{position:static; margin-bottom:12px;}

  .bcp-load-grid{grid-template-columns:1fr 1fr; gap:10px;}
  .bcp-load-grid li{padding:18px 10px;}

  .bcp-lineup{margin-top:30px; padding-top:24px;}
  .bcp-lineup-cell{padding:18px 16px;}
  .bcp-maker-grid{gap:10px;}
  .bcp-maker-grid li{padding:20px 10px;}
  .bcp-maker-num{font-size:26px;}

  .bcp-flow li{flex-direction:column; align-items:flex-start; gap:10px; padding:18px 20px;}

  .bcp-notice{padding:18px 18px;}

  .bcp-entry .landing_form_ec,
  .bcp-entry .landing_form_ec tbody,
  .bcp-entry .landing_form_ec tr,
  .bcp-entry .landing_form_ec th,
  .bcp-entry .landing_form_ec td{display:block; width:100%;}
  .bcp-entry .landing_form_ec th{border-bottom:none; padding:13px 16px 0;}
  .bcp-entry .landing_form_ec td{padding:9px 16px 15px;}
  .bcp-entry .input_box_name_ec,
  .bcp-entry .input_box_kana_ec,
  .bcp-entry .input_box_addr1_ec,
  .bcp-entry .input_box_addr2_ec,
  .bcp-entry .input_box_addr3_ec{width:100%;}
  .bcp-entry .submit_button_complete_ec{width:100%; padding:17px 20px;}
}
