img {
	max-width:100%;
	height:auto;
}
pre {
	white-space: pre-wrap ;
	word-break:break-word;
}
ul,ol {
	padding-left:1.5em;
}
#bbs {
	div {
		white-space: pre-wrap ;
	}
}

textarea,input,select {
	padding:4px;
	border-style:solid;
	border-width:0.5px;
	margin:4px;
	background:#fff;
}
input[type="file"] {
	border-style:none;
	background:rgba(0,0,0,0);
}
input[type="submit"],button {
	border-style:none;
	padding:4px 10px;
	border-radius:1em;
	background:#b0c4de;
}
input[type="text"][disabled]{
	cursor:not-allowed; /* 禁止カーソル */
}
hr {
	margin:0.4em 0;
}

#container {
	display: grid;
	margin:0px;
	grid-template-columns: 1fr 360px 860px 360px 1fr ;
	/*grid-auto-rows: minmax(2em, auto);*/
	grid-auto-rows: minmax(2em, auto);
}
#header{
    grid-column: 2/5;
    grid-row: 1/2;
}
#header_right{
    grid-column: 2/5;
    grid-row: 1/2;
}
#sub_header{
    grid-column: 2/5;
    grid-row: 2/3;
}
#main{
    grid-column: 3/4;
    grid-row: 3/5;
}
#nav{
    grid-column: 2/3;
    grid-row: 3/5;
}
#nav ul {
	list-style:none;
	padding-left:0;
}
#sidebar{
    grid-column: 4/5;
    grid-row: 3/5;
}

#footer{
    grid-column: 2/5;
    grid-row: 5/6;
}

#footer_right{
	grid-column: 2/5;
	grid-row: 5/6;
	text-align:right;
}
#support{
	grid-column: 2/5;
	grid-row: 6/7;
}

@media screen and (max-width: 1580px) {
	/* 959px以下に適用されるCSS（タブレット用） */

	img {
		max-width:100%;
		height:auto;
	}

	#container{
	display: grid;
		margin:0px;
		grid-template-columns: 300px 70%;
		grid-auto-rows: minmax(2em, auto);
	}

	#header{
	    grid-column: 1/3;
	    grid-row: 1/2;
	}
	#sub_header{
	    grid-column: 1/3;
	    grid-row: 2/3;
	}
	#main{
	    grid-column: 2/3;
	    grid-row: 3/5;
	}
	#nav{
	    grid-column: 1/2;
	    grid-row: 3/4;
		height:1fr;
	}
	#sidebar{
	    grid-column: 1/2;
	    grid-row: 4/5;
		/*min-height:20px;*/
	}
	#footer{
	    grid-column: 1/3;
	    grid-row: 5/6;
	}
	#support{
	    grid-column: 1/3;
	    grid-row: 6/7;
	}
}
@media screen and (max-width: 700px) {
	/* 480px以下に適用されるCSS（スマホ用） */
	
	img {
		max-width:100%;
		height:auto;
	}
	
	#container{
	display: grid;
		margin:0px;
		grid-template-columns: 1fr;
		grid-auto-rows: minmax(2em, auto);
	}
	#header{
	    grid-column: 1/2;
	    grid-row: 1/2;
	}
	#sub_header{
	    grid-column: 1/2;
	    grid-row: 2/3;
	}
	#main{
	    grid-column: 1/2;
	    grid-row: 3/4;
	}
	#nav{
	    grid-column: 1/2;
	    grid-row: 4/5;
	}
	#sidebar{
	    grid-column: 1/2;
	    grid-row: 5/6;
	}
	#footer{
	    grid-column: 1/2;
	    grid-row: 6/7;
	}
	#support{
	    grid-column: 1/2;
	    grid-row: 7/8;
	}

}