    /* ページ内の最小限の体裁（他ページへ影響しないよう限定） */
    .hero.hero-center { text-align:left }
    .card.max { max-width:960px; margin:0 auto }
    table.profile td, table.profile th { padding:10px 12px; vertical-align:top }
    table.profile th { width:28%; background:#f8fafc; text-align:left; font-weight:700; color:#0f172a }
    table.profile tr+tr th, table.profile tr+tr td { border-top:1px solid #e2e8f0 }
    .mapwrap { position:relative; padding-top:56.25%; border-radius:14px; overflow:hidden; box-shadow:0 2px 8px rgba(0,0,0,.06) }
    .mapwrap iframe { position:absolute; inset:0; width:100%; height:100%; border:0 }
    .center { text-align:left }

/* === Partners Table (協業企業ページ専用) === */
.partners-table {
  width: 90%;
  max-width: 1000px;
  margin: 30px auto 60px auto;
  border-collapse: collapse;
  background: #fff;
  border: 1px solid #ccc;
  font-size: 1.05rem;
  table-layout: fixed;
}

.partners-table th,
.partners-table td {
  border: 1px solid #ccc;
  padding: 12px 18px;
  text-align: left;
  vertical-align: middle;
  white-space: nowrap;
}

.partners-table th {
  background-color: #003366;
  color: #fff;
  font-weight: 600;
  width: 25%;
}

.partners-table td:nth-child(2) {
  width: 70%;
  word-break: break-all;
}

.partners-table tr:hover td {
  background-color: #f4f7fb;
}

.partners-table a {
  color: #0066cc;
  text-decoration: none;
}

.partners-table a:hover {
  text-decoration: underline;
}

/* ページ見出しの位置を左寄せ */
.section.qtw-section h2,
.section.qtw-section p {
  text-align: left;
  margin-left: 5%;
}