@charset "UTF-8";
/*============================================================
	WASTE RAGS
============================================================*/
/*  ウエス（リサイクルウエス・工業用ウエス）とは？　　　　　
-------------------------------------------------*/
#waste {
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  position: relative;
  overflow-x: hidden;
}
@media only screen and (max-width: 767px) {
  #waste {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
#waste .waste__img {
  width: 36.6666666667vw;
  position: relative;
}
@media only screen and (max-width: 767px) {
  #waste .waste__img {
    width: 100%;
    height: 15.3846153846rem;
    margin-bottom: 1.9230769231rem;
  }
}
@media print, screen and (min-width: 768px) {
  #waste .waste__contents {
    width: 50vw;
    margin-left: 3.3333333333vw;
  }
}
@media only screen and (max-width: 767px) {
  #waste .waste__contents {
    width: 86.6666666667%;
    max-width: 86.6666666667vw;
    margin-inline: auto;
  }
}
#waste .waste__contents h2 {
  font-size: 2.25rem;
  letter-spacing: 0.1em;
}
@media only screen and (max-width: 767px) {
  #waste .waste__contents h2 {
    font-size: 1.8461538462rem;
    line-height: 1.4;
  }
}
#waste .waste__contents h2 small {
  font-size: 1.5rem;
}
@media only screen and (max-width: 767px) {
  #waste .waste__contents h2 small {
    font-size: 1.1538461538rem;
  }
}
#waste .waste__contents p {
  font-size: 1.125rem;
  margin-bottom: 3.125rem;
}
@media only screen and (max-width: 767px) {
  #waste .waste__contents p {
    margin-bottom: 1.9230769231rem;
  }
}
#waste .waste__contents p strong {
  font-weight: 700;
}

/*  PRODUCT LINEUP　　　　
-------------------------------------------------*/
#lineup {
  position: relative;
  padding-top: 5.9375rem;
}
@media only screen and (max-width: 767px) {
  #lineup {
    padding-top: 1.9230769231rem;
  }
}
#lineup::before, #lineup::after {
  position: absolute;
  content: "";
  right: 0;
}
#lineup::before {
  width: 100%;
  height: 15.625rem;
  background: #0071bc;
  top: 0;
  z-index: -2;
}
@media only screen and (max-width: 767px) {
  #lineup::before {
    height: 11.5384615385rem;
  }
}
#lineup::after {
  width: 63.3333333333vw;
  height: 25rem;
  background: #003e66;
  top: -4.6875rem;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  #lineup::after {
    width: 75%;
    height: 17.3076923077rem;
    top: -2.8846153846rem;
  }
}
#lineup .inner h2 {
  text-align: right;
  margin-bottom: 12.1875rem;
}
@media only screen and (max-width: 767px) {
  #lineup .inner h2 {
    margin-bottom: 7.5rem;
  }
}
#lineup .inner h3 {
  font-size: 2.25rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  color: #003e66;
  border-bottom: solid 3px #003e66;
  padding: 0 0 1.25rem;
  position: relative;
  cursor: pointer;
}
@media only screen and (max-width: 767px) {
  #lineup .inner h3 {
    font-size: 1.8461538462rem;
    padding: 0 0 0.7692307692rem;
  }
}
#lineup .inner h3::after {
  position: absolute;
  content: "";
  width: 1.875rem;
  height: 0.9375rem;
  background: #0071bc;
  -webkit-clip-path: polygon(50% 100%, 100% 0, 0 0);
          clip-path: polygon(50% 100%, 100% 0, 0 0);
  right: 1.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}
@media only screen and (max-width: 767px) {
  #lineup .inner h3::after {
    width: 1.5384615385rem;
    height: 0.7692307692rem;
  }
}
@media only screen and (max-width: 767px) and (max-width: 767px) {
  #lineup .inner h3::after {
    right: 0.7692307692rem;
  }
}
#lineup .inner h3.open::after {
  -webkit-transform: translateY(-50%) rotate(180deg);
          transform: translateY(-50%) rotate(180deg);
}
#lineup .inner h3:not(:first-of-type) {
  margin-top: 4.375rem;
}
@media only screen and (max-width: 767px) {
  #lineup .inner h3:not(:first-of-type) {
    margin-top: 2.6923076923rem;
  }
}
#lineup .inner ul {
  padding-top: 1.875rem;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 1.875rem;
}
@media only screen and (max-width: 767px) {
  #lineup .inner ul {
    padding-top: 1.1538461538rem;
    grid-template-columns: 1fr 1fr;
    gap: 1.1538461538rem;
  }
}
#lineup .inner ul li figure figcaption {
  font-size: 1.125rem;
  text-align: center;
  margin-top: 0.5em;
  line-height: 1.4;
}

/*  製品詳細ページ　　　　　
-------------------------------------------------*/
#product .inner:first-child {
  display: grid;
  grid-template-columns: 37.5rem auto;
  gap: 3.125rem;
  -webkit-box-align: center;
  -webkit-align-items: center;
     -moz-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media only screen and (max-width: 767px) {
  #product .inner:first-child {
    grid-template-columns: 100%;
    gap: 1.9230769231rem;
  }
}
#product .inner .contents h2 {
  color: #003e66;
  font-size: 2.25rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  margin-bottom: 1.875rem;
}
@media only screen and (max-width: 767px) {
  #product .inner .contents h2 {
    font-size: 1.8461538462rem;
  }
}
#product .inner .contents p {
  font-size: 1.125rem;
}
#product .inner > ul {
  margin-top: 4.375rem;
  display: -webkit-box;
  display: -webkit-flex;
  display: -moz-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-flex-wrap: wrap;
      -ms-flex-wrap: wrap;
          flex-wrap: wrap;
  -webkit-box-pack: center;
  -webkit-justify-content: center;
     -moz-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media only screen and (max-width: 767px) {
  #product .inner > ul {
    margin-top: 2.6923076923rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -webkit-flex-direction: column;
       -moz-box-orient: vertical;
       -moz-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
    -webkit-align-items: center;
       -moz-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
}
@media print, screen and (min-width: 768px) {
  #product .inner > ul li {
    width: calc((100% - 6.25rem) / 3);
  }
  #product .inner > ul li:not(:last-child) {
    margin-right: 3.125rem;
  }
}
@media only screen and (max-width: 767px) {
  #product .inner > ul li {
    width: 80%;
  }
  #product .inner > ul li:not(:last-child) {
    margin-bottom: 2.6923076923rem;
  }
}
#product .inner > ul li figure figcaption {
  font-size: 1.125rem;
  text-align: center;
  margin-top: 1em;
  line-height: 1.4;
}
#product .inner > ul li .btn {
  width: 12.5rem;
  height: 3.75rem;
  line-height: 3.75rem;
  border-radius: 1.875rem;
  font-size: 1.125rem;
  background: #0071bc;
  padding-left: 1.875rem;
  margin: 1.25rem auto 0;
}
@media only screen and (max-width: 767px) {
  #product .inner > ul li .btn {
    width: 15.3846153846rem;
    height: 4.6153846154rem;
    line-height: 4.6153846154rem;
    border-radius: 2.3076923077rem;
    font-size: 1.3846153846rem;
    padding-left: 2.3076923077rem;
    margin: 0.7692307692rem auto 0;
  }
}
#product .inner > ul li .btn::before {
  display: none;
}
#product .inner > ul li .btn span {
  right: 1.25rem;
  width: 0.9375rem;
}
#product .inner .container h3 {
  margin-top: 4.375rem;
  color: #0071bc;
  font-size: 1.875rem;
  font-weight: 600;
  letter-spacing: 0.1em;
  border-bottom: solid 3px #0071bc;
  padding-bottom: 1.875rem;
  margin-bottom: 1.875rem;
}
@media only screen and (max-width: 767px) {
  #product .inner .container h3 {
    margin-top: 2.6923076923rem;
    font-size: 1.3846153846rem;
    padding-bottom: 1.1538461538rem;
    margin-bottom: 1.1538461538rem;
  }
}
#product .inner .container ul li {
  font-size: 1.5rem;
  font-weight: 500;
  letter-spacing: 0.1em;
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.4;
}
@media only screen and (max-width: 767px) {
  #product .inner .container ul li {
    font-size: 1.1538461538rem;
  }
}
#product .inner .container ul li::before {
  content: "・ ";
}
#product .inner .container ul li:not(:last-child) {
  margin-bottom: 0.5em;
}