.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-02 {
  margin-top: var(--section-gap);
}
.p-pattern03-02__heading {
  margin-bottom: var(--header-gap-lg);
}
.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);
}
.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-lg);
}
.p-pattern05__item__heading {
  margin-bottom: var(--header-gap-xs);
}
.step-list {
    margin-top: var(--header-gap-xs);
}
.step-list .step-item h4{
    font-size: 2rem;
    font-weight: bold;
    margin-bottom: 5px;
}

.c-list__item::before {
  content: '●';
  top: 5px;
  font-size: 1rem;
  color: var(--color-primary);
}

.p-subject__header {
  position: relative;
}
.p-subject__labels {
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  flex-flow: column wrap;
  max-height: 100%;
  padding: 0.5em;
  font-size: var(--font-size-xl);
  line-height: 1;
  color: var(--color-text-contrast);
  letter-spacing: 0.2em;
  background-color: var(--color-primary);
  transform: translateX(-0.5em) translateY(-0.5em);
}
.p-subject__labels__item {
  writing-mode: vertical-rl;
  text-orientation: upright;
}
.p-subject__labels__item:nth-child(n+2)::before {
  content: "・";
}

.p-collab {
    position: relative;
    z-index: 0;
    padding-top: var(--section-gap);
    padding-bottom: var(--section-gap-lg);
    margin-top: var(--section-gap);
    margin-bottom: calc(var(--section-gap) / -1);
}
.p-collab__bg {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: 100%;
    object-fit: cover;
    -webkit-mask-image: linear-gradient(to top, transparent, #000 var(--section-gap-lg));
    mask-image: linear-gradient(to top, transparent, #000 var(--section-gap-lg));
}

.c-tile__item {
    /*width: calc((100% - var(--column-gap, 1em) * (var(--column-count, 3) - 1)) / var(--column-count, 3));*/
    width: 100%;
}