@import url(https://fonts.googleapis.com/earlyaccess/notosansjp.css);

html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed, 
figure, figcaption, footer, header, hgroup, 
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	font-size: 100%;
	font: inherit;
	vertical-align: baseline;
}
/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, 
footer, header, hgroup, menu, nav, section {
	display: block;
}
body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}
blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after,
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}





* {
	margin: 0;
	padding: 0;
	box-sizing: border-box;
	-webkit-appearance: none;
	-moz-appearance: none;
	-appearance: none;
}

ul {
	list-style: none;
}

.clearfix::after{
  content: "";
  display: block;
  clear: both;
}
.content {
	width: 960px;
	margin: 0 auto;
}

header {
	position: relative;
	display: block;
	width: 100%;
	background-color: #000;
	border-top: solid 2px #bf5353;
	height: 60px;
	color: #fff;
	z-index: 999;
}
header div.bg {
	width: 100%;
	height: 100%;
	background: url(../img/top.jpg) no-repeat center/2000px;
}
header div.overlay {
}
header .logo {
	position: absolute;
	top: 0;
	width: 100%;
	padding: 10px 0;
	font-family: 'Noto Sans JP';
	font-weight: bold;
}
header .logo a {
	line-height: 35px;
	font-size: 16px;
	color: #fff;
	text-shadow: 0 0 5px #000;
	text-decoration: none;
}
header .menu {
	position: absolute;
	top: 0;
	right: 10px;
	padding: 14px 0;
}
header ul {
	display: flex;
	width: 100%;
}
header ul li {
	float: left;
	width: 80px;
	height: 100%;
	margin-left: 10px;
	line-height: 30px;
	font-size: 14px;
}
header ul li a {
	display: block;
	box-sizing: border-box;
	width: 100%;
	height: 100%;
	background-color: #666;
	border: solid 1px #fff;
	box-shadow: 0 0 5px #666;
	border-radius: 3px;
	text-shadow: 0 0 5px #000;
	text-align: center;
	font-family: 'Noto Sans JP';
	color: #fff;
	text-decoration: none;
}
header ul li a:hover {
	background-color: #cacaca;
}

#top-eyecatch {
	width: 100%;
	min-width: 480px;
	background-color: #000;
	height: 450px;
	text-align: center;
}
#top-eyecatch div {
	width: 100%;
	height: 100%;
	background: url(../img/top.jpg) no-repeat center/2000px;
}
#top-eyecatch p {
	font-size: 32px;
	font-family: 'Noto Sans JP';
	color: #fff;
}
#catchcopy {
	position: absolute;
	top: 200px;
	left: 0;
	right: 0;
	text-align: center;
	font-weight: bold;
	font-family: 'Noto Sans JP';
	font-size: 30px;
	color: #fff;
	text-shadow: 0 0 5px #000;
}
#menu {
	position: absolute;
	top: 0;
	right: 0;
	padding: 10px;
	font-size: 14px;
}
#menu li {
	float: left;
}
#menu li a {
	margin-left: 10px;
	padding: 4px 10px;
	border: solid 1px #fff;
	border-radius: 3px;
	box-shadow: 0 0 5px #666;
	background-color: #666;
	text-shadow: 0 0 5px #333;
	color: #fff;
	font-family: 'Noto Sans JP';
	text-decoration: none;
}
#menu li a:hover {
	background-color: #cacaca;
}

main {
	width: 960px;
	min-height: 900px;
	margin: 0 auto;
	overflow: hidden;
}

#main {
	float: right;
	width: 640px;
	margin: 15px 0 60px 0;
	padding-left: 15px;
}

#main h1 {
	margin-bottom: 15px;
	font-size: 24px;
	font-weight: bold;
	color: #bf5353;
	word-break: break-all;
}
#main h2 {
	position: relative;
	margin-top: 2rem;
	margin-bottom: 1rem;
	padding-bottom: 0.5em;
	border-bottom: 4px solid #DDD;
}
#main h2::after {
	position: absolute;
	content: " ";
	border-bottom: solid 4px #bf5353;
	bottom: -4px;
	width:10%;
	display: block;
}


#main p {
	margin-bottom: 1rem;
	line-height: 1.5rem;
	font-size: 14px;
	color: #666;
}
#main span {
	font-size: 14px;
}

#main span.red {
	color: #D81851;
	font-weight: bold;
}

#main span.blue {
	color: #0000cd;
	font-weight: bold;
}

#main span.orange {
	color: #ffa500;
	font-weight: bold;
}

#main span.green {
	color: #008000;
	font-weight: bold;
}

#main span.pink {
	color: #ff1493;
	font-weight: bold;
}
#main table {
	width: 100%;
	margin-bottom: 1rem;
	border-collapse: collapse;
}
#main table th, #main table td {
	padding: 10px;
	border: solid 1px #900;
	font-weight: normal;
	font-size: 14px;
}
#main table th {
	background-color: #bf5353;
	color: #fff;
}
#topics-list article {
	clear: both;
	min-height: 90px;
	margin-bottom: 10px;
	border-bottom: solid 1px #ccc;
}
#topics-list .side-img {
	float: left;
	width: 90px;
	height: 90px;
}
#topics-list .side-img img {
	width: 80px;
	height: 80px;
}
#topics-list a {
	color: #000;
	font-size: 14px;
	line-height: 1.3rem;
}


#bread-crumb {
	margin: 10px 0;
}
#bread-crumb li {
	float: left;
	margin-right: 6px;
	font-size: 12px;
	line-height: 1.3rem;
}
#bread-crumb li a {
	color: #000;
	text-decortaion: underline;
	font-size: 12px;
}
#main .date {
	margin-bottom: 10px;
	text-align: right;
	color: #999;
}
#banner {
	box-sizing: border-box;
	margin: 0 auto;
	padding: 15px 50px;
	background-color: #bf5353;
	border-radius: 4px;
}
#banner .img {
	width: 300px;
	margin: 0 auto 10px auto;
}
#banner .txt {
	text-align: center;
}
#banner .txt a {
	color: #fff;
	font-weight: bold;
	text-decoration: none;
}

side {
	display: block;
	float: left;
	box-sizing: border-box;
	width: 320px;
	padding-bottom: 10000px;
	margin-bottom: -10000px;
	background-color: #f4f4f4;
}
side h2 {
	padding: 10px;
	background-color: #bf5353;
	color: #fff;
}
side .profile {
	padding: 10px;
	font-size: 14px;
}
side .profile .photo {
	float: left;
	margin-right: 10px;
}
side .profile .photo img {
	width: 80px;
	height: 80px;
	border-radius: 50%;
}
side .profile .name {
	margin-bottom: 10px;
	color: #666;
	font-weight: bold;
}
side .profile .guide {
	margin-bottom: 10px;
	color: #666;
	line-height: 1.3em;
}
side article {
	min-height: 80px;
	padding: 10px;
	border-bottom: solid 1px #ccc;
}
side article .side-img {
	float: left;
	width: 90px;
	height: 60px;
}
side article .side-img img {
	float: left;
	width: 80px;
	height: 53.33px;
}

side article a {
	font-size: 14px;
	color: #666;
	text-decoration: none;
}
side article a:hover {
	text-decoration: underline;
}

#page_up {
	margin: 0px;
	position: fixed;
	right: -80px;
	bottom: 30px;
	box-shadow: 1px 1px 6px rgba(0,0,0,.4), 2px 2px 10px rgba(0,0,0,.2);
	transition: all .3s;
	font-size: 0;
	line-height: 0;
}
#page_up.slide-in {
	right: 30px;
}
#page_up img {
	width: 50px;
}

footer {
	clear: both;
	padding: 30px 0;
	background-color: #bf5353;
	text-align: center;
	color: #fff;
	font-size: 12px;
}

@media screen and (max-width: 480px) {
	* {
		font-family : "ƒqƒ‰ƒMƒmŠpƒS ProN" , sans-serif;
	}
	.content {
		width: 100%;
	}
	#top-eyecatch {
		width: 100%;
		min-width: 320px;
		background: url(../img/top.jpg) no-repeat center/2000px;
		background-size: 864px;
		height: 120px;
		text-align: center;
		line-height: 0;
		font-size: 0;
	}

	main {
		width: 100%;
		margin: 0;
		padding: 0 10px;
	}
	header .top-text {
		padding: 10px 10px 5px 10px;
		font-family : "ƒqƒ‰ƒMƒmŠpƒS ProN" , sans-serif;
	}
	header .logo {
		padding: 0 10px 10px 10px;
	}
	header .logo a {
		font-size: 18px;
		font-family : "ƒqƒ‰ƒMƒmŠpƒS ProN" , sans-serif;
	}
	header .menu a {
		font-family : "ƒqƒ‰ƒMƒmŠpƒS ProN" , sans-serif;
	}
	#main {
		float: none;
		width: 100%;
		padding-left: 0;
	}
	#main h1 {
		margin-bottom: 0;
		padding: 15px 0 0 0;
		font-size: 18px;
	}
	#topics-list article {
		clear: both;
		min-height: 90px;
		margin-bottom: 2rem;
		border-bottom: solid 1px #ccc;
	}
	#topics-list .side-img {
		float: left;
		width: 90px;
		height: 90px;
	}
	#topics-list .side-img img {
		width: 80px;
		height: 80px;
	}
	#topics-list a {
		color: #000;
		font-size: 14px;
		line-height: 1.3rem;
	}
	side {
		float: none;
		width: 100%;
		margin-top: 30px;
	}
}