* {
	box-sizing: border-box;
}

BODY {
	margin: 10% ;
	padding : 0 ;
	color: Black ;
	background-color: #FFFFF0 ;
}

div.EOF {
	height: 40em ;
	width: 111% ;
	background-color: #e0e0d0 ;
}

h1 {
	margin-top: 0em ;
	margin: 0px ;
	padding: 0px ;
/*	border-left: 0.4em solid #808080 ;
	padding-left: 0.25em ;
	padding-top: 0.75em ;
	padding-bottom: 0.75em ; */
	font-family: serif ;
/*	font-weight: 700 ; */
	font-size: 2em ;
}

h1.header {
	font-size: 0.75em ;
	position: absolute ;
	top: 0em ;
	left: 0em ;
	width: 100% ;
	border-style: none none solid none;
	border-color: #444 ;
	margin-right: 0px ;
/*	margin-bottom: 4em ;*/
	font-family: sans-serif ;
}	

h1.footer {
	font-size: 0.75em ;
	position: absolute ;
/*	top: 0em ;*/
	left: 0em ;
	width: 100% ;
	border-style: solid none none none;
	border-color: #444 ;
	margin-right: 0px ;
	margin-top:0.5em ;
/*	margin-bottom: 4em ;*/
}	


p.subtitle {
	text-align: center ;
}

p.writer {
	margin-left: 0% ;
	text-align: left ;
}

p.notes {
	float: right ;
	width: 33% ;
	color: #444 ;
	border: 0.2em solid #888;
	margin-left: 0.5em ;
	margin-right: 0.5em ;
	margin-top: 0.25em ;
	margin-bottom: 0.25em ;
	padding: 1em ;
}





h2 {
	margin-top: 1em ;
	margin-left: -5% ;
	width: 105% ;
	padding-top: 0em ;
	padding-bottom: 0em ;
	border-bottom: 0.05em solid #808080 ;
	padding-bottom: 0em ; 
	font-size: 1.5em ;
	font-family: sans-serif ;
}

h3 {
	margin-top: 2em ;
	margin-bottom: 0.5em ;
	margin-left: 0% ;
	width: 100% ;
	padding-top: 0em ;
	border-bottom: 0.05em solid #808080 ;
	padding-bottom: 0em ; 
	font-size: 1.25em ;
	font-family: sans-serif ;
}


h4 {
	margin-top: 1.5em ;
	margin-bottom: 0.5em ;
	margin-left: 0% ;
	width: 80% ;
	padding-top: 0em ;
/*	border-bottom: 0.05em solid #808080 ; */
	padding-bottom: 0em ; 
	font-size: 1em ;
	font-family: sans-serif ;
}

h1,h2,h3,h4,dt {
	clear: both ;
}


p {
	margin: 0em ;
	margin-bottom: 0.5em ;
	text-indent: 1em ;
	line-height: 1.4em ;
}

p.ni {
	text-indent: 0em ;
}

p.math {
	text-indent: 0em ;
	margin-left: 4em ;
	line-height: 1.5em ;
}

a.nb {
	border-style: none ;
}

pre {
	margin: 1em ;
}

pre.AA {
	font-family: 'ＭＳ Ｐゴシック' sans-serif ;
	line-height: 1em ;
}

blockquote {
	margin-left:5% ;
	padding: 0.5em ;
	margin: 0.5em ;
/*	margin-right: 10% ; */
	border: 2px solid #808080 ;
}

div.note {
	width: 80% ;
	margin-top: 0.5em ;
	margin-bottom: 0.5em ;
	margin-left: 10% ;

	background-color: #FFF0F0 ;
	margin-left:5% ;
	padding: 0.5em ;
/*	margin-right: 10% ; */
	border: 2px solid #808080 ;
}





dt {
	margin-top: 1em ;
	margin-bottom: 0.5em ;
	margin-left: 2em ;
	width: 95% ;
	padding-top: 0em ;
	border-bottom: 0.05em solid #808080 ;
	padding-bottom: 0em ; 
/*	font-size: 1em ; */
	font-family: sans-serif ;
}

dd {
	text-indent: 0em ;
	margin-bottom: 1.4em ;
	width: 90% ;
}

ul {
	text-indent: 0em ;
}

ul.inline li{
	display: inline ;
}

li {
	line-height: 1.5em ;
}


img.banner {
	width: 200px ;
	height: 40px ;
}

img.photo {
	border: 2px  solid #000 ;
}


table.rules {
	border: 1 ;
/*	frame: vsides ; */
/*	rules: rows ; */
}


div.counter {
	font-size: 0.8em ;
	font-family: monospace ;
	text-align: right ;
}

div.quick_links {
	text-align: center ;
	padding-top: 1em ;
	line-height: 1.2em ;
	margin-bottom: 2em ;
}


div.column {
	padding-top: 0.25em ;
	padding-bottom: 0.25em ;
	padding-left: 1em ;
	padding-right: 1em ;
	border: 0.05em solid #808080 ;
}

span.date {
	font-size: 0.66em ;
	text-align: left ;
}

div.date {
	width: 100% ;
	text-align: right ;
	margin-bottom: 1em ;
}

div.vspace {
	margin-top:1em ;
}
div.vspace4em {
	margin-top:4em ;
}

span.red {
	color:#f00 ;
}

span.green {
	color:#0f0 ;
}

span.blue {
	color:#00f ;
}

span.crimson {
	color:#A2143C ;
}

span.detail {
	float:right ;
	font-size: 0.75em ;
}

span.main {
	float:left ;
}

img.floatR {
	clear: both ;
	float:right ;
}

p.REM {
	color: #808080 ;
	text-indent: 0em ;
}


hr {
	display: none ;
}

ul.quick_links{
	display:flex;
	flex-wrap: wrap;
	list-style-type: none;
	justify-content: center;
	column-gap: 2em;
	row-gap: 0.5em;
}

@media(max-width: 768px){
	h1 {
		font-size: 1em ;
	}
	header {
		padding-bottom: 4em;
	}
	dt {
		margin-top: 0.5em ;
		margin-bottom: 0.25em ;
		margin-left: 0.5em ;
		width: 95% ;
		padding-top: 0em ;
		border-bottom: 0.05em solid #808080 ;
		padding-bottom: 0em ; 
	/*	font-size: 1em ; */
		font-family: sans-serif ;
	}
	dd {
		margin-left: 0.5em;
		width: 100%;
	}
	ul.quick_links{
		flex-direction: column;
		gap:0.25em;
	}
	img {
		max-width: 100%;
		height: auto;

	}
}