.hero {
  aspect-ratio: 640/360;
  position: relative;
  margin: 0 0 50px;
}

.strength {
  margin: 0 auto 40px;
  padding: 0 25px;
}

.strengthTitle {
  font-size: 3rem;
  line-height: 1.025;
  color: #0065bb;
  font-weight: bold;
  font-family: var(--roboto);
  white-space: nowrap;
  position: relative;
  letter-spacing: 5px;
  margin: 0 0 20px;
}
.strengthTitle::before {
  content: "";
  position: absolute;
  width: 3px;
  height: calc(100% + 10px);
  left: 0;
  top: 50%;
  transform: translateY(-50%);
  background-color: #0065bb;
}

.strengthTitleTextBox {
  overflow-x: clip;
  padding: 0 0 0 20px;
}

.strengthTitleText {
  display: block;
  transform: translateX(calc(-100% - 64px));
  transition: transform 1s ease-in-out;
}
.strengthTitle[data-parallax=active] .strengthTitleText:nth-of-type(1) {
  transform: translateX(0);
}
.strengthTitle[data-parallax=active] .strengthTitleText:nth-of-type(2) {
  transform: translateX(0);
  transition-delay: 0.2s;
}
.strengthTitle[data-parallax=active] .strengthTitleText:nth-of-type(3) {
  transform: translateX(0);
  transition-delay: 0.4s;
}

.strengthText {
  max-width: 670px;
}

.manufacture {
  padding: 50px 25px;
  background-image: url(../images/index-manufacture-bg.jpg);
  background-size: cover;
  background-position: center center;
  position: relative;
  margin: 0 0 50px;
  overflow-x: clip;
}
.manufacture::before {
  content: "";
  position: absolute;
  background-color: rgba(0, 57, 106, 0.68);
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
}

.manufactureBox {
  max-width: 1097px;
  margin-inline: auto;
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  grid-template-rows: auto 25px auto;
  align-items: flex-end;
  position: relative;
}

.manufactureBodyWrap {
  background-color: #fff;
  border-radius: 10px;
  padding: 30px 20px 40px;
  grid-column: 1/3;
  grid-row: 1/3;
}

.manufactureTitle {
  margin: 0 0 10px;
}

.manufactureTitleText {
  font-weight: normal;
  font-size: 1.6rem;
  display: block;
  text-align: center;
  line-height: 1.2;
}

.manufactureTitleHashWrap {
  display: flex;
  justify-content: center;
  gap: 5px;
  transform-origin: center center;
  transition: scale 0.5s ease-in-out;
}
.manufactureBody:has(.manufactureMore:hover) .manufactureTitleHashWrap {
  scale: 2;
}

.manufactureTitleHash {
  font-weight: 900;
  font-size: 2rem;
  color: #0065bb;
  line-height: 1.2;
}

.manufactureTitleHashText {
  font-weight: 900;
  font-size: 2rem;
  color: #0065bb;
  line-height: 1.2;
}

.manufactureText {
  margin: 0 0 18px;
}

.manufactureMore {
  text-align: center;
  color: #0065bb;
  border: 1px solid #0065bb;
  border-radius: 10px;
  padding: 10px;
  text-decoration: none;
  font-size: 1.3rem;
  display: block;
  margin: 0 auto;
  position: relative;
}
.manufactureMore::after {
  content: "";
  width: 10px;
  aspect-ratio: 1/1;
  mask-image: url(../images/icon-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background-color: #0065bb;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}
.manufactureMore:hover {
  background-color: #0065bb;
  color: #fff;
}
.manufactureMore:hover::after {
  background-color: #fff;
}

.manufacturePicWrap {
  position: relative;
  grid-column: 2/4;
  grid-row: 2/4;
}

.manufacturePic {
  border: 5px solid #fff;
}

.manufactureEn {
  position: absolute;
  left: 20px;
  bottom: 100%;
  font-family: var(--roboto);
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
  font-size: 10svw;
  white-space: nowrap;
  text-transform: capitalize;
  line-height: 1.1;
  transform: translateY(100%) translateY(10px);
  transition: transform 1s ease-in-out;
}

.tell {
  padding: 50px 25px;
  background-image: url(../images/index-introduction-bg.jpg);
  background-size: cover;
  background-position: center center;
  margin: 0 0 60px;
  overflow-x: clip;
  position: relative;
}
.tell::before {
  content: "";
  position: absolute;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background-image: url(../images/index-introduction-net.svg);
  animation: tellBgNetSlide 30s linear infinite;
  background-size: 1492px 758px;
}

@keyframes tellBgNetSlide {
  0% {
    background-position: 0 0;
  }
  100% {
    background-position: -1492px 0;
  }
}
.tellEnWrap {
  margin: 0 0 15px;
  overflow-y: clip;
}

.tellEn {
  font-family: var(--roboto);
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
  font-size: 10svw;
  white-space: nowrap;
  text-transform: capitalize;
  line-height: 1.1;
  display: block;
  text-align: center;
  transform: translateY(-100%);
  transition: transform 0.4s ease-in-out;
}
.tellEnWrap[data-parallax=active] .tellEn {
  transform: translateY(0);
}

.tellTitle {
  margin: 0 0 20px;
}

.tellTitleText {
  display: block;
  text-align: center;
  font-size: 2rem;
  color: #fff;
  display: block;
  font-weight: normal;
  line-height: 1.2;
  margin: 0 0 5px;
}

.tellTitleHashWrap {
  display: flex;
  justify-content: center;
  gap: 5px;
  align-items: center;
  transition: scale 0.5s ease-in-out;
}
.tell:has(.tellMore:hover) .tellTitleHashWrap {
  scale: 2;
}

.tellTitleHash {
  font-size: 4rem;
  color: #fff;
  line-height: 1.2;
  font-weight: 900;
}

.tellTitleHashText {
  font-size: 4rem;
  color: #fff;
  line-height: 1.2;
  font-weight: 900;
}

.tellText {
  color: #fff;
  margin: 0 auto 23px;
}

.tellMore {
  text-decoration: none;
  color: #0065bb;
  padding: 10px;
  border: 1px solid #0065bb;
  text-align: center;
  display: block;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 10px;
  position: relative;
}
.tellMore::after {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  mask-image: url(../images/icon-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background-color: #0065bb;
  position: absolute;
  top: 50%;
  right: 28px;
  transform: translateY(-50%);
}
.tellMore:hover {
  background-color: #0065bb;
  color: #fff;
}
.tellMore:hover::after {
  background-color: #fff;
}

.knowWrap {
  overflow-x: clip;
  margin: 0 0 50px;
}

.know {
  max-width: 1306px;
  margin: 0 auto;
}

.knowBox {
  display: grid;
  grid-template-columns: 40px 1fr 40px;
  grid-template-rows: auto 25px auto;
}

.knowPicWrap {
  grid-column: 1/3;
  grid-row: 1/3;
  position: relative;
}
.knowPicWrap::before {
  content: "";
  position: absolute;
  background-color: #f5f5f5;
  bottom: -112px;
  left: -100svw;
  width: 200svw;
  height: 71.025%;
  z-index: -1;
}

.knowEn {
  position: absolute;
  left: 0;
  top: 0;
  font-family: var(--roboto);
  font-weight: 900;
  color: rgba(255, 255, 255, 0.5);
  font-size: 10svw;
  white-space: nowrap;
  text-transform: capitalize;
  line-height: 1.01;
  display: block;
  transform: translateX(-100%);
  transition: transform 1s ease-in-out;
}
.knowWrap[data-parallax=active] .knowEn {
  transform: translateX(0);
}

.knowBodyWrap {
  z-index: 1;
  background-color: #fff;
  padding: 30px 20px;
  grid-column: 2/4;
  grid-row: 2/4;
}

.knowBody {
  margin-inline: auto;
  display: grid;
  gap: 25px;
}

.knowTitle {
  margin: 0 0 25px;
}

.knowTitleText {
  font-weight: normal;
  font-size: 2rem;
  display: block;
  line-height: 1.4;
}

.knowTitleHashWrap {
  display: flex;
  align-items: center;
  gap: 14px;
  transform-origin: left center;
  transition: scale 0.5s ease-in-out;
}
.know:has(.knowMenuLink:hover) .knowTitleHashWrap {
  scale: 1.5;
}

.knowTitleHash {
  font-size: 4rem;
  color: #0065bb;
  line-height: 1.2;
  font-weight: 900;
}

.knowTitleHashText {
  font-size: 4rem;
  color: #0065bb;
  line-height: 1.2;
  font-weight: 900;
}

.knowMenuItem:not(:last-of-type) {
  margin: 0 0 16px;
}

.knowMenuLink {
  text-decoration: none;
  color: #0065bb;
  padding: 10px;
  border: 1px solid #0065bb;
  text-align: center;
  display: block;
  margin-inline: auto;
  background-color: #fff;
  border-radius: 10px;
  position: relative;
}
.knowMenuLink::after {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  mask-image: url(../images/icon-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background-color: #0065bb;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.knowMenuLink:hover {
  background-color: #0065bb;
  color: #fff;
}
.knowMenuLink:hover::after {
  background-color: #fff;
}

.recruitWrap {
  overflow-x: clip;
  margin: 0 0 50px;
}

.recruit {
  padding: 50px 25px;
  background-image: url(../images/index-recruit-bg.svg);
  background-size: 50px 50px;
  background-position: center center;
}

.recruitBox {
  display: grid;
  max-width: 1392px;
  margin-inline: auto;
  align-items: flex-start;
  position: relative;
  z-index: 1;
}

.recruitBody {
  padding: 25px 25px 25px 0;
  position: relative;
}
.recruitBody::before {
  content: "";
  position: absolute;
  right: 0;
  top: 0;
  width: 100svw;
  height: 100%;
  background-color: #f5f5f5;
  z-index: -1;
}

.recruitEnWrap {
  margin: 0 0 10px;
  overflow-x: clip;
}

.recruitEn {
  font-family: var(--roboto);
  font-weight: 900;
  color: rgba(255, 70, 120, 0.15);
  font-size: 10svw;
  white-space: nowrap;
  text-transform: capitalize;
  line-height: 1.01;
  display: block;
  transform: translateX(-100%);
  transition: transform 1s ease-in-out;
}
.recruitBox[data-parallax=active] .recruitEn {
  transform: translateX(0);
}

.recruitTitle {
  margin: 0 0 20px;
}

.recruitTitleText {
  font-weight: normal;
  font-size: 2rem;
  display: block;
  line-height: 1.4;
}

.recruitTitleHashWrap {
  display: flex;
  align-items: center;
  gap: 14px;
  transform-origin: left center;
  transition: scale 0.5s ease-in-out;
}
.recruit:has(.recruitMore:hover) .recruitTitleHashWrap {
  scale: 1.5;
}

.recruitTitleHash {
  font-size: 4rem;
  color: #ff4678;
  line-height: 1.1;
  font-weight: 900;
}

.recruitTitleHashText {
  font-size: 4rem;
  color: #ff4678;
  line-height: 1.1;
  font-weight: 900;
}

.recruitText {
  margin: 0 0 25px;
}

.recruitMore {
  text-decoration: none;
  color: #ff4678;
  padding: 10px;
  border: 1px solid #ff4678;
  text-align: center;
  display: block;
  background-color: #fff;
  border-radius: 10px;
  position: relative;
}
.recruitMore::after {
  content: "";
  width: 16px;
  aspect-ratio: 1/1;
  mask-image: url(../images/icon-outer.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/icon-outer.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background-color: #ff4678;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}
.recruitMore:hover {
  background-color: #ff4678;
  color: #fff;
}
.recruitMore:hover::after {
  background-color: #fff;
}

.recruitPicWrap {
  margin: 50px 0 0;
}

.indexNewsWrap {
  padding: 50px 20px;
  background-color: #f5f5f5;
  margin: 0 0 50px;
}

.indexNews {
  max-width: 1232px;
  margin-inline: auto;
  display: grid;
  gap: 25px;
}

.indexNewsTitle {
  font-family: var(--arial);
  font-weight: bold;
  font-size: 3rem;
  line-height: 1.2;
  margin: 0 0 5px;
}

.indexNewsSub {
  font-size: 1.6rem;
  font-weight: normal;
}

.purchaseWrap {
  max-width: 1082px;
  padding: 0 25px;
  margin: 0 auto 60px;
}

.purchase {
  min-height: 322px;
  border-radius: 10px;
  display: grid;
  overflow: clip;
  box-shadow: 0 0 20px rgba(0, 0, 0, 0.2);
  align-items: center;
}

.purchasePicWrap {
  position: relative;
  align-self: stretch;
}

.purchasePicEn {
  font-family: var(--roboto);
  font-weight: 900;
  color: rgba(255, 255, 255, 0.31);
  font-size: 10svw;
  white-space: nowrap;
  text-transform: capitalize;
  line-height: 1.01;
  display: block;
  position: absolute;
  left: 10px;
  top: 10px;
  transform: translateX(-100%);
  transition: transform 1s ease-in-out;
}
.purchaseWrap[data-parallax=active] .purchasePicEn {
  transform: translateX(0);
}

.purchasePic {
  height: 100%;
}
.purchasePic img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}

.purchaseBody {
  padding: 25px;
}

.purchaseTitle {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin: 0 0 15px;
}

.purchaseTitleText {
  font-weight: normal;
  font-size: 1.8rem;
}

.purchaseTitleHashWrap {
  display: flex;
  gap: 5px;
  transition: scale 0.5s ease-in-out;
}
.purchase:has(.purchaseMore:hover) .purchaseTitleHashWrap {
  scale: 1.5;
}

.purchaseTitleHash {
  font-weight: 900;
  font-size: 2rem;
  color: #0065bb;
  line-height: 1.4;
}

.purchaseTitleHashText {
  font-weight: 900;
  font-size: 2rem;
  color: #0065bb;
  line-height: 1.4;
}

.purchaseMore {
  text-align: center;
  color: #0065bb;
  border: 1px solid #0065bb;
  border-radius: 10px;
  padding: 10px;
  text-decoration: none;
  font-size: 1.3rem;
  display: block;
  margin: 0 auto;
  position: relative;
}
.purchaseMore::after {
  content: "";
  width: 10px;
  aspect-ratio: 1/1;
  mask-image: url(../images/icon-arrow.svg);
  mask-size: contain;
  mask-repeat: no-repeat;
  -webkit-mask-image: url(../images/icon-arrow.svg);
  -webkit-mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  background-color: #0065bb;
  position: absolute;
  top: 50%;
  right: 18px;
  transform: translateY(-50%);
}
.purchaseMore:hover {
  background-color: #0065bb;
  color: #fff;
}
.purchaseMore:hover::after {
  background-color: #fff;
}

.bottomPic {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
}

.bottomPicItem {
  height: 100px;
}
.bottomPicItem img {
  object-fit: cover;
  width: 100%;
  height: 100%;
}
@media (min-width: 960px) {
  .hero {
    aspect-ratio: initial;
    height: calc(100svh - 95px);
    margin: 0 0 123px;
  }
  .strength {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 60px;
    max-width: 1270px;
    margin: 0 auto 185px;
  }
  .strengthTitle {
    font-size: 8rem;
    margin: 0;
  }
  .strengthTitle::before {
    width: 7px;
    height: calc(100% + 32px);
  }
  .strengthTitleTextBox {
    padding: 0 0 0 64px;
  }
  .manufacture {
    padding: 82px 25px;
    margin: 0 0 180px;
  }
  .manufactureBox {
    grid-template-columns: 569fr 37px 491fr;
    grid-template-rows: auto;
  }
  .manufactureBodyWrap {
    grid-row: 1/2;
    padding: 77px 20px 80px;
  }
  .manufactureBody {
    max-width: 422px;
    margin-inline: auto;
  }
  .manufactureTitleText {
    font-size: 3rem;
  }
  .manufactureTitleHash {
    font-size: 9rem;
  }
  .manufactureTitleHashText {
    font-size: 9rem;
  }
  .manufactureMore {
    max-width: 169px;
  }
  .manufacturePicWrap {
    grid-row: 1/2;
    grid-column: 2/4;
    margin: 0 0 21px;
  }
  .manufacturePic {
    border: 10px solid #fff;
  }
  .manufactureEn {
    bottom: calc(100% - 4px);
    font-size: 10.7rem;
    transform: translateX(calc(-100% - 20px));
    left: 66px;
  }
  .manufacturePicWrap[data-parallax=active] .manufactureEn {
    transform: translateX(0);
  }
  .tell {
    padding: 82px 25px;
    margin: 0 0 132px;
  }
  .tellEn {
    font-size: 10.2rem;
  }
  .tellTitleText {
    font-size: 3rem;
  }
  .tellTitleHash {
    font-size: 9rem;
  }
  .tellTitleHashText {
    font-size: 9rem;
  }
  .tellText {
    max-width: 454px;
  }
  .tellMore {
    padding: 15px;
    max-width: 252px;
  }
  .knowWrap {
    margin: 0 0 65px;
  }
  .knowBox {
    grid-template-columns: 476fr 611fr 230fr;
    grid-template-rows: auto 109px auto;
  }
  .knowEn {
    font-size: 10.2rem;
  }
  .knowBodyWrap {
    padding: 65px 20px;
  }
  .knowBody {
    grid-template-columns: 316fr 252fr;
    gap: 14.586%;
    max-width: 665px;
  }
  .knowTitle {
    margin: 0 0 40px;
  }
  .knowTitleText {
    font-size: 3rem;
  }
  .knowTitleHash {
    font-size: 9rem;
  }
  .knowTitleHashText {
    font-size: 9rem;
  }
  .knowMenuItem:not(:last-of-type) {
    margin: 0 0 24px;
  }
  .knowMenuLink {
    padding: 15px;
  }
  .recruitWrap {
    margin: 0 0 85px;
  }
  .recruit {
    padding: 80px 20px;
  }
  .recruitBox {
    grid-template-columns: 604fr 52px 728fr;
  }
  .recruitBody {
    padding: 65px;
    grid-column: 1/3;
    grid-row: 1/2;
  }
  .recruitPicWrap {
    grid-column: 2/4;
    grid-row: 1/2;
  }
  .recruitEn {
    font-size: 10.2rem;
  }
  .recruitTitle {
    margin: 0 0 40px;
  }
  .recruitTitleText {
    font-size: 3rem;
  }
  .recruitTitleHash {
    font-size: 11rem;
  }
  .recruitTitleHashText {
    font-size: 11rem;
  }
  .recruitText {
    max-width: 445px;
  }
  .recruitMore {
    max-width: 252px;
    padding: 15px;
  }
  .indexNewsWrap {
    padding: 100px 20px;
    margin: 0 0 135px;
  }
  .indexNews {
    grid-template-columns: 315px 1fr;
  }
  .indexNewsTitle {
    font-size: 6.5rem;
  }
  .indexNewsSub {
    font-size: 2rem;
  }
  .purchaseWrap {
    margin: 0 auto 125px;
  }
  .purchase {
    grid-template-columns: 592fr 416fr;
    gap: 24px;
  }
  .purchasePicEn {
    font-size: 7rem;
    left: 0;
    top: -5px;
  }
  .purchaseBody {
    padding: 25px 0;
    max-width: 390px;
    margin-inline: auto;
  }
  .purchaseTitleText {
    font-size: 2.2rem;
  }
  .purchaseTitleHash {
    font-size: 4.1rem;
  }
  .purchaseTitleHashText {
    font-size: 4rem;
  }
  .purchaseMore {
    max-width: 307px;
  }
  .bottomPicItem {
    height: 327px;
  }
}

/*# sourceMappingURL=index.css.map*/