.tpl-contents-header {
  background-image: url(../images/common/bg_contents_header2.png);
  background-position: center 0;
  background-repeat: no-repeat;
  background-size: cover;
}

#vision {
  padding: 30px 15px 60px;
}
#vision > .inner {
  max-width: 1200px;
  margin: 0 auto;
}
#vision .tpl-title1 {
  max-width: 650px;
  margin: 0 auto 40px;
}
#vision .lead {
  margin: 0;
  font-size: 2.4rem;
  font-weight: bold;
  text-align: center;
}
#vision .lead span {
  font-size: 3rem;
}

#code-of-conduct {
  padding: 30px 15px 100px;
}
#code-of-conduct > .inner {
  max-width: 1200px;
  margin: 0 auto;
}
#code-of-conduct .tpl-title1 {
  max-width: 650px;
  margin: 0 auto 40px;
}
#code-of-conduct .list-wrapper {
  display: flex;
  justify-content: center;
}
#code-of-conduct .list-wrapper ul {
  margin: 0;
  font-size: 3rem;
  font-weight: bold;
}

#special {
  padding: 60px 15px 120px;
  background-color: #F2F6F8;
}
#special > .inner {
  max-width: 960px;
  margin: 0 auto;
}
#special h2 {
  margin: 0 0 60px;
  text-align: center;
}
#special .list .item {
  margin: 0 0 60px;
}
#special .list .item:last-child {
  margin: 0;
}
#special .list .item h3 {
  margin: 0 0 30px;
  font-size: 2.2rem;
  font-weight: bold;
}
#special .list .item .wrapper {
  display: flex;
}
#special .list .item .wrapper .image {
  flex-shrink: 0;
  width: 47.9166666667%;
  margin: 0 40px 0 0;
  text-align: center;
}
#special .list .item .wrapper .texts p {
  margin: 0 0 1em;
  font-size: 1.6rem;
}
#special .list .item .wrapper .texts p:last-child {
  margin: 0;
}
#special .list .item:nth-child(even) .wrapper .image {
  order: 2;
  margin: 0;
}
#special .list .item:nth-child(even) .wrapper .texts {
  order: 1;
  margin: 0 40px 0 0;
}

@media (max-width: 767px) {
  #vision {
    padding: 30px 15px 30px;
  }
  #vision .tpl-title1 {
    margin: 0 auto 15px;
  }
  #vision .lead {
    font-size: 1.4rem;
  }
  #vision .lead span {
    font-size: 1.6rem;
  }

  #code-of-conduct {
    padding: 30px 15px 60px;
  }
  #code-of-conduct .tpl-title1 {
    margin: 0 auto 15px;
  }
  #code-of-conduct .list-wrapper ul {
    font-size: 1.6rem;
  }

  #special {
    padding: 30px 15px 60px;
  }
  #special h2 {
    margin: 0 0 30px;
  }
  #special .list .item {
    margin: 0 0 30px;
  }
  #special .list .item h3 {
    margin: 0 0 15px;
    font-size: 1.6rem;
  }
  #special .list .item .wrapper {
    display: block;
  }
  #special .list .item .wrapper .image {
    width: auto;
    margin: 0 0 15px;
  }
  #special .list .item .wrapper .texts p {
    font-size: 1.3rem;
  }
  #special .list .item:nth-child(even) .wrapper .image {
    margin: 0 0 15px;
  }
  #special .list .item:nth-child(even) .wrapper .texts {
    margin: 0;
  }
}