@charset "UTF-8";
/* ------------------------------------- */
/* メインビジュアル
/* ------------------------------------- */
.company-mv .lower-mv-title::before {
  content: "COMPANY";
}

/* ------------------------------------- */
/* company
/* ------------------------------------- */
.company {
  padding: 100px 0 120px;
}
.company .inner {
  max-width: 1170px;
}
.company-list {
  display: flex;
  flex-wrap: wrap;
  row-gap: 60px;
  -moz-column-gap: 30px;
       column-gap: 30px;
}
.company-item {
  width: calc(33.33% - 20px);
  min-height: 466px;
  box-shadow: 0px 20px 24px 0 rgba(63, 63, 63, 0.11);
}
.company-item a {
  display: inline-block;
  height: 100%;
  display: flex;
  flex-direction: column;
}
@media (hover: hover) and (pointer: fine) {
  .company-item a:hover .company-info-link::after {
    right: 0;
    opacity: 0;
    transition: all 0.3s;
  }
}
.company-info {
  padding: 30px 24px 40px 20px;
  flex-grow: 2;
  display: flex;
  flex-direction: column;
}
.company-info-label {
  color: #0053d1;
  letter-spacing: 0.7px;
  font-family: oswald, sans-serif;
}
.company-info-title {
  font-size: 1.8rem;
  font-weight: 700;
  letter-spacing: 0.9px;
  margin-top: 13px;
}
.company-info-text {
  letter-spacing: 0.7px;
  line-height: 1.5;
  margin-top: 15px;
}
.company-info-link {
  margin-top: auto;
  text-align: right;
  padding-right: 85px;
  font-size: 1.6rem;
  font-weight: 700;
  color: #0053d1;
  letter-spacing: 1.6px;
  position: relative;
}
.company-info-link::before, .company-info-link::after {
  position: absolute;
  content: "";
  width: 40px;
  top: 50%;
  transform: translateY(-50%);
}
.company-info-link::before {
  height: 40px;
  right: 0;
  background-color: #bfd4f3;
  border-radius: 50px;
}
.company-info-link::after {
  height: 2px;
  right: 18px;
  background-color: #0053d1;
  opacity: 0.4;
  transition: all 0.3s;
}

@media screen and (max-width: 600px) {
  .company {
    padding: 80px 0;
  }
  .company .inner {
    max-width: 100%;
    padding: 0 20px;
  }
  .company-list {
    flex-direction: column;
    row-gap: 30px;
  }
  .company-item {
    width: 100%;
    min-height: initial;
    height: auto;
  }
  .company-info {
    padding: 25px 20px 35px 20px;
  }
  .company-info-label {
    font-size: 1.2rem;
  }
  .company-info-title {
    font-size: 1.6rem;
  }
  .company-info-link {
    font-size: 1.4rem;
    margin-top: 30px;
  }
}
/* ------------------------------------- */
/* 詳細各ページ共通スタイル
/* ------------------------------------- */
.company-wrapper {
  display: flex;
}

.company-aside {
  width: 25%;
  padding: 100px 30px 110px 30px;
  border-left: solid 1px #bfd4f3;
}
.company-aside-item {
  padding-left: 20px;
  position: relative;
}
.company-aside-item:not(:first-child) {
  margin-top: 40px;
}
.company-aside-item.is-active::before {
  position: absolute;
  content: "";
  width: 8px;
  height: 8px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  border-radius: 50px;
  background-color: #0053d1;
}
.company-aside-item.is-active a {
  color: #0053d1;
}
.company-aside-item a {
  transition: all 0.3s;
  font-weight: 700;
  letter-spacing: 0.7px;
}
@media (hover: hover) and (pointer: fine) {
  .company-aside-item a:hover {
    color: #0053d1;
    transition: all 0.3s;
  }
}
.company-aside-link {
  margin-top: 40px;
  max-width: 310px;
  width: 100%;
}
.company-aside-link a {
  padding: 20px 0;
  border: solid 2px #bfd4f3;
  border-radius: 30px;
}
.company-aside-button {
  max-width: 310px;
  width: 100%;
}
.company-aside-button a {
  display: inline-block;
  width: 100%;
  padding: 20px 15px 20px 0;
  background-color: #0053d1;
  color: #fff;
  font-weight: 700;
  text-align: center;
  position: relative;
  border-radius: 30px;
  margin-top: 80px;
  transition: all 0.3s;
  font-size: 1.6rem;
  letter-spacing: 0.7px;
  border: solid 2px #0053d1;
}
.company-aside-button a::after {
  position: absolute;
  content: "";
  width: 24px;
  height: 24px;
  top: 50%;
  right: 25px;
  transform: translateY(-50%);
  background: url(../img/common/icon-pdf-wht.svg) no-repeat center center/contain;
}
@media (hover: hover) and (pointer: fine) {
  .company-aside-button a:hover {
    opacity: 0.8;
    transition: all 0.3s;
  }
}

@media screen and (max-width: 600px) {
  .company-wrapper {
    display: block;
  }
  .company-aside {
    width: 100%;
    padding: 40px 20px 80px;
    border-left: none;
  }
  .company-aside-link {
    margin-top: 40px;
  }
  .company-aside-button.sp {
    margin: 30px auto 80px;
  }
  .company-aside-button.sp a {
    margin-top: 0px;
  }
}