@charset "utf-8";

/*-----------------------------------------------------------

=1.基本設定
=2.ボックス
=3.ヘッダー
=4.メインメニュー
=5.その他細かいモジュール
=6.フッター
=7.サイドメニュー(ページカテゴリ)
=8.サイドバー(右側)

-----------------------------------------------------------*/


/* =1.基本設定
-----------------------------------------------------------*/

* {
  margin: 0;
  padding: 0;
}
html,body {
  height: 100%;
}

html>body {
  font-family: "メイリオ";
  color: black;
}
/*旧世代IEには適応しない*/
* html body {
  font-family: "ＭＳ Ｐゴシック" , sans-serif;
  color: black;
}

html {
  background-color: white !important;
}

body {
  background: url(../images/header_repeat.jpg) repeat-x top left;
  text-align: center; /*IEoldFix*/
}

a {
  text-decoration: none;
  outline: 0;
}
img {
  vertical-align: bottom;
  border: 0;
}
li {
  list-style-type: none;
}

a {
}

a:hover {
}

p{
}


/* =2.ボックス
-----------------------------------------------------------*/

div#bg {
  width: 900px;
  position: relative;
  text-align: left;
  min-height: 100%;
  height: auto !important;
  height: 100%;
}

div#leftBox {
  width: 680px;
  float: left;
}

div#rightBox {
  width: 200px;
  float: right;
  margin-bottom: 40px;
}

div#centerBox {
  width: 460px;
  float: right;
}

div#container {
  width: 900px;
  padding: 10px 0 0 0;
}

div#leftsideBox {
  width: 200px;
  float: left;
}

div#access {
  height: 0;
  width: 0;
  line-height: 0;
  font-size: 0;
  overflow: hidden;
}


/* =3.ヘッダー
-----------------------------------------------------------*/



div#header {
  height: 130px;
  background: url(../images/header/12.jpg) no-repeat 195px 30px;
}

div#header h1 {
  height: 30px;
  line-height: 30px;
  font-size: 12px !important;
  font-weight: normal;
}

/* =4.メインメニュー
-----------------------------------------------------------*/

ul#menu {
  height: 50px;
  background: url(../images/menu_image.jpg) no-repeat top left;
}

ul#menu li {
  float: left;
  height: 50px;
  text-indent: -9999px;
}
ul#menu li a {
  height: 50px;
  display: block;
}

li#menuInternet {
  background: url(../images/menu_image.jpg);
  width: 171px;
  background-position: 0 0;
}
li#menuInternet a {
  width: 171px;
}

li#menuWeb {
  background: url(../images/menu_image.jpg);
  width: 151px;
  background-position: -171px 0;
}
li#menuWeb a {
  width: 151px;
}

li#menuSupport {
  background: url(../images/menu_image.jpg);
  width: 160px;
  background-position: -322px 0;
}
li#menuSupport a {
  width: 160px;
}

li#menuIt {
  background: url(../images/menu_image.jpg);
  width: 159px;
  background-position: -482px 0;
}
li#menuIt a {
  width: 159px;
}

li#menuSystem {
  background: url(../images/menu_image.jpg);
  width: 155px;
  background-position: -641px 0;
}
li#menuSystem a {
  width: 155px;
}


/* =5.その他細かいモジュール
-----------------------------------------------------------*/

/* 重要 */

div#important {
  height: 30px;
  background: url(../images/inportant_bg.gif) top left no-repeat;
  margin-bottom: 10px;
}
div#important marquee {
  line-height: 30px;
  font-size: 12px !important;
  color: white;
  width: 600px;
  margin: 0 20px 0 60px;

}

div#important marquee a {
  color: white;
  margin: 0 20px 0 0;
}
div#important marquee a:hover {
  text-decoration: underline;
}

/* ヘッダーナビ */

ul#headerNavi {
  width: 279px;
  height: 30px;
  position: absolute;
  top: 0;
  right: 0;
}

ul#headerNavi li {
  float: left;
  height: 30px;
  text-indent: -9999px;
}
ul#headerNavi li a {
  height: 30px;
  display: block;
}

li#menuCompany {
  width: 79px;
  background: url(../images/h_menu_company.gif) no-repeat top left;
  background-position: 0 0;
}
li#menuCompany a {
  width: 79px;
}

li#menuSitemap {
  width: 99px;
  background: url(../images/h_menu_sitemap.gif) no-repeat top left;
  background-position: 0 0;
}
li#menuSitemap a {
  width: 99px;
}

li#menuContact {
  width: 101px;
  background: url(../images/h_menu_contact.gif) no-repeat top left;
  background-position: 0 0;
}
li#menuContact a {
  width: 101px;
}

/*ヘッダーのフリーダイヤル*/

#supportNum {
  display: block;
  width: 240px;
  height: 100px;
  position: absolute;
  top: 30px;
  right: 0;
}

/*パンくずリスト*/

p.breadCrumb {
  font-size: 75%;
  margin-bottom: 10px;
  border: 1px solid #CCC;
  padding: 5px;
  background-image: url(../images/efefef_slash.gif);
}
p.breadCrumb a {
  color: black;
  text-decoration: underline;
}
p.breadCrumb a:hover {
  color: #CCC;
  text-decoration: none;
}


/* =6.フッター
-----------------------------------------------------------*/

div#footer {
  width: 900px;
  margin: 0 auto;
  background: url(../images/footer_bg.jpg) no-repeat bottom left;
  position: relative; /*pagetopの基準*/
}

/*フッター位置調整用*/

div#footer,
div#heightCtrl {
  height: 200px;
}

div#bg {
  margin: 0 auto -200px; /*フッター分のネガティブマージン：上のheightと同じ高さ分マイナス*/
}
p#pagetop {
  top: 120px; /*フッター位置を調整した際はここも調整する*/
}

div#heightCtrl hr {
  display: none;
}

div#heightCtrl {
  clear: both;
}

/*ページスクロールナビ*/

p#pagetop {
  width: 145px;
  height: 35px;
  background: url(../images/btn_pagetop.jpg) top left no-repeat;
  position: absolute;
  left: 710px;
}
p#pagetop a {
  width: 145px;
  height: 35px;
  display: block;
  text-indent: -9999px;
}

/*コピーライト*/

p#copyrights {
  display: none;
}

/*フッター手前のバナー*/

div#footerBanner {
  margin: 30px 0;
  clear: both;
  text-align: center;
}
div#footerBanner img {
  margin: 0 5px 5px 0;
}

/*フッターナビ*/

p#footerNavi {
  font-size: 12px !important;
  border-top: 1px solid #CCC;
  border-bottom: 1px solid #CCC;
  padding: 5px;
  margin-bottom: 10px;
}
p#footerNavi a {
  color: #666;
  text-decoration: underline;
}
p#footerNavi a:hover {
  color: #CCC;
  text-decoration: none;
}

/*アドレス*/

.address__container {
  display: flex;
  flex-direction: row;
  flex-wrap: wrap;
  justify-content: center;
  gap: 0 20px;
}

address {
  width: calc( 100% - 500px);
  font-size: 12px !important;
  line-height: 20px !important;
  font-style: normal;
  text-align: left;
  padding-top: 7px;
}
address a {
  color: black;
  text-decoration: underline;
}
address a:hover {
  color: #CCC;
  text-decoration: none;
}

.address__container .p-mark__img {
  width: 60px;
  height: 60px;
}

.address__container .p-mark__img img {
  max-width: 100%;
  height: auto;
}

/*キーワード*/

p.keywords {
  font-size: 12px !important;
  border-top: 1px solid #CCC;
  padding: 5px;
}
p.keywords a {
  color: #666;
  text-decoration: underline;
}
p.keywords a:hover {
  color: #CCC;
  text-decoration: none;
}


/* =7.サイドメニュー(ページカテゴリ)
-----------------------------------------------------------*/

div#sideMenu {
  margin-bottom: 40px;
}

div#sideMenu ul {
  background: url(../images/sidemenu_header.jpg) no-repeat top left;
  padding: 15px 0 0 0;
}
div#sideMenu ul li {
  background: url(../images/sidemenu_repeat.gif) repeat-y top left;
  font-size: 80%;
  line-height: 180%;
}
div#sideMenu ul li a {
  width: 160px;
  margin: 0 10px;
  border-bottom: 1px dashed #CCC;
  display: block;
  color: black;
  background: url(../images/arrow_submenu01.gif) no-repeat center left;
  padding: 0 0 0 20px;
}
div#sideMenu ul li a:hover {
  color: #CC0000;
  background: url(../images/arrow_submenu01hover.gif) no-repeat center left;
}
div.sideMenuFooter {
  background: url(../images/sidemenu_footer.jpg) no-repeat top left;
  height: 25px;
}
div.sideMenuFooter hr {
  display: none;
}


/* =8.サイドバー(右側)
-----------------------------------------------------------*/

div#searchBox dl dt {
  margin-bottom: 10px;
}
div#searchBox dl dd {
  margin-bottom: 10px;
}

.webSearchbox {
  width: 150px;
  border: 1px solid #CCC;
  background-color: #EFEFEF;
  margin-right: 5px;
  padding: 3px;
}

.searchBtn {
  width: 35px;
  font-size: 12px;
}

/*右上ランダムバナー*/

div#rdBanner {
  margin-bottom: 10px;
  font-size: 70%;
  color: #666666;
}
div#rdBanner a {
  color: #333;
}

div#rdBanner img {
  margin-bottom: 5px;
  display: block;
}

/*下段バナー表示領域*/

#btmBanner {
  text-align: center;
}
#btmBanner img {
  margin-bottom: 10px;
}

/*右下47NEWS*/

div#news47 {
  text-align: center;
  margin-bottom: 10px;
}

/*天気のウィジェット*/

div#weather {
  text-align: center;
  margin-bottom: 10px;
}

/*-----------------------------------------------------------

インデックスページ

-----------------------------------------------------------*/

ul.indexList {
  margin: 10px 0 20px 0;
}
ul.indexList li {
  font-size: 80%;
  line-height: 170%;
  border-bottom: 1px dashed #CCC;
  padding: 5px 0;
}
.importantEntry {
  font-weight: bold !important;
}

span.date {
  font-size: 90%;
  color: #CC0000;
  background: url(../images/arrow_small01.gif) no-repeat center left;
  padding-left: 15px;
}
a.newSite {
  font-size: 100%;
  color: #336600 !important;
  background: url(../images/arrow_small01.gif) no-repeat center left;
  padding-left: 15px;
  display: block;
}
ul.indexList li h4 span.date {
  font-size: 100%;
}
ul.indexList li h4 {
  font-size: 100%;
  font-weight: normal;
}
ul.indexList li a {
  color: black;
}
ul.indexList li a:hover {
  color: #CCC;
}

/*中央下段*/

div.btmLeft {
  width: 225px;
  float: left;
}
div.btmRight {
  width: 225px;
  float: right;
}

/*ブログタイトル*/

.siteTitle  {
  color: #336600 !important;
}



/*メニューのアコーディオン表示*/


div#accordion {
  margin: 0 0;
}

.accordion_content {
  margin: 10px 0 5px 0;
  background-color: white;
  overflow: hidden;
}

.accordion_toggle {
  cursor: pointer;
  width: 200px;
}

* html body .accordion_toggle {
}

/*スペシャルバナー*/

div#specialBanner {
  margin-bottom: 10px;
}

div#specialBanner p {
  font-size: 75%;
  line-height: 180%;
  margin: 1em 0;
}

/*中央右下のバナーとか*/

.pr {
  font-size: 75%;
  line-height: 180%;
}
.pr a {
  color: #336699;
  text-decoration: underline;
}
.pr a:hover {
  text-decoration: none;
}

/* 特大バナー */

div#importantBanner {
  margin-bottom: 10px;
}

/*-----------------------------------------------------------

アーカイブ(ブログ)ページ

-----------------------------------------------------------*/

div#blogContents {
  width: 680px;
  float: left;
}

div#blogArchive {
  width: 200px;
  float: right;
}

/* エントリー */

div.entry {
}

div.entry h3 {
  color: #CC0000;
  line-height: 200%;
  border-bottom: 1px dashed #CCC;
}

div.entry p {
  font-size: 85%;
  line-height: 180%;
  margin: 1em 0;
}
div.entry p a {
  color: #CC0000;
  text-decoration: underline;
}

div.btn {
  margin: 30px 0;
  text-align: center;
}


/* ブログアーカイブのリスト */

div#blogArchive {
}

div#blogArchive h3 {
  font-size: 90%;
  margin-bottom: 10px;
  padding: 5px 5px 5px 30px;
  background: url(../images/copy.gif) no-repeat 8px 50%;
  background-color: #CC0000;
  color: white;
  border-top: 1px solid #820000;
  border-bottom: 1px solid #820000;
}

div#blogArchive ul {
  border-top: 1px solid #CCC;
  border-left: 1px solid #CCC;
  border-right: 1px solid #CCC;
}

div#blogArchive ul li {
  font-size: 75%;
  line-height: 180%;
  border-bottom: 1px solid #CCC;
  padding: 5px;
}
div#blogArchive ul li a {
  color: black;
}
div#blogArchive ul li a:hover {
  color: #CCC;
}

div#blogArchive ul.nostyle li,
div#blogArchive ul.nostyle li {
  list-style-type: none !important;
}


/*	アーカイブページ分割
-----------------------------------------------------------*/

ul.PageNavi {
  padding: 0;
}

ul.PageNavi li {
  display: inline;
  margin-right: 10px;
  list-style-type: none;
}

ul.PageNavi li a {
  text-decoration: none !important;
}

a.link_page {
  padding: 0 5px;
  background-color: #669900;
  color: white !important;
  border: 1px solid #669900;
}

a.link_page:hover {
  background-color: white;
  color: #669900 !important;
  border: 1px solid #669900;
}

span.current_page {
  padding: 0 5px;
  background-color: white;
  color: black;
  border: 1px solid white;
}

a.link_next,
a.link_before {
  color: black !important;
}

/*-----------------------------------------------------------

アーカイブインデックス	arhives.html

-----------------------------------------------------------*/

ul li.home {
list-style-type: none;
}
ul li.home a {
  color: black;
  font-size: 13px;
}

ul.tree {
margin: 20px 0 20px 1em!important;
padding: 0!important;
list-style: none!important;
}

ul.tree ul {
margin: 0 0 0 1em!important;
padding: 0!important;
}

ul.tree li {
margin: 0!important;
padding: 0 0 0 16px!important;
background-image: url(images/tree_lst.gif);
background-repeat: no-repeat!important;
list-style: none!important;
font-size: 13px;
line-height: 180%;
}

ul.tree li.tree_end {
background-image: url(images/tree_end.gif);
list-style: none;
}

ul.tree li a {
  color: black;
  text-decoration: underline;
}


/*-----------------------------------------------------------

ブログ記事のリスト

-----------------------------------------------------------*/

p.readMore a {
  padding: 5px;
  font-size: 80%;
  text-decoration: none !important;
  background-color: black;
  color: white !important;
  border: 1px solid black;
}
p.readMore a:hover {
  background-color: #EEE;
  color: black !important;
  border: 1px solid #666;
}
p.entryDate {
  color: #CC0000;
  font-weight: bold;
  background: url(../images/arrow_small01.gif) no-repeat center left;
  padding-left: 15px;
}


/*-----------------------------------------------------------

ウェブページ

-----------------------------------------------------------*/

div#pageContents {
  width: 680px;
  float: right;
  margin: 0 0 50px 0;

  min-height: calc( 100vh - 590px ) ;
}

div#pageContents p {
  font-size: 85%;
  line-height: 180%;
  margin: 1em 0;
}

div#pageContents p a {
  color: #CC0000;
  text-decoration: underline;
}

/*ウェブページの見出し*/

h3#midashibg {
  height: 60px;
  line-height: 60px;
  color: white;
  padding: 0 30px 0 10px;
  margin: 0 0 30px 0;
}

h3.h3_isp {
  background: url(../images/h3_isp.jpg) no-repeat top left;
}
h3.h3_web {
  background: url(../images/h3_web.jpg) no-repeat top left;
}
h3.h3_pcsupport {
  background: url(../images/h3_pcsupport.jpg) no-repeat top left;
}
h3.h3_it {
  background: url(../images/h3_it.jpg) no-repeat top left;
}
h3.h3_company {
  background: url(../images/h3_company.jpg) no-repeat top left;
}
h3.h3_system {
  background: url(../images/h3_system.jpg) no-repeat top left;
}

/*ウェブページとアーカイブページのエントリー*/

div#pageEntry {
}

div#pageEntry ul,
div.entry ul {
  padding-left: 25px;
}
div#pageEntry ul li,
div.entry ul li {
  list-style-type: disc;
  font-size: 80%;
  line-height: 180%;
}
div#pageEntry ul li a,
div.entry ul li a {
  color: #990000;
  text-decoration: underline;
}
div#pageEntry ul li ul,
div.entry ul li ul {
  margin: 0 0 0 0;
}
div#pageEntry ul li ul li,
div.entry ul li ul li {
  font-size: 100%;
}

div#pageEntry ol,
div.entry ol {
  padding-left: 25px;
}
div#pageEntry ol li,
div.entry ol li {
  list-style-type: decimal;
  font-size: 80%;
  line-height: 180%;
}
div#pageEntry ol li a,
div.entry ol li a {
  color: #990000;
  text-decoration: underline;
}

/*-----------------------------------------------------------

リンク集	company/link.html

-----------------------------------------------------------*/

div#blogRoll {
}

div#blogRoll dl {
  margin: 20px 0;
}
div#blogRoll dl dt {
  background: url(../images/house_link.gif) no-repeat center left;
  padding-left: 25px;
  font-size: 90%;
  color: #CC0000;
  font-weight: bold;
}
div#blogRoll dl dt a {
  color: #CC0000;
}
div#blogRoll dl dt a:hover {
  color: #CCC;
}
div#blogRoll dl dd {
  font-size: 75%;
  line-height: 180%;
  color: black;
  border-bottom: 1px dashed #CCC;
  margin-bottom: 10px;
}
div#blogRoll dl dd a {
  color: black;
}

div.linkLeft,
div.linkRight {
  width: 330px;
}
div.linkLeft {
  float: left;
}

div.linkRight {
  float: right;
}


/*-----------------------------------------------------------

検索結果のページ

-----------------------------------------------------------*/

h3#searchResultsBox {
  background-color: #FFFFCC;
  border: 1px solid #FFCC00;
  padding: 10px;
  font-size: 80%;
  line-height: 180%;
  font-weight: normal;
}



/* =common
-----------------------------------------------------------*/

/*Clear*/

div.hr {
  clear: both;
}

div.hr hr {
  display: none;
}


/*レイアウトテーブル*/

table.layout {
  border-collapse: collapse;
}
table.layout td {
  margin: 0;
  padding: 0;
}
table.layout td img {
  vertical-align: bottom;
}

/*ime-mode*/

.imeoff {
  ime-mode: disabled;
}

/*margin*/

.mb5 {margin-bottom: 5px;}
.mt5 {margin-top: 5px;}
.mlr5 {margin: 0 5px;}
.ml5 {margin-left: 5px;}
.mr5 {margin-right: 5px;}

.mb10 {margin-bottom: 10px;}

.mt10 {margin-top: 10px;}
.mlr10 {margin: 0 10px;}
.ml10 {margin-left: 10px;}
.mr10 {margin-right: 10px;}

.m20 {margin: 20px;}
.mb20 {margin-bottom: 20px;}
.mt20 {margin-top: 20px;}
.mlr20 {margin: 0 20px;}
.ml20 {margin-left: 20px;}
.mr20 {margin-right: 20px;}
.mtb20 {margin: 20px 0;}

.mt30 {margin-top:30px;}
.mb30 {margin-bottom:30px;}

.mt40 {margin-top:40px;}
.mb40 {margin-bottom:40px;}

.mt50 {margin-top:50px;}
.mb50 {margin-bottom:50px;}

/*float*/

.fl {float: left;}
.fr {float: right;}

.txt_l {text-align: left;}
.txt_r {text-align: right;}
.txt_c {text-align: center;}

.img_fl {float: left; margin: 0 10px 10px 0;}
.img_fr {float: right; margin: 0 0 10px 10px;}

/*背景色*/

.bg_white {background-color:white;}
.bg_black {background-color:black;}
.bg_yellow {background-color:#FFFFCC;}

/*文字色*/

.red01 {
  color: #CC0000;
}

/*ime-mode*/

.imeoff {
  ime-mode: disabled;
}

/*clear*/

html>body .clear {
  clear: both;
  display: block;
}
* html body .clear {
  clear: both;
}

/*clearfix*/

div:after {   
    content: ".";   
    display: block;   
    visibility: hidden;   
    height: 0.1px;   
    font-size: 0.1em;   
    line-height: 0;   
    clear: both;   
} 

/*IE用背景透過FIX*/
* html .iepngfix { behavior: expression(IEPNGFIX.fix(this)); }

/*印刷時共通非表示*/

@media print {
body {
  background: none !important;
}
ul#headerNavi,#supportNum {
  display: none;
}
div#header {
  background: url(../images/header_repeat.jpg) repeat-x top left;
}
}
