@import url("//fonts.googleapis.com/earlyaccess/notosansjp.css");
@import url("https://fonts.googleapis.com/css2?family=Lato:ital,wght@0,100;0,300;0,400;0,700;0,900;1,100;1,300;1,400;1,700;1,900&display=swap");
/* ---------- setting ---------- ---------- */
:root {
  --body-bg:#DAECD7;
  --main-color:#188B03;
  --menu-bg:#BBDCB4;
  --grad: linear-gradient(90deg, #018734 0%, #64B02D 50%, #018734 100%);
}

/* ----------------------------------------------------------
.slick-slider
---------------------------------------------------------- */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  user-select: none;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}
.slick-slider li {
  list-style: none;
}
.slick-slider .slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}
.slick-slider .slick-list:focus {
  outline: none;
}
.slick-slider .slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}
.slick-slider .slick-track,
.slick-slider .slick-list {
  transform: translate3d(0, 0, 0);
}
.slick-slider .slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
}
.slick-slider .slick-track:before, .slick-slider .slick-track:after {
  content: "";
  display: table;
}
.slick-slider .slick-track:after {
  clear: both;
}
.slick-loading .slick-slider .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}
[dir=rtl] .slick-slide {
  float: right;
}
.slick-slide img {
  display: block;
}
.slick-slide.slick-loading img {
  display: none;
}
.slick-slide.dragging img {
  pointer-events: none;
}
.slick-initialized .slick-slide {
  display: block;
}
.slick-loading .slick-slide {
  visibility: hidden;
}
.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-arrow.slick-hidden {
  display: none;
}

.mod-anim {
  opacity: 0;
  transition-delay: 0.2s;
  transition-duration: 0.7s;
  transition-property: opacity, transform;
}
.mod-anim.is-fade.js-active {
  opacity: 1;
}
.mod-anim.is-top {
  transform: translate(0, -100px);
}
.mod-anim.is-top.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-bottom {
  transform: translate(0, 100px);
}
.mod-anim.is-bottom.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-right {
  transform: translate(100px, 0);
}
.mod-anim.is-right.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-left {
  transform: translate(-100px, 0);
}
.mod-anim.is-left.js-active {
  opacity: 1;
  transform: translate(0, 0);
}
.mod-anim.is-zoom {
  transform: scale(0, 0);
}
.mod-anim.is-zoom.js-active {
  opacity: 1;
  transform: scale(1, 1);
}
.mod-anim.is-zoom2 {
  transform: scale(0, 0);
  transition-timing-function: cubic-bezier(0, 0.75, 0.6, 1.4);
}
.mod-anim.is-zoom2.js-active {
  opacity: 1;
  transform: scale(1, 1);
}
.mod-anim.is-zoom3 {
  transform: scale(0, 0);
  transition-timing-function: cubic-bezier(0.8, 0, 0, 0.4);
}
.mod-anim.is-zoom3.js-active {
  opacity: 1;
  transform: scale(1, 1);
}
.mod-anim.is-blur {
  filter: blur(15px);
  transition-property: opacity, transform, filter;
  backface-visibility: hidden;
}
.mod-anim.is-blur.js-active {
  opacity: 1;
  filter: blur(0);
}
.mod-anim.is-text {
  overflow: hidden;
  opacity: 1;
  display: inline-block;
}
.mod-anim.is-text .mod-anim__inner {
  display: block;
  position: relative;
  height: 100%;
  transition-property: transform;
  transition-duration: 0.5s;
  transform: translate(-100%, 0);
}
.mod-anim.is-text .mod-anim__inner:after {
  content: "";
  display: block;
  position: absolute;
  top: 0px;
  left: 0px;
  width: 100%;
  bottom: 0px;
  background: #888;
  transition-property: transform;
  transition-delay: 0.7s;
  transition-duration: 0.5s;
  transform: translate(0, 0);
}
.mod-anim.is-text.is-delay-02.js-active .mod-anim__inner {
  transition-delay: 0.2s;
}
.mod-anim.is-text.is-delay-04.js-active .mod-anim__inner {
  transition-delay: 0.4s;
}
.mod-anim.is-text.is-delay-06.js-active .mod-anim__inner {
  transition-delay: 0.6s;
}
.mod-anim.is-text.js-active .mod-anim__inner {
  transform: translate(0, 0);
}
.mod-anim.is-text.js-active .mod-anim__inner:after {
  transform: translate(100%, 0);
}

.mod-anim.is-delay-00 {
  transition-delay: 0s;
}
.mod-anim.is-delay-01 {
  transition-delay: 0.1s;
}
.mod-anim.is-delay-02 {
  transition-delay: 0.2s;
}
.mod-anim.is-delay-03 {
  transition-delay: 0.3s;
}
.mod-anim.is-delay-04 {
  transition-delay: 0.4s;
}
.mod-anim.is-delay-05 {
  transition-delay: 0.5s;
}
.mod-anim.is-delay-06 {
  transition-delay: 0.6s;
}
.mod-anim.is-delay-07 {
  transition-delay: 0.7s;
}
.mod-anim.is-delay-08 {
  transition-delay: 0.8s;
}
.mod-anim.is-delay-09 {
  transition-delay: 0.9s;
}
.mod-anim.is-delay-10 {
  transition-delay: 1s;
}
.mod-anim.is-delay-11 {
  transition-delay: 1.1s;
}
.mod-anim.is-delay-12 {
  transition-delay: 1.2s;
}
.mod-anim.is-delay-13 {
  transition-delay: 1.3s;
}
.mod-anim.is-delay-14 {
  transition-delay: 1.4s;
}
.mod-anim.is-delay-15 {
  transition-delay: 1.5s;
}
.mod-anim.is-delay-16 {
  transition-delay: 1.6s;
}
.mod-anim.is-delay-17 {
  transition-delay: 1.7s;
}
.mod-anim.is-delay-18 {
  transition-delay: 1.8s;
}
.mod-anim.is-delay-19 {
  transition-delay: 1.9s;
}
.mod-anim.is-delay-20 {
  transition-delay: 2s;
}

/* ----------------------------------------------------------
loop
---------------------------------------------------------- */
.mod-anim.is-fadeloop.js-active {
  animation: infinite_loop_opacity 1s ease-in-out 0s infinite alternate;
}
.mod-anim.is-vertical-loop.js-active {
  opacity: 1;
  animation: infinite_loop_bounce 1s ease-in-out 0s infinite alternate;
}
.mod-anim.is-rotate {
  display: block;
  opacity: 1;
  animation: infinite_loop_rotate 1s linear 0s infinite;
}

/* ----------------------------------------------------------
@keyframes
---------------------------------------------------------- */
@keyframes infinite_loop_opacity {
  0% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes infinite_loop_bounce {
  0% {
    transform: translate3d(0, 0, -5px);
  }
  100% {
    transform: translate3d(0, 5px, 0);
  }
}
@keyframes infinite_loop_rotate {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(359deg);
  }
}