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

body{
	position: relative;
	font-family: 'Noto Sans JP', sans-serif;
	font-weight: 400;
    font-size:1.6rem;/* 16px*/
    line-height: 1.75;
	text-align: center;
	background: #fff;
}

body::before {
	contents: " ";
	display:block;
	position:fixed;
	top:0;
	left:0;
	z-index:-1;
	width:100%;
	height:100vh;
	background-repeat:no-repeat;
	background-position:50% 100%;
	background-size:cover;
}

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: 'M PLUS Rounded 1c', sans-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: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 700;
	margin: 0em auto 0.25em auto;
	text-align: center;
	white-space: nowrap;
	background:rgba(0,0,0,1.00);
	position: relative;
	line-height: 1;
	color: #ff0;/*文字色*/
	padding: 0.5em 0 0.5em 0;/*上下の余白*/
}

h3 {
	font-size: 22px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.2rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
    line-height: 1.3;
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 700;
	margin-top: 1em;
	margin-bottom: 0.5em;
	text-align: justify;
	white-space: nowrap;
    color:rgba(0,0,0,1.00);
	border-bottom: 1px solid rgba(0,0,0,1.00);
}

h4 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 700;
	font-size: 16px;
    font-size: calc(1.6rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
	color:rgba(0,0,0,1.00);
	border-left: 10px solid rgba(0,0,0,1.00);
	padding-left:0.25em;;
	margin-bottom: 0.25em;

}

small {
	font-size: 87.5%;
}

strong {
	font-weight: 700;
	color: rgba(255,80,80,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: 2;
		font-size: 1.6rem;
    }
    h1{
        font-size: 2.4rem;/* 24px*/
    }
    h2 {
        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; }



header {
}

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

header article h1 {
	margin: 10px 0 0 0;
}

header article h1 img {
	width: 100%;
}

main {
	padding-bottom: 3em;
}

main article {
	width:1000px;
	background:rgba(255,255,255,0.95);
	margin:0px auto 0px auto;
	overflow: hidden;
	padding: 1em;
	text-align: justify;
}

main article.mainblk {
	background: #000;
	color: #FFF;
}

main article section {
	margin: 0 auto;
}


footer {
	width:100%;
	clear: both;
	background: rgb(0, 0, 0);
	text-align: center;
	color: #fff;
	padding: 10px 0;
}

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

footer a {
	color: #fff;
}

footer address {
	font-style: normal;
}

#PageTop {
	position: fixed;
	bottom: 30px;
	left: 10px;;
	font-size: 2rem;
	line-height: 3;
	width:3em;
	height: 3em;
	background: rgba(90,90,90,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%;
}

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;
}

p.back {
	text-align: center;
}


.sidemenu {
	position: fixed;
	bottom: 3em;
	right: 0;
	width:20%;
	animation: slide-skew 0.8s cubic-bezier(0.25, 1, 0.5, 1) 1 forwards;
}

.sidemenu ul {
}

.sidemenu ul li {
	padding:1em 1em 0.5em;
	transform: skewY(-7.5deg);
}
.sidemenu ul li:first-child {
	background: #1DA1F2;
}
	
.sidemenu ul li:last-child {
	background: #00B900;
}

.sidemenu ul li:hover {
	opacity: 0.8;
	transition: 0.4s;
}

.sidemenu ul li img {
}

@keyframes slide-skew {
  0% {
    transform: translate(180px,-30px);
    opacity: 0;
  }
  100% {
    transform: translate(0,0);
  }
  20%,100% {
    opacity: 1;
  }
}

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

	header article, footer {
		height: auto;
		width:100%;
	}
	
	header article#Head {
		padding-top: 0em;
	}
		
	header article h1 {
		text-align: center;
	}
	
	header img {
		width:70%;
		height: auto;
	}

	header section#Head p {
		display: none;
	}

	main article {
		width:98%;
	}

	main article section {
		width:100%;
	}
	
	main h2 ,
	main h3 {
		white-space: inherit;
	}

	footer {
		width:100%;
		padding-bottom: 6em;
	}
	
	.sidemenu {
		position: fixed;
		bottom: 0;
		left: 0;
		width:100%;
		background: #000;
		animation: none;
	}
	
	.sidemenu ul {
		display: flex;
	}
	
	.sidemenu ul li {
		width:50%;
		text-align: center;
		padding: 0.5em 0 0 0;
		transform: skewY(0);
	}
	
	.sidemenu ul li:first-child {
		background: #1DA1F2;
	}
	
	.sidemenu ul li:last-child {
		background: #00B900;
	}
		

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: 0;

  width: 200%;
  height: 500%;

  content: "";
  -webkit-transition: all 0.5s ease-in-out;
  transition: all 0.5s ease-in-out;
  -webkit-transform: translateX(-98%);
  transform: translateX(-98%);

  background:rgba(255,255,0,1.00);color: #000;
}

a.btn-flat:hover:before {
  -webkit-transform: translateX(-98%);
  transform: translateX(-098%);
	color: #000;
}
	a.btn-flat:hover {
		color: inherit;
	}
	
	#PageTop {
		bottom:2em;
	}
}

