@charset "UTF-8";
/* **************************************


     追加


***************************************/
/* @function vw($size) {
  @return ($size / 1366px) * 100vw;
} */
/*最小値:$value+0.2 → 可変（$value + 0.625vw（画面幅320px:2px, 800px:5px, 1200px:7.5px,2560px:12px））→ 最大値:$value + 1.2*/
/* =============================================================================


     index


============================================================================= */
.line-svg {
  display: block;
  height: auto;
  width: 100%;
}

.line-wrap02 svg {
  left: -25vw;
  position: absolute;
  top: 0;
  width: 150vw;
}

.draw {
  fill: none;
  stroke: #fff;
  stroke-width: 50;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.draw2 {
  fill: none;
  stroke: #fff;
  stroke-width: 60;
  stroke-linecap: round;
  stroke-linejoin: round;
}

.draw-line {
  stroke-dasharray: 2800;
  stroke-dashoffset: 2800;
  -webkit-animation: draw02 1s ease forwards;
          animation: draw02 1s ease forwards;
}

@-webkit-keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}

@keyframes drawLine {
  to {
    stroke-dashoffset: 0;
  }
}
@-webkit-keyframes draw02 {
  to {
    stroke-dashoffset: 0;
  }
}
@keyframes draw02 {
  to {
    stroke-dashoffset: 0;
  }
}
.mv-ttl {
  font-size: clamp(2rem, 4vw, 4vw);
  font-weight: bold;
}

.mv-txt {
  font-size: clamp(1.5rem, 1.6vw, 5vw);
  margin-top: 0.8rem;
}

/* =============================================================================


    mv


============================================================================= */
.line {
  height: 100%;
  overflow-x: hidden;
  position: relative;
  position: absolute;
  top: 0px;
  width: 100vw;
}

main {
  margin-top: 0;
  overflow: hidden;
}

.mv {
  padding-bottom: 34vw;
  padding-top: clamp(20px, 10vw, 20vw);
}

.section-txt {
  font-size: clamp(1.4rem, 1.2vw, 2rem);
  line-height: 1.5;
  margin-top: 1em;
}

/* =============================================================================


    about


============================================================================= */
.about {
  padding-bottom: clamp(120px, 10vw, 10000px);
  position: relative;
}

.about-btnbox {
  margin-left: 0;
  margin-right: auto;
  text-align: left;
}

.about-deco {
  position: absolute;
}
.about-deco img {
  width: 100%;
}

.about-deco01 {
  height: auto;
  left: clamp(50px, 18vw, 420px);
  top: clamp(-220px, -10vw, -20px);
  width: clamp(100px, 20vw, 420px);
  z-index: -1;
}

.about-deco02 {
  right: 3%;
  top: 5vw;
  width: clamp(100px, 19vw, 420px);
}

.about-deco03 {
  bottom: 0;
  left: clamp(-200px, -10vw, -10px);
  width: clamp(100px, 18vw, 420px);
}

.about-deco04 {
  bottom: clamp(-150px, -8vw, 200px);
  left: 55%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(100px, 14vw, 380px);
}

/* =============================================================================


    service


============================================================================= */
.service {
  color: #fff;
  padding: 140px 0 140px 5%;
  position: relative;
  z-index: 1;
}
.service:before {
  background: #229943;
  content: "";
  height: 100%;
  position: absolute;
  right: 0;
  top: 0;
  width: 88%;
  z-index: -1;
}

.service-list {
  gap: 48px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 1fr 1fr;
  margin-top: 60px;
}

.service-item {
  border: 2px solid #fff;
  border-radius: 10px;
  overflow: hidden;
}

.service-item-link {
  aspect-ratio: 3/2;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  height: 100%;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  overflow: hidden;
  position: relative;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
.service-item-link:hover .service-item-img {
  -webkit-transform: scale(1.2);
          transform: scale(1.2);
}

.service-item-img {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  -webkit-transition: 0.2s;
  transition: 0.2s;
  width: 100%;
}
.service-item-img:before {
  background: #1919194d;
  content: "";
  height: 100%;
  left: 50%;
  position: absolute;
  top: 50%;
  -webkit-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 100%;
}
.service-item-img img {
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  -o-object-position: center;
     object-position: center;
  width: 100%;
}

.service-item-ttl {
  font-size: clamp(1.6rem, 2vw, 5rem);
  font-weight: bold;
  text-align: center;
  z-index: 1;
}

/* =============================================================================


    news


============================================================================= */
.news {
  padding: 220px 0;
  position: relative;
}

.news-deco {
  position: absolute;
}
.news-deco img {
  width: 100%;
}

.news-deco01 {
  bottom: 20px;
  height: auto;
  left: 0;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(100px, 20vw, 500px);
}

.news-deco02 {
  bottom: clamp(-250px, 0vw, -50px);
  right: 15vw;
  width: clamp(100px, 14vw, 300px);
}

.news-deco03 {
  height: auto;
  right: 0;
  top: 60px;
  -webkit-transform: translateX(50%);
          transform: translateX(50%);
  width: clamp(100px, 16vw, 380px);
}

.news-deco04 {
  height: auto;
  left: 0%;
  position: absolute;
  top: -180px;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  width: clamp(300px, 28vw, 500px);
  z-index: -1;
}

.news-btnbox {
  grid-area: btn;
}

.news-listbox {
  grid-area: item;
}

.news-cotnents {
  gap: 20px 100px;
  display: grid;
  grid-template-areas: "ttl item" "btn item";
  grid-template-columns: auto 1fr;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.news-list {
  border-top: 1px solid #bbbbbb;
}

.news-item {
  border-bottom: 1px solid #bbbbbb;
}

.news-item-link {
  gap: 15px;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  padding: 30px 0;
}
.news-item-link:hover{
	opacity:0.7;
}

.news-item-date {
  font-family: "Poppins", sans-serif;
  font-size: clamp(1.2rem, 1vw, 1.8rem);
  font-weight: bold;
  margin-top: 0.15em;
  min-width: 7em;
}

.news-item-cat {
  border: 1px solid #00791d;
  border-radius: 5px;
  color: #00791d;
  font-size: clamp(1.2rem, 1vw, 1.8rem);
  font-weight: bold;
  text-align: center;
  width: 5em;
}

a.news-item-cat {
  display: inline-block;
  -webkit-transition: 0.2s;
  transition: 0.2s;
}
a.news-item-cat:hover, a.news-item-cat.is-current {
  background: #00791d;
  color: #fff;
}

.news-item-ttl {
  font-size: clamp(1.4rem, 1.2vw, 2rem);
  font-weight: bold;
}

.line-deco01 {
  position: absolute;
  right: 30.5%;
  top: 24.1vw;
  width: 11.38vw;
  z-index: -1;
}
.line-deco01 img {
  width: 100%;
}

.line-deco02 {
  position: absolute;
  right: 60%;
  top: 31.5vw;
  width: 10.7183vw;
  z-index: -1;
}
.line-deco02 img {
  width: 100%;
}

.news-categorys {
  gap: 1em;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  margin-bottom: 30px;
}

.news-list {
  display: none;
}

.news-list.active {
  display: block;
}

@media (max-width: 767px){
  .line-wrap02 svg {
    top: clamp(calc(120px - 10vw), calc(120px - 10vw), 300px);
  }
  .mv {
    padding-top: clamp(70px, 19vw, 20vw);
  }
  .service {
    padding: 60px 0 60px 0;
  }
  .service:before {
    width: 100%;
  }
  .service-list {
    gap: 10px;
    margin-top: 30px;
  }
  .news {
    padding: 100px 0 100px;
  }
  .news-cotnents {
    display: block;
  }
  .news-list {
    margin-top: 40px;
  }
  .news-item-link {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
  }
  .news-item-ttl {
    width: 100%;
  }
}

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