@charset "utf-8";
html {scroll-padding-top: 80px;}
.page_title {
  background: url(../img/page_title.png) no-repeat center center;
  background-size: cover;
}

.intro_block {
  padding: 40px 0 72px;
  .bold_txt {
    text-align: center;
  }
}
.intro_flex {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 56px;
  a {
    text-align: center;
    font-size: 2rem;
    font-weight: bold;
    color: var(--main-color);
    line-height: 1.5;
    display: flex;
    align-items: center;
    flex-direction: column;
    gap: 20px;
    &:hover {
      opacity: 0.8;
    }
  }
  @media screen and (max-width: 767px) {
    flex-wrap: wrap;
    gap: 28px;
    a {
      gap: 10px;
    }
  }
}
:target::before {visibility: visible;margin-top: 0;}

.com_sec {
  position: relative;
  padding: 56px 0 104px;
  &::before {
    content: '';
    position: absolute;
    top: 0;
    right: 0;
    left: 0;
    width: 100%;
    height: 288px;
    z-index: -1;
  }
  h2 {
    color: #fff;
    font-family: var(--title-font);
    font-size: 4rem;
    font-weight: bold;
    text-align: center;
    line-height: 1.3;
    margin-bottom: 48px;
    span {
      font-size: 2.4rem;
    }
  }
  @media screen and (max-width: 767px) {
    h2 {
      font-size: 3.2rem;
      margin-bottom: 28px;
      span {
        font-size: 1.8rem;
      }
    }
  }
}
.com_sec#sec01 {
  &::before {
    background: url(/products/img/bg01.webp)no-repeat center;
    background-size: cover;
  }
  @media screen and (max-width: 767px) {
    padding: 48px 0 56px;
  }
}
.com_sec#sec02 {
  &::before {
    background: url(/products/img/bg03.webp)no-repeat center;
    background-size: cover;
  }
  .com_sec--btn {
    p:only-of-type, figure {
      background: #EAF4F8;
    }
  }
  @media screen and (max-width: 767px) {
    padding: 48px 0 0;
    .com_sec--detail {
      padding-top: 0;
    }
  }
}

.com_sec--btn {
  width: 100%;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 20px;
  div {
    position: relative;
    width: 100%;
    max-width: 240px;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 30px;
    cursor: pointer;
    &::before {
      content: '';
      position: absolute;
      background: rgba(255, 255, 255, 0.75);
      width: 100%;
      height: 100%;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      z-index: 1;
    }
  }
  p:only-of-type {
    position: relative;
    width: 100%;
    height: 210px;
    background: #DDE4ED;
    display: flex;
    justify-content: center;
    align-items: flex-start;
    padding: 24px 8px 0;
    font-weight: bold;
    font-size: 1.6rem;
    text-align: center;
    span {
      display: contents;
      font-size: 1.4rem;
    }
    &::after {
      content: '';
      position: absolute;
      background: url(../img/btn_arrow.svg)no-repeat center;
      background-size: contain;
      width: 22px;
      height: 41px;
      bottom: 4px;
      right: 0;
      left: 0;
      margin: auto;
      transform: rotate(90deg);
    }
  }
  figure {
    width: 100%;
    height: 324px;
    background: #DDE4ED;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    gap: 24px;
    figcaption {
      font-size: 2rem;
      font-weight: bold;
      text-align: center;
    }
  }
  @media screen and (max-width: 767px) {
    flex-wrap: wrap;
    justify-content: flex-start;
    gap: 30px 10px;
    div {
      max-width: calc(50% - 5px);
      gap: 15px;
    }
    p:only-of-type {
      height: auto;
      min-height: 120px;
      font-size: 1.4rem;
      padding: 16px 4px 40px;
      &::after {
        height: 28px;
      }
      span {
        font-size: 1.2rem;
      }
    }
    figure {
      height: 280px;
      gap: 16px;
      padding: 10px;
      figcaption {
        font-size: 1.5rem;
        line-height: 1.5;
      }
    }
  }
}
.com_sec--btn div.tab_act--11,
.com_sec--btn div.tab_act--12,
.com_sec--btn div.tab_act--2 {
  &::before {
    background: transparent;
  }
}
.com_sec--btn div.tab_act--11 {
  p:only-of-type {
    background: #0A50A1;
    color: #fff;
  }
}
.com_sec#sec02 .com_sec--btn div.tab_act--2 {
  p:only-of-type {
    background: #0ca7be;
    color: #fff;
  }
}


.com_sec--table {
  position: relative;
  padding: 72px 0;
  h3 {
    width: 90%;
    max-width: 1024px;
    margin: 0 auto 32px;
    color: var(--main-color);
    font-size: 2.4rem;
    font-weight: bold;
  }
  @media screen and (max-width: 767px) {
    h3 + p.sp_block {
      font-size: 1.4rem;
      width: 90%;
      margin: 0 auto;
    }
  }
}
.com_sec--table .table_outer {
  width: 95%;
  max-width: 1120px;
  margin: 0 auto;
  text-align: center;
  table {
    display: none;
  }
  thead {
    th {
      position: relative;
      background: #DDE4ED;
      font-size: 2rem;
      font-weight: bold;
      text-align: center;
      line-height: 1.5;
      border-right: 2px solid #fff;
    }
    th:first-child {
      width: 160px;
      background: #0A50A1;
      border-right: 0;
      border-bottom: 1px solid #fff;
    }
    th:last-child {
      border-right: 0;
    }
  }
  tbody {
    tr {
      border-bottom: 1px solid #fff;
    }
    tr:nth-child(odd) {
      background: #fff;
      td {
        border-right: 2px solid #DDE4ED;
      }
    }
    tr:nth-child(even) {
      background: #DDE4ED;
      td {
        border-right: 2px solid #fff;
      }
    }
    tr:last-child {
      border-bottom: none;
    }
    th {
      position: relative;
      width: 160px;
      min-width: 160px;
      background: #0A50A1;
      color: #fff;
      border-bottom: 1px solid #fff;
    }
    th:last-child {
      border-bottom: none;
    }
    td {
      position: relative;
      background: transparent;
      padding: 20px 10px;
    }

    tr.txt_left td {
      text-align: left;
      &[colspan="2"] {
        padding-left: 40px;
      }
    }
  }
  @media screen and (max-width: 767px) {
    width: 90%;
    table {
      width: 1120px;
    }
    thead th, tbody th,
    thead td, tbody td {
      display: table-cell;
      width: auto;
      padding: 12px 8px;
    }
  }
}
.bg_white::before {
  content: '';
  position: absolute;
  background: rgba(255, 255, 255, 0.75);
  width: 100%;
  height: 100%;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  z-index: 1;
}

.com_sec--table .table_outer table.table_act--11,
.com_sec--adapter .table_outer table.table_act--12,
.com_sec--table .table_outer table.table_act--2 {
  display: table;
}
.com_sec#sec02 .com_sec--table .table_outer thead tr,
.com_sec#sec02 .com_sec--table .table_outer tbody tr {
  width: 100%;
  td {width: 320px;}
}

.com_sec--adapter {
  h3 {
    width: 90%;
    max-width: 1160px;
    margin: 0 auto 24px;
    color: var(--main-color);
    font-size: 2.4rem;
    font-weight: bold;
  }
  .adapter_txt {
    width: 90%;
    max-width: 1160px;
    margin: 0 auto 40px;
    display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px 36px;
    .adapter_txt--ttl {
      width: 100%;
      max-width: 160px;
    }
    div {
      display: flex;
      flex-wrap: wrap;
      gap: 20px;
      p {
        width: 100%;
        max-width: calc(25% - 15px);
        font-size: 1.35rem;
      }
      p span {font-size: 1.6rem;}
    }
    figure {
      min-width: 328px;
      img {width: 100%;}
    }
  }
  @media screen and (max-width: 767px) {
    .adapter_txt {
      flex-direction: column;
      & + p.sp_block {
        font-size: 1.4rem;
        width: 95%;
        margin: 0 auto;
      }
      .adapter_txt--ttl {
        max-width: initial;
        font-size: 1.6rem;
      }
      div {
        gap: 4px 10px;
        p {
          max-width: calc(50% - 5px);
        }
      }
      figure {
        width: 100%;
        min-width: initial;
        text-align: center;
        img {width: initial;}
      }
    }
  }
}
.com_sec--adapter .table_outer {
  position: relative;
  width: 95%;
  max-width: 1160px;
  margin: 0 auto;
  text-align: center;
  table {
    display: none;
  }
  tr {
    border-top: 0;
  }
  tr:last-child {
    border-bottom: 0;
  }
  thead {
    th {
      position: relative;
      background: none;
      font-size: 1.6rem;
      font-weight: bold;
      text-align: center;
      line-height: 1.5;
      &::after {
        content: '';
        position: absolute;
        background: #DDE4ED;
        top: 0;
        right: 0;
        bottom: 0;
        margin: auto;
        width: 249px;
        height: 100%;
        z-index: -1;
      }
    }
    th:first-child {
      width: 104px;
      background: transparent;
      &::after {display: none;}
    }
  }
  tbody {
    th {
      position: relative;
      width: 104px;
      min-width: 104px;
      background: none;
      color: #fff;
      padding: 0;
      padding-top: 10px;
      font-size: 1.4rem;
      &::before {
        content: '';
        position: absolute;
        background: #0A50A1;
        top: 20px;
        right: 0;
        left: 0;
        margin: auto;
        width: 100%;
        /* height: 120px; */
        height: calc(120px + 39px);
        z-index: -1;
      }
    }
    tr:first-child th::before {
      height: calc(264px + 78px);
    }
    tr:nth-child(4) th::before,
    tr:nth-child(7) th::before {
      height: calc(120px + 19.5px);
    }
    td {
      position: relative;
      background: transparent;
      padding: 0;
      figure {
        border: 1px solid #0A50A1;
        margin-top: 20px;
        margin-left: 15px;
        width: 117px;
        & + p {
          margin-left: 15px;
          font-size: 1.3rem;
          font-weight: normal;
          line-height: 1.5;
          display: flex;
          justify-content: center;
          align-items: flex-start;

          min-height: 58.5px;
        }
      }
    }
    tr:nth-child(4) td figure + p,
    tr:nth-child(7) td figure + p {
      min-height: 39px;
    }
  }
  @media screen and (max-width: 767px) {
    table {
      width: 1160px;
    }
    thead th, tbody th,
    thead td, tbody td {
      display: table-cell;
      width: auto;
    }
    /* thead th:first-child {
      width: 72px;
    }
    tbody th {
      min-width: 72px;
    } */
  }
}
/* .com_sec--adapter .table_outer table.table_act--12 thead th {
  color: #fff;
  &::after {
    background: var(--main-color);
  }
} */

.com_sec--adapter .com_sec--btn {
  position: absolute;
  justify-content: flex-end;
  gap: 15px;
  z-index: 1;
  div {
    width: 249px;
    max-width: initial;
    height: 88px;
  }
  @media screen and (max-width: 767px) {
    width: 1160px;
    flex-wrap: nowrap;
  }
}

.com_sec--detail {
  padding: 64px 0 0;
  h3 {
    margin: 0 auto -24px;
    color: var(--main-color);
    font-size: 2.4rem;
    font-weight: bold;
  }
}

.main_sec--list.rheo_meter h4 + p {
  min-height: 260px;
  @media screen and (max-width: 767px) {
    min-height: initial;
  }
}
.main_sec--list.rheo_meter figure {
  min-height: 194px;
  display: flex;
  justify-content: center;
  align-items: center;
  @media screen and (max-width: 767px) {
    min-height: initial;
  }
}

.main_sec--list.seal_tester li {background: #EAF4F8;}
.main_sec--list.seal_tester figure {
  min-height: 193px;
  display: flex;
  justify-content: center;
  align-items: center;
  @media screen and (max-width: 767px) {
    min-height: initial;
  }
}