@charset "utf-8";
/*
Theme Name: responsive_028
Theme URI: http://c-tpl.com/
Description: responsive_028
Version: 1.0
Author: Cloud template
Author URI: http://c-tpl.com/
Tags: simple

	Cloud template v1.0
	 http://c-tpl.com/

	This theme was designed and built by Cloud template,
	whose blog you will find at http://c-tpl.com/

	The CSS, XHTML and design is released under GPL:
	http://www.opensource.org/licenses/gpl-license.php

*/

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

body {
  font: 90%/1.5 'Lucida Sans Unicode', 'Lucida Grande', Arial,
    'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro', 'ＭＳ Ｐゴシック',
    sans-serif;
  color: #252525;
}

/* リンク設定
------------------------------------------------------------*/
a {
  margin: 0;
  padding: 0;
  text-decoration: none;
  outline: 0;
  vertical-align: baseline;
  background: transparent;
  font-size: 100%;
  color: #624e24;
}

a:hover,
a:active {
  -webkit-transition: opacity 1s;
  -moz-transition: opacity 1s;
  -o-transition: opacity 1s;
  outline: none;
  color: #927a49;
}

/**** Clearfix ****/
.nav .panel:before,
nav .panel:after,
nav#mainNav:before,
nav#mainNav:after,
.newsTitle:before,
.newsTitle:after {
  content: '';
  display: table;
}
nav .panel:after,
nav#mainNav:after,
.newsTitle:after {
  clear: both;
}
nav .panel,
nav#mainNav,
.newsTitle {
  zoom: 1;
}

/* フォーム
------------------------------------------------------------*/
input[type='text'],
input[type='email'],
textarea {
  vertical-align: middle;
  max-width: 90%;
  line-height: 30px;
  height: 30px;
  padding: 1px 5px;
  border: 1px solid #d4d4d7;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  font-size: 100%;
  color: #555;
  background: #fcfcfc;
}

textarea {
  height: auto;
  line-height: 1.5;
}

input[type='submit'],
input[type='reset'],
input[type='button'] {
  padding: 3px 10px;
  background: #4f4d4d;
  background: -moz-linear-gradient(top, #4f4d4d 0%, #2e2c2c 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #4f4d4d),
    color-stop(100%, #2e2c2c)
  );
  background: -webkit-linear-gradient(top, #4f4d4d 0%, #2e2c2c 100%);
  background: -o-linear-gradient(top, #4f4d4d 0%, #2e2c2c 100%);
  background: -ms-linear-gradient(top, #4f4d4d 0%, #2e2c2c 100%);
  background: linear-gradient(to bottom, #4f4d4d 0%, #2e2c2c 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#4f4d4d', endColorstr='#2e2c2c',GradientType=0 );
  border: 0;
  border-radius: 3px;
  -webkit-border-radius: 3px;
  -moz-border-radius: 3px;
  line-height: 1.5;
  font-size: 100%;
  color: #fff;
}

input[type='submit']:hover,
input[type='reset']:hover,
input[type='button']:hover {
  background: #4f4d4d;
  background: -moz-linear-gradient(top, #2e2c2c 0%, #4f4d4d 100%);
  background: -webkit-gradient(
    linear,
    left top,
    left bottom,
    color-stop(0%, #2e2c2c),
    color-stop(100%, #4f4d4d)
  );
  background: -webkit-linear-gradient(top, #2e2c2c 0%, #4f4d4d 100%);
  background: -o-linear-gradient(top, #2e2c2c 0%, #4f4d4d 100%);
  background: -ms-linear-gradient(top, #2e2c2c 0%, #4f4d4d 100%);
  background: linear-gradient(to bottom, #2e2c2c 0%, #4f4d4d 100%);
  filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#2e2c2c', endColorstr='#4f4d4d',GradientType=0 );
}

*:first-child + html input[type='submit'] {
  padding: 3px;
}

/* レイアウト
------------------------------------------------------------*/
#wrapper,
.inner {
  margin: 0 auto;
  width: 940px;
}

#header,
#mainNav {
  background: #eff1f0;
}

#header {
  overflow: hidden;
}

#content {
  float: right;
  width: 625px;
  padding: 30px 0;
}

#sidebar {
  float: left;
  width: 265px;
  padding: 30px 0;
}

#footer {
  clear: both;
  padding-top: 20px;
  border-top: 1px solid #ccc;
}

@media only screen and (max-width: 900px) {
  #wrapper,
  .inner {
    margin: 0 auto;
    width: 95vw;
  }

  #content {
    float: right;
    width: 60vw;
    max-width: 625px;
    padding: 30px 0;
  }

  #sidebar {
    width: 30vw;
    padding: 30px 0;
  }
}

/* new_posts */
.new_posts_content {
  display: flex;
  flex-wrap: wrap;
  width: 100%;
}
.new_posts_content > .new_posts {
  width: 25%;
  list-style: none;
  /*background: lightblue;*/
  /* border: 1px solid white; */
  box-sizing: border-box;
  padding: 4px;
}
.new_posts img {
  width: 100%;
  height: 150px;
  object-fit: cover; /* この一行を追加するだけ！ */
}
@media only screen and (max-width: 644px) {
  .new_posts_content > .new_posts {
    width: 50%;
  }
}

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

/* サイト説明文
----------------------------------*/
#header h1 {
  padding: 10px 0 0 3px;
  color: #3c2f13;
  font-size: 90%;
  font-weight: normal;
}

/* ロゴ (サイトタイトル)
----------------------------------*/
#header h2 {
  clear: both;
  float: left;
  padding-top: 10px;
  color: #3c2f13;
  font-size: 160%;
  font-weight: bold;
}
#header h2 img {
  max-width: 100%;
}

/* コンタクトインフォメーション
----------------------------------*/
#headerInfo {
  float: right;
  text-align: left;
}

#headerInfo p {
  padding: 2px 0 2px 80px;
  color: #3c2f13;
  font-size: 12px;
  font-weight: bold;
  background: url(images/openTime.png) no-repeat 0 2px;
}

#headerInfo p.tel {
  background: url(images/tel.png) no-repeat 0 7px;
  font-size: 20px;
}

#headerInfo p.address {
  background-image: url(images/address.png);
  padding-top: 8px;
  background-position: 0 8px;
}

/* トップページ　メイン画像
----------------------------------*/
#mainImg {
  line-height: 0;
  text-align: center;
  background: #eff1f0;
  z-index: 0;
}

/* タイポグラフィ
*****************************************************/
h2.title {
  clear: both;
  margin: 30px 0 20px;
  padding: 5px 0;
  font-size: 110%;
  color: #252525;
  border-bottom: 3px solid #3c2f13;
}

h2.first {
  margin-top: 0;
}

.dateLabel {
  margin: -10px 0 10px;
  text-align: right;
  font: italic 1em 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
}

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

.post ul {
  margin: 0 0 10px 10px;
}

.post ul li {
  margin-bottom: 5px;
  padding-left: 15px;
  background: url(images/bullet.png) no-repeat 0 8px;
}

.post ol {
  margin: 0 0 10px 30px;
}

.post ol li {
  list-style: decimal;
}

.post h1 {
  margin: 20px 0;
  padding: 5px 0;
  font-size: 150%;
  color: #252525;
  border-bottom: 3px solid #3c2f13;
}

.post h2 {
  margin: 10px 0;
  padding-bottom: 2px;
  font-size: 130%;
  font-weight: normal;
  color: #252525;
  border-bottom: 2px solid #3c2f13;
}

.post h3 {
  margin: 10px 0;
  font-size: 120%;
  font-weight: normal;
  color: #2e2c2c;
  border-bottom: 1px solid #3c2f13;
}

.post blockquote {
  clear: both;
  padding: 10px 0 10px 15px;
  margin: 10px 0 25px 30px;
  border-left: 5px solid #ccc;
}

.post blockquote p {
  padding: 5px 0;
}

.post table {
  border: 1px #2e2c2c solid;
  border-collapse: collapse;
  border-spacing: 0;
  margin: 10px 0 20px;
}

.post table th {
  /*padding:7px 10px 7px 5px;*/
  padding: 7px 20px;
  border: #2e2c2c solid;
  border-width: 0 0 1px 1px;
  font-weight: normal;
  background: #eff1f0;
  text-align: center;
}

.post table td {
  /*padding:7px 5px;*/
  padding: 7px 20px;
  border: 1px #2e2c2c solid;
  border-width: 0 0 1px 1px;
  background: #fff;
  text-align: center;
}

.post dt {
  font-weight: bold;
}

.post dd {
  padding-bottom: 10px;
}

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

img.aligncenter {
  display: block;
  margin: 5px auto;
}

img.alignright,
img.alignleft {
  padding: 4px;
  margin: 0 0 2px 7px;
  display: inline;
}

img.alignleft {
  margin: 0 7px 2px 0;
}

.alignright {
  float: right;
}
.alignleft {
  float: left;
}

/* サイドバー　ウィジェット
*****************************************************/
section.widget {
  padding-bottom: 20px;
  margin-bottom: 20px;
}

section.widget h3 {
  clear: both;
  margin: 0 0 10px;
  padding: 5px 0;
  font-size: 100%;
  font-weight: normal;
  color: #252525;
  border-bottom: 3px solid #3c2f13;
}

section.widget li {
  margin: 0 10px 10px 5px;
  border-bottom: 1px solid #bab48d;
}

section.widget a {
  display: block;
  padding-left: 15px;
  background: url(images/arrow.png) no-repeat 0 50%;
}

section.widget a:hover {
  background-position: 3px 50%;
}

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

#contactBanner {
  width: 265px;
  height: 30px;
  padding-top: 110px;
  background: url(images/banners/banner_tel.jpg) no-repeat;
}

#contactBanner p.tel {
  display: inline;
  padding-left: 80px;
  margin-left: 30px;
  text-align: center;
  font-weight: bold;
  background: url(images/tel.png) no-repeat;
}

#searchform input[type='text'] {
  line-height: 1.7;
  height: 24px;
  vertical-align: bottom;
}

/* 更新情報
-------------*/
.newsTitle {
  clear: both;
  margin: 15px 0 20px;
  padding: 5px 0;
  font-size: 100%;
  color: #252525;
  border-bottom: 3px solid #3c2f13;
}

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

.newsTitle p {
  float: right;
  padding: 0 0 0 10px;
  font-size: 0.8em;
  background: url(images/arrow.png) no-repeat 0 50%;
}

.news {
  padding-bottom: 40px;
}

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

.news p a {
  display: block;
  padding: 5px 0;
  color: #252525;
  font-style: italic;
  font: italic 110% 'Palatino Linotype', 'Book Antiqua', Palatino, serif;
}

.news a span {
  color: #624e24;
  font: normal 90% Arial, 'ヒラギノ角ゴ Pro W3', 'Hiragino Kaku Gothic Pro',
    'ＭＳ Ｐゴシック', sans-serif;
}

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

.news a:hover span {
  color: #927a49;
}

/* フッター
*****************************************************/
#footerLogo {
  float: left;
  width: 265px;
}

#footerLogo img {
  max-width: 265px;
  height: auto;
}

#footer ul {
  float: right;
  width: 625px;
  font-size: 95%;
  padding-bottom: 20px;
}

#footer ul ul {
  padding-bottom: 0;
  width: auto;
}

#footer ul li {
  display: inline-block;
  vertical-align: text-top;
  text-align: left;
  padding: 5px 0;
  margin-left: 15px;
  background: url(images/arrow.png) no-repeat 0 9px;
}

#footer ul li a {
  display: block;
  padding: 0 0 0 12px;
  overflow: hidden;
}

#footer ul li a:hover {
  text-decoration: underline;
}

#footer ul li li {
  display: block;
  padding: 0;
  margin-left: 5px;
  background: url(images/arrow2.png) no-repeat 0 6px;
}

#footer ul li li a {
  padding: 0 0 0 8px;
}

*:first-child + html #footer ul li {
  display: inline;
}
*:first-child + html #footer ul ul,
*:first-child + html #footer ul li li a,
*:first-child + html #footer ul li li {
  display: none;
}

#copyright {
  clear: both;
  padding: 5px;
  text-align: center;
  font-style: normal;
  font-size: 85%;
  zoom: 1;
}

/* 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件 + お勧め商品
------------------------------------------------------------*/
.thumbWrap {
  width: 645px;
  margin-right: -20px;
}

.thumbWrap li {
  float: left;
  width: 195px;
  margin: 0 20px 0 0;
  padding: 2px 0 40px;
  background: none;
}

/* 最新記事リンク */
ul.thumb h3 {
  margin-top: 10px;
  padding: 1px;
  font-weight: normal;
  font-size: 100%;
  text-align: center;
  background: #fff;
  border: 1px solid #bcbcbc;
}

ul.thumb h3 span {
  display: block;
  padding: 2px 3px;
  background: #dedabc;
}

ul.thumb h3:hover {
  background: #f1efe4;
}

ul.thumb h3:hover span {
  background: #e3dfc4;
}

/*追加分*/
.clear {
  clear: both;
}
.st {
  font-size: 120%;
  color: #ff0000;
}
table.schedule {
  font-size: 90%;
  width: 100%;
  line-height: 0.9;
}
table.schedule th {
  color: #fff;
  background: #ccc;
  text-align: center;
  /*width:117px;*/
  width: 12.5%;
  padding: 3px 0;
  border: 1px #ddd solid;
}
table.schedule td {
  text-align: center;
  border: 1px #ddd solid;
  padding: 3px 0;
}
table.schedule th.redH {
  background: #ff0000;
  /*width:121px;*/
  vertical-align: middle;
}
.home-map,
.home-insta {
  display: block;
}
.side-map {
  display: none;
}
.pc_main {
  display: block;
}
.sp_main {
  display: none;
}

/* メインメニュー　PC用
------------------------------------------------------------*/
@media only screen and (min-width: 768px) {
  nav#mainNav {
    clear: both;
    padding: 10px 0 10px;
    position: relative;
    z-index: 200;
  }

  .panel ul {
    background: url(images/sep.png) no-repeat 50% 50%;
  }

  .panel ul li {
    float: left;
    position: relative;
    padding: 0 10px 0 10px;
    height: 40px;
    line-height: 40px;
    background: url(images/sep.png) no-repeat 100% 50%;
  }

  .panel ul li a {
    display: block;
    text-align: center;
    _float: left;
    color: #3c2f13;
    padding: 0 10px;
  }

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

  a#menu {
    display: none;
  }

  /* 親メニュー */
  .panel ul li.current-menu-item a,
  .panel ul li a:hover,
  .panel ul li a:active,
  .panel ul li.current-menu-parent a {
    background: #e1e5e5;
    border-radius: 6px;
    -webkit-border-radius: 6px;
    -moz-border-radius: 6px;
  }

  .panel ul ul {
    width: 160px;
  }

  .panel ul li ul {
    display: none;
  }

  .panel ul li li {
    float: none;
    height: 40px;
    line-height: 40px;
    width: 160px;
    padding: 0;
  }

  .panel ul li:hover ul {
    display: block;
    position: absolute;
    top: 40px;
    left: -7px;
    z-index: 500;
  }

  .panel ul li li a {
    width: 100%;
    height: 40px;
    padding: 0;
    line-height: 40px;
    font-size: 95%;
    text-align: left;
  }

  .panel ul li li a span {
    padding: 0 10px;
  }

  .panel ul li li a:hover,
  .panel ul li li.current-menu-item a {
    color: #888;
  }

  .panel ul li:hover ul li {
    margin: 0;
    background: #e1e5e5;
    border-bottom: 1px solid #dadcdc;
  }

  .panel ul li:hover ul li:last-child {
    border: 0;
    border-radius: 0 0 6px 6px;
  }
}

/* header area */

/* Responsive */
@media (min-width: 646px) {
  .flexbox_header {
    display: -webkit-flex;
    display: flex;
    flex-direction: row-reverse;
  }
  .heder_h1 {
    margin: 20px 0 0 10px;
  }
  #header h2 {
    padding-top: 0px !important;
  }
  .flexbox_header .pc_main {
    width: 300px;
    flex-shrink: 0;
    padding-top: 1em;
  }
}

.pc_main h2 img {
  width: 300px !important;
}

.apohs-newpost-list-container {
  background: #e5e0dc !important;
}

/* メインメニュー iPadサイズ以下から
------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  nav#mainNav {
    clear: both;
    width: 100%;
    margin: 0 auto;
    padding: 20px 0;
    background: #eff1f0;
  }

  nav#mainNav .inner {
    width: 95%;
  }

  nav#mainNav a.menu {
    width: 100%;
    display: block;
    height: 40px;
    line-height: 40px;
    font-weight: bold;
    text-align: left;
    color: #888;
    background: #c8c9c9 url(images/menuOpen.png) no-repeat 1em 10px;
    background: url(images/menuOpen.png) no-repeat 1em 10px,
      -moz-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
    background: url(images/menuOpen.png) no-repeat 1em 10px,
      -webkit-gradient(linear, left top, left bottom, color-stop(0%, #edefef), color-stop(100%, #c8c9c9));
    background: url(images/menuOpen.png) no-repeat 1em 10px,
      -webkit-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
    background: url(images/menuOpen.png) no-repeat 1em 10px,
      -o-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
    background: url(images/menuOpen.png) no-repeat 1em 10px,
      -ms-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
    background: url(images/menuOpen.png) no-repeat 1em 10px,
      linear-gradient(to bottom, #edefef 0%, #c8c9c9 100%);
    filter: progid:DXImageTransform.Microsoft.gradient( startColorstr='#edefef', endColorstr='#c8c9c9',GradientType=0 );
    border: 1px solid #c7c9c9;
  }

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

  nav#mainNav a.menuOpen {
    border-bottom: 0;
    color: #888;
    background: #c8c9c9 url(images/menuClose.png) no-repeat 1em 10px;
    background: url(images/menuClose.png) no-repeat 1em 10px,
      -moz-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
    background: url(images/menuClose.png) no-repeat 1em 10px,
      -webkit-gradient(linear, left top, left bottom, color-stop(0%, #edefef), color-stop(100%, #c8c9c9));
    background: url(images/menuClose.png) no-repeat 1em 10px,
      -webkit-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
    background: url(images/menuClose.png) no-repeat 1em 10px,
      -o-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
    background: url(images/menuClose.png) no-repeat 1em 10px,
      -ms-linear-gradient(top, #edefef 0%, #c8c9c9 100%);
    background: url(images/menuClose.png) no-repeat 1em 10px,
      linear-gradient(to bottom, #edefef 0%, #c8c9c9 100%);
  }

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

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

  .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: #3c2f13;
    background: #e1e5e5;
  }

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

  .panel ul li.current-menu-item a,
  .panel ul li a:hover,
  .panel ul li.current-menu-item a,
  .panel ul li a:active,
  .panel ul li li.current-menu-item a,
  .panel ul li.current-menu-item li a:hover,
  .panel ul li.current-menu-item li a:active {
    color: #fff;
    background: #a4a6a6;
  }

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

  .panel ul li li a,
  .panel ul li.current-menu-item li a,
  .panel ul li li.current-menu-item a {
    background: #e1e5e5 url(images/sub1.png) no-repeat 20px 50%;
  }

  .panel ul li li a:hover,
  .panel ul li.current-menu-item li a:hover {
    background: #a4a6a6 url(images/sub1.png) no-repeat 20px 50%;
  }

  .panel ul li li:last-child a {
    background: #e1e5e5 url(images/subLast.png) no-repeat 20px 50%;
  }
  .panel ul li li:last-child a:hover,
  .panel ul li.current-menu-item li:last-child a:hover {
    background: #a4a6a6 url(images/subLast.png) no-repeat 20px 50%;
  }

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

  nav div.panel {
    float: none;
  }

  #mainImg {
    margin-bottom: 20px;
  }
}

/* 959px以下から 1カラム表示
------------------------------------------------------------*/
@media only screen and (max-width: 767px) {
  #wrapper,
  #header,
  .inner {
    width: 100%;
  }

  #header h1,
  #header h2 {
    padding: 10px;
  }
  #headerInfo {
    padding-right: 10px;
  }

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

  nav div.panel {
    float: none;
  }

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

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

  #banners {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  /*
	#banners p{width:30%; float:left;margin:0 1% 0 2%;}
  #banners p img{width:100%;height:auto;}
*/

  section.widget_search {
    text-align: center;
  }
  #contactBanner {
    margin: 0 auto;
  }

  #footer {
    margin: 0;
    border: 0;
    text-align: center;
  }

  #footerLogo,
  #footer ul {
    float: none;
    width: auto;
    padding-bottom: 20px;
    text-align: center;
  }

  #footer ul {
    padding-top: 20px;
    border-top: 1px solid #ccc;
  }

  #footer ul ul {
    padding-top: 0;
    border: 0;
  }

  .home-map {
    display: none;
  }
  .side-map {
    display: block;
  }
}

/* 幅648px以下から  トップページの３画像調節
------------------------------------------------------------*/
@media only screen and (max-width: 648px) {
  .thumbWrap {
    width: 100%;
    margin: 0 auto;
    text-align: center;
  }
  /*
	.thumbWrap ul.thumb li{width:30%; float:left;margin:0 1% 0 2%;}
	  .thumbWrap img{width:100%;height:auto;}
*/
  .thumbWrap ul.thumb li {
    width: 100%;
    float: none;
    text-align: center;
    padding-bottom: 20px;
  }
}

/* 幅644px以下から ヘッダー等微調節
------------------------------------------------------------*/
@media only screen and (max-width: 644px) {
  #header {
    padding: 0 0px;
    text-align: center;
  }
  #header h2,
  #footerLogo,
  #headerInfo {
    float: none;
    padding: 0;
  }
  #headerInfo {
    width: 300px;
    margin: 0 auto;
  }
  img.alignright,
  img.alignleft {
    display: block;
    margin: 5px auto;
  }
  .alignright,
  .alignleft {
    float: none;
  }
  #footer ul {
    text-align: left;
    padding: 15px;
  }
  #footer ul ul {
    padding: 0;
  }
  .pc_main h2 img {
    width: 100% !important;
  }
  .pc_main {
    display: none;
  }
  .sp_main {
    display: block;
  }
  /*--------------------------------------------------------------
# css module 20190325 編集（Apoo)
--------------------------------------------------------------*/
  header .pc_main {
    display: block;
  }
}

/*--------------------------------------------------------------
# css module 20190322 編集（Apoo)
--------------------------------------------------------------*/
.apohs-dashicons::before {
  font-family: 'dashicons';
  vertical-align: middle;
}

@media (max-width: 767px) {
  .display-sm-none {
    display: none;
  }
}

/*--------------------------------------------------------------
# header 20190321 編集（Apoo)
--------------------------------------------------------------*/
hgroup {
  margin: 0, 0, 3px;
}

.pc_main h2 img {
  width: 600px;
}

.apohs-mobile-img img {
  width: 100%;
}

/*--------------------------------------------------------------
# list category posts Template: apohs-cat-list 20190322 編集（Apoo)
--------------------------------------------------------------*/
.apohs-newpost-list-container {
  font-family: -apple-system, BlinkMacSystemFont, 'Helvetica Neue', YuGothic,
    'ヒラギノ角ゴ ProN W3', Hiragino Kaku Gothic ProN, Arial, 'メイリオ', Meiryo,
    sans-serif;
  margin: 0 0 40px;
  background: #fff;
  padding: 6px;
}

.home .apohs-newpost-list-container a,
.apohs-newpost-list-container a {
  color: #333;
}

.apohs-cl-titlearea {
  display: flex;
  justify-content: space-between;
  align-items: baseline;
  margin: 0 0 1em;
  padding: 0 0 0.5em;
  border-bottom: 3px solid #333;
}

.apohs-cl-morelink {
  margin: 0;
  padding: 0;
  font-size: 12px;
  letter-spacing: 0.1em;
}

.apohs-cl-morelink::before {
  content: '\f345';
  color: #c3aa6b;
}

.apohs-cl-morelink a {
  text-decoration: none;
}

.apohs-cl-morelink a:hover {
  text-decoration: underline;
}

.apohs-cl-info-wrap .apohs-cl-morelink {
  position: absolute;
  right: 0;
  bottom: 4px;
}

.apohs-cl-new-title {
  margin: 0;
  font-size: 22px;
  color: #333;
  letter-spacing: 0.1em;
}

ul.apohs-cl {
  list-style: none;
  margin: 0;
  padding: 0;
}

.apohs-cl li {
  position: relative;
  display: flex;
  margin: 0 0 0.5em;
  padding: 0 0 0.5em;
  border-bottom: 1px dashed #ccc;
}

.apohs-cl li:last-child {
  margin: 0;
}

.apohs-cl-thumb-wrap {
  flex: 0 0 auto;
}

.apohs-cl-thumb-wrap img {
  width: 120px;
  height: 120px;
  margin: 0 1em 0 0;
  vertical-align: bottom;
}

.apohs-cl-date {
  margin-right: 0.5em;
  color: #666;
  font-size: 12px;
}

.apohs-cl-date::before {
  content: '\f469';
}

.apohs-cl-title {
  margin: 0 0 0.5em;
  font-size: 14px;
  line-height: 1.2;
  font-weight: normal;
}

.apohs-cl-title a {
  text-decoration: underline;
}

.apohs-cl-title a:hover {
  text-decoration: none;
}

.apohs-cl-excerpt {
  margin: 0 0 0.5em;
  color: #666;
  font-size: 11px;
}

/* 元の設定がbrで隙間作ったりインラインに設定していた。微妙なので変更しとく */
.top_banner_widget {
  margin-bottom: 40px;
}

.home-map img {
  margin-bottom: 24px;
}

#headerInfo p.tel,
#headerInfo p.openTime,
#headerInfo p.address {
  background: none;
}

#headerInfo p {
  font-size: 14px;
}

.top-middle-widgets-container {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.apohs-topimg-widget {
  width: 49%;
  margin-bottom: 8px;
  text-align: center;
}

.apohs-topimg-widget img {
  width: 100%;
}

.pc_main img {
  max-width: 1900px;
  width: 100%;
  height: auto;
}

#header h2 {
  padding-top: 25px;
}

.top_banner_widget {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.top_banner_widget .banner {
  width: 32%;
}

.top_banner_widget .banner img {
  width: 100%;
}

@media (max-width: 767px) {
  #header h2 {
    float: none;
    padding: 0;
  }

  hgroup {
    margin: 0;
  }

  #headerInfo {
    max-width: 360px;
    width: auto;
  }

  #headerInfo p {
    font-size: 18px;
    padding-left: 0;
    text-align: center;
  }

  #headerInfo p.tel {
    font-size: 26px;
  }

  .apohs-cl-thumb-wrap img {
    width: 100px;
    height: 100px;
  }

  .apohs-cl-title {
    margin: 0;
  }

  .apohs-topimg-widget {
    width: 100%;
  }
  .top_banner_widget .banner {
    width: 49%;
  }
}

*,
*:before,
*:after {
  box-sizing: border-box;
}
.flex_col_4 {
  width: 100%;
  display: flex;
  display: -ms-flexbox; /* IE10 */
  flex-wrap: wrap;
  -ms-flex-wrap: wrap; /* IE10 */
}
.flex_col_4 > div {
  width: 25%;
  padding: 3px;
}
@media screen and (max-width: 960px) {
  .flex_col_4 > div {
    width: 33.33333%;
  }
}
@media screen and (max-width: 480px) {
  .flex_col_4 > div {
    width: 50%;
  }
}

/* TOP上部バナーを１列で表示 */
.top-middle-widgets-bottom-container {
	display: block;
}
.top-middle-widgets-bottom-container > .apohs-topimg-widget {
	width: 100%;
}

/* キャプションのテキストを左寄せ */
.wp-caption-text {
    text-align: left;
 }

.textwidget p {
	text-align: left;
}
 
 
 /* サイドバナー・ウィジェットのキャプション表示時のレイアウト崩れ修正 */
 .wp-caption {
     max-width: 100%;
 }
 
 .banner .wp-caption-text {
     display: inline-block;
     width: 100%;
    text-align: left;
 }