@charset "UTF-8";
h1,h2,h3,h4,h5,h6,p,dl,dt,dd{margin: 0;padding: 0;font-size: 100%;}
html {font-size: 62.5%;font-family: "Helvetica Neue", "Helvetica", "Hiragino Sans", "Hiragino Kaku Gothic ProN", "Arial", "Yu Gothic", "Meiryo", sans-serif;line-height: 1.4;}
body {font-size: 1.4em;}
img{vertical-align: middle;width: 100%;}
ul,li{margin: 0;padding: 0;list-style: none;}
button{
  background-color: transparent;
  border: none;
  cursor: pointer;
  outline: none;
  padding: 0;
  appearance: none;
}
.mt10{margin-top: 1em;}
.mt15{margin-top: 1.5em;}
.wrapper{width: 100%;max-width: 750px;margin: 0 auto;background: #f6f6f6;}
.red{color: red;}
.bold{font-weight: bold;}
.underline{text-decoration: underline;}
.yureru-j{
  animation: yureru-j 2s infinite;
}
@keyframes yureru-j {
  0% {
      transform: translate(0px, 2px);
  }
  5% {
      transform: translate(0px, -2px);
  }
  10% {
      transform: translate(0px, 2px);
  }
  15% {
      transform: translate(0px, -2px);
  }
  20% {
      transform: translate(0px, 2px);
  }
  25% {
      transform: translate(0px, -2px);
  }
  30% {
      transform: translate(0px, 0px);
  }
}
.main{padding: 5% 16px;}
.main.set{background: #FFF;}
.q_wrap{border: 3px solid #ccc;border-radius: 10px;text-align: center;padding: 5%;background: #FFF;}
.q_wrap:not(:last-of-type){margin-bottom: 7%;}
.q_num{font-size: 4vw;margin-bottom: 3%;}
.q_ttl{font-size: 6vw;margin-bottom: 5%;line-height: 1.3;}
.q_ttl span{display: block;font-weight: normal;font-size: 0.6em;}
.q_list{text-align: left;}
.q_item:not(:last-of-type){margin-bottom: 3%;}
/* .check_bg input[type="radio"]{
  filter: alpha(opacity=0); -moz-opacity:0; opacity:0;
  position: absolute;
} */
.check_bg{
  position: relative;
  background-image:url(../img/check_off.png);
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-size: 40px auto;
  border: 4px solid #198df9;
  padding: 14px 5px 14px 55px;
  cursor: pointer;
  color: #198df9;
  width: 100%;
  display: block;
  box-sizing: border-box;
  border-radius: 50px;
  font-size: 1.2em;
  font-weight: bold;
  text-align: left;
}
form input[type="radio"]:checked + label.check_bg,
form input[type="checkbox"]:checked + label.check_bg{
  background:url(../img/check_on.png);
  background-repeat: no-repeat;
  background-position: left 10px center;
  background-size: 40px auto;
  background-color: #198df9;
  color:#FFF;
}
.answer--vote{width: 90%;height: 1.8em;text-align: left;font-size: 0.8em;margin-top:5px;margin-left: 0;line-height: 2em;color:#000;position: relative;box-sizing: border-box;overflow: hidden;}
.vote--bg{position: absolute;top:0;bottom:0;right:auto;left:0;height: 1.8em;background-color: #fff45c; animation: bar-animation 1 1s;z-index: 2;}
.vote--txt{position: absolute;left: 5px;z-index: 3;}
form input[type="radio"],
form input[type="checkbox"]{
  position: absolute;
  white-space: nowrap;
  border: 0;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  overflow: hidden;
  height: 1px;
  width: 1px;
  margin: -1px;
  padding: 0;
}
@keyframes bar-animation{
  0%{
    transform:translateX(-100%);
  }
  100%{
    transform:translateX(0);
  }
}
.review{padding: 5%;text-align: center;background-color: #FFF;}
.review_ttl{margin: 5% 0;font-size: 1.6em;font-weight: bold;}
.review_wrap p{text-align: left;font-size: 16px;margin-top: 5px;}
.review01,.review02{background: #FFF;padding: 5%;border: 3px solid #ccc;margin-bottom: 7%;}
.thanks{text-align: center;margin: 20px 0 7%;}
.thanks p{display: inline-block;padding: 3px 5px;color: #e6268b;font-size: 1.4em;font-weight: bold;}
.thanks span{display: block;color: #102846;font-size: 1.1em;display: block;font-weight: normal;margin-top: 5px;}
.footer{text-align: center;background: #FFF;padding: 5% 0 0;}
.footer_menu{text-align: center;}
.footer_menu ul{margin: 20px auto 30px;font-size: 0;}
.footer_menu li{display: inline;font-size: 14px;padding: 2px 15px;}
.footer_menu li:not(:last-of-type){border-right:1px solid #666;}
.footer_menu a{color: #666;text-decoration: none;}
.copyright{background: #198df9;padding: 5% 0;border-top:1px solid #f6f6f6;color: #FFF;font-size: 1.1rem;}
@media screen and (min-width:750px) {
  .q_num{font-size: 2rem;}
  .q_ttl{font-size: 5rem;}
}
