.default-margin {
  margin-top: 32px;
}

.underline {
  text-decoration: underline;
  text-decoration-skip-ink: none;
}

.underline-far {
  text-decoration: underline;
  text-underline-offset: 0.23em;
  text-decoration-thickness: 1px;
}

.nodisp {
  display: none !important;
}

@media (max-width: 600px) {
  .pc {
    display: none !important;
  }
}

@media (min-width: 601px) {
  .mob {
    display: none !important;
  }
}

.ff, .ff-at, .ffc, .ffc-at, .ffs, .ffs-at, .ffb, .ffb-at {
  display: flex;
  justify-content: space-around;
  align-items: center;
}

.ffb, .ffb-at {
  justify-content: space-between;
}

.ffs, .ffs-at {
  justify-content: flex-start;
}

.ffc, .ffc-at {
  justify-content: center;
}

.ff-at {
  align-items: flex-start;
}

.ffb-at {
  align-items: flex-start;
}

.ffs-at {
  align-items: flex-start;
}

.ffc-at {
  align-items: flex-start;
}

.f-col {
  flex-direction: column;
}

.bc, .bc-sq, .bcv, .bcv-sq, .bcv-before::before, .before-sq-cv::before, .bcv-after::after, .after-sq-cv::after, .bc-after::after, .after-sq::after, .bc-before::before, .before-sq::before {
  background-size: contain;
  background-position: center center;
  background-repeat: no-repeat;
}

.before::before, .bcv-before::before, .before-sq-cv::before, .bc-before::before, .before-sq::before {
  content: "";
  display: block;
}

.bc-before, .before-sq {
  display: flex;
  align-items: center;
}
.bcv-before, .before-sq-cv {
  display: flex;
  align-items: center;
}
.before-sq::before {
  aspect-ratio: 1;
}

.after-sq::after {
  aspect-ratio: 1;
}

.before-sq-cv::before {
  aspect-ratio: 1;
}

.after-sq-cv::after {
  aspect-ratio: 1;
}

.after::after, .bcv-after::after, .after-sq-cv::after, .bc-after::after, .after-sq::after {
  content: "";
  display: block;
}

.bc-after, .after-sq {
  display: flex;
  align-items: center;
}
.bcv-after, .after-sq-cv {
  display: flex;
  align-items: center;
}
.bcv, .bcv-sq, .bcv-before::before, .before-sq-cv::before, .bcv-after::after, .after-sq-cv::after {
  background-size: cover;
}

.sq, .bcv-sq, .bc-sq {
  aspect-ratio: 1;
}

.box-wrapper {
  display: flex;
  justify-content: center;
  box-sizing: border-box;
  width: 100%;
}
.box-wrapper .box {
  box-sizing: border-box;
  padding: 0 20px;
  width: min(100%, 950px);
}
.box-wrapper .box.nopadding {
  padding: 0;
}
.box-wrapper .box.section-border {
  overflow: hidden;
  border-radius: var(--border-radius);
  box-shadow: 0px 0px 0px 2px var(--yellow);
}
@media (min-width: 601px) {
  .box-wrapper .box.section-border {
    box-shadow: inset 0px 0px 0px 2px var(--yellow);
  }
}