:root {
  --viewport-width: 100vw;
  --b: calc(var(--viewport-width) / 160);
}

@media screen and (max-width: 550px) {
  :root {
    --viewport-width: max(100vw, 550px);
    --b: calc(var(--viewport-width) / 55);
  }
}
.order {
  margin-bottom: 50px;
}
.order h3 {
  position: relative;
  padding-bottom: 15px;
  margin-bottom: 20px;
}
.order h3::after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  height: 1px;
  width: 20px;
  background: #007440;
}
.order .life__wrapper,
.order .build__wrapper {
  margin-top: max(6rem, 50px);
}
@media screen and (max-width: 550px) {
  .order .life__wrapper,
  .order .build__wrapper {
    margin-top: 50px;
  }
}
.order .life__wrapper ul,
.order .build__wrapper ul {
  gap: 5px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}
@media screen and (min-width: 1600px) {
  .order .life__wrapper ul,
  .order .build__wrapper ul {
    grid-template-columns: repeat(4, 1fr);
  }
}
@media screen and (max-width: 1000px) {
  .order .life__wrapper ul,
  .order .build__wrapper ul {
    grid-template-columns: repeat(2, 1fr);
  }
}
@media screen and (max-width: 768px) {
  .order .life__wrapper ul,
  .order .build__wrapper ul {
    grid-template-columns: 1fr;
  }
}
.order .life__wrapper ul li,
.order .build__wrapper ul li {
  flex: 1;
}
.order .life__wrapper ul li a,
.order .build__wrapper ul li a {
  display: flex;
  flex-direction: column;
  height: 100%;
}
.order .life__wrapper ul li a .imageBox,
.order .build__wrapper ul li a .imageBox {
  min-width: -webkit-fit-content;
  min-width: -moz-fit-content;
  min-width: fit-content;
  min-height: -webkit-fit-content;
  min-height: -moz-fit-content;
  min-height: fit-content;
  aspect-ratio: 425/344;
  overflow: hidden;
}
@media screen and (max-width: 768px) {
  .order .life__wrapper ul li a .imageBox,
  .order .build__wrapper ul li a .imageBox {
    aspect-ratio: 16/9;
  }
}
.order .life__wrapper ul li a .imageBox img,
.order .build__wrapper ul li a .imageBox img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  aspect-ratio: 425/344;
  transition: 0.5s cubic-bezier(0.03, 0.29, 0.24, 0.72);
}
@media screen and (max-width: 768px) {
  .order .life__wrapper ul li a .imageBox img,
  .order .build__wrapper ul li a .imageBox img {
    aspect-ratio: 16/9;
  }
}
.order .life__wrapper ul li a .textBox,
.order .build__wrapper ul li a .textBox {
  flex: 1;
  height: 100%;
  padding: max(4rem, 10px) max(4rem, 10px);
  background: linear-gradient(to right, #def0ea, #f0faf6);
}
@media screen and (max-width: 550px) {
  .order .life__wrapper ul li a .textBox,
  .order .build__wrapper ul li a .textBox {
    padding: 15px 10px;
  }
}
.order .life__wrapper ul li a .textBox h4,
.order .build__wrapper ul li a .textBox h4 {
  gap: 10px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  height: 100%;
  color: #007440;
  font-size: max(2.1rem, 21px);
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.1em;
  cursor: pointer;
}
@media screen and (max-width: 550px) {
  .order .life__wrapper ul li a .textBox h4,
  .order .build__wrapper ul li a .textBox h4 {
    font-size: 21px;
  }
}
.order .life__wrapper ul li a .textBox h4.accent,
.order .build__wrapper ul li a .textBox h4.accent {
  font-size: max(1.8rem, 18px);
}
.order .life__wrapper ul li a .textBox h4 > span,
.order .build__wrapper ul li a .textBox h4 > span {
  color: #007440;
  display: block;
  font-size: max(1.4rem, 14px);
  font-weight: 500;
  line-height: 1.2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 550px) {
  .order .life__wrapper ul li a .textBox h4 > span,
  .order .build__wrapper ul li a .textBox h4 > span {
    font-size: 14px;
  }
}
.order .life__wrapper ul li a .textBox h4 p,
.order .build__wrapper ul li a .textBox h4 p {
  color: inherit;
  font-size: inherit;
  font-weight: inherit;
  line-height: inherit;
  letter-spacing: inherit;
}
.order .life__wrapper ul li a:hover .imageBox img,
.order .build__wrapper ul li a:hover .imageBox img {
  transform: scale(1.1);
}
.order .life {
  padding-top: max(11.5rem, 60px);
}
@media screen and (max-width: 550px) {
  .order .life {
    padding-top: 60px;
  }
}
.order .build {
  margin-top: max(12rem, 80px);
}
@media screen and (max-width: 550px) {
  .order .build {
    margin-top: 80px;
  }
}/*# sourceMappingURL=order.css.map */