main {
  width: 100%;
  overflow: hidden;
  position: relative
}

main.isend {
  background: #fff
}

.training_block {
  margin: 0 0 10rem 0
}

.training_block .inner {
  max-width: 1200px;
  margin: auto;
  padding: 0 5vw
}

.training_block h2 {
  font-size: 2.4rem;
  margin: 0 0 2rem 0
}

@media only screen and (max-width: 768px) {
  .training_block h2 {
    font-size: 2rem
  }
}

.training_block h2.blue {
  background: #55c2f2;
  color: #fff;
  padding: 2rem
}

.training_block h2.blue2 {
  background: #315ed6;
  color: #fff;
  padding: 2rem
}

.training_block h2.pink {
  background: #d84080;
  color: #fff;
  padding: 2rem
}

.training_block h3 {
  font-size: 2rem;
  margin: 0 0 1em 0
}

@media only screen and (max-width: 768px) {
  .training_block h3 {
    font-size: 1.6rem
  }
}

.training_block .exp {
  margin: 0 0 5rem 0
}

@media only screen and (max-width: 768px) {
  .training_block .exp {
    margin: 0 0 2rem 0
  }
}

.zus {
  margin: 0 0 5rem 0;
  width: 840px;
  margin: 0 auto 5rem auto
}

.zus.narrow {
  width: 300px;
  margin: 0 auto 5rem auto
}

@media only screen and (max-width: 768px) {
  .zus.narrow {
    width: 100%;
    overflow: none;
    padding: 0 5rem
  }

  .zus.narrow .zuin {
    width: 100%
  }
}

@media only screen and (max-width: 768px) {
  .zus {
    width: 100%;
    overflow-x: scroll
  }

  .zus .zuin {
    width: 800px
  }
}

.edu_photo {
  display: flex;
  justify-content: space-between;
  margin: 0 0 10rem 0
}

@media only screen and (max-width: 768px) {
  .edu_photo {
    display: block;
    margin: 0 0 5rem 0
  }
}

.edu_photo .box {
  width: 30%
}

@media only screen and (max-width: 768px) {
  .edu_photo .box {
    width: 100%;
    margin: 0 0 1rem 0
  }
}

.shikaku_box {
  background: #eff8fc;
  padding: 3rem;
  margin: 0 0 1rem 0
}