.cTextLink {
  position: relative;
  display: flex;
  justify-content: flex-end;
  min-width: calc(157 * var(--px));
  padding-bottom: calc(14 * var(--px));
  padding-left: calc(3 * var(--px));
  font-size: calc(0.875 * var(--rem));
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.05em;
}
.cTextLink::before {
  position: absolute;
  bottom: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #E8E4E4;
  transition: background-color 0.4s var(--ease-out-cubic);
}

@media screen and (min-width: 960px) {
  .cTextLink {
    min-width: calc(189 * var(--px));
    padding-top: calc(2 * var(--px));
    padding-bottom: calc(10 * var(--px));
    padding-left: calc(3 * var(--px));
    font-size: calc(0.9375 * var(--rem));
    line-height: 2.08;
  }
}
@media screen and (min-width: 960px) and (hover: hover) {
  .cTextLink:hover::before {
    background-color: var(--color-black);
  }
}
.cRecruit__title {
  width: calc(244 * var(--px));
  height: calc(99 * var(--px));
  margin: 0 calc(40 * var(--px));
}
.cRecruit__lead {
  width: calc(189 * var(--px));
  height: calc(48 * var(--px));
  margin: calc(7 * var(--px)) calc(124 * var(--px)) 0 calc(87 * var(--px));
}
.cRecruit__content {
  display: grid;
  gap: calc(48 * var(--px));
  margin-top: calc(44 * var(--px));
}
.cRecruit__image {
  order: 2;
  width: calc(125 * var(--px));
  height: calc(168 * var(--px));
  margin-left: calc(25 * var(--px));
}
.cRecruit__linkWrap {
  display: flex;
  justify-content: end;
  margin: 0 calc(35 * var(--px));
}

@media screen and (min-width: 960px) {
  .cRecruit {
    display: grid;
    grid-template-columns: calc(475 * var(--px)) calc(341 * var(--px));
    gap: calc(303 * var(--px));
    padding: 0 calc(184 * var(--px));
  }
  .cRecruit__textArea {
    width: calc(475 * var(--px));
  }
  .cRecruit__title {
    width: calc(343 * var(--px));
    height: calc(159 * var(--px));
    margin: 0;
  }
  .cRecruit__lead {
    width: calc(404 * var(--px));
    height: calc(34 * var(--px));
    margin: calc(15 * var(--px)) 0 0 calc(71 * var(--px));
  }
  .cRecruit__content {
    gap: calc(43 * var(--px));
    margin-top: 0;
  }
  .cRecruit__image {
    order: 1;
    width: calc(341 * var(--px));
    height: calc(359 * var(--px));
    margin-left: 0;
  }
  .cRecruit__linkWrap {
    order: 2;
    margin: 0;
  }
}
.pFv {
  position: relative;
  height: 100svh;
}
.pFv__visual {
  position: absolute;
  top: calc(50% - 8 * var(--px));
  left: 50%;
  width: calc(340 * var(--px));
  height: calc(227 * var(--px));
  transform: translateX(-50%) translateY(-50%);
}
.pFv__title {
  position: absolute;
  bottom: calc(24 * var(--px));
  left: calc(30 * var(--px));
  width: calc(190 * var(--px));
  height: calc(34 * var(--px));
}

.pStory {
  margin-top: calc(119 * var(--px));
}
.pStory__title {
  width: calc(151 * var(--px));
  height: calc(111 * var(--px));
  margin: 0 calc(30 * var(--px));
}
.pStory__content {
  display: grid;
  gap: calc(56 * var(--px));
  margin-top: calc(40 * var(--px));
}
.pStory__block {
  display: grid;
  gap: calc(48 * var(--px));
}
.pStory__block[data-block="2"] .pStory__image {
  width: calc(200 * var(--px));
  height: calc(175 * var(--px));
}
.pStory__textWrap {
  margin: 0 calc(30 * var(--px));
}
.pStory__catch {
  font-size: calc(0.875 * var(--rem));
  font-weight: 400;
  line-height: 2;
  text-align: right;
  letter-spacing: 0.07em;
}
.pStory__text {
  font-size: calc(0.875 * var(--rem));
  font-weight: 400;
  line-height: 2;
  letter-spacing: 0.07em;
}
.pStory__image {
  width: calc(370 * var(--px));
  height: calc(262 * var(--px));
  margin-left: auto;
}

.pMvv {
  position: relative;
  margin-top: calc(140 * var(--px));
  overflow: hidden;
}
.pMvv__inner {
  padding: calc(92 * var(--px)) calc(30 * var(--px)) calc(80 * var(--px));
}
.pMvv__bgImage {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.pMvv__list {
  display: grid;
  gap: calc(35 * var(--px));
}
.pMvv__item {
  position: relative;
  padding-top: calc(14 * var(--px));
}
.pMvv__item::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 1px;
  content: "";
  background-color: #96908F;
  mix-blend-mode: overlay;
}
.pMvv__title {
  display: grid;
  gap: calc(34 * var(--px));
  width: calc(340 * var(--px));
}
.pMvv__title[data-id=vision] .pMvv__titleJa {
  height: calc(101 * var(--px));
}
.pMvv__titleEn {
  width: 100%;
  height: calc(13 * var(--px));
  mix-blend-mode: overlay;
}
.pMvv__titleJa {
  width: 100%;
  height: calc(62 * var(--px));
}
.pMvv__text {
  margin-top: calc(18 * var(--px));
  font-size: calc(0.875 * var(--rem));
  font-weight: 400;
  line-height: 1.9;
  color: var(--color-white);
  letter-spacing: 0.02em;
}

.pMessage {
  margin: calc(116 * var(--px)) 0 calc(110 * var(--px));
}
.pMessage__content {
  padding: 0 calc(30 * var(--px));
}
.pMessage__title {
  width: calc(182 * var(--px));
  height: calc(61 * var(--px));
  margin-left: auto;
}
.pMessage__textWrap {
  display: grid;
  gap: calc(12 * var(--px));
  margin-top: calc(48 * var(--px));
}
.pMessage__text {
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.95;
  letter-spacing: 0.07em;
}
.pMessage__image {
  width: calc(370 * var(--px));
  height: calc(253 * var(--px));
  margin-top: calc(56 * var(--px));
  margin-right: calc(30 * var(--px));
}

.pCompany {
  margin-top: calc(46 * var(--px));
}
.pCompany__inner {
  padding: 0 calc(30 * var(--px));
}
.pCompany__title {
  width: calc(104 * var(--px));
  height: calc(61 * var(--px));
}
.pCompany__table {
  width: 100%;
  margin-top: calc(49 * var(--px));
}
.pCompany__tbody {
  display: grid;
  gap: calc(24 * var(--px));
}
.pCompany__row {
  display: grid;
  grid-template-columns: calc(88 * var(--px)) 1fr;
  gap: calc(10 * var(--px));
}
.pCompany__head {
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}
.pCompany__data {
  font-size: calc(0.9375 * var(--rem));
  font-weight: 400;
  line-height: 1.8;
  letter-spacing: 0.05em;
}

.pRecruit {
  margin: calc(211 * var(--px)) 0 0;
}

.lFooter {
  margin-top: calc(120 * var(--px));
}

@media screen and (min-width: 960px) {
  .pFv {
    height: 100vh;
  }
  .pFv__visual {
    top: min(230px, 230 * var(--px));
    width: calc(746 * var(--px));
    height: calc(420 * var(--px));
  }
}
@media screen and (min-width: 960px) and (height <= 1488px) {
  .pFv__visual {
    top: 50%;
    transform: translate(-50%, -50%);
  }
}
@media screen and (min-width: 960px) {
  .pFv__title {
    bottom: min(70px, 70 * var(--px));
    left: calc(95 * var(--px));
    width: calc(180 * var(--px));
    height: calc(41 * var(--px));
  }
  .pStory {
    margin-top: calc(220 * var(--px));
  }
  .pStory__title {
    width: calc(212 * var(--px));
    height: calc(122 * var(--px));
    margin: 0 calc(184 * var(--px));
  }
  .pStory__content {
    gap: calc(46 * var(--px));
    margin-top: calc(-23 * var(--px));
    margin-left: calc(184 * var(--px));
  }
  .pStory__block {
    gap: calc(48 * var(--px));
  }
  .pStory__block[data-block="1"] {
    grid-template-columns: calc(480 * var(--px)) calc(463 * var(--px));
    gap: calc(225 * var(--px));
    margin-left: calc(136 * var(--px));
  }
  .pStory__block[data-block="1"] .pStory__image {
    width: calc(463 * var(--px));
    height: calc(507 * var(--px));
    margin-left: 0;
  }
  .pStory__block[data-block="1"] .pStory__textWrap {
    margin-top: calc(175 * var(--px));
  }
  .pStory__block[data-block="2"] {
    grid-template-columns: calc(297 * var(--px)) calc(470 * var(--px));
    gap: calc(218 * var(--px));
  }
  .pStory__block[data-block="2"] .pStory__textWrap {
    order: 2;
  }
  .pStory__block[data-block="2"] .pStory__image {
    order: 1;
    width: calc(297 * var(--px));
    height: calc(270 * var(--px));
    margin-top: calc(85 * var(--px));
    margin-left: 0;
  }
  .pStory__textWrap {
    margin: 0;
  }
  .pStory__text {
    font-size: calc(0.9375 * var(--rem));
    line-height: 2.2;
    letter-spacing: 0.06em;
  }
  .pMvv {
    margin-top: calc(230 * var(--px));
  }
  .pMvv__inner {
    padding: calc(155 * var(--px)) calc(187 * var(--px)) calc(153 * var(--px)) calc(183 * var(--px));
  }
  .pMvv__list {
    display: grid;
    grid-template-columns: repeat(3, 1fr);
    gap: calc(100 * var(--px));
  }
  .pMvv__item {
    padding-top: calc(20 * var(--px));
  }
  .pMvv__item:nth-child(2) {
    margin-top: calc(109 * var(--px));
  }
  .pMvv__item:nth-child(3) {
    margin-top: calc(268 * var(--px));
  }
  .pMvv__title {
    gap: calc(50 * var(--px));
    width: calc(306 * var(--px));
  }
  .pMvv__title[data-id=vision] .pMvv__titleJa {
    height: calc(125 * var(--px));
  }
  .pMvv__titleJa {
    height: calc(79 * var(--px));
  }
  .pMvv__text {
    margin-top: calc(24 * var(--px));
    font-size: calc(0.9375 * var(--rem));
    line-height: 1.88;
  }
  .pMessage {
    margin: calc(194 * var(--px)) 0 calc(280 * var(--px));
  }
  .pMessage__inner {
    display: grid;
    grid-template-columns: calc(498 * var(--px)) calc(584 * var(--px));
    gap: calc(222 * var(--px));
    align-items: flex-end;
    padding-right: calc(184 * var(--px));
  }
  .pMessage__content {
    order: 2;
    padding: 0;
  }
  .pMessage__title {
    width: calc(584 * var(--px));
    height: calc(217 * var(--px));
    margin-left: 0;
  }
  .pMessage__textWrap {
    gap: calc(13 * var(--px));
    width: calc(448 * var(--px));
    margin-top: calc(-161 * var(--px));
  }
  .pMessage__text {
    line-height: 1.9;
    letter-spacing: 0.04em;
  }
  .pMessage__image {
    order: 1;
    width: calc(498 * var(--px));
    height: calc(322 * var(--px));
    margin-top: 0;
    margin-right: 0;
    margin-bottom: calc(5 * var(--px));
  }
  .pCompany {
    margin-top: calc(14 * var(--px));
  }
  .pCompany__inner {
    padding: 0 calc(274 * var(--px));
  }
  .pCompany__title {
    width: calc(133 * var(--px));
    height: calc(128 * var(--px));
  }
  .pCompany__table {
    margin-top: calc(57 * var(--px));
  }
  .pCompany__tbody {
    gap: calc(20 * var(--px));
  }
  .pCompany__row {
    grid-template-columns: calc(101 * var(--px)) 1fr;
    gap: calc(26 * var(--px));
    align-items: center;
  }
  .pCompany__data[data-label=MAIL] {
    font-size: calc(0.875 * var(--rem));
    line-height: 1.73;
    letter-spacing: 0.07em;
  }
  .pRecruit {
    margin: calc(320 * var(--px)) 0 0;
  }
  .lFooter {
    margin-top: calc(220 * var(--px));
  }
}