@layer page {
  .company {
    padding: 5rem 0 2.5rem;
  }
  @media screen and (min-width: 1200px) {
    .company {
      max-width: 62.5rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company {
      padding: 12.5vw 0 2.5vw;
    }
  }
  .company__main {
    background-color: #fff;
    display: flex;
    gap: 3.125rem;
    border-radius: 0.625rem;
    margin-bottom: 2.5rem;
    padding: 1.875rem 1.875rem 1.875rem 3.75rem;
  }
  @media screen and (max-width: 1200px) {
    .company__main {
      gap: 1.875rem;
      padding: 1.875rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company__main {
      flex-direction: column;
      margin-bottom: 5vw;
      padding: 7.5vw 5vw;
      gap: 7.5vw;
    }
  }
  .company__main-ttl {
    font-size: 2rem;
    font-weight: 700;
    margin-bottom: 0.625rem;
  }
  @media screen and (max-width: 1200px) {
    .company__main-ttl {
      font-size: 1.75rem;
    }
  }
  @media screen and (max-width: 767px) {
    .company__main-ttl {
      font-size: 5vw;
      margin-bottom: 2.5vw;
    }
  }
  .company__main-img {
    width: 25.625rem;
  }
  @media screen and (max-width: 767px) {
    .company__main-img {
      width: 100%;
    }
  }
  .company__main-img img {
    border-radius: 0.625rem;
  }
  .company__main-btn a {
    outline: 1px solid var(--line);
    display: flex;
    justify-content: center;
    align-items: center;
    width: 16.875rem;
    height: 3.9375rem;
    border-radius: 100rem;
    position: relative;
    font-size: 1.125rem;
    font-weight: 700;
    margin-top: 1.875rem;
    transition-duration: 0.1s;
    transition-property: background-color, outline;
  }
  @media (hover: hover) {
    .company__main-btn a:hover {
      background-color: var(--bg-green);
      outline: 1px solid var(--accent);
    }
  }
  @media screen and (max-width: 767px) {
    .company__main-btn a {
      margin: 7.5vw auto 0;
      width: 67.5vw;
    }
  }
  .company__main-btn .p-icon-blank {
    width: 1rem;
    height: 1rem;
    position: absolute;
    right: 1.25rem;
    fill: var(--accent);
  }
  @media screen and (max-width: 767px) {
    .company__main-btn .p-icon-blank {
      width: 4.25vw;
      height: 4vw;
    }
  }
  .company__address {
    font-size: 1rem;
    line-height: 1.6;
    margin-bottom: 0.625rem;
  }
  .company__tel {
    display: flex;
    align-items: flex-start;
    gap: 0.625rem;
  }
  @media screen and (max-width: 767px) {
    .company__tel {
      gap: 1.25vw;
    }
  }
  .company__tel dt {
    font-size: 0.9375rem;
    background-color: var(--bg-gray2);
    border-radius: 100rem;
    padding: 0.125rem 0.625rem;
    display: inline-block;
  }
  @media screen and (max-width: 767px) {
    .company__tel dt {
      font-size: 3.75vw;
      white-space: nowrap;
    }
  }
  .company__tel dd {
    font-size: 1rem;
    line-height: 1.6;
    padding-top: 0.125rem;
  }
  @media screen and (max-width: 767px) {
    .company__tel dd {
      font-size: 3.75vw;
    }
  }
  .company__wrap {
    background-color: #fff;
    border-radius: 0.625rem;
    padding: 3.75rem;
  }
  @media screen and (max-width: 1200px) {
    .company__wrap {
      padding: 1.875rem;
    }
  }
  .company__ttl {
    font-size: 1.25rem;
    font-weight: 700;
    margin-bottom: 0.625rem;
  }
  .company__lists {
    margin-top: 1.25rem;
  }
  .company__lists .js-accordion {
    background-color: var(--bg-gray2);
    border-radius: 0.625rem;
    border: 2px solid transparent;
    transition: 0.25s border;
    border-radius: 0.625rem;
  }
  @media (hover: hover) {
    .company__lists .js-accordion:hover {
      border-color: var(--accent);
    }
    .company__lists .js-accordion:hover.js-accordion[open] {
      border-color: transparent;
    }
  }
  .company__lists-ttl {
    font-size: 1rem;
    font-weight: 700;
    padding: 0.625rem 2.5rem;
    position: relative;
    text-align: center;
  }
  .company__lists-ttl .p-icon-toggle {
    width: 1rem;
    height: 1rem;
    position: absolute;
    top: 50%;
    right: 2.5rem;
    transform: translateY(-50%);
  }
  .company__lists-ttl .p-icon-toggle::before, .company__lists-ttl .p-icon-toggle::after {
    background-color: var(--accent);
  }
  .company__item + .company__item {
    margin-top: 2.5rem;
  }
  .company__list {
    width: 33.3333333333%;
  }
  @media screen and (max-width: 767px) {
    .company__list {
      width: 100%;
    }
  }
  .company__list-inner {
    border-top: 1px solid var(--line);
    margin: 0 1.25rem;
    padding: 1.25rem;
  }
  @media screen and (max-width: 1200px) {
    .company__list-inner {
      padding: 1.25rem 0.625rem;
    }
  }
  .company__list-wrap + .company__list-wrap {
    margin-top: 1.875rem;
  }
  @media screen and (max-width: 767px) {
    .company__list-wrap + .company__list-wrap {
      margin-top: 5vw;
    }
  }
  .company__list-box {
    display: flex;
    justify-content: space-between;
    gap: 1.25rem;
  }
  @media screen and (max-width: 767px) {
    .company__list-box {
      flex-direction: column;
      gap: 0;
    }
  }
  .company__list li {
    font-size: 0.9375rem;
    padding-bottom: 0.3125rem;
  }
  @media screen and (max-width: 1200px) {
    .company__list li {
      font-size: 0.875rem;
      line-height: 1.6;
    }
  }
  @media screen and (max-width: 767px) {
    .company__list li {
      font-size: 3.75vw;
    }
  }
  .company__list a {
    text-decoration: underline;
    transition-duration: 0.2s;
    transition-property: color;
  }
  @media (hover: hover) {
    .company__list a:hover {
      color: var(--accent);
    }
  }
  .company__area {
    font-size: 1rem;
    font-weight: 700;
    margin-bottom: 0.3125rem;
    color: var(--accent);
  }
}