@charset "utf-8";


/**** Clearfix ****/

.nav .panel:before,nav .panel:after, #mainNav:before,#mainNav:after, .newsTitle:before,.newsTitle:after{
content:"";
display:table;
}

nav.panel:after,#mainNav:after,.newsTitle:after{
clear: both;
}

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


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

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

#content{
float:right;
width:750px;
padding:40px 0 50px;
}

#sidebar{
float:left;
width:320px;
padding:42px 0;
}

#footer{
clear:both;
padding-top:20px;
} 

.sm-br {
	display: none;
}

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

#header h1{
padding-top:10px;
font-size:90%;
font-weight:normal;
}

#header h2{
clear:both;
margin-top:-30px;
color:#000000;
font-size:160%;
font-weight:bold;
}

#header h2 img{
width:100px;
}

#headerInfo{
margin-top:100px;
float:right;
text-align:right;
  width: 500px;
}

#headerInfo p{
padding-left:80px;
font-size:18px;
font-weight:bold;
}

.logo {
	width: 200px;
	height: 150px;
	background:url("../images/logo.png") center center no-repeat;
	background-size: 100% auto;
	text-indent: -9876px;
	margin: 30px 20px 30px 20px;
  float: left;
}
.logo a {
	display: block;
	width: 200px;
	height: 150px;
}

.logo-about {
	width: 150px;
	height: 113px;
	background:url("../images/logo.png") center center no-repeat;
	background-size: 100% auto;
	text-indent: -9876px;
	margin: 30px auto 20px auto;
}
.logo-about a {
	display: block;
	width: 150px;
	height: 113px;
}


/* メイン画像
----------------------------------*/

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


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

h2.title{
clear:both;
margin-bottom:50px;
padding-bottom:7px;
font-size:150%;
font-weight:bold;
}

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

h2.first{
margin-top:0;
}

h2.recentpost{
margin:30px 0 35px;
padding:15px 0;
font-size:150%;
font-weight:bold;
border-bottom:3px solid #000000;
}

.dateLabel{
text-align:right;
font-weight:bold;
}

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

.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{
margin-bottom:50px;
}

.widget h3{
clear:both;
margin:0 0 10px;
padding:5px 0;
border-bottom:3px solid #000000;
}

.widget ul{
margin:30px 0 30px 0;
}

.widget li a{
display:block;
margin-top:15px;
color:#000000;
}

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

p.banner{
padding-bottom:20px;
}

p.banner img{
width:100%;
}

p.camingsoon{
  opacity: 0.2;
}
p.camingsoon a {
  pointer-events: none;
}
.camingsoon2{
  opacity: 1;
}
.camingsoon2 a {
  pointer-events: none;
}

#banners{
padding-bottom:10px;
}


.newsTitle{
clear:both;
margin:0 0 15px;
padding:7px 10px 7px 0;
font-size:110%;
border-bottom:1px solid #000;
}

.newsTitle h3{
float:left;
font-weight:normal;
}

.newsTitle p:before{
font-size:16px;
margin-right:10px;
content:"≡";
}

.newsTitle p{
float:right;
padding:0 0 0 30px;
font-size:80%;
}

.newsTitle p a{color:#000000;}

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

.news p{
clear:both;
padding-bottom:2px;
border-bottom:1px dashed #e4e4e4;
}

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

.news p a{
display:block;
padding:8px 0;
color:#000000;
}

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

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

/* top
------------------------------------------------------------*/

.topnews {
  margin-top: 40px;
}
.top-intro {
  margin-top: 60px;
  padding-top: 30px;
  border-top:1px solid #000;
  text-align: center;
}
.top-intro img{
  width: 98%;
  margin: 0 auto;
}

/* about us
------------------------------------------------------------*/

#about-wrapper {
  width: 960px;
  margin: 60px auto 60px auto;
}

.about-arti {
  margin: 40px 0 90px 0;
}
.about-arti h3{
  margin: 0px 0 20px 0;
  font-weight: normal;
  font-size: 100%;
  text-indent: -1em;
  margin-left: 1em;
}
.about-arti h3:before {
  content: '';
  display: inline-block;
  width: .9em;
  height: .9em;
  margin-right: .2em;
  background: #000000;
  vertical-align: -1px;
}
.about-arti h4{
  margin: 20px 0 20px 0;
  font-weight: normal;
  font-size: 100%;
  text-indent: -1em;
  margin-left: 1em;
}
.about-arti h4:before {
  content: '';
  display: inline-block;
  width: .7em;
  height: .7em;
  margin-right: .2em;
  background: #ffffff;
  border: #000000 1px solid;
  vertical-align: -1px;
}
.about-arti p{
  line-height: 230%;
  text-align: justify;
}
.about-add {
  margin-bottom: 60px;
}
.about-arti ul{
  list-style:square;
  margin: 30px 0 20px 20px;
}
.about-arti ul li{
  margin: 20px 0 20px 0;
}
.and-concept {
  color: #7ecef4;
  font-size: 90%;
}
dl.gr-add {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
  margin-top: 10px;
}
dl.gr-add dt {
  width: 120px;
  margin-bottom: 20px;
  font-weight: 100;
  margin-left: -7px;
}
dl.gr-add dd {
  width: calc( 100% - 125px );
  margin-bottom: 20px;
  padding-left: 0px;
  font-weight: 100;
}

.head-nav {
   position: fixed;
   top: 0;
   left: 0;
   width: 100%;
   border-radius: 0;
   -webkit-border-radius: 0;
   -moz-border-radius: 0;
   -o-border-radius: 0;
	 background:#ffffff;
	 color:#333333;
	box-shadow:rgba(146, 157, 171, 0.45098) 0px 0px 7px 3px;
	-webkit-box-shadow:rgba(146, 157, 171, 0.45098) 0px 0px 7px 3px;
	-moz-box-shadow:rgba(146, 157, 171, 0.45098) 0px 0px 7px 3px;
	padding-bottom:0px;
	padding-top:5px;
	z-index:400;
}
.head-nav ul {
  display:flex;
  margin:0px 0;
  list-style: none;
  justify-content: center;
  align-items: center;
}
.head-nav ul li {
float:left;
}

nav .head-nav ul li a{
display: block;
text-align: center;
_float:left;
height:40px;
line-height:40px;
padding:0 20px 0;
font-size:10pt;
color:#000000;
}




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

#footer a{color:#000000;}

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

#footer .boxWrap{
width:100%;
margin-right:-40px;
}

#footer .box{
float:left;
width:46%;
margin:2%;
padding:20px 0;
}

.box .widgetWrap, .box section.widget ul{
padding:0 0 0 7px;
margin-top:0;
background:transparent;
border:0;
box-shadow:none;
}

.box section.widget li a{
border:0;
}

.box section.widget li a:hover{background-position:2px 12px;}

#footer h3{
padding:5px;
margin-bottom:30px;
  font-weight: normal;
font-size:120%;
border-bottom:1px solid #000;
}
.contact p{
padding:2px 0 3px 38px;
margin-bottom:10px;
font-size:110%;
background:url(../images/iconHome.png) no-repeat 4px 0;
background-size:20px 20px;
}

#footer ul {
  list-style: none;
}
.contact p.mail{background-image:url(../images/iconMail.png);}
.contact p.tel{background-image:url(../images/iconTel.png);}
.contact p.fax{background-image:url(../images/iconFax.png);}
.contact p.tw{background-image:url(../images/iconTW.png);}
.contact p.fb{background-image:url(../images/iconFB.png);}

#footer .foot-nav ul {
  list-style: none;
}

#footer .foot-nav ul{
margin:30px 0 30px 0;
}

#footer .foot-nav li a{
display:block;
margin-top:15px;
color:#000000;
}

#footer .foot-nav a:hover{
color:#cdcdcd;
}


#copyright{
clear:both;
padding:50px 0 37px;
text-align:center;
font-size:11px;
}
#pageTop {
  position: fixed;
  bottom: 20px;
  right: 20px;
	width:80px;
	height:80px;
}
 
#pageTop a {
  display: block;
  z-index: 999;
  padding: 8px 0 0 8px;
	width:60px;
	height:60px;
	text-indent:-9876px;
	background: url(../images/gototop.png) center center no-repeat;
}
 
#pageTop a:hover {
  text-decoration: none;
	background: url(../images/gototop_mo.png) center center no-repeat;
}


/* page navigation
------------------------------------------------------------*/

.pagenav{
clear:both;
width:100%;
height:30px;
margin:5px 0 20px;
}

.prev{
float:left
}

.next{
float:right;
}

#pageLinks{
clear:both;
color:#4f4d4d;
text-align:center;
}


/* トップページ 最新記事3件 + 3つの画像
------------------------------------------------------------*/

.thumbWrap{
  width:100%;
  margin: 0 auto;
  margin-left: 3%;
}

.thumbWrap li{
float:left;
width: 30%;
margin:0 2% 0 0;
padding:2px 0 20px;
background:none;
  list-style: none;
}

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

ul.thumbUnder h3{
padding:5px;
font-weight:bold;
text-align:center;
border:2px solid #000000;
}

ul.thumbUnder h3 span{
display:block;
}

ul.thumbUnder h3 a{
color:#000000;
}

ul.thumbUnder h3 a:hover{
color:#cdcdcd;
}

ul.thumbUnder li p{
margin:15px 0 25px;
}


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

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

  nav#mainNav{
  position:relative;
    clear: both;
  }

  nav#mainNav ul{
    display:flex;
    margin:10px 0;
    list-style: none;
  }
  nav#mainNav ul.aboutnav{
    display:flex;
    margin:0px 0;
    list-style: none;
    justify-content: center;
    align-items: center;
  }

  nav#mainNav ul li{
  float:left;
  }

  nav#mainNav ul li a{
  display: block;
  text-align: center;
  _float:left;
  height:40px;
  line-height:40px;
  padding:0 20px 0;
  font-size:10pt;
  color:#000000;
  }

  nav#mainNav ul li a:hover{
  color:#cdcdcd;
  }

  nav#mainNav ul ul{
  width:160px;
  border-top:0;
  }

  nav#mainNav ul li ul{
  display: none;
  }

  nav#mainNav ul li:hover ul{
  display: block;
  position: absolute;
  top:40px;
  text-align:center;
  z-index:500;
  }

  nav#mainNav ul li li{
  background:#ffffff;
  border-bottom:1px dotted #cdcdcd;
  float: none;
  width:160px;
  height:40px;
  line-height:40px;
  margin:0;
  }

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

  nav#mainNav ul li li a{
  width:100%;
  height:40px;
  padding:0;
  line-height:40px;
  font-size:10pt;
  }

  nav#mainNav ul li li a:hover{
  color:#cdcdcd;
  }

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

  a#menu{
  display:none;
  }

}


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

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

  #mainNav{
  clear:both;
  width:100%;
  margin-bottom:10px;
  }

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

  #mainNav a#menu span{
  padding-left:2.5em;
  }

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

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

  .panel ul{
  margin:0;padding:0;
  }

  .panel ul li{
  float: none;
  clear:both;
  width:100%;
  height:auto;
  line-height:1.2;
  }

  .panel ul li a,.panel ul li.current-menu-item li a{
  display: block;
  width:100%;
  padding:1em 0;
  text-align:left;
  color:#000000;
  }

  .panel ul li a span{
  padding-left:1em;
  }

  .panel ul li a:hover{
  color:#cdcdcd;
  }

  .panel ul li li{
  float:left;
  border:0;
  }

  .panel ul li li a span{
  padding-left:35px;
  }

  nav div.panel{
  float:none;
  }

}


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

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

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

  #headerInfo{
  padding-right:10px;
  }

  #header h1{
  padding-left:10px;
  }

  .panel ul, .thumbWrap{
  margin:0 auto;
  }

  .thumbWrap{
  width:100%;
  margin:0 auto;
  }

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

  .thumbWrap ul.thumbUnder li img{
  width:100%;
  }

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

  .panel ul ul{
  padding:0;
  }

  nav div.panel{
  float:none;
  }

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

  #banners{
  width:100%;
  text-align:center;
  }

  #banners p{
  width:30%;
  float:left;
  margin:0 1% 0 2%;
  }

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

  #contactBanner{
  margin:0 auto;
  }

  #about-wrapper {
    width: 96%;
    margin: 60px auto 60px auto;
  }

}
/* 幅800px以下
------------------------------------------------------------*/

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

  .head-nav {
    display: none;
  }
  
}

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

@media only screen and (max-width: 644px){
  
	.pc-br {
		display: none;
	}
	.sm-br {
		display: inline-block;
	}
	.sm-non {
		display: none;
	}
  .sm-mb {
		display: block;
    margin-bottom: 40px;
  }

  #header{
  padding:0 1%;
  text-align:center;
  }

  #headerInfo{
  display:none;
  }

  #header h1{
  display:none;
  }

  #header h2{
  float:none;
  margin-top:20px;
  }

  .logo {
    width: 100px;
    height: 75px;
    margin: 10px auto 10px auto;
    float: none;
  }
  .logo a {
    display: block;
    width: 100px;
    height: 75px;
  }

  h3.title {
    font-size: 12pt;
  }

  #mainImg{
    width: 100%;
    height:auto;
  margin-bottom:5px;
  }

  #mainImg img{
  }

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

  .alignright,.alignleft{
  float:none;
  }

  .thumbWrap ul.thumbUnder li{
  width:95%;
  margin-bottom:10px;
  }

  .thumbWrap ul.thumbUnder li img{
  width:100%;
  }

  #banners p{
  float:none;
  width:70%;
    margin: 0 auto;
  }

  #banners p img{
  width:100%;
  }
  p.banner{
  padding-bottom:10px;
  }

  #about-wrapper {
    width: 90%;
    margin: 30px auto 30px auto;
  }

  #footer .boxWrap{margin:0;padding:0;}
  #footer .box{float:none;width:100%;margin:10px 0;}

  #footer .foot-nav ul{
  margin:0px 20px 0px 20px;
  }

	#pageTop {
		position: fixed;
		bottom: 20px;
		right: 10px;
		width:26px;
		height:26px;
	}

	#pageTop a {
		display: block;
		z-index: 999;
		padding: 8px 0 0 8px;
		width:26px;
		height:26px;
		text-indent:-9876px;
		background: url(../images/gototop.png) center center no-repeat;
		background-size: 100% auto;
		transition: all 300ms 0s ease;
	}

	#pageTop a:hover {
		text-decoration: none;
		background: url(../images/gototop_mo.png) center center no-repeat;
		background-size: 100% auto;
		transition: all 300ms 0s ease;
	}

}