@charset "utf-8";

/* =Reset default browser CSS.
Based on work by Eric Meyer: http://meyerweb.com/eric/tools/css/reset/index.html
-------------------------------------------------------------- */

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, font, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td {
border:0;
font-family:inherit;
font-size:100%;
font-style:inherit;
font-weight:inherit;
margin:0;
outline:0;
padding:0;
vertical-align:baseline;
}

:focus {
outline:0;
}

ol, ul {
list-style:none;
}

table {
border-collapse:separate;border-spacing:0;
}

caption, th, td {
font-weight:normal;text-align:left;
}

blockquote:before, blockquote:after,q:before, q:after {
content:"";
}

blockquote, q {
quotes:"" "";
}

a img {
border:0;
}

article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
display:block;
}

body{
font:14px/2.0 "Lucida Sans Unicode", "Lucida Grande", Arial, "ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro","ＭＳ Ｐゴシック",sans-serif;
color:#000000;
-webkit-text-size-adjust:none;
}


/* リンク設定
*****************************************************/

a{
margin:0;
padding:0;
text-decoration:none;
outline:0;
vertical-align:baseline;
background:transparent;
font-size:100%;
font-weight:bold;
color:#2399e4;
}

a:hover, a:active{
-webkit-transition:opacity 1s;-moz-transition:opacity 1s;-o-transition:opacity 1s;
outline:none;
color:#83bce0;
}

/**** Clearfix ****/

nav .panel:after, #mainNav:after, .newsTitle:after, .bg:after,.post:after{
content:"";
display:table;
clear:both;
}

nav .panel,#mainNav,.newsTitle,.bg, .post{
zoom:1;
}


/* レイアウト
*****************************************************/

#wrapper, .inner{
margin:0 auto;
width:1040px;
}

#header{
overflow:hidden;
}

#content{
float:left;
width:750px;
padding:30px 0;
font-family: "Times New Roman", "游明朝", YuMincho, "ヒラギノ明朝 ProN W3", "Hiragino Mincho ProN", "メイリオ", Meiryo, serif;
}

#sidebar{
float:right;
width:255px;
padding:30px 0;
}

#footer{
clear:both;
padding:40px;
background:#f7f7f7;
} 


/* ヘッダー
*****************************************************/

#header h1,#header p{
float:left;
padding:3px 0;
font-size:80%;
font-weight:normal;
}

#header p{
float:right;
}

#header h2{
clear:both;
text-align:center;
padding:10px 0 10px;
font-size:160%;
font-weight:bold;
}

#header h2 img{
width:153px;
}

#header ul{
padding-top:5px;
float:right;
}

#header ul li{
font-weight:bold;
display:inline;
margin-left:5px;
font-size:90%;
}

#header ul li:before{
content:"・";
}

#header ul li a{
padding-left:5px;
color:#000000;
}

#header ul li a:hover{
color:#999999;
}


/* トップページ　メイン画像
*****************************************************/

#mainImg img{
width:100%;
height:auto;
}

.post{
margin:0 0 20px 0;
}


/* タイポグラフィ
*****************************************************/

h2.title{
clear:both;
margin:30px 0 50px;
font-size:120%;
font-weight:bold;
text-align:center;
}

h2.title span{
padding-bottom:10px;
border-bottom:3px solid #000000;
}

h2.first{
margin-top:0;
}

.post p{
padding-bottom:15px;
}

.post p.center{               /**** クラス設定センタリング ****/
text-align:center;
}

.post ul{
margin:10px 0 20px 20px;
}

.post ul li{
padding-left:5px;
list-style:disc;
}

.post ol{
margin:0 0 10px 30px;
}

.post ol li{
list-style:decimal;
}

.post h1{
margin:15px 0 25px;
padding:15px 0;
font-size:150%;
font-weight:bold;
border-bottom:3px solid #000000;
}

.post h2{
margin:15px 0 25px;
padding:15px 0;
font-size:130%;
font-weight:bold;
border-bottom:2px solid #000000;
}

.post h3{
margin:15px 0 25px;
padding:15px 0;
font-size:120%;
font-weight:bold;
border-bottom:1px solid #000000;
}

.post h4{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}

.post h5{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}

.post h6{
margin:15px 0 10px;
padding:15px 0;
font-size:110%;
font-weight:bold;
}

.post blockquote {
clear:both;
padding:10px 0 10px 25px;
margin:10px 0 25px 0px;
border-left:5px solid #e9e9e9;
}
 
.post blockquote p{
padding:5px 0;
}

.post table{
border:1px #cccccc solid;
border-collapse:collapse;
border-spacing:0;
margin:10px 0 30px;
width:100%;
}

.post table th{
padding:15px;
border:#cccccc solid;
border-width:0 0 1px 1px;
font-weight:bold;
}

.post table td{
padding:15px;
border:1px #cccccc solid;
border-width:0 0 1px 1px;
}

.post dt{
font-weight:bold;
}

.post dd{
padding-bottom:10px;
}

.post img{
max-width:100%;height:auto;
}

img.aligncenter {
display:block;
margin:5px auto 30px auto;
text-align:center;
}

img.alignright{
margin:5px 0 30px 30px;
}

img.alignleft{
margin:5px 30px 30px 0;
}

.alignright{
float:right;
}

.alignleft{
float:left;
}


/* サイドバー
*****************************************************/

.widget, .widgetInfo{
margin:0 0 20px;
}

#banners img{
max-width:255px;
height:auto;
padding-bottom:10px;
}

.widget h3{
clear:both;
margin:0 0 20px;
padding:5px 0;
font-size:130%;
font-weight:bold;
border-bottom:2px solid #000000;
}

.widget a{
font-weight: bold;
display:block;
padding:3px 0 3px 0;
color:#000000;
}

.widget a:hover{
color:#999999;
}

.newsTitle{
clear:both;
margin:0 0 20px;
padding:5px 0;
font-size:100%;
border-bottom:2px solid #000000;
}

.newsTitle h3{
font-size:130%;
float:left;
font-weight:bold;
}

.newsTitle p{
float:right;
padding:5px 5px 0 5px;
font-size:.8em;
}

.newsTitle a{
font-weight:bold;
color:#000000;
}

.newsTitle a:hover{
color:#999999;
}

.news p{
clear:both;
padding-bottom:2px;
}

.news p:last-child{
border:0;
}

.news p a{
font-weight: bold;
display:block;
padding:5px 0;
color:#000000;
}

.news p a:hover{
color:#999999;
}

.news span{
padding-left:10px;
}


/* ツイッター */
.twitter{
	margin: 0 auto 20px;
	width: 270px;
}

/* ボックス-インフォ */
.box-info{
	margin: 10px auto 10px;
	padding: 20px 0;
	text-align: center;
	border: solid 1px #b0e0e6;
	background: #b0e0e6;      /* パウダーブルー */
}
.box-info h2{
	color: #1D2088;
	font-weight: bold;
}
.box-info h1{
	margin: 0 0 5px;
	color: #1D2088;
	font-weight: bold;
	font-size: 200%;
	letter-spacing: 0.15em
}
.box-info p{
	margin-bottom: 5px auto;
}
.box-info h3{
	margin: 10px 0 0;
	color: #755201;
}


/* フッター
*****************************************************/

#footer ul{
padding-bottom:10px;
}

#footer li{
display:inline-block;
vertical-align:text-top;
text-align:left;
margin-right:30px;
}

#footer li a{
font-weight:bold;
display:block;
padding:0 0 0 10px;
overflow:hidden;
color:#000000;
}

#footer li a:before{
content:"◉";
}

#footer li a:hover{
color:#999999;
}

#footer li li{
display:block;
padding:0;
}

*:first-child+html #footer li{
display:inline;
}

*:first-child+html #footer ul ul,*:first-child+html #footer li li a,*:first-child+html #footer li li{
display:none;
}

#copyright{
clear:both;
padding:10px;
text-align:center;
font-size:75%;
zoom:1;
background:#eeeeee;
}


/* トップページ 最新記事3件
*****************************************************/

.thumbWrap{
width:770px;
margin:0 -20px 20px 0;
}

.thumbWrap li{
float:left;
width:236px;
margin:0 20px 40px 0;
background:none;
}

.thumbWrap img{
margin-bottom:15px;
}

ul.thumb h3{
margin-top:20px;
font-size:100%;
font-weight:bold;
text-align:center;
border:2px solid #000000;
}

ul.thumb h3 span{
display:block;
padding:7px;
color:#000000;
}

ul.thumb h3 span:hover{
color:#999999;
}


/* メインメニュー　PC用
*****************************************************/

@media only screen and (min-width:1025px){

nav div.panel{
display:block !important;
float:left;
}

a#menu{
display:none;
}

#mainNav{
clear:both;
position:relative;
z-index:200;
margin-bottom:15px;
}

#mainNav li{
float:left;
position:relative;
border-right:1px solid #dddddd;
}

#mainNav li:first-child{
border-left:1px solid #dddddd;
}

#mainNav li a{
color:#000000;
display:block;
text-align:center;
font-weight:bold;
_float:left;
height:40px;
line-height:40px;
padding:10px 40px 0px;        /***** * ブラウザでの表示を確認して調整する * *****/
}

#mainNav li a span,#mainNav li a strong{
display:block;
line-height:1.4;
}

#mainNav li a span{
font-size:50%;
color:#EB731C;
}

#mainNav li.current-menu-item a, #mainNav li a:hover, #mainNav li a:active, #mainNav li.current-menu-parent a{
background:#eeeeee;
}

#mainNav ul ul{
width:160px;
}

#mainNav li ul{
display: none;
}

#mainNav li:hover ul{
display:block;
position:absolute;
top:50px;
left:0px;
z-index:500;
}

#mainNav li li{
margin:0;
float:none;
height:50px;
line-height:50px;
width:160px;
background:#f3f3f3;
border-right:0;
border-bottom:1px solid #dddddd;
opacity:0.9;
}

#mainNav li li:first-child{
border-left:0;
}

#mainNav li li a{
width:155px;
height:50px;
padding:0 0 0 5px;
line-height:50px;
font-size:95%;
text-align:left;
}

#mainNav li li a span{
padding:0 10px;
}

#mainNav li:hover ul li:last-child{
border:0;
}

}


/* iPadサイズ以下（1024px）からアコーディオンメニュー
*****************************************************/

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

#mainNav{
clear:both;
width:100%;
margin:0 auto;
}

#mainNav a.menu{
color:#000000;
width:100%;
display:block;
height:48px;
line-height:48px;
font-weight:bold;
text-align:left;
background:url(images/menuOpen.png) no-repeat 5px 11px;
}

#mainNav a#menu span{
padding-left:35px;
}

#mainNav a.menuOpen{
background:url(images/menuOpen.png) no-repeat 5px -31px;
}

#mainNav a#menu:hover{
cursor:pointer;
}

nav .panel{
display:none;
width:100%;
position:relative;
right:0;
top:0;
z-index:1;
}

#mainNav ul{
margin:0;padding:0;
}

#mainNav li{
float:none;
clear:both;
width:100%;
height:auto;
line-height:1.2;
}

#mainNav li:first-child{
border-top:1px solid #d5d5d5;
}

#mainNav li li:first-child{
border-top:0;
}

#mainNav li a,#mainNav li.current-menu-item li a{
display:block;
padding:15px 10px;
text-align:left;
border-bottom:1px dashed #ccc;
color:#000000;
}

#mainNav li:last-child a{
border:0;
}

#mainNav li li:last-child a{
border:0;
}

#mainNav li li:last-child a{
border-bottom:1px dashed #cccccc;
}

#mainNav li a span{
display:none;
}
 
#mainNav li li{
float:left;
border:0;
}

#mainNav li li a, #mainNav li.current-menu-item li a, #mainNav li li.current-menu-item a{
padding-left:40px;
background:url(images/sub1.png) no-repeat 20px 20px;
}

#mainNav li li.current-menu-item a,#mainNav li li a:hover, #mainNav li.current-menu-item li a:hover{
background:url(images/sub1.png) no-repeat 20px -60px;
}

#mainNav li li:last-child a{
background:url(images/subLast.png) no-repeat 20px 20px;
}

#mainNav li li:last-child.current-menu-item a,#mainNav li li:last-child a:hover,#mainNav li.current-menu-item li:last-child a:hover{
background:url(images/subLast.png) no-repeat 20px -65px;
}

nav div.panel{
float:none;
}

#mainImg{
margin-bottom:20px;
}


}


/* iPadサイズ以下（1024px）から 1カラム表示に切り替え
*****************************************************/

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

#wrapper, #header, .inner{
width:100%;
}

#header h1, #header p{
padding:5px 10px;
}

#header h2{
padding:10px;
}

#header ul{
padding:20px 10px;
}

#mainNav ul, .thumbWrap{
margin:0 auto;
}

#mainNav ul ul{
padding:0;
}

nav div.panel{
float:none;
}

#mainImg img{
width:100%;
height:auto;
}

#content, #sidebar{
clear:both;
width:95%;
float:none;
margin:0 auto;
padding:10px 0;
}

#banners{
width:100%;
margin:30px 0 30px 0;
text-align:center;
}

#banners p{
display:inline;
}

#banners p img{
width:100%;
height:auto;
}

.widget_search{
text-align:center;
}

#footer{
margin:0;border:0;
text-align:center;
}

#footer ul{
text-align:center;
}

#footer li{
margin-right:20px;
}

.thumbWrap{
-webkit-box-sizing:border-box;
-moz-box-sizing:border-box;
-ms-box-sizing:border-box;
box-sizing:border-box;
width:100%;
margin:0 auto;
padding-top:20px;
overflow:auto;
}

.thumbWrap ul.thumb li{
width:30%;
float:left;
margin:0 1% 0 2%;
}

.thumbWrap img{
width:100%;
height:auto;
}


}


/* 幅644px以下から ヘッダー等微調節
*****************************************************/

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

#header{
text-align:center;
}

#header h1,#header p,#header h2,#header ul{
float:none;
}

#header h2{
padding:15px;
}

#header ul{
display:none;
}

#header .inner p{
display:none;
}

#headerInfo{
width:250px;
margin:0 auto;
}

img.alignright, img.alignleft{
display:block;
margin:5px auto 20px auto;
}

.alignright,.alignleft{
float:none;
}

#footer ul{
text-align:left;
padding:15px;
}

#footer ul ul{
padding:0;
}

.thumbWrap ul.thumb li{
width:95%;
margin-bottom:30px;
}

}


/* ******************** list-container ここから ******************** */

/*listブロック全体を囲むブロック*/
.list-container {
	display: flex;            /*flexボックスを使う指定*/
	flex-wrap: wrap;          /*折り返す指定*/
}

/*１個あたりのボックス設定*/
.list {
	display: flex;            /*flexボックスを使う指定*/
	flex-direction: column;   /*子要素を縦並びにする*/
	justify-content: space-between;	/*並びかたの種類の指定*/
	margin-bottom: 30px;      /*ボックス同士の上下間に空けるスペース*/
	padding: 20px;            /*ボックス内の余白*/
	box-shadow: 5px 5px 20px rgba(0,0,0,0.1);	/*ボックスの影。右へ、下へ、ぼかし幅、0,0,0は黒の事で0.1は色が10%出た状態。*/
	width: 26%;               /*幅*/
	margin-right: 1.33%;      /*右側に空けるスペース*/
}

.li-a {
	background: #70e0d5;      /*背景色 ターコイズ柔らかめ*/
}

.li-b {
	background: #b0e0e6;      /*背景色 パウダーブルー*/
}

.li-c {
	background: #87ceeb;      /*背景色 スカイブルー*/
}

.li-d {
	background: #6495ed;      /*背景色 コンフラワーブルー*/
}

/*ボックス内のfigure画像*/
.list figure {
	margin: -20px -20px 0;   /*上の.listで設定しているpadding分を相殺して画像をブロックいっぱいに出す*/
}

/*ボックス内の画像にマウスオーバーした時に変化をつける  */
.list img:hover {
	transition: 0.3s;		/*hoverまでにかける時間。0.3秒。*/
	filter: brightness(1.2);	/*少しだけ明るくする。*/
	transform: scale(1.02);		/*実寸の102%に拡大*/
}

/*ボックス内のh4タグ*/
.list h4 {
	margin:  0;
	font-size: 1.2em;	      /*文字サイズを120%に*/
}

/*ボックス内のtextブロック*/
.list .text {                 
	flex: 1;
}

/*ボックス内のpタグ*/
.list p {                     
	margin: 0;
	line-height: 1.3em;       /*行間設定*/
}


@media screen and (max-width:900px) {             /*- 画面幅900px以下の追加指定 -*/

/*１個あたりのボックス設定*/
.list {
	width: 40%;				/*幅*/
	margin-right: 4%;	/*右側に空けるスペース*/
}

/*２の倍数のlistブロックへの追加設定*/
.list:nth-of-type(2n) {
	margin-right: 0;	/*右側の余白をなくす*/
}

}


@media screen and (max-width:530px) {             /*- 画面幅530px以下の追加指定 -*/

/*１個あたりのボックス設定*/
.list {
	width: 100%;				/*幅*/
	margin-right: 0;	/*右側の余白をなくす*/
}

}

/* ******************** list-container ここまで ******************** */


/*-----btnの設定-----*/
p.btn {
	margin: 0;}

/*ボタンを囲むブロック*/
.btn {
	text-align: center;	/*内容をセンタリング*/
}

/*ボタン*/
.btn a {
	text-decoration: none;border: none;
	display: block;
	font-size: 1em;
	box-shadow: 2px 2px 5px rgba(0,0,0,0.2);	/*ボックスの影。右へ、下へ、ぼかし幅の順。0,0,0は黒の事で0.2は色が20%出た状態。*/
	background: #162f80;	/*背景色*/
	letter-spacing: 0.1em;	/*文字間隔を少し広くする指定*/
	color: #fff;			/*文字色*/
	transition: 0.3s;		/*hoverまでにかける時間。0.3秒。*/
	padding: 0.7em 1em;		/*上下、左右へのボタン内の余白*/
	margin-top: 1em;		/*ボタンの上に0.5文字分のスペースを空ける*/
}

/*ボタンのマウスオン時*/
	.btn a:hover {
	cursor: pointer;			/*inputタグを使う場合に「手」のマークになるように。リンクと同じ表示になるようにという事です。*/
	filter: brightness(1.2);	/*少しだけ明るくする。*/
	transform: scale(1.02);		/*実寸の102%に拡大*/
}





/* ******************** fl-box テキストと画像を並べて表示 ******************** */

.fl-top h1{
margin:15px 0 25px;
padding:15px 0;
font-size:150%;
font-weight:bold;
border-bottom:3px solid #000000;
}

.fl-top img{
 width: 100%;
 margin-bottom: 60px;
}

.fl-box {
  display:flex;
  flex-direction: row;
  justify-content: space-between;
  margin-bottom: 40px;
}

.fl-text {
  width: 40%;
}

.fl-text h3 {
  font-size: 130%;
  font-weight:bold;
  margin-bottom: 10px;
}

.fl-text h5 {
  font-size: 110%;
  font-weight:bold;
  color: #ff0000;
}

.fl-pict {
  width: 60%;
  margin-left: 3%;
}

.fl-pict img {
  width: 100%;
  height:auto;
}


@media (max-width:768px) {

  .fl-top img{
   width: 90%;
   margin-bottom: 40px;
  }
  .fl-box {
    flex-direction: column;
  }
  .fl-text {
    width: 90%;
    margin-left: 5%;
    margin-right: 5%;
    margin-bottom: 5px;
  }
  .fl-text h3 {
    margin-bottom: 5px;
  }
  .fl-pict {
    width:100%;
    margin-left: 0;
    text-align: center;
  }
  .fl-pict img {
    width:90%;
    height:auto;
  }
}


/* ******************** レスポンシブ 一覧表 (thなし) ******************** */

.tbl-net {
 margin: 30px 0;
 table-layout: fixed;
 width: 100%;
 border-collapse:collapse;
 border-spacing:0;
}

.tbl-net caption {             /* 見出し */
 border: solid 1px #ccc;
 background-color: #568EBF;
 color: #ffffff;
 width: 5em;                  /* 帯の長さ */
 caption-side: left;
 font-weight: bold;
 font-size: 130%;
 padding: 0 15px;
 margin-bottom:10px;
}

.tbl-net td {
  border: solid 1px #ccc;
  padding: 10px;
  font-size: 160%;            /* 文字サイズ */
  text-align: center;
}

.tbl-net img {
  width: 100%;
  vertical-align: middle;     /* 縦方向下揃え bottom   中央揃えの場合は middle */
}

.tbl-net a{
color:#606060;                 /* リンク文字の色 */
}


@media screen and (max-width: 768px) {       /* th td 上下表示に変更 */
  .tbl-net {
    width: 80%;
    margin: auto;
  }
  .tbl-net td {
    display: block;
    border-bottom: none;
  }
  .tbl-net tr:last-child td:last-child{
    border-bottom: solid 1px #ccc;
  }
}






