@charset "Shift_JIS";

/*  contact
-----------------------------------------------------------------------------*/
#pageTitle { background-image: url(../img/bg_titile.jpg); }
#gNav li.nav06 a { background: #0468c8; }

span.req {
  color: #fff;
  line-height: 1.42;
  padding: 1px 6px 0;
  display: inline-block;
  background: #e60202;
}

#pageTitle .titleInner span.sp { display: none; }
.pc { display: block; }
.sp { display: none; }

/* step */
.step {
  margin-bottom: 35px;
  border: #f2f2f2 solid 2px;
}

.step li {
  color: #0056a9;
  padding: 14px 0 12px;
  background-image: url(../../common/img/icon_arrow05.gif);
  background-repeat: no-repeat;
  float: left;
  position: relative;
}

.step li:after {
  width: 31px;
  height: 56px;
  top: 0;
  right: 0;
  display: block;
  background-position: right top;
  background-repeat: no-repeat;
  content: '';
  position: absolute;
}

.step li span {
  font-size: 128.5%;
  color: #333;
  vertical-align: middle;
  margin-left: 13px;
  display: inline-block;
}

.step li.s01 {
  padding-left: 135px;
  width: 215px;
  background-position: 101px center;
}

.step li.s02 {
  padding-left: 123px;
  width: 229px;
  background-position: 89px center;
}

.step li.s03 {
  padding-left: 113px;
  width: 181px;
  background-position: 79px center;
}

/* step01 */
.step01 li.s01 {
  color: #fff;
  background-color: #0056a9;
}

.step01 li.s01:after { background-image: url(../img/step_arrow01.gif); }
.step01 li.s01 span { color: #fff; }
.step01 li.s02:after { background-image: url(../img/step_arrow03.gif); }

/* step02 */
.step02 li.s02 {
  color: #fff;
  background-color: #0056a9;
}

.step02 li.s02:after { background-image: url(../img/step_arrow01.gif); }
.step02 li.s02 span { color: #fff; }
.step02 li.s01:after { background-image: url(../img/step_arrow02.gif); }

/* step03 */
.step03 li.s01:after { background-image: url(../img/step_arrow03.gif); }

.step03 li.s03 {
  color: #fff;
  background-color: #0056a9;
}

.step03 li.s03 span { color: #fff; }
.step03 li.s02:after { background-image: url(../img/step_arrow02.gif); }
.step + p { margin-bottom: 20px; }

/* borderBox */
.borderBox {
  margin-bottom: 40px;
  padding: 15px 19px;
  border: #e0e0e0 solid 1px;
}

.borderBox dt {
  font-weight: bold;
  margin-bottom: 7px;
}

/* errorBox */
.errorBox {
  font-size: 114.3%;
  color: #e50202;
  text-align: center;
  margin-bottom: 20px;
  padding: 22px 10px 19px;
  border: #d1191b solid 1px;
  background: #fff1f1;
}

.errorBox p {
  padding-left: 35px;
  display: inline-block;
  background: url(../img/icon_error.gif) no-repeat left center;
}

/* reqText */
.reqText { margin-bottom: 35px; }
.reqText span.req { margin-right: 7px; }

/* formTable */
.formTable {
  border-top: #e0e0e0 solid 1px;
  border-left: #e0e0e0 solid 1px;
  width: 100%;
}

.formTable + .formTable { margin-top: 40px; }

.formTable th, .formTable td {
  vertical-align: middle;
  padding: 20px;
  border-bottom: #e0e0e0 solid 1px;
  border-right: #e0e0e0 solid 1px;
}

.formTable th {
  font-weight: bold;
  padding: 25px 20px;
  width: 159px;
  background: #f6f6f6;
  position: relative;
}

.formTable td .formText {
  padding: 6px 5px;
  border: #e0e0e0 solid 1px;
  width: 388px;
}

/* formTable - req */
/* wisc5-order: long TH labels wrap and overlapped the absolutely-positioned badge.
   Render the [必須] badge in normal flow so it never overlaps, any label length. */
.formTable th span.req {
  font-weight: normal;
  position: static;
  display: inline-block;
  margin-left: 6px;
  vertical-align: middle;
}

.formTable .reqrow td .formText { background: #fff1f1; }

/* formTable - error */
.formTable td .error {
  color: #e50202;
  margin-top: 8px;
  padding-left: 22px;
  display: block;
  background: url(../img/icon_error02.gif) no-repeat left 3px;
}

/* formTable - zip */
.formTable td .zip01 { margin-bottom: 17px; }

.formTable td .zip01 p {
  vertical-align: middle;
  margin-right: 20px;
  display: inline-block;
}

.formTable td .zip01 p:first-child { margin-right: 15px; }
.formTable td .zip01 .formText { width: 98px; }

.formTable td .zip01 .zipcode {
  border-radius: 4px;
  font-size: 86%;
  color: #fff;
  padding: 4px 8px 2px;
  border: none;
  background: #a2a2a2;
  cursor: pointer;
}

.formTable td .zip01 .zipcode:hover { background-color: #0056a9; }
.formTable td .zip02 { margin-bottom: 17px; }

.formTable td .zip02 p {
  vertical-align: middle;
  margin-right: 15px;
  display: inline-block;
}

/* formTable - mail */
.formTable td.mail p:first-child { margin-bottom: 10px; }

/* formTable - msg */
.formTable .msg th { height: 190px; }

.formTable td .textarea {
  width: 688px;
  height: 188px;
}

/* aboutArea */
.aboutArea { margin: 25px 0 40px; }

/* privacyArea */
.privacyArea dl { border: #e0e0e0 solid 1px; }

.privacyArea dt {
  text-align: center;
  padding: 14px 0 11px;
  border-bottom: #e0e0e0 solid 1px;
  background: #f6f6f6;
}

.privacyArea dt span {
  vertical-align: middle;
  display: inline-block;
}

.privacyArea dt span.title {
  font-weight: bold;
  padding: 2px 18px 0 0;
}

.privacyArea dt span.req { font-weight: normal; }

.privacyArea dd {
  padding: 20px 20px 0;
  height: 230px;
  overflow: auto;
}

.privacyArea dd .privacyTitle {
  margin: 10px 0;
  padding-bottom: 7px;
  border-bottom: #333 dashed 1px;
  width: 420px;
}

.privacyArea dd p {
  line-height: 1.54;
  padding-bottom: 20px;
}

/* privacyArea - privacyBtn */
.privacyBtn {
  text-align: center;
  padding: 12px 0 10px;
  border-bottom: #e0e0e0 solid 1px;
  border-left: #e0e0e0 solid 1px;
  border-right: #e0e0e0 solid 1px;
  background: #fff1f1;
}

.privacyBtn input, .privacyBtn label {
  font-size: 93%;
  vertical-align: middle;
  display: inline-block;
}

.privacyBtn input { margin-right: 10px; }

/* 検査者レベル チェックボックス（左詰め・説明文と同じ開始位置） */
.checkArea .examinerChk {
  text-align: left;
  padding: 4px 0;
}
.checkArea .examinerChk input {
  margin-right: 8px;
  vertical-align: middle;
}
.checkArea .examinerChk label {
  font-size: 93%;
  vertical-align: middle;
}

/* 入力欄の補足説明文 */
.suppleNote {
  font-size: 85%;
  color: #666;
  margin-top: 4px;
}

/* formBtnArea */
#formBtnArea {
  text-align: center;
  margin-top: 60px;
}

#formBtnArea .formBtn, .completeAera .topBtn a {
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  font-size: 128.5%;
  color: #fff;
  text-align: center;
  text-decoration: none;
  margin-left: 30px;
  padding: 18px 0 15px;
  border: none;
  width: 300px;
  display: inline-block;
  background-color: #0056a9;
  background-image: url(../img/bt_arrow01.png);
  background-position: 20px center;
  background-repeat: no-repeat;
  cursor: pointer;
}

#formBtnArea .formBtn:first-child, .completeAera .topBtn a:first-child { margin-left: 0; }

/* confirmAera */
.confirmAera { margin-top: 35px; }

#formBtnArea #back {
  background-color: #a0a0a0;
  background-image: url(../img/bt_arrow02.png);
}

#formBtnArea #back:hover { background-color: #0056a9; }

/* completeAera */
.completeAera .text01 {
  font-size: 128.5%;
  text-align: center;
  margin: 70px 0 60px;
}

.completeAera .topBtn {
  text-align: center;
  margin-top: 60px;
}
