.p-wrapper {
  position: relative;
  z-index: 0;
}
.p-wrapper::before {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 520px;
  content: "";
  background-image: var(--bg-primary);
  background-repeat: no-repeat;
  background-size: cover;
}

@media (max-width: 525px) {
  .p-mv__title {
    --font-size: min(6.5rem, calc(16 * var(--vw)));
  }
}

.p-equipment-section {
  margin: 120px 0;
}
@media (max-width: 768px) {
  .p-equipment-section {
    margin: 100px 0;
  }
}
.p-equipment-section__heading {
  margin-bottom: 2em;
}
.p-equipment-section__body {
  container-type: inline-size;
  max-width: 1020px;
  margin-inline: auto;
}
.p-equipment-section__list {
  --column-count: 2;
  --column-gap: min(50px, 5cqw);
  --row-gap: 3em;
}
@container (width <= 650px) {
  .p-equipment-section__list {
    --column-count: 1;
  }
}

.p-equipment__image {
  width: 100%;
  max-width: 520px;
  margin-inline: auto;
}

.p-emergency-section {
  margin: 120px 0;
}
@media (max-width: 768px) {
  .p-emergency-section {
    margin: 100px 0;
  }
}
.p-emergency-section__heading {
  margin-bottom: 1.5em;
}
.p-emergency-section__intro {
  margin-bottom: 2.5em;
}
.p-emergency-section__body {
  container-type: inline-size;
  max-width: 1020px;
  margin-inline: auto;
}
.p-emergency-section__list {
  --column-count: 2;
  --column-gap: min(50px, 5cqw);
  --row-gap: 3em;
}
@container (width <= 650px) {
  .p-emergency-section__list {
    --column-count: 1;
  }
}

.p-box-section {
  padding: 100px 0 180px;
  background-image: var(--bg-primary);
  background-repeat: no-repeat;
  background-size: cover;
}
.p-box-section__inner {
  container-type: inline-size;
}
.p-box-section__list {
  --column-count: 2;
  --column-gap: min(3em, 4cqw);
  --row-gap: 3em;
  justify-content: center;
}
@container (width <= 850px) {
  .p-box-section__list {
    --column-count: 1;
  }
}

.p-box {
  --padding-x: var(--container-padding);
  flex-grow: 1;
  max-width: 825px;
  background-color: var(--color-bg-primary);
  container-type: inline-size;
}
.p-box__heading {
  display: grid;
  grid-template-columns: 1fr;
  padding-top: 1em;
  padding-right: var(--padding-x);
  font-weight: bold;
}
.p-box__heading__main {
  padding-left: var(--padding-x);
}
.p-box__heading__sub {
  padding-left: var(--padding-x);
  margin-top: 0.5em;
  font-size: var(--font-size-lg);
}
@container (width <= 550px) {
  .p-box__heading__sub {
    font-size: var(--font-size-md);
  }
}
.p-box__body {
  padding: 2em var(--padding-x);
}
.p-box__content {
  font-size: var(--font-size-sm);
}