@charset "UTF-8";

/* WP css */
.wp-caption,.wp-caption-text{
	font-size: 0.8em;
	font-style: italic;
}
.alignleft{
	text-align: left;
}
.alignright{
	text-align: right;
}
.aligncenter{
	text-align: center;
}
.sticky{}
.gallery-caption{}
.bypostauthor{}
.screen-reader-text{}


/* function module */
*{
	margin:0;
	padding:0;
}
*:focus {
	outline: none;
}
*, *:before, *:after {
	box-sizing: border-box;
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-o-box-sizing: border-box;
	-ms-box-sizing: border-box;
}
header a,footer a{
	color: inherit;
}
header a:hover,header a:active,header a:focus,
footer a:hover,footer a:active,footer a:focus{
	color: inherit;
}
section{
	clear: both;
	display: block;
	overflow: hidden;
}
.indent{
	text-indent: -1em;
	padding-left: 1em;
}
img{
	width: 100%;
	height: auto;
	display: block;
}
a img,a:hover img,a:focus img{
	text-decoration: none;
	vertical-align: bottom;
	-webkit-backface-visibility: hidden; /* 追加 */
	backface-visibility: hidden; /* 追加 */
}
.f12{
	font-size: 12px;
}
.f14{
	font-size: 14px;
}
.f16{
	font-size: 16px;
}
.f18{
	font-size: 18px;
}
.f20{
	font-size: 20px;
}
.f24{
	font-size: 24px;
}
.f28{
	font-size: 28px;
}
.f32{
	font-size: 32px;
}
.f36{
	font-size: 36px;
}
.f40{
	font-size: 40px;
}
.em1_5{
	font-size: 1.5em;
}
.em1_75{
	font-size: 1.75em;
}
.em2{
	font-size: 2em;
}
.em3{
	font-size: 3em;
}
.bold{
	font-weight: bold;
}
.cap{
	font-style: italic;
	color: #777777;
}
.red{
	color: #dc143c;
}
.f_white p,.f_white h1,.f_white h2,.f_white h3,.f_white h4,.f_white span{
	color: #FFFFFF;
}
.f_black p,.f_black h1,.f_black h2,.f_black h3,.f_black h4,.f_black span{
	color: #FFFFFF;
}
/* bg_colors */
.bg_white{
	background-color: #FFFFFF;
}
.bg_whgray{
	background-color: #FAFAFA;
}
.bg_blgray{
	background-color: #333333;
}
.bg_black{
	background-color: #000000;
}

/* rayout module */
.sp_on{
	display: none;
}
.sp_off{
}
.pc_br br{
	display: inline;
}
.sp_br br{
	display: none;
}
.dp_none{
	display: none;
}
#main .no_spc{
	margin:0;
	padding:0;
}
.clearfix:after{
	content: "";
	clear: both;
	display: block;
}
.left{
	float: left;
	padding-left: 0;
}
.right{
	float: right;
	padding-right: 0;
}
.static{
	position: static;
}
.relative{
	position: relative;
}
.absolute{
	position: absolute;
}
.marginC{
	margin: 0 auto;
}
.alignC{
	text-align: center;
}
.alignL{
	text-align: left;
}
.alignR{
	text-align: right;
}
.w20,.w25,.w30,.w33,.w40,.w50,.w60,.w66,.w70,.w75,.w80{
	margin-left: auto;
	margin-right: auto;
}
.w20{
	width: 20%;
}
.w25{
	width: 25%;
}
.w30{
	width: 30%;
}
.w33{
	width: 33.333333333333%;
}
.w40{
	width: 40%;
}
.w48{
	width: 48%;
}
.w50{
	width: 50%;
}
.w60{
	width: 60%;
}
.w66{
	width: 66.666666666666%;
}
.w70{
	width: 70%;
}
.w75{
	width: 75%;
}
.w80{
	width: 80%;
}
.w100{
	width: 100%;
}
/* margin top */
.mt10{
	margin-top: 10px;
}
.mt20{
	margin-top: 20px;
}
.mt30{
	margin-top: 30px;
}
.mt40{
	margin-top: 40px;
}
.mt50{
	margin-top: 50px;
}
/* margin bottom */
.mb10{
	margin-bottom: 10px;
}
.mb20{
	margin-bottom: 20px;
}
.mb30{
	margin-bottom: 30px;
}
.mb40{
	margin-bottom: 40px;
}
.mb50{
	margin-bottom: 50px;
}
.decoNon a,
.decoNon a:focus,
.decoNon a:hover,
.decoNon a:active {
	text-decoration: none;
}
ul {
	list-style: none;
}
/* ページ共通 */
blockquote{
	position: relative;
	margin: 30px 0;
	padding: 15px 30px 15px;
	color: #666;
	font-style: italic;
	border-left: none;
}
blockquote:before{
	position: absolute;
	top: 0;
	left: 0;
	content: '“';
	font-size: 4em;
	opacity: .5;
}
blockquote p{
	margin: 0;
}

/*ボックスのレイアウト*/
.box{
	width: 100%;
}
.box a{
	text-decoration: none;
}
.box h3{
	margin: 0 0 10px;
}
.flex2,.flex3,.flex4,.flex5{
	display: flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /*IE10*/
	-webkit-flex-wrap: wrap; /* Safari6.1以降 */
	justify-content: space-between;
	margin: 10px auto 20px;
}
.flex2 .box{
	width: 49%;
}
.flex3 .box{
	width: 32.333333%;
}
.flex4 .box{
	width: 24%;
}
.flex5 .box{
	width: 19%;
}

.sbs2clm{/* PC2カラムの時親に使用 */
	display: flex;
	flex-wrap: wrap;
	-ms-flex-wrap: wrap; /*IE10*/
	-webkit-flex-wrap: wrap; /* Safari6.1以降 */
	justify-content: space-between;
	margin: 10px 0 20px;
}
.sbs2clm .box{
	width: 49%;
}
.sbs .box{
	margin: 0 0 15px;
	padding: 0;
	clear: both;
	overflow: hidden;
}
.sbs .box a{
	display: block;
	overflow: hidden;
}
.sbs_img{
	width: 50%;
	float: left;
}
.sbs_info{
	width: 50%;
	padding: 20px;
	float: left;
}
.sbs_info h3{
	font-size: 24px;
	padding: 0;
	margin: 5px 0 15px;
	text-align: left;
}
.sbs_info p{
	font-size: 16px;
	line-height: 1.5em;
}
.sbs2clm .sbs_img{
	width: 45%;
	float: left;
}
.sbs2clm .sbs_info{
	width: 55%;
	padding: 15px;
	float: left;
}
.sbs2clm .sbs_info h3{
	font-size: 16px;
	padding: 0;
	margin: 0 0 10px;
	text-align: left;
}
.sbs2clm .sbs_info p{
	font-size: 13px;
	line-height: 1.5em;
}
/* boxデザイン */
.back_design .box{
	background: #FFFFFF;
	padding: 20px;
}
.bord_design .box{
	border: solid 1px #EEEEEE;
	padding: 10px;
}
.bord_design .box:hover{
	border: solid 1px #000000;
	padding: 10px;
}
.card_design .box{
	box-shadow: 0 2px 5px rgba(0,0,0,0.26);
	margin: 10px 0.5%;
}
.card_design .box:hover{
	box-shadow: 0 2px 5px rgba(0,0,0,0);
}
.card_design .box{
	box-shadow: 0 2px 5px rgba(0,0,0,0.26);
	margin: 10px 0.5%;
}
.card_design .box .box_info{
	padding: 15px;
}

/* 動きを制御 */
.fixed{
	position: fixed;
}
.fixed_menu {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	width: 100%;
	z-index: 100;
}
.fade_r{
	transform : translate(20px, 0);
	transition: .5s;
}
.fade_l{
	transform : translate(-20px, 0);
	transition: .5s;
}
.fade_t{
	transform : translate(0, 20px);
	transition: .5s;
}
.fade_b{
	transform : translate(0, -20px);
	transition: .5s;
}
/*固定する背景*/
.parax {
	height: 100%;
	width: auto;
	background-attachment: fixed;
	background-position: center;
	background-size: cover;
	background-repeat: no-repeat;
}

/* テーブル */
.tbl{
	width: 100%;
	margin: 0 auto;
	border: solid 1px #DDDDDD;
	border-collapse: collapse;
}
.tbl th{
	padding: 10px 10px;
	background-color: #F3F3F3;
	border: solid 1px #DDDDDD;
}

.tbl td{
	padding: 10px 10px;
	background-color: #FFFFFF;
	border: solid 1px #DDDDDD;
}
/* SNS */
.fb_color{
	background: #305097;
	color: #FFFFFF;
}

.tw_color{
	background: #00aced;
	color: #FFFFFF;
}

/* header */
#header:after{
	content: "";
	clear: both;
	display: block;
}
.spm_open{/* スマホメニューのオープン */
	overflow: hidden;
	display: block;
}
/* slide */
.slick-slide img{
	vertical-align: bottom;
	backface-visibility:hidden;/* ちらつき対処 */
	-webkit-backface-visibility:hidden;/* ちらつき対処 */
}
/* index */
.news_list{
	width: 100%;
	padding: 10px;
	font-size:0;
}
.news_list li{
	margin: 0 0 5px;
	background-color: #FFFFFF;
	letter-spacing: normal;
}
.news_list li ul li{
	display: inline-block;
	margin: 0;
	border: none;
	letter-spacing: normal;
	font-size: 14px;
}
.news_list li ul li a{
	padding: 12px;
	display: inline-block;
	letter-spacing: normal;
}
.news_list .index_news_day{
	padding: 12px;
	border: solid 1px #EEEEEE;
	background-color: #EEEEEE;
}
.index_news_ttl{
	background-color: #FFFFFF;
}
/* デフォルトタグのデザイン */
.index_news_cat a,.archive_cat a,.custom_category_cat a{
	text-decoration: none;
	margin: 0;
	border: solid 1px #555555;
	color: #FFFFFF;
	background-color: #555555;
}
.index_news_cat a:hover,.index_news_cat a:focus,
.archive_cat a:hover,.archive_cat a:focus,
.custom_category_cat a:hover,.custom_category_cat a:focus{
	color: #555555;
	background-color: #FFFFFF;
	border: solid 1px #555555;
}
/* アーカイブのタグデザイン */
.archive_cat,.custom_category_cat{
	margin: 0 0 -3px;
}
.archive_cat a,.custom_category_cat a{
	padding: 5px 20px;
	display: inline-block;
}
/* アーカイブ系 */
#acv_ttl{
	text-align: center;
	margin: 10px 0 50px;
}
#acv_ttl img{
	width: 40px;
	vertical-align: top;
}

/* 次ページリンク */
#post_links{
	margin: 50px 0 10px;
}

#post_links ul li{
	list-style: none;
	vertical-align: middle;
	width: 40%;
}
#post_links ul li a{
	font-size: 0.9em;
	padding: 10px 25px 10px;
}
.post_link_prev{
	float: left;
}
.post_link_prev a{
	background-image: url("images/prev_page.png");
	background-repeat: no-repeat;
	background-size: 15px 15px;
	background-position: left center;
}
.post_link_next{
	float: right;
	text-align: right;
}
.post_link_next a{
	background-image: url("images/next_page.png");
	background-repeat: no-repeat;
	background-size: 15px 15px;
	background-position: right center;
}
/* page_recomend */
#page aside .pagenav{
	width: 95%;
	margin: 40px auto 0 auto;
	padding: 20px;
	background: #F5F5F5;
	list-style: none;
}
#page aside .pagenav ul{
	border-top: solid 2px #CCC;
	border-left: solid 2px #CCC;
}
#page aside .pagenav ul:after{
	content: "";
	clear: both;
	display: block;
}
#page aside .pagenav ul li{
	width: 50%;
	float: left;
	border-bottom: solid 2px #CCC;
	border-right: solid 2px #CCC;
}
#page aside .pagenav ul li a{
	display: block;
	padding: 10px 2%;
	background-color: #FFF;
	font-size: 0.9em;
	text-decoration: none;
}
#page aside .pagenav ul li a:hover,#page aside .pagenav ul li a.hover{
	background-color: #EFEFEF;
}

/* コンテンツの中のモジュール */
article .clm2,article .clm3,article .clm4{
	display: flex;
	justify-content: space-between;
	flex-flow: row wrap;
	margin-bottom: 20px;
}
article .clm2 .box{
	width: 48%;
	margin: 0 0 25px;
}
article .clm3 .box{
	width: 32%;
	margin: 0 0 15px;
}
article .clm4 .box{
	width: 23%;
	margin: 0 0 20px;
}
article .clm2 .box h2,article .clm2 .box h3{
	font-size: 1.3em;
	margin-bottom: 10px;
}

/* シングルページ single.php */
#single #main{
	padding: 0 5px ;
}

#single article h1{
	padding: 5px;
	margin: 0 0 5px;
}

#single article .post_day{
	margin: 0 0 15px;
	font-size: 14px;
}

.fb_iine{
	border: solid 1px #DDDDDD;
	background: #EEEEEE;
}
.fb_iine_ttl{
	margin: 35px auto 15px;
	font-size: 18px;
	font-weight: bold;
	text-align: center;
}
/*#single article img{
	width: inherit;
}*/

/* 著者機能 */
#author_info{
	background-color: #EEE;
}
#auth_img{
	width: 20%;
}
#auth_img img{
	max-width: 150px;
}
#auth_txt{
	width: 76%;
	padding:0 2% 0 2%;
}

/* recomend_post */
.rcmd_wrap{
	margin: 30px 0;
}
.rcmd_post{
	padding: 10px 0;
}
.rcmd_img{
	width: 30%;
	float: left;
}
.rcmd_txt{
	width: 70%;
	float: left;
}
.rcmd_txt h3,.rcmd_txt p{
	padding-left: 15px;
}

/* sns share */
.sns_share{
	margin: 10px 0 20px;
}
#main .sns_share ul li{
	width: 50%;
	float: left;
	margin: 0 0 5px;
}
#sidebar .sns_share ul li{
	width: 100%;
	margin: 0 0 5px;
}
.content .sns_share ul li a{
	display: block;
	color: #FFFFFF;
	text-align: center;
	padding: 5px;
	position: relative;
	text-decoration: none;
}
.content .sns_share ul li a:hover{
	opacity: 0.8;
	filter: alpha(opacity=80);
	-ms-filter: "alpha(opacity=80)";
}
.content .sns_share ul li a .sns_share_icon{
	font-size: 26px;
	margin-right: 10px;
}
.content .sns_share ul li a .sns_share_txt{
	font-size: 12px;
	vertical-align: middle;
	position: relative;
	top: -5px;
}
.ajax-loader{
	width: 16px;
}
#main .fb-like{
	margin: 15px auto;
	text-align: center;
	display: block;
}

#page_top {
	position: fixed;
	bottom: 20px;
	right: 30px;
}
#page_top a {
	display: block;
	z-index: 999;
	padding: 0;
	width: 50px;
	height: 50px;
	text-decoration: none;
	text-align: center;
	line-height: 1.5;
}
#page_top a:hover,#page_top a.hover {
	text-decoration: none;
	opacity: 0.7;
}

/* モーダル */
.wpcf7-response-output {
	display:none !important;
}
.modal-content {
	position:fixed;
	display:none;
	z-index:3000;
	width:50%;
	margin:0;
	padding: 0;
	background:#FFFFFF;
	border: solid 1px #CCCCCC;
}
.modal-content .modal-title {
	padding: 10px;
	background: #EEEEEE;
	font-weight: bold;
}
.modal-content p {
	margin:0;
	padding: 10px;
}
.modal-overlay {
	z-index:2999;
	display:none;
	position:fixed;
	top:0;
	left:0;
	width:100%;
	height:120%;
	background-color:rgba(0,0,0,0.5);
}
.modal-open {
	color:#00f;
	text-decoration:underline;
}
.modal-open:hover {
	cursor:pointer;
	color:#f00;
}
.modal-close {
	color:#00f;
	text-decoration: underline;
}
.modal-close:hover {
	cursor:pointer;
	color:#f00;
}

@media only screen and (max-width: 980px) {
}

@media only screen and (max-width: 768px) {

	body{
		min-width: inherit;
	}
	#index main{
	 	padding: 0 10px;
	}
	.content{
		width: 100%;
	}
	.widmax{
		width: 100%;
	}
	.flex1_sp .box{
		width: 100%;
		margin: 0 0 30px;
	}
	.flex2_sp .box{
		width: 49%;
		margin: 0 0 30px;
	}
	.flex3_sp .box{
		width: 32.333333%;
		margin: 0 0 20px;
	}
	.w20,.w25,.w30,.w33,.w40,.w48,.w50,.w60,.w66,.w70,.w80{
		width: 100%;
	}
	.sp_alignCenter{
		text-align: center;
	}
	.sp_alignLeft{
		text-align: left;
	}
	.sp_alignRight{
		text-align: right;
	}
	.sp_on{
		display: block;
	}
	.sp_off{
		display: none;
	}
	.pc_br br{
		display: none;
	}
	.sp_br br{
		display: inline;
	}
	.sp_mode{
		content: "";
		clear: both;
		display: block;
		overflow: hidden;
	}
	.sp_noflex{
		display: block;
	}
	.search_form{
		display: none;
	}
	#single #main{
		padding: 0;
	}
	#page_top {
		bottom: 10px;
		right: 15px;
	}
	.news_list li{
		border-bottom: solid 1px #EEEEEE;
		background-color: inherit;
	}
	.news_list li ul li{
		border: none;
	}
	.news_list .index_news_cat a{
		padding: 3px 10px;
	}
	.news_list .index_news_day{
		padding: 3px 10px;
	}
	.news_list .index_news_ttl{
		display: block;
		background-color: #FFFFFF;
	}
	.sbs2clm{
		margin: 0 auto 20px;
	}
	.sbs2clm .box{
		width: 100%;
	}
	.sbs .box{
		margin: 0 0 5px;
	}
	.sbs_img,.sbs2clm .sbs_img{
		width: 40%;
	}
	.sbs_info,.sbs2clm .sbs_info{
		width: 60%;
		padding: 10px;
	}
	.sbs_info h3,.sbs2clm .sbs_info h3{
		font-size: 15px;
		padding: 0;
		margin: 0 0 10px;
		text-align: left;
	}
	.sbs_info p,.sbs2clm .sbs_info p{
		font-size: 13px;
		line-height: 1.5em;
	}
	.sbs_info p{
		display: none;
	}
	article .clm1_sp .box{
		width: 100%;
		margin: 0 0 20px;
	}
	article .clm2_sp .box{
		width: 48%;
		margin: 0 0 15px;
	}
	article .clm3_sp .box{
		width: 32%;
		margin: 0 0 10px;
	}
	#page aside .pagenav ul li{
		width: 100%;
		float: none;
	}
	.service_box ,.project_box{
		width: 100%;
	}
	.service_box .text p br{
		display: none;
	}
	#main .form_wrap .w50{
		padding: 0;
	}
	.modal-content {
		width:80%;
	}

}

@media only screen and (max-width: 599px) {

	.main_img{
		height: 500px;
		width: auto;
	}
	.full_btn{
		width: 100%;
	}
	#index_news_ttl{
	display: block;
	margin-top: 5px;
	}
	.slider div h2{
		font-size: 16px;
	}
	.w80,.w70,.w66,.w60,.w50,.w48,.w40,.w33,.w30,.w25..w20{
		width: 100%;
	}
	#main .left{
		padding: 0;
	}
	#main .right{
		padding: 0;
	}
	.footer_box_l{
		width: 100%;
	}

}
