.default-content, .contents-404 {
  margin-top: 3rem;
  margin-bottom: 6rem;
}
@media (max-width: 1288px) {
  .default-content, .contents-404 {
    margin-bottom: 5rem;
  }
}
@media (max-width: 64rem) {
  .default-content, .contents-404 {
    margin-bottom: 4rem;
  }
}
@media (max-width: 48rem) {
  .default-content, .contents-404 {
    margin-bottom: 3.5rem;
  }
}
.default-content section:first-of-type, .contents-404 section:first-of-type {
  margin-block: 0;
}
.default-content section:last-of-type, .contents-404 section:last-of-type {
  margin-bottom: 0;
}

.contents-404 {
  text-align: center;
}
.contents-404 h1 {
  color: #1e3a5c;
}
.contents-404 a {
  position: relative;
  transition: color 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}
.contents-404 a::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: -0.1em;
  width: 100%;
  height: 1px;
  background: currentColor;
  pointer-events: none;
  transform-origin: center;
  opacity: 1;
  transform: scaleX(1);
  transition: transform 0.6s ease, opacity 0.6s ease;
}
.contents-404 a:hover, .contents-404 a:focus-visible, .contents-404 a:focus-within {
  color: currentColor;
}
.contents-404 a:hover::after, .contents-404 a:focus-visible::after, .contents-404 a:focus-within::after {
  opacity: 0;
  transform: scaleX(0);
}

.section--bg-none {
  background-color: transparent;
  padding-block: 6rem;
}
@media (max-width: 1288px) {
  .section--bg-none {
    padding-block: 5rem;
  }
}
@media (max-width: 64rem) {
  .section--bg-none {
    padding-block: 4rem;
  }
}
@media (max-width: 48rem) {
  .section--bg-none {
    padding-block: 3.5rem;
  }
}

.section--bg-white {
  background-color: #fff;
  padding-block: 6rem;
}
@media (max-width: 1288px) {
  .section--bg-white {
    padding-block: 5rem;
  }
}
@media (max-width: 64rem) {
  .section--bg-white {
    padding-block: 4rem;
  }
}
@media (max-width: 48rem) {
  .section--bg-white {
    padding-block: 3.5rem;
  }
}

.section--bg-background {
  background-color: #f3f5f7;
  padding-block: 6rem;
}
@media (max-width: 1288px) {
  .section--bg-background {
    padding-block: 5rem;
  }
}
@media (max-width: 64rem) {
  .section--bg-background {
    padding-block: 4rem;
  }
}
@media (max-width: 48rem) {
  .section--bg-background {
    padding-block: 3.5rem;
  }
}

.section--bg-primary {
  background-color: #1e3a5c;
  padding-block: 6rem;
}
@media (max-width: 1288px) {
  .section--bg-primary {
    padding-block: 5rem;
  }
}
@media (max-width: 64rem) {
  .section--bg-primary {
    padding-block: 4rem;
  }
}
@media (max-width: 48rem) {
  .section--bg-primary {
    padding-block: 3.5rem;
  }
}

.section--bg-secondary {
  background-color: #142a44;
  padding-block: 6rem;
}
@media (max-width: 1288px) {
  .section--bg-secondary {
    padding-block: 5rem;
  }
}
@media (max-width: 64rem) {
  .section--bg-secondary {
    padding-block: 4rem;
  }
}
@media (max-width: 48rem) {
  .section--bg-secondary {
    padding-block: 3.5rem;
  }
}

.section--bg-none + .section--bg-none,
.section--bg-white + .section--bg-white,
.section--bg-background + .section--bg-background,
.section--bg-primary + .section--bg-primary,
.section--bg-secondary + .section--bg-secondary {
  padding-top: 0;
}