.cm-modules {
  padding-top: 37px;
  padding-bottom: 108px;
}
.cm-modules h2 {
  text-align: center;
  color: rgb(44, 49, 84);
  padding-left: 20px;
  margin-bottom: 14px;
}
.cm-modules .cm-text {
  max-width: 656px;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  box-sizing: content-box;
  padding-left: 25px;
}
.cm-modules .cm-text p {
  color: #000000;
  margin-bottom: 19px;
}
.cm-modules .cm-text p:last-child {
  margin-bottom: 21px;
}
.cm-modules .cm-wrapper {
  max-width: 1185px;
  margin-left: auto;
  margin-right: auto;
  display: flex;
}
.cm-modules .cm-wrapper .cm-item {
  background-color: rgb(237,237,237);
  min-width: 285px;
  min-height: 581px;
  position: relative;
}
.cm-modules .cm-wrapper .cm-item+.cm-item {
  margin-left: 15px;
}
.cm-modules .cm-wrapper .cm-item h3 {
  font-size: 22px;
  text-align: center;
  margin-top: 56px;
  margin-bottom: 46px;
}
.cm-modules .cm-item .cm-content {
  max-width: 255px;
  margin-left: auto;
  margin-right: auto;
}
.cm-modules .cm-item .cm-content ul {
  padding-left: 1.3em;
  margin-left: 0.5em;
  list-style-position: unset;
}
.cm-modules .cm-item .cm-content ul li p {
  margin-bottom: 19px;
}
.cm-modules .cm-wrapper .cm-item .btn-wrap {
  position: absolute;
  bottom: 47px;
  width: 100%;
  text-align: center;
}
.cm-modules .cm-wrapper .cm-item .btn-wrap a {
  min-width: 142px;
  display: inline-block;
  transition: all 0.4s ease, visibility 0s;
  border-radius: 50px;
  background: #D2AB42;
  text-decoration: none;
  font-size: 14px;
  text-transform: uppercase;
  color: #FFFFFF;
  letter-spacing: 0em;
  font-family: avenir-lt-w01_85-heavy1475544,sans-serif,HelveticaNeueW01-45Ligh, HelveticaNeueW02-45Ligh, HelveticaNeueW10-45Ligh, Helvetica Neue, Helvetica, Arial, メイリオ, meiryo, ヒラギノ角ゴ pro w3, hiragino kaku gothic pro, sans-serif;
  padding-top: 12px;
  padding-bottom: 11px;
}
.cm-modules .cm-wrapper .cm-item .btn-wrap a:hover {
  background: #CCCCCC;
}

@media (max-width:1200px) {
  .cm-modules .cm-wrapper .cm-item {
    max-width: calc( 33.33% - 10px);
  }
  .cm-modules .cm-wrapper {
    flex-wrap: wrap;
    padding-left: 20px;
    padding-right: 20px;
  }
  .cm-modules .cm-wrapper .cm-item:nth-child(3n+4) {
    margin-left: 0;
    margin-top: 15px;
  }
  .cm-modules .cm-item .cm-content {
    max-width: 100%;
    padding: 0 14px;
  }
}
@media (max-width:991px) {
  .cm-modules .cm-wrapper .cm-item {
    max-width: calc( 50% - 10px);
    width:100%;
  }
  .cm-modules .cm-wrapper .cm-item+.cm-item {
    margin-left: 10px;
  }
  .cm-modules .cm-wrapper {
    flex-wrap: wrap;
    padding-left: 20px;
    padding-right: 20px;
  }
  .cm-modules .cm-wrapper .cm-item:nth-child(3n+4) {
    margin-left: 0;
    margin-top: 0px;
  }
  .cm-modules .cm-wrapper .cm-item:nth-child(n+3) {
    margin-left: 0;
    margin-top: 15px;
  }
  .cm-modules .cm-wrapper .cm-item:nth-child(2n) {
    margin-left: 20px;
  }
}

@media (max-width:767px) {
  .cm-modules {
    padding-bottom: 37px;
    padding-top: 24px;
  }
  .cm-modules h2 {
    font-size: 24px;
    padding-left: 0;
    margin-bottom: 10px;
  }
  .cm-modules .cm-text {
    padding-left: 20px;
    padding-right: 20px;
  }
  .cm-modules .cm-text p {
    margin-bottom: 10px;
  }
  .cm-modules .cm-wrapper {
    padding-left: 30px;
    padding-right: 30px;
  }
  .cm-modules .cm-wrapper .cm-item {
    min-width: unset;
    width: 100%;
    max-width: 100%;
    min-height: auto;
    margin-left: 0 !important;
  }
  .cm-modules .cm-text p:last-child {
    margin-bottom: 17px;
  }
  .cm-modules .cm-wrapper .cm-item h3 {
    margin-top: 23px;
    margin-bottom: 19px;
    font-size: 19px;
  }
  .cm-modules .cm-wrapper .cm-item .btn-wrap {
    position: static;
    padding-top: 12px;
    padding-bottom: 49px;
  }
  .cm-modules .cm-wrapper .cm-item .btn-wrap a {
    min-width: 160px;
    padding-top: 13px;
    padding-bottom: 12px;
  }
  .cm-modules .cm-wrapper .cm-item+.cm-item {
    margin-top: 26px;
  }
}
