#key-visual-sub {
  /* background-image: url(../images/company/keyvisual.jpg);*/
  display: none;
}
#key-visual-sub .key-visual-philosophy {
  display: block;
  width: 96%;
  max-width: 730px;
  min-height: 200px;
  margin: 0 auto;
  padding: 40px 0;
  color: #ffffff;
}
@media screen and (min-width: 768px) {
  #key-visual-sub .key-visual-philosophy {
    margin: 0 auto;
    padding: 100px 0 0 0;
  }
}

.main-contents-inner {
  margin: 0 auto;
}

#greeting {
  max-width: 1200px !important;
}
#greeting .content-wrapper {
  width: 100%;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 30px;
}
@media screen and (min-width: 768px) {
  #greeting .content-wrapper {
    flex-direction: row;
    justify-content: space-between;
    align-items: end;
    gap: 50px;
  }
}
#greeting .content-container {
  min-width: 50%;
}
#greeting figure {
  width: 100%;
  height: 60vw;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  #greeting figure {
    width: auto;
    height: auto;
  }
}
#greeting figure img {
  width: 100%;
  height: auto;
  margin-top: -4vw;
}
@media screen and (min-width: 768px) {
  #greeting figure img {
    margin-top: 0;
  }
}
#greeting .content-caption {
  font-size: 16px;
  font-weight: bold;
  line-height: 2;
  margin-top: 10px;
}
#greeting h2 {
  font-size: 26px;
  font-weight: bold;
  margin: 0 0 0.5em;
}
@media screen and (min-width: 768px) {
  #greeting h2 {
    margin: 1em 0 0.5em;
  }
}
#greeting h2 ._sp {
  display: block;
}
@media screen and (min-width: 768px) {
  #greeting h2 ._sp {
    display: none;
  }
}
#greeting p {
  font-size: 16px;
  line-height: 1.75;
  margin-bottom: 2em;
}
#greeting p:last-child {
  margin-bottom: 0;
}
@media screen and (min-width: 768px) {
  #greeting p:last-child {
    margin-bottom: 8px;
  }
}