@media (min-width: 641px) { /* PC用 */
  .forsp {
    display: none;
  }
}
@media (max-width: 640px) { /* SP用 */
  .forpc {
    display: none;
  }
}
/* 02 : 640px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 640px) {
  #wrapper, #header_sp, .inner {
    width: 96%;
    margin-left: auto;
    margin-right: auto;
  }
  #header_sp h1, #header_sp p {
    padding: 5px 10px;
  }
  #header_sp h2 {
    padding: 20px 10px 0;
  }
  #header_sp ul {
    padding: 20px 10px 10px;
  }
  nav#mainNav ul, .thumbWrap {
    margin: 0 auto;
  }
  nav#mainNav ul ul {
    padding: 0;
  }
  nav div.panel {
    float: none;
  }
  #mainImg img {
    width: 100%;
    height: auto;
  }
  #content, #sidespace {
    clear: both;
    width: 95%;
    float: none;
    margin: 0 auto;
    padding: 10px 0;
  }
  #banners {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  #banners p {
    display: inline;
    margin: 0 10px;
  }
  #banners p img {
    width: 100%;
    height: auto;
  }
  section.widget_search {
    text-align: center;
  }
  #footer {}
  #footer .inner {}
  #footer .inner .footer-l {
    float: none;
    margin: 0px auto;
    padding: 0px;
  }
  #footer .inner .footer-r {
    width: 90%;
    float: none;
    margin: 0px auto;
    padding: 0px;
  }
  #footer tbody tr th {}
  #footer tbody tr td {}
  .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;
    border: 1px solid #dadada;
  }
  .thumbWrap ul.thumb li {
    width: 30%;
    float: left;
    margin: 0 1% 0 2%;
  }
  .thumbWrap img {
    width: 100%;
    height: auto;
  }
  img.miniimage {
    display: none;
  } /* miniを非表示 */
  img.bigimage {
    display: block;
  } /* bigを表示 */
  /* スマホメニュー */
  #spNav {
    display: block;
    position: fixed;
    top: 0px;
    z-index: 999;
  }
  #spNav ul {
    max-width: 100%;
  }
  #spNav ul li {
    float: left;
    width: 20%;
  }
  #spNav ul li img {
    max-width: 100%;
    height: auto;
  }
}
/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px) {
  img {
    max-width: 100%;
    height: auto;
  }
  /*#header_sp {
    text-align: center;
  }
  #heade_spr h2, #header_sp ul {
    float: none;
  }*/
  #mainImg {
    margin-top: 15px;
  }
  img.alignright, img.alignleft {
    display: block;
    margin: 5px auto;
  }
  .alignright, .alignleft {
    float: none;
  }
  .post {
    margin-bottom: 0px;
  }
  #footer ul {
    text-align: left;
    padding: 15px;
  }
  #footer ul ul {
    padding: 0;
  }
  /* footer-tel */
  #footer-tel {
    display: block;
    position: fixed;
    width: 100%;
    margin: 0 auto;
    bottom: 0px;
    background-color: #fff;
    padding: 10px 5px 5px 0 !important;
  }
  #footer-tel p {
    margin: 0 auto;
  }
  #footer-tel img {
    width: 95%;
    margin: 0 auto;
  }
}
@media screen and (max-width: 320px) {
  /* 表示領域が320px以下の場合に適用するスタイル */
  .w150max {
    max-width: 150px;
  }
}