/**
 * Agent LPs — 共通コンポーネント（個別LP 13社）
 * ページ固有の色・装飾は各HTMLの <style> で上書き
 */

/* HEADER */
.hdr{background:var(--y);padding:.875rem 2rem;position:sticky;top:0;z-index:100;border-bottom:3px solid var(--t);box-shadow:0 4px 0 #00000010}
.hc{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:1rem}
.hdr-agent{display:flex;align-items:center;gap:.5rem;background:var(--c);padding:.375rem .875rem .375rem .375rem;border:2px solid var(--t);border-radius:50px;box-shadow:2px 2px 0 var(--t);flex-shrink:0}
.hdr-agent-logo{width:28px;height:28px;background:linear-gradient(135deg,var(--brand-1,var(--s)),var(--brand-2,var(--v)));color:#fff;border-radius:8px;display:grid;place-items:center;font-weight:900;font-size:.6875rem;border:2px solid var(--t);flex-shrink:0}
.hdr-agent-name{font-size:.8125rem;font-weight:900;color:var(--t);white-space:nowrap}
.hdr-cta{margin-left:auto;display:flex;gap:.5rem;align-items:center}
.hdr-btn{padding:.625rem 1.25rem;background:var(--brand-1,var(--o));color:#fff;font-weight:900;font-size:.875rem;border:2px solid var(--t);border-radius:50px;box-shadow:2px 2px 0 var(--t);transition:all .15s;white-space:nowrap;display:inline-flex;align-items:center;justify-content:center}
.hdr-btn.sub{background:var(--c);color:var(--t)}
.hdr-btn:hover{transform:translate(2px,2px);box-shadow:0 0 0 var(--t)}

/* FV */
.fv{padding:3rem 2rem 3.5rem;position:relative;overflow:hidden}
.fv-inner{max-width:1180px;margin:0 auto;position:relative;z-index:1;display:grid;grid-template-columns:1.2fr 1fr;gap:3rem;align-items:center}
.fv-text h1{font-size:3.25rem;font-weight:900;line-height:1.2;margin-bottom:1.25rem;letter-spacing:-.02em}
.fv-text h1 .hl{background:linear-gradient(transparent 60%,var(--y) 60%);padding:0 .15em}
.fv-text .fv-lead{font-size:1.0625rem;color:var(--tl);font-weight:600;margin-bottom:1.75rem;line-height:1.75}
.fv-checks{display:flex;flex-direction:column;gap:.5rem;margin-bottom:1.75rem}
.fv-check{display:flex;align-items:center;gap:.625rem;font-size:.9375rem;font-weight:700}
.fv-check::before{content:'✓';flex-shrink:0;width:24px;height:24px;background:var(--brand-1,var(--m));color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:.75rem;border:2px solid var(--t)}
.fv-cta{display:flex;gap:.875rem;align-items:stretch;flex-wrap:wrap;width:100%}
.btn-mega{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:1.25rem 2.25rem;font-size:1.125rem;font-weight:900;background:var(--brand-1,var(--o));color:#fff;border:3px solid var(--t);border-radius:18px;box-shadow:5px 5px 0 var(--t);transition:all .15s;text-align:center;line-height:1.35}
.btn-mega:hover{transform:translate(3px,3px);box-shadow:2px 2px 0 var(--t)}
.btn-mega-sub{display:block;font-size:.6875rem;font-weight:700;opacity:.9;margin-top:.125rem}
.btn-ghost{display:inline-flex;align-items:center;justify-content:center;padding:.875rem 1.5rem;font-size:.9375rem;font-weight:700;background:var(--c);color:var(--t);border:3px solid var(--t);border-radius:16px;box-shadow:3px 3px 0 var(--t);transition:all .15s;text-align:center}
.btn-ghost:hover{transform:translate(2px,2px);box-shadow:1px 1px 0 var(--t);background:var(--y)}

/* SECTION */
.sct{padding:4rem 2rem;position:relative}
.sct-inner{max-width:1180px;margin:0 auto}
.sct-eye{display:inline-block;background:var(--t);color:var(--y);padding:.375rem 1rem;border-radius:50px;font-size:.75rem;font-weight:900;margin-bottom:.875rem;letter-spacing:.05em}
.sct-h{font-size:2.5rem;font-weight:900;line-height:1.25;margin-bottom:1rem;letter-spacing:-.02em}
.sct-h .hl{background:linear-gradient(transparent 60%,var(--y) 60%);padding:0 .15em}
.sct-lead{font-size:1.0625rem;color:var(--tl);font-weight:500;margin-bottom:2.5rem;line-height:1.8}
.sct-center{text-align:center}
.sct-center .sct-lead{max-width:720px;margin-left:auto;margin-right:auto;margin-bottom:2.5rem}

/* STRENGTH */
.str-list{display:flex;flex-direction:column;gap:2rem}
.str-row{display:grid;grid-template-columns:120px 1fr;gap:2rem;align-items:flex-start;background:var(--c);border:3px solid var(--t);border-radius:24px;padding:2rem;box-shadow:6px 6px 0 var(--t);position:relative;overflow:hidden}
.str-num{width:100px;height:100px;background:var(--y);border:3px solid var(--t);border-radius:24px;display:grid;place-items:center;font-size:3rem;font-weight:900;box-shadow:4px 4px 0 var(--t);transform:rotate(-3deg);position:relative;z-index:1}
.str-body{position:relative;z-index:1}
.str-body .str-tag{display:inline-block;background:var(--bg);color:var(--tl);padding:.25rem .75rem;border-radius:50px;font-size:.75rem;font-weight:700;margin-bottom:.625rem;border:2px solid var(--t)}
.str-body h3{font-size:1.625rem;font-weight:900;line-height:1.3;margin-bottom:.75rem}
.str-body p{font-size:1rem;color:var(--tl);font-weight:500;line-height:1.85}

/* DIFF TABLE */
.diff{padding-top:5rem}
.diff-scroll-hint{display:none;font-size:.75rem;color:var(--tl);font-weight:700;text-align:center;margin-bottom:.625rem}
.diff-scroll{overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:thin;width:100%}
.diff-scroll::-webkit-scrollbar{height:6px}
.diff-scroll::-webkit-scrollbar-thumb{background:var(--brand-1,var(--o));border-radius:3px}
.diff-table{width:max-content;min-width:600px;background:var(--c);border:3px solid var(--t);border-radius:24px;overflow:hidden;box-shadow:6px 6px 0 var(--t)}
.diff-cols{--diff-c1:152px;--diff-c2:188px;--diff-c3:120px;--diff-c4:120px}
.diff-head{display:grid;grid-template-columns:var(--diff-c1) var(--diff-c2) var(--diff-c3) var(--diff-c4);background:var(--y);border-bottom:3px solid var(--t)}
.diff-head-cell{padding:1rem .625rem;font-weight:900;text-align:center;border-right:2px solid #00000020;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:76px}
.diff-head-cell:last-child{border-right:none}
.diff-head-cell.col-label{align-items:flex-start;text-align:left;padding-left:.75rem}
.diff-head-cell.featured{background:var(--brand-1,var(--o));color:#fff;min-width:var(--diff-c2)}
.diff-head-cell .dh-name{font-size:.875rem;line-height:1.35;word-break:keep-all}
.diff-head-cell .dh-tag{font-size:.625rem;font-weight:700;opacity:.75;line-height:1.3;white-space:nowrap}
.diff-row{display:grid;grid-template-columns:var(--diff-c1) var(--diff-c2) var(--diff-c3) var(--diff-c4);border-bottom:1.5px solid #00000015}
.diff-row:last-child{border-bottom:none}
.diff-row:nth-child(odd){background:#FAFAFA}
.diff-cell{padding:.875rem .5rem;text-align:center;font-weight:700;border-right:1.5px solid #00000015;font-size:.8125rem;display:flex;align-items:center;justify-content:center;min-height:60px;min-width:0}
.diff-cell.label{background:var(--bg);font-weight:700;color:var(--tl);text-align:left;justify-content:flex-start;font-size:.8125rem;line-height:1.45;padding:.875rem .75rem}
.diff-cell.featured{background:#FFF6F0;font-weight:900}
.mark{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:.125rem;padding:.375rem .5rem;border-radius:12px;font-weight:900;border:2px solid var(--t);line-height:1.2;max-width:100%}
.mark-g{background:var(--good);color:#fff}
.mark-y{background:var(--mid);color:var(--t)}
.mark-r{background:#FFEBEE;color:var(--bad);border-color:var(--bad)}

/* VOICE */
.voice-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem;position:relative;z-index:1;text-align:left}
.voice-card{background:var(--c);border:3px solid var(--t);border-radius:24px;padding:1.75rem;box-shadow:5px 5px 0 var(--t);position:relative;display:flex;flex-direction:column}
.voice-card .v-meta{display:flex;align-items:flex-start;gap:.75rem;margin-bottom:.875rem;padding-top:1rem}
.voice-card .v-avatar{width:48px;height:48px;border-radius:50%;border:3px solid var(--t);display:grid;place-items:center;font-weight:900;color:#fff;background:var(--p);font-size:1.125rem;flex-shrink:0}
.voice-card .v-avatar.b{background:var(--s,#4D96FF)}
.voice-card .v-avatar.c{background:var(--m,#6BCB77)}
.voice-card .v-info{font-size:.75rem;font-weight:700;color:var(--tl);line-height:1.55;flex:1;min-width:0}
.voice-card .v-name{font-size:.875rem;color:var(--t);font-weight:900}
.voice-card p{font-size:.875rem;color:var(--t);font-weight:500;line-height:1.75;margin-bottom:1rem}
.v-result{background:linear-gradient(135deg,var(--y),var(--brand-1,var(--y)));border:2px solid var(--t);border-radius:12px;padding:.75rem 1rem;display:flex;align-items:center;gap:.625rem}
.v-result-icon{font-size:1.125rem}
.v-result-text{font-size:.875rem;font-weight:700}

/* FLOW */
.flow-grid{
  --flow-gap:1rem;
  display:grid;
  grid-template-columns:repeat(5,1fr);
  gap:var(--flow-gap);
  position:relative;
  align-items:stretch;
}
.flow-step{
  background:var(--c);
  border:3px solid var(--t);
  border-radius:18px;
  padding:1.5rem 1rem;
  text-align:center;
  box-shadow:4px 4px 0 var(--t);
  position:relative;
  height:100%;
}
.flow-step::after{
  content:'→';
  position:absolute;
  left:calc(100% + (var(--flow-gap) - 32px) / 2);
  right:auto;
  top:50%;
  transform:translateY(-50%);
  font-size:1.25rem;
  font-weight:900;
  color:var(--brand-1,var(--o));
  z-index:2;
  background:var(--bg);
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:50%;
  border:2px solid var(--t);
  line-height:1;
  pointer-events:none;
}
.flow-step:last-child::after{display:none}
.flow-step-num{width:38px;height:38px;background:var(--y);border:3px solid var(--t);border-radius:50%;display:grid;place-items:center;font-weight:900;margin:0 auto .625rem;box-shadow:2px 2px 0 var(--t)}
.flow-step h4{font-size:.9375rem;font-weight:900;margin-bottom:.5rem;line-height:1.35}
.flow-step p{font-size:.75rem;color:var(--tl);font-weight:500;line-height:1.55;margin-bottom:.5rem}
.flow-step-time{display:inline-block;font-size:.6875rem;font-weight:700;color:var(--tl);margin-top:.25rem;background:var(--y);padding:.125rem .5rem;border-radius:50px;border:1.5px solid var(--t)}

/* FINAL CTA */
.final-cta{background:var(--brand-1,var(--o));border-top:3px solid var(--t);padding:5rem 2rem;text-align:center;position:relative;overflow:hidden}
.final-inner,.final-cta .sct-inner{max-width:760px;margin:0 auto;position:relative;z-index:1}
.final-eye{display:inline-block;background:var(--c);color:var(--t);padding:.5rem 1.25rem;border-radius:50px;font-size:.875rem;font-weight:900;margin-bottom:1.25rem;border:2px solid var(--t);box-shadow:2px 2px 0 var(--t)}
.final-cta h2{font-size:3rem;font-weight:900;color:#fff;line-height:1.25;margin-bottom:1.25rem;text-shadow:4px 4px 0 var(--t)}
.final-cta p{font-size:1.0625rem;color:#fff;font-weight:600;margin-bottom:2rem;line-height:1.75}
.final-btn{display:inline-flex;align-items:center;justify-content:center;gap:.625rem;padding:1.5rem 3rem;font-size:1.25rem;font-weight:900;background:var(--y);color:var(--t);border:3px solid var(--t);border-radius:20px;box-shadow:6px 6px 0 var(--t);transition:all .15s}
.final-btn:hover{transform:translate(3px,3px);box-shadow:3px 3px 0 var(--t)}
.final-note{margin-top:1.25rem;font-size:.8125rem;color:#fff;font-weight:600;opacity:.85}

/* STICKY + FOOTER */
.sticky-cta{display:none;position:fixed;bottom:0;left:0;right:0;z-index:99;background:var(--c);border-top:3px solid var(--t);padding:.75rem 1rem;box-shadow:0 -4px 0 #00000010}
.sticky-cta a{display:flex;align-items:center;justify-content:center;gap:.5rem;padding:.875rem;background:var(--brand-1,var(--o));color:#fff;font-weight:900;font-size:1rem;border:2px solid var(--t);border-radius:14px;box-shadow:3px 3px 0 var(--t)}
.ftr{background:var(--y);border-top:3px solid var(--t);padding:2rem;text-align:center;position:relative;overflow:hidden}
.ftr-inner{max-width:1180px;margin:0 auto;position:relative;z-index:1}
.ftr-bot{font-size:.6875rem;opacity:.7;line-height:1.7}
.ftr-bot p{margin-bottom:.25rem}

/* FAQ */
.faq-list{display:flex;flex-direction:column;gap:.75rem}
.faq-item{background:var(--c);border:3px solid var(--t);border-radius:16px;padding:1.25rem 1.5rem;box-shadow:3px 3px 0 var(--t)}
.faq-q{font-size:1rem;font-weight:900;display:flex;gap:.75rem;align-items:flex-start;cursor:pointer;line-height:1.5}
.faq-q::before{content:'Q';flex-shrink:0;width:28px;height:28px;background:var(--brand-1,var(--o));color:#fff;border-radius:50%;display:grid;place-items:center;font-size:.875rem;font-weight:900;border:2px solid var(--t)}
.faq-a{margin-top:.625rem;padding-left:2.5rem;font-size:.875rem;color:var(--tl);font-weight:500;line-height:1.75}
