#page_ttl {
  padding: 3rem 0 4rem;
  height: 358px;
  overflow: hidden;
  background: url(../img/common/kv.png) no-repeat center top!important;
  color: #FFF;
}

@media only screen and (max-width: 640px) {
  #page_ttl {
    height: 50vw;
    padding: 2rem 1rem;
    background-position: center top;
    background-size: cover!important;
       background-image: url(../img/common/kv_sp.png)!important;
  }
}

#page_ttl .inner {
  padding-bottom: 10rem;
  position: relative;
  height: 100%;
  text-align: center;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
}
  @media only screen and (max-width: 640px) {
      #page_ttl .inner{ padding-bottom: 12rem;
  }
}

#page_ttl h1,
#page_ttl .jp {
  margin: .5em 0 0;
  padding: 0;
  position: static;
  bottom: 0;
  right: 0;
  color: #FFF;
  font-size: 2rem;
  font-weight: bold;
  line-height: 1;
}

@media only screen and (max-width: 640px) {

  #page_ttl h1,
  #page_ttl .jp {
    font-size: 2rem;
  }
}

#page_ttl .en {
    position: static;
    top: 0;
    left: 0;
    font-size: 5rem;
    opacity: 0.5;
    font-weight: 700;
    line-height: 1;
    font-family: "Arial Black", Gadget, sans-serif;
}

@media only screen and (max-width: 640px) {
  #page_ttl .en {
    font-size: 4rem;
  }
}
@media screen and (max-width: 768px) {
  #page_ttl h1 {
    background-position: left center;
    background-size: auto 95%;
  }
}

.firstcontent {
    margin-top: 0px!important;
}
