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;
	background:rgba(175,221,255,1.00);
}

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: 1em auto 0.25em auto;
	text-align: center;
	position: relative;
}

h3 {
	font-size: 20px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.0rem + ((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.25em;
	text-align: center;
	white-space: nowrap;
}

h4 {
	font-family: 'M PLUS Rounded 1c', sans-serif;
	font-weight: 700;
	text-align: justify;
	font-size: 16px;
    font-size: calc(1.6rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
}

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: 1.6rem;/* 20px*/
    }
}

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


footer {
	font-size: 1.4rem;
	width:100%;
	clear: both;
	background: #000000;
	text-align: center;
	color: #fff;
	padding: 10px 0;
}

footer address {
	font-style: normal;
}

footer a {
	color: #fff;
}

a.btn-flat {
  overflow: hidden;

  padding: 1.5rem 6rem;

  color: #fff;
  border-radius: 0;
  background: #000;
}

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

a.btn-flat:before {
  position: absolute;
  top: 0;
  left: calc(-150% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #fff100;
}

a.btn-flat:after {
  position: absolute;
  top: -400%;
  right: calc(-150% + 50px);

  width: 150%;
  height: 500%;

  content: '';
  -webkit-transition: all .5s ease-in-out;
  transition: all .5s ease-in-out;
  -webkit-transform: rotate(45deg) translateX(0) translateY(0);
  transform: rotate(45deg) translateX(0) translateY(0);

  background: #fff100;
}

a.btn-flat:hover:before {
  -webkit-transform: rotate(45deg) translateX(0) translateY(-50%);
  transform: rotate(45deg) translateX(0) translateY(-50%);
}

a.btn-flat:hover:after {
  -webkit-transform: rotate(45deg) translateX(0) translateY(50%);
  transform: rotate(45deg) translateX(0) translateY(50%);
}

#PageTop {
	position: fixed;
	bottom: 60px;
	right: 30px;;
	font-size: 2rem;
	line-height: 3;
	width:3em;
	height: 3em;
	background: rgba(50,50,50,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){

	header article, footer {
		height: auto;
		width:100%;
	}
	
	footer article {
		width:100%;
	}

}