#visual {
  background: url("../images/equipment/visual-bg.jpg") center center /cover no-repeat !important;
}
#visual .title-1:before {
  content: 'EQUIPMENT';
}

#main .page-nav {
  padding: 40px 0 60px;
  background: #e6eaf0;
  margin-top: 60px;
}
#main .page-nav ul {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}
#main .page-nav ul li {
  width: 23.61%;
  margin-left: 1.853%;
}
#main .page-nav ul li:nth-child(4n+1) {
  margin-left: 0;
}
#main .page-nav ul li a {
  position: relative;
  display: block;
  color: #fff;
  text-align: center;
  font-weight: 700;
  padding: 1em;
  background: #1a2636;
  transition: .2s;
}
#main .page-nav ul li a:hover {
  filter: brightness(110%);
}
#main .page-nav ul li a:after {
  content: '';
  position: absolute;
  left: 50%;
  bottom: 0;
  transform: translateY(75%);
  display: block;
  width: 1px;
  height: 50px;
  background: var(--c-blue3);
  transition: .2s;
}
#main .page-nav ul li a:hover:after {
  transform: translateY(100%);
}
@media (max-width:768px) {
  #main .page-nav {
    padding-bottom: 50px;
    margin-top: 1em;
  }
  #main .page-nav ul li {
    width: 49%;
    margin-left: 2%;
  }
  #main .page-nav ul li:nth-child(2n+1) {
    margin-left: 0;
  }
  #main .page-nav ul li:nth-child(n+3) {
    margin-top: 30px;
  }
  #main .page-nav ul li a:after {
    height: 30px;
  }
}

#main .section ~ .section {
  padding-top: 30px;
}
@media (max-width:768px) {
  #main .section {
    padding: 50px 0;
  }
  #main .section ~ .section {
    padding-top: 20px;
  }
}

#main .section .layout-flex-2 > * {
  width: 47.23%;
}
#main .section .layout-flex-2 figcaption {
  text-align: center;
  padding: .25em 0;
}
#main .section .layout-flex-2 figure + p {
  margin-top: .5em;
}
@media (max-width:768px) {
  #main .section .layout-flex-2 > * {
    max-width: 510px;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
  #main .section .layout-flex-2 > * ~ * {
    margin-top: 30px;
  }
}

#main .flex-box {
  max-width: 960px;
  aspect-ratio: 960 / 540;
  margin-left: auto;
  margin-right: auto;
}
#main table.default tr > * {
  text-align: center;
}