/* アンケート型(商品の種タイプ診断) 共通 */
.qz,.qz *{word-break:keep-all;overflow-wrap:normal;line-break:strict}
.num{font-family:"Montserrat","Noto Sans JP",sans-serif}

/* FVのボタンを診断スタートに */
.cta.start{width:calc(100% - 28px);background:#FFE45C;box-shadow:0 5px 0 #E0BE1E;color:#1A1F2B;text-decoration:none}
.cta.start .free{background:#1450D2;color:#fff}

/* 結果 */
.qz-result{display:none;padding:10px 22px 54px;background:#fff;text-align:center}
.qz-result.show{display:block}
.rs-card{padding:26px 16px 22px;border:3px solid #1450D2;border-radius:20px;background:#fff;box-shadow:0 8px 24px rgba(20,80,210,.10)}
.rs-you{margin:0;color:#4F5B6E;font-size:15px;font-weight:700;letter-spacing:.04em}
.rs-name{margin:6px 0 16px;font-size:27px;font-weight:900;line-height:1.35;color:#1450D2;letter-spacing:.01em}
.rs-name span{box-shadow:inset 0 -11px 0 #FFE45C}
.rs-icon{display:flex;align-items:center;justify-content:center;width:120px;height:120px;margin:0 auto 16px;border-radius:50%;background:#EEF5FF}
.rs-icon svg{width:64px;height:64px;fill:none;stroke:#1450D2;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.rs-img{display:block;width:150px;height:150px;margin:0 auto 16px;border-radius:50%;object-fit:cover;object-position:center 30%;border:4px solid #EEF5FF}
.rs-img[src*="gen_ex2_keiei"]{object-position:62% 30%}
.rs-lead{margin:0 0 18px;color:#1A1F2B;font-size:17px;font-weight:700;line-height:1.75}
.rs-box{padding:16px 16px 14px;border-radius:14px;background:#FFF8D6;text-align:left}
.rs-box b,.rs-ai b{display:block;margin-bottom:8px;color:#1450D2;font-size:15px;font-weight:800;text-align:center}
.rs-box ul{margin:0;padding:0;list-style:none;display:grid;gap:8px}
.rs-box li{position:relative;padding-left:20px;color:#1A1F2B;font-size:15px;font-weight:700;line-height:1.6}
.rs-box li:before{content:"";position:absolute;left:3px;top:.55em;width:10px;height:10px;border-radius:50%;background:#1450D2}
.rs-ai{margin-top:14px;padding:14px 16px;border-radius:14px;background:#EEF5FF}
.rs-ai p+p{margin-top:10px}
.rs-ai p{margin:0;color:#1A1F2B;font-size:15px;line-height:1.8}
.rs-next{margin:28px 0 20px;color:#4F5B6E;font-size:15px;line-height:1.9}
.rs-next strong{display:inline-block;margin-top:8px;color:#1A1F2B;font-size:18px;font-weight:800;line-height:1.6}
.rs-note{margin:16px 0 0;color:#5A6480;font-size:12px;line-height:1.7}
.rs-retry{display:inline-block;margin-top:14px;color:#1450D2;font-size:14px;font-weight:700;text-decoration:underline;background:none;border:0;cursor:pointer;font-family:inherit}
.qz-result .button-area{text-align:center}

/* ===== 3 縦並び型(FVの直下に質問を並べる) ===== */
.tate{padding:0 0 30px;background:#EEF5FF}
.tate-head{position:relative;padding:22px 20px 30px;background:#1450D2;color:#fff;text-align:center;clip-path:polygon(0 0,100% 0,100% 82%,50% 100%,0 82%)}
.tate-count{display:inline-block;margin-bottom:8px;padding:3px 16px;border-radius:999px;background:#fff;color:#1450D2;font-size:15px;font-weight:800}
.tate-title{margin:0;font-size:23px;font-weight:900;line-height:1.5;letter-spacing:.02em}
.tate-title em{font-style:normal;color:#FFE45C}
.tate-list{display:grid;gap:18px;padding:22px 16px 0}
.qcard{padding:0 18px 20px;border:2px solid #B9D7FF;border-radius:16px;background:#fff;text-align:center;scroll-margin-top:72px;transition:opacity .25s}
.qcard.done{border-color:#1450D2}
.qbadge{display:inline-block;margin:-2px 0 12px;padding:4px 22px 6px;border-radius:0 0 12px 12px;background:#1450D2;color:#fff;font:800 22px/1 "Montserrat",sans-serif;letter-spacing:.04em}
.qtext{margin:0 0 16px;color:#1A1F2B;font-size:19px;font-weight:800;line-height:1.6}
.qopts{display:grid;gap:10px}
.qopt{display:block;width:100%;min-height:58px;padding:11px 14px;border:2px solid #1E66F5;border-radius:12px;background:#fff;color:#1450D2;font:700 16px/1.55 "Noto Sans JP",sans-serif;cursor:pointer;box-shadow:0 3px 0 #B9D7FF;transition:background .15s,color .15s}
.qopt.on{background:#1E66F5;color:#fff;box-shadow:0 3px 0 #1450D2}
.tate-progress{position:sticky;top:0;z-index:5;display:none;padding:9px 16px;background:rgba(255,255,255,.96);box-shadow:0 2px 8px rgba(20,80,210,.10)}
.tate-progress.show{display:block}
.bar{height:8px;border-radius:999px;background:#DCEBFF;overflow:hidden}
.bar i{display:block;height:100%;width:0;background:#1E66F5;transition:width .3s}
.bar-label{display:flex;justify-content:space-between;margin-top:4px;color:#4F5B6E;font-size:12px;font-weight:700}

/* ===== 5 別ページ型(FVのボタン→質問ページ) ===== */
.types{padding:34px 0 40px;background:#fff;text-align:center}
.types h2{margin:0 0 6px;font-size:22px;font-weight:800;line-height:1.5}
.types .types-sub{margin:0 0 18px;color:#4F5B6E;font-size:14px;line-height:1.8}
.type-row{display:flex;gap:10px;padding:0 16px 6px;overflow-x:auto;scroll-snap-type:x mandatory}
.type-card{flex:none;width:150px;padding:14px 10px 14px;border-radius:14px;background:#EEF5FF;scroll-snap-align:start}
.type-card img{display:block;width:84px;height:84px;margin:0 auto 10px;border-radius:50%;object-fit:cover;object-position:center 30%;border:3px solid #fff}
.type-card img[src*="gen_ex2_keiei"]{object-position:62% 30%}
.type-card b{display:block;color:#1450D2;font-size:15px;font-weight:800;line-height:1.45}
.type-card span{display:block;margin-top:6px;color:#4F5B6E;font-size:12px;line-height:1.6}
.types .button-area{margin-top:22px;padding:0 14px}
.start-cta{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:72px;border-radius:16px;background:#FFE45C;box-shadow:0 5px 0 #E0BE1E;color:#1A1F2B;text-decoration:none;line-height:1.3}
.start-cta small{font-size:14px;font-weight:700;letter-spacing:.06em}
.start-cta strong{font-size:24px;font-weight:900;letter-spacing:.02em}
.start-cta:after{content:"›";position:absolute;right:20px;top:50%;transform:translateY(-50%);font-size:30px;font-weight:900}

/* 質問ページ */
.qp{width:min(100%,390px);margin:0 auto;background:#fff;min-height:100vh}
.qp-head{position:relative;padding:16px 16px 18px;background:linear-gradient(90deg,#1450D2 0%,#2A7BFF 100%);color:#fff;text-align:center}
.qp-head p{margin:0;font-size:13px;font-weight:700;opacity:.9}
.qp-head h1{margin:2px 0 12px;font-size:24px;font-weight:900;letter-spacing:.02em}
.steps{display:flex;align-items:center;justify-content:center;gap:8px}
.step{display:flex;flex-direction:column;align-items:center;gap:3px;font:700 11px "Montserrat",sans-serif}
.step i{display:block;width:22px;height:22px;border:4px solid #fff;border-radius:50%}
.step.on i{border-color:#FFE45C;background:#FFE45C}
.dots{width:70px;border-top:3px dotted rgba(255,255,255,.8);margin-bottom:16px}
.qp-guide{margin:0;padding:18px 16px 4px;color:#4F5B6E;font-size:14px;font-weight:700;text-align:center}
.qp-list{padding:0 16px}
.qrow{padding:20px 0;border-bottom:1px solid #D7DFEC}
.qrow h2{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;color:#1A1F2B;font-size:17px;font-weight:700;line-height:1.6}
.qrow h2:before{content:"Q";flex:none;color:#1450D2;font:800 22px/1.2 "Montserrat",sans-serif}
.scale{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.scale button{min-height:48px;padding:6px 4px;border:2px solid #1E66F5;border-radius:999px;background:#fff;color:#1450D2;font:700 14px/1.3 "Noto Sans JP",sans-serif;cursor:pointer}
.scale button.on{background:#1E66F5;color:#fff}
.qrow.miss h2{color:#D33}
.qp-next{display:block;width:calc(100% - 32px);margin:24px 16px 10px;min-height:60px;border:0;border-radius:999px;background:#FFE45C;box-shadow:0 5px 0 #E0BE1E;color:#1A1F2B;font:900 19px "Noto Sans JP",sans-serif;cursor:pointer}
.qp-left{margin:0 0 30px;color:#5A6480;font-size:13px;text-align:center}
.qp-foot{padding:18px;background:#1A1F2B;color:#fff;text-align:center;font-size:11px}

.type-card .ticon{display:flex;align-items:center;justify-content:center;width:72px;height:72px;margin:0 auto 10px;border-radius:50%;background:#fff}
.type-card .ticon svg{width:40px;height:40px;fill:none;stroke:#1450D2;stroke-width:2.4;stroke-linecap:round;stroke-linejoin:round}
.type-card{width:140px;padding-left:8px;padding-right:8px}
.type-card b{font-size:14px}
.choice{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.choice button{min-height:56px;padding:8px 6px;border:2px solid #1E66F5;border-radius:12px;background:#fff;color:#1450D2;font:700 14px/1.45 "Noto Sans JP",sans-serif;cursor:pointer}
.choice button.on{background:#1E66F5;color:#fff}
.choice.one{grid-template-columns:1fr}

.lp-foot{width:min(100%,390px);margin:0 auto;padding:22px 16px 30px;background:#1A1F2B;color:#C9D1DE;text-align:center}
.lp-foot p{margin:0;font-size:11px;line-height:1.8}
.lp-foot-links{margin-top:10px!important}
.lp-foot a{color:#fff}
.qz.tate,.qz-result,.qz.types{width:min(100%,390px);margin-left:auto;margin-right:auto}

.type-card .tpre{display:block;color:#4F5B6E;font:800 13px/1.2 "Noto Sans JP",sans-serif;letter-spacing:.04em}
.type-card b{margin-top:3px;font-size:15px;white-space:nowrap}
.rs-name small{display:block;margin:14px 0 4px;color:#4F5B6E;font:800 17px/1.2 "Noto Sans JP",sans-serif;letter-spacing:.06em}

/* 終わりの画面(結果はLINEで受け取る) */
.rs-end-title{margin:6px 0 16px;color:#1A1F2B;font-size:24px;font-weight:900;line-height:1.5}
.rs-icon.rs-line{background:#E7F9EE}
.rs-icon.rs-line svg{stroke:#06C755}
.rs-end-sub{margin:0;color:#4F5B6E;font-size:14px;font-weight:700;line-height:1.8}
.rs-end + .button-area{margin-top:26px}
