
html {
 position: relative;
 margin: 0;
 padding: 0;
}

body {
 margin: 0;
 padding: 3px 0 0;
}

article, aside, section, nav, header, footer {
 display: block;
}

/* 枠線
--------------------------------------------------------- */

article,
article footer nav a,
article footer input,
aside h2,
aside li a {
 border-width: 1px;
 border-style: solid;
}

article,
article footer nav a:link,
article footer nav a:visited,
article footer input,
aside h2,
aside li a:link,
aside li a:visited {
 border-color: #999;
}

article footer nav a:hover,
article footer nav a:focus,
article footer nav a:active,
aside li a:hover,
aside li a:focus,
aside li a:active {
 border-color: #069;
}

article footer nav strong {
 border-width: 1px 1px 2px;
 border-style: solid;
 border-color: #999 #999 #fff;
}

/* Safari と Chrome は枠線の描写が異なるので */
@media screen and (-webkit-min-device-pixel-ratio:0) {
 article footer nav strong { border-width: 1px; }
}

article h1,
article h2,
article h3,
article h4 {
 border-bottom: 1px solid #ccc;
}

img,
a img {
 border: 0;
}


/* 背景・文字色
--------------------------------------------------------- */

body {
 background: #e8e8e8 url('/image/culdsymbol.png') left top no-repeat;
}

body,
article h2 a:link,
article h3 a:link,
article h4 a:link,
article h5 a:link,
article h6 a:link,
article h2 a:visited,
article h3 a:visited,
article h4 a:visited,
article h5 a:visited,
article h6 a:visited,
article footer nav strong {
 color: #333;
}

article footer nav a:link,
article footer nav a:visited,
aside li a:link,
aside li a:visited {
 background: #ddd;
 color: #666;
}

aside h2 {
 background: #ccc;
 color: #555;
}

article footer nav a:hover,
article footer nav a:focus,
article footer nav a:active,
aside li a:hover,
aside li a:focus,
aside li a:active {
 background: #39c;
 color: #fff;
}

article footer nav strong {
 background: #fff;
}

article footer input {
 background: #fff url('/image/searchicon.png') 3px center no-repeat;
}


/* 文字関係 (リンク以外)
--------------------------------------------------------- */

article {
 font-size: 100%;
}

aside {
 font-size: 80%;
}

h1, h2, h3, h4, h5, h6 {
 font-weight: normal;
}

article h1 {
 font-size: 180%;
}

article h2 {
 font-size: 160%;
}

article h3 {
 font-size: 140%;
}

article h4 {
 font-size: 120%;
}

aside h1, aside h2, aside h3, aside h4, h5, h6 {
 font-size: 100%;
}


/* リンク関係
--------------------------------------------------------- */

article a:link,
article ul.edithelp a:link,
article ul.edithelp a:visited {
 color: #069;
 text-decoration: none;
}

article a:visited {
 color: #777;
 text-decoration: none;
}

article footer a:visited {
 color: #777;
}

article a:hover,
article a:focus,
article a:active {
 color: #39c;
 text-decoration: underline;
}

article td a:link,
article td a:visited,
article td a:hover,
article td a:focus,
article td a:active {
 color: #000;
}

article footer nav a:hover,
article footer nav a:focus,
article footer nav a:active {
 text-decoration: none;
}

article h2 a:hover,
article h3 a:hover,
article h4 a:hover,
article h5 a:hover,
article h6 a:hover,
article h2 a:focus,
article h3 a:focus,
article h4 a:focus,
article h5 a:focus,
article h6 a:focus,
article h2 a:active,
article h3 a:active,
article h4 a:active,
article h5 a:active,
article h6 a:active {
 color: #39c;
}




/* 基本構造
--------------------------------------------------------- */

article {
 position: relative;
 margin: 50px 25px 25px 230px;
 padding: 25px;
 background: #fff;
}

aside {
 position: absolute;
 top: 25px;
 left: 25px;
 width: 180px;
 margin: 20px 0;
 padding: 0;
}



/* 本文エリア
--------------------------------------------------------- */

article h1,
article h2,
article h3,
article h4,
article h5,
article h6 {
 clear: both;
 line-height: 1;
}

article p,
article ul,
article ol,
article dl,
article table,
article pre,
article blockquote,
article form {
 margin-top: 20px;
 margin-bottom: 20px;
}

article h1 {
 margin: 0;
}

article hr,
article h2,
article h3,
article h4,
article h5,
article h6 {
 margin: 40px 0 20px;
}

article h2.preview_edit {
 margin: 80px 0 20px;
}

article ul,
article ol {
 margin-left: 20px;
 padding: 0;
}

article li ul,
article li ol {
 margin-top: 0;
 margin-bottom: 0;
}

article dl {
 padding: 0;
}

article h1,
article h2,
article h3,
article h4,
article h5,
article h6,
article dt {
 border-bottom-width: 1px;
 border-bottom-style: solid;
 border-bottom-color: #ccc;
 padding: 0 0 5px;
}

article h1 {
 padding-right: 5em;
}

article dt {
 margin-top: 20px;
 margin-bottom: 10px;
 border-bottom-style: dotted;
}

article dd {
 margin: 0;
 padding: 0 0 0 20px;
}

article table {
 padding: 0;
 border-collapse: collapse;
}

article th,
article td {
 margin: 0;
 border: 1px solid #999;
 padding: 5px;
}

article table, x:-moz-any-link {
 border-collapse: separate;
 border-spacing: 0;
 border-top: 1px solid #999;
 border-left: 1px solid #999;
 border-right: none;
 border-bottom: none;
}

article th, x:-moz-any-link {
 border-top: none;
 border-left: none;
 border-right: 1px solid #999;
 border-bottom: 1px solid #999;
}

article td, x:-moz-any-link {
 border-top: none;
 border-left: none;
 border-right: 1px solid #999;
 border-bottom: 1px solid #999;
}

article th,
article tfoot td {
 background: #eee;
}

article pre {
 border: 1px solid #333;
 padding: 1em;
 background: #666;
 color: #fff;
}

pre {
 white-space: -moz-pre-wrap;
 white-space: -pre-wrap;
 white-space: -o-pre-wrap;
 white-space: pre-wrap;
 word-wrap: break-word;
 overflow: auto;
}


hr {
 border-width: 1px 0 0;
 border-style: solid;
 border-color: #ccc;
 color: #ccc;
}

textarea {
 width: 90%;
}

table {
 font-size: 80%;
}

div.img_margin {
 margin: 0 20px 10px 0;
}

div.caution {
 margin: 20px 0;
 border: 1px solid #cc9;
 padding: 0 20px;
 font-size: 80%;
 background: #ffc;
}

blockquote {
 margin: 20px 0;
 border: 1px solid #bbb;
 padding: 0 20px;
 font-size: 80%;
 background: #eee;
}

form.edit_form div {
}

form.edit_form div label {
 font-size: 80%;
}


article header {
 position: relative;
}

article header p {
 position: absolute;
 top: 0;
 right: 0;
 margin: 0;
 font-size: 80%;
}



/* カードデータ
--------------------------------------------------------- */

div.card table {
 margin: 0 0 10px;
 font-size: 80%;
}

div.card table th,
div.card table td {
 padding: 3px;
}

div.card table th {
 background: #ddd;
}

div.card table td {
 background: #eee;
}

h2 small {
 padding-left: 1em;
 font-size: 50%;
}


/* 検索結果
--------------------------------------------------------- */

article h2.edit,
article h2.result {
 font-size: 120%;
}

article h2.edit strong,
article h2.result strong {
 font-weight: normal;
}


/* 見出しリスト
--------------------------------------------------------- */

figure {
 margin: 20px 0 40px;
 border: 1px solid #999;
 padding: 0;
 background: #eee;
}

figcaption {
 margin: 0;
 border-bottom: 1px solid #999;
 padding: 5px;
 background: #ddd;
 font-size: 80%;
}

figure.contents {
 float: left;
 display: block;
 border: 1px solid #999;
 padding: 0;
 background: #eee;
}

figure.contents figcaption {
 display: block;
 margin: 0;
 border-bottom: 1px solid #999;
 padding: 4px;
 text-align: center;
 background: #ddd;
}

figure.contents ol {
 display: block;
 margin: 10px 10px 10px 30px;
 padding: 0;
 font-size: 80%;
}

figure.contents ol ol {
 margin: 0 10px;
 padding: 0;
 font-size: 100%;
}

figure.contents ol ol li {
 margin: 3px 0 3px 10px;
 padding: 0;
}

/* Article Map
--------------------------------------------------------- */

figure.map {
 float: right;
 display: block;
 margin: 15px 0 10px 25px;
 border: 1px solid #bbb;
 padding: 0;
 text-align: center;
}

figure.map img {
 margin: 10px;
 padding: 0;
}

figure.map figcaption {
 display: block;
 margin: 0;
 border-top: 1px solid #bbb;
 border-bottom: 0;
 padding: 4px;
 text-align: center;
 background: #eee;
 font-size: 80%;
}


/* 差分ページ
--------------------------------------------------------- */

span.diff_added {
 color: #fc9;
}

span.diff_removed {
 color: #9cf;
}



/* 本文上部メニュー
--------------------------------------------------------- */

footer nav ul {
 position: absolute;
 top: -32px;
 left: 20px;
 margin: 0;
 padding: 0;
 font-size: 80%;
}

footer nav ul li {
 float: left;
 display: block;
 margin: 0;
 padding: 0;
}

footer nav ul li strong,
footer nav ul li a {
 display: block;
 margin: 0 0 0 5px;
 border-style: solid;
 padding: 6px 11px 4px;
 line-height: 20px;
 text-decoration: none;
 font-weight: normal;
}


/* 本文上部検索
--------------------------------------------------------- */

footer form {
 position: absolute;
 top: -34px;
 right: -1px;
 margin: 0;
 padding: 0;
}

footer input {
 width: 200px;
 margin: 0;
 padding: 5px 5px 5px 21px;
}


/* フッター
--------------------------------------------------------- */

article footer p {
 margin: 50px -25px -25px;
 border-top: 1px solid #999;
 padding: 25px;
 background: #ddd;
 font-size: 80%;
}


/* サイドバー
--------------------------------------------------------- */

aside h1 {
 margin: 50px 0 90px;
}


aside a {
 text-decoration: none;
}

aside section {
 margin: 0 0 10px;
}

aside h2,
aside ul,
aside li {
 margin: 0;
 padding: 0;
 list-style: none;
 font-weight: normal;
}

aside li {
 margin: -1px 0 0;
}

aside h2,
aside li a {
 position: relative;
 display: block;
 margin: 0;
 padding: 3px;
 z-index: 1;
}

aside li a:hover,
aside li a:focus,
aside li a:active {
 z-index: 2;
}



