@layer page {
  .link-body {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
  @media screen and (max-width: 1200px) {
    .link-body {
      padding-top: 3.75rem;
      padding-bottom: 3.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .link-body {
      padding-top: 10vw;
      padding-bottom: 5vw;
    }
  }
  .link-nav-wrap {
    margin-bottom: 2.5rem;
  }
  @media screen and (min-width: 768px) {
    .link-nav-wrap {
      display: grid;
      grid-template-columns: 30% 1fr;
      gap: 1.875rem;
    }
  }
  @media screen and (max-width: 1200px) {
    .link-nav-wrap {
      display: flex;
      flex-direction: column;
      gap: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .link-nav-wrap {
      display: flex;
      flex-direction: column;
    }
  }
  .link-nav-wrap > * {
    background: #fff;
    padding: 1.25rem;
    border-radius: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .link-nav:not(.is-1) {
      display: grid;
      grid-template-columns: repeat(2, 1fr);
      gap: 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .link-nav {
      display: flex;
      flex-direction: column;
      gap: 2.5vw;
    }
  }
  .link-nav a {
    width: 100%;
    font-size: 1.125rem;
  }
  @media screen and (min-width: 768px) {
    .link-nav a {
      padding: 1.875rem 0 1.875rem 0rem;
    }
  }
  @media screen and (max-width: 767px) {
    .link-nav a {
      display: block;
      padding: 7.5vw 5vw;
    }
  }
  .link-nav a p {
    flex-grow: 1;
  }
  @media screen and (min-width: 768px) {
    .link-nav a p {
      text-align: center;
      white-space: nowrap;
    }
  }
  .link-nav a .p-icon-blank {
    width: 1rem;
    position: absolute;
    right: 1.25rem;
    top: 50%;
    transform: translateY(-50%);
  }
  @media screen and (max-width: 767px) {
    .link-nav a {
      font-size: 4.5vw;
    }
  }
  .link-page-ttl {
    font-weight: 700;
    font-size: 1.375rem;
    margin-bottom: 1rem;
  }
  .link-page-sttl {
    position: relative;
    font-weight: 700;
    color: var(--accent);
    font-size: 1.25rem;
    margin-bottom: 1rem;
  }
  @media screen and (max-width: 767px) {
    .link-page-sttl {
      margin-bottom: 3vw;
    }
  }
  .link-sec + .link-sec {
    margin-top: 3.75rem;
  }
  @media screen and (max-width: 767px) {
    .link-sec + .link-sec {
      margin-top: 10vw;
    }
  }
  .link-company {
    background: #fff;
    padding: 2.75rem 2.5rem 3.75rem 2.5rem;
    border-radius: 0.625rem;
  }
  @media screen and (max-width: 767px) {
    .link-company {
      padding: 9vw 6.5vw;
    }
  }
  .link-list {
    gap: 0.625rem;
  }
  @media screen and (min-width: 768px) {
    .link-list {
      display: grid;
      grid-template-columns: repeat(3, 1fr);
      gap: 0.375rem 1.25rem;
    }
  }
  @media screen and (max-width: 767px) {
    .link-list {
      display: flex;
      flex-direction: column;
    }
  }
  .link-list__item {
    position: relative;
  }
  .link-list .p-icon-blank {
    width: 1rem;
    fill: var(--accent);
    margin-left: 0.4375rem;
    top: 0.5rem;
  }
  @media (hover: hover) {
    .link-list a:hover {
      text-decoration: underline;
    }
  }
  .link-items {
    display: flex;
    flex-direction: column;
    margin-top: 2.5rem;
  }
  @media screen and (min-width: 768px) {
    .link-items {
      gap: 2.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .link-items {
      margin-top: 10vw;
      gap: 10vw;
    }
  }
}