
#skk-cz *{box-sizing:border-box;}
#skk-cz{--ink:#2d2640;--sub:#6b6480;--gold:#d4a24e;--lav:#a78bfa;--rose:#fb7185;--teal:#2dd4bf;
  position:relative;max-width:860px;margin:0 auto;color:var(--ink);
  font-family:-apple-system,BlinkMacSystemFont,'Segoe UI','Hiragino Sans',sans-serif;
  border-radius:22px;overflow:hidden;box-shadow:0 18px 60px rgba(60,40,90,.18);background:#fbf7ff;}
#skk-cz h1,#skk-cz h2,#skk-cz h3{margin:0;font-weight:800;background:transparent!important;}
#skk-cz h1::before,#skk-cz h2::before,#skk-cz h3::before,#skk-cz h1::after,#skk-cz h2::after,#skk-cz h3::after{content:none!important;display:none!important;}
#skk-cz .mincho{font-family:'Hiragino Mincho ProN','Yu Mincho',serif;}
#skk-cz canvas#cz-sky{position:absolute;inset:0;width:100%;height:100%;z-index:0;display:block;}
#skk-cz .cz-stage{position:relative;z-index:1;}
/* 共通画面 */
#skk-cz .cz-screen{display:none;}
#skk-cz .cz-screen.on{display:block;animation:czFade .6s ease;}
#skk-cz .cz-intro.on,#skk-cz .cz-analyze.on{display:flex;}
@keyframes czFade{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
/* ===== イントロ ===== */
#skk-cz .cz-intro{position:relative;min-height:520px;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:54px 26px;
  background:linear-gradient(160deg,#241a3d 0%,#3b2a63 45%,#5b3b6e 100%);color:#fff;overflow:hidden;}
#skk-cz .cz-orb{width:118px;height:118px;border-radius:50%;margin-bottom:26px;position:relative;
  background:radial-gradient(circle at 35% 30%,#fff,#fcd9a8 22%,#f0abfc 52%,#a78bfa 78%,#7c5cd0 100%);
  box-shadow:0 0 50px 12px rgba(240,171,252,.55),0 0 120px 30px rgba(167,139,250,.35);
  animation:czBreath 4.5s ease-in-out infinite;}
#skk-cz .cz-orb::after{content:"";position:absolute;inset:-14px;border-radius:50%;border:1px solid rgba(255,255,255,.25);animation:czHalo 4.5s ease-in-out infinite;}
@keyframes czBreath{0%,100%{transform:scale(1);}50%{transform:scale(1.09);}}
@keyframes czHalo{0%,100%{transform:scale(1);opacity:.5;}50%{transform:scale(1.18);opacity:.1;}}
#skk-cz .cz-intro .lead{font-size:13px;letter-spacing:.22em;color:#e9d5ff;margin-bottom:14px;}
#skk-cz .cz-intro h1{font-size:30px;line-height:1.55;letter-spacing:.04em;color:#fff;text-shadow:0 2px 20px rgba(0,0,0,.25);}
#skk-cz .cz-intro h1 .g{background:linear-gradient(90deg,#fcd9a8,#f0abfc,#a78bfa);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;}
#skk-cz .cz-intro p.sub{font-size:14.5px;line-height:1.95;color:#e7defb;margin:20px auto 30px;max-width:560px;}
#skk-cz .cz-start{position:relative;background:linear-gradient(95deg,#f0abfc,#a78bfa);color:#fff;border:none;border-radius:999px;
  padding:16px 44px;font-size:16.5px;font-weight:800;cursor:pointer;letter-spacing:.06em;
  box-shadow:0 10px 30px rgba(167,139,250,.5);transition:transform .2s,box-shadow .2s;}
#skk-cz .cz-start:hover{transform:translateY(-2px);box-shadow:0 14px 40px rgba(167,139,250,.65);}
#skk-cz .cz-start .shine{position:absolute;inset:0;border-radius:999px;overflow:hidden;}
#skk-cz .cz-start .shine::before{content:"";position:absolute;top:0;left:-60%;width:40%;height:100%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.6),transparent);animation:czShine 3.2s ease-in-out infinite;}
@keyframes czShine{0%{left:-60%;}55%,100%{left:130%;}}
#skk-cz .cz-note{font-size:11.5px;color:#cbbce8;margin-top:18px;}
/* ===== 質問 ===== */
#skk-cz .cz-quiz{padding:30px 26px 36px;background:linear-gradient(180deg,#f6efff,#fbf7ff);min-height:520px;}
#skk-cz .cz-prog{height:6px;border-radius:99px;background:#ece3fb;overflow:hidden;margin-bottom:6px;}
#skk-cz .cz-prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#f0abfc,#a78bfa,#fcd9a8);border-radius:99px;transition:width .5s cubic-bezier(.4,1.3,.5,1);}
#skk-cz .cz-step{font-size:11.5px;color:var(--sub);text-align:right;margin-bottom:22px;letter-spacing:.05em;}
#skk-cz .cz-qcard{animation:czQin .55s cubic-bezier(.2,.8,.3,1);}
@keyframes czQin{from{opacity:0;transform:translateX(26px);}to{opacity:1;transform:none;}}
#skk-cz .cz-qcard.out{animation:czQout .3s ease forwards;}
@keyframes czQout{to{opacity:0;transform:translateX(-26px);}}
#skk-cz .cz-qlead{font-size:12px;color:var(--lav);font-weight:700;letter-spacing:.12em;margin-bottom:10px;}
#skk-cz .cz-q{font-size:21px;line-height:1.7;font-weight:800;margin-bottom:6px;letter-spacing:.02em;}
#skk-cz .cz-qhint{font-size:12.5px;color:var(--sub);margin-bottom:20px;}
#skk-cz .cz-opts{display:flex;flex-direction:column;gap:11px;}
#skk-cz .cz-opt{position:relative;text-align:left;background:rgba(255,255,255,.85);border:1.6px solid #e4d8fb;border-radius:15px;
  padding:15px 18px;font-size:15.5px;font-weight:600;color:var(--ink);cursor:pointer;backdrop-filter:blur(6px);
  transition:transform .15s,border-color .15s,box-shadow .25s,background .15s;font-family:inherit;}
#skk-cz .cz-opt:hover{transform:translateY(-2px);border-color:var(--lav);box-shadow:0 8px 22px rgba(167,139,250,.22);}
#skk-cz .cz-opt.sel{border-color:var(--lav);background:linear-gradient(95deg,#f3e8ff,#fce7f3);box-shadow:0 8px 22px rgba(167,139,250,.28);}
#skk-cz .cz-opt.sel::after{content:"✓";position:absolute;right:16px;top:50%;transform:translateY(-50%);color:var(--lav);font-weight:900;}
#skk-cz .cz-ta{width:100%;border:1.6px solid #e4d8fb;border-radius:15px;padding:15px 18px;font-size:15px;font-family:inherit;
  min-height:120px;resize:vertical;outline:none;background:rgba(255,255,255,.9);line-height:1.8;color:var(--ink);}
#skk-cz .cz-ta:focus{border-color:var(--lav);box-shadow:0 0 0 4px rgba(167,139,250,.15);}
#skk-cz .cz-nav{display:flex;justify-content:space-between;align-items:center;margin-top:24px;gap:10px;}
#skk-cz .cz-back{background:none;border:none;color:var(--sub);font-size:13.5px;cursor:pointer;font-family:inherit;padding:8px;}
#skk-cz .cz-next{background:linear-gradient(95deg,#f0abfc,#a78bfa);color:#fff;border:none;border-radius:999px;padding:13px 34px;
  font-size:15.5px;font-weight:800;cursor:pointer;box-shadow:0 8px 22px rgba(167,139,250,.4);transition:opacity .2s,transform .15s;letter-spacing:.04em;}
#skk-cz .cz-next:hover{transform:translateY(-1px);}
#skk-cz .cz-next:disabled{opacity:.4;cursor:default;transform:none;}
#skk-cz .cz-consent{display:flex;gap:10px;flex-wrap:wrap;}
#skk-cz .cz-consent .cz-opt{flex:1;min-width:120px;text-align:center;}
/* ===== 診断中 ===== */
#skk-cz .cz-analyze{position:relative;min-height:520px;flex-direction:column;align-items:center;justify-content:center;text-align:center;
  padding:50px 26px;background:linear-gradient(160deg,#241a3d,#43275f 55%,#6d3a66);color:#fff;overflow:hidden;}
#skk-cz .cz-analyze .cz-orb{animation:czBreath 2.4s ease-in-out infinite;}
#skk-cz .cz-analyze .amsg{font-size:16.5px;line-height:1.9;color:#f3e9ff;margin-top:28px;min-height:60px;max-width:520px;transition:opacity .6s;}
#skk-cz .cz-dots{margin-top:16px;}
#skk-cz .cz-dots span{display:inline-block;width:8px;height:8px;border-radius:50%;background:#e9d5ff;margin:0 4px;animation:czBlink 1.3s infinite both;}
#skk-cz .cz-dots span:nth-child(2){animation-delay:.2s;}#skk-cz .cz-dots span:nth-child(3){animation-delay:.4s;}
@keyframes czBlink{0%,80%,100%{opacity:.25;transform:scale(.8);}40%{opacity:1;transform:scale(1.1);}}
/* ===== 結果 ===== */
#skk-cz .cz-result{padding:0 0 40px;background:linear-gradient(180deg,#fbf7ff,#fff);}
#skk-cz .cz-mirror{position:relative;padding:46px 30px 40px;text-align:center;color:#fff;overflow:hidden;
  background:linear-gradient(160deg,#2c1f4d,#4b2f6b 60%,#6f3f6a);}
#skk-cz .cz-mirror .badge{display:inline-block;font-size:12px;letter-spacing:.16em;color:#fcd9a8;border:1px solid rgba(252,217,168,.5);
  border-radius:999px;padding:5px 16px;margin-bottom:20px;}
#skk-cz .cz-mirror .mtext{font-size:19px;line-height:2.1;letter-spacing:.04em;max-width:600px;margin:0 auto;min-height:80px;
  text-shadow:0 2px 24px rgba(0,0,0,.3);}
#skk-cz .cz-mirror .mtext .cur{display:inline-block;width:2px;height:1em;background:#fcd9a8;margin-left:2px;vertical-align:-2px;animation:czCur .8s steps(1) infinite;}
@keyframes czCur{50%{opacity:0;}}
#skk-cz .cz-mirror .glow{position:absolute;left:50%;top:40%;width:340px;height:340px;transform:translate(-50%,-50%);
  background:radial-gradient(circle,rgba(252,217,168,.25),transparent 70%);pointer-events:none;opacity:0;}
#skk-cz .cz-mirror.lit .glow{animation:czGlow 2.4s ease-out;}
@keyframes czGlow{0%{opacity:0;transform:translate(-50%,-50%) scale(.6);}40%{opacity:1;}100%{opacity:0;transform:translate(-50%,-50%) scale(1.4);}}
#skk-cz .cz-empathy{font-size:14.5px;line-height:1.95;color:#5b5470;background:#f6efff;border-radius:0;padding:20px 26px;text-align:center;}
#skk-cz .cz-body{padding:26px 24px 0;}
#skk-cz .cz-secttl{text-align:center;font-size:13px;letter-spacing:.14em;color:var(--lav);font-weight:800;margin:6px 0 4px;}
#skk-cz .cz-sectsub{text-align:center;font-size:20px;font-weight:800;margin-bottom:22px;letter-spacing:.02em;}
#skk-cz .cz-card{position:relative;background:#fff;border:1.5px solid #eee3fb;border-radius:18px;padding:20px 20px 18px;margin-bottom:18px;
  box-shadow:0 8px 26px rgba(110,80,160,.1);opacity:0;transform:translateY(26px);}
#skk-cz .cz-card.in{animation:czCardIn .7s cubic-bezier(.2,.8,.3,1) forwards;}
@keyframes czCardIn{to{opacity:1;transform:none;}}
#skk-cz .cz-card .fs{display:inline-flex;align-items:center;gap:6px;font-size:11.5px;font-weight:800;border-radius:999px;padding:4px 12px;margin-bottom:10px;}
#skk-cz .cz-card .fs.flow{background:#e0f2fe;color:#0369a1;}
#skk-cz .cz-card .fs.stock{background:#ede9fe;color:#6d28d9;}
#skk-cz .cz-card .fs.hybrid{background:#fef3c7;color:#b45309;}
#skk-cz .cz-card .ctitle{font-size:18px;font-weight:800;line-height:1.5;margin-bottom:8px;}
#skk-cz .cz-card .cwhy{font-size:13.5px;line-height:1.8;color:#5b5470;background:#faf6ff;border-radius:11px;padding:11px 14px;margin-bottom:14px;}
#skk-cz .cz-card .cwhy b{color:var(--lav);}
#skk-cz .cz-steps{list-style:none;padding:0;margin:0 0 14px;}
#skk-cz .cz-steps li{position:relative;padding:6px 0 6px 34px;font-size:13.5px;line-height:1.7;color:var(--ink);}
#skk-cz .cz-steps li .n{position:absolute;left:0;top:5px;width:23px;height:23px;border-radius:50%;background:linear-gradient(135deg,#f0abfc,#a78bfa);
  color:#fff;font-size:12px;font-weight:800;display:flex;align-items:center;justify-content:center;}
#skk-cz .cz-outcome{font-size:13px;color:#0f766e;background:#ecfdf5;border-radius:11px;padding:9px 13px;margin-bottom:6px;line-height:1.7;}
#skk-cz .cz-pitfall{font-size:12px;color:#92400e;margin-bottom:12px;line-height:1.7;}
#skk-cz .cz-cta{display:inline-flex;align-items:center;gap:8px;color:#fff!important;text-decoration:none!important;font-weight:800;font-size:14px;
  padding:11px 22px;border-radius:999px;box-shadow:0 6px 18px rgba(0,0,0,.12);transition:transform .15s;}
#skk-cz .cz-cta:hover{transform:translateY(-2px);}
#skk-cz .cz-svc{font-size:11.5px;color:var(--sub);margin-bottom:7px;}
#skk-cz .cz-tool{margin:8px 24px 0;background:linear-gradient(135deg,#eff6ff,#f3e8ff);border:1.5px solid #ddd6fe;border-radius:16px;padding:18px 20px;text-align:center;}
#skk-cz .cz-tool p{margin:0 0 10px;font-size:13.5px;color:#4c1d95;line-height:1.7;}
#skk-cz .cz-tool a{display:inline-block;background:#7c3aed;color:#fff!important;text-decoration:none!important;font-weight:700;font-size:13.5px;padding:10px 22px;border-radius:999px;}
#skk-cz .cz-restart{display:block;margin:24px auto 0;background:none;border:1.5px solid #d8c9f5;color:var(--lav);border-radius:999px;padding:10px 24px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;}
#skk-cz .cz-disc{font-size:11px;color:#a99fc0;text-align:center;margin:20px 24px 0;line-height:1.7;}
/* ===== distress ===== */
#skk-cz .cz-care{padding:40px 28px;text-align:center;background:linear-gradient(180deg,#f0fbff,#fff);}
#skk-cz .cz-care .heart{font-size:42px;}
#skk-cz .cz-care h3{font-size:20px;margin:14px 0 12px;color:#0e7490;}
#skk-cz .cz-care p{font-size:14.5px;line-height:1.95;color:#4b5563;max-width:520px;margin:0 auto 12px;}
#skk-cz .cz-care .box{background:#ecfeff;border:1.5px solid #a5f3fc;border-radius:14px;padding:16px 18px;margin:16px auto;max-width:520px;text-align:left;font-size:13.5px;line-height:1.9;color:#155e75;}
/* ===== AI伴走フロート ===== */
#skk-cz .cz-fab{position:fixed;right:18px;bottom:90px;z-index:9998;width:60px;height:60px;border-radius:50%;cursor:pointer;
  border:3px solid #fff;box-shadow:0 6px 20px rgba(124,58,237,.4);background:#fff;display:none;}
#skk-cz .cz-fab img{width:100%;height:100%;border-radius:50%;object-fit:cover;}
#skk-cz .cz-fab .pl{position:absolute;inset:-3px;border-radius:50%;border:3px solid #c4b5fd;animation:czHalo 2s ease-out infinite;}
#skk-cz .cz-panel{position:fixed;right:18px;bottom:90px;z-index:9999;width:360px;max-width:calc(100vw - 28px);max-height:calc(100vh - 180px);
  display:none;flex-direction:column;background:#fff;border:1.5px solid #ddd6fe;border-radius:18px;box-shadow:0 16px 50px rgba(80,40,120,.3);overflow:hidden;}
#skk-cz .cz-panel.on{display:flex;}
#skk-cz .cz-phead{background:linear-gradient(135deg,#a78bfa,#7c3aed);color:#fff;padding:12px 14px;display:flex;align-items:center;gap:10px;}
#skk-cz .cz-phead img{width:38px;height:38px;border-radius:50%;border:2px solid #fff;}
#skk-cz .cz-phead .t{flex:1;font-size:13px;font-weight:800;}
#skk-cz .cz-phead .t small{display:block;font-size:10px;opacity:.9;font-weight:400;}
#skk-cz .cz-phead button{background:rgba(255,255,255,.22);border:none;color:#fff;width:28px;height:28px;border-radius:8px;font-size:16px;cursor:pointer;}
#skk-cz .cz-pscroll{flex:1;overflow-y:auto;padding:13px;}
#skk-cz .cz-pmsg{font-size:13.5px;line-height:1.8;border-radius:12px;padding:10px 13px;margin-bottom:9px;white-space:pre-wrap;}
#skk-cz .cz-pmsg.ai{background:#f5f3ff;color:#2d2640;border-top-left-radius:3px;}
#skk-cz .cz-pmsg.me{background:#a78bfa;color:#fff;border-top-right-radius:3px;margin-left:auto;max-width:85%;}
#skk-cz .cz-pfoot{border-top:1px solid #eee;padding:10px 12px;display:flex;gap:7px;}
#skk-cz .cz-pfoot input{flex:1;border:1.5px solid #e4d8fb;border-radius:10px;padding:9px 12px;font-size:13.5px;outline:none;font-family:inherit;}
#skk-cz .cz-pfoot button{background:#7c3aed;color:#fff;border:none;border-radius:10px;padding:0 15px;font-weight:800;cursor:pointer;}
#skk-cz .cz-pfoot button:disabled{opacity:.5;}
@media(max-width:600px){
  #skk-cz .cz-intro h1{font-size:25px;}#skk-cz .cz-q{font-size:19px;}#skk-cz .cz-mirror .mtext{font-size:17px;}
  #skk-cz .cz-fab,#skk-cz .cz-panel{bottom:78px;right:12px;}
}
@media(prefers-reduced-motion:reduce){
  #skk-cz .cz-orb,#skk-cz .cz-orb::after,#skk-cz .cz-start .shine::before,#skk-cz .cz-fab .pl{animation:none!important;}
}
