/* Blog */

#blog_list {
    margin-bottom: 5em;
}
.blog_list li:not(:last-of-type) {
    margin-bottom: 1em;
}
.blog_list li a {
    display: block;
    position: relative;
    padding: 2.5em 50px 2.3em 2.5em;
    border-top: 1px solid #ccc;
    border-left: 1px solid #ccc;
    border-radius: 10px 0 0 0;
    text-decoration: none;
    transition: all 300ms ease-in-out;
}
.blog_list li a::before {
    position: absolute;
    top: 50%;
    right: 5px;
    transform: translateY(-50%) rotate(-90deg);
    content: '';
    width: 18px;
    height: 18px;
    background: url(../images/common/icon_arrow.png) no-repeat center / 100%;
}
.blog_list li a:hover {
    opacity: 0.45;
}
.blog_list li a:hover::before {
    animation: blog_list_arrow 300ms 100ms ease-in-out forwards;
}
@keyframes blog_list_arrow {
    0% {
        right: 5px;
    }
    50% {
        right: 0;
    }
    100% {
        right: 5px;
    }
}
.blog_list_date {
    float: left;
    width: 100px;
    line-height: 1.4em;
}
.blog_list h4 {
    float: right;
    width: calc(100% - 120px);
    font-size: 1.1em;
    font-weight: 500;
    line-height: 1.4em;
}

/* Single */

#blog_heading {
    margin-bottom: 5em;
    padding-bottom: 3.5em;
    border-bottom: 1px solid #ccc;
}
.blog_heading_title {
    float: left;
    width: calc(100% - 370px);
}
.blog_heading_title h2 {
    margin-bottom: 0.5em;
    font-size: 1.5em;
    font-size: 1.6em;
    font-weight: 500;
    letter-spacing: 0.1em;
	line-height: 1.4em;
}
.blog_heading_next {
    float: right;
    width: 320px;
}
.blog_heading_next a {
	position: relative;
	display: block;
	padding: 13px 30px 12px 15px;
	border-radius: 5px;
    background: #f5f5f5;
	text-decoration: none;
	overflow: hidden;
}
.blog_heading_next a::before {
	position: absolute;
	right: 9px;
	top: 50%;
	transform: translateY(-50%) rotate(-90deg);
	content: '';
	width: 12px;
	height: 12px;
	background: url(../images/common/icon_arrow.png) no-repeat center / 100%;
}
.blog_heading_next a:hover::before {
	animation: next_hover 380ms 1 ease-in-out forwards;
}
@keyframes next_hover {
	0% {
		right: 9px;
	}
	50% {
		right: 6px;
	}
	100% {
		right: 9px;
	}
}
.blog_heading_next_date {
	float: left;
    margin-top: 2px;
    width: 70px;
    font-size: 0.7em;
    line-height: 1.2em;
}
.blog_heading_next h4 {
    float: right;
    width: calc(100% - 75px);
	font-size: 0.8em;
	line-height: 1.33em;
    letter-spacing: 0.03em;
}

#anchors {
	margin-bottom: 4em;
	padding: 0 1.5em 5em 1.5em;
	border-bottom: solid 1px #ccc;
}
#anchors h3 {
	margin-bottom: 1.5em;
	font-size: 1.2em;
	font-weight: 500;
}
#anchors ul {
	font-size: 1em;
}
#anchors li {
	font-weight: 500;
	letter-spacing: 0.1em;
	list-style: none !important;
	list-style-position: inside !important;
}
#anchors li:not(:last-of-type) {
	margin-bottom: 1em;
}
#anchors li a {
	padding-left: 26px;
	color: #111;
	text-decoration: none !important;
	background: url(../images/common/icon_arrow.png) no-repeat center left / 18px;
}
#anchors li a:hover {
	color: #111;
}
.post_anchor {
	text-align: right;
}
.post_anchor a {
	display: block;
	float: right;
	width: 105px;
	height: 40px;
}

#blog_additionals {
    margin-top: 4em;
    padding: 1.5em 2em;
    border-radius: 10px;
    background: #f5f5f5;
}
#blog_additionals h3 {
    margin-bottom: 1em;
    font-size: 1.1em;
    font-weight: 500;
}
#blog_additionals li {
    float: left;
}
#blog_additionals li:not(:last-of-type)::after {
    margin: 0 1em;
    content: '/';
    color: #ccc;
}