/* 2026-07-11: 任意団体・有限会社・バリバリーの役割と窓口を明示 */
.role-guide {
  margin: 32px auto 0;
  padding: 28px;
  border: 1px solid #d9e5ea;
  border-radius: 16px;
  background: #f7fbfc;
  text-align: left;
}

.role-guide h3 {
  margin: 0 0 20px;
  color: #154b62;
  font-size: 22px;
  text-align: center;
}

.role-guide-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.role-guide-card {
  padding: 20px;
  border-top: 4px solid #006394;
  border-radius: 10px;
  background: #fff;
  box-shadow: 0 4px 18px rgba(17, 64, 84, .08);
}

.role-guide-card--company { border-top-color: #9b6a2f; }
.role-guide-card--brand { border-top-color: #7f5a78; }

.role-guide-card strong {
  display: block;
  min-height: 48px;
  color: #173f50;
  font-size: 16px;
  line-height: 1.5;
}

.role-guide-card p {
  margin: 12px 0;
  color: #445d68;
  font-size: 14px;
  line-height: 1.75;
}

.role-guide-card a { word-break: break-word; }

.role-guide-label,
.role-owner {
  display: inline-block;
  margin-bottom: 8px;
  color: #4c6672;
  font-size: 13px;
  font-weight: 700;
  letter-spacing: .06em;
}

.role-guide-note {
  margin: 20px 0 0;
  color: #36515d;
  font-size: 14px;
  line-height: 1.8;
  text-align: center;
}

.role-boundary {
  max-width: 980px;
  margin: 28px auto;
  padding: 20px 24px;
  border-left: 5px solid #006394;
  background: #f5fafc;
  color: #294956;
  line-height: 1.8;
}

.role-boundary strong {
  display: block;
  margin-bottom: 4px;
  color: #154b62;
  font-size: 17px;
}

.role-boundary p { margin: 0; }
.role-boundary--external-services { border-left-color: #9b6a2f; }
.role-boundary--archive,
.role-boundary--archive-history { border-left-color: #6c7f88; }

.safe-check-icon {
  display: grid;
  width: 76px;
  height: 76px;
  margin: 0 auto 22px;
  border: 2px solid #5a9dcc;
  border-radius: 50%;
  color: #2878aa;
  font-size: 24px;
  font-weight: 700;
  letter-spacing: .08em;
  place-items: center;
}

@media (max-width: 767px) {
  .role-guide { padding: 20px 16px; }
  .role-guide-grid { grid-template-columns: 1fr; }
  .role-guide-card strong { min-height: 0; }
  .role-boundary { margin: 20px 16px; padding: 18px; }
}
