.l-footer{
line-height: 2.3rem;
}
.contents #contents_header h1 {color: #F52E36;}
div:after {content: '';}
/* ================================================================== コンテンツトップ */
	body.PC .contents.index #contents_header {
		width: 972px;
		margin: 40px auto;
	}
	
		body.SP .contents #contents_header {
			width: 100%;
			margin: 0 auto;
			padding: 10% 0 2%;
			border-top: solid 4px #F95D6C;
		}
	
	body.PC .contents.index #contents_header h1 {
		position: relative;
		float: left;
		width: 510px;
		font-size: 30px;
		line-height: 1.4em;
		text-align: left;
	}
	body.PC .contents.index #contents_header h1 span {
		display: inline-block;
		vertical-align: middle;
		padding-left: 20px;
	}
	
		body.SP .contents.index #contents_header h1 {
			width: 100%;
			margin: 0 auto 3rem;
			font-size: 2rem;
			text-align: center;
		}
		body.SP .contents.index #contents_header h1 span {
			display: inline-block;
			vertical-align: middle;
			padding-left: .5rem;
			line-height: 1.4em;
		}

.contents.index #contents_header h1 img {vertical-align: middle;}

.contents #contents_header h1 .icon {
	position: relative;
	top: -4px;
}

	body.PC .contents.index #contents_header h1 .icon {
		display: inline-block;
		vertical-align: middle;
		height: 62px;
		margin-right: 5px;
	}
	
		body.SP .contents.index #contents_header h1 .icon {
			display: inline-block;
			vertical-align: middle;
			height: 4rem;
			margin-top: .5rem;
			margin-right: .5rem;
		}

.contents.index #contents_header #read {
	color: #333;
	line-height: 1.5em;
	text-align: justify;
	text-justify: inter-ideograph;
}

	body.PC .contents.index #contents_header #read {
		float: right;
		width: 462px;
		font-size: 17px;
		margin-top: 5px;
	}
	
		body.SP .contents.index #contents_header #read {
			width: 90%;
			margin: 0 auto;
			font-size: 1.4rem;
		}
	
/* ================================================================== コンテンツ詳細 */
	body.PC .contents.detail #contents_header {
		width: 972px;
		margin: 20px auto 10px;
	}
	
		body.SP .contents.detail #contents_header {
			width: 100%;
			padding: 1.5rem 0 0;
		}
		
		
	body.PC .contents.detail #contents_header h1 {
		text-align: center;
		font-size: 20px;
		line-heihgt: 1.5em;
	}
	
		body.SP .contents.detail #contents_header h1 {
			width: 100%;
			margin: 0 auto .5rem;
			font-size: 1.8rem;
			line-heihgt: 1.4em;
			text-align: center;
		}
	
	body.PC .contents.detail #contents_header h1 .icon {
		display: block;
		height: 36px;
		margin: 0 auto 10px;
	}
		
		body.SP .contents.detail #contents_header h1 .icon {
			display: block;
			height: 3rem;
			margin: 0 auto .5rem;
		}

/* コンテンツタイトル */
	body.PC .contents.detail #contents_title {
		position: relative;
		width: 100%;
		margin: 0 auto 30px;
	}
	
		body.SP .contents.detail #contents_title {
			width: 100%;
			margin: 2% auto 3rem;
		}


/* contents_title_body */
.contents.detail #contents_title_body {
	position: relative;
	margin: 0 auto;
	box-sizing: border-box;
}

	body.PC .contents.detail #contents_title_body {
		width: 972px;
		height: 300px;
		padding-top: 50px;
	}
		
		body.SP .contents.detail #contents_title_body {
			width: 100%;
			padding: 3% 0;
		}
	
	body.PC .contents.detail #contents_title_body h2 {
		font-size: 38px;
		line-height: 1.4em;
	}
	
	body.PC .contents.detail #contents_title_body h2 span {
		font-size: 24px;
		letter-spacing: -1px;
	}
	
		body.SP .contents.detail #contents_title_body h2 {
			font-size: 2.5rem;
			line-height: 1.5em;
			text-align: center;
		}
		body.SP .contents.detail #contents_title_body h2 span {
			font-size: 1.8rem;
			letter-spacing: -1px;
		}
		
	
/* detail_sns */
	body.PC .contents.detail #detail_sns {
		position: relative;
		top: -50px;
		width: 972px;
		height: 30px;
		margin: 0 auto;
	}
	
	body.PC .contents.detail #detail_sns ul {
		position: absolute;
		left: 0;
		bottom: 0;
	}
	
		body.SP .contents.detail #detail_sns {
			width: 100%;
			margin: 2% 0 0;
			text-align: center;
		}
		
.contents.detail #detail_sns li {list-style-type: none;}

	body.PC .contents.detail #detail_sns li {
		float: left;
		width: 70px;
		height: 30px;
		margin: 0 10px 0 0;
		-webkit-transition: opacity .15s linear;
		-moz-transition: opacity .15s linear;
		-ms-transition: opacity .15s linear;
		transition: opacity .15s linear;
	}
	
	body.PC .contents.detail #detail_sns li:hover {
		opacity: .7;
	}
	
		body.SP .contents.detail #detail_sns li {
			display: inline-block;
			width: 16%;
			margin: 0 1% 0;
		}
	
.contents.detail #detail_sns li img {width: 100%;}

.contents.detail #contents_body .txt {
	margin: 0;
	padding: 0;
	line-height: 1.8em;
	color: #333;
	text-align: justify;
	text-justify: inter-ideograph;
}

	body.PC .contents.detail #contents_body .txt {
		font-size: 18px;
		line-height: 1.8em;
	}
		body.SP .contents.detail #contents_body .txt {
			font-size: 1.5rem;
			line-height: 1.8em;
		}


/* archive */
	body.PC .visual {
		position: absolute;
		left: 0;
		top: 0;
		width: 190px;
		height: 178px;
	}

		body.SP .visual {
			width: 10rem;
		}
		body.SP .visual img {
			width: 100%;
			height: auto;
		}

.visual img {
	width: 100%;
	vertical-align: top;
}

/* pager */
	body.PC #pager {
		position: relative;
		width: 880px;
		margin: 20px auto;
	}
	
		body.SP #pager {display: none;}
	
	body.PC #pager_left {float: left;}
	body.PC #pager_right {float: right;}
	
	body.PC #pager_left:hover,
	body.PC #pager_right:hover,
	body.PC #pager_btn_list:hover {opacity: .6;}
	
	body.PC #pager_left,
	body.PC #pager_right {
		width: 360px;
		height: 140px;
		border: solid 1px #eee;
		box-sizing: border-box;
	}
	body.PC #pager_left a,
	body.PC #pager_right a {
		display: block;
		width: 100%;
		height: 100%;
		padding: 10px;
		box-sizing: border-box;
	}
	
	body.PC #pager_left p,
	body.PC #pager_right p {
		display: table-cell;
		width: 220px;
		margin: 0;
		padding: 5px;
		vertical-align: middle;
		font-size: 15px;
		line-height: 1.4em;
		text-align: center;
		text-decoration: underline;
	}
	body.PC #pager_left p {padding-right: 20px;}
	body.PC #pager_right p {padding-left: 20px;}
	
	body.PC #pager_left:hover p,
	body.PC #pager_right:hover p,
	body.PC #pager_btn_list:hover a {
		text-decoration: none;
	}
	body.PC #pager_left p.thum,
	body.PC #pager_right p.thum {
		top: 10px;
		width: 120px;
		height: 120px;
		padding: 0;
		overflow: hidden;
	}
	
	body.PC #pager_left {
		background: url("../images/common/pager_icon1.png") no-repeat 335px center;
		background-size: 13px 28px;
	}
	body.PC #pager_right {
		background: url("../images/common/pager_icon2.png") no-repeat 10px center;
		background-size: 13px 28px;
	}
	
	body.PC #pager_left .thum img,
	body.PC #pager_right .thum img {
		height: 100%;
		vertical-align: top;
	}
	
	body.PC #pager_btn_list {
		position: absolute;
		left: 50%;
		top: 0;
		width: 140px;
		height: 140px;
		margin: 0 0 0 -70px;
		border: solid 1px #f62e36;
		box-sizing: border-box;
		border-radius: 4px;
		text-align: center;
		font-size: 16px;
	}
	body.PC #pager_btn_list.simple {
		position: relative;
		left: 0;
		top: 0;
		margin: 0 auto;
	}
	body.PC #pager_btn_list:hover {
		opacity: .7;
	}
	body.PC #pager_btn_list .icon {
		display: block;
		height: 42px;
		margin: 0 auto 10px;
	}
	body.PC #pager_btn_list a {
		display: block;
		width: 100%;
		height: 100%;
		padding-top: 30px;
		box-sizing: border-box;
		color: #f62e36;
		text-decoration: underline;
	}

/* archive */
#archive li a {
	display: block;
	width: 100%;
	height: 100%;
}

	body.PC #archive {
		display: none;
	}
	
		body.SP #archive {
			width: 90%;
			margin: 5% auto 0;
		}

	body.PC #archive li {
		position: relative;
		width: 100%;
		margin-bottom: 5%;
		padding: 0;
		border: solid 1px #eee;
		box-sizing: border-box;
	}

		body.SP #archive li {
			position: relative;
			width: 100%;
			margin-bottom: 5%;
			padding: 0;
			border: solid 1px #eee;
			box-sizing: border-box;
		}
		body.SP #archive li p {
			display: table-cell;
			vertical-align: middle;
			margin: 0;
			padding: 0;
		}
		body.SP #archive li p:first-child {
			width: 30%
		}
		body.SP #archive li p:last-child {
			width: 70%;
			padding: 2% 2% 2% 4%;
			line-height: 1.4em;
			font-size: 1.7rem;
			box-sizing: border-box;
		}
		body.SP #archive li p:last-child span {font-size: 1.3rem;}
		
		body.SP #archive #btn_list {
			width: 100%;
			height: 5rem;
			line-height: 5rem;
			margin: 0 auto 5%;
			border: solid 1px #E3007F;
			text-align: center;
			font-size: 1.3rem;
			box-sizing: border-box;
		}
		body.SP #archive #btn_list a {
			display: block;
			width: 100%;
			height: 100%;
			color: #E3007F;
			text-decoration: underline;
		}
		body.SP #archive #btn_list img {
			height: 3rem;
			margin-right: 1rem;
			vertical-align: middle;
		}

.index li .link {
	border: solid 1px #F52B62;
	box-sizing: border-box;
	text-align: center;
	color: #fff;
	background-color: #F52B62;
}
	body.PC .index li .link {
		position: absolute;
		right: 10px;
		bottom: 10px;
		width: 180px;
		height: 36px;
		line-height: 36px;
		border-radius: 18px;
		font-size: 14px;
		-webkit-transition: all .15s linear;
		-moz-transition: all .15s linear;
		-ms-transition: all .15s linear;
		transition: all .15s linear;
	}
	
		body.SP .index li .link {
			position: absolute;
			right: .5rem;
			bottom: .5rem;
			width: 11rem;
			height: 2rem;
			border-radius: 1rem;
			font-size: 1rem;
			letter-spacing: -.1rem;
		}
	
	body.PC .index li:hover .link {
		background-color: #fff;
		color: #F52B62;
	}