html,body{margin:0;background:#fff}

.prA{
  --acc:#635bff; --ink:#0a2540; --body:#374151; --sub:#4b5563; --line:#e6e9ee;
  font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  background:#f6f9fc;padding:clamp(52px,6.5vw,96px) 24px;
}
.prA__in{max-width:1060px;margin:0 auto}
.prA__head{text-align:center;margin-bottom:clamp(30px,4vw,48px)}
.prA__head h2{margin:0;font-size:clamp(22px,3vw,32px);font-weight:800;color:var(--ink);letter-spacing:-.01em}
.prA__head p{margin:12px 0 0;font-size:13.5px;color:var(--body)}
.prA__grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;align-items:start}
.prA__card{
  background:#fff;border-radius:14px;padding:30px 26px 28px;box-shadow:0 0 0 1px var(--line);
  display:flex;flex-direction:column;position:relative;
}
.prA__card--push{
  box-shadow:0 0 0 2px var(--acc),0 20px 44px -20px rgba(99,91,255,.6);padding-top:38px;
}
.prA__badge{
  position:absolute;top:-11px;left:50%;translate:-50% 0;margin:0;background:var(--acc);color:#fff;
  font-size:10.5px;font-weight:800;padding:6px 14px;border-radius:99px;white-space:nowrap;
}
.prA__card h3{margin:0;font-size:17px;font-weight:800;color:var(--ink)}
.prA__for{margin:7px 0 0;font-size:11.5px;color:var(--sub)}
.prA__price{margin:22px 0 0;display:flex;align-items:baseline;gap:5px}
.prA__price b{font-size:clamp(28px,3.6vw,38px);font-weight:800;color:var(--ink);letter-spacing:-.03em}
.prA__price span{font-size:12.5px;color:var(--sub);font-weight:700}
.prA__card ul{margin:22px 0 0;padding:22px 0 0;list-style:none;border-top:1px solid var(--line);display:grid;gap:11px;flex:1}
.prA__card li{position:relative;padding-left:22px;font-size:13px;color:var(--body)}
.prA__card li::before{
  content:"";position:absolute;left:1px;top:.5em;width:10px;height:5px;
  border-left:2px solid var(--acc);border-bottom:2px solid var(--acc);transform:rotate(-45deg);
}
.prA__btn{
  margin-top:26px;display:inline-flex;align-items:center;justify-content:center;height:48px;border-radius:8px;
  font-size:14px;font-weight:800;text-decoration:none;color:var(--ink);box-shadow:inset 0 0 0 1px var(--line);
}
.prA__btn--fill{background:var(--acc);color:#fff;box-shadow:0 4px 14px -4px rgba(99,91,255,.5)}
@media (max-width:880px){ .prA__grid{grid-template-columns:1fr;max-width:420px;margin:0 auto} }
