@charset "UTF-8";
.p-menu {
  margin-top: var(--section-gap);
}
.p-menu__heading {
  margin-bottom: 1.25em;
}
.p-menu__main {
  container-type: inline-size;
}
@media (min-width: 1025px) {
  .p-menu__main {
    padding-inline: 2em;
  }
}
.p-menu__list {
  --column-count: 4;
  --column-gap: min(3cqw, 1.75em);
  --row-gap: min(3cqw, 1.5em);
}
@container (width <= 1000px) {
  .p-menu__list {
    --column-count: 3;
  }
}
@container (width <= 800px) {
  .p-menu__list {
    --column-count: 2;
  }
}
.p-menu__item__link {
  width: 100%;
  height: 100%;
}

.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-lg);
}
.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-pattern06 {
  margin-top: var(--section-gap);
}
.p-pattern06__heading {
  margin-bottom: var(--header-gap);
}

.p-pattern03 {
  margin-top: var(--section-gap);
}
.p-pattern03__heading {
  margin-bottom: var(--header-gap-xs);
}
.p-pattern03__item + .p-pattern03__item {
  margin-top: var(--section-gap-sm);
}

.p-pattern03-02 {
  margin-top: var(--section-gap);
}
.p-pattern03-02__heading {
  margin-bottom: var(--header-gap-md);
}
.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);
}
.tb-sm {
  min-width: auto;
  border: 1px solid var(--border-color);
}

.p-pattern10 {
  margin-top: var(--section-gap);
}
.p-pattern10__heading {
  margin-bottom: var(--header-gap-xs);
}
@container image-section (width > 750px) {
  .p-pattern10__main {
    padding: 4cqw 5cqw;
    margin-top: var(--section-gap-xs);
    margin-left: calc((var(--column-gap) + 1em) * -1);
    border: 1px solid currentcolor;
    border-radius: var(--radius-md);
  }
}
.p-pattern10__image {
  z-index: 2;
}