#contents {
  counter-reset: number 0;
}
#contents .blk#head_txt p {
  line-height: 1.9;
}
#contents .blk.list {
  border: solid 2px #009140;
  padding-bottom: 4%;
}
#contents .blk.list.head {
  display: -webkit-box;
  display: -moz-box;
  display: -webkit-flexbox;
  display: -moz-flexbox;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: -moz-flex;
  display: flex;
  padding-bottom: 0;
}
@media (min-width: 768px) {
  #contents .blk.list.head {
    justify-content: space-between;
    align-items: center;
  }
}
@media screen and (max-width: 767px) {
  #contents .blk.list.head {
    flex-direction: column;
  }
}
#contents .blk.list.head .txt {
  font-weight: 900;
  font-size: 1.2em;
}
@media (min-width: 768px) {
  #contents .blk.list.head .txt {
    width: 55%;
  }
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  #contents .blk.list.head .txt {
    font-size: 1.05em;
  }
}
#contents .blk.list.head .txt p {
  padding: 2% 2.5% 2% 1%;
  font-size: 1.05em;
}
#contents .blk.list.head .txt ol {
  margin: 3% 2.5% 2% 3.5%;
  counter-reset: number 0;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  #contents .blk.list.head .txt ol {
    margin-top: 0%;
  }
}
#contents .blk.list.head .txt ol li {
  padding: 0.2em 0 0.2em 2.2em;
  position: relative;
  margin-bottom: 0.7em;
  line-height: 1.5;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  #contents .blk.list.head .txt ol li {
    padding-left: 2em;
  }
}
#contents .blk.list.head .txt ol li:last-of-type {
  margin-bottom: 0;
}
#contents .blk.list.head .txt ol li:before {
  counter-increment: number 1;
  content: counter(number);
  position: absolute;
  width: 1.7em;
  text-align: center;
  background-color: #009140;
  color: #fff;
  line-height: 1.4;
  padding: 1.7% 0;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1279px) and (min-width: 768px) {
  #contents .blk.list.head .txt ol li:before {
    font-size: 0.9em;
    width: 1.5em;
    padding: 1.5% 0;
  }
}
@media (min-width: 768px) {
  #contents .blk.list.head img {
    width: 45%;
  }
}
@media screen and (max-width: 767px) {
  #contents .blk.list.head img {
    padding: 2%;
  }
}
#contents .blk.list h3.heading {
  padding: 0.6% 0 0.6% 2.2em;
  position: relative;
  font-size: 1.25em;
  margin: 2% 2.5% 1.5%;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  #contents .blk.list h3.heading {
    font-size: 1.2em;
    padding: 0.6% 0 0.6% 1.8em;
  }
}
@media screen and (max-width: 767px) {
  #contents .blk.list h3.heading {
    margin-top: 3%;
    font-size: 1.15em;
    padding: 0.6% 0 0.6% 1.9em;
  }
}
@media screen and (max-width: 320px) {
  #contents .blk.list h3.heading {
    margin-top: 4%;
    font-size: 1.1em;
    padding: 0.6% 0 0.6% 1.9em;
  }
}
#contents .blk.list h3.heading:before {
  counter-increment: number 1;
  content: counter(number);
  position: absolute;
  width: 1.7em;
  text-align: center;
  background-color: #009140;
  color: #fff;
  line-height: 1.4;
  padding: 0.6% 0;
  top: 0;
  left: 0;
}
@media screen and (max-width: 1023px) and (min-width: 768px) {
  #contents .blk.list h3.heading:before {
    width: 1.5em;
    padding: 0.5% 0;
  }
}
@media screen and (max-width: 767px) {
  #contents .blk.list h3.heading:before {
    width: 1.5em;
    padding: 0.5% 0;
  }
}
#contents .blk.list h5 {
  margin: 0 3.2% 0.7%;
  font-size: 1.1em;
  position: relative;
  padding-left: 1em;
}
@media screen and (max-width: 767px) {
  #contents .blk.list h5 {
    font-size: 1.05em;
  }
}
#contents .blk.list h5:before {
  font-family: FontAwesome;
  font-weight: normal;
  content: "\f0d7";
  font-size: 0.95em;
  top: 0;
  left: 0;
  position: absolute;
}
#contents .blk.list p {
  margin: 0 3.5%;
  line-height: 1.8;
}
#contents .blk.list p + .pic2 {
  margin: 1% 3.5% 4%;
}
@media screen and (max-width: 767px) {
  #contents .blk.list p + .pic2 {
    margin: 1% 3.5% 6%;
  }
}
#contents .blk.list .pic2 {
  margin: 3% 3.5% 0;
  text-align: center;
}
#contents .blk.list .pic2.left {
  text-align: left;
}
#contents .blk.list .point {
  margin: 2% 3.5% 0;
}
#contents .blk.list .point h6 {
  margin-bottom: 2%;
  font-size: 1.05em;
}
@media screen and (max-width: 767px) {
  #contents .blk.list .point h6 {
    margin-bottom: 4.5%;
  }
}
#contents .blk.list .point h6 strong {
  display: inline-block;
  background-color: #009140;
  color: #fff;
  padding: 0.4em 2.3em 0.4em 0.5em;
  line-height: 1.4;
  position: relative;
}
@media screen and (max-width: 767px) {
  #contents .blk.list .point h6 strong {
    padding: 2% 3%;
  }
}
#contents .blk.list .point h6 strong:after {
  top: 100%;
  left: 10%;
  border: solid transparent;
  content: "";
  height: 0;
  width: 0;
  position: absolute;
  pointer-events: none;
  border-color: rgba(0, 145, 64, 0);
  border-top-color: #009140;
  border-width: 5px;
  margin-left: -5px;
}
#contents .blk.list .point ol {
  list-style: decimal;
}
#contents .blk.list .point ol li {
  margin: 0 0 0.2em 1.4em;
}
#contents .blk.list .point ol li:last-of-type {
  margin-bottom: 0;
}
