.index_title {
  margin-bottom: 6rem;
  line-height: 1.2;
}
.index_title .en {
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 6.4rem;
  font-weight: 400;
}
@media only screen and (max-width: 640px) {
  .index_title .en {
    font-size: 10vw;
  }
}
.index_title .jp {
  font-size: 2.4rem;
  font-weight: 700;
}
@media only screen and (max-width: 640px) {
  .index_title .jp {
    font-size: 3.75vw;
  }
}

.parts_deco {
  position: absolute;
}

.mainvisual .content {
  margin: 0;
  padding: 0 6rem;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .mainvisual .content {
    padding: 0;
  }
}
.mainvisual .inner {
  min-width: 100%;
}
.mainvisual_text {
  position: absolute;
  left: 3.75vw;
  bottom: 3.75vw;
  font-weight: 500;
  line-height: 1.3;
}
@media only screen and (max-width: 1200px) {
  .mainvisual_text {
    left: 45px;
    bottom: 45px;
  }
}
@media only screen and (max-width: 640px) {
  .mainvisual_text {
    left: 1.5625vw;
    top: 5.625vw;
    bottom: auto;
    letter-spacing: -0.05em;
  }
}
.mainvisual_image {
  border: solid 3px #4C453A;
  border-radius: 2.8rem;
  overflow: hidden;
}
.mainvisual_open {
  margin-bottom: 1.0416666667vw;
  width: 10.625vw;
}
@media only screen and (max-width: 1200px) {
  .mainvisual_open {
    margin-bottom: 12.5px;
    width: 127.5px;
  }
}
@media only screen and (max-width: 640px) {
  .mainvisual_open {
    margin: 0 1.5625vw 55vw auto;
  }
}
.mainvisual_copy {
  margin-top: 0.25em;
  padding: 0 0.25em;
  border: solid 3px #231815;
  font-size: 3.75vw;
  display: inline-block;
  background: #fff;
}
@media only screen and (max-width: 1200px) {
  .mainvisual_copy {
    font-size: 45px;
  }
}
@media only screen and (max-width: 640px) {
  .mainvisual_copy {
    border: solid 2px #231815;
    padding: 0 0.1em;
    font-size: 6.25vw;
  }
}
.mainvisual_copy_s {
  border: solid 3px #231815;
  padding: 0 0.25em;
  font-size: 2.5vw;
  background: #fff;
  display: inline-block;
}
@media only screen and (max-width: 1200px) {
  .mainvisual_copy_s {
    font-size: 30px;
  }
}
@media only screen and (max-width: 640px) {
  .mainvisual_copy_s {
    border: solid 2px #231815;
    font-size: 5vw;
  }
}
.mainvisual_flowing {
  margin-top: -4em;
  display: flex;
  overflow: hidden;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .mainvisual_flowing {
    margin-top: -1.5em;
  }
}
.mainvisual_flowing-txt {
  color: #4C453A;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-size: 7.0833333333vw;
  font-weight: 300;
  line-height: 1;
  white-space: nowrap;
  padding-right: 0.5em;
  animation: marquee 30s linear infinite;
}
@media only screen and (max-width: 640px) {
  .mainvisual_flowing-txt {
    font-size: 12.8125vw;
  }
}

@keyframes marquee {
  0% {
    transform: translateX 0%;
  }
  100% {
    transform: translateX(-100%);
  }
}
.introduction {
  background: url(../img/index/bg_nature01.svg) no-repeat left top 12rem;
  background-size: 37.1875%;
}
@media only screen and (max-width: 640px) {
  .introduction {
    background: url(../img/index/bg_nature01.svg) no-repeat left top 43.75vw;
    background-size: 50vw;
  }
}
.introduction_container {
  margin-bottom: 8rem;
  font-size: 2rem;
  font-weight: 700;
  position: relative;
}
@media only screen and (max-width: 640px) {
  .introduction_container {
    margin-bottom: 28.125vw;
    font-size: 3.4375vw;
  }
}
.introduction .-deco01 {
  width: 14rem;
  right: 0;
  bottom: 0;
}
@media only screen and (max-width: 640px) {
  .introduction .-deco01 {
    width: 21.875vw;
    bottom: -20.3125vw;
  }
}
.introduction .content {
  margin-bottom: 0;
}
@media only screen and (max-width: 640px) {
  .introduction .content {
    margin-top: 9.375vw;
    margin-bottom: 6.25vw;
  }
}

.news .index_title {
  position: relative;
  z-index: 2;
}
.news .index_title span {
  padding: 0 2rem;
  display: inline-block;
}
.news .index_title .jp {
  background: #fff;
}
.news_wrapper {
  position: relative;
  z-index: 1;
}
.news_wrapper .-deco01 {
  width: 11.6rem;
  left: -3rem;
  bottom: -7rem;
}
@media only screen and (max-width: 640px) {
  .news_wrapper .-deco01 {
    width: 18.125vw;
  }
}
.news_wrapper .-deco02 {
  width: 32rem;
  top: -6rem;
  right: -13rem;
  z-index: -10;
}
@media only screen and (max-width: 640px) {
  .news_wrapper .-deco02 {
    width: 43.75vw;
    top: -4.6875vw;
    right: -18.75vw;
  }
}
.news_container {
  margin: -8.6rem auto 0;
  padding: 6rem 9.5rem;
  border: solid 2px #4C453A;
  border-radius: 2.4rem;
  background: #fff;
  display: flex;
  gap: 6rem;
  align-items: flex-start;
}
@media only screen and (max-width: 640px) {
  .news_container {
    margin: -16.5625vw auto 0;
    padding: 9.375vw 7.8125vw 7.8125vw;
    flex-direction: column;
    gap: 6.25vw;
  }
}
.news_image {
  width: 32rem;
  border: solid 2px #4C453A;
  border-radius: 2rem;
  overflow: hidden;
}
@media only screen and (max-width: 640px) {
  .news_image {
    width: 100%;
  }
}
.news_list {
  width: calc(100% - 38rem);
  display: flex;
  flex-direction: column;
  gap: 2rem;
}
@media only screen and (max-width: 640px) {
  .news_list {
    width: 100%;
  }
}
.news_meta {
  display: flex;
  align-items: center;
  font-family: "Jost", sans-serif;
  font-optical-sizing: auto;
  font-weight: 300;
  font-style: normal;
  font-weight: 500;
}
.news_date {
  margin-right: 0.5em;
  font-size: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .news_date {
    font-size: 3.125vw;
  }
}
.news_category {
  padding: 0 0.5em;
  font-size: 1.4rem;
  background: rgba(0, 0, 0, 0.05);
}
@media only screen and (max-width: 640px) {
  .news_category {
    font-size: 3.125vw;
  }
}
.news_category.-news {
  background: rgba(251, 202, 205, 0.5);
}
.news_category.-event {
  background: rgb(237, 242, 197);
}
.news_title {
  font-size: 1.6rem;
  font-weight: 700;
  line-height: 1.3;
}
@media only screen and (max-width: 640px) {
  .news_title {
    font-size: 3.125vw;
  }
}

.image_carousel {
  margin-bottom: 16rem;
  padding-top: 11.4583333333%;
  background: url(../img/index/bg_nature02.svg) no-repeat right top;
  background-size: 51.875%;
}
@media only screen and (max-width: 640px) {
  .image_carousel {
    margin-bottom: 18.75vw;
    background-size: 62.5vw;
  }
}
.image_carousel_item {
  padding: 1.6rem;
}
@media only screen and (max-width: 640px) {
  .image_carousel_item {
    padding: 2.5vw;
  }
}

.about .content {
  margin-bottom: 16rem;
}
@media only screen and (max-width: 640px) {
  .about .content {
    margin-bottom: 21.875vw;
  }
}
.about_container {
  display: flex;
  position: relative;
  align-items: flex-start;
}
@media only screen and (max-width: 640px) {
  .about_container {
    flex-direction: column;
  }
}
.about_container .-deco03 {
  width: 28rem;
  top: -13rem;
  left: -13rem;
  z-index: 0;
}
@media only screen and (max-width: 640px) {
  .about_container .-deco03 {
    width: 37.5vw;
    top: -15.625vw;
    left: -15.625vw;
  }
}
.about_text {
  margin-right: -36.0759493671%;
  padding: 3.7974683544% 39.5569620253% 3.7974683544% 5.3797468354%;
  border: solid 2px #231815;
  border-radius: 2.4rem;
  width: 78.164556962%;
  background: #799B5D;
  color: #fff;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 1390px) {
  .about_text {
    margin-right: -33.5443037975%;
    padding: 2.5316455696% 35.7594936709% 2.5316455696% 4.746835443%;
    width: 78.164556962%;
  }
}
@media only screen and (max-width: 640px) {
  .about_text {
    margin-right: 0;
    margin-bottom: -6.25vw;
    padding: 6.25vw 6.25vw 12.5vw;
    width: 95%;
  }
}
.about_text .index_title {
  margin-bottom: 4rem;
}
.about_text .-deco01 {
  width: 16rem;
  top: -8rem;
  left: 35.4430379747%;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .about_text .-deco01 {
    width: 25vw;
    top: -12.5vw;
    left: auto;
    right: 0;
  }
}
.about_text .-deco02 {
  width: 16rem;
  bottom: -5.6rem;
  right: -6.5rem;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .about_text .-deco02 {
    top: -9.375vw;
    bottom: auto;
    right: auto;
    left: 0;
    width: 25vw;
    z-index: 3;
  }
}
.about_image {
  margin-top: -3.7974683544%;
  margin-bottom: 4.5569620253%;
  width: 54.1139240506%;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 1390px) {
  .about_image {
    width: 50.9493670886%;
  }
}
@media only screen and (max-width: 640px) {
  .about_image {
    margin: 0 0 0 auto;
    width: 95%;
  }
}

.instagram_frame {
  padding: 2.4rem 4.8rem 4.8rem;
  border: solid 2px #231815;
  border-radius: 2.4rem;
  background: #fff;
  position: relative;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .instagram_frame {
    padding: 3.75vw 7.5vw 7.5vw;
    border-radius: 3.75vw;
  }
}
.instagram_logo {
  margin: 0 auto;
  width: 7.8rem;
}
@media only screen and (max-width: 640px) {
  .instagram_logo {
    width: 12.1875vw;
  }
}
.instagram_feed {
  aspect-ratio: 5/2;
}
@media only screen and (max-width: 640px) {
  .instagram_feed {
    aspect-ratio: 2/3;
  }
}
.instagram .-deco01 {
  width: 17.4rem;
  top: -6rem;
  left: -9.5rem;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .instagram .-deco01 {
    width: 24.0625vw;
    top: -12.5vw;
    left: -10.15625vw;
  }
}
.instagram .-deco02 {
  width: 16rem;
  bottom: -3.6rem;
  right: -6.5rem;
  z-index: 1;
}
@media only screen and (max-width: 640px) {
  .instagram .-deco02 {
    width: 21.875vw;
    bottom: -3.6rem;
    right: -3.5rem;
  }
}
.instagram .-deco03 {
  width: 28rem;
  top: -10.8rem;
  right: -13rem;
  z-index: 0;
}
@media only screen and (max-width: 640px) {
  .instagram .-deco03 {
    width: 43.75vw;
  }
}/*# sourceMappingURL=index.css.map */