@charset "utf-8";
/* CSS Document */



h2 {
	font-size:2em;
	
	position: relative;
	white-space: nowrap;
	overflow: hidden;
	
	width:90%;
	box-sizing:border-box;
	margin:1em auto;
}
h2 span:before,h2 span:after {
	content: "";
	display: inline-block;
	position: relative;
	height: 2px;
	left: 0;
	bottom: 0.4em;
	bottom:calc(0.4em - 1px);
	background-color:white;
}
h2 span:before {
	width: 5%;
	margin-right:2%;
}
h2 span:after {
	width: 100%;
	margin-left:2%;
}
@media only screen and (max-width:768px){
	h2 {
		width:100%;
		font-size:1.6em;
		margin:1.5em 0;
	}
	h2 span:before {
		margin-right:4%;
	}
	h2 span:after {
		margin-left:4%;
	}
}








/* category menu */
div#categoryMenu {
	position:relative;
	top:-8em;
	padding-left:30%;
	
	height:0;
}
div#categoryMenu ul {
	font-size:0;
}
div#categoryMenu ul li {
	display:inline-block;
	font-size:18px;
	margin-left:2em;
	letter-spacing:0.02em;
}
div#categoryMenu ul li a.disabled {
	pointer-events:none;
	opacity:0.3;
}
div#categoryMenu ul li a.disabled:before,
div#categoryMenu ul li a.disabled:after {
	animation:none;
}

@media only screen and (max-width:768px){
	div#categoryMenu {
		position:static;
		padding-left:0;
		height:auto;
		
		margin-bottom:2em;
	}
	div#categoryMenu ul {
		display:flex;
		flex-wrap:wrap;
	}
	div#categoryMenu ul li {
		margin-left:0;
		width:40%;
		font-size:18px;
		margin-bottom:0.5em;
	}
}











/* detail */
article#detail {
	background-color:white;
	color:black;
	
	padding:0 0 5em  8% ;
	overflow:hidden;
	
	position:relative;
}
article#detail div.img {
	float:left;
	width:72%;
	max-width:800px;
	
	margin-bottom:2em;
}
article#detail div.img img {
	object-fit:cover;
	width:100%;
	height:100%;
}
article#detail div.category {
	font-family:'rfa_gothic_stdregular';
	width:153px;
	height:38px;
	
	background-color:black;
	background:url('../img/catBg.svg');
	background-repeat:no-repeat;
	color:white;
	
	font-size:1.2em;
	text-align:center;
	box-sizing:border-box;
	padding-right:2em;
	padding-top:0.4em;
	
	position:absolute;
	top:1em;
	left:74.2%;		/* ←！？ */
}
article#detail div.side {
	float:left;
	font-family:'rfa_gothic_stdregular', Meiryo, メイリオ, 'Hiragino Kaku Gothic ProN', 'ヒラギノ角ゴ ProN W3', Osaka, 'MS PGothic', arial, helvetica, sans-serif;
	padding-top:6em;
}
article#detail div.date {
	padding-left:28px;
	font-size:1.7em;
	margin-bottom:1em;
}
article#detail div.share {
	padding-left:28px;
	font-size:1.4em;
	margin-bottom:3em;
}
article#detail div.back a {
	font-size:1.6em;
	color:black;
	text-decoration:underline;
	padding-left:28px;
}
article#detail div.back a:link {text-decoration:underline;}
article#detail div.back a:hover {text-decoration:none;}

article#detail h1 {
	clear:both;
	
	padding:0;
	font-size:1.6em;
	padding-right:8%;
	line-height:160%;
	font-weight:bold;
}
article#detail p {
	font-size:1em;
	padding-right:8%;
	line-height:160%;
}
article#detail p a {
	color:black;
	text-decoration:underline;
}
article#detail p a:link {text-decoration:underline;}
article#detail p a:hover {text-decoration:none;}
article#detail hr {
	margin-right:8%;
}
article#detail strong {
	color:black;
}
article#detail p img {
	height:auto;
}

@media only screen and (max-width:768px){
	article#detail {
		padding:0 0 5em 0;
	}
	article#detail div.img {
		float:none;
		width:100%;
		
		height:200px;
		height:60vw;
	}
	article#detail div.category {
		margin:0;
		position:absolute;
		
		left:0;
		top:185px;
		top:calc(60vw - 15px);
	}
	
	article#detail div.side {
		float:none;
		position:absolute;
		bottom:0;
		padding-top:0;
		padding-bottom:4em;
		width:100%;
	}
	article#detail div.date, article#detail div.share {
		margin-bottom:1em;
		padding-left:5%;
	}
	article#detail div.back a {
		padding-left:5%;
	}
	article#detail h1 {
		padding:0 5%;
		font-size:1.4em;
	}
	article#detail p {
		padding:0 5% 1em;
	}
	article#detail p:last-child {
		padding:0 5% 18em;
	}
}








/* topic list */
div#list {
	margin-bottom:5em;
}
div#list ul {
	display:flex;
	flex-wrap:wrap;
}
div#list ul a {
	width:33%;
	width:calc(100% / 3 - 1px);
	
	max-width:400px;
	margin-left:1px;
	margin-bottom:1px;
}
div#list ul li div.img {
	width:100%;
	height:200px;
	overflow:hidden;
}
div#list ul li div.img img {
	object-fit:cover;
	width:100%;
	height:100%;
}
div#list ul li div.txt {
	position:relative;
	margin:0;
	line-height:140%;
	padding:20px;
	padding-bottom:50px;
	text-align:left;
}
div#list ul li div.category{
	font-family:'rfa_gothic_stdregular';
	
	position:absolute;
	width:153px;
	height:38px;
	top:-19px;
	left:0;
	
	background-color:black;
	background:url('../img/catBg.svg');
	background-repeat:no-repeat;
	color:white;
	
	font-size:1.2em;
	text-align:center;
	box-sizing:border-box;
	padding-right:2em;
	padding-top:0.4em;
}
div#list ul li div.txt h2{
	font-size:1.2em;
	margin-top:0.5em;
	width:100%;
}
div#list ul li div.txt p{
	line-height:150%;
}
a.hoverPanel:after {
	content:"Read More";
}
@media only screen and (max-width:768px){
	div#list ul {
		flex-direction:column;
	}
	div#list ul a {
		width:100%;
		margin-left:0;
		
		max-width:auto;
		max-width:initial;
	}
	div#list ul li div.img {
		height:150px;
		height:40vw;
		max-height:200px;
	}
	div#list ul li div.txt {
		padding-bottom:60px;
	}
	div#list ul li div.txt h2 {
		white-space:pre-wrap;
	}
	div#list ul li div.txt p {
		margin:0;
		font-size:0.8em;
		max-height:4.5em;
		overflow:hidden;
	}
}







/* page menu */
div#pageMenu {
	font-family:'rfa_gothic_stdregular';
	text-align:center;
}
div#pageMenu ol {
	display:flex;
	justify-content:center;
	width:30%;
	margin:0 auto;
	box-sizing:border-box;
	padding:0.2em 0;
	background:rgba(0,49,70,0.35);
}
div#pageMenu ol li {
	display:block;
	
	font-size:1.8em;
	width:2em;
	
	margin:0;
	padding:0;
}
div#pageMenu ol li a {
	display:block;
	width:2em;
	
	transition-duration:0.3s;
}
div#pageMenu ol li a			{text-decoration:underline;}
div#pageMenu ol li a:link		{text-decoration:underline;}
div#pageMenu ol li a:hover		{text-decoration:none;opacity:0.5;}
@media only screen and (max-width:768px){
	div#pageMenu {
		display:none;
	}
}

