:root{--bg:#fbfaf7;--ink:#222;--sub:#5b5b5b;--line:#e4e1da;--accent:#1f6f5c}
  *{box-sizing:border-box}
  body{margin:0;background:var(--bg);color:var(--ink);font-family:"Hiragino Sans","Yu Gothic UI","Meiryo",sans-serif;line-height:1.85;font-size:17px}
  header,main,footer{max-width:760px;margin:0 auto;padding:0 18px}
  header{padding-top:28px;padding-bottom:8px;border-bottom:1px solid var(--line)}
  .logo{font-size:26px;font-weight:700;letter-spacing:.04em;color:var(--accent);text-decoration:none}
  .tag{color:var(--sub);font-size:14px;margin:4px 0 0}
  h1{font-size:24px;margin:32px 0 8px}
  h2{font-size:19px;margin:36px 0 8px;padding-left:10px;border-left:4px solid var(--accent)}
  p{margin:10px 0}
  ul{padding-left:1.2em}
  .note{background:#fff;border:1px solid var(--line);border-radius:10px;padding:14px 16px;font-size:15px;color:var(--sub)}
  footer{margin-top:48px;padding-top:16px;padding-bottom:40px;border-top:1px solid var(--line);font-size:13px;color:var(--sub)}
  footer a{color:var(--sub)}

  table{width:100%;border-collapse:collapse;margin:14px 0;font-size:15px;background:#fff}
  th,td{border:1px solid var(--line);padding:8px 10px;text-align:left;vertical-align:top}
  th{background:#f2efe8}
  .answer{background:#eef6f3;border-left:4px solid var(--accent);padding:12px 16px;border-radius:6px;margin:14px 0}
  .src{font-size:13px;color:var(--sub);word-break:break-all}
  .crumb{font-size:13px;color:var(--sub);margin-top:14px}
  .crumb a{color:var(--sub)}
  main a{color:var(--accent)}
  .date{font-size:13px;color:var(--sub)}
