@charset "UTF-8";

/****** sectionのpadding ******/
section {
  padding: 97px 0 119px;
}

/****** title ******/
.title_wrap {
  background-image: url(../images/works/title_bg.png);
  background-position: center 30%;
}

/****** works ******/
.works_wrap {
  padding: 103px 0 72px;
  background-color: #fff;
}

/****** tab ******/

.tab_flex {
  width: 100%;
  display: flex;
  font-size: 1.25rem;
  font-weight: 600;
  text-align: center;
}
.tab {
  width: calc(100% / 3);
  padding: 25px 0 22px;
  border: 1px solid #e2e0de;
  border-bottom: 1px solid #026736;
  color: #6b716c;
  background-color: #f3f3f0;
  cursor: pointer;
}
.tab.active {
  padding: 21px 0 26px;
  border-top: 6px solid #026736;
  border-right: 1px solid #026736;
  border-left: 1px solid #026736;
  border-bottom: 0;
  color: #026736;
  background-color: #fff;
}

/****** item ******/
.works_items {
  display: none; /*はじめは非表示*/
  visibility: hidden;
}

.works_items.active {
  visibility: visible;
  padding: 79px 0 0;
  display: flex;
  flex-wrap: wrap;
  row-gap: 64px;
  column-gap: 24px;
}

.works_item {
  width: 352px;
}

.works_pic {
  padding-bottom: 24px;
}

.works_status {
  width: fit-content;
  padding: 0 16px;
  border: 1px solid #319464;
  border-radius: 25px;
  font-size: 0.75rem;
  font-weight: 600;
  line-height: 1.6;
  color: #319464;
}

.works_location {
  padding: 15px 0 7px;
  font-size: 0.875rem;
  font-weight: 600;
  line-height: 1;
}

.works_name {
  font-size: 1.125rem;
  font-weight: 600;
}

/****** achievements ******/
.achievements {
  background-color: #fcf8ea;
}

.achievements .title_s {
  padding-bottom: 17px;
}

.list_wrap {
  position: relative;
  padding: 16px 0;
  border-bottom: 1px solid #9b9894;
}

.list_opener {
  position: relative;
  padding: 11px 9px 11px 0;
  display: flex;
  justify-content: space-between;
  align-items: center;
  cursor: pointer;
}

.year {
  font-size: 1.25rem;
  font-weight: 600;
}

.opener_icon {
  width: 20px;
  height: 20px;
  margin-right: 7px;
  background: url(../images/works/list_arrow.png) no-repeat center center;
  background-size: contain;
  transform: rotate(180deg);
}
.open .opener_icon {
  transform: rotate(0deg);
}

.accordion_list {
  display: none;
  visibility: hidden;
}
.accordion_list.open {
  visibility: visible;
  padding-bottom: 15px;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.list_item {
  padding: 16px 0 16px 8px;
  background-color: #fff;
  display: flex;
  line-height: 1.75;
}

.list_title {
  width: 112px;
  margin-right: 88px;
  text-align: end;
  font-weight: 600;
}

.list_detail_wrap {
  display: flex;
  flex-direction: column;
}
.list_detail_flex {
  display: flex;
}

.list_location {
  width: 130px;
  margin-right: 46px;
}

@media screen and (max-width: 750px) {
  /****** sectionのpadding ******/
  section {
    padding: 15.73vw 0 19.07vw;
  }

  /****** title ******/
  .title_wrap {
    background-image: url(../images/works/title_bg_sp.png);
  }

  /****** works ******/
  .works_wrap {
    padding: 15.73vw 0 10.53vw;
  }

  /****** tab ******/

  .tab_flex {
    line-height: 1.2;
  }
  .tab {
    padding: 2.4vw 0 2.13vw;
    border: 0.13vw solid #e2e0de;
    border-bottom: 0.27vw solid #026736;
    font-size: 3.73vw;
  }
  .tab.active {
    padding: 2.13vw 0 2vw;
    border-top: 0.8vw solid #026736;
    border-right: 0.27vw solid #026736;
    border-left: 0.27vw solid #026736;
    font-size: 3.73vw;
  }

  .tab_others {
    padding: 4.67vw 0;
    align-self: center;
  }
  .tab_others.active {
    padding: 4.4vw 0 4.8vw;
    align-self: center;
  }

  /****** item ******/
  .works_items.active {
    padding: 10.27vw 0 0;
    flex-direction: column;
    flex-wrap: nowrap;
    row-gap: 9.2vw;
  }

  .works_item {
    width: 100%;
  }

  .works_pic {
    width: 100%;
    padding-bottom: 4.13vw;
  }

  .works_status {
    padding: 0 3.07vw;
    border: 0.27vw solid #319464;
    border-radius: 3.33vw;
    font-size: 2.67vw;
    line-height: 1.4;
  }

  .works_location {
    padding: 4vw 0 2.67vw;
    font-size: 3.2vw;
    font-weight: 600;
  }

  .works_name {
    font-size: 4.27vw;
  }

  /****** achievements ******/

  .achievements .title_s {
    padding-bottom: 8.53vw;
  }
  .achievements .title_s h2 {
    padding-top: 0.8vw;
    line-height: 1.2;
  }

  .list_wrap {
    padding: 5.2vw 0 5.2vw;
    border-bottom: 0.27vw solid #9b9894;
  }

  .year {
    font-size: 4.27vw;
  }

  .list_opener {
    padding: 1.2vw 0;
  }

  .opener_icon {
    width: 4.27vw;
    height: 4.27vw;
    margin-right: 2.13vw;
  }

  .accordion_list.open {
    padding: 2.67vw 0 2vw;
    gap: 2.13vw;
  }

  .list_item {
    padding: 4.8vw 0 4.53vw 5.33vw;
    flex-direction: column;
    font-size: 4vw;
    line-height: 1.6;
    gap: 3.2vw;
  }

  .list_title {
    width: 100%;
    margin-right: 0;
    text-align: start;
  }

  .list_detail_wrap {
    gap: 2vw;
  }
  .list_location {
    width: 31.2vw;
    margin-right: 3.2vw;
  }
  .list_detail {
    width: 44.27vw;
  }
}
