body{
	margin:0px;
	background-color:white;
}
*{
	font-family:"游ゴシック","YuGothic","Yu Gothic","ヒラギノ角ゴ","Noto Sans","メイリオ","MSP Gothic";
	text-decoration:none;
	-webkit-text-size-adjust:100%;
}

a{
	text-decoration:none;
	color:black;
}
button{
	margin-bottom:10px;
	color:forestgreen;
	margin-left:30px;
	background:white;
	padding:1em 1.5em;
	font-weight:600;
	border:none;
	-webkit-transition:all 0.3s ease;
	text-align:left;
	box-shadow: 0 0 3px #CCCCCC;
}
button:hover{
	background-color:forestgreen;
	color:white;
	text-align:left;
}
ul{
	margin:0px;
	margin-left:20px;
	padding:0px;
	color:black;
	width:300px;
	text-align:left;
}
li{
	list-style-type:none;
	font-size:18px;
	margin:5px;
	text-align:left;
	font-weight:500;
}
li:hover{
	filter:opacity(25%);
	color:forestgreen;
	-webkit-transition:all 0.3s ease;
}
time{
	color:#CCCCCC;
	font-size:17px;
	font-weight:500;
}
strong{
	font-weight:500;
	color:royalblue;
}
h3,ul,p{
		line-height:2em;
	}
#classification, #location{
	color:#cccccc;
	margin:0;
}

.sub{
	font-weight:500;
	color:#555555;
}
.num-rk{
	background-color:forestgreen;
}
.num-jk{
	background-color:royalblue;
}
.num-js{
	background-color:firebrick;
}
.js, .jk, .rk{
	border:none;
	border-bottom:solid 5px;
	box-shadow:0 0 10px #cccccc;
}
input, .pop-ctn{
	display:none;
}
#popup:checked + .pop-ctn{
	display:block;
}
.pop-ctn{
	background-color:white;
	box-shadow:0 0 0 9999px rgba(0,0,0, 0.7);
	position:fixed;
	top:0;
	right:0;
	left:0;
	bottom:0;
	margin:auto;
	width:80vw;
	height:80vh;
	overflow-y:scroll;
	border-radius:10px;
	-ms-overflow-style: none;
}
@media(min-width:1100px){
	.pop-ctn{
		width:880px;
	}
}
.pop-ctn::-webkit-scrollbar{
	display:none;
}
.popimg{
	margin:30px;
	width:calc(100% - 60px);
}
.pop-close{
	width:100%;
	margin:0px;
	padding:10px 20px;
	color:#333333;
	font-size:25px;
	font-weight:600;
	display:block;
	border-bottom:solid 1px #cccccc;
}
.pop-close i{
	text-align:center;
	color:black;
}
.pop-label img{
	width:100%;
}

@media(min-width:700px) and (max-width:1100px){
	.popimg{
		width:calc(100% - 60px);
	}
}
@media(min-width:1100px){
	.popimg{
		width:820px;
	}
}
@media(min-width:700px){
	.contents{
		font-size:30px;
		font-weight:600;
		color:black;
		text-align:center;
		padding:15px;
		margin:0px;
	}
	#bodyelement{
		margin:30px;
		margin-right:auto;
		margin-left:auto;
		margin-top:40px;
		width:900px;
		border-left:solid;
		border-right:solid;
		border-color:#dddddd;
		border-width:1px;
		padding:30px;
		padding-top:0;
	}
	h2{
		margin:20px 0px;
		font-size:35px;
		margin-bottom:0px;
	}
	p{
		margin:10px 10px;
		font-size:18px;
		font-weight:550;
	}
	.p{
		text-align:center;
		margin:30px 0;
	}
	#map, #area{
		margin:30px;
		width:calc(50% - 60px);
		object-fit:cover;
		display:inline-block;
		vertical-align:top;
		display:inline-block;
	}
	#abstract, #list{
		display:inline-block;
		width:calc(50% - 60px);
	}
	#list{
		margin:30px 0;
		text-align:left;
		border-spacing:0px 10px;
	}
	td{
		padding-left:0px;
		margin-left:0px;
	}
	.num-rk, .num-js, .num-jk{
		width:30px;
		height:30px;
		font-size:17px;
		font-weight:600;
		color:white;
		padding:3px;
		border-radius:50% 0 0 50%;
		text-align:center;
	}
	.tree{
		font-weight:600;
		font-size:17px;
		padding-left:15px;
		padding-right:10px;
	}
	.ptitle{
		display:inline-block;
		font-size:20px;
		font-weight:600;
		margin:30px;
		border-bottom:solid;
		border-color:forestgreen;
		border-width:1px;
		margin-bottom:10px;
	}
	.js, .jk ,.rk{
		display:block;
		width:calc( (100% - 80px - 8px) / 2 );
		padding:0px;
		font-weight:600;
		margin:20px 20px;
	}
	.listpic{
		width:100%;
		height:calc(((100vw - 60px - 80px) / 2) * 0.7);
		object-fit:cover;
		margin:0;
	}
}
@media(min-width:500px){

	.show{
		display:flex;
		flex-direction:row;
		flex-wrap:wrap;
		justify-content:flex-start;
		align-self:stretch;
		padding:0;
		font-size:18px;
	}
}
@media(min-width:1100px){
	.listpic{
		width:100%;
		height:calc((900px - 80px) / 2 * 0.7);
	}
}
@media(min-width:700px) and (max-width:1000px){
	#bodyelement{
		width:calc(100vw - 120px - 2px);
	}
}
@media(max-width:700px){
	.contents{
		font-size:30px;
		font-weight:600;
		color:black;
		text-align:center;
		padding:15px;
		margin:0px;
	}
	#bodyelement{
		padding:20px;
	}
	h2{
		margin:20px 0px;
		font-size:30px;
		margin-bottom:20px;
	}
	p{
		margin:20px 0px;
		font-size:17px;
	}
	img{
		width:100%;
		object-fit:cover;
	}
	.p{
		text-align:center;
		margin:30px 0;
	}
	#map, #area{
		margin:0px;
		width:100%;
		object-fit:cover;
		display:inline-block;
		vertical-align:top;
		display:inline-block;
	}
	#abstract, #list{
		width:100%;
	}
	#abstract{
		border-bottom:solid 1px #cccccc;
		padding-bottom:20px;
	}
	#list{
		margin:30px 0;
		text-align:left;
		border-spacing:0px 10px;
	}
	td{
		padding-left:0px;
		margin-left:0px;
	}
	.num-rk, .num-js, .num-jk{
		width:30px;
		height:30px;
		font-size:17px;
		font-weight:600;
		color:white;
		padding:3px;
		border-radius:50% 0 0 50%;
		text-align:center;
	}
	.tree{
		font-weight:600;
		font-size:17px;
		padding-left:15px;
		border-bottom:solid 1px #dddddd;
	}
	.ptitle{
		font-size:20px;
		font-weight:600;
		margin:30px;
		border-bottom:solid;
		border-color:forestgreen;
		border-width:1px;
		margin-bottom:10px;
	}
	.js, .jk ,.rk{
		width:100%;
		margin:30px 0;
	}
	.listpic{
		width:100%;
		height:calc((100vw - 40px) * 0.7);
	}
}
@media(min-width:500px) and (max-width:700px){
	.js, .jk ,.rk{
		display:block;
		width:calc( (100% - 40px - 8px) / 2 );
		padding:0px;
		font-weight:500;
		margin:20px 10px;
	}
	.listpic{
		width:100%;
		height:calc(((100vw - 40px - 80px) / 2) * 0.7);
		object-fit:cover;
		margin:0;
	}
} 
.text{
	width:calc(100% - 50px);
	margin:20px 25px;
	margin-top:0;
	line-height:1.5em;
	font-size:18px;
}
.name{
	font-size:20px;
	color:black;
	width:calc(100% - 30px);
	padding:5px 20px;
	margin:0;
	margin-top:0;
	font-weight:600;
}
.classification{
	font-size:18px;
	font-weight:500;
	color:#aaaaaa;
	margin:10px 25px;
}
.js{
	border-color:brown;
}
.js .name{
	color:brown;
}
.jk{
	border-color:#1e50a2;
}
.jk .name{
	color:#1e50a2;
}
.rk{
	border-color:forestgreen;
}
.rk .name{
	color:forestgreen;
}