.itrc-visual-wrap { width: 100%; min-height: 380px; background: #001b54 url(../img/content/page_center_bg.jpg) no-repeat 50% 50% / cover; position: relative; display: flex; align-items: center; justify-content: center; margin-bottom: 50px; overflow: hidden; border-top: 2px solid #35bdc7; }
.itrc-inner { position: relative; width: 100%; aspect-ratio: 2.5; max-width: 1000px; margin: 0 auto; }
.itrc-lines-svg { position: absolute; top: 0; left: 0; width: 100%; height: 100%; z-index: 1; }
.itrc-center { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); width: 26%; height: 25%; z-index: 10; }
.center-box { width: 100%; height: 100%; border: 1px solid rgba(255, 255, 255, 0.4); background: transparent; display: flex; align-items: center; justify-content: center; text-align: center; color: #fff; font-size: 18px; font-weight: 700; line-height: 1.3; }
.itrc-item { position: absolute; width: 10%; height: 20%; z-index: 5; }
.icon-box { width: 100%; height: 100%; border: 1px solid rgba(255, 255, 255, 0.3); background: rgba(255, 255, 255, 0.05); display: flex; align-items: center; justify-content: center; }
.icon-box img { max-width: 100%; max-height: 100%; }
.item-tl { top: 10%; left: 18%; }
.item-tr { top: 10%; right: 18%; }
.item-bl { bottom: 10%; left: 18%; }
.item-br { bottom: 10%; right: 18%; }
@media screen and (max-width: 1024px) {
  .itrc-visual-wrap { min-height: 350px; }
  .itrc-inner { max-width: 100%; }
}
@media screen and (max-width: 768px) {
  .itrc-visual-wrap { aspect-ratio: auto; height: auto; padding: 40px 0; }
  .itrc-inner { display: flex; flex-direction: column; align-items: center; gap: 25px; height: auto; aspect-ratio: auto; position: static; transform: none; }
  .itrc-lines-svg { display: none; }
  .itrc-center, .itrc-item { position: static; transform: none; width: 240px; height: auto; }
  .center-box { width: 100%; height: 74px; font-size: 16px; }
  .itrc-item { width: 84px; height: 84px; }
}