* {
    margin: 0px;
    padding: 0px;
}

img {
    border: 0px;
}

body {
    background-color: #ffffff;
    font-family: "ＭＳ ゴシック",sans-serif;
    font-size: 16px;
}

sup {
    margin: 0px -2px;
    font-size: xx-small;
}


/* for IE6 */
* html sup {
    margin: 0px;
}

/* for IE7 */
*:first-child+html sup {
    margin: 0px;
}

/* for IE6 */
* html body {
    text-align: center;
    font-size: 100%;
}

/* for IE7 */
*:first-child+html body {
    font-size: 100%;
}

address {
    font-style: normal;
    clear: both;
    color: #e8e8e8;
}

#header {
    height: 223px;
    background-image: url(../images/header_bg.jpg);
    background-repeat: repeat-x;
}

#header #menu {
    height: 57px;
    text-align: right;
}

#header #subtitle {
    padding-top: 20px;
    width: 980px;
    height: 146px;
    background-image: url(../images/subtitle_bg.jpg);
    background-color: #0c5cc6;
    background-repeat: no-repeat;
    clear: both;
    color: #ffffff;
    line-height: 1.3em;
}

#header #subtitle p {
    font-weight: bold;
}

#contents {
    padding: 20px;
    min-height: 400px;
    background-image: url(../images/contents_bg.jpg);
    background-color: #ffffff;
    background-repeat: repeat-x;
}

#contents #solution {
    width: 661px;
    background-image: url(../images/solution_bg.jpg);
    background-repeat: no-repeat;
    background-position: center;
    float: left;
    color: #505050;
}

#contents #separate {
    margin: 0px 10px 0px 15px;
    float: left;
}

#contents #bunners {
    width: 246px;
    text-align: center;
    float: left;
}

#contents #bunners .description {
    text-align: left;
    color: #666666;
}

#contents #bunners p {
    margin-bottom: 8px;
}

#footer {
    padding: 20px 0px;
    background-color: #3a3a3a;
    border-top: 4px solid #0c5cc6;
    color: #aaaaaa;
}

#footer p {
    margin: 0px 12px 6px 0px;
}

#footer p a {
    color: #aaaaaa;
}

#footer p a:hover {
    text-decoration: none;
}

.container {
    margin: 0px auto;
    width: 980px;
}

/* for IE6 */
*html .container {
    text-align: left;
}

.float {
    float: left;
}

.clear {
    clear: both;
}

.warn {
    font-weight: bold;
    color: #ff0000;
}

a.demos {
    margin: 5px 10px 10px 0px;
    padding-right: 14px;
    height: 24px;
    background-image: url(../images/demos_bg_right_out.gif);
    background-position: top right;
    background-repeat: no-repeat;
    background-attachment: scroll;
    display: block;
    float: left;
    text-decoration: none;
}

a.demos span {
    padding: 5px 0px 5px 14px;
    background-image: url(../images/demos_bg_left_out.gif);
    background-repeat: no-repeat;
    display: block;
    line-height: 14px;
    color: #666666;
}

a:hover.demos {
    background-image: url(../images/demos_bg_right_over.gif);
}

a:hover.demos span {
    background-image: url(../images/demos_bg_left_over.gif);
    color: #333333;
}

/**
 * clearfix
 * http://blog.d-spica.com/entry/070307clearfix.html
 */
.clearfix:after {
  content: ".";  /* 新しい要素を作る */
  display: block;  /* ブロックレベル要素に */
  clear: both;
  height: 0;
  visibility: hidden;
}

.clearfix {
  min-height: 1px;
}

* html .clearfix {
  height: 1px;
  /*\*//*/
  height: auto;
  overflow: hidden;
  /**/
}

/**
 * font size small
 */
.small {
    font-size: 12px;
}

/* for IE6 */
* html .small {
    font-size: 75%;
}

/* for IE7 */
*:first-child+html .small {
    font-size: 75%;
}

/**
 * font size medium
 */
.medium {
    font-size: 15px;
}

/* for IE6 */
* html .medium {
    font-size: 93.75%;
}

/* for IE7 */
*:first-child+html .medium {
    font-size: 93.75%;
}
