body {
  font-family: "Hiragino Kaku Gothic ProN";
}
details {
  width: 30px;
  height: 10px;
  transition: 0.5s;
  font-size: 14px;
}
details[open] {
  z-index: 1;
}
summary {
  position: relative;
  width: 100%;
  height: 100%;
  cursor: pointer;
  list-style: none;
  display: flex;
}
summary span::before,
summary span::after {
  content: "";
  left: 0px;
  width: 30px;
  height: 2px;
  position: absolute;
  background: #333333;
  transition: 0.5s;
  z-index: 2;
}
summary span::before {
  top: 0px;
}
summary span::after {
  top: 9px;
}
details[open] summary span::before {
  top: calc((30px / 2) - (2px / 2));
  transform: rotate(45deg);
  background-color: #fff;
}
details[open] summary span::after {
  top: calc((30px / 2) - (2px / 2));
  transform: rotate(-45deg);
  background-color: #fff;
}
.header__menu {
  opacity: 0;
  visibility: hidden;
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background: #333333;
  color: #fff;
  transition: 0.5s;
}
details[open] .header__menu {
  opacity: 0.7;
  visibility: visible;
}
.header__ul {
  font-size: 14px;
  margin: 40px 40px;
}
.item1__menu {
  max-width: 880px;
  padding: 40px 40px;
  font-size: 14px;
  margin: auto;
}
.header__li {
  margin-bottom: 14px;
}
.header__top {
  width: 180px;
}
.header__about {
  max-width: 640px;
  height: 80px;
  padding: 0 40px;
  margin: auto;
  font-size: 14px;
}
.item1__top {
  height: 80px;
  display: flex;
  align-items: center;
}
.header__img {
  width: 180px;
}
.header {
  width: 100%;
  height: 80px;
  margin: 0 auto;
  position: fixed;
  top: 0;
  left: 0;
}
.header2 {
  height: 80px;
  max-width: 1360px;
  padding: 0 40px;
  margin: auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
}
img {
  width: 100%;
}
main{
  margin-top: 80px;
}
.inner {
  max-width: 1360px;
  padding: 0 40px;
  margin: auto;
}
.main {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
  align-content: flex-start;
  row-gap: 40px;
  justify-content: space-between;
}
.main2 {
  width: calc(100% / 4 - 34px);
  font-size: 12px;
}
.main__img {
  margin-bottom: 10px;
}
.main__btn {
  font-size: 14px;
  margin-top: 40px;
  width: 100%;
  text-align: center;
  margin-bottom: 122px;
}
.footer {
  height: 38px;
  display: flex;
  justify-content: space-between;
}
.inner__about {
  max-width: 640px;
  padding: 0 40px;
  margin: auto;
}
.footer__a {
  font-size: 12px;
  padding-right: 30px;
}
.footer3 {
  font-size: 10px;
}
.products__p {
  font-size: 14px;
  margin: 40px 0 30px;
}
.page {
  font-size: 14px;
  text-align: center;
  margin: 40px 0 122.5px 0;
}
.page__a:first-of-type {
  margin-right: 40px;
}
.item1 {
  max-width: 880px;
  padding: 0 40px;
  font-size: 14px;
  margin: auto;
}
.item__ttl {
  margin: 40px 0 30px 0;
}
.item2 {
  display: flex;
}
.item3 {
  width: 50%;
}
.item__img {
  width: 400px;
}
.item4 {
  width: 50%;
  font-style: normal;
  line-height: normal;
  padding-left: 64px;
}
.item__p {
  width: 336px;
  margin-bottom: 30px;
}
.item__p2 {
  margin-bottom: 30px;
  font-size: 14px;
}
.item__page {
  text-align: center;
  font-size: 14px;
  margin: 76px 0 122px 0;
}
.about{
  max-width: 1360px;
  margin: auto;
  
}
.about__inner {
  max-width: 640px;
  padding: 0 40px;
  font-size: 14px;
  font-style: normal;
  line-height: normal;
}
.about__p {
  margin-bottom: 30px;
}
.about__p:last-of-type {
  margin-bottom: 122px;
}
.company__ttl {
  font-size: 14px;
  margin: 40px 0 50px 0;
}
table {
  font-size: 14px;
  font-style: normal;
  line-height: normal;
}
.com__tr {
  border-bottom: solid 1px #d9d9d9;
}
.com__tr:last-of-type {
  border-bottom: none;
}
.com__td {
  padding: 20px 0;
}
.com__td2 {
  padding: 20px 0 20px 124px;
}
iframe {
  filter: grayscale(100%);
  margin-bottom: 122px;
}

@media screen and (max-width: 900px) {
  .main2 {
    width: calc(100% / 2 - 19px);
  }
  .main__btn {
    margin-bottom: 102px;
  }
  .footer {
    display: block;
    height: auto;
  }
  .footer__a {
    padding-left: 0;
    padding-right: 30px;
  }
  .footer3 {
    margin-top: 5px;
    margin-bottom: 20px;
  }
  .page {
    margin: 40px 0 102px 0;
  }
  .item1 {
    width: 100%;
    padding: 0 40px;
  }
  .item2 {
    display: block;
  }
  .item3 {
    width: 100%;
  }
  .item__img {
    width: 100%;
    margin-bottom: 30px;
  }
  .item4 {
    width: 100%;
    padding: 0;
  }
  .item__p {
    width: 100%;
  }
  table {
    width: 100%;
  }
  .item__page {
    margin: 60px 0 102px 0;
  }
  .about {
    width: 100%;
    padding: 0 40px;
  }
  .about__p:last-of-type {
    margin-bottom: 132px;
  }
  .com__tr {
    display: grid;
  }
  .com__td {
    padding-bottom: 10px;
  }
  .com__td2 {
    padding: 0 0 10px 0;
  }
  iframe {
    margin: 40px 0 102px 0;
  }
}
