.sokunou_banner {
  width: 100%;
  height: 90px;
  margin: 0 auto;
  background-color: #EE1D23;
  text-align: center;
}

.sokunou_banner img {
  max-width: 500px;
}

@media only screen and (max-width: 768px) {
  .sokunou_banner {
    width: 100%;
    height: 70px;
    margin: 60px auto -60px;
  }
}

.kv {
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .kv {
    margin: 60px auto 0;
  }
}

.kessan__container {
  position: relative;
  width: 1100px;
  margin: 0 auto;
}

@media only screen and (max-width: 768px) {
  .kessan__container {
    width: 100%;
  }
}

.title01 {
  padding: 0 10%;
  margin: 0 auto;
}

.title02 {
  padding: 0 10%;
  margin: 40px auto;
}

@media only screen and (max-width: 768px) {
  .title02 {
    margin: 20px auto;
  }
}

.title03 {
  padding: 0 10%;
  margin: 0 auto 40px;
}

@media only screen and (max-width: 768px) {
  .title03 {
    margin: 0 auto 20px;
  }
}

.title04 {
  padding: 0 10%;
  margin: 0 auto 40px;
}

@media only screen and (max-width: 768px) {
  .title04 {
    margin: 0 auto 20px;
  }
}

.movie {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
  margin: 40px auto 0;
}

@media only screen and (max-width: 768px) {
  .movie {
    margin: 20px auto 0;
  }
}

.present {
  padding: 0;
  margin: 40px auto;
}

@media only screen and (max-width: 768px) {
  .present {
    padding: 0 15px;
    margin: 20px auto;
  }
}

.campaign {
  padding: 0;
  margin: 20px auto 0;
}

@media only screen and (max-width: 768px) {
  .campaign {
    padding: 0 15px;
    margin: 10px auto 0;
  }
}

.news {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  align-items: top;
  padding: 0 15px;
}

@media only screen and (max-width: 768px) {
  .news {
    display: block;
  }
}

.news:after {
  content: "";
  display: block;
  width: 48%;
  height: 0;
}

.news__img {
  width: 48%;
  margin-bottom: 40px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  .news__img {
    width: 100%;
    margin-bottom: 20px;
  }
}

.plan {
  flex-wrap: wrap;
  display: flex;
  justify-content: space-between;
  align-items: top;
  padding: 0 15px;
}

@media only screen and (max-width: 768px) {
  .plan {
    display: block;
  }
}

.plan:after {
  content: "";
  display: block;
  width: 48%;
  height: 0;
}

.plan__img {
  width: 48%;
  margin-bottom: 40px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  -o-box-sizing: border-box;
  -ms-box-sizing: border-box;
}

@media only screen and (max-width: 768px) {
  .plan__img {
    width: 100%;
    margin-bottom: 20px;
  }
}

.btn {
  padding: 0 10% 200px;
  margin: 40px auto 0;
}

@media only screen and (max-width: 768px) {
  .btn {
    padding: 0 10% 35vw;
    margin: 20px auto 0;
  }
}