.l-partner {
  margin-bottom: 4rem;
}

.l-partner_head {
  display: grid;
  grid-template: 1fr / auto auto;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  margin-bottom: 4rem;
}

.l-partner_ttl {
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.l-partner_ttl_sub {
  display: block;
  padding-top: 2rem;
  color: #444;
  font-family: "Spartan",sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
}

.l-partner_txt {
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 2;
  text-align: right;
}

.l-partner_content:first-of-type {
  position: relative;
  margin-bottom: 6rem;
}

.l-partner_content:first-of-type::before {
  position: absolute;
  top: 0;
  right: -2rem;
  width: 0.1rem;
  height: 100%;
  background: #000;
  content: "";
}

.l-partner_content_wrapper {
  gap: 4rem;
  display: grid;
  grid-template: 1fr / auto auto;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.l-partner_content_ttl {
  margin-bottom: 3.5rem;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.l-partner_content_ttl_sub {
  display: block;
  padding-top: 1.2rem;
  color: #444;
  font-family: "Spartan",sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
}

.l-partner_content_txt {
  margin-bottom: 5rem;
  letter-spacing: 0.08em;
  line-height: 1.75;
}

.l-partner_content_item {
  width: 31.5rem;
}

.l-partner_content_item_wrapper {
  gap: 2rem;
  display: grid;
  grid-template: 1fr / auto auto;
  -webkit-box-pack: start;
  -ms-flex-pack: start;
  justify-content: flex-start;
}

.l-partner_content_item_img {
  margin-bottom: 3rem;
}

.l-partner_content_item_ttl {
  margin-bottom: 1.2rem;
  font-size: 1.6rem;
  font-weight: 700;
}

.l-partner_content_item_txt {
  color: #444;
  font-family: "Spartan",sans-serif;
  font-size: 1.2rem;
}

.l-engineer_ttl,.l-contractor_ttl,.l-designer_ttl,.l-medical_ttl,.l-product_ttl,.l-communication_ttl,.l-consulting_ttl {
  margin-bottom: 4rem;
  font-size: 2.4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.l-engineer_ttl_sub,.l-contractor_ttl_sub,.l-designer_ttl_sub,.l-medical_ttl_sub,.l-product_ttl_sub,.l-communication_ttl_sub,.l-consulting_ttl_sub {
  display: block;
  padding-top: 1.5rem;
  color: #444;
  font-family: "Spartan",sans-serif;
  font-size: 1.2rem;
  font-weight: 500;
  letter-spacing: 0;
}

.l-engineer_txt,.l-contractor_txt,.l-designer_txt,.l-medical_txt,.l-product_txt,.l-communication_txt,.l-consulting_txt {
  margin-bottom: 6rem;
  letter-spacing: 0.08em;
}

.l-engineer_item_wrapper,.l-contractor_item_wrapper,.l-designer_item_wrapper,.l-medical_item_wrapper,.l-product_item_wrapper,.l-communication_item_wrapper,.l-consulting_item_wrapper {
  gap: 2rem 1.2rem;
  display: grid;
  grid-auto-flow: row;
  grid-template-columns: 1fr 1fr 1fr 1fr 1fr 1fr 1fr 1fr;
  margin-bottom: 8rem;
}

.l-engineer_item_img_wrapper,.l-contractor_item_img_wrapper,.l-designer_item_img_wrapper,.l-medical_item_img_wrapper,.l-product_item_img_wrapper,.l-communication_item_img_wrapper,.l-consulting_item_img_wrapper {
  margin-bottom: 1.6rem;
  line-height: 0;
}

.l-engineer_item_ttl,.l-contractor_item_ttl,.l-designer_item_ttl,.l-medical_item_ttl,.l-product_item_ttl,.l-communication_item_ttl,.l-consulting_item_ttl {
  font-size: 1.6rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  line-height: 1.2;
}

.l-engineer_item_ttl_sub,.l-contractor_item_ttl_sub,.l-designer_item_ttl_sub,.l-medical_item_ttl_sub,.l-product_item_ttl_sub,.l-communication_item_ttl_sub,.l-consulting_item_ttl_sub {
  display: block;
  padding-top: 1rem;
  color: #444;
  font-size: 1.2rem;
  font-weight: 400;
  letter-spacing: 0;
}

.l-specialists {
  margin-bottom: 12rem;
}

.l-specialists_ttl {
  padding-top: 12rem;
  border-top: .1rem solid #444;
  font-size: 4rem;
  font-weight: 700;
  letter-spacing: 0.08em;
}

.l-specialists_ttl_sub {
  display: block;
  padding-top: 2rem;
  color: #444;
  font-family: "Spartan",sans-serif;
  font-size: 1.6rem;
  font-weight: 500;
  letter-spacing: 0;
}

.l-bnr_item {
  display: grid;
  position: relative;
  grid-template: 1fr / auto auto;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: justify;
  -ms-flex-pack: justify;
  justify-content: space-between;
  width: 100%;
  height: 44.5rem;
  padding: 0 8rem 0 6rem;
  background: url(/img/partner-specialists/l-bnr_bg.jpg) no-repeat;
  background-position: center;
  background-size: cover;
}

.l-bnr_item:hover .l-bnr_item_link::before {
  -webkit-transform: scaleX(0);
  transform: scaleX(0);
  -webkit-transform-origin: right;
  transform-origin: right;
}

.l-bnr_item_ttl {
  color: #fff;
  font-size: 3.6rem;
  font-weight: 700;
  letter-spacing: 0.04em;
}

.l-bnr_item_ttl_sub {
  display: block;
  padding-top: 1.6rem;
  font-family: "Spartan",sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0;
}

.l-bnr_item_txt {
  color: #fff;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  line-height: 2;
}

.l-bnr_item_link {
  position: absolute;
  right: 8rem;
  bottom: 6rem;
  color: #fff;
}

.l-bnr_item_link::before {
  background: #fff;
  content: "";
}

@media screen and (max-width: 48em) {
  .l-partner {
    margin-bottom: 6rem;
  }
  .l-partner_head {
    display: block;
  }
  .l-partner_ttl {
    margin-bottom: 4rem;
    font-size: 2.8rem;
    line-height: 1.2;
  }
  .l-partner_ttl_sub {
    padding-top: 0.8rem;
    font-size: 1.2rem;
  }
  .l-partner_txt {
    font-size: 1.6rem;
    line-height: 1.6;
    text-align: left;
  }
  .l-partner_content:first-of-type::before {
    top: auto;
    right: 0;
    bottom: -3rem;
    left: 0;
    width: 100%;
    height: 0.1rem;
    margin: 0 auto;
  }
  .l-partner_content_wrapper {
    display: block;
  }
  .l-partner_content_ttl {
    font-size: 1.8rem;
    line-height: 1.4;
  }
  .l-partner_content_txt {
    margin-bottom: 4rem;
  }
  .l-partner_content_item {
    width: 100%;
  }
  .l-partner_content_item_wrapper {
    display: block;
  }
  .l-partner_content_item_wrapper .l-partner_content_item:first-of-type {
    margin-bottom: 3rem;
  }
  .l-partner_content_item_img {
    margin-bottom: 2rem;
  }
  .l-engineer_ttl,.l-contractor_ttl,.l-designer_ttl,.l-medical_ttl,.l-product_ttl,.l-communication_ttl,.l-consulting_ttl {
    line-height: 1.4;
  }
  .l-engineer_txt,.l-contractor_txt,.l-designer_txt,.l-medical_txt,.l-product_txt,.l-communication_txt,.l-consulting_txt {
    margin-bottom: 4rem;
    line-height: 2;
  }
  .l-engineer_item_wrapper,.l-contractor_item_wrapper,.l-designer_item_wrapper,.l-medical_item_wrapper,.l-product_item_wrapper,.l-communication_item_wrapper,.l-consulting_item_wrapper {
    gap: 4rem 1.9rem;
    grid-template-columns: 1fr 1fr;
  }
  .l-specialists {
    margin-bottom: 6rem;
  }
  .l-specialists_ttl {
    padding-top: 6rem;
    font-size: 3.2rem;
    line-height: 1.4;
  }
  .l-specialists_ttl_sub {
    font-size: 1.2rem;
  }
  .l-bnr {
    padding: 0;
  }
  .l-bnr_item {
    display: block;
    height: auto;
    padding: 6rem 2rem 8rem;
  }
  .l-bnr_item:hover .l-bnr_item_link::before {
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
  }
  .l-bnr_item_ttl {
    margin-bottom: 4rem;
    font-size: 2.4rem;
  }
  .l-bnr_item_ttl_sub {
    font-size: 1.2rem;
    font-weight: 400;
  }
  .l-bnr_item_txt {
    padding-bottom: 4.2rem;
    font-size: 1.6rem;
  }
  .l-bnr_item_link {
    right: 2rem;
    bottom: 6rem;
  }
}

