/* ============================================================
   AWGroup LP — wide inline "LINE応募" button (reusable type)
   Same shape/markup everywhere; text varies per section.
   5 switchable designs via data-lb on .linewide-wrap.
   <div class="linewide-wrap" data-lb="a">
     <a class="linewide" href="#">
       <span class="linewide__ico">…LINE svg…</span>
       <span class="linewide__txt"><b>main</b><small>sub</small></span>
       <span class="linewide__arrow">→</span>
     </a>
   </div>
   ============================================================ */
.linewide-wrap{position:relative;z-index:3;max-width:430px;margin:30px auto 4px;}
.linewide{position:relative;display:flex;align-items:center;gap:14px;width:100%;
  padding:18px 20px;border-radius:18px;text-decoration:none;overflow:hidden;
  font-family:var(--f-disp);-webkit-tap-highlight-color:transparent;
  transition:transform .18s ease,box-shadow .25s ease;}
.linewide:active{transform:scale(.98);}
.linewide__ico{flex:0 0 auto;display:grid;place-items:center;width:42px;height:42px;border-radius:11px;overflow:hidden;}
.linewide__ico svg{width:42px;height:42px;display:block;}
.linewide__txt{flex:1;display:flex;flex-direction:column;line-height:1.18;text-align:left;min-width:0;}
.linewide__txt b{font-weight:900;font-size:clamp(16px,4.6vw,19px);letter-spacing:.02em;}
.linewide__txt small{font-weight:700;font-size:11.5px;opacity:.92;margin-top:2px;}
.linewide__arrow{flex:0 0 auto;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;
  font-size:15px;font-weight:900;transition:transform .25s ease;}
.linewide:hover .linewide__arrow{transform:translateX(3px);}
/* sheen sweep shared by all */
.linewide::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:34%;
  background:linear-gradient(100deg,transparent,rgba(255,255,255,.45),transparent);
  transform:skewX(-18deg);animation:lwSheen 4.5s ease-in-out infinite;pointer-events:none;}
@keyframes lwSheen{0%{left:-45%;}45%,100%{left:120%;}}

/* ---- A : LINE green hero ---- */
[data-lb="a"] .linewide{background:linear-gradient(135deg,#8DE055,#5CC23A);color:#fff;
  box-shadow:0 16px 30px -12px rgba(70,160,40,.6),inset 0 1px 0 rgba(255,255,255,.4);}
[data-lb="a"] .linewide__ico{background:rgba(255,255,255,.25);}
[data-lb="a"] .linewide__arrow{background:rgba(255,255,255,.28);color:#fff;}

/* ---- B : ゆめかわ pink gradient + gold rim ---- */
[data-lb="b"] .linewide{background:linear-gradient(135deg,#FFB7D8,#FF6FA8 60%,#C79BF2);color:#fff;
  border:2px solid #FFE6A6;box-shadow:0 16px 30px -12px rgba(216,30,114,.55);}
[data-lb="b"] .linewide__ico{background:#fff;}
[data-lb="b"] .linewide__txt small{color:#FFF0F8;}
[data-lb="b"] .linewide__arrow{background:rgba(255,255,255,.3);color:#fff;}

/* ---- C : white card + green accents (clean) ---- */
[data-lb="c"] .linewide{background:#fff;color:var(--ink);
  border:1.5px solid var(--pink-soft);box-shadow:0 16px 30px -16px rgba(120,40,110,.4);}
[data-lb="c"] .linewide__txt b{color:#06A94C;}
[data-lb="c"] .linewide__txt small{color:var(--ink-soft);}
[data-lb="c"] .linewide__arrow{background:#06C755;color:#fff;}
[data-lb="c"]::before{content:"♡";position:absolute;top:-9px;right:14px;z-index:4;font-size:15px;color:var(--rose);}
/* always-on reflective gloss band across the top */
[data-lb="c"] .linewide__gloss{position:absolute;inset:0;z-index:0;pointer-events:none;border-radius:inherit;overflow:hidden;}
[data-lb="c"] .linewide__gloss::before{content:"";position:absolute;left:-10%;right:-10%;top:-60%;height:90%;
  background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,0));
  transform:rotate(-8deg);}
/* continuous travelling reflection (always sweeping) */
[data-lb="c"] .linewide__gloss::after{content:"";position:absolute;top:0;bottom:0;left:-40%;width:38%;
  background:linear-gradient(100deg,transparent,rgba(150,240,180,.55) 45%,rgba(255,255,255,.9) 55%,transparent);
  transform:skewX(-18deg);animation:lwShine 2.8s ease-in-out infinite;}
@keyframes lwShine{0%{left:-45%;}100%{left:120%;}}
/* twinkling sparkles, always on */
[data-lb="c"] .linewide__txt b{position:relative;}
[data-lb="c"] .linewide__spk{position:absolute;z-index:4;pointer-events:none;color:#FFE6A6;
  text-shadow:0 0 7px rgba(245,221,154,.95);animation:lwTwk 1.8s ease-in-out infinite;}
[data-lb="c"] .linewide__spk.s1{top:6px;left:46px;font-size:13px;}
[data-lb="c"] .linewide__spk.s2{bottom:8px;left:38%;font-size:10px;color:#9BE8FF;animation-delay:.5s;}
[data-lb="c"] .linewide__spk.s3{top:10px;right:52px;font-size:11px;color:#FF9AD0;animation-delay:1s;}
@keyframes lwTwk{0%,100%{transform:scale(.6) rotate(0);opacity:.4;}50%{transform:scale(1.15) rotate(18deg);opacity:1;}}

/* ---- D : ribbon / notched ticket ---- */
[data-lb="d"] .linewide{background:var(--rose-grad);color:#fff;border-radius:14px;
  clip-path:polygon(0 0,100% 0,100% 100%,0 100%,14px 50%);padding-left:30px;
  box-shadow:0 16px 30px -14px rgba(216,30,114,.6);}
[data-lb="d"] .linewide__ico{background:rgba(255,255,255,.95);border-radius:9px;}
[data-lb="d"] .linewide__txt small{color:#FFE6F2;}
[data-lb="d"] .linewide__arrow{background:rgba(255,255,255,.28);color:#fff;}

/* ---- E : glass capsule + aqua glow (アリス小瓶) ---- */
[data-lb="e"] .linewide{border-radius:999px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(214,200,255,.82));
  color:var(--rose-deep);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);
  border:1.5px solid rgba(255,255,255,.7);
  box-shadow:0 16px 32px -12px rgba(124,91,208,.5),inset 0 1px 0 #fff,0 0 18px 1px rgba(127,233,255,.4);}
[data-lb="e"] .linewide__ico{border-radius:50%;}
[data-lb="e"] .linewide__txt b{color:var(--rose-deep);}
[data-lb="e"] .linewide__txt small{color:var(--rose-ink);}
[data-lb="e"] .linewide__arrow{background:linear-gradient(135deg,#7FE9FF,#06C755);color:#fff;}

@media (prefers-reduced-motion:reduce){ .linewide::after{animation:none;display:none;} }

/* design switcher */
.linewide-switch{position:relative;z-index:5;display:flex;align-items:center;justify-content:center;gap:6px;margin:8px auto 0;}
.linewide-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;}
.linewide-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;}
.linewide-switch button.on{background:var(--rose-grad);color:#fff;border-color:transparent;transform:scale(1.12);}
