.inner_wrap {
  margin: 0 auto;
}

.message_flex_box {
  display: flex;
  margin-top: 6.94%;
  gap: 9.26%;
}

.message_img_box {
  width: 37.04%;
}

.message_txt_box {
  width: 53.7%;
}

.message_main_tit {
  font-size: clamp(2rem, 2.22vw, 3.2rem);
  font-weight: 700;
  line-height: 1.55;
}

.message_main_txt {
  font-size: clamp(1rem, 1.11vw, 1.6rem);
  font-weight: 500;
  line-height: 1.9;
  margin-top: 3.89%;
}

.message_main_tit .js-message-line,
.message_main_txt .js-message-line {
  display: block;
  opacity: 0;
  transform: translateY(0.9rem);
  transition:
    opacity 1.35s var(--ease-standard),
    transform 1.8s var(--ease-standard);
  transition-delay: var(--message-delay, 0s);
  will-change: opacity, transform;
}

.message_main_tit .js-message-line + .js-message-line {
  margin-top: 0.2em;
}

.message_txt_box.is-message-visible .js-message-line {
  opacity: 1;
  transform: translateY(0);
}

.message_main_txt .js-message-line--gap {
  margin-top: 2rem;
}

.tx_large {
  font-size: clamp(1.2rem, 1.25vw, 1.8rem);
  font-weight: 700;
  margin: 1.2% 0;
  display: block;
}

.company_gallery_section {
  margin-top: 2.4rem;
}

.company_gallery_intro {
  margin-top: 3.2rem;
  max-width: 64rem;
}

.company_gallery_intro p {
  font-size: clamp(1rem, 1.11vw, 1.6rem);
  font-weight: 500;
  line-height: 1.9;
}

.company_gallery_scroll {
  margin-top: 3.6rem;
  overflow: hidden;
}

.company_gallery_rail {
  display: flex;
  width: max-content;
  animation: companyGalleryLoop 34s linear infinite;
  will-change: transform;
}

.company_gallery_track {
  display: flex;
  gap: 2rem;
  flex: 0 0 auto;
  padding-right: 2rem;
}

.company_gallery_item {
  flex: 0 0 auto;
  width: min(40vw, 46rem);
  min-width: 32rem;
  border-radius: 1.8rem;
  overflow: hidden;
  background: #f4f1ea;
  scroll-snap-align: start;
}

.company_gallery_item img {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
}

@keyframes companyGalleryLoop {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    transform: translate3d(-50%, 0, 0);
  }
}

.company {
  margin-top: 6.94%;
  padding-bottom: 6.94%;
  display: flex;
  justify-content: flex-end;
}

.company-inner {
  max-width: 80rem;
  width: 74.07%;
}

.company-list {
  margin-top: 4.63%;
  border-top: .15rem solid #a5772a;
}

.company-item {
  display: flex;
  padding: 2.31% 0;
  border-bottom: .15rem solid #a5772a;
}

.company-item dt {
  width: 27.78%;
  font-weight: 600;
  color: #333;
}

.company-item dd {
  flex: 1;
  color: #555;
  line-height: 1.8;
}

.message_name {
  margin-top: 2rem;
  font-weight: 700;
}

.big_name {
  font-size: 2rem;
}

@media (max-width: 48rem) {
  .inner_wrap {
    margin: 0 auto;
    padding: 0 2rem;
  }

  .message_flex_box {
    flex-direction: column;
    gap: 3.2rem;
    margin-top: 3.2rem;
  }

  .message_img_box,
  .message_txt_box {
    width: 100%;
  }

  .message_img_box img {
    border-radius: 1.2rem;
  }

  .message_name {
    margin-top: 1.4rem;
    font-size: 1.3rem;
  }

  .big_name {
    font-size: 1.8rem;
  }

  .message_main_tit {
    font-size: clamp(2.2rem, 7vw, 3rem);
    line-height: 1.55;
  }

  .message_main_txt {
    font-size: 1.4rem;
    line-height: 1.95;
    margin-top: 2rem;
  }

  .message_main_tit .js-message-line,
  .message_main_txt .js-message-line {
    transform: translateY(0.7rem);
  }

  .message_main_txt .js-message-line--gap {
    margin-top: 1.6rem;
  }

  .tx_large {
    font-size: 1.6rem;
    line-height: 1.8;
    margin: 1.6rem 0;
  }

  .company_gallery_section {
    margin-top: 1.6rem;
  }

  .company_gallery_intro {
    margin-top: 2.4rem;
  }

  .company_gallery_intro p {
    font-size: 1.4rem;
    line-height: 1.85;
  }

  .company_gallery_scroll {
    margin-top: 2.8rem;
    margin-right: 0;
    padding-right: 0;
  }

  .company_gallery_track {
    gap: 1.2rem;
    padding-right: 1.2rem;
  }

  .company_gallery_item {
    width: 84vw;
    min-width: 28rem;
    max-width: 34rem;
    border-radius: 1.2rem;
  }

  .company {
    display: block;
    margin-top: 3.2rem;
    padding-bottom: 6.4rem;
  }

  .company-inner {
    width: 100%;
    max-width: none;
  }

  .company-list {
    margin-top: 3.2rem;
  }

  .company-item {
    flex-direction: column;
    gap: 0.6rem;
    padding: 1.8rem 0;
  }

  .company-item dt {
    width: 100%;
    font-size: 1.3rem;
    color: #ab6b00;
  }

  .company-item dd {
    font-size: 1.4rem;
    line-height: 1.85;
  }
}

@media (prefers-reduced-motion: reduce) {
  .company_gallery_scroll {
    overflow-x: auto;
    overflow-y: hidden;
    padding-bottom: 0.8rem;
  }

  .company_gallery_rail {
    animation: none;
  }
}
