@charset "UTF-8";
/*--------------------- .news_wrap ---------------------*/
.news_wrap {
  display: flex;
  justify-content: space-between;
}


/*--------------------- .archive_area ---------------------*/
.archive_area {
  width: 18%;
}
.archive_ttl {
  background-color: #29a380;
  color: #fff;
  font-size: 18px;
  letter-spacing: 0.1em;
  padding: 10px 15px;
}
.archive {
  background-color: #fcf6e2;
  margin-bottom: 15px;
  padding-bottom: 50px;
}
.archive .archive_list.current {
  opacity: 0.3;
}
.archive .archive_list a {
  background-color: #fcf6e2;
  border-bottom: 1px solid #ddd;
  color: #4d4d4d;
  display: block;
  padding: 10px 15px 10px 40px;
  position: relative;
}
.archive .archive_list a:hover {
  opacity: 0.3;
}
.archive .archive_list a::before {
  content: "\f105";
  font-family: FontAwesome;
  font-size: 18px;
  position: absolute;
  top: 50%;
  left: 20px;
  margin-top: -15px;
}


/*--------------------- .news_area ---------------------*/
.news_area {
  display: flex;
  align-content: baseline;
  flex-wrap: wrap;
  margin-bottom: 80px;
  width: 80%;
}
.news_box {
  margin-bottom: 20px;
  padding: 0 10px;
  width: 33.333%;
}
.news_box a {
  background-color: #fcf6e2;
  border-radius: 30px;
  display: block;
  height: 100%;
  padding: 30px;
  position: relative;
}
.news_box a:hover {
  opacity: 0.3;
}

.news_info {
  margin-bottom: 10px;
}
.news_info .date {
  color: #4d4d4d;
  font-size: 18px;
  margin-right: 10px;
}
.news_info .tag {
  background-color: #29a380;
  border-radius: 3px;
  color: #fff;
  display: inline-block;
  font-size: 12px;
  padding: 5px 15px;
  vertical-align: top;
}
.news_info .tag.category01 {
  background-color: #edc441;
}
.news_info .tag.category02 {
  background-color: #e5a1a0;
}
.news_info .tag.category03 {
  background-color: #92c2d8;
}

.news_img {
  border-radius: 15px;
  margin-bottom: 15px;
  overflow: hidden;
  padding-top: 65%;
  position: relative;
}
.news_img img {
  height: auto;
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
  transform: translate(-50%, -50%);
  width: 100%;
}

.news_txt {
  color: #29a380;
  font-size: 22px;
  word-break: break-all;
}
.news_txt.new::after {
  background-color: #C72525;
  content: "NEW";
  color: #fff;
  display: inline-block;
  font-size: 12px;
  margin: 0 0 4px 12px;
  padding: 1px 10px;
  vertical-align: middle;
}


/*--------------------- .pager ---------------------*/
.pager .pagination {
  -js-display: flex;
  display: flex;
  align-items: center;
  justify-content: center;
}
.pager .pagination li {
  margin: 0 4px;
  text-align: center;
  position: relative;
}
.pager .pagination li a:hover, .pager .pagination li.current {
  background-color: #4d4d4d;
  border: 2px solid transparent;
  color: #fff;
  line-height: 1;
  padding: 10px 15px;
}
.pager .pagination li a, .pager .pagination li.first a, .pager .pagination li.last a {
  background-color: #fff;
  border: 2px solid #4d4d4d;
  color: #4d4d4d;
  padding: 10px 15px;
}
.pager .pagination li.first a, .pager .pagination li.last a {
  background-color: #000;
  color: #fff;
  padding: 10px 16px;
}
.pager .pagination li.first {
  margin-right: 35px;
}
.pager .pagination li.last {
  margin-left: 35px;
}
.pager .pagination li.first a:hover, .pager .pagination li.last a:hover {
  background-color: #fff;
  color: #4d4d4d;
}
.pager .pagination li.first a, .pager .pagination li.last a {
  background-color: #4d4d4d;
  color: #fff;
  padding: 10px 16px;
}
.pager .pagination li a::before {
  font-family: FontAwesome;
}
.pager .pagination li.first a::before {
  content: "\f104";
}
.pager .pagination li.last a::before {
  content: "\f105";
}


@media only screen and (max-width: 960px) {
  /*--------------------- .archive_area ---------------------*/
  .archive_area {
    width: 32%;
  }
  
  /*--------------------- .news_area ---------------------*/
  .news_area {
    width: 65%;
  }
  .news_box {
    width: 50%;
  }
}

@media only screen and (max-width: 768px) {
  /*--------------------- .news_wrap ---------------------*/
  .news_wrap {
    display: flex;
    flex-wrap: wrap;
  }
  
  /*--------------------- .archive_area ---------------------*/
  .archive_area {
    margin-bottom: 50px;
    width: 100%;
  }
  .news_box {
    width: 100%;
  }
  .archive {
    padding-bottom: 20px;
  }

  /*--------------------- .news_area ---------------------*/
  .news_area {
    margin-bottom: 10px;
    width: 100%;
  }
  
  /*--------------------- .news_area ---------------------*/
  .news_box {
    margin-bottom: 15px;
    padding: 0;
  }
  .news_box a {
    padding: 30px 40px;
  }
}

@media only screen and (max-width: 600px) {
  /*--------------------- .news_area ---------------------*/
  .news_box a {
    padding: 20px 30px;
  }
  
  /*--------------------- .pager ---------------------*/
  .pager .pagination li a {
    font-size: 10px;
  }
  .pager .pagination li.prev {
    margin-right: 0;
  }
  .pager .pagination li.next {
    margin-left: 0;
  }
  .pager .pagination li a, .pager .pagination li.prev a, .pager .pagination li.next a {
    padding: 8px 12px;
  }
  .pager .pagination li.prev a, .pager .pagination li.next a {
    padding: 8px 13px;
  }
}




/*--------------------- .top_about ---------------------*/
.top_contact {
  margin: 150px 0 100px;
}
.top_contact_area {
  height: 100%;
  padding: 160px 0 120px;
  position: relative;
}
.contact_image_bg {
  background: url(/img/contact_bg.jpg) center center no-repeat;
  background-size: cover;
  display: block;
  height: 93%;
  position: absolute;
  top: 0;
  right: 0;
  width: 60%;
  z-index: -1;
}
.contact_color_bg {
  background-color: #eee;
  display: block;
  height: 95%;
  position: absolute;
  bottom: 0;
  left: 0;
  width: 50%;
  z-index: -2;
}
.contact_txt_box {
  background-color: #fff;
  margin-right: 45%;
  padding: 50px 70px;
}
.read_ttl {
  font-size: 35px;
  font-weight: normal;
  line-height: 1.4;
  margin-bottom: 15px;
}
.contact_txt_box .read_txt {
  font-size: 16px;
  line-height: 1.8;
  margin-bottom: 40px;
}

@media only screen and (max-width: 960px) {
  .contact_txt_box {
    margin-right: 40%;
  }
  .read_ttl {
    font-size: 28px;
    line-height: 1.4;
  }
}

@media only screen and (max-width: 768px) {
  .top_contact {
    margin: 80px 0 60px;
  }
  .top_contact_area {
    padding: 80px 0;
  }
  .read_ttl {
    font-size: 22px;
  }
  .contact_txt_box {
    margin-right: 0;
    padding: 40px;
  }
}



/*--------------------- .article_activity ---------------------*/
.article_activity {
  padding: 90px 0;
}
.article_activity_link {
  display: flex;
  flex-wrap: wrap;
}
.article_activity_link .list {
  padding: 0 15px;
  width: 25%;
}
.article_activity_link .list a {
  display: block;
}
.article_activity_link .list a:hover {
  opacity: 0.5;
}
.article_activity_img {
  border: 4px solid transparent;
  border-radius: 10px;
  margin-bottom: 10px;
  overflow: hidden;
}
.name {
  font-family: 'genjyuu';
  margin-bottom: 5px;
}
.activity_name {
  border-radius: 100px;
  color: #fff;
  display: block;
  letter-spacing: 0.2em;
  padding: 5px 20px;
}
.name small {
  display: block;
  margin: 0 0 5px 10px;
}
.add, .tel_num {
  font-size: 14px;
}

/*--------------------- color ---------------------*/
.c01 .article_activity_img {
  border-color: #29a380;
}
.c01 .activity_name {
  background-color: #29a380;
}
.c01 .name small {
  color: #29a380;
}

.c02 .article_activity_img {
  border-color: #edc441;
}
.c02 .activity_name {
  background-color: #edc441;
}
.c02 .name small {
  color: #edc441;
}

.c03 .article_activity_img {
  border-color: #e5a1a0;
}
.c03 .activity_name {
  background-color: #e5a1a0;
}
.c03 .name small {
  color: #e5a1a0;
}

.c04 .article_activity_img {
  border-color: #92c2d8;
}
.c04 .activity_name {
  background-color: #92c2d8;
}
.c04 .name small {
  color: #92c2d8;
}



@media only screen and (max-width: 960px) {
  .article_activity_link .list {
    padding: 0 10px 30px;
    width: 50%;
  }
}

@media only screen and (max-width: 600px) {
  .article_activity {
    padding: 60px 0 30px;
  }
  .article_activity_link .list {
    padding: 0 0 30px;
    width: 100%;
  }
}





