body {
	margin: 0em;
	padding: 0em 1em 0em 1em;
	font-family: sanserif;
}

h1 {
	background: lavender;
	margin: 0 -1em 0 -1em;
	padding: 0.5em 1em 0.5em 1em;
}

summary {
	font-weight: bold;
}
/*
details {
	margin: 0;
	padding: 0;
	border-style: solid;
	border-width: 5px 1px 5px 1px;
	border-color: blue;
}
*/

kbd { color: firebrick; font-weight: bold; }

nav {
	padding: 0 1em 0 1em;
}

div#body {
	background: lightgray;
	border-radius: 1em;
	border: outset 2px steelblue;
}
footer {
	color: darkgray;
	text-align: center;
}
div#banner {
	background: darkblue;
	color: white;
	text-align: center;
	font-size: 20px;
	font-weight: bold;
	font-family: sanserif;
	margin: 0;
	padding: 10px;
}
span[title]::after {
	content: "?";
	font-family: sanserif;
	font-size: small;
	vertical-align: super;
	color: black;
	background: lemonchiffon;
	padding: 0 0.2em 0 0.2em;
	border-radius: 0.5em;
}

::after {
        display: inline-block;
        font-size: 70%;
        font-weight: bold;
        font-style: sans-serif;
        text-decoration: none;
        vertical-align: super;
}

a[target]::after {
        content: "→□";
        color: darkblue;
        !background-color: lavender;
        letter-spacing: -0.75em;
        !padding-right: 1.5em;
        !margin-right: 3.5em;
        !border-radius: 1.0em;
        padding: 0 1.0em 0 0.25em;
}

/*
a[target]::after {
	content: "⇗";
	font-family: sanserif;
	!vertical-align: super;
	font-size: small;
	color: black;
	text-decoration: none;
	display: inline-block;
	border: inset 1px black;
	border-radius: 3px;
	!margin-left: -10px;
	!padding-left: 0px;
}
*/
a.banner {
	text-decoration: none;
}
a.btn {
	text-decoration: none;
	color: white;
	font-size: smaller;
	font-weight: bold;
	font-family: sanserif;
	background: royalblue;
	border-radius: 0.5em;
	border: outset 1px darkblue;
	display: inline-block;
	margin: 0.25em;
	padding: 0.25em 0.5em 0.25em 0.5em;
}
a.btn:hover {
	border-style: inset;
	color: cyan;
}

article {
	background: white;
	!border: solid 1px gray;
	border: inset 2px steelblue;
	border-right: none;
	border-radius: 2em 0em 0em 2em;
	margin: 0.5em 0em 0.5em 1em;
	padding: 1em;
}

.tab {
	background: lightgray;
	color: white;
}

.info {
  background: lemonchiffon;
  font-family: sans-serif;
}

/* 注釈文の記述用のクラス */
div.note {
  background: cornsilk;
  font-size: smaller;
}

div.note p {
  margin: 2px 0 2px 0;
  padding: 0;
}

span.note {
	color: darkslategray;
}

/* 数式の記述用のクラス */
.eq {
  background: ivory;
}

/* ファイル内容の記述用のクラス */
.file {
  background: azure;
  font-family: monospace;
  font-style: normal;
}

/* 端末での操作・出力の記述用のクラス */
.term {
  background: honeydew;
  font-family: monospace;
  font-style: normal;
}

/* 操作方法の記述用のクラス */
.op {
  background: #f4f4f4;
  font-family: sans-serif;
  font-style: normal;
}

/* レポート提出のクラス */
.report {
  background: #ffe7e7;
}

div.info, div.note, div.eq, div.file, div.term, div.fig, div.report, div.op {
  margin: 0.5em 2.0em 0.5em 2.0em;
  padding: 5px;
  border: solid 1px gray
}

/* 補足 */
fieldset.ps {
  border: solid 1px gray;
  margin: 0.5em 2.0em 0.5em 2.0em;
  padding: 1em;
}

/* インデント */
.indent {
  margin-right: 2em;
  margin-left: 2em;
}

/* TABLE 等の余白 */
table { border-collapse: collapse; }
TH, TD { padding: 5px; border-width: 1px; border-color: gray; }
BLOCKQUOTE { padding: 0px 5px; }

/* TR の背景色 */
.odd { background: aliceblue; }
.even { background: lavender; }
.head { background: lemonchiffon; }
.foot { background: honeydew; }
.top { color: honeydew; background: mediumslateblue; }

div.obj { margin: 1em 4em 1em 4em; padding: 1em 0em 1em 0em; border: solid 0px gray; }
.obj div.name { font-family: sans-serif; font-weight: bold; text-align: center; }
.obj div.file { border: solid 1px gray; }
.obj div.fig { border: solid 1px gray; text-align: center; padding: 1em; }
.obj table { margin: 0.5em auto 0.5em auto; }

/* フォント */
h1, h2, h3, h4, h5, h6 {
  font-family: sans-serif;
  font-style: normal;
}
EM {
  color: blue;
  font-family: sans-serif;
  font-style: normal;
  background-color: #f7f7f7;f;
}
STRONG {
  color: red;
  font-family: sans-serif;
  font-style: normal;
  background-color: #f7f7f7;
}
pre, tt {
  font-family: monospace;
  font-style: normal;
}
pre em, pre strong {
  font-family: monospace;
  font-style: normal;
}
i, .eq, .eq pre {
  font-family: 'Century Schoolbook L',serif;
}
i {
  font-style: italic;
}
B {
  font-family: sans-serif;
  font-weight: bolder;
}
cite {
  color: darkred;
  font-style: normal;
}
dfn {
  color: maroon; royalblue;
  font-weight: bold;
  font-family: sans-serif;
  font-style: normal;
}
del {
  color: gray;
  text-decoration: line-through;
}
ins {
  color: #400000;
  text-decoration: none;
}
caption {
  font-family: sans-serif;
  font-style: normal;
  color: darkslategray; darkgreen;
}
s {
  color: gray;
}
th {
  font-family: sans-serif;
}

/* その他 */
fieldset.report legend {
  background-color: white;
  border: solid 1px gray;
  padding: 5px;
  font-family: sans-serif;
  font-style: normal;
}

fieldset.report {
  border: solid 1px gray;
  padding: 1em;
}

li, dd {
  !line-height: 150%;
  margin-bottom: 0.5em
}

div.catch {
  margin: 3px 2em 3px 2em;
  padding: 3px 1em 3px 1em;
  font-family: sans-serif;
  font-size: 120%;
  font-weight: bold;
  color: black;
  background-color: beige;
  !border: 0px solid gray;
}

div.box {
  border: dashed 1px gray;
  padding: 0.5em;
  margin: 0.5em;
  background-color: #ffeeee; mistyrose;
}

pre.ng {
  background-color: #ffcccc;
}
pre.ok {
  background-color: #ccffff;
}
pre.q {
  background-color: #ffffcc;
}
pre.a {
  background-color: #ffffff;
}

