.l-mv {
  width: 100%;
  aspect-ratio: 1440/800;
  position: relative;
  z-index: 1;
  padding-bottom: 5.5555555556vw;
}
@media screen and (max-width: 992px) {
  .l-mv {
    aspect-ratio: 392/673;
    min-height: 673px;
  }
}

.l-mv__base {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  padding-bottom: 4.1666666667vw;
}
@media screen and (max-width: 992px) {
  .l-mv__base {
    padding-bottom: 0;
  }
}

.l-mv__base-center {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 992px) {
  .l-mv__base-center {
    width: 100%;
    height: 100%;
    position: relative;
  }
}
.l-mv__base-center img {
  width: 46.4583333333vw;
  aspect-ratio: 669/629;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-mv__base-center img {
    width: 131.2977099237vw;
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.l-mv__base-dots {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  top: calc(50% - 27.7777777778vw);
  left: calc(50% + 26.5277777778vw);
  z-index: 4;
}
@media screen and (max-width: 992px) {
  .l-mv__base-dots {
    display: none;
  }
}
.l-mv__base-dots img {
  width: 45.1388888889vw;
  aspect-ratio: 650/636;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-mv__background {
  width: 100%;
  aspect-ratio: 1440/800;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 3;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  justify-content: flex-end;
  overflow: hidden;
  padding-bottom: 2.0833333333vw;
}
@media screen and (max-width: 992px) {
  .l-mv__background {
    aspect-ratio: initial;
    height: 100%;
    z-index: 4;
  }
}

.l-mv__background-inner {
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  justify-content: flex-end;
}

.l-mv__flow-text {
  width: 100%;
  height: 14.1666666667vw;
  overflow: hidden;
  position: absolute;
  bottom: 110px;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: -1;
}
@media screen and (max-width: 992px) {
  .l-mv__flow-text {
    display: none;
  }
}
.l-mv__flow-text img {
  width: 116.1111111111vw;
  aspect-ratio: 1672/204;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-mv__flow-text-item {
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  gap: 0;
}
.l-mv__flow-text-item img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
  display: block;
}

.l-mv__text-block {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 14.1666666667vw;
  left: calc(50% - 22.2222222222vw);
}
@media screen and (max-width: 992px) {
  .l-mv__text-block {
    display: none;
  }
}
.l-mv__text-block p {
  font-size: 1.3888888889vw;
  line-height: 1;
  letter-spacing: 0;
  color: #1e1e1e;
  text-transform: uppercase;
}

.l-mv__main-text {
  width: 100%;
  height: 100%;
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 2;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: center;
  padding-bottom: 2%;
}
.l-mv__main-text img {
  width: 55vw;
  aspect-ratio: 792/158;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-mv__main-text img {
    width: 92.1119592875vw;
    aspect-ratio: 362/207;
  }
}

.l-mv__bottom-text--upper {
  display: none;
}
@media screen and (max-width: 992px) {
  .l-mv__bottom-text--upper {
    display: block;
    width: 100%;
    padding: 0 15px;
    position: relative;
    z-index: 5;
  }
}
.l-mv__bottom-text--upper img {
  width: 53.4351145038vw;
  aspect-ratio: 210/70;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-mv__visual--right {
  display: none;
}
@media screen and (max-width: 992px) {
  .l-mv__visual--right {
    display: block;
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
    position: absolute;
    right: 2.5445292621vw;
    bottom: 0;
    z-index: 4;
  }
  .l-mv__visual--right img {
    width: 61.0687022901vw;
    aspect-ratio: 240/261;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.l-mv__bottom-text {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
}
@media screen and (max-width: 992px) {
  .l-mv__bottom-text {
    width: 100%;
    padding: 0 15px;
    margin-top: 19px;
  }
}
.l-mv__bottom-text img {
  width: 95.2083333333vw;
  aspect-ratio: 1371/254;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-mv__bottom-text img {
    width: 100%;
    aspect-ratio: 363/70;
  }
}

.l-mv__content {
  width: 100%;
  aspect-ratio: 1440/800;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 4;
  overflow: hidden;
}
@media screen and (max-width: 992px) {
  .l-mv__content {
    aspect-ratio: initial;
    height: 100%;
    z-index: 3;
  }
}

.l-mv__content-top {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  top: calc(50% - 25vw);
  left: calc(50% + 11.1111111111vw);
}
@media screen and (max-width: 992px) {
  .l-mv__content-top {
    top: calc(50% - 66.1577608142vw);
    left: calc(50% - 10.1781170483vw);
  }
}
.l-mv__content-top img {
  width: 20.625vw;
  aspect-ratio: 297/226;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-mv__content-top img {
    width: 52.9262086514vw;
    aspect-ratio: 178/129;
  }
}

.l-mv__content-left {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  top: calc(50% - 20.1388888889vw);
  left: calc(50% - 49.8611111111vw);
}
@media screen and (max-width: 992px) {
  .l-mv__content-left {
    top: 20.3562340967vw;
    left: 3.8167938931vw;
  }
}
.l-mv__content-left img {
  width: 20.625vw;
  aspect-ratio: 331/455;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-mv__content-left img {
    width: 31.8066157761vw;
    aspect-ratio: 125/183;
  }
}

.l-mv__content-right {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  top: calc(50% - 11.1111111111vw);
  left: calc(50% + 14.7222222222vw);
}
@media screen and (max-width: 992px) {
  .l-mv__content-right {
    display: none;
  }
}
.l-mv__content-right img {
  width: 32.3611111111vw;
  aspect-ratio: 466/507;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-mv__surface {
  width: 100%;
  aspect-ratio: 1440/800;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 5;
  overflow: hidden;
}
@media screen and (max-width: 992px) {
  .l-mv__surface {
    aspect-ratio: initial;
    height: 100%;
  }
}

.l-mv__scroll-down {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  position: absolute;
  left: calc(50% + 16.875vw);
  top: calc(50% + 18.75vw);
  cursor: pointer;
  transition: transform 0.3s ease-in-out;
}
@media screen and (max-width: 992px) {
  .l-mv__scroll-down {
    left: 7.6335877863vw;
    bottom: 13.7404580153vw;
    top: auto;
  }
}
.l-mv__scroll-down img {
  width: 17.6388888889vw;
  aspect-ratio: 508/174;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-mv__scroll-down img {
    width: 45.8015267176vw;
    aspect-ratio: 180/60;
  }
}
.l-mv__scroll-down:hover {
  transform: rotate(9deg);
}
@media screen and (max-width: 992px) {
  .l-mv__scroll-down:hover {
    transform: rotate(0);
  }
}

.l-concept {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 150px 20px 0;
  position: relative;
  z-index: 1;
  overflow: hidden;
}
@media screen and (max-width: 992px) {
  .l-concept {
    padding: 25.4452926209vw 15px 0;
  }
}

.l-concept__inner--upper {
  width: 100%;
  max-width: 1240px;
  padding: 0 20px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 992px) {
  .l-concept__inner--upper {
    flex-direction: column;
    padding: 0;
    row-gap: 30px;
  }
}
.l-concept__inner--upper .l-concept__block--left {
  width: 50%;
  aspect-ratio: 600/355;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: flex-end;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 992px) {
  .l-concept__inner--upper .l-concept__block--left {
    width: 100%;
  }
}
.l-concept__inner--upper .l-concept__block--right {
  width: 42%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  row-gap: 58px;
}
@media screen and (max-width: 992px) {
  .l-concept__inner--upper .l-concept__block--right {
    width: 100%;
    row-gap: 48px;
  }
}

.l-concept__visual01 {
  width: 28%;
  aspect-ratio: 174/333;
  position: absolute;
  bottom: 0;
  left: 20px;
}
.l-concept__visual01 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-concept__visual02 {
  width: 217px;
  width: 35%;
  aspect-ratio: 217/368;
  position: absolute;
  top: -20px;
  right: 0;
  left: 0;
  margin: 0 auto;
}
.l-concept__visual02 img {
  width: 100%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-concept__visual03 {
  width: 181px;
  width: 29.2%;
  aspect-ratio: 181/336;
  position: absolute;
  bottom: 0;
  right: 0;
}
@media screen and (max-width: 992px) {
  .l-concept__visual03 {
    bottom: -50px;
  }
}
.l-concept__visual03 img {
  width: 100%;
  height: 100%;
  aspect-ratio: 181/336;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-concept__wrapper-title {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  position: relative;
  z-index: -1;
}
.l-concept__wrapper-title::before {
  content: "";
  width: 100vw;
  height: 26px;
  background: linear-gradient(to right, #ff884d, #ffd447);
  position: absolute;
  bottom: -10px;
  left: -19%;
  transform: translateX(-50%);
  z-index: -1;
}
@media screen and (max-width: 992px) {
  .l-concept__wrapper-title::before {
    left: 50%;
    transform: translateX(-50%);
    height: 4.5801526718vw;
    bottom: -1.7811704835vw;
  }
}

.l-concept__title {
  width: 75.6%;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  row-gap: 22px;
}
@media screen and (max-width: 992px) {
  .l-concept__title {
    row-gap: 5.5979643766vw;
  }
}

.l-concept__title--upper {
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: baseline;
  justify-content: flex-start;
}
.l-concept__title--upper span {
  display: block;
}
.l-concept__title--upper span.text-large {
  font-size: 3.8rem;
  line-height: 1;
}
@media screen and (max-width: 992px) {
  .l-concept__title--upper span.text-large {
    font-size: 7.1246819338vw;
  }
}
.l-concept__title--upper span.text-small {
  font-size: 3.6rem;
  line-height: 1;
}
@media screen and (max-width: 992px) {
  .l-concept__title--upper span.text-small {
    font-size: 6.6157760814vw;
  }
}

.l-concept__title--lower {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 992px) {
  .l-concept__title--lower {
    width: -moz-fit-content;
    width: fit-content;
    height: -moz-fit-content;
    height: fit-content;
  }
}
.l-concept__title--lower img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-concept__title--lower img {
    width: 71.7557251908vw;
    aspect-ratio: 282/56;
  }
}

.l-concept__text {
  width: 100%;
  height: auto;
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 992px) {
  .l-concept__text {
    font-size: 4.5801526718vw;
  }
}

.l-concept__bottom {
  width: 100%;
  height: auto;
  overflow: hidden;
  margin-top: 60px;
}
@media screen and (max-width: 992px) {
  .l-concept__bottom {
    width: 1406px;
    margin: 9.6692111959vw -15px 0;
    display: flex;
    align-items: center;
    justify-content: center;
    align-items: center;
    justify-content: center;
  }
}
.l-concept__bottom img {
  width: 100%;
  height: auto;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-concept__bottom img {
    height: 20.3562340967vw;
    aspect-ratio: 1406/154;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.l-concept__inner--lower {
  width: 100%;
  max-width: 1200px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: stretch;
  justify-content: space-between;
  margin-top: 130px;
}
@media screen and (max-width: 992px) {
  .l-concept__inner--lower {
    flex-direction: column;
    padding: 0;
    row-gap: 10.1781170483vw;
    margin-top: 33.0788804071vw;
  }
}
.l-concept__inner--lower .l-concept__block--left {
  width: 50%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: center;
}
@media screen and (max-width: 992px) {
  .l-concept__inner--lower .l-concept__block--left {
    width: 100%;
  }
}
.l-concept__inner--lower .l-concept__block--left-inner {
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  row-gap: 50px;
}
@media screen and (max-width: 992px) {
  .l-concept__inner--lower .l-concept__block--left-inner {
    width: 100%;
    row-gap: 10.1781170483vw;
  }
}
.l-concept__inner--lower .l-concept__block--right {
  width: 50%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: flex-end;
}
@media screen and (max-width: 992px) {
  .l-concept__inner--lower .l-concept__block--right {
    width: 100%;
  }
}

.l-concept__h2 {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  font-size: 5.9rem;
  line-height: 1.44;
}
@media screen and (max-width: 992px) {
  .l-concept__h2 {
    font-size: 10.1781170483vw;
  }
}
.l-concept__h2 .l-concept__h2--upper {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: baseline;
  justify-content: flex-start;
}
.l-concept__h2 .l-concept__h2--upper span {
  display: block;
}
.l-concept__h2 .l-concept__h2--upper span.regular-font {
  font-family: Hiragino Sans;
  font-weight: 400;
  font-style: normal;
  font-feature-settings: "palt";
}
.l-concept__h2 .l-concept__h2--upper span.color-pink {
  color: #ff6f91;
}
.l-concept__h2 .l-concept__h2--upper span.color-blue {
  color: #5acdff;
}
.l-concept__h2 .l-concept__h2--upper span.color-green {
  color: #59d985;
}
.l-concept__h2 .l-concept__h2--lower {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
}

.l-concept__text-block {
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  row-gap: 15px;
}
@media screen and (max-width: 992px) {
  .l-concept__text-block {
    width: 100%;
    height: auto;
    row-gap: 3.8167938931vw;
  }
}
.l-concept__text-block .l-concept__text {
  width: 100%;
  height: auto;
  font-size: 2.1rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 992px) {
  .l-concept__text-block .l-concept__text {
    font-size: 4.5801526718vw;
  }
}

.l-concept__visual {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
}
@media screen and (max-width: 992px) {
  .l-concept__visual {
    margin: 0 -15px;
  }
}
.l-concept__visual img {
  width: 360px;
  aspect-ratio: 360/550;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-concept__visual img {
    width: 188.2951653944vw;
    aspect-ratio: 740/145;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.l-company {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: center;
  margin-top: 206px;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 992px) {
  .l-company {
    margin-top: 25.4452926209vw;
  }
}

.l-company__inner--upper {
  width: 100%;
  height: 466px;
  position: relative;
}
@media screen and (max-width: 992px) {
  .l-company__inner--upper {
    order: 2;
    height: 76.3358778626vw;
    margin-top: 10.1781170483vw;
  }
}
.l-company__inner--upper::after {
  display: none;
}
@media screen and (max-width: 992px) {
  .l-company__inner--upper::after {
    display: block;
    content: "";
    background-image: url("../images/company-bg.webp");
    background-size: cover;
    background-position: right;
    background-repeat: no-repeat;
    width: 100%;
    height: 101%;
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
    margin: auto;
    z-index: 3;
  }
}

.l-company__marquee {
  width: 100%;
  height: 100%;
  overflow: hidden;
  position: relative;
  z-index: 2;
}

.l-company__marquee-item {
  width: -moz-max-content;
  width: max-content;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  flex: 0 0 auto;
  gap: 0;
  transform: translateX(-780px);
}
@media screen and (max-width: 992px) {
  .l-company__marquee-item {
    transform: translateX(-208.6513994911vw);
  }
}
.l-company__marquee-item img {
  width: auto;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  flex-shrink: 0;
  display: block;
}

.l-company__windows {
  position: absolute;
  width: 100%;
  height: 466px;
  top: 0;
  left: 0;
  right: 0;
  margin: 0 auto;
  z-index: 3;
  overflow: hidden;
}
@media screen and (max-width: 992px) {
  .l-company__windows {
    display: none;
  }
}
.l-company__windows img {
  width: 3708px;
  height: 466px;
  -o-object-fit: contain;
     object-fit: contain;
}

.l-company__inner--lower {
  width: 100%;
  height: auto;
  max-width: 1240px;
  margin-top: 100px;
  padding: 0 20px;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: stretch;
  justify-content: space-between;
  -moz-column-gap: 4%;
       column-gap: 4%;
}
@media screen and (max-width: 992px) {
  .l-company__inner--lower {
    order: 3;
    flex-direction: column;
    padding: 0 15px;
    row-gap: 15.2671755725vw;
    margin-top: 25.4452926209vw;
  }
}

.l-company__block--left,
.l-company__block--right {
  width: 45.83%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
  row-gap: 20px;
}
@media screen and (max-width: 992px) {
  .l-company__block--left,
  .l-company__block--right {
    width: 100%;
    row-gap: 5.0890585242vw;
  }
}

.l-company__block--left-upper,
.l-company__block--right-upper {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: center;
  gap: 5px;
}
@media screen and (max-width: 992px) {
  .l-company__block--left-upper,
  .l-company__block--right-upper {
    row-gap: 1.272264631vw;
  }
}

.l-company__h3 {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 10px;
  font-size: 2.4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #1e1e1e;
}
@media screen and (max-width: 992px) {
  .l-company__h3 {
    font-size: 6.106870229vw;
    row-gap: 2.5445292621vw;
  }
}

.l-company__text {
  width: 100%;
  height: auto;
  font-size: 1.6rem;
  font-weight: 400;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #1e1e1e;
}
@media screen and (max-width: 992px) {
  .l-company__text {
    font-size: 3.5623409669vw;
  }
}

.l-company__card--qa,
.l-company__card--figure {
  width: 100%;
  aspect-ratio: 550/260;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 15px 20px;
  position: relative;
  border-radius: 16px;
  border: 1px solid #1f1f1f;
  transition: opacity 0.3s ease;
}
@media screen and (max-width: 992px) {
  .l-company__card--qa,
  .l-company__card--figure {
    gap: 5.0890585242vw;
    padding: 2.5445292621vw 3.3078880407vw;
    border-radius: 4.0712468193vw;
    border: 1px solid #1f1f1f;
  }
}
.l-company__card--qa:hover,
.l-company__card--figure:hover {
  opacity: 0.8;
}
.l-company__card--qa:hover .l-company__more,
.l-company__card--figure:hover .l-company__more {
  background-color: #1f1f1f;
  color: #ffffff;
  border-color: #1f1f1f;
}
.l-company__card--qa:hover .l-company__more::after,
.l-company__card--figure:hover .l-company__more::after {
  background-color: #ffffff;
}

.l-company__card--qa {
  width: 100%;
  background-color: #5acdff;
}
.l-company__card--qa .l-company__card-visual {
  width: 66.73%;
  aspect-ratio: 367/244;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: flex-end;
  justify-content: flex-end;
  position: absolute;
  right: 0;
  bottom: 0;
}
.l-company__card--qa img {
  width: auto;
  max-height: 96%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (max-width: 992px) {
  .l-company__card--qa img {
    max-height: 100%;
  }
}

.l-company__card--figure {
  width: 100%;
  background-color: #ffcb5a;
}
.l-company__card--figure .l-company__card-visual {
  width: 48.17%;
  height: 100%;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: flex-end;
  justify-content: flex-end;
  position: absolute;
  right: 24px;
  bottom: 0;
}
@media screen and (max-width: 992px) {
  .l-company__card--figure .l-company__card-visual {
    right: 6.106870229vw;
  }
}
.l-company__card--figure img {
  width: auto;
  max-height: 86%;
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  margin-bottom: -2%;
}

.l-company__card-title {
  width: 100%;
  height: auto;
  font-size: 4rem;
  font-weight: 700;
  line-height: 1.5;
  letter-spacing: 0.05em;
  color: #ffffff;
  text-transform: uppercase;
}
@media screen and (max-width: 992px) {
  .l-company__card-title {
    font-size: 6.6157760814vw;
  }
}

.l-company__more {
  width: 133px;
  height: 40px;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: space-between;
  border: 1px solid #1f1f1f;
  border-radius: 100px;
  background-color: #ffffff;
  padding: 9px 18px;
  font-size: 1.8rem;
  font-weight: 700;
  line-height: 1.5;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  color: #1e1e1e;
  transition: all 0.3s ease;
  position: relative;
}
@media screen and (max-width: 992px) {
  .l-company__more {
    width: 22.3918575064vw;
    height: 6.8702290076vw;
    padding: 1.272264631vw 2.5445292621vw;
    font-size: 3.0534351145vw;
  }
}
.l-company__more::after {
  content: "";
  width: 16px;
  height: 10px;
  background-color: #1e1e1e;
  -webkit-mask-image: url("../images/compnay06.svg");
          mask-image: url("../images/compnay06.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  -webkit-mask-position: center;
          mask-position: center;
  transition: background-color 0.3s ease;
}
@media screen and (max-width: 992px) {
  .l-company__more::after {
    width: 2.0356234097vw;
    height: 1.272264631vw;
  }
}

.l-company__overlay {
  width: -moz-fit-content;
  width: fit-content;
  height: auto;
  position: absolute;
  top: 0;
  left: 270px;
  z-index: 4;
  background-color: #f3ebdd;
  padding: 8px 50px;
}
@media screen and (max-width: 992px) {
  .l-company__overlay {
    width: 100%;
    position: static;
    order: 1;
    padding: 2.0356234097vw 3.8167938931vw;
  }
}

.l-company__overlay-inner {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 47px;
}
@media screen and (max-width: 992px) {
  .l-company__overlay-inner {
    gap: 10.1781170483vw;
  }
}
@media screen and (max-width: 992px) {
  .l-company__overlay-inner .c-common__button {
    display: none;
  }
}

.l-company__overlay-body {
  width: 100%;
  height: auto;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 24px;
}
@media screen and (max-width: 992px) {
  .l-company__overlay-body {
    gap: 5.0890585242vw;
  }
}
.l-company__overlay-body .text-small {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 992px) {
  .l-company__overlay-body .text-small {
    font-size: 4.0712468193vw;
  }
}
.l-company__overlay-body .text-large {
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 0em;
}
@media screen and (max-width: 992px) {
  .l-company__overlay-body .text-large {
    font-size: 5.0890585242vw;
  }
}
.l-company__overlay-body .text-large span {
  font-family: hiragino sans;
  font-feature-settings: "palt";
}

.l-position {
  width: 100%;
  height: auto;
  margin: 180px 0 0;
  padding: 0 20px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 120px;
}
@media screen and (max-width: 992px) {
  .l-position {
    padding: 0 15px;
    margin-top: 36.8956743003vw;
    row-gap: 20.3562340967vw;
  }
}

.l-position__block-lead {
  width: 100%;
  max-width: 1200px;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: space-between;
}
@media screen and (max-width: 992px) {
  .l-position__block-lead {
    flex-direction: column;
    row-gap: 10.1781170483vw;
    display: none;
  }
}

.l-position__block-lead--left {
  width: 50%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
}
@media screen and (max-width: 992px) {
  .l-position__block-lead--left {
    width: 100%;
  }
}

.l-position__h2 {
  width: 408px;
  height: 364px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: center;
  position: relative;
  z-index: 1;
}
@media screen and (max-width: 992px) {
  .l-position__h2 {
    width: 100%;
    height: 92.6208651399vw;
  }
}
.l-position__h2:before {
  content: "";
  width: 100%;
  height: 100%;
  background-image: url("../../assets/images/work-bg.webp");
  background-size: cover;
  background-position: center;
  background-repeat: no-repeat;
  position: absolute;
  top: 50%;
  left: 56%;
  transform: translate(-50%, -50%);
  z-index: -1;
}
@media screen and (max-width: 992px) {
  .l-position__h2:before {
    height: 92.6208651399vw;
    background-size: contain;
    left: 50%;
    transform: translate(-50%, -50%);
  }
}

.l-position__h2--inner {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
}
.l-position__h2--inner .text-small {
  font-size: 1.8rem;
  line-height: 2;
  letter-spacing: 0.05em;
}
@media screen and (max-width: 992px) {
  .l-position__h2--inner .text-small {
    font-size: 4.0712468193vw;
  }
}
.l-position__h2--inner .text-large {
  font-size: 4.8rem;
  line-height: 1;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}
@media screen and (max-width: 992px) {
  .l-position__h2--inner .text-large {
    font-size: 9.1603053435vw;
  }
}

.l-position__block-lead--right {
  width: 50%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
}
@media screen and (max-width: 992px) {
  .l-position__block-lead--right {
    width: 100%;
  }
}

.l-position__block--tb {
  display: none;
}
@media screen and (max-width: 992px) {
  .l-position__block--tb {
    display: block;
    width: 100%;
    height: -moz-fit-content;
    height: fit-content;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    row-gap: 15.2671755725vw;
    margin-top: 10.6870229008vw;
  }
}
.l-position__block--tb .l-position__body {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  row-gap: 5.0890585242vw;
}
.l-position__block--tb .l-position__text {
  letter-spacing: 0.03em;
}

.l-interview {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 180px 0 0;
}
@media screen and (max-width: 992px) {
  .l-interview {
    margin-top: 26.4631043257vw;
  }
}

.l-instagram {
  width: 100%;
  height: auto;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: 120px 0 0;
  padding: 0 20px;
}
@media screen and (max-width: 992px) {
  .l-instagram {
    margin-top: 45.2926208651vw;
  }
}

.l-instagram__inner {
  width: 100%;
  height: auto;
  max-width: 1200px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  align-items: flex-start;
  justify-content: flex-start;
  row-gap: 40px;
}
@media screen and (max-width: 992px) {
  .l-instagram__inner {
    row-gap: 10.1781170483vw;
  }
}

.l-instagram__wrapper--button {
  width: 100%;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: center;
  gap: 10px;
  margin-top: 20px;
}
@media screen and (max-width: 992px) {
  .l-instagram__wrapper--button {
    margin-top: 5.0890585242vw;
    gap: 2.5445292621vw;
  }
}

.l-instagram__button {
  width: -moz-fit-content;
  width: fit-content;
  height: -moz-fit-content;
  height: fit-content;
  display: flex;
  align-items: center;
  justify-content: center;
  align-items: center;
  justify-content: flex-start;
  border-radius: 100px;
  position: relative;
  z-index: 1;
  overflow: hidden;
  cursor: pointer;
}
@media screen and (max-width: 992px) {
  .l-instagram__button {
    border-radius: 25.4452926209vw;
  }
}
.l-instagram__button::before {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #ff5a5f, #a259ff);
  transition: opacity 0.3s ease;
  z-index: -1;
}
.l-instagram__button:hover::before {
  opacity: 0;
}
.l-instagram__button:after {
  content: "";
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(to right, #ffd600, #ff7a00);
  transition: opacity 0.3s ease;
  z-index: -2;
}
.l-instagram__button a {
  display: flex;
  align-items: center;
  justify-content: center;
  justify-content: flex-start;
  width: 273px;
  height: 58px;
  padding: 18px 30px;
  font-size: 1.8rem;
  text-transform: uppercase;
  color: #ffffff;
  border-radius: 100px;
  position: relative;
  z-index: 1;
  transition: all 0.3s ease;
}
@media screen and (max-width: 992px) {
  .l-instagram__button a {
    width: 69.465648855vw;
    height: 14.7582697201vw;
    padding: 4.5801526718vw 7.6335877863vw;
    font-size: 4.5801526718vw;
    border-radius: 25.4452926209vw;
  }
}
.l-instagram__button a::before {
  content: "";
  background-color: transparent;
  border: 1px solid #ffffff;
  display: block;
  width: 269px;
  height: 54px;
  border-radius: 100px;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  pointer-events: none;
  z-index: 2;
}
@media screen and (max-width: 992px) {
  .l-instagram__button a::before {
    width: 68.4478371501vw;
    height: 13.7404580153vw;
    border-radius: 25.4452926209vw;
  }
}
.l-instagram__button a::after {
  content: "";
  background-color: #ffffff;
  -webkit-mask-image: url("../images/arrow-right.svg");
          mask-image: url("../images/arrow-right.svg");
  -webkit-mask-size: contain;
          mask-size: contain;
  -webkit-mask-repeat: no-repeat;
          mask-repeat: no-repeat;
  width: 16px;
  height: 10px;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  right: 30px;
}
@media screen and (max-width: 992px) {
  .l-instagram__button a::after {
    width: 4.0712468193vw;
    height: 2.5445292621vw;
    right: 7.6335877863vw;
  }
}/*# sourceMappingURL=top.css.map */