.index-root {
background: var(--color-bg-white);
height: 100%;
margin: 0px;
padding: 0px;
width: 100%;
}

.index-main {
transform: translate(0px, 0px);
transition-delay: 800ms;
transition-duration: 1000ms;
width: 100%;
}

.index-carousel {
place-content: center;
margin: 140px 0px 0px;
padding: 0px;
width: 100%;
}

.index-carousel__track {
place-content: center;
align-items: center;
border-radius: 140px;
flex-flow: row;
height: 640px;
margin: 0px -420px 0px -80px;
overflow: hidden;
position: relative;
transition-timing-function: var(--ease-subtle);
width: 1070px;
max-width: calc(100% + 500px);
}

.index-carousel__slide {
flex-flow: column;
height: 100%;
left: 0px;
margin: 0px;
outline-offset: -4px;
position: absolute;
top: 0px;
transform: translate(0px, 0px);
transition-duration: 0ms;
transition-property: transform;
transition-timing-function: var(--ease-smooth);
width: 100%;
will-change: transform;
}

.index-carousel__slide:focus {
outline: none;
}

.index-carousel__slide:focus-visible {
outline: black solid 2px;
}

._animatingNext.index-carousel__slide {
transform: translateX(-100%);
}

._animatingPrev.index-carousel__slide {
transform: translateX(100%);
}

.index-carousel__slide-inner {
place-content: center flex-end;
align-items: center;
background: var(--color-gray-lighter);
flex-flow: column;
height: 100%;
padding: 0px;
transform: scale(1, 1);
transition-duration: 5000ms;
transition-timing-function: linear;
width: 100%;
}

.index-carousel__image {
height: 100%;
margin: 0px;
padding: 0px 80px 88px;
position: relative;
transition-timing-function: linear;
width: 100%;
z-index: -1;
}

.index-hero {
place-content: flex-start center;
align-items: flex-start;
flex-flow: column;
margin: -435px 0px 0px -620px;
padding: 0px;
max-width: calc(100% + 620px);
}

.index-hero__line {
flex-flow: row;
place-content: center;
padding: 0px;
}

.index-hero__text-1 {
color: rgb(0, 0, 0);
font-family: var(--font-sans);
font-size: var(--fs-6xl);
font-weight: 700;
line-height: 1.4;
margin: 0px;
position: relative;
text-align: center;
z-index: 3;
}

.index-hero__text-2 {
color: var(--color-white);
font-family: var(--font-sans);
font-size: var(--fs-6xl);
font-weight: 700;
line-height: 1.4;
margin: 0px 0px 0px 10px;
position: relative;
text-align: left;
max-width: calc(100% - 10px);
}

.index-hero__text-3 {
color: rgb(0, 0, 0);
font-family: var(--font-sans);
font-size: var(--fs-6xl);
font-weight: 700;
line-height: 1.4;
margin: 0px;
position: relative;
text-align: center;
}

.index-hero__text-4 {
color: var(--color-white);
font-family: var(--font-sans);
font-size: var(--fs-6xl);
font-weight: 700;
line-height: 1.4;
margin: 0px 0px 0px 10px;
position: relative;
text-align: center;
max-width: calc(100% - 10px);
}

.index-hero__accent {
background: var(--color-accent);
border-radius: var(--radius-2xl);
height: 4px;
margin: 20px 0px 20px 138px;
position: relative;
width: 70px;
z-index: 2;
max-width: calc(100% - 138px);
}

.index-hero__tagline {
flex-flow: row;
place-content: center;
padding: 0px;
}

.index-hero__tagline-1 {
color: rgb(0, 0, 0);
font-family: var(--font-heading);
font-size: var(--fs-4xl);
font-weight: 600;
line-height: 1.4;
margin: 0px;
position: relative;
text-align: center;
}

.index-hero__tagline-2 {
color: var(--color-white);
font-family: var(--font-heading);
font-size: var(--fs-4xl);
font-weight: 600;
line-height: 1.4;
margin: 0px 0px 0px 14px;
position: relative;
text-align: center;
max-width: calc(100% - 14px);
}

.index-news {
place-content: flex-start center;
align-items: flex-start;
flex-flow: row;
margin: 360px 0px 0px;
padding: 0px;
width: 100%;
}

.index-news__badge {
place-content: center flex-end;
align-items: center;
background: var(--color-accent);
border-radius: var(--radius-full);
flex-flow: column;
height: 260px;
margin: -130px 80px 0px -90px;
padding: 0px;
position: relative;
width: 260px;
z-index: -1;
max-width: calc(100% + 10px);
}

.index-news__badge-content {
place-content: flex-start;
align-items: flex-start;
flex-flow: column;
height: 136px;
margin: 0px 0px 0px 90px;
padding: 0px;
width: 170px;
max-width: calc(100% - 90px);
}

.index-news__badge-en {
color: var(--color-text-dark);
font-family: var(--font-heading);
font-size: var(--fs-4xl);
font-weight: 500;
justify-content: flex-start;
line-height: 1.4;
padding: 0px;
text-align: left;
width: 100%;
}

.index-news__badge-ja {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-base);
font-weight: 600;
height: 18px;
justify-content: flex-start;
line-height: 1.4;
margin: 0px;
padding: 0px;
text-align: left;
width: 100%;
}

.index-news__list {
padding: 0px;
}

.index-news__article {
place-content: flex-start center;
align-items: flex-start;
border-width: 0px 0px 1px;
border-style: solid;
border-color: rgb(161, 161, 161);
flex-flow: column;
height: 68px;
padding: 0px 24px 0px 0px;
max-width: 680px;
width: 100%;
}

.index-news__article:hover {
background: var(--color-bg-white);
transition-duration: 400ms;
}

.index-news__date {
color: var(--color-primary);
font-family: var(--font-sans);
font-size: var(--fs-sm);
font-weight: 400;
line-height: 1.4;
margin: 0px 0px 8px;
text-align: left;
width: 487px;
}

.index-news__body {
place-content: flex-start center;
align-items: flex-start;
flex-flow: column;
padding: 0px 0px 4px;
}

.index-news__title {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-sm);
font-weight: 400;
line-height: 1.4;
text-align: left;
}

.index-news__article::after {
content: '';
border-width: 1px 1px 0px 0px;
border-style: solid;
border-color: rgb(0, 0, 0);
inset: auto 11px 28px auto;
display: none;
height: 10px;
margin: 0px;
position: absolute;
transform: rotate(45deg);
width: 10px;
}

.index-about {
place-content: center;
height: 1280px;
padding: 80px 0px;
width: 100%;
}

.index-about > .section-heading {
align-items: center;
text-align: center;
}

.index-about > .section-heading .section-heading__en,
.index-about > .section-heading .section-heading__ja {
text-align: center;
justify-content: center;
margin: 0px;
width: 100%;
}

.index-about__images {
flex-flow: row;
place-content: center;
padding: 0px;
width: 100%;
}

.index-about__image-left {
place-content: flex-end flex-start;
align-items: flex-end;
background: rgba(0, 0, 0, 0.28);
border-radius: 20px 0px 0px 20px;
flex-flow: column;
height: 800px;
margin: 40px 0px 0px;
mix-blend-mode: normal;
opacity: 0.4;
width: 640px;
}

.index-about__image-left::before {
filter: brightness(0.7);
}

.index-about__image-right {
place-content: flex-start;
align-items: flex-start;
border-radius: 0px 20px 20px 0px;
flex-flow: row;
height: 800px;
margin: 40px 0px 0px;
mix-blend-mode: normal;
opacity: 0.4;
width: 640px;
}

.index-about__image-right::before {
background-repeat: no-repeat;
filter: none;
}

.index-about__text-wrap {
place-content: flex-start center;
align-items: flex-start;
flex-flow: row;
height: 589px;
margin: -760px 0px 0px;
padding: 0px;
}

.index-about__text-right {
place-content: flex-start;
align-items: flex-start;
flex-flow: row;
margin: 0px;
position: relative;
}

.index-about__char-1 {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-2xl);
font-weight: 700;
line-height: 1.2;
margin: 40px 40px 0px 0px;
text-align: center;
text-shadow: var(--color-white) 0px 0px 10px;
width: 24px;
max-width: calc(100% - 40px);
}

.index-about__char-2 {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-2xl);
font-weight: 700;
line-height: 1.2;
margin: 40px 40px 0px 0px;
text-align: center;
text-shadow: var(--color-white) 0px 0px 10px;
width: 24px;
max-width: calc(100% - 40px);
}

.index-about__char-3 {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-2xl);
font-weight: 700;
line-height: 1.2;
margin: 40px 80px 0px 0px;
text-align: center;
text-shadow: var(--color-white) 0px 0px 10px;
width: 24px;
max-width: calc(100% - 80px);
}

.index-about__text-left {
place-content: flex-start;
align-items: flex-start;
flex-flow: row;
position: relative;
}

.index-about__char-4 {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-2xl);
font-weight: 700;
line-height: 1.2;
margin: 40px 0px 0px 80px;
text-align: center;
text-shadow: var(--color-white) 0px 0px 10px;
width: 24px;
max-width: calc(100% - 80px);
}

.index-about__char-5 {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-2xl);
font-weight: 700;
line-height: 1.2;
margin: 40px 0px 0px 40px;
text-align: center;
text-shadow: var(--color-white) 0px 0px 10px;
width: 24px;
max-width: calc(100% - 40px);
}

.index-about__accent {
background: var(--color-accent);
border-radius: var(--radius-full);
height: 400px;
margin: -800px -943px 0px 0px;
padding: 0px;
position: relative;
width: 400px;
z-index: -1;
max-width: calc(100% + 943px);
}

.index-service {
background: var(--color-bg-white);
place-content: flex-start center;
align-items: center;
flex-flow: column;
height: auto;
margin: 120px 0px 0px;
padding: 80px 0px;
position: relative;
max-width: 1280px;
width: 100%;
z-index: 1;
}

.index-service > .section-heading {
align-items: center;
text-align: center;
}

.index-service > .section-heading .section-heading__en,
.index-service > .section-heading .section-heading__ja {
text-align: center;
justify-content: center;
margin: 0px;
width: 100%;
}

.index-service__desc-wrap {
place-content: center space-between;
align-items: center;
flex-flow: row;
height: 56px;
margin: 20px 0px 0px;
padding: 0px;
}

.index-service__desc {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-md);
font-weight: 800;
line-height: 1.8;
margin: 0px;
text-align: center;
width: 100%;
}

.index-service__content {
background: var(--color-bg-white);
border-radius: var(--radius-xl);
height: 560px;
margin: 40px 0px 0px;
max-width: 920px;
width: 100%;
}

.index-service__subtitle {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-xl);
font-weight: 700;
letter-spacing: 0.15em;
line-height: 1.4;
margin: 0px 0px 40px;
text-align: center;
}

.index-service__products {
flex-flow: row;
place-content: center;
padding: 0px;
}

.index-product {
width: 220px;
}

.index-product--spaced {
margin: 0px 0px 0px 54px;
max-width: calc(100% - 54px);
}

.index-product__thumb {
border-radius: var(--radius-xl);
height: 220px;
width: 220px;
display: flex;
align-items: center;
justify-content: center;
}

.index-product__thumb--warm {
background: rgb(255, 250, 232);
}

.index-product__thumb--green {
background: rgb(245, 251, 242);
}

.index-product__thumb--orange {
background: rgb(255, 249, 241);
}

.index-product__img--1 {
height: 160px;
width: 220px;
object-fit: cover;
}

.index-product__img--2 {
height: 145px;
width: 200px;
object-fit: cover;
}

.index-product__img--3 {
height: 160px;
width: 220px;
object-fit: cover;
}

.index-product__title {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-lg);
font-weight: 700;
letter-spacing: 0.1em;
line-height: 1.4;
margin: 24px 0px 0px;
text-align: center;
}

.index-product__desc {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-base);
font-weight: 400;
letter-spacing: 0.05em;
line-height: 1.8;
margin: 12px 0px 0px;
text-align: center;
}

.index-service__link {
place-content: center;
align-items: center;
background: rgb(0, 0, 0);
border-width: 1px;
border-style: solid;
border-color: var(--color-text-dark);
border-radius: var(--radius-lg);
flex-flow: column;
height: 56px;
width: 214px;
}

.index-service__link:hover {
background: var(--color-bg-white);
border-width: 1px;
border-style: solid;
border-color: rgb(0, 0, 0);
}

.index-service__link-text {
color: var(--color-white);
font-family: var(--font-sans);
font-size: var(--fs-base);
font-weight: 600;
line-height: 1.4;
text-align: center;
width: 100%;
}

.index-service__link:hover .index-service__link-text {
color: rgb(0, 0, 0);
}

.index-company {
flex-flow: row;
place-content: center;
padding: 80px;
width: 100%;
}

.index-company__image-wrap {
place-content: flex-start center;
align-items: flex-start;
background: var(--color-gray-lighter);
border-radius: 280px;
flex-flow: column;
height: 500px;
margin: 0px;
width: 690px;
z-index: 1;
}

.index-company__image {
place-content: flex-start;
align-items: flex-start;
border-radius: 280px;
flex-flow: column;
height: 100%;
padding: 0px;
width: 100%;
z-index: 1;
}

.index-company__image::after {
content: '';
background: var(--color-accent);
border-radius: var(--radius-full);
height: 260px;
margin: 0px;
position: relative;
width: 260px;
z-index: -3;
}

.index-company__content {
place-content: flex-start;
align-items: flex-start;
flex-flow: column;
margin: 0px 0px 0px 72px;
padding: 0px;
max-width: calc(100% - 72px);
}

.index-company__desc {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-lg);
font-weight: 600;
letter-spacing: 0.1em;
line-height: 1.8;
margin: 24px 0px 0px;
text-align: left;
}

.index-company__link {
place-content: center;
align-items: center;
background: rgb(0, 0, 0);
border-width: 1px;
border-style: solid;
border-color: rgb(0, 0, 0);
border-radius: var(--radius-lg);
flex-flow: column;
height: 56px;
margin: 40px 0px 0px;
width: 214px;
}

.index-company__link:hover {
background: var(--color-bg-white);
border-width: 1px;
border-style: solid;
border-color: rgb(0, 0, 0);
}

.index-company__link-text {
color: var(--color-white);
font-family: var(--font-sans);
font-size: var(--fs-base);
font-weight: 600;
line-height: 1.4;
text-align: center;
width: 100%;
}

.index-company__link:hover .index-company__link-text {
color: rgb(0, 0, 0);
}

.index-recruit {
flex-flow: row;
place-content: center;
margin: 0px 0px 64px;
padding: 40px 160px;
transition-duration: 600ms;
transition-timing-function: var(--ease-sine);
max-width: 1280px;
width: 100%;
}

.index-recruit__content {
place-content: flex-start;
align-items: flex-start;
flex: 1 1 0%;
flex-flow: column;
margin: 0px 80px 0px 0px;
max-width: calc(100% - 80px);
}

.index-recruit__heading {
place-content: center space-between;
align-items: center;
flex-flow: row;
height: 56px;
margin: 0px;
padding: 0px;
}

.index-recruit__desc {
color: var(--color-text);
font-family: var(--font-sans);
font-size: var(--fs-lg);
font-weight: 600;
letter-spacing: 0.05em;
line-height: 1.8;
margin: 24px 0px 0px;
text-align: left;
}

.index-recruit__link {
place-content: center;
align-items: center;
background: rgb(0, 0, 0);
border-width: 1px;
border-style: solid;
border-color: var(--color-text-dark);
border-radius: var(--radius-lg);
flex-flow: column;
height: 56px;
margin: 40px 0px 0px;
width: 214px;
}

.index-recruit__link:hover {
background: var(--color-bg-white);
border-width: 1px;
border-style: solid;
border-color: rgb(0, 0, 0);
}

.index-recruit__link-text {
color: var(--color-white);
font-family: var(--font-sans);
font-size: var(--fs-base);
font-weight: 600;
line-height: 1.4;
text-align: center;
width: 100%;
}

.index-recruit__link:hover .index-recruit__link-text {
color: rgb(0, 0, 0);
}

.index-recruit__images {
place-content: center;
margin: 0px 120px 0px 0px;
padding: 0px;
max-width: calc(100% - 120px);
}

.index-recruit__photo-1 {
place-content: flex-start center;
align-items: flex-start;
background: var(--color-gray-lighter);
border-radius: 280px;
flex-flow: column;
height: 340px;
margin: 0px 0px -200px;
position: relative;
width: 340px;
}

.index-recruit__img-1 {
border-radius: 280px;
height: 100%;
padding: 0px;
width: 100%;
}

.index-recruit__img-1::before {
filter: brightness(1.4) contrast(0.8);
}

.index-recruit__accent {
background: var(--color-accent);
border-radius: var(--radius-full);
height: 260px;
margin: 50px -10px 0px 0px;
position: relative;
width: 260px;
z-index: -1;
max-width: calc(100% + 10px);
}

.index-recruit__photo-2 {
place-content: flex-start center;
align-items: flex-start;
background: var(--color-gray-lighter);
border-radius: 280px;
flex-flow: column;
height: 320px;
margin: -260px -370px 0px 0px;
position: relative;
width: 320px;
max-width: calc(100% + 370px);
}

.index-recruit__img-2 {
border-radius: 280px;
height: 100%;
margin: 0px;
padding: 0px;
width: 100%;
}

.index-recruit__img-2::before {
background-position: left top;
background-size: 619px;
filter: brightness(1.3) contrast(0.7);
}

.index-overlay {
place-content: center flex-start;
align-items: center;
background: var(--color-bg-white);
display: flex;
flex-flow: column;
height: 100%;
left: 0px;
margin: 0px;
opacity: 0;
position: absolute;
top: 0px;
transform: scale(1, 1);
transition-delay: 700ms;
transition-duration: 1200ms;
width: 100%;
z-index: -3;
}

.index-bg {
place-content: center flex-end;
align-items: center;
display: none;
flex-flow: column;
height: 100vh;
left: 0px;
margin: 0px;
position: fixed;
top: 0px;
transition-delay: 500ms;
transition-duration: 2000ms;
transition-timing-function: var(--ease-bounce);
width: 100%;
z-index: -1;
}

.index-bg::before {
filter: brightness(0.8);
}

.index-bg__curtain {
background: var(--color-primary);
display: none;
height: 100%;
left: 0px;
margin: 0px;
position: absolute;
top: 0px;
transform: scale(0, 1);
transform-origin: right center;
transition-delay: 500ms;
transition-duration: 1000ms;
width: 100%;
z-index: 2;
}

.image[data-img="carousel-01"]::before {
background-image: url(/images/carousel-01.webp);
}

.image[data-img="carousel-02"]::before {
background-image: url(/images/carousel-02.webp);
}

.image[data-img="carousel-03"]::before {
background-image: url(/images/carousel-03.webp);
}

.image[data-img="carousel-04"]::before {
background-image: url(/images/carousel-04.webp);
}

.image[data-img="about-left"]::before {
background-image: url(/images/about-left.webp);
}

.image[data-img="about-right"]::before {
background-image: url(/images/about-right.webp);
}


.image[data-img="service-bg"]::before {
background-image: url(/images/service-bg.webp);
top: 80px;
height: calc(100% - 80px);
}

.image[data-img="company-interior"]::before {
background-image: url(/images/company-interior.webp);
}

.image[data-img="recruit-left"]::before {
background-image: url(/images/recruit-left.webp);
}

.image[data-img="recruit-right"]::before {
background-image: url(/images/recruit-right.webp);
}

.image[data-img="news-hero-bg"]::before {
background-image: url(/images/news-hero-bg.webp);
}

/* Scroll animation visible state */

@media screen and (max-width: 1140px) {
.index-company__image-wrap {
  display: flex;
  }
}

@media screen and (max-width: 840px) {
.index-carousel__track {
  width: 920px;
  }

.index-hero {
  margin: -435px 0px 0px -280px;
  max-width: calc(100% + 280px);
  }

.index-news {
  place-content: flex-start;
  flex-flow: column;
  padding: 72px 32px;
  }

.index-news__list {
  width: 100%;
  }

.index-news__article {
  padding: 16px 24px 16px 0px;
  width: 100%;
  }

.index-news__date {
  width: 100%;
  }

.index-news__title {
  width: 100%;
  }

.index-company__image-wrap {
  display: flex;
  width: 480px;
  }

.index-company__content {
  margin: 0px 0px 0px 24px;
  max-width: calc(100% - 24px);
  }

.index-recruit__content {
  margin: 0px 24px 0px 0px;
  }

.index-recruit__desc {
  width: 320px;
  }

.index-recruit__images {
  margin: 0px 150px 0px 0px;
  max-width: calc(100% - 150px);
  }

.index-recruit__photo-1 {
  width: 280px;
  }

.index-recruit__photo-2 {
  width: 280px;
  }
}

@media screen and (max-width: 540px) {
.index-carousel {
  inset: 0px;
  margin: 100px 0px 0px;
  }

.index-carousel__track {
  border-radius: 40px 0px 0px 40px;
  height: 500px;
  margin: -100px -180px 0px 0px;
  top: 120px;
  width: 360px;
  z-index: -3;
  max-width: calc(100% + 180px);
  }

.index-carousel__image {
  place-content: flex-start flex-end;
  align-items: flex-start;
  }

.index-hero {
  place-content: flex-start;
  inset: 0px;
  margin: -190px 0px 0px -105px;
  max-width: calc(100% + 105px);
  }

.index-hero__line {
  inset: 0px;
  }

.index-hero__text-1 {
  inset: 0px;
  font-size: 34px;
  }

.index-hero__text-2 {
  inset: 0px;
  font-size: 34px;
  margin: 0px 0px 0px 6px;
  max-width: calc(100% - 6px);
  }

.index-hero__text-3 {
  inset: 0px;
  font-size: 34px;
  }

.index-hero__text-4 {
  inset: 0px;
  font-size: 34px;
  margin: 0px 0px 0px 6px;
  max-width: calc(100% - 6px);
  }

.index-hero__accent {
  inset: 0px;
  margin: 0px 0px 0px 90px;
  max-width: calc(100% - 90px);
  }

.index-hero__tagline {
  place-content: center space-between;
  inset: 0px;
  width: 217px;
  }

.index-hero__tagline-1 {
  inset: 0px;
  font-size: var(--fs-base);
  letter-spacing: 0.1em;
  margin: 0px 0px 0px 12px;
  max-width: calc(100% - 12px);
  }

.index-hero__tagline-2 {
  inset: 0px;
  font-size: var(--fs-base);
  letter-spacing: 0.15em;
  margin: 0px;
  }

.index-news {
  place-content: flex-start;
  margin: 380px 0px 0px;
  }

.index-news__badge {
  place-content: flex-start;
  align-items: flex-start;
  inset: 0px;
  height: 190px;
  margin: -190px 0px 0px -50px;
  width: 190px;
  max-width: calc(100% + 50px);
  }

.index-news__badge-content {
  margin: 32px 0px 0px 51px;
  max-width: calc(100% - 51px);
  }

.index-news__badge-en {
  font-size: var(--fs-xl);
  }

.index-news__list {
  margin-top: -80px;
  position: relative;
  z-index: 1;
  }

.index-about {
  height: 680px;
  padding: 0px;
  }

.index-about__images {
  flex-flow: column;
  }

.index-about__image-left {
  border-radius: 0px;
  height: 260px;
  margin: 80px 0px 0px;
  width: 100%;
  }

.index-about__image-right {
  border-radius: 0px;
  height: 260px;
  margin: 0px;
  width: 100%;
  }

.index-about__text-wrap {
  margin: -520px 0px 0px;
  }

.index-about__text-right {
  inset: 0px;
  }

.index-about__char-1 {
  font-size: var(--fs-lg);
  margin: 40px 24px 0px 0px;
  max-width: calc(100% - 24px);
  }

.index-about__char-2 {
  font-size: var(--fs-lg);
  margin: 40px 24px 0px 0px;
  max-width: calc(100% - 24px);
  }

.index-about__char-3 {
  font-size: var(--fs-lg);
  margin: 40px 40px 0px 0px;
  max-width: calc(100% - 40px);
  }

.index-about__text-left {
  inset: 0px;
  }

.index-about__char-4 {
  font-size: var(--fs-lg);
  margin: 40px 0px 0px 40px;
  max-width: calc(100% - 40px);
  }

.index-about__char-5 {
  font-size: var(--fs-lg);
  margin: 40px 0px 0px 24px;
  max-width: calc(100% - 24px);
  }

.index-about__accent {
  inset: 0px;
  height: 280px;
  margin: -560px -480px 0px 0px;
  width: 280px;
  z-index: -3;
  max-width: calc(100% + 480px);
  }

.index-service {
  background: rgb(252, 252, 252);
  margin: 40px 0px;
  padding: 40px 54px;
  }

.index-service__desc-wrap {
  flex: 1 1 0%;
  }

.index-service__desc {
  font-family: var(--font-jp);
  font-size: var(--fs-base);
  font-weight: 500;
  line-height: 1.7;
  }

.index-service__subtitle {
  font-family: var(--font-jp);
  font-size: var(--fs-lg);
  margin: 40px 0px;
  }

.index-service__products {
  flex-flow: column;
  margin: 0px 0px 40px;
  }

.index-product {
  width: 100%;
  }

.index-product--spaced {
  margin: 32px 0px 0px;
  max-width: 100%;
  }

.index-product__thumb {
  height: 120px;
  width: 100%;
  border-radius: var(--radius-base);
  }

.index-product__img--1,
.index-product__img--2,
.index-product__img--3 {
  height: 100px;
  width: auto;
  }

.index-product__title {
  font-family: var(--font-jp);
  font-size: var(--fs-base);
  text-align: left;
  width: 100%;
  }

.index-product__desc {
  font-family: var(--font-jp);
  font-size: var(--fs-sm);
  text-align: left;
  width: 100%;
  }

.index-product__desc br {
  display: none;
  }

.index-service__content {
  height: auto;
  padding: 24px 0px;
  }

.index-service__link {
  margin: 24px 0px 0px;
  }

.index-company {
  flex-flow: column;
  padding: 80px 40px;
  }

.index-company__image-wrap {
  place-content: center;
  align-items: center;
  inset: 0px;
  display: flex;
  height: 430px;
  margin: 0px -150px 0px 0px;
  position: relative;
  width: 430px;
  max-width: calc(100% + 150px);
  }

.index-company__image {
  z-index: 5;
  }

.index-company__image::after {
  inset: 0px;
  height: 240px;
  margin: -40px 0px 0px -160px;
  width: 240px;
  max-width: calc(100% + 160px);
  }

.index-company__content {
  place-content: flex-start center;
  margin: 0px;
  width: 100%;
  }

.index-company__desc {
  font-family: var(--font-jp);
  font-weight: 500;
  }

.index-recruit {
  flex-flow: column-reverse;
  height: 770px;
  margin: 24px 0px 0px;
  padding: 48px 24px;
  width: 100%;
  }

.index-recruit__content {
  margin: 70px 0px 0px;
  }

.index-recruit__heading {
  height: 40px;
  }

.index-recruit__desc {
  font-family: var(--font-jp);
  font-weight: 500;
  width: 410px;
  }

.index-recruit__images {
  margin: 0px;
  }

.index-recruit__photo-1 {
  inset: 0px;
  height: 320px;
  margin: -60px 0px 0px -270px;
  width: 320px;
  max-width: calc(100% + 270px);
  }

.index-recruit__img-1 {
  height: 320px;
  width: 320px;
  }

.index-recruit__accent {
  inset: 0px;
  height: 200px;
  margin: -140px 0px 0px -50px;
  padding: 2px;
  width: 200px;
  max-width: calc(100% + 50px);
  }

.index-recruit__photo-2 {
  inset: 84px -17px auto auto;
  margin: -370px -220px 0px 0px;
  max-width: calc(100% + 220px);
  }

.index-recruit__img-2 {
  place-content: flex-start center;
  align-items: flex-start;
  flex-flow: column;
  }
}
