/* ===============================
      common
================================*/

body {
  font-family: "¥Ò¥é¥®¥Î³Ñ¥´ Pro W6", sans-serif;
  font-size: 14px;
  line-height: 1.3;
  word-break: break-all;
  color: #333;
  background: #fff;
  overflow-x: hidden;
  vertical-align:baseline;
  -webkit-text-size-adjust: none;
  -webkit-tap-highlight-color: rgba(0,0,0,0);
}

body, dl, dt, dd, ul, ol, li, h1, h2, h3, h4, h5, h6, pre, form, input, p, blockquote, fieldset, div {
  margin: 0;
  padding: 0;
}

/* ===============================
      contents
================================*/

div.header_section{font-size:13px;}
div.header_section .tip_text{margin:14px 10px 0 10px;}

div.header_section .desc_text{
  margin:9px 10px 0 10px;
  padding:0 0 26px 0;
  background:url(/form/img/sp/dot.png) bottom repeat-x;
}

div.header_section .desc_text p{margin:0 0 3px 0;}

.content h2 {
  font-size: 14px;
  color: #333;
  line-height: 1.2;
  padding: 10px 10px 9px 10px;
  margin:10px 0 0 0;
  background:#eaeaea;
}

.content h3{
  font-size: 14px;
  color: #333;
  margin-right:11px;
}


/* ===============================
      box
================================*/

div.header_section .free_box{
  margin:10px 10px 0 10px;
  padding:9px 10px;
  background:#f6fcff;
  font-size:13px;
  color:#444;
  border:solid 1px #75c1e7;
}

.box_title{
  font-weight:bold;
  padding:0 0 3px 0;
}

/* ===============================
      bar
================================*/

.bar{
  margin:25px auto 17px auto;
  width:257px;
  text-align:center;
  position:relative;
  padding:20px 0 0 0;
}

.s_bottom{margin:25px auto 38px auto;}

.bar ol{
  padding:0;
  margin:0;
}

.bar ol li{
  display: inline-block;
  list-style:none;
  padding:0px;
  margin:0px;
  color:#666;
}

.bar ol li.input:before{
  position: absolute;
  left:28%;
  top:-20px;content: '';
  z-index:2;
  border-radius:30px;
  width:16px; height:16px;
  background:#d3d3d3;
}

.bar ol li.input:after{
  position: absolute;
  left:30%;
  top:-14px;content: '';
  z-index:1;
  width:110px;
  height:4px;
  background:#d3d3d3;
}

.bar ol li.confirm:before{
  position: absolute;
  left:47%;
  top:-20px;
  content: '';
  z-index:2;
  width:16px;
  height:16px;
  background:#d3d3d3;
  border-radius: 30px;
}

.bar ol li.confirm:after{
  position: absolute;
  left:47%;
  top:-14px;
  content: '';
  z-index:1;
  width:110px;
  height:4px;
  background:#d3d3d3;
}

.bar ol li.comple:before{
  position: absolute;
  left:21%;
  top:-20px;
  content: '';
  z-index:2;
  width:16px;
  height:16px;
  background:#d3d3d3;
  border-radius: 30px;
}


.bar ol.bar_text{
  position:relative;
  left:0;
  top:0;
}

.bar_text .input{
  position:absolute;
  left:15px;
}


.bar_text .comple{
  position:absolute;
  left:212px;
}


/* input active */

.bar_text .current{font-weight:bold;}
.bar ol li.now:before{background:#7cccf1;}
.bar ol li.past:before{background:#bde3f4;}
.bar ol li.past_line:after{background:#bde3f4;}


/* =========================
    form
========================= */

div.input_form{
  margin:15px 10px 0 10px;
  background:#f4f4f4;
  border:solid 2px #efefef;
}

.form_item{
  background:url(/form/img/sp/s_dot.png) bottom repeat-x;
  padding:12px 10px 15px 10px;  
}

.form_item select{
  margin:6px 0 0 0;
  height:29px;
  width:100%;
}

.form_item .textbox input{
  margin:8px 0 0 0;
  width:100%;
  height:24px;
  border:solid 1px #808080;
  font-size:13px;
  -moz-appearance:none;
  -webkit-appearance:none;
  border-radius:0;
}

.form_item textarea{
  margin:8px 0 0 0;
  width:100%;
  height:87px;
  border:solid 1px #808080;
  font-size:13px;
  -moz-appearance:none;
  -webkit-appearance:none;
  border-radius:0;
  overflow-y:scroll;
}


.form_title span{
  float:left;
  font-size:12px;
  font-weight:bold;
  color:#cc0000;
}

.form_title p{
  clear:both;
  padding:4px 0 0 0;
  font-size:13px;
}


.form_item ul{list-style:none;}

/* radio botton */

.radio {
  margin:10px 0 1px 0;
  padding:15px 9px;
  background:#fff;
}

.radio ul li:not(:last-child),
.checkbox ul li:not(:last-child) {
  padding: 0 0 15px 0;
}

/*
.radio ul li:nth-last-child(1),
.checkbox ul li:nth-last-child(1),
  padding: 0 0 0 0;
}
*/

.radio ul li {
  vertical-align:baseline;
  display:block;
}


/* checkbox */

.checkbox {
  margin:10px 0 1px 0;
  padding:15px 9px;
  background:#fff;
}

.radio ul li input,
.checkbox ul li input {
  margin:0 6px 0 0;
  vertical-align:baseline;
}

.hide_question{
  display:none;
}

/* =========================
    error
========================= */

.error_detail {
  border:solid 1px #cc0000;
  margin:10px 10px 0 10px;
}

.error_title {
  padding:8px;
  background:#faefee;
  border-bottom:solid 1px #f6d3d3;
  font-size:14px;
  color:#cc0000;
}

.error_list{padding:8px;}

.error_detail ul{
  list-style:none;
  padding:0px;
  margin:0px;
}

.error_detail ul li{
  font-size:13px;
  padding:0px;
  margin:0px;
  color:#0044cc;
}

.error .input_wrapper span{
  color:#cc0000;
  font-size:13px;
  font-weight:bold;
}

.error{
  background:#faefee!important;
  border:solid 2px #faefee!important;
}

/* =========================
    message
========================= */

.message_box{
  margin:18px 10px 0 10px;
  background:#f4f4f4;
  border:solid 2px #efefef;
  text-align:center;
  padding:15px 0;
  font-weight:bold;
}

.top_link{
  margin: 19px auto 41px auto;
  text-align: center;
  width: 100%;
}

.message_wrapper {
  margin: 47px auto 41px auto;
  text-align: center;
  width: 100%;
}

.message_wrapper p {
  font-size: 16px;
  font-weight:bold;
  padding-bottom: 33px;
}

/* =========================
    botton
========================= */
.submit{
  width:230px;
  margin:0 auto;
}

.submit ul{
  list-style:none;
  margin:26px 0 25px 0;
}

.submit ul li{margin:0 0 15px 0;}

.submit ul li.primary {
  width: 230px;
  background:#2d96e0;
  border-radius:4px;
  color:#fff;
  text-align:center;
}

.submit ul li.btnView {
  width: 226px;
  background:#fff;
  border:solid 3px #2d96e0; 
  border-radius:4px;
  text-align: center;
}

.submit ul li.btnView a {
  display: block;
  padding:12px 0px;
}

.submit ul li.primary a {
  display: block;
  padding:14px 0px;
}

li.primary a span {
  font-size:18px;
  font-weight:bold;
  color:#fff;
  vertical-align: middle;
}

li.btnView a span {
  font-size:18px;
  font-weight:bold;
  color:#0e7ecd;
  vertical-align: middle;
}

/* noscript */
.noscript_alert {
  margin:10px 10px 0 10px;
  padding:8px;
  border:solid 1px #000000;
  background:#ffffff;
  color:#000000;
}

.noscript_alert strong {
  color:#cc0000;
}
