
* {
		margin: 0px;
		padding: 0px;
}

.clearfix:after,
header:after,
main:after,
footer:after {
		content: " ";
		display: block;
		clear: both;
}

body {
	font-family: 'Noto Sans JP', sans-serif;
	text-align: center;
	background: #FFFFFF;
	color: #222222;
	font-size: 15px;
	position: relative;
}

main {
	text-align: left;
	line-height: 175%;
}

main p {
	margin: 1rem 0px 1rem 0px;
}

article p {
	margin: 1rem 0px 1rem 0.75rem;
}

.lrg { font-size: larger; margin: 1.5rem 0; }
.cap { font-size: smaller; }

.r { text-align: right; }
.c { text-align: center; }
.l { text-align: left; }

.mb20 { margin-bottom: 20px !important; }
.mb30 { margin-bottom: 30px !important; }
.mb40 { margin-bottom: 40px !important; }

.hed {
	background: #184fcf;
	color: #FFFFFF;
	text-align: center;
	margin: 0px auto 5px auto;
	height: 1.75rem;
	line-height: 1.75rem;
}


.catc1 { background: #00b3ff; color: #ffffff; } 
.catb1 { border-bottom: 1px solid #00b3ff; } 
.newsnav li.cat1 a { background: #00b3ff; color: #ffffff; } 
.catc2 { background: #77c700; color: #ffffff; } 
.catb2 { border-bottom: 1px solid #77c700; } 
.newsnav li.cat2 a { background: #77c700; color: #ffffff; } 
.catc3 { background: #ff7b00; color: #ffffff; } 
.catb3 { border-bottom: 1px solid #ff7b00; } 
.newsnav li.cat3 a { background: #ff7b00; color: #ffffff; } 
.catc4 { background: #ff4000; color: #ffffff; } 
.catb4 { border-bottom: 1px solid #ff4000; } 
.newsnav li.cat4 a { background: #ff4000; color: #ffffff; } 
.catc5 { background: #6700e6; color: #ffffff; } 
.catb5 { border-bottom: 1px solid #6700e6; } 
.newsnav li.cat5 a { background: #6700e6; color: #ffffff; } 
.catc6 { background: #a1a1a1; color: #ffffff; } 
.catb6 { border-bottom: 1px solid #a1a1a1; } 
.newsnav li.cat6 a { background: #a1a1a1; color: #ffffff; } 
.catc7 { background: #eeeeee; color: #000000; } 
.catb7 { border-bottom: 1px solid #eeeeee; } 
.newsnav li.cat7 a { background: #eeeeee; color: #000000; } 
.catc8 { background: #ffc2f8; color: #525252; } 
.catb8 { border-bottom: 1px solid #ffc2f8; } 
.newsnav li.cat8 a { background: #ffc2f8; color: #525252; } 
.catc9 { background: #eeeeee; color: #000000; } 
.catb9 { border-bottom: 1px solid #eeeeee; } 
.newsnav li.cat9 a { background: #eeeeee; color: #000000; } 


input, 
textarea, 
select { 
	padding: 4px;
	border: 1px solid #888888;
	margin-bottom: 3px;
}

input:invalid,
select:invalid,
textarea:invalid {
	background: #FFBBBB;
}

textarea { 
	line-height: 1.3;
}

button[type="button"],
button[type="submit"] {
	border-radius: 7px 7px 7px 7px; -webkit-border-radius: 7px 7px 7px 7px; -moz-border-radius: 7px 7px 7px 7px; 
	border: none;
	width: 180px;
	height: 30px;
	background: #184fcf;
	color: #FFFFFF;
	font-size: 16px;
}

#topTopBtn {
	visibility: hidden;
	position: fixed;
	z-index: 99;
	color: rgba(64, 64, 64, 0.75);
	background: rgba(225, 221, 188, 0.75);
	border: 2px solid rgba(225, 221, 188, 1.00);
	border-radius: 50%;
}

#topTopBtn:focus,
button:focus {
	outline: none;
}

#topTopBtn.show {
	animation: show .25s linear 0s;
}

#topTopBtn.hide {
	animation: hide .01s linear 0s;
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* pc */
@media all and (min-width: 769px) {
	main {
		width: 100%;
		margin: 0px auto;
	}
	
	article {
		width: 820px;
		margin: 10px auto 40px auto;
	}
	
	#topTopBtn {
		width: 56px;
		height: 56px;
		right: 20px;
		bottom: 20px;
		font-size: 24px;
		transition: background-color 0.25s;
	}
	
	#topTopBtn:hover	{
		background: rgba(64, 64, 64, 0.75);
		color: rgba(235, 235, 235, 0.90);
	}
	
	@keyframes show{
		from { opacity: 0; bottom:   0px; }
		to {   opacity: 1; bottom:  20px; }
	}
	
	@keyframes hide{
		from { opacity: 1; bottom:  20px; }
		to {   opacity: 0; bottom:   0px; }
	}
	
	
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* sp */
@media all and (max-width: 768px) {
	main {
		width: 100%;
	}
	
	article {
		margin: 10px auto 40px auto;
		padding: 0px 10px;
	}
	
	#topTopBtn {
		width: 42px;
		height: 42px;
		right: 10px;
		bottom: 10px;
		font-size: 18px;
	}
	
	@keyframes show{
		from { opacity: 0; bottom:   0px; }
		to {   opacity: 1; bottom:  10px; }
	}
	
	@keyframes hide{
		from { opacity: 1; bottom:  10px; }
		to {   opacity: 0; bottom:   0px; }
	}
	
	
}


/* * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * */
/* sp */
@media all and (max-width: 360px) {





}