body { background: #DDFFFF; font-size: small; }
A:hover { color:#FF0000; }
TD {
	padding-left: 9px;
	vertical-align: top;
}
TABLE {
	width:100%;
}
/* UL { */
DL {
	list-style: outside;
	margin-top: 3px;
	margin-bottom: 3px;
	margin-left: 1em;
}
/* UL LI { */
DL DD {
	font-size: 12pt;
	list-style-type: circle;
	margin-top: 3px;
	margin-bottom: 3px;
	margin-left: 1em;
}
/* UL LI LI { */
DL DD DD {
	font-size: small;
	background-color: #FFDDFF;
	padding: 3px;
	margin: 1em;
	border: 1px inset;
	border-width: 1px 2px 2px 1px;
	border-color:green;
	border-style: solid;
	list-style-type: none;
}
/* UL LI LI LI { */
DL DD DD DD {
	background-color: #FFAAFF;
	padding: 3px;
	padding-left: 1em;
	margin: 3px;
	border-width: 1px 2px 2px 1px;
	border-color:green;
	border-style: solid;
	list-style-type: none;
}
div { margin-left: 18px; }
pre b { color: red; }
hr.sep { width:40%; text-align:left; border: 1px inset; }

/* ------------------------------------------------------------ */
/* 文書タイトル */
h1 {
	width: 100%;
	border-width: 18px 18px 18px 18px;
	border-color:green;
	border-style: solid;
	background-color: Green;
	color: white;
	padding: 4px;
}
/* ------------------------------------------------------------ */
/* 文書タイトル */
h2 {
	width: 100%;
	border-width: 18px 1px 1px 18px;
	border-color:green;
	border-style: solid;
	background-color: Lime;
	color: white;
	padding: 4px;
}
div {
	border-width: 2px 2px 2px 2px;
	border-style: solid;
	border-color: #CCCCCC;
/*	background-color: #00FF00;*/
	background: #DDFFDD;
	padding:3px;
	margin-left: 3em;
	margin-right: 3em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
pre {
	border-width: 2px 2px 2px 2px;
	border-style: solid;
	border-color: #CCCCCC;
	background-color: #EEEECC;
	padding:3px;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 40px;
	margin-right: 40px;
}

div div {
	border-width: 2px 2px 2px 2px;
	border-style: solid;
	border-color: #CCCCCC;
	background-color: #AAFFAA;
	padding:3px;
	margin-left: 3em;
	margin-right: 3em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}

img {
	margin-left: 4em;
	margin-top: 0.5em;
	margin-bottom: 0.5em;
}
/* ---------------------------------------- */
/* h2 は章タイトルに使用 */
/* 但し、章説明テキストも入れたため、div にスタイル設定 */
div.sectionTitle {
	vertical-align: top;
	border-width: 4px 1px 0px 18px;
	border-color:green;
	border-style: solid;
	color: Green;
	background-color: Lime;
	padding: 4px;
	margin-top: 20px;
	margin-bottom: 4px;
	margin-left: 0px;

	page-break-before: always;		/* 改ページ */
}
/* 章説明テキスト */
div.sectionTitle div {
	width:100%;
	border-width: 1px 1px 1px 1px;
	border-style: solid;
	border-color:green;
	color: Green;
	background-color: Silver;
	padding: 2px;
	margin-left: 4px;
}

/* ---------------------------------------- */
/* h3 は節タイトルに使用 */
h3 {
	font-size: small;
	width: 50%;
	border-width: 1px 1px 1px 1px;
	border-color:green;
	border-style: solid;
	color: Green;
	background-color: Lime;
	padding: 4px;
	margin-top: 9px;
	margin-bottom: 4px;
	margin-left: 9px;

	page-break-after: avoid;	/* 改ページ抑制 */
}
/* h4 は節タイトルに使用 */
pre h4 {
	font-size: small;
	width: 50%;
	border-width: 1px 1px 1px 1px;
	border-color:green;
	border-style: solid;
	color: Green;
	background-color: #FFAAFF;
	padding: 4px;
	margin-top: 9px;
	margin-bottom: 9px;
}
/* h5 は節タイトルに使用 */
pre h5 {
	font-size: small;
	width: 40%;
	border-width: 1px 1px 1px 1px;
	border-color:green;
	border-style: solid;
	color: Green;
	background-color: #FFDDFF;
	padding: 4px;
	margin-top: 9px;
	margin-bottom: 9px;
}

/* ------------------------------------------------------------ */
<!-- 左側の図版 -->
TD.imageSide { text-align:center; width:30%; }

<!-- 右側の説明文 -->
TD.textSide { width: 100%; }

TD.textSide div {
	vertical-align: top;
	background-color: white;
	padding: 9px;
	border-style: solid;
	border-color:green;
}
TD.textSide div table {
	width:90%;
	border-width: 1px 1px 1px 1px;
	border-style: solid;
	border-color:green;
	background-color:white;
	margin-left: 4px;
}
TD.textSide pre {
	border-width: 2px 2px 2px 2px;
	border-style: solid;
	border-color: #CCCCCC;
	background-color: #EEEECC;
	padding:3px;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 40px;
	margin-right: 40px;
}
TD.textSide hr {
/*	border-width: 2px 2px 2px 2px;
	border-style: solid;
	border-color: #CCCCCC;
	background-color: #EEEECC;
	padding:3px;
	margin-top: 10px;
	margin-bottom: 10px;
	margin-left: 40px;
	margin-right: 40px;
*/
}

/* ------------------------------------------------------------ */
@media print {
  @page         { margin: 10% }
  TABLE,
  H1, H2, H3,
  H4, H5, H6    { page-break-after: avoid; page-break-inside: avoid }
  BLOCKQUOTE, 
  PRE           { page-break-inside: avoid }
  UL, OL, DL    { page-break-before: avoid }
}

