@charset "UTF-8";

.keyvis {
  padding-top: 64.7vw;
  padding-bottom: 12rem;
  background: url(../images/service/product-kv.jpg) no-repeat center top/100% auto;
  background-color: #7dbc53;
}

@media screen and (max-width: 768px) {
  .keyvis {
    background: url(../images/service/product-kv.jpg) no-repeat 44% top/auto 72%;
    background-color: #7dbc53;
    padding-top: 60rem;
  }
}

.keyvis .tagline {
  font-weight: 700;
  letter-spacing: 0.075em;
}

.keyvis .tagline-head {
  position: absolute;
  top: 22rem;
  right: 13.8rem;
  font-weight: 500;
  font-size: 3.6rem;
  letter-spacing: 0.01em;
  writing-mode: vertical-rl;
  /* 縦書き（右から左へ） */
}

@media screen and (max-width: 768px) {
  .keyvis .tagline-head {
    right: 2.8rem;
  }
}

.keyvis .tagline-txt {
  position: absolute;
  top: 11.6rem;
  left: 50%;
  transform: translateX(-50%);
  font-weight: 700;
  font-size: 2rem;
  writing-mode: vertical-rl;
  line-height: 2;
}

.logistics {
  position: relative;
  margin-top: -9.6rem;
  border-radius: 3.2rem 3.2rem 0 0;
  padding-right: 3.2rem;
  padding-left: 3.2rem;
  background-color: #f6fdf5;
}

@media screen and (max-width: 768px) {
  .logistics {
    padding-top: 3rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.logistics-inner {
  background-color: #fff;
  border-radius: 2rem;
  padding-bottom: 8.8rem;
}

.logistics-head {
  border-radius: 2rem 2rem 0 0;
  padding-top: 19rem;
  padding-left: 8rem;
  height: 37.6rem;
  background: url(../images/service/product-head1.png) no-repeat right bottom/cover;
}

@media screen and (max-width: 768px) {
  .logistics-head {
    padding-top: 2.2rem;
    padding-left: 3rem;
    height: 20rem;
  }
}

.logistics-title {
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
}

.logistics-title--jp {
  padding-top: 9.6rem;
  font-size: 3.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .logistics-title--jp {
    margin-top: 5rem;
    line-height: 1.2;
    font-size: 3rem;
  }
}

.logistics-title--en {
  margin-top: 2.6rem;
  line-height: 2;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .logistics-title--en {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}

.logistics-column {
  padding-left: 8.3%;
  padding-right: 8.3%;
  margin-top: 11.5rem;
  display: flex;
}

@media screen and (max-width: 768px) {
  .logistics-column {
    margin-top: 3.6rem;
    flex-direction: column;
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
}

.logistics-left {
  width: 50%;
  display: flex;
  flex-direction: column;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  .logistics-left {
    width: 100%;
  }
}

.logistics-subtitle {
  font-weight: 500;
  font-size: 2.4rem;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .logistics-subtitle {
    font-size: 2rem;
  }
}

.logistics-txt {
  margin-top: 2.7rem;
  line-height: 1.87;
  letter-spacing: 0.025em;
}

@media screen and (max-width: 768px) {
  .logistics-txt {
    margin-top: 1rem;
  }
}

.logistics-right {
  width: 50%;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .logistics-right {
    margin-top: 1.6rem;
    width: 100%;
  }
}

.logistics-right img {
  width: 80%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .logistics-right img {
    width: 100%;
  }
}

.logistics-flow {
  min-height: 35.4rem;
  margin-top: 5.8rem;
  margin-left: 8.3%;
  margin-right: 8.3%;
  padding: 3.4rem 2.4rem 2.4rem;
  border-radius: 1.5rem;
  background-color: #e3f4e6;
}

@media screen and (max-width: 768px) {
  .logistics-flow {
    margin-left: 1.6rem;
    margin-right: 1.6rem;
    padding-bottom: 3.4rem;
  }
}

.logistics-flowTitle {
  font-size: 2.4rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  padding-bottom: 2.8rem;
}

@media screen and (max-width: 768px) {
  .logistics-flowTitle {
    line-height: 1.2;
    padding-bottom: 2rem;
  }
}

.logistics-flowTxt {
  letter-spacing: 0.025em;
  line-height: 1.87;
}

.logistics-flowItems {
  margin-top: 2.4rem;
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
  row-gap: 6rem;
}

@media screen and (max-width: 768px) {
  .logistics-flowItems {
    margin-top: 4rem;
  }
}

.logistics-flowItem {
  width: 19.2rem;
  padding-left: 1.6rem;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: relative;
}

@media screen and (max-width: 768px) {
  .logistics-flowItem {
    padding-left: 0;
  }
}

.logistics-flowItem::before {
  position: absolute;
  top: 5.2rem;
  left: -0.9rem;
  content: "";
  display: block;
  width: 2.3rem;
  aspect-ratio: 23/28;
  background: url(../images/service/pro-arrow.png) no-repeat center center/cover;
}

@media screen and (max-width: 768px) {
  .logistics-flowItem::before {
    top: -4.2rem;
    left: 50%;
    transform: translateX(-50%) rotate(90deg);
  }
}

.logistics-flowItem:first-child {
  width: 17.6rem;
  padding-left: 0;
}

.logistics-flowItem:first-child::before {
  display: none;
}

.logistics-flowItem01 figure {
  width: 12.9rem;
  aspect-ratio: 129/48;
}

.logistics-flowItem02 figure {
  width: 10rem;
  aspect-ratio: 101/87;
}

.logistics-flowItem03 figure {
  width: 11rem;
  aspect-ratio: 110/87;
}

.logistics-flowItem04 figure {
  width: 9.5rem;
  aspect-ratio: 95/91;
}

.logistics-flowItem05 figure {
  width: 12.1rem;
  aspect-ratio: 121/66;
}

.logistics-flowItem06 figure {
  width: 8.6rem;
  aspect-ratio: 86/84;
}

.logistics-flowItem07 figure {
  width: 14.2rem;
  aspect-ratio: 142/100;
}

.logistics-flowItem figure {
  flex: 1;
  display: flex;
  align-items: center;
}

.logistics-flowItem img {
  width: 100%;
}

.logistics-flowItem div {
  width: 100%;
  margin-top: 2.7rem;
  font-size: 2.2rem;
  font-weight: 500;
  letter-spacing: 0.05em;
  background-color: #fff;
  height: 4.7rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

.logistics-flow+.logistics-title {
  margin-top: 8.3rem;
}

@media screen and (max-width: 768px) {
  .logistics-flow+.logistics-title {
    margin-top: 10rem;
  }
}

.logistics-flow+.management-maintitle {
  margin-top: 8.3rem;
}

@media screen and (max-width: 768px) {
  .logistics-flow+.management-maintitle {
    margin-top: 10rem;
  }
}

.management {
  position: relative;
  padding-top: 10.3rem;
  border-radius: 3.2rem 3.2rem 0 0;
  padding-right: 3.2rem;
  padding-left: 3.2rem;
  padding-bottom: 10rem;
  background-color: #f6fdf5;
}

@media screen and (max-width: 768px) {
  .management {
    padding-top: 3rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    padding-bottom: 5rem;
  }
}

.management-inner {
  background-color: #fff;
  border-radius: 2rem;
  padding-bottom: 8.8rem;
}

.management-head {
  border-radius: 2rem 2rem 0 0;
  padding-top: 19rem;
  padding-left: 8rem;
  height: 37.6rem;
  background: url(../images/service/product-head2.png) no-repeat right bottom/cover;
}

@media screen and (max-width: 768px) {
  .management-head {
    padding-top: 2.2rem;
    padding-left: 3rem;
    height: 20rem;
  }
}

.management-maintitle {
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
}

.management-maintitle--jp {
  padding-top: 9.6rem;
  font-size: 3.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .management-maintitle--jp {
    margin-top: 5rem;
    line-height: 1.2;
    font-size: 3rem;
  }
}

.management-maintitle--en {
  margin-top: 2.6rem;
  line-height: 2;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .management-maintitle--en {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}

.management-title {
  padding-left: 8.3%;
  padding-right: 8.3%;
}

@media screen and (max-width: 768px) {
  .management-title {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.management-title--jp {
  margin-top: 9.6rem;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .management-title--jp {
    margin-top: 5rem;
    font-size: 3rem;
  }
}

.management-title--txt {
  margin-top: 2.6rem;
  line-height: 1.87;
  letter-spacing: 0.025em;
}

.management-column {
  padding-left: 8.3%;
  padding-right: 8.3%;
  margin-top: 9rem;
  display: flex;
}

@media screen and (max-width: 768px) {
  .management-column {
    margin-top: 7rem;
    flex-direction: column;
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
}

.management-column+.management-column {
  margin-top: 12rem;
}

@media screen and (max-width: 768px) {
  .management-column+.management-column {
    margin-top: 8rem;
  }
}

.management-left {
  width: 50%;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .management-left {
    width: 100%;
  }
}

.management-lead {
  font-size: 3.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .management-lead {
    font-size: 3rem;
  }
}

.management-lead span:nth-child(1) {
  font-weight: 100;
}

.management-lead span:nth-child(2) {
  color: #2a4198;
  font-size: 3.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .management-lead span:nth-child(2) {
    font-size: 3rem;
  }
}

.management-subtitle {
  margin-top: 4.1rem;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .management-subtitle {
    font-size: 2rem;
    margin-top: 1.8rem;
  }
}

.management-txt {
  margin-top: 3.2rem;
  line-height: 1.87;
  letter-spacing: 0.025em;
}

@media screen and (max-width: 768px) {
  .management-txt {
    margin-top: 1.4rem;
  }
}

.management-right {
  width: 50%;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .management-right {
    margin-top: 1.6rem;
    width: 100%;
  }
}

.management-right img {
  width: 80%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .management-right img {
    width: 100%;
  }
}

.production {
  position: relative;
  padding-top: 10.3rem;
  border-radius: 3.2rem 3.2rem 0 0;
  padding-right: 3.2rem;
  padding-left: 3.2rem;
  padding-bottom: 10rem;
  background-color: #f6fdf5;
}

@media screen and (max-width: 768px) {
  .production {
    padding-top: 3rem;
    padding-left: 1.6rem;
    padding-right: 1.6rem;
    padding-bottom: 5rem;
  }
}

.production-inner {
  background-color: #fff;
  border-radius: 2rem;
  padding-bottom: 8.8rem;
}

.production-head {
  border-radius: 2rem 2rem 0 0;
  padding-top: 19rem;
  padding-left: 8rem;
  height: 37.6rem;
  background: url(../images/service/product-head2.png) no-repeat right bottom/cover;
}

@media screen and (max-width: 768px) {
  .production-head {
    padding-top: 2.2rem;
    padding-left: 3rem;
    height: 20rem;
  }
}

.production-maintitle {
  padding-left: 2rem;
  padding-right: 2rem;
  text-align: center;
}

.production-maintitle--jp {
  padding-top: 9.6rem;
  font-size: 3.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .production-maintitle--jp {
    margin-top: 5rem;
    line-height: 1.2;
    font-size: 3rem;
  }
}

.production-maintitle--en {
  margin-top: 2.6rem;
  line-height: 2;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .production-maintitle--en {
    margin-top: 1rem;
    font-size: 1.2rem;
  }
}

.production-title {
  padding-left: 8.3%;
  padding-right: 8.3%;
}

@media screen and (max-width: 768px) {
  .production-title {
    padding-left: 1.6rem;
    padding-right: 1.6rem;
  }
}

.production-title--jp {
  margin-top: 9.6rem;
  font-size: 3.6rem;
  font-weight: 500;
  line-height: 1.2;
}

@media screen and (max-width: 768px) {
  .production-title--jp {
    margin-top: 5rem;
    font-size: 3rem;
  }
}

.production-title--txt {
  margin-top: 2.6rem;
  line-height: 1.87;
  letter-spacing: 0.025em;
}

.production-column {
  padding-left: 8.3%;
  padding-right: 8.3%;
  margin-top: 9rem;
  display: flex;
}

@media screen and (max-width: 768px) {
  .production-column {
    margin-top: 7rem;
    flex-direction: column;
    padding-right: 1.6rem;
    padding-left: 1.6rem;
  }
}

.production-column+.production-column {
  margin-top: 12rem;
}

@media screen and (max-width: 768px) {
  .production-column+.production-column {
    margin-top: 8rem;
  }
}

.production-left {
  width: 50%;
  display: flex;
  flex-direction: column;
}

@media screen and (max-width: 768px) {
  .production-left {
    width: 100%;
  }
}

.production-lead {
  font-size: 3.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .production-lead {
    font-size: 3rem;
  }
}

.production-lead span:nth-child(1) {
  font-weight: 100;
}

.production-lead span:nth-child(2) {
  color: #2a4198;
  font-size: 3.6rem;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  .production-lead span:nth-child(2) {
    font-size: 3rem;
  }
}

.production-subtitle {
  margin-top: 4.1rem;
  font-weight: 500;
  font-size: 2.4rem;
  line-height: 1.75;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .production-subtitle {
    font-size: 2rem;
    margin-top: 1.8rem;
  }
}

.production-txt {
  margin-top: 3.2rem;
  line-height: 1.87;
  letter-spacing: 0.025em;
}

@media screen and (max-width: 768px) {
  .production-txt {
    margin-top: 1.4rem;
  }
}

.production-right {
  width: 50%;
  text-align: right;
}

@media screen and (max-width: 768px) {
  .production-right {
    margin-top: 1.6rem;
    width: 100%;
  }
}

.production-right img {
  width: 80%;
  object-fit: contain;
}

@media screen and (max-width: 768px) {
  .production-right img {
    width: 100%;
  }
}

.footer {
  padding-top: 8.4rem;
  min-height: unset;
  background: url(../images/service/footer-product.png) no-repeat center top/cover;
  background-color: #f6fdf5;
}

.footer-content {
  margin-top: 36rem;
}

/*# sourceMappingURL=service.css.map */