:root{--lj-ink:#1b2a41;--lj-key:#0b5fff;--lj-key2:#0a3fa8;--lj-bg:#f4f7fc;--lj-card:#fff;--lj-line:#d9e2f1;--lj-ok:#e8f3ff;--lj-warn:#fff5e0;--lj-warn-line:#f0b429}
body{color:var(--lj-ink);overflow-x:hidden}
.lj-topbar{background:var(--lj-ink);color:#fff;font-size:13px;line-height:1.5;padding:6px 16px;text-align:center}
.lj-header{padding:14px 16px;border-bottom:3px solid var(--lj-key);background:#fff;align-items:center}
.lj-header .wp-block-site-title{font-weight:800;font-size:1.35rem;margin:0}
.lj-header .wp-block-site-title a{color:var(--lj-key2);text-decoration:none}
.lj-footer-wrap{background:var(--lj-ink);color:#d7e0f0;padding:28px 16px;margin-top:48px}
.lj-footer{max-width:960px;margin:0 auto;font-size:14px;line-height:1.8}
.lj-footer a{color:#fff}
/* 本文領域 */
.wp-site-blocks>main>.wp-block-group{margin-left:0!important;margin-right:0!important}
.wp-block-post-content>*{max-width:none!important;margin-left:0!important;margin-right:0!important}
.wp-block-post-content>.lj-hero{margin-top:24px!important;margin-bottom:24px!important}
.wp-site-blocks>main{padding-left:16px!important;padding-right:16px!important}
.wp-site-blocks>main .wp-block-post-content.alignfull{margin-left:auto!important;margin-right:auto!important;padding-left:0!important;padding-right:0!important}
.wp-block-post-title{max-width:960px;margin:32px auto 8px!important;font-size:clamp(1.6rem,4vw,2.3rem);line-height:1.35}
.wp-block-post-content{max-width:960px;margin:0 auto!important;line-height:1.95;font-size:1.02rem}
.wp-block-post-content h2{margin:2.2em 0 .6em;padding:.35em .7em;border-left:6px solid var(--lj-key);background:var(--lj-bg);font-size:1.35rem}
.wp-block-post-content h3{margin:1.6em 0 .4em;font-size:1.12rem;border-bottom:2px solid var(--lj-line);padding-bottom:.2em}
.wp-block-post-content table{border-collapse:collapse;width:100%;display:block;overflow-x:auto;font-size:.95rem}
.wp-block-post-content th,.wp-block-post-content td{border:1px solid var(--lj-line);padding:8px 10px;vertical-align:top;min-width:6em}
.wp-block-post-content th{background:var(--lj-bg);text-align:left}
.wp-block-post-content pre{background:#101827;color:#e6edf7;padding:14px;border-radius:8px;overflow-x:auto;font-size:.9rem;line-height:1.6}
.wp-block-post-content code{background:var(--lj-bg);padding:.1em .35em;border-radius:4px;word-break:break-word}
.wp-block-post-content pre code{background:none;padding:0}
.wp-block-post-content a{color:var(--lj-key2);word-break:break-word}
.lj-note,.lj-warn{margin:1.4em 0;padding:12px 16px;border-radius:8px;line-height:1.8}
.lj-note{background:var(--lj-ok);border-left:6px solid var(--lj-key)}
.lj-warn{background:var(--lj-warn);border-left:6px solid var(--lj-warn-line)}
.lj-date,.lj-muted{color:#5a6a85;font-size:.9rem}
/* トップ */
.lj-hero{background:linear-gradient(135deg,#0b5fff 0%,#0a3fa8 55%,#1b2a41 100%);color:#fff;border-radius:14px;padding:44px 24px;margin:24px auto;text-align:center}
.lj-hero h1{color:#fff;font-size:clamp(1.8rem,5vw,2.8rem);margin:0 0 12px;line-height:1.3}
.lj-hero p{margin:6px auto;max-width:680px;line-height:1.8}
.lj-btns{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:20px}
.lj-btn{display:inline-block;background:#fff;color:var(--lj-key2)!important;padding:12px 22px;border-radius:999px;font-weight:700;text-decoration:none}
.lj-btn.alt{background:transparent;color:#fff!important;border:2px solid #fff}
.lj-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:14px;margin:14px 0}
.lj-card{display:block;background:var(--lj-card);border:1px solid var(--lj-line);border-radius:12px;padding:16px;text-decoration:none;color:var(--lj-ink)!important;box-shadow:0 1px 3px rgba(11,95,255,.06);transition:transform .15s,box-shadow .15s}
.lj-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px rgba(11,95,255,.15)}
.lj-card strong{display:block;color:var(--lj-key2);margin-bottom:6px}
.lj-card span{font-size:.88rem;line-height:1.6;color:#44546f}
.lj-news{list-style:none;margin:0;padding:0}
.lj-news li{display:flex;gap:14px;padding:10px 0;border-bottom:1px solid var(--lj-line)}
.lj-news time{color:#5a6a85;white-space:nowrap}
.lj-levels{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:12px}
.lj-levels div{background:var(--lj-bg);border-radius:10px;padding:14px}
/* フォーム */
.lj-form label{display:block;font-weight:600}
.lj-form input[type=text],.lj-form input[type=email],.lj-form textarea{width:100%;box-sizing:border-box;padding:10px;border:1px solid var(--lj-line);border-radius:6px;font-size:1rem;margin-top:4px}
.lj-form button{background:var(--lj-key);color:#fff;border:0;border-radius:999px;padding:12px 28px;font-size:1rem;font-weight:700;cursor:pointer}
.lj-hp{position:absolute;left:-9999px;height:0;overflow:hidden}
.lj-req{color:#c0392b;font-size:.8rem}
/* ニュース一覧（ブロックテーマの記事一覧） */
main .wp-block-query.alignfull,main .wp-block-query .alignfull{margin-left:0!important;margin-right:0!important;max-width:100%!important;box-sizing:border-box}
.wp-block-post-template{max-width:960px;margin:0 auto}
@media (max-width:600px){.lj-news li{flex-direction:column;gap:2px}.lj-hero{padding:32px 16px}}
@media (prefers-reduced-motion:reduce){.lj-card{transition:none}}

/* ===== v1.1 excitement layer ===== */
@keyframes ljflow{0%{background-position:0% 50%}50%{background-position:100% 50%}100%{background-position:0% 50%}}
@keyframes ljfloat{0%,100%{transform:translate(0,0) scale(1)}50%{transform:translate(18px,-22px) scale(1.08)}}
@keyframes ljpulse{0%,100%{opacity:.55;transform:scale(1)}50%{opacity:1;transform:scale(1.7)}}
@keyframes ljrise{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.lj-hero{position:relative;overflow:hidden;background:linear-gradient(120deg,#0b5fff,#6a3df5,#00b3ff,#0a3fa8);background-size:300% 300%;animation:ljflow 14s ease infinite;border-radius:20px;padding:64px 24px 56px;margin:24px auto 0;box-shadow:0 18px 50px rgba(11,95,255,.28)}
.lj-hero>*{position:relative;z-index:2}
.lj-hero h1{font-size:clamp(2.4rem,8vw,4.2rem);font-weight:900;letter-spacing:.02em;margin:10px 0;text-shadow:0 4px 24px rgba(0,0,0,.25)}
.lj-lead{font-size:clamp(1.05rem,2.6vw,1.35rem)!important;line-height:1.9!important}
.lj-chip{display:inline-block;background:rgba(255,255,255,.18);border:1px solid rgba(255,255,255,.45);border-radius:999px;padding:5px 16px;font-size:.85rem;backdrop-filter:blur(4px)}
.lj-orb{position:absolute!important;z-index:1!important;border-radius:50%;filter:blur(2px);animation:ljfloat 9s ease-in-out infinite}
.lj-orb1{width:240px;height:240px;left:-60px;top:-70px;background:radial-gradient(circle,rgba(255,255,255,.35),transparent 70%)}
.lj-orb2{width:320px;height:320px;right:-90px;bottom:-120px;background:radial-gradient(circle,rgba(0,255,200,.3),transparent 70%);animation-delay:-3s}
.lj-orb3{width:140px;height:140px;right:22%;top:12%;background:radial-gradient(circle,rgba(255,220,120,.35),transparent 70%);animation-delay:-6s}
.lj-net{position:absolute!important;z-index:1!important;left:50%;bottom:6px;width:min(720px,110%);transform:translateX(-50%);opacity:.55;pointer-events:none}
.lj-pulse{transform-box:fill-box;transform-origin:center;animation:ljpulse 2.6s ease-in-out infinite}
.lj-pulse.d1{animation-delay:.6s}.lj-pulse.d2{animation-delay:1.2s}.lj-pulse.d3{animation-delay:1.8s}
.lj-btn{box-shadow:0 6px 18px rgba(0,0,0,.2);transition:transform .15s,box-shadow .15s}
.lj-btn:hover{transform:translateY(-3px) scale(1.03);box-shadow:0 10px 24px rgba(0,0,0,.28)}
.lj-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;margin:-34px 12px 28px;position:relative;z-index:3}
.lj-stats>div{background:#fff;border:1px solid var(--lj-line);border-radius:16px;padding:16px 14px;text-align:center;box-shadow:0 10px 28px rgba(27,42,65,.12)}
.lj-stats b{display:block;font-size:2.3rem;line-height:1.1;background:linear-gradient(90deg,#0b5fff,#7a3cff);-webkit-background-clip:text;background-clip:text;color:transparent}
.lj-stats span{font-size:.9rem;line-height:1.5}.lj-stats small{color:#5a6a85}
.lj-quests{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:16px}
.lj-quest{position:relative;display:block;padding:20px 18px;border-radius:16px;color:#fff!important;text-decoration:none;overflow:hidden;transition:transform .2s,box-shadow .2s;box-shadow:0 8px 22px rgba(0,0,0,.14)}
.lj-quest:hover{transform:translateY(-6px) rotate(-.6deg);box-shadow:0 16px 34px rgba(0,0,0,.22)}
.lj-quest em{font-style:normal;font-weight:800;font-size:.8rem;background:rgba(255,255,255,.25);border-radius:999px;padding:2px 10px}
.lj-quest strong{display:block;font-size:1.25rem;margin:10px 0 4px}
.lj-quest span{display:block;font-size:.92rem;line-height:1.6;opacity:.95}
.lj-quest i{display:block;margin-top:12px;font-style:normal;font-size:.82rem;opacity:.9;border-top:1px solid rgba(255,255,255,.35);padding-top:8px}
.q1{background:linear-gradient(135deg,#12b886,#0ca678)}.q2{background:linear-gradient(135deg,#228be6,#1c64f2)}.q3{background:linear-gradient(135deg,#7950f2,#9c36b5)}.q4{background:linear-gradient(135deg,#f76707,#e03131)}
.lj-hot{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}
.lj-card.hot{position:relative;padding-top:34px}
.lj-tag{position:absolute;left:14px;top:12px;background:linear-gradient(90deg,#ff6b6b,#ff9f43);color:#fff!important;font-size:.72rem!important;font-weight:800;border-radius:999px;padding:1px 10px!important}
.lj-map{display:flex;flex-wrap:wrap;gap:10px}
.lj-map a{background:var(--lj-bg);border:1px solid var(--lj-line);border-radius:999px;padding:8px 16px;text-decoration:none;color:var(--lj-ink)!important;font-weight:600;transition:transform .15s,background .15s,color .15s}
.lj-map a:hover{background:var(--lj-key);color:#fff!important;transform:translateY(-3px)}
.lj-cta{display:flex;flex-wrap:wrap;gap:12px 20px;align-items:center;justify-content:space-between;margin:36px 0 8px;padding:22px 26px;border-radius:18px;background:linear-gradient(120deg,#1b2a41,#0a3fa8);color:#fff}
.lj-cta strong{font-size:1.25rem}.lj-cta span{flex:1 1 220px;opacity:.9}
.lj-cta .lj-btn{background:#fff}
.lj-news li{transition:background .15s,transform .15s;border-radius:8px;padding:10px 8px}
.lj-news li:hover{background:var(--lj-bg);transform:translateX(4px)}
.lj-card{position:relative}
.lj-grid .lj-card::before{content:"";position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:12px 0 0 12px;background:linear-gradient(#0b5fff,#7a3cff)}
.lj-progress{position:fixed;left:0;top:0;height:4px;width:0;z-index:99999;background:linear-gradient(90deg,#0b5fff,#7a3cff,#ff6b6b)}
.lj-toc{background:var(--lj-bg);border:1px solid var(--lj-line);border-radius:12px;padding:14px 18px;margin:0 0 1.6em}
.lj-toc ol{margin:.5em 0 0;padding-left:1.4em;line-height:2}
.lj-toc a{text-decoration:none}
.lj-js .lj-rv.pre{opacity:0;transform:translateY(18px)}
.lj-js .lj-rv.pre.in{opacity:1;transform:none;transition:opacity .6s ease,transform .6s ease}
.wp-block-post-title{background:linear-gradient(90deg,#1b2a41,#0b5fff);-webkit-background-clip:text;background-clip:text;color:transparent}
.home .wp-block-post-title{display:none}
.wp-block-post-content h2{border-radius:0 10px 10px 0;background:linear-gradient(90deg,#e8f0ff,transparent)}
@media (max-width:600px){.lj-hero{padding:44px 16px 48px}.lj-stats{margin:-26px 4px 24px}.lj-net{opacity:.35}}
@media (prefers-reduced-motion:reduce){.lj-hero,.lj-orb,.lj-pulse{animation:none}.lj-js .lj-rv.pre{opacity:1;transform:none}.lj-quest,.lj-btn,.lj-map a,.lj-news li{transition:none}}

/* ===== demo page ===== */
.lj-demo{margin:20px 0;border:1px solid var(--lj-line);border-radius:16px;background:#fff;box-shadow:0 10px 30px rgba(27,42,65,.1);overflow:hidden}
.lj-tabs{display:flex;flex-wrap:wrap;gap:4px;background:var(--lj-ink);padding:8px 8px 0}
.lj-tab{background:transparent;color:#cfd9ec;border:0;border-radius:10px 10px 0 0;padding:10px 16px;font-size:.95rem;font-weight:700;cursor:pointer}
.lj-tab[aria-selected=true]{background:#fff;color:var(--lj-key2)}
.lj-panel{padding:16px}
.lj-panel[hidden]{display:none}
.lj-dhint{color:#44546f;font-size:.92rem;line-height:1.7;margin:.4em 0}
.lj-dbar{display:flex;flex-wrap:wrap;gap:12px 22px;margin:10px 0}
.lj-dgroup{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.lj-dlabel{font-size:.8rem;font-weight:800;color:#5a6a85;margin-right:2px}
.lj-dbtn,.lj-mini{border:1px solid var(--lj-line);background:var(--lj-bg);color:var(--lj-ink);border-radius:999px;padding:7px 14px;font-size:.88rem;font-weight:600;cursor:pointer;transition:transform .12s,background .12s}
.lj-dbtn:hover,.lj-mini:hover{transform:translateY(-2px);background:#e3ecff}
.lj-dbtn.primary{background:var(--lj-key);color:#fff;border-color:var(--lj-key)}
.lj-dbtn.sw{border:0;min-width:40px}
.lj-mini{padding:2px 9px;border-radius:8px}
.lj-stage{background:repeating-linear-gradient(45deg,#eef2f8,#eef2f8 10px,#e6ecf5 10px,#e6ecf5 20px);border-radius:12px;padding:14px;margin:10px 0}
.lj-canvas{margin:0 auto;background:var(--bg,#f4f7fc);color:var(--ink,#1b2a41);border-radius:10px;padding:10px;transition:max-width .3s,background .3s;box-shadow:0 6px 18px rgba(0,0,0,.12);min-height:120px}
.lj-block{position:relative;margin:8px 0;border:2px dashed transparent;border-radius:8px}
.lj-block:hover{border-color:var(--k,#0b5fff)}
.lj-btools{position:absolute;right:6px;top:6px;display:none;gap:4px}
.lj-block:hover .lj-btools,.lj-block:focus-within .lj-btools{display:flex}
.dm-heading{padding:14px}.dm-heading h3{margin:0 0 4px;color:var(--k);border:0}.dm-heading p{margin:0}
.dm-banner{background:var(--k);color:#fff;border-radius:8px;padding:22px;display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px}
.dm-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:8px}
.dm-card{background:#fff;border-top:4px solid var(--k);border-radius:8px;padding:10px}.dm-card b,.dm-card small{display:block}
.dm-notice{background:#fff;border-left:6px solid var(--k);padding:10px 12px;border-radius:6px}
.dm-form{background:#fff;border-radius:8px;padding:12px}.dm-form b{display:block;margin-bottom:6px}
.dm-input{border:1px solid #cbd5e6;border-radius:6px;padding:6px 8px;margin:6px 0;color:#8a97ad;font-size:.85rem}
.dm-send{display:inline-block;background:var(--k);color:#fff;border-radius:999px;padding:4px 16px;font-size:.85rem}
.lj-empty{text-align:center;color:#6b7a94;padding:30px 0}
.lj-toast{font-size:.88rem;color:#0a7a52;font-weight:700}
.lj-demo input,.lj-demo select{border:1px solid var(--lj-line);border-radius:8px;padding:7px 10px;font-size:.9rem;max-width:100%;box-sizing:border-box}
.lj-tablebox{overflow-x:auto;margin:8px 0}
.lj-dtable{border-collapse:collapse;width:100%;font-size:.88rem}
.lj-dtable th,.lj-dtable td{border:1px solid var(--lj-line);padding:6px 8px;text-align:left;white-space:nowrap}
.lj-dtable th{background:var(--lj-bg)}
.lj-code{background:#101827;color:#d6e4ff;border-radius:10px;padding:12px;overflow:auto;max-height:280px;font-size:.82rem;line-height:1.55;white-space:pre}
.lj-cegrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin:12px 0}
.lj-cecard{border:2px solid var(--lj-line);background:#fff;border-radius:14px;padding:16px;cursor:pointer;text-align:center;transition:transform .15s,border-color .15s}
.lj-cecard:hover{transform:translateY(-4px)}
.lj-cecard[aria-pressed=true]{border-color:var(--lj-key);background:var(--lj-ok)}
.lj-cecard .ico{display:block;font-size:2rem}.lj-cecard b{display:block;margin-top:4px;color:var(--lj-key2)}
.lj-cedetail{background:var(--lj-bg);border-radius:10px;padding:14px;line-height:1.8;min-height:3em}
@media (prefers-reduced-motion:reduce){.lj-canvas,.lj-dbtn,.lj-cecard{transition:none}}
