.header-img {
  height: 30rem;
  width: 100%;
  max-width: 1920px;
  margin: auto;
  img {
    height: 30rem;
    width: 100%;
    object-fit: cover;
  }
}
.breadcrumbs {
  background: #C6C7C7;
  padding: 2rem;
  margin-bottom: 7rem;
  font-size: 1.2rem;
  ul {
    display: flex;
    gap: .5em;
    max-width: 1080px;
    margin: auto;
  }
  a {
    color: #07539E;
    text-decoration: none;
  }
}
.mv {
  width: 100%;
  max-width: 1920px;
  margin: auto;
}
@media (max-width: 780px) {
  .header-img {
    img {
      object-position: 40% center;
    }
  }
  .breadcrumbs {
    font-size: 2rem;
  }
}

.copy1,.copy2,.copy3 {
  margin: 5rem 0;
  font-size: 2.8rem;
  font-weight: 600;
  text-align: center;
}
.copy1 {
  padding-bottom: 0;
}
.copy2 {
  color: #5E9A19;
}
.copy3 {
  display: block;
  width: 26rem;
  padding: 1rem;
  margin: 0 auto 4rem;
  border: 2px solid #5E9A19;
  border-radius: 100px;
  font-size: 2.4rem;
  color: #5E9A19;
}
.h1 {
  position: relative;
  background: url(img/h1_bd.png) no-repeat left bottom;
  padding-bottom: 2rem;
  margin-top: 10rem;
  margin-bottom: 5rem;
  .en,.jp {
    display: block;
  }
  .jp {
    margin-top: 1.6rem;
    font-size: 1.8rem;
    font-weight: 600;
  }
  .btn {
    position: absolute;
    right: 0;
    bottom: 1.8rem;
    width: 145px;
  }
  &.w {
    background-image: url(img/h1_bd2.png);
  }
}

.h1.c {
  background: none;
  text-align: center;
  .en {
    display: inline-block;
  }
}

.slider {
  margin: 0 5rem;
}
.slick-slide {
  margin: 0 .8rem;
}
.slick-prev,
.slick-next {
  width: 1.9rem;
  height: 4.9rem;
  background: #000;
}
.slick-prev,
.slick-prev:hover,
.slick-prev:focus {
  background: url(img/arr_l.png) center center / cover no-repeat;
}
.slick-next,
.slick-next:hover,
.slick-next:focus {
  background: url(img/arr_r.png) center center / cover no-repeat;
}
.slick-prev:hover,
.slick-next:hover {
  opacity: .7;
}
.slick-prev:before,
.slick-next:before {
  content: none;
}

@media (max-width: 780px) {
  .h1 {
    .en {
      height: 4.5rem;
    }
    .jp {
      font-size: 2.4rem;
    }
    .btn {
      width: 26rem;
    }
  }
  .slider {
    margin: 0 3rem;
  }
}

.features {
  padding: 0 4rem;
}
.service-d_list {
  display: flex;
  flex-wrap: wrap;
  gap: 4rem 1.5rem;
  justify-content:center;
  .box {
    width: calc((100% - 1.5rem * 3)/4);
    p {
      margin-top: 1.2rem;
      font-size: 1.8rem;
    }
  }
}
.introduction {
  width: 100%;
  max-width: 90rem;
  margin: auto;
  display: flex;
  align-items: center;
  p,.img {
    width: 50%;
  }
  p {
    font-size: 1.8rem;
    font-weight: 600;
    line-height: 2;
  }
  .img {
    text-align: center;
    img {
      width: 33rem;
    }
  }
}
.introduction2 {
  max-width: 70rem;
  margin: 9.5rem auto 0;
  text-align: center;
  h2 {
  }
  h3 {
    margin-top: 1.6rem;
    font-size: 2.2rem;
    font-weight: 600;
  }
  .box {
    padding: 2.5rem 2rem;
    margin-top: 2.4rem;
    border: 3px solid #fff;
    font-size: 1.6rem;
    text-align-last: left;
  }
}
.bnr1 {
  position: relative;
  padding: 3rem 0 4.5rem;
  .btn {
    position: absolute;
    bottom: 10rem;
    right: 35rem;
    display: block;
    width: 25.6rem;
  }
}
.news_list {
  padding: 0 2rem;
  li+li {
    margin-top: .8rem;
  }
  a {
    /* pointer-events: none; */
    display: flex;
    gap: 3rem;
    text-decoration: none;
    .date {
      font-size: 1.6rem;
      color: #C6C7C7;
    }
    .txt {
      font-size: 1.8rem;
      color: #444;
    }
  }
}

@media (max-width: 780px) {
  .features {
    padding: 0 7rem;
  }
  .service-d_list {
    gap: 3rem 2rem;
    .box {
      width: calc((100% - 2rem)/2);
      p {
        margin-top: 1.6rem;
        font-size: 2.4rem;
      }
    }
  }
  .introduction {
    p {
      font-size: 2.4rem;
    }
    .img {
      text-align: right;
      img {
        width: 34rem;
      }
    }
  }
  .introduction2 {
    margin-top: 4rem;
    h3 {
      margin-top: 3rem;
      font-size: 3rem;
    }
    .box {
      padding: 1.5rem 2.4rem;
      margin-top: 3rem;
    }
    p {
      font-size: 2.4rem;
    }
    p+p {
      margin-top: 0.5rem;
    }
  }
  .bnr1 {
    padding: 2rem 0 2.5rem;
    .btn {
      bottom: 4.7rem;
      right: 17rem;
      width: 23.7rem;
    }
  }
  .news_list {
    padding: 0 2rem;
    li+li {
      margin-top: 1.35rem;
    }
    a {
      gap: 5.5rem;
      .date {
        font-size: 2.2rem;
      }
      .txt {
        font-size: 2.6rem;
      }
    }
  }
}

.table1 {
  margin-bottom: 4rem;
  th,td {
    padding: 1em;
    border: 2px solid #fff;
    vertical-align: top;
  }
  th {
    width: 30rem;
    background: #EEEEEE;
    font-weight: bold;
  }
  a {
    color: #168CE3;
  }
}
.table1.bd {
  th,td {
    border: 2px solid #707070;
  }
  th {
    border-right: none;
  }
  td {
    border-left: none;
  }
}

.map {
  width: 100%;
}
h2 {
  margin: 8rem 0 .5em;
  font-size: 2.8rem;
  font-weight: 600;
}
.message {
  display: flex;
  gap: 3.6rem;
  .txt {
    width: 60rem;
    margin-left: 9rem;
    p+p {
      margin-top: 1em;
    }
  }
  .img {
    width: 35.5rem;
  }
}

.management_table {
  th,td {}
  th {
    width: 20rem;
    padding: 1.5rem 0;
    span {
      display: block;
      width: 20rem;
      padding: .5rem;
      background-image: linear-gradient(90deg, #5E9A19, #2F5420);
      color: #fff;
      text-align: center;
      font-weight: 600;
    }
  }
  td {
    padding-left: 2rem;
  }
}
.creed_table {
  counter-reset: number 0;
  th,td {}
  th {
    width: 9rem;
    padding: .75rem 0;
  }
  th:before {
    counter-increment: number 1;
    content: counter(number,decimal-leading-zero);
    font-size: 5.5rem;
    font-style: italic;
    font-weight: 800;
    color: #5E9A19;
  }
  td {
    padding-left: 2rem;
    vertical-align: center;
  }
}
.chart {
  max-width: 100rem;
  margin: auto;
  img {}
}

@media (max-width: 780px) {
  .table1 {
    width: 100%;
    th,td {
      display: block;
      width: 100%;
    }
  }
  .table1.bd {
    th,td {
      border: none;
    }
  }
  h2 {
    margin-top: 6rem;
    font-size: 3rem;
  }
  .message {
    flex-flow: column;
    flex-direction: column-reverse;
    align-items: center;
    .txt {
      width: 100%;
      margin-left: 0;
    }
  }
  .management_table {
    th,td {
      display: block;
      width: 100%;
    }
    td {
      padding-left: 0;
      padding-bottom: 2rem;
    }
  }
}

.service {
  p+p {
    margin-top: 1em;
  }
  &>img {
    margin-top: 4rem;
  }
  li+li {
    margin-top: 1.5rem;
  }
}
.service_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2rem;
  li {
    width: calc((100% - 2rem * 3) / 4);
  }
  a {
    display: flex;
    align-items: center;
    justify-content:center;
    height: 8rem;
    /* width: 25.5rem; */
    width: 100%;
    padding-left: 4rem;
    text-decoration: none;
    text-align: center;
    font-size: 1.8rem;
    font-weight: 500;
    color: #5E9A19;
    background: url(img/service_list.png) left center / cover no-repeat;
    box-shadow: rgba(0, 0, 0, .16) 0 3px 6px;
  }
}
.agx-bnr {
  position: relative;
  width: 100%;
  max-width: 1920px;
  margin: 7rem auto;
  .img {
    height: 633px;
    width: 100%;
    object-fit: cover;
  }
  .btn {
    display: inline-block;
    position: absolute;
    width: 483px;
    bottom: 10%;
    left: 0;
    right: 0;
    margin: auto;
  }
}
.h2_bd {
  position: relative;
  margin: 5rem 0 2rem;
  font-size: 2.6rem;
  font-weight: 600;
  padding-bottom: 1.3rem;
  &::after {
    display: block;
    position: absolute;
    content: "";
    bottom: 0;
    left: 0;
    height: 0;
    width: 7rem;
    border-bottom: 2px solid #5E9A19;
  }
}
.txt_top {
  margin-top: 7rem;
  margin-bottom: 1rem;
  text-align: right;
  font-size: 1.6rem;
  a {
    color: #07539E;
    text-decoration: none;
  }
  span {
    margin-right: .25em;
    font-size: 1.4rem;
  }
}

@media (max-width: 1200px) {
  .agx-bnr {
    .img {
      height: 60rem;
    }
    .btn {
      width: 45rem;
    }
  }
}
@media (max-width: 780px) {
  .service_list {
    a {
      height: 7rem;
      padding-left: 3rem;
      font-size: 1.3rem;
    }
  }
  .agx-bnr {
    .img {
      height: 40rem;
    }
    .btn {
      width: 33rem;
    }
  }
}

.strengths_box {
  padding: 4rem;
  border: 2px solid #5E9A19;
  font-size: 2.4rem;
  color: #5E9A19;
  font-weight: 500;
  line-height: 1.9;
}
.strengths_list {
  margin-top: 8rem;
  .box {
    display: flex;
    gap: 1.2rem;
    align-items: flex-start;
    .img {
      width: 32rem;
    }
    .txt {
      width: calc(100% - 32rem - 1.2rem);
      h3 {
        background: url(img/strengths_h3.png) left center / cover no-repeat;
        padding: .25rem 2rem;
        margin-bottom: 2rem;
        font-size: 2rem;
        color: #fff;
        font-weight: 600;
      }
      p {
        padding-left: 1rem;
        font-size: 1.6rem;
        line-height: 4rem;
      }
    }
  }
  .box+.box {
    margin-top: 4rem;
  }
}

@media (max-width: 780px) {
  .strengths_list {
    .box {
      flex-flow: column;
      flex-direction: column-reverse;
      gap: 2rem;
      .img {
        width: 32rem;
      }
      .txt {
        width: 100%;
        h3 {
          padding: .25rem 2rem;
        }
        p {
          font-size: 1.8rem;
        }
      }
    }
  }
}

.sdgs_list {
  display: flex;
  flex-wrap: wrap;
  gap: 2.2rem;
  margin-bottom: 8rem;
  img {
    width: calc((100% - 2.2rem * 8) / 9 );
  }
}
.sdgs_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 3rem;
}
.sdgs_box {
  width: calc((100% - 3rem) / 2 );
  border: 2px solid #5E9A19;
  .imgs {
    display: flex;
    justify-content:center;
    gap: 1rem;
    padding: 5rem 0;
    background: #EEEEEE;
    img {
      width: calc(( 100% - 8rem ) / 4 );
    }
  }
  .txt {
    padding: 2.4rem;
    text-align: center;
    h3 {
      margin-bottom: 1.6rem;
      font-size: 2.4rem;
      font-weight: 800;
      color: #5E9A19;
    }
  }
}
.slogan {
  .box {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding-left: 4rem;
    img {
      height: 8rem;
    }
    p {
      width: 50rem;
      font-size: 2.4rem;
      vertical-align: middle;
      span {
        padding-right: 2rem;
        font-size: 1.8rem;
      }
    }
  }
  .box+.box {
    margin-top: 3.5rem;
  }
}
.message2 {
  display: flex;
  gap: 3.6rem;
  .txt {
    width: 53rem;
    font-size: 1.8rem;
    font-weight: 600;
    h3 {
      margin-bottom: 1.6rem;
      font-size: 2.8rem;
    }
    p+p {
      margin-top: 1em;
    }
    .name {
      .n1 {
        font-size: 2rem;
      }
      .n2 {
        padding-right: 1em;
        font-size: 1.6rem;
      }
      .n3 {
        font-size: 2.4rem;
      }
    }
  }
  .img {
    width: 53rem;
  }
}

.mvv {
  .box {
    display: flex;
    justify-content: space-between;
    padding: 3.75rem 0;
    border-bottom: 1px solid #2F5420;
  }
  .bd1 {
    padding-top: 0;
    border-color: #CEC941;
  }
  .bd2 {
    border-color: #5E9A19;
  }
  .aic {
    align-items: center;
  }
  img {
    height: 9.25rem;
  }
  .txt {
    width: 72rem;
    h3 {
      margin-top: 2.5rem;
      font-size: 2.52rem;
      font-weight: bold;
    }
    .mt0 {
      margin-top: 0;
    }
    .mt5 {
      margin-top: 5rem;
    }
    p {
      font-size: 2.5rem;
      font-weight: 600;
    }
  }
  .flex {
    display: flex;
    .f_box {
      width: 50%;
    }
  }
  ul {
    width: 83%;
    padding-left: 1.1em;
    font-size: 1.6rem;
    font-weight: 600;
    line-height: 2;
    li {
      position: relative;
    }
    li:before {
      position: absolute;
      left: -1em;
      top: .8em;
      display: block;
      content: "";
      height: .5em;
      width: .5em;
      background: #5E9A19;
      border-radius: 100px;
    }
  }
}


@media (max-width: 780px) {
  .sdgs_list {
    gap: 2.2rem;
    /* margin-bottom: 8rem; */
    img {
      width: calc((100% - 2.2rem * 5) / 6 );
    }
  }
  .sdgs_wrap {
    gap: 3rem;
  }
  .sdgs_box {
    width: 100%;
    .imgs {
      gap: 1.5rem;
      padding: 5rem 0;
      img {
        width: calc(( 100% - 16rem ) / 4 );
      }
    }
    .txt {
      padding: 2.4rem;
      h3 {
        margin-bottom: 1.6rem;
        font-size: 3.2rem;
      }
      p {
        font-size: 2.6rem;
      }
    }
  }
  .slogan {
    .box {
      flex-flow: column;
      align-items: flex-start;
      img {
        height: 8rem;
      }
      p {
        width: 100%;
        font-size: 2.4rem;
        span {
          padding-right: 2rem;
          font-size: 1.8rem;
        }
      }
    }
    .box+.box {
      margin-top: 3.5rem;
    }
  }
  .message2 {
    flex-flow: column;
    flex-direction: column-reverse;
    align-items: center;
    .txt {
      width: 100%;
      margin-left: 0;
    }
  }
  .mvv {
    .box {
      flex-flow: column;
      align-items: start;
    }
    .txt {
      width: 100%;
      padding: 1rem 2rem 0;
    }
  }
}


.member {
  display: flex;
  gap: 40px;
  flex-wrap: wrap;
  .box {
    position: relative;
    width: calc((100% - 40px * 2)/3);
    background: #fff;
    img {
      width: 100%;
      aspect-ratio: 374/213;
    }
    .txt {
      padding: 30px 20px 80px;

      .p1 {
        font-size: 20px;
        font-weight: bold;
        color: #5E9A19;
      }
      .p2 {
        margin: .5em 0;
        font-size: 13px;
        font-weight: bold;
      }
      .p3 {
        font-size: 16px;
      }
    }
    .tar {
      position: absolute;
      bottom: 30px;
      right: 15px;
    }
    .js-modal-btn {
      cursor: pointer;
      position: relative;
      border: 1px solid #5E9A19;
      padding: .5em 2.5em .5em 2em;
      font-size: 14px;
      font-weight: bold;
      color: #5E9A19;
      background: #fff;
      &::after {
        position: absolute;
        top: 50%;
        right: 0;
        display: block;
        content: "";
        width: 1.5em;
        border-top: 1px solid #5E9A19;
      }
    }
  }
}

.tab-list {
  display: flex;
  background: #5E9A19;
  margin-bottom: 70px;
  font-size: 20px;
  font-weight: 500;
  line-height: 70px;
  text-align: center;
  color: #fff;
  li {
    width: calc(100% / 3);
    cursor: pointer;
    &.active {
      background: #CEC941;
      cursor: auto;
    }
  }
}

.content-list {
  .content {
    display: none;
    border-bottom: 2px solid #1B3843;
  }
  .content.show {
    display: block;
  }
  h3 {
    margin-bottom: 30px;
    font-size: 25px;
    font-weight: bold;
    font-style: italic;
  }
  .acd-head {
    cursor: pointer;
    position: relative;
    padding: 15px 30px;
    border-top: 2px solid #1B3843;
    border-bottom: 0 solid #1B3843;
    font-weight: 500;
    .p1 {
      font-size: 16px;
    }
    .p2 {
      font-size: 24px;
    }
    &::before,
    &::after {
      position: absolute;
      right: 30px;
      top: 50%;
      content: "";
      display: block;
      width: 30px;
      height: 1px;
      background: #1B3843;
      border: 1px solid #1B3843;
    }
    &::after {
      transform: rotate(90deg);
    }
  }
  .acd-head.active {
    border-bottom: 2px solid #1B3843;
    &::after {
      display: none;
    }
  }
  .acd-head.active+.acd-table{
    display: block;
    margin: 30px;
  }
  .acd-table {
    display: none;
    margin: 0 30px;
    font-size: 20px;
    th,td {
      vertical-align: top;
    }
    th {
      position: relative;
      width: 225px;
      padding: 15px 0;
      padding-left: 25px;
      &::before {
        content: "";
        position: absolute;
        left: 0px;
        top: 18px;
        height: 26px;
        width: 1px;
        background: #1B3843;
        border: 1px solid #1B3843;
      }
    }
    td {
      padding: 15px 0;
    }
    .note {
      margin-top: 1em;
      font-size: 16px;
      line-height: 1.8;
    }
    ul.note {
      margin-left: 1em;
      li {
        text-indent: -1em;
      }
    }
    span.note {
      display: block;
    }
  }
}
.entry-form {
  padding: 50px;
  margin-top: 100px;
  background: #F5F9F1;
  font-size: 15px;
  .center {
    margin-top: 15px;
    text-align: center;
    a {
      color: #168CE3;
      text-decoration: underline;
    }
    .check {
      margin-top: 1em;
    }
  }
  input[type="submit"] {
    background: #111114;
    border: none;
    width: 100%;
    max-width: 300px;
    margin-top: 30px;
    color: #fff;
    font-size: 23px;
    font-weight: bold;
    line-height: 2.4;
  }
}
.entry-form.c2 {
  background: #fff;
  margin-top: 0;

  input[type="date"],input[type="text"],input[type="tel"],
  input[type="email"],input[type="url"],textarea {
    background: #F7F7F7;
  }
}

.form {
  width: 100%;
  justify-items: center;
  .flex-td {
    display: flex;
    gap: 30px;
    width: 100%;
    .box {
      display: flex;
      align-items: center;
      width: 50%;
      input {
        width: calc(100% - 25px);
        margin-left: 10px;
      }
      p {
        white-space: nowrap;
      }
    }
  }
  th,td {
    padding: 20px 0;
  }
  th {
    width: 35%;
    font-weight: 500;
    span {
      margin-left: 10px;
      font-size: 14px;
      color: #5E9A19;
    }
    span.nini {
      color: #CEC941;
    }
  }
  td {
    width: 65%;
  }
  input,select {
    background: #FFF;
  }
  textarea {
    width: 100%;
    min-height: 7em;
    resize: vertical;
  }
}


@media (max-width: 780px) {
  .member {
    gap: 10vw;
    .box {
      width: 100%;
      .txt {
        padding: 5vw 5vw 20vw;
        .p1 {
          font-size: 5vw;
        }
        .p2 {
          margin: 0;
          font-size: 5vw;
        }
        .p3 {
          font-size: 4vw;
        }
      }
      .tar {
        bottom: 5vw;
        right: 5vw;
      }
      .js-modal-btn {
        font-size: 4vw;
      }
    }
  }
  .tab-list {
    margin-bottom: 5vw;
    font-size: 2.5vw;
    line-height: 10vw;
    li {
      width: calc(100% / 3);
    }
  }

  .content-list {
    h3 {
      margin-bottom: 5vw;
      font-size: 5vw;
    }
    .acd-head {
      padding: 5vw 15vw 5vw 5vw;
      .p1 {
        font-size: 3.5vw;
      }
      .p2 {
        font-size: 5vw;
        line-height: 1.5;
      }
      &::before,
      &::after {
        right: 5vw;
        width: 8vw;
      }
    }
    .acd-head.active+.acd-table{
      margin: 5vw 0 0;
    }
    .acd-table {
      width: 100%;
      margin: 0;
      font-size: 4vw;
      th,td {
        display: block;
        width: 100%;
      }
      th {
        padding: 3vw 0 0 3vw;
          font-size: 5vw;
        &::before {
          top: 4vw;
          height: 5vw;
        }
      }
      td {
        padding: 2vw 0 5vw;
      }
      .note {
        margin-top: 1em;
        font-size: 3.5vw;
      }
    }
  }
  .entry-form {
    padding: 5vw;
    margin-top: 15vw;
    font-size: 4vw;
    .center {
      margin-top: 5vw;
      .check {
        margin-top: 1em;
      }
    }
    input[type="submit"] {
      margin-top: 10vw;
      font-size: 5vw;
      line-height: 3;
    }
  }
  .form {
    .flex-td {
      gap: 5vw;
      width: 100%;
      .box {
        width: 50%;
        input {
          margin-left: 10px;
        }
      }
    }
    th,td {
      display: block;
      width: 100%;
      padding: 5vw 0;
    }
    th {
      padding-bottom: 0;
      span {
        margin-left: 3vw;
        font-size: 3.5vw;
      }
    }
  }
}

.txt-p {
  p+p {
    margin-top: 1em;
  }
}

.news-single {
  margin-top: 0;
  background: #fff;
  .news_header {
    display: flex;
    align-items: center;
    gap: 1.6rem;
    margin-bottom: 2.8rem;
    font-size: 1.6rem;
    color: #C6C7C7;
  }
  h1 {
    font-size: 2.4rem;
    font-weight: 600;
  }
  .txt {
    padding: 0 2.5rem;
    font-family: 'Yu Gothic UI', sans-serif;
    font-weight: 400;
    font-size: 1.6rem;
    h2 {
      margin-top: 4rem;
      font-size: 1.8rem;
      font-weight: 700;
    }
    p+p {
      margin-top: 1em;
    }
    img {
      margin: 4rem 0;
    }
    .flex {
      margin: 4rem 0;
      display: flex;
      gap: 1rem;
      img {
        width: calc(50% - .5rem);
        margin: 0;
      }
    }
    a {
      text-decoration: none;
      font-size: 1.8rem;
      color: #168ce3;
    }
    :last-child {
      margin-bottom: 0;
    }
  }
}


@media (max-width: 780px) {

  .news-single {
    .news_header {
      gap: 2.4rem;
      font-size: 2.6rem;
      img {
        width: 7rem;
      }
    }
    h1 {
      font-size: 2.6rem;
    }
    .txt {
      font-size: 2.4rem;
      h2 {
        font-size: 2.6rem;
      }
      .flex {
        gap: 1rem;
        img {
          width: calc(50% - .5rem);
        }
      }
      a {
        font-size: 2.6rem;
      }
    }
  }

}

@media (max-width: 780px) {
}

@media (max-width: 780px) {
}


