.rules-page-hero{position:relative;overflow:hidden}
.rules-page-hero::after{content:"SNS";position:absolute;right:3%;bottom:-16%;font-size:clamp(100px,17vw,240px);line-height:.8;font-weight:900;letter-spacing:-.07em;opacity:.025;pointer-events:none}
.rules-jump-links{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}
.rules-format-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.rules-format-card{min-height:92px;padding:18px;border:1px solid rgba(255,255,255,.085);border-radius:16px;background:rgba(255,255,255,.027);display:flex;flex-direction:column;justify-content:space-between}
.rules-format-card span{color:#aeb4bf;font-size:.74rem;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.rules-format-card strong{margin-top:10px;font-size:1.08rem;line-height:1.25}
.rules-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.rules-card{padding:24px;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:rgba(255,255,255,.027)}
.rules-card h2{margin:0 0 15px;font-size:1.15rem}
.rules-body{color:#c8cbd1;line-height:1.68;white-space:pre-line}
.rules-points-layout{display:grid;grid-template-columns:minmax(0,.82fr) minmax(380px,1.18fr);gap:30px;align-items:start}
.rules-points-copy h2{margin:6px 0 10px;font-size:clamp(1.7rem,3vw,2.55rem)}
.rules-points-copy p{color:#aeb4bf;line-height:1.65}
.rules-badges{display:flex;flex-wrap:wrap;gap:8px;margin-top:20px}
.rules-badges span{padding:8px 11px;border:1px solid rgba(230,57,70,.28);border-radius:999px;background:rgba(230,57,70,.08);font-size:.84rem;font-weight:700}
.rules-points-table-card{overflow:hidden;border:1px solid rgba(255,255,255,.085);border-radius:18px;background:rgba(255,255,255,.025)}
.rules-points-table tbody tr:nth-child(-n+3) td:first-child{color:#e63946;font-weight:800}
.rules-reference-note{display:flex;gap:14px;align-items:flex-start;padding:18px 20px;border-left:3px solid #e63946;background:rgba(230,57,70,.055)}
.rules-reference-note span{color:#aeb4bf;line-height:1.55}
@media(max-width:980px){.rules-format-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:820px){.rules-grid,.rules-points-layout{grid-template-columns:1fr}}
@media(max-width:520px){.rules-format-grid{grid-template-columns:1fr}.rules-card{padding:19px}.rules-reference-note{display:block}.rules-reference-note strong{display:block;margin-bottom:6px}}
