@charset "shift-jis";
/* ====================================
File name : style.css
Last Up Date : 2012.6.26
===================================== */

/* reset
-------------------------------------------------------------- */
*{margin:0;padding:0;}
html{margin-bottom:1px;height:100%;}
a:focus{overflow:hidden;}
b,strong{font-weight:700;}
img{color:transparent;font-size:0;vertical-align:middle;-ms-interpolation-mode:bicubic;}
table{border-collapse:collapse;border-spacing:0;border: none;}
table th{text-align: left; vertical-align: top;}
ul li{list-style:none;margin: 0;padding: 0;}
.clearfix:after{content:".";display:block;height:0;clear:both;visibility:hidden;}
* html .clearfix{height:1%;}
dl,dd,dt{margin:0;padding:0;}
a {outline: none;}

/* body
-------------------------------------------------------------- */
body {
 background: url(../img/body.gif) no-repeat center top #fff; color: #333; font-size: 85%; height: auto; font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "メイリオ", Meiryo, Osaka, "ＭＳ Ｐゴシック",  "MS PGothic", sans-serif;
}

/* container
-------------------------------------------------------------- */
.container_12 {
 width: 880px; margin: auto; padding: 10px 0;
}

/* grid
-------------------------------------------------------------- */
.grid_left {
 float: left; width: 600px;
}
.grid_right {
 float: right
}
.container_12 .grid_3 {
 width: 230px
}
.container_12 .grid_4 {
 width: 295px
}
.container_12 .grid_9 {
 width: 598px; float: right; padding-right: 10px;
}
.container_12 .grid_12 {
 width: 860px
}
.grid_3,
.grid_1,
.grid_2,
.grid_4,
.grid_5,
.grid_6,
.grid_12 {
 float: left
}
.container_12 .grid_6 {
 width: 491px; margin: 0 15px 0 10px;
}
.grid_9 img,
img.eq {
 display: block
}


/* global
-------------------------------------------------------------- */
h1,
h2,
h3 {
 display: block; font-size: 1.2em;
}
h3 {
 display: block; font-size: 1.1em;
}
h4,
h5,
h6 {
 display: block; font-size: 1.1em; margin-bottom: 1em; padding-left: 20px;
}
#article,
#footer {
 background: url(../img/body_box_in.gif) repeat-y; overflow: hidden; margin: 0 auto; padding: 0 20px;
}
    #article h2,
    #article h3 {
 clear: both
    }
    #article h2 {
 line-height: 39px; height: 39px; background: url(../img/bg_h2.gif) no-repeat left bottom; margin-bottom: 2em; padding-left: 39px; text-shadow: 1px 1px 2px #fff;
    }
#article.noside h2 {
 line-height: 39px; height: 39px; background: url(../img/bg_h2_noside.gif) no-repeat left bottom; margin-bottom: 2em; padding-left: 39px; text-shadow: 1px 1px 2px #fff;
}
#article h3 {
 background: url(../img/bg_h3.gif) no-repeat left bottom; margin-bottom: 1.5em; padding: 5px 0 3px 10px;
}
#news h3 {
 background: url(../img/bg_h3_news.gif) no-repeat left bottom
}
#article h2.h2_index {
 background: url(../img/bg_h2_index.gif) no-repeat; margin: 3px 0; padding-left: 43px;
}
h3 a {
 color: #333!important;
}
h3 a:hover {
 text-decoration: none!important;
}
hr.clear {
 visibility: hidden; border: 0; padding-bottom: 1em;
}
hr.min {
 visibility: hidden; border: 0; padding-bottom: 5px;
}
hr.max {
 visibility: hidden; border: 0; padding-bottom: 2em;
}
p {
 word-break: break-all; letter-spacing: .1em; line-height: 1.8em; margin: 0 1em 2em 0;
}
li a {
 white-space: nowrap
}
.right {
 float: right
}
.clear {
 clear: both; height: 2em;
}
img,
a img {
 border-style: none
}
.inline {
 display: inline; padding: 2px 15px;
}
    .inline a {
 padding: 2px 15px
    }
.red {
 color: red
}
p.blue {
 color: #0386E8
}
.bg {
 background: #f0f0f0; overflow: hidden; padding: 1em; margin-bottom: 2em; zoom: 1;
}
.box {
 border: 1px solid #ccc; padding: 1em; margin-bottom: 2em;
}
a {
 color: #008BF3; text-decoration: none;
}
a:hover {
 text-decoration: underline
}
.last {
 border: 0!important
}


/* header
-------------------------------------------------------------- */
#header {
 position: relative; width: 860px; height: 107px; background: url(../img/bg_head.gif) no-repeat #fff; margin: 0 auto; padding: 0 20px;
}
    #sitemap ul,
    #sitemap ul li,
    #header ul,
    #header ul li {
 margin: 0; padding: 0;
    }
#logo {
 width: 319px; height: 67px; overflow: hidden; position: absolute; top: 15px; left: 40px;
}
    #logo a {
 background: url(../img/logo.gif) no-repeat 0 0; width: 319px; height: 0; padding-top: 67px; overflow: hidden; display: block;
    }
p.content_image {
 margin: 15px auto; width: 830px; height: 117px; display: block; text-indent: -9999px;
}
div.noside p.content_image {
 margin: 15px auto; width: 830px; height: 90px; display: block; text-indent: -9999px;
}


/* contact_button
   sitemap_button
-------------------------------------------------------------- */
#btn_m a,
#btn_c a,
#print a,
#en a {
 text-indent: -9999px; display: block;
}
#btn_m,
#btn_c,
#print,
#en {
 overflow: hidden;
}
#btn_m {
 width: 90px; height: 17px; top: 30px; right: 30px; position: absolute; background: url(../img/btn_sitemap.gif) no-repeat 0 0;
}
#btn_c {
 width: 90px; height: 17px; top: 30px; right: 135px; position: absolute; background: url(../img/btn_contact.gif) no-repeat 0 0;
}
    #btn_m a,
    #btn_c a {
 height: 0; width: 75px; padding-top: 17px;
    }
    #btn_c a:hover {
 background: url(../img/btn_contact.gif) no-repeat 0 -17px
    }
#btn_m a:hover {
 background: url(../img/btn_sitemap.gif) no-repeat 0 -17px
}


/* print and english
-------------------------------------------------------------- */
#print {
 width: 101px; height: 21px; position: absolute; right: 30px; top: 55px; background: url(../img/btn_print.gif) no-repeat 0 0;
}
#en {
 right: 140px; top: 55px; position: absolute; width: 54px; height: 21px; background: url(../img/btn_en.gif) no-repeat 0 0;
}
#print a:hover {
 background: url(../img/btn_print.gif) no-repeat 0 -22px
}
#en a:hover {
 background: url(../img/btn_en.gif) no-repeat 0 -22px
}

/* nav
-------------------------------------------------------------- */
ul#head_nav {
 width: 900px; height: 51px; margin-bottom: 15px; padding: 0;
}
#head_nav li {
 width: 150px; display: block; overflow: hidden; height: 51px; float: left; margin: 0; padding: 0;
}
    #head_nav li a {
 width: 150px; height: 0; display: block; overflow: hidden; padding-top: 51px!important;
    }
#head_nav li.home a {
 width: 150px; background: url(../img/nav/home.gif) no-repeat 0 0;
}
#head_nav li.company a {
 width: 150px; background: url(../img/nav/company.gif) no-repeat 0 0;
}
#head_nav li.works a {
 width: 150px; background: url(../img/nav/works.gif) no-repeat 0 0;
}
#head_nav li.eq a {
 width: 150px; background: url(../img/nav/eq.gif) no-repeat 0 0;
}
#head_nav li.contact a {
 width: 150px; background: url(../img/nav/contact.gif) no-repeat 0 0;
}
#head_nav li.links a {
 width: 149px; background: url(../img/nav/links.gif) no-repeat 0 0;
}
#head_nav li a:hover {
 background-position: 0 -51px;
}

/* page content
-------------------------------------------------------------- */
/* box background */
.box_top {
 background: url(../img/body_box_top.gif) no-repeat 0 0 ; width: 900px; height: 14px; overflow: hidden; margin: auto;
}
.box_bottom {
 background: url(../img/body_box_bottom.gif) no-repeat 0 0 ; width: 900px; height: 39px; overflow: hidden; margin: auto;
}
.box_news {
 background: url(../img/bg_index_boxtop.gif) no-repeat 0 0; height: 18px; margin-bottom: -23px; _margin-bottom: -27px;
}
#news_index {
 background: url(../img/bg_index_box.gif) no-repeat left bottom; overflow: hidden; position: relative; padding-bottom: 55px; zoom: 1; margin-top: -2px;
}

/* トップページ */
#top_image {
 margin-bottom: 2em
}
#topics ul li {
 padding: 0
}
    #topics ul li a {
 display: block; margin: 0 0 10px 0; _margin: -1em 0 0 0;
    }
#eq_img img {
 border: 1px solid #ccc; width: 265px; height: auto; margin: 0 10px 20px 25px; padding: 2px; display: block;
}

/* 決算情報 */
#company3 ul li {
 display: block; margin: 5px 10px; padding: 1em;
}
    #company3 ul li a {
 padding-right: 4em
    }
a[href$=".pdf"] {
 background: url(../img/pdf.gif) no-repeat right center; padding-right: 1em;
}
* html a.pdf {
 background: url(../img/pdf.gif) no-repeat right center; padding-right: 1em;
}

/* 会社案内ほか */
#company1 span,
#company2 span.img {
 display: block; padding-bottom: 1.5em;
}
#company span {
 padding-bottom: 1.5em; display: block;
}
#eq ul {
 margin-right: -10px
}
* html #eq ul {
 margin-right: -20px
}
#company4 span.air {
 background: url(../img/content/air.gif) no-repeat 0 0; padding-left: 40px; height: 40px; line-height: 35px; display: block; font-size: .9em;
}
#company4 span.train {
 background: url(../img/content/train.gif) no-repeat 0 0; padding-left: 40px; height: 40px; line-height: 35px; display: block; font-size: .9em;
}

/* googlemap表示用 */
#map iframe.map_frame {
 width: 325px; height: 250px; border: 1px solid #ccc; padding: 1em;
}
#map a {
 display: block; padding: 5px;
}

/* リンク */
#links ul {
 padding: 0
}
    #links ul li {
 border-left: 5px solid #0386E8; background: url(../img/bg_table.gif) repeat-y; clear: left; margin: 1em 0; padding: .5em 1em;
    }
#links a {
 color: #333; font-weight: 700; display: block; padding: 1px;
}
#links span {
 font-size: .9em; zoom: 1;
}
#links ul li div {
 display: inline-block; padding-top: 1em;
}

/* サイトマップ */
#sitemap li a,
ul.children li a {
 color: #333; display: block;
}
#sitemap ul li a {
 background: url(../img/arrow_link.gif) no-repeat left 3px; padding: 0 0 8px 25px; font-size: 1.2em;
}
#sitemap ul.children {
 margin-bottom: 1em
}
    #sitemap ul.children li {
 background: none!important
    }
        #sitemap ul.children li a {
 background: url(../img/arrow_link_s.gif) no-repeat left center; margin-left: 2em; padding: 3px 0 3px 15px; font-size: 1em;
        }
        
/* iframe 表示用 */
iframe#news {
 width: 460px; height: 560px; border: 0; overflow-x: hidden; padding-left: 5px; margin-left: 5px;
}

/* list */
#works ul,
#works3 ul,
#works2 ul,
#works1 ul {
 margin-bottom: 2em
}
    #works ul li,
    #works3 ul li,
    #works2 ul li,
    #works1 ul li {
 background: url(../img/arrow_gray_s.gif) no-repeat left 10px; padding: 3px 0 3px 15px;
    }
ul.line,
ul.eq {
 margin-bottom: 2em
}
    ul.line li,
    ul.eq li {
 background: url(../img/arrow_s.gif) no-repeat left 0.5em; padding: 0 0 2px 20px;
    }
#topics ul,
ul.none {
 padding-left: 0; margin-bottom: 0;
}
#company3 ul span {
 font-size: .9em; color: #999; padding-left: 20px;
}
#company3 ul li {
 border-bottom: solid 1px #cdcdcd; margin: 5px 10px; padding: 0 0 3px 20px;
}
#sitemap ul li,
#topics ul li {
 background: none!important
}
ul.none li {
 background: none!important; line-height: 2em;
}
dl {
 margin-bottom: 2em
}
dt {
 float: left; clear: left; width: 8em; padding: 1em 0 1em 2em; zoom: 1;
}
dd {
 border-bottom: 1px #ccc dotted; padding: 1em 1em 1em 9em;
}
* html body #company4 dd div,
html body dl.listbox dd div,
* html body dl span {
 display: inline
}
#company4 dl dt {
 background: url(../img/arrow_gray_s.gif) no-repeat .5em center; font-weight: 700;
}

/* table */
#company4 table,
#company2 table {
 width: 100%; border-collapse: separate; border-spacing: 0 1em; line-height: 1.8em; margin-top: 1em;
}
    #company4 table th,
    #company2 table th {
 width: 140px; font-weight: 700; border-bottom: 1px dotted #ccc; padding: 0 0 1em 1em;
    }
    #company2 table span {
 width: 28%; display: inline-block;
    }
    #company4 table td,
    #company2 table td {
 border-bottom: 1px dotted #ccc; padding: 0 0 1em 1em;
    }
    
/* IE6, IE7 table セルにスペースを入れる */
    #company4 table th {
 border-top-style: solid; border-top-width: 1em!important; border-top-color: #f0f0f0;
    }
    #company4 table td {
 border-top-style: solid; border-top-width: 1em; border-top-color: #f0f0f0; border-right-style: solid; border-right-width: 1em; border-right-color: #f0f0f0;
    }
    #company4 table td.last {
 border-top-style: solid; border-top-width: 1em!important; border-top-color: #f0f0f0; border-right-style: solid; border-right-width: 1em!important; border-right-color: #f0f0f0;
    }
    #company2 table td,
    #company2 table td th {
 border-top-style: solid; border-top-width: 1em; border-top-color: #fff;
    }
table th.t_head_y {
 background: #fff; width: 6em; vertical-align: top;
}
#jisseki2 table,
#jisseki1 table {
 width: 98%; line-height: 2.5em; margin-bottom: 3em;
}
    #jisseki2 table th,
    #jisseki1 table th {
 font-weight: 700; border: 1px solid #ccc; padding: 0 0 0 1em;
    }
    #jisseki2 table td,
    #jisseki1 table td {
 border-bottom: 1px solid #ccc; border-right: 1px solid #ccc; padding-left: 1em;
    }
    #jisseki2 table .first,
    #jisseki1 table .first {
 border-top: 1px solid #ccc
    }
    #jisseki2 table tr.odd,
    #jisseki1 table tr.even {
 background: #e3f2fe
    }
    #jisseki2 table tr.even,
    #jisseki1 table tr.odd {
 background: #fffde7
    }

/* news */
table#news {
 width: 100%; background: #fff;
}
    table#news th,
    table#news td {
 padding: .5em 1em; border-bottom: 1px dotted #ccc;
    }
    table#news th {
 font-size: .8em; font-weight: 400; color: #999; text-align: left; vertical-align: top; width: 8em;
    }

/* side_nav
-------------------------------------------------------------- */
#side_nav {
 margin-bottom: 3em
}
    #side_nav h3 {
 width: 225px; height: 38px; line-height: 38px; background: url(../img/bg_side_h3.gif) no-repeat; margin: 2px 0 .5em 0; padding: 0 0 0 10px; text-shadow: 1px 1px 2px #fff;
    }
    #side_nav ul {
 margin-bottom: 1em; padding: 0;
    }
        #side_nav ul li {
 margin: 0 0 3px 0; padding: 0; width: 225px; height: 33px;
        }
            #side_nav ul li a {
 background: url(../img/bg_side.gif) no-repeat 0 0; padding-left: 10px; width: 215px; height: 33px; display: block; line-height: 33px;
            }
span.top_back {
 padding-left: 25px; display: block; margin-top: 31px;
}
    span.top_back a {
 background: url(../img/bg_side_back.gif) no-repeat; line-height: 33px; text-align: center; height: 33px; width: 183px; display: block;
    }
    #side_nav ul li a:hover,
    span.top_back a:hover,
    #side_nav li a.current {
 background-position: left 100%; text-decoration: none; color: #fff;
    }


/* back to top
-------------------------------------------------------------- */
.back {
 width: 85px; height: 18px; margin: 1.5em 0 1em 0; float: right; overflow: hidden;
}
    .back a {
 display: block; width: 85px; height: 18px; background: url(../img/bg_back.gif) no-repeat 0 0; text-indent: -9999px;
    }
    .back a:hover {
 background: url(../img/bg_back.gif) no-repeat left -18px
    }

/* footer
-------------------------------------------------------------- */
#footer {
 width: 880px; background-color: #fff; margin: 0 auto; padding: 10px 10px 0;
}
    #footer a {
 color: #333; font-size: .9em;
    }
    #footer ul,
    #footer ul li {
 margin: 0; padding-left: 0; background: none;
    }
    #footer h4,
    #footer h4.last {
 margin: 0 0 10px 0; padding-left: 0; border-bottom: 2px solid #008BF3!important; width: 8em;
    }
        #footer h4 a:hover {
 text-decoration: none
        }
    #footer h4.last,
    ul.last {
 margin-top: 15px
    }
#f_box_top {
 background: url(../img/body_box_top.gif) no-repeat; width: 900px; height: 14px; overflow: hidden; margin: 10px auto 0;
}
p.copy {
 display: block; width: 301px; height: 0; padding-top: 15px; overflow: hidden; background: url(../img/copy.gif) no-repeat;
}
.footer_box {
 height: 14em; float: left; margin-bottom: 1.5em; border-right: 1px solid #d3d3d3; width: 198px; padding-left: 20px;
}

/* form
-------------------------------------------------------------- */
form {
 padding: 0
}
#form_warp table {
 width: 98%
}
    #form_warp table th {
 font-weight: 400; background: #F0F0F0; border-bottom: 10px solid #fff; width: 15em; vertical-align: top; padding: 18px;
    }
        #form_warp table th span.red {
 font-size: .7em; color: red;
        }
        #form_warp table th span {
 font-size: .8em; color: #999;
        }
    #form_warp table td {
 background: #F0F0F0; border-bottom: 10px solid #fff; padding: 18px;
   }
td.checkbox {
 text-align: left
}
label.error {
 display: block; font-size: .8em; color: #f96400; z-index: 2; zoom: 1;
}

/* input */
input {
 background: #fff; border: 1px solid #ccc; height: 20px; width: 80%;
}
input.s {
 width: 181px
}
input.area {
 height: 45px; width: 100%;
}
input[type=checkbox] {
 vertical-align: middle; width: 1.5em; height: 1.5em; outline: 0; border: 0; background: none; margin: 0; padding: 0;
}
span.list-item-label {
 padding-right: 1em; display: inline-block;
}
select {
 background: #fff; border: 1px solid #ccc; height: 20px; width: 100px;
}
textarea.message {
 background: #fff; border: 1px solid #ccc; width: 100%; height: 100px;
}
textarea.area {
 background: #fff; border: 1px solid #ccc; width: 100%; height: 50px;
}

/* IE6 , IE7 */
* html textarea.message {
 background: #fff; border: 1px solid #ccc; width: 95%; height: 100px;
}
*+html textarea.message {
 background: #fff; border: 1px solid #ccc; width: 95%; height: 100px;
}
* html textarea.area {
 background: #fff; border: 1px solid #ccc; width: 92%; height: 50px;
}
*+html textarea.area {
 background: #fff; border: 1px solid #ccc; width: 92%; height: 50px;
}
* html label.checkbox {
 width: 25px!important; display: block; float: left;
}

/* submit button */
table.submit-button {
 text-align: center; margin: 1em auto;
}
    table.submit-button td {
 background: #fff!important;
    }
    table.submit-button input,
    div.send input {
 width: 150px; height: 35px; border-right: 1px solid #067EC1; border-bottom: 1px solid #067EC1; background: #128de0; color: #fff; line-height: 35px; font-weight: 700; font-size: 1.1em; text-shadow: 1px 1px 2px #000; border-radius: 5px; margin-left: 1em;
    }
    table.submit-button input:hover {
 background: #107fca;
    }
    table.submit-button input:active {
 position: relative; top: 2px;
    }
    
/* error */
textarea.error {
 border: 1px solid #f8bb00; background: #fffae5; padding: 0;
}
input.error {
 width: 179px; border: 1px solid #f8bb00; background: #fffae5; padding: 0;
}
td.input_hissu input.error {
 width: 80%; border: 1px solid #f8bb00; background: #fffae5;
}
