*{box-sizing:border-box;margin:0;padding:0;}
:root{--amber:#FFAC26;--red:#DB4131;--red-dark:#c0392b;--hl:#CEFF48;--bg:#fafafa;--card:#fff;--text1:#000;--text2:#666;--text3:#333;}
html,body{min-height:100%;background:var(--bg);color:var(--text1);font-family:-apple-system,'Hiragino Kaku Gothic ProN','Hiragino Sans','Meiryo',sans-serif;line-height:1.6;-webkit-font-smoothing:antialiased;}
.dg-wrap{max-width:680px;margin:0 auto;padding:2rem 1rem 4rem;}

/* progress */
.dg-prog-outer{margin-bottom:2rem;}.dg-prog-meta{display:flex;justify-content:space-between;margin-bottom:.4rem;}.dg-prog-label{font-size:12px;color:var(--text2);}.dg-prog-num{font-size:12px;color:#B07000;font-weight:700;}.dg-prog-track{height:4px;background:#eee;border-radius:2px;overflow:hidden;}.dg-prog-fill{height:100%;background:var(--amber);border-radius:2px;transition:width .5s;}

/* card */
.dg-card{background:var(--card);border:1px solid var(--amber);border-radius:0;padding:1.75rem;margin-bottom:1rem;}
.dg-cat-badge{display:inline-block;font-size:12px;font-weight:700;color:#B07000;margin-bottom:.75rem;}
.dg-q-title{font-size:16px;font-weight:500;color:var(--text1);margin-bottom:1.25rem;}

/* options */
.dg-opts{display:flex;flex-direction:column;gap:7px;}
.dg-opt{display:flex;align-items:center;gap:12px;padding:11px 14px;border:1px solid #ddd;border-radius:4px;cursor:pointer;transition:all .12s;background:#fff;}
.dg-opt:hover{border-color:var(--amber);background:#fef9f0;}
.dg-opt.selected{border-color:var(--amber);background:#fef9f0;}
.dg-opt-check{width:18px;height:18px;border-radius:3px;border:1.5px solid #bbb;flex-shrink:0;position:relative;transition:all .12s;background:#fff;}
.dg-opt.selected .dg-opt-check{background:var(--amber);border-color:var(--amber);}
.dg-opt.selected .dg-opt-check::after{content:'';position:absolute;left:4px;top:1px;width:6px;height:10px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg);}
.dg-opt-text{font-size:14px;color:var(--text3);}
.dg-opt.selected .dg-opt-text{color:var(--text1);font-weight:500;}

/* industry grid */
.dg-ind-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;}
.dg-ind-btn{padding:8px 6px;border:1px solid rgba(255,172,38,.5);border-radius:0;cursor:pointer;text-align:center;font-size:13px;color:var(--text2);background:rgba(255,235,203,.2);transition:all .12s;line-height:1.4;min-height:48px;display:flex;align-items:center;justify-content:center;word-break:keep-all;}
.dg-ind-btn:hover{border-color:var(--amber);color:#B07000;background:rgba(255,235,203,.5);}
.dg-ind-btn.selected{border-color:var(--amber);color:#B07000;background:rgba(255,235,203,.5);font-weight:700;}

/* nav */
.dg-nav{display:flex;justify-content:space-between;align-items:center;margin-top:1.5rem;gap:12px;}
.dg-btn-back{font-size:13px;color:var(--text2);background:#fff;border:1px solid #ddd;padding:10px 20px;border-radius:4px;cursor:pointer;}
.dg-btn-back:hover{border-color:var(--amber);color:#B07000;}
.dg-btn-next{font-size:14px;font-weight:700;color:#fff;background:var(--red);border:none;padding:12px 32px;border-radius:4px;cursor:pointer;margin-left:auto;}
.dg-btn-next:hover{background:var(--red-dark);}
.dg-btn-next:disabled{background:#bbb;cursor:not-allowed;}

/* ── INTRO (Figma準拠) ───────────────────────── */
.dg-intro{text-align:center;padding:28px 0 8px;}
.dg-intro-title{font-family:'Noto Serif JP',serif;font-weight:900;font-size:24px;color:#FF0000;margin-bottom:16px;letter-spacing:.04em;}
.dg-intro-main{font-family:'Noto Serif JP',serif;font-weight:700;font-size:min(32px,6vw);color:#000;line-height:1.5;margin-bottom:20px;white-space:nowrap;}
.dg-hl{position:relative;display:inline;}
.dg-hl::after{content:'';position:absolute;left:0;bottom:2px;width:100%;height:7px;background:#CEFF48;z-index:-1;}
.dg-intro-meta{font-family:'Noto Serif JP',serif;font-weight:700;font-size:min(16px,3.5vw);color:#000;margin-bottom:24px;white-space:nowrap;text-align:center;display:flex;justify-content:center;align-items:center;}
.dg-intro-meta span{margin:0 2px;}

/* CTA button (Figma: #DB4131, border-radius:4, Inter SemiBold 21px) */
.dg-btn-start{display:flex;align-items:center;justify-content:center;width:100%;font-family:'Inter',-apple-system,sans-serif;font-weight:600;font-size:21px;color:#fff;background:#DB4131;border:none;padding:16px;border-radius:4px;cursor:pointer;margin-bottom:20px;position:relative;}
.dg-btn-start:hover{background:#c0392b;}
.dg-btn-start-icon{display:flex;align-items:center;justify-content:center;width:23px;height:23px;border-radius:50%;border:2px solid #fff;position:absolute;right:20px;}
.dg-btn-start-icon::after{content:'';width:0;height:0;border-left:7px solid #fff;border-top:5px solid transparent;border-bottom:5px solid transparent;margin-left:2px;}

/* carousel (Figma: bg #FFEBCB 20%, border #FFAC26 50%, 1px inner) */
.dg-carousel-outer{overflow:hidden;margin:0 -1.75rem;position:relative;}
.dg-carousel-outer::before,.dg-carousel-outer::after{content:'';position:absolute;top:0;bottom:0;width:40px;z-index:1;pointer-events:none;}
.dg-carousel-outer::before{left:0;background:linear-gradient(90deg,#fff,transparent);}
.dg-carousel-outer::after{right:0;background:linear-gradient(-90deg,#fff,transparent);}
.dg-carousel-track{display:flex;gap:10px;animation:dgScroll 30s linear infinite;width:max-content;}
.dg-carousel-track:hover{animation-play-state:paused;}
.dg-carousel-item{flex-shrink:0;padding:5px 14px;border:1px solid rgba(255,172,38,.5);border-radius:0;font-size:13px;color:var(--text3);background:rgba(255,235,203,.2);white-space:nowrap;}
@keyframes dgScroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

/* ── RESULT ──────────────────────────────────── */
.dg-result-hero{text-align:center;padding:2rem 0 1.5rem;}.dg-result-title{font-family:'Noto Serif JP',serif;font-weight:700;font-size:21px;color:var(--text1);margin-bottom:.5rem;}.dg-result-sub{font-size:13px;color:var(--text2);line-height:1.7;}
.dg-rank-wrap{margin-bottom:1rem;border-radius:0;overflow:hidden;border:1px solid var(--amber);background:#fff;}.dg-rank-wrap.r1{border-width:2px;}
.dg-rank-head{display:flex;align-items:center;gap:12px;padding:14px 16px;background:#fafafa;cursor:pointer;user-select:none;border-bottom:1px solid #eee;}
.dg-rank-num{font-size:18px;font-weight:700;width:36px;text-align:center;flex-shrink:0;color:#B07000;}
.dg-rank-info{flex:1;}.dg-rank-name{font-size:15px;font-weight:700;color:var(--text1);}
.dg-rank-match-row{display:flex;align-items:center;gap:8px;margin-top:4px;}.dg-rank-match-label{font-size:12px;color:#B07000;font-weight:700;flex-shrink:0;}.dg-rank-match-bar{flex:1;height:5px;background:#eee;border-radius:3px;overflow:hidden;max-width:120px;}.dg-rank-match-bar-fg{height:100%;border-radius:3px;background:var(--amber);}
.dg-chevron{font-size:16px;color:var(--text2);transition:transform .25s;}.dg-rank-head.open .dg-chevron{transform:rotate(180deg);}
.dg-rank-body{padding:16px;}
.dg-agent-section{margin-bottom:16px;}.dg-agent-head{display:flex;align-items:center;gap:10px;margin-bottom:12px;}.dg-agent-icon{width:36px;height:36px;border-radius:50%;background:#f0f0f0;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}.dg-agent-icon img{width:36px;height:36px;border-radius:50%;object-fit:cover;}.dg-agent-title{font-size:14px;font-weight:700;color:var(--text1);}.dg-agent-text{font-size:13px;color:var(--text3);line-height:1.9;}
.dg-recommend{border-top:1px solid #eee;padding-top:14px;margin-bottom:16px;}.dg-recommend-title{font-size:14px;font-weight:700;color:var(--red);margin-bottom:8px;}.dg-recommend-list{list-style:none;display:flex;flex-direction:column;gap:4px;}.dg-recommend-list li{font-size:13px;color:var(--text3);padding-left:16px;position:relative;line-height:1.6;}.dg-recommend-list li::before{content:"\30FB";position:absolute;left:0;}
.dg-card-cta{text-align:center;}.dg-btn-agent-cta{display:block;width:100%;background:var(--red);color:#fff;font-size:14px;font-weight:700;padding:14px 20px;border-radius:4px;border:none;cursor:pointer;text-align:center;text-decoration:none;}.dg-btn-agent-cta:hover{background:var(--red-dark);}.dg-btn-agent-cta-note{font-size:11px;color:var(--text2);text-align:center;margin-top:5px;}
.dg-cta-card{border:1.5px solid var(--amber);border-radius:0;padding:1.5rem;margin-top:1.5rem;text-align:center;background:#fff;}.dg-cta-title{font-size:15px;font-weight:700;color:var(--text1);margin-bottom:.5rem;}.dg-cta-desc{font-size:13px;color:var(--text2);line-height:1.7;margin-bottom:1rem;}.dg-btn-cta{display:inline-block;background:var(--red);color:#fff;font-size:15px;font-weight:700;padding:13px 36px;border-radius:4px;border:none;cursor:pointer;text-decoration:none;}.dg-btn-cta:hover{background:var(--red-dark);}
.dg-retry-btn{display:block;width:100%;text-align:center;font-size:13px;color:var(--text2);background:none;border:1px solid #ddd;padding:10px;border-radius:4px;margin-top:.75rem;cursor:pointer;}.dg-retry-btn:hover{border-color:var(--amber);color:#B07000;}