/* -------------------------------------------

kv

------------------------------------------- */
.top-kv {
  position: relative;
}

#main {
  position: relative;
  overflow: hidden;
  width: 100%;
}

#main,
.CMS-NOT-EDITABLE-AREA {
  height: 56rem;
}

@media screen and (max-width: 768px) {
  #main,
  .CMS-NOT-EDITABLE-AREA {
    height: 40rem;
  }
}
/* -------------------------------------------

news

------------------------------------------- */
.top-news {
  padding: 8rem 0;
  background: #fafafa;
}

.top-news .more {
  margin: 5rem auto 0 auto;
}

@media screen and (max-width: 768px) {
  .top-news {
    padding: 8rem 3rem 12rem 3rem;
  }
}
/* cms */
.top-news .CMS-NEWS-INDEX {
  padding-bottom: 0;
}

.top-news .CMS-NEWS-MORE-READ {
  display: none;
}

/* -------------------------------------------

about

------------------------------------------- */
.top-about {
  padding: 12rem 0 8rem 0;
  position: relative;
  padding-left: calc((100% - 88rem) / 2);
}
.top-about > figure {
  position: absolute;
  right: 2rem;
  bottom: -3rem;
  width: 50rem;
}

.top-about .wrap {
  width: 46rem;
}
.top-about .wrap h2 {
  align-items: flex-start;
}
.top-about .wrap h3 {
  font-size: 1.7rem;
  line-height: 1.6;
  margin-bottom: 2.5rem;
  padding-bottom: 2.5rem;
  background: url(../img/dot.png) repeat-x left bottom;
  background-size: auto 0.2rem;
}
.top-about .wrap p {
  margin-bottom: 5rem;
}
.top-about .wrap .more {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .top-about {
    padding: 0 3rem 6rem 3rem;
  }
  .top-about > figure {
    position: relative;
    right: auto;
    bottom: auto;
    width: 100%;
    top: -4rem;
  }
  .top-about .wrap {
    width: 100%;
  }
  .top-about .wrap h3 {
    margin-bottom: 2rem;
  }
  .top-about .wrap p {
    margin-bottom: 4rem;
  }
  .top-about .wrap .more {
    margin: 0 auto;
  }
}
/* -------------------------------------------

business

------------------------------------------- */
.top-business {
  padding: 8rem 0;
  background: url(../img/deco-1.png) no-repeat left 9rem top 9rem, url(../img/deco-2.png) no-repeat right 6rem bottom 2rem;
  background-size: 13rem auto, 15rem auto;
  background-color: #fafafa;
}
.top-business p {
  text-align: center;
  margin-bottom: 6rem;
}

.top-business ul {
  display: flex;
  gap: 2rem;
  margin-bottom: 5rem;
}
.top-business ul li {
  width: calc((100% - 6rem) / 4);
}
.top-business ul img {
  border-radius: 2rem;
}
.top-business ul dt {
  margin: 1.5rem 0 1.3rem 0;
  color: #43be7a;
  font-weight: bold;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .top-business {
    padding: 8rem 3rem;
    background: url(../img/deco-1.png) no-repeat left 1.5rem top 1.5rem, url(../img/deco-2.png) no-repeat right 1.5rem bottom 1.5rem;
    background-size: 8rem auto, 10rem auto;
    background-color: #fafafa;
  }
  .top-business p {
    text-align: left;
    margin-bottom: 5rem;
  }
  .top-business ul {
    flex-wrap: wrap;
    margin-bottom: 4rem;
  }
  .top-business ul li {
    width: calc((100% - 2rem) / 2);
  }
  .top-business ul dt {
    margin: 1.2rem 0 1rem 0;
    font-size: 1.4rem;
    line-height: 1.5;
    text-align: center;
  }
}
/* -------------------------------------------

flow

------------------------------------------- */
.top-flow {
  background: url(../img/top-bg-1.jpg) no-repeat center/cover;
  color: #fff;
}

.top-flow .wrap {
  width: 54rem;
  background: url(../img/deco-3.png) no-repeat left 3rem top 6rem, url(../img/deco-4.png) no-repeat right 3rem bottom 4rem;
  background-size: 9rem auto, 10rem auto;
  background-color: rgba(23, 117, 27, 0.9);
  margin: 0 auto;
  padding: 6rem 0;
}
.top-flow .wrap h2 .en {
  opacity: 0.3;
}
.top-flow .wrap h2 .jp {
  color: #fff;
}
.top-flow .wrap p {
  text-align: center;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  .top-flow .wrap {
    width: 100%;
    background: url(../img/deco-3.png) no-repeat left 2rem top 2rem, url(../img/deco-4.png) no-repeat right 2rem bottom 2rem;
    background-size: 7rem auto, 8rem auto;
    background-color: rgba(23, 117, 27, 0.9);
    margin: 0 auto;
    padding: 6rem 3rem;
  }
  .top-flow .wrap p {
    text-align: left;
  }
}
/* -------------------------------------------

contact

------------------------------------------- */
.top-contact {
  padding: 10rem 0;
  background: url(../img/deco-5.png) no-repeat left -5rem top -5rem, url(../img/deco-5.png) no-repeat right -5rem bottom -5rem;
  background-size: 32rem auto;
}

.top-contact .wrap {
  display: flex;
  flex-direction: row-reverse;
}

.top-contact .bg {
  background: url(../img/top-bg-2.jpg) no-repeat center/cover;
  width: 60%;
}

.top-contact .txt {
  background: #43be7a;
  width: 40%;
  color: #fff;
  padding: 3rem 3rem 5rem 3rem;
}

.top-contact h2 {
  letter-spacing: 0;
  align-items: flex-start;
  margin: 0;
}
.top-contact h2 .en {
  opacity: 0.4;
  font-size: 5.8rem;
}
.top-contact h2 .jp {
  color: #fff;
}

.top-contact p {
  margin: 2rem 0 3rem 0;
}

.top-contact .more {
  margin: 0;
}

@media screen and (max-width: 768px) {
  .top-contact {
    padding: 6rem 3rem;
    background: url(../img/deco-5.png) no-repeat left -5rem top -5rem, url(../img/deco-5.png) no-repeat right -5rem bottom -5rem;
    background-size: 18rem auto;
  }
  .top-contact .wrap {
    flex-direction: column;
  }
  .top-contact .bg {
    width: 100%;
    aspect-ratio: 16/9;
  }
  .top-contact .txt {
    width: 100%;
  }
  .top-contact .more {
    margin: 0 auto;
  }
}/*# sourceMappingURL=style.css.map */