.cFV__inner {
  padding-top: 207rem;
}
.cFV__headline {
  position: absolute;
  top: 150rem;
  left: 0;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  padding: 0 30rem;
}
.cFV__headline_en {
  font-family: var(--f-en);
  font-size: 20rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-white);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.cFV__headline_ja {
  width: var(--_fv-headline-ja-w);
  height: var(--_fv-headline-ja-h);
  margin-top: 0;
}
.cFV__image {
  width: 100%;
  height: var(--_fv-image-height, 0);
}

@media screen and (min-width: 768px) {
  .cFV__inner {
    padding-top: min(282px, 282rem);
  }
  .cFV__headline {
    position: absolute;
    top: min(212px, 212rem);
    right: var(--_fv-headline-right, 0);
    left: auto;
    padding: 0;
  }
  .cFV__headline_en {
    font-size: min(22px, 22rem);
    font-weight: 600;
  }
  .cFV__image {
    width: 100%;
    height: var(--_fv-image-height, 0);
    padding-left: 51rem;
  }
}
.cSecHeadline__en {
  overflow: hidden;
}
.cSecHeadline__en_text {
  font-family: var(--f-en);
  font-size: 46rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-white);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.cSecHeadline__ja {
  margin-top: -0.5em;
  font-size: 16rem;
  font-weight: 600;
  line-height: 1.6;
  letter-spacing: 0.02em;
}

.pFV {
  --_fv-image-height: 400rem;
  --_fv-headline-ja-w: 232rem;
  --_fv-headline-ja-h: 54rem;
}

.pMission__inner {
  position: relative;
  z-index: 1;
  padding: 60rem 0 140rem;
}
.pMission__image {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.pMission__image_item {
  position: absolute;
}
.pMission__image_item_border {
  border: 1px solid var(--c-recruit-border-gray);
}
.pMission__image_item[data-id="1"] {
  top: 240rem;
  right: 0;
  width: 196rem;
  height: 208rem;
}
.pMission__image_item[data-id="2"] {
  top: 329rem;
  left: 30rem;
  width: 132rem;
  height: 175rem;
}
.pMission__image_item[data-id="3"] {
  bottom: -40rem;
  left: 204rem;
  width: 156rem;
  height: 128rem;
}
.pMission__copy {
  padding: 0 42rem;
}
.pMission__copy_text {
  display: flex;
  flex-direction: column;
  gap: 4rem;
  align-items: flex-start;
  font-size: 18rem;
  font-weight: 500;
  line-height: 1.6;
  letter-spacing: 0.04em;
}
.pMission__copy_text_bracket {
  position: relative;
  left: -14rem;
}
.pMission__note {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  margin-top: 362rem;
}
.pMission__headline {
  display: flex;
  flex-direction: column;
  align-items: center;
}
.pMission__headline_en {
  overflow: hidden;
  font-family: var(--f-en);
  font-size: 47rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-white);
  text-transform: uppercase;
  letter-spacing: 0.02em;
}
.pMission__headline_tegaki {
  width: 256rem;
  height: 51rem;
  margin-top: -26rem;
}
.pMission__text {
  margin-top: 30rem;
  font-size: 16rem;
  font-weight: 500;
  line-height: 2;
  text-align: center;
}

.pValue {
  border-top: 1px solid var(--c-recruit-border-gray);
}
.pValue__inner {
  padding: 50rem 30rem 85rem;
}
.pValue__list {
  margin-top: 36rem;
}
.pValue__item {
  padding: 12rem 0 30rem;
  counter-increment: value-item;
  border-bottom: 1px solid var(--c-recruit-border-gray);
}
.pValue__item_index {
  display: flex;
  gap: 4rem;
  align-items: center;
  justify-content: flex-start;
  font-family: var(--f-en);
  font-size: 21rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-white);
}
.pValue__item_index_number {
  margin-top: 1rem;
}
.pValue__item_index_number::before {
  content: counter(value-item, decimal-leading-zero);
}
.pValue__item_title {
  margin-top: 14rem;
  font-size: 20rem;
  font-weight: 600;
  line-height: 1.5;
  letter-spacing: 0.02em;
}
.pValue__item_text {
  margin-top: 9rem;
  font-size: 15rem;
  font-weight: 500;
  line-height: 1.8;
  letter-spacing: 0.03em;
}

.pService__inner {
  position: relative;
  z-index: 1;
  padding: 90rem 30rem 80rem;
}
.pService__background {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.pService__background_image {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: opacity 0.48s var(--e-out-cubic);
}
.pService__background_image_sticky {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 100vh;
}
.pService__background_image[data-id="2"] {
  opacity: var(--_opacity, 0);
}
.pService__background.is-active {
  --_opacity: 1;
}
.pService__headline {
  color: var(--c-white);
}
.pService__list {
  margin-top: 140rem;
}
.pService__item {
  position: relative;
  padding: 34rem 30rem;
  counter-increment: service-item;
  background-color: var(--c-white);
  border-bottom: 1px solid var(--c-recruit-border-gray);
}
.pService__item_index {
  position: absolute;
  top: 12rem;
  right: 12rem;
  z-index: 1;
  display: flex;
  gap: 4rem;
  align-items: center;
  justify-content: flex-start;
  font-family: var(--f-en);
  font-size: 14rem;
  font-weight: 600;
  line-height: 1;
  color: #dfdfdf;
}
.pService__item_index_number::before {
  content: counter(service-item, decimal-leading-zero);
}
.pService__item_head {
  display: flex;
  gap: 16rem;
  align-items: center;
  justify-content: flex-start;
}
.pService__item_icon {
  width: 62rem;
  height: 54rem;
}
.pService__item_title {
  font-size: 18rem;
  font-weight: 600;
  line-height: 1.06;
}
.pService__item_text {
  margin-top: 16rem;
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.6;
}
.pService__company {
  display: flex;
  justify-content: center;
  margin-top: 60rem;
}
.pService__company_link {
  position: relative;
  z-index: 1;
  display: flex;
  gap: 8rem;
  align-items: center;
  justify-content: center;
  width: 210rem;
  height: 210rem;
}
.pService__company_circle {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1;
  width: 100%;
  height: 100%;
}
.pService__company_circle::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  background-color: #b1b1b1;
  border-radius: 50%;
  opacity: 0.12;
}
.pService__company_circle::after {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  content: "";
  border: 1px solid var(--c-white);
  border-radius: 50%;
}
.pService__company_text {
  font-size: 15rem;
  font-weight: 500;
  line-height: 1.6;
  color: var(--c-white);
  letter-spacing: 0.02em;
}

.pFeatures__inner {
  padding: 80rem 30rem;
  border-top: 1px solid var(--c-recruit-border-gray);
}
.pFeatures__pagination {
  display: none;
}
.pFeatures__background {
  display: none;
}
.pFeatures__list {
  display: grid;
  gap: 60rem;
  margin-top: 36rem;
}
.pFeatures__item {
  counter-increment: feature-item;
}
.pFeatures__item_image {
  width: 100%;
  height: 240rem;
}
.pFeatures__item_image_border {
  border: 1px solid var(--c-recruit-border-gray);
}
.pFeatures__item_note {
  margin-top: 24rem;
}
.pFeatures__item_index {
  display: flex;
  gap: 0.25em;
  align-items: baseline;
  justify-content: flex-start;
  font-family: var(--f-en);
  font-size: 16rem;
  font-weight: 600;
  line-height: 1.4;
  color: var(--c-white);
  letter-spacing: 0.02em;
}
.pFeatures__item_index_text {
  text-transform: uppercase;
}
.pFeatures__item_index_number {
  margin-top: 1rem;
}
.pFeatures__item_index_number::before {
  content: counter(feature-item, decimal-leading-zero);
}
.pFeatures__item_title {
  margin-top: 4rem;
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.48;
  letter-spacing: 0.04em;
}
.pFeatures__item_text {
  margin-top: 14rem;
  font-size: 15rem;
  font-weight: 500;
  line-height: 1.9;
}
.pFeatures__item_no1 {
  display: flex;
  align-items: flex-start;
  justify-content: flex-start;
  margin-top: 4rem;
}
.pFeatures__item_no1_head {
  display: flex;
  flex-direction: column;
  gap: 8rem;
  align-items: flex-start;
}
.pFeatures__item_no1_text {
  font-size: 14rem;
  font-weight: 500;
  line-height: 1.6;
  text-decoration: underline;
  text-decoration-thickness: 2px;
  text-underline-offset: 0.7em;
  letter-spacing: 0.04em;
}
.pFeatures__item_no1_year {
  font-size: 22rem;
  font-weight: 500;
  line-height: 1.4;
  letter-spacing: 0.04em;
}
.pFeatures__item_no1_tegaki {
  width: 117rem;
  height: 65rem;
  margin-left: 0;
}

@media screen and (min-width: 768px) {
  .cSecHeadline__en_text {
    font-size: min(56px, 56rem);
  }
  .cSecHeadline__ja {
    font-size: min(16px, 16rem);
  }
  .pFV {
    --_fv-headline-right: min(383px, 383rem);
    --_fv-headline-ja-w: min(260px, 260rem);
    --_fv-headline-ja-h: min(60px, 60rem);
    --_fv-image-height: 696rem;
  }
  .pMission__inner {
    padding: min(178px, 178rem) 0 252rem;
  }
  .pMission__image_item[data-id="1"] {
    top: min(160px, 160rem);
    right: 8rem;
    width: 350rem;
    height: 370rem;
  }
  .pMission__image_item[data-id="2"] {
    top: min(448px, 448rem);
    left: 51rem;
    width: 253rem;
    height: 334rem;
  }
  .pMission__image_item[data-id="3"] {
    right: 152rem;
    bottom: max(-88px, -88rem);
    left: auto;
    width: 328rem;
    height: 272rem;
  }
  .pMission__copy {
    height: 138rem;
    padding: 0;
    margin-left: 167rem;
  }
  .pMission__copy_text {
    flex-direction: row;
    flex-wrap: wrap;
    gap: min(11px, 11rem) 0;
    justify-content: flex-start;
    width: min(530px, 530rem);
    font-size: min(24px, 24rem);
  }
  .pMission__copy_text_bracket {
    left: 0;
    margin-left: max(-14px, -14rem);
  }
  .pMission__note {
    height: 227rem;
    margin-top: 95rem;
  }
  .pMission__headline_en {
    font-size: min(72px, 72rem);
  }
  .pMission__headline_tegaki {
    width: min(312px, 312rem);
    height: min(62px, 62rem);
    margin-top: max(-40px, -40rem);
  }
  .pMission__text {
    margin-top: min(30px, 30rem);
    font-size: min(18px, 18rem);
  }
  .pValue__inner {
    padding: 60rem 152rem min(200px, 200rem);
  }
  .pValue__list {
    margin-top: min(48px, 48rem);
  }
  .pValue__item {
    display: flex;
    align-items: baseline;
    justify-content: flex-start;
    padding: min(48px, 48rem) 0;
  }
  .pValue__item_index {
    flex-shrink: 0;
    gap: min(11px, 11rem);
    width: min(178px, 178rem);
    font-size: min(28px, 28rem);
  }
  .pValue__item_index_number {
    margin-top: min(1px, 1rem);
  }
  .pValue__item_title {
    flex-shrink: 0;
    width: min(398px, 398rem);
    margin-top: 0;
    font-size: min(22px, 22rem);
    line-height: 1.6;
  }
  .pValue__item_text {
    position: relative;
    top: -0.25em;
    flex-grow: 1;
    margin-top: 0;
    margin-left: auto;
    font-size: min(17px, 17rem);
    line-height: 2;
  }
  .pService__inner {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    padding: min(348px, 348rem) 154rem min(240px, 240rem);
  }
  .pService__headline {
    position: sticky;
    top: calc(50vh - var(--recruit-header-height));
    height: calc(75vh - var(--recruit-header-height));
    margin-top: min(122px, 122rem);
    color: var(--c-white);
  }
  .pService__headline_en_text {
    font-size: min(52px, 52rem);
  }
  .pService__body {
    width: 724rem;
  }
  .pService__list {
    margin-top: 0;
  }
  .pService__item {
    display: grid;
    grid-template-columns: 81rem 1fr;
    gap: 0 min(52px, 52rem);
    padding: min(62px, 62rem) min(68px, 68rem) min(60px, 60rem) min(63px, 63rem);
  }
  .pService__item_index {
    top: min(12px, 12rem);
    right: auto;
    left: min(16px, 16rem);
    gap: min(4px, 4rem);
    font-size: min(14px, 14rem);
  }
  .pService__item_head {
    display: contents;
  }
  .pService__item_icon {
    grid-row: 1/span 2;
    align-self: center;
    width: min(81px, 81rem);
    height: min(73px, 73rem);
  }
  .pService__item_title {
    font-size: min(20px, 20rem);
  }
  .pService__item_text {
    margin-top: min(12px, 12rem);
    font-size: min(15px, 15rem);
    line-height: 1.9;
  }
  .pService__company {
    margin-top: min(120px, 120rem);
  }
  .pService__company_link {
    gap: min(8px, 8rem);
    width: min(210px, 210rem);
    height: min(210px, 210rem);
  }
  .pService__company_text {
    font-size: min(15px, 15rem);
  }
  .pFeatures {
    margin-top: min(210px, 210rem);
  }
  .pFeatures__inner {
    position: relative;
    z-index: 1;
    height: 700vh;
    padding: 0 64rem min(240px, 240rem);
    border-top: none;
    border-bottom: 1px solid var(--c-recruit-border-gray);
  }
  .pFeatures__trigger {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    width: 1px;
    height: 100%;
    pointer-events: none;
  }
  .pFeatures__trigger_item {
    width: 100%;
    height: 100vh;
  }
  .pFeatures__trigger_item:first-child {
    height: 200vh;
  }
  .pFeatures__pagination {
    position: absolute;
    top: 0;
    left: 0;
    display: flex;
    align-items: flex-start;
    width: 100%;
    height: calc(100% - 25vh);
    padding-right: 46rem;
    pointer-events: none;
  }
  .pFeatures__pagination_list {
    position: sticky;
    top: var(--recruit-header-height);
    display: flex;
    flex-direction: column;
    gap: min(8px, 8rem);
    align-items: center;
    justify-content: center;
    height: calc(100vh - var(--recruit-header-height));
    margin-left: auto;
  }
  .pFeatures__pagination_item {
    display: flex;
    flex-direction: column;
    gap: min(8px, 8rem);
    align-items: center;
    justify-content: center;
  }
  .pFeatures__pagination_item.is-active {
    --_color: var(--c-recruit-black);
    --_line-height: min(32px, 32rem);
  }
  .pFeatures__pagination_item:last-child {
    --_display: none;
  }
  .pFeatures__pagination_line {
    position: relative;
    display: var(--_display);
    width: 1px;
    height: var(--_line-height, min(8px, 8rem));
    margin-left: min(1px, 1rem);
    transition: height 0.48s var(--e-out-cubic);
    will-change: height;
  }
  .pFeatures__pagination_line_track {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--c-recruit-border-gray);
  }
  .pFeatures__pagination_line_thumb {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: var(--_color, var(--c-recruit-border-gray));
    transform: scaleY(0);
    transform-origin: top;
  }
  .pFeatures__pagination_number {
    font-family: var(--f-en);
    font-size: min(12px, 12rem);
    font-weight: 600;
    line-height: 1;
    color: var(--_color, #cfcfcf);
    letter-spacing: -0.03em;
  }
  .pFeatures__background {
    position: absolute;
    top: 0;
    left: 0;
    z-index: -1;
    display: block;
    width: 100%;
    height: calc(100% - 25vh);
    pointer-events: none;
  }
  .pFeatures__background_sticky {
    position: sticky;
    top: var(--recruit-header-height);
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    height: calc(100vh - var(--recruit-header-height));
    overflow: hidden;
  }
  .pFeatures__background_text {
    --_duration: 180s;
    display: flex;
    gap: 70rem;
    align-items: center;
    justify-content: flex-start;
    padding-left: 70rem;
  }
  .pFeatures__background_text_image {
    width: 1648rem;
    height: 128rem;
  }
  .pFeatures__background_text[data-id="1"] {
    animation: loop-x-1 var(--_duration) calc(var(--_duration) / -2) linear infinite;
    animation-direction: var(--_direction);
  }
  .pFeatures__background_text[data-id="2"] {
    animation: loop-x-2 var(--_duration) linear infinite;
    animation-direction: var(--_direction);
  }
  .pFeatures__headline {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    padding: 0 64rem;
    pointer-events: none;
  }
  .pFeatures__headline_sticky {
    position: sticky;
    top: var(--recruit-header-height);
    height: calc(100vh - var(--recruit-header-height));
  }
  .pFeatures__list {
    position: sticky;
    top: var(--recruit-header-height);
    gap: 0;
    height: calc(100vh - var(--recruit-header-height));
  }
  .pFeatures__item {
    position: relative;
    top: 0;
    left: 0;
    display: flex;
    align-items: center;
    width: 100%;
    height: 100%;
  }
  .pFeatures__item_inner {
    display: flex;
    flex-direction: row-reverse;
    align-items: flex-end;
    width: 100%;
    margin-top: min(48rem, 5.61vh);
  }
  .pFeatures__item_image {
    flex-shrink: 0;
    width: min(840rem, 98.13vh);
    height: min(584rem, 68.22vh);
    margin-right: min(40rem, 4.67vh);
    opacity: var(--_opacity);
    transition: opacity 0.48s var(--e-out-cubic);
  }
  .pFeatures__item_note {
    flex-shrink: 0;
    width: 30.61vh;
    min-width: 262rem;
    margin-top: 0;
    margin-right: auto;
    margin-left: 10.51vh;
    opacity: var(--_opacity);
    transition: opacity 0.48s var(--e-out-cubic), transform 0.48s var(--e-out-cubic);
    transition-delay: 0.08s;
    transform: translateY(var(--_y));
  }
  .pFeatures__item_index {
    gap: 0.25em;
    font-size: min(18px, 18rem);
  }
  .pFeatures__item_index_number {
    margin-top: min(1px, 1rem);
  }
  .pFeatures__item_title {
    margin-top: min(5px, 5rem);
    font-size: min(26px, 3.04vh);
  }
  .pFeatures__item_text {
    margin-top: min(20px, 20rem);
    font-size: min(17px, 1.99vh);
    line-height: 2;
  }
  .pFeatures__item_no1 {
    margin-top: min(6px, 6rem);
  }
  .pFeatures__item_no1_head {
    gap: min(8px, 8rem);
  }
  .pFeatures__item_no1_text {
    font-size: min(14px, 14rem);
  }
  .pFeatures__item_no1_year {
    font-size: min(26px, 26rem);
  }
  .pFeatures__item_no1_tegaki {
    width: min(117px, 117rem);
    height: min(65px, 65rem);
  }
  .pFeatures__item.is-init {
    --_opacity: 0;
    --_y: min(10px, 10rem);
    position: absolute;
  }
  .pFeatures__item.is-active {
    --_opacity: 1;
    --_y: 0;
  }
}
@media (any-hover: hover) {
  .pService__company_circle {
    transition: transform 0.48s var(--e-out-cubic);
  }
  .pService__company_link:hover .pService__company_circle {
    transform: scale(1.1);
  }
}