body.blog {
	margin: 0;
}

body.blog .section_cmn {
	padding: 0 0 5rem;
}

body.blog .bg_brown {
	background-color: #e0dacd;
}

body.blog .main_blog {
	display: block;
    padding-top: 7rem;
}

body.blog .main_blog h2 {
	margin-bottom: 0;
}

.blog .breadcrumbs ul {
	display: flex;
    justify-content: flex-start;
    align-items: center;
    gap: 10px;
    font-size: 0.8rem;
	padding: 1rem 0;
}

.blog_content_box .inner {
	display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 20px;
	margin-top: calc(20px - 1rem);
}

.blog_content_box main {
	width: calc(100% - 25% - 20px);
}

.blog_content_box aside {
	width: 25%;
}

.blog_content h2,
.page_blog-list h2 {
	background-color: #603d3f;
    padding: 1rem;
    color: #fff;
    font-size: 1.4rem;
    line-height: 2.2rem;
	overflow: hidden;
	position: relative;
}

.blog_content h2::before,
.page_blog-list h2::before {
	background-color: #fff;
	content: '';
	display: block;
	opacity: 0.3;
	transform: rotate(-50deg);
	position: absolute;
	bottom: -10px;
	right: -330px;
	width: 500px;
	height: 500px;
}

.blog_content h2:after,
.page_blog-list h2:after {
	background-color: #fff;
	content: '';
	display: block;
	opacity: 0.3;
	transform: rotate(-70deg);
	position: absolute;
	bottom: -100px;
	right: -500px;
	width: 500px;
	height: 500px;
}

.blog_content .post-date {
	font-size: 0.8rem;
    margin: 0.5rem 0;
    font-weight: 600;
}

.blog_content h3 {
	border-bottom: solid 2px #603d3f;
    font-size: 1.4rem;
    line-height: 1.8rem;
    padding: 0 0 0.5rem 1.5rem;
	margin-bottom: 1rem;
}

.blog_content h3::before {
	border-radius: 50%;
    content: '';
    display: block;
    position: relative;
    top: 23px;
    left: -1.4rem;
    width: 14px;
    height: 20px;
    background-color: #603d3f;
    transform: rotate(30deg);
}

.blog_content h4 {
    border-bottom: solid 1px #603d3f;
    border-left: solid 10px #603d3f;
    font-size: 1.2rem;
    line-height: 1.8rem;
    padding: 0.25rem 0 0.25rem 0.5rem;
	margin-bottom: 1rem;
}

.blog_content h5 {
	font-size: 1rem;
    line-height: 1.8rem;
    text-indent: -1rem;
    padding-left: 1rem;
}

.blog_content h5::before {
	content: ' ';
    display: inline-block;
    width: 10px;
    height: 10px;
    background-color: #603d3f;
    transform: rotate(45deg);
    margin-bottom: .1em;
    margin-right: 0.5rem;
}

.post-thumbnail img {
	width: 100%;
}

.blog_content p {
	font-size: 1rem;
    line-height: 1.8rem;
	margin-bottom: 1rem;
}

.blog_content ul {
	margin: 1rem 0;
}

.blog_content ul li {
	padding: 0 0 0 1.5rem;
    line-height: 1.8rem;
    font-size: 1rem;
}

.blog_content ul li::before {
	border-radius: 50%;
    content: '';
    display: block;
    position: relative;
    top: 18px;
    left: -1.4rem;
    width: 10px;
    height: 10px;
    background-color: #603d3f;
}

.blog_content ol {
	margin: 1rem 0;
	counter-reset: li; 
  	list-style: none;
}

.blog_content ol li {
    line-height: 1.8rem;
    font-size: 1rem;
    padding-left: 1.5rem;
    text-indent: -1.3rem;
    margin-bottom: 1rem;
}

.blog_content ol > li::before {
	margin-right: 0.5rem;
  	content:counter(li) ".";
  	counter-increment: li;
  	font-weight: 600;
	color: #603d3f;
}

.blog_content table {
	width: 100%;
    border: solid 1px #603d3f;
    margin: 1rem 0;
}

.blog_content table tr {
	border-bottom: solid 1px #603d3f;
}

.blog_content table tr:last-of-type {
	border-bottom: none;
}

.blog_content table tr:first-of-type td {
	background-color: #603d3f;
	color: #fff;
}

.blog_content table tr:first-of-type td {
	border-right: solid 1px #fff;
}

.blog_content table tr td {
	border-right: solid 1px #603d3f;
	padding: 0.5rem;
}

.blog_content table tr td:last-of-type {
	border-right: none;
}

.back_btn {
	margin: 3rem auto 0;
}

.back_btn a {
	border: 2px solid #603d3f!important;
    color: #603d3f!important;
}

.back_btn a span,
.back_btn a span.dot::before,
.back_btn a span.dot::after {
	background-color: #603d3f!important;
}

.back_btn a:hover {
    background-color: #603d3f!important;
	color: #fff!important;
}

.back_btn a:hover span,
.back_btn a:hover span.dot::before,
.back_btn a:hover span.dot::after {
	background-color: #fff!important;
}

.page_blog-list .blog_list_box {
	display: flex;
	justify-content: flex-start;
	align-items: stretch;
	flex-wrap: wrap;
	gap: 20px;
	margin: 1rem 0;
}

.page_blog-list .blog_list_box .blog_list_item {
	width: calc((100% - 40px) / 3);
	background-color: #fff;
}

.page_blog-list .blog_list_box .blog_list_item .blog_date {
	font-size: 0.8rem;
    margin: 0.5rem;
}

.page_blog-list .blog_list_box .blog_list_item .blog_title {
	margin: 0 0.5rem 1rem;
    font-size: 0.9rem;
    line-height: 1.4rem;
}

.blog_list_item .blog_thumbnail {
	background-color: #e0dacd;
}

.blog_list_item .blog_thumbnail img {
	aspect-ratio: 16 / 9;
    width: 100%;
    height: auto;
    object-fit: cover;
    display: block;
    -webkit-mask-image: 
		radial-gradient(circle 10px at 0% 0%, transparent 9px, black 10px),
		radial-gradient(circle 10px at 100% 0%, transparent 9px, black 10px);
    -webkit-mask-composite: destination-in;
    mask-composite: intersect;
    -webkit-mask-repeat: no-repeat;
}

aside .sidebar-widget h3 {
	background-color: #603d3f;
    padding: 0.5rem;
    color: #fff;
    font-size: 1rem;
    line-height: 1.8rem;
	overflow: hidden;
	position: relative;
}

aside .sidebar-widget h3:before{
	background-color: #fff;
	content: '';
	display: block;
	opacity: 0.3;
	transform: rotate(-50deg);
	position: absolute;
	bottom: -10px;
	right: -330px;
	width: 500px;
	height: 500px;
}

aside .sidebar-widget h3:after {
	background-color: #fff;
	content: '';
	display: block;
	opacity: 0.3;
	transform: rotate(-70deg);
	position: absolute;
	bottom: -100px;
	right: -500px;
	width: 500px;
	height: 500px;
}

aside .sidebar-widget ul {
	margin: 0 0 2rem;
}

aside .sidebar-widget ul li {
	border-bottom: solid 1px #603d3f;
    padding: 0.5rem 0;
    font-size: 0.9rem;
    line-height: 1.6rem;
}

aside .sidebar-widget .post-link-with-thumbnail {
	display: flex;
    justify-content: flex-start;
    align-items: flex-start;
    gap: 10px;
}

aside .sidebar-widget .post-link-with-thumbnail img {
	width: 30%;
    aspect-ratio: 16 / 9;
    object-fit: cover;
}

@media(max-width: 767px){
	.blog_content_box .inner {
		flex-direction: column;
	}
	
	.blog_content_box main {
		width: 100%;
	}
	
	.blog_content_box aside {
		width: 100%;
		margin-top: 3rem;
	}
	
	.page_blog-list .blog_list_box .blog_list_item {
		width: 100%;
	}
}