/* Research & Development Consulting: uses the original HDP type and colour. */
#service5_fv {
  padding: 250px 24px 270px;
  text-align: center;
  color: #fff;
  background: linear-gradient(rgba(20, 41, 67, .42), rgba(20, 41, 67, .48)), url(../img/research_lab.png) center / cover no-repeat;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 79%);
}
#service5_fv h1 { font-size: 40px; font-weight: 400; letter-spacing: .02em; }
#service5_fv p { font-size: 13px; letter-spacing: .02em; }
.research-container { width: calc(100% - 50px); max-width: 915px; margin: 0 auto; }
#research_intro { padding: 15px 0 80px; }
#research_services { padding: 0 0 90px; }
#research_academia { padding: 0 0 90px; }
#research_approach { padding: 65px 0 75px; background: #f5f7fa; }
#research_intro h2, #research_services h2, #research_academia h2, #research_approach h2 {
  position: relative;
  margin: 0 0 45px;
  padding: 15px 0;
  text-align: center;
  font-size: 26px;
  font-weight: 500;
}
#research_intro h2::after, #research_services h2::after, #research_academia h2::after, #research_approach h2::after {
  content: ""; position: absolute; bottom: 0; left: 50%; transform: translateX(-50%);
  width: 125px; height: 2px; background: #3c68b8;
}
#research_intro p, #research_approach p, .academia-lead, .academia-service-link {
  font-size: 15px; line-height: 2; letter-spacing: .02em;
}
.research-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 30px; }
.research-card { padding: 30px; border: 1px solid #d5dce6; border-top: 3px solid #3c68b8; }
.research-card .research-en { margin-bottom: 10px; font-size: 13px; color: #3c68b8; letter-spacing: .04em; }
.research-card h3 { margin-bottom: 22px; font-size: 21px; line-height: 1.6; font-weight: 500; }
.research-card p, .research-card li { font-size: 15px; line-height: 1.9; }
.research-card ul { margin-top: 22px; padding-left: 1.2em; list-style: disc; }
.research-card li { margin-top: 8px; list-style: disc; }
.academia-lead { text-align: center; }
.academia-figure { width: 100%; max-width: 915px; margin: 40px auto 0; line-height: 1.6; }
/* Palette and bold graphic treatment sampled from service3.png / service4.png. */
.academia-organization {
  position: relative; height: 680px;
  border: 3px solid #93b0d7; border-radius: 50%; background: #f5f8fc;
}
.academia-organization > .academia-organizer,
.academia-fields-label {
  position: absolute; left: 50%; transform: translateX(-50%); z-index: 1;
  width: max-content; max-width: 86%; text-align: center; font-weight: 900;
}
.academia-organization > .academia-organizer { top: 34px; color: #2f5597; font-size: 26px; }
.academia-fields-label { top: 80px; font-size: 21px; color: #595959; }
.academia-network { position: absolute; inset: 0; }
.academia-connectors { position: absolute; inset: 0; width: 100%; height: 100%; overflow: visible; }
.academia-connectors > path { fill: none; stroke: #bfbfbf; stroke-width: 16; vector-effect: non-scaling-stroke; }
.academia-field {
  position: absolute; display: flex; align-items: center; justify-content: center;
  width: 27%; height: 96px; padding: 10px;
  border: 6px solid var(--field-color); border-radius: 22px; background: #f5f5f5;
  color: var(--field-color); font-size: clamp(16px, 1.7vw, 23px); font-weight: 900; line-height: 1.4; text-align: center;
}
.field-bio { --field-color: #ff4e79; left: 17%; top: 140px; }
.field-info { --field-color: #4472c4; right: 17%; top: 140px; }
.field-material { --field-color: #ed7d31; left: 17%; bottom: 100px; }
.field-robot { --field-color: #7030a0; right: 17%; bottom: 100px; }
.academia-core {
  position: absolute; top: 280px; left: 50%; transform: translateX(-50%);
  display: flex; flex-direction: column; align-items: center; justify-content: center;
  width: 350px; height: 160px; padding: 12px;
  border: 6px solid #2e75b6; border-radius: 28px; background: #d0eeed; color: #2f5597; text-align: center;
}
.academia-core h3 { margin: 2px 0 7px; font-size: 28px; font-weight: 900; line-height: 1.4; }
.academia-core > p:last-child { font-size: 16px; font-weight: 700; line-height: 1.6; }
.academia-link-label { position: absolute; padding: 0 3px; color: #595959; background: #f5f8fc; font-size: 16px; font-weight: 900; line-height: 1.5; transform: translate(-50%, -50%); }
.link-top-left { left: 30%; top: 260px; }
.link-top-right { left: 70%; top: 260px; }
.link-bottom-left { left: 30%; top: 460px; }
.link-bottom-right { left: 70%; top: 460px; }
.academia-figure figcaption { margin-top: 22px; font-size: 13px; text-align: center; color: #555; }
.academia-service-link { margin-top: 40px; padding-top: 30px; border-top: 1px solid #d5dce6; }
.academia-service-link strong { color: #3c68b8; font-weight: 500; }
.research-contact {
  display: flex; align-items: center; justify-content: center; gap: 20px;
  width: fit-content; max-width: 100%; margin: 35px auto 0; padding: 16px 28px;
  border: 1px solid #464646; color: #000; font-size: 15px;
}
.research-contact img { width: 18px; }

@media screen and (max-width: 767px) {
  #service5_fv { padding: 33.333vw 6.6667vw 36vw; clip-path: polygon(0 0, 100% 0, 100% 100%, 0 86%); }
  #service5_fv h1 { padding: 2.6667vw 0; font-size: 7.2vw; line-height: 1.3; }
  #service5_fv p { font-size: 3.4667vw; }
  .research-container { width: 86.6667%; }
  #research_intro { padding: 4vw 0 45px; }
  #research_services, #research_academia { padding: 0 0 55px; }
  #research_approach { padding: 40px 0 50px; }
  #research_intro h2, #research_services h2, #research_academia h2, #research_approach h2 {
    font-size: 4.8vw; padding: 4vw 0 2.6667vw; margin-bottom: 6.6667vw;
  }
  #research_intro h2::after, #research_services h2::after, #research_academia h2::after, #research_approach h2::after { width: 16.6667vw; }
  #research_intro p, #research_approach p, .academia-lead, .academia-service-link { font-size: 14px; line-height: 2; }
  .research-grid { grid-template-columns: 1fr; gap: 24px; }
  .research-card { padding: 25px 22px; }
  .research-card h3 { font-size: 4.6667vw; }
  .research-card p, .research-card li { font-size: 14px; }
  .academia-lead { text-align: left; }
  .academia-figure { margin-top: 32px; }
  .academia-organization { height: 690px; border-width: 2px; }
  .academia-organization > .academia-organizer { top: 60px; font-size: 18px; }
  .academia-fields-label { top: 100px; font-size: 14px; }
  .academia-connectors > path { stroke-width: 9; }
  .academia-field { width: 33%; height: 86px; padding: 4px; border-width: 4px; border-radius: 16px; font-size: clamp(13px, 3.7vw, 15.5px); }
  .field-bio, .field-info { top: 150px; }
  .field-material, .field-robot { bottom: 106px; }
  .field-bio, .field-material { left: 15%; }
  .field-info, .field-robot { right: 15%; }
  .academia-core { top: 294px; height: 144px; width: 250px; max-width: 86%; border-width: 4px; border-radius: 22px; }
  .academia-core h3 { font-size: 23px; margin: 4px 0 8px; }
  .academia-core > p:last-child { font-size: 13px; }
  .academia-link-label { font-size: 14px; padding: 0 3px; }
  .academia-figure figcaption { font-size: 12px; line-height: 1.8; }
  .academia-service-link { margin-top: 30px; padding-top: 25px; }
  .research-contact { font-size: 14px; }
}
