@charset "utf-8";

/** --------------------------------------------------------------------------------
 * 初期化
 */
body,
dd,
dir,
div,
dl,
dt,
fieldset,
form,
h1,
h2,
h3,
h4,
h5,
h6,
li,
legend,
ol,
p,
td,
th,
ul {
  margin: 0;
  padding: 0;
}

/** --------------------
 * 外枠
 */
fieldset,
img {
  border-width: 0;
  border-style: none;
}

/** --------------------
 * 見出し
 */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: 100%;
}

/** --------------------
 *  テーブル
 */
table {
  border-collapse: collapse;
  table-layout: fixed;
}

th {
  vertical-align: top;
  font-weight: bold;
  text-align: left;
  empty-cells: show;
}

td {
  vertical-align: middle;
  text-align: left;
  empty-cells: show;
}

/** --------------------------------------------------------------------------------
 * HTML BODY
 */
html {
  height: 100%;
  overflow-y: scroll;
}

body {
  height: 100%;
  line-height: 1.38;
  color: #000;
  background-color: #e5e2dc;
  font-size: small;
}

/** ----------------------------------------
 * 全体の囲い
 */
div#whole {
  margin: 0 auto;
  width: 943px;
  min-height: 100%;
  background: url("/images/respondent/bg.gif") repeat-y 100% 0;
}

.ie_6 div#whole {/* IE6のみ上書き */
  height: 100%;
}

div#whole div.inner {
  padding: 50px 26px 0 37px;
  background: url("/images/respondent/bgT.gif") no-repeat 0 0;
}

/** ----------------------------------------
 * ヘッダー
 */
div#header h1 {
  padding: 1px;
  border: 1px solid #ccc;
  font-size: 139%;
}

div#header h1 span {
  padding: 3px 10px;
  border: 1px solid #e6e6e6;
  display: block;
  background: #fff url("/images/respondent/h1.gif") repeat-x 0 100%;
}

/** ----------------------------------------
 * コンテンツ
 */
div#contents {
  min-height: 380px;
}

.ie_6 div#contents {/* IE6のみ上書き */
 height: 380px;
}

/** --------------------
 * 強調
 */
em {
  font-style: normal;
  font-weight: bold;
}

/** --------------------
 * エラーメッセージ
 */
div#sbl_errmsg {
  margin: 10px auto;
  padding: 15px 10px 15px 57px;
  width: 510px;
  border: 1px solid #942f2f;
  color: #942f2f;
  background: #fee url("/images/respondent/error_1.gif") no-repeat 10px 50%;
}

div#sbl_errmsg ul li {
  list-style-type: none;
}

div#sbl_errmsg ul li {
  padding-bottom: 3px;
}

/** --------------------
 * サーバーエラー
 */
div#serverError {
  margin: 10px 0;
  padding: 15px 10px 15px 7px;
  border: 2px solid #942f2f;
  color: #942f2f;
  background-color: #fee;
}

/** -----------------
 * 回答ページ
 */
div#contents h2 {
  margin: 15px 0;
  line-height: 1.5;
  background: url("/images/respondent/h2M.gif") repeat-y 0 0;
  font-size: 116%;
}

div#contents h2 span.wrap1 {
  display: block;
  background: url("/images/respondent/h2T.gif") no-repeat 0 0;
}

div#contents h2 span.wrap2 {
  display: block;
  background: url("/images/respondent/h2B.gif") no-repeat 0 100%;
}

div#contents h2 span.wrap3 {
  padding: 3px 10px 3px 33px;
  display: block;
  background: url("/images/icon_8.gif") no-repeat 10px 0.4em;
}

.ie_6 div#contents h2 span.wrap3 {/* IE6 */
  height: 0;
}

/* テーブル */
table {
  width: 100%;
}

th {
  padding-left: 60px;
}

th span.wrap1 {
  margin-bottom: 15px;
  display: block;
  line-height: 1.5;
  background: url("/images/respondent/h3M.gif") repeat-y 0 0;
  font-size: 108%;
}

th span.wrap2 {
  display: block;
  background: url("/images/respondent/h3T.gif") no-repeat 0 0;
}

th span.wrap3 {
  display: block;
  background: url("/images/respondent/h3B.gif") no-repeat 0 100%;
}

th span.wrap4 {
  padding: 3px 10px 3px 25px;
  display: block;
  background: url("/images/respondent/grayArrow.gif") no-repeat 10px 0.5em;
}

.ie_6 th span.wrap4 {/* IE6 */
  height: 0;
}

.ie_7 th span.wrap4 {/* IE7 */
  min-height: 0;
}

td {
  padding-left: 120px;
}

td dl {
  margin-bottom: 20px;
  padding: 0 10px 15px;
  border: 1px solid #ccc;
}

td dl dt.title {
  margin-top: 15px;
  margin-bottom: 10px;
  padding-left: 15px;
  padding-bottom: 5px;
  border-bottom: 1px dotted #ccc;
  background: url("/images/respondent/whiteArrow.gif") no-repeat 0 0.3em;
  font-weight: bold;
}

td dl dd {
  padding-left: 15px;
}

/* 小見出し */
span.title {
  padding-left: 10px;
  background: url("/images/icon_7.gif") no-repeat 0 0.2em;
}

/* 選択項目インデント */
p.indent {
  padding: 0;
  margin-left: 0.7em;
}

span.subInput span.title {
  padding-left: 0;
  background: none;
}

/* ボタン */
div.buttonBox {
  margin-top: 40px;
  text-align: center;
}

div.buttonBox input {
  padding: 6px 14px;
}

/* 画像 */
p.image {
  margin-bottom: 8px;
}

p.image img {
  border: 1px solid #888;
}

p.innerImage {
  margin-top: 3px;
  margin-bottom: 6px;
}

p.blockImage {
  padding-left: 2px;
}

/* 必須 */
.required {
  color: #ef5f5f;
  font-weight: bold;
}

/* 注意書き */
.attension {
  color: #444;
  font-size: 92%;
}

p.attension {
  margin-top: 5px;
  margin-bottom: 5px;
}

/* エラー */
.err {
  color: #b42f2f;
  font-weight: bold;
}

p.err {
  margin: 5px 0 4px 0;
  padding-left: 20px;
  background: #fee url("/images/respondent/error_2.gif") no-repeat 3px 50%;
}

span.err {
  padding-left: 16px;
  background: url("/images/respondent/error_3.gif") no-repeat 0 0.1em;
}

/** -----------------
 * パスワード認証・送信完了
 */
div.authentication,
div.finish {
  margin: 30px auto 0;
  width: 450px;
  border: 1px solid #ccc;
}

div#contents div.authentication h2,
div#contents div.finish h2 {
  margin: 1px 1px 10px;
  padding: 3px 10px 3px 23px;
  border-bottom: 1px solid #ccc;
  background: #ededed no-repeat 3px 50%;
}

div#contents div.authentication h2 {
  background-image: url("/images/respondent/key.gif");
}

div#contents div.finish h2 {
  background-image: url("/images/respondent/send.gif");
}

div.authentication p,
div.authentication form {
  text-align: center;
}

div.finish p {
  margin: 20px 0;
  text-align: center;
}

div.authentication form {
  margin-top: 20px;
  padding-bottom: 10px;
  text-align: center;
}

div.authentication div#sbl_errmsg {
  margin: 20px 10px;
  width: auto;
}

div.finish p.close {
  margin-top: 20px;
  margin-bottom: 20px;
  text-align: center;
  cursor: pointer;
}

/** -----------------
 * 案内ページ
 */
div.guide {
  margin-top: 15px;
}

div.guide img,
div.guideText,
div.guideFile {
  margin-bottom: 15px;
}

div.guideFile a {
  padding-left: 25px;
  background: url("/images/icon_6.gif") no-repeat 0 50%;
}

/** -----------------
 * 入力確認
 */
div.confirm .title,
div.confirm table th em span {
  color: #000;
}

div.confirm .answer {
  color: blue;
  font-weight: bold;
}

/** ----------------------------------------
 * フッター
 */
div#footer {
  margin-top: 20px;
  padding: 10px 0 20px;
  border-top: 1px solid #b5b5b5;
  text-align: center;
}

div#footer address {
  font-style: normal;
}
