/* ============================================================
   AWGroup LP — WORRIES section
   もやもや(不安) → 「AWGroupで解消できます」バナー → 8つの不安の
   アコーディオン。痛み(不安)を提示 → ひと押しで安心を開く心理導線。
   ============================================================ */
.worry{position:relative;overflow:hidden;
  padding:clamp(58px,12vw,90px) var(--pad) clamp(56px,12vw,84px);
  background:
    radial-gradient(120% 55% at 84% 1%,rgba(169,224,247,.5),transparent 56%),
    radial-gradient(120% 55% at 6% 100%,rgba(255,214,232,.5),transparent 56%),
    linear-gradient(178deg,#FFF8FC 0%,#F3F8FF 100%);}
.worry-bg{position:absolute;inset:0;z-index:0;pointer-events:none;overflow:hidden;}
.worry-orb{position:absolute;border-radius:50%;filter:blur(38px);opacity:.5;mix-blend-mode:multiply;}
.worry-orb.w1{width:260px;height:260px;top:-40px;left:-60px;background:radial-gradient(circle,#BFE3FF,transparent 70%);animation:wOrb 24s ease-in-out infinite;}
.worry-orb.w2{width:280px;height:280px;bottom:-60px;right:-70px;background:radial-gradient(circle,#FFC4E0,transparent 70%);animation:wOrb 28s ease-in-out infinite reverse;}
@keyframes wOrb{0%,100%{transform:translate(0,0) scale(1);}50%{transform:translate(20px,-18px) scale(1.1);}}

/* big ? watermarks (subtle) */
.qmark{position:absolute;font-family:var(--f-fashion);font-style:italic;font-weight:700;
  line-height:1;color:transparent;-webkit-text-stroke:2px rgba(95,160,210,.16);
  pointer-events:none;animation:qFloat 9s ease-in-out infinite;}
.qmark.q1{top:3%;left:5%;font-size:104px;-webkit-text-stroke-color:rgba(95,160,210,.16);--qr:-12deg;}
.qmark.q2{top:1%;right:6%;font-size:70px;-webkit-text-stroke-color:rgba(255,140,190,.17);animation-delay:.8s;--qr:10deg;}
.qmark.q3{top:14%;left:42%;font-size:46px;-webkit-text-stroke-color:rgba(150,120,220,.15);animation-delay:1.4s;--qr:4deg;}
.qmark.q4{top:24%;right:26%;font-size:34px;-webkit-text-stroke-color:rgba(95,160,210,.14);animation-delay:.4s;--qr:-6deg;}
.qmark.q5{bottom:24%;left:7%;font-size:54px;-webkit-text-stroke-color:rgba(150,120,220,.12);animation-delay:.6s;--qr:-8deg;}
.qmark.q6{bottom:14%;right:8%;font-size:72px;-webkit-text-stroke-color:rgba(95,160,210,.12);animation-delay:1.6s;--qr:7deg;}
@keyframes qFloat{0%,100%{transform:translateY(0) rotate(var(--qr,0deg));}50%{transform:translateY(-12px) rotate(var(--qr,0deg));}}
.wsuit{position:absolute;font-size:22px;pointer-events:none;opacity:.4;animation:wSuit 7s ease-in-out infinite;}
.wsuit.u1{top:22%;left:12%;color:#FF9AD0;font-size:24px;}
.wsuit.u2{top:40%;right:12%;color:#FF6FB0;animation-delay:.7s;}
.wsuit.u3{bottom:24%;left:18%;color:#9BB5E6;font-size:22px;animation-delay:1.2s;}
.wsuit.u4{bottom:34%;right:18%;color:#C9ADF0;animation-delay:.4s;}
@keyframes wSuit{0%,100%{transform:translateY(0) rotate(-6deg);opacity:.35;}50%{transform:translateY(-10px) rotate(6deg);opacity:.6;}}

.worry>*:not(.worry-bg){position:relative;z-index:2;}

/* ============================================================
   reassurance banner "その不安、AWGroupなら解消できます。"
   5 switchable designs (data-sd a|b|c|d|e)
   ============================================================ */
.sbnr-switch{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:6px;margin:16px auto 0;}
.sbnr-switch__lbl{font-family:var(--f-serif);font-style:italic;font-size:11px;letter-spacing:.16em;
  text-transform:uppercase;color:var(--rose-ink);margin-right:3px;}
.sbnr-switch button{width:28px;height:28px;border-radius:50%;border:1.5px solid var(--pink-soft);
  background:#fff;color:var(--rose-ink);font-family:var(--f-disp);font-weight:900;font-size:12px;cursor:pointer;
  transition:transform .2s ease,background .2s ease,color .2s ease,box-shadow .2s ease;}
.sbnr-switch button.on{background:var(--rose-grad);color:#fff;border-color:transparent;
  transform:scale(1.12);box-shadow:0 5px 12px -4px rgba(216,30,114,.6);}

.sbnr{position:relative;max-width:430px;margin:14px auto 4px;text-align:center;}
.sbnr__txt{margin:0;font-family:var(--f-disp);font-weight:900;line-height:1.5;
  font-size:clamp(20px,5.8vw,28px);letter-spacing:.01em;}
.sbnr__txt .sbnr__hl{font-size:1.12em;}
.sbnr__deco{display:none;}

/* A — gradient pill banner (filled) */
.sbnr[data-sd="a"]{padding:26px 22px;border-radius:22px;color:#fff;overflow:hidden;
  background:linear-gradient(150deg,#FF7EB6 0%,#C79BF2 52%,#74C8EE 100%);
  box-shadow:0 22px 44px -22px rgba(216,30,114,.55),inset 0 1px 0 rgba(255,255,255,.4);}
.sbnr[data-sd="a"]::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.5),transparent 60%);}
.sbnr[data-sd="a"] .sbnr__txt{position:relative;text-shadow:0 2px 12px rgba(120,30,90,.32);}
.sbnr[data-sd="a"] .sbnr__hl{background:linear-gradient(170deg,#FFFFFF,#FFF1D8 60%,#FFE6A6);
  -webkit-background-clip:text;background-clip:text;color:transparent;}
.sbnr[data-sd="a"] .sbnr__deco{display:block;}
.sbnr[data-sd="a"] .sbnr__deco i{position:absolute;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.9);
  animation:wSuit 3.4s ease-in-out infinite;}
.sbnr[data-sd="a"] .sbnr__deco i:nth-child(1){top:14%;left:9%;font-size:18px;}
.sbnr[data-sd="a"] .sbnr__deco i:nth-child(2){top:22%;right:11%;font-size:13px;animation-delay:.6s;}
.sbnr[data-sd="a"] .sbnr__deco i:nth-child(3){bottom:16%;right:18%;font-size:15px;animation-delay:1s;}

/* B — slanted statement on diagonal line backdrop */
.sbnr[data-sd="b"]{padding:30px 10px;overflow:hidden;}
.sbnr[data-sd="b"] .sbnr__lines{position:absolute;left:-12%;right:-12%;top:50%;transform:translateY(-50%);z-index:0;height:160px;pointer-events:none;}
.sbnr[data-sd="b"] .sbnr__lines span{position:absolute;left:0;right:0;height:30px;transform:skewY(-7deg);opacity:.5;border-radius:4px;}
.sbnr[data-sd="b"] .sbnr__lines span:nth-child(1){top:14px;background:linear-gradient(90deg,transparent,#FFC4E0,transparent);}
.sbnr[data-sd="b"] .sbnr__lines span:nth-child(2){top:62px;background:linear-gradient(90deg,transparent,#A9E0F7,transparent);animation:bandSlide 7s ease-in-out infinite;}
.sbnr[data-sd="b"] .sbnr__lines span:nth-child(3){top:110px;background:linear-gradient(90deg,transparent,#D6C8FF,transparent);}
.sbnr[data-sd="b"] .sbnr__txt{position:relative;z-index:2;color:var(--ink);line-height:1.7;
  text-shadow:0 1px 0 #fff,0 0 10px #fff,0 0 18px #fff;}
.sbnr[data-sd="b"] .sbnr__hl{display:inline-block;transform:skewX(-7deg);margin-top:10px;
  color:var(--rose-deep);line-height:1.45;
  text-shadow:0 1px 0 #fff,0 0 12px #fff,0 0 20px #fff;}
@keyframes bandSlide{0%,100%{transform:skewY(-7deg) translateX(-5%);}50%{transform:skewY(-7deg) translateX(5%);}}

/* C — spotlight white card */
.sbnr[data-sd="c"]{padding:26px 22px;border-radius:22px;background:#fff;
  border:1.5px solid var(--pink-soft);
  box-shadow:0 22px 44px -24px rgba(216,30,114,.4),inset 0 1px 0 #fff;}
.sbnr[data-sd="c"]::before{content:"";position:absolute;left:50%;top:-30%;width:80%;height:80%;transform:translateX(-50%);
  background:radial-gradient(closest-side,rgba(255,214,232,.7),transparent 70%);pointer-events:none;}
.sbnr[data-sd="c"] .sbnr__txt{position:relative;color:var(--ink);}
.sbnr[data-sd="c"] .sbnr__hl{background:var(--rose-grad);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 4px 10px rgba(216,30,114,.3));}

/* D — ribbon / tag with notched ends */
.sbnr[data-sd="d"]{padding:22px 30px;color:#fff;
  background:var(--rose-grad);
  clip-path:polygon(0 0,100% 0,calc(100% - 16px) 50%,100% 100%,0 100%,16px 50%);
  box-shadow:0 18px 34px -18px rgba(216,30,114,.6);}
.sbnr[data-sd="d"] .sbnr__txt{text-shadow:0 2px 8px rgba(120,30,90,.3);}
.sbnr[data-sd="d"] .sbnr__hl{color:#FFE6A6;}

/* E — angled stamp / seal impression */
.sbnr[data-sd="e"]{padding:24px 22px;border-radius:18px;background:rgba(255,255,255,.6);
  -webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border:2px dashed var(--rose);}
.sbnr[data-sd="e"] .sbnr__txt{color:var(--ink);}
.sbnr[data-sd="e"] .sbnr__hl{display:inline-block;transform:rotate(-3deg);
  color:#fff;background:var(--rose-grad);padding:.06em .3em;border-radius:8px;
  box-shadow:0 10px 20px -8px rgba(216,30,114,.55);}

@keyframes wSuit{0%,100%{transform:translateY(0) rotate(-6deg);opacity:.55;}50%{transform:translateY(-8px) rotate(6deg);opacity:1;}}

/* ---- intro: もやもや thought + chibi ---- */
.worry-intro{display:flex;align-items:center;justify-content:center;gap:6px;
  max-width:440px;margin:0 auto;}
.wcloud{position:relative;flex:0 1 220px;min-height:128px;
  display:flex;align-items:center;justify-content:center;padding:14px 22px 18px;
  font-family:var(--f-disp);font-weight:800;font-size:clamp(13px,3.9vw,16px);
  line-height:1.5;color:var(--ink-soft);text-align:center;letter-spacing:.01em;}
.wcloud__c{position:absolute;inset:0;z-index:0;
  background:linear-gradient(160deg,#FFFFFF,#EAF1FB);
  -webkit-mask:var(--cloud);mask:var(--cloud);
  -webkit-mask-size:100% 100%;mask-size:100% 100%;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;
  filter:drop-shadow(0 10px 16px rgba(120,80,150,.2));}
:root{--cloud:
  radial-gradient(circle at 20% 56%,#000 24%,transparent 25%),
  radial-gradient(circle at 48% 34%,#000 32%,transparent 33%),
  radial-gradient(circle at 80% 52%,#000 26%,transparent 27%),
  radial-gradient(circle at 34% 76%,#000 26%,transparent 27%),
  radial-gradient(circle at 68% 78%,#000 24%,transparent 25%),
  radial-gradient(circle at 50% 58%,#000 38%,transparent 39%);}
.wcloud__t{position:relative;z-index:1;}
.wcloud__t b{color:var(--rose-ink);font-weight:900;}
.wcloud__trail{position:absolute;right:-6px;bottom:18px;z-index:1;width:40px;height:14px;
  transform:rotate(16deg);}
.wcloud__trail i{position:absolute;top:50%;border-radius:50%;background:#EAF1FB;
  box-shadow:0 2px 4px rgba(120,80,150,.18);}
.wcloud__trail i:nth-child(1){width:13px;height:13px;left:0;margin-top:-6px;}
.wcloud__trail i:nth-child(2){width:8px;height:8px;left:17px;margin-top:-4px;}
.wcloud__trail i:nth-child(3){width:5px;height:5px;left:30px;margin-top:-2px;}
.worry-chibi{width:118px;flex:0 0 auto;filter:drop-shadow(0 12px 22px rgba(120,80,150,.32));
  animation:chibiBob 4.6s ease-in-out infinite;}
@keyframes chibiBob{0%,100%{transform:translateY(0) rotate(0);}50%{transform:translateY(-6px) rotate(-1.5deg);}}

/* ---- reassurance banner (デデーン) ---- */
.solve{position:relative;max-width:440px;margin:22px auto 4px;text-align:center;padding:26px 20px 28px;
  border-radius:24px;color:#fff;overflow:hidden;
  background:linear-gradient(150deg,#FF7EB6 0%,#C79BF2 52%,#74C8EE 100%);
  box-shadow:0 22px 44px -22px rgba(216,30,114,.55),inset 0 1px 0 rgba(255,255,255,.4);}
.solve::before{content:"";position:absolute;inset:0;
  background:radial-gradient(120% 80% at 50% -10%,rgba(255,255,255,.5),transparent 60%);}
.solve__pre{position:relative;display:inline-block;font-family:var(--f-disp);font-weight:700;
  font-size:13px;letter-spacing:.12em;padding:4px 16px;border-radius:999px;margin-bottom:12px;
  background:rgba(255,255,255,.24);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);
  text-shadow:0 1px 4px rgba(0,0,0,.15);}
.solve__big{position:relative;font-family:var(--f-disp);font-weight:900;line-height:1.32;
  font-size:clamp(22px,6.6vw,32px);letter-spacing:.01em;text-shadow:0 2px 12px rgba(120,30,90,.32);
  animation:solvePop .7s cubic-bezier(.2,.8,.3,1.2) both;}
.solve__big .hl{display:inline-block;
  background:linear-gradient(170deg,#FFFFFF,#FFF1D8 60%,#FFE6A6);
  -webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 2px 6px rgba(120,30,90,.3));}
[data-deck-active] .solve__big,.solve__big{}
@keyframes solvePop{0%{opacity:0;transform:scale(.82);}60%{opacity:1;transform:scale(1.04);}100%{transform:scale(1);}}
.solve__sub{position:relative;display:block;margin-top:12px;font-family:var(--f-disp);font-weight:700;
  font-size:13px;letter-spacing:.04em;opacity:.96;text-shadow:0 1px 4px rgba(0,0,0,.15);}
.solve__sp{position:absolute;color:#fff;text-shadow:0 0 10px rgba(255,255,255,.95);animation:wSuit 3.4s ease-in-out infinite;}
.solve__sp.s1{top:14%;left:9%;font-size:18px;}
.solve__sp.s2{top:24%;right:11%;font-size:13px;animation-delay:.6s;}
.solve__sp.s3{bottom:18%;right:18%;font-size:15px;animation-delay:1s;}

/* ---- 8 worries → tap → LINE chat ---- */
.worry-grid{max-width:440px;margin:18px auto 0;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;}
.wbub{position:relative;display:flex;align-items:center;justify-content:center;
  min-height:58px;padding:8px 4px;border:1.6px solid var(--cb,#FFC7E0);border-radius:14px;
  background:linear-gradient(160deg,#fff,var(--c,#FFEFF6));cursor:pointer;-webkit-tap-highlight-color:transparent;
  font-family:var(--f-disp);font-weight:800;font-size:clamp(9.5px,2.8vw,11.5px);line-height:1.2;
  color:var(--ink);text-align:center;letter-spacing:-.02em;
  box-shadow:0 9px 16px -10px rgba(120,40,110,.4),inset 0 1px 0 rgba(255,255,255,.85);
  transition:transform .18s ease,box-shadow .22s ease,color .2s ease,border-color .2s ease;}
.wbub::before{content:"？";position:absolute;top:-8px;left:50%;transform:translateX(-50%);
  width:19px;height:19px;border-radius:50%;background:var(--cb,#FF9AD0);color:#fff;
  font-size:11px;font-weight:900;display:grid;place-items:center;box-shadow:0 3px 7px -2px rgba(216,30,114,.5);}
.wbub:active{transform:scale(.95);}
.wbub.active{color:var(--rose-deep);transform:translateY(-2px) scale(1.04);
  box-shadow:0 16px 24px -12px rgba(216,30,114,.5);border-color:var(--rose);}
.wbub.active::before{content:"♥";background:var(--rose-grad);}
.wbub:nth-child(8n+1){--c:#FFEFF6;--cb:#FFB7D8;}
.wbub:nth-child(8n+2){--c:#EAF6FF;--cb:#A6DDF6;}
.wbub:nth-child(8n+3){--c:#F2ECFF;--cb:#C9ADF0;}
.wbub:nth-child(8n+4){--c:#E9FBF2;--cb:#9FE0C6;}
.wbub:nth-child(8n+5){--c:#FFF6E6;--cb:#F0CE84;}
.wbub:nth-child(8n+6){--c:#FFEFF6;--cb:#FFB7D8;}
.wbub:nth-child(8n+7){--c:#EAF6FF;--cb:#A6DDF6;}
.wbub:nth-child(8n){--c:#F2ECFF;--cb:#C9ADF0;}
@media (max-width:380px){.wbub{min-height:54px;font-size:9px;}.wbub::before{width:17px;height:17px;}}

/* ---- LINE-style chat panel ---- */
.worry-chat{max-width:440px;margin:16px auto 0;min-height:120px;border-radius:18px;overflow:hidden;
  background:#A7C4E0;box-shadow:0 16px 30px -20px rgba(60,80,120,.55);}
.worry-chat__head{display:flex;align-items:center;gap:9px;padding:10px 14px;
  background:linear-gradient(100deg,#6E8FC0,#88A9D8);color:#fff;}
.worry-chat__ava{flex:0 0 30px;width:30px;height:30px;border-radius:50%;overflow:hidden;border:2px solid #fff;background:#FCEAF2;}
.worry-chat__ava img{width:118%;height:118%;object-fit:cover;object-position:center top;margin:-9% 0 0 -9%;}
.worry-chat__name{font-family:var(--f-disp);font-weight:700;font-size:13px;letter-spacing:.02em;}
.worry-chat__body{padding:16px 14px;display:flex;flex-direction:column;gap:11px;
  background-image:radial-gradient(rgba(255,255,255,.18) 1px,transparent 1px);background-size:14px 14px;}
.worry-chat__hint{text-align:center;font-size:12.5px;color:#3c577a;font-family:var(--f-disp);font-weight:700;
  padding:26px 0;margin:0;animation:hintPulse 1.8s ease-in-out infinite;}
@keyframes hintPulse{0%,100%{opacity:.55;}50%{opacity:1;}}
.wmsg{display:flex;gap:9px;align-items:flex-end;opacity:0;transform:translateY(10px);
  animation:msgIn .42s cubic-bezier(.2,.7,.2,1) forwards;}
@keyframes msgIn{to{opacity:1;transform:none;}}
.wmsg__b{position:relative;max-width:80%;padding:11px 15px;border-radius:16px;font-size:13px;
  line-height:1.7;box-shadow:0 2px 5px rgba(40,60,90,.18);text-wrap:pretty;}
.wmsg__b b{font-weight:800;}
.wmsg--q{justify-content:flex-end;}
.wmsg--q .wmsg__b{background:#8DE055;color:#13320a;border-bottom-right-radius:5px;font-weight:700;}
.wmsg--q .wmsg__b::after{content:"";position:absolute;right:-6px;bottom:7px;border:6px solid transparent;border-left-color:#8DE055;border-right:0;}
.wmsg--a{align-items:flex-start;}
.wmsg--a .wmsg__ava{flex:0 0 34px;width:34px;height:34px;border-radius:50%;overflow:hidden;
  border:2px solid #fff;box-shadow:0 3px 8px rgba(40,60,90,.3);background:#FCEAF2;}
.wmsg--a .wmsg__ava img{width:118%;height:118%;object-fit:cover;object-position:center top;margin:-9% 0 0 -9%;}
.wmsg--a .wmsg__b{background:#fff;color:var(--ink);border-bottom-left-radius:5px;}
.wmsg--a .wmsg__b b{color:var(--rose-deep);}
.wmsg--a .wmsg__b::after{content:"";position:absolute;left:-6px;bottom:7px;border:6px solid transparent;border-right-color:#fff;border-left:0;}

@media (prefers-reduced-motion:reduce){
  .worry-orb,.qmark,.wsuit,.worry-chibi,.solve__big,.solve__sp,.worry-chat__hint{animation:none;}
  .wmsg{opacity:1;transform:none;animation:none;}
}
@media (max-width:360px){
  .worry-chibi{width:96px;}
  .wcloud{flex-basis:180px;padding:12px 18px 16px;}
}
