@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.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.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;}
figure{margin:0}
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {display: block;}
/* -------------------------------------------------------------- */

body {
color:#333;
font-size:16px;
font-family:"Century Gothic",arial, "メイリオ", "Meiryo", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", Osaka, "ＭＳ Ｐゴシック", "MS PGothic", Sans-Serif;
line-height:1.9;
-webkit-text-size-adjust: none;
border-bottom-width: 5px;
border-bottom-style: solid;
border-bottom-color: #006;
}


/* リンク設定
------------------------------------------------------------*/
a{
color:#39F;
text-decoration:none;
}
a:hover{
opacity:0.7;
filter: alpha(opacity=70);
-ms-filter: "alpha( opacity=70 )";
}
a:active,
a:focus {outline:0;}


/* 全体
------------------------------------------------------------*/
*{
-webkit-box-sizing: border-box;
   -moz-box-sizing: border-box;
     -o-box-sizing: border-box;
    -ms-box-sizing: border-box;
        box-sizing: border-box;
}

#header,
#wrapper,
.inner{
max-width:960px;
padding:0;
margin: 0 auto;
}
#wrapper{
	margin-bottom: 50px;
}

i.fa{
	margin: 0 5px;
}

.bgc_006{
	background-color: #006;
}
.bgc_666{
	background-color: #666;
}


/**************************
/* ヘッダー
**************************/
.description{
	background-color: #006;
	border-bottom-width: 3px;
	border-bottom-style: solid;
	border-bottom-color: #DDD;
}
.description h1{
	font-size: 10px;
	color: #FFF;
	max-width:960px;
	padding: 5px 15px;
	margin:0 auto;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	font-weight: bold;
	line-height: 1.2;
}
#header .logo{
width: 250px;
margin: 20px 10px;
}
.logo a{
display: block;
line-height: 1;
}
.logo img{
width: 100%;
height: auto;
}




/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
	margin: 0 auto 35px auto;
	padding:0;
	width:100%;
	position:relative;
	line-height:0;
	z-index: 200;
	text-align: center;
	background-color: #EEE;
}

#mainBanner img{
max-width:100%;
height:auto;
}


/*--- スマホのみ表示タブメニュー ---*/
#sp_tab_nav {
display: none;
}
/*--- スマホのみ表示タブメニューここまで ---*/




/**************************
/* グリッド
**************************/
.gridWrapper{
padding-bottom:40px;
overflow: hidden;
}

.gridWrapper .grid{
	float:left;
	width:32%;
	margin: 0 0 0 2%;
}

.gridWrapper .grid2{
	float:left;
	width:48%;
	margin: 0 0 0 2%;
}

.gridWrapper .grid:first-child{
	margin: 0;
}

.gridWrapper .box{
	padding: 15px;
	border:1px solid #DDD;
	color: #333;
	border-radius:8px;
	overflow: hidden;
}
.gridWrapper a .box:hover{
	background-color: #39F;
	color: #FFF;
}

.gridWrapper .box img{
width:100%;
height:auto;
border:4px solid #DDD;
}

.gridWrapper .box h3{
	padding:0;
	font-size: 120%;
	line-height: 1.2;
	border-left-width: 4px;
	border-left-style: solid;
	border-left-color: #006;
	margin: 10px 0;
	padding: 0 0 0 10px;
	text-align:left;
}

.gridWrapper .box p{
	line-height: 1.6;
}

.gridWrapper .box p.readmore{
	float:right;
	font-size: 13px;
	margin: 15px 0 5px 0;
	color: #FFF;
	background-color: #39F;
	padding: 5px 8px;
	border-radius: 5px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #28D;
	display: inline;
}
.gridWrapper a .box:hover p.readmore{
	background-color: #FFF;
	color: #39F;
	border-bottom-color: #CCC;
}

#subpage .grid{width:auto;}


/**************************
/* メイン コンテンツ
**************************/
#main{
	float:left;
	width:72%;
	padding-left: 15px;
}

section.content article{
padding: 20px 10px;
margin-bottom:50px;
overflow:hidden;
}

* html section.content article{height:1%;}

section.content p{margin-bottom:5px;}

section.content h3.heading ,
section.content h4.heading ,
section.content h5.heading{
	font-weight:normal;
	padding:10px 15px;
	line-height:1.1;
	border-radius: 5px;
}
section.content h4.heading ,
section.content h5.heading{
	color:#333;
	margin: 30px 0 10px;
	font-size: 130%;
	font-weight: bold;
}

section.content h3.heading{
	color:#FFF;
	background:#006;
	font-size: 140%;
	position: relative;
	padding-left: 1.3em;	
} 
section.content h3:before{
    content: "";
    position: absolute;
    background: #FFF;
    top: 25px;
    left: 0.5em;
    margin-top :-15px;
    height: 1em;
    width: 5px;
}
section.content h4.heading{
	background:#DDD;
}
section.content h5.heading{
	border-radius: 0;
	border-left-width: 5px;
	border-left-style: solid;
	border-left-color: #006;
}

section.content img{
height:auto;
}

.aligncenter{
display:block;
	margin: 3px auto 10px;
	max-width:100%;
}

.alignleft{
float:left;
clear:left;
margin:3px 10px 10px 0;
}

.alignright{
float:right;
clear:right;
margin:3px 0 10px 10px;
}

#gallery .grid img,
.border,
ul.list img{border:4px solid #DDD;}

#gallery article{
	font-size: 0px;
	padding:10px;
}
#gallery .grid{
	float:none;
	width:31.3%;
	margin:10px 1% 2px 1%;
	display: inline-block;
}
#gallery .grid img{
	width:100%;
}

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

/**************************
/* テーブル
**************************/

table.table{
border-collapse:collapse;
margin:5px auto 15px auto;
width: 100%;
}
table.table th{
background-color:#EEE;
text-align:right;
padding: 10px 15px;
white-space:nowrap;
color: #151515;
font-weight:normal;
letter-spacing:1px;
vertical-align: middle;
border-top-width: 1px;
border-right-width: 4px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #DDD;
border-right-color: #39F;
border-bottom-color: #DDD;
border-left-color: #DDD;
}
table.table td{
border-collapse:collapse;
text-align:left;
padding: 10px 15px;
border:1px solid #DDD;
line-height:1.5;
vertical-align: middle;
}

table.table2{
border-collapse:collapse;
margin:5px auto 15px auto;
width: 100%;
}
table.table2 th{
background-color:#EEE;
text-align:left;
padding: 10px 15px;
white-space:nowrap;
color: #151515;
font-weight:normal;
letter-spacing:1px;
vertical-align: middle;
border-top-width: 1px;
border-right-width: 4px;
border-bottom-width: 1px;
border-left-width: 1px;
border-top-style: solid;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-top-color: #DDD;
border-right-color: #39F;
border-bottom-color: #DDD;
border-left-color: #DDD;
}
table.table2 td{
border-collapse:collapse;
text-align:left;
padding: 10px 15px;
border:1px solid #DDD;
line-height:1.5;
vertical-align: middle;
}

/**************************
/* フォーム
**************************/

section.formarea{
	margin-bottom:40px;
	overflow:hidden;
}
.form_box{
	border-radius: 8px;
	text-align: center;
	padding:15px 10px;
	vertical-align: middle;
	color: #FFF;
	text-align: center;
}
.form_title{
	margin-bottom: 5px;
	font-size: 48px;
	font-weight: bold;
	line-height: 1;
}

.form_input{
	margin-bottom: 5px;
}
.form_input .f_text{
	padding:2px 5px;
	margin-right: 5px;
	width: 250px;
	color: #666;
}

.form_txt{
	line-height: 1.3;
}

.bg_fukuzawa{
	background-image: url(images/mail_fukuzawa.png);
	background-repeat: no-repeat;
	background-position: -15px 5px;
}


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

#sidebar{
	float:right;
	width:25%;
	padding:0 15px 0 0;
	overflow:hidden;
	margin-bottom: 50px;
}
#sidebar h3.heading{
font-weight:normal;
padding:10px 15px;
line-height:1.2;
color:#333;
background:#E3E3E3;
border-left-width: 10px;
border-left-style: solid;
border-left-color: #39F;
border-radius: 5px 5px 0 0;
}
#sidebar article{
padding:0;
margin-bottom:20px;
overflow:hidden;
border-right-width: 1px;
border-bottom-width: 1px;
border-left-width: 1px;
border-right-style: solid;
border-bottom-style: solid;
border-left-style: solid;
border-right-color: #E3E3E3;
border-bottom-color: #E3E3E3;
border-left-color: #E3E3E3;
}


#sidebar ul{
padding:0;
}

#sidebar li{
margin:0;
list-style:none;
padding: 0;
font-size: 14px;
line-height: 1.3;
border-bottom-width: 1px;
border-bottom-style: dotted;
border-bottom-color: #DDD;
}

#sidebar li:last-child{
border:0;
}

#sidebar li a{
display:block;
padding: 15px;
overflow:hidden;
}
#sidebar li a:hover{
background-color: #39F;
color: #FFF;
}

#sidebar ul.list li{
	margin:0;
	padding:0;
	line-height:1.35;
}
ul.list li img{
	float:left;
	margin-right:10px;
	width: 60px;
}
ul.list li p{
	overflow:hidden;
}

#sidebar .sidebanner{
	font-size: 0px;
}
#sidebar .sidebanner p{
	width: 100%;
	padding: 0px;
	margin-bottom: 10px;
}
#sidebar .sidebanner p img{
	width: 100%;
	margin: 0px;
	padding: 0px;
border:4px solid #DDD;
}

/**************************
/* フッター
**************************/
.ft_menu {
	position: fixed;
	bottom: 20px;
	z-index: 9999;
	left: 50%;
}
.page-top a{
	background-color: #000;
	background-color: rgba(0,0,0,0.4);
	padding: 7px 10px;
	border-radius:10px;
	text-decoration: none;
	color: #FFF;
	text-align: center;
	line-height: 1;
	font-size: 8px;
	display: block;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	margin: 0 0 0 500px;
}
.ft_menu span .fa{
	font-size: 24px;
	line-height: 1.5;
	display: block;
}

#footer{
clear:both;
overflow:hidden;
padding: 10px;
background:#EEE;
}

* html #footer{height:1%;}

#footer .grid{
padding:10px 0 5px;
margin:0;
background:transparent;
}

#footer #info .logo{
	float: left;
	width: 200px;
	margin: 20px 0 0 0;
}
#footer #info .info{
float: right;
padding:15px 0 0 0;
text-align:right;
font-weight: bold;
line-height: 1.4;
}
#footer #info .info .tel{
font-size:26px;
}
#footer #info .info .tel .fa{
	font-size:22px;
	color: #F36;
}
#footer #info .info .open{
font-size:12px;
}

ul.footnav{
font-size:0;
clear:both;
padding: 20px 0 10px 0;
}

ul.footnav li{
margin: 2px;
padding:0;
font-size:11px;
line-height: 1.1;
display: inline-block;
}
ul.footnav li a{
	margin: 0;
	padding: 6px 9px;
	color: #FFF;
	background-color: #39F;
	border-radius:5px;
	display: block;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #28D;
}

address{
clear:both;
padding:10px;
text-align:center;
font-style:normal;
font-size:10px;
color:#333;
background:#DDD;
}


/* タブレット用・PC用（横幅：641px～）
------------------------------------------------------------*/
@media only screen and (min-width: 641px){

#wrapper{
	margin: 0 auto;
	width:98%;
	position:relative;
	background:#fff;
	padding-right: 1%;
	padding-left: 1%;
}

/**************************
/* メニュー
**************************/
nav#mainNav{
clear:both;
overflow:hidden;
position:relative;
background:#EEE;
border-bottom-width: 5px;
border-bottom-style: solid;
border-bottom-color: #39F;
}

nav#mainNav .inner{
width:100%;
padding:0 15px;
font-size:0;
}

nav#mainNav ul li{
	display: inline-block;
	position: relative;
	line-height: 1.2;
	width:16.666%;
}
nav#mainNav ul li a{
display: block;
text-align: center;
font-size:13px;
padding-top:15px;
color:#333;
width:100%;
padding-bottom: 15px;
}
nav#mainNav ul li a span{
color:#BBB;
font-size:10px;
display:block;
}

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

a#menu{display:none;}

nav#mainNav li.active a,
nav#mainNav li a:hover{
color:#FFF;
background:#39F;
border-radius: 5px 5px 0 0;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}
nav#mainNav li.active a span,
nav#mainNav li a:hover span{
	color:#9CF;
	text-shadow: none;
}

}

@media screen and (max-width: 1200px) {
/* ---------------------------------------------------
1200px以下用　フッター
----------------------------------------------------- */
.ft_menu {
	left: inherit;
	right: 20px;
}
.page-top a{
	margin: 0;
}
	
}



/* タブレット用（横幅：641px～959px）
------------------------------------------------------------*/
@media only screen and (max-width:959px){


/**************************
/* メニュー　959px以下
**************************/
nav#mainNav ul li a{
font-size:11px;
}
nav#mainNav ul li a span{
font-size:9px;
}

/**************************
/* メイン コンテンツ
**************************/
#main{
	float:none;
	width:auto;
	padding:0;
}
#gallery .grid{
	width:23%;
}

/**************************
/* サイドバー　959px以下
**************************/
#sidebar{
	float:none;
	width:auto;
	padding:0;
	overflow:visible;
}

#sidebar article{
padding:0;
margin-bottom:20px;}

ul.list li img{
	width: 70px;
}

#sidebar .sidebanner p{
	width:23%;
	margin:10px 1% 2px 1%;
	display: inline-block;
}


/**************************
/* フッター　959px以下
**************************/
#footer .grid,
#footer ul.footnav{
width:100%;
text-align:center;
}

#footer .grid img{float:none;}
#footer .grid p{display:block;}


}



/* タブレット＆スマホ(横：ランドスケープ)用（横幅：481px～640px）
------------------------------------------------------------*/
@media only screen and (max-width:640px){


#wrapper{
	width:96%;
	padding-right: 2%;
	padding-left: 2%;
}

/**************************
/* ヘッダー　640px以下
**************************/
.description{
}
#header{
height:auto;
}

/**************************
/* メニュー　640px以下
**************************/

#header .logo{
width: 200px;
margin: 13px 10px;
}

nav#mainNav{
	clear:both;
	width:100%;
	margin:0 auto;
	padding:0;
	position: relative;
}
nav#mainNav .inner{
	font-size: 16px;
}
nav#mainNav a.menu{
	color: #FFF;
	width:70px;
	display:block;
	line-height:1;
	font-weight: bold;
	text-align:center;
	background-color: #39F;
	font-size: 10px;
	padding: 15px 0;
	position: absolute;
	z-index: 100;
	right: 0px;
	top: -62px;
}
nav#mainNav a#menu span{
	font-size: 24px;
	margin: 0px;
	padding: 0px;
}
nav#mainNav a.menu span:after {
	content: "▼";
}
nav#mainNav a.menuOpen span:after {
	content: "▲";
}
nav#mainNav a.menu span:after ,
nav#mainNav a.menuOpen span:after {
	font-size: 10px;
	display: block;
	color: #006;
	vertical-align: top;
}
nav#mainNav a#menu:hover{
	cursor:pointer;
	opacity:1;
	filter: none;
	-ms-filter: none;
}

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

nav#mainNav ul li{
	background-color: #39F;
	float: none;
	clear:both;
	width:100%;
	height:auto;
	line-height:1;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
}

nav#mainNav ul li a,
nav#mainNav ul li.current-menu-item li a{
	color: #FFF;
	display: block;
	padding:15px 10px;
	text-align:left;
	border-top-width: 1px;
	border-top-style: solid;
	border-top-color: #6BF;
	font-size: 14px;
}

nav#mainNav ul li a span{
	padding-left:10px;
	color: #006;
	text-shadow: none;
}


/**************************
/* グリッド　640px以下
**************************/
.gridWrapper .grid{
	width:100%;
	float:none;
	margin: 20px 0;
}

.gridWrapper .grid2{
	width:100%;
	float:none;
	margin: 20px 0;
}

.box img{
	float:left;
	margin-right:15px;
	max-width:180px;
}

.box h3{padding-top:0;
	overflow:hidden;}

.alignleft,.alignright{
float:none;
display:block;
margin:0 auto 10px;
}


/**************************
/* メイン コンテンツ　640px以下
**************************/

#gallery .grid{
	width: 31.3%;
}

/*--- スマホのみ表示タブメニュー ---*/

#sp_tab_nav {
	display: block;
	width: 100%;
	-webkit-transition: all none ease 0;
	-moz-transition: all none ease 0;
	-ms-transition: all none ease 0;
	-o-transition: all none ease 0;
	transition: all none ease 0;
	margin-bottom: 10px;
	background-color: #333;
	padding-top: 5px;
}
#sp_tab_nav > ul {
display: table;
table-layout: fixed;
width: 100%;
border-bottom-width: 5px;
border-bottom-style: solid;
border-bottom-color: #39F;
}
#sp_tab_nav > ul > li {
	display: table-cell;
	text-align: center;
	background-color: #333;
	cursor: pointer;
	font-size: 13px;
	border-radius: 5px 5px 0 0;
	vertical-align: middle;
}
#sp_tab_nav > ul > li > a {
	display: inline-block;
	width: 100%;
	line-height: 1.2;
	color: #fff;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	padding: 18px 5px;
}
#sp_tab_nav1,
#sp_tab_nav2,
#sp_tab_nav3 {
width:100%;
height:auto;
background-color: #fff;
}
#sp_tab_nav_field > div > ul {
width: 99%;
font-size: 0px;
margin: 0 0.5%;
}


#sp_tab_nav_field > div > ul > li {
display: inline-block;
width: 50%;
line-height: 40px;
font-size: 12px;
text-align: center;
}

#sp_tab_nav_field > div > ul > li:first-child {
width: 100%;
color: #F36;
font-weight: bold;
line-height: 1.3;
font-size: 14px;
padding: 15px;
border: none;
}

#sp_tab_nav_field > div > ul > li > a {
	display: inline-block;
	width: 98%;
	padding: 5px;
	color: #FFF;
	background-color: #39F;
	margin: 1%;
	border-radius: 5px;
	text-shadow: 1px 1px 1px rgba(0,0,0,0.3);
	border-bottom-width: 2px;
	border-bottom-style: solid;
	border-bottom-color: #28D;
}
/*--- スマホのみ表示タブメニューここまで ---*/


/**************************
/* フォーム　640px以下
**************************/

.form_title{
	font-size: 25px;
}
.form_input .f_text{
	font-size: 12px;
	width: 150px;
}
.form_txt{
	font-size: 12px;
}
.bg_fukuzawa{
	background-size: 130px auto;
}

/**************************
/* テーブル  
**************************/

table.table,tbody, tr, th, td {
display: block;
max-width: 100%;
}


/**************************
/* サイドバー　640px以下
**************************/
#sidebar .sidebanner p{
	width: 31.3%;
}


/**************************
/* フッター　640px以下
**************************/

#footer #info .logo{
	float:none;
	margin-right: auto;
	margin-left: auto;
}
#footer #info .info{
text-align:center;
float:none;
}

}




/* スマホ(縦)用（横幅：0～400px）
------------------------------------------------------------*/
@media only screen and (max-width:400px){
body {
font-size:85%;
}

/**************************
/* メイン コンテンツ　400px以下
**************************/
#gallery .grid{
	width:48%;
}

/**************************
/* グリッド　400px以下
**************************/

.box img{
	float:none;
	margin-right:5px;
	max-width:100%;
}


/**************************
/* サイドバー　400px以下
**************************/
#sidebar .sidebanner p{
	width: 48%;
}

/**************************
/* フォーム　400px以下
**************************/
.form_title{
	font-size: 20px;
}
.bg_fukuzawa{
	background-position: -25px 5px;
}

}