.topic{
  background: var(--sub-color);
  padding: 4rem 0;

  section{
    width: clamp(48rem, 90%, 68.75rem);
    margin: 0 auto;
    display: grid;
    gap: 4rem;
  }
  h2{
    margin: 0 auto;
    width: 8.5rem;
  }
}

.topic__list{
  display: grid;
  grid-template-columns: repeat(3,1fr);
  gap: 3rem;

  li{
    background: var(--clear-color);
    border-radius: 1rem;
    overflow: hidden;

      figure{
        height: 12rem;
        overflow: hidden;

        img{
          width: 100%;
          height: 12rem;
          object-fit: cover;
        }
      }

      div{
        padding: 1.5rem;
        display: grid;
        gap: .75rem;

        p{
          text-align: justify;
        }
        .datatime{
          text-align: right;
        }
        a{
          color: var(--text-color);
          display: inline;
        }
      }
  }
}

.topic__btn{
  justify-self: center;
  background: var(--clear-color);
  padding: .5rem 1.5rem;
  border-radius: 2rem;
  font-size: 1.25rem;
  font-weight: bold;
  width: 30rem;

  a{
    color: var(--main-color);
    display: flex;
    justify-content: space-between;
    align-items: center;
  }
  img{
    width: 1rem;
    height: 1rem;
    object-fit: cover;
    transition: 0.5s ease-in-out;
  }
  a:hover img{
    transform: rotate(90deg)
  }
}

@media (max-width: 767px){
  .topic section{
    width: 90%;
    gap: 3rem;
  }
  .topic__list{
    grid-template-columns: 1fr;
  }
  .topic__btn{
    font-size: 1.15rem;
    width: 20rem;
  }
}

article{
  padding: 4rem 0;

  section{
      width: clamp(48rem, 90%, 68.75rem);
      margin: 0 auto;

      h2{
          font-size: 1.5rem;
          text-align: center;
          font-weight: normal;
          border-bottom: 2px solid var(--main-color);
          padding-bottom: .5rem;
          margin-bottom: 2rem;
      }
      h3{
        text-align: center;
      }
      h3 span{
          font-size: 1.5rem;
          background: linear-gradient(transparent 50%, var(--sub-color) 50%);
          padding: .5rem;
      }
      p{
          margin: 1rem auto;
          line-height: 1.8;
          text-align: justify;
      }
  }
}
@media (max-width: 767px){
  article{
      padding: 2rem 0;
  
      section{
          width: 90%;
          margin: 0 auto;

          div{
              margin: 3rem auto;
          }

          h2{
              font-size: 1.2rem;
          }
      }
  }
}

.greeting{
  margin: 4rem auto;
  
  .greeting__contents{
      display: grid;
      grid-template-columns: repeat(2,10rem) 1fr;
      grid-template-rows: 5rem 20rem auto;

      figure{
          grid-column: 1 / 3;
          grid-row: 1 / 3;
          z-index: 2;

          img{
              width: 100%;
              height: 100%;
              object-fit: cover;
          }
      }
      div{
          grid-column: 2 / 4;
          grid-row: 2 / 4;
          background: var(--sub-color);
          padding: 1rem 1.5rem 1rem 11.5rem;
          z-index: 1;
      }
  }
}
.greeting__contents__chairman{
  text-align: right;
}
@media (max-width: 767px){
  .greeting{

      .greeting__contents{
          display: block;
  
          figure{
              margin: 1rem auto;
              width: clamp(15rem, 100%, 20rem);
          }
          div{
              padding: 0;
              background: transparent;
          }
      }
  }
}

.officer{
  table{
      border-collapse: collapse;
      width: 100%;
      min-width: 48rem;
      margin: 2rem auto 3rem;
  
      .heading{
          background: rgba(203,229,206,.3);
  
          th{
              border-top: 3px double var(--main-color);
              border-bottom: 3px double var(--main-color);
          }
      }
      tr:nth-of-type(2n+1){
          background: rgba(203,229,206,.1);
      }
      th,
      td{
          padding: 1rem;
      }
  
      th{
          border-top: 1px solid var(--main-color);
          border-bottom: 1px solid var(--main-color);
          font-weight: normal;
          text-align: left;
      }
      td{
          border-top: 1px solid var(--sub-color);
          border-bottom: 1px solid var(--sub-color);
      }
  }
}

.js-scrollable{
  width: 100%;
}