:root {
  --sjk-primary:#0077B6; --sjk-primary-dark:#023E8A; --sjk-secondary:#00B4D8;
  --sjk-accent:#FFB703; --sjk-accent-dark:#FB8500; --sjk-bg:#F0F8FF; --sjk-card:#FFFFFF;
  --sjk-text:#14213D; --sjk-muted:#5A6B85; --sjk-border:#D6E4F0; --sjk-shadow:0 4px 12px rgba(0,119,182,.08); --sjk-radius:12px;
}
.sjk-theme100 { font-family:-apple-system,BlinkMacSystemFont,"Hiragino Sans","Hiragino Kaku Gothic ProN","Yu Gothic",Meiryo,sans-serif; color:var(--sjk-text); background:var(--sjk-bg); padding:24px 16px; max-width:920px; margin:0 auto; line-height:1.7; }

.sjk-t100-hero { text-align:center; background:linear-gradient(135deg,var(--sjk-primary) 0%,var(--sjk-secondary) 100%); color:#fff; padding:36px 20px; border-radius:var(--sjk-radius); margin-bottom:20px; box-shadow:var(--sjk-shadow); }
.sjk-t100-hero .emoji { font-size:52px; line-height:1; margin-bottom:6px; }
.sjk-t100-hero h1 { font-size:27px; margin:0 0 10px; font-weight:800; }
.sjk-t100-hero p { font-size:15px; margin:0; opacity:.95; }

.sjk-t100-intro { background:var(--sjk-card); padding:18px 20px; border-radius:var(--sjk-radius); margin-bottom:20px; box-shadow:var(--sjk-shadow); font-size:14.5px; }
.sjk-t100-intro p { margin:0 0 8px; } .sjk-t100-intro p:last-child { margin-bottom:0; }

.sjk-t100-makercta { display:block; text-align:center; background:var(--sjk-accent); color:var(--sjk-text); font-weight:800; padding:16px; border-radius:999px; text-decoration:none; margin-bottom:24px; font-size:16px; box-shadow:0 6px 16px rgba(251,133,0,.3); }
.sjk-t100-makercta:hover { transform:translateY(-2px); }

/* 目次 */
.sjk-t100-toc { background:var(--sjk-card); padding:18px 20px; border-radius:var(--sjk-radius); margin-bottom:24px; box-shadow:var(--sjk-shadow); }
.sjk-t100-toc h2 { font-size:17px; margin:0 0 12px; color:var(--sjk-primary-dark); }
.sjk-t100-toc ol { margin:0; padding-left:1.2em; columns:2; column-gap:24px; }
@media (max-width:560px){ .sjk-t100-toc ol { columns:1; } }
.sjk-t100-toc li { margin-bottom:6px; }
.sjk-t100-toc a { color:var(--sjk-primary); text-decoration:none; font-weight:600; font-size:14px; }
.sjk-t100-toc a:hover { text-decoration:underline; }

/* カテゴリ */
.sjk-t100-cat { background:var(--sjk-card); border-radius:var(--sjk-radius); padding:22px 20px; margin-bottom:20px; box-shadow:var(--sjk-shadow); }
.sjk-t100-cat-head { display:flex; align-items:center; gap:10px; margin-bottom:6px; }
.sjk-t100-cat-emoji { font-size:26px; }
.sjk-t100-cat h2 { font-size:20px; font-weight:800; margin:0; color:var(--sjk-primary-dark); }
.sjk-t100-cat-desc { font-size:13.5px; color:var(--sjk-muted); margin:0 0 14px; }

.sjk-t100-list { list-style:none; padding:0; margin:0; }
.sjk-t100-item { display:flex; align-items:flex-start; gap:12px; padding:11px 6px; border-bottom:1px dashed var(--sjk-border); }
.sjk-t100-item:last-child { border-bottom:none; }
.sjk-t100-no { flex-shrink:0; width:30px; height:30px; border-radius:8px; background:var(--sjk-bg); color:var(--sjk-primary-dark); font-weight:800; font-size:13px; display:flex; align-items:center; justify-content:center; }
.sjk-t100-body { flex:1; }
.sjk-t100-title { font-weight:700; font-size:15px; margin:0 0 2px; }
.sjk-t100-sub { font-size:12.5px; color:var(--sjk-muted); margin:0 0 6px; }
.sjk-t100-go { display:inline-block; font-size:12px; font-weight:700; color:#fff; background:var(--sjk-secondary); padding:4px 12px; border-radius:999px; text-decoration:none; }
.sjk-t100-go:hover { background:var(--sjk-primary); }
.sjk-t100-level { display:inline-block; font-size:11px; color:var(--sjk-accent-dark); font-weight:700; margin-left:8px; }

/* 書き方 */
.sjk-t100-howto { background:linear-gradient(135deg,#FFF8E1 0%,#FFFFFF 100%); border:2px dashed var(--sjk-accent); border-radius:var(--sjk-radius); padding:22px 20px; margin-bottom:20px; }
.sjk-t100-howto h2 { font-size:19px; margin:0 0 10px; color:var(--sjk-accent-dark); }
.sjk-t100-howto ol { margin:0; padding-left:1.3em; }
.sjk-t100-howto li { margin-bottom:8px; font-size:14px; }

/* FAQ */
.sjk-t100-faq { background:var(--sjk-card); border-radius:var(--sjk-radius); padding:22px 20px; margin-bottom:20px; box-shadow:var(--sjk-shadow); }
.sjk-t100-faq h2 { font-size:19px; margin:0 0 12px; color:var(--sjk-primary-dark); }
.sjk-t100-faq dt { font-weight:800; font-size:15px; margin-bottom:4px; }
.sjk-t100-faq dt::before { content:"Q. "; color:var(--sjk-accent-dark); }
.sjk-t100-faq dd { margin:0 0 16px; font-size:14px; color:var(--sjk-text); }
.sjk-t100-faq dd::before { content:"A. "; color:var(--sjk-primary); font-weight:800; }

.sjk-t100-footcta { display:block; text-align:center; background:var(--sjk-primary); color:#fff; font-weight:800; padding:16px; border-radius:999px; text-decoration:none; font-size:16px; }
.sjk-t100-footcta:hover { background:var(--sjk-primary-dark); }
/* Visible breadcrumb */
.sjk-visible-breadcrumb{background:var(--sjk-card);border:1px solid var(--sjk-border);border-radius:999px;padding:8px 14px;margin:-8px 0 18px;box-shadow:var(--sjk-shadow);font-size:13px;color:var(--sjk-muted);display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.sjk-visible-breadcrumb a{color:var(--sjk-primary);font-weight:700;text-decoration:none}.sjk-visible-breadcrumb a:hover{text-decoration:underline}
/* Theme action links */
.sjk-t100-actions{display:flex;gap:6px;flex-wrap:wrap;margin-top:6px}.sjk-t100-go.primary{background:var(--sjk-secondary)}
.sjk-t100-mini{display:inline-block;font-size:12px;font-weight:700;color:var(--sjk-primary-dark);background:#fff;border:1px solid var(--sjk-border);padding:4px 10px;border-radius:999px;text-decoration:none}.sjk-t100-mini:hover{border-color:var(--sjk-primary);background:var(--sjk-bg)}
.sjk-t100-mini.color{color:var(--sjk-accent-dark)}.sjk-t100-mini.quiz{color:#2563eb}
