@charset "UTF-8";
/* 未来の大切な仲間へ */
.top_message {
  padding-inline: calc(50dvw - min(558.5px, 47.4511469839vw));
  position: relative;
  display: flex;
}
@media screen and (max-width: 1177px) {
  .top_message {
    padding-inline: 30px;
  }
}
@media (max-width: 960px) {
  .top_message {
    padding-inline: 20px;
  }
}
@media (min-width: 961px) {
  .top_message {
    padding-bottom: min(120px, 10.1954120646vw);
    flex-direction: row-reverse;
  }
  .top_message > * {
    flex: 1 1 50%;
  }
}
@media (max-width: 960px) {
  .top_message {
    padding-bottom: 210px;
    flex-direction: column-reverse;
    gap: 32px;
  }
}
@media (min-width: 961px) {
  .top_message .h3 {
    margin-bottom: min(40px, 3.3984706882vw);
  }
}
@media (max-width: 960px) {
  .top_message .h3 {
    margin-bottom: 24px;
    justify-items: center;
  }
}
.top_message .text p {
  line-height: 2;
}
.top_message .text p + p {
  margin-top: 1em;
}
@media (min-width: 961px) {
  .top_message .text p {
    font-size: min(18px, 1.5293118097vw);
  }
}
@media (max-width: 960px) {
  .top_message .text p {
    font-size: 15px;
  }
}
.top_message .image figure {
  width: fit-content;
}
@media (min-width: 961px) {
  .top_message .image figure {
    width: min(382px, 32.4553950722vw);
  }
}
@media (max-width: 960px) {
  .top_message .image figure {
    width: 200px;
    margin: auto;
  }
}
.top_message .image figcaption {
  margin-top: 1.2em;
  font-weight: 600;
  text-align: center;
  line-height: 1.7;
}
@media (min-width: 961px) {
  .top_message .image figcaption {
    font-size: min(13px, 1.1045029737vw);
  }
  .top_message .image figcaption .name {
    font-size: min(24px, 2.0390824129vw);
  }
}
@media (max-width: 960px) {
  .top_message .image figcaption {
    font-size: 10px;
  }
  .top_message .image figcaption .name {
    font-size: 18px;
  }
}
.top_message .image img {
  mix-blend-mode: multiply;
}
.top_message .ill-1 {
  left: 0;
}
@media (min-width: 961px) {
  .top_message .ill-1 {
    width: min(145px, 12.3194562447vw);
    top: min(-90px, -7.6465590484vw);
  }
}
@media (max-width: 960px) {
  .top_message .ill-1 {
    top: 0px;
  }
}
@media (min-width: 961px) {
  .top_message .ill-2 {
    width: min(149px, 12.6593033135vw);
    top: min(140px, 11.8946474087vw);
    left: calc(50% - min(170px, 14.4435004248vw));
  }
}
@media (max-width: 960px) {
  .top_message .ill-2 {
    top: 100px;
    right: 0px;
  }
}
@media (min-width: 961px) {
  .top_message .ill-3 {
    width: min(150px, 12.7442650807vw);
    top: min(450px, 38.2327952421vw);
    right: calc(50% + min(480px, 40.7816482583vw));
  }
}
@media (max-width: 960px) {
  .top_message .ill-3 {
    top: 220px;
    left: 10px;
  }
}
@media (min-width: 961px) {
  .top_message .ill-4 {
    width: min(114px, 9.6856414613vw);
    bottom: min(460px, 39.0824129142vw);
    right: calc(50% + min(400px, 33.9847068819vw));
  }
}
@media (max-width: 960px) {
  .top_message .ill-4 {
    bottom: 110px;
    left: 10px;
  }
  .top_message .ill-4 img {
    zoom: 0.37;
    -moz-transform: scale(0.37);
  }
}
@media (min-width: 961px) {
  .top_message .ill-5 {
    width: min(250px, 21.2404418012vw);
    bottom: min(260px, 22.0900594732vw);
    right: calc(50% + min(70px, 5.9473237043vw));
  }
}
@media (max-width: 960px) {
  .top_message .ill-5 {
    bottom: 50px;
    right: 30px;
  }
  .top_message .ill-5 img {
    zoom: 0.24;
    -moz-transform: scale(0.24);
  }
}

/* 会社概要 */
.overview {
  padding-inline: calc(50dvw - min(558.5px, 47.4511469839vw));
  display: grid;
  position: relative;
}
@media screen and (max-width: 1177px) {
  .overview {
    padding-inline: 30px;
  }
}
@media (max-width: 960px) {
  .overview {
    padding-inline: 20px;
  }
}
@media (min-width: 961px) {
  .overview {
    padding-block: min(120px, 10.1954120646vw);
    grid-template-columns: 30% 70%;
  }
}
@media (max-width: 960px) {
  .overview {
    padding-block: 80px;
    gap: 10px;
  }
}
@media (min-width: 961px) {
  .overview .h3 {
    grid-area: 1/1/2/3;
  }
}
@media (min-width: 961px) {
  .overview .content {
    grid-area: 2/2/3/3;
  }
}
.overview .content dl {
  display: grid;
  grid-template-columns: auto 1fr;
}
.overview .content dl > * {
  border-bottom: 1px solid rgba(var(--color-text-base-code), 0.3);
}
@media (min-width: 961px) {
  .overview .content dl > * {
    padding-block: 1.3em;
    font-size: min(16px, 1.3593882753vw);
  }
}
@media (max-width: 960px) {
  .overview .content dl > * {
    padding-block: 20px;
  }
}
.overview .content dt {
  font-weight: 600;
}
@media (min-width: 961px) {
  .overview .content dt {
    padding-right: 4em;
  }
}
@media (max-width: 960px) {
  .overview .content dt {
    padding-right: 2em;
  }
}
.overview .content dd {
  font-weight: 500;
}
.overview .content address {
  font-style: normal;
}
.overview .content address + address {
  margin-top: 0.8em;
}
@media (min-width: 961px) {
  .overview .ill-1 {
    width: min(325px, 27.6125743415vw);
    top: 0;
    left: min(30px, 2.5488530161vw);
    transform: translateY(-80%);
  }
}
@media (max-width: 960px) {
  .overview .ill-1 {
    top: -80px;
    left: 20px;
  }
  .overview .ill-1 img {
    zoom: 0.21;
    -moz-transform: scale(0.21);
  }
}
@media (min-width: 961px) {
  .overview .ill-2 {
    width: min(200px, 16.992353441vw);
    top: min(30px, 2.5488530161vw);
    left: calc(50% + min(300px, 25.4885301614vw));
  }
}
@media (max-width: 960px) {
  .overview .ill-2 {
    top: 10px;
    right: 30px;
  }
  .overview .ill-2 img {
    zoom: 0.25;
    -moz-transform: scale(0.25);
  }
}
@media (min-width: 961px) {
  .overview .ill-3 {
    width: min(172px, 14.6134239592vw);
    top: min(460px, 39.0824129142vw);
    right: calc(50% + min(440px, 37.3831775701vw));
  }
}
@media (max-width: 960px) {
  .overview .ill-3 {
    bottom: 25px;
    left: 0;
  }
}