@charset "UTF-8";
/* CSS Document */

/*　下層共通　*/
main > section > section,
main > section > div {
  width: calc(100% - 4vw);
  max-width: 1200px;
  margin: 0 auto 12rem;
}
@media screen and (max-width: 959px) {
main > section > section,
main > section > div {
  width: calc(100% - 2em);
  margin: 0 auto 10rem;
}
}

/*　製品一覧　*/
/* ============================================ */
.table01 {
  border-collapse: separate;
	border-spacing:0;
  width: 100%;
  text-align: center;
	font-size: .9em;
}
.table01 th, .table01 td {
  padding: 1em;
}
.table01 td {
  background-color: #fff;
}
.table01 thead {
  position: -webkit-sticky;
  position: sticky;
  top: 80px;
  left: 0;
  z-index: 1;
}
.table01 .item th {
  color: #fff;
  font-weight: 500;
  background: #333;
  border-right: 1px solid #fff;
}
.table01 .item th:last-of-type {
  border-right: none;
}
.table01 tbody tr th {
  font-weight: bold;
  text-align: center;
  position: relative;
}
.table01 tbody th,
.table01 tbody td {
  border-right: 1px solid var(--gray-dark);
  border-bottom: 1px solid var(--gray-dark);
}
.table01 tbody th.type {
  border-left: 1px solid var(--gray-dark);
}
.table01 tbody th {
  background-color: #f3f3f3;
	background: #e7efe9;
	position: relative;
}
@media screen and (min-width: 960px) {
	header.active + main .table_section::before {
    content: "";
    width: 100%;
    height: 80px;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1;
  }
}
@media screen and (max-width: 959px) {
  .product header {
    z-index: 100;
  }
  .scroll-box {
    overflow: hidden;
    overflow-x: scroll;
  }
  .table01 {
    width: 1000px;
    font-size: .85em;
    line-height: 1.2;
  }
  .table01 thead {
    position: relative;
    top: 0;
  }
	.table01 thead th,
  .table01 tbody tr th {
    position: -webkit-sticky;
    position: sticky;
    left: 0;
/*    z-index: 2;*/
  }
  .table01 thead th:nth-child(2) {
    z-index: 3;
  }
}
@media screen and (max-width: 767px) {
  .table01 {
    width: 720px;
  }
  .table01 th, .table01 td {
    padding: 1em .5em;
  }
}
@media screen and (max-width: 420px) {
}

/*　拠点情報　*/
/* ============================================ */
.map_img {
	border: 1px solid var(--gray);
  text-align: center;
	margin: auto;
	padding: 2em 3em;
}
.map_img img {
  max-width: var(--con-s);
}
.map-list {
  display: flex;
  justify-content: center;
  column-gap: 2em;
  margin-top: 1em;
}
.map-list li {
  padding-left: 1em;
  position: relative;
}
.map-list li::before {
  content: "";
  width: .8em;
  height: .8em;
  position: absolute;
  top: .5em;
  left: 0;
  border-radius: 50%;
}
.map-list li.dot-facility::before {
  background-color: #19603a;
}
.map-list li.dot-office::before {
  background-color: #005bac;
}
@media screen and (min-width: 960px) {
}
@media screen and (max-width: 767px) {
	.map_img {
	padding: 1em;
	}
}

