@charset "utf-8";
html { overflow-y:scroll;}
body {
  font-size: 13px;
  font-family:"Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
}
a { 
  color: #004EB4;
  outline:none;
  text-decoration:underline;
}
a:hover {
  color: #58b5f5;
  text-decoration: none;
}
img {
  border: 0;
}
form {
  margin:0;
  padding:0;
}
p,
table,
ul,
dl{ font-size: 100%;}
td {
  vertical-align: top;
  line-height: 150%;
}
p, p a {
  line-height: 1.8;
}

.img_pc {
  display: block;
}
.img_sp {
  display: none;
}

/************* iphone デフォルトCSS *************/
input[type="text"], input[type="tel"], input[type="email"], input[type="button"], input[type="submit"], textarea {
  border-radius: 0;
  -webkit-appearance: none;
}

/************* 共通 *************/
.nopc { display: none; }
.clearfix:after {
  content: ".";
  display: block;
  visibility: hidden;
  height: 0.1px;
  font-size: 0.1em;
  line-height: 0;
  clear: both;
}
.clearfix { zoom: 100%;}
.clear { clear:both; }
.fl { float:left;}
.fr { float:right;}
.center { text-align: center;}
.left { text-align: left;}
.right { text-align: right;}

/* ---------- ロールオーバー処理 ---------- */
a img.bn,
#right_con .menu_box a img  {
  filter: Alpha(Opacity=100);
  -moz-opacity: 1.0;
}

a:hover img.bn,
#right_con .menu_box a:hover img {
  filter: Alpha(Opacity=70);
  -moz-opacity: 0.7;
  opacity: 0.7;
}

body {
  animation: fadeIn 1.5s ease-out 0s 1 normal;
  -webkit-animation: fadeIn 1.5s ease-out 0s 1 normal;
}
@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
-webkit-@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}
-moz-@keyframes fadeIn {
  0% {opacity: 0}
  100% {opacity: 1}
}

/* ---------- main ---------- */
body {
  color: #333333;
}
#container {
  color: #333;
  padding: 0px;
  margin: 0px auto;
}
#contents,
#contentsWrapper,
#pan,#navi,
footer #ft_box
{
  width: 100%;
  padding: 0 1.020408%;
  max-width: 980px;
  margin: 0px auto;
  overflow: hidden;
  box-sizing: border-box;
}

.wrap {
  position: relative;
  width: 100%;
  max-width: 960px;
  padding: 0 1.0416666%;
  margin: 0 auto;
  box-sizing: border-box;
}

/* ----------------------------------------------------------------
 * HEADER
 * ---------------------------------------------------------------- */
/*html, body, #container {
  height: 100%;
}*/
#header {
  position: relative;
  position: fixed;
  width: 100%;
  z-index: 101;
  background: rgba(255, 255, 255, .95);
}
#header.is-fixed {
  height: 100%;
  overflow-y: scroll;
}
.header-inner {
  position: relative;
  z-index: 102;
  display: flex;
  justify-content: space-between;
  max-width: 1140px;
  padding: 25px 5% 0;
  margin: 0 auto;
}
.header-logo {
  width: 150px;
}
.header-logo a {
  transition: opacity 200ms 0s ease;
}
.header-logo a:hover {
  opacity: .2;
}
.header-logo img {
  width: 100%;
  height: auto;
}


.header-nav {
  width: 50%;
  width: 570px;
}
.header-nav-top {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  margin: 0 6% 0 2%;
}
.hnav-toTop a {
  color: #000;
  line-height: 1.5;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 1;
  vertical-align: bottom;
  text-decoration: none;
  letter-spacing: 0.05rem;
  transition: opacity 200ms 0s ease;
}
.hnav-toTop a:hover {
  opacity: .5;
}
.btn-contact-header {
  cursor: pointer;
  width: 232px;
  height: 35px;
  font-size: 13px;
  border: none;
  border-radius: 100px;
  background: #775C2F;
  transition: opacity 200ms 0s ease;
}
.btn-contact-header a {
  color: #ffffff;
  text-decoration: none;
}
.btn-contact-header a i {
  content: "";
  display: inline-block;
  width: 25px;
  height: 16px;
  vertical-align: middle;
  margin: 0 10px 0 0;
  background: url("../images/ico-letter.png") no-repeat center center / cover;
}
.btn-contact-header:hover {
  opacity: .5;
}

/* ----------------------------------------------------------------
 * HEADER TEXTSIZER-NAV
 * ---------------------------------------------------------------- */
#textsizer p {
  color: #775C2F;
  float: left;
  line-height: 1;
  font-size: 12px;
  font-weight: normal;
  letter-spacing: 0.1rem;
  margin: 26px 7px 0 0;
}
#textsizer ul {
  float: left;
}
#textsizer li {
  display: inline-block;
  vertical-align: bottom;
}
#textsizer li a {
  color: #bbae97;
  display: inline-block;
  line-height: 1;
  text-decoration: none;
  text-align: center;
  vertical-align: middle;
  border-radius: 50%;
  border: 1px solid #bbae97;
  margin: 0 0 0;
  background: #fff;
  transition: all 300ms 0s ease;
}
#textsizer a.textresizer-active {
  color: #fff;
  border-color: #775c2f;
  background: #775c2f;
}
#textsizer li a:hover {
  opacity: 0.5;
}
.textresizer #fsize1 a {
  font-size: 12px;
  width: 24px;
  height: 24px;
  line-height: 24px;
}
.textresizer #fsize2 a {
  font-size: 16px;
  width: 32px;
  height: 32px;
  line-height: 32px;
}
.textresizer #fsize3 a {
  font-size: 18px;
  width: 36px;
  height: 36px;
  line-height: 36px;
}
@media all and (-ms-high-contrast:none){
  .textresizer a {
    font-family : "メイリオ","ＭＳ Ｐゴシック", "MS PGothic";
  }
}

/* ----------------------------------------------------------------
 * GLOBAL NAVIGATION
 * ---------------------------------------------------------------- */
.gnav {
  margin: 18px 0 0;
}
.gnav > ul {
  display: flex;
  justify-content: space-between;
}
.gnav > ul > li {
  width: 25%;
  display: table-cell;
  text-align: center;
}
.gnav > ul > li > a {
  color: #4C4948;
  position: relative;
  display: block;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 16px;
  line-height: 24px;
  letter-spacing: 0.2em;
  text-decoration: none;
  padding: 0 0 18px;
}
.gnav > ul > li > a:hover:after {
  width: 100%;
}
.gnav > ul > li > a:after {
  content: '';
  display: block;
  width: 0%;
  height: 3px;
  background: #775C2F;
  position: absolute;
  left: 50%;
  bottom: 0px;
  z-index: 101;
  transform: translate(-50% ,0);
  transition: width 300ms 0s ease;
}

.gnav-sub {
  width: 100%;
  position: absolute;
  top: 100%;
  left: 0;
  background: rgba(255, 255, 255, 1);
  box-shadow: 0 8px 8px 2px rgba(0, 0, 0, .1);
}
.gnav-sub > ul {
  padding: 30px 0;
  margin: 0 auto;
}
.gnav-sub > ul > li {
  color: #000000;
  display: inline-block;
  text-align: center;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 400;
  font-size: 14px;
  line-height: 28px;
  margin: 0 2%;
  letter-spacing: 0.1em;
}
.gnav-sub > ul > li a {
  color: #4C4948;
  position: relative;
  text-decoration: none;
}
.gnav-sub > ul > li a:after {
  content: "";
  display: block;
  width: 0%;
  height: 2px;
  background: #4C4948;
  position: absolute;
  bottom: -8px;
  left: 50%;
  transform: translateX(-50%);
  transition: all 300ms 0s ease;
}
.gnav-sub > ul > li:hover a:after {
  width: 100%;
}

.gnav-sub-list {
  /*display: flex;
  justify-content: space-between;*/
  padding: 30px 2% 30px 4%;
}
.gnav-sub-list-col {
  width: 14.666%;
  float: left;
  padding: 0 0 0 1.5%;
  margin: 0 1.5% 0 0;
  border-left: 1px solid #ccc;
}
.gnav-sub-list-col:first-child {
  width: 11.666%;
  padding: 0;
  margin: 0;
  border-left: none;
}
.gnav-sub-list-col:nth-child(2) {
  width: 12.666%;
}
.gnav-sub-list-col:nth-child(3) {
  width: 16.666%;
}
.gnav-sub-list-col:nth-child(6) {
  width: 12.666%;
}
.gnav-sub-list-col h3 {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: 14px;
  line-height: 21px;
  text-align: left;
  letter-spacing: 0.08rem;
  margin: 0 0 5px;
}
.gnav-sub-list-col h3 a {
  color: #000000;
  text-decoration: none;
  transition: opacity 200ms 0s ease;
}
.gnav-sub-list-col h3 a:hover {
  opacity: .2;
}
.gnav-sub-list-col:nth-child(2) h3 a {
  color: #91BF3E;
}
.gnav-sub-list-col:nth-child(3) h3 a {
  color: #F29600;
}
.gnav-sub-list-col:nth-child(4) h3 a {
  color: #767CBA;
}
.gnav-sub-list-col:nth-child(5) h3 a {
  color: #64C6EC;
}
.gnav-sub-list-col:nth-child(6) h3 a {
  color: #E98AB3;
}
.gnav-sub-list-col ul li {
  text-align: left;
}
.gnav-sub-list-col ul li a {
  color: #000000;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: 12px;
  line-height: 28px;
  text-decoration: none;
  transition: opacity 200ms 0s ease;
}
.gnav-sub-list-col ul li a:hover {
  opacity: .2;
}

.spnav-contact {
  display: none;
  position: absolute;
  top: 0;
  right: 56px;
  width: 56px;
  height: 56px;
  cursor: pointer;
  z-index: 1001;
  padding: 16px;
  box-sizing: border-box;
  margin: 0;
  border-right: 1px solid #8A6E3E;
  transition: all 0.3s ease 0s;
  background: #775C2F;
}
.spnav-contact a img {
  width: 25px;
  height: auto;
  margin: 0 auto;
}
.spnav-contact a p {
  color: #ffffff;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 10px;
  white-space: nowrap;
  line-height: 12px;
  margin: 0 auto;
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
}

/* ----------------------------------------------------------------
 * HNAV (HUMBERGER-NAVIGATION)
 * ---------------------------------------------------------------- */
.hnav {
  display: none;
  position: absolute;
  top: 0;
  right: 0;
  width: 56px;
  height: 56px;
  cursor: pointer;
  z-index: 1001;
  padding: 16px;
  box-sizing: border-box;
  margin: 0;
  transition: all 0.3s ease 0s;
  background: #775C2F;
}
.hnav p {
  color: #ffffff;
  font-family: 'Noto Sans JP', sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 10px;
  line-height: 12px;
  margin: 0 auto;
  position: absolute;
  bottom: 6px;
  left: 50%;
  transform: translateX(-50%);
}
.hnav i {
  display: block;
  position: absolute;
  top: 21px;
  z-index: 101;
  width: 24px;
  height: 2px;
  margin: 0;
  background: #ffffff;
  transition: .2s;
}
.hnav i:before, .hnav i:after {
  display: block;
  content: "";
  position: absolute;
  top: 10%;
  left: 0;
  width: 24px;
  height: 2px;
  background: #ffffff;
  transition: .3s;
}
.hnav i:before {
  margin-top: -9px;
}
.hnav i:after {
  width: 12px;
  margin-top: 9px;
}
.hnav.is-active i {
  background: none;
  transform-origin: center center;
}
.hnav.is-active i:before {
  margin-top: 0;
  transform: rotate(-45deg);
}
.hnav.is-active i:after {
  width: 24px;
  margin-top: 0;
  transform: rotate(45deg);
}
.onav {
  display: none;
  width: 100%;
  position: absolute;
  top: 56px;
  left: 0;
  padding: 35px 5% 45px;
  box-sizing: border-box;
  background: #775C2F;
}
.onav h3 {
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: bold;
  font-size: 16px;
  line-height: 1;
  letter-spacing: 0.1em;
}
.onav h3 a {
  color: #ffffff;
  display: inline-block;
  width: 100%;
  text-decoration: none;
  padding: 5px 2%;
  box-sizing: border-box;
  background: #5C4929;
}
.onav-sub-1 ul {
  margin: 10px 0 30px;
}
.onav-sub-1 li {
  color: #ffffff;
  display: inline-block;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 30px;
  letter-spacing: 0.05rem;
  margin: 5px 15px 0 0;
}
.onav-sub-1 li a {
  color: #ffffff;
  text-decoration: none;
  border-right: 1px solid #fff;
  padding: 0 20px 0px 0;
}
.onav-sub-1 li:last-child a {
  border-right: none;
}
.onav-sub-2 {
  margin: 0 0 20px;
}
.onav-sub-2 h4 a {
  color: #ffffff;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 13px;
  line-height: 1;
  letter-spacing: 0.08rem;
  text-decoration: none;
}
.onav-sub-2 ul {
  margin: 5px 0 0;
}
.onav-sub-2 ul li a {
  color: #ffffff;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 2.2;
  letter-spacing: 0.05rem;
  text-decoration: none;
}

.onav-sub-cols {
  display: flex;
  margin: 20px 0 0;
}
.onav-sub-cols .col-left, .onav-sub-cols .col-right {
  width: 50%;
}

.onav-bottom {
  margin: 45px auto 0;
}
.onav-bottom ul li {
  line-height: 1;
  display: inline-block;
  margin: 0 5% 20px 0;
}
.onav-bottom ul li:last-child a {
  border-right: none;
}
.onav-bottom ul li a {
  color: #ffffff;
  display: block;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  text-decoration: none;
  letter-spacing: 0.05rem;
  border-right: 1px solid #fff;
  padding: 0 20px 0px 0;
}

#main {
  overflow: hidden;
  position: relative;
  z-index: 100;
  transition: all 300ms 300ms ease;
  padding-top: 124px;
}
#main:after {
  content: "";
  opacity: 0;
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, .4);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 102;
  transform: translateX(100%);
  transition: opacity 300ms .1s ease;
}
#main.is-fixed:after {
  opacity: 1;
  transform: translateX(0%);
}
/*#main.is-fixed {
  position: fixed;
  width: 100%;
}*/
.main-inner {
  transition: all 300ms 0ms ease;
}
#main.is-fixed .main-inner {
  /*filter: blur(5px);*/
}

/* ----------------------------------------------------------------
 * スマホナビ
 * ---------------------------------------------------------------- */
 #mnav_wrap {
  display: none;
 }
.mnav {
  z-index: 500;
  width: 100%;
  height: auto;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.mnav > ul > li {
  text-align: center;
  font-size: 16px;
  letter-spacing: 1px;
  padding: 20px 2%;
  box-sizing: border-box;
  border-bottom: 1px solid #bbae97;
}
.mnav > ul > li:last-child {
  border-bottom: none;
}
.mnav ul li a {
  color: #fff;
  text-decoration: none;
}
.mnav_subMenu {
  display: none;
  width: 100%;
  height: 93%;
  position: fixed;
  overflow-y: scroll;
  top: 50px;
  left: 0px;
  background: #775c2f;
}
.mnav_subList {
  width: 380px;
  text-align: center;
  margin: 0 auto;
}
.mnav_subList dt {
  position: relative;
  text-align: left;
  font-weight: bold;
  font-size: 18px;
  letter-spacing: 1px;
  margin: 0;
}
.mnav_subList dt span {
  position: absolute;
  top: 0;
  left: 0;
}
.mnav_subList dd {
  margin: 0 0 0 14em;
}
.mnav_subList dd ul li {
  font-size: 16px;
  text-align: left;
  letter-spacing: 1px;
  margin: 0 0 12px;
}
.mnav_subList dd ul li:last-child {
  margin: 0;
}

.mnav_btn {
  cursor: pointer;
  width: 42px;
  height: 50px;
  position: absolute;
  right: 17px;
  top: 0px;
  z-index: 500;
  margin: 0;
  border-left: 1px solid #775c2f;
}
.mnav_btn i::before {
  margin-top: -8px;
}
.mnav_btn i::after {
  margin-top: 8px;
}
.mnav_btn i::before, .mnav_btn i::after {
  background: #775c2f none repeat scroll 0 0;
  content: "";
  display: block;
  height: 3px;
  position: absolute;
  right: 0;
  top: 10%;
  transition: all 0.3s ease 0s;
  width: 25px;
}
.mnav_btn i {
  background: #775c2f none repeat scroll 0 0;
  display: block;
  height: 3px;
  margin: 0;
  position: absolute;
  right: 0;
  top: 50%;
  transition: all 0.3s ease 0s;
  width: 25px;
  z-index: 50;
}

.mnav_btn.active i::before {
  transform: rotate(-45deg) translate(-5px, 5px);
}
.mnav_btn.active i::after {
  transform: rotate(45deg) translate(-6px, -6px);
}
.mnav_btn.active i {
  background: #fff;
}

.mnav_contact {
  position: absolute;
  top: 0;
  right: 60px;
  z-index: 500;
  width: 60px;
  height: 50px;
  line-height: 50px;
  vertical-align: middle;
  text-align: center;
  border-left: 1px solid #775c2f;
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
}
.mnav_contact img {
  width: 25px;
  height: 19px;
  vertical-align: middle;
}
.mnav_contact a {
  display: block;
}

/* ----------------------------------------------------------------
 * 見出し
 * ---------------------------------------------------------------- */
.ttl_home {
  position: relative;
  font-size: 172%;
  text-align: center;
  letter-spacing: 4px;
  padding: 0 0 15px 2px;
  margin: 0 auto;
}
.ttl_home:after {
  content: '';
  display: block;
  width: 120px;
  height: 2px;
  background: #54c2f0;
  position: absolute;
  left: 50%;
  bottom: 0px;
  transform: translate(-50%, 0);
}
h3.catch {
  color: #775c2f;
  font-size: 20px;
  letter-spacing: 1px;
  line-height: 1.8;
  padding: 0 0 10px;
  margin: 0 0 20px;
  border-bottom: 1px solid #e4ded5;
}

/* ----------------------------------------------------------------
 * ボタン
 * ---------------------------------------------------------------- */
.btn_home {
  font-size: 100%;
  text-align: center;
  letter-spacing: 2px;
  margin: 30px auto 0;
}
.btn_home a {
  color: #775c2f;
  display: inline-block;
  padding: 20px 8%;
  border: 1px solid #775c2f;
  text-decoration: none;
  line-height: 1;
  background: #fff;
  transition: all 300ms 0s ease;
}
.btn_home a:hover {
  color: #fff;
  background: #775c2f;
}


/* ----------------------------------------------------------------
 * BREADCRUMB-NAVIGATION
 * ---------------------------------------------------------------- */
.breadcrumb {
  position: relative;
  z-index: 101;
  border-top: 1px solid #E5E5E5;
  background: #ffffff;
}
.breadcrumb ul {
  max-width: 1140px;
  padding: 0 5%;
  margin: 0 auto;
}
.breadcrumb ul li {
  color: #4C4948;
  float: left;
  font-size: 93%; /* fz12 */
  padding: 10px 0;
  margin: 0 10px 0 0;
  transition: all 300ms .7s ease;
}
.breadcrumb ul li a {
  color: #4C4948;
  text-decoration: none;
  margin-right: 10px;
  transition: opacity 300ms 0s ease;
}
.breadcrumb ul li a:hover {
  opacity: .2;
}


/* ----------------------------------------------------------------
 * FOOTER
 * ---------------------------------------------------------------- */
#footer {
  width: 100%;
  position: relative;
  z-index: 102;
  padding: 50px 5% 45px;
  box-sizing: border-box;
  background: #4F3D1F;
}
#footer.is-fixed {
  display: none;
}
.footer-inner {
  display: flex;
  max-width: 1140px;
  margin: 0 auto;
}
.footer-inner-left {
  width: 50%;
  display: flex;
  justify-content: space-between;
}
.footer-inner-right {
  width: 40%;
  margin: 0 10% 0 0;
}
.footer-nav h3 {
  color: #ffffff;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: bold;
  font-size: 14px;
  line-height: 1;
}
.footer-nav h3 a {
  color: #ffffff;
  text-decoration: none;
}
.footer-nav ul {
  margin: 10px 0 0;
}
.footer-nav ul li a {
  color: #ffffff;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 14px;
  line-height: 24px;
  text-decoration: none;
  transition: all 300ms 0s ease;
}
.footer-nav ul li a:hover {
  opacity: .5;
}
.footer-nav-col {
  width: 30.333%;
}
.footer-inner-right h3 {
  margin: 0 auto;
  text-align: center;
}
.footer-inner-right h3 img {
  width: 100%;
  max-width: 388px;
  height: auto;
}
.footer-nav-sp {
  display: none;
}
.copy {
  color: #ffffff;
  font-family:"Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-style: normal;
  font-weight: 500;
  font-size: 12px;
  line-height: 1.5;
  text-align: center;
  letter-spacing: 0.05rem;
  margin: 30px auto 0;
}

#toTop {
  position: absolute;
  top: -33px;
  right: 3%;
  z-index: 1001;
}
#toTop {
  width: 66px;
  height: 66px;
  line-height: 66px;
  vertical-align: middle;
  text-align: center;
}
#toTop img {
  width: 66px;
  height: 66px;
  vertical-align: middle;
}
#toTop a {
  display: block;
  transition: opacity 300ms 0s ease;
}
#toTop a:hover {
  opacity: 0.5;
}


/* ----------------------------------------------------------------
 * 下層ここから
 * ---------------------------------------------------------------- */
#main {
  background: #fff;
}
#ttl_main {
  height: 150px;
  line-height: 150px;
  vertical-align: middle;
  margin: 0 0 30px;
  background: #f7f7f7 url("../images/bg_ttlMain_01.png") no-repeat right 0;
}
body.page-id-39 #ttl_main, body.page-id-59 #ttl_main, body.parent-pageid-59 #ttl_main {
  background: #f7f7f7 url("../images/bg_ttlMain_02.png") no-repeat right 0;
}
body.page-id-61 #ttl_main, body.parent-pageid-61 #ttl_main{
  background: #f7f7f7 url("../images/bg_ttlMain_03.png") no-repeat right 0;
}
body.page-id-192 #ttl_main, body.parent-pageid-192 #ttl_main{
  background: #f7f7f7 url("../images/bg_ttlMain_04.png") no-repeat right 0;
}
body.page-id-63 #ttl_main, body.parent-pageid-63 #ttl_main{
  background: #f7f7f7 url("../images/bg_ttlMain_05.png") no-repeat right 0;
}
body.page-id-41 #ttl_main, body.parent-pageid-41 #ttl_main{
  background: #f7f7f7 url("../images/bg_ttlMain_06.png") no-repeat right 0;
}
#ttl_main h2 {
  color: #775c2f;
  letter-spacing: 2px;
  font-size: 210%;
  font-weight: bold;
}
#ttl_main h2:before {
  content: '';
  display: block;
  width: 70px;
  height: 40px;
  background: #f7f7f7 url("../images/ico_ttlMain.png") no-repeat 0 0;
  float: left;
  margin: 55px 15px 0 0;
}
.ttl_sub {
  color: #fff;
  width: 100%;
  position: relative;
  overflow: hidden;
  font-size: 130%;
  font-weight: normal;
  letter-spacing: 2px;
  padding: 10px 4%;
  margin: 0 0 20px;
  box-sizing: border-box;
  background: #4f3d1f url("../images/bg_ttlSub.png") no-repeat right 0;
}

/* カラムレイアウト
------------------------------------------*/
#left_con{
  width: 67.021276%; /*630/940*/
  margin-bottom: 100px;
  float: left;
}
#news #left_con {
  width: 100%;
  max-width: 800px;
  float: none;
  margin: 50px auto 100px;
}
#right_con {
  width: 27.659574%; /*280/960*/
  float: right;
}
.row {
  margin: 0 0 65px;
}

/* サイドバー
------------------------------------------*/
.sideMenu {
  margin: 0 0 40px;
  -moz-box-sizing: border-box;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  border: 1px solid #e4ded5;
}
.sideMenu h3 {
  color: #775c2f;
  line-height: 1.5;
  font-size: 17px;
  text-align: center;
  letter-spacing: 1px;
  font-weight: normal;
  padding: 22px 0;
  background: #e4ded5;
}
.sideMenu h3 a {
  color: #775c2f;
  text-decoration: none;
  display: block;
}
.sideMenu p {
  height: 41px;
  margin-bottom: 10px;
  text-indent: -1000em;
}
.sideMenu ul >  li {
  color: #555;
  border-bottom: 1px dashed #e4ded5;
}
.sideMenu ul li:last-child {
  border-bottom: none;
}
.sideMenu ul li a {
  color: #555;
  position: relative;
  display: block;
  font-size: 100%;
  font-weight: bold;
  text-decoration: none;
  padding: 20px 5%;
  transition: color 300ms 0s ease;
}
.sideMenu ul li a:hover {
  color: #54c2f0;
}
.sideMenu ul li a:before {
  content: '';
  display: block;
  width: 8px;
  height: 12px;
  background: url("../images/ico_snav.png") no-repeat right 0;
  float: left;
  margin: 2px 5px 0 0;
}
.sideMenu ul li.current > a, .sideMenu ul li.current-page-parent > a, .sideMenu ul li.current-page-ancestor > a {
  color: #54c2f0;
}
.sideMenu ul li ul.subMenu {
  margin: -10px 0 10px;
}
.sideMenu ul li ul.subMenu li {
  border-bottom: none;
  margin: 0 4%;
  background: #fff;
}
.sideMenu ul li ul.subMenu li a {
  color: #555;
  padding: 12px 10px;
  margin: 0 4%;
  background: #fff;
}
.sideMenu ul li ul.subMenu li a:before {
  height: 2px;
  margin: 8px 5px 0 0;
  background: #54c2f0;
}
.recentPost {
  margin: 15px 0 80px;
}
.recentPost h3 {
  color: #775c2f;
  font-size: 17px;
  font-weight: normal;
  letter-spacing: 1px;
  padding: 0 0 8px;
  margin: 0 auto;
  border-bottom: 1px solid #775c2f;
}
.recentPost dt {
  color: #775c2f;
  margin: 15px 0 0;
}
.recentPost dd {
  margin:  0;
  text-align: justify;
  line-height: 1.8;
  border-bottom: 1px dashed #e4ded5;
  padding: 3px 0 12px;
}
.recentPost a {
  text-decoration: none;
  color: #333;
  transition: opacity 300ms 0s ease;
}
.recentPost a:hover {
  opacity: 0.5;
}


#ft_switcher li {
  float: left;
  width: 49.5%;
  margin-bottom: 10px;
  border: 1px #ffb366 solid;
  background: -moz-linear-gradient(top,#FFF 0%,#E6E6E6);
  background: -webkit-gradient(linear, left top, left bottom, from(#FFF), to(#E6E6E6));
  border: 1px solid #DDD;
  text-align: center;
  padding-top: 10px;
  padding-right: 0px;
  padding-bottom: 10px;
  padding-left: 0px;
}
#ft_switcher li a {
  text-decoration: none;
  color: #666;
  font-size: 4em;
}
#bnrFB {
  display: none;
}



#left_con .sum_box {
  font-size:110%;
  line-height:150%;
}
#left_con .sum_box table {
  margin:20px auto;
}
#left_con .sum_box table td,
#left_con .sum_box table th{
  padding:10px;
  text-align: left;
}

.grecaptcha-badge { visibility: hidden; }