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


body::before {
    position:fixed;
    top:0;
    left:0;
    z-index:-2;
    width:100vw;
    height:100vh;
    background :url("../images/common/BK.png") repeat-x;
    content:"";
}

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;
	color:rgba(255,255,255,1.00);
	background:rgba(255,117,0,1.00);
  display: inline-block;
  position: relative;
  min-height: 2em;/*高さ*/
  line-height: 2em;/*高さ*/
	width:99.9%;
}

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: wrap;
	color:rgba(220,63,0,1.00);
	border-bottom: 2px solid rgba(220,63,0,1.00);

}

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で可変*/
	color:rgba(220,63,0,1.00);
	border-left: 5px solid rgba(220,63,0,1.00);
	padding-left: 3px;

}

small {
	font-size: 80%;
}

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;
		height: auto;/* 20px*/
		display: block;
		white-space: normal
    }
}

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

main {
	margin-top: 0px;
	padding-bottom: 2em;
}

main article {
	width:1000px;
	margin: 2em auto;
	overflow: hidden;
	background: #fff;
	padding: 0 1em 1em 1em;
	box-sizing: border-box;
}

article#MainVisual {
	width:100%;	
}

main article#BottomBnr {
	background: transparent;
}


main article#BottomBnr ul {
	background: transparent;
	display: flex;
	flex-wrap: wrap;
	gap:10px;
	justify-content: center;
}

main article#BottomBnr ul li {
	width:230px;
}

footer {
	width:100%;
	clear: both;
	text-align: center;
	padding: 10px 0;
}

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

footer address {
	font-style: normal;
}

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: 30px;
	right: 10px;;
	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%;
}

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


@media only screen and (max-width : 999px){
	small {
		font-size: 70%;
	}
	
	header article, footer {
		height: auto;
		width:100%;
	}


	header article#Head {
		width: calc(100% - 50px);
		padding-top: 0em;
		margin-left: 50px;
		display: block;		
	}
		
	header article h1 {
		display: block;
		text-align: right;
		width:100%;
	}
	
	header img {
		width:100%;;
		height: auto;
	}

	header h1 a {
		display: block;
	}
	header h1 a img {
		width:60%;;
		height: auto;
		display: block;
		margin: 0 auto;
	}
	header h1 a img:first-of-type {
		width:100%;
		height: auto;
		margin-bottom: 10px;
	}

	
	header article#Head p {
		display: none;
	}

	header section#Head p {
		display: none;
	}
	
	main {
		margin-top:1em;
	}

	main article {
		width:94%;
		padding: 0.5em;
	}

	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:96%;
		margin: 0 auto;
	}

	footer article {
		width:100%;
	}

	h2:after {
		display: none;
	}

	h2:after {
		display: none;
	}
	
	footer {
		position: relative;
		padding-bottom: 3em;
	}
	
	footer ul#CTC_SP {
		width:100%;
		background: #1f3274;
		position: fixed;
		bottom:0;
			left:0;
			right:0;
		z-index: 3
	}
	
	footer ul#CTC_SP li img {
		max-height: 40px;
		width: auto;
	}
	
}