@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:#444;
font-size:80%;
font-family:verdana,"ヒラギノ丸ゴ ProN W4","Hiragino Maru Gothic ProN","メイリオ","Meiryo","ＭＳ Ｐゴシック","MS PGothic",Sans-Serif;
line-height:150%;
letter-spacing:0.05em;
-webkit-text-size-adjust: none;
background:url(../images_common/bg_body.gif) ;
}

h2{
display: inline;
}

h3{
font-size:120%;
}

h4{
font-size:240%;
line-height:140%;
font-weight:bold;
padding:6px 0px 18px 0px;
margin:0px;
}

hr{
clear:both;
border:0px;
border-bottom:#d4d4d4 solid 1px;
padding-top:20px;
margin-bottom:20px;
}

dd{
margin-left:10px;
}

input , select , textarea{
border:1px solid #d4d4d4;
color:#444;
}

input[type=reset] , input[type=submit] {
margin:10px 0px 0px;
padding:10px;
background-image:url(../images_common/bg_button_a.gif);
border-radius: 6px;
-webkit-border-radius: 6px;
}

input[type=reset]:hover , input[type=submit]:hover {
margin:10px 0px 0px;
padding:10px;
background-image:url(../images_common/bg_button_hover.gif);
}

sub{
font-size:50%;
}

figcaption{
font-size:160%;
font-weight:bold;
padding-bottom:10px;
border-bottom:1px dashed #ccc;
margin-bottom:10px;
color:#aa2b1d;
}

/* リンク設定
------------------------------------------------------------*/
a{
color:#154e7f;
text-decoration:none;
}

a:hover{
color:#2d9fff;
	    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}

a:active, a:focus{
outline:0;
}

img {
	    -webkit-transition: 0.3s ease-in-out;
       -moz-transition: 0.3s ease-in-out;
         -o-transition: 0.3s ease-in-out;
            transition: 0.3s ease-in-out;
}
a:hover img{
opacity: 0.8;
filter: alpha(opacity=80);

}


/* 全体
------------------------------------------------------------*/
#wrapper{
display: none;
margin:0 auto;
padding:0 1%;
width:98%;
position:relative;

}

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

/*************
/* ヘッダー
*************/
#header{
height:70px;
}

#header h1{
text-align:right;
padding:0px 18px 0px 0px;
font-size:85%;
font-weight:normal;
}

.logo{
float:left;
margin-left:14px;
width:225px;
height:50px;
background-image:url(../images_common/bg_logo.png);
background-repeat:no-repeat;
background-size: 225px 50px;
}

.logo a{
display: block;
top: 0;
left: 0;
width: 225px;
height: 50px;
text-indent:-9999px;
}

.info{
float:right;
margin-right:18px;
width:190px;
height:50px;
background-image:url(../images_common/bg_info.png);
background-repeat:no-repeat;
background-size: 190px 50px;
}

.info a{
display: block;
top: 0;
left: 0;
width:190px;
height:50px;
text-indent:-9999px;
}

/**************************
/* メイン画像（トップページ+サブページ）
**************************/
#mainBanner{
margin:7px auto 15px;
padding:0px;
width:100%;
position:relative;
line-height:0;
}

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



/**************************
/* グリッド
**************************/
.gridWrapper{
padding-bottom:20px;
overflow: hidden;
}
* html .gridWrapper{height:1%;}
.grid{
float:left;
}
.box{
margin:0 5px;
padding:10px;
border:1px solid #c2c2c2;
background:#fff;
}
.box img{
max-width:100%;
height:auto;
border:0px;
border-radius: 6px;
-webkit-border-radius: 6px;
}
.box h3{
padding:0px 0px 0px 6px;
font-size:160%;
line-height:140%;
margin:10px 0px 10px;
font-weight:bold;
border-left:4px solid #aa2b1d;
}
.box h3, .box p{
text-align:left;
}
.box p{
line-height:150%;
}
.box p.readmore{
padding:10px 5px 5px;
text-align:right;
}


/*************
メイン コンテンツ
*************/
section.content article{
font-size:110%;
clear:both;
padding:20px;
margin-bottom:20px;
border:1px solid #c2c2c2;
overflow:hidden;
line-height:200%;
background:#fff;
}

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

section.content p{
text-align:justify;
text-justify:inter-ideograph; 
line-break: strict;
}

section.content dl{
clear:both;
margin-top:10px;
}

section.content dt{
font-size:100%;
color:#154e7f;
}

section.content dd{
border:1px solid #d4d4d4;
background:#fefefe;
padding:10px;
margin:0px auto;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}

h3.heading{
font-size:130%;
font-weight:normal;
padding:10px 10px;
color:#444;
background:#efefef;
border-top:1px solid #c2c2c2;
border-right:1px solid #c2c2c2;
border-left:1px solid #c2c2c2;
}

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

.button_a{
font-weight:bold;
float:right;
display:block;
padding:6px 20px;
width:auto;
height:auto;
text-align:center;
border:1px solid #d4d4d4;
margin:10px 0px 0px 12px;
background:url(../images_common/bg_button_a.gif) repeat-x;
border-radius: 6px;
-webkit-border-radius: 6px;
}

.button_area a:hover{
background:url(../images_common/bg_button_hover.gif) repeat-x;
}


.alignleft{
float:left;
clear:left;
margin:0px 10px 0px 0px;
width:268px;
height:190px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}

.alignright{
float:right;
clear:right;
margin:0px 0px 0px 10px;
width:268px;
height:190px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}

#gallery .grid img,.border,ul.list img{
border:0px;
}

.blog_link{
text-align:right;
}

.page_link{
text-align:right;
}

.hr01{
border:none;
}

/*************
記事内の枠
*************/
.column{
clear:both;
border:1px solid #d4d4d4;
margin:10px auto 0px;
background:#fefefe;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}

.column ul{
padding:10px 30px 10px;
}

.column li{
list-style-type:disc;
}

/*************
テーブル
*************/
table.table{
clear:both;
width:100%;
border-collapse:collapse;
margin:20px auto 0px;
}

table.table th{
background-color:#fefefe;
text-align:right;
padding:8px;
white-space:nowrap;
border-top:1px solid #D6D6D6;
border-right:1px solid #D6D6D6;
border-bottom:1px solid #D6D6D6;
border-left:1px solid #D6D6D6;
font-weight:normal;
letter-spacing:1px;
background-repeat:repeat-x;
background-position:top;
vertical-align:middle;
}

table.table td{
border-collapse:collapse;
background-color:#ffffff;
text-align:left;
padding:8px;
border:1px solid #D6D6D6;
line-height:20px;
vertical-align:middle;
}

table.table01{
clear:both;
width:100%;
border-collapse:collapse;
margin:20px auto 0px;
}

table.table01 th{
width:70%;
background-color:#fefefe;
text-align:right;
padding:8px;
white-space:nowrap;
border-top:1px solid #D6D6D6;
border-right:1px solid #D6D6D6;
border-bottom:1px solid #D6D6D6;
border-left:1px solid #D6D6D6;
font-weight:normal;
letter-spacing:1px;
background-repeat:repeat-x;
background-position:top;
vertical-align:middle;
}

table.table01 td{
border-collapse:collapse;
background-color:#ffffff;
text-align:left;
padding:8px;
border:1px solid #D6D6D6;
line-height:20px;
vertical-align:middle;
}

/*************
/* サイドバー
*************/
.sidebar{
padding:10px;
margin-bottom:15px;
background-image:url(../images_common/bg_aside01.gif);
border:1px solid #c2c2c2;
}

.sidebar hr{
padding:0px;
margin:0px;
padding-top:10px;
margin-bottom:10px;
}

.sidebar_bn img{
width:243px;
height:63px;
border:1px solid #c2c2c2;
margin-bottom:10px;
}

.sidebar_qr img{
width:243px;
height:243px;
border:1px solid #c2c2c2;
margin-bottom:10px;
}

#map1{
width:222px;
height:222px;
margin:10px auto 10px;
border:1px solid #d2d2d2;
}

/*************
/* フッター
*************/
#footer{
clear:both;
overflow:hidden;
padding:10px 10px 20px 10px;
background-image:url(../images_common/bg_footer.gif);
background-repeat:repeat-x;
margin:0px;
}

* html #footer{height:1%;}

#footer a{color:#444;}
#footer a:hover{color:#2d9fff;}

.footernav{
text-align:center;
}

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


/*************
topへ戻る
*************/
#return{
clear:both;
text-align:right;
padding:10px 15px 10px 0px;
margin:0px;
}

#return01{
clear:both;
text-align:right;
padding:10px 0px 10px 0px;
margin:0px;
}

/*************
ソーシャルボタン
*************/
.ninja_onebutton, .ninja_onebutton span {
margin:0px;
float:right;
padding:0px 5px 0px 0px;
}

.ninja_onebutton01, .ninja_onebutton01 span {
margin:0px;
float:right;
padding:0px 0px 0px 0px;
}

/*************
パンくず
*************/
#pankuzu{
clear:both;
font-size:90%;
padding-bottom:5px;
}

/*************
イベント・キャンペーン情報
*************/
#event{
clear:both;
padding:7px 10px 10px 8px;
border:1px solid #c2c2c2;
overflow:hidden;
width:910px;
height:108px;
margin:0 auto 20px;
background-image:url(../images_top/bg_10th.png);
background-repeat:no-repeat;
background-position:right;
}
.event_info{
font-size:120%;
padding-bottom:10px;
padding-left:0px;
}
#event ul{
margin-left:10px;
padding-top:2px;	
}

/*************
/* フォーム関連
*************/
#inquiry01{
border:1px solid #d2d2d2;
background:#fefefe;
margin:10px auto;
padding:10px;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}

#inquiry02{
border:1px solid #d2d2d2;
margin:15px auto 0px;
padding:10px;
background:#fefefe;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
}

#inquiry02 dt{
color:#444;
}

#inquiry02 dd{
background:none;
}

#inquiry02 span{
text-size:70%;
}

#inquiry02 dd{
border:none;
padding:0px;
margin:0px;
}



/* PC用
------------------------------------------------------------*/
@media only screen and (min-width: 960px){
#header,#wrapper,.inner{
width:960px;
padding:0px;
margin:0 auto;
}

nav#mainNav{
clear:both;
overflow:hidden;
position:relative;
background-image:url(../images_common/bg_nav_a.gif);
background-repeat:repeat-x;
margin-top:2px;
}

nav#mainNav .inner{
width:1100px;
padding:0 14px;
}

nav#mainNav ul li{
float: left;
position: relative;
}

nav#mainNav li.last{
border-right:1px solid #ebebeb;
}

nav#mainNav ul li a{
display: block;
text-align: center;
_float:left;
font-size:13px;
width:118px;
height:39px;
padding-top:8px;
color:#444;
background-image:url(../images_common/bg_nav_a.gif);
background-repeat:repeat-x;
border-left:1px solid #ebebeb;
}

nav#mainNav ul li a span,nav#mainNav ul li a strong{
display:block;
}

nav#mainNav ul li a span{
color:#444;
font-size:10px;
}

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

a#menu{
display:none;
}

nav#mainNav li.active a, nav#mainNav li a:hover{
color:#154e7f;
background-image:url(../images_common/bg_nav_hover.gif);
background-repeat:repeat-x;
padding-top:8px;

}

#mainBanner{
margin-left:0px;
}
#subpage #mainBanner{
margin:15px auto;
}
#main{
float:left;
width:667px;
margin-left:15px;
}

#sidebar{
float:right;
width:245px;
padding:15px 0px;
overflow:hidden;
margin-right:18px;
}

#sidebar article{
padding:7px;
margin-bottom:20px;
border:1px solid #ebebeb;
overflow:hidden;
}

/* グリッド全体 */
.gridWrapper{
width:960px;
margin:0 0 0 -10px;
}

#gallery article{
padding:10px 0 10px 10px;
}

/* グリッド */
.grid{
float:left;
width:300px;
margin-left:20px;
}

#subpage .grid{
width:auto;
}

#gallery .grid{
width:auto;
margin:10px 0px 0px 10px;
}

}

@media only screen and (max-width:959px){
*{
-webkit-box-sizing: box;
-moz-box-sizing: border-box;
-o-box-sizing: border-box;
-ms-box-sizing: border-box;
box-sizing: border-box;
}


nav#mainNav{
clear:both;
width:100%;
margin:2px auto 15px;
padding:0;
background-image:none;
background: -webkit-gradient(linear, left top, left bottom, color-stop(1, #f5f5f5), color-stop(0.5, #f0f0f0), color-stop(0.00, #f7f7f7));
background: -webkit-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
background: -moz-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
background: -o-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
background: -ms-linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
background: linear-gradient(top, #f7f7f7 0%, #f0f0f0 50%, #f5f5f5 100%);
border:1px solid #e4e4e4;
}

nav#mainNav a.menu{
width:100%;
display:block;
height:40px;
line-height:40px;
font-weight: bold;
text-align:left;
}
nav#mainNav a#menu span{padding-left:10px;}
nav#mainNav a.menu span:before{content: "→ ";}
nav#mainNav a.menuOpen span:before{content: "↓ ";}

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

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

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

nav#mainNav ul li a,nav#mainNav ul li.current-menu-item li a{
display: block;
padding:15px 10px;
text-align:left;
border-bottom:1px solid #e4e4e4;
}

nav#mainNav ul li a span{padding-left:10px;}

nav#mainNav ul li:first-child a{
border-top:1px solid #e4e4e4;
}

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

nav#mainNav ul li.active a{color:#072520;}

nav div.panel{float:none;}

#subpage #mainBanner{
margin:15px auto;
max-width:668px;
}

#sidebar{padding-bottom:30px;}

#sidebar article{padding:7px 0;}

.sidebar {
background-image:url(../images_common/bg_aside02.gif);
}

.grid{
width:32%;
margin:10px 0 0 1%;
}

#gallery .grid{
float:left;
width:31%;
margin:0 0 0 1%;
}

#event{
border:none;
border:1px solid #c2c2c2;
background-image:none;
width:auto;
height:auto;
margin:none;
}

#mainBanner{
display:none;
}

.bn_contact{
display:none;
}

#pankuzu{
padding-top:8px;
}

#map1{
width:100%;
}

.box{
border:none;
background:none;
}

}

/* スマートフォン 横 */
@media only screen and (max-width:640px){

.gridWrapper{
margin:0px;
}
.grid{
width:100%;
clear:both;
margin:0px;
}
.box{
border:0px;
}
.box h3{
font-size:130%;
}

#header{
height:70px;
}

h1{
text-align:center;
}

.logo{
margin-left:7px;
}

nav#mainNav{
margin-top:2px;
}

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

#gallery .grid{float:left;}

.ninja_onebutton{
display:none;
}

.ninja_onebutton01{
display:none;
}


.sidebar_qr img{
display:none;
}

.sidebar {
background-image:url(../images_common/bg_aside03.gif);
}

}

/* スマートフォン 縦 */
@media only screen and (max-width:480px){
h3{
font-size:110%;
}
h4{
font-size:120%;
}
figcaption{
font-size:120%;
}
sub{
font-size:35%;
}
table.table, table.table01, .column, section.content dd{
font-size:75%;
}
.info{
display:none;
}
#mainBanner h2,#mainBanner p{
font-size:80%;
}
#event{
padding:10px 0px;	
}
.event_info {
text-align:center;
padding-left:0px;
font-size:100%;
}
#header{
height:90px;
}
#header h1{
text-align:left;
font-size:100%;
padding-left:5px;
}
.column ul{
margin:10px 5px 5px 10px;
padding:0px;
}
.column li{
list-style-type:none;
}

.sidebar {
background-image:url(../images_common/bg_aside04.gif);
}
.button_a , .button_a:hover{
font-size:80%;
}

}