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

/* スタート	*/

/*======================================================================+
Body																	+
=======================================================================*/
/*===　デバイスに依存しない　セレクター・プロパティ	===============*/
body{
}
* {
    margin: 0;
    padding: 0;
}
*, *:before, *:after {
    -webkit-box-sizing: border-box;
       -moz-box-sizing: border-box;
         -o-box-sizing: border-box;
        -ms-box-sizing: border-box;
            box-sizing: border-box;
}

.clear{
	clear:	both;
}
.clearfix:before,
.clearfix:after {
	content: "";
	clear: both;
	display: block;
}
ul,ol{
	margin:	0px;
}
li {
    list-style-type: none;
    margin: 0px;
}
ul.disc li{
    list-style-type: disc;
}
img{
	max-width:		100% !important;
	height:			auto !important;
	vertical-align:	bottom;
}
a{
	text-decoration:	none;
	/* アニメーション */
    -webkit-transition: all 0.5s ease;
    -moz-transition: all 0.5s ease;
    -o-transition: all 0.5s ease;
}
a:hover{
	text-decoration:	none;
	filter:alpha(opacity=70);
	-moz-opacity:0.70;
	-khtml-opacity:0.70;
	opacity:0.70;
}

/*======================================================================+
お知らせ・アーカイブページ・個別ページのページサブヘッダー
=======================================================================*/
#subHeader{
}
#subHeader #subParagraph{
	padding:		10px 0px;
	border-bottom:	1px solid #aaa;
	margin-bottom:	20px;
}
	/* ページのタイトル */
#subHeader #pageKind{
	float:	left;
	width:	auto;
}
	/* カテゴリー・検索 */
#subHeader #pageMenu{
	float:	right;
	width:	auto;
	text-align:	right;
}
#subHeader .titleSearch{
}
	/* ウィジェット */
#subHeader aside{
	margin-bottom:	10px;
}
	/* ウィジェットタイトルを非表示 */
#subHeader .widget-title,
#subHeader .screen-reader-text{
	display:	none;
}
#subHeader select{
	width:	218px;
	padding:	5px 10px;
}
#subHeader .searchform input[type="text"]{
	width:	180px;
	padding:	5px 10px;
}
/*--------------------------------------------------------------------*/
/* 検索フォーム */
.Right-widget_search-block{
	width:	400px;
}
.search-form {
	display: -webkit-box;
	display: flex;
	width: 100%;
	-webkit-box-align: center;
	align-items: center;
}
.search-form label {
	-webkit-box-flex: 2;
	flex-grow: 2;
	margin: 0px;
}
.search-form .search-field {
	width: 100% !important;
	padding: 10px 15px;
}
.search-form .search-submit {
	width: auto;
	margin: 0px 0 0 0.5em;
	height: 100%;
}
.search-form input[type="submit"]{
	background-color:	#1482cb;
	color:				#fff;
	padding: 9px 15px;
	border:		none;
}
/*======================================================================+
ハンバーガーメニュー
上部固定ではなくスクロール
https://www.rectus.co.jp/archives/247
=======================================================================*/
#navi {
	position: relative; 				/* 最上部位置固定解除 */
/*	z-index:	100;					/* fixedの場合に有効にすること */
	height: 	80px;						/* autoはダメ　ドロップダウン部が加算される */
	background-color:	#0075c2;
}
#navi ul li a {
	padding:	10px 0px; 	/* */
}
#navi .menu-left{
	float:	none;
}
nav li {
	border-right: none;
}
	/* ここけっこう重要 */
#navi #menu{
	float:			none;	/* floatしていると、下層メニュードロップダウンで全体が開く */
	margin-right:	auto;
}
#menu > li{
	border-right: 1px solid #34589e;
	line-height:	1.5em;
	margin:			0px;
	font-weight: 	normal;
}
#menu > li > ul{
	margin-left:	0px;
}
#menu li ul {
	z-index: 10;
	background-color:	#ccc;
}
#menu ul.SecondLevel{
	position:	relative;
}
#menu ul.SecondLevel li{
	width:	100%;
	padding:	0px;
}
#menu ul.SecondLevel li a{
	color:	#333;
}
#menu ul.SecondLevel li a:hover{
	color:	#fff;
}
#menu ul.SecondLevel{
	border-top: 1px solid #888;
	border-left: 1px solid #888;
}
#menu > li > ul li,
#menu ul.SecondLevel li,
#menu ul.SecondLevel li:first-child,
#menu ul.SecondLevel li:last-child{
	border: none;
}
#menu ul.SecondLevel li{
	border-right: 1px solid #888 !important;
	border-bottom: 1px solid #888 !important;
}



#navi .Mobile_Nav-left{
	display:		none;
}
@media screen and (max-width: 780px) {
		/* layout_temp_header_gm.css　をオーバーライド */
	nav {
		display: block;
	}

	/* 右のスクロールバーが出てほしくない場合は、下のように無効化する。 */
	#menu-navibtn:checked ~ #navi {
		overflow-y: auto;
	}

	#navi {
		background-color:	#fff;
		z-index:	100;	/* checkedの時にposition:fixedになるのでz-index設定しておく */
	}
	#navi #MobileHead{
		height: 75px;
	}
	/* cssOM 上端スペース */
	#navi #menu{
		background-color:	#0075c2;
	}
	#navi .Mobile_Nav-left{
		display:		block;
	}
	#navi #menu li{
		padding:	0px;
	}
	#navi #menu > li{
		position:	relative;
	}
		/* 下層メニュー用のカレットを表示させる */
	#navi #menu > li > a{
		width:	100%;
	}
	#navi #menu > li > label{
		display:	inline-block;
		text-align:	center;
		padding-left:	0px;
		position:	absolute;
		right:		20px;
		top:		25px;
	}
	#navi #menu .pd{
		color:	#fff;
	}
}

/*--------------------------------------------------------------------*/
/* ライブラリ */
	/* アスペクト比が異なる（大きさも異なる）画像を、大きさ同じにトリミングしながらレスポンシブ動作 */
	/* トップページ　先生方の声に利用 */
.wrapFlex{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;
	-ms-flex-wrap : wrap; /*for IE10*/
	-webkit-flex-wrap : wrap; /*for old webkit browser*/
	flex-wrap : wrap;


/*	justify-content: space-between;	/*最初と最後の子要素を両端に配置し、残りの要素は均等に間隔をあけて配置*/
}
.wrapFlexCenter{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;

	/* 上下左右中央寄せ */
  justify-content: center;
  align-items: center;
}
.wrapFlexCenterTop{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;

	/* 上下左右中央寄せ */
  justify-content: center;
}
.wrapFlexCenterLeft{
	display: -ms-flexbox;
	display: -webkit-flex;
	display: flex;

	/* 上下中央寄せ　左寄せ */
/*  justify-content: left;	/*  */
  align-items: center;
}
	/* 左右入れ替え */
.flexRevers{
	flex-direction: row-reverse;
}
	/* 上下左右中央寄せの内部サイズ制限 */
.boxFloatCenter{
	max-width:	640px;
	width:		75%;
}
/*--------------------------------------------------------------------*/
/* ghostボタン */
.btnGhost{
	text-align:		center;
	height:			auto;
	padding:		1px;
}
body.index .btnGhost{
	text-align:		right;
}

.btnGhost a{
  font-size: 18px;
  font-family: "Yu Gothic";
	text-align:		center;
	padding:		10px;
	background-color:	#eee;
	width:			100%;
	max-width:		180px;
	color:			#000 !important;
	border:			1px solid #ccc;
	text-decoration:	none !important;
	display:	inline-block;	/* 上位要素の<div>の高さを、この要素の高さ文確保するため */

	-webkit-transition:.3s ease-in-out;
	-moz-transition:.3s ease-in-out;
	-o-transition:.3s ease-in-out;
	transition:.3s ease-in-out;
}
.btnGhost a:hover{
/*	background-color: rgba(255,255,255,0.5);*/
	background-color: rgba(240,240,240,0.5);
	background-color: rgba(51,51,51,0.5);
		/* フォアグランドは透過しない */
	filter:alpha(opacity=100);
	-moz-opacity:1.00;
	-khtml-opacity:1.00;
	opacity:1.00;
}
/*======================================================================+
トップページ
=======================================================================*/
.Information_block,
.Blog_information-block{
	margin-bottom:	20px;
}
/*======================================================================+
個別ページ
=======================================================================*/
.Pankuzu{
	margin-top:	20px;
}
.imageEyecatch{
	margin-bottom:	30px;
}
.topics_h1{
	padding-bottom:	10px;
	border-bottom:	1px solid #ccc;
	margin-bottom:	10px;
}
.topics_update{
	margin-bottom:	10px;
	text-align:		right;
}
.topics_comment{
	margin-bottom:	20px;
}
/*======================================================================+
アーカイブページ一覧リスト
=======================================================================*/
.blockArchive{
	margin-bottom:	15px;
}
.wrapBlog{
	border-top:	1px solid #ccc;
	padding-top:	10px;
}
body.index .wrapBlog{
	margin:		0px 10px;
	border-top:	none;
}
.boxBlog{
	padding-bottom:	10px;
	border-bottom:	1px dotted #ccc;
	margin-bottom:	10px;
}
body.index .boxBlog:last-child{
	border-bottom:	none;
	margin-bottom:	0px;
}
.boxBlog .boxBlogLeft{
	width:	150px;
}
.boxBlog .boxBlogRight{
    -webkit-flex: 1;
    flex: 1;
}
.boxBlog .meta{
	margin-bottom:	5px;
}
	/* トップページ */
body.index .boxBlog .meta{
	width:	95px;
	margin-bottom:	5px;
}
body.index .boxBlog .title{
	font-size:	16px;
	font-weight:	normal;
    -webkit-flex: 1;
    flex: 1;
}
	/* 一覧ページ */
body.blog .boxBlog .title,
body.archive .boxBlog .title{
	font-size:	20px;
	margin-bottom:	5px;
}
.boxBlog .boxBlogLeft,
.boxBlog .date{
	margin-right:	20px;
}

.boxBlog .Image{
	float:	left;
	max-width:	150px;
	margin-right:	20px;
}
.boxBlog .Contents{
}
/*======================================================================+
Tablepress															+
=======================================================================*/
.tablepress .column-1{
	width:		180px;
}
/*======================================================================+
フッター環境															+
=======================================================================*/
/*======================================================================+
PC固定ページセクションサブヘッダー										+
=======================================================================*/



/* ++　デバイスサイズごとの環境設定　セレクター・プロパティ	+++++++*/
@media screen and (max-width: 1400px) {

}

@media screen and (max-width: 1060px) {
	#wrapSection{
		padding:	0px 10px;	/* サイドスペース */
	}
/*---------------------------------------------------------*/
/* スマホ */
@media screen and (max-width: 780px) {
	#top-head,
	#mobile-head{
		background-color:	#a0d8ef;	/* 水色 */
	}
	#mobile-head .logo{
		display:	block;
	}
	#mobile-head .logo .logoImg img{
		height:	55px !important;
	}
	nav#global-nav{
		border-top:	1px solid #34589e;
		background-color:	#888;
		padding:			0px;
	}
	nav#global-nav li{
		width:			100%;
		border-right:	none;
		border-bottom:	1px solid #34589e;
	}
}
@media screen and (max-width: 480px) {
	.boxBlog .boxBlogLeft{
		width:	100px;
	}

		/* 縦並び　区切り線なし */
	.tablepress td{
		display:	block;
		width:		100%;
	}
	.tablepress .column-1{
		width:		100%;
		padding-bottom:	0px;
	}
	.tablepress .column-2{
		border-top:	none;
	}

/*
	.tablepress .column-1{
		width:		100px;
		padding-right:	0px;
	}
*/
}
