/* 落選コム — サイト全体のデザイン。色は :root の変数だけで変えられる。 */
:root{
  --rk-ink:#1a1040;--rk-ink2:#2b1b66;--rk-pink:#ff3d81;--rk-orange:#ff9f1c;--rk-yellow:#ffd23f;
  --rk-cyan:#19c6e6;--rk-lime:#7be04a;--rk-paper:#fff8ef;--rk-card:#ffffff;--rk-text:#241a4a;--rk-sub:#5b5380;
  --rk-grad:linear-gradient(120deg,#ff3d81 0%,#ff9f1c 55%,#ffd23f 100%);
  --rk-dark:linear-gradient(160deg,#1a1040 0%,#3a1c8c 55%,#7a2bd1 100%);
  --rk-r:22px;
}
body{background:var(--rk-paper);}
.wp-site-blocks>main,.wp-site-blocks>main>.wp-block-group,.wp-block-post-content{padding:0!important;margin-top:0!important;margin-bottom:0!important;margin-block-start:0!important;margin-block-end:0!important;max-width:none!important}
.wp-site-blocks>main>*{margin-block-start:0!important}
.wp-site-blocks>footer,.wp-site-blocks>.wp-block-template-part{margin-block-start:0!important}
.wp-site-blocks>*{margin-block-start:0}
.wp-block-post-content.alignfull{margin-left:auto!important;margin-right:auto!important;padding:0!important}
.wp-block-post-content>*{max-width:none!important}
.wp-site-blocks{padding:0!important}
main .alignfull,main .wp-block-group{margin-left:0!important;margin-right:0!important}

.rk,.rk *{box-sizing:border-box}
.rk{color:var(--rk-text);font-family:"Hiragino Sans","Yu Gothic UI","Meiryo",system-ui,sans-serif;line-height:1.85;font-size:17px;overflow-x:clip}
.rk a{color:#c4166a}
.rk img{max-width:100%;height:auto}
.rk-wrap{max-width:1040px;margin:0 auto;padding:0 20px}
.rk-sec{padding:64px 0}
.rk-sec.alt{background:#fff}
.rk-h2{font-size:clamp(26px,4.6vw,38px);line-height:1.35;margin:0 0 12px;font-weight:900;letter-spacing:.01em}
.rk-h2 em{font-style:normal;background:var(--rk-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rk-lead{color:var(--rk-sub);margin:0 0 32px;max-width:720px}
.rk-kicker{display:inline-block;font-weight:900;font-size:13px;letter-spacing:.18em;color:#fff;background:var(--rk-pink);padding:4px 12px;border-radius:99px;margin-bottom:14px}

/* ---- ヘッダー・フッター ---- */
.rk-head{background:var(--rk-ink);position:sticky;top:0;z-index:50;box-shadow:0 2px 0 var(--rk-pink)}
.rk-head .rk-wrap{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding-top:10px;padding-bottom:10px}
.rk-logo{display:flex;align-items:center;gap:10px;color:#fff!important;text-decoration:none;font-weight:900;font-size:22px;letter-spacing:.04em}
.rk-logo svg{width:34px;height:34px;flex:none}
.rk-logo small{display:block;font-size:10px;font-weight:700;letter-spacing:.12em;color:var(--rk-yellow);line-height:1}
.rk-nav{display:flex;flex-wrap:wrap;gap:4px 6px}
.rk-nav a{color:#fff!important;text-decoration:none;font-weight:700;font-size:14px;padding:6px 12px;border-radius:99px;transition:.2s}
.rk-nav a:hover{background:var(--rk-pink)}
.rk-nav a.cta{background:var(--rk-grad);color:var(--rk-ink)!important}
.rk-foot{background:var(--rk-ink);color:#cfc8ee;padding:44px 0 28px;font-size:14px}
.rk-foot a{color:#fff!important}
.rk-foot .rk-wrap{display:grid;gap:24px;grid-template-columns:1.4fr 1fr}
.rk-foot h3{color:var(--rk-yellow);font-size:14px;letter-spacing:.14em;margin:0 0 8px}
.rk-foot ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.rk-foot .small{grid-column:1/-1;border-top:1px solid #3b2d82;padding-top:16px;font-size:12px;color:#a89fd8}

/* ---- ヒーロー ---- */
.rk-hero{position:relative;background:var(--rk-dark);color:#fff;overflow:hidden;padding:72px 0 120px}
.rk-hero .rk-wrap{position:relative;z-index:2;display:grid;grid-template-columns:1.15fr .85fr;gap:24px;align-items:center}
.rk-hero h1{font-size:clamp(34px,7vw,64px);line-height:1.18;margin:8px 0 18px;font-weight:900}
.rk-hero h1 span{background:var(--rk-grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:inline-block}
.rk-hero p{color:#e5dfff;max-width:560px;margin:0 0 26px}
.rk-btns{display:flex;flex-wrap:wrap;gap:12px}
.rk-btn{display:inline-block;background:var(--rk-grad);color:var(--rk-ink)!important;font-weight:900;text-decoration:none;padding:14px 28px;border-radius:99px;box-shadow:0 6px 0 #c4166a,0 12px 24px rgba(255,61,129,.35);transition:transform .15s,box-shadow .15s;border:0;cursor:pointer;font-size:16px;font-family:inherit}
.rk-btn:hover{transform:translateY(3px);box-shadow:0 3px 0 #c4166a,0 6px 14px rgba(255,61,129,.35)}
.rk-btn.ghost{background:transparent;color:#fff!important;box-shadow:inset 0 0 0 2px #fff}
.rk-btn.ghost:hover{background:#ffffff22}
.rk-art{width:100%;max-width:420px;justify-self:center}
.rk-art svg{width:100%;height:auto;display:block;overflow:visible}
.rk-sun{transform-origin:200px 250px;animation:rk-rise 4s ease-out both}
.rk-rays{transform-origin:200px 250px;animation:rk-spin 40s linear infinite}
.rk-float{animation:rk-float 3.2s ease-in-out infinite}
.rk-float.d2{animation-delay:-1.2s}.rk-float.d3{animation-delay:-2.1s}
.rk-star{animation:rk-twinkle 2.4s ease-in-out infinite}
.rk-star:nth-child(2n){animation-delay:-.8s}.rk-star:nth-child(3n){animation-delay:-1.5s}
@keyframes rk-rise{from{transform:translateY(90px) scale(.7);opacity:0}to{transform:none;opacity:1}}
@keyframes rk-spin{to{transform:rotate(360deg)}}
@keyframes rk-float{0%,100%{transform:translateY(0)}50%{transform:translateY(-12px)}}
@keyframes rk-twinkle{0%,100%{opacity:.25;transform:scale(.8)}50%{opacity:1;transform:scale(1.2)}}
.rk-wave{position:absolute;left:0;right:0;bottom:-1px;width:100%;height:70px;z-index:1}

/* ---- ティッカー ---- */
.rk-ticker{background:var(--rk-pink);color:#fff;overflow:hidden;white-space:nowrap;font-weight:900;padding:10px 0;transform:rotate(-1deg);margin:-30px -10px 0;position:relative;z-index:3;box-shadow:0 6px 0 var(--rk-ink)}
.rk-ticker div{display:inline-block;padding-left:100%;animation:rk-marq 34s linear infinite}
.rk-ticker span{margin:0 26px}
@keyframes rk-marq{to{transform:translateX(-100%)}}

/* ---- 数字・カード ---- */
.rk-grid{display:grid;gap:18px;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
.rk-card{background:var(--rk-card);border-radius:var(--rk-r);padding:26px 24px;box-shadow:0 4px 0 #1a104022,0 14px 30px rgba(26,16,64,.08);border:2px solid #1a1040;position:relative;transition:transform .2s}
.rk-card:hover{transform:translateY(-6px) rotate(-.5deg)}
.rk-card .no{position:absolute;top:-16px;left:18px;background:var(--rk-yellow);color:var(--rk-ink);font-weight:900;border:2px solid var(--rk-ink);border-radius:99px;padding:2px 14px;font-size:14px}
.rk-card h3{margin:8px 0 8px;font-size:20px;line-height:1.4}
.rk-card p{margin:0;color:var(--rk-sub);font-size:15px}
.rk-ico{font-size:34px;line-height:1}
.rk-nums{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));text-align:center}
.rk-num{background:var(--rk-ink);color:#fff;border-radius:var(--rk-r);padding:22px 10px}
.rk-num b{display:block;font-size:46px;line-height:1.1;background:var(--rk-grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.rk-num span{font-size:13px;color:#cfc8ee}

/* ---- 今日の一歩ガチャ ---- */
.rk-gacha{background:var(--rk-dark);color:#fff;border-radius:32px;padding:44px 24px;text-align:center;position:relative;overflow:hidden}
.rk-gacha h2{margin:0 0 8px;font-size:clamp(24px,4.4vw,34px)}
.rk-gacha p{color:#d9d2ff;margin:0 auto 22px;max-width:560px}
.rk-result{min-height:110px;margin:22px auto 0;max-width:560px;background:#ffffff14;border:2px dashed #ffffff66;border-radius:20px;padding:20px;font-size:20px;font-weight:900;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:6px}
.rk-result small{font-weight:600;font-size:13px;color:#cfc8ee}
.rk-result.pop{animation:rk-pop .5s cubic-bezier(.2,1.6,.4,1)}
@keyframes rk-pop{from{transform:scale(.6);opacity:.2}to{transform:none;opacity:1}}
.rk-conf{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.rk-conf i{position:absolute;top:-12px;width:10px;height:14px;border-radius:2px;animation:rk-fall 1.6s ease-in forwards}
@keyframes rk-fall{to{transform:translateY(520px) rotate(540deg);opacity:0}}

/* ---- ステップ ---- */
.rk-steps{counter-reset:s;display:grid;gap:16px;list-style:none;margin:0;padding:0}
.rk-steps li{counter-increment:s;background:#fff;border:2px solid var(--rk-ink);border-radius:var(--rk-r);padding:18px 20px 18px 78px;position:relative}
.rk-steps li:before{content:counter(s);position:absolute;left:16px;top:50%;transform:translateY(-50%);width:46px;height:46px;border-radius:50%;background:var(--rk-grad);color:var(--rk-ink);font-weight:900;font-size:22px;display:grid;place-items:center;border:2px solid var(--rk-ink)}
.rk-steps b{display:block;font-size:18px}
.rk-steps span{color:var(--rk-sub);font-size:15px}

/* ---- ページ見出し帯 ---- */
.rk-ph{background:var(--rk-dark);color:#fff;padding:56px 0 64px;position:relative;overflow:hidden}
.rk-ph h1{font-size:clamp(30px,6vw,48px);margin:6px 0 10px;line-height:1.25;font-weight:900}
.rk-ph p{margin:0;color:#e0d9ff;max-width:680px}
.rk-ph:after{content:"";position:absolute;right:-60px;top:-60px;width:240px;height:240px;border-radius:50%;background:var(--rk-grad);opacity:.35}
.rk-body{padding:48px 0 72px}
.rk-body h2{font-size:26px;margin:44px 0 10px;padding-left:14px;border-left:8px solid var(--rk-pink);line-height:1.4}
.rk-body h3{font-size:20px;margin:28px 0 6px}
.rk-note{background:#fff3d6;border:2px solid var(--rk-orange);border-radius:16px;padding:14px 18px;font-size:15px;margin:24px 0}
.rk-quote{background:#fff;border-left:8px solid var(--rk-cyan);border-radius:12px;padding:16px 20px;margin:20px 0;box-shadow:0 6px 18px rgba(26,16,64,.08)}
.rk-quote cite{display:block;color:var(--rk-sub);font-size:13px;margin-top:6px;font-style:normal}
.rk-tbl{width:100%;border-collapse:collapse;background:#fff;border-radius:14px;overflow:hidden;font-size:15px}
.rk-tbl th,.rk-tbl td{padding:12px 14px;border-bottom:1px solid #e6e0f5;text-align:left;vertical-align:top}
.rk-tbl th{width:30%;background:#f3eefc}
.rk-op{display:flex;gap:22px;align-items:center;flex-wrap:wrap;background:#fff;border-radius:20px;padding:20px;border:2px solid var(--rk-ink)}
.rk-op figure{margin:0;flex:0 1 300px}
.rk-op img{border-radius:12px;display:block;width:100%}
.rk-op figcaption{font-size:12px;color:var(--rk-sub);margin-top:6px}
.rk-op div{flex:1 1 260px}

/* ---- フォーム ---- */
.rk-form{display:grid;gap:18px;max-width:680px}
.rk-form label,.rk-form legend{font-weight:800;display:block;margin-bottom:4px}
.rk-form input[type=text],.rk-form input[type=email],.rk-form textarea{width:100%;border:2px solid var(--rk-ink);border-radius:12px;padding:12px;font:inherit;background:#fff}
.rk-form fieldset{border:0;margin:0;padding:0}
.rk-opt{display:inline-block;margin:4px 14px 4px 0;font-weight:600!important}
.rk-req{background:var(--rk-pink);color:#fff;border-radius:6px;font-size:11px;padding:1px 6px;margin-left:4px}
.rk-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.rk-status{font-weight:800;margin:0}
.rk-hint{color:var(--rk-sub);font-size:14px;margin:0 0 4px}

/* ---- 出現アニメーション（JSが動くときだけ） ---- */
.rk-js .rk-rv{opacity:0;transform:translateY(26px);transition:opacity .7s,transform .7s}
.rk-js .rk-rv.on{opacity:1;transform:none}

@media (max-width:760px){
  .rk{font-size:16px}
  .rk-hero{padding:48px 0 100px}
  .rk-hero .rk-wrap{grid-template-columns:1fr}
  .rk-art{max-width:300px}
  .rk-foot .rk-wrap{grid-template-columns:1fr}
  .rk-sec{padding:48px 0}
  .rk-nav a{font-size:13px;padding:5px 9px}
}
@media (prefers-reduced-motion:reduce){
  .rk-sun,.rk-rays,.rk-float,.rk-star,.rk-ticker div{animation:none!important}
  .rk-js .rk-rv{opacity:1;transform:none;transition:none}
  .rk-ticker div{padding-left:0}
}
