/* =====================================================
   layout.css — ヘッダー・フッター・ステップインジケーター
===================================================== */

/* Header */
header{position:sticky;top:0;z-index:100;background:rgba(13,27,46,.96);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border-bottom:1px solid var(--border)}
.header-inner{max-width:1160px;margin:0 auto;height:64px;display:flex;align-items:center;justify-content:space-between;padding:0 24px}
.logo{display:flex;align-items:center;gap:10px;text-decoration:none}
.logo-icon{font-size:1.6rem}
.logo-text{font-size:1.1rem;font-weight:900;color:var(--text);letter-spacing:-.01em}
.header-right{display:flex;align-items:center;gap:12px}
.header-price{font-size:.78rem;color:var(--text2);font-weight:600}
.header-price strong{color:var(--gold)}
.header-cta{font-size:.82rem;background:linear-gradient(135deg,var(--gold2),var(--gold));color:#000;font-weight:700;padding:9px 20px;border:none;border-radius:50px;cursor:pointer;transition:all .2s;white-space:nowrap}
.header-cta:hover{transform:translateY(-1px);box-shadow:0 4px 16px rgba(245,158,11,.4)}

/* Step Indicator */
.step-indicator{background:var(--navy2);border-bottom:1px solid var(--border);padding:12px 24px}
.step-indicator-inner{max-width:1160px;margin:0 auto;display:flex;align-items:center;gap:16px;flex-wrap:wrap}
#stepLabel{font-size:.82rem;color:var(--primary);font-weight:700;min-width:200px}
.step-dots{display:flex;gap:6px;align-items:center}
.step-dot{width:30px;height:30px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;transition:all .3s;border:2px solid transparent}
.step-dot.pending{background:var(--navy3);color:var(--muted);border-color:var(--border)}
.step-dot.current{background:var(--primary);color:#000;border-color:var(--primary)}
.step-dot.done{background:rgba(34,197,94,.2);color:var(--primary);border-color:var(--primary)}
.step-connector{width:20px;height:2px;background:var(--border)}
.step-connector.done{background:var(--primary)}

/* Main */
main{max-width:1160px;margin:0 auto;padding:0 16px 80px}

/* Footer */
footer{background:var(--navy2);border-top:1px solid var(--border);padding:40px 24px 24px;margin-top:0}
.footer-inner{max-width:1160px;margin:0 auto}
.footer-top{display:flex;justify-content:space-between;align-items:flex-start;gap:40px;flex-wrap:wrap;margin-bottom:32px}
.footer-logo-wrap .logo{margin-bottom:8px}
.footer-desc{font-size:.78rem;color:var(--muted);max-width:300px;line-height:1.7}
.footer-links-col h4{font-size:.82rem;font-weight:700;color:var(--text2);margin-bottom:12px}
.footer-links-col ul li{margin-bottom:6px}
.footer-links-col ul li a{font-size:.78rem;color:var(--muted)}
.footer-links-col ul li a:hover{color:var(--primary)}
.footer-bottom{border-top:1px solid var(--border);padding-top:20px;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:12px}
.footer-copy{font-size:.75rem;color:var(--muted)}
.footer-disclaimer{font-size:.7rem;color:#374151;max-width:500px;line-height:1.5}

@media(max-width:768px){
  .header-price{display:none}
  .footer-top{flex-direction:column;gap:24px}
  .footer-bottom{flex-direction:column;align-items:flex-start}
}
