.company_sub-heading {
  color: var(--gray_primary);
  font-size: min(2vw, 24px);
  font-weight: var(--weight-bold);
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .company_sub-heading {
    font-size: 5.641vw;
  }
}

.company_paragraph {
  color: var(--gray_text);
  font-size: min(1.333vw, 16px);
  font-weight: var(--weight-regular);
  line-height: 2;
}
@media only screen and (max-width: 767px) {
  .company_paragraph {
    font-size: 4.103vw;
  }
}

.company_grid__column_2 {
  display: grid;
  align-items: start;
  justify-items: center;
  grid-template-columns: repeat(2, 1fr);
  gap: min(3.333vw, 40px);
}
@media only screen and (max-width: 767px) {
  .company_grid__column_2 {
    grid-template-columns: 1fr;
    gap: 11.026vw;
  }
}
.company_grid__column_3 {
  display: grid;
  align-items: start;
  justify-items: center;
  grid-template-columns: repeat(3, 1fr);
  gap: min(1.333vw, 16px);
}
@media only screen and (max-width: 767px) {
  .company_grid__column_3 {
    grid-template-columns: 1fr;
    gap: 6.154vw;
  }
}

.company_greeting {
  position: relative;
  overflow: hidden;
  display: grid;
  align-items: center;
  justify-items: center;
  padding: min(5.333vw, 64px) 0 0;
  margin: 0 0 min(4.583vw, 55px);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .company_greeting {
    padding: 33.077vw 0 0;
    margin: 0 0 14.103vw;
  }
}
.company_greeting::before {
  display: inline-block;
  position: absolute;
  content: "";
  top: min(5.333vw, 64px);
  left: 0;
  width: calc(50% + min(91.667vw, 1100px) / 2);
  height: min(38vw, 456px);
  border-radius: min(0.667vw, 8px);
  background-color: var(--light_green_1);
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .company_greeting::before {
    top: 33.077vw;
    width: 100%;
    height: 129.744vw;
    border-radius: 0;
  }
}
.company_greeting__outer {
  display: grid;
  justify-items: center;
  gap: min(6.667vw, 80px);
}
@media only screen and (max-width: 767px) {
  .company_greeting__outer {
    gap: 16.41vw;
  }
}
.company_greeting__inner {
  position: relative;
  width: min(91.667vw, 1100px);
}
@media only screen and (max-width: 767px) {
  .company_greeting__inner {
    width: 87.692vw;
  }
}
.company_greeting__inner::after {
  position: absolute;
  display: inline-block;
  content: "";
  top: max(-5.333vw, -64px);
  left: calc(50% - min(6.667vw, 80px));
  width: min(68.333vw, 820px);
  height: min(35vw, 420px);
  background-image: url("/assets/img/company/company-greeting_pc.png");
  background-position: center;
  background-size: min(68.333vw, 820px) min(35vw, 420px);
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  .company_greeting__inner::after {
    top: -33.077vw;
    left: calc(50% - 43.846vw);
    width: 97.692vw;
    height: 50.256vw;
    background-image: url("/assets/img/company/company-greeting_sp.png");
    background-size: 97.692vw 50.256vw;
  }
}
.company_greeting__content {
  padding: min(5vw, 60px) 0 min(7.167vw, 86px);
  width: min(30.333vw, 364px);
}
@media only screen and (max-width: 767px) {
  .company_greeting__content {
    padding: 28.462vw 0 16.41vw;
    width: 100%;
  }
}
.company_greeting__paragraph {
  width: min(24.236vw, 349px);
}
@media only screen and (max-width: 767px) {
  .company_greeting__paragraph {
    width: 100%;
  }
}
.company_greeting__message {
  display: grid;
  grid-auto-flow: row;
  gap: min(1vw, 12px);
  margin-top: min(2.333vw, 28px);
  margin-bottom: min(3.333vw, 40px);
  color: var(--gray_text);
}
@media only screen and (max-width: 767px) {
  .company_greeting__message {
    gap: 6.154vw;
    margin-top: 11.282vw;
    margin-bottom: 11.282vw;
  }
}
.company_greeting__button-wrapper {
  display: grid;
  justify-items: start;
}
.company_greeting__button-wrapper span {
  padding-left: min(0.667vw, 8px);
}
@media only screen and (max-width: 767px) {
  .company_greeting__button-wrapper span {
    padding-left: 4.615vw;
  }
}
@media only screen and (max-width: 767px) {
  .company_greeting__button-wrapper {
    justify-items: center;
  }
}
.company_greeting .c-headlineMain::before {
  width: min(13.333vw, 160px);
}
@media only screen and (max-width: 767px) {
  .company_greeting .c-headlineMain::before {
    width: 26.667vw;
  }
}
@media only screen and (max-width: 767px) {
  .company_greeting .c-btnBasic {
    width: 74.359vw;
  }
}

.company_philosophy,
.company_concept {
  display: block;
  width: min(44.167vw, 530px);
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .company_philosophy,
  .company_concept {
    width: 87.692vw;
  }
}
.company_philosophy__outer,
.company_concept__outer {
  display: grid;
  grid-template-rows: auto 1fr;
  gap: min(1.25vw, 15px);
}
@media only screen and (max-width: 767px) {
  .company_philosophy__outer,
  .company_concept__outer {
    gap: 3.59vw;
  }
}
.company_philosophy__inner,
.company_concept__inner {
  display: grid;
  grid-template-columns: 1fr auto;
  place-items: start;
}
@media only screen and (max-width: 767px) {
  .company_philosophy__inner,
  .company_concept__inner {
    grid-template-columns: 1fr;
  }
}
.company_philosophy__image,
.company_concept__image {
  position: relative;
  display: block;
  overflow: hidden;
  width: min(44.167vw, 530px);
  height: min(25vw, 300px);
  border-radius: min(0.667vw, 8px);
}
.company_philosophy__image::before,
.company_concept__image::before {
  position: absolute;
  display: inline-block;
  content: "";
  top: 0;
  left: 0;
  width: min(44.167vw, 530px);
  height: min(25vw, 300px);
  background-position: center;
  background-size: min(44.167vw, 530px) min(25vw, 300px);
  background-repeat: no-repeat;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .company_philosophy__image::before,
  .company_concept__image::before {
    width: 87.692vw;
    height: 58.205vw;
    background-size: cover;
  }
}
@media only screen and (max-width: 767px) {
  .company_philosophy__image,
  .company_concept__image {
    width: 87.692vw;
    height: 58.205vw;
    border-radius: 2.051vw;
  }
}
.company_philosophy__title,
.company_concept__title {
  color: var(--gray_text);
  font-size: min(2.5vw, 30px);
  font-weight: var(--weight-medium);
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .company_philosophy__title,
  .company_concept__title {
    margin-bottom: 1.026vw;
    font-size: 7.692vw;
  }
}
.company_philosophy__description,
.company_concept__description {
  width: min(26.333vw, 316px);
  color: var(--gray_text);
  font-size: min(1.333vw, 16px);
  font-weight: var(--weight-regular);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .company_philosophy__description,
  .company_concept__description {
    margin-bottom: 4.615vw;
    width: 81.026vw;
    font-size: 4.103vw;
  }
}
.company_philosophy__view,
.company_concept__view {
  margin-top: min(0.667vw, 8px);
}
@media only screen and (max-width: 767px) {
  .company_philosophy__view,
  .company_concept__view {
    place-self: end;
    margin-top: 0;
  }
}
.company_philosophy:hover .company_philosophy__image::before,
.company_philosophy:hover .company_concept__image::before,
.company_concept:hover .company_philosophy__image::before,
.company_concept:hover .company_concept__image::before {
  transform: scale(1.1);
}
.company_philosophy:hover .c-view,
.company_concept:hover .c-view {
  opacity: 0.7;
}

.company_philosophy__image::before {
  background-image: url("/assets/img/company/company-philosophy.png");
}

.company_concept__image::before {
  background-image: url("/assets/img/company/company-concept.png");
}

.company_profile {
  display: grid;
  justify-items: center;
  width: 100%;
}
.company_profile__outer {
  width: min(91.667vw, 1100px);
}
@media only screen and (max-width: 767px) {
  .company_profile__outer {
    width: 87.692vw;
  }
}
.company_profile__list {
  display: grid;
  align-items: center;
  justify-items: center;
  grid-template-columns: repeat(4, 1fr);
  gap: min(1.333vw, 16px);
  margin-top: min(4.167vw, 50px);
  margin-bottom: min(4.167vw, 50px);
  list-style-type: none;
}
@media only screen and (max-width: 767px) {
  .company_profile__list {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.744vw;
    margin-top: 12.821vw;
    margin-bottom: 11.795vw;
  }
}
.company_profile__item {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  align-items: center;
  padding: min(1.667vw, 20px) 0;
  width: min(21.917vw, 263px);
  height: min(23.333vw, 280px);
  border-radius: min(0.667vw, 8px);
  background-color: var(--gray_1);
  background-position: center;
  background-size: contain;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  .company_profile__item {
    padding: 2.769vw 0 3.179vw;
    width: 42.462vw;
    height: 45.231vw;
    border-radius: 2.051vw;
  }
}
.company_profile__item:nth-child(1) {
  background-image: url("/assets/img/company/company-foundation.png");
}
.company_profile__item:nth-child(2) {
  background-image: url("/assets/img/company/company-employees.png");
}
.company_profile__item:nth-child(3) {
  background-image: url("/assets/img/company/company-clients.png");
}
.company_profile__item:nth-child(4) {
  background-image: url("/assets/img/company/company-sales.png");
}
.company_profile__item-title {
  color: var(--dark_blue-gray);
  font-size: min(2.167vw, 26px);
  font-weight: var(--weight-bold);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .company_profile__item-title {
    font-size: 4.103vw;
  }
}
.company_profile__item-value {
  color: var(--dark_green_primary);
  font-family: var(--family-en);
  font-size: min(5vw, 60px);
  font-weight: var(--weight-bold);
  line-height: 1;
}
@media only screen and (max-width: 767px) {
  .company_profile__item-value {
    font-size: 9.744vw;
  }
}
.company_profile__item-value span {
  padding: 0 min(0.167vw, 2px);
  color: var(--dark_blue-gray);
  display: inline-block;
  font-family: var(--family-jp);
  font-size: 0.6em;
}
@media only screen and (max-width: 767px) {
  .company_profile__item-value span {
    padding: 0 0.256vw;
  }
}
.company_profile__item-value span.setting-1 {
  color: var(--dark_green_primary);
}
.company_profile__button-wrapper {
  display: grid;
  justify-items: end;
}
.company_profile__button-wrapper span {
  padding-left: min(1vw, 12px);
}
@media only screen and (max-width: 767px) {
  .company_profile__button-wrapper span {
    padding-left: 3.077vw;
  }
}
@media only screen and (max-width: 767px) {
  .company_profile__button-wrapper {
    justify-items: center;
  }
}

.company_history,
.company_iso,
.company_trademark {
  position: relative;
  overflow: hidden;
  margin-top: min(6vw, 72px);
  width: min(29.667vw, 356px);
  height: min(20.833vw, 250px);
  border-radius: min(0.667vw, 8px);
  text-decoration: none;
}
@media only screen and (max-width: 767px) {
  .company_history,
  .company_iso,
  .company_trademark {
    margin-top: 0;
    width: 87.692vw;
    height: 58.205vw;
    border-radius: 2.051vw;
  }
}
.company_history::before,
.company_iso::before,
.company_trademark::before {
  display: inline-block;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  transition: 0.3s ease-in-out;
}
.company_history::after,
.company_iso::after,
.company_trademark::after {
  display: inline-block;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(50, 64, 81, 0.6);
}
.company_history__inner,
.company_iso__inner,
.company_trademark__inner {
  position: relative;
  display: grid;
  align-items: center;
  justify-items: start;
  grid-template-rows: auto auto 1fr;
  height: inherit;
  padding: min(2.333vw, 28px) 0 min(2.167vw, 26px) min(2.5vw, 30px);
  z-index: 1;
}
@media only screen and (max-width: 767px) {
  .company_history__inner,
  .company_iso__inner,
  .company_trademark__inner {
    padding: 4.872vw 0 7.179vw 5.897vw;
  }
}
.company_history h4,
.company_iso h4,
.company_trademark h4 {
  margin-left: max(-0.208vw, -2.5px);
  color: #ffffff;
  font-size: min(2.5vw, 30px);
  font-weight: var(--weight-medium);
  line-height: 1.7;
  letter-spacing: 0.04em;
}
@media only screen and (max-width: 767px) {
  .company_history h4,
  .company_iso h4,
  .company_trademark h4 {
    margin-left: -0.641vw;
    margin-bottom: 2.564vw;
    font-size: 7.692vw;
  }
}
.company_history p,
.company_iso p,
.company_trademark p {
  align-self: end;
  margin-left: max(-0.208vw, -2.5px);
  color: #ffffff;
  font-size: min(1.333vw, 16px);
  font-weight: var(--weight-regular);
  line-height: 1.7;
}
@media only screen and (max-width: 767px) {
  .company_history p,
  .company_iso p,
  .company_trademark p {
    margin-left: -0.641vw;
    font-size: 4.103vw;
  }
}
.company_history__more,
.company_iso__more,
.company_trademark__more {
  color: #ffffff;
}
.company_history:hover::before,
.company_iso:hover::before,
.company_trademark:hover::before {
  transform: scale(1.1);
}
.company_history:hover .c-view,
.company_iso:hover .c-view,
.company_trademark:hover .c-view {
  opacity: 1;
}

@media only screen and (max-width: 767px) {
  .company_history {
    margin-top: 16.41vw;
  }
}

.company_history::before {
  background-image: url(/assets/img/company/company-history.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

.company_iso::before {
  background-image: url(/assets/img/company/company-iso.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

.company_trademark::before {
  background-image: url(/assets/img/company/company-trademark.jpg);
  background-repeat: no-repeat;
  background-size: cover;
}

.company_location {
  position: relative;
  overflow: hidden;
  display: grid;
  align-items: center;
  justify-items: center;
  margin-top: min(10vw, 120px);
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .company_location {
    margin-top: 16.41vw;
  }
}
.company_location::before {
  display: inline-block;
  position: absolute;
  content: "";
  top: 0;
  left: 0;
  width: 100%;
  height: min(33.333vw, 400px);
  background-color: var(--light_green_1);
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .company_location::before {
    width: 100%;
    height: 153.077vw;
    border-radius: 0;
  }
}
.company_location::after {
  position: absolute;
  display: inline-block;
  content: "";
  bottom: 0;
  right: 0;
  width: calc(50% + min(55.417vw, 665px) - min(91.667vw, 1100px) / 2);
  height: min(33.333vw, 400px);
  border-radius: min(1.333vw, 16px) 0 0 min(1.333vw, 16px);
  background-image: url("/assets/img/company/company-location.png");
  background-position: center;
  background-size: cover;
  background-repeat: no-repeat;
}
@media only screen and (max-width: 767px) {
  .company_location::after {
    right: 50%;
    width: 100%;
    height: 56.154vw;
    border-radius: 0;
    transform: translateX(50%);
  }
}
.company_location__outer {
  display: grid;
  justify-items: center;
}
.company_location__inner {
  width: min(91.667vw, 1100px);
}
@media only screen and (max-width: 767px) {
  .company_location__inner {
    width: 87.692vw;
  }
}
.company_location__content {
  padding: min(5.583vw, 67px) 0 min(7vw, 84px);
  width: min(30.333vw, 364px);
}
@media only screen and (max-width: 767px) {
  .company_location__content {
    padding: 10.256vw 0 66.41vw;
    width: 100%;
  }
}
.company_location__message {
  display: grid;
  gap: min(2.5vw, 30px);
  margin-top: min(2.5vw, 30px);
}
@media only screen and (max-width: 767px) {
  .company_location__message {
    gap: 11.026vw;
    margin-top: 10vw;
  }
}
.company_location__button-wrapper {
  display: grid;
  justify-items: start;
}
@media only screen and (max-width: 767px) {
  .company_location__button-wrapper {
    justify-items: center;
  }
}
.company_location .c-headlineMain::before {
  width: min(13.333vw, 160px);
}
@media only screen and (max-width: 767px) {
  .company_location .c-headlineMain::before {
    width: 26.667vw;
  }
}
@media only screen and (max-width: 767px) {
  .company_location .c-btnBasic {
    width: 74.359vw;
  }
}/*# sourceMappingURL=company.css.map */