/* ===========================
   COZEO Help/guide (ご利用ガイド)
   依存: cozeo-common.css(header/footer/breadcrumb)
        cozeo-legal.css(.legal-info-box reused as .info-box)
   =========================== */

/* HERO - dark */
.guide-hero{position:relative;background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);color:#fff;padding:56px 0 90px;overflow:hidden;}
.guide-hero::before{content:"";position:absolute;top:-150px;right:-150px;width:560px;height:560px;border-radius:50%;background:radial-gradient(circle, rgba(245,184,31,.18) 0%, transparent 70%);pointer-events:none;}
.guide-hero::after{content:"";position:absolute;bottom:-200px;left:-150px;width:480px;height:480px;border-radius:50%;background:radial-gradient(circle, rgba(25,118,237,.16) 0%, transparent 70%);pointer-events:none;}
.guide-hero-inner{max-width:1280px;margin:0 auto;padding:0 24px;position:relative;z-index:1;display:grid;grid-template-columns:1.2fr 1fr;gap:40px;align-items:center;}
.guide-hero .en{font-family:var(--font-en);font-size:11px;font-weight:700;color:var(--gold);letter-spacing:.3em;display:inline-flex;align-items:center;gap:12px;margin-bottom:14px;}
.guide-hero .en::before{content:"";width:30px;height:1px;background:var(--gold);}
.guide-hero h1{font-size:36px;font-weight:900;letter-spacing:-.01em;line-height:1.3;margin-bottom:12px;color:#fff;}
.guide-hero h1 .accent{color:var(--gold);}
.guide-hero p{font-size:14px;color:var(--text-on-dark);line-height:1.95;max-width:540px;}
.guide-hero p a{color:var(--gold);font-weight:700;text-decoration:underline;}

/* QUICK CARDS */
.quick-cards{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.quick-card{padding:18px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:14px;transition:all .25s ease;text-decoration:none;color:#fff;}
.quick-card:hover{background:rgba(255,255,255,.1);transform:translateY(-3px);}
.quick-card .ico{width:36px;height:36px;border-radius:10px;background:rgba(245,184,31,.15);color:var(--gold);display:grid;place-items:center;margin-bottom:10px;border:1px solid rgba(245,184,31,.3);}
.quick-card .ico svg{width:18px;height:18px;}
.quick-card h4{font-size:13px;font-weight:800;color:#fff;margin-bottom:3px;}
.quick-card p{font-size:11px;color:var(--text-on-dark);line-height:1.55;margin:0;}

/* MAIN */
.guide-main{max-width:1280px;margin:-50px auto 60px;padding:0 24px;display:grid;grid-template-columns:240px 1fr;gap:28px;align-items:flex-start;position:relative;z-index:2;}

/* SIDEBAR - sticky toc */
.guide-toc{position:sticky;top:84px;background:#fff;border-radius:14px;overflow:hidden;box-shadow:0 12px 32px rgba(30,42,82,.08);}
.guide-toc-head{padding:14px 18px;background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);color:#fff;position:relative;overflow:hidden;}
.guide-toc-head::after{content:"";position:absolute;top:-40px;right:-40px;width:140px;height:140px;border-radius:50%;background:radial-gradient(circle, rgba(245,184,31,.18) 0%, transparent 70%);pointer-events:none;}
.guide-toc-head .title{font-size:13px;font-weight:800;display:flex;align-items:center;gap:10px;position:relative;z-index:1;}
.guide-toc-head .title::before{content:"";width:3px;height:14px;background:var(--gold);border-radius:2px;}
.guide-toc-head .en{font-family:var(--font-en);font-size:9.5px;font-weight:700;color:var(--gold);letter-spacing:.25em;display:block;margin-top:5px;position:relative;z-index:1;}
.guide-toc ul{list-style:none;padding:8px 0;margin:0;}
.guide-toc li a{display:flex;align-items:center;gap:10px;padding:10px 18px;font-size:12.5px;color:var(--text-sub);font-weight:600;transition:all .15s;border-left:3px solid transparent;text-decoration:none;}
.guide-toc li a svg{width:14px;height:14px;color:var(--text-mute);transition:color .15s;flex-shrink:0;}
.guide-toc li a:hover{color:var(--navy);background:var(--bg);}
.guide-toc li a:hover svg{color:var(--blue);}

/* SUPPORT CARD */
.guide-support{margin-top:18px;padding:18px;background:linear-gradient(135deg, rgba(245,184,31,.12), rgba(245,184,31,.04));border:1px solid rgba(245,184,31,.3);border-radius:14px;text-align:center;}
.guide-support .ico{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg, var(--gold), var(--gold-deep));color:#fff;display:grid;place-items:center;margin:0 auto 10px;}
.guide-support .ico svg{width:22px;height:22px;}
.guide-support h4{font-size:13px;font-weight:800;color:var(--navy);margin-bottom:3px;}
.guide-support p{font-size:11px;color:var(--text-sub);line-height:1.55;margin-bottom:12px;}
.guide-support .btn{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;background:#fff;border:1.5px solid var(--gold-deep);color:var(--gold-deep);font-size:11.5px;font-weight:800;border-radius:8px;transition:all .2s;text-decoration:none;}
.guide-support .btn:hover{background:var(--gold-deep);color:#fff;}
.guide-support .btn svg{width:13px;height:13px;}

/* CONTENT CARDS */
.guide-content{display:flex;flex-direction:column;gap:18px;min-width:0;}
.guide-card{background:#fff;border-radius:14px;box-shadow:0 4px 16px rgba(30,42,82,.04);overflow:hidden;}
.guide-card-head{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:16px 22px;background:var(--bg);border-bottom:1px solid var(--line);}
.guide-card-head .title{display:flex;align-items:center;gap:10px;font-size:17px;font-weight:900;color:var(--navy);letter-spacing:-.01em;}
.guide-card-head .title::before{content:"";width:4px;height:20px;background:var(--gold);border-radius:2px;}
.guide-card-head .en{font-family:var(--font-en);font-size:10px;font-weight:700;color:var(--text-mute);letter-spacing:.25em;}
.guide-card-body{padding:24px 26px;}
.guide-card-body p{font-size:13.5px;color:var(--text-sub);line-height:1.95;margin-bottom:14px;}
.guide-card-body p strong{color:var(--navy);font-weight:700;}
.guide-card-body p:last-child{margin-bottom:0;}
.guide-card-body h3{font-size:15px;font-weight:800;color:var(--navy);padding-left:12px;border-left:4px solid var(--blue);margin:24px 0 12px;line-height:1.45;}
.guide-card-body h3:first-child{margin-top:0;}
.guide-card-body h4{font-size:13.5px;font-weight:800;color:var(--navy);margin:18px 0 8px;display:flex;align-items:center;gap:8px;}
.guide-card-body h4::before{content:"";width:6px;height:6px;border-radius:50%;background:var(--blue);flex-shrink:0;}

/* STEPS */
.guide-steps{display:grid;grid-template-columns:repeat(4, 1fr);gap:12px;margin:8px 0 14px;}
.guide-step{padding:18px 16px;background:#fff;border:1px solid var(--line);border-radius:12px;transition:transform .25s ease, box-shadow .25s ease;}
.guide-step:hover{transform:translateY(-3px);box-shadow:0 12px 24px rgba(30,42,82,.08);}
.guide-step .num{font-family:var(--font-en);font-size:9.5px;font-weight:800;letter-spacing:.25em;margin-bottom:10px;display:flex;align-items:center;gap:8px;color:var(--text-mute);}
.guide-step:nth-child(1) .num::before{content:"1";}
.guide-step:nth-child(2) .num::before{content:"2";}
.guide-step:nth-child(3) .num::before{content:"3";}
.guide-step:nth-child(4) .num::before{content:"4";}
.guide-step .num::before{width:24px;height:24px;border-radius:50%;background:var(--navy);color:#fff;display:grid;place-items:center;font-size:11px;font-weight:900;}
.guide-step .ico{width:34px;height:34px;border-radius:8px;background:rgba(25,118,237,.08);color:var(--blue);display:grid;place-items:center;margin-bottom:10px;border:1px solid rgba(25,118,237,.18);}
.guide-step .ico svg{width:18px;height:18px;}
.guide-step h5{font-size:13.5px;font-weight:800;color:var(--navy);margin-bottom:5px;}
.guide-step p{font-size:11.5px;color:var(--text-sub);line-height:1.6;margin:0;}

/* INFO/WARN BOX (guide-specific local copies) */
.guide-info{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:rgba(25,118,237,.05);border:1px solid rgba(25,118,237,.18);border-radius:10px;margin:8px 0 14px;font-size:12.5px;color:var(--text-sub);line-height:1.7;}
.guide-info svg{width:18px;height:18px;color:var(--blue);flex-shrink:0;margin-top:1px;}
.guide-info strong{color:var(--navy);font-weight:700;}
.guide-warn{display:flex;align-items:flex-start;gap:12px;padding:14px 16px;background:rgba(230,57,70,.05);border:1px solid rgba(230,57,70,.2);border-radius:10px;margin:8px 0 14px;font-size:12.5px;color:var(--text-sub);line-height:1.7;}
.guide-warn svg{width:18px;height:18px;color:var(--red);flex-shrink:0;margin-top:1px;}
.guide-warn strong{color:var(--red);font-weight:700;}

/* BULLETS */
.guide-bullets{list-style:none;display:flex;flex-direction:column;gap:8px;margin:8px 0 14px;padding-left:0;}
.guide-bullets li{position:relative;padding-left:22px;font-size:13px;color:var(--text-sub);line-height:1.75;}
.guide-bullets li::before{content:"";position:absolute;left:0;top:8px;width:8px;height:8px;border-radius:50%;background:var(--blue);}
.guide-bullets li strong{color:var(--navy);font-weight:700;}

/* CTA ROW (inline) */
.guide-cta-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px;}
.guide-cta-row .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;background:linear-gradient(135deg, var(--navy-deep) 0%, var(--navy) 100%);color:#fff;font-size:14.5px;font-weight:800;border-radius:12px;letter-spacing:.04em;transition:transform .2s, box-shadow .2s;text-decoration:none;border:none;cursor:pointer;font-family:inherit;}
.guide-cta-row .btn-primary:hover{transform:translateY(-2px);box-shadow:0 12px 24px rgba(20,29,58,.25);}
.guide-cta-row .btn-primary svg{width:14px;height:14px;}
.guide-cta-row .btn-outline{display:inline-flex;align-items:center;gap:8px;padding:16px 24px;background:#fff;border:1.5px solid var(--line);color:var(--navy);font-size:14.5px;font-weight:700;border-radius:12px;transition:all .2s;text-decoration:none;}
.guide-cta-row .btn-outline:hover{border-color:var(--navy);background:var(--bg);}
.guide-cta-row .btn-outline svg{width:14px;height:14px;}

/* FAQ items */
.guide-faq h3{margin-top:18px;}
.guide-faq h3:first-child{margin-top:0;}

/* RESPONSIVE */
@media (max-width: 1100px){
  .guide-main{grid-template-columns:1fr;margin-top:-50px;}
  .guide-toc{position:relative;top:0;}
  .guide-hero-inner{grid-template-columns:1fr;}
  .quick-cards{grid-template-columns:repeat(4, 1fr);}
}
@media (max-width: 760px){
  .guide-hero{padding:36px 0 70px;}
  .guide-hero h1{font-size:26px;}
  .quick-cards{grid-template-columns:repeat(2, 1fr);}
  .guide-main{padding:0 16px;}
  .guide-steps{grid-template-columns:1fr 1fr;}
  .guide-card-head{padding:12px 16px;}
  .guide-card-body{padding:16px;}
  .guide-card-head .title{font-size:15px;}
  .guide-card-head .en{font-size:9.5px;letter-spacing:.2em;}
}
