.vnjp-sm3h{--sh-ink:#1b2631;--sh-muted:#56636f;--sh-line:#dde5ea;--sh-card:#fff;--sh-soft:#f5f8fa;--sh-chip:#eef2f5;--sh-chip-ink:#3b4a58;--sh-accent:#156a85;--sh-accent-soft:#e5f1f5;--sh-accent-line:#9fcad8;--sh-accent-btn:#156a85;--sh-accent-ink:#fff;--sh-accent-hover:#0f5468;--sh-ok:#15803d;--sh-ok-soft:#e3f4ea;--sh-wip:#9a5512;--sh-wip-soft:#fff1da;--sh-shadow:0 1px 2px rgba(15,30,50,.05), 0 4px 14px rgba(15,30,50,.05);--sh-jp:"Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic UI", "Yu Gothic", Meiryo, sans-serif;color:var(--sh-ink);font-size:16px;line-height:1.6;margin:4px 0 18px;width:100%;max-width:100%;min-width:0;word-break:keep-all;overflow-wrap:anywhere}html.vnjp-dark .vnjp-sm3h{--sh-ink:#e3e8f0;--sh-muted:#a2adba;--sh-line:#2d3a4f;--sh-card:#1a2332;--sh-soft:#151d28;--sh-chip:#232e3f;--sh-chip-ink:#c0cad6;--sh-accent:#7cc4d8;--sh-accent-soft:#15303a;--sh-accent-line:#2f5a68;--sh-accent-btn:#23809b;--sh-accent-ink:#fff;--sh-accent-hover:#2b93b1;--sh-ok:#7ecaa4;--sh-ok-soft:#13281d;--sh-wip:#e6b46e;--sh-wip-soft:#2b2316;--sh-shadow:none}.vnjp-sm3h-page .entry-header .entry-title{font-size:clamp(24px, 3.4vw, 34px);line-height:1.35;word-break:keep-all;overflow-wrap:anywhere}.vnjp-sm3h-page .entry-header .entry-title{font-family:inherit;text-transform:none;letter-spacing:0}.vnjp-sm3h *,.vnjp-sm3h *::before,.vnjp-sm3h *::after{box-sizing:border-box}.vnjp-sm3h [hidden]{display:none!important}.vnjp-sm3h ul,.vnjp-sm3h ol{list-style:none;margin:0;padding:0}.vnjp-sm3h li{margin:0}.vnjp-sm3h p{margin:0}.vnjp-sm3h h2,.vnjp-sm3h h3{margin:0;padding:0;border:0;color:inherit;text-transform:none;letter-spacing:0}.vnjp-sm3h a{color:var(--sh-accent);text-decoration:none}.vnjp-sm3h a:hover{text-decoration:underline}.vnjp-sm3h a:focus-visible,.vnjp-sm3h input:focus-visible,.vnjp-sm3h summary:focus-visible,.vnjp-sm3h button:focus-visible{outline:3px solid var(--sh-accent);outline-offset:2px}.vnjp-sm3h [lang="ja"]{font-family:var(--sh-jp)}.vnjp-sm3h ruby rt{font-size:.5em;color:var(--sh-muted);font-weight:400}.vnjp-sm3h .sh-ico{flex:0 0 auto;vertical-align:-3px}.vnjp-sm3h .sh-meta{margin:-4px 0 12px;font-size:13.5px;color:var(--sh-muted)}.sh-hero{display:grid;gap:18px;align-items:center;padding:20px;border:1px solid var(--sh-line);border-radius:16px;background:var(--sh-card);box-shadow:var(--sh-shadow)}.sh-hero-text{min-width:0}.sh-hero-pic{margin:0}.sh-hero-pic img{display:block;width:100%;height:auto;border-radius:12px;background:#fff;border:1px solid var(--sh-line)}.vnjp-sm3h .sh-eyebrow{font-size:13.5px;font-weight:700;color:var(--sh-muted)}.vnjp-sm3h .sh-lead{margin-top:8px;font-size:16px}.vnjp-sm3h .sh-stats{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.sh-stats li{padding:5px 12px;border-radius:999px;font-size:14px;color:var(--sh-muted);background:var(--sh-chip);border:1px solid var(--sh-line)}.sh-stats strong{color:var(--sh-ink)}.sh-cta{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.vnjp-sm3h .sh-btn{display:inline-flex;align-items:center;gap:8px;min-height:44px;padding:9px 16px;border:1px solid var(--sh-line);border-radius:10px;background:var(--sh-card);color:var(--sh-accent);font-weight:700;font-size:15px;text-decoration:none}.vnjp-sm3h .sh-btn:hover{border-color:var(--sh-accent);background:var(--sh-accent-soft);text-decoration:none}.vnjp-sm3h .sh-btn--primary{background:var(--sh-accent-btn);border-color:var(--sh-accent-btn);color:var(--sh-accent-ink)}.vnjp-sm3h .sh-btn--primary:hover{background:var(--sh-accent-hover);border-color:var(--sh-accent-hover);color:var(--sh-accent-ink)}.vnjp-sm3h .sh-prog{margin-top:14px;font-size:14px;color:var(--sh-muted)}.sh-prog-bar{display:block;height:6px;margin-top:4px;border-radius:99px;background:var(--sh-chip);overflow:hidden}.sh-prog-bar span{display:block;height:100%;width:0;border-radius:inherit;background:var(--sh-ok)}.sh-sec{margin-top:30px}.sh-sec-head{margin-bottom:14px}.vnjp-sm3h .sh-h{font-size:23px;line-height:1.35;font-weight:700}.vnjp-sm3h .sh-sub{margin-top:4px;color:var(--sh-muted);font-size:15px}.sh-bar{position:relative;z-index:20;margin-bottom:16px;border:1px solid var(--sh-line);border-radius:12px;background:var(--sh-card);box-shadow:0 4px 16px rgb(15 30 50 / .10);overflow:hidden}html.vnjp-dark .sh-bar{box-shadow:none}.sh-bar:focus-within{border-color:var(--sh-accent-line)}.sh-filter{display:flex;align-items:center;gap:8px;padding:6px 8px 6px 12px}.sh-filter-l{display:inline-flex;color:var(--sh-muted)}.vnjp-sm3h .sh-filter-in{flex:1 1 auto;min-width:0;min-height:40px;padding:6px 4px;margin:0;border:0;background:#fff0;color:var(--sh-ink);font-family:inherit;font-size:16px;box-shadow:none}.vnjp-sm3h .sh-filter-in::placeholder{font-family:inherit;color:var(--sh-muted);opacity:1}.vnjp-sm3h .sh-filter-in:focus{outline:none}.sh-filter-c{flex:0 0 auto;font-size:13px;color:var(--sh-muted)}.vnjp-sm3h .sh-pick-btn{flex:0 0 auto;display:inline-flex;align-items:center;gap:6px;min-height:40px;margin:0;padding:6px 12px;border:1px solid var(--sh-line);border-radius:10px;background:var(--sh-card);color:var(--sh-accent);font:inherit;font-size:14.5px;font-weight:700;line-height:1.2;cursor:pointer;box-shadow:none}.vnjp-sm3h .sh-pick-btn:hover,.vnjp-sm3h .sh-pick-btn[aria-expanded="true"]{border-color:var(--sh-accent-line);background:var(--sh-accent-soft);color:var(--sh-accent)}.sh-pick{max-height:min(60vh, 440px);overflow:auto;overscroll-behavior:contain;padding:12px 14px 14px;border-top:1px solid var(--sh-line);background:var(--sh-soft)}.sh-pick-g{display:flex;align-items:center;gap:10px}.sh-pick-g+.sh-pick-g{margin-top:8px}.sh-pick-h{flex:0 0 64px;font-size:13.5px;font-weight:700;color:var(--sh-ink)}.sh-pick-nums{display:flex;flex-wrap:wrap;gap:6px}.vnjp-sm3h .sh-pick-n{display:grid;place-items:center;width:40px;height:40px;border:1.5px solid var(--sh-line);border-radius:9px;background:var(--sh-card);color:var(--sh-ink);font-size:14.5px;font-weight:700;font-variant-numeric:tabular-nums;text-decoration:none}.vnjp-sm3h .sh-pick-n:hover{border-color:var(--sh-accent);color:var(--sh-accent);text-decoration:none}.vnjp-sm3h .sh-pick-n.is-started{border-color:var(--sh-wip);background:var(--sh-wip-soft);color:var(--sh-wip)}.vnjp-sm3h .sh-pick-n.is-done{border-color:var(--sh-ok);background:var(--sh-ok-soft);color:var(--sh-ok)}.sh-pick-legend{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:12px;font-size:12.5px;color:var(--sh-muted)}.sh-lg::before{content:"";display:inline-block;width:12px;height:12px;margin-right:5px;border-radius:3px;vertical-align:-1px;border:1.5px solid var(--sh-line);background:var(--sh-card)}.sh-lg--started::before{border-color:var(--sh-wip);background:var(--sh-wip-soft)}.sh-lg--done::before{border-color:var(--sh-ok);background:var(--sh-ok-soft)}.vnjp-sm3h .sh-empty{padding:14px;border:1px dashed var(--sh-line);border-radius:12px;color:var(--sh-muted)}.sh-week{margin-top:18px}.sh-week+.sh-week{margin-top:28px}.sh-week-head{padding:12px 16px;border:1px solid var(--sh-line);border-radius:12px;background:var(--sh-soft);margin-bottom:12px}.vnjp-sm3h .sh-week-t{font-size:19px;line-height:1.4;font-weight:700}.sh-week-n{display:inline-block;margin-right:6px;padding:1px 10px;border-radius:8px;background:var(--sh-chip);border:1px solid var(--sh-line);color:var(--sh-chip-ink);font-size:14.5px;vertical-align:2px}.vnjp-sm3h .sh-week-l{margin-top:4px;font-size:15px;color:var(--sh-muted)}.sh-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.sh-card{position:relative;display:flex;min-width:0;border:1px solid var(--sh-line);border-radius:14px;background:var(--sh-card);box-shadow:var(--sh-shadow);transition:border-color .15s}.sh-card:hover{border-color:var(--sh-accent-line)}.vnjp-sm3h .sh-card-a{display:flex;gap:12px;padding:12px;flex:1 1 auto;min-width:0;color:var(--sh-ink);text-decoration:none}.vnjp-sm3h .sh-card-a:hover{text-decoration:none}.vnjp-sm3h .sh-card-a:hover .sh-card-ja{color:var(--sh-accent)}.sh-pic{flex:0 0 132px;align-self:flex-start}.sh-pic img{display:block;width:100%;height:auto;aspect-ratio:3 / 2;object-fit:cover;border-radius:10px;background:#fff;border:1px solid var(--sh-line)}.sh-pic--none{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;aspect-ratio:3 / 2;border-radius:10px;background:var(--sh-chip);border:1px solid var(--sh-line);color:var(--sh-chip-ink)}.sh-pic-w{font-size:12.5px;font-weight:600;color:var(--sh-muted);line-height:1.2}.sh-pic-d{font-size:20px;font-weight:700;line-height:1.25}.sh-card-body{display:flex;flex-direction:column;gap:2px;min-width:0;padding-right:4px}.sh-card-k{font-size:12.5px;font-weight:600;color:var(--sh-muted);line-height:1.3}.sh-card-t{font-size:17px;line-height:1.75;font-weight:700}.sh-card-ja{transition:color .15s}.sh-card-ja ruby rt{font-size:.5em}.sh-card-vi{font-size:14.5px;color:var(--sh-muted);line-height:1.45}.sh-card-m{margin-top:2px;font-size:13px;color:var(--sh-muted)}.vnjp-sm3h .sh-card-p{align-self:flex-start;display:inline-flex;align-items:center;gap:4px;margin-top:4px;padding:1px 9px;border-radius:99px;font-size:12.5px;font-weight:700;line-height:1.6;background:var(--sh-wip-soft);color:var(--sh-wip)}.vnjp-sm3h .sh-card.is-done .sh-card-p{background:var(--sh-ok-soft);color:var(--sh-ok)}.sh-card.is-done{border-color:var(--sh-ok)}.sh-cards>.sh-card--test{grid-column:1 / -1}.sh-cards,.sh-parts,.sh-books{grid-auto-flow:row dense}.sh-cards>:not(li),.sh-parts>:not(li),.sh-books>:not(li){grid-column:1 / -1;min-width:0}.sh-cards>:not(li):has(ins.adsbygoogle[data-ad-status="unfilled"]),.sh-parts>:not(li):has(ins.adsbygoogle[data-ad-status="unfilled"]),.sh-books>:not(li):has(ins.adsbygoogle[data-ad-status="unfilled"]){display:none!important}.sh-parts,.sh-books{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.sh-books{grid-template-columns:repeat(3,minmax(0,1fr))}.sh-books>li{display:flex;min-width:0}.vnjp-sm3h .sh-part,.vnjp-sm3h .sh-book{flex:1 1 auto;display:flex;gap:12px;padding:12px;min-width:0;border:1px solid var(--sh-line);border-radius:12px;background:var(--sh-card);color:var(--sh-ink);text-decoration:none;transition:border-color .15s}.vnjp-sm3h a.sh-book:hover{border-color:var(--sh-accent-line);text-decoration:none}.vnjp-sm3h a.sh-book:hover .sh-part-t{color:var(--sh-accent)}.vnjp-sm3h .sh-book.is-self{background:var(--sh-soft)}.sh-part-g{flex:0 0 auto;display:grid;place-items:center;width:40px;height:40px;border-radius:10px;background:var(--sh-chip);color:var(--sh-chip-ink);font-size:20px;font-weight:700}a.sh-book .sh-part-g{background:var(--sh-accent-soft);color:var(--sh-accent)}.sh-part-b{display:flex;flex-direction:column;min-width:0}.sh-part-t{font-weight:700;font-size:15.5px}.sh-part-ja{font-weight:400;font-size:13px;color:var(--sh-muted)}.sh-part-d{font-size:14.5px;color:var(--sh-muted)}.sh-part-go{display:inline-flex;align-items:center;gap:4px;margin-top:4px;font-size:13.5px;font-weight:700;color:var(--sh-accent)}.sh-book.is-self .sh-part-go{color:var(--sh-muted)}.sh-part-go .sh-ico{width:15px;height:15px}.vnjp-sm3h .sh-note{margin-top:10px;font-size:15px;padding:12px 14px;border-radius:12px;background:var(--sh-soft);border:1px solid var(--sh-line)}.sh-steps{counter-reset:sh;display:grid;gap:10px}.sh-steps li{counter-increment:sh;position:relative;padding:2px 0 2px 42px;font-size:15.5px}.sh-steps li::before{content:counter(sh);position:absolute;left:0;top:0;display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:var(--sh-chip);color:var(--sh-chip-ink);font-weight:700;font-size:14px}.sh-qa{border:1px solid var(--sh-line);border-radius:12px;background:var(--sh-card)}.sh-qa+.sh-qa{margin-top:8px}.sh-qa summary{cursor:pointer;padding:12px 16px;list-style:none;display:flex;align-items:center;gap:10px}.sh-qa summary::-webkit-details-marker{display:none}.sh-qa summary::after{content:"+";margin-left:auto;font-size:20px;line-height:1;color:var(--sh-muted)}.sh-qa[open] summary::after{content:"−"}.vnjp-sm3h .sh-q{font-size:16px;font-weight:700;line-height:1.45}.vnjp-sm3h .sh-qa p{padding:0 16px 14px;font-size:15.5px}@media (min-width:900px){.sh-hero--pic{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);padding:24px}}@media (max-width:900px){.sh-books{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:720px){.sh-hero{padding:16px}.sh-hero--pic .sh-hero-pic{order:-1}.sh-cards,.sh-parts,.sh-books{grid-template-columns:minmax(0,1fr)}.sh-pic{flex-basis:96px}.sh-pic-d{font-size:17px}.sh-pic-w{font-size:11.5px}.vnjp-sm3h .sh-card-a{gap:10px;padding:10px}.sh-card-t{font-size:16px}.vnjp-sm3h .sh-h{font-size:21px}.vnjp-sm3h .sh-week-t{font-size:17.5px}.vnjp-sm3h .sh-pick-btn{padding:6px 10px}.sh-pick-g{align-items:flex-start;flex-direction:column;gap:4px}.sh-pick-h{flex-basis:auto}.vnjp-sm3h .sh-pick-n{width:42px;height:42px}}.sh-pic--day{flex-basis:84px;aspect-ratio:1 / 1}.sh-pic--day .sh-pic-d{font-size:17px}.sh-card-gp{display:flex;flex-wrap:wrap;gap:4px 6px;margin:4px 0 2px;font-family:var(--sh-jp)}.sh-gp-chip{display:inline-block;padding:1px 8px;border-radius:7px;font-size:13.5px;font-weight:600;line-height:1.6;background:var(--sh-chip);border:1px solid var(--sh-line);color:var(--sh-chip-ink)}.vnjp-sm3h .sh-card-a:hover .sh-gp-chip{border-color:var(--sh-accent-line)}.sh-gl+.sh-gl{margin-top:16px}.vnjp-sm3h .sh-gl-h{margin-bottom:8px;font-size:17px;font-weight:700}.sh-gl-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 10px}.sh-gl-list>li{min-width:0;display:flex}.vnjp-sm3h .sh-gl-a{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"p d" "m m";gap:0 10px;flex:1 1 auto;min-width:0;padding:8px 12px;border:1px solid var(--sh-line);border-radius:10px;background:var(--sh-card);color:var(--sh-ink);text-decoration:none}.vnjp-sm3h .sh-gl-a:hover{border-color:var(--sh-accent-line);text-decoration:none}.vnjp-sm3h .sh-gl-a:hover .sh-gl-p{color:var(--sh-accent)}.sh-gl-p{grid-area:p;font-family:var(--sh-jp);font-size:16px;font-weight:700;line-height:1.5;transition:color .15s}.sh-gl-m{grid-area:m;font-size:14px;color:var(--sh-muted);line-height:1.45}.sh-gl-d{grid-area:d;align-self:start;margin-top:2px;font-size:12.5px;font-weight:600;color:var(--sh-muted);white-space:nowrap}@media (max-width:720px){.sh-pic--day{flex-basis:64px}.sh-pic--day .sh-pic-d{font-size:15px}.sh-gl-list{grid-template-columns:minmax(0,1fr)}}.vnjp-sm3h .sh-week-ja{margin-left:4px;font-family:var(--sh-jp);font-size:.86em;font-weight:500;color:var(--sh-muted)}.sh-card-topic{display:block;margin:2px 0 2px;font-size:14px;line-height:1.5;color:var(--sh-muted)}