
.jlcml-xalert{display:flex;align-items:center;gap:12px;background:#EEF7FD;border:2px solid #CBE5F6;border-radius:18px;padding:12px 14px 12px 16px;margin:0 0 12px;box-shadow:0 6px 18px rgba(31,127,179,.10)}
.jlcml-xalert.hot{background:#FFF1F2;border-color:#F8C9CD;box-shadow:0 6px 18px rgba(224,69,75,.14)}
.jlcml-xalert .ic{flex:none;font-size:24px;line-height:1}
.jlcml-xalert .tx{flex:1 1 auto;min-width:0;font-size:14px;line-height:1.6;color:#3b3338}
.jlcml-xalert .tx b{margin-right:8px;color:#1F7FB3}
.jlcml-xalert.hot .tx b{color:#E0454B}
.jlcml-xalert .go{flex:none;background:#1F7FB3;color:#fff;border-radius:99px;padding:9px 16px;font-weight:800;font-size:13.5px;text-decoration:none;white-space:nowrap}
.jlcml-xalert.hot .go{background:#E0454B}
.jlcml-xalert .x{flex:none;border:0;background:transparent;color:#8b8086;font-size:20px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:99px}
.jlcml-xbadge{display:inline-block;min-width:18px;height:18px;line-height:18px;margin-left:6px;padding:0 5px;border-radius:99px;background:#E0454B;color:#fff;font-style:normal;font-size:11px;font-weight:800;text-align:center;vertical-align:1px;box-sizing:border-box}
@media(max-width:560px){.jlcml-xalert{flex-wrap:wrap;gap:8px 10px;padding:12px}.jlcml-xalert .tx{flex-basis:calc(100% - 70px)}.jlcml-xalert .go{margin-left:36px}}
.jlcml-hero{display:flex;gap:16px;align-items:center;flex-wrap:wrap;background:#FFF3F4;border:2px solid #FBDDE0;border-radius:20px;padding:16px 18px;margin-bottom:14px}
.jlcml-hero-art{width:128px;height:86px;object-fit:cover;border-radius:14px;flex:none;border:2px solid #fff}
.jlcml-hero-txt{flex:1 1 220px;min-width:0}
.jlcml-kicker{font-size:11px;letter-spacing:.16em;color:#E0454B;font-weight:800}
.jlcml-hero-ttl{margin:4px 0 10px;font-size:22px;line-height:1.35;color:#3b3338;font-weight:800}
.jlcml-bar{height:9px;border-radius:99px;background:#FBDDE0;overflow:hidden;margin:0 0 6px}
.jlcml-bar>span{display:block;height:100%;border-radius:99px;background:linear-gradient(90deg,#F7AFBD,#E0454B)}
.jlcml-bar-txt{font-size:12px;color:#8b8086;font-weight:700}
#vwbar .jlcml-vb{border:2px solid #E7DFD2;background:#fff;border-radius:999px;padding:6px 14px;font:inherit;font-weight:800;font-size:13px;cursor:pointer;color:#3b3338}
#vwbar .jlcml-vdone{margin-left:auto;border:2px solid #2E9A63;background:#fff;color:#2E9A63;border-radius:999px;padding:6px 14px;font:inherit;font-weight:800;font-size:13px;cursor:pointer}
#vwbar .jlcml-vdone.ok{background:#2E9A63;color:#fff}
#vwbar .vw-t{font-weight:800;color:#3b3338;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.jlcml-tools{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px}
.jlcml-tools input{flex:1 1 220px;min-width:0;border:2px solid #EEF2F5;border-radius:99px;padding:10px 18px;font-size:14px;background:#fff;font-family:inherit;color:#3b3338}
.jlcml-tools input:focus{outline:0;border-color:#F7AFBD}
.jlcml-tools button{flex:none;border:2px solid #EEF2F5;background:#fff;border-radius:99px;padding:9px 16px;font-size:13px;font-weight:700;color:#5A7A93;cursor:pointer;font-family:inherit}
.jlcml-tools button:hover{border-color:#BBD9EC}
#jlc-ml-hit{flex:none;font-size:12px;color:#8b8086;font-weight:700}
.jlcml-list{display:flex;flex-direction:column;gap:10px}
.jlcml-it{display:flex;gap:14px;align-items:center;background:#fff;border:2px solid #EEF2F5;border-radius:18px;padding:14px 16px;text-decoration:none;color:inherit;transition:border-color .15s,transform .15s}
.jlcml-it:hover{border-color:#BBD9EC;transform:translateY(-1px)}
.jlcml-it.sub{margin-left:26px;border-style:dashed}
.jlcml-no{flex:none;width:42px;height:42px;border-radius:13px;background:#EAF5FD;color:#0083CD;font-size:16px;font-weight:900;display:flex;align-items:center;justify-content:center}
.jlcml-it.fin .jlcml-no{background:#E9F7EF;color:#2E9A63}
.jlcml-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:6px}
.jlcml-ttl{font-size:15px;font-weight:700;line-height:1.5;color:#3b3338}
.jlcml-tags{display:flex;gap:6px;flex-wrap:wrap}
.jlcml-tag{background:#EAF5FD;color:#0369A1;border-radius:99px;font-size:10.5px;letter-spacing:.03em;padding:3px 9px;font-weight:800}
.jlcml-tag.fin{background:#E9F7EF;color:#2E9A63}
.jlcml-tag.date{background:#FBF8F2;color:#8b8086}
.jlcml-new{display:inline-block;margin-left:8px;vertical-align:2px;background:#E0454B;color:#fff;border-radius:99px;font-size:10px;font-weight:900;letter-spacing:.08em;padding:2px 8px}
.jlcml-it.fresh{border-color:#FBDDE0;background:#FFFBFB}
.jlcml-it.fresh .jlcml-no{background:#FFF3F4;color:#E0454B}
.jlcml-go{flex:none;color:#c9c2c6;font-size:16px}
.jlcml-it:hover .jlcml-go{color:#E0454B}
#jlc-ml-panel{padding-bottom:36px}
.jlcml-back{display:inline-block;background:#fff;border:2px solid #EEF2F5;border-radius:99px;padding:8px 18px;font-size:13px;font-weight:700;color:#5A7A93;text-decoration:none;margin-bottom:14px}
.jlcml-back:hover{border-color:#BBD9EC}
.jlcml-card{background:#fff;border:2px solid #EEF2F5;border-radius:18px;padding:16px 18px}
/* ===== v0.9.0: よくある質問・アカウント・実力テスト ===== */
.jlcml-sec{font-size:19px;font-weight:800;color:#3b3338;margin:22px 0 8px;padding-left:14px;position:relative;line-height:1.5}
.jlcml-sec::before{content:"";position:absolute;left:0;top:.22em;bottom:.22em;width:5px;border-radius:99px;background:linear-gradient(180deg,#F7AFBD,#E0454B)}
.jlcml-lead{font-size:13.5px;color:#6b6267;font-weight:700;line-height:1.85;margin:0 0 16px}
.jlcml-btn{display:inline-block;background:#E0454B;color:#fff;border:2px solid #E0454B;border-radius:99px;padding:10px 22px;font:inherit;font-size:13px;font-weight:800;text-decoration:none;cursor:pointer;box-shadow:0 4px 12px rgba(224,69,75,.22);white-space:nowrap}
.jlcml-btn:hover{background:#c93b41;border-color:#c93b41;color:#fff}
.jlcml-btn.ghost{background:#fff;color:#E0454B;border-color:#FBDDE0;box-shadow:none}
.jlcml-btn.ghost:hover{background:#fff;border-color:#E0454B;color:#E0454B}
.jlcml-btn.danger{background:#fff;color:#B4232A;border-color:#E9B9BC;box-shadow:none}
.jlcml-btn.danger:hover{background:#B4232A;border-color:#B4232A;color:#fff}

.jlcml-faqg{margin:0 0 18px}
.jlcml-faqg h3{font-size:13px;font-weight:800;color:#E0454B;letter-spacing:.06em;margin:0 0 8px}
.jlcml-faqg details{background:#fff;border:2px solid #EEF2F5;border-radius:14px;margin:0 0 8px;overflow:hidden}
.jlcml-faqg details[open]{border-color:#FBDDE0;box-shadow:0 4px 14px rgba(59,51,56,.06)}
.jlcml-faqg summary{list-style:none;cursor:pointer;padding:13px 44px 13px 16px;font-size:14.5px;font-weight:800;color:#3b3338;position:relative;line-height:1.6}
.jlcml-faqg summary::-webkit-details-marker{display:none}
.jlcml-faqg summary::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2.5px solid #E0454B;border-bottom:2.5px solid #E0454B;transform:translateY(-70%) rotate(45deg);transition:transform .15s}
.jlcml-faqg details[open] summary::after{transform:translateY(-30%) rotate(-135deg)}
.jlcml-faqg summary:hover{background:#FBF8F2}
.jlcml-faqg .a{padding:0 16px 14px;font-size:13.5px;color:#6b6267;line-height:1.9;font-weight:500}

.jlcml-acc .row{display:grid;grid-template-columns:120px 1fr;gap:6px 12px;padding:9px 0;border-bottom:1px dashed #F0EAE0;font-size:14px}
.jlcml-acc .row:last-of-type{border-bottom:0}
.jlcml-acc .k{font-size:11.5px;font-weight:800;color:#9a9298;letter-spacing:.04em;align-self:center}
.jlcml-acc .v{font-weight:800;color:#3b3338}
.jlcml-acc .acts{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}
.jlcml-cancel{margin-top:14px;border-color:#F3DCDE;background:linear-gradient(180deg,#fff,#FFF8F8)}
.jlcml-cancel b{display:block;font-size:15px;color:#B4232A;margin:0 0 6px}
.jlcml-cancel p{font-size:13px;color:#6b6267;line-height:1.85;margin:0 0 12px;font-weight:500}
.jlcml-cancel small{display:block;margin-top:10px;font-size:11.5px;color:#9a9298;font-weight:700;line-height:1.7}
.jlcml-perks{margin-top:14px;border-color:#FFE1B3;background:linear-gradient(180deg,#fff,#FFFBF3)}
.jlcml-perks .ttl{display:block;font-size:15px;margin:2px 0 6px;color:#3b3338}
.jlcml-perks p{font-size:13px;color:#6b6267;line-height:1.85;margin:0 0 10px;font-weight:500}
.jlcml-perks .perk{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 0;border-top:1px dashed #F0EAE0}
.jlcml-perks .perk .acts{display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end}
.jlcml-perks .perk .acts .jlcml-btn{padding:8px 16px}
@media (max-width:520px){.jlcml-perks .perk{flex-wrap:wrap}.jlcml-perks .perk .acts{width:100%;justify-content:flex-start}}
.jlcml-perks .perk b{display:block;font-size:14px;color:#3b3338}
.jlcml-perks .perk small{display:block;font-size:12px;color:#9a9298;font-weight:700}
.jlcml-perks .pass{display:flex;align-items:center;flex-wrap:wrap;gap:8px 12px;margin:6px 0 4px;padding:10px 12px;border-radius:12px;background:#FFF6E3}
.jlcml-perks .pass .k{font-size:11.5px;font-weight:800;color:#9A5B00;letter-spacing:.04em}
.jlcml-perks .pass .v{font-family:ui-monospace,Menlo,Consolas,monospace;font-size:16px;font-weight:800;letter-spacing:.06em;color:#3b3338;flex:1;min-width:90px}
.jlcml-perks > small{display:block;margin-top:8px;font-size:11.5px;color:#9a9298;font-weight:700;line-height:1.7}
.jlcml-staff{margin-top:14px;border-color:#DCE6F2;background:#F7FAFD}
.jlcml-staff b{display:block;font-size:14px;margin:0 0 4px}
.jlcml-staff p{font-size:12.5px;color:#6b6267;margin:0 0 10px;line-height:1.7}

.jlcml-test{display:flex;align-items:center;gap:14px;margin:14px 0 18px;background:linear-gradient(135deg,#fff,#F4F9FD);border-color:#DCEAF5}
.jlcml-test .ic{flex:none;width:46px;height:46px;border-radius:14px;background:#EAF5FD;display:grid;place-items:center;font-size:22px}
.jlcml-test .tx{flex:1;min-width:0}
.jlcml-test b{display:block;font-size:15px;color:#3b3338;margin:0 0 3px}
.jlcml-test p{margin:0;font-size:12.5px;color:#6b6267;font-weight:600;line-height:1.75}
.jlcml-test .lvs{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px}
.jlcml-test .lv{display:inline-block;background:#fff;border:2px solid #DCEAF5;border-radius:99px;padding:4px 12px;font-size:12px;font-weight:800;color:#1F7FB3;text-decoration:none}
.jlcml-test .lv:hover{border-color:#7EC2E8;background:#EAF5FD}
.jlcml-help{margin-top:18px;background:linear-gradient(180deg,#fff,#FBF8F2)}
.jlcml-help b{display:block;font-size:15px;margin:0 0 6px}
.jlcml-help p{font-size:13px;color:#6b6267;line-height:1.85;margin:0 0 12px;font-weight:500}
.jlcml-help span{display:flex;flex-wrap:wrap;gap:8px}
@media(max-width:560px){
.jlcml-test{flex-direction:column;align-items:stretch;text-align:left}
.jlcml-test .jlcml-btn{width:100%;text-align:center}
.jlcml-acc .row{grid-template-columns:1fr}
.jlcml-acc .acts .jlcml-btn,.jlcml-cancel .jlcml-btn{width:100%;text-align:center}
}
.jlcml-reader-ttl{margin:0 0 14px;font-size:21px;line-height:1.4;color:#3b3338;font-weight:800}
@media(max-width:560px){
.jlcml-hero{padding:14px}
.jlcml-hero-art{width:100%;height:120px}
.jlcml-hero-ttl{font-size:19px}
.jlcml-it{padding:12px 13px;gap:11px}
.jlcml-no{width:36px;height:36px;border-radius:11px;font-size:14px}
.jlcml-it.sub{margin-left:14px}
}
/* 0.9.16: 授業予定のカード */
.jlcml-ev-hero{display:flex;gap:18px;align-items:flex-start;flex-wrap:wrap;margin-bottom:16px}
.jlcml-ev-date{flex:none;width:64px;background:linear-gradient(135deg,#F0616A,#E0454B);color:#fff;border-radius:16px;padding:8px 4px;text-align:center;line-height:1.1;box-shadow:0 8px 20px rgba(224,69,75,.25)}
.jlcml-ev-date span{display:block;font-size:11px;font-weight:800;opacity:.9}.jlcml-ev-date b{display:block;font-size:26px;font-weight:800;margin:2px 0}
.jlcml-ev-img{width:168px;height:112px;object-fit:cover;border-radius:16px;flex:none}
.jlcml-ev-body{flex:1 1 260px;min-width:0}
.jlcml-ev-kicker{font-size:11px;letter-spacing:.14em;color:#E0454B;font-weight:800}
.jlcml-ev-title{margin:6px 0 4px;font-size:21px;line-height:1.35}
.jlcml-ev-when{margin:0 0 14px;color:#6b6267;font-size:14px;font-weight:700}
.jlcml-ev-tag{display:inline-block;background:#DCEFFA;color:#1F7FB3;border-radius:999px;padding:2px 10px;font-size:12px;font-weight:800;margin-left:6px}
.jlcml-ev-acts{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.jlcml-ev-wait{display:inline-flex;align-items:center;background:#FBF6E8;border:2px dashed #EDE4D8;border-radius:999px;padding:8px 16px;font-size:13px;font-weight:700;color:#6b6267}
.jlcml-ev-list h3{margin:0 0 8px;font-size:16px}
.jlcml-ev-row{display:flex;gap:14px;align-items:center;padding:12px 0;border-top:1px solid #F0E6E8;text-decoration:none;color:#3A2E31}
.jlcml-ev-row:first-of-type{border-top:0}
.jlcml-ev-row .jlcml-ev-date{width:56px;padding:6px 3px}.jlcml-ev-row .jlcml-ev-date b{font-size:20px}
.jlcml-ev-rowbody{flex:1;min-width:0}.jlcml-ev-rowbody b{display:block;font-size:14px;line-height:1.4}.jlcml-ev-rowbody small{display:block;color:#6b6267;font-size:12px;font-weight:700;margin-top:2px}
.jlcml-ev-arrow{color:#1F7FB3;font-weight:800}
.jlcml-ev-row:hover .jlcml-ev-arrow{transform:translateX(3px)}
.jlcml-ev-more{margin:12px 0 0;font-size:13px;font-weight:800}
@media(max-width:560px){.jlcml-ev-img{width:100%;height:140px}.jlcml-ev-title{font-size:18px}}
/* 0.9.16: 〇日連続のお祝い */
#jlcml-streak{position:fixed;inset:0;z-index:2147483500;display:flex;align-items:center;justify-content:center;background:rgba(58,46,49,0);transition:background .25s;pointer-events:none}
#jlcml-streak.on{background:rgba(58,46,49,.45);pointer-events:auto}
#jlcml-streak .jlcml-streak-card{background:#fff;border-radius:26px;padding:26px 30px 22px;text-align:center;box-shadow:0 20px 50px rgba(58,46,49,.3);transform:translateY(16px) scale(.96);opacity:0;transition:transform .3s,opacity .3s;max-width:calc(100vw - 32px);width:340px}
#jlcml-streak.on .jlcml-streak-card{transform:none;opacity:1}
#jlcml-streak .fire{font-size:44px;line-height:1;animation:jlcml-pop .6s ease-out}
#jlcml-streak .num{font-size:54px;font-weight:800;color:#E0454B;line-height:1.1;margin:6px 0 2px}
#jlcml-streak .num small{font-size:16px;color:#3A2E31;margin-left:4px}
#jlcml-streak p{margin:6px 0 16px;font-size:14px;color:#6B5E60;font-weight:700}
#jlcml-streak button{background:linear-gradient(135deg,#F0616A,#E0454B);color:#fff;border:0;border-radius:999px;padding:10px 26px;font:inherit;font-weight:800;font-size:14px;cursor:pointer;box-shadow:0 8px 20px rgba(224,69,75,.3)}
@keyframes jlcml-pop{0%{transform:scale(.4);opacity:0}60%{transform:scale(1.2)}100%{transform:scale(1);opacity:1}}
/* 0.9.15: 使い方の案内（スポットライト） */
#jlcml-tour{display:none;position:fixed;inset:0;z-index:2147483600;font-family:inherit}
#jlcml-tour.on{display:block}
#jlcml-tour .jlcml-tour-dim{position:absolute;inset:0;background:transparent;transition:background .2s}
#jlcml-tour .jlcml-tour-spot{position:fixed;display:none;border-radius:20px;box-shadow:0 0 0 9999px rgba(58,46,49,.55),0 0 0 3px rgba(255,255,255,.9);pointer-events:none;transition:left .25s,top .25s,width .25s,height .25s}
#jlcml-tour .jlcml-tour-card{position:fixed;width:360px;max-width:calc(100vw - 24px);background:#fff;border-radius:22px;box-shadow:0 18px 40px rgba(58,46,49,.28);padding:18px 20px 16px;color:#3A2E31;line-height:1.7;pointer-events:auto}
#jlcml-tour .jlcml-tour-no{display:inline-block;font-size:11px;font-weight:800;color:#E0454B;background:#FFD7DB;border-radius:999px;padding:2px 10px;margin-bottom:8px;letter-spacing:.06em}
#jlcml-tour .jlcml-tour-t{margin:0 0 6px;font-size:17px;font-weight:800;line-height:1.4}
#jlcml-tour .jlcml-tour-p{margin:0 0 14px;font-size:13.5px;color:#6B5E60;font-weight:500}
#jlcml-tour .jlcml-tour-acts{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
#jlcml-tour .jlcml-tour-dots{display:flex;gap:4px;order:-1;width:100%;justify-content:center;margin-bottom:8px}
#jlcml-tour .jlcml-tour-dots i{display:block;width:6px;height:6px;border-radius:50%;background:#EDE4D8}
#jlcml-tour .jlcml-tour-dots i.on{background:#E0454B;width:14px;border-radius:999px}
#jlcml-tour button{font:inherit;font-size:13px;font-weight:800;border-radius:999px;cursor:pointer;padding:9px 16px;border:2px solid transparent}
#jlcml-tour .jlcml-tour-next{background:linear-gradient(135deg,#F0616A,#E0454B);color:#fff;box-shadow:0 8px 20px rgba(224,69,75,.3)}
#jlcml-tour .jlcml-tour-next:hover{transform:translateY(-1px)}
#jlcml-tour .jlcml-tour-prev{background:#fff;color:#1F7FB3;border-color:#CFE6FA}
#jlcml-tour .jlcml-tour-skip{background:transparent;color:#9A8F91;padding:9px 6px;margin-right:auto}
#jlcml-tour .jlcml-tour-skip:hover{color:#6B5E60;text-decoration:underline}
@media(max-width:560px){#jlcml-tour .jlcml-tour-card{padding:16px 16px 14px;border-radius:18px}#jlcml-tour .jlcml-tour-t{font-size:16px}#jlcml-tour .jlcml-tour-p{font-size:13px}}
@media(prefers-reduced-motion:reduce){#jlcml-tour .jlcml-tour-spot,#jlcml-tour .jlcml-tour-dim{transition:none}}
/* 0.9.69: スマホの ☰ で開くメニュー */
@media (max-width:900px){
header.hd.jlcml-nav-open nav{display:flex!important;flex-direction:column;position:absolute;left:0;right:0;top:100%;margin:0;padding:4px 18px 10px;background:#fff;box-shadow:0 16px 28px rgba(31,35,40,.14);border-top:1px solid #EFE7E2;z-index:80;gap:0}
header.hd.jlcml-nav-open nav a{display:block!important;padding:14px 4px!important;margin:0!important;border-radius:0!important;border-bottom:1px solid #F3EEE8;font-size:15px!important;font-weight:800;color:#3b3338!important;background:none!important;text-align:left;text-decoration:none}
header.hd.jlcml-nav-open nav a:last-child{border-bottom:0}
header.hd.jlcml-nav-open nav a.on{color:#E0454B!important}
header.hd.jlcml-nav-open .burger{background:#FDE4E5}
}
/* 0.9.69: 学習記録（コースの行から開く・自分のメモ） */
.jlcml-rec-lead{margin:0 0 10px;font-size:12.5px;color:#6b6267;line-height:1.7}
.jlcml-rec{display:block;padding:12px 10px;margin:0 -10px;border-radius:12px;color:inherit;text-decoration:none}
a.jlcml-rec:hover{background:#FBF6F2}
a.jlcml-rec:focus-visible{outline:2px solid #1F7FB3;outline-offset:2px}
.jlcml-rec .go{flex:none;color:#1F7FB3;font-weight:800;font-size:12.5px}
.jlcml-memos{margin-top:16px}
.jlcml-memo-list{list-style:none;padding:0;margin:0}
.jlcml-memo-list li{padding:12px 0;border-top:1px solid #e5e0d6}
.jlcml-memo-list li a{font-weight:800;color:#1F7FB3;text-decoration:none;font-size:15px;line-height:1.5}
.jlcml-memo-list li a:hover{text-decoration:underline}
.jlcml-memo-list li small{display:block;font-size:12px;color:#6b6267;margin-top:2px}
.jlcml-memo-body{margin-top:8px;background:#FBF6E8;border-radius:12px;padding:10px 12px;font-size:14px;line-height:1.8;white-space:pre-wrap;word-break:break-word;color:#3b3338}
.jlcml-memo-st{min-height:1.4em;margin-top:6px;font-size:12px;color:#6b6267;font-weight:700}
.jlcml-memo-st.ok{color:#2E7D4F}
.jlcml-memo-st.ng{color:#B4232A}
