@charset "UTF-8";
/* CSS Document */
/*---------------------------------

  section名

---------------------------------*/
#mainvisual {
  position: relative;
}
#mainvisual .copy {
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  text-align: center;
  width: fit-content;
  height: fit-content;
  z-index: 2;
}
#mainvisual .copy p {
  font-size: 6.5rem;
  font-weight: 800;
  letter-spacing: 0.2em;
  text-shadow:
    2px 2px 1px #ffffff, -2px 2px 1px #ffffff, 2px -2px 1px #ffffff, -2px -2px 1px #ffffff, 2px 0px 1px #ffffff, 0px 2px 1px #ffffff, -2px 0px 1px #ffffff, 0px -2px 1px #ffffff;
}
#mainvisual .copy p span {
  color: #009245;
}
#mainvisual .slider {}
#mainvisual .slider img {
  width: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 1024px) {
  #mainvisual .copy p {
    font-size: 5.5rem;
  }
  #mainvisual .slider {
    height: 40rem;
  }
  #mainvisual .slider * {
    height: 100%;
  }
  #mainvisual .slider img {
    object-fit: cover;
    object-position: top 0 left -18rem;
  }
}
@media screen and (max-width: 896px) {}
@media screen and (max-width: 480px) {
  #mainvisual .copy p {
    font-size: 3.5rem;
  }
}
/*---------------------------------

  section名

---------------------------------*/
.newsBlock {
  background: #e2ebbe;
}
.newsBlock .l-inner {
  transform: translateY(-8rem);
}
.newsBlock .boxWrap {
  background: #fff;
  display: flex;
}
.newsBlock .boxWrap ._ttl {
  background: #207E42;
  background: linear-gradient(45deg, rgba(32, 126, 66, 1) 0%, rgba(196, 214, 112, 1) 100%);
  flex-basis: 27rem;
  display: flex;
  justify-content: center;
  align-items: center;
  padding: 1rem;
}
.newsBlock .boxWrap ._ttl h2 {
  font-size: 1.5em;
  letter-spacing: .15em;
}
.newsBlock .boxWrap ._ttl h2 a {
  color: #fff;
  display: block;
  padding: 1rem 2rem;
  position: relative;
}
.newsBlock .boxWrap ._ttl h2 a span {
  background: url("../images/i_list_more.svg") no-repeat center left/.9em;
  display: block;
  padding-left: 1.5em;
}
.newsBlock .boxWrap ._ttl h2 a:hover::before, .newsBlock .boxWrap ._ttl h2 a:hover::after {
  width: 100%;
}
.newsBlock .boxWrap ._ttl h2 a:hover span::before, .newsBlock .boxWrap ._ttl h2 a:hover span::after {
  height: 100%;
}
.newsBlock .boxWrap ._ttl h2 a::before, .newsBlock .boxWrap ._ttl h2 a::after, .newsBlock .boxWrap ._ttl h2 a span::before, .newsBlock .boxWrap ._ttl h2 a span::after {
  background-color: #fff;
  content: "";
  display: block;
  position: absolute;
  z-index: 10;
  transition: all 0.3s ease 0s;
  -webkit-transition: all 0.3s ease 0s;
  height: 1px;
  width: 1px;
}
.newsBlock .boxWrap ._ttl h2 a::before {
  bottom: 0;
  right: 0;
  width: 0;
}
.newsBlock .boxWrap ._ttl h2 a::after {
  left: 0;
  top: 0;
  width: 0;
}
.newsBlock .boxWrap ._ttl h2 a span::before {
  height: 0;
  right: 0;
  top: 0;
}
.newsBlock .boxWrap ._ttl h2 a span::after {
  bottom: 0;
  height: 0;
  left: 0;
}
.newsBlock .boxWrap ._list {
  padding: 3rem 5rem;
}
.newsBlock .boxWrap ._list ul {
  list-style: none;
}
.newsBlock .boxWrap ._list ul li:not(:last-child) {
  border-bottom: 1px solid #ccc;
}
.newsBlock .boxWrap ._list ul li a {
  color: var(--base-c);
  display: flex;
  gap: 2em;
  padding: 3rem 0;
}
.newsBlock .boxWrap ._list ul li a time {
  color: #666;
  flex: 0 0 auto;
}
.newsBlock .boxWrap ._list ul li a p {
  font-weight: 500;
}
.newsBlock .boxWrap ._list ul li a:hover {
  color: var(--hover-c);
  transform: translateX(.5rem);
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  .newsBlock .l-inner {
    transform: translateY(-5rem);
  }
  .newsBlock .boxWrap ._list {
    padding: 1rem 3rem;
  }
  .newsBlock .boxWrap ._list ul li a {
    flex-direction: column;
    gap: .5em;
    padding: 2rem 0;
  }
}
@media screen and (max-width: 480px) {
  .newsBlock .l-inner {
    transform: translateY(-3rem);
  }
  .newsBlock .boxWrap {
    display: block;
  }
  .newsBlock .boxWrap ._list {
    padding: .5rem 5%;
  }
}
/*---------------------------------

  contentBlock

---------------------------------*/
.contentBlock {}
.contentBlock .wrap {
  display: flex;
  gap: .1rem;
}
.contentBlock .wrap .conBox {
  flex-basis: calc(100% / 3);
  height: 40rem;
}
.contentBlock .wrap .conBox a {
  background: rgba(0, 0, 0, 0.5);
  color: #fff;
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100%;
  padding: 5rem 5%;
  position: relative;
  overflow: hidden;
}
.contentBlock .wrap .conBox a::before {
  content: '';
  border: 1px solid #aaa;
  -webkit-backdrop-filter: blur(8px);
  backdrop-filter: blur(8px);
  margin: auto;
  position: absolute;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  width: calc(100% - 10rem);
  height: calc(100% - 10rem);
}
.contentBlock .wrap .conBox ._txt {
  line-height: 1;
  text-align: center;
  position: relative;
  z-index: 1;
}
.contentBlock .wrap .conBox ._txt h2 {
  font-size: 1.6em;
  letter-spacing: .1em;
  margin-bottom: 3rem;
}
.contentBlock .wrap .conBox ._txt .__btn {
  background: url("../images/arr_w.svg") no-repeat center right 2rem/1rem;
  border: 1px solid;
  border-radius: 5rem;
  display: block;
  margin: auto;
  padding: 1.5rem 3rem;
  width: fit-content;
  transition: all .3s;
}
.contentBlock .wrap .conBox ._txt .__btn span {
  display: block;
  font-size: .8em;
  letter-spacing: .15em;
  padding-right: 2rem;
}
.contentBlock .wrap .conBox ._bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -2;
}
.contentBlock .wrap .conBox ._bg img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transition: all .3s;
}
/*------ hover --*/
.contentBlock .wrap .conBox a:hover::before {
  backdrop-filter: blur(0);
}
.contentBlock .wrap .conBox a:hover ._txt .__btn {
  background-position: center right 1rem;
}
.contentBlock .wrap .conBox a:hover ._bg img {
  transform: scale(1.1);
}
/*------ comingsoon --*/
/*.contentBlock .wrap .conBox a[href="./purchase/"],
.contentBlock .wrap .conBox a[href="./recruit/"] {
  pointer-events: none;
}*/
@media screen and (max-width: 1024px) {
  .contentBlock .wrap .conBox {
    height: 30rem;
  }
  .contentBlock .wrap .conBox a {
    padding: 5rem 15%;
  }
  .contentBlock .wrap .conBox a::before {
    width: calc(100% - 6rem);
    height: calc(100% - 6rem);
  }
  .contentBlock .wrap .conBox ._txt h2 {
    font-size: 1.4em;
    line-height: 1.2;
  }
}
@media screen and (max-width: 896px) {
  .contentBlock .wrap {
    flex-wrap: wrap;
    gap: .1rem;
  }
  .contentBlock .wrap .conBox {
    flex-basis: calc(100% / 2 - .05rem);
    height: 30rem;
  }
  .contentBlock .wrap .conBox:nth-child(3) {
    flex-basis: 100%;
    height: 25rem;
  }
}
@media screen and (max-width: 480px) {
  .contentBlock .wrap {
    flex-direction: column;
    gap: .1rem;
  }
  .contentBlock .wrap .conBox {
    flex-basis: auto;
    height: 25rem;
  }
  .contentBlock .wrap .conBox:nth-child(3) {
    flex-basis: auto;
    height: 25rem;
  }
  .contentBlock .wrap .conBox a::before {
    -webkit-backdrop-filter: blur(4px);
    backdrop-filter: blur(4px);
    width: calc(100% - 4rem);
    height: calc(100% - 4rem);
  }
}
/*---------------------------------

  topics + googlemap

---------------------------------*/
.conSubBlock {}
.conSubBlock .wrap {
  display: flex;
}
@media screen and (max-width: 896px) {
  .conSubBlock .wrap {
    display: block;
  }
}
/*---------------------------------
  topicsBox
---------------------------------*/
.conSubBlock .topicsBox {
  background: #207E42;
  background: linear-gradient(45deg, rgba(32, 126, 66, 1) 0%, rgba(196, 214, 112, 1) 100%);
  flex-basis: 67%;
  padding: 5rem 5% 10rem;
  position: relative;
}
.conSubBlock .topicsBox::after {
  content: '';
  background: url("../images/topics_bg.png") no-repeat center bottom/120%;
  mix-blend-mode: color-burn;
  opacity: .1;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.conSubBlock .topicsBox h2 {
  color: #fff;
  font-size: 10vw;
  text-align: center;
  line-height: 1;
  letter-spacing: .16em;
  margin-bottom: 5rem;
  position: relative;
  z-index: 1;
}
.conSubBlock .topicsBox .slider {
  margin: auto;
  max-width: 80rem;
  position: relative;
  z-index: 2;
}
.conSubBlock .topicsBox .slider .splide__track {}
.conSubBlock .topicsBox .slider .splide__slide {
  padding: 0 5rem;
}
.conSubBlock .topicsBox .slider .splide__slide .item {
  background: #fff;
  border-radius: .5rem;
}
.conSubBlock .topicsBox .slider .splide__slide .item a {
  color: var(--base-c);
  display: flex;
  align-items: center;
  gap: 2rem;
  padding: 3rem;
}
.conSubBlock .topicsBox .slider .splide__slide .item a figure {
  aspect-ratio: 1;
  background: #ccc;
  flex: 0 0 15rem;
}
.conSubBlock .topicsBox .slider .splide__slide .item a figure img {
  object-fit: cover;
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
.conSubBlock .topicsBox .slider .splide__slide .item a ._txtBox {}
.conSubBlock .topicsBox .slider .splide__slide .item a ._txtBox p.__ttl {
  font-size: 1.2em;
  font-weight: 700;
  margin-bottom: .7rem;
}
.conSubBlock .topicsBox .slider .splide__slide .item a ._txtBox p.__txt {
  color: #888;
}
.conSubBlock .topicsBox .slider .splide__slide .item a:hover {
  color: var(--hover-c);
}
.conSubBlock .topicsBox .slider .splide__arrows {}
.conSubBlock .topicsBox .slider .splide__arrow {
  background: none;
  background-color: #fff;
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
  border: none;
  border-radius: 50%;
  cursor: pointer;
  margin: auto;
  position: absolute;
  top: 0;
  bottom: 0;
  width: 4rem;
  height: 4rem;
}
.conSubBlock .topicsBox .slider .splide__arrow.splide__arrow--prev {
  background-image: url("../images/arr_s_prev.svg");
  left: 0;
}
.conSubBlock .topicsBox .slider .splide__arrow.splide__arrow--next {
  background-image: url("../images/arr_s_next.svg");
  right: 0;
}
.conSubBlock .topicsBox .slider .splide__arrow svg {
  display: none;
}
.conSubBlock .topicsBox .splide__pagination {
  gap: .5rem;
  margin-top: 2rem;
}
.conSubBlock .topicsBox .splide__pagination li {}
.conSubBlock .topicsBox .splide__pagination li .splide__pagination__page {
  background: #fff;
  border: none;
  cursor: pointer;
  padding: 0;
  margin: 0;
  width: 1rem;
  height: 1rem;
}
.conSubBlock .topicsBox .splide__pagination li .splide__pagination__page.is-active {
  background: #FFD65E;
}
@media screen and (max-width: 1024px) {
  .conSubBlock .topicsBox .slider {
    max-width: 56rem;
  }
}
@media screen and (max-width: 896px) {}
@media screen and (max-width: 480px) {
  .conSubBlock .topicsBox {
    padding: 3rem 5% 3rem;
  }
  .conSubBlock .topicsBox h2 {
    font-size: 12vw;
    margin-bottom: 2rem;
  }
  .conSubBlock .topicsBox .slider .splide__slide .item a {
    flex-direction: column;
    gap: 1rem;
    padding: 2rem;
  }
  .conSubBlock .topicsBox .slider .splide__slide .item a figure {
    aspect-ratio: 4/3;
    flex: 0 0 10rem;
  }
}
/*---------------------------------
  gMapBox
---------------------------------*/
.conSubBlock .gMapBox {
  flex-basis: 33%;
}
.conSubBlock .gMapBox iframe {
  width: 100%;
  height: 100%;
  vertical-align: bottom;
}
@media screen and (max-width: 1024px) {}
@media screen and (max-width: 896px) {
  .conSubBlock .gMapBox {
    height: 40rem;
  }
}
@media screen and (max-width: 480px) {}