@charset "UTF-8";
.arrow, .link_list li a {
  position: relative;
}
.arrow::before, .link_list li a::before, .arrow::after, .link_list li a::after {
  content: "";
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
  right: 2px;
}
.arrow::before, .link_list li a::before {
  border-top: 2px solid currentColor;
  width: 13px;
}
@media screen and (max-width: 767px) {
  .arrow::before, .link_list li a::before {
    border-width: 1.5px;
    width: 10px;
  }
}
.arrow::after, .link_list li a::after {
  width: 7px;
  height: 7px;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
@media screen and (max-width: 767px) {
  .arrow::after, .link_list li a::after {
    border-width: 1.5px;
    width: 5px;
    height: 5px;
  }
}

/* ▼▼▼ トピックス
=====================================*/
.news {
  background: #fff;
  border-radius: 25px;
}
.news:not(:last-of-type) {
  margin-bottom: 24px;
}
@media screen and (max-width: 767px) {
  .news:not(:last-of-type) {
    margin-bottom: 20px;
  }
}
.news dt {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding: 40px 60px;
  cursor: pointer;
  position: relative;
}
@media screen and (max-width: 767px) {
  .news dt {
    -ms-flex-wrap: wrap;
        flex-wrap: wrap;
    padding: 20px 37px 20px 24px;
  }
}
.news dt::after {
  content: "";
  width: 9px;
  height: 9px;
  border: 2px solid currentColor;
  border-left: 0;
  border-bottom: 0;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: absolute;
  -webkit-transform: translateY(-25%) rotate(135deg);
          transform: translateY(-25%) rotate(135deg);
  top: 45%;
  right: 35px;
}
@media screen and (max-width: 767px) {
  .news dt::after {
    right: 22px;
  }
}
.news dt.close::after {
  -webkit-transform: translateY(-25%) rotate(-45deg);
          transform: translateY(-25%) rotate(-45deg);
  top: 50%;
}
.news dt span {
  font-weight: 500;
  font-family: "Barlow", sans-serif;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.news dt .cat {
  width: 80px;
  border-radius: 15px;
  color: #fff;
  text-align: center;
  font-size: 14px;
}
@media screen and (max-width: 767px) {
  .news dt .cat {
    width: 70px;
    padding: 1px 0;
    font-size: 12px;
  }
}
.news dt .cat.cat_news {
  background: #D94F58;
}
.news dt .cat.cat_recruit {
  background: #3a81d1;
}
.news dt .cat.cat_blog {
  background: #d8e15f;
}
.news dt .cat.cat_const {
  background: #94C9AC;
}
.news dt .cat.cat_others {
  background: #cccccc;
}

.news dt .date {
  color: #027B39;
  letter-spacing: 0.02em;
  margin-left: 20px;
}
@media screen and (max-width: 767px) {
  .news dt .date {
    margin-left: 10px;
  }
}
.news dt p {
  border-left: 1px solid #ccc;
  margin-left: 25px;
  padding-left: 25px;
  font-weight: 600;
}
@media screen and (max-width: 767px) {
  .news dt p {
    width: 100%;
    border: none;
    padding: 0;
    margin: 0;
  }
}
.news dt.open .topics_ttl{
  overflow: hidden;
  white-space:  nowrap;
  text-overflow: ellipsis;
}
.news dt.close .topics_ttl{
  white-space: break-spaces;
  overflow: auto;
}
.news dd {
  display: none;
  padding: 0 60px 45px;
}
@media screen and (max-width: 767px) {
  .news dd {
    padding: 0 24px 25px;
  }
}
.news dd p {
  font-size: 14px;
}

.ph_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 30px;
  margin-top: 30px;
}
@media screen and (max-width: 767px) {
  .ph_list {
    display: block;
    margin-top: 25px;
  }
  .ph_list li:not(:last-child) {
    margin-bottom: 14px;
  }
}
.ph_list li {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}

.flex_box {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 37px;
}
@media screen and (max-width: 767px) {
  .flex_box {
    display: block;
    margin-top: 30px;
  }
}

.link_list {
  letter-spacing: 0.03em;
}
@media screen and (max-width: 767px) {
  .link_list {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    gap: 0 23px;
    margin-bottom: 25px;
    font-size: 13px;
  }
}
.link_list li a {
  background: url(../img/icon_link.svg) no-repeat left center/auto;
  display: block;
  width: 138px;
  padding-left: 30px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .link_list li a {
    background-size: 19px;
    width: 100%;
    padding-left: 28px;
  }
}
@media (hover: hover) {
  .link_list li a:hover span {
    border-color: transparent;
  }
}
.link_list li.pdf a {
  background: url(../img/icon_pdf.svg) no-repeat left center/auto;
}
@media screen and (max-width: 767px) {
  .link_list li.pdf a {
    background-size: 20px;
  }
}
.link_list li:not(:last-child) {
  margin-bottom: 15px;
}
@media screen and (max-width: 767px) {
  .link_list li:not(:last-child) {
    margin: 0;
  }
}
.link_list li span {
  display: block;
  border-bottom: 1px solid currentColor;
}

.sns_list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (max-width: 767px) {
  .sns_list {
    -webkit-box-pack: end;
        -ms-flex-pack: end;
            justify-content: flex-end;
  }
}
.sns_list p {
  color: #027B39;
  font-weight: bold;
  letter-spacing: 0.02em;
}
.sns_list p::after {
  content: "";
  display: inline-block;
  vertical-align: middle;
  border-top: 1px solid #A1A7A1;
  width: 23px;
  margin: 0 0 0.2em 15px;
}
@media screen and (max-width: 767px) {
  .sns_list p::after {
    width: 21px;
  }
}
.sns_list ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 0 15px;
  margin-left: 15px;
}
@media screen and (max-width: 767px) {
  .sns_list ul {
    gap: 0 8px;
  }
}
@media screen and (max-width: 767px) {
  .sns_list ul li {
    width: 30px;
  }
}

/* ページネーション */
.pagination {
  display: -ms-flex;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin: 150px auto 0;
  position: relative;
}
@media screen and (max-width: 767px) {
  .pagination {
    margin-top: 55px;
  }
}
.pagination .page-item {
  -webkit-box-flex: 0;
      -ms-flex: 0 0 48px;
          flex: 0 0 48px;
  width: 48px;
  max-width: 48px;
  height: 48px;
  margin: 0 7px;
}
@media screen and (max-width: 767px) {
  .pagination .page-item {
    -webkit-box-flex: 0;
        -ms-flex: 0 0 40px;
            flex: 0 0 40px;
    width: 40px;
    max-width: 40px;
    height: 40px;
    margin: 0 5px;
  }
}
.pagination .page-item a, .pagination .page-item span {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-align-items: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -ms-flex-line-pack: center;
      align-content: center;
  width: 100%;
  height: 100%;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-radius: 25px;
  font-size: 20px;
  font-weight: bold;
  font-family: "Barlow", sans-serif;
}
@media screen and (max-width: 767px) {
  .pagination .page-item a, .pagination .page-item span {
    font-size: 17px;
  }
}
@media (hover: hover) {
  .pagination .page-item a:hover {
    background: #94C9AC;
  }
}
.pagination .page-item.active a, .pagination .page-item.active span {
  background: #94C9AC;
}
.pagination .page-item.page-item-prev a::before, .pagination .page-item.page-item-prev a::after, .pagination .page-item.page-item-next a::before, .pagination .page-item.page-item-next a::after {
  content: "";
  position: absolute;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  top: 50%;
}
.pagination .page-item.page-item-prev a::before, .pagination .page-item.page-item-next a::before {
  border-top: 2px solid currentColor;
  width: 22px;
}
@media screen and (max-width: 767px) {
  .pagination .page-item.page-item-prev a::before, .pagination .page-item.page-item-next a::before {
    width: 19px;
  }
}
.pagination .page-item.page-item-prev a::after, .pagination .page-item.page-item-next a::after {
  width: 11px;
  height: 11px;
  border: 2px solid currentColor;
}
@media screen and (max-width: 767px) {
  .pagination .page-item.page-item-prev a::after, .pagination .page-item.page-item-next a::after {
    width: 9px;
    height: 9px;
  }
}
.pagination .page-item.page-item-prev {
  margin: 0 20px 0 0;
}
@media screen and (max-width: 767px) {
  .pagination .page-item.page-item-prev {
    margin-right: 5px;
  }
}
.pagination .page-item.page-item-prev a::before, .pagination .page-item.page-item-prev a::after {
  left: 15px;
}
@media screen and (max-width: 767px) {
  .pagination .page-item.page-item-prev a::before, .pagination .page-item.page-item-prev a::after {
    left: 13px;
  }
}
.pagination .page-item.page-item-prev a::after {
  border-right: 0;
  border-top: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.pagination .page-item.page-item-next {
  margin: 0 0 0 20px;
}
@media screen and (max-width: 767px) {
  .pagination .page-item.page-item-next {
    margin-left: 5px;
  }
}
.pagination .page-item.page-item-next a::before, .pagination .page-item.page-item-next a::after {
  right: 15px;
}
@media screen and (max-width: 767px) {
  .pagination .page-item.page-item-next a::before, .pagination .page-item.page-item-next a::after {
    right: 13px;
  }
}
.pagination .page-item.page-item-next a::after {
  border-left: 0;
  border-bottom: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  -webkit-transform: translateY(-50%) rotate(45deg);
          transform: translateY(-50%) rotate(45deg);
}
.pagination .page-item.disabled {
  opacity: 0.3;
}

/* 詳細 */
.article {
  border-bottom: 1px solid #ccc;
  padding-bottom: 20px;
  clear: both;
  overflow: hidden;
}
.article .date {
  border-top: 1px dotted #999999;
  padding-top: 20px;
  color: #999999;
  font-size: 20px;
  font-weight: bold;
}
@media screen and (max-width: 767px) {
  .article .date {
    padding-top: 10px;
    font-size: 16px;
  }
}
.article h2 {
  border-bottom: 1px dotted #999999;
  padding-bottom: 20px;
  margin-bottom: 30px;
  font-size: 20px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .article h2 {
    padding-bottom: 10px;
    margin-bottom: 15px;
    font-size: 16px;
  }
}
.article .inner {
  margin-bottom: 20px;
  overflow: hidden;
}
@media screen and (max-width: 767px) {
  .article .inner {
    margin-bottom: 10px;
  }
}
.article .photo {
  float: right;
  width: 35%;
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .article .photo {
    float: none;
    width: 100%;
    margin-left: 0;
    margin-bottom: 10px;
  }
}
.article ul.link {
  float: right;
  width: 35%;
  margin-left: 30px;
}
@media screen and (max-width: 767px) {
  .article ul.link {
    float: none;
    width: 100%;
    margin-left: 0;
  }
}
.article ul.link li {
  margin-bottom: 10px;
}
.article ul.link li a {
  padding-left: 20px;
  color: #1F2B8D;
}