html, body, div, span, applet, object, iframe, h1, h2, h3, h4,
h5, h6, p, pre, a, abbr, acronym, address, big, cite, code,
del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt,
var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td, input {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
}
body {
  line-height: 1;/*????????????    font-size * line-height */
}
ol, ul {
  list-style: none;
}
:focus {
  outline: 0;
}
table {
  border-collapse: collapse;
  border-spacing: 0;/*?????????????*/
}
th{
    font-weight: normal;
}
.fl {
  float: left;
}
.fr {
  float: right;
}
/*clear float*/
.cf:before, .cf:after {
  content: " ";
  display: table;
}
.cf:after {
  clear: both;
}
.cf {
  *zoom: 1;
}
/*inline-block*/
.dib-box {
  font-size: 0; /* ?????  font-size:0 ??display:inline-block???????????*/
  *word-spacing: -1px; /* IE6/7 */
}
.dib {
  display: inline-block;
  *display: inline;
  *zoom: 1;
}
.dib-box .dib {
  vertical-align: top;
  font-size: 12px;
  letter-spacing: normal;
  word-spacing: normal;
}
/*???????*/
.justify, .dib-box .justify {
  font-size: 0;
}
.justify {
  text-align: justify;
  text-justify: inter-ideograph; /* IE 6-7 */
  *zoom: 1; /* IE 6-7 ?? hasLayout ????????? */
  -moz-text-align-last: justify;
  -webkit-text-align-last: justify;
  text-align-last: justify; /* IE 8+ */
}
/* ??? text-align-last ?????????? */
.justify:after {
  content: "";
  display: inline-block;
  width: 100%;
  /*margin-left: 100%;*/ /*? WebKit ?? */
}
.justify .dib {
  -moz-text-align-last: auto;
  -webkit-text-align-last: auto;
  text-align-last: auto;
  text-justify: auto;
  text-align: left;
  font-size: 12px;
  letter-spacing: normal;
  word-spacing: normal;
}
.hide-text {
  text-indent: 100%;
  white-space: nowrap;
  overflow: hidden;
}
.cell {
  display: table-cell;
  width: 3000px;
  *display: inline-block;
  *width: auto;
}
