/* 個別ページ */
.single #main,
.archive #main,
.blog_top #main,
.search #main{
    margin: 20px auto;
	padding: 40px 20px;
    background: #fff;
    width: 960px;
	font-size: 14px;
	line-height: 1.5;
	box-sizing: border-box;
}
.single a,
.archive a,
.blog_top a{
	color: inherit;
	text-decoration: none;
}
.blog_box a{
	color: #0066cc;
	text-decoration: underline;
	word-wrap: break-word;
}
.blog_h1{
	font-size: 40px;
	line-height: 1.5;
}
.single #container,
.archive #container,
.blog_top #container {
	gap: 40px 20px;
	margin-top: 30px;
}
.single #content,
.archive #content,
.blog_top #content{
	flex: 1;
	max-width: 670px;
	order: 2;
	margin-bottom: 0;
}
.blog_top_btn_wrap{
	justify-content: start;
	gap: 5px;
}
.blog_top_btn{
	border: solid 1px #f7b2b7;
	background: linear-gradient(to bottom, #f7f7f7 1%,#f7b2b7 50%,#f7b2b7 100%);
	border-radius: 5px;
	padding: 10px;
	width: 200px;
}
.blog_box{
	border: solid 2px #e60012;
	padding: 20px;
	font-size: 14px;
}
#content .blog_ttl {
	font-size: 22px;
	line-height: 1.5;
	color: #e60012;
	border-left: solid 4px #e60012;
	padding: 5px 10px;
	margin-bottom: 20px;
}

.blog_sidebar{
	width: 270px;
	order: 1;
}
.blog_side_cate{
	font-size: 20px;
	background: #e60012;
	color: #fff;
	padding: 20px;
	outline: dashed 1px #fff;
	outline-offset: -8px;
}
.blog_side_cate_box{
	border: solid 2px #e60012;
	padding: 10px;
}
.blog_side_ul li{
	border-bottom: dashed 1px #e60012;
	padding: 5px 0;
}
.searchform{
	display: flex;
	padding: 5px;
	border: solid 1px #c1c1c1;
}
.serch_box input {
	flex: 1;
	font-size: 18px;
	background: none;
	border: none;
	box-shadow: none;
}
.serch_box button {
	background: none;
	border: none;
	cursor: pointer;
	color: #c1c1c1;
	font-size: 18px;
}

.post_link a{
	padding: 8px 20px;
	background: #e60012;
	color: #fff;
	border: solid 1px #e60012;
	border-radius: 5px;
}
.single_content .wp-video{
	max-width: 587px;
}

@media screen and (min-width: 961px) {
	.blog_top_btn,
	.blog_side_ul a,
	.post_link a,
	.blog_side_link{
		transition: 0.3s ease-in-out;
	}
	.blog_top_btn:hover,
	.blog_top_btn:visited:hover{
		background: #e60012;
		border: solid 1px #e60012;
		color: #fff;
	}
	.blog_side_ul a:hover{
		color: #e60012;
	}
	.post_link a:hover{
		background: #fff;
		color: #e60012;
	}
	.blog_side_link:hover{
		opacity: 0.5;
	}
}

@media screen and (max-width: 960px) {
	.single #main,
	.archive #main,
	.blog_top #main{
		width: calc(100% - 20px);
	}
	.single #main, .archive #main, .blog_top #main, .search #main{
		padding: 40px 10px;
	}
	.single #container,
	.archive #container,
	.blog_top #container{
		flex-wrap: wrap;
	}
	.single #content,
	.archive #content,
	.blog_top #content{
		flex: none;
		width: 100%;
		max-width: unset;
	}
	.blog_sidebar{
		order: 2;
		width: 100%;
	}
	.blog_box{
		padding: 20px 10px;
	}

	.blog_h1{
		font-size: 30px;
	}
	.blog_top_btn{
		width: auto;
	}
	#content .blog_ttl{
		font-size: 18px;
	}
	#content .blog_box p{
		font-size: 1em;
		margin-bottom: 1.2em;
	}
}

/* 一覧ページ */
.tab_container {
	gap: 5px;
}
.tab {
	border: solid 2px #e60012;
	border-bottom: none;
	background: #fff;
	color: #e60012;
	border-radius: 10px 10px 0 0;
	padding: 8px;
	flex: 1;
	font-size: 18px;
	cursor: pointer;
}
.tab.active {
	background: #e60012;
	color: #fff;
}
.blog_content {
	display: none;
	border: solid 2px #e60012;
    padding: 20px;
}
.blog_content.show {
	display: block;
}
.page-numbers{
	display: flex;
	justify-content: center;
	gap: 10px;
	flex-wrap: wrap;
}
.page-numbers a,
.page-numbers span{
	background: #fff;
	color: #e60012;
	border: solid 2px #e60012;
	border-radius: 5px;
	text-decoration: none;
	padding: 5px 10px;
}
.page-numbers span.current {
	background: #e60012;
	color: #fff;
}
.blog_content a:visited,
.blog_box a:visited,
.blog_sidebar a:visited {
	color: #e60012;
}

.blog_list li{
	border-bottom: dashed 1px #e60012;
    padding: 8px 0;
	gap: 5px 10px;
}
.blog_list_ttl{
	flex: 1;
}
.blog_list_date{
	width: 135px;
	font-size: 12px;
}

#content .blog_cate_ul{
	background: #facac7;
	padding: 20px;
	gap: 5px 20px;
	margin-bottom: 0;
	flex-wrap: wrap;
}
.blog_cate_ul li {
	width: calc(50% - 10px) ;
}

.year_list{
	justify-content: start;
	gap: 5px 10px;
	flex-wrap: wrap;
}
.year_tab{
	border: solid 1px #e60012;
	color: #e60012;
	padding: 2px 10px 1px;
	border-radius: 30px;
	cursor: pointer;
}
.year_tab.active{
	background: #e60012;
	color: #fff;
}
.month_archive_container{
	gap: 10px;
}
#content .month_archive_list{
	display: none;
	justify-content: start;
	flex-wrap: wrap;
	gap: 10px;
	background: #facac7;
	padding: 20px;
	margin-bottom: 0;
}
#content .month_archive_list.show{
	display: flex;
}
.month_archive_list li{
	width: calc((100% - 30px) / 4);
}

@media screen and (min-width: 961px) {
	.tab,
	.blog_list_ttl a,
	.page-numbers a,
	.blog_cate_ul a,
	.year_tab,
	.month_archive_list a{
		transition: 0.3s ease-in-out;
	}
	.tab:hover{
		background: #e60012;
		color: #fff;
	}
	.blog_list_ttl a:hover,
	.blog_cate_ul a:hover,
	.month_archive_list a:hover{
		color: #e60012;
	}
	.page-numbers a:hover{
		background: #e60012;
		color: #fff;
	}
	.year_tab:hover{
		background: #e60012;
		color: #fff;
	}
}


@media screen and (max-width: 960px) {
	.tab{
		font-size: 13px;
		padding: 5px;
	}
	.blog_list li{
		flex-wrap: wrap;
	}
	.blog_list_ttl{
		flex: none;
		width: 100%;
	}
	.blog_list_date{
		width: 100%;
	}

	.month_archive_list li{
		width: 120px;
	}
	.blog_content{
		font-size: 14px;
	}
}

.searchhighlight{
	font-weight: bold;
}
.grecaptcha-badge { visibility: hidden; }