.p-pattern02 {
  margin-top: var(--section-gap);
}
.p-pattern02__heading {
  margin-bottom: var(--header-gap);
}
.p-pattern02__list {
  --prefix-color: var(--color-primary);
  font-size: var(--font-size-xl);
}
.p-pattern02__list + .p-pattern02__list {
  margin-top: 1em;
}
.p-pattern02__column {
  padding: max(3cqw, 2em) max(4cqw, 1.5em);
  margin-top: var(--section-gap-xs);
  background-color: var(--color-secondary);
  border-radius: var(--radius-md);
}

.p-pattern03 {
  margin-top: var(--section-gap);
}
.c-paragraph--md {
  margin-bottom: var(--header-gap-md);
}
.p-pattern03__item + .p-pattern03__item {
  margin-top: var(--section-gap-sm);
}
.p-pattern05 {
  --gradation-height: var(--section-gap-lg);
  position: relative;
  z-index: 0;
  padding-block: var(--section-gap);
  margin-top: var(--section-gap);
}
.p-pattern05__bg {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  display: flex;
  justify-content: center;
  width: 100%;
  height: 100%;
  overflow: hidden;
  -webkit-mask-image: linear-gradient(to bottom, transparent, #000 var(--gradation-height), #000 calc(100% - var(--gradation-height)), transparent);
          mask-image: linear-gradient(to bottom, transparent, #000 var(--gradation-height), #000 calc(100% - var(--gradation-height)), transparent);
}
.p-pattern05__bg > img {
  display: block;
  width: 100%;
  min-width: 600px;
  height: 100%;
  opacity: 0.34;
}
.p-pattern05__heading {
  margin-bottom: var(--header-gap-xs);
}
.c-paragraph--lg {
  margin-bottom: var(--header-gap-lg);
}
.p-pattern05__item__heading {
  margin-bottom: var(--header-gap-xs);
}
.p-pattern03-02 {
  margin-top: var(--section-gap);
}

.p-pattern03-02__item + .p-pattern03-02__item {
  margin-top: var(--section-gap-sm);
}
.p-pattern03-02__item__header {
  background-color: var(--color-primary);
}
.p-pattern03-02__item__heading {
  color: var(--color-text-contrast);
}