html {
  overflow: visible;
}

div {
  line-height: 1.5;
}

.pageMv {
  margin-bottom: 0;
}

.pageMv::before {
  background-image: url(../../images/job/img-mv-bg.webp);
}
@media screen and (max-width: 767px) {
  .pageMv::before {
    background: url(../../images/job/img-mv-bg-sp.webp) no-repeat top center / cover;
  }
}

.about {
  padding-bottom: 9.5rem;
}

.about__container {
  margin-bottom: 2.5rem;
}

.about__title-en {
  text-align: center;
  color: var(--colorRed);
  font-family: var(--familyFigtree);
  font-size: 1.25rem;
  line-height: 1;
  font-weight: 700;
  padding-top: 4rem;
  padding-left: 10%;
}

.about__title-ja {
  text-align: center;
  font-size: 2rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-feature-settings: "palt" on;
  margin-top: 2.5rem;
}

.about__text {
  margin-top: 1.5rem;
  line-height: 1.8;
  text-align: center;
  font-feature-settings: "pcap" on;
}

/* 図解コーポレートサイト　コピー */

.top-about__right {
  align-self: center;
  height: fit-content;
  position: relative;
  width: 100%;
  padding-inline: 2.75rem;
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}

.top-about__detail-img {
  aspect-ratio: 992 / 609;
  max-width: max-content;
  position: relative;
  width: 100%;
}

.top-about__detail-list {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.top-about__detail-item {
  position: absolute;
  width: min(calc(9.375vw * ((100vw - 18.25rem - 7.81%) / 100vw)), 15rem);
}

.speech-bubble {
  left: 0;
  position: absolute;
  top: -2%;
  width: 100%;
}

.speech-bubble img {
  transform: scale(1.1);
  transform-origin: left center;
  width: 100%;
}

.top-about__right--point {
  position: absolute;
  width: 16%;
}

.top-about__right--point--01 {
  left: 11%;
  top: 23%;
}

.top-about__right--point--02 {
  left: 25.4%;
  top: -2.5%;
}

.top-about__right--point--03 {
  left: 45%;
  top: 15.5%;
}

.top-about__right--point--04 {
  top: 1%;
  right: 25.2%;
}

.top-about__right--point--05 {
  left: 19.5%;
  bottom: 20%;
}

.top-about__right--point--06 {
  left: 32%;
  bottom: 39.5%;
}

.top-about__right--point--07 {
  left: 42.5%;
  bottom: 15%;
}

.top-about__right--point--08 {
  right: 25.5%;
  bottom: 33%;
}

@keyframes fuwafuwa {
  0% {
    transform: translateY(0.5vw);
  }
  50% {
    transform: translateY(-1.5vw);
  }
  100% {
    transform: translateY(0.5vw);
  }
}

@keyframes fuwafuwa2 {
  0% {
    transform: translateY(1.5vw);
  }
  50% {
    transform: translateY(0);
  }
  100% {
    transform: translateY(1.5vw);
  }
}

@keyframes fuwafuwa3 {
  0% {
    transform: translateY(-1vw);
  }
  50% {
    transform: translateY(1vw);
  }
  100% {
    transform: translateY(-1vw);
  }
}

@keyframes fuwafuwa4 {
  0% {
    transform: translateY(-1.5vw);
  }
  50% {
    transform: translateY(0.5vw);
  }
  100% {
    transform: translateY(-1.5vw);
  }
}

.dec-ball__area {
  height: 100%;
  left: 0;
  position: absolute;
  top: 0;
  width: 100%;
}

.dec-ball {
  aspect-ratio: 1;
  display: block;
  position: absolute;
}

.dec-ball1 {
  animation: fuwafuwa 10s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 7.9%;
  top: 45.12%;
  width: 1.2vw;
}

.dec-ball2 {
  animation: fuwafuwa3 7s infinite;
  background: url(../../images/common/ball-blue.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 26.7%;
  top: 40.4%;
  width: 2.34vw;
}

.dec-ball3 {
  animation: fuwafuwa3 14s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 20%;
  top: 17.89%;
  width: 2.3vw;
}

.dec-ball4 {
  animation: fuwafuwa2 12s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 61.46%;
  top: 6.67%;
  width: 1.77vw;
}

.dec-ball5 {
  animation: fuwafuwa4 8s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 54.7%;
  top: 13.65%;
  width: 1.81vw;
}

.dec-ball6 {
  animation: fuwafuwa2 9s infinite;
  background: url(../../images/common/ball-red.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 73.6%;
  top: 33.38%;
  width: 2.45vw;
}

.dec-ball7 {
  animation: fuwafuwa3 10s infinite;
  background: url(../../images/common/ball-blue.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 77%;
  top: 20.8%;
  width: 1.2vw;
}

.dec-ball8 {
  animation: fuwafuwa2 7s infinite;
  background: url(../../images/common/ball-blue.webp);
  background-repeat: no-repeat;
  background-size: contain;
  left: 75.9%;
  top: 53.5%;
  width: 3.54vw;
}

/* スライダーswiper無し */

.slide__wrapper {
  overflow-x: hidden;
}

.slide__wrapper + .slide__wrapper {
  margin-top: 0.5rem;
}

.slide__contain {
  align-items: center;
  display: flex;
  width: 100%;
}
.slideItems {
  align-items: center;
  animation: infinite-scroll-left 30s infinite linear 0s both;
  display: inline-flex;
  align-items: stretch;
  gap: 2.5rem;
  /* gapの半分のpaddingで */
  padding: 0 calc(2.5rem / 2);
  width: max-content;
}
.slideItem {
  width: fit-content;
  height: 5vw;
  min-height: 4rem;
  display: flex;
}
.slideItem img {
  height: 100%;
  width: auto;
  display: block;
  max-width: none;
}

.slide__wrapper + .slide__wrapper .slideItems {
  animation-direction: reverse;
}

@keyframes infinite-scroll-right {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(100%);
  }
}

@keyframes infinite-scroll-left {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-100%);
  }
}

@media screen and (max-width: 767px) {
  .about {
    padding-bottom: var(--size96);
  }

  .about__container {
    margin-bottom: 0;
  }

  .container__top-about-right {
    padding-inline: 4.0743589%;
    margin-bottom: var(--size32);
  }

  .about__title-en {
    font-size: var(--size18);
    padding-top: var(--size64);
    padding-left: 0;
  }

  .about__title-ja {
    font-size: var(--size24);
    margin-top: var(--size24);
    letter-spacing: 0;
  }

  .about__text {
    margin-top: var(--size24);
    line-height: 1.8;
    text-align: left;
  }

  .top-about__right {
    padding-inline: 0;
    margin-block: var(--size32);
  }

  .slide__wrapper + .slide__wrapper {
    margin-top: 0;
  }
}

/* ==================== */
/* 私たちの主な仕事 */
/* ==================== */
.description {
  background-color: #f2f2f2;
  padding-top: 7.5rem;
  position: relative;
}

.description .secTitle__en,
.description .secTitle__ja {
  text-align: center;
}

.description__head-text {
  line-height: 2;
  margin-top: 1.5rem;
  text-align: center;
  font-feature-settings: "palt" on;
}

.description__head-img {
  margin-top: 3rem;
}

.description__head-img img {
  width: 100%;
}

.description__title {
  font-weight: 700;
  text-align: center;
  font-size: 1.75rem;
  letter-spacing: 0.06em;
  font-feature-settings: "palt" on;
  margin-top: 5rem;
}

.fixed__scrollbar__start-end {
  position: relative;
}

.systemNavList__link {
  padding-right: 2rem;
}

.pageAbout {
  background-color: #fff;
}

@media screen and (max-width: 767px) {
  .description .secTitle__en {
    line-height: 1.15;
  }

  .description .secTitle__ja {
    margin-top: var(--size12);
  }
}

.scrollbarLink__category {
  color: var(--colorGray750);
  font-size: 0.75rem;
}

.scrollbarLink__compamy {
  font-size: 0.875rem;
  font-weight: 700;
  font-feature-settings: 'palt' on;
}

.scrollbarLink__icon {
  position: relative;
  width: 1.5rem;
  height: 1.5rem;
}

.description__content {
  background-color: #fff;
  border-radius: 16px;
  padding: 4rem;
}

.description__contents {
  padding-top: 2.75rem;
}

.description__contents + .description__contents {
  padding-top: 2.5rem;
}

.description__contents-head {
  display: flex;
  flex-direction: row-reverse;
  gap: 2.5rem;
}

.description-contents-head__titles {
  flex: 1;
}

.description-contents-head__img {
  flex: 0 1 50%;
}

.description-contents-head__img img {
  width: 100%;
}

.description-contents-head__title {
  font-size: 1.25rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-feature-settings: "palt" on;
  margin-top: 2rem;
}

.description-contents-head__text {
  margin-top: 1rem;
  line-height: 2;
  font-feature-settings: "palt" on;
}

.description__three {
  margin-top: 2.5rem;
  background-color: var(--colorGray100);
  border-radius: 16px;
  padding: 1.5rem 2.5rem 2rem 2.5rem;
}

.three__title {
  font-size: 1.5rem;
  text-align: center;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-feature-settings: "palt" on;
  line-height: 1.2;

  span {
    color: var(--colorRed);
    font-weight: 700;
    font-family: var(--familyFigtree);
    font-size: 2.5rem;
    letter-spacing: 0.06em;
    font-feature-settings: "palt" on;
    line-height: 1;
  }
}
.three__cards {
  display: flex;
  text-align: center;
  gap: 1.5rem;
  margin-top: 1.75rem;
  justify-content: center;
}
.threeCard {
  max-width: 25rem;
  margin-right: auto;
  margin-left: auto;
}
.threeCard__icon {
  background-color: #fff;
  border-radius: 50%;
  display: inline-grid;
  place-content: center;
  width: 7.5rem;
  height: 7.5rem;
}
.threeCard__title {
  font-weight: 700;
  font-size: 1.125rem;
  margin-top: 1rem;
  text-align: center;
}
.threeCard__text {
  margin-top: 0.5rem;
  line-height: 1.8;
  font-size: 0.875rem;
  text-align: left;
  font-feature-settings: "palt" on;
}

.desceiption__line {
  display: block;
  position: relative;
  border-top: 1px solid var(--colorGray350);
  padding-top: 1.5rem;
  text-align: left;
  margin-block: 3rem 2rem;
}

.desceiption__line::after {
  content: "";
  background-color: var(--colorRed);
  width: 7.5rem;
  height: 1px;
  position: absolute;
  top: -1px;
  left: 0;
}

.descriptionList {
  display: flex;
  align-items: flex-start;
  gap: 2.5rem;
}

.descriptionList + .descriptionList {
  margin-top: 1.5rem;
}

.descriptionList__img {
  flex: 0 1 31.512605%;
}
.descriptionList__img img {
  width: 100%;
}

.descriptionList__details {
  flex: 1;
}

.descriptionList__titles {
  display: flex;
  align-items: center;
  gap: 1rem;
}

.descriptionList__title {
  font-size: 1.5rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-feature-settings: "palt" on;
}

.descriptionList__titles span {
  color: var(--colorRed);
  font-family: var(--familyFigtree);
  font-weight: 700;
  letter-spacing: 0.06em;
  font-feature-settings: "palt" on;
  font-size: 2rem;
}

.descriptionList__text {
  margin-top: 1rem;
  line-height: 2;
  font-feature-settings: "palt" on;
}

.example__videos {
  display: flex;
  gap: 2.5rem;
}
.example__video {
  flex: 0 1 66.6%;
  aspect-ratio: 16 / 9;
}
.description .description__contents:nth-of-type(4) .example__video {
  flex: 0 1 68.6%;
}
.example__video iframe {
  width: 100%;
  height: 100%;
}
.example-videos__details {
  flex: 1;
}
.example-videos__title {
  font-weight: 700;
  font-size: 1.5rem;
  letter-spacing: 0.06em;
  font-feature-settings: "palt" on;
}
.example-videos__text {
  line-height: 2;
  margin-top: 1rem;
  font-feature-settings: "palt" on;
}

.example__cards {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
  gap: 1rem;
  align-items: stretch;
  margin-top: 2rem;
}
.exampleCard {
  background-color: var(--colorGray100);
  padding: 1.5rem;
  border-radius: 8px;
}
.exampleCard__title {
  font-weight: 700;
  font-size: 1.125rem;
  font-feature-settings: "palt" on;
  text-align: center;
}
.exampleCard__text {
  margin-top: 0.5rem;
  line-height: 1.8;
  font-size: 0.875rem;
  font-feature-settings: "palt" on;
}

@media screen and (max-width: 1140px) {
  .example__videos {
    display: block;
  }
  .example-videos__title {
    font-size: var(--size24);
    margin-top: var(--size16);
  }


  .description__contents-head {
    display: block;
  }

  .description-contents-head__titles {
    margin-top: var(--size32);
  }

  .description-contents-head__title {
    font-size: var(--size18);
    margin-top: var(--size24);
  }

  .description-contents-head__titles .logo {
    max-width: 15.375rem;
  }

  .description-contents-head__titles .logo-jc {
    max-width: 11.864rem;
  }

  .description-contents-head__titles .logo-value {
    max-width: 7.4625rem;
  }

  .description-contents-head__text {
    margin-top: var(--size16);
  }
}

@media screen and (max-width: 767px) {
  .description {
    padding-top: var(--size80);
  }

  .description__head-text {
    margin-top: var(--size24);
    text-align: left;
  }

  .description__head-img {
    margin-top: var(--size40);
  }

  .description__title {
    font-size: var(--size24);
    margin-top: var(--size64);
    margin-bottom: var(--size32);
  }

  .scrollbarLink__category {
    font-size: var(--size12);
  }

  .scrollbarLink__compamy {
    font-size: var(--size14);
  }

  .container__description-contents-wrapper {
    padding-inline: var(--size16);
  }

  .description__contents {
    padding-top: var(--size28);
  }
  
  .description__content {
    padding: var(--size24) var(--size16);
  }

  .description__contents + .description__contents {
    padding-top: var(--size24);
  }

  .description__three {
    margin-top: var(--size40);
    padding: var(--size24);
  }

  .three__title {
    font-size: var(--size20);
    span {
      font-size: var(--size40);
    }
  }

  .three__cards {
    gap: var(--size24);
    margin-top: var(--size24);
    flex-direction: column;
  }

  .threeCard__icon {
    width: var(--size96);
    height: var(--size96);
  }
  
  .threeCard__icon img {
    width: var(--size64);
    height: var(--size64);
  }

  .threeCard__title {
    font-size: var(--size18);
    margin-top: var(--size16);
  }

  .threeCard__text {
    margin-top: var(--size8);
    font-size: var(--size14);
  }

  .desceiption__line {
    padding-top: 1.5rem;
    margin-block: 3rem 2rem;
  }

  .descriptionList {
    display: block;
  }

  .descriptionList + .descriptionList {
    margin-top: var(--size32);
  }

  .descriptionList__titles {
    display: flex;
    align-items: center;
    gap: 1rem;
    margin-top: var(--size24);
  }

  .descriptionList__title {
    font-size: var(--size24);
  }

  .descriptionList__titles {
    gap: var(--size16);
  }

  .descriptionList__titles span {
    font-size: var(--size28);
  }

  .descriptionList__title {
    font-size: var(--size20);
  }

  .descriptionList__text {
    margin-top: var(--size16);
  }

  .example-videos__title {
    font-size: var(--size20);
  }

  .example-videos__text {
    margin-top: var(--size16);
  }

  .example__cards {
    gap: var(--size8);
    margin-top: var(--size24);
  }
  
  .exampleCard {
    padding: var(--size16);
  }
  .exampleCard__title {
    font-size: var(--size18);
  }
  .exampleCard__text {
    margin-top: var(--size8);
    font-size: var(--size14);
  }
}

/* ==================== */
/* その他CTA */
/* ==================== */
.businessCTA {
  padding-block: 6rem 9.5rem;
  background-color: var(--colorGray100);
}

.businessCTA__title {
  font-size: 1.75rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  font-feature-settings: "palt" on;
  text-align: center;
}

.businessCTA__buttons {
  display: flex;
  gap: 2.5rem;
  align-items: center;
  justify-content: center;
  margin-top: 2.5rem;
}

.businessCTA__button {
  display: inline-flex;
  gap: 1rem;
  align-items: center;
  font-weight: 700;
}

.businessCTA__button:hover,
.businessCTA__button:focus {
  color: var(--colorRed);
}

.businessCTA .commonArrow::before {
  background-image: url(../../images/common/icon-external_white.svg);
  width: 0.625rem;
  height: 0.625rem;
}

.businessCTA__cards {
  display: grid;
  grid-template-columns: 1fr 1fr 1fr 1fr;
  margin-top: 3.5rem;
}

.businessCTA__card {
  position: relative;
  display: block;
  aspect-ratio: 270 / 320;
  overflow: hidden;
}

.businessCTA__card:hover .businessCTA__card-img,
.businessCTA__card:focus .businessCTA__card-img {
  transform: scale(1.1);
}

.businessCTA__card-img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  transition: transform .5s;
  transform-origin: center;
}

.businessCTA__card:nth-of-type(1) .businessCTA__card-img {
  background: url(../../images/job/other-1.webp) no-repeat center center / contain;
}
.businessCTA__card:nth-of-type(2) .businessCTA__card-img {
  background: url(../../images/job/other-2.webp) no-repeat center center / contain;
}
.businessCTA__card:nth-of-type(3) .businessCTA__card-img {
  background: url(../../images/job/other-3.webp) no-repeat center center / contain;
}
.businessCTA__card:nth-of-type(4) .businessCTA__card-img {
  background: url(../../images/job/other-4.webp) no-repeat center center / contain;
}

.businessCTA__card-title {
  position: absolute;
  bottom: 1rem;
  left: 1.5rem;
  font-size: 1.125rem;
  color: #FFF;
  font-weight: 700;
  font-feature-settings: 'palt' on;
}

@media screen and (max-width: 1200px) {
  .businessCTA__cards {
    grid-template-columns: 1fr 1fr;
  }
}

@media screen and (max-width: 767px) {
  .businessCTA {
    padding-block: var(--size80);
  }

  .businessCTA__container {
    padding: var(--size24);
  }

  .businessCTA__title {
    font-size: var(--size24);
  }

  .businessCTA__buttons {
    flex-direction: column;
    gap: var(--size24);
    margin-top: var(--size32);
  }

  .businessCTA__button {
    justify-content: space-between;
    gap: var(--size16);
  }

  .businessCTA__card-title {
    bottom: var(--size8);
    left: var(--size8);
    font-size: var(--size14);
  }
}

/* ==================== */
/* JCGをもっと知る */
/* ==================== */
.job-page .secTitle {
  text-align: center;
}

.job-page .cardList__item {
  box-shadow: 8px 8px 24px rgba(0 0 0 / 0.15);
  border-radius: 16px;
}

.job-page .pageAbout .cardList__textarea {
  border-radius: 0 0 16px 16px;
  overflow: hidden;
}

/* ==================== */
/* ページ内共通 */
/* ==================== */
.mb-0 {
  margin-bottom: 0;
}
.mt-80 {
  margin-top: 5rem;
}

@media screen and (max-width: 767px) {
  .mt-80 {
    margin-top: var(--size80);
  }
}
