/* Koredas Desk AI — 診断UI / 結果インフォグラフィック (絵文字禁止・FontAwesome) */
.kd-wrap{max-width:920px;margin:0 auto;font-family:'Hiragino Sans','Noto Sans JP',sans-serif}

/* S1 FV */
.kd-fv{text-align:center;padding:6px 12px 22px}
.kd-h1{font-size:27px;font-weight:800;color:#11324F;line-height:1.45;margin:0 0 14px}
.kd-sub{font-size:14.5px;color:#475569;line-height:1.8;max-width:680px;margin:0 auto 18px}
.kd-badges{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;font-size:13px;color:#5b6b7b;font-weight:600}
.kd-badges i{color:#2E9E7B;margin-right:5px}
@media(max-width:640px){.kd-h1{font-size:22px}.kd-badges{gap:10px;font-size:12px}}

/* サンプルCTA */
.kd-sample-btn{display:inline-flex;align-items:center;gap:7px;background:none;border:0;color:#2E9E7B;font-weight:700;font-size:14px;cursor:pointer;margin-top:14px;text-decoration:underline;text-underline-offset:3px}
.kd-sample-btn:hover{color:#268168}

/* 任意3問アコーディオン */
.kd-qa{margin:16px auto 4px;max-width:560px;background:#F7FBFA;border:1px solid #d8e7e1;border-radius:12px;padding:4px 16px 14px}
.kd-qa summary{cursor:pointer;font-weight:800;color:#11324F;font-size:14.5px;padding:12px 0;list-style:none}
.kd-qa summary::-webkit-details-marker{display:none}
.kd-qa summary i{color:#2E9E7B;margin-right:8px}
.kd-qa-note{font-size:12px;color:#64748B;margin:0 0 12px}
.kd-q{margin-bottom:14px}
.kd-q-t{font-size:13.5px;font-weight:700;color:#334155;margin:0 0 8px}
.kd-opts{display:flex;flex-wrap:wrap;gap:8px}
.kd-opts button{background:#fff;border:1.5px solid #cdd9d4;color:#334155;font-size:13px;font-weight:600;padding:8px 14px;border-radius:30px;cursor:pointer;transition:.15s}
.kd-opts button:hover{border-color:#2E9E7B}
.kd-opts button.on{background:#2E9E7B;border-color:#2E9E7B;color:#fff}

/* S4 ローディング演出 */
.kd-loading{padding:20px}
.kd-load-box{max-width:460px;margin:0 auto;background:#fff;border:1px solid #e3eae8;border-radius:16px;padding:26px 28px;box-shadow:0 10px 30px rgba(17,50,79,.08)}
.kd-load-ttl{font-size:17px;font-weight:800;color:#11324F;text-align:center;margin:0 0 18px}
.kd-load-list{list-style:none;margin:0 0 18px;padding:0}
.kd-load-list li{font-size:14px;color:#94A3B8;padding:7px 0;transition:.3s;display:flex;align-items:center;gap:10px}
.kd-load-list li i{width:20px;text-align:center;color:#cbd5e1}
.kd-load-list li.active{color:#11324F;font-weight:700}
.kd-load-list li.active i{color:#2E9E7B}
.kd-load-list li.done{color:#2E9E7B}
.kd-load-list li.done i{color:#2E9E7B}
.kd-load-list li.done::after{content:"\f00c";font-family:"Font Awesome 6 Free";font-weight:900;margin-left:auto;color:#2E9E7B}
.kd-bar{height:7px;background:#eef2f5;border-radius:10px;overflow:hidden}
.kd-bar-fill{height:100%;width:0;background:linear-gradient(90deg,#2E9E7B,#7FE3C0);border-radius:10px;transition:width .8s ease}
.kd-load-note{text-align:center;font-size:12px;color:#94A3B8;margin:12px 0 0}

/* 商品note(天板厚等の出し分け説明) */
.kd-pnote{background:#FFF7E6;color:#92702A;font-size:12px;border-radius:8px;padding:8px 11px;margin-top:9px;line-height:1.5}
.kd-pnote i{color:#D4A017;margin-right:5px}

/* 改善後イメージ生成 */
.kd-aftergen{padding:22px;background:#F7FBFA;border-top:1px solid #e3efea;text-align:center}
.kd-ag-head{font-size:16px;font-weight:800;color:#11324F}
.kd-ag-head i{color:#2E9E7B;margin-right:7px}
.kd-ag-sub{font-size:12.5px;color:#64748B;margin:6px 0 14px}
.kd-genimg{background:#11324F;color:#fff;border:0;font-weight:800;font-size:15px;padding:13px 26px;border-radius:40px;cursor:pointer;display:inline-flex;gap:9px;align-items:center}
.kd-genimg:hover{background:#1C5C7A}
.kd-genimg:disabled{opacity:.7;cursor:default}
.kd-ag-result{margin-top:16px}
.kd-ag-fig{margin:0}
.kd-ag-fig img{max-width:100%;border-radius:14px;box-shadow:0 12px 34px rgba(17,50,79,.18)}
.kd-ag-fig figcaption{font-size:11.5px;color:#94A3B8;margin-top:8px}
/* Before/After 左右比較 */
.kd-ba-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;align-items:start}
.kd-ba-col{margin:0;position:relative}
.kd-ba-col img{width:100%;aspect-ratio:1/1;object-fit:cover;border-radius:12px;box-shadow:0 10px 28px rgba(17,50,79,.16);display:block}
.kd-ba-tag{position:absolute;top:10px;left:10px;font-size:11.5px;font-weight:800;color:#fff;padding:4px 10px;border-radius:20px}
.kd-ba-before{background:rgba(14,23,38,.82)}
.kd-ba-after{background:#2E9E7B}
.kd-ba-cap{font-size:11.5px;color:#94A3B8;margin:10px 0 0;text-align:center}
@media(max-width:520px){.kd-ba-grid{grid-template-columns:1fr}}

/* 結果末尾アクション */
.kd-resact{padding:16px 22px 20px;background:#0E1726;text-align:center}
.kd-redo{background:rgba(255,255,255,.12);color:#fff;border:1px solid rgba(255,255,255,.25);font-weight:700;font-size:13.5px;padding:11px 22px;border-radius:30px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.kd-redo:hover{background:rgba(255,255,255,.2)}

/* アップロードUI */
.kd-upload{background:#F7FBFA;border:2px dashed #9ecbbd;border-radius:18px;padding:42px 24px;text-align:center;transition:background .15s,border-color .15s,box-shadow .15s}
.kd-upload.kd-drag{background:#E6F6F0;border-color:#2E9E7B;border-style:solid;box-shadow:0 0 0 4px rgba(46,158,123,.15) inset}
.kd-upload.kd-drag .kd-up-icon{transform:scale(1.12)}
.kd-up-icon{transition:transform .15s}
.kd-dnd-hint{font-size:13px;color:#5b6b7b;margin:0 0 12px}
.kd-dnd-hint i{color:#2E9E7B;margin-right:6px}
@media(hover:none){.kd-dnd-hint{display:none}}
.kd-up-icon{font-size:46px;color:#2E9E7B}
.kd-up-title{font-size:21px;font-weight:800;color:#11324F;margin:14px 0 6px}
.kd-up-sub{font-size:14px;color:#5b6b7b;margin-bottom:20px;line-height:1.6}
.kd-up-btn{display:inline-flex;align-items:center;gap:8px;background:#2E9E7B;color:#fff;font-weight:800;
  font-size:16px;padding:14px 30px;border-radius:40px;cursor:pointer;transition:.2s}
.kd-up-btn:hover{background:#268168}
.kd-up-note{font-size:12px;color:#94A3B8;margin-top:14px}

/* プレビュー */
.kd-preview{text-align:center;padding:10px 0}
.kd-preview img{max-width:100%;max-height:420px;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.15)}
.kd-actions{display:flex;gap:12px;justify-content:center;margin-top:18px;flex-wrap:wrap}
.kd-run{background:#2E9E7B;color:#fff;border:0;font-weight:800;font-size:16px;padding:14px 28px;border-radius:40px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.kd-run:hover{background:#268168}
.kd-reset{background:#fff;color:#64748B;border:1.5px solid #cdd6df;font-weight:700;font-size:14px;padding:13px 22px;border-radius:40px;cursor:pointer;display:inline-flex;gap:8px;align-items:center}
.kd-loading{text-align:center;padding:36px;color:#2E9E7B;font-weight:700;font-size:16px}
.kd-loading i{margin-right:8px}
.kd-err{background:#FDECEC;color:#E5484D;border-radius:12px;padding:18px;text-align:center;font-weight:700}

/* 結果インフォグラフィック */
.kd-card{background:#fff;border-radius:20px;overflow:hidden;box-shadow:0 18px 50px rgba(0,0,0,.18);margin-top:18px}
.kd-hero{background:linear-gradient(135deg,#11324F 0%,#1C5C7A 100%);color:#fff;padding:30px 34px}
.kd-brand{font-size:13px;letter-spacing:3px;opacity:.8;font-weight:700}
.kd-htitle{font-size:26px;font-weight:800;margin-top:6px}
.kd-focus{display:flex;align-items:center;gap:16px;margin-top:20px;background:rgba(255,255,255,.1);padding:14px 20px;border-radius:14px;width:fit-content;flex-wrap:wrap}
.kd-fnum{font-size:14px}.kd-fnum b{font-size:28px}
.kd-farrow{font-size:22px;color:#7FE3C0}
.kd-fgain{background:#2E9E7B;padding:6px 14px;border-radius:30px;font-weight:800;font-size:14px}
.kd-cols{display:flex}
.kd-col{flex:1;padding:24px 22px}
.kd-col.kd-after{background:#F7FBFA;border-left:1px dashed #cdd}
.kd-coltag{display:inline-flex;align-items:center;gap:8px;font-weight:800;font-size:15px;padding:7px 15px;border-radius:30px;margin-bottom:16px}
.kd-bt{background:#FDECEC;color:#E5484D}.kd-at{background:#E6F6F0;color:#2E9E7B}
.kd-bcard{background:#fff;border:1px solid #eef0f2;border-radius:12px;padding:13px 15px;margin-bottom:11px}
.kd-bhead{display:flex;align-items:center;gap:9px}
.kd-bicon{color:#64748B;font-size:16px;width:20px;text-align:center}
.kd-blabel{font-weight:700;font-size:15px;color:#1E293B;flex:1}
.kd-rbadge{color:#fff;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:20px;display:inline-flex;gap:5px;align-items:center}
.kd-bfind{font-size:13px;color:#475569;margin-top:8px;line-height:1.6}
.kd-health{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.kd-hbadge{background:#FFF4E5;color:#B7791F;font-size:11px;font-weight:700;padding:4px 8px;border-radius:6px;display:inline-flex;gap:5px;align-items:center}
.kd-acard{background:#fff;border:1px solid #e3efea;border-radius:12px;padding:13px 15px;margin-bottom:11px}
.kd-ahead{display:flex;align-items:center;gap:9px}
.kd-anum{background:#2E9E7B;color:#fff;width:23px;height:23px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:12px;flex-shrink:0}
.kd-alabel{font-weight:700;font-size:15px;color:#1E293B;flex:1}
.kd-cbadge{color:#fff;font-size:11.5px;font-weight:700;padding:4px 9px;border-radius:20px;display:inline-flex;gap:5px;align-items:center;white-space:nowrap}
.kd-aimp{font-size:13px;color:#334155;margin-top:8px;line-height:1.6}
.kd-prod{display:flex;gap:11px;margin-top:11px;background:#F1F7F5;border-radius:10px;padding:10px}
.kd-pimg{width:58px;height:58px;object-fit:contain;background:#fff;border-radius:8px;flex-shrink:0}
.kd-pinfo{flex:1;min-width:0}
.kd-pname{font-size:12px;color:#1E293B;line-height:1.45;font-weight:600}
.kd-pmeta{margin-top:6px;display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.kd-pprice{color:#E5484D;font-weight:800;font-size:14px}
.kd-prev{color:#94A3B8;font-size:11px}.kd-prev i{color:#F2A900}
.kd-carriers{display:flex;gap:8px;margin-top:10px;flex-wrap:wrap}
.kd-cbtn{flex:1;min-width:92px;text-align:center;padding:9px 6px;border-radius:8px;font-weight:800;font-size:12.5px;text-decoration:none;display:inline-flex;gap:6px;align-items:center;justify-content:center}
.kd-cbtn.rakuten{background:#BF0000;color:#fff}
.kd-cbtn.amazon{background:#FF9900;color:#111}
.kd-cbtn.yahoo{background:#FF0033;color:#fff}
.kd-goodrow{padding:16px 22px;background:#F8FAFC;display:flex;align-items:center;gap:9px;flex-wrap:wrap;border-top:1px solid #eef0f2}
.kd-goodttl{font-weight:800;color:#64748B;font-size:13px}
.kd-goodchip{background:#E6F6F0;color:#2E9E7B;font-weight:700;font-size:12px;padding:5px 11px;border-radius:20px;display:inline-flex;gap:6px;align-items:center}
.kd-summary{padding:18px 22px;background:#11324F;color:#E2EAF2;font-size:13.5px;line-height:1.7}
.kd-summary b{color:#7FE3C0}

@media(max-width:640px){
  .kd-cols{flex-direction:column}
  .kd-col.kd-after{border-left:0;border-top:1px dashed #cdd}
  .kd-htitle{font-size:22px}
}

/* ===== コラム記事用 商品カード [koredas_desk_items] ===== */
.kd-items-wrap{max-width:680px;margin:24px auto;font-family:'Hiragino Sans','Noto Sans JP',sans-serif;background:#F7FBFA;border:1px solid #e3efea;border-radius:14px;padding:16px 18px}
.kd-items-ttl{font-weight:800;color:#11324F;font-size:15px;margin-bottom:12px}
.kd-items{display:flex;flex-direction:column;gap:10px}
.kd-item{display:flex;gap:12px;align-items:center;background:#fff;border:1px solid #eef0f2;border-radius:10px;padding:10px;text-decoration:none;transition:.15s}
.kd-item:hover{border-color:#2E9E7B;box-shadow:0 4px 14px rgba(46,158,123,.12)}
.kd-item img{width:64px;height:64px;object-fit:contain;background:#fff;border-radius:8px;flex-shrink:0}
.kd-item-info{display:flex;flex-direction:column;gap:5px;min-width:0}
.kd-item-name{font-size:13px;color:#1E293B;font-weight:600;line-height:1.45}
.kd-item-price{font-size:15px;color:#E5484D;font-weight:800}
.kd-items-empty{font-size:13px;color:#64748B;text-align:center;padding:10px}
.kd-items-btns{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}
.kd-ibtn{flex:1;min-width:160px;text-align:center;padding:11px 8px;border-radius:8px;font-weight:800;font-size:13px;text-decoration:none;display:inline-flex;gap:7px;align-items:center;justify-content:center}
.kd-ibtn.kd-amazon{background:#FF9900;color:#111}
.kd-ibtn.kd-yahoo{background:#FF0033;color:#fff}
.kd-items-cta{font-size:12.5px;color:#475569;margin:12px 0 0;text-align:center}
.kd-items-cta a{color:#2E9E7B;font-weight:700}

/* ===== TOP LP 支援セクション ===== */
.kd-lp{max-width:920px;margin:36px auto 0;font-family:'Hiragino Sans','Noto Sans JP',sans-serif}
.kd-lp-sec{padding:34px 22px}
.kd-lp-tint{background:#F7FBFA;border-radius:18px}
.kd-lp-h2{font-size:23px;font-weight:800;color:#11324F;text-align:center;margin:0 0 26px}
.kd-lp-h3{font-size:16px;font-weight:800;color:#11324F;margin:0 0 14px}
.kd-lp-h3 i{color:#2E9E7B;margin-right:8px}
/* 3ステップ */
.kd-steps{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.kd-step{background:#fff;border:1px solid #e8eef0;border-radius:14px;padding:24px 18px;text-align:center;position:relative}
.kd-step-no{position:absolute;top:-12px;left:50%;transform:translateX(-50%);background:#2E9E7B;color:#fff;width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:14px}
.kd-step-ic{font-size:30px;color:#2E9E7B;margin:8px 0 12px}
.kd-step h3{font-size:16px;font-weight:800;color:#1E293B;margin:0 0 8px}
.kd-step p{font-size:13px;color:#475569;line-height:1.7;margin:0}
/* おすすめ */
.kd-reco{list-style:none;margin:0 auto;padding:0;max-width:760px;display:grid;grid-template-columns:1fr 1fr;gap:12px 26px}
.kd-reco li{font-size:14px;color:#334155;line-height:1.6;display:flex;gap:10px;align-items:flex-start}
.kd-reco li i{color:#2E9E7B;margin-top:3px;flex-shrink:0}
/* プライバシー/5項目 */
.kd-priv{display:grid;grid-template-columns:1fr 1fr;gap:30px;max-width:840px;margin:0 auto}
.kd-priv-list{list-style:none;margin:0;padding:0}
.kd-priv-list li{font-size:13.5px;color:#334155;line-height:1.6;display:flex;gap:10px;align-items:flex-start;margin-bottom:11px}
.kd-priv-list li i{color:#2E9E7B;margin-top:3px;width:18px;text-align:center;flex-shrink:0}
/* FAQ */
.kd-faq{max-width:760px;margin:0 auto}
.kd-faq-item{background:#fff;border:1px solid #e8eef0;border-radius:10px;margin-bottom:10px;overflow:hidden}
.kd-faq-item summary{cursor:pointer;font-weight:700;font-size:14.5px;color:#1E293B;padding:15px 18px;list-style:none}
.kd-faq-item summary::-webkit-details-marker{display:none}
.kd-faq-item summary i{color:#2E9E7B;margin-right:9px}
.kd-faq-a{padding:0 18px 16px;font-size:13.5px;color:#475569;line-height:1.8}
/* 相互リンク */
.kd-cross{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;max-width:760px;margin:0 auto}
.kd-cross-btn{display:inline-flex;align-items:center;gap:9px;background:#fff;border:1.5px solid #cdd9d4;color:#11324F;font-weight:700;font-size:14px;padding:12px 20px;border-radius:40px;text-decoration:none;transition:.15s}
.kd-cross-btn:hover{border-color:#2E9E7B;background:#F1F7F5}
.kd-cross-btn i{color:#2E9E7B}
/* 再CTA */
.kd-recta{background:linear-gradient(135deg,#11324F 0%,#1C5C7A 100%);border-radius:18px;padding:38px 22px;text-align:center;margin:34px 22px 0}
.kd-recta-ttl{color:#fff;font-size:19px;font-weight:800;margin:0 0 20px;line-height:1.6}
.kd-recta-btn{display:inline-flex;align-items:center;gap:10px;background:#2E9E7B;color:#fff;font-weight:800;font-size:17px;padding:16px 34px;border-radius:44px;text-decoration:none;transition:.15s}
.kd-recta-btn:hover{background:#33b08a}
@media(max-width:640px){
  .kd-steps{grid-template-columns:1fr;gap:24px}
  .kd-reco,.kd-priv{grid-template-columns:1fr}
  .kd-lp-h2{font-size:20px}
}

/* ===== SP横はみ出し対策 (P0 / RAIANレビュー 2026-05-25) ===== */
.kd-wrap,.kd-lp,.kd-items-wrap{width:100%;max-width:100%;box-sizing:border-box}
@media(max-width:640px){
  .kd-wrap,.kd-fv,.kd-upload,.kd-lp,.kd-lp-sec{max-width:100%;box-sizing:border-box;overflow-wrap:break-word}
  .kd-fv{padding-left:16px;padding-right:16px}
  .kd-h1,.kd-sub,.kd-up-title,.kd-up-sub,.kd-recta-ttl,.kd-lp-h2{max-width:100%;white-space:normal;overflow-wrap:break-word;word-break:break-word}
  .kd-sample-btn{max-width:100%;white-space:normal;overflow-wrap:break-word;text-align:center;flex-wrap:wrap;justify-content:center}
  .kd-up-btn,.kd-run,.kd-reset,.kd-recta-btn,.kd-cross-btn,.kd-genimg,.kd-redo{max-width:100%;white-space:normal;overflow-wrap:break-word}
  .kd-actions{flex-direction:column;align-items:stretch}
  .kd-actions .kd-run,.kd-actions .kd-reset{width:100%;justify-content:center}
}
