@charset "utf-8";
.page_title {
  background: url(../../img/page_title.webp) no-repeat center center;
  background-size: cover;
}
.cmn_cont {background-color: #F8F8F8;}

.intro_sec .container {
  width: 100%;
  max-width: 1280px;
  display: flex;
  div {
    width: calc(100% - 650px);
    height: 402px;
    padding: 0 64px;
    background: #000;
    display: flex;
    flex-direction: column;
    justify-content: center;
    gap: 24px;
    color: #fff;
  }
  h2 {
    font-size: var(--st-title);
  }
  figure {
    width: 650px;
    height: 402px;
    img {
      width: 100%;
      height: 100%;
      object-fit: contain;
    }
  }
  @media screen and (max-width: 767px) {
    width: 90%;
    flex-direction: column;
    align-items: center;
    div {
      width: 100%;
      height: auto;
      padding: 32px 5%;
    }
    figure {
      width: 100%;
      height: auto;
    }
  }
}

.table_sec {
  padding-bottom: 64px;
  @media screen and (max-width: 767px) {
    h2 {
      font-size: 2.8rem;
      margin-top: 48px;
      margin-bottom: -30px;
    }
  }
}
.table_sec--outer {
  background: #fff;
  padding: 64px 0 0;
  overflow: auto;
  caption {
    font-size: 3.2rem;
    font-weight: bold;
    margin-bottom: 32px;
  }
  table {
    width: 100%;
    border: 2px solid #eee;
    border-top: none;
  }
  thead th, tbody td {
    text-align: center;
    border-right: 2px solid #eee;
  }
  thead th {
    color: #fff;
    font-size: 2rem;
  }
  tbody td {
    padding: 20px 10px;
  }
  thead th:last-child,
  tbody td:last-child {
    border-right: none;
  }
  @media screen and (max-width: 767px) {
    table {
      width: 1024px;
    }
  }
}
.table_sec--outer:nth-of-type(1) {
  thead tr th:nth-child(1),
  tbody tr:nth-child(1) td[rowspan="2"] {
    font-size: 1.4rem;
    width: 88px;
    line-height: 1.5;
    padding: 10px;
    font-weight: bold;
  }
  tbody tr:nth-child(1) td {
    background: #FFE3E5;
  }
  tbody tr:nth-child(1) td[rowspan="2"] {
    background: #D1D1D1;
    color: #000;
  }
  thead th {
    background: var(--main-color);
  }
}
.table_sec--outer:nth-of-type(2) {
  thead th {
    background: var(--sub-color);
    padding: 16px;
  }
}


.case_sec {
  padding: 64px 0;
  background: #F8F8F8;
  h2 {
    font-size: var(--st-title);
    margin-bottom: 28px;
    text-align: center;
  }
  .more_btn {
    margin-top: 50px;
    width: 90%;
  }
}
.case_list {
  position: relative;
  display: flex;
  flex-wrap: wrap;
  justify-self: center;
  gap: 20px;
  li {
    width: calc(50% - 10px);
    background: #fff;
    padding: 40px 32px;
    display: flex;
    flex-direction: column;
    justify-content: space-between;
    align-items: center;
    gap: 20px;
  }
  li:nth-child(3),
  li:nth-child(4) {
    position: relative;
    min-height: 360px;
    align-items: flex-start;
    h3 {
      width: auto;
    }
    figure {
      position: absolute;
      top: 0;
      bottom: 0;
      right: 0;
      left: 0;
      margin: auto;
      display: flex;
      justify-content: center;
      align-items: center;
    }
  }
  li:nth-child(5),
  li:nth-child(6),
  li:nth-child(7) {
    figure {
      width: 100%;
      display: flex;
      flex-direction: column;
      align-items: center;
    }
    figcaption {width: 100%;min-height: 58px;}
  }
  h3 {
    width: 100%;
    font-size: 1.8rem;
    line-height: 1.7;
  }
  li:nth-child(5) h3,
  li:nth-child(6) h3 {
    min-height: 104px;
    display: flex;
    align-items: center;
  }
  figure {
    /* width: 100%;
    img {
      width: 100%;
      object-fit: contain;
    } */
  }
  @media screen and (max-width: 767px) {
    gap: 10px;
    li {
      width: calc(50% - 5px);
      padding: 20px 5%;
      justify-content: flex-start;
    }
    h3 {
      font-size: min(1.6rem, 4vw);
      line-height: 1.5;
    }
    li:nth-child(3),
    li:nth-child(4) {
      position: relative;
      min-height: initial;
      align-items: flex-start;
      justify-content: flex-start;
      h3 {
        width: auto;
      }
      figure {
        position: relative;
        top: auto;
        bottom: auto;
        right: auto;
        left: auto;
        margin: 0;
        display: block;
      }
    }
  }
}