@charset "utf-8";
/*-----------------------------------------------------

  top.css
  TOPpage CSS

------------------------------------------------------*/


/*-----------------------------------------------------
  header　
-----------------------------------------------------*/

#main_visual {
  width: 100%;
  padding-top: 115px !important;
}

@media screen and (min-width: 768px) {

  .swiper-wrapper {
    width: 1200px;
    margin: 0 auto;
    padding-top: 20px;
    overflow: hidden;
  }

  .swiper-slide {
    float: left;
    border: solid 3px #b3b3b3;
    margin-right: 10px;
    margin-bottom: 10px;
  }

  .swiper-slide:nth-child(3) {
    margin-right: 0;
  }

  .swiper-slide:nth-child(5) {
    margin-right: 0;
  }

  .swiper-slide img {
    width: 289px;
    height: 149px;
  }

  #width_half.swiper-slide img {
    width: 578px;
    height: 316px;
  }

  .swiper-slide a:hover img {
    opacity: 0.8;
  }


}



/*-----------------------------------------------------
  contents　
-----------------------------------------------------*/

#contents {
  margin-top: 30px;
}

#sect_01 {

}

main #sect_01 .sect_box h2 {
  margin-bottom: 45px;
  font-size: 3em;
}

#sect_01 .btn_more {
  width: 346px;
  margin: 20px auto;
  font-size: 0.9em;
}

#sect_02 .entry_list dt {
  min-height: 120px;
}



#sect_04 h2 {
  margin-bottom: 20px;
}

#sect_04 .entry_list h4 {
  min-height: 120px;
}

#sect_05 h2, #sect_06 h2 {
  margin-bottom: 20px;
}

#sect_05 .entry_list h4 {
  min-height: 120px;
}

section .service_list h4 {
  font-family: 'Noto Sans JP', sans-serif;
  font-display: swap;
  font-weight: 700;
  font-size: 2.4em;
  text-align: center;
}

/*-----------------------------------------------------

  SP layout

------------------------------------------------------*/


@media screen and (max-width: 767px) {



/*-----------------------------------------------------
  SP header
------------------------------------------------------*/


.swiper-container {
  padding-bottom: 25px;
}

.swiper-pagination-bullet {
  background: #999;

}

.swiper-container-horizontal > .swiper-pagination-bullets {
  bottom: 0px;
}

#width_half.swiper-slide {
  aspect-ratio: 578/298;
}

#width_half.swiper-slide img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

#main_visual {
  padding-top: 0 !important;
  min-height: 200px;
}

/*-----------------------------------------------------
  SP contents
------------------------------------------------------*/

#contents {
  margin-top: 30px;
}

#contents.bg_geometry {
  background-size: 300px auto;
}

main #sect_01 .sect_box h2 {
  font-size: 1.8rem;
  margin-bottom: 0;
}

.bg_green_diagonal::after {
  height: 100%;
}

#sect_01 .btn_more {
  width: 80%;
}

main .sect_box h2 {
  font-size: 2.4rem;
}

#sect_02 .entry_list dt {
  min-height: auto;
}


#sect_04 .entry_list h4 {
  min-height: auto;
}

#sect_05 .entry_list h4 {
  min-height: auto;
}

@media screen and (max-width: 320px) {

}
