@charset "utf-8";

html, body { 
height: 100%;/* for footer positioning */ margin: 0; padding: 0; color: #474a4d; font-size: 11pt; background: #fff;
font-family:"ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro",Osaka, "メイリオ", Meiryo, "Tahoma", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
}



/***** Base ********************************************************/
#page { 
width: 98%; max-width: 980px; margin: 0 auto; padding: 0; background: #fff; position: relative; /* for footer positioning */
height: auto !important; /* real browsers */ height: 100%; /* IE6: treaded as min-height*/ min-height: 100%; /* real browsers */
}

/***** Header ****************************************************/
#head { width: 100%; max-width: 980px; top: 0; margin: 0; padding-top: 0; z-index: 999; color: #474a4d; border-bottom: 2px #D80515 solid; }
#head a { color: #474a4d; text-decoration: none; }
#head .inner { position: relative; width: 100%; max-width: 980px; margin: 0; padding: 0; background: #fff; }
#head .inner:after { content: ""; clear: both; display: block; }
#head .logo { float: left; width: 150px; margin: 0 0 0.5em 0;  }
#head .logo a { text-decoration: none; }
#main_navi ul { list-style: none; position: absolute; right: 0; bottom: -0.75em; font-size: 1em; }
#main_navi ul li { float: left; }
#main_navi ul li a { padding: 0 1em; }
#main_navi ul li a:hover { text-decoration: underline; }
#main_navi ul li a.active { font-weight: bold; color: #D80515; }
#navi_toggle { display: none; position: absolute; right: 12px; top: 16px; width: 34px; height: 36px; cursor: pointer; z-index: 101; }
#navi_toggle div { position: relative; }
#navi_toggle span { display: block; position: absolute; height: 4px; width: 100%; background: #666; left: 0; }
#navi_toggle span:nth-child(1) { top: 0; }
#navi_toggle span:nth-child(2) { top: 11px; }
#navi_toggle span:nth-child(3) { top: 22px; }



/***** main div *****************************/
#main { width: 100% auto; margin: 0; padding: 2.5em 1.3em 8rem; overflow: hidden; /* bottom padding for footer*/ }
#main h2 { width: 100% auto; margin: 0; position: relative; padding: 0.25em 1em 0.25em 1.5em; border: 1px #c0c0c0 solid; font-size: 1.1em; } 
#main h2::after { position: absolute; top: 0.5em; left: 0.5em; content: ''; width: 0.4em; 
				 height: -webkit-calc(100% - 1em); height: calc(100% - 1em); background-color: #D80515; border-radius: 4px; }
#main h2 a { color: #474a4d; text-decoration: none; }
#main h2 a:hover, #contents h2 a:active { color: #474a4d; text-decoration: underline; }

/*** Base div ***/
.contents_one { width: 100% auto; margin: 0; padding: 1.5em 1.8em 3em; }
.contents_one p { margin: 0; padding: 0 0 1.5em; background: #fff;}
.contents_one p.wider { margin: 0; padding: 0 0 2.5em; background: #fff;} /* datenschutz second quelle */
.contents_one p.quellep { margin: 0 0 5rem; padding: 0; }


/* home */
.ohmusubiname { display: block; font-weight: bold; text-decoration: none; }
.ohmusubilogo { display: block; width: 10rem; margin: 0.5rem 0 0; padding: 0; }


/* Katalog */
.katalogdiv { width: 100% auto; margin: 0; padding: 0.2rem 0; text-align: center; background: #fff; }
.katalogdiv div { display: inline-block; width: 23%; margin: 0 0.3em 0.7em; padding: 0; border: 1px #c0c0c0 solid; text-align: center; }
.katalogdiv p { margin: 0; padding: 0.5rem 0 0; }






/* kontakt section > table.contacttable*/
.kontakt { margin: 0; padding: 0 0 2em; }
.kontakt h1 { margin: 0; padding: 0 0 0.3em; font-size: 1.1rem; }
.kontakt ul { margin: 0 0 0 1em; padding: 0; list-style: none; }
.kontakttable { width: 100%; margin: 0; padding: 0; }
.kontakttable th, .kontakttable td  { margin: 0; padding: 0.3em 0; text-align: left; vertical-align: top; }
.kontakttable th { width: 6rem; font-weight: normal; }


/*** links ***/
.linkstable { width: 100%; margin: 0; padding: 0.2em 0 1.5em; }
.linkstable th, .links td  { margin: 0; padding: 0.3em 0; text-align: left; vertical-align: top; }
.linkstable th { width: 42%; font-weight: normal; }


/*** haftungsausschluss, datenschutz ***/
.haftung { margin: 0; padding: 0 0 1.2em; }
.haftung h1 { margin: 0; padding: 0 0 0.3em; font-size: 1.1rem; }
.haftung h3 { margin: 0; padding: 0 0 0.3em; font-size: 1rem; }
.haftung ul { margin: 0 0 0 1em; padding: 0 0 1.5rem; }


/***** Footer ****************************************************/
footer { width: 100%; max-width: 980px; height: 8rem; margin: 0; padding: 0; position: absolute; bottom: 0; border-top: 2px #D80515 solid; }
footer p.copy { margin: 6rem 0 0 0; padding: 0; text-align: center; font-size: 0.9em;}

#footer_link ul { list-style: none; position: absolute; top: 0; right: 0; padding: 0; font-size: 0.9em; text-align: right; }
#footer_link ul li { margin: 0; padding: 0 1em; }
#footer_link ul li a { color: #474a4d; text-decoration: none;}
#footer_link ul li a.active { font-weight: bold; color: #D80515; }
#footer_link:after { content: ""; clear: both; display: block; }

