.company-about_unit {
  margin-top: 40px;
}

.company-about_list {
  display: flex;
}
.company-about_list + .company-about_list {
  margin-top: 2px;
}

.company-about_term {
  display: flex;
  background-color: #d9e8ed; 
  font-weight: 700;
  align-items: center;
}

.company-about_description {
  width: 100%;
  background-color: #fff;
}

.company-about_col-title {
  font-weight: 700;
}

.company-about_link {
  margin-top: 60px;
  text-align: center;
}

.company-about_link-title {
  font-size: 20px;
  font-weight: 700;
}

.company-about_button {
  display: flex;
  height: 48px;
  max-width: 300px;
  margin: 0 auto;
  margin-top: 12px; 
  justify-content: center;
  background-color: #0e7a9e;
  border-radius: 50px;
  color: #fff;
  font-size: 16px;
  font-weight: 700;
  align-items: center;
  line-height: 1.2;
  transition: color 0.3s, background 0.3s;
}
.company-about_button span {
  position: relative;
}
.company-about_button span:after {
  position: absolute;
  top: 50%;
  content: '';
  background-size: 100% 100%;
  transform: translateY(-50%);
  transition: background 0.3s;
}
.company-about_button._arrow span:after {
  right: -36px; 
  height: 11px;
  width: 21px;
  background-image: url('/img/ico_allow.svg');
}
.company-about_button._wide {
  max-width: 400px;
}
.company-about_button._pdf span:after {
  right: -30px; 
  height: 20px;
  width: 17px;
  background-image: url('/img/ico_pdf.svg');
}
.company-about_button._back {
  background-color: #99abb1;
}
.company-about_button._recruit {
  background-color: #2fa099;
  letter-spacing: 0;
}
.company-about_button._recruit._back {
  background-color: #99abb1;
}
.company-about_button._disabled {
  pointer-events: none; 
  background-color: #ccc;
}

.company-access_location {
  background-color: #0e7a9e;
  border-radius: 10px; 
  color: #fff;
  text-align: center;
}

.company-access_location-title {
  font-size: 20px;
  font-weight: 700;
  line-height: 1;
}

.company-access_location-text {
  margin-top: 16px;
  font-weight: 700;
}

.company-access_route {
  display: flex;
}

.company-access_route-unit {
  position: relative;
  z-index: 1; 
  width: 100%;
  background-color: #99abb1;
  border-radius: 10px;
  color: #fff;
  text-align: center;
}
.company-access_route-unit:before {
  position: absolute;
  left: 50%;
  top: -80px;
  content: '';
  height: 160px;
  width: 160px;
  background-size: 100% 100%; 
  transform: translateX(-50%);
}
.company-access_route-unit._01:before {
  background-image: url('/img/company/ico_access01.svg');
}
.company-access_route-unit._02:before {
  background-image: url('/img/company/ico_access02.svg');
}

.company-access_route-title {
  font-weight: 700;
  line-height: 1.5;
}

.company-access_route-text {
  border-top: 1px solid #d6d9db; 
  line-height: 1.5;
}

.company-access_map {
  background-color: rgba(240, 245, 255, 0.8);
}
.company-access_map img {
  height: 100% !important; 
  width: 100% !important;
}
.company-access_map .map_label {
  margin-top: -40px;
  background-color: #f8f9fa;
}

.company-greeting {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}
.company-greeting_lead {
  width: 632px;
}
.company-greeting_text + .company-greeting_text {
  margin-top: 26px;
}
.company-greeting_image {
  text-align: center;
}
.company-greeting_image figcaption {
  width: 247px;
  margin: 16px auto 0; 
  font-weight: 700;
  line-height: 1;
  text-align: left;
}
.company-greeting_image img {
  width: 100%;
}
.company-greeting_note {
  display: flex; 
  width: 247px;
  margin: 12px auto 0;
  color: #657c84;
  font-size: 12px;
  font-weight: 700;
}
.company-greeting_note dd {
  flex: 1;
}
@media screen and (max-width: 767px) {
  .company-about {
    margin: 0 -22px;
  }
  .company-about_term {
    max-width: 124px;
    min-width: 124px;
    padding: 24px 23px;
  }
  .company-about_description {
    padding: 24px;
  }
  .company-about_col + .company-about_col {
    margin-top: 24px;
  }
  .company-about_button {
    width: 95.2381%;
    padding: 0 45px;
  }
  .company-about_button._recruit {
    text-align: center;
  }
  .company-access_location {
    padding: 35px 30px 31px 30px;
  }
  .company-access_route {
    margin-top: 34px;
  }
  .company-access_route-unit {
    padding: 66px 24px 24px;
  }
  .company-access_route-unit + .company-access_route-unit {
    margin-left: 29px;
  }
  .company-access_route-title {
    font-size: 18px;
  }
  .company-access_route-text {
    margin-top: 16px;
    padding-top: 16px;
  }
  .company-access_map {
    height: 500px;
    margin-top: -143px;
  }
  .company-greeting_officer {
    max-width: 300px;
    margin: 40px auto 0;
  }
}
@media print, screen and (min-width: 768px) {
  .company-about_term {
    max-width: 150px;
    min-width: 150px;
    padding: 30px 21px 30px 22px;
    font-size: 16px; 
    align-items: center;
  }
  .company-about_description {
    padding: 32px;
  }
  .company-about_description._col {
    display: flex;
  }
  .company-about_col {
    width: 33.3%;
  }
  .company-about_col + .company-about_col {
    margin-left: 32px;
  }
  .company-about_button {
    width: 100%;
  }
  .company-about_button:hover {
    background-color: #1c90b7;
  }
  .company-about_button._arrow {
    padding: 0 59px 0 60px;
  }
  .company-about_button._recruit:hover {
    background-color: #29b1a8;
  }
  .company-about_button._recruit._back:hover {
    background-color: #67b9b3;
  }
  .company-about_button._disabled:hover {
    background-color: #ccc;
  }
  .company-access_location {
    padding: 28px 32px;
  }
  .company-access_route {
    margin-top: 26px;
  }
  .company-access_route-unit {
    padding: 64px 32px 30px;
  }
  .company-access_route-unit + .company-access_route-unit {
    margin-left: 60px;
  }
  .company-access_route-title {
    font-size: 20px;
  }
  .company-access_route-text {
    margin-top: 20px;
    padding-top: 20px;
  }
  .company-access_map {
    height: 600px;
    margin-top: -156px;
  }
  .company-greeting_officer {
    width: 300px; 
    margin-top: -65px;
  }
}
