body,div                { margin:0; padding:0; }
div.clear               { clear:both; }
hr                      { display:none; }
h2                      { border-left:1em solid red; border-bottom:1px solid red; margin:0.5em; padding-left:0.5em; }
h3                      { margin-left:1em; }
img                     { border:none; }

div#title               { position:relative; background:url('img/titleback.jpg'); height:86px; }
div#title h1, div#title h2 { position:absolute; bottom:0; width:45%; }
div#title h1            { left:0;  margin-left:0.5em; }
div#title h2            { right:0; margin-right:0.5em; text-align:right; border-style:none; }

div.detail              { width:49%; float:left; }

div.piece, div.profile  { min-height:15em; border-top:1px solid red; margin:0 0 1em 1em; padding-top:0.5em; clear:both; }
div.photo, div.desc     { float:left; }
div.photo               { width:25%; }
div.desc                { width:73%; }
div.desc h3             { font-size:110%; margin:0 0 0.5em 0; }
div.desc h3 span.sub    { font-size:small; font-weight:normal; }
div.desc p              { margin:0 0 0.5em 0; line-height:110%; }

div.film                { border-top:1px solid red; margin:0 0 1em 1em; padding-top:0.5em; clear:both; }
div.film div.photo      { width:15%; }
div.film div.desc       { width:84%; }

div.list div.piece      { margin:0 0 0 0.5em; float:left; width:48%; }
div.list div.profile    { margin:0 0.5em 0 0; float:right; width:48%; }

p#read                  { margin:1em; line-height:140%; }

div#foot                { border-top:1px solid gray; padding-top:0.5em; }
div#foot address, div#foot div#totop { width:47%; }
div#foot address        { float:left;  margin-left:0.5em; font-style:normal; font-size:small; }
div#foot address img#logomark  { float:left; margin-right:0.3em; }
div#foot div#totop      { float:right; margin-right:0.5em; text-align:right; }

div#schedule table      { margin:0.5em 0.5em 2em 0.5em; clear:both; }
div#schedule table caption { text-align:left; font-weight:bold; font-size:medium; border-left:1em solid red; border-bottom:1px solid red; margin:0 0.5em; }
div#schedule table td   { vertical-align:bottom; font-size:x-small; }
div#schedule table th   { font-size:small; text-align:left; }
div#schedule table th#h { font-size:x-small; white-space:nowrap; }
div#schedule table th.clock     { border-left:2px solid red; }
div#schedule table col#date     { width:6%; }
div#schedule table col.time     { width:4%; }
div#schedule table col#time22   { width:2%; }

ul#menu                 { text-align:right; }
ul#menu li              { display:inline; margin-right:0.5em; }
ul#menu li a            { border-left:0.5em solid red; text-decoration:none; padding-left:0.2em; }
ul#menu li a:hover      { color:red; border-left:0.5em solid gray; border-bottom:2px solid red; }
ul#menu li a:link       { color:black; }
ul#menu li a:visited    { color:black; }
ul#menu li a:active     { color:red; }

ul.info                 { list-style-type:square; }
div#info li             { vertical-align:middle; }
ul.info li a            { text-decoration:none; font-weight:bold; }
ul.info li a:hover      { border-bottom:2px solid red; }

p.alert                 { margin-left:1em; }
h1#hiddentitle          { display:none; }

div#columnindex  { float:left; width:29%; }
div#columnbody   { float:right; width:70%; }
div#columnindex ul { margin-top:1em; }
div#columnbody p { margin:0.5em; line-height:140%; }
