html{
    font-size: 62.5%;
	counter-reset: number 0;
}

body{
	position: relative;
	font-family: "M PLUS Rounded 1c", sans-serif;
	font-weight: 400;
	font-size:1.6rem;/* 16px*/
    line-height: 1.75;
	text-align: center;
	background: rgb(255,255,255);
}

body:before {
	height: 100vh;
	background-image:url("../images/bg.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: 100%;
	content: "";
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -2;
}

em {
	font-weight: 600;
	font-style: normal;
	color: rgba(255,0,0,1.00);
}

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

a {
	text-decoration: none;
	color: rgba(0,104,182,1.00);
}

article, section, div {
	box-sizing: border-box;
}
h1 {
    font-size: 32px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(3.2rem + ((1vw - 0.64rem) * 2.1429));/* 24px~36pxで可変*/
    line-height: 1.3;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
}

h2 {
    font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
	margin: 1em auto 0.25em auto;
	text-align: center;
	color:#000;
	display: inline-block;
	position: relative;
	width:99.9%;
}

h3 {
	font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
    line-height: 1.3;
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
	margin-top: 1em;
	margin-bottom: 0.25em;
	text-align: center;

}

h4 {
	font-family: "Zen Maru Gothic", serif;
	font-weight: 700;
	font-style: normal;
	text-align: center;
	font-size: 20px;
    font-size: calc(2rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
	color:#000;
	border-bottom: 2px solid #000;
	padding-left: 3px;

}

small {
	font-size: 87.5%;
}

strong {
	font-weight: 700;
	color: rgba(189,0,3,1.00);
}

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

a:link { color:cornflowerblue ; text-decoration: none; }
a:visited { color:cornflowerblue ; text-decoration: none; }
a:hover { color:deeppink ; text-decoration: underline; }


table {
	width:96%;
	margin: 0 auto;
	border: 1px solid #000;
	border-collapse: collapse
}


th, td {
	border: 1px solid #000;
	border-collapse: collapse;
	vertical-align: middle;
}


header {
	position: relative;
	height: 70vh;
	min-height: 840px;
}

header::before {
	content: '';
    display: block;
    position: absolute;
    left: 0;
    width: 100%;
    height: 100%;
    background-size: cover;
	z-index: -1;
}

header p.head {
	padding: 5px 0;
	background: rgba(201,0,3,1.00);
	z-index: 0;
	height: 80px;
}

header p.head img {
	width:1200px;
	margin: 0 auto;
}

header article {
	width: 1200px;
	margin: 0 auto;
}

header article h1 {
	text-align: center;
}

header article h1 img {
	width:90%;
}

main {
	padding: 0em 0 5em 0;
	font-size: 1.8rem;
	text-align: justify;
}

main::after{
	height: 100%;
	width: 100%;
	background-repeat: no-repeat;
	background-position: bottom center;
	background-size: 100%;
	content: "";
	position: absolute;
	bottom: -1px;
	left: 0;
	z-index: -1;
}


main article {
	width:1000px;
	background: rgba(255,255,255,0.95);
	border-radius: 1em;
	box-shadow: 6px 6px 10px 0px rgba(22, 22, 22, 0.4);
	margin: 0 auto;
	padding: 2em 0;
}

main h2 {
	margin: 0 0 0.25em 0;
	font-size:4rem;
}

main h3 {
	color: rgba(128,0,0,1);
	font-size: 3rem;
	border-bottom: 2px solid rgba(146,0,2,1.00);
}

main h3 img {
	width:50%;
}


main article section {
	margin: 1em auto 5em;
	padding: 1em;
}

main article section ul {
	width:80%;
	margin: 0 auto;
}

main article#Entry {
	padding: 0;
	text-align: center;
	position: fixed;
	z-index: 100;
	bottom:8em;
	right: 0;
	width:330px;
	background:rgba(197,14,17,0.95);
	color: rgba(255,255,255,1);
	border: 0;
	background:linear-gradient(135deg, transparent 25px, rgba(197,14,17,0.95) 0) left;
	opacity:0;
	animation-name:entryarea;
	animation-duration:1s; 
	animation-fill-mode: forwards;
}

@keyframes entryarea {
	0% {
		opacity: 0;
		transform: translateX(200px);
	}
	50%{
		opacity: 1;
		transform: translateX(0);
	}
	100% {
		opacity:1;
 		transform: translateX(0);
	} 
}

main article#Entry h2 {
	background: transparent;
	font-size: 1.8rem;
	margin: 0.5em 0.5em 0 0.5em;
	box-shadow: none;
}

main article#Entry section {
	background: transparent;
	margin: 0 auto 0.5em auto;
	padding: 0;
	width:96%;
	box-shadow: none;
} 

main article#Entry p.btn a {
	font-size: 2.0rem;
	padding: 5px;
	display: block;
	width:100%;
	margin: 10px auto;
	box-sizing: border-box;
	background: #f9cb4d; /* Old browsers */
	background:rgba(255,255,255,1.00);
	color: #5F2900;
	border: 1px solid #5F2900;
	text-decoration: none;
	border-radius: 5px;
	font-weight: bold;
}

main article#Entry p.btn a:hover {
	background:rgba(255,234,86,1.00);
	color:#5F2900;
	border: 1px solid #5F2900;
	transition: 0.3s;
}

main article#Entry section p a {
	color: #fff;
}


footer {
	width:100%;
    height: 100px;
	min-height: 150px;
	clear: both;
	text-align: center;
	color: #fff;
	position: relative;
	background: #000;
}

footer article#Privacy {
	text-align: right;
}

footer a:link { color:rgba(162,206,255,1.00) ; text-decoration: none; }
footer a:visited { color:rgba(162,206,255,1.00) ; text-decoration: none; }
footer a:hover { color:rgba(255,248,83,1.00) ; text-decoration: underline; }


footer article {
	position: absolute;
	bottom: 1em;
	left:0;
	width:100%;
}

footer article ul {
	text-align: right;
	margin-bottom: 2em;
	margin-right: 2em;
}

footer article ul li {
	float: right;
	margin-left: 2em;
}


footer article ul a {
	color: #fff;
	font-size: 1.4rem;
	font-weight: 300;
}

footer p {
	clear: both;
	margin: 2em;
}


#PageTop {
	position: fixed;
	bottom: 30px;
	right: 10px;;
	font-size: 2rem;
	line-height: 3;
	width:3em;
	height: 3em;
	background: rgba(150,150,150,0.70);
	text-align: center;
	border-radius: 0.5em;
}

#PageTop:hover {
	background:rgba(185,141,142,1.00);
}

a#PageTop:link ,
a#PageTop:visited ,
a#PageTop:hover {
	color: rgba(255,255,255,1);
	text-decoration: none;
}

p#PageTop a span {
	display: block;
	transform: rotate( -90deg ) scale(0.5, 3);
	font-size: 2.2rem;
	font-weight: 400;
	width: 90%;
}


@media only screen and (max-width : 999px){

body:before {
	height: 100vh;
	background-image:url("../images/back.png");
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	content: "";
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -2;
}
	
	header article, footer {
		height: auto;
		width:100%;
	}
	header {
		min-height: 180px;
		position: relative;
		height: auto;
	}

	header article#Head {
		padding-top: 0em;
	}
		
	header article h1 {
		text-align: center;
		margin-right:0;
	}
	
	header article h1 img {
		width:80%;
	}
	
	main {
		margin: 0;
		padding: 0;
	}
	
	main h2 {
		font-size:2rem;
		letter-spacing: -0.05em;
		width: 98%;
		margin:0 auto 0.5em ;
	}
	

	main article {
		width:100%;
	}
	main article section {
		width:96%;
		margin: 0em auto 2em;
		
	}
	main article section > ul {
		width:90%;
		margin: 0 auto;
	}
	main article section > h4 {
		width:96%;
		margin: 0.5em auto 0;
	}
	main article section > p {
		width:92%;
		margin: 0 auto;
	}

	footer article {
		width:100%;
		bottom:150px;
	}
	
	h2:after {
		display: none;
	}

	h2:after {
		display: none;
	}
	
	main article#Entry {
		padding: 0;
		text-align: center;
		position: fixed;
		z-index: 100;
		bottom:0;
		right: 0;
		width:100%;
		border: 0;
		border-radius: 0;
		opacity:0;
		height: 150px;
		background:linear-gradient(to bottom right, transparent 0px, rgba(197,14,17,0.95) 0%) left;
	}
	
	footer{
		height: 300px;
		padding-bottom: 150px;
		min-height: 0;
	}

}