body
{
	min-width: 800px;
	background: #FFFFFF; color: #000000;
	margin: 0; padding: 0; border: 0;
	font-style: normal; line-height: 1.3;
}

/* 基本ブロック */

div.header, div.side, div.main, div.footer
{
	margin: 0; padding: 0; border: 0;
}

div.header, div.footer
{
	clear: both;
}
div.side
{
	float: left; width: 20%;
}
div.main
{
	float: right; width: 80%;
}

@media embossed, print, projection
{
	div.side
	{
		display: none;
	}
	
	div.main
	{
		float: none; width: auto;
	}
}
@media handheld, tty
{
	div.side, div.main
	{
		float: none; width: auto;
	}
}

/* header向けスタイル */

div.sitetitle
{
	background: #FF8888 url("image-sitetitle2.png") right bottom no-repeat;
	margin: 0; padding: 0; border: solid #FF8888; border-width: 0 0 2px;
}

/* side向けスタイル */

div.sitenavi, div.infonavi
{
	background: #FFEEEE;
	margin: 0; padding: 1em 0.5em; border: solid #FFAAAA; border-width: 0 1px 1px 0;
	font-size: 90%;
}
div.infonavi
{
	font-size: 80%;
}

div.sitenavi ol, div.sitenavi ol li
{
	margin: 0; padding: 0; border: 0; list-style: none;
}
div.sitenavi ol li.sub
{
	background: url("image-sitesub.png") top center no-repeat;
	padding: 16px 0 0;
}

div.sitenavi ul, div.infonavi ul
{
	background: #FFFFFF;
	margin: 0; padding: 0; border: 1px solid #FFBBBB;
}
div.infonavi ul
{
	border-style: dashed;
}
div.sitenavi ul li, div.infonavi ul li
{
	margin: 2px 3px; padding: 1px 3px; border: 1px solid #FFFFFF;
	list-style: none;
}

div.sitenavi a, div.infonavi a
{
	letter-spacing: 0;
}
div.sitenavi li.upper, div.sitenavi li.here
{
	font-weight: bolder;
	background: #FFEEEE;
}
div.sitenavi li.here
{
	border: 1px solid #FFCCCC;
}
div.sitenavi li.upper
{
	border: 1px dashed #FFCCCC;
}

/* main向けスタイル */

div.content
{
	margin: 0; padding: 1em; border-width: 0;
}

h1
{
	background: #FFDDDD;
	margin: 0; padding: 0.2em; border: double #CC6666; border-width: 3px 0;
	font-size: 160%; font-weight: bolder; text-align: center;
}
p.update
{
	margin: 0 0 0.5em; padding: 0.2em; border: 0;
	font-size: 80%; text-align: right;
}

div.section
{
	clear: both;
	margin: 1em 0 1em 0.5em; padding: 0; border: 0;
}
div.section h2,
div.section div.section h3,
div.section div.section div.section h4
{
	padding: 2px 0.5em;
	font-weight: bolder;
}
div.section h2
{
	background: #FFDDDD;
	margin: 0.83em 0 0.41em; border: 1px solid #CC6666;
	font-size: 120%;
}
div.section div.section h3
{
	background: #FFEEEE;
	margin: 1em 0 0.5em; border: 1px dashed #CC6666;
	font-size: 100%;
}
div.section div.section div.section h4
{
	margin: 1em 0 0.5em; border: 0;
	font-size: 100%;
}

p, pre, ul, ol, dl
{
	margin: 0.5em 0; padding: 0; border: 0;
}
li
{
	margin: 0 0 0 1.5em; padding: 0; border: 0;
}
ul ul, ul ol, ol ul, ol ol
{
	margin: 0; padding: 0; border: 0;
}
dt
{
	background: #FFFFFF;
	margin: 0.5em 0 0 0; padding: 0 0 2px; border: solid #CC6666; border-width: 0 0 1px;
	font-weight: bolder;
}
dd
{
	margin: 0; padding: 2px 2px 2px 3em; border: solid #CC6666; border-width: 0 1px 0 0;
}

ul.pagemenu
{
	background: #FFEEEE;
	padding: 0.5em; border: 1px solid #CC6666;
	font-size: 80%; text-align: center; line-height: 1.8;
}
ul.pagemenu li
{
	display: inline;
	background: #FFFFFF;
	margin: 0 0.25em; padding: 2px 0.5em; border: 1px dashed #CC6666;
	white-space: nowrap;
}

table
{
	margin: 0.5em 1px; padding: 0; border: 2px solid #FF9999;
	border-collapse: collapse; border-spacing: 0; empty-cells: show; 
	caption-side: top;
	page-break-inside: auto;
}
caption
{
	text-align: center;
}
colgroup
{
	border: 1px solid #FF9999;
}
thead, tfoot, tbody
{
	border: 2px solid #FF9999;
}
th, td
{
	margin: 0; padding: 2px; border: 1px #FF9999; border-style: solid dashed;
}
th
{
	background: #FFEEEE;
	font-weight: bolder; white-space: nowrap; text-align: center;
}
td
{
	background: #FFFFFF;
	text-align: left;
}
thead th, tfoot th
{
	background: #FFDDDD;
}


th.number, td.number
{
	white-space: nowrap; text-align: right;
}

table.index tbody th, table.indexmini tbody th
{
	text-align: left; vertical-align: top;
}
table.index tbody td, table.indexmini tbody td
{
	vertical-align: top;
}

table.simple, table.simplemini, table.menu
{
	margin: 1px; border: 0;
	border-collapse: separate; border-spacing: 2px; empty-cells: hide;
}
table.simple thead, table.simple tfoot, table.simple tbody,
table.simplemini thead, table.simplemini tfoot, table.simplemini tbody,
table.menu thead, table.menu tfoot, table.menu tbody
{
	border: 0;
}

table.simple th, table.simplemini th
{
	padding: 1px 0.5em; border: 0;
}
table.menu th
{
	padding: 1px 0.5em; border-width: 0 0 0 0.5em; border-style: solid;
	text-align: left;
}
table.simple td, table.simplemini td, table.menu td
{
	background: transparent;
	padding: 1px; border: 0;
}
table.indexmini tbody th, table.indexmini tbody td,
table.simplemini tbody th, table.simplemini tbody td
{
	font-size: 80%;
}

blockquote
{
	background: #FFDDDD;
	margin: 0.5em; padding: 0 0.5em; border: 2px dashed #CC6666;
}

form
{
	margin: 0; padding: 0; border: 0;
}
fieldset
{
	margin: 0; padding: 0.2em; border: 2px solid #FF9999;
}
legend
{
	margin: 0; padding: 0; border: 0;
	font-weight: bolder;
}

div.informations
{
	background: #FFFF99;
	margin: 0.5em 0; padding: 0 0.5em; border: 1px solid #CC6666;
}
div.cautions
{
	background: #FFFF99;
	margin: 0.5em 0; padding: 0 0.5em; border: 3px double #CC6666;
}

div.data
{
	background: #FFFFFF;
	margin: 0.5em 0; padding: 0.1em; border: 1px solid #CC6666;
}
div.data h2, div.data h3
{
	margin: 0; border: 0;
}
div.data div.section
{
	margin: 0.5em;
}
div.data div.section h3, div.data div.section h4
{
	background: transparent;
	margin: 0.5em 0; padding: 0.5em 0 0; border: dashed #CC6666; border-width: 1px 0 0;
	font-size: 100%;
}

div.goodsimage
{
	float: right;
	margin: 0; padding: 0 0 0.5em 0.5em; border: 0;
}
div.adlinks
{
	clear: both;
	text-align: right; font-size: 80%;
}
div.adlinks ul
{
	margin: 0; padding: 0; border: 0;
	list-style: none;
}
div.adlinks ul li
{
	background: #CCFFCC;
	margin: 1px; padding: 2px; border: 1px solid #33FF33;
}

/* footer向けスタイル */

address
{
	background: #FFDDDD;
	margin: 0; padding: 0.5em; border: solid #FF8888; border-width: 2px 0 0;
	font-size: 80%; font-weight: bolder; font-style: normal; text-align: center; white-space: nowrap;
}

/* 共用：ページ内ジャンプ */
div.skipnavi
{
	display: none;
	font-size: 70%;
}
div.side div.skipnavi
{
	background: #FFFFFF;
	margin: 0; padding: 1em 0.5em; border: solid #FFBBBB; border-width: 0 1px 1px 0;
}
div.main div.skipnavi
{
	background: #FFFFFF;
	margin: 0.5em; padding: 2px; border: 1px dashed #FF9999;
}
div.footer div.skipnavi
{
	background: #FFFFFF;
	margin: 0; padding: 0.5em; border: solid #FFBBBB; border-width: 2px 0 0;
}
div.skipnavi ul
{
	margin: 0.5em;
}
div.skipnavi ul li
{
	margin: 0;
	list-style: none;
}

@media aural, braille, handheld, tty
{
	div.skipnavi
	{
		display: block;
	}
}

/* 共用 */
span
{
	margin: 0; padding: 0; border: 0;
}

a, a:link
{
	color: #0000CC;
	border: dashed #0000CC; border-width: 0 0 1px;
	text-decoration: none; letter-spacing: 1px;
}
a:visited
{
	color: #000099;
	border-color: #000099;
}
a:active, a:hover, a:focus
{
	background: #FFCCCC;
}

em
{
	color: #FF0000;
	font-weight: bolder; font-style: normal; letter-spacing: 1px;
}
em em
{
	font-size: 130%;
}

q
{
	quotes: none;
	background: #FFDDDD;
	padding: 2px; border: 1px dashed #CC6666;
}
q:before, q:after
{
	content: "";
}

ins
{
	text-decoration: underline;
}
del
{
	color: #CC6666;
	text-decoration: line-through;
}

abbr, acronym, span.read, span.help
{
	border: dotted #000000; border-width: 0 0 1px;
	cursor: help;
}
dfn
{
	text-decoration: underline;
}

code, kbd, var, cite, samp
{
	font-weight: bolder; font-style: normal;
}

img, object
{
	border: 0;
	vertical-align: text-bottom;
}
img.char, object.char
{
	height: 1em;
}

label
{
	color: #000099;
	text-decoration: underline;
}
input, textarea
{
	font-size: 80%;
}
input.name
{
	width: 15em;
}
input.email
{
	width: 20em;
}
input.url
{
	width: 30em;
}
input.title
{
	width: 40em;
}
input.password
{
	width: 10em;
}
textarea.body
{
	width: 40em; height: 7em;
}

.supplement
{
	font-size: 80%;
}
.uri
{
	color: #0000FF;
}
.holiday, .subday
{
	color: #FF0000;
}
.saturday
{
	color: #0000FF;
}
.person
{
	color: #006600;
}
