@media screen and (min-width: 769px) {
  /*------------------------------------------------*/
  /*  form
  --------------------------------------------------*/
  #benesse-footer {
    margin-left: 0 !important;
  }
  #mainContent {
    padding: 0;
    margin: 0 0 0 0;
    display: flex;
    flex-direction: column;
    min-height: calc(100vh - 170px);
  }
  .questionary {
    margin-top: auto;
    padding: 30px 0 50px;
    background: #fefdf9;
    border-top: 1px solid #cccccc;
  }
  .questionary h3 {
    margin: 0 0 20px 0;
    font-size: 1em;
    font-weight: bold;
    text-align: center;
  }
  .questionary form {
    margin: 0 auto;
    width: 900px;
  }
  .questionary dl dt {
    margin-bottom: 15px;
  }
  .questionary form dl dt span {
    padding: 0 5px 0 0;
    color: #0c80d4;
  }
  .questionary form dl dd {
    margin-bottom: 30px;
    font-size: 0.8em;
  }
  .questionary form dl dd label {
    margin: 0 20px 0 10px;
  }
  .questionary form .submit {
    margin: 0 auto;
    width: 700px;
  }
  .questionary form .submit input {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    width: 400px;
    height: 40px;
    color: #fff;
    line-height: 40px;
    text-align: center;
    cursor: pointer;
    background: #0c80d4 url("../img/arrow_w.png") no-repeat 95% center;
    background-size: 20px 20px;
    border-style: none;
    float: left;
  }
  .questionary form .submit input:hover {
    background-color: #005c9e;
  }
  .questionary .submit p a {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    width: 280px;
    height: 36px;
    font-size: 0.8em;
    color: #0c80d4;
    line-height: 36px;
    text-align: center;
    background: url("../img/arrow_b.png") no-repeat 97% center;
    background-size: 20px 20px;
    border: 2px solid #0c80d4;
    display: block;
    float: right;
  }
  .questionary.out {
    display: none;
  }
  .questionary.out .submit p a {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    margin: 0 auto;
    width: 280px;
    height: 36px;
    font-size: 0.8em;
    color: #0c80d4;
    line-height: 36px;
    text-align: center;
    background: url("../img/arrow_b.png") no-repeat 97% center;
    background-size: 20px 20px;
    border: 2px solid #0c80d4;
    display: block;
    float: none;
  }
  .questionary .submit p a:hover,
  .questionary.out .submit p a:hover {
    background-color: #dbecf9;
  }
}
@media screen and (max-width: 769px) {
  /*------------------------------------------------*/
  /*  form
  --------------------------------------------------*/
  #gHeaderSp .btLibrary {
    display: none;
  }
  #mainContent {
    padding: 0;
    margin: 0;
  }
  .questionary {
    padding: 30px 0 30px 0;
    font-size: 14px;
    background: #fefdf9;
    border-top: 1px solid #cccccc;
  }
  .questionary h3 {
    margin: 0 0 30px 0;
    font-size: 18px;
    font-weight: bold;
    text-align: center;
  }
  .questionary.out h3 {
    margin: 0 0 20px 0;
    font-size: 14px;
  }
  .questionary form {
    margin: 0 auto;
    width: 90%;
  }
  .questionary form dl dt {
    margin-bottom: 20px;
    padding-left: 2em;
    line-height: 1.6em;
    text-indent: -2em;
  }
  .questionary form dl dt span {
    margin: 0 4px 0 0;
    color: #0c80d4;
  }
  .questionary form dl dd {
    margin-bottom: 40px;
  }
  .questionary form dl dd span {
    margin-bottom: 15px;
    line-height: 1em;
    display: block;
  }
  .questionary form dl dd label {
    margin: 0 0 0 10px;
  }
  .questionary form .submit {
    margin: 0 auto;
    width: 100%;
    text-align: center;
  }
  .questionary form .submit input {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    margin-bottom: 15px;
    width: 90%;
    height: 50px;
    color: #fff;
    line-height: 50px;
    text-align: center;
    font-size: 14px;
    background: #0c80d4 url("../img/arrow_w.png") no-repeat 97% center;
    background-size: 20px 20px;
    border-style: none;
  }
  .questionary form .submit p a {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    margin: 0 auto;
    width: 90%;
    font-size: 12px;
    color: #0c80d4;
    line-height: 50px;
    text-align: center;
    background: url("../img/arrow_b.png") no-repeat 97% center;
    background-size: 20px 20px;
    border: 2px solid #0c80d4;
    display: block;
  }
  .questionary.out {
    display: none;
  }
  .questionary.out .submit p a {
    -webkit-border-radius: 2px;
    -moz-border-radius: 2px;
    -ms-border-radius: 2px;
    -o-border-radius: 2px;
    border-radius: 2px;
    margin: 0 auto;
    width: 81%;
    font-size: 12px;
    color: #0c80d4;
    line-height: 50px;
    text-align: center;
    background: url("../imgs/arrow_b.png") no-repeat 97% center;
    background-size: 20px 20px;
    border: 2px solid #0c80d4;
    display: block;
  }
  .questionary .submit p a:hover,
  .questionary.out .submit p a:hover {
    background-color: #dbecf9;
  }
}