@charset "UTF-8";
/* =====================
      title
===================== */
.page__company {
  .sub-mv {
    background-image: url(/assets/img/company/sub-mv.webp);
  }
}
.page__headquarters {
  .sub-mv {
    background-image: url(/assets/img/company/headquarters/sub-mv.webp);
  }
}
.page__qualification {
  .sub-mv {
    background-image: url(/assets/img/company/qualification/sub-mv.webp);
  }
}

/* =====================
      greetings
===================== */
.greetings__block {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 96rem;
}
.greetings__image {
  width: 441rem;
  aspect-ratio: 441 / 563;
}
.greetings-signature {
  margin-top: 40rem;
  line-height: 1.7;
  display: flex;
  justify-content: flex-end;
  align-items: baseline;
  column-gap: 16rem;
}
.greetings-signature--name {
  font-size: 24rem;
}

/* =====================
      overview
===================== */
.overview {
  background-color: var(--color-background-lightGray);
}
.iso {
  background-color: var(--color-background);
  margin-top: 104rem;
  padding: 48rem 80rem;
}
.iso__wrapper {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 80rem;
}
.iso-image {
  width: 230rem;
  aspect-ratio: 230 / 172;
}
.iso-item {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 32rem;
  & + .iso-item {
    margin-top: 12rem;
  }
}
.iso-list-item__title {
  font-size: 18rem;
  line-height: 1.7;
  display: flex;
  column-gap: 8rem;
  &::before {
    content: '';
    display: block;
    width: 14rem;
    height: 14rem;
    margin-top: calc((1lh - 12rem) / 2);
    border-radius: 50%;
    border: var(--color-text-primary) solid 2rem;
  }
}

/* =====================
      history
===================== */
.history-list {
  margin-top: -24rem;
}
.history-list-item {
  display: grid;
  grid-template-columns: 211rem 1fr;
  column-gap: 32rem;
  &:first-child {
    .history-list-item__title {
      &::before {
        display: none;
      }
    }
  }
  &:last-child {
    .history-list-item__title {
      &::after {
        background-color: inherit;
        background-image: linear-gradient(0deg, transparent, #deebff);
      }
    }
  }
}
.history-list-item__title {
  color: var(--color-primary);
  padding: 32rem 64rem 32rem 0;
  position: relative;
  height: 100%;
  &::before,
  &::after {
    content: '';
    position: absolute;
    background-color: #deebff;
    width: 14rem;
    right: 64rem;
    z-index: -1;
  }
  &::before {
    top: 0;
    height: 65rem;
  }
  &::after {
    bottom: 0;
    height: calc(100% - 65rem);
  }
  > span {
    display: block;
  }
}
.history-list-item__ad {
  font-size: 48rem;
  position: relative;
  &::before,
  &::after {
    content: '';
    position: absolute;
    top: 50%;
    right: 0;
    transform: translateY(-50%);
    z-index: 1;
    background-color: var(--color-primary);
  }
  &::before {
    width: 14rem;
    aspect-ratio: 1 / 1;
    border-radius: 50%;
    right: 0;
  }
  &::after {
    width: 64rem;
    height: 2rem;
    right: -64rem;
  }
}
.history-list-item__jc {
  font-size: 14rem;
  line-height: 1.7;
}
.history-list-item__body {
  padding-block: 45rem 32rem;
}
.history-list-item__date {
  display: block;
  font-size: 22rem;
  line-height: 1.7;
}
.history-list-item__text {
  margin-top: 16rem;
}

/* =====================
      link
===================== */
.company-link__block {
  background-color: var(--color-background-lightGray);
  padding: 16rem 80rem;
}
.company-link__item {
  & + .company-link__item {
    border-top: var(--border) var(--color-list-border);
  }
}
.company-link__content {
  padding-block: 56rem;
  display: grid;
  grid-template-columns: auto 1fr auto;
  align-items: center;
  column-gap: 72rem;
  & hgroup {
    transition: opacity 0.3s ease;
  }
  .icon {
    width: 34rem;
    height: 9rem;
    transition: transform 0.3s ease-in-out 0s;
  }
  @media (any-hover: hover) {
    &:hover {
      opacity: 1;
      .company-link__image {
        transform: scale(1.08);
      }
      hgroup {
        opacity: 0.8;
      }
      .icon {
        transform: translateX(6rem);
      }
    }
  }
}
.company-link__image--clip {
  width: 296rem;
  aspect-ratio: 296 / 184;
  overflow: hidden;
}
.company-link__image {
  width: 296rem;
  aspect-ratio: 296 / 184;
  transition: transform 0.3s ease-in-out 0s;
}
.company-link__title--ja {
  font-size: 28rem;
  line-height: 1.7;
}
.company-link__title--en {
  margin-top: 8rem;
  display: block;
  color: var(--color-primary);
}

/* =====================
      headquarters
===================== */
.map {
  margin-top: 88rem;
  display: grid;
  grid-template-columns: auto 1fr;
  align-items: center;
  column-gap: 96rem;
}
.map-area {
  & iframe {
    width: 702rem;
    aspect-ratio: 702 / 374;
  }
}
.map-info__item {
  & + .map-info__item {
    margin-top: 32rem;
  }
}
.map-info__title {
  font-size: 20rem;
  line-height: 1.7;
  margin-bottom: 16rem;
}
.facility-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 48rem 40rem;
  margin-top: 112rem;
}
.facility-list__image {
  width: 100%;
  aspect-ratio: 540 / 350;
}
.facility-list__title {
  font-size: 24rem;
  line-height: 1.7;
  display: block;
  margin-top: 24rem;
  text-align: center;
}
.facility-list__description {
  margin-top: 16rem;
}

/* =====================
      machiningCenter
===================== */
.machiningCenter,
.machiningCenter02 {
  .inner {
    padding-block-start: 0;
  }
}

/* =====================
      Qualification Holder / Owned Facility
===================== */
.qualification__container {
  .section__title02 {
    &:nth-child(n + 2) {
      margin-top: 136rem;
    }
  }
}
.qualificationHolder-list,
.ownedFacility-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  column-gap: 56rem;
}
.qualificationHolder-list__item,
.ownedFacility-list__item {
  display: grid;
  grid-template-columns: 1fr 60rem;
  column-gap: 40rem;
  padding-block: 40rem;
  border-bottom: var(--border) var(--color-list-border);
}
.qualificationHolder-list__item {
  &:nth-child(-n + 4) {
    grid-column: 1 / 2;
  }
  &:nth-child(n + 5) {
    grid-column: 2 / 3;
  }
  &:nth-child(5) {
    grid-row: 1 / 2;
  }
  &:nth-child(6) {
    grid-row: 2 / 3;
  }
  &:nth-child(7) {
    grid-row: 3 / 4;
  }
  &:nth-child(8) {
    grid-row: 4 / 5;
  }
}
.qualificationHolder-item__body,
.ownedFacility-item__body {
  text-align: right;
}

/* =====================
      ownedFacility
===================== */
.ownedFacility-list__item {
  &:last-child {
    border-bottom: none;
  }
  &:nth-child(-n + 9) {
    grid-column: 1 / 2;
  }
  &:nth-child(n + 10) {
    grid-column: 2 / 3;
  }
  &:nth-child(10) {
    grid-row: 1 / 2;
  }
  &:nth-child(11) {
    grid-row: 2 / 3;
  }
  &:nth-child(12) {
    grid-row: 3 / 4;
  }
  &:nth-child(13) {
    grid-row: 4 / 5;
  }
  &:nth-child(14) {
    grid-row: 5 / 6;
  }
  &:nth-child(15) {
    grid-row: 6 / 7;
  }
  &:nth-child(16) {
    grid-row: 7 / 8;
  }
  &:nth-child(17) {
    grid-row: 8 / 9;
  }
  &:nth-child(18) {
    grid-row: 9 / 10;
  }
}
