:root{color-scheme:light;--ink:#1d2442;--muted:#737994;--line:#e5e7f1;--bg:#f7f8fc;--violet:#6954e9;--pink:#f15c9d;font-family:system-ui,-apple-system,"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;color:var(--ink);background:var(--bg);line-height:1.65}button,input{font:inherit}button{cursor:pointer}a{color:inherit}a:hover{text-decoration:none}.wrap{max-width:1050px;margin:0 auto;padding-left:22px;padding-right:22px}.site-header{background:#fff;border-bottom:1px solid #eee}.nav{height:68px;display:flex;justify-content:space-between;align-items:center}.brand{font-size:19px;font-weight:900;letter-spacing:.06em}.brand-icon{color:var(--pink)}.brand-alt{font-size:11px;letter-spacing:.18em;color:#8479ce;margin-left:9px}.nav-link{font-size:13px;font-weight:700;text-decoration:none}.hero{position:relative;overflow:hidden;background:linear-gradient(115deg,#1e2353,#5741b9 67%,#a94291);color:white}.hero-content{position:relative;z-index:1;padding-top:62px;padding-bottom:72px}.eyebrow{font-size:11px;font-weight:900;letter-spacing:.2em;color:#cbcbff}.eyebrow.ink{color:#776ae7}.hero h1{font-size:clamp(37px,6vw,61px);letter-spacing:-.045em;line-height:1.33;margin:12px 0}.hero h1 span{color:#fd9cce}.hero p{font-size:16px;color:#e7e5ff;max-width:520px}.hero-tags{display:flex;gap:9px;flex-wrap:wrap;margin-top:27px}.hero-tags span{border:1px solid #ffffff4d;background:#ffffff18;padding:7px 12px;border-radius:50px;font-size:12px;font-weight:700}.hero-deco{position:absolute;font-size:400px;opacity:.055;right:3%;top:-180px;transform:rotate(-15deg);pointer-events:none}.shop-area{padding-top:48px;padding-bottom:30px}.section-intro h2{font-size:30px;letter-spacing:-.04em;margin:5px 0}.section-intro p{color:var(--muted);margin:0 0 20px}.tabs{display:flex;gap:8px;margin:20px 0}.tab{background:#fff;border:1px solid var(--line);border-radius:12px;color:#69708a;font-weight:750;padding:11px 20px}.tab.active{color:#fff;background:var(--violet);border-color:var(--violet)}.item-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;min-height:160px}.item-card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:20px;display:flex;flex-direction:column;box-shadow:0 7px 25px #27235608}.item-symbol{font-size:28px;color:var(--pink);width:48px;height:48px;background:#fff0f7;border-radius:13px;display:flex;align-items:center;justify-content:center;margin-bottom:18px}.item-badge{font-size:10px;color:#9184b5;font-weight:900;letter-spacing:.12em}.item-card h3{font-size:17px;line-height:1.45;margin:7px 0 5px}.item-desc{font-size:12px;color:var(--muted);margin:0 0 22px;flex:1}.item-bottom{display:flex;flex-direction:column;gap:10px}.price{font-size:24px;letter-spacing:-.04em}.add-btn{border:1px solid var(--violet);border-radius:10px;color:var(--violet);background:#fff;padding:9px;font-weight:800;font-size:13px}.add-btn:hover{background:#f4f1ff}.checkout-grid{display:grid;grid-template-columns:1.15fr 1fr;gap:16px;margin-top:32px}.card{background:#fff;border:1px solid var(--line);border-radius:18px;padding:25px;box-shadow:0 7px 25px #27235607}.card h3{margin:0 0 16px;font-size:20px}.muted{color:var(--muted)}.small{font-size:13px}.tiny{font-size:11px}.cart-list{min-height:80px}.cart-row{border-bottom:1px solid var(--line);padding:12px 0;display:flex;align-items:center;justify-content:space-between;gap:15px}.cart-line{display:flex;flex-direction:column;max-width:70%;font-size:13px}.cart-line small{font-size:11px}.qty{display:flex;align-items:center;gap:8px;white-space:nowrap}.qty button{border:1px solid var(--line);background:white;color:var(--ink);width:30px;height:30px;border-radius:8px}.qty button:disabled{opacity:.4}.total-line{border-top:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;margin-top:20px;padding-top:18px;font-weight:800}.total-line strong{font-size:28px;color:var(--violet)}.field{display:flex;flex-direction:column;font-size:13px;font-weight:700;margin:16px 0 6px}.field input{padding:12px;border:1px solid #d9dbe8;border-radius:9px;margin-top:7px;outline-color:var(--violet)}.field input:disabled{background:#f3f3f7;color:#8e93a5}.check{display:flex;gap:10px;align-items:flex-start;font-size:13px;font-weight:700;cursor:pointer;margin-top:17px}.check input{accent-color:var(--violet);width:17px;height:17px;margin-top:3px;flex:none}.pay-btn{width:100%;border:none;border-radius:11px;padding:16px;color:#fff;background:linear-gradient(95deg,var(--violet),var(--pink));font-size:16px;font-weight:900;margin-top:17px;display:flex;justify-content:space-between}.pay-btn:disabled{filter:grayscale(1);opacity:.55;cursor:not-allowed}.error{font-size:13px;color:#c43654;font-weight:700}.notice{padding:14px 17px;border:1px solid #eedaa8;background:#fff9e6;color:#825c17;border-radius:11px;margin-bottom:22px;font-size:13px}.hidden{display:none}.empty-panel,.skeleton{grid-column:1/-1;background:white;border:1px dashed #c7c5dd;border-radius:18px;padding:36px;text-align:center}.empty-emoji{font-size:34px}.empty-panel h3{margin:5px}.info-card{background:white;border:1px solid var(--line);border-radius:16px;margin-bottom:60px;padding-top:15px;padding-bottom:15px;font-size:13px}.info-card h3{margin:0 0 8px}.info-card p{margin:0;color:var(--muted)}footer{background:#202445;color:#ced0e3}.footer-row{min-height:90px;display:flex;justify-content:space-between;align-items:center;gap:18px;font-size:11px}.footer-row div{display:flex;gap:22px}.success-wrap{padding:90px 22px;max-width:580px;margin:0 auto;min-height:65vh;text-align:center}.success-icon{font-size:50px}.success-wrap h1{font-size:30px}.success-wrap p{color:var(--muted)}.back-link{display:inline-block;background:var(--violet);color:white;text-decoration:none;font-weight:800;border-radius:10px;padding:12px 26px;margin-top:15px}.legal-wrap{max-width:850px;margin:50px auto 100px;padding:0 22px}.legal-wrap h1{font-size:28px}.legal-table{width:100%;border-collapse:collapse;background:#fff}.legal-table th,.legal-table td{border:1px solid var(--line);padding:16px;text-align:left;vertical-align:top;font-size:13px}.legal-table th{background:#f4f2fb;width:35%}.warning{background:#fff0e8;color:#994a27;border:1px solid #f6ceba;padding:15px;border-radius:9px;margin:15px 0}@media(max-width:780px){.item-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.checkout-grid{grid-template-columns:1fr}}@media(max-width:550px){.item-grid{grid-template-columns:1fr}.hero-content{padding-top:45px;padding-bottom:52px}.shop-area{padding-top:28px}.section-intro h2{font-size:25px}.card{padding:20px}.footer-row{flex-direction:column;justify-content:center;text-align:center}.tabs{display:grid;grid-template-columns:1fr 1fr}.tab{padding:11px 6px;font-size:12px}.hero-deco{font-size:200px;top:-10px}.price{font-size:22px}.legal-table th,.legal-table td{display:block;width:100%;border-bottom:none}.legal-table td{border-bottom:1px solid var(--line)}}

/* 即購入方式（カートなし） */
.supporter-options{max-width:750px;padding:18px 23px;margin:12px 0 20px}
.supporter-heading{display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.supporter-heading h3{font-size:15px;margin:0}
.supporter-options .check{margin-top:8px}
.supporter-options .field{margin-top:9px}
.supporter-options .tiny{margin:9px 0 0}
.buy-now-btn{border:0;border-radius:12px;color:#fff;background:linear-gradient(95deg,var(--violet),var(--pink));padding:14px 10px;font-size:15px;font-weight:900;min-height:50px;width:100%}
.buy-now-btn:focus-visible{outline:3px solid #241b8a;outline-offset:2px}
.buy-now-btn:disabled{background:#b1b4c4;cursor:not-allowed;opacity:.75}
.checkout-explain{margin:16px 0 0}
#checkout-error:empty{display:none}
#checkout-error:not(:empty){padding:12px 15px;background:#fff0f2;border:1px solid #f1c0c9;border-radius:10px;margin-top:16px}
@media(max-width:550px){.hero-content{padding-top:24px;padding-bottom:25px}.hero h1{font-size:31px}.hero-tags{margin-top:16px}.shop-area{padding-top:19px}.section-intro h2{font-size:24px}.section-intro p{margin-bottom:10px}.supporter-options{padding:14px 16px;margin-top:8px}.item-card{padding:16px}.item-symbol{width:40px;height:40px;margin-bottom:10px}.item-desc{margin-bottom:12px}.buy-now-btn{font-size:16px}}


/* Re:ALFEIゲーム部: キービジュアル＋即購入メニュー */
.visual-hero {
  padding: 16px 0 0;
  background: transparent;
  color: var(--ink);
}
.visual-hero-wrap { max-width: 1050px; }
.hero-image {
  display: block;
  width: 100%;
  height: auto;
  border-radius: 18px;
  box-shadow: 0 10px 32px rgba(18, 23, 48, 0.12);
}
.visual-hero + .shop-area { padding-top: 24px; }
.visual-hero + .shop-area .section-intro h1 {
  font-size: clamp(20px, 2.4vw, 27px);
  margin: 0 0 14px;
  letter-spacing: -.035em;
}
@media (max-width: 550px) {
  .visual-hero { padding-top: 10px; }
  .visual-hero-wrap { padding-left: 12px; padding-right: 12px; }
  .hero-image { border-radius: 12px; box-shadow: 0 4px 16px rgba(18,23,48,.10); }
  .visual-hero + .shop-area { padding-top: 18px; }
  .visual-hero + .shop-area .section-intro h1 { font-size: 21px; margin-bottom: 10px; }
}
