.p404 {
  background-color: var(--c-beige);
}
.p404__inner {
  padding: 0 30rem;
}
.p404__link {
  padding-top: 94rem;
  display: flex;
  align-items: center;
}
.p404__link_top {
  font-size: 11rem;
  letter-spacing: 0.04em;
  color: #c0c0bc;
}
.p404__link_line {
  margin: 0 12rem;
  width: 9rem;
  height: 1px;
  background-color: var(--c-black);
}
.p404__link_page_text {
  font-size: 11rem;
  letter-spacing: 0.04em;
}
.p404__headline {
  display: flex;
  flex-direction: column-reverse;
  gap: 20rem;
  padding-top: 49rem;
  padding-bottom: 19rem;
  border-bottom: 1px solid var(--c-gray);
}
.p404__headline_ja {
  display: block;
  width: 209rem;
  height: auto;
}
.p404__headline_en {
  font-size: 12rem;
  font-family: var(--f-en);
  letter-spacing: 0.04em;
}
.p404__block {
  padding: 40rem 0 65rem;
}
.p404__text {
  font-size: 14rem;
  line-height: 2.25;
}
.p404__button {
  margin-top: 27rem;
  display: flex;
  gap: 12rem;
  align-items: center;
  padding: 12rem 12rem 15rem;
  justify-content: center;
  border: 1px solid var(--c-black);
  border-radius: 12rem;
}
.p404__button_arrow {
  width: 7rem;
  height: auto;
}
.p404__button_text {
  font-size: 15rem;
  line-height: 1.7;
  letter-spacing: 0.02em;
}

.pContact {
  background-color: var(--c-beige);
}

@media (min-width: 768px) {
  .p404__inner {
    padding: 0 70rem;
  }
  .p404__link {
    padding-top: min(146px, 146rem);
  }
  .p404__link_top {
    font-size: min(13px, 13rem);
    letter-spacing: 0;
  }
  .p404__link_line {
    margin: 0 min(12px, 12rem);
    width: min(9px, 9rem);
  }
  .p404__link_page_text {
    font-size: min(13px, 13rem);
    letter-spacing: 0;
  }
  .p404__headline {
    flex-direction: row;
    align-items: center;
    gap: min(19px, 19rem);
    padding-top: min(177px, 177rem);
    padding-bottom: min(34px, 34rem);
  }
  .p404__headline_ja {
    width: min(574px, 574rem);
    margin-left: min(3px, 3rem);
  }
  .p404__headline_en {
    font-size: min(14px, 14rem);
  }
  .p404__block {
    padding: min(59rem, 59px) 0 min(184rem, 184px);
  }
  .p404__text {
    font-size: min(15px, 15rem);
    line-height: 2.2;
  }
  .p404__button {
    width: min(310px, 310rem);
    margin-top: min(42px, 42rem);
    padding: min(8px, 8rem) min(9px, 9rem) min(9px, 9rem);
  }
  .p404__button_text {
    font-size: min(17px, 17rem);
    line-height: 1.7;
  }
  .p404__button_arrow {
    width: min(7px, 7rem);
  }
}
@media (min-width: 768px) and (hover: hover) {
  .pCompany-info__item_box_link {
    transition: opacity 0.4s var(--ease-out-3);
  }
  .pCompany-info__item_box_link:hover {
    opacity: 0.6;
  }
  .p404__button_text {
    transition: letter-spacing 0.4s var(--ease-out-3);
  }
  .p404__button:hover .p404__button_text {
    letter-spacing: 0.1em;
  }
}