@charset "shift_jis";
#contents-inner h2,
p,
ul,
li,
dl,
dt,
dd {
  margin: 0;
  padding: 0;
}

#contents-inner img {
  vertical-align: bottom;
}

#contents-inner {
  background: url(../img/bg_main.png) no-repeat center top #003043;
  background-size: contain;
}


/* soft-title */

#soft-title {
  background-color: #000;
  background-size: 100%;
}
#soft-title h1 {
  padding: 15px 4%;
  font-size: 12px;
  color: #FFF;
  line-height: 1.4;
  border-left: 6px solid #CE181E;
}
#soft-title h1 .hard {
    margin-right: 8px;
    color: #ce181e;
}


/* main-title */

#main-title .txt01 {
  margin-top: -5%;
}

/* nav */
#nav {
  position: relative;
}
#nav .prevBtnNav {
  position: absolute;
  display: inline-block;
  width: 62.03125%;
  top: 52%;
  left: 18.984375%;
}

/* section 01 */

#section01 {
  position: relative;
  margin-top: 1%;
}

#section01 p:nth-child(2) {
  margin-top: -17%;
}
#section01 p:nth-child(3) {
  margin-top: -3%;
}
#section01 p:last-child {
  margin-top: -22%;
}


/* section02 */

#section02 {
  background: url(../img/sec02_bg_quizArea.png) no-repeat center top;
  background-size: 100% 100%;
  position: relative;
  text-align: center;
  padding-bottom: 3.467%;
  margin-top: 0;
}

#section02 h2 {
  position: relative;
  width: 100%;
  padding-top: 0;
}

#section02 p {
  position: relative;
  width: 100%;
}

#section02 p.quiz01 {
  margin-top: -2%;
}

#section02 .answerArea {
  background: url(../img/sec02_answer01.png) no-repeat center top;
  background-size: contain;
  padding: 19% 0 13%;
  margin-top: 1.1%;
}

#section02 .answerArea p.inputWrap {
  position: relative;
  height: 0;
  overflow: hidden;
  padding-top: 12.885%;
  width: 64%;
  margin: 0 auto;
}

#section02 .answerArea p.inputWrap input {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

#section02 .answerArea button {
  width: 56.09375%;
}

#section02 .answerArea button img {
  width: 100%;
}

input[type="text"] {
  -webkit-appearance: none;
  font-size: 100%;
  line-height: 1;
  vertical-align: middle;
  border-radius: 10px;
  width: 64%;
  padding-left: 10px !important;
  border: 1px solid #62fff2;
  box-sizing: border-box;
}

input[type="text"]:focus {
  box-shadow: 0 0 7px #62fff2;
}

button {
  -webkit-appearance: none;
  border: none;
  background: none;
}

.dispN {
  display: none;
}

#section02 p.checkBtn button {
  width: 100%;
}

#section02 p.checkBtn img {
  width: 87.5%;
  margin: 3.5% auto 1.1%;
}

#section02 p.txt01 img {}


/* section03 */

#section03 {
  position: relative;
  margin-top: 3%;
}

#section03 img {
  width: 100%;
}

#section03 .portalBtn {
  position: absolute;
  display: inline-block;
  width: 33.908%;
  top: 80.3%;
  left: 33%;
}

#section03 .eshopBtn {
  position: absolute;
  display: inline-block;
  width: 30.157%;
  bottom: 4.8%;
  left: 15%;
}

/* section04 */

#section04 {
  position: relative;
  padding-top: 20%;
}
#section04 .prevBtn {
  position: absolute;
  display: inline-block;
  width: 43.59375%;
  top: 0;
  left: 5%;
}
#section04 .nextBtn {
  position: absolute;
  display: inline-block;
  width: 43.59375%;
  top: 0%;
  right: 5%;
}


/* spec */

#spec {
  margin-bottom: 15px;
  padding-top: 20px;
  text-align: center;
}

#spec .back-btn {
  margin: 0 0 15px;
  text-align: center;
}

#spec .spec-border01 {
  padding: 15px 0 0;
  border-top: 1px solid #000;
}

#spec .logo {
  margin-bottom: 20px;
}

#spec .title {
  margin-bottom: 20px;
  font-size: 16px;
  font-weight: bold;
}

#spec .hardware {
  margin-top: 14px;
  margin: 20px 0;
}

#spec .official {
  position: relative;
  width: 250px;
  margin: 0 auto 20px;
}

#spec .official a {
  display: block;
  border-radius: 8px;
  padding: 18px 0;
  color: #FFF;
  text-decoration: none;
  background-repeat: no-repeat;
  background-position: 226px center;
  background-size: 17px 17px;
  font-size: 15px;
}

#spec .official01 a {
  background-color: #EA3535;
  background-image: url(../img/official_arrow01.png);
}

#spec .official02 a {
  background-color: #E7340C;
  background-image: url(../img/official_arrow02.png);
}

#spec .official03 a {
  background-color: #81C823;
  background-image: url(../img/official_arrow03.png);
}

#spec .copy {
  display: block;
  padding: 0 10px;
  margin-bottom: 20px;
  color: #FFF;
  text-align: center;
  font-size: 10px;
  line-height: 1.4;
}


/* clearfix */

.clearfix:after {
  content: '';
  display: block;
  clear: both;
}


/* modal */

div#result {
  position: fixed;
  top: 0;
  width: 100%;
  height: 120%;
  background-color: rgba(0, 0, 0, 0.8);
  z-index: 3000;
  text-align: center;
  padding-top: 10%;
}

div#result .modalWrap {
  position: relative;
}

div#result img {
  width: 90%;
  margin: 0 auto;
  display: block;
}

span#result-close {
  background: url(../img/btn_close.png) no-repeat center center;
  background-size: contain;
  width: 4.557%;
  height: 8.982%;
  display: inline-block;
  position: absolute;
  top: 7%;
  right: 9%;
  cursor: pointer;
}
