@charset "Shift_JIS";

/* 初期設定 */
/*================================================*/

* {
	font-style: normal;
	margin: 0;
	padding: 0;
	}

/* 基本構造 */
/*================================================*/

html {
	text-indent: 0;
	text-align: left;
	text-decoration: none;
	letter-spacing: 0;
	word-spacing: 0;
	border-left: none;
	direction: ltr;
	}
body {
	color: black;
	background: #fdfdfd;
	padding: 0 .5em .5em;
	}
address {
	text-align: center;
	color: #333;
	background: #f2f2f2;
	margin: 5em .1em .5em;
	padding: .4em .3em;
	border-style: solid;
	border-width: 1px 2px 2px 1px;
	border-color: #666;
	clear: both;
	}
#footer {
	padding-bottom: .5em;
	}

/* 見出し */
/*================================================*/

h1, h2, h3, h4, h5, h6 {
	font-weight: normal;
	}
h2, h3, h4, h5, h6 {
	border-style: solid none;
	border-width: 1px;
	}

h1 {
	text-align: right;
	color: #333;
	background: #f2f2f2;
	font-size: 230%;
	margin: .5em .1em 0;
	padding: .15em .7em;
	border-style: solid;
	border-width: 1px 3px 3px 1px;
	border-color: #666;
	}
h2 {
	text-align: center;
	color: #777;
	background: #fdfdfd;
	font-size: 200%;
	margin: 1em 0 .8em;
	padding: .2em 1em .125em;
	border-color: #aaa;
	}
h3 {
	color: #555;
	background: #fbfbfb;
	font-size: 160%;
	margin: 1em 0 .8em;
	padding: .3em 2em .12em;
	border-color: #ddd;
	}
h4 {
	color: #333;
	background: #fafafa;
	font-size: 140%;
	margin: 1em 0 .9em;
	padding: .2em 1em .1em;
	border-color: #ddd;
	}
h5 {
	color: #222;
	background: #fafafa;
	font-size: 115%;
	margin: .9em 0 .9em 0;
	padding: .3em .7em .1em;
	border-color: #ccc;
	}
h6 {
	color: #222;
	background: #fafafa;
	font-size: 100%;
	margin: .7em 0 .7em;
	padding: .2em .75em .125em;
	border-color: #ddd;
	}

/* 段落 */
/*================================================*/

p {
	color: #333;
	background: transparent;
	margin: .9em .8em;
	}
li p {
	margin: .25em 0;
	}
dd p {
	margin: .8em 0 .7em;
	padding: 0;
	}
p.related {
	margin-top: -.4em !important;
	}

/* 定義リスト */
/*================================================*/

dl {
	color: #333;
	background: white;
	margin: 1.2em .5em 1.3em;
	padding: .3em 0 0 !important;
	border-style: solid;
	border-width: 1px;
	border-color: #ddd;
	}
dl dl {
	margin: 1em 0;
	border-color: #d8d8d8;
	}
ul dl {
	margin-top: 1em;
	}
dt {
	color: #222;
	background: #f6f6f6;
	margin-bottom: 0;
	padding: .4em 1em .3em;
	border-style: solid none;
	border-width: 1px;
	border-color: #aaa;
	}
dd {
	color: #333;
	margin: 0;
	padding: .45em 1.2em .35em;
	border-style: none;
	border-width: 1px;
	border-color: #ddd #ccc #ccc #ddd;
	}

/* 順不同・序列リスト */
/*================================================*/

ul {
	margin: .8em 1em .8em 2em;
	list-style-type: disc;
	list-style-position: outside;
	}
ol, ul.numbering {
	margin: .8em 1em .8em 2.5em;
	list-style: decimal;
	list-style-image: none;
	list-style-position: outside;
	}
ul ul, ol ul {
	list-style-type: circle;
	}
ul ul ul, ol ul ul,
ul ol ul, ol ol ul {
	list-style-type: square;
	}
ul ul, ol ul,
ol ol, ul ol {
	margin-top: .4em;
	margin-bottom: .4em;
	}
dd ul{
	margin: .4em .5em .4em 1.5em;
	}
dd ol, dd ul.numbering {
	margin: .4em .5em .4em 2em;
	}
dd ul ul, dd ol ul,
dd ul ol, dd ul ol {
	margin: 0 1.5em 0 2em;
	}

ul.simple {
	margin-left: 1em;
	list-style-type: none;
	list-style-image: none;
	}
dd ul.simple {
	margin-left: 0;
	}

li {
	color: #333;
	background: transparent;
	margin-bottom: .09em;
	}

/* ブロックレベルの引用 */
/*================================================*/

blockquote {
	color: inherit;
	background: white;
	margin: 1.3em 2em 1em 1em;
	padding: .2em .3em;
	border-style: solid;
	border-width: 1px 1px 1px .3em;
	border-color: #0a7;
	}

/* 引用内部の要素 */
blockquote p {
	margin: .5em .7em;
	padding: 0 .5em;
	}
blockquote dd p {
	margin: .5em 0;
	padding: 0;
	}
blockquote ul {
	margin-top: .6em;
	margin-bottom: .6em;
	margin-left: 1.5em !important;
	list-style-type: disc !important;
	}
blockquote ul ul {
	margin-top: 0;
	margin-bottom: 0;
	list-style-type: circle !important;
	}
blockquote dl,
blockquote pre {
	margin: 1px 0;
	padding: 0;
	border: solid 1px white;
	}
blockquote pre {
	padding: .4em .7em;
	}

/* 引用元 */
p.blockquote-citation {
	text-align: right;
	color: #333       !important;
	background: white !important;
	margin: -1.3em 1em 2em 5em !important;
	padding: .13em .5em;
	border: solid 1px #0a7;
	}
dd > blockquote + p.blockquote-citation {
	margin-bottom: .1em;
	}
dd p.blockquote-citation {
	margin-bottom: 1.6em;
	}

/* インラインの引用 */
/*================================================*/

q {
	color: #060         !important;
	background: #f1fff1 !important;
	quotes: "「" "」"  "『" "』";
	}
q:before {
	content: open-quote;
	}
q:after {
	content: close-quote;
	}
*[lang|="en"] q, q[lang|="en"],
*[lang|="en"] q *, q[lang|="en"] * {
	font-size: 105%;
	font-style: italic;
	quotes: "\22" "\22" "\27" "\27";
	}
q.en, q.en * {
	font-style: italic;
	font-size: 105%;
	}

/* テーブル関連 */
/*================================================*/

table {
	margin: 0 1em 2em;
	border-style: solid;
	border-width: 2px;
	border-color: #ddd #bbb #bbb #ddd;
	border-collapse: collapse;
	}
caption {
	text-align: left;
	color: #555;
	font-size: 120% !important;
	font-weight: bold;
	padding: .3em 0 .1em 1em ;
	line-height: 1;
	caption-side: top;
	}
thead {
	border-bottom: double 3px #888;
	}
tfoot {
	border-top: double 3px #888;
	}
th, thead td, tfoot td {
	text-align: center;
	white-space: nowrap;
	color: #111;
	background: #efefef;
	font-weight: normal;
	padding: .5em 1em;
	vertical-align: middle;
	empty-cells: show;
	}
th {
	border-style: solid;
	border-width: 1px;
	border-color: #bbb;
	}
td {
	text-align: left;
	color: #333;
	background: white;
	padding: .5em 1em;
	border-style: solid;
	border-width: 1px;
	border-color: #bbb;
	vertical-align: middle;
	}

/* 整形済みテキスト */
/*================================================*/

pre, .source, .formula {
	white-space: pre;
	color: #333;
	background: white;
	margin: .8em;
	padding: .5em .7em;
	border: solid 1px #b8b8b8;
	}
dd pre {
	margin: .2em .15em;
	}

/* 構造インライン要素 */
/*================================================*/

/* 定義用語 */
dfn {
	color: #152;
	background: #f3f3f3;
	font-weight: bold;
	padding: 0 3px;
	}
dfn * {
	color: #152             !important;
	background: transparent !important;
	}
li dfn {
	padding: 0;
	}

/* 略字語・頭字語 */
abbr, acronym {
	border-bottom: dotted 1px #666;
	}
a > abbr, a > acronym {
	border-bottom-width: 2px;
	border-bottom-color: #888;
	}

/* 出典 */
cite {
	color: #030;
	background: #efefef;
	margin: 0 2px;
	}
cite.uri {
	font-size: 90%;
	}

/* キーボード入力 */
kbd {
	color: #333;
	background: #efefef;
	font-size: 85%;
	margin: 2px;
	padding: .1em .25em;
	border-style: solid;
	border-width: 1px;
	border-color: #ddd #999 #999 #ddd;
	}

/* 出力例 */
samp {
	font-size: 100%;
	color: #333;
	background: #eee;
	}

/* ソースコードの断片 */
p code, li code, dd code {
	letter-spacing: normal;
	color: black;
	background: #ececec;
	font-size: 100%;
	padding: 0 .1em;
	}
pre code, .source code {
	letter-spacing: normal;
	color: #111;
	background: transparent;
	padding: 0;
	}
pre code * {
	font-weight: normal;
	}
td code, pre code {
	font-size: 100% !important;
	}
code.uri {
	color: #222;
	background: transparent;
	font-family: "ＭＳ ゴシック", monospace !important;
	}
code.simple {
	color: #333 !important;
	background: transparent !important;
	font-size: 90% !important;
	}

/* 状況によって変化する値 */
var {
	color: #041;
	background: transparent;
	/*font-size: 105%;*/
	font-weight: bold;
	margin-right: 1px;
	}

/* 強調 */
/*================================================*/

em {
	font-weight: bold;
	}
strong {
	font-weight: bold;
	}
em, em *,
strong, strong * {
	/* #c00 */
	color: #c90000        !important;
	background: white     !important;
	border-color: #c90000 !important;
	}
pre code em {
	color: #710       !important;
	background: #f6f6f6 !important;
	border-bottom: solid 1px #888 !important;
	}

/* 挿入 */
/*================================================*/

ins {
	text-decoration: none;
	margin: 1em 1.3em;
	padding: 0 .7em;
	border-style: solid solid solid double;
	border-width: 1px 1px 1px 6px;
	border-color: white white white #555;
	}
p ins, dt ins, dd ins, li ins, table * ins {
	margin: 0 0 0 .5em;
	padding: 0 .2em;
	border-style: none none dotted none;
	border-width: 2px;
	border-color: #888;
	}

/* 削除 */
/*================================================*/

del, del *, del dfn, .disabled {
	text-decoration: line-through !important;
	color: gray      !important;
	background: #eee !important;
	}
.disabled {
	text-decoration: none !important;
	}
del :link, del :visited, del cite, .disabled
p del, dt del, dd del, li del, table * del {
	margin: 0;
	padding: 0;
	}

/* インライン画像 */
/*================================================*/

img {
	color: black;
	background: #f6f6f6;
	margin: .5em 0;
	border: none;
	}
img.figure, .figure img {
	margin: .3em 0 .3em .7em;
	padding: 0;
	float: right;
	}
.figure {
	margin: 0;
	padding: 0;
	}

/* アンカー */
/*================================================*/

/* リンクに関する疑似クラス */
a:link {
	text-decoration: underline;
	color: #282828;
	background: transparent;
	margin: 0;
	}
a:visited {
	text-decoration: underline;
	/*color: #282828;*/
	color: #666;
	background: transparent;
	margin: 0;
	}
a:link *, a:visited * {
	margin: 0;
	padding: 0;
	}
a:link img, a:visited img {
	border: solid 2px #ccc;
	}
cite a:link/*, cite a:visited*/ {
	color: #273333;
	}
cite a:link, cite a:visited {
	margin: 0 .1em;
	}

/* :focus疑似クラス */
a:focus {
	text-decoration: none;
	color: #060;
	background: #ffc;
	outline: dotted 1px #060;
	}
body a:focus * {
	color: inherit;
	background: inherit;
	}

/* :hover疑似クラス */
a:hover {
	color: maroon;
	background: #ffc;
	text-decoration: none;
	outline: solid 1px #ddd;
	}
a:focus:hover {
	outline: dotted 1px #999;
	}
body a:hover * {
	color: inherit;
	background: inherit;
	}
body a:hover img {
	border-color: #fae;
	}

/* :active疑似クラス */
a:active, a:active * {
	color: #060;
	background: #ffc;
	}
* > a:active, * > a:focus:active {
	color: #d00;
	outline: solid 1px #ffa500;
	}

/* 終点アンカーは動的に変化させない */
a[id]:hover, a[id]:active, a[id]:focus {
	text-decoration: none;
	color: inherit;
	background: transparent;
	font: inherit;
	margin: 0;
	padding: 0;
	border: none;
	outline: none;
	}

/* そのほか物理的な表現 */
/*================================================*/

small {
	font-size: 90%;
	}
big {
	font-size: 130%;
	}
sup {
	font-size: 80%;
	vertical-align: super;
	}
sub {
	font-size: 80%;
	vertical-align: sub;
	}

.japanese {
	font-style: normal !important;
	}
.math {
	padding: .1em .2em;
	}
.dash {
	letter-spacing: -.1em;
	white-space: nowrap;
	margin: 0 1px;
	padding: 0 .2em 0 0;
	}
.nowrap {
	white-space: nowrap;
	}

/* カーソル */
/*================================================*/

q[title] {
	cursor: help;
	}
a dfn, abbr, acronym, .help {
	cursor: help;
	}

