/* ---- 今宵の一冊 LP: /manga-store/ (v0.10.0) ---- */
/* LP */
.k-lp.lp{max-width:760px;margin:0 auto;padding:0 clamp(20px,5vw,32px) 80px}
.k-lp .lp-hero{padding:clamp(48px,8vw,84px) 0 clamp(28px,5vw,44px);text-align:center;position:relative}
.k-lp .lp-eyebrow{font-family:var(--k-editorial);font-style:italic;color:var(--k-brass);font-size:14px;letter-spacing:.06em}
.k-lp .lp-h1{font-family:var(--k-display);font-weight:800;color:var(--k-paper);font-size:clamp(26px,4.6vw,40px);line-height:1.5;margin:14px 0 18px}
.k-lp .lp-h1 em{font-style:normal;color:var(--k-rouge)}
.k-lp .lp-sub{font-family:var(--k-display);color:var(--k-brass);font-size:clamp(15px,2vw,18px);margin:-6px 0 18px;letter-spacing:.04em}
.k-lp .lp-lead{color:#cfc7d6;font-size:clamp(15px,1.8vw,17px);line-height:2;max-width:600px;margin:0 auto}
.k-lp .lp-pr{font-size:11.5px;color:var(--k-muted);margin:18px 0 0;letter-spacing:.02em}
.k-lp .lp-scroll{margin-top:32px;font-family:var(--k-mono);font-size:11px;letter-spacing:.2em;color:var(--k-muted)}
.k-lp .lp-scroll i{display:block;width:1px;height:34px;margin:8px auto 0;background:linear-gradient(var(--k-brass),transparent);animation:drop 1.6s infinite}
@keyframes drop{0%{transform:scaleY(0);transform-origin:top}50%{transform:scaleY(1);transform-origin:top}51%{transform-origin:bottom}100%{transform:scaleY(0);transform-origin:bottom}}
.k-lp .sec{padding:clamp(40px,7vw,64px) 0;border-top:1px solid var(--k-line)}
.k-lp .sec-no{font-family:var(--k-editorial);font-style:italic;color:var(--k-brass);font-size:clamp(16px,2.2vw,20px);letter-spacing:.08em;line-height:1;opacity:.9}
.k-lp .sec h2{font-family:var(--k-display);font-weight:700;color:var(--k-paper);font-size:clamp(21px,3.2vw,28px);line-height:1.55;margin:10px 0 22px}
.k-lp .sec p{color:#cfc7d6;font-size:16px;line-height:2;margin:0 0 20px}
.k-lp .sec p strong{color:var(--k-brass);font-weight:500}
.k-lp .sec p.big{font-family:var(--k-display);color:var(--k-paper);font-size:clamp(17px,2.2vw,20px);border-left:2px solid var(--k-rouge);padding-left:18px}
/* reveal */
.k-js .k-lp .rv{opacity:0;transform:translateY(22px);transition:opacity .7s ease,transform .7s ease}
.k-lp .rv.in{opacity:1;transform:none}
@media (prefers-reduced-motion:reduce){.k-js .k-lp .rv{opacity:1;transform:none;transition:none}}
/* two reasons */
.k-lp .two{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:24px 0 8px}
.k-lp .card{background:var(--k-card);border:1px solid var(--k-line);border-radius:14px;padding:22px 20px}
.k-lp .card .n{font-family:var(--k-editorial);font-style:italic;color:var(--k-rouge);font-size:28px;line-height:1}
.k-lp .card h3{font-family:var(--k-display);color:var(--k-paper);font-size:17px;margin:10px 0 8px;line-height:1.5}
.k-lp .card p{font-size:14px;line-height:1.9;margin:0;color:#c9c1d1}
.k-lp .card .kpi{font-family:var(--k-display);color:var(--k-brass);font-size:34px;font-weight:700;line-height:1.1;margin:6px 0 4px}
.k-lp .card .kpi small{font-size:13px;color:var(--k-muted);font-family:var(--k-body);font-weight:400;margin-left:6px}
/* scattered shelves */
.k-lp .shelf{position:relative;height:300px;margin:8px 0 26px;border:1px dashed var(--k-line);border-radius:14px;background:rgba(199,163,106,.03);overflow:hidden}
.k-lp .bk{position:absolute;width:112px;height:160px;border-radius:6px;background:var(--k-card);border:1px solid var(--k-line);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:12px;font-family:var(--k-display);color:var(--k-paper);font-size:22px;font-weight:700;box-shadow:0 12px 30px rgba(0,0,0,.4);transition:transform 1.1s cubic-bezier(.2,.8,.2,1),opacity .6s;opacity:0}
.k-lp .bk .tag{position:absolute;top:-13px;left:50%;transform:translateX(-50%);font-size:12px;letter-spacing:.04em;padding:4px 10px;border-radius:999px;background:var(--k-ink);border:1px solid var(--k-brass);color:var(--k-brass);white-space:nowrap;font-family:var(--k-body);font-weight:500}
.k-lp .bk .st{font-size:11px;color:var(--k-muted);font-family:var(--k-body);font-weight:400;margin-top:2px}
.k-lp .bk.b1{left:6%;top:70px;transform:rotate(-7deg) translateY(40px)}
.k-lp .bk.b2{left:38%;top:44px;transform:rotate(5deg) translateY(40px)}
.k-lp .bk.b3{left:70%;top:92px;transform:rotate(-12deg) translateY(40px);border-color:var(--k-rouge)}
.k-lp .bk.b3 .q{position:absolute;inset:0 0 34px;display:flex;align-items:center;justify-content:center;font-size:56px;color:var(--k-rouge);font-family:var(--k-editorial);font-style:italic}
/* JSなし環境は完成状態を既定に。JSがあるときだけ演出の初期状態へ戻す */
.k-lp .bk{opacity:1}
.k-lp .bk.b1{transform:rotate(-7deg)}
.k-lp .bk.b2{transform:rotate(5deg)}
.k-lp .bk.b3{transform:rotate(-12deg)}
.k-js .k-lp .bk{opacity:0}
.k-js .k-lp .bk.b1{transform:rotate(-7deg) translateY(40px)}
.k-js .k-lp .bk.b2{transform:rotate(5deg) translateY(40px)}
.k-js .k-lp .bk.b3{transform:rotate(-12deg) translateY(40px)}
.k-js .k-lp .in .bk{opacity:1}
.k-js .k-lp .in .bk.b1{transform:rotate(-7deg)}
.k-js .k-lp .in .bk.b2{transform:rotate(5deg)}
.k-js .k-lp .in .bk.b3{transform:rotate(-12deg)}
.k-lp .shelf .cap{position:absolute;left:14px;bottom:10px;font-family:var(--k-mono);font-size:11px;color:var(--k-muted);letter-spacing:.06em}
/* points flow */
.k-lp .flow{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin:8px 0 26px}
.k-lp .flow .card{position:relative}
.k-lp .flow .card .lbl{font-family:var(--k-mono);font-size:11px;letter-spacing:.14em;color:var(--k-muted);text-transform:uppercase}
.k-lp .flow .card .arrow{font-family:var(--k-display);color:var(--k-paper);font-size:15px;line-height:1.7;margin-top:8px}
.k-lp .flow .card .arrow b{color:var(--k-rouge);font-weight:700}
.k-lp .flow .card.good .arrow b{color:var(--k-brass)}
.k-lp .coin{display:inline-block;width:14px;height:14px;border-radius:50%;background:var(--k-brass);vertical-align:-2px;margin-right:4px;box-shadow:0 0 0 2px rgba(199,163,106,.25)}
/* criteria */
.k-lp .crit{counter-reset:c;list-style:none;padding:0;margin:0 0 6px}
.k-lp .crit li{position:relative;padding:14px 0 14px 54px;border-bottom:1px solid var(--k-line);color:#d3ccd9;font-size:15px;line-height:1.9}
.k-lp .crit li:before{counter-increment:c;content:counter(c);position:absolute;left:0;top:14px;width:36px;height:36px;border-radius:50%;border:1px solid var(--k-brass);color:var(--k-brass);font-family:var(--k-editorial);font-style:italic;font-size:18px;display:flex;align-items:center;justify-content:center}
.k-lp .crit li b{color:var(--k-paper);font-weight:600;font-family:var(--k-display)}
/* bars */
.k-lp .bars{margin:8px 0 10px}
.k-lp .bar{display:grid;grid-template-columns:120px 1fr 62px;align-items:center;gap:12px;padding:8px 0}
.k-lp .bar .nm{font-size:13.5px;color:#d3ccd9}
.k-lp .bar .tr{height:16px;background:rgba(255,255,255,.04);border-radius:999px;overflow:hidden}
.k-lp .bar .fl{display:block;height:100%;width:0;border-radius:999px;background:linear-gradient(90deg,#6c5f7c,#8b7d9c);transition:width 1.3s cubic-bezier(.2,.8,.2,1)}
.k-lp .bar.top .fl{background:linear-gradient(90deg,var(--k-rouge-deep),var(--k-rouge))}
.k-lp .bar.top .nm{color:var(--k-paper);font-family:var(--k-display);font-weight:700}
.k-lp .bar .v{font-family:var(--k-mono);font-size:12.5px;color:var(--k-muted);text-align:right}
.k-lp .bar.top .v{color:var(--k-rouge);font-weight:700}
.k-lp .bar .fl{width:var(--w)}
.k-js .k-lp .bar .fl{width:0}
.k-js .k-lp .in .bar .fl{width:var(--w)}
.k-lp .bar.cond{margin-top:10px;padding-top:14px;border-top:1px dashed var(--k-line)}
.k-lp .bar.cond .nm small{display:block;font-size:10.5px;color:var(--k-muted);line-height:1.3}
.k-lp .bar.cond .fl{background:repeating-linear-gradient(135deg,rgba(199,163,106,.55) 0 6px,rgba(199,163,106,.2) 6px 12px)}
.k-lp .bar.cond .v{color:var(--k-brass)}
.k-lp .sec p.cond-note{margin-top:4px}
.k-lp .note,.k-lp .sec p.note{font-size:12.5px;color:var(--k-muted);line-height:1.8;margin:12px 0 0}
.k-lp .tbl-toggle{margin-top:14px;font-size:13px;color:var(--k-brass);border:1px solid var(--k-line);border-radius:999px;padding:8px 16px;background:none;cursor:pointer;font-family:var(--k-body)}
.k-lp .tbl{display:none;margin-top:16px;overflow-x:auto}
.k-lp .tbl.open{display:block}
.k-lp table{border-collapse:collapse;width:100%;font-size:13px}
.k-lp th,.k-lp td{padding:10px 10px;border-bottom:1px solid var(--k-line);text-align:left;vertical-align:top;color:#d3ccd9}
.k-lp th{color:var(--k-muted);font-weight:500;font-size:11.5px;letter-spacing:.06em}
.k-lp tr.top td{color:var(--k-paper)}
.k-lp tr.top td:first-child{color:var(--k-rouge);font-weight:700}
/* numbers */
.k-lp .nums{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;margin:8px 0 18px}
.k-lp .num{background:var(--k-card);border:1px solid var(--k-line);border-radius:14px;padding:22px 18px 18px}
.k-lp .num .v{font-family:var(--k-display);font-weight:800;color:var(--k-paper);font-size:clamp(28px,3.6vw,34px);line-height:1.1;letter-spacing:.02em}
.k-lp .num .v{white-space:nowrap}
.k-lp .num .v small{font-size:14px;color:var(--k-brass);margin-left:3px;font-weight:600}
.k-lp .num .v small.pre{margin:0 2px 0 0;color:var(--k-muted)}
.k-lp .num.acc .v{color:var(--k-rouge)}
.k-lp .num .l{font-size:12.5px;color:var(--k-muted);margin-top:8px;line-height:1.6}
.k-lp .num .so{font-size:12.5px;color:#d3ccd9;margin-top:8px;line-height:1.7;padding-top:8px;border-top:1px dashed var(--k-line)}
/* bubble */
.k-lp .k-note{display:flex;gap:16px;align-items:flex-start;margin:26px 0;padding:18px 20px;background:rgba(199,163,106,.06);border:1px solid var(--k-line);border-radius:14px}
.k-lp .k-note .av{width:52px;height:52px;border-radius:50%;flex:none;border:1.5px solid var(--k-brass);background:var(--k-card)}
.k-lp .k-note .k-bubble{font-size:14.5px;color:#d9d2e0;line-height:1.85}
.k-lp .k-note .nm{font-family:var(--k-display);color:var(--k-brass);font-size:12px;display:block;letter-spacing:.08em}
.k-lp .k-note .k-who{display:block;font-size:10.5px;color:var(--k-muted);margin:0 0 8px}
/* cautions */
.k-lp .caut{list-style:none;padding:0;margin:0}
.k-lp .caut li{position:relative;padding:12px 0 12px 26px;border-bottom:1px solid var(--k-line);font-size:14.5px;line-height:1.9;color:#d3ccd9}
.k-lp .caut li:before{content:"";position:absolute;left:4px;top:24px;width:6px;height:6px;border-radius:50%;background:var(--k-brass)}
/* campaign */
.k-lp .camp{border:1px solid var(--k-rouge);border-radius:16px;padding:22px 22px 20px;background:linear-gradient(180deg,rgba(194,69,77,.10),rgba(194,69,77,.03));position:relative;overflow:hidden}
.k-lp .camp:before{content:"CAMPAIGN";position:absolute;right:-8px;top:-14px;font-family:var(--k-editorial);font-style:italic;font-size:64px;color:rgba(194,69,77,.10);letter-spacing:.06em}
.k-lp .camp .until{font-family:var(--k-mono);font-size:11.5px;color:var(--k-rouge);letter-spacing:.14em}
.k-lp .camp h3{font-family:var(--k-display);color:var(--k-paper);font-size:19px;margin:6px 0 10px;line-height:1.5}
.k-lp .camp p{font-size:14px;color:#d3ccd9;line-height:1.9;margin:0 0 10px}
.k-lp .camp .steps{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 12px}
.k-lp .camp .st{font-size:12.5px;padding:6px 12px;border-radius:999px;border:1px solid var(--k-line);color:var(--k-paper);background:var(--k-ink)}
.k-lp .camp .st b{color:var(--k-brass)}
.k-lp .camp .fine{font-size:11.5px;color:var(--k-muted);line-height:1.7}
.k-lp .k-btn{display:inline-block;padding:14px 26px;border-radius:999px;font-weight:700;font-size:15px;text-align:center}
.k-lp .k-btn.p{background:var(--k-rouge);color:#fff;box-shadow:0 8px 24px rgba(194,69,77,.3)}
.k-lp .k-btn.o{border:1px solid var(--k-line);color:var(--k-paper)}
.k-lp .k-btn.camp-btn{background:linear-gradient(90deg,#D9B56E,var(--k-brass));color:#1a1520;box-shadow:0 8px 24px rgba(199,163,106,.28);display:block;width:100%}
.k-lp .cta{display:flex;flex-direction:column;gap:10px;align-items:stretch;margin-top:26px}
.k-lp .fine-print,.k-lp .sec p.fine-print{font-size:11.5px;color:var(--k-muted);margin:22px 0 0;line-height:1.7}
@media(max-width:600px){
  .k-lp br.pc{display:none}
  .k-lp .two,.k-lp .flow,.k-lp .nums{grid-template-columns:1fr}
  .k-lp .bar{grid-template-columns:96px 1fr 56px}
  .k-lp .bar .nm{font-size:12.5px}
  .k-lp .shelf{height:250px}
  .k-lp .bk{width:88px;height:130px;font-size:18px}
  .k-lp .bk .tag{font-size:10.5px;padding:3px 8px}
  .k-lp .bk .st{font-size:10px}
  .k-lp .bk.b1{left:3%;top:64px}.bk.b2{left:35%;top:40px}.bk.b3{left:67%;top:84px}
  .k-lp .bk.b3 .q{font-size:44px;inset:0 0 30px}
}
@media(min-width:601px){.k-lp .nums{grid-template-columns:repeat(4,1fr)}.k-lp .cta{flex-direction:row;justify-content:center}}
