.wrapper {
  max-width: 940px;
  margin: 0 auto;
  padding: 0 50px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .wrapper {
    width: 100%;
    padding: 0 20px;
  }
}

address {
  font-style: normal;
}

/* ---------------------------------------*/
/* pagevisual */
/* ---------------------------------------*/
.pagevisual {
  height: 300px;
  padding: 100px 0 0 300px;
  position: relative;
}

@media screen and (max-width: 767px) {
  .pagevisual {
    height: 60vw;
    padding: 140px 0 0;
  }
}

.page-heading {
  font-size: 3.8rem;
  font-weight: 300;
  text-align: left;
  line-height: 1.4;
  color: #AE2256;
  margin: 0;
}

.page-heading span {
  display: block;
  font-size: 1.8rem;
}

@media screen and (max-width: 767px) {
  .page-heading {
    font-size: 2.4rem;
    margin: 0 0 0 20px;
  }
}

.pagevisual-brand-logo {
  display: -webkit-box;
  display: -webkit-flex;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -webkit-align-items: center;
      -ms-flex-align: center;
          align-items: center;
  width: 220px;
  height: 220px;
  background: #fff;
  position: absolute;
  top: 0;
  left: 0;
  z-index: 2;
}

.pagevisual-brand-logo img {
  width: 166px;
  margin: 0 0 0 27px;
}

@media screen and (max-width: 767px) {
  .pagevisual-brand-logo {
    width: 120px;
    height: 120px;
  }
  .pagevisual-brand-logo img {
    width: 100px;
    margin: 0 0 0 10px;
  }
}
