@charset "utf-8";

/* 目次
------------------------------------------
・全体構造
・フォーム
・マージン・パディング
・レイアウト
・テキスト・フォント
・リスト
・リンク
--------------------------
・ヘッダ
・ナビゲーション
・パンくずリスト
・中央部
・メイン
・サイド
・フッタ
--------------------------
・共通パーツ（組合せ）
・コンテンツ
・トップページ
--------------------------
・popup用
--------------------------
・印刷用
------------------------------------------ */

/* 全体構造
------------------------------------------ */
body { height: 100%; background: #fff; color: #333; line-height: 1.5; font-family: "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Osaka,"ＭＳ Ｐゴシック",sans-serif; }
html { height: 100%; margin-bottom: 1px; }

h1, h2, h3, h4, h5, h6,
form, fieldset, input, textarea,
pre, blockquote, th, td { margin: 0; padding: 0; font-size: 100%; }

body, div, p,
dl, dt, dd, ul, ol, li { margin: 0; padding: 0; }

img { border: 0; } 

caption { text-align: left; }
table { border-collapse: collapse; border: none; border-spacing: 0; }

fieldset { border: 0; }
input { line-height: 100%; }

a[name] { color: #333; }
a[name]:hover { color: #333; text-decoration: none !important; outline: 0 !important; }
a img { color: #000; }

ul li { list-style-type: none; }
li li { font-size: inherit; }

em { font-weight: bold; font-style: normal; }
label { cursor: pointer; }

.navskip { height: 0; width: 0; overflow: hidden; font-size: 0; }
.hide { height: 0; width: 0; overflow: hidden; font-size: 0; }
hr { display: none; visibility: hidden; height: 0; border: 0; }


/* フォーム
------------------------------------------ */
/* 全角モード */
.imeA {ime-mode: active;}

/* IME=使用不可。ユーザー側で変更不可能 */
.imeD {ime-mode: disabled;}

input.iptTxt { padding: 1px 1px 0 1px; height: 16px; border: 1px solid #ddd; line-height: 1.2; vertical-align: middle; }


/* マージン・パディング
------------------------------------------ */
.mgt3  { margin-top: 3px!important; }
.mgt4  { margin-top: 4px!important; }
.mgt5  { margin-top: 5px!important; }
.mgt8  { margin-top: 8px!important; }
.mgt10 { margin-top: 10px!important; }
.mgt15 { margin-top: 15px!important; }
.mgt20 { margin-top: 20px!important; }
.mgt25 { margin-top: 25px!important; }
.mgt30 { margin-top: 30px!important; }
.mgt35 { margin-top: 35px!important; }

.mgb5  { margin-bottom: 5px!important; }

.mgl4  { margin-left: 4px!important; }
.mgl5  { margin-left: 5px!important; }
.mgl10 { margin-left: 10px!important; }
.mgl20 { margin-left: 20px!important; }
.mgl1em { margin-left: 1em!important; }
.mgl2em { margin-left: 2em!important; }

.mgr10 { margin-right: 10px!important; }
.mgr20 { margin-right: 20px!important; }

.mgSide1 { margin-left: 1px!important; margin-right: 1px!important; }
.mgSide2 { margin-left: 2px!important; margin-right: 2px!important; }
.mgSide10 { margin-left: 10px!important; margin-right: 10px!important; }
.mgSide15 { margin-left: 15px!important; margin-right: 15px!important; }

.pdgt2  { padding-top: 2px!important; }
.pdgt3  { padding-top: 3px!important; }
.pdgt4  { padding-top: 4px!important; }
.pdgt5  { padding-top: 5px!important; }
.pdgt8  { padding-top: 8px!important; }
.pdgt10 { padding-top: 10px!important; }
.pdgt15 { padding-top: 15px!important; }

.pdgl3  { padding-left: 3px!important; }
.pdgl4  { padding-left: 4px!important; }
.pdgl5  { padding-left: 5px!important; }
.pdgl8  { padding-left: 8px!important; }
.pdgl10 { padding-left: 10px!important; }

.pdgr3  { padding-right: 3px!important; }
.pdgr4  { padding-right: 4px!important; }
.pdgr5  { padding-right: 5px!important; }
.pdgr8  { padding-right: 8px!important; }
.pdgr10 { padding-right: 10px!important; }

.pdgb5 { padding-bottom: 5px!important; }
.pdgb10 { padding-bottom: 10px!important; }

.pdgSide5 { padding-left: 5px!important; padding-right: 5px!important; }
.pdgSide10 { padding-left: 10px!important; padding-right: 10px!important; }

/* レイアウト
------------------------------------------ */
.floatL { float: left; }
.floatR { float: right; }

.clearfix:after { content: "."; display: block; height: 0; clear: both; visibility: hidden; }
.clearfix { display: inline-block; }
/*\*/
* html .clearfix { height: 1%; }
.clearfix { display: block; }
/**/

.clearboth { clear: both;}
br.clear { clear: both; margin: 0; padding: 0; font-size: 0; line-height: 0; }

.alL { text-align: left !important; }
.alC { text-align: center !important; }
.alR { text-align: right !important; }
.alC .iBlk { margin-left: auto; margin-right: auto; }
.alR .iBlk { margin-left: auto; }
.vaT { vertical-align: top !important; }
.vaM { vertical-align: middle !important; }
.vaB { vertical-align: bottom !important; }
.imgC { text-align: center; }
.imgC img { display: block; margin: 0 auto; }
.imgR { text-align: right; }
.imgR img { display: block; margin-left: auto; }
.imgC a,
.imgR a { display: -moz-inline-box; }
.iBlk { display: -moz-inline-box; display: inline-block; }

/* FF2 and older hack */
html>/**/body .iBlk, x:-moz-any-link { background-position: 0 50%; }


/* テキスト・フォント
------------------------------------------ */
.nowrap { white-space: nowrap; }
.bold   { font-weight: bold!important; }
.normal { font-weight: normal!important; }

.indent01 { margin-left: 1em; text-indent: -1em; }
div.indent01 { margin-left: 0; text-indent: 0; }
div.indent01 p { margin-left: 1em; text-indent: -1em; }
.indent02 { margin-left: 2em; text-indent: -2em; }
div.indent02 { margin-left: 0; text-indent: 0; }
div.indent02 p { margin-left: 2em; text-indent: -2em; }

.fBlk01 { color: #000; }
.fRed01 { color: #f00; }
.fRed02 { color: #f30; }
.fAsh01 { color: #666; }
.fGrn01 { color: #066C25; }
.fOrg01 { color: #fc900f; }
.fOrg02 { color: #fd5913; }
.fOrg03 { color: #ff4600; }
.fWhite { color: #fff; }

/* リスト・アイコン
------------------------------------------ */
.iDot01,
.liDot01 li { padding-left: 12px; background: url(/nyukai/common/ico/ico_dot_01.gif) no-repeat 5px 0.55em; }
.iArrGrn01,
.liArrGrn01 li { padding-left: 8px; background: url(/mem/company/common/imgs/ico/ico_arrow_01.gif) no-repeat 0 0.5em; }
.iArrGrn02,
.liArrGrn02 li { padding-left: 14px; background: url(/mem/company/common/imgs/ico/ico_arrow_02.gif) no-repeat 0 0.25em;}

.iClose { padding-left: 18px; background: url(/mem/company/common/imgs/ico/ico_close.gif) no-repeat 0 0.1em; }

.iPop01 { text-indent: -14px; margin-left: 14px; }
.iPop01 .iBlk { vertical-align: middle; }

.inlineList01 li { display: inline; }

a span { cursor: pointer; }

/* リンク
------------------------------------------ */
a:link    { color: #003399; text-decoration: underline; background: transparent; }
a:visited { color: #810081; text-decoration: underline; background: transparent; }
a:hover,
a:active  { color: #139773; text-decoration: none; background: transparent; }

a.white:link,
a.white:visited { color: #fff; text-decoration: underline; background: transparent; }
a.white:hover,
a.white:active  { color: #000099; text-decoration: underline; background: transparent; }

/* ベース
------------------------------------------ */
#wrapper { width: 800px; margin: 0 auto; }

/* ヘッダ
------------------------------------------ */
#header { width: 800px; }
#header .inner { padding: 15px 10px 0; position: relative;}
#header .headL01 { float: left; width: 260px; }
#header .headR01 { float: right; width: 520px; position: relative; }
#header .seoTxt { color: #777; font-size:10px; font-weight: bold; }
#header .logoMod #logo01,
#header .logoMod #logo02 { float: left; }
#header .logoMod #logo01 { display: inline; }
#header .logoMod #logo02 { padding: 3px; }
#header .logoMod #logo01 img,
#header .logoMod #logo02 img { display: block;}


#header .hNavi01 { float: right; margin-right: 10px;}
#header .hNavi01 li { float: left; display: inline; margin: 5px 0 0 15px; }
#header .hNavi01 li img { display: block; }

#header .AnniversaryLogo {
    position: absolute;
    top: 10px;
}

#header .hNavi02 { padding-bottom: 5px; }
#header .hNavi02 li { }
#header .hNavi02 li img { display: block; }

#header .headLink{ float:left; width: 320px; position: absolute; left: 170px; }
#header .fontChanger{ float:right; width: 164px; margin: 10px 0 0 0; }

#header a:link,
#footer a:visited { text-decoration: none; }


/* ナビゲーション
------------------------------------------ */
#globalNavi { width: 800px; margin-top: 10px; background: url(/mem/company/common/imgs/bg_gnavi_01.gif) repeat-x left bottom; padding-bottom: 5px; }
#globalNavi li { float: left; }
#globalNavi li a { display: block; height: 40px; background: url(/mem/company/common/imgs/nav.gif) no-repeat; overflow: hidden; text-indent: -9999px; }
#globalNavi .nav01 { width: 115px; }
#globalNavi .nav02 { width: 90px; }
#globalNavi .nav03 { width: 90px; }
#globalNavi .nav04 { width: 99px; }
#globalNavi .nav05 { width: 128px; }
#globalNavi .nav06 { width: 153px; }
#globalNavi .nav07 { width: 125px; }
#globalNavi .nav01 a { background-position: 0 0; }
#globalNavi .nav02 a { background-position: -115px 0; }
#globalNavi .nav03 a { background-position: -205px 0; }
#globalNavi .nav04 a { background-position: -295px 0; }
#globalNavi .nav05 a { background-position: -394px 0; }
#globalNavi .nav06 a { background-position: -522px 0; }
#globalNavi .nav07 a { background-position: -675px 0; }
#globalNavi .nav01 a:hover { background-position: 0 -40px; }
#globalNavi .nav02 a:hover { background-position: -115px -40px; }
#globalNavi .nav03 a:hover { background-position: -205px -40px; }
#globalNavi .nav04 a:hover { background-position: -295px -40px; }
#globalNavi .nav05 a:hover { background-position: -394px -40px; }
#globalNavi .nav06 a:hover { background-position: -522px -40px; }
#globalNavi .nav07 a:hover { background-position: -675px -40px; }
body.top #globalNavi .nav01 a { background-position: 0 -80px!important; }
body.info #globalNavi .nav02 a { background-position: -115px -80px!important; }
body.project #globalNavi .nav03 a { background-position: -205px -80px!important; }
body.csr #globalNavi .nav04 a { background-position: -295px -80px!important; }
body.improvement #globalNavi .nav05 a { background-position: -394px -80px!important; }
body.cs	#globalNavi .nav06 a { background-position: -522px -80px!important; }
body.news #globalNavi .nav07 a { background-position: -675px -80px!important; }
body.top #globalNavi { background: none; padding-bottom: 0; }


/* パンくずリスト
------------------------------------------ */
#breadcrumbs { padding: 10px 15px 15px ; text-align: left; }
#breadcrumbs table{ width: 780px; }


/* 中央部
------------------------------------------ */
#middleArea { width: 800px; }


/* メイン
------------------------------------------ */
#main { width: 570px; margin-left: 10px; }
#oneClm { width: 680px; margin-left: 60px; }


/* サイド
------------------------------------------ */
#side { width: 200px; margin-left: 10px; }
.sideBox01 { padding: 3px; background: #EAEAEA; }
.sideBox01 ul { border: 1px solid #c9c9c9; }
.sideBox01 ul li{ font-size: 0; }

/* フッタ
------------------------------------------ */
#footer { width: 800px; padding-bottom: 40px;}
#footer .linkArea { margin-top: 13px; padding-top: 20px; border-top: 1px solid #e4e4e4; }
#footer .linkArea ul { float: left; display: inline; margin-left: 10px; }
#footer .linkArea li { display: inline; }
#footer .linkArea li .iBlk { padding: 0 10px; border-left: 1px solid #ddd; }
#footer .linkArea li.first .iBlk { padding: 0 10px 0 0; border: none; }

#footer .linkArea a:link,
#footer .linkArea a:visited { color: #666; text-decoration: none; background: transparent; }
#footer .linkArea a:hover,
#footer .linkArea a:active  { color: #139773; text-decoration: none; background: transparent; }
#footer .copyright { margin-top: 14px; padding: 20px 10px 0; border-top: 3px solid #40BF9C; }

.pagetop { text-align: right; padding-top: 40px; width: 800px; }
.pagetop span { padding-left: 12px; margin: 0 10px 0 auto; background: url(/mem/company/common/imgs/ico_pagetop.gif) no-repeat 0 0.3em; }



/* 共通パーツ（組合せ）
------------------------------------------ */
/* common */
.aboutLink .txt { float: left; }
.aboutLink .link { float: right; }

/* width */
.w620 { width: 620px; }
.w570 { width: 570px; }
.w440 { width: 440px; }
.w400 { width: 400px; }
.w390 { width: 390px; }
.w380 { width: 380px; }
.w370 { width: 370px; }
.w350 { width: 350px; }
.w320 { width: 320px; }
.w295 { width: 295px; }
.w290 { width: 290px; }
.w280 { width: 280px; }
.w260 { width: 260px; }
.w240 { width: 240px; }
.w230 { width: 230px; }
.w220 { width: 220px; }
.w210 { width: 210px; }
.w195 { width: 195px; }
.w190 { width: 190px; }
.w188 { width: 188px; }
.w180 { width: 180px; }
.w177 { width: 177px; }
.w170 { width: 170px; }
.w169 { width: 169px; }
.w164 { width: 164px; }
.w160 { width: 160px; }
.w150 { width: 150px; }
.w145 { width: 145px; }
.w140 { width: 140px; }
.w130 { width: 130px; }
.w120 { width: 120px; }
.w110 { width: 110px; }
.w100 { width: 100px; }
.w90 { width: 90px; }
.w70 { width: 70px; }
.w60 { width: 60px; }
.w50 { width: 50px; }
.wAuto { width: auto; }

/* background */

/* border */
.brdTop01 { padding-top: 5px; border-top: 1px solid #ddd; }
.brdTop02 { padding-top: 10px; border-top: 1px solid #ddd; }
.brdDotTop01 { padding: 10px 10px 0; background: url(/mem/company/common/imgs/bg_line_dot_01.gif) repeat-x; }
.brdDotTop02 { padding-top: 10px; background: url(/mem/company/common/imgs/bg_line_dot_02.gif) repeat-x; }
.brdDotTop01 .txt01 { float: left; width: 310px; }
.brdDotTop01 .img01 { float: right; text-align: right; }

/* box */
.brdBox01 { padding: 10px; border: 1px solid #ddd; }
.dotBox01 { padding: 0 1px; background: url(/mem/company/common/imgs/bg_box01_mdl.gif) repeat-y left top;}
.dotBox01 .bgT { padding-top: 1px; background: url(/mem/company/common/imgs/bg_box01_top.gif) no-repeat left top; }
.dotBox01 .bgB { padding: 15px; background: url(/mem/company/common/imgs/bg_box01_btm.jpg) no-repeat left bottom; }
.dotBox02 { padding: 0 1px; background: url(/mem/company/common/imgs/bg_box02_mdl.gif) repeat-y left top;}
.dotBox02 .bgT { padding-top: 1px; background: url(/mem/company/common/imgs/bg_box02_top.gif) no-repeat left top; }
.dotBox02 .bgB { padding: 15px; background: url(/mem/company/common/imgs/bg_box02_btm.jpg) no-repeat left bottom; }
.dotBox03 { padding: 0 1px; background: url(/mem/company/common/imgs/bg_box03_mdl.gif) repeat-y left top;}
.dotBox03 .bgT { padding-top: 1px; background: url(/mem/company/common/imgs/bg_box03_top.gif) no-repeat left top; }
.dotBox03 .bgB { padding: 15px; background: url(/mem/company/common/imgs/bg_box03_btm.jpg) no-repeat left bottom; }

.dotBox01 .txt { float: left; width: 420px; }
.dotBox01 .img { float: right; text-align: right; }
.dotBox03 .txt { float: left; width: 345px; }
.dotBox03 .img { float: right; text-align: right; }

/* module */
.module01 { margin: 10px 10px 0 10px; }
.module02 { margin: 10px 5px 0 5px; }

/* title */
.ttlMod01 { padding-bottom: 3px; background: url(/mem/company/common/imgs/bg_title_btm_01.gif) repeat-y; }
.ttlMod01 .bgT { padding: 6px 10px 0 10px; background: url(/mem/company/common/imgs/bg_title_top_01.gif) no-repeat; }
.ttlMod02 { padding-bottom: 3px; background: url(/mem/company/common/imgs/bg_title_btm_02.gif) repeat-y; }
.ttlMod02 .bgT { padding: 6px 10px 0 10px; background: url(/mem/company/common/imgs/bg_title_top_02.gif) no-repeat; }

/* table */
.basicTbl01 { width: 100%; }
.basicTbl01 table { width: 100%; border-left: 1px solid #ddd; border-top: 1px solid #ddd;  }
.basicTbl01 table thead th { text-align: center; background: #E8E8E8 url(/mem/company/common/imgs/bg_th_01.gif) repeat-x left top; }
.basicTbl01 table tbody th { text-align: left;  background: #e8e8e8 url(/mem/company/common/imgs/bg_th_01.gif) repeat-x left top; }
.basicTbl01 table thead th,
.basicTbl01 table tbody th { border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; font-weight: normal; }
.basicTbl01 table tbody td { border-right: 1px solid #ddd; border-bottom: 1px solid #ddd; background: #fff; }
.basicTbl01 table tbody td .tdM { padding: 5px 10px; }
.basicTbl01 table thead th .thM,
.basicTbl01 table tbody th .thM { padding: 5px 10px; }

.basicTbl01 .bg01 { background: #f2f2f2 url(/mem/company/common/imgs/bg_th_01.gif) repeat-x left top; }

/* コンテンツ
------------------------------------------ */
.pbreak{
page-break-before: always;
}

/* トップページ */
#topContents { width: 780px; margin-left: 10px; padding: 20px 0; }
#topContentsNavi { width: 800px; }
#topContentsNavi #companyTop .naviClm01{ padding: 400px 12px 0 13px; position: relative; background: url(/mem/company/imgs/bg_top_01.jpg) no-repeat left top; }
#topContentsNavi #companyTop .naviClm01 .clm01 { float: left; width: 250px; }
#topContentsNavi #companyTop .naviClm01 .clm02 { float: left; width: 255px; display: inline; margin-left: 10px; }
#topContentsNavi #companyTop .naviClm01 .clm03 { float: right; width: 250px; }
#topContentsNavi #companyTop .naviClm01 .bgB { margin: 3px 0;  padding-bottom: 4px; background: url(/mem/company/common/imgs/bg_naviclm_btm_03.gif) no-repeat left bottom;  }
#topContentsNavi #companyTop .naviClm01 .bgM { background: url(/mem/company/common/imgs/bg_naviclm_mdl_03.gif) repeat-y; }
#topContentsNavi #companyTop .naviClm01 .clmArea { margin: 0 7px 10px; }

#topContentsNavi #companyTop .AnniversaryTitle {
    position: absolute;
    left: 0;
    top: 0;
}

#topContentsNavi #companyTop h1 {
    position: absolute;
    top:91px;
    left:156px;
}

#topContentsNavi #companyTop .btn {
    position: absolute;
    top:310px;
    left:300px;
}

#topContentsNavi #companyTop .btn a:hover{
    filter:alpha(opacity=70);
    -moz-opacity: 0.7;
    opacity: 0.7;
}


/* ニュースリリース */
.newsList01 dl { padding-bottom: 11px; background: url(/mem/company/common/imgs/bg_line_dot_03.gif) repeat-x left bottom; }
.newsList01 dl.first { padding-top: 0; background: none; }
.newsList01 dt { float: left; }
.newsList01 dd { float: right; width: 440px; }

/* フッターロゴ */
#linkArea li { float: left; display: inline; margin-left: 20px; }

/* カテゴリトップ
------------------------------------------ */
#categoryTop { width: 800px; }
#categoryTop .ttl{ margin: 0 0 30px 16px; }

.naviClm02 { margin: 10px 0 0 10px; padding: 3px 13px 0 3px; background: url(/mem/company/common/imgs/bg_naviclm_top_02.gif) no-repeat left bottom;}
.naviClm03 { margin: 10px 0 0 10px; padding: 3px 13px 0 3px; background: url(/mem/company/common/imgs/bg_naviclm_top_03.gif) no-repeat left bottom;}

/* 事業紹介 */
.naviClm01 .bgB,
.naviClm03 .bgB { margin: 2px 0;  padding-bottom: 3px; background: url(/mem/company/common/imgs/bg_naviclm_btm_01.gif) no-repeat left bottom;  }
.naviClm01 .bgM,
.naviClm03 .bgM { background: url(/mem/company/common/imgs/bg_naviclm_mdl_01.gif) repeat-y; }
.naviClm02 .bgB { margin: 2px 0;  padding-bottom: 3px; background: url(/mem/company/common/imgs/bg_naviclm_btm_02.gif) no-repeat left bottom;  }
.naviClm02 .bgM { background: url(/mem/company/common/imgs/bg_naviclm_mdl_02.gif) repeat-y; }
.naviClm01 .clm01,
.naviClm02 .clm01,
.naviClm03 .clm01 { float: left; width: 250px; }
.naviClm01 .clm02,
.naviClm02 .clm02,
.naviClm03 .clm02 { float: left; width: 250px; display: inline; margin-left: 12px; }
.naviClm01 .clm03,
.naviClm03 .clm03 { float: right; width: 250px; }
.naviClm01 .clmArea,
.naviClm02 .clmArea,
.naviClm03 .clmArea { margin: 0 10px 10px; }

#projectTop .naviClm01{ margin-left:10px; padding: 23px 13px 0 3px; background: url(/mem/company/project/imgs/bg_project_top_01.jpg) no-repeat left top; }
#infoTop .naviClm01{ padding: 21px 13px 0 13px; background: url(/mem/company/info/imgs/bg_info_top_01.jpg) no-repeat left top; }
#csrTop .naviClm01{ padding: 22px 13px 0 13px; background: url(/mem/company/csr/imgs/bg_csr_top_01.jpg) no-repeat left top; }


/* popup用
------------------------------------------ */
#popWrap { position: relative; width: 660px; min-height: 100%; height: auto;  text-align: center; }

#popHeader { width: 660px; text-align: left; }
#popHeader .inner { padding: 15px 20px 20px 20px; }
#popHeader #headL01 { float: left; width: 400px; }
#popHeader #headR01 { float: right; width: 70px; padding-top: 10px; }
#popHeader .seoTxt { color: #777; }

#popMain { width: 640px; margin: 0 auto 0 auto; padding: 0 0 40px 0; text-align: left; }

#popFooter { width: 100%; height: 60px; border-top: 3px solid #40BF9C; }
#popFooter p { padding: 20px 10px 0 10px; text-align: left;}



/* 印刷用
------------------------------------------ */
@media print {

/* 印刷しない */
#header,
#globalNavi,
#breadcrumbs,
#footer,
#popFooter,
#popHeader,
#side, .pagetop,
#popFooter, #popHeader, .iClose { display: none; }

/* 全体の印刷設定 */
body { text-align: left; }
.fs01 { font-size: 12px!important; }
