/*** lafla CSS 共通部 ***/
.clearfix { min-height: 1%; }
.clearfix:after { content: "."; display:block; height: 0; clear: both; visibility: hidden; }
/* hides from ie5-mac \*/
* html .clearfix { height: 1%; }
a.unvisible-link { color: #fef; text-decolation: none; }
a:hover, a:active { color: #ff0000; }
/* ヘッダ部 */
div#website-title { width: 900px; margin: 0 auto; height: 90px; }
div#title-left { float: left; width: 200px; }
div.title-right { float: right; font-size: 12px; padding: 60px 0 10px 10px; }
div#title-left h1 { padding: 20px 0; margin: 0; }
div.title-right a { text-decoration: none; }

/* 画像 */
img { vertical-align: top; border: 0; }	/* IEやFFで下段に隙間ができてしまうのを防ぐため */
/* 入力フォーム */
table.form { width: 70%; border-collapse: collapse; margin-bottom: 30px; }
table.box { width: 85%; border-collapse: collapse; margin-bottom: 30px; }
input[type="text"], input[type="password"], textarea { 
  padding: 3px; margin: 3px; border: 1px solid #809DB9; border-bottom: 1px solid #999; color: #444;
  font-size: 14px; background: #f3f3f3 url("/site_media/static/img/form-shadow.png") left top repeat-x;
}
input[type="text"], input[type="password"] { width: 50%;}
textarea { width: 100%; }
input[type="submit"] { margin: 20px 0; font-size: 14px; }
ul.errorlist { padding: 0px; margin: 0px; }
ul.errorlist li { color: #ff0000; margin: 15px 0 0 20px; }
hr.dot { border: 1px dotted #bbb; margin-bottom: 30px; }

/*** header部 ***/
div#header-top {}


/*** Flashギャラリー部 ***/
div#gallery { text-align: center; }
object { vertical-align: top; border: 0; }

/*** グローバルナビゲーション部 ***/
div#navi-top {}


/*** コンテンツ本体 ***/
a.thumb:link { color: #B5B619; /* lafla key color */ }
a.thumb:visited { color: #B5B619; /* lafla key color */}
.thumbnail-img { width: 100px; border: 1px solid #000; }

.tbox { padding: 10px 15px; }
.shortcut { padding: 0 0 10px 0; }
div#container {}
div.block-boxes block-box { }
div.block-box {
    display: -moz-inline-box;
    display: inline-block;
    /display: inline;
    /zoom: 1;
    /* width: 20%; */
    vertical-align: top;
    padding: 3px;
    margin: 0px;
}
.b-narrow { width: 25%; }
.b-wide { width: 35%; }
div#contact-form { }
div.middle { }
/* td.header { padding-left: 150px;}
td.input { width: 400px; } */
td.help { font-size: 10px; color: #809DB9; }
div.leftbar { background: url("/site_media/static/img/bar.gif") 0 0 repeat-y;
              width: 150px; text-align: right; height: 70px; padding-top: 10px; }
div.tbl-right-desc { padding: 10px 0 10px 10px; }


/*** コンテンツ中央部 ***/
div.container-box { padding: 10px; margin: 10px 0 0 0; }
div.container-middle { padding: 10px; margin: 10px 0 0 0; border-top: 1px dotted #222; }
div.tbox-desc { text-align: justify; text-justify: inter-ideograph; } 
div.sitemap-btn { background-color: #666; color: #fff; border: 2px solid #666; 
                  padding: 5px 10px 3px 10px; margin: 5px; }
div.green { background-color: #649500; border: 2px solid #649500; }
a.btn-green { text-decoration: none; }
a.btn-grey { text-decoration: none; }
a.btn-green:hover div { background-color: #86b722; border: 2px solid #649500; }
a.btn-grey:hover div { background-color: #888; border: 2px solid #666; }
div.sitemap-box { border-top: 6px solid #000; border-bottom: 6px solid #000; padding: 40px 0 40px 0; 
                  margin: 10px 0 10px 0; }
div.sitemap-sec { border-top: 6px solid #000; border-bottom: 1px dotted #B5B619; padding: 40px 0 40px 0; 
                  margin: 10px 0 10px 0; }
div.load-bars { border-top: 8px solid #B5B619; border-bottom: 8px solid #B5B619; 
                width: 860px; text-align: center; margin: 0 auto; }
div.tbl-title { padding: 0 0 0 30px; text-align: left; }
div.tbl-title strong { color: #222; }
div.tbl-img { padding-bottom: 20px; }
div.tbl-desc { padding: 20px 0 20px 30px; font-size: 10pt; line-height: 1.2em; text-align: left; }
div.desc-box { padding: 20px; }
div.desc-box strong { color: #222; }
div.subtitle { font-size: 18px; color: #222; padding: 20px 0 30px 0; }
div.imgbox { text-align: center; padding: 20px; }
/* top用 */
.imgAndText { width: 300px; }
.limg { float: left; padding-right: 10px; }
.rtext { text-align: left; font-size: 8pt; color: #444; line-height: 1.3em; padding-top: 5px; }
div.info { font-size: 9pt; }
div.info div { }
div.info div p { margin: 0px; padding-bottom: 5px; }
.pickup-left { float: left; width: 39%; padding: 8px 0 10px 0; }
.pickup-right { float: right; font-size: 10px; width: 60%; }
.topic-date { font-size: 9pt; color: #888; }

/* service用 */
.service-title { padding: 0 0 0 20px; margin: 0; font-size: 20px; }
.service-desc { padding: 0 0 20px 20px; }
.total-service-img { padding-top: 30px; text-align: center; position: relative; left:-20px; width: 900px; }
.total-service-parts1 { position: absolute; top: 150px; left: 405px; }
.total-service-parts2 { position: absolute; top: 285px; left: 335px; }
.total-service-parts3 { position: absolute; top: 285px; left: 475px; }
.fukidashi-box { width: 205px; height: 108px; }
.fukidashi-desc { font-family: "impact","Franklin Gothic Medium",serif; padding: 20px 20px 20px 60px; text-align: left; }
.img-left { float: left; }
.img-right { padding: 5px 0 0 90px; font-size: 14px; }
.img-right h4{ /* position:relative; top:-20px; */ margin: 0 0 20px 0; font-size:110% }
.img-right-chp { padding: 5px 0 0 10px; font-size: 14px; }
.img-top { padding-bottom: 20px; }
.p4-img-top { padding-bottom: 20px; width: 300px; }
.p4-img { width: 300px; padding-top: 10px; }
.desc-text { padding: 10px 10px 10px 0; }
.p4 { padding: 5px; }
.p4-left { float: left; }
.p4-desc {  }
.s-title { padding: 10px; }
.gblock-text { padding: 10px; }
div.point4{ padding: 40px 0 150px 0;}
.cms-box { padding: 10px; }
a.ma-img-link { text-decoration: none; width: 270px; height: 30px; background: url("/site_media/static/img/service/005lpo_case_link_nor.gif") 0 0 no-repeat; }
a.ma-img-link:hover { text-decoration: none; width: 270px; height: 30px; background: url("/site_media/static/img/service/005lpo_case_link_roll.gif") 0 0 no-repeat; }
.link-road { float: left; padding-top: 5px;}
.centerized-box { text-align: center; width: 750px; padding: 15px 0; font-size: 11pt; }

/* flow用 */
div.flow-top { text-align: left; }
div.flow-box { padding-left: 10px; width: 13px; }
div.arrow-img { height: 108px; top: 0px; left: 0px; padding: 30px 0 30px 0;
                background: url("/site_media/static/img/flow/yajirusi02.gif") 93px 30px no-repeat; }

div.sales-img { height: 360px; width: 900px; position: relative; top:35px; left: 0px;
                background: url("/site_media/static/img/flow/photo01.gif") -50px 0 no-repeat; }
div.architect-img { height: 400px; width: 900px; position: relative; top:0px; left: 0px;
                    background: url("/site_media/static/img/flow/photo02.gif") -50px -30px no-repeat; }
div.engineer-img { height: 300px; width: 900px; position: relative; top:0px; left: 0px;
                   background: url("/site_media/static/img/flow/photo03.gif") -50px -10px no-repeat; }

div.phase-title { margin: 0 0 10px 0; }
div.phase-desc { }
div.phase-under-text { float: right; width: 300px; position: relative; width: 350px; top: 180px; }

/* work用 */
table.work { padding: 20px 0 20px 0; }
div.work-title { float: left; padding: 0px; margin: 0px; width: 420px; }
div.work-title p { padding: 0 20px 0 0; margin: 0px; font-size: 20px; color: #000; }
div.work-desc { color: #222; }
/* concept用 */
div.fb-text { padding: 0 20px 0 20px; }
div.concept-top { height: 150px; }
/* contact用 */
td.iform { text-align: left; }
td.header { text-align: left; }
/* company_info用 */
td.ci-cont { text-align: left; }

/*** コンテンツ下部 ***/
div#container-footer { padding: 10px; margin: 10px 0 0 0; border-top: 1px dotted #222; }
ul.menu { margin-left: 0px; padding-left: 5px; margin: 0; }
ul.menu li { float: left; list-style-type: none;}
a.footer-menu { color: #fff; text-decoration: none; }
a.footer-menu:hover { color: #aa0000; text-decoration: none; }
div.company-info-footer { padding: 5px 0 5px 20px; }