@charset "utf-8";

/*----------------------------------------*----------------------------------------
side
----------------------------------------*----------------------------------------*/

.sideNav .card_block { font-size: 1.3rem; }

@media screen and (max-width: 767px) {
#side dt { text-align: center; }
}

@media print, screen and (min-width: 768px) {
#side { padding-left: 30px; }
.widget_categories .card_block { padding: 0; }
}

/*----------------------------------------
nav
----------------------------------------*/

.sideNav li + li { border-top: 1px solid #ccc; }
.sideNav ul ul li { border-top: 1px dotted #ccc; }

.sideNav li a {
	color: #333;
	position: relative;
	text-decoration: none;
	display: block;
	padding: 7px 15px;
	transition: all .2s linear;
}
.sideNav ul ul a { padding-left: 25px; }
.sideNav li a:before {
	font-family: "FontAwesome";
	content: "\f105";
	margin-right: 10px;
}
.sideNav ul ul a:before {
	content: "\f0da";
	font-size: 1.2rem;
}
.sideNav a:hover, .sideNav .current-cat > a { background: rgba(255,0,0,.05); }
.sideNav .current-cat:before, .sideNav .current-cat > a { color: #f00; }
.sideNav .count {
	font-size: 1.2rem;
	letter-spacing: .1em;
	margin-left: 5px;
}

/*----------------------------------------
select
----------------------------------------*/

.sideNav select { width: 100%; }
.sideNav .screen-reader-text { display: none; }

/*----------------------------------------
search
----------------------------------------*/

.widget_search .card_block { text-align: center; }
#s {
	border: 1px solid #ccc;
	width: 100%;
	margin-bottom: 5px;
}
#searchsubmit {
	background: rgba(255,0,0,1);
	color: #fff;
	border: none;
	padding: 1px 10px;
	display: block;
	width: 100%;
	transition: all .2s linear;
}
#searchsubmit:hover { background: rgba(255,0,0,.75); }

@media screen and (max-width: 767px) {
	#s {
		display: block;
		width: 100%;
		margin-bottom: 5px;
	}
	#searchsubmit {
		display: block;
		width: 100%;
		padding: 5px;
	}
}
@media print, screen and (min-width: 768px) {
#searchsubmit { padding: 1px 10px; }
}

/*----------------------------------------*----------------------------------------
list
----------------------------------------*----------------------------------------*/

.news_list .title img { vertical-align: middle; }

@media screen and (max-width: 767px) {
.news_list, .news_404 { text-align: center; }
.news_list .card, .news_404 .card { text-align: left; }
.list_description { text-align: center; }
}

@media print, screen and (min-width: 768px) {
}

/* list-1を使用する場合 */

/*
@media screen and (max-width: 767px) {
.news_list th { text-align: center; }
.news_list .category {
	border-bottom: none;
	padding-bottom: 0;
}
}

@media print, screen and (min-width: 768px) {
.news_list th { padding-right: 20px; }
.news_list th, .news_list td { vertical-align: top; }
.news_list .category {
	padding-right: 20px;
	white-space: nowrap;
}
}
*/

/* list-2を使用する場合 */

/*
.news_list .category {
	display: block;
	margin-bottom: 5px;
}
.news_list .excerpt {
	font-size: 1.3rem;
	display: block;
	margin-top: 5px;
}
*/

/* list-3を使用する場合 */


.news_list .media-pc {
	border-top: 1px dotted #ccc;
	padding-top: 20px;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 20px;
}
.news_list .media-pc + .media-pc {
	border-top: none;
	padding-top: 0;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 20px;
}
.news_list .date {
	display: block;
	margin-bottom: 5px;
}
.news_list .category {
	display: block;
	margin-bottom: 5px;
}

.news_list .excerpt {
	font-size: 1.3rem;
	display: block;
	margin-top: 5px;
}
.news_list .media_body{
	text-align:left !important;
}


/* list-4を使用する場合 */

/*
.news_list .media-pc {
	border-top: 1px dotted #ccc;
	padding-top: 20px;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 20px;
}
.news_list .media-pc + .media-pc {
	border-top: none;
	padding-top: 0;
	border-bottom: 1px dotted #ccc;
	padding-bottom: 20px;
}
.news_list .date {
	display: block;
	margin-bottom: 5px;
}
.news_list .category {
	display: block;
	margin-bottom: 5px;
}
.news_list .excerpt {
	font-size: 1.3rem;
	display: block;
	margin-top: 5px;
}
*/

/* list-5を使用する場合 */

.news_list article { margin-bottom: 40px; }
.news_list .card_header,
.news_list .card_footer { font-size: 1.3rem; }

/*----------------------------------------*----------------------------------------
search
----------------------------------------*----------------------------------------*/

.news_search { margin-bottom: 20px; }
.news_search .search { border: 1px solid #ccc; }
.news_search .submit {
	background: rgba(255,0,0,1);
	color: #fff;
	border: none;
	display: inline-block;
	transition: all .2s linear;
}
.news_search .submit:hover { background: rgba(255,0,0,.75); }

@media screen and (max-width: 767px) {
.news_search .search {
	display: block;
	width: 100%;
	margin-bottom: 5px;
}
.news_search .submit {
	display: block;
	width: 100%;
	padding: 5px;
}
}
@media print, screen and (min-width: 768px) {
.news_search .submit { padding: 1px 20px; }
}

/*----------------------------------------*----------------------------------------
single
----------------------------------------*----------------------------------------*/

.news_single { margin-bottom: 40px; text-align:left !important; }
.news_single footer {
	border-top: 1px dotted #ccc;
	margin-top: 40px;
	padding-top: 20px;
	font-size: 1.3rem;
}

.news_single header h1{
	color:#122a88 !important;
}
.news_single h2{
	color:#122a88 !important;
	margin-bottom:10px !important;
}
.news_single strong{
	color:#32bde0;
}
@media screen and (max-width: 767px) {
.news_single header { margin-bottom: 20px; margin-top:40px; }
.news_single footer span { display: block; }
.news_single header h1{font-size: 2.0rem !important; font-weight:bold !important;}
.news_single h2{ font-size: 1.8rem !important; font-weight:bold !important;}
}

@media print, screen and (min-width: 768px) {
.news_single header { margin-bottom: 40px; }
.news_single header h1{font-size: 2.6rem !important;}
.news_single h2{ font-size: 2.0rem !important;}
}


/*----------------------------------------
align
----------------------------------------*/

@media screen and (max-width: 767px) {
.aligncenter, .alignleft, .alignright {
	display: block;
	text-align: center;
}
#contents .post img.aligncenter,
#contents .post img.alignleft,
#contents .post img.alignright { margin-bottom: 20px !important; }
}

@media print, screen and (min-width: 768px) {
#contents .post img{
	display: block;
	margin: 0 auto;
	}
.aligncenter {
	display: block;
	clear: both;
	margin: 0 auto 20px;
}
.alignleft {
	float: left;
	clear: both;
	margin-right: 20px;
}
.alignright {
	float: right;
	clear: both;
	margin-left: 20px;
}
}

/*----------------------------------------
caption
----------------------------------------*/

.wp-caption {
	margin-bottom: 20px;
	max-width: 100%;
}
.wp-caption-text {
	text-align: center;
	font-size: 1.3rem;
	padding-top: 5px;
}

/*----------------------------------------
gallery
----------------------------------------*/

.post .gallery {
	margin-left: -10px;
	margin-right: -10px;
}
.post .gallery-item {
	float: left;
	padding-left: 10px;
	padding-right: 10px;
	margin-bottom: 20px;
	text-align: center;
	vertical-align: top;
}
.post .gallery dd { margin-left: 0; }
.post .gallery-size-medium .gallery-item { width: 50%; }
.post .gallery-size-thumbnail .gallery-item { width: 33.333333%; }

/*----------------------------------------
video
----------------------------------------*/

.post .video-container {
	max-width: 100%;
	margin-bottom: 20px;
}
.post .video {
  position: relative;
  padding-bottom: 56.25%;
  padding-top: 30px;
  height: 0;
  overflow: hidden;
  max-width: 100%;
  height: auto;
}
.post .video iframe, .post .video object, .post .video embed {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

/*----------------------------------------
table
----------------------------------------*/

.post th, .post td {
	border-bottom: 1px solid #ccc;
	border-top: 1px solid #ccc;
	padding: 7px 15px;
	vertical-align: middle;
}

/* thead */

.post thead th {
	border-bottom: 3px double #ccc;
	background: #f2f2f2;
}

/* tbody */

.post tbody th { background: #f2f2f2; }

/* tfoot */

.post tfoot td {
	border-top: 3px double #ccc;
	background: #f2f2f2;
}

@media screen and (max-width: 767px) {
.post table { border-top: 1px solid #ccc; }
.post th, .post td {
	border-top: none;
	padding-left: 10px;
	padding-right: 10px;
	display: block;
}
.post thead { display: none; }
.post td[data-label]:before {
	content: "[ "attr(data-label)" ]";
	margin-right: 10px;
	font-size: 1.4rem;
}
}

/*----------------------------------------
Dl
----------------------------------------*/

.post dt { font-weight: bold; }
.post dd + dt { margin-top: 10px; }

/*----------------------------------------
ul
----------------------------------------*/

.post ul li {
	list-style: disc;
	margin-left: 20px;
}
.post ul > li + li { margin-top: 5px; }
.post ul ul,
.post ul ol { margin-top: 5px; }

/*----------------------------------------
ol
----------------------------------------*/

.post ol li {
	list-style: decimal;
	margin-left: 20px;
}
.post ol > li + li { margin-top: 5px; }
.post ol ul,
.post ol ol { margin-top: 5px; }
