@charset "UTF-8";

.company__lead {
  margin: 102px auto 0;
  width: min(1200px, 85vw);
  height: auto;
}
.company__lead-head {
  position: relative;
  aspect-ratio: 1200/469;
}
.company__lead-head picture {
  z-index: -1;
  position: absolute;
  width: 100%;
  height: 100%;
}
.company__lead-head picture img {
  width: 100%;
  height: auto;
}
.company__lead-head-inner {
  position: absolute;
  top: 50%;
  left: min(100px, 7vw);
  transform: translateY(-50%);
}
.company__lead-head-inner h2 {
  display: inline;
  font-size: clamp(2.55rem, 2.5vw, 3.5rem);
  line-height: 1.6;
  color: #fff;
  padding: 0 19px;
  background: linear-gradient(35deg, #333 75%, #6134c1);
  -webkit-box-decoration-break: clone;
  box-decoration-break: clone;
}
.company__lead-head-inner-p {
  margin-top: min(2vw, 33px);
  font-size: clamp(2rem, 2.5vw, 3.5rem);
}
.company__lead-head-inner-p span {
  display: inline-block;
  font-size: clamp(1.5rem, 1.5vw, 2.1rem);
  transform: translateY(-5%);
  line-height: 2;
}
.company__lead-text {
  padding: 88px 8% 112px;
  margin-top: max(-44px, -3vw);
  background-color: #fff;
  width: min(71vw, 1000px);
  border-radius: 41px;
  margin-inline: auto;
  text-align: justify;
  font-size: clamp(1.5rem, 1.5vw, 2.1rem);
}
.company__lead-text span {
  margin-bottom: min(4vw, 59px);
  display: inline-block;
}
@media (max-width: 767px) {
  .company__lead {
    margin: 0 auto;
    width: 100vw;
  }
  .company__lead-head {
    position: relative;
    aspect-ratio: 390/398;
  }
  .company__lead-head-inner {
    position: absolute;
    top: 45%;
    left: 0%;
    transform: translateY(-50%);
  }
  .company__lead-head-inner-p {
    margin-top: 123px;
    transform: translateX(7.5%);
  }
  .company__lead-head-inner-p span {
    line-height: 1.6;
  }
  .company__lead-text {
    padding: 34px 7.5% 60px;
    margin-top: -40px;
    width: 100vw;
    border-radius: 41px;
  }
  .company__lead-text span {
    margin-bottom: min(4vw, 59px);
    display: inline-block;
  }
}

/* 会社概要 */
.company__info {
  width: 100vw;
  background: url(/assets/images/pc/company/company__bg-pc.webp) center / cover
    no-repeat;
  color: #fff;
  padding: 104px 0 61px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  grid-template-rows: 94px auto;
}
.company__info-h2 {
  grid-column: 1/3;
  width: min(71vw, 1000px);
  margin-inline: auto;
  line-height: 1.3;
  position: relative;
}
.company__info-h2-jp {
  position: relative;
  display: inline-block;
  font-size: clamp(3.2rem, 3.5vw, 4.9rem);
  letter-spacing: 0.1em;
}
.company__info-h2-jp::after {
  content: "";
  position: absolute;
  height: 1px;
  background: #fff;
  top: 50%;
  transform: translateY(-50%);
  left: 100%;
  margin-left: min(55px, 3.9vw);
  width: calc(min(71vw, 1000px) - 100% - min(55px, 3.9vw));
  max-width: 732px;
}
.company__info-h2-en {
  font-size: clamp(1.6rem, 1.8vw, 2.6rem);
  letter-spacing: 0.05em;
}
.company__info-picture {
  width: 75%;
  max-height: 584px;
  aspect-ratio: 531/584;
  align-self: self-end;
  border-radius: 0 29px 29px 0;
  overflow: hidden;
  transform: translatey(
    clamp(-75px, calc(-52px + (-23 * (1400px - 100vw) / 633)), -52px)
  );
}
.company__info-picture img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.company__info-table {
  width: min(623px, 44vw);
  text-align: left;
  transform: translate(
    max(-122px, -8.7vw),
    clamp(-75px, calc(-52px + (-23 * (1400px - 100vw) / 633)), -52px)
  );
}
.company__info-table th {
  font-size: clamp(1.5rem, 1.5vw, 2.1rem);
  padding: 39px 0 39px min(3vw, 43px);
  border-bottom: solid 1px #fff;
  white-space: nowrap;
}
.company__info-table td {
  font-size: clamp(1.5rem, 1.5vw, 2.1rem);
  border-bottom: solid 1px #fff;
  padding-left: min(15px, 2vw);
}
@media (max-width: 767px) {
  .company__info {
    background: url(/assets/images/sp/company/company__bg-sp.webp) center /
      cover no-repeat;
    padding: 64px 0 62px;
    grid-template-columns: 1fr;
    grid-template-rows: 3fr;
  }
  .company__info-h2 {
    grid-column: 1;
    grid-row: 1;
    width: 85vw;
  }
  .company__info-h2-jp::after {
    display: none;
  }
  .company__info-picture {
    grid-column: 1;
    grid-row: 3;
    width: 85vw;
    max-height: none;
    aspect-ratio: 330/278;
    align-self: center;
    border-radius: 0;
    transform: translatey(0);
    justify-self: center;
  }
  .company__info-picture img {
    width: 100%;
    height: 100%;
    object-fit: contain;
  }
  .company__info-table {
    grid-column: 1;
    grid-row: 2;
    width: 85vw;
    transform: translate(0);
    margin: 48px auto 33px;
  }
  .company__info-table th:first-of-type {
    border-top: solid 1px #fff;
  }
  .company__info-table td:first-of-type {
    border-top: solid 1px #fff;
  }
  .company__info-table th {
    padding: 24px 0 24px 8px;
  }
}

/* アクセス */
.company__access {
  width: min(71vw, 1000px);
  margin-inline: auto;
  padding: 104px 0 113px;
}
.company__access-h2 {
  width: 100%;
  margin-inline: auto;
  line-height: 1.3;
  position: relative;
}
.company__access-h2-jp {
  position: relative;
  font-size: clamp(3.2rem, 3.5vw, 4.9rem);
  letter-spacing: 0.1em;
  display: inline-block;
}
.company__access-h2-jp::after {
  content: "";
  position: absolute;
  height: 1px;
  background: #333;
  top: 50%;
  transform: translateY(-50%);
  left: 100%;
  margin-left: min(55px, 3.9vw);
  width: calc(min(71vw, 1000px) - 100% - min(55px, 3.9vw));
  max-width: 732px;
}
.company__access-h2-en {
  font-size: clamp(1.6rem, 1.8vw, 2.6rem);
  letter-spacing: 0.05em;
}
.company__access-p {
  margin: 49px 0 45px;
  display: flex;
  gap: min(62px, 4vw);
}
.company__access iframe {
  width: 100%;
  height: auto;
  aspect-ratio: 1000/794;
  border-radius: 30px;
}
@media (max-width: 767px) {
  .company__access {
    width: 85vw;
    padding: 64px 0 62px;
  }
  .company__access-h2-jp::after {
    display: none;
  }
  .company__access-p {
    margin: 46px 0 30px;
    flex-direction: column;
    gap: 15px;
  }
}
