@charset "utf-8";
/*
Theme Name: Principle
Description: SEOに強いレスポンシブデザインのブログ用テンプレート
Version: 7.3.2
Author: Nobuo_CREATE
Author URI: http://wp-principle.net/
*/

/****  リセット  ****/
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary,
time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	outline: 0;
	font-style:normal;
	font-weight: normal;
	font-size: 100%;
	vertical-align: baseline;
}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
h1,h2,h3,h4,h5,h6{
	clear: both;
}
p, h1, h2, h3, h4, h5, h6{
	word-wrap:break-word;
	overflow-wrap:break-word;
}
*{
	-webkit-box-sizing: border-box;
	   -moz-box-sizing: border-box;
	    -ms-box-sizing: border-box;
	     -o-box-sizing: border-box;
			box-sizing: border-box;
}
body{
	font-size: 18px;
	line-height: 1.7;
	font-family: "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro","メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
	color: #333;
	min-width: 340px;
}

.red{color: #bc0000 !important;}
.blue{color: blue !important;}
.green{color: green !important;}
.gray{color: #777 !important;}
.back_gray{background: #999}
.b, strong{font-weight: bold !important;}
.ll{font-size: 1.6em !important; font-weight:bold}
.l{font-size: 1.3em !important; font-weight:bold}
.s{font-size: 0.85em !important;}
.ss{font-size: 0.7em !important;}
.alignleft{text-align:left;}
.aligncenter{text-align:center;}
.alignright{text-align:right;}
img{max-width: 100%; height: auto;}
img.alignleft{float:left; margin: 0 10px 10px 0;}
img.aligncenter{display:block; margin: 0 auto 10px;}
img.alignright{float:right; margin: 0 0 10px 10px;}
.margin_0{margin-bottom: 0 !important}
.margin_5, .no_margin{clear:both; margin-bottom: 5px !important}
.margin_10{clear:both; margin-bottom: 10px !important}
.margin_20{clear:both; margin-bottom: 20px !important}
.margin_30{clear:both; margin-bottom: 30px !important}
.margin_40{clear:both; margin-bottom: 40px !important}
.margin_50{clear:both; margin-bottom: 50px !important}
.underline{border-bottom: 1px solid #ccc; margin: 1px 0;}
.badge_red, .badge-red,
.badge_green, .badge-green{
	font-size: 0.85em;
	padding: 4px 8px 2px;
	margin-right: 5px;
	border-radius: 5px;
	color: #fff;
}
.badge_red, .badge-red{background: #e00;}
.badge_green, .badge-green{background: #060;}
.waku_red,
.waku_green,
.waku_yellow{
	width: 100%;
	max-width: 600px;
	border-radius: 5px;
	padding: 1.5em 4% 0;
	margin: 0 auto 2em;
}
.waku_red{
	border: 2px solid #c30;
	background: #fffaff;
}
.waku_green{
	border: 2px solid #3c0;
	background: #faffff;
}
.waku_yellow{
	border: 2px solid #f93;
	background: #fffafa;
}
.clear{
	clear: both;
	line-height: 0;
	overflow: hidden;
}
a{
  color: #4169E1;
  text-decoration: none;
  transition-property: all;
  transition: 0.2s linear;
}

.header{
	
}
.header_inner,
.nav_inner,
.main_side,
.footer_inner{
	max-width: 1200px;
	margin: 0 auto;
	overflow:hidden;
}
.header_inner{
	padding: 30px 2%;
}
.top_pickup_wrap{
	padding: 0 10px;
}
.main_side{
	padding-top: 30px;
}
.main{
	width: calc(100% - 360px);
	float: left;
	padding-left: 10px;
}
.sidebar{
	width: 320px;
	float: right;
	padding-right: 10px;
}
.sidebar_inner{
	width: 310px;
}
.footer{
	
}

.box{
	padding: 20px 5%;
	background-color: #fff;
	margin-bottom: 30px;
	border: 1px solid #ddd;
	overflow: hidden;
}
.box li:last-child{
	margin-bottom: 0;
}
.no_box{
	margin-bottom: 30px;
}
.box_header{
	text-align: center;
	border-bottom-width: 1px;
	border-style: solid;
}


/****  ヘッダー  ****/
.site_title{
	font-size: 1.6em;
	line-height: 1.5;
	text-shadow: 0 1px 1px #ddd;
}
.site_title a{
	color: #333;
	text-decoration: none;
}
.site_img_area img{
	display: block;
}
.site_desc{
	color: #777;
}
.nav{
	width: 100%;
	height: 48px;
	border-top: 1px solid #eee;
	border-bottom: 1px solid #eee;
	z-index: 10;
	overflow: hidden;
}
.menu_dots{
	display: none;
	width: 40px;
	font-size: 28px;
	line-height: 46px;
	float: right;
	text-align: center;
	pointer: cursor;
}
.nav ul{
	font-size: 0;
}
.nav ul li{
	font-size: 18px;
	display: inline-block;
}
.nav ul li a{
	display: block;
	padding: 8px 12px;
}


/**** pickup ****/
.pickup_posts_wrap{
	margin-bottom: 30px;
}
.pickup_posts{
	display: flex;
	justify-content: space-between;
}
.pickup_post{
	width: 24%;
	padding: 8px;
	background: #fff;
	margin-bottom: 0;
}
.pickup_post a{
	color: #333;
}
.pickup_thumb_box{
	height: 80px;
	background: #ddd;
	overflow: hidden;
	margin-bottom: 5px;
}
.pickup_title{
	font-size: 0.8em;
	text-shadow: 0 1px 1px #ddd;
}
.main .pickup_thumb_box{
	height: 56px;
}


/**** index ****/
.index_header{
	font-size: 1.6em;
	text-align: center;
	padding: 20px 10px 5px;
	margin-bottom: 10px;
}
.posts{
	clear: both;
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.post{
	width: 48%;
	background: #fff;
	padding: 10px;
}
.thumb_box{
	background: #ddd;
	overflow: hidden;
	margin-bottom: 10px;
	transition-property: all;
	transition: 0.2s linear;
}
.quarter_posts .thumb_box{
	max-height: 80px;
}
.thumb_box:hover{
	background: #eee;
}
.post_thumbnail{
	display: block;
	margin: 0 auto;
}
.no_thumbnail{
	color: #fff !important;
	font-size: 0.9em;
	text-align: right;
	padding: 10px;
}
.post a{
	color: #333;
}
.post_date{
	font-size: 0.8em;
	color: #777;
}
.post h2,
.post h3{
	font-size: 1.1em;
	padding-bottom: 5px;
	text-shadow: 0 1px 1px #ddd;
}
.category_tags{
	text-align: right;
}
.category_tags a{
	display: inline-block;
	font-size: 0.8em;
	line-height: 1.5;
	padding: 0 5px;
	border-radius: 2px;
}


/****  ページネーション  ****/
.pagination{
	clear:both;
	line-height: 35px;
	text-align: right;
	margin-bottom: 30px;
}
.pagination span,
.pagination a {
	display:inline-block;
	line-height: 40px;
	text-align: center;
	padding-left: 4px;
	padding-right: 4px;
	margin-left: 8px;
	text-decoration: none;
	border-width: 1px;
	border-style: solid;
	min-width: 34px;
}
.pagination a:first-child{
	margin: 0;
}
.pagination .current{
	background: #3279BB;
}


/****  sns  ****/
.main .box_header{
	font-size: 1.3em;
	margin-bottom: 20px;
}
.share_buttons{
	text-align: center;
	font-size: 0;
}
.share_button{
	display: inline-block;
	line-height: 1;
	width: 18%;
	font-size: 20px;
	padding: 6px 0;
	margin-left: 2.5%;
	background: #fff;
	border-width: 3px;
	border-style: solid;
	border-radius: 3px;
	-webkit-transition: 0.3s ease-in-out;
	   -moz-transition: 0.3s ease-in-out;
	     -o-transition: 0.3s ease-in-out;
	        transition: 0.5s;
}
.twitter{
	color: #1DA1F2;
	border-color: #1DA1F2;
	margin-left: 0;
}
.facebook{
	color: #4267B1;
	border-color: #4267B1;
}
.hatebu{
	color: #0291C5;
	border-color: #0291C5;
	vertical-align: bottom;
}
.pocket{
	color: #ED4055;
	border-color: #ED4055;
}
.line{
	color: #00B901;
	border-color: #00B901;
}
.share_button:hover{
	transform: scale(1.1, 1.1);
}


/****  記事内  ****/
.single_post{
	padding-left: 8%;
	padding-right: 8%;
	overflow: visible;
}
.single_post h1{
	font-size: 1.7em;
	padding: 30px 0 40px;
}
.single_post .post_date{
	padding-top: 15px;
	border-top-width: 1px;
	border-top-style: solid;
}
.single_post .post_thumbnail{
	margin-bottom: 30px;
}
.content p{
	font-size: 1.1em;
	line-height: 1.8;
	margin-bottom: 2em;
}
.content a{
	text-decoration: underline;
}
.content h2, .content h3, .content h4, .content h5, .content h6{
	padding: 4px 0 2px 15px;
	margin: 20px 0 10px;
}
.content h4, .content h5, .content h6{
	padding-top: 1px;
	padding-bottom: 1px;
	border-left-style: solid;
}
.content h2{
	font-size: 1.5em;
	line-height: 1.4;
	padding-left: 5%;
	margin-left: -10%;
	border-bottom: 1px solid #777;
	border-right: 1px solid #777;
	border-radius: 3px;
	margin-bottom: 20px;
}
.content h3{
	font-size: 1.4em;
	border-bottom-width: 3px;
	border-bottom-style: solid;
}
.content h4{
	font-size: 1.3em;
	border-left-width: 12px;
}
.content h5{
	font-size: 1.25em;
	border-left-width: 8px;
}
.content h6{
	font-size: 1.2em;
	border-left-width: 4px;
}
.content img.alignnone{
	margin: 10px 0;
}
.content img.alignright {
	max-width: 50%;
	display: block;
	float: right;
	margin: 0 0 10px 10px;
}
.content img.alignleft {
	max-width: 50%;
	display: block;
	float: left;
	margin: 0 10px 10px 0;
}
.content img.aligncenter{
	max-width: 100%;
	display: block;
	margin: 10px auto;
}
.content iframe{
	display: block;
	max-width: 100%;
	margin: 15px auto;
}
.content blockquote{
	width: 92%;
	margin: 0 auto 2em;
	font-size: 0.9em;
	line-height:22px;
	background-color: #eee;
	padding: 30px 20px 1px;
}
.content blockquote:before,
.content blockquote:after{
	content: "“";
	color: #999;
	display: block;
	font-size: 3em;
	line-height: 0.3;
}
.content blockquote:after{
	content: "”";
	text-align:right;
	padding-right: 10px;
}
.content ul,
.content ol{
	padding-left: 7%;
	margin-bottom: 2em;
}
.content li{
	line-height: 1.5em;
	margin-bottom: 10px;
}

.content dl{
	padding: 10px;
	margin-bottom: 2em;
}
.content dl dt{
	font-size:1.2em;
	padding-left: 10px;
	border-bottom: 1px dotted #aaa;
	margin-bottom: 10px;
}
.content dl dd{
	margin-bottom: 1.5em;
}
.content .table_wrap{
	overflow: scroll;
}
.content .table_wrap table{
	min-width: 500px;
}
.content table{
	border-collapse: collapse;
	table-layout: fixed;
	margin: 20px auto 2em;
	border:1px solid #555;
}
.content table caption{
	text-align: center;
}
.content table th,
.content table td{
	padding: 5px 10px;
	border: 1px solid #111;
}
.content table th{
	text-align: center;
	background: #eee;
}



/****  コメント欄  ****/
#comments{
	margin-top: 30px;
}
#comments input,
#comments textarea{
	display: block;
}
#comments ul{
	list-style: none;
}
#comments ul li{
	margin-bottom: 30px;
}
#comments ul li: last-child{
	margin-bottom: 10px;
}
.combody{
	background: #f5f5f5;
	padding: 20px 15px 5px;
	margin-bottom: 5px;
}
.combody p{
	font-size: 0.9em;
	margin-bottom: 15px;
}
.combody ol{
	margin-left: 43px;
}
.cominfo{
	text-align: right;
	font-size: 0.8em;
	padding-right: 5px;
}
.cominfo a{
	color: #333;
	text-decoration: underline;
}
#comments textarea{
	width: 100%;
	font-size: 1em;
	padding: 8px;
	margin-bottom: 10px;
}
input[type="text"]{
	height: 30px;
	font-size: 16px;
	padding-left: 5px;
}
#comments .required{
	color: #ff0000;
}

#comments p.inputtext label{
	padding-bottom: 10px;
}
.com-nav{
	margin-bottom: 30px;
	overflow: hidden;
}
.com-back a,
.com-next a{
	display: block;
	width:130px;
	font-size: 0.8em;
	line-height: 30px;
	text-align: center;
	color: #fff;
	background-color: #414852;
}
.com-back a{
	float: left;
	border-radius: 15px 0 0 15px;
}
.com-next a{
	float: right;
	border-radius: 0 15px 15px 0;
}
.comment-reply-title{
	font-size: 0.9em;
	margin-bottom: 15px;
}
.comment_open{
	display: inline-block;
	width: 160px;
	border-radius: 3px;
	font-size: 0.9em;
	color: #fff;
	background: #414852;
	text-align: center;
	padding: 3px 8px 1px;
	cursor: pointer;
}
.input-info{
	margin-bottom: 10px;
}
.comment-form{
	display: none;
}

.tags{
	margin-top: 20px;
	text-align: right;
}
.tags a{
	display: inline-block;
	font-size: 0.9em;
	line-height: 1.5;
	padding: 2px 10px;
	background: #cc6600;
	color: #fff;
	border-radius: 5px;
}
.tags a:hover{
	color: #fff;
}


/****  前の記事&次の記事  ****/
.prev_next{
	margin-bottom: 30px;
}
.prev,
.next{
	width: 46%;
}
.prev{
	float: left;
}
.next{
	text-align: right;
	float: right;
}
.prev_next_header{
	color: #666;
}


/**** 関連記事 ****/
.quarter_posts{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.quarter_post{
	width: 24%;
}
.quarter_post h3{
	font-size: 0.9em;
}
.quarter_post .no_thumbnail{
	font-size: 0.8em;
}

.category_desc{
	width: 94%;
	max-width: 780px;
	color: #666;
	margin: 0 auto;
}


/****  サイドバー  ****/
.sidebar .box_header{
	font-size: 1.1em;
	margin-bottom: 10px;
}
.sidebar li a{
	color: #333;
}
.sidebar ul,
.footer ul{
	list-style:none;
}
.sidebar ul li,
.footer ul li{
	font-size: 0.9em;
	line-height: 1.3;
	margin-bottom: 15px;
}
.sidebar ul.children,
.footer ul.children{
	padding-left: 20px;
	padding-top: 10px;
}
.sidebar li.cat-item,
.footer li.cat-item,
.sidebar li.menu-item-object-category,
.footer li.menu-item-object-category{
	list-style-image: url(images/folder_icon.png);
	list-style-position: inside;
}
.sidebar li.menu-item-type-post_type,
.footer li.menu-item-type-post_type{
	padding-left: 33px;
}
.prof_and_search_box{
	border: none;
	background: transparent;
	padding: 0;
}
.prof_box{
	border: 1px solid #ddd;
	background: #fff;
	margin-bottom: 30px;
}
.prof_top{
	min-height: 100px;
	border-bottom-right-radius: 1000px 300px;
	border-bottom-left-radius: 1000px 300px;
	margin-left: -200px;
	margin-right: -200px;
	padding-left: 200px;
	padding-right: 200px;
}
.prof_data{
	position: relative;
	top: -55px;
	margin-bottom: -35px;
}
.prof_icon{
	display: block;
	max-width: 96px;
	margin: 0 auto;
	border-radius: 50%;
	z-index: 8;
}
.prof_name{
	text-align: center;
	font-size: 1.2em;
	padding: 0 5px;
}
.prof_text{
	margin-top: 5px;
	font-size: 0.9em;
	color: #666;
	padding: 0 15px;
}
.prof_link{
	text-align: center;
	font-size: 0.8em;
}
.prof_accounts{
	margin-top: 10px;
	text-align: center;
}
.prof_accounts a{
	display: inline-block;
	width: 50px;
	height: 50px;
	font-size: 1.5em;
	border-radius: 50%;
	border: 2px solid #777;
	color: #777;
}
.prof_accounts a:hover{
	color: #777;
	transform: scale(1.1, 1.1);
}

.search_box{
	font-size: 0;
	border: 1px solid #ddd;
}
.search_submit,
.search_text{
	border: none !important;
}

/****  カレンダー  ****/
.calendar_wrap{
	background: #fff;
}
#wp-calendar{
	width: 100%;
	text-align: center;
}
#wp-calendar caption{
	padding: 6px 0 3px;
	margin-bottom: 5px;
}
#wp-calendar{
	color: #333;
}
#wp-calendar th{
	font-weight: bold;
}
#wp-calendar a{
	color: #36c !important;
	text-decoration: underline;
}
#wp-calendar thead th[title="土曜日"]{
	color: blue;
}
#wp-calendar thead th[title="日曜日"]{
	color: red;
}
#wp-calendar tfoot{
	padding: 3px 0;
}


/****  検索フォーム  ****/
#searchform{
	font-size: 0;
}
label.screen-reader-text{
	display: none;
}
#s{
	width: 80%;
	height: 35px;
	font-size: 16px;
	border:1px solid #ccc;
	padding-left: 5px;
	padding-right: 3px;
}
#searchsubmit{
	width: 20%;
	height: 35px;
	font-size: 17px;
}

.ad_box{
	margin-bottom: 30px;
	text-align: center;
}
.sponsor{
	color: #888;
	font-size: 14px !important;
	line-height: 1.1;
	margin-bottom: 0 !important;
}

/****  パンくず  ****/
.bread_wrap{
	clear: both;
	min-height: 8px;
}
.bread{
	font-size: 0.84em;
	padding: 6px !important;
}
.bread i{
	margin-right: 2px;
}
.bread ul li{
	display: inline;
}

.bread a{
	text-decoration: none;
}


/****  フッター  ****/
.footer_inner{
	padding: 30px 1%;
	position: relative;
}
.footer_widgets{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}
.footer_box{
	padding: 0 10px 20px;
}
.footer_box p{
	font-size: 0.9em;
	margin-bottom: 10px;
}
.footer_box p a{
	text-decoration: underline;
}
.footer_header{
	font-size: 1.2em;
	margin-bottom: 5px;
}
.copy{
	text-align: center;
	font-size: 0.9em;
}
.footer_theme{
	background: #bbb;
	color: #fff;
	font-size: 0.6em;
	text-align: center;
	padding: 4px 10px;
}
.footer_theme a{
	color: #fff;
}

.ui_buttons{
	position: fixed;
	bottom: 15px;
	right: 20px;
	z-index: 10;
}
.ui_button{
	width: 40px;
	height: 40px;
	float: right;
	line-height: 40px;
	font-size: 24px;
	text-align: center;
	border-radius: 50%;
	margin-left: 8px;
	cursor: pointer;
}


/**** プラグイン popular post ****/
ul.wpp-list li{
	clear: both;
	display: block;
	line-height: 22px;
	margin-bottom: 15px;
	overflow: hidden;
}

ul.wpp-list li img{
	display: block;
	float: left;
	margin-right: 10px;
}

ul.wpp-list li a{
	font-size: 15px;
}

ul.wpp-list li span.wpp-list-category{
	display: block;
	margin-top: 5px;
	font-size: 10px;
	line-height:1.5;
	text-align: right;
}

ul.wpp-list li span.wpp-category a{
	font-size: 10px;
}
/****  contactform7  ****/
.wpcf7-form{
	padding: 20px 4%;
	background: #fafafa;
	border: 1px solid #ccc;
	border-radius: 3px;
	margin-bottom: 2.5em;
}
.wpcf7-form p{
	margin-bottom: 20px;
}
.wpcf7-form input{
	height: 35px;
	max-width: 100%;
}
.wpcf7-form textarea{
	width: 100%;
}


@media screen and (max-width: 1200px){
	.main{
		width: calc(100% - 340px);
	}
	.posts .post{
		width: 49%;
	}
}

@media screen and (max-width: 1000px){
	.top_pickup_wrap{
		padding: 0;
	}
	.main_side,
	.pickup_posts{
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
	.main,
	.sidebar{
		width: 100%;
		float: none;
		padding: 0;
	}
	.sidebar_inner{
		width: 100%;
	}
	.sidebar .box,
	.sidebar .no_box{
		width: 49%;
		float: left;
	}
	.sidebar_inner .box:nth-child(odd),
	.sidebar .no_box:nth-child(odd){
		margin-right: 2%;
	}
	.bread_wrap{
		margin-top: 0;
	}
	.pickup_thumb_box{
		height: 60px;
	}
}
@media screen and (max-width: 800px){
	.nav{
		height: 43px;
	}
	.menu_dots{
		width: 36px;
		font-size: 23px;
		line-height: 41px;
	}
	.nav ul li{
		font-size: 16px;
	}
	.main_side,
	.pickup_posts{
		padding-left: 2% !important;
		padding-right: 2% !important;
	}
}

@media screen and (max-width: 660px){
	.quarter_post{
		width: 49%;
	}
	.quarter_posts{
		justify-content: space-between !important
	}
}
@media screen and (max-width: 580px){
	body{font-size: 17px}
	.site_desc{
		font-size: 0.9em;
	}
	.main_side,
	.pickup_posts{
		padding-left: 5% !important;
		padding-right: 5% !important;
	}
	.index_main_wrap, .sidebar{
		padding-left: 5%;
		padding-right: 5%;
	}
	.main .box_header{
		font-size: 1.1em;
		margin-bottom: 10px;
	}
	.posts .post{
		width: 100%;
	}
	.posts .post .flug_no_thumbnail{
		display: none;
	}
	.sidebar .box,
	.sidebar .no_box{
		width: 100%;
		float: none;
	}
	.sidebar .box:nth-child(odd),
	.sidebar .no_box:nth-child(odd){
		margin-right: 0;
	}
	.content p{
		font-size: 1em;
	}
	.ui_buttons{
		right: 8px;
	}
}
@media screen and (max-width: 460px){
	.header_inner{
		padding-top: 20px;
		padding-bottom: 20px;
	}
	.main_side,
	.pickup_posts{
		padding-left: 3% !important;
		padding-right: 3% !important;
	}
	.single_post{
		padding-left: 5%;
		padding-right: 5%;
	}
	.single_post h1{
		font-size: 1.5em;
		padding: 25px 0;
	}
	.content h2{
		margin-left: -7%;
		font-size: 1.4em;
	}
	.content h3, .content h4, .content h5, .content h6{
		padding-left: 8px;
	}
	.footer_box{
		width: 100% !important;
		padding-left: 20px;
		padding-right: 20px;
	}
}
@media screen and (max-width: 400px){
	.main_side,
	.pickup_posts{
		padding-left: 2% !important;
		padding-right: 2% !important;
	}
}
@media screen and (max-width: 360px){
	.pickup_posts{
		padding-left: 7.1px !important;
		padding-right: 7.1px !important;
	}
}
a:hover img {
  opacity: 0.9;
  filter: alpha(opacity=90);
  -ms-filter: "alpha( opacity=90 )";
}