html {
    padding: 0px;
    height: 100%
}
body {
    margin: 0px;
    padding: 0px;
    text-align: center;
    height: calc {100% - 365px};
}
body > div{
	display: inline-block;
	width: 840px;
	height: 100%;
	text-align: left;
}
#head {
	z-index: 1;
	position: fixed;
	top: 0px;
    margin: 0px;
    width: 840px;
    white-space: nowrap;
}
#head>h1 {
	margin: 0;
    padding: 8px 35px;
    font-size: 32px;
    line-height: 32px;
    text-align: center;
}

#top_menu {
	display: block;
	width: 770px;
	height: 100px;
    padding: 8px 35px;
    text-align: center;
}

#top_menu > * {
	display: inline-block;
	width:330px;
        height: 100px;
	margin-left: 10px;
	margin-right: 10px;
	padding: 3px;
	text-align: center;
        line-height: 300px;
	border-style: outset;
	border-width: 2px;
	text-decoration: none;
	text-align: center;
	font-size: 80px;
	line-height: 100px;
}

#top_menu > *:hover {
	border-style: inset;
}
#body {
	z-index: 2;
	padding-top: 170px;
	padding-bottom: 70px;
	min-height: 100%;
	min-height: calc( 100% - 160px );
}

@-moz-document url-prefix() {
    #body {
        padding-top: calc( 42px + 3rem );
    }
}

.foot-size {
	display: block;
    height:70px;
    width: 840px;

}

#foot{
	z-index: 1;
    position:fixed;
    bottom:0px;
    font-size: 12px;
}

#foot > #contact {
	margin-left: 12px;
}

#contact > #name {
	margin-left: 12px;
}

#contact > #place {
	margin-left: 24px;
}

#contact > #mail {
	margin-left: 24px;
}

#contact > #tel {
	margin-left: 24px;
}

#foot span {
	display: inline-block;
	font-size: 12px;
	line-height: 14px;
	width: 60px;
}

#foot span + span {
	width: auto;
}

.article {
    margin: 20px;
}
.article > h2 {
	margin: 0;
    padding: 0.5em
}
.article > h3 {
	margin: 0;
	padding-left: 0.5em;
	padding-right: 0.5em;
}

.article > p {
    margin-left: 10px
}
.article > table {
    margin-left: 10px
}



p:before {
	display: block;
	float: left;
	width: 1em;
	content: "\200B";
}

p.align-right {
	text-align: right;
}

/*オーダードリスト用*/
ol {
	margin: 0;
	padding: 0;
	list-style-type: none;
	counter-reset: orderlist;
	/*padding-left: 2em;*/
}

ol > li {
	display: block;
	margin: 0;
	padding: 0;
	margin-left: 2em;
}

ol > .article {
	display: block;
}

ol > li:before {
	margin: 0;
	padding: 0;
	display: block;
	float: left;
	width: 1.5em;
	position: relative;
	left: -1.5em;
	margin-right: -1.5em;
	
	counter-increment: orderlist;
	content: counter(orderlist) ".  ";
	/*margin-left: -1em;*/
}

ol > li > ol {
	margin: 0;
	padding: 0;
	counter-reset: orderlist;
}

ol > li > ol > li:before {
	margin: 0;
	padding: 0;
	display: block;
	float: left;
	position: relative;
	left: -1.7em;
	margin-right: -1.7em;
		
	counter-increment: orderlist;
	content: "(" counter(orderlist) ") ";
	/*margin-left: -1em;
	margin-right: 1em*/
}

ol > li > ol > li > ol {
	margin: 0;
	padding: 0;
	counter-rest: orderlist;
}

ol > li > ol > li > ol > li:before {
	display: block;
	float: left;
	display: block;
	float: left;
	position: relative;
	left: -1.9em;
	margin-right: -1.9em;

	counter-increment: orderlist;
	/*for IE*/
	content: counter(orderlist, upper-latin) ".  ";
	content: counter(orderlist, katakana) ".  ";
	/*margin-left: -1em;*/
}

.caution {
	list-style: none;
	margin: 0;
	padding: 0 20px 0;
}

.caution .desc {
	margin: 0 20px 0;
}

#notice {
	list-style: none;
	margin: 0;
	padding-left: 40px;
	padding-right: 40px;
}

#notice .title {

}
#notice .date {

	text-align: right;
}
#notice .desc {
	padding-left: 20px;
	padding-right: 20px;
}
#opeinfo {
	list-style: none;
	margin: 0;
	padding-left: 40px;
	padding-right: 40px;
}
#opeinfo .device {

}
#opeinfo .desc {
	padding-left: 20px;
	padding-right: 20px;
}

span.col_c {
	color: #00ffff;
	font-weight: bold
}

span.col_m {
	color: #ff00ff;
	font-weight: bold
}

span.col_y {
	color: #d8d800;
	font-weight: bold
}

span.col_k {
	color: #000000;
	font-weight: bold
}

span.col_gy {
	color: #808080;
	font-weight: bold
}
