
/* ============================================================
   LP PAGES — 本格プラン・ビジネス鑑定
   ============================================================ */
.btn-gold{background:var(--gold);color:var(--black);}
.btn-gold:hover{background:var(--gold-l);transform:translateY(-2px);box-shadow:0 6px 20px rgba(200,168,75,.35);}
.btn-outline{background:transparent;color:var(--gold);border:1px solid var(--gold);}
.btn-outline:hover{background:var(--gold);color:var(--black);transform:translateY(-2px);}
.btn-large{padding:18px 56px;font-size:1.125rem;}

.lp-hero{position:relative;min-height:92vh;display:flex;align-items:center;justify-content:center;padding-top:72px;overflow:hidden;}
.lp-hero-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0;}
.lp-hero-bg::after{content:'';position:absolute;inset:0;background:linear-gradient(to bottom,rgba(10,10,10,.65) 0%,rgba(10,10,10,.48) 45%,rgba(10,10,10,.88) 100%);}
.lp-hero-inner{position:relative;z-index:1;text-align:center;max-width:780px;padding:60px 24px;}
.hero-top-badge{display:inline-block;font-size:.875rem;color:var(--gold);letter-spacing:.35em;font-family:var(--f-sans);padding:7px 28px;border:1px solid var(--border);margin-bottom:32px;}
.lp-hero h1{color:var(--white);font-weight:700;margin-bottom:24px;}
.lp-hero h1 .accent{color:var(--gold);}
.lp-hero-lead{font-size:clamp(1rem,2.2vw,1.25rem);color:var(--text-sub);margin-bottom:14px;letter-spacing:.06em;line-height:1.9;}
.lp-hero-sub{font-size:.9375rem;color:var(--text-muted);max-width:540px;margin:0 auto 44px;line-height:1.9;}
.hero-btns{display:flex;gap:16px;justify-content:center;flex-wrap:wrap;margin-bottom:40px;}
.hero-social-proof{display:flex;gap:28px;justify-content:center;flex-wrap:wrap;}
.proof-item{font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);display:flex;align-items:center;gap:6px;}
.proof-item::before{content:'\25C6';color:var(--gold);font-size:.6rem;}

.sec-title{text-align:center;margin-bottom:48px;}
.sec-title .en{font-size:.875rem;color:var(--gold);letter-spacing:.35em;font-family:var(--f-sans);margin-bottom:10px;}
.sec-title h2{color:var(--white);}

.forwho-sec{padding:80px 0;background:var(--black-mid);border-top:1px solid var(--border);}
.forwho-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.forwho-card{background:var(--black-card);border:1px solid var(--border-d);padding:28px 24px;}
.forwho-card .mark{width:32px;height:32px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.875rem;font-family:var(--f-sans);margin-bottom:14px;}
.forwho-card h3{font-size:1rem;color:var(--white);margin-bottom:8px;line-height:1.5;}
.forwho-card p{font-size:.9375rem;color:var(--text-sub);line-height:1.8;}

.problem-sec{padding:80px 0;background:var(--black-mid);border-top:1px solid var(--border);}
.problem-title{text-align:center;margin-bottom:48px;}
.problem-title .en{font-size:.875rem;color:var(--gold);letter-spacing:.35em;font-family:var(--f-sans);margin-bottom:10px;}
.problem-title h2{color:var(--white);}
.problem-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.problem-card{background:var(--black-card);border:1px solid var(--border-d);padding:28px 24px;position:relative;}
.problem-card::before{content:'';position:absolute;top:0;left:0;width:100%;height:2px;background:rgba(201,54,42,.5);}
.problem-num{font-size:2rem;color:rgba(201,54,42,.3);font-family:var(--f-sans);font-weight:700;line-height:1;margin-bottom:12px;}
.problem-card h3{font-size:1rem;color:var(--white);margin-bottom:10px;letter-spacing:.03em;}
.problem-card p{font-size:.9375rem;color:var(--text-sub);line-height:1.8;}
.problem-inner{max-width:760px;margin:0 auto;}
.problem-lead{font-size:clamp(1.125rem,2.5vw,1.4375rem);color:var(--white);line-height:1.7;text-align:center;margin-bottom:40px;}
.problem-lead .gold{color:var(--gold);}
.problem-list{display:flex;flex-direction:column;gap:14px;}
.problem-item{display:flex;gap:16px;align-items:flex-start;background:var(--black-card);border:1px solid var(--border-d);padding:20px 24px;}
.problem-mark{width:24px;height:24px;border-radius:50%;background:rgba(201,54,42,.15);border:1px solid rgba(201,54,42,.3);display:flex;align-items:center;justify-content:center;color:var(--vermillion);font-size:.75rem;flex-shrink:0;margin-top:2px;font-family:var(--f-sans);}
.problem-item p{font-size:.9375rem;color:var(--text-sub);line-height:1.7;}

.answer-sec{padding:80px 0;background:var(--black);border-top:1px solid var(--border-d);}
.answer-inner{max-width:760px;margin:0 auto;text-align:center;}
.answer-lead{font-size:clamp(1.125rem,2.5vw,1.5rem);color:var(--white);line-height:1.7;margin-bottom:24px;}
.answer-lead .gold{color:var(--gold);}
.answer-body{color:var(--text-sub);line-height:1.95;font-size:1.0625rem;margin-bottom:36px;}
.answer-divider{width:48px;height:1px;background:var(--gold);margin:0 auto 36px;}

.mechanism-sec{padding:80px 0;background:var(--black-mid);border-top:1px solid var(--border);}
.mechanism-grid{display:grid;grid-template-columns:1fr 1fr;gap:28px;margin-top:48px;}
.mech-card{background:var(--black-card);border:1px solid var(--border-d);padding:32px 28px;position:relative;overflow:hidden;}
.mech-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);}
.mech-tag{font-size:.875rem;color:var(--gold);font-family:var(--f-sans);letter-spacing:.2em;margin-bottom:12px;}
.mech-card h3{color:var(--white);margin-bottom:12px;font-size:1.0625rem;}
.mech-card p{color:var(--text-sub);font-size:.9375rem;line-height:1.8;}

.why-sec{padding:80px 0;background:var(--black-mid);border-top:1px solid var(--border);}
.why-title{text-align:center;margin-bottom:52px;}
.why-title .en{font-size:.875rem;color:var(--gold);letter-spacing:.35em;font-family:var(--f-sans);margin-bottom:10px;}
.why-title h2{color:var(--white);}
.why-list{display:flex;flex-direction:column;gap:28px;}
.why-item{display:grid;grid-template-columns:72px 1fr;gap:28px;align-items:start;background:var(--black-card);border:1px solid var(--border-d);padding:32px;position:relative;overflow:hidden;}
.why-item::before{content:'';position:absolute;left:0;top:0;bottom:0;width:2px;background:var(--gold);}
.why-num{font-size:2.5rem;color:var(--gold);font-family:var(--f-sans);font-weight:700;line-height:1;opacity:.5;}
.why-body h3{color:var(--white);margin-bottom:10px;font-size:1.125rem;}
.why-body p{color:var(--text-sub);line-height:1.85;font-size:.9375rem;}
.why-body .highlight{color:var(--gold);font-weight:700;}

.deliverable-sec{padding:80px 0;background:var(--black);border-top:1px solid var(--border-d);}
.deliverable-title{text-align:center;margin-bottom:52px;}
.deliverable-title .en{font-size:.875rem;color:var(--gold);letter-spacing:.35em;font-family:var(--f-sans);margin-bottom:10px;}
.deliverable-title h2{color:var(--white);}
.deliverable-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:40px;}
.del-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-bottom:32px;}
.del-card{background:var(--black-card);border:1px solid var(--border-d);padding:28px 24px;position:relative;}
.del-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);}
.del-num{font-size:.875rem;color:var(--gold);font-family:var(--f-sans);letter-spacing:.2em;margin-bottom:10px;}
.del-card h3{color:var(--white);margin-bottom:10px;font-size:1.0625rem;}
.del-card p{color:var(--text-sub);font-size:.9375rem;line-height:1.8;}
.del-card .extra{font-size:.875rem;color:var(--gold);margin-top:10px;font-family:var(--f-sans);}
.del-total{background:rgba(200,168,75,.06);border:1px solid var(--gold);padding:32px;text-align:center;}
.del-total .label{font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);letter-spacing:.2em;margin-bottom:8px;}
.del-total .price{font-size:clamp(2rem,5vw,3rem);color:var(--gold);font-weight:700;}
.del-total .price sub{font-size:.9375rem;font-weight:400;margin-left:4px;}
.del-total .price-note{font-size:.9375rem;color:var(--text-muted);margin-top:6px;}
.del-total .delivery{font-size:.875rem;color:var(--text-sub);margin-top:12px;font-family:var(--f-sans);}

.testi-sec{padding:80px 0;background:var(--black-mid);border-top:1px solid var(--border);}
.testi-title{text-align:center;margin-bottom:48px;}
.testi-title .en{font-size:.875rem;color:var(--gold);letter-spacing:.35em;font-family:var(--f-sans);margin-bottom:10px;}
.testi-title h2{color:var(--white);}
.testi-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:20px;}
.testi-card{background:var(--black-card);border:1px solid var(--border-d);padding:28px 24px;}
.testi-quote{font-size:2.5rem;color:var(--gold);opacity:.25;line-height:1;margin-bottom:10px;font-family:Georgia,serif;}
.testi-stars{color:var(--gold);font-size:.9375rem;margin-bottom:10px;}
.testi-text{font-size:.9375rem;color:var(--text-sub);line-height:1.8;margin-bottom:20px;}
.testi-meta{display:flex;align-items:center;gap:12px;}
.testi-avatar{width:36px;height:36px;border-radius:50%;background:var(--black-light);border:1px solid var(--border-d);display:flex;align-items:center;justify-content:center;color:var(--text-muted);font-size:.875rem;flex-shrink:0;font-family:var(--f-sans);}
.testi-name{font-size:.9375rem;color:var(--white);}
.testi-tag{font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);}
.testi-coconala{text-align:center;font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);}

.flow-sec{padding:80px 0;background:var(--black);border-top:1px solid var(--border-d);}
.flow-title{text-align:center;margin-bottom:52px;}
.flow-title .en,.flow-title h2{color:var(--white);}
.flow-title .en{font-size:.875rem;color:var(--gold);letter-spacing:.35em;font-family:var(--f-sans);margin-bottom:10px;}
.flow-list{display:flex;flex-direction:column;gap:0;max-width:680px;margin:0 auto;}
.flow-item{display:grid;grid-template-columns:48px 1fr;gap:24px;align-items:start;padding:24px 0;border-bottom:1px solid var(--border-d);}
.flow-item:last-child{border-bottom:none;}
.flow-step{width:44px;height:44px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:.9375rem;font-family:var(--f-sans);font-weight:600;flex-shrink:0;}
.flow-body h4{color:var(--white);font-size:1rem;margin-bottom:6px;}
.flow-body p{color:var(--text-sub);font-size:.9375rem;line-height:1.7;}

.faq-sec{padding:72px 0;background:var(--black-mid);border-top:1px solid var(--border);}
.faq-title{text-align:center;margin-bottom:44px;}
.faq-title .en{font-size:.875rem;color:var(--gold);letter-spacing:.35em;font-family:var(--f-sans);margin-bottom:10px;}
.faq-title h2{color:var(--white);}
.faq-list{max-width:760px;margin:0 auto;}
.faq-item{border-bottom:1px solid var(--border-d);}
.faq-q{display:flex;justify-content:space-between;align-items:center;padding:20px 0;cursor:pointer;gap:24px;}
.faq-q h3{font-size:.9375rem;color:var(--white);line-height:1.5;}
.faq-icon{flex-shrink:0;width:24px;height:24px;border-radius:50%;border:1px solid var(--gold);display:flex;align-items:center;justify-content:center;color:var(--gold);font-size:1rem;transition:transform var(--ease);}
.faq-item.active .faq-icon{transform:rotate(45deg);}
.faq-a{display:none;padding:0 0 20px;color:var(--text-sub);line-height:1.9;font-size:.9375rem;}
.faq-item.active .faq-a{display:block;}

.final-cta{padding:96px 0;background:var(--black);border-top:1px solid var(--border);}
.final-cta-inner{text-align:center;max-width:680px;margin:0 auto;}
.final-cta .badge{display:inline-block;font-size:.875rem;color:var(--gold);letter-spacing:.3em;font-family:var(--f-sans);padding:6px 24px;border:1px solid var(--border);margin-bottom:28px;}
.final-cta h2{color:var(--white);margin-bottom:16px;}
.final-cta-inner > p{color:var(--text-sub);line-height:1.9;margin-bottom:36px;}
.final-price-box{background:var(--black-card);border:1px solid var(--gold);padding:32px;margin-bottom:32px;}
.final-price-box .price-label{font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);letter-spacing:.2em;margin-bottom:8px;}
.final-price-box .price{font-size:clamp(2rem,5vw,3rem);color:var(--gold);font-weight:700;}
.final-price-box .price sub{font-size:.9375rem;font-weight:400;margin-left:4px;}
.final-price-box .price-includes{font-size:.875rem;color:var(--text-muted);margin-top:10px;font-family:var(--f-sans);line-height:1.6;}
.final-price-box .delivery{font-size:.875rem;color:var(--text-sub);margin-top:8px;}
.cta-btns{display:flex;gap:14px;justify-content:center;flex-wrap:wrap;margin-bottom:20px;}
.cta-note{font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);}
.cta-other{margin-top:24px;font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);}
.cta-other a{color:var(--gold);}

.sticky-cta{position:fixed;bottom:0;left:0;right:0;background:rgba(14,14,14,.97);border-top:1px solid var(--border);padding:14px 24px;z-index:900;display:flex;align-items:center;justify-content:center;gap:20px;transform:translateY(100%);transition:transform .4s ease;}
.sticky-cta.show{transform:translateY(0);}
.sticky-label{font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);}
.sticky-price{font-size:1.25rem;color:var(--gold);font-weight:700;font-family:var(--f-sans);}
.sticky-btn{padding:12px 32px;background:var(--vermillion);color:var(--white);border-radius:2px;font-size:.9375rem;font-family:var(--f-sans);font-weight:600;letter-spacing:.06em;transition:var(--ease);white-space:nowrap;}
.sticky-btn:hover{background:var(--verm-h);}

/* ============================================================
   404 PAGE
   ============================================================ */
.error-hero{min-height:60vh;display:flex;align-items:center;justify-content:center;text-align:center;padding:120px 24px 80px;background:radial-gradient(ellipse at 50% 30%,rgba(200,168,75,.07) 0%,transparent 60%),var(--black);}
.error-num{font-size:clamp(5rem,15vw,9rem);font-weight:700;font-family:var(--f-sans);color:transparent;-webkit-text-stroke:1px rgba(200,168,75,.3);letter-spacing:.1em;line-height:1;margin-bottom:16px;}
.error-label{font-size:.875rem;color:var(--gold);letter-spacing:.4em;font-family:var(--f-sans);margin-bottom:20px;}
.error-title{font-size:clamp(1.125rem,3vw,1.5rem);color:var(--white);margin-bottom:14px;letter-spacing:.06em;}
.error-text{font-size:.9375rem;color:var(--text-muted);line-height:1.9;max-width:480px;margin:0 auto 36px;}
.error-links{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;}
.error-link{font-size:.875rem;color:var(--text-muted);font-family:var(--f-sans);padding:8px 20px;border:1px solid var(--border-d);transition:var(--ease);}
.error-link:hover{border-color:var(--gold);color:var(--gold);}
.suggest-sec{background:var(--black-mid);border-top:1px solid var(--border);padding:72px 0 80px;}
.suggest-label{font-size:.8125rem;color:var(--gold);letter-spacing:.4em;font-family:var(--f-sans);text-align:center;margin-bottom:16px;}
.suggest-title{font-size:clamp(1.125rem,2.5vw,1.5rem);color:var(--white);text-align:center;letter-spacing:.06em;margin-bottom:10px;}
.suggest-sub{text-align:center;font-size:.9375rem;color:var(--text-muted);font-family:var(--f-sans);margin-bottom:48px;}
.suggest-cards{display:grid;grid-template-columns:1fr 60px 1fr;align-items:stretch;}
.suggest-card{background:var(--black-card);border:1px solid var(--border-d);padding:36px 32px;display:flex;flex-direction:column;position:relative;overflow:hidden;}
.suggest-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;}
.suggest-card-honkaku{border-right:none;}
.suggest-card-honkaku::before{background:linear-gradient(90deg,transparent,var(--vermillion),transparent);}
.suggest-card-business::before{background:linear-gradient(90deg,transparent,var(--gold),transparent);}
.suggest-or{display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative;}
.suggest-or::before{content:'';position:absolute;top:0;bottom:0;left:50%;width:1px;background:var(--border-d);}
.suggest-or span{background:var(--black-mid);color:var(--text-muted);font-size:.75rem;font-family:var(--f-sans);padding:8px 0;position:relative;z-index:1;}
.suggest-tag{font-size:.75rem;letter-spacing:.12em;font-family:var(--f-sans);padding:3px 12px;border-radius:2px;margin-bottom:16px;display:inline-block;}
.suggest-tag-red{color:var(--vermillion);border:1px solid rgba(201,54,42,.4);}
.suggest-tag-gold{color:var(--gold);border:1px solid var(--border);}
.suggest-type{font-size:.8125rem;color:var(--text-muted);letter-spacing:.25em;font-family:var(--f-sans);margin-bottom:8px;}
.suggest-name{font-size:clamp(1.125rem,2.5vw,1.375rem);color:var(--white);line-height:1.45;letter-spacing:.04em;margin-bottom:12px;}
.suggest-price{font-size:2rem;font-weight:700;font-family:var(--f-sans);line-height:1;margin-bottom:8px;}
.suggest-price-red{color:var(--vermillion);}
.suggest-price-gold{color:var(--gold);}
.suggest-price span{font-size:.875rem;font-weight:400;color:var(--text-muted);margin-left:4px;}
.suggest-desc{font-size:.9375rem;color:var(--text-sub);line-height:1.75;margin-bottom:24px;flex:1;}
.suggest-btn{display:block;padding:14px;text-align:center;font-size:.9375rem;font-family:var(--f-sans);font-weight:600;letter-spacing:.06em;border-radius:2px;transition:all .3s ease;margin-top:auto;}
.suggest-btn-red{background:var(--vermillion);color:var(--white);}
.suggest-btn-red:hover{background:var(--verm-h);transform:translateY(-2px);}
.suggest-btn-gold{background:transparent;color:var(--gold);border:1px solid var(--gold);}
.suggest-btn-gold:hover{background:var(--gold);color:var(--black);transform:translateY(-2px);}

/* ── TENCHIJIN ── */
.tenchijin-sec{padding:88px 0;background:var(--black);border-top:1px solid var(--border-d);}
.sec-subtitle{font-size:1rem;color:var(--text-sub);max-width:560px;margin:12px auto 0;line-height:1.9;text-align:center;}
.tchj-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:36px;}
.tchj-card{background:var(--black-card);border:1px solid var(--border-d);padding:36px 28px;position:relative;overflow:hidden;}
.tchj-card::before{content:'';position:absolute;top:0;left:0;right:0;height:2px;background:var(--gold);}
.tchj-kanji{font-size:5rem;color:var(--gold);font-weight:700;opacity:.07;position:absolute;top:8px;right:16px;line-height:1;font-family:var(--f-serif);pointer-events:none;}
.tchj-tag{font-size:.875rem;color:var(--gold);font-family:var(--f-sans);letter-spacing:.25em;margin-bottom:12px;}
.tchj-card h3{color:var(--white);font-size:1.0625rem;margin-bottom:12px;line-height:1.5;}
.tchj-card p{color:var(--text-sub);font-size:.9375rem;line-height:1.85;}
.tchj-reverse{background:rgba(201,54,42,.04);border:1px solid rgba(201,54,42,.18);padding:36px;margin-bottom:40px;}
.tchj-rev-label{font-size:.875rem;color:var(--vermillion);font-family:var(--f-sans);letter-spacing:.25em;margin-bottom:24px;}
.tchj-rev-list{display:grid;grid-template-columns:repeat(3,1fr);gap:24px;}
.tchj-rev-item{display:flex;flex-direction:column;gap:8px;}
.tchj-rev-head{font-size:.9375rem;color:var(--white);font-weight:700;}
.tchj-rev-item p{font-size:.9375rem;color:var(--text-muted);line-height:1.8;}
.tchj-cta-lead{text-align:center;padding:8px 0 0;}
.tchj-cta-lead p{color:var(--text-sub);line-height:1.9;margin-bottom:24px;font-size:.9375rem;}

/* ============================================================
   LP / 404 RESPONSIVE
   ============================================================ */
@media(max-width:1024px){
  .testi-grid{grid-template-columns:1fr 1fr;}
  .problem-grid{grid-template-columns:1fr;}
  .forwho-grid{grid-template-columns:1fr;}
  .mechanism-grid{grid-template-columns:1fr;}
}
@media(max-width:768px){
  .deliverable-grid,.del-grid{grid-template-columns:1fr;}
  .testi-grid{grid-template-columns:1fr;}
  .why-item{grid-template-columns:1fr;}
  .why-num{display:none;}
  .sticky-label,.sticky-price{display:none;}
  .sticky-cta{justify-content:center;}
  .suggest-cards{grid-template-columns:1fr;}
  .suggest-or{flex-direction:row;padding:20px 0;}
  .suggest-or::before{top:50%;bottom:auto;left:0;right:0;width:100%;height:1px;}
  .suggest-card-honkaku{border-right:1px solid var(--border-d);border-bottom:none;}
  .tchj-grid,.tchj-rev-list{grid-template-columns:1fr;}
  .tchj-kanji{font-size:3.5rem;}
}
@media(max-width:480px){
  .hero-btns,.cta-btns{flex-direction:column;align-items:center;}
}
