/*------------------------------------------------------------------------------------
clearfix
------------------------------------------------------------------------------------*/
#wrap {
  /* Permalink - use to edit and share this gradient: https://colorzilla.com/gradient-editor/#b2dfff+0,e6f5ff+100 */
  background: #b2dfff;
  /* Old browsers */
  /* FF3.6-15 */
  /* Chrome10-25,Safari5.1-6 */
  background: -webkit-gradient(linear, left top, left bottom, from(#b2dfff), to(#e6f5ff));
  background: linear-gradient(to bottom, #b2dfff 0%, #e6f5ff 100%);
  /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#b2dfff', endColorstr='#e6f5ff',GradientType=0 );
  /* IE6-9 */
  padding: 120px 20px 100px;
}

.philosophy-ttl {
  text-align: center;
  margin-bottom: 60px;
}

.page-content {
  max-width: 1200px;
  padding: 90px 50px;
  margin: 0 auto;
  border: #cccccc solid 1px;
  background-color: #FFF;
  box-sizing: border-box;
}

.topic-ttl {
  font-size: 24px;
  font-size: 2.4rem;
  font-weight: bold;
  color: #004ea2;
  text-align: center;
  margin: 80px 0 20px;
}
.topic-ttl:first-child {
  margin-top: 0;
}

.lead-text {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: bold;
  line-height: 1.8;
  text-align: center;
}

.guideline-list {
  text-align: center;
}
.guideline-list ul {
  margin: 0;
  padding: 0;
  list-style: none;
  display: inline-block;
}
.guideline-list ul li {
  margin-left: 1.4em;
  text-indent: -1.4em;
  text-align: left;
  font-size: 20px;
  font-size: 2.0rem;
  font-weight: bold;
  line-height: 1.75;
}

.guideline-text {
  font-size: 18px;
  font-size: 1.8rem;
  line-height: 2.0;
  text-align: center;
  margin-top: 70px;
}
.guideline-text p {
  margin-bottom: 20px;
}
.guideline-text p:last-child {
  margin-bottom: 0;
}

.vision-block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1.8;
}
.vision-block > div {
  width: 31.9%;
  border: #cccccc solid 1px;
  padding: 40px 35px 30px;
  box-sizing: border-box;
}

.vision-ttl {
  font-size: 18px;
  font-size: 1.8rem;
  font-weight: bold;
  margin-bottom: 20px;
  text-align: center;
}

.system-img {
  text-align: center;
  margin-top: 70px;
}
.system-img h2 {
  font-size: 28px;
  font-size: 2.8rem;
  font-weight: bold;
}

.system-graph {
  margin: 40px 0 100px;
}
.system-graph img {
  margin-left: -40px;
}
@media only screen and (max-width: 767px) {
  #wrap {
    padding: 60px 15px 60px;
  }
  .philosophy-ttl {
    margin-bottom: 40px;
  }
  .philosophy-ttl img {
    width: 260px;
    height: auto;
  }
  .page-content {
    padding: 30px 20px;
  }
  .topic-ttl {
    font-size: 1.8rem;
    margin: 40px 0 15px;
  }
  .topic-ttl:first-child {
    margin-top: 0;
  }
  .lead-text {
    font-size: 1.6rem;
  }
  .guideline-list ul li {
    font-size: 1.6rem;
  }
  .guideline-text {
    font-size: 1.4rem;
    text-align: left;
    margin-top: 40px;
  }
  .vision-block {
    display: block;
    font-size: 1.4rem;
  }
  .vision-block > div {
    width: auto;
    padding: 15px;
    margin-bottom: 20px;
  }
  .vision-block > div:last-child {
    margin-bottom: 0;
  }
  .vision-ttl {
    font-size: 1.6rem;
    margin-bottom: 10px;
  }
  .system-img {
    margin-top: 40px;
  }
  .system-img h2 {
    font-size: 1.8rem;
  }
  .system-graph {
    margin: 20px 0 60px;
    padding: 0 20px;
  }
  .system-graph img {
    margin-left: -20px;
  }
  .back-link img {
    width: 140px;
    height: auto;
  }
}
