@charset "UTF-8";

/* ---------------- Reset ---------------- */

*{
  padding:0;
  margin:0;
  font-family:"M PLUS Rounded 1c",
    'Hiragino Kaku Gothic ProN',
    'ヒラギノ角ゴ ProN W3',
    sans-serif;
}

a{ color: #fe5980;}

img{border:0;}

html{
  background:#ddd;
  background:url(/doaxvv/img/bg.jpg) no-repeat fixed!important;
  background-size:cover!important;
}

body{
  font-size:14px;
  line-height:160%;
  color:#333;
  background-color:transparent!important;
  background-attachment:fixed;
}

#body_id_form{background:transparent;}

hr{display:none;}

/* ---------------- Layout ---------------- */

#wrapper{
  background-color:rgba(255,255,255,0.9);
  width:98%;
  max-width:800px;
  margin:20px auto 10px;
  border-radius:10px;
  box-shadow:2px 2px 8px rgba(0,0,0,0.5);
  position:relative;
}

#contents{
  width:85%;
  margin:0 auto;
}

/* ---------------- Logo ---------------- */

#kt{
  display:block;
  position:absolute;
  top:15px;
  left:15px;
}

#kt img{
  width:60px;
  height:38.29px;
}

/* ---------------- Headings ---------------- */

h2{
  display:block;
  width:100%;
  text-align:center;
  padding:130px 0 20px;
  font-size:30px;
  color:#0baefa;
  font-weight:bold!important;
  line-height:1.3em;
  border-bottom:none!important;
  text-shadow:2px 2px 6px rgba(255,255,255,0.8);
}

h3{
  font-size:19px!important;
  color:#0067c2;
  display:block;
  border-bottom:dotted 1px #0067c2;
  border-left:solid 6px #0067c2;
  font-weight:900!important;
  margin-top:3em!important;
  padding-left:1%;
  line-height:1.5;
}

h4{
  font-size:18px;
  color:#00a2ee;
  line-height:1.3;
  display:inline;
  padding-bottom:2%;
}

h6{
  border:2px solid #D60;
  border-radius:30px;
  padding:2px 15px;
  color:#d60;
  font-size:11px;
  display:inline-block;
  margin:0 0 16px;
}

/* ---------------- Question ---------------- */

.question{
  margin:35px 0 0;
}

.question_title{
  display:inline;
}

.question_desc{
  display:inline-block;
  font-size:12px;
  padding:0 12px;
  border-radius:20px;
  border:solid 1px;
  color:#fe5981;
  margin-bottom: 5px;
}

/* ---------------- Inputs ---------------- */

input{
  display:block;
  border:1px solid #ddd;
  border-radius:3px;
  font-size:19px;
  padding:3px 8px;
  margin:10px 0 0;
  max-width:100%;
}

input:focus{
  outline:none;
}

.textarea{
  border:1px solid #ddd;
}

/* ---------------- Options ---------------- */

.option input{
  display:inline;
  margin-right:5px;
}

.option label{
  font-size:16px;
  font-weight:normal;
  color:#333;
}

.option textarea{
  border:1px solid #ddd;
  width:96%;
  padding:2%;
  font-size:16px;
  margin-top:10px;
  vertical-align:top;
  font-size: 100%;
}

.option select{
  background:#fff;
  border:1px solid transparent;
  padding:5px;
  font-size:110%;
  margin-top:10px;
  width:50%;
  border-radius: 5px;
  height: 2.2em;
}

.option .text input{
  margin-right:0;
  width:98%!important;
  display:block;
  font-size: 110%;
}

/* ---------------- Option Layout ---------------- */

.question-options{
  display:flex;
  gap:17px;
  flex-wrap:wrap;
}

.question-options .option{
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  text-align:center;
}

.question-options .option input{
  margin:10px 0 4px 0!important;
}

/* ---------------- Buttons ---------------- */

#btn_area{
  text-align:center;
  margin:50px 0 20px;
}

#btn_area input{
  display:inline;
  width:46%!important;
  margin: 0 2%;
  padding:10px 0;
  background:#0baefa;
  color:#fff;
  border:solid 3px #fff;
  border-radius:8px;
  box-shadow:0 0 5px #aba8a8;
  cursor:pointer;
  text-shadow:2px 2px 6px rgba(30,70,30,0.8);
  -webkit-appearance:none;
}

#btn_area input:hover{
  opacity:0.8;
}

#btn_bck{
  margin-right:0!important;
}

/* ---------------- Footer ---------------- */

#footer{
  text-align:center;
  padding:30px 0 10px;
  color:#999;
}

#footer address{
  font-size:11px;
}

/* ---------------- Alert ---------------- */

#alert{
  display:block;
  background-color:rgba(248,82,134,0.9);
  border-radius: 15px;
  padding:18px 3%;
  margin:20px 0;
  width:94%;
}

#alert font{
  color:#fff!important;
}

/* ---------------- Misc ---------------- */

.attention{
  display:inline-block;
  line-height:140%;
  font-size:11px;
  color:#fff;
  padding:8px 15px;
  margin:10px 0 0;
  background-color:rgba(0,0,0,0.3);
}

#privacynotice{
  color:#333;
  margin:0 0 20px;
}

.mo:hover{
  opacity:0.8;
}

.day{
  background-color:#fcfd75;
  color:#264699;
  padding:4px 16px;
  display:table;
  text-align:center;
  border-radius:30px;
  box-shadow:0 0 5px #ccc;
  margin:0 auto 30px;
}

.info{
  color:#000;
  margin-top:20px;
  font-size:15px;
  font-weight:bold;
  text-align:center;
}

ul.notice{
  color: #fe5980;
  border: dotted 1px;
  font-size: 80%;
  padding: 5px;
  line-height: 1.5;
  margin-top: 8px;
}

ul.notice li{
  text-indent: -1em;
  margin-left: 1em;
}

p{
  font-size:80%;
  margin-top:5px;
  display:inline-block;
}

/* ---------------- Confirm ---------------- */

#body_id_confirm h4{
  font-size:15px;
}

#body_id_confirm span.text{
  font-size:16px;
  color:#475170;
  margin-left:1em;
  display: block;
}

#body_id_confirm .option span.text{
  margin-left:0;
}

#body_id_confirm .option{
  display:block;
  margin:8px 0 0;
  font-size:16px;
  color:#475170;
  margin-left:1em;
}

#body_id_confirm .question_desc,
#body_id_confirm .attention,
#body_id_confirm .c_atentiontxt{
  display:none;
}

#body_id_confirm #btn_bck{
  background-color:#666;
}

#body_id_confirm ul.notice{
  display:none;
}

.confirm_text{
  border: solid 1px #0cadfa;
  color: #0cadfa;
  padding: 5px;
  background-color: #dceeff;
  margin-top: 30px;
  text-align: center;
}

/* ---------------- Finish ---------------- */

#finish{
  display:block;
  margin:30px 0 0;
}

#finish h3{
  font-size:27px;
  color:#333;
  font-weight:800;
  text-align:center;
  margin:0 0 20px;
}

#finish p{
  text-align:center;
  font-size:15px;
  color:#333;
}

#closebt a{
  display:inline-block;
  border-radius:20px;
  background-color:#a00;
  color:#fff;
  margin:30px 0 0;
  padding:2px 15px;
}

#closebt a:hover{
  opacity:0.8;
}

/* ---------------- Progress ---------------- */

#progress{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:4px;
  background:rgba(0,0,0,0.1);
  z-index:9999;
}

#progress .bar{
  width:0;
  height:100%;
  background:#fe5981;
  transition:width 0.1s linear;
}

/* ---------------- Responsive ---------------- */

@media screen and (max-width:800px){

  input{
    box-sizing:border-box;
    padding:3%;
    font-size:16px;
    width:auto!important;
  }

  .question_desc{
    font-size:11px;
    line-height: 1.5;
    display:inline-block;
    padding:0 10px;
  }

  .option select,
  .option .text input{
    width:100%!important;
  }

  #body_id_confirm .option{
  margin-left:0em;
 }

  #body_id_confirm span.text{
  margin-left:0em;
 }

}

@media screen and (max-width:480px){

  #wrapper{
    background-color:rgba(255,255,255,0.9);
    width:96%;
    margin:2% auto;
    border-radius:3px!important;
    box-shadow:2px 2px 8px rgba(0,0,0,0.5);
  }

  h2{
    padding:70px 0 10px;
    border-bottom:1px solid #0baefa!important;
    font-size:17px;
    margin-bottom:20px;
  }

  h4{
    font-size:17px!important;
    display:block;
  }

  #kt{
    top:10px;
    left:10px;
  }

  #kt img{
    width:40px;
    height:25.24px;
  }

  #btn_area input{
    width:43%;
    padding:15px 0;
  }

  .hidesp{
    display:none;
  }

}

.option:has(input[type="checkbox"]),
.option:has(input[type="radio"]) {
  display: flex;
  flex-wrap: wrap;
  align-items: flex-start;
}

.option input[type="checkbox"],
.option input[type="radio"] {
  margin-top: 0.2em;
  flex-shrink: 0;
}

.option label {
  line-height: 1.6;
  flex: 1;
}

.option .text {
  width: 100%;
}


