/* ------------------------------------------------------------
// oem
------------------------------------------------------------ */
.page-top-img-wrap {
  position: relative;
  width: 100%;
  max-width: 1827px;
  margin: 0 auto 100px;
}
.page-top-img-wrap .txt {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 72px;
  font-weight: 300;
  color: #675952;
  letter-spacing: 0;
  text-align: center;
  width: 100%;
}
@media print, screen and (max-width: 1599px) {
  .page-top-img-wrap .txt {
    font-size: 56px;
  }
}
@media print, screen and (max-width: 1199px) {
  .page-top-img-wrap .txt {
    font-size: 42px;
  }
}
@media print, screen and (max-width: 991px) {
  .page-top-img-wrap .txt {
    font-size: 30px;
  }
}
@media print, screen and (max-width: 767px) {
  .page-top-img-wrap .txt {
    font-size: 20px;
  }
}

.oem-subttl {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-size: 29px;
  font-weight: 500;
  margin-bottom: 40px;
  padding: 6px 25px 4px;
  background: #fff799;
}
@media print, screen and (max-width: 767px) {
  .oem-subttl {
    font-size: 20px;
    width: 100%;
    border-radius: 5px;
  }
}

.oem-box {
  margin: 170px 0 180px;
}
.oem-box .oem-ttl {
  font-size: 35px;
  font-weight: 500;
  color: #675952;
  text-align: center;
  margin-bottom: 50px;
}
@media print, screen and (max-width: 767px) {
  .oem-box {
    margin-bottom: 120px;
  }
  .oem-box .oem-ttl {
    font-size: 24px;
    margin-bottom: 40px;
  }
}

.category-box {
  margin-bottom: 160px;
}
.category-box ul {
  display: flex;
  flex-wrap: wrap;
  gap: 40px;
}
.category-box ul li {
  display: flex;
  gap: 20px;
  width: calc((100% - 40px) / 2);
}
.category-box ul li .icon {
  width: 234px;
  height: 234px;
}
.category-box ul li .content {
  flex: 1;
}
.category-box ul li .content .name {
  font-size: 38px;
  font-weight: 700;
  color: #675952;
  line-height: 1.4;
  letter-spacing: 0;
  margin-bottom: 10px;
}
.category-box ul li .content .txt {
  display: flex;
  flex-wrap: wrap;
}
@media print, screen and (max-width: 1399px) {
  .category-box ul li .icon {
    width: 200px;
    height: 200px;
  }
  .category-box ul li .content .name {
    font-size: 24px;
  }
}
@media print, screen and (max-width: 991px) {
  .category-box {
    margin-bottom: 120px;
  }
  .category-box ul li {
    width: 100%;
  }
  .category-box ul li .icon {
    width: 160px;
    height: 160px;
  }
}
@media print, screen and (max-width: 767px) {
  .category-box {
    margin-bottom: 120px;
  }
  .category-box ul {
    gap: 60px;
  }
  .category-box ul li {
    flex-direction: column;
  }
  .category-box ul li .icon {
    width: 234px;
    height: 234px;
    margin: 0 auto;
  }
  .category-box ul li .content {
    padding: 20px 15px;
    background-color: #fafafa;
    border-radius: 5px;
  }
  .category-box ul li .content .name {
    font-size: 20px;
    margin-bottom: 10px;
    padding-bottom: 5px;
    border-bottom: 1px dashed #675952;
  }
}

.flow-box {
  margin-bottom: 160px;
}
.flow-box dl {
  display: flex;
  gap: 20px;
}
.flow-box dl dt {
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 37px;
  font-weight: 700;
  color: #675952;
  line-height: 1;
  width: 320px;
  height: 60px;
  background: #ffffff;
  border: 2px solid #675952;
  border-radius: 30px;
}
.flow-box dl dt.startend {
  color: #ffffff;
  background: #675952;
}
.flow-box dl dd {
  flex: 1;
}
.flow-box .arrow {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 320px;
  margin: 10px 0;
}
.flow-box .arrow span {
  width: 0;
  height: 0;
  border-left: 50px solid transparent;
  border-right: 50px solid transparent;
  border-top: 38px solid #9fa0a0;
}
@media print, screen and (max-width: 767px) {
  .flow-box {
    margin-bottom: 120px;
  }
  .flow-box dl {
    flex-direction: column;
    gap: 10px;
  }
  .flow-box dl dt {
    font-size: 18px;
    font-weight: 700;
    letter-spacing: 0;
    width: 200px;
    height: 40px;
    border: 1px solid #675952;
    border-left: 5px solid #675952;
    border-radius: 0 20px 20px 0;
  }
  .flow-box .arrow {
    width: 200px;
    margin: 20px 0;
  }
  .flow-box .arrow span {
    border-left: 30px solid transparent;
    border-right: 30px solid transparent;
    border-top: 20px solid #9fa0a0;
  }
}