@charset "UTF-8";
/* =====================
  トップ共通タイトル
===================== */
.top-title {
  border-bottom: solid 1px #002a87;
}

.top-title .title-no {
  font-family: Taviraj;
  font-size: 18px;
  font-weight: 600;
  line-height: 1;
  color: #002a87;
}

.top-title .t-title-wrap {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin-top: 7px;
}

.top-title .t-title-wrap span {
  font-family: Taviraj;
  font-size: 48px;
  font-weight: 600;
  line-height: 1.5;
  color: #002a87;
}

.top-title .t-title-wrap h2 {
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #002a87;
}

/* =====================
  MV
===================== */
.mv-content {
  position: relative;
  width: 100%;
  overflow: hidden;
  height: 768px;
}

/* ==== 背景スライダー ==== */
.mv-content .mv-slider {
  position: relative;
  height: inherit;
}

.mv-content .mv-slider .mv-swiper-container {
  /* position: relative; */
  position: absolute;
  top: 0;
  right: 0;
  height: inherit;
  width: 100%;
}

.mv-content .mv-slider .swiper-slide {
  background-repeat: no-repeat;
  background-position: right center;
  object-fit: cover;
  width: 100%;
  height: 768px;
  background-size: cover;
  position: relative;
}
.mv-content .mv-slider .swiper-slide::before {
  content: '';
  display: block;
  width: calc((100 / 1300) * 995 * 1vw);
  min-width: 995px;
  height: 580px;
  background-repeat: no-repeat;
  background-size: cover;
  top: 100px;
  background-position: right center;
  right: 0;
  position: absolute;
}
.mv-content .mv-slider .swiper-slide[data-id='1'] {
  background-image: url('/assets/img/top/mv/01.png');
}
.mv-content .mv-slider .swiper-slide[data-id='1']::before {
  background-image: url('/assets/img/top/mv/01t.png');
}
.mv-content .mv-slider .swiper-slide[data-id='2'] {
  background-image: url('/assets/img/top/mv/02.png');
}
.mv-content .mv-slider .swiper-slide[data-id='2']::before {
  background-image: url('/assets/img/top/mv/02t.png');
}
.mv-content .mv-slider .swiper-slide[data-id='3'] {
  background-image: url('/assets/img/top/mv/03.png');
}
.mv-content .mv-slider .swiper-slide[data-id='3']::before {
  background-image: url('/assets/img/top/mv/03t.png');
}

/* =====================
    ページネーション
===================== */
.mv .pagenation {
  position: absolute;
  z-index: 10;
  right: 38px;
  bottom: 117px;
  font-family: Taviraj;
  font-weight: bold;
  color: #fff;
  width: 137px;
  aspect-ratio: 1 / 1;
}

.mv .pagenation-inner {
  position: relative;
}

/* ==== テキスト ==== */
.mv .pagenation-count {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mv .pagenation-count-inner {
  position: relative;
}

.mv .pagenation-count-inner::before {
  content: '';
  width: 1px;
  height: 16px;
  background: white;
  display: block;
  position: absolute;
  top: 60px;
  left: 70px;
  transform: skew(-25deg);
}

/* ==== 文字単体 ==== */
.mv .pagenation-count {
  position: absolute;
  line-height: 1;
}
.mv .customPagenation {
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 16px;
  gap: 12px;
}
/* 現在 */
.mv .pagenation-count .swiper-pagination-current {
  top: 54px;
  font-size: 28px;
  left: 23px;
}
.mv .pagenation-count .swiper-pagination-current::before {
  content: '0';
}
/* 総数 */
.mv .pagenation-count .swiper-pagination-total {
  top: 60px;
  right: 23px;
  font-size: 20px;
}
.mv .pagenation-count .swiper-pagination-total::before {
  content: '0';
}

.mv .pagenation svg {
  display: block;
  width: 137px;
  height: 137px;
  aspect-ratio: 1 / 1;
  transform: rotate(90deg);
}
.mv .pagenation circle {
  fill: none;
  stroke: #fff;
  stroke-width: 1px;
}
.mv .pagenation circle.dummy {
  stroke-opacity: 0.3;
}
.mv .pagenation circle:not(.dummy) {
  stroke-dasharray: calc(47 * 2 * pi * 1px);
  stroke-dashoffset: calc(47 * 2 * pi * 1px);
  will-change: stroke-dashoffset;
}
.mv .pagenation svg.animation circle {
  animation-name: circle;
  /* Swiper delay 2000 + speed 2000 なので 4000ms で設定 */
  animation-duration: 4000ms;
  animation-delay: 0ms;
  animation-timing-function: ease;
  animation-iteration-count: infinite;
  animation-direction: normal;
  animation-fill-mode: forwards;
  animation-play-state: running;
}
@keyframes circle {
  0% {
    stroke-dashoffset: calc(47 * 2 * pi * 1px);
  }
  1% {
    stroke-dashoffset: calc(47 * 2 * pi * 1px);
  }
  79% {
    stroke-dashoffset: 0;
  }
  80% {
    stroke-dashoffset: 0;
  }
  100% {
    stroke-dashoffset: calc(47 * 2 * pi * 1px);
  }
}

/* =====================
  キャッチ
===================== */
.mv-content .content-inner {
  z-index: 10;
  /* width: 1300px; */
  margin-inline: auto;
  padding-top: 100px;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  height: 100%;
  position: absolute;
  top: 0;
  right: calc(((100 / 1300) * 995 * 1vw) - 180px);
  @media print, screen and (max-width: 1300px) {
    right: auto;
    left: 83px;
  }
}
.mv-content .content-inner .catch {
  font-size: 40px;
  font-weight: bold;
  line-height: 1.15;
  letter-spacing: 5.6px;
  color: #131518;
  background-color: #fff;
  margin-top: 40px;
  padding-block: 6px;
  padding-inline: 13px;
  height: fit-content;
}

.mv-content .content-inner .catch-1 {
  /* margin-right: 824px; */
}

.mv-content .content-inner .catch-2 {
  margin-right: 17px;
  padding-bottom: 0;
  font-feature-settings: "palt";
  letter-spacing: 3.9px;
}

.mv-content .content-inner p {
  -webkit-text-stroke: 2px #fff;
  font-family: Taviraj;
  font-size: 88px;
  font-weight: bold;
  line-height: 1.1;
  color: transparent;
  margin-right: 68px;
  transform: translateX(-11px);
}

/* ==== scroll ==== */
.mv .scroll {
  position: absolute;
  left: 20px;
  bottom: 0px;
  z-index: 10;
}

.mv .scroll::before {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('/assets/img/top/scroll.png');
  width: 9px;
  height: 46px;
  position: relative;
  left: 9px;
  top: 46px;
}

.mv .scroll span {
  width: 1px;
  height: 120px;
  display: block;
  background: #fff;
  margin-inline: auto;
  position: relative;
}

.mv .scroll span::before {
  content: '';
  position: absolute;
  display: block;
  transform: translateX(-50%);
  left: calc(50% + 0.5px);
  top: -3.5px;
  border-radius: 50%;
  width: 7px;
  height: 7px;
  background: #fff;
  opacity: 0;
  animation: scroll 1.5s linear 0s infinite;
}

@keyframes scroll {
  0% {
    opacity: 0;
  }

  10% {
    opacity: 1;
  }

  34% {
    top: calc(100% - 3.5px);
  }

  35% {
    opacity: 1;
    top: calc(100% - 3.5px);
    transform: translateX(-50%) scale(1);
  }

  40% {
    opacity: 0.5;
    top: calc(100% - 3.5px);
  }

  80% {
    opacity: 0;
    top: calc(100% - 3.5px);
    transform: translateX(-50%) scale(3);
  }

  100% {
    opacity: 0;
    top: calc(100% - 3.5px);
    transform: translateX(-50%) scale(3);
  }
}

/* =====================
  NEWS
===================== */
.mv .news {
  background-color: rgba(19, 21, 24, 0.7);
  color: #fff;
  height: 88px;
  min-width: 995px;
  width: calc((100 / 1300) * 995 * 1vw);
  /* width: calc((50% - 650px) + 995px); */
  z-index: 32;
  position: absolute;
  bottom: 0;
  right: 0;
}

.mv .news-inner {
  position: relative;
  height: inherit;
  width: 995px;
  margin-inline: 0 auto;
}

.mv .news h2 {
  font-family: Taviraj;
  font-size: 26px;
  font-weight: bold;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 64px;
}

/* スライダー */
.mv .news-slider {
  overflow: hidden;
  width: 100%;
  margin-left: 206px;
  height: inherit;
  position: relative;
}

/* 白線 */
.mv .news-slider::before {
  content: '';
  display: block;
  width: 46px;
  height: 1px;
  background: white;
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  left: 1px;
}

/* コンテナ */
.mv .news-slider .swiper-container,
.mv .news-slider .swiper-wrapper {
  height: inherit;
}

/* 要素 */
.mv .news-slider .swiper-slide a {
  font-size: 14px;
  font-weight: 500;
  display: flex;
  padding-left: 98px;
  height: inherit;
  align-items: center;
  gap: 48px;
  color: #fff;
  position: relative;
}

.mv .news-slider .swiper-slide a::after {
  content: '';
  display: block;
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('/assets/img/common/arrow.png');
  width: 16px;
  height: 16px;
  margin-left: 6px;
}

/* =====================
  会社案内
===================== */
.article[data-id='1'] {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url('/assets/img/top/company_bg.png');
  width: 100%;
  height: 857px;
  padding-top: 120px;
}

.article[data-id='1'] .company {
  display: flex;
  gap: 66px;
}

.article[data-id='1'] .company .company-img {
  flex-shrink: 0;
}

.article[data-id='1'] .company .company-p {
  width: 550px;
  flex-shrink: 0;
}

.article[data-id='1'] .company .company-p h3 {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #131518;
  margin-top: 60px;
}

.article[data-id='1'] .company .company-p p {
  margin-top: 48px;
}

.article[data-id='1'] .company .company-p .link-btn2 {
  margin-top: 70px;
}

/* =====================
  事業内容
===================== */
.article[data-id='2'] {
  background-repeat: no-repeat;
  background-size: cover;
  background-position: center;
  background-image: url('/assets/img/top/content_bg.png');
  width: 100%;
  height: 1641px;
  padding-block: 80px;
}

.article[data-id='2'] .content-list {
  background-color: #fff;
}

.article[data-id='2'] .content-list ol li {
  display: flex;
}

.article[data-id='2'] .content-list ol li:nth-child(2n) {
  display: flex;
  flex-direction: row-reverse;
}

.article[data-id='2'] .content-list ol li .content-wrap {
  padding: 40px;
}

.article[data-id='2'] .content-list ol li .content-wrap p {
  margin-top: 66px;
}

.article[data-id='2'] .content-list ol li .content-wrap .sdgs-bnr {
  display: block;
  margin-top: 30px;
}

.article[data-id='2'] .content-list ol li .content-wrap .link-btn2 {
  margin-top: 70px;
}

.article[data-id='2'] .content-list ol li:nth-child(3) .content-wrap .link-btn2 {
  margin-top: 80px;
}

.article[data-id='2'] .content-list ol li .content-img {
  flex-shrink: 0;
}

/* =====================
  採用情報
===================== */
.article[data-id='3'] {
  padding-top: 120px;
  padding-bottom: 120px;
}

.article[data-id='3'] .inner {
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  background-image: url('/assets/img/top/recruit_img.png');
  height: 807px;
}

.article[data-id='3'] .recruit-p {
  width: 550px;
  flex-shrink: 0;
  padding-top: 325px;
}

.article[data-id='3'] .recruit-p h3 {
  font-size: 30px;
  font-weight: bold;
  letter-spacing: 0.08em;
  color: #131518;
  margin-top: 60px;
}

.article[data-id='3'] .recruit-p p {
  margin-top: 48px;
}

.article[data-id='3'] .recruit-p .link-btn2 {
  margin-top: 76px;
}

/* =====================
  Palarax
===================== */
.js-pallarax {
  opacity: 0;
  transition: all 1000ms ease 0ms;
  filter: blur(1rem);
  scale: 0.99;
}
.js-pallarax.on {
  opacity: 1;
  filter: blur(0);
  scale: 1;
}
