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


/*================================
共通
================================*/
#content{
	flex: 1;
}
@media (min-width: 768px){
	#right-sidebar{
		width: 32%;
		max-width: 330px;
	}
}
@media (max-width: 767px){
	#right-sidebar{
		margin-top: 4rem;
	}
}

/*サイドバー
================================*/
/*タイトル*/
.widget-title,
.wp-block-heading{
	color: #fff;
	font-size: 1.1rem;
	background-color: #1769e0;
	text-align: center;
	padding: .5rem;
}

/*最近の投稿*/
.widget_recent_entries ul{
	padding-left: 0;
}
.widget_recent_entries ul li{
	display: flex;
	flex-wrap: wrap;
	border-bottom: #cacaca 1px solid;
	color: #1d2b6c;
	font-size: .9rem;
	padding-bottom: .5rem;
  margin-bottom: .5rem;
}
.widget_recent_entries ul li .post-date{
	width: 100%;
	display: block;
	font-weight: bold;
	order: 1;
}
.widget_recent_entries ul li a{
	order: 2;
}

/*カレンダー*/
.calendar_wrap{
	position: relative;
}
.wp-calendar-nav{
	position: absolute;
	top: .5rem;
	left: 0;
	width: 100%;
	display: flex;
  justify-content: space-between;
}
.wp-calendar-nav-prev a,
.wp-calendar-nav-next a{
	color: #1d2b6c;
	font-size: .8rem;
	padding: .3rem .5rem;
	background-color: #f0f0f0;
}
.wp-calendar-table{
	width: 100%;
	caption-side: top;
}
.wp-calendar-table caption{
	color: #1d2b6c;
	font-weight: bold;
	text-align: center;
}
.wp-calendar-table th{
	color: #fff;
	font-weight: bold;
	background-color: #909090;
}
.wp-calendar-table td, .wp-calendar-table th{
	text-align: center;
	border-color: #fff !important;
	border-width: 1px;
	font-size: .9rem;
}
.wp-calendar-table td:not(.pad){
	background-color: #f0f0f0;
}
.wp-calendar-table td{
	position: relative;
}
.wp-calendar-table td a{
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	color: #fff;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: #1d2b6c;
	transition: .5s;
}
@media (hover: hover){
	.wp-calendar-nav-prev a:hover,
	.wp-calendar-nav-next a:hover{
		color: #fff;
		background-color: #74cff9;
	}
	.wp-calendar-table td a:hover{
		background-color: #74cff9;
	}
}


/*================================
一覧
================================*/
#post_list ul{
	list-style: none;
	padding-left: 0;
	margin-bottom: 0;
}
#post_list ul li{
	color: #1d2b6c;
	font-weight: bold;
	padding: 1rem 0;
	border-bottom: #cacaca 1px solid;
}
#post_list ul li .date{
	display: block;
}
#post_list ul li a{
	color: #000;
	font-weight: normal;
}
@media (hover: hover){
	#post_list ul li a:hover{
		color: #1769e0 !important;
	}
}


/*ページナビゲーション
================================*/
#page_nav{
	margin-top: 3rem;
}
#page_nav .pagination{
	justify-content: center;
}
#page_nav .pagination .page-item{
	position: relative;
}
#page_nav .pagination .page-item.active::after{
	content: '';
	display: inline-block;
	position: absolute;
	left: 50%;
  -webkit-transform: translateX(-50%);
  transform: translateX(-50%);
	bottom: 0;
	width: 20px;
	height: 2px;
	background-color: #000;
}
#page_nav .pagination .page-item .page-link{
	color: #000;
	font-weight: bold;
  border: none;
}
#page_nav .pagination .page-item.active .page-link{
	background-color: transparent;
}
@media (hover: hover){
	#page_nav .pagination .page-item .page-link:not(.prev):not(.next):hover{
		color: #74cff9;
		background-color: transparent;
	}
	#page_nav .pagination .page-item .page-link.prev:hover,
	#page_nav .pagination .page-item .page-link.next:hover{
		color: #fff;
		background-color: #a2deff;
	}
}

/*================================
詳細
================================*/
#post_detail .entry-title{
	position: relative;
	background-color: #f0f0f0;
	padding: .5rem 1rem;
	margin-bottom: 1rem;
}
#post_detail .entry-title::after{
	content: '';
	display: inline-block;
	position: absolute;
	top: -30px;
	left: -55px;
	width: 130px;
	height: 115px;
	background-image: url("/img/topics/ttl_mark.png");
	background-size: contain;
	background-repeat: no-repeat;
	z-index: 0;
}
#post_detail .entry-title span{
	font-size: calc(1.2rem + 0.6vw);
	font-weight: bold;
	position: relative;
	z-index: 1;
}
#post_detail .date{
	color: #1d2b6c;
	font-weight: bold;
	position: relative;
	z-index: 1;
}
#post_detail .entry-content{
	padding-top: 2rem;
	padding-bottom: 2rem;
	border-bottom: #f0f0f0 1px solid;
}

@media (min-width: 1200px){
	#post_detail .entry-title span{
		font-size: 1.6rem;
	}
}

/*前の記事と次の記事　ナビゲーション
================================*/
.post-navigation{
	padding: 0;
	margin-top: 1.5rem;
}
.post-navigation .nav-links a{
  color: #1d2b6c;
  padding: .5rem;
  background-color: #f0f0f0;
}
@media (hover: hover){
  .post-navigation .nav-links a:hover{
    color: #fff;
    background-color: #74cff9;
  }
}

/*一覧へ戻るボタン
================================*/
.btn_back{
	position: relative;
	border-radius: 40px;
	font-size: 1.1rem;
	font-weight: bold;
	color: #1769e0;
	border: #1769e0 1px solid;
	width: 100%;
	max-width: 300px;
	margin: 2rem auto 0;
	display: block;
	padding: .75rem 3rem;
	background-color: #fff;
	
}
.btn_back .arrow{
	position: absolute;
	top: 50%;
	-webkit-transform: translateY(-50%);
	transform: translateY(-50%);
	left: .75rem;
	width: 32px;
	height: 32px;
	display: block;
	color: #fff;
	border-radius: 50%;
	background-color: #1769e0;
}
.btn_back .arrow i{
	position: absolute;
	top: 50%;
	left: 50%;
	-webkit-transform: translateY(-50%) translateX(-50%);
	transform: translateY(-50%) translateX(-50%);
	font-size: .8rem;
}
@media (hover: hover){
	.btn_back:hover{
		color: #fff !important;
		background-color: #1769e0;
		border-color: #1769e0 !important;
	}
	.btn_back:hover .arrow{
		background-color: #fff !important;
	}
	.btn_back:hover .arrow i{
		color: #1769e0;
	}
}

/*================================
404
================================*/
.not_found{
  text-align: center;
  background-color: #f0f0f0;
  padding: 1rem;
  max-width: 750px;
  margin: 0 auto;
}
.not_found p{
  margin-bottom: 0;
}
@media (max-width: 767px){
  .not_found p{
    text-align: left;
    display: inline-block;
  }
}

