.subpage-hero {
  padding: 72px 0 76px;
  background: linear-gradient(135deg, #f7fbff 0%, #eaf4ff 100%);
}
.subpage-hero .container,
.subpage-content .container { max-width: 920px; }
.subpage-hero h1 {
  margin: 8px 0 18px;
  color: var(--navy);
  font-size: clamp(38px, 5vw, 60px);
  line-height: 1.3;
  letter-spacing: -.045em;
}
.subpage-hero p:last-child { color: #42536a; font-size: 17px; }
.subpage-content { padding: 80px 0 96px; }
.policy-list { display: grid; gap: 26px; }
.policy-item {
  padding: 32px 34px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: #fff;
  box-shadow: var(--shadow-soft);
}
.policy-item h2 { margin-bottom: 14px; color: var(--navy); font-size: 22px; line-height: 1.55; }
.policy-item p,
.policy-item li { color: #42536a; font-size: 15px; }
.policy-item ol,
.policy-item ul { margin: 12px 0 0; padding-left: 1.4em; }
.policy-item li + li { margin-top: 8px; }
.policy-contact { margin-top: 14px; padding: 18px 20px; border-radius: 9px; background: #f3f7fb; }
.policy-contact a { color: var(--blue); font-weight: 800; text-decoration: underline; }
.policy-date { margin-top: 32px; color: #6c7a8d; text-align: right; font-size: 14px; }
.company-table { width: 100%; border-collapse: collapse; border-top: 1px solid var(--line); }
.company-table th,
.company-table td { padding: 20px 22px; border-bottom: 1px solid var(--line); text-align: left; vertical-align: top; }
.company-table th { width: 220px; color: var(--navy); background: #f4f8fc; font-weight: 850; }
.company-table td { color: #42536a; }
.standalone-contact { padding: 80px 0 96px; background: var(--navy); }
.standalone-contact .container { max-width: 980px; }
.standalone-contact .contact-form { margin-top: 32px; }
.standalone-contact h2 { color: #fff; font-size: clamp(30px, 4vw, 46px); }
.standalone-contact > .container > p:not(.section-kicker) { color: rgba(255,255,255,.82); }
@media (max-width: 760px) {
  .subpage-hero { padding: 54px 0 58px; }
  .subpage-content,.standalone-contact { padding: 58px 0 72px; }
  .policy-item { padding: 25px 20px; }
  .company-table,.company-table tbody,.company-table tr,.company-table th,.company-table td { display: block; width: 100%; }
  .company-table th { padding-bottom: 8px; border-bottom: 0; }
  .company-table td { padding-top: 8px; }
}

.privacy-page main .section-kicker,
.privacy-page main h1,
.privacy-page main h2,
.privacy-page main p,
.privacy-page main li,
.privacy-page main strong,
.privacy-page main a { font-weight: 400; }

.company-page main *,
.inquiry-page main * { font-weight: 400 !important; }
