.u-visually-hidden {
  border: 0 !important;
  clip: rect(0 0 0 0) !important;
  height: 1px !important;
  margin: -1px !important;
  overflow: hidden !important;
  padding: 0 !important;
  position: absolute !important;
  width: 1px !important;
}

.u-hidden {
  display: none !important;
}

.u-overflow-hidden {
  overflow: hidden;
}

.u-clamp-text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  line-clamp: var(--line-clamp);
  -webkit-line-clamp: var(--line-clamp);
  overflow: hidden;
  text-overflow: ellipsis;
}

.u-clear-fix::after {
  clear: both;
  content: "";
  display: table;
}

@media screen and (max-width: 768px) {
  .u-md-hidden {
    display: none !important;
  }
}
.u-md-visible {
  display: none !important;
}
@media screen and (max-width: 768px) {
  .u-md-visible {
    display: revert !important;
  }
}
@media screen and (max-width: 1024px) {
  .u-lg-hidden {
    display: none;
  }
}
.u-lg-visible {
  display: none;
}
@media screen and (max-width: 1024px) {
  .u-lg-visible {
    display: revert;
  }
}

@media screen and (max-width: 1280px) {
  .u-xl-hidden {
    display: none;
  }
}
.u-xl-visible {
  display: none;
}
@media screen and (max-width: 1280px) {
  .u-xl-visible {
    display: revert;
  }
}

.u-mt-5 {
  margin-top: 5px;
}
.u-mt-10 {
  margin-top: 10px;
}

.u-mb-10 {
  margin-bottom: 10px;
}

.u-yakuhan {
  margin-inline-end: -0.4em;
}
.u-mt-0dot5 {
  margin-top: 0.5em;
}

.u-ib {
  display: inline-block;
}

.u-block {
  display: block;
}

.u-hidden-temporary {
  display: none !important;
}

.u-pl-1em {
  padding-left: 1em;
}

.u-text-primary {
  color: var(--color-primary);
}

.u-text-lead {
  font-weight: 700;
  font-size: 31px;
  line-height: calc(44 / 31);
}
@media screen and (max-width: 768px) {
  .u-text-lead {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
  }
}
.u-text-lv2 {
  font-weight: 700;
  font-size: 31px;
  line-height: calc(46 / 31);
}

@media screen and (max-width: 768px) {
  .u-text-lv2 {
    font-size: 20px;
    font-weight: 700;
    line-height: 1.5;
  }
}
.u-text-lv3 {
  font-weight: 700;
  font-size: 31px;
  line-height: calc(46 / 31);
}

@media screen and (max-width: 768px) {
  .u-text-lv3 {
    font-size: 22px;
    line-height: calc(30 / 22);
  }
}
.u-text-lv4 {
  font-size: 25px;
  font-weight: 700;
  line-height: calc(40 / 25);
}

@media screen and (max-width: 768px) {
  .u-text-lv4 {
    font-size: 18px;
    line-height: calc(26 / 18);
  }
}
.u-text-normal {
  font-size: 16px;
  line-height: calc(28 / 16);
}

@media screen and (max-width: 768px) {
  .u-text-normal {
    font-size: 14px;
    line-height: calc(28 / 14);
  }
}
