/* Common */
.float-left
{
 	float: left;
}

.float-right
{
 	float: right;
}

.clear-both
{
	clear: both;
}

/* Clearfix
 * http://blog.quall.net/web-design/232
 */
.clearfix:after {
    content: "";
    display: block;
    clear: both;
    height: 0;
}

/* for IE6 */
* html .clearfix {
    display: inline-block;
}

/* for IE7 */
*+html .clearfix {
    display: inline-block;
}

.noborder
{
	border-width: 0px;
}

.indent
{
    margin-left: 2em;
}

.nowrap
{
 	vertical-align: top;
	white-space: nowrap;
	padding-right: 1em;
}

.nodisplay
{
	display: none;
}

/* Centering Block Elements
   http://www.mozilla.gr.jp/standards/webtips0004.html
   ex)
   <div class="center-container">
   <block class="center-box>
   to center
   </block>
   </div>
 */
.center-container
{
	text-align: center;
}
.center-box
{
	margin-left: auto;
	margin-right: auto;
	text-align: left;
}

/* Ruby */
span.ruby
{
    display: inline;
    position: relative;
    top: 0;
    bottom: 0;
    padding: 0;
    line-height: 1em;
}

small.rp
{
    display: none;
}

small.rt
{
    display: inline;
    position: absolute;
    top: -1em;
    left: 0;
    font-size: 50%;
    line-height: 1em;
    white-space: nowrap;
    text-indent: 0;
}

/* main */

body
{
 	margin: 0px;
}

div.header-block
{
	padding: 0px 0px 6px 0px;
	background: url(/~shun/web/shadow/bottom.png) repeat-x bottom;
}

div.header
{
    font-size: smaller;
	padding: .5em 2em;
	background-color: #def;
    border-color: #b2b2b2;
	border-style: solid;
    border-width: 0px 0px 1px 0px;	/* Top Right Bottom Left */
}

div.header .menu
{
	max-width:800px;
	margin: auto;
}

div.footer .menu
{
	max-width:800px;
	margin: auto;
}

div.footer-block
{
	padding: 6px 0px 0px 0px;
	background: url(/~shun/web/shadow/top.png) repeat-x top;
}

div.footer2
{
    font-size: smaller;
	margin:0px;
	background: url(/~shun/web/shadow/bottom.png) repeat-x top;
	padding: .5em 2em;
	background-color: #def;
/*     border-color: #b2b2b2; */
/* 	border-style: solid; */
/*     border-width: 1px 0px 0px 0px;	/\* Top Right Bottom Left *\/ */
}

div.footer
{
    font-size: smaller;
	padding: .5em 2em;
	background-color: #def;
    border-color: #b2b2b2;
	border-style: solid;
    border-width: 1px 0px 0px 0px;	/* Top Right Bottom Left */
}

div.maintext
{
	max-width:800px;
/*  width:90%; */
	margin: auto;
	padding: 0 2em;
}

/* Misc */

a:link
{
	text-decoration: none;
}

a:visited
{
	text-decoration: none;
}

a:active
{
}

a:hover
{
	background-color: #fa0;
	text-decoration: none;
}

p.abstract:first-letter
{
  	padding-left: 1em;
}
p.abstract
{
	margin: 2em 0;
}

img
{
	border-width: 1px;
}

img.noborder
{
	border-width: 0px;
}

img.thumbnail
{
	float: left;
	margin-right: 2em;
	margin-bottom: 2em;
}

div.thumbnail
{
	float: left;
	margin-right: 2em;
	margin-bottom: 2em;
}

.description
{
	margin: 0;
	margin-bottom: 2em;
	margin-left: 11em;
}

h1
{
	margin: 2em 0px;
}

h2
{
	margin-top: 2em;
	margin-bottom: 2em;
	padding: 5px;
	background-color: #def;
/* 	border-style: solid; */
    border-width: 0px 0px 1px 0px;	/* Top Right Bottom Left */
    border-color: #b2b2b2;
}

h3
{
	margin-top: 2em;
}

p.right-menu
{
	float: right;
}

p.left-menu
{
	float: left;
}

ul.datalist
{
	margin-left: 1em;
}

td.table-caption
{
	text-align: center;
}

.color-red
{
	color: #ff0000;
}

