@charset "UTF-8";
.sec_header {
  margin-bottom: 3em;
}

/*企業理念*/
#contents .article-body > section#policy {
  margin-bottom: 5em !important;
}

#policy {
  position: relative;
  color: #fff;
}
#policy::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  display: block;
  width: 100vw;
  height: 100%;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  background-image: url("/wordpress/wp-content/site-parts/page/company/img/company_eyecatch.jpg");
}
#policy .sec_header, #policy .sec_body {
  position: relative;
  z-index: 1;
}
#policy .sec_body {
  display: flex;
  align-items: stretch;
}
#policy picture {
  display: flex;
}
@media (max-width: 767px) {
  #policy {
    padding-top: 32px;
    padding-bottom: 32px;
  }
  #policy .sec_body {
    flex-direction: column;
  }
  #policy picture {
    display: flex;
    order: 1;
  }
  #policy picture:first-of-type {
    justify-content: flex-start;
  }
  #policy picture:last-of-type {
    justify-content: flex-end;
  }
  #policy picture img {
    width: 80%;
  }
}
@media (min-width: 768px) {
  #policy {
    padding: 64px;
    text-align: center;
  }
  #policy .sec_body {
    justify-content: space-between;
  }
  #policy picture {
    display: flex;
    width: 20%;
  }
  #policy picture:first-of-type {
    align-items: flex-start;
  }
  #policy picture:last-of-type {
    align-items: flex-end;
  }
  #policy .text {
    flex-shrink: 1;
    flex-grow: 1;
    width: auto;
    padding: 1em;
  }
  #policy h3 {
    font-size: 200%;
  }
  #policy p {
    font-size: 90%;
  }
}
#policy h3 {
  margin-bottom: 1.5em;
  line-height: 1.8;
}

/*使命*/
#mission {
  position: relative;
}
#mission .sec_body {
  display: flex;
  justify-content: center;
  align-items: center;
  width: -moz-fit-content;
  width: fit-content;
  aspect-ratio: 522/382;
  margin: auto;
  background-image: url("/wordpress/wp-content/site-parts/common/img/bg_mark.svg");
  background-repeat: no-repeat;
  background-size: contain;
  background-position: center;
  text-align: center;
  color: #021b2f;
}
#mission .sec_body p {
  font-size: 150%;
  font-weight: 700;
}
#mission.bg-slash::before {
  height: 5cqw;
}
#mission.bg-slash::after {
  top: 5cqw;
}

/*行動指針*/
@media (max-width: 767px) {
  #behavioral-guidelines {
    padding-top: 3em;
    padding-bottom: 3em;
  }
}
#behavioral-guidelines .ncColumns {
  width: min(100%, 900px);
  margin: auto;
}
#behavioral-guidelines .ncColumns_panel {
  position: relative;
}
#behavioral-guidelines .ncColumns_panel::before {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  z-index: 0;
  content: "";
  display: block;
  aspect-ratio: 1/1;
  border-radius: 50%;
  background-color: rgba(169, 206, 227, 0.87);
}
#behavioral-guidelines .text {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  color: #222;
}
#behavioral-guidelines h3,
#behavioral-guidelines span {
  color: #021b2f;
  text-align: center;
}
#behavioral-guidelines h3 {
  margin-bottom: 0.2em;
}
#behavioral-guidelines span {
  display: block;
  font-weight: bold;
}
#behavioral-guidelines p {
  width: 12em;
  counter-reset: #222;
}
@media (min-width: 768px) {
  #behavioral-guidelines .ncColumns_panel {
    aspect-ratio: 1/1;
  }
  #behavioral-guidelines .ncColumns_panel::before {
    width: 120%;
  }
  #behavioral-guidelines h3 {
    font-size: 175%;
  }
  #behavioral-guidelines span {
    margin-bottom: 1em;
    font-size: 118%;
  }
  #behavioral-guidelines p {
    text-align: center;
  }
}
@media (max-width: 767px) {
  #behavioral-guidelines .ncColumns {
    padding-top: 3em;
    gap: 5em;
  }
  #behavioral-guidelines .ncColumns_panel {
    container-type: inline-size;
    width: 60%;
    margin: 5cqw auto;
  }
  #behavioral-guidelines .ncColumns_panel::before {
    width: 130%;
  }
  #behavioral-guidelines h3 {
    font-size: 10cqw;
  }
  #behavioral-guidelines span {
    font-size: 7cqw;
  }
}

/*会社概要*/
#profile {
  padding-top: 10cqw !important;
}
#profile.bg-slash::before {
  height: 0cqw;
}
#profile.bg-slash::after {
  top: 0cqw;
}
#profile dt {
  color: #002941;
}
#profile dd {
  color: #222;
}

/*関連会社*/
#related a {
  color: #fff;
}
@media (max-width: 767px) {
  #related {
    padding-top: 3em;
  }
}/*# sourceMappingURL=style.css.map */