.p-company-index {
  display: grid;
}
@media only screen and (max-width: 740px) {
  .p-company-index {
    grid-gap: 0.4rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-company-index {
    grid-template-columns: repeat(3, 1fr);
    grid-gap: 0.4rem 0.6rem;
  }
}

@media print, screen and (min-width: 741px) {
  .p-company-link:hover .p-company-item-thumb img {
    scale: 1.1;
  }
  .p-company-link:hover .p-company-item-ttl {
    color: #e88418;
  }
  .p-company-link:hover .p-company-item-ttl .-icon {
    background: #e88418;
  }
  .p-company-link:hover .p-company-item-ttl .-icon:after {
    border-color: #fff;
  }
}

.p-company-item-thumb {
  overflow: hidden;
}
@media print, screen and (min-width: 741px) {
  .p-company-item-thumb {
    width: 100%;
    aspect-ratio: 720/480;
  }
}
.p-company-item-thumb img {
  transition: scale 0.4s;
}
.p-company-item-ttl {
  position: relative;
  margin-inline: 0.1rem;
}
@media only screen and (max-width: 740px) {
  .p-company-item-ttl {
    margin-top: 1em;
    font-size: 0.15rem;
  }
}
@media print, screen and (min-width: 741px) {
  .p-company-item-ttl {
    margin-top: 0.8em;
    font-size: 0.17rem;
    transition: color 0.4s;
  }
}
.p-company-item-ttl .-icon {
  display: block;
  width: 0.26rem;
  height: 0.26rem;
  border: 2px solid #e88418;
  border-radius: 100%;
  position: absolute;
  top: 50%;
  right: 0;
  translate: 0 -50%;
  transition: background 0.4s;
}
.p-company-item-ttl .-icon:after {
  content: "";
  display: block;
  width: 0.08rem;
  height: 0.08rem;
  border-top: 2px solid #e88418;
  border-right: 2px solid #e88418;
  position: absolute;
  top: 50%;
  left: 50%;
  rotate: 45deg;
  translate: -60% -50%;
  transition: border 0.4s;
}