@media screen and (max-width: 1140px){
}
@media screen and (max-width: 767px){
/* common
-------------------- */
  header {
    margin: 0 auto;
    padding: 0;
  }
  article {
    margin: 0 auto;
    padding: 0 0 10%;
  }
  h2>br,
  h3>br {
    display: inline;
  }
  #titlelogo {
    font-size: 6.4rem;
    line-height: 1.0;
    margin: 0 0 20px;
    padding: 10px 0;
  }
  #titlelogo>br {
    display: inline;
  }
  .flex {
    flex-direction: column;
  }
  .section {
    margin: 0 auto 7%;
  }
  #bnrvote {
    background: #294f3d url(../img/text_fuchu.png) no-repeat 50% 15%;
    background-size: 80%;
  }
  #bnrvote>div:first-child {
    text-align: center;
    width: 100%;
    margin-left: 0;
    padding: 40px 40px 200px;
    box-sizing: border-box;
  }
  #bnrvote>div:nth-child(2) {
    position: absolute;
    left: 0;
    right: 0;
    bottom: 0;
  }
  #bnrvote>div:nth-child(2)>img {
    height: 200px;
    width: auto;
  }

}


@media screen and (max-width: 480px){
  h2 {
    font-size: 3.2rem;
  }
  #header {
    padding: 10% 5%;
    height: auto;
    min-height: auto;
  }
  #mainvisual {
    position: relative;
    width: 100%;
    top: auto;
    left: auto;
    transform: none;
    -webkit- transform: none;
  }
  #titlelogo {
    margin: 0 0 10px;
  }
  #subtitle {
    display: block;
    font-size: 2.1rem;
    padding: 10px 5px;
  }
  #mainname {
    position: relative;
    width: 100%;
    margin-top: 40px;
    top: auto;
    left: auto;
    transform: none;
    -webkit- transform: none;
  }
  #mainname h3 {
    font-size: 3.4rem;
  }
  .btnblock {
    margin: 5% 0;
  }
  #copyright {
    text-align: left;
    padding: 10px 20px;
  }
  .footerlink {
    margin-right: 30px;
  }
  .footerlink .sns {
     margin-left: 0;
    margin-right: 14px;
  }
  #backto {
    bottom: 0px;
  }
  #backto a {
    font-size: 1.8rem;
    line-height: 1.8rem;
    width: 40px;
    height: 40px;
    padding-top: 10px;
  }

}