.rich-text {
  white-space: normal;
  overflow-wrap: anywhere;
}

.rich-text > *:first-child {
  margin-top: 0;
}

.rich-text > *:last-child {
  margin-bottom: 0;
}

.rich-text h1,
.rich-text h2,
.rich-text h3,
.rich-text h4,
.rich-text h5,
.rich-text h6 {
  color: inherit;
  font-weight: 700;
  line-height: 1.3;
  margin: 1em 0 0.35em;
}

.rich-text p {
  margin: 0.55em 0;
}

.rich-text ul,
.rich-text ol {
  margin: 0.55em 0;
  padding-inline-start: 1.25em;
}

.rich-text a {
  color: inherit;
  text-decoration: underline;
}

.rich-text blockquote {
  margin: 0.8em 0;
  padding-inline-start: 0.9em;
  border-inline-start: 3px solid currentColor;
}

.rich-text img,
.rich-text video,
.rich-text audio {
  max-width: 100%;
  height: auto;
}

.rich-text iframe {
  width: 100%;
  max-width: 100%;
  aspect-ratio: 16 / 9;
  border: 0;
}

.rich-text table {
  width: 100%;
  border-collapse: collapse;
  margin: 0.8em 0;
}

.rich-text th,
.rich-text td {
  border: 1px solid color-mix(in srgb, currentColor 28%, transparent);
  padding: 0.4rem 0.55rem;
  vertical-align: top;
}

.rich-text pre,
.rich-text code {
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
}

.rich-text pre {
  overflow: auto;
  padding: 0.75rem 0.85rem;
  background: color-mix(in srgb, currentColor 8%, transparent);
}

.shop-detail__desc.rich-text,
.work-detail__desc.rich-text,
.ops-detail__body.rich-text {
  white-space: normal;
  max-width: 42rem;
}

.service-content.rich-text h1,
.service-content.rich-text h2,
.service-content.rich-text h3,
.service-content.rich-text h4,
.service-content.rich-text a,
.service-content.rich-text th,
.service-content.rich-text td {
  color: inherit;
}
