/*------------------------------------------------------------------------------
 タグのデフォルト
------------------------------------------------------------------------------*/
* {
  margin : 0;
  padding : 0;
  border : 0;
}
ul {
  list-style-type : none;
}
table {
  border-collapse : collapse;
}
th {
  font-weight : normal;
}
td {
  line-height : 130%;
}
a {
  text-decoration : none;
}
a:hover {
  text-decoration : underline;
}
body {
  font-size : 13px;
  font-family : 'ＭＳ Ｐゴシック', 'ヒラギノ角ゴ Pro W3', Osaka, sans-serif;
}
strong {
  font-weight : normal;
  color : #c00;
}
/*------------------------------------------------------------------------------
 全体の枠組み
------------------------------------------------------------------------------*/
body {
  margin : 30px 15px;
  text-align : center;
  background : url('back.gif') #333 fixed;
}
#all {
  width : 810px;
  margin : 0 auto;
  padding : 0 15px;
  text-align : left;
  background : url('circle_top.gif') no-repeat left top #fff;
  voice-family : "\"}\"";
  voice-family : inherit;
  width : 780px;
}
#all2 {
  width : 810px;
  margin : 0 auto;
  padding : 0 15px 15px 15px;
  text-align : left;
  background : url('circle_bottom.gif') no-repeat left bottom #fff;
  voice-family : "\"}\"";
  voice-family : inherit;
  width : 780px;
}
#header {
  padding-top : 10px;
  position : relative;
}
#content {
  clear : both;
  display : inline-table;
  width : 780px;
  min-height: 1em;
/*  background : url('side_navi_back.gif') repeat-y; */
}
#content:after {
  content: "";
  display: block;
  clear: both;
  height: 1px;
  overflow: hidden;
}

/*\*/
* html #content {
  height: 1em;
}

#content {
  display: block;
}
/**/

#side_navi {
  float : left;
  width : 150px;
  background-color : #fff;
}
#main_content {
  float : right;
  width : 630px;
  padding-left : 10px;
  padding-bottom : 20px;
  voice-family : "\"}\"";
  voice-family : inherit;
  width : 620px;
}
#footer {
  padding-top : 5px;
  clear : both;
}
/*------------------------------------------------------------------------------
 #header内
------------------------------------------------------------------------------*/
#title {
  height : 58px;
}
#title h1, #title p {
  background : url('logo.gif') center left no-repeat;
  height : 58px;
}
#title h1 a, #title p a {
  display : block;
  width : 260px;
  line-height : 58px;
  text-indent : -9999px;
}
#title h1 a:hover, #title p a:hover {
  text-decoration : none;
}
#sitemap {
  position : absolute;
  top : 35px;
  right : 20px;
}
#sitemap a {
  padding-left : 15px;
  font-size : 13px;
  color : #444;
  background : url('sitemap_arrow.gif') no-repeat center left;
}
#global_navi {
  position : relative;
  height : 22px;
}
#global_navi a:hover {
  text-decoration : none;
}
#global_navi ul#gn_ul {
  position : relative;
  width : 780px;
  height : 22px;
  padding-left : 12px;
  border-bottom : 1px solid #ccc;
  background : url('global_navi_bar.gif') no-repeat;
  voice-family : "\"}\"";
  voice-family : inherit;
  width : 768px;
  height : 21px;
}
#global_navi li.gn {
  position : relative;
  float : left;
  width : 128px;
  height : 21px;
}
#global_navi li.gn a {
  display : block;
  line-height : 21px;
  text-indent : -9999px;
}
#global_navi li#gn_top a:hover {
  background : url('global_navi_bar_hover.gif') no-repeat -12px 0;
}
#global_navi li#gn_company a:hover {
  background : url('global_navi_bar_hover.gif') no-repeat -140px 0;
}
#global_navi li#gn_company ul li a:hover {
  background : #666;
}
#global_navi li#gn_service a:hover {
  background : url('global_navi_bar_hover.gif') no-repeat -268px 0;
}
#global_navi li#gn_service ul li a:hover {
  background : #666;
}
#global_navi li#gn_technology a:hover {
  background : url('global_navi_bar_hover.gif') no-repeat -396px 0;
}
#global_navi li#gn_technology ul li a:hover {
  background : #666;
}
#global_navi li#gn_contact a:hover {
  background : url('global_navi_bar_hover.gif') no-repeat -524px 0;
}
#global_navi li#gn_contact ul li a:hover {
  background : #666;
}
#global_navi li#gn_link a:hover {
  background : url('global_navi_bar_hover.gif') no-repeat -652px 0;
}
#global_navi li#gn_link ul li a:hover {
  background : #666;
}

/* ---sub_naviの設定----*/

#global_navi li.gn ul {
  display : none;
  position : absolute;
  top : 21px;
  left : 5px;
}
#global_navi li.gn:hover ul, #global_navi li.gn.over ul {
  display : block;
}
#global_navi ul.sub_navi li {
  width : 123px;
  border-top : 1px solid #999;
  background-color : #111;
  filter : Alpha(Opacity=80);
  -moz-opacity : 0.8;
  opacity : 0.8;
}
#global_navi ul.sub_navi li a {
  display : block;
  width : 123px;
  padding-left : 10px;
  text-indent : 0px;
  line-height : 20px;
  font-size : 11px;
  color : #fff;
  voice-family : "\"}\"";
  voice-family : inherit;
  width : 113px;
}
#global_navi ul.sub_navi li a:hover {
  background : #666;
  text-decoration : none;
}

/*------------------------------------------------------------------------------
 #content内
------------------------------------------------------------------------------*/
p#category_image {
  margin-top : 5px;
  margin-bottom : 7px;
  border-top : 1px solid #000;
  border-bottom : 1px solid #000;
  background-color : #fff;
}
/*------------------------------------------------------------------------------
 #side_navi内
------------------------------------------------------------------------------*/
#side_navi h2 {
  height : 17px;
  line-height : 17px;
  text-indent : -9999px;
}
#side_navi ul {
  padding : 10px 0;
  background-color : #fff;
}
#side_navi li {
  padding : 3px 0 3px 15px;
  border-top : 1px dotted #999;
  background : url('side_navi_arrow.gif') no-repeat center left;
}
#side_navi li.last {
  border-bottom : 1px dotted #999;
}
#side_navi li a {
  color : #333;
}
/*------------------------------------------------------------------------------
 #main_content内
------------------------------------------------------------------------------*/
#main_content h1 {
  height : 30px;
  margin : 0px 0 20px 0;
  text-indent : -9999px;
}
#main_content h2 {
  margin : 15px 0 15px 0;
  padding : 3px 5px;
  border : 1px solid #999;
  font-size : 13px;
  font-weight : normal;
  color : #000;
  background-color : #eee;
}
#main_content h3 {
  border-bottom : 1px solid #ccc;
  font-size : 13px;
  font-weight : normal;
  color : #000;
}
#main_content h4 {
  font-size : 13px;
  color : #000;
}
#main_content p.detail {
  margin : 15px 0;
  text-align : right;
}
#main_content  p.detail a {
  padding-left : 15px;
  background : url('side_navi_arrow.gif') no-repeat center left;
}
#main_content div.index ul {
  list-style-type : square;
  margin : 15px 15px 30px 25px;
}
#main_content div.index li {
  margin : 5px 0;
}
#main_content p#page_top, #main_content p.page_top {
  margin : 10px 0;
  text-align : right;
  color : #444;
}

/*------------------------------------------------------------------------------
 #footer内
------------------------------------------------------------------------------*/
ul#footer_navi {
  height : 20px;
  border-top : 1px solid #666;
  border-bottom : 1px solid #666;
  background-color : #f3f3f3;
}
ul#footer_navi li.fn {
  float : left;
  padding-right : 30px;
  line-height: 20px;
}
ul#footer_navi li.fn a {
  padding-left : 10px;
  color : #444;
  background : url('arrow.gif') no-repeat center left;
}
#contact {
  position : relative;
  clear : both;
  height : 60px;
}
#contact address {
  float: left;
  width : 380px;
  margin-top : 10px;
  font-style : normal;
}
#contact p {
  float : right;
  width : 400px;
  margin-top : 10px;
  text-align : right;
}
