body { font-family: system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif; background:#f6f7fb; margin:0; }
.container { max-width:1100px; margin:24px auto; padding:0 16px; }
h1 { margin: 0 0 16px; }
.card { background:white; border-radius:14px; padding:16px; box-shadow:0 4px 18px rgba(0,0,0,.06); margin: 12px 0; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:12px; }
.grid2 { display:grid; grid-template-columns:1fr 1fr; gap:10px; }
@media (max-width: 900px) { .grid, .grid2 { grid-template-columns:1fr; } }
.btn { display:inline-block; padding:8px 12px; border-radius:10px; background:#e9ecf5; text-decoration:none; color:#111; border:0; cursor:pointer; }
.btn.primary { background:#2f66ff; color:white; }
.muted { color:#6b7280; font-size:14px; }
.ok { color:#0a7; }
.warn { color:#c60; }
table { width:100%; border-collapse:collapse; background:white; border-radius:14px; overflow:hidden; box-shadow:0 4px 18px rgba(0,0,0,.06); }
th, td { padding:10px; border-bottom:1px solid #eef0f5; text-align:left; font-size:14px; }
th { background:#f3f5fb; }
.link { text-decoration:none; color:#2f66ff; }
.search { display:flex; gap:8px; margin: 8px 0 16px; }
.search input { flex:1; padding:10px; border-radius:10px; border:1px solid #dde1ee; }
.form input { width:100%; padding:10px; border-radius:10px; border:1px solid #dde1ee; }
label { font-size:13px; color:#374151; display:block; }
@media (max-width: 768px) {
  body { font-size: 20px; }
  .container { padding: 0 20px; }
  h1 { font-size: 30px; }
  h2 { font-size: 24px; }
  .card { padding: 20px; }
  .btn {
    display: block;
    width: 100%;
    font-size: 20px;
    padding: 14px 16px;
    box-sizing: border-box;
    margin-top: 8px;
  }
  a {
    font-size: 20px !important;
  }
  label, select, input, button {
    font-size: 18px;
  }
  th, td {
    font-size: 16px;
  }
}
@media (max-width: 768px) { .pc-only { display:none; } }
.mobile-menu {
  display: grid;
  grid-template-columns: 1fr;
  gap: 10px;
  margin: 12px 0;
}

@media (min-width: 769px) {
  .mobile-menu {
    display: flex;
    gap: 10px;
  }
}
@media (max-width: 768px) {
  ul li a {
    font-size: 22px;
    line-height: 1.8;
  }
}
@media (max-width: 768px) {
  a {
    font-size: 22px !important;
    line-height: 1.8;
  }
}
