@charset "utf-8";
/* Override */
.section {
  padding: min(15vw, 115px) 0;
}
.footer-group {
  margin-top: 0;
}
/* MV */
.mv01 {
  position: relative;
  height: 100vh;
  display: flex;
  padding-top: 12.62vw;
}
.mv01 img {
    width: 100%;
  }
.mv01-movie {
  width: 100%;
  height: 100%;
}
.mv01-movie video {
    width: 100%;
    height: 100%;
    -o-object-fit: cover;
    object-fit: cover;
  }
.mv01-lead {
  position: absolute;
  top: 12.62vw;
  left: 0;
  transform: translateY(-50%);
  width: 100%;
}
.opening {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 200;
  width: 100%;
  height: 100vh;
}
.opening.is-animated {
    visibility: hidden;
    display: none;
  }
.opening-panels {
  display: flex;
  height: 100%;
}
.opening-panels .panel {
    flex: 1;
    background: linear-gradient(#3A71E9, #86CBF8) no-repeat center center;
    border-left: 1px solid #fff;
  }
.opening-content {
  display: flex;
  align-items: center;
  justify-content: center;
  text-align: center;
  flex-direction: column;
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 20vh 0;
}
.opening-lead {
  max-width: 50%;
}
.opening-scroll {
  width: 12px;
  height: 28px;
  margin-top: 2rem;
  border-radius: 6px;
  background: #fff;
  padding: 4px 3px;
}
.opening-scroll::before {
    display: block;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: #86CBF8;
    animation: 2s linear infinite scrollDot;
    content: "";
  }
@keyframes scrollDot {
  0% {
    transform: translateY(0);
    opacity: 1;
  }
  30% {
    transform: translateY(0);
    opacity: 1;
  }
  60%{
    transform: translateY(14px);
    opacity: 1;
  }
  70%{
    transform: translateY(14px);
    opacity: 0;
  }
  100%{
    transform: translateY(14px);
    opacity: 0;
  }
}
.mv02 {
  display: flex;
}
.mv02 > div {
    flex: 1;
    transform-origin: center top;
  }
.mv02 img {
    width: 100%;
  }
.mv02-slider .swiper-wrapper {
  transition-timing-function: linear;
}
.mv02-slider .swiper-slide img {
  height: auto;
  width: 100%;
}
/* コア技術 */
.index-core-grid {
  margin-top: 40px;
}
.index-core-column {
  margin-bottom: 50px;
}
.index-core-thumb {
  position: relative;
  margin-bottom: 22px;
}
.index-core-thumb img {
    border-radius: 6px;
  }
.index-core-thumb__heading {
  position: absolute;
  top: 0;
  left: 0;
  padding: 0 0.625em 0.625em 0;
  border-radius: 0 0 6px 0;
  background: #fff;
  font-size: 1.375rem;
  line-height: 1.5;
}
.index-core-thumb__heading::after {
    display: block;
    color: var(--color-primary);
    font-family: var(--font-en);
    font-size: 0.6875rem;
    font-weight: 400;
    content: attr(data-en-after);
  }
.index-core-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(14em, 1fr));
  grid-column-gap: 6px;
  grid-row-gap: 8px;
  margin: 22px 0 0;
  padding: 0;
}
.index-core-list .btn {
    width: 100%;
  }
/* 素材別加工事例 */
.index-works {
  background: var(--color-lightgray);
}
.index-works__header {
  margin-bottom: 50px;
}
.works-container {
  display: grid;
  grid-row-gap: 60px;
}
.works-section__header {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: space-between;
  flex-wrap: wrap;
  padding-top: 1.6rem;
  padding-bottom: 1.4rem;
  border-top: 2px solid #E6E6E6;
}
.works-section__header::before {
    position: absolute;
    top: -2px;
    left: 0;
    width: 100px;
    border-top: 2px solid var(--color-primary);
    content: "";
  }
.works-section__header .h3 {
    margin-bottom: 0;
    padding-bottom: 0.2em;
    white-space: nowrap;
  }
.works-list {
  list-style: none;
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  grid-column-gap: 24px;
  grid-row-gap: 40px;
  margin: 0;
  padding: 0;
}
.works-list > li {
    position: relative;
    display: grid;
    grid-template-rows: subgrid;
    grid-row: span 3;
    grid-row-gap: 20px;
  }
.works-list .image-text strong {
      display: inline-block;
      margin-bottom: 0.2em;
      font-family: var(--font-mix);
      font-weight: 600;
      line-height: 1.2;
    }
.works-list .image-text strong small {
        font-size: 0.7em;
      }
.works-list .image-more {
    font-size: 0.875rem;
    text-align: right;
  }
/* 加工材質ガイド */
.index-materials {
  background: var(--color-lightgray);
}
.index-materials-inner {
  background: #fff;
  padding: 20px;
}
.index-materials-image {
  position: relative;
  z-index: 0;
  margin-top: min(15vw, 115px);
}
.index-materials-image::before {
    position: absolute;
    top: 80px;
    bottom: 0;
    right: 0;
    z-index: -1;
    width: 100%;
    background: #fff;
    content: "";
  }
.index-materials-image img {
    width: 96.15%;
    border-radius: 0 6px 6px 0;
  }
/* 開発サポート */
.index-support-content {
  margin-bottom: 50px;
}
/* ニュース */
.index-news {
  background: var(--color-lightgray);
}
.index-news__category {
  margin-bottom: 1.5rem;
}
@media (max-width: 40em) {}
@media (min-width: 40.001em) {}
@media (max-width: 48em) {
    .works-list > li:nth-of-type(odd)::before {
      position: absolute;
      top: 0;
      bottom: 0;
      right: -12px;
      border-left: 1px solid #DCDCDC;
      content: "";
    }
    .works-list .image-text {
      font-size: 0.875rem;
    }
      .works-list .image-text strong {
        font-size: 1.125rem;
      }}
@media (min-width: 48.001em) {
  .index-core-grid {
    display: grid;
    grid-template-columns: repeat(2, 1fr);
    grid-column-gap: 50px;
  }
  .index-core-column {
    margin-bottom: 0;
  }
  .works-list {
    grid-template-columns: repeat(3, 1fr);
  }
  .index-materials-inner {
    padding: 40px;
  }
  .index-support-container {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
  .index-support-content {
    flex: 0 0 50%;
    margin-bottom: 0;
  }
  .index-support-image {
    flex: 0 0 42.11%;
  }}
@media (max-width: 60em) {}
@media (min-width: 60.001em) {}
@media (max-width: 70em) {}
@media (min-width: 70.001em) {
  .index-core-thumb__heading {
    font-size: 1.625rem;
  }
  .index-works__header {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
  }
    .index-works__header > * {
      margin-bottom: 0;
    }
  .works-container {
    grid-template-columns: repeat(2, 1fr);
    grid-auto-flow: dense;
    -moz-column-gap: 34px;
    column-gap: 34px;
    row-gap: 100px;
  }
  .works-section.full {
    grid-column-end: span 2;
  }
  .works-section.half {
    position: relative;
  }
  .works-section.half + .half::before {
    position: absolute;
    top: 0;
    bottom: 0;
    left: -17px;
    border-left: 1px solid #DCDCDC;
    content: "";
  }
  .works-list {
    grid-template-columns: repeat(4, 1fr);
    -moz-column-gap: 34px;
    column-gap: 34px;
    row-gap: 60px;
  }
    .works-list > li:not(:nth-of-type(4n+1))::before {
      position: absolute;
      top: 0;
      bottom: 0;
      left: -17px;
      border-left: 1px solid #DCDCDC;
      content: "";
    }
      .works-list .image-text strong {
        font-size: 1.25rem;
      }
  .half .works-list {
    grid-template-columns: repeat(2, 1fr);
  }
  .index-news-container {
    display: flex;
    justify-content: space-between;
  }
  .index-news__category {
    flex: 0 0 25%;
  }
  .index-news__content {
    flex: 0 0 70.1754%;
    max-width: 70.1754%;
  }}
/*# sourceMappingURL=maps/index.css.map */
