/* Common Variants */

.color-light {
  color: #f3f4f8 !important;
}
.color-lighter {
  color: #fff !important;
}
.color-grey {
  color: #959595 !important;
}
.color-dark-grey {
  color: #56575c !important;
}
.color-dark {
  color: #000 !important;
}
.color-green {
  color: #60b638 !important;
}
.bg-light {
  background-color: #f3f4f8 !important;
}
.bg-lighter {
  background-color: #fff !important;
}
.bg-grey {
  background-color: #959595 !important;
}
.bg-dark-grey {
  background-color: #56575c !important;
}
.bg-dark {
  background-color: #000 !important;
}
.family-1 {
  font-family: "Noto Sans JP" !important;
}
.family-2 {
  font-family: Roboto !important;
}
.font-lighter {
  font-weight: 100 !important;
}
.font-light {
  font-weight: 300 !important;
}
.font-normal {
  font-weight: 400 !important;
}
.font-bold {
  font-weight: 500 !important;
}
.font-bolder {
  font-weight: 700 !important;
}
.text-left {
  text-align: left !important;
}
.text-center {
  text-align: center !important;
}
.text-right {
  text-align: right !important;
}
.text-justify {
  text-align: justify !important;
}
.display-1 {
  font-size: 4.25rem;
}
.display-2 {
  font-size: 3.15rem;
}
.display-3 {
  font-size: 1.675rem;
}
.module-title-1 {
  font-size: 4.45rem;
}
.module-title-1::first-letter {
  color: #56ad34;
}
.module-title-2 {
  font-size: 2.45rem;
}
@media (max-width: 1091px) {
  .module-title-1 {
    font-size: 4.25rem;
  }
  .module-title-2 {
    font-size: 1.45rem;
  }
}
@media (max-width: 820px) {
  .display-1 {
    font-size: 38px;
  }
  .display-2 {
    font-size: 24px;
  }
  .module-title-1 {
    font-size: 3rem;
    line-height: 3.3rem !important;
    font-weight: bold;
  }
  .module-title-2 {
    font-size: 1.25rem;
  }
}
@media (max-width: 350px) {
  .display-1 {
    font-size: 34px;
  }
}
.size-28 {
  font-size: 28px;
}
.size-25 {
  font-size: 25px;
}
.size-24 {
  font-size: 24px;
}
.size-18 {
  font-size: 18px;
}
.size-15 {
  font-size: 15px;
}
.size-13 {
  font-size: 13px;
}
.size-11 {
  font-size: 11px;
}
@media (max-width: 880px) {
  .size-28 {
    font-size: 20px;
  }
  .size-24 {
    font-size: 18px;
    line-height: 26px;
  }
}

/* Spacing */
.m-auto {
  margin: auto !important;
}
.mx-auto {
  margin-left: auto !important;
  margin-right: auto !important;
}
.my-auto {
  margin-top: auto !important;
  margin-bottom: auto !important;
}
.mt-auto {
  margin-top: auto !important;
}
.mr-auto {
  margin-right: auto !important;
}
.mb-auto {
  margin-bottom: auto !important;
}
.ml-auto {
  margin-left: auto !important;
}
.mx-0 {
  margin-left: 0 !important;
  margin-right: 0 !important;
}
.my-0 {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
}
.mt-0 {
  margin-top: 0 !important;
}
.mr-0 {
  margin-right: 0 !important;
}
.mb-0 {
  margin-bottom: 0 !important;
}
.ml-0 {
  margin-left: 0 !important;
}
.p-0 {
  padding: 0 !important;
}
.px-0 {
  padding-left: 0 !important;
  padding-right: 0 !important;
}
.py-0 {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.pt-0 {
  padding-top: 0 !important;
}
.pr-0 {
  padding-right: 0 !important;
}
.pb-0 {
  padding-bottom: 0 !important;
}
.pl-0 {
  padding-left: 0 !important;
}

/* Common CSS */
html,
body {
  font-family: "Noto Sans JP" !important;
  overflow-x: hidden;
}
.h-100 {
  height: 100%;
}
/* Display */
.d-inline-block {
  display: inline-block !important;
}
.d-block {
  display: block !important;
}
.clearfix:after {
  content: "";
  visibility: hidden;
  display: block;
  height: 0;
  clear: both;
}
.float-left {
  float: left;
}
.float-right {
  float: right;
}

/* List */
.list-unstyled {
  list-style: none !important;
}

/* Text */
div,
p,
span {
  cursor: default;
}
a span,
button span {
  cursor: pointer;
}
/* Other Styles */
.wrapper {
  max-width: 1500px !important;
  position: relative;
}
.content-wrapper {
  max-width: 1000px;
  position: relative;
}
.img-radius {
  border-radius: 10px;
  border-bottom-left-radius: 0;
  border-bottom-right-radius: 0;
}
.img-fluid {
  max-width: 100%;
  object-fit: contain;
}
.img-container-fluid {
  width: 100%;
  height: 100%;
  object-fit: contain;
  object-position: center;
  background-color: #e5e6eb;
}
.d-flex {
  display: flex;
}
.mr-15 {
  margin-right: 15px;
}
.img-cover {
  max-width: 100%;
  object-fit: cover;
}
.img-full-cover {
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center;
}
.h1-image {
  width: 100%;
  height: 100%;
}
.w-100 {
  width: 100%;
}
.t-green {
  color: #54b643;
}

/* Card */
.shadow-card {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
  border-radius: 10px;
  background-color: #fff;
  min-height: 445px;
  display: flex;
  flex-direction: column;
}
.lower-card {
  min-height: 375px;
}
.px-10 {
  padding-left: 10px;
  padding-right: 10px;
}
.pt-10 {
  padding-top: 10px;
}
.pb-10 {
  padding-bottom: 10px;
}

/* Ellipsis with line limits of one */
.limit-one-lines {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 1;
  -webkit-box-orient: vertical;
}

/* Ellipsis with line limits of two */
.limit-two-lines {
  overflow: hidden;
  text-overflow: ellipsis;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
}

.mouse-hover-pointer * {
  cursor: pointer;
}

.pf-left {
  margin-left: -50px;
}
