@charset "UTF-8";

/*  ------------------*/
#news {
  position: relative;
  background-color: #fff;
}

#news > .inner {
  padding-top: 40px;
  padding-bottom: 40px;
}

#news > .inner > .news-area {
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
  /* border-bottom: 1px solid #dbdbdb; */
}

#news > .inner > .news-area > .ttl {
  font-size: 110%;
  font-weight: 600;
  margin-right: 60px;
}

.news_wrap {
      width: 80%;
  max-height: 6.7em; /* 約行分の高さ */
  overflow-y: auto;
  padding-right: 6px;

}
.news-area .news-blc {
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
        border-bottom: 1px solid #dbdbdb;
padding: 0.5rem 0 0.5rem 1rem;

}

.news-area .news-blc > .date {
  display: inline-block;
  width: 160px;
  font-size: 90%;
  margin-right: 20px;
}

.news-area .news-blc > .news {
  display: inline-block;
  width: calc(100% - (160px + 20px));
}

@media screen and (max-width: 1200px) {
  #news > .inner {
    padding-top: 20px;
    padding-bottom: 20px;
  }
}

@media screen and (max-width: 767px) {
  #news > .inner > .news-area > .ttl {
    width: 100%;
    margin-right: 0;
    margin-bottom: 10px;
  }
  .news-area .news-blc > .date {
    width: 100px;
    margin-right: 10px;
  }
  .news-area .news-blc > .news {
    width: calc(100% - (100px + 10px));
  }
  .news_wrap {
      width: 99%;
  max-height: 6em; /* 約2行分の高さ */
    }
}

@media screen and (max-width: 480px) {
  .news-area .news-blc > .date {
    width: 100%;
    margin-right: 0;
  }
  .news-area .news-blc > .news {
    width: 100%;
  }
}

#those {
  position: relative;
}

#those > .inner > .those-list {
  padding-top: 80px;
  padding-bottom: 80px;
}

#those > .inner > .those-list > .list {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#those > .inner > .those-list > .list > li {
  position: relative;
  width: calc((100% / 3) - 15px);
  margin-bottom: 10px;
}

#those > .inner > .those-list > .list > li:nth-last-child(-n+5) {
  margin-bottom: 0;
}

#those > .inner > .those-list > .list > .spam {
  height: 0;
  margin-bottom: 0;
}

#those > .inner > .banner-area {
  position: relative;
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
  border: 2px solid #239823;
  background-color: #fff;
  margin-bottom: 80px;
}

#those > .inner > .banner-area > .txt-blc,
#those > .inner > .banner-area > .img-blc {
  width: 40%;
  padding-left: 20px;
  padding-right: 20px;
  box-sizing: border-box;
}

#those > .inner > .banner-area > .txt-blc {
  display: flex;
  justify-content: center;
  align-items: center;
  padding-top: 60px;
  padding-bottom: 60px;
}

#those > .inner > .banner-area > .txt-blc > .inner {
  max-width: 310px;
}

#those > .inner > .banner-area > .txt-blc > .inner > .sub {
  display: block;
  text-align: center;
  width: 100%;
  font-size: 120%;
  color: #fff;
  background-color: #239823;
}

#those > .inner > .banner-area > .txt-blc > .inner > .ttl {
  text-align: center;
  font-size: 240%;
  color: #239823;
  font-weight: 800;
}

#those > .inner > .banner-area > .txt-blc > .inner > .txt {
  line-height: 1.5;
  font-size: 120%;
}

#those > .inner > .banner-area > .img-blc {
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

#those > .inner > .banner-area::before,
#those > .inner > .banner-area::after {
  position: absolute;
  left: 0;
  right: 0;
  content: '';
  display: block;
  width: calc(20% - 10px);
  height: calc(50% - 4px);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin: auto;
}

#those > .inner > .banner-area::before {
  top: 0;
  background-image: url(../img/top/banner1_img.jpg);
}

#those > .inner > .banner-area::after {
  bottom: 0;
  background-image: url(../img/top/banner2_img.jpg);
}

@media screen and (max-width: 1000px) {
  #those > .inner > .those-list {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #those > .inner > .banner-area {
    margin-bottom: 60px;
  }
  #those > .inner > .banner-area > .txt-blc,
  #those > .inner > .banner-area > .img-blc {
    width: calc(50% - ((160px / 2) + 4px));
  }
  #those > .inner > .banner-area::before,
  #those > .inner > .banner-area::after {
    width: calc(160px - 4px);
  }
  #those > .inner > .banner-area > .txt-blc {
    padding: 40px 2vw;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .sub {
    font-size: 1.8vw;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .ttl {
    font-size: 3.8vw;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .txt {
    font-size: 1.6vw;
  }
}

@media screen and (max-width: 767px) {
  #those > .inner > .those-list {
    padding-top: 40px;
    padding-bottom: 40px;
  }
  #those > .inner > .banner-area {
    margin-bottom: 40px;
  }
  #those > .inner > .banner-area > .txt-blc,
  #those > .inner > .banner-area > .img-blc {
    width: calc(50% - 4px);
  }
  #those > .inner > .banner-area::before,
  #those > .inner > .banner-area::after {
    display: none;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .sub {
    font-size: 2.2vw;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .txt {
    font-size: 2.2vw;
  }
}

@media screen and (max-width: 640px) {
  #those > .inner > .banner-area {
    max-width: 400px;
    margin: 0 auto 40px;
  }
  #those > .inner > .banner-area > .txt-blc,
  #those > .inner > .banner-area > .img-blc {
    width: 100%;
  }
  #those > .inner > .banner-area > .img-blc {
    padding-bottom: 210px;
    order: 1;
  }
  #those > .inner > .banner-area > .txt-blc {
    position: relative;
    padding-top: 0;
    transform: translateY(-20px);
    padding: 0 40px 0;
    order: 2;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .sub {
    font-size: 120%;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .ttl {
    font-size: 220%;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .txt {
    font-size: 120%;
  }
}

@media screen and (max-width: 400px) {
  #those > .inner > .banner-area > .img-blc {
    padding-bottom: 50vw;
  }
  #those > .inner > .banner-area > .txt-blc {
    transform: translateY(-5vw);
    padding: 0 20px 0;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .sub {
    font-size: 5vw;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .ttl {
    font-size: 9.4vw;
  }
  #those > .inner > .banner-area > .txt-blc > .inner > .txt {
    font-size: 5vw;
  }
}

#introduct {
  position: relative;
  background-color: #fff;
}

#introduct > .inner {
  padding-top: 80px;
  padding-bottom: 80px;
}

#introduct > .inner > .introduct-area {
  margin-bottom: 40px;
}

@media screen and (max-width: 1000px) {
  #introduct > .inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }  
}

@media screen and (max-width: 767px) {
  #introduct > .inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }  
  #those > .inner > .those-list > .list > li {
    width: calc((100% / 3) - 10px);
    margin-bottom: 5px;
  }  
}

@media screen and (max-width: 640px) {
  #those > .inner > .those-list > .list > li {
    width: calc((100% / 2) - 10px);
    margin-bottom: 10px;
  }  
  #those > .inner > .those-list > .list > li:nth-last-child(-n+5) {
    margin-bottom: 10px;
  }
  #those > .inner > .those-list > .list > li:nth-last-child(-n+3) {
    margin-bottom: 0px;
  }
}

@media screen and (max-width: 480px) {
  #those > .inner > .those-list > .list > li {
    max-width: 300px;
    width: 100%;
    margin: 0 auto;
  }  
  #those > .inner > .those-list > .list > li:nth-last-child(-n+3) {
    margin-bottom: 10px;
  }
  #those > .inner > .those-list > .list > li:nth-last-child(-n+2) {
    margin-bottom: 0;
  }
}

#about {
  position: relative;
}

#about > .inner {
  padding-top: 80px;
  padding-bottom: 80px;
}

#about > .inner > .about-area {
  display: flex;
  justify-content: space-between;
  flex-wrap: wrap;
}

#about > .inner > .about-area > .img,
#about > .inner > .about-area > .link {
  width: 48%;
}

#about > .inner > .about-area > .img {
  position: relative;
}

#about > .inner > .about-area > .link {
  position: relative;
}

#about > .inner > .about-area > .link > .list > li {
  position: relative;
}

#about > .inner > .about-area > .link > .list > li > a {
  text-decoration: none;
  position: relative;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  font-size: 160%;
  font-weight: 600;
  padding: 15px 38px 15px 0;
  border-bottom: 1px solid #e1e2e2;
}

#about > .inner > .about-area > .link > .list > li > a::before {
  position: relative;
  width: 100px;
  height: 100px;
  display: inline-block;
  content: '';
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
  margin-right: 15px;
  transition: 300ms all ease-in-out;
}
/* 
#about > .inner > .about-area > .link > .list > li > a:hover::before {
  transform: translateX(5px);
} */

#about > .inner > .about-area > .link > .list > li > a::after {
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  width: 34px;
  height: 18px;
  display: inline-block;
  content: '';
  background-image: url(../img/top/about_arrow.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  margin: auto 0;
  transition: 300ms all ease-in-out;
}

#about > .inner > .about-area > .link > .list > li > a:hover::after {
  transform: translateX(5px);
}
#about > .inner > .about-area > .link > .list > li.ad{
  margin: 1rem 1rem;
}
#about > .inner > .about-area > .link > .list > li.profile > a::before {
  background-image: url(../img/top/profile.png);
}

#about > .inner > .about-area > .link > .list > li.staff > a::before {
  background-image: url(../img/top/staff.png);
}

#about > .inner > .about-area > .link > .list > li.customer > a::before {
  background-image: url(../img/top/customer.png);
}

@media screen and (max-width: 1200px) {
  #about > .inner > .about-area > .link > .list > li > a {
    font-size: 150%;
    padding: 15px 34px 15px 0;
  }  
  #about > .inner > .about-area > .link > .list > li > a::before {
    width: 80px;
    height: 80px;
  }
  #about > .inner > .about-area > .link > .list > li > a::after {
    width: 30px;
  }
}

@media screen and (max-width: 1000px) {
  #about > .inner {
    padding-top: 60px;
    padding-bottom: 60px;
  }
  #about > .inner > .about-area > .link > .list > li > a {
    font-size: 140%;
    padding: 15px 30px 15px 0;
  }  
  #about > .inner > .about-area > .link > .list > li > a::before {
    width: 60px;
    height: 60px;
  }
  #about > .inner > .about-area > .link > .list > li > a::after {
    width: 26px;
  }
}

@media screen and (max-width: 767px) {
  #about > .inner {
    padding-top: 40px;
    padding-bottom: 40px;
  }
}

@media screen and (max-width: 640px) {
  #about > .inner > .about-area {
    justify-content: center;
  }
  #about > .inner > .about-area > .img,
  #about > .inner > .about-area > .link {
    width: 100%;
    margin: 0 auto;
  }
  #about > .inner > .about-area > .img {
    text-align: center;
    margin-bottom: 20px;
  }
  #about > .inner > .about-area > .link {
    max-width: 400px;
  }
}










#keyvisual .slider {
    width: 100%;
    height: 100%;
}

/* TOPページのキービジュアル全体 */
#keyvisual {
  position: relative;
}

/* スライダーの各スライド */
#keyvisual .slider .bg {
  position: relative;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 700px;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
}

/* スライド内のテキスト */
#keyvisual .slider .bg .txt {
  position: relative;
  text-align: center;
  display: inline-block;
  font-size: 240%;
  color: #fff;
  font-weight: 800;
  text-shadow: 2px 2px 4px #757575;
  padding: 0 2%;
  z-index: 1;
  box-sizing: border-box;
}

/* メディアクエリ */
@media screen and (max-width: 1400px) {
  #keyvisual .slider .bg {
    height: 600px;
  }
}

@media screen and (max-width: 1200px) {
  #keyvisual .slider .bg {
    height: 500px;
  }
  #keyvisual .slider .bg .txt {
    font-size: 220%;
  }
}

@media screen and (max-width: 1000px) {
  #keyvisual .slider .bg {
    height: 50vw;
  }
  #keyvisual .slider .bg .txt {
    font-size: 200%;
  }
}


#sub #keyvisual > .bg::after {
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  content: '';
  width: 100%;
  height: 100%;
  background-color: #000;
  opacity: .7;
}

@media screen and (max-width: 1200px) {
  #sub #keyvisual > .bg {
    height: 150px;
  }
}

@media screen and (max-width: 1000px) {
  #sub #keyvisual > .bg {
    height: 150px;
  }
}

/* bannerbox内だけ縦並びにする */

#about > .inner.bannerbox {
    padding-top: 30px;
    padding-bottom: 0px;
}
.bannerbox .about-area {
  flex-direction: column !important;
  gap: 30px;
}

.bannerbox .about-area .img {
  width: 100% !important;
}

.bannerbox .ttl-style-00{
  text-align: left ;
}

@media screen and (max-width: 640px) {

  .bannerbox .txt-style-01{
    margin-bottom: 20px;
  }
  .bannerbox .about-area {
  gap: 15px;
}

  #about > .inner.bannerbox > .about-area > .img {
    margin-bottom: 0;
  }

}