@charset "utf-8";


/*+++++++++++++++++++++++++
PC用
-+++++++++++++++++++++++++*/

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

#wrapper{padding-bottom:20px;}

h4.heading{
width:100px;
}

h5.heading{
margin-left: auto;
margin-right: 0;
max-width:60%;
}

/* メニュー */
  nav#mainNav{
clear:both;
overflow:hidden;
position:relative;
}

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

nav#mainNav ul li a{
display: block;
text-align: center;
_float:left;
font-size:13px;
font-weight: 500;
width:159px;
padding:10px 0;
color:#333;
background:#f1f1f1;
border-left:1px solid #ebebeb;
}

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

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

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

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

a#menu{display:none;}

nav#mainNav li.active a,nav#mainNav li.active a:hover{
color:#fff;
 background:#2b5e92;
border-color:#2b5e92;
}

nav#mainNav li a:hover{
color:#fff;
background:#5d8ac1;
border-color:#5d8ac1;
}

#main{
float:right;
width:680px;
padding:15px 0 0 0;
}

#sidebar{
float:left;
width:250px;
padding:15px 0 0 0;
overflow:hidden;
}


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


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

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

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

#page .grid{width:auto;}

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

#footer .inner{
width:940px;
padding:10px;
}
}

/*+++++++++++++++++++++++++
大型タブレット
-+++++++++++++++++++++++++*/
@media only screen and (max-width:959px){
*{
    -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{padding:0 10px;}

#mainphoto{width: 100%;}




h4.heading{
}

h5.heading{
margin-left: auto;
margin-right: 0;
max-width:60%;}

nav#mainNav{
clear:both;
width:100%;
margin:0 auto;
padding:0;
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 dashed #ccc;}

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:#2b5e92;}

nav div.panel{float:none;}

#mainphoto{margin-top:20px;}
#page #mainphoto{max-width:668px;}

#sidebar{padding-bottom:30px;}

#sidebar article{padding:7px 0;}

#footer .grid,#footer ul.footnav{
float:none;
width:100%;
text-align:center;}

ul.footnav li{float:none;display:inline-block;}

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

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

#footer .grid img, #footer .inquiry{float:none;}
#footer .grid p{display:block;}
#footer #inquiry .inquiry{float:none;text-align:center;}

#footer .inquiry{
width:100%;
float:none;}


/* top調整 */
#footer .logo{
width:100%;
float:none;
margin-top:10px;}

/* mainphoto調整 */
#mainphoto img{
margin-bottom:10px;;
height:auto;}

}

/*+++++++++++++++++++++++++
小型タブレット
-+++++++++++++++++++++++++*/
@media only screen and (max-width:767px){

.grid{width:100%;
}

.box img{max-width:350px;}
#mainphoto h2,#mainphoto p{font-size:80%;}
#sidebar p{text-align:center;}

h4.heading{
max-width:auto}

h4.heading6{clear: both;}

h5.heading{
width:auto;}

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

.inquiry{
float:right;
text-align:right;
max-width:70%;}

}

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

#header{
height:auto;
padding-bottom:20px;}

#header h1,.logo,.contact,.inquiry{text-align:center;}

.contact,.inquiry{
clear:both;
width:100%;
float:none;
margin:0;}

.box img{
max-width:150px;
float:left;
margin-right:10px;

padding-right;30px;}

.box h3{padding-top:0;}
.box h4{padding-top:0;}

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

.inquiry{
float:right;
text-align:right;
max-width:50%;}
}

/*+++++++++++++++++++++++++
スマートフォン 縦(ポートレート)
-+++++++++++++++++++++++++*/
@media only screen and (max-width:480px){
.grid{
width:100%;}

.box img{max-width:125px;}
#mainphoto h2,#mainphoto p{font-size:80%;}
#sidebar p{text-align:center;}

.inquiry img{
max-width:380px;
   height: auto;}

h4.heading{
max-width:auto}

h5.heading{
width:auto;}

banner.twitter-timeline{
width:800px;}

}
