/* promoroid.com — 営業デスクの画面と同じトークン（apps/eigyou/app/static/css/user.css） */
:root {
  --ink: #111827; --muted: #4B5563; --rule: #E5E7EB; --paper: #F9FAFB; --card: #FFFFFF;
  --primary: #2563EB; --primary-deep: #1D4ED8; --primary-soft: #DBEAFE; --radius: 12px;
}
* { box-sizing: border-box; }
html { font-size: 16px; -webkit-text-size-adjust: 100%; }
body { margin: 0; background: var(--paper); color: var(--ink); line-height: 1.8;
  font-family: "Noto Sans JP", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Yu Gothic", sans-serif; }
a { color: var(--primary); text-decoration: underline; text-underline-offset: 3px; }
a:hover, a:focus-visible { color: var(--primary-deep); }
.wrap { max-width: 760px; margin: 0 auto; padding: 0 20px; }
header { background: var(--card); border-bottom: 1px solid var(--rule); }
.top { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-height: 64px; flex-wrap: wrap; }
.brand { font-weight: 700; letter-spacing: 0.02em; text-decoration: none; color: var(--ink); font-size: 18px; }
.brand span { color: var(--primary); }
nav a { margin-left: 18px; font-size: 14.5px; text-decoration: none; color: var(--muted); }
nav a[aria-current] { color: var(--ink); font-weight: 600; }
main { padding: 40px 0 56px; }
h1 { font-size: 28px; line-height: 1.35; margin: 0 0 8px; letter-spacing: -0.01em; }
h2 { font-size: 20px; margin: 40px 0 10px; padding-top: 8px; border-top: 1px solid var(--rule); }
h3 { font-size: 16.5px; margin: 22px 0 6px; }
p, li { font-size: 15.5px; }
.lede { color: var(--muted); font-size: 16px; margin: 0 0 24px; }
.card { background: var(--card); border: 1px solid var(--rule); border-radius: var(--radius); padding: 20px 22px; margin: 16px 0; }
.grid { display: grid; gap: 14px; grid-template-columns: 1fr; }
@media (min-width: 720px) { .grid { grid-template-columns: repeat(3, 1fr); } }
.btn { display: inline-block; padding: 11px 18px; border-radius: 999px; background: var(--primary); color: #fff;
  text-decoration: none; font-weight: 600; font-size: 15px; min-height: 44px; }
.btn:hover, .btn:focus-visible { background: var(--primary-deep); color: #fff; }
.meta { color: var(--muted); font-size: 13.5px; }
table { border-collapse: collapse; width: 100%; font-size: 14.5px; }
th, td { text-align: left; vertical-align: top; padding: 8px 10px; border-bottom: 1px solid var(--rule); }
th { color: var(--muted); font-weight: 600; white-space: nowrap; }
.tbl { overflow-x: auto; }
footer { border-top: 1px solid var(--rule); padding: 24px 0 40px; color: var(--muted); font-size: 13.5px; }
footer address { font-style: normal; }
ol, ul { padding-left: 1.4em; }
@media (prefers-reduced-motion: reduce) { * { transition: none !important; } }
