.mx-auto {
  margin-left: auto;
  margin-right: auto;
}

.mb-0 {
  margin-bottom: 0px;
}

.ml-auto {
  margin-left: auto;
}

.mt-section-l {
  margin-top: clamp(6.25rem, 3.125rem + 15.625vw, 13.125rem);
}

.mt-section-m {
  margin-top: clamp(5rem, 3.0114rem + 9.9432vw, 9.375rem);
}

.mt-section-s {
  margin-top: clamp(4.375rem, 2.9545rem + 7.1023vw, 7.5rem);
}

.mt-section-xs {
  margin-top: clamp(4.375rem, 3.5227rem + 4.2614vw, 6.25rem);
}

.box-border {
  box-sizing: border-box;
}

.flex {
  display: flex;
}

.table {
  display: table;
}

.contents {
  display: contents;
}

.w-fit {
  width: -moz-fit-content;
  width: fit-content;
}

.flex-wrap {
  flex-wrap: wrap;
}

.items-center {
  align-items: center;
}

.justify-center {
  justify-content: center;
}

.justify-between {
  justify-content: space-between;
}

.gap-\[10px\] {
  gap: 10px;
}

.gap-\[30px\] {
  gap: 30px;
}

.break-keep {
  word-break: keep-all;
}

.text-center {
  text-align: center;
}

.font-bold {
  font-weight: 700;
}

.font-normal {
  font-weight: 400;
}

.leading-loose {
  line-height: 2;
}

.fz15 {
  font-size: calc(15rem / 16);
}

.fz18 {
  font-size: calc(18rem / 16);
}

.fz21 {
  font-size: calc(21rem / 16);
}

.fz24 {
  font-size: calc(24rem / 16);
}

.mt10 {
  margin-top: 10px;
}

.mt20 {
  margin-top: 20px;
}

.mt25 {
  margin-top: 25px;
}

.mt30 {
  margin-top: 30px;
}

.mt40 {
  margin-top: 40px;
}

.mt45 {
  margin-top: 45px;
}

.mt50 {
  margin-top: 50px;
}

.mt60 {
  margin-top: 60px;
}

.mt70 {
  margin-top: 70px;
}

.mt80 {
  margin-top: 80px;
}

.grid-cols-auto {
  --max-cols: 1fr;
  grid-template-columns: repeat(
    auto-fit,
    minmax(min(100%, var(--min-cols)), var(--max-cols))
  );
}

.visually_hidden {
  position: absolute;
  white-space: nowrap;
  width: 1px;
  height: 1px;
  overflow: hidden;
  border: 0;
  padding: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  margin: -1px;
}

@media not all and (min-width: 48em) {
  .max-md\:hidden {
    display: none;
  }
}

@media (min-width: 26.5625em) {
  .xs\:break-keep {
    word-break: keep-all;
  }

  .xs\:text-center {
    text-align: center;
  }
}

@media (min-width: 40em) {
  .sm\:fz28 {
    font-size: calc(28rem / 16);
  }
}

@media (min-width: 48em) {
  .md\:mt35 {
    margin-top: 35px;
  }

  .md\:vertical {
    display: flex;
    flex-flow: row-reverse;
    align-items: flex-start;
  }

  .md\:vertical > span {
    white-space: pre;
    writing-mode: vertical-rl;
    display: inline-block;
  }
}
