@charset "utf-8";
/* -----------------------------
 common.css
----------------------------- */

/* リセット */
@import url("./destyle.css");

/* ------------------------------
 general
------------------------------ */

/* ------------------------------
 basic
------------------------------ */
body {
	font-family: Yu Gothic, sans-serif;
	font-size: small;
	line-height: 150%;
	margin: 20px 4px;
}

header {
	max-width: 100%;
	margin: auto;
}

article {
	max-width: 100%;
	margin: 0px 10px;
}

aside#sub {
	max-width: 100%;
}

aside#sub > div {
	margin-bottom: 5px;
	text-align: center;
}

aside#sub > div a {
	color: #0000ff;
}

aside#sub > div:nth-of-type(2) a {
	color: #990000;
}

aside#sub section {
	margin-bottom: 10px;
}

aside#sub section h3 {
	margin-bottom: 5px;
	padding: 2px;
	background-color: #006699;
	font-weight: bold;
	color: #FFFFFF;
}

aside#sub section button {
	margin-bottom: 3px;
	padding: 3px;
	width: 80px;
	border: 1px solid #A4A4A4;

	background: #fefefe; /* Old browsers */
	background: -moz-linear-gradient(top,  #fefefe 0%, #f0f0f0 100%); /* FF3.6-15 */
	background: -webkit-linear-gradient(top,  #fefefe 0%,#f0f0f0 100%); /* Chrome10-25,Safari5.1-6 */
	background: linear-gradient(to bottom,  #fefefe 0%,#f0f0f0 100%); /* W3C, IE10+, FF16+, Chrome26+, Opera12+, Safari7+ */
	filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#fefefe', endColorstr='#f0f0f0',GradientType=0 ); /* IE6-9 */
}


aside#sub section nav dl dt a {
	font-weight: normal;
	color: #0000ff;
}

aside#sub section nav dl a:hover {
	background-color: #DDE4E6;
}

/* ------------------------------
aside#sub section nav dl dt:first-of-type {
	text-align: center;
}

aside#sub section nav dl dt:first-of-type a {
	color: #184575;
}
------------------------------ */




aside#sub section nav dl dt span {
	color: #990000;
}

aside#sub section nav dl dd:not(:last-of-type) {
	margin-bottom: 5px;
	padding-bottom: 5px;
	border-bottom: 1px solid #A0A0A0;
}

aside#ads {
	max-width: 100%;
}

footer {
	display: flex;
	justify-content: space-between;
	
	max-width: 100%;
	margin: auto;
	padding: 10px;
	padding-bottom: 0px;
	border: 1px solid #666666;

	color: #666666;
}

footer .bm {
	max-width: 50%;
}

footer .bn {
	text-align: center;
}

footer #copy {
	font-style: italic;
}


/* ------------------------------
 down
------------------------------ */
#down {
	padding: 10px;
	background-color: #FEEFB4;
}

#down .result {
	min-height: 150px;
	margin: 10px 0px;
	padding: 10px;
	border: 2px dotted #BFBFBF;
	background-color: #FFFFFF;
}

#down .result progress {
	width: 200px;
}

#down .result .progress {
	margin-left: 10px;
}

#down .result .bps {
	margin-left: 10px;
}

#down .result .answer {
	color: #FF0000;
}

#down button {
	padding: 7px 15px;
	border: 1px solid #000000;
	background-color: #CCCCCC;
	font-size: large;
}

#down button.progress {
	background-color: #FF0000;
}


/* ------------------------------
 up
------------------------------ */
#up {
	padding: 10px;
	background-color: #FEEFB4;
}

#up .result {
	min-height: 150px;
	margin: 10px 0px;
	padding: 10px;
	border: 2px dotted #BFBFBF;
	background-color: #FFFFFF;
}

#up .result progress {
	width: 200px;
}

#up .result .progress {
	margin-left: 10px;
}

#up .result .bps {
	margin-left: 10px;
}

#up .result .answer {
	color: #FF0000;
}

#up button {
	padding: 7px 15px;
	border: 1px solid #000000;
	background-color: #CCCCCC;
	font-size: large;
}

#up button.progress {
	background-color: #FF0000;
}

/* -----------------------------
 PC
----------------------------- */
@media not screen and (max-width:1000px) { /* 閾値変更 */
	header {
		width: 500px;
	}
	
	header #nav {
		display: none;
	}

	main {
		display: flex;
		justify-content: center;
		align-items: stretch;
	}

	article {
		order: 2;
		width: 500px;
	}

	aside#sub {
		order: 1;
		width: 160px;
	}

	aside#ads {
		order: 3;
		width: 160px;
	}

	footer {
		width: 840px;
	}
}

/* -----------------------------
 SP
----------------------------- */
@media screen and (max-width:1000px) { /* 閾値変更 */
	header {
		width: 100%;
		display: flex;
		justify-content: space-between;
		align-items: stretch;
	}

	header h1 img {
		width: 100%;
		height: auto;
	}

	header #nav {
		display: flex;
		justify-content: center;
		align-items: stretch;
		margin-left: 15px;
	}

	header #nav .btn {
		display: flex;
		justify-content: center;
		align-items: center;
	}

	header #nav .btn img {
		cursor: pointer;
	}

	header #nav nav {
		position: fixed;
		top: 0;
		right: -100%;
		width: 250px;
		max-width: 80%;
		height: 100vh;
		margin: 0;
		padding: 0;
		background-color: #FFFFFF;
		box-shadow: 0px 2px 3px #999999;
		z-index: 99;
	}

	header #nav .close {
		padding: 20px;
		text-align: right;
		cursor: pointer;
	}

	header #nav nav menu {
		height: 100%;
		margin: 0;
		padding: 0;
		list-style-type: none;
		border-top: 1px solid #999999;
		overflow: auto;
	}

	header #nav nav menu li {
		border-bottom: 1px solid #999999;
	}

	header #nav nav menu li:not(.block) {
		padding: 5px 10px;
	}

	header #nav nav menu li.block a {
		display: block;
		padding: 5px 10px;
	}

	header #nav nav menu li a:hover {
	}

	aside#sub {
		display: none;
	}

	aside#ads {
		display: none;
	}
}
