/* CSS Document */
html{
    font-size: 62.5%;
}
body{
    font-size:1.6rem;/* 16px*/
    line-height: 2;
	font-family: source-han-sans-japanese, sans-serif;
	font-weight: 300;
	font-style: normal;
	text-align: center;
	overflow-x: hidden;
	background-image: url("../images/common/back.jpg");
	background-repeat: no-repeat;
	background-attachment: fixed;
	background-size: cover;
	background-color: rgba(10,52,104,1.00);
} 

main {
	display: block;
}
h1 {
    font-size: 32px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(3.2rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
    line-height: 1.3;
	font-weight: 400;
	font-style: normal;
}

h2 {
    font-size: 28px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.8rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
    line-height: 1.3;
	font-weight: 400;
}

h3 {
    font-size: 22px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.2rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
    line-height: 1.3;
	font-weight: 400;
}

small {
	font-size: 80%;
}
@media (min-width: 1200px) {/* 1200px以上*/
    h1 {
        font-size: 3.6rem;/* 36px*/
    }
    h2 {
        font-size: 2.8rem;/* 24px*/
    }
}
@media screen and (max-width: 999px) {/* 640px以下*/
    body{
		line-height: 2;
		font-size: 1.6rem;
    }
    h1{
        font-size: 2.4rem;/* 24px*/
    }
    h2 {
        font-size: 2.0rem;/* 20px*/
    }
}

/* header */
header {
	position: relative;
}

/* main */
main {
	position: relative;
}
main a:link ,
main a:visited {
	color:#000;
}

main h1 { 
	color: rgba(10,52,104,1.00);
	font-family: tbudrgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
	border-bottom: 3px solid rgba(10,52,104,1.00);
	margin-bottom: 10px;
}

main section {
	margin: 20px 0 0 0;
}

main section h2 {
	color:rgba(255,255,255,1);
	background: rgba(10,52,104,1.00);
	font-family: tbudrgothic-std, sans-serif;
	font-weight: 700;
	font-style: normal;
	margin: 0.5em 0 0 0;
}

main section h3 { 
	color: rgba(10,52,104,1.00);
	font-family: vdl-logog, sans-serif;
	font-weight: 600;
	font-style: normal;
	margin: 0.5em 0 0 0;
}

/* footer */
footer {
	background: rgba(10,52,104,1.00);
	width:100%;
	color: rgba(255,255,255,1)
}

.clearfix:after {
	content: "";
	display: block;
	clear: both;
}
 
.clearfix:before {
	content: "";
	display: block;
	clear: both;
}
 
.clearfix {
	display: block;
}

span.ol {
	text-decoration: line-through;
}

span.em {
	font-weight: 900;
	color: rgba(139,6,9,1.00);
	padding-left: 1em;
}

main article p.back {
	text-align: center;
	margin: 1em;
}

#PageTop {
	background: rgba(120,120,120,0.5) none repeat scroll 0 0;
	border-radius: 5px;
	bottom: 1%;
	color: #fff;
	font-size: 2em;
	width:1em;
	height:1em;
	display:inline-block;
	text-align:center;
	padding: 0.5em;
	position: fixed;
	right: 5%;
	z-index: 100;
	line-height:1;
	text-decoration:none;
}

#PageTop:hover {
	background: rgba(120,120,120,1);
}

.btn {
	display: block;
	width: 60%;
	text-align: center;
	background-color: rgba(10,52,104,1.00);
	border: 2px solid rgba(10,52,104,1.00);
	font-size: 1.2em;
	color: rgba(10,52,104,1.00);
	text-decoration: none;
	font-weight: bold;
	padding: 10px 24px;
	border-radius: 4px;
	position: relative;
	margin: 1em auto;
}

.btn span {
	position: relative;
	z-index: 1;
}

.btn::before,
.btn::after {
	content: "";
	display: block;
	background-color: #FFF;
	width: 50.1%;
	height: 100%;
	position: absolute;
	top: 0;
	transition: .2s;
}
.btn::before {
	left: 0;
}
.btn::after {
	right: 0;
}

.btn:hover:before,
.btn:hover:after {
	width: 0;
	background-color: #FFF;
}

.btn:hover {
	color: #FFF;
}

txt_center {
	text-align: center;
}

/*-- PC用 --*/
body::before {
	content: "";
	display: block;
	position: fixed;
	top:0;
	left: 0;
	z-index: -1;
	width:100%;
	height: 100vh;
	background-image: url("../images/common/back.jpg");
	background-color: rgba(10,52,104,1.00);
	background-size:cover;
	background-position:top center;
	background-repeat: no-repeat;
}

header {
	margin: 0;
	padding: 0;
	z-index: 1;
}

header section#Wmb {
	width:100%;
	color: #fff;
	position: fixed;
	top: 0;
	left: 0;
	background: rgba(10,52,104,1.00);
	z-index: 1;
	text-align: justify;
	height: 65px;
	padding: 10px 10px 0 10px;
}

header section#Head {
	width:100%;
	color: #fff;
	position: fixed;
	top: 70px;
	left: 0;
	background: rgba(0,0,0,0.8);
	z-index: 1;
	padding: 10px;
}


header article section#Head {
	margin: 0px auto 0px auto;
}

header article section#Head h1 {
	width:25%;
	float: left;
	margin: 10px 0 0 0;
	box-sizing: border-box;
}

header article section#Head h1 img {
	width:95%;
	height: auto;
}


main {
	padding: 180px 0 80px 0;
	z-index: 0;
}

main article {
	width:1000px;
	background: rgba(255,255,255,0.9);
	padding: 1em;
	margin: 40px auto;
	border-radius: 1em;
	box-sizing: border-box;
}

footer {
	height: 50px;
	padding: 1rem 0 1rem 0;	
}

section#Ranking table {
	text-align: center;
	width:100%;
	font-size: 2rem;
}

/*-- スマホ用 --*/
@media screen and (max-width: 999px) {/* 1000px以下*/
	header {
		height: auto;
	}
	header section#Wmb {
		height: 65px;
	}
	
	header section#Head {
		width:100%;
		color: #fff;
		top: 70px;
		left: 0;
		background: rgba(0,0,0,0.8);
		z-index: 1;
		padding: 10px;
	}

	header article section#Head h1 {
		width: 75%;
		margin: 0 auto;
		float: inherit;
	}

	header article section#Head h1 img {
		width:100%;
		height: auto;
		max-height: 40px;
	}

	main {
		padding: 140px 0 60px 0;
	}
	
	main article {
		width:96%;
		margin: 10px auto;
	}
	
	.btn {
		display: block;
		width: 60%;
		text-align: center;
		background-color: rgba(10,52,104,1.00);
		border: 2px solid rgba(10,52,104,1.00);
		font-size: 1.2em;
		color: rgba(255,255,255,1.00);
		text-decoration: none;
		font-weight: bold;
		padding: 10px 24px;
		border-radius: 4px;
		position: relative;
		margin: 1em auto;
	}

	.btn span {
		position: relative;
		z-index: 1;
	}

	.btn::before,
	.btn::after {
		content: none;
	}

	.btn:hover:before,
	.btn:hover:after {
		display: none;
	}

	a.btn:link ,
	a.btn:hover ,
	a.btn:visited {
		color: #fff;
	}

}

