html { scroll-padding-top: 100px; }

#pagehead #head1 {margin: 1em 0px 0px}
#pagehead #head2 {margin: 0px}
#pagehead #head3 {margin: 0px}
#pagehead #ejlink {float: right; position: absolute; top: 0px; right: 4em; }
.wide #pagehead #ejlink { right: 5px; }
,wide #pagehead #head1 {margin-top: 0px}
#pagehead a, #right a {color: #000; text-decoration: none; }
#menubtn { top: 0px; right: 0px; background: #dfe; position: fixed; font-size: 10px; padding: 10px; border-radius: 0px 0px 0px 10px; }
#menubtn span { display: inline-box; border-top: double 10px #000; }
#topmenu { position: fixed; background: #dfe; top: 25px; clear: both; min-height: 50px; line-height: 40px; z-index: 2; }
#topmenu li {display: inline-block; padding: 3px 1em; }
.wide #topmenu { text-align: right; position: sticky; top: 0px; }

#mainmenu dt { margin: 20px 2px 5px; padding: 5px; background: #aec; font-size: 110%;}
#mainmenu dd { margin: 5px; min-height: 25px; color: #555; }
#mainmenu dd a { display: inline-block;  padding: 2px 5px; margin: 2px 10px; text-decoration: none; color: #333}
#mainmenu dt a {  color: #33f; }
#mainmenu dd.l1 a { color: #555; }

#pagefooter { clear: both; background: #ccc; }
#pagefooter table { margin: 0em; padding: 1em;}
#pagefooter table a { text-decoration: none; color: #333; display: inline-block; margin: 0px 0.7em; }
#pagefooter th, #pagefooter td { border-bottom: solid 1px #333;}
.wide #pagefooter th, .wide #pagefooter td { border-bottom: none;}
#pagefooter th { max-width: 40%; line-height: 30px;}
.wide #pagefooter th { width: 13.5em; text-align: right; }
#pagefooter td { border-left: solid 1px #333; line-height: 30px;}
#pagefooter .address { margin: 0em; padding: 1em;}

#mainmenu a:hover { text-decoration: underline; }

#right img { width: 240px; }
#right a { width: 240px; line-height: 1em; display: inline-block; margin: 10px; }

h3#whatsnew0 { color: #fff; background: #33a; padding: 2px 10px; margin: 1em 0px 2px; border: none; }
div#whatsnew { padding: 1em; border: solid 1px; overflow-y: scroll; margin-top: 2px; }
div#whatsnew dl { margin: 0px; }
#whatsnew dd+dt { margin-top: 0.4em; padding-top: 0.4em; border-top: dotted 1px #777; }
#whatsnew2 { margin: 0px; text-align: right; padding-right: 2em; }

#intro { background: #ffa; color: #300; padding: 1em;}

#flex { display: flex; flex-direction: row; clear: both; }
#left { width: 260px; }
#left ul { position: sticky; top: 60px; margin: 0px; padding: 0px 10px; z-index: 1; }
#left ul li { padding: 10px 0px; margin: 0px; margin-left: 10px; list-style: none; }
#left ul li:first-child { font-weight: bold; font-size: 120%; margin-left: 0px; }
#left ul li.sub { margin-left: 20px; font-size: 95%; }
#right { width: 260px; background: #eee; }
#contents { width: calc(100% - 520px); }
.nobanner #contents, .nomenu #contents { width: calc(100% - 260px); }
.nobanner.nomenu #contents { width: 100%; }

@media screen and (max-width: 1060px) {
	#flex { flex-wrap: wrap;}
	#left { width: 260px;  }
	#right { width: 100%; }
	#contents { width: calc(100% - 260px); }
	.nomenu #contents { width: 100%; }
}

@media screen and (max-width: 800px) {
	#left { display: none; }
	#contents, .nomenu #contents, .nobanner #contents { width: 100%; }
}

@media screen and (max-width: 600px) {
	#pagehead img, #topmenu { display: none; }
	#topmenu { position: fixed; }
	#flex { border-top: solid 1px #777; }
}

.h10em {height: 10em; }
.t-red {color: red;}
.t-blue {color: blue;}
.s85 {font-size: 85%;}
.s125 {font-size: 125%;}

.b-yellow {box-shadow: 0 -10px 10px #ff0 inset;}

#pagehead h2 { border: none; }
h2 { border-left: solid 8px #3c8; border-bottom: solid 3px #3c8; padding-left: 5px }
h3 { border-left: solid 5px #3c8; border-bottom: solid 2px #3c8; padding-left: 8px }
h4 { border-left: solid 3px #3c8; border-bottom: solid 1px #3c8; padding-left: 10px }

h4 {margin-left: 1em; }
p {margin: 1em 2em; }
blockquote {margin: 1em 4em; font-size: 95%;}
table {margin: 1em 2em; }
table.border { border-spacing: 0px; border-collapse: collapse; }
table.border th, table.border td { border: solid 1px #333; padding: 3px 0.5em;}
table.c td { text-align: center;}
.wide table.th8 th:first-child {width: 8em; }
.wide table.th10 th:first-child {width: 10em; }
.wide table.th12 th:first-child {width: 12em; }
.linkbox {display: inline-block; padding: 7px 1em; margin: 3px; border: solid 2px blue; background: #ffa; border-radius: 9px; text-decoration: none; }
.linkbox:hover { background: #cc8; color: red; } 
