@charset "UTF-8";

/*
 * screenメディア用スタイルシート
 * http://confetto.s31.xrea.com/
 */

/******************************************************************************
 * 汎用ルール
 ******************************************************************************/

* {
	font: inherit;
	margin: 0;
	padding: 0;
	text-align: left;
}

[accesskey]:after, a[hreflang|='en']:after {
	font-size: smaller;
}

[accesskey]:after, code, var {
	font-family: 'Courier New', Courier, monospace;
}

[accesskey]:after {
	content: '[' attr(accesskey) ']';
	text-transform: uppercase;
}

a:link {
	color: #009;
}

a:visited {
	color: #606;
}

a:focus, a:hover, pre, thead {
	background-color: #eee;
}

a:active {
	color: #f00;
}

a[href^='mailto:']:before, a[rel~='contents']:before {
	display: inline-block;
	line-height: 0;
	margin-right: 2px;
	vertical-align: middle;
}

a[href^='mailto:']:before {
	content: url(../Icons/mail.png);
}

a[hreflang|='en']:after {
	content: ' [英語]';
}

a[rel~='contents']:before {
	content: url(../Icons/toc.png);
}

address, blockquote[cite]:after, cite, var {
	font-style: italic;
}

address, blockquote[cite]:after {
	text-align: right;
}

address, h2, h3, pre, td, th {
	border-color: #999;
	border-width: 1px;
}

address {
	clear: both;
}

address {
	border-top-style: solid;
	font-family: 'Times New Roman', Times, serif;
}

blockquote {
	margin: 1em 40px;
}

blockquote[cite]:after {
	content: attr(cite);
	display: block;
}

body {
	background: url(../Icons/snail.png) no-repeat right bottom;
	color: #333;
	line-height: 1.5;
	padding: 1% 2%;
}

caption, th {
	text-align: center;
}

dl, fieldset, form, h4, h5, h6, ol, p, ul {
	margin: 1em 0;
}

dd dl, li ol, li ul, td ul {
	margin-top: 0;
}

dd, ol, ul {
	margin-left: 40px;
}

dd dl, li ol, li ul, td ul {
	margin-bottom: 0;
}

em, h1, h2, h3, h4, h5, h6, strong, th {
	font-weight: bolder;
}

h1 {
	counter-reset: h2;
	font-size: 2em;
}

h2, h3 {
	border-bottom-style: solid;
	margin: 1em -1%;
	padding: 0 1%;
}

h2 {
	color: #369;
	counter-increment: h2;
	counter-reset: h3;
	font-size: 1.2em;
}

h2:before {
	content: counter(h2) '. ';
}

h3 {
	counter-increment: h3;
 	counter-reset: h4;
}

h3:before {
	content: counter(h2) '.' counter(h3) '. ';
}

h4 {
	counter-increment: h4;
 	counter-reset: h5;
}

h4:before {
	content: counter(h2) '.' counter(h3) '.' counter(h4) '. ';
}

h5, sub, sup {
	font-size: .83em;
}

h5 {
	counter-increment: h5;
 	counter-reset: h6;
}

h5:before {
	content: counter(h2) '.' counter(h3) '.' counter(h4) '.' counter(h5) '. ';
}

h6 {
	counter-increment: h6;
	font-size: .75em;
}

h6:before {
	content: counter(h2) '.' counter(h3) '.' counter(h4) '.' counter(h5) '.' counter(h6) '. ';
}

html {
	background: #fff url(/Icons/top-shadow.png) repeat-x top;
}

img, input {
	vertical-align: middle;
}

img {
	border-style: none;
}

input, select, textarea {
	box-shadow: 0px 0px 16px #ccc;
}

input[type='text'], kbd, pre, samp, textarea {
	font-family: monospace;
}

input[type='text'], textarea {
	padding: 2px 1px;
}

p {
	text-align: justify;
}

pre, td, th {
	border-style: solid;
}

pre, thead {
	background-image: url(/Icons/box-gra.png);
	background-repeat: no-repeat;
}

pre {
	background-position: left bottom;
	line-height: 1.2;
	margin: 0 -1%;
	padding: 1%;
	overflow: auto;
}

q {
	quotes: '「' '」';
}

q:after {
	content: close-quote;
}

q:before {
	content: open-quote;
}

q[lang|='en'] {
	quotes: '"' '"';
}

strong {
	color: #c00;
	border-bottom: 3px double;
}

table {
	border-collapse: collapse;
}

td, th {
	padding: 0 4px;
}

td ol, td ul {
	margin-left: 16px;
}

thead {
	background-position: top right;
}

ul {
	list-style-image: url(../Icons/arrow.png);
}

/******************************************************************************
 * サイト独自の要素
 ******************************************************************************/

.ad-block {
	margin: 1em 0;
}

.directories, .directories ul {
	list-style-image: url(../Icons/file.png);
}

.directory {
	list-style-image: url(../Icons/folder.png);
}

.download-list {
	list-style-image: url(../Icons/data_s.gif);
}

.notice:before, .warning:before {
	font-size: smaller;
	font-weight: bolder;
}

.notice:before {
	content: 'Notice: ';
}

.warning {
	border: 1px solid #c00;
	margin: 0 -1%;
	padding: 1%;
}

.warning:before {
	color: #c00;
	content: 'WARNING: ';
}

#cse-search-box {
	word-spacing: -999px;
}

#cse-search-box input[type='submit'] {
	background-image: url(/Icons/search-button.gif);
	border-style: none;
	height: 16px;
	margin-left: -19px;
	padding: 0;
	text-indent: -999px;
	width: 16px;
}

#cse-search-box input[type='text'] {
	border-width: 2px !important;
	padding: 2px 1px !important;
	/* sidebar width - 2 * (border width + left or right padding)
	   = 160px - 2 * (2px + 1px) */
	width: 154px;
}

#column-content {
	float: left;
	margin-right: -176px;	/* sidebar width + margin = 160px + 16px */
	width: 100%;
}

#content {
	margin-right: 176px;	/* sidebar width + margin = 160px + 16px */
}

#footer {
	clear: both;
}

#header {
	padding: 1.5em 0;
}

#header p {
	margin: 0;
}

#select-style {
	position: absolute;
	right: 0;
	top: 0;
}

#sidebar {
	float: right;
	width: 160px;
}

#sidebar dd, #sidebar ol, #sidebar ul {
	margin-left: 16px;
}

#sidebar h2 {
	font-size: 1em;
}

#toc dt {
	display: list-item;
	list-style: url(../Icons/file.png) inside;
}

#toc .category {
	font-weight: bolder;
	list-style-image: url(../Icons/folder.png);
}

/******************************************************************************
 * MSIE向けの特殊な記述
 ******************************************************************************/

* html em {
	font-style: normal;
}

* html pre {
	width: 100%;	/* widthがないと、overflow:autoがきかない */
}

* html #content, * html #sidebar {
	overflow: hidden;
}
