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

body{
	position: relative;
	font-family: "Noto Serif JP", serif;
	font-optical-sizing: auto;
	font-weight: 400;
	font-style: normal;
    font-size:1.6rem;/* 16px*/
    line-height: 1.75;
	text-align: center;
	background: #7ECEF4;
	background: -webkit-linear-gradient(360deg, rgba(102, 0, 153, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 90%, rgba(102, 0, 153, 1) 100%);
	background: -o-linear-gradient(360deg, rgba(102, 0, 153, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 90%, rgba(102, 0, 153, 1) 100%);
	background: linear-gradient(90deg, rgba(102, 0, 153, 1) 0%, rgba(255, 255, 255, 1) 10%, rgba(255, 255, 255, 1) 90%, rgba(102, 0, 153, 1) 100%);
}

.center-text {
	width: 100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-items: center;
	font-size: 5vw; /* 画面サイズに応じて調整される */
	text-align: center;
	color: rgba(255,0,4,1.00);
	z-index: 20000;
	position: fixed;
}

.finish {
	position: relative;
}

.finish::before {
	content: "";
	background: rgba(208,208,208,0.8);
	width: 100%;
	height: 100%;
	position: absolute;
	left: 0;
	z-index: 1;
}

.finish div.attention {
	width:100%;
	height: 100%;
	display: flex;
	justify-content: center;
	align-content: center;
	z-index: 2;
	position: absolute;
	top:calc(50% - 1em);
	font-size: 125%;
}

.finish div.attention p {
	color: rgba(255,0,4,1.00);
	font-weight: 700;
	z-index: 3;
	
}

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-weight: 700;
	font-style: normal;
	color: #660099;
}

h2 {
    font-size: 24px;/* IE8以下とAndroid4.3以下用フォールバック */
    font-size: calc(2.4rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
	font-weight: 700;
	margin: 1em auto 0.25em auto;
	text-align: center;
	color:rgba(255,255,255,1.00);
	background: #007db8;
	background: linear-gradient(358deg, rgba(153, 0, 204, 1) 0%, rgba(102, 0, 153, 1) 100%);	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-weight: 700;
	margin-top: 1em;
	margin-bottom: 0.25em;
	text-align: center;
	white-space: wrap;
	color:#007db8;
	border-bottom: 2px solid rgba(102, 0, 153, 1);

}

h4 {
	font-weight: 700;
	text-align: justify;
	font-size: 16px;
    font-size: calc(1.6rem + ((1vw - 0.64rem) * 0.2143));/* 20px~24pxで可変*/
	color:#007db8;
	border-left: 5px solid rgba(102, 0, 153, 1);
	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; }

header {
	position: relative;
	overflow: visible;
}

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

header nav a[target="_blank"]:after,
header nav a[href^="http"]:after,
header nav a[href^="//"]:after {
  margin: 0 0 0 3px;
  font-family: "Font Awesome 5 Free";
  content: '\f35d';
  font-weight: 900;
}

header nav a[href^="https://nakayukusaiyo.jp/"]:after {
  margin: inherit;
  font-family: inherit;
  content: '';
  font-weight: inherit;
}

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

main article {
	width:1000px;
	margin: 2em auto;
	overflow: hidden;
	padding: 0 1em 1em 1em;
	box-sizing: border-box;
	font-size: 1.8rem;
}

main a.pdflink {
	position: relative;
}

main a.pdflink::before {
	content: "";
	display: inline-block;
	position: absolute;
	width:1.25em;
	height: 1.25em;
	top:0px;
	left:-1.25em;
	background-image : url("../images/pdf-svgrepo-com.svg");
	background-size: contain; /* または cover */
	background-repeat: no-repeat;
	background-position: center;
}

footer {
	width:100%;
	text-align: center;
	background: #660099;
	color: #fff;
	padding: 2em 0;
	margin-bottom: 0;
}

footer article {
	width: 1000px;
	margin: 0 auto 3em;
}

footer address {
	font-style: normal;
}

footer #Footerlogo {
	width:320px;
	margin: 1em auto;
}

#PageTop {
	position: fixed;
	bottom: 50px;
	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;
	z-index: 1001
}

#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{
		background: linear-gradient(90deg, rgba(102, 0, 153, 1) 0%, rgba(255, 255, 255, 1) 5%, rgba(255, 255, 255, 1) 95%, rgba(102, 0, 153, 1) 100%);
	}
	
	small {
		font-size: 70%;
	}
	
	header article, footer {
		height: auto;
		width:100%;
	}

	header article h1 {
		display: block;
		text-align: center;
		width:90%;
		margin: 1em auto;
	}
	
	main {
		margin-top:1em;
	}

	main article {
		width:96%;
		padding: 0.5em;
		margin: 0em auto 2em;
		font-size: 1.6rem;
	}
	
	main article ul {
		text-align: justify;
		margin:0 0.25em 0 1.5em;
	}

	main article ul li {
		line-height: 1.5;
		margin-top: 0.25em;
	}

	footer {
		position: relative;
		padding-bottom: 5em;
	}
	
	footer article {
		width:100%;
	}

}