@charset "utf-8";
/*
Theme Name: woodpecker-camp
Theme URI: http://www.woodpecker-cs.com
Description: WoodPecker
Version: 1.0
Author: Calc inc.
Author URI: http://www.calcinc.co.jp
*/

@charset "utf-8";
/* ==========================================================================*/
/* 全般設定 */
/* ==========================================================================*/

* {
  border: none;
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

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

html {
  font-size: 62.5%;
}

body {
  color: #434343;
  font-family: "メイリオ",Meiryo,"ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",Helvetica,Arial,Verdana,sans-serif;
  font-size: 1.6rem;
  line-height: 1.8;
  text-align: center;
}

main {
  display: block;
}

@media screen and (max-width: 667px) {

  html {

  }

  body {
    font-size: 4vmin;
    line-height: 1.6;
  }

}

/* ==========================================================================*/
/* Font読み込み */
/* ==========================================================================*/

@font-face {
  font-family: 'Rounded Mplus 1c';
  font-style: normal;
  font-weight: 400;
  src: url(//fonts.gstatic.com/ea/roundedmplus1c/v1/RoundedMplus1c-Regular.eot);
  src: url(//fonts.gstatic.com/ea/roundedmplus1c/v1/RoundedMplus1c-Regular.eot?#iefix) format('embedded-opentype'),
       url(//fonts.gstatic.com/ea/roundedmplus1c/v1/RoundedMplus1c-Regular.woff2) format('woff2'),
       url(//fonts.gstatic.com/ea/roundedmplus1c/v1/RoundedMplus1c-Regular.woff) format('woff'),
       url(//fonts.gstatic.com/ea/roundedmplus1c/v1/RoundedMplus1c-Regular.ttf) format('truetype');
}

/* ==========================================================================*/
/* PC/SP */
/* ==========================================================================*/

/*SP/PC限定表示*/
@media screen and (max-width: 667px) {

  .pc-only {
    display: none !important;
  }

}

@media screen and (min-width: 668px) {

  .sp-only {
    display: none !important;
  }

}

/* ==========================================================================*/
/* 汎用クラス */
/* ==========================================================================*/

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

.flex-centering {
  align-items: center;
  display: flex;
  justify-content: center;
}

.flex-spaceb {
  align-items: center;
  display: flex;
  justify-content: space-between;
}

.relative {
  position: relative;
}

ul,
ol {
  margin: 2rem 0;
}

li {
  line-height: 1.6;
  margin: 1rem 0 1rem 3rem;
  text-align: left;
}

.waku {
  border: solid 1px #bfbfbf;
  margin-bottom: 2rem;
  padding: 1rem;
}

.waku-inline {
  display: inline-block;
  border: solid 1px #bfbfbf;
  margin: 0;
  padding: 1rem;
}

.waku ul,
.waku ol {
  margin: 0;
}

/*画像関連*/

.aligncenter {
  display: block;
  margin: 0 auto;
}

.alignright {
  float: right;
  margin-left: 2rem;
}

.alignleft {
  float: left;
  margin-right: 2rem;
}

.main img.size-medium {
  width:49%;
  max-width: 49%;
  height: auto;
}

@media screen and (max-width: 414px) {

  .flex-top {
    display: block;
  }

  .alignright {
    display: block;
    float: none;
    margin: 1rem auto;
  }

  .alignleft {
    display: block;
    float: none;
    margin: 1rem auto;
  }

}

hr {
  border-top: .1rem dashed #8c8b8b;
  margin: 1em 0;
}

blockquote {
  background: #efefef;
  color: #555;
  font-style: italic;
  margin: 2rem 0;
  padding: 3rem 1.5rem .75rem 1.5rem;
  position: relative;
}

blockquote::before {
  color: #cfcfcf;
  content: "“";
  display: inline-block;
  font-family: sans-serif;
  font-size: 9rem;
  left: .3rem;
  line-height: 1;
  position: absolute;
  top: .5rem;
  vertical-align: middle;
}

blockquote p {
  padding: 0;
  line-height: 1.7;
  margin: 1rem 0;
}

blockquote cite {
  color: #888;
  display: block;
  font-size: 1.4rem;
  text-align: right;
}

small {
  font-size: 1rem;
}

div.container-scroll-small {
  background-color: #fff;
  border: solid .2rem #888;
  height: 25rem;
  overflow-y: scroll;
  padding: .5rem;
  width: 100%;
}

div.container-scroll {
  background-color: #fff;
  border: solid .2rem #888;
  height: 54rem;
  overflow-y: scroll;
  padding: .5rem;
  width: 100%;
}

/* ==========================================================================*/
/* レイアウト・セクションの設定 */
/* ==========================================================================*/

.container {
  background:url(images/bodybg.jpg) repeat-x;
  background-position: top center;
  background-attachment: fixed;
  padding-bottom: 4rem;
  padding-top: 15rem;
}

.container-top {
  padding: 2rem 0;
}

.contents {
  background: #fff;
  margin: 0 auto;
  max-width: 120rem;
  padding: 1rem;
  width: 90%;
}

/*サイドバーあり*/
.content-flex {
  display: flex;
  justify-content: space-between;
  margin: 3rem auto;
  max-width: 120rem;
  width: 90%;
}

.content-flex .main {
  background: #fff;
  margin-right: 2rem;
  padding: 1.5rem;
  text-align: left;
  width: 70%;
}

.content-flex .sub {
  text-align: left;
  width: 27%;
  background:#fff;
  padding: 1.5rem;
}

.sub-title{
  background: #1692b0;
  color: #fff;
  line-height:1.2;
  margin-bottom: 1rem;
  padding: 2rem;
}

/*サイドバーなし*/
.content {
  margin: 1rem auto;
  max-width: 120rem;
  width: 90%;
}

.content .main {
  background: #fff;
  overflow: hidden;
  padding: 1rem;
  text-align: left;
  width: 100%;
}

.content .sub {
  margin-top: 3rem;
  text-align: left;
  width: 100%;
}

article {
  overflow: hidden;
}

p {
  margin: 1.6em 0;
  text-align: left;
}

  .mobile-img img {
    vertical-align: bottom;
  }

@media screen and (max-width: 667px) {

  .container {
    padding: 12.5vmin 0;
  }

  .content-flex {
    flex-wrap: wrap;
    margin: 1rem auto;
    width: 95%;
  }

  .content-flex .main {
    margin: 0 auto;
    width: 100%;
  }

  .content-flex .sub {
    margin-top: 3rem;
    width: 100%;
  }

  .content {
    margin: 1rem auto;
    width: 95%;
  }

  .content .sub {
    margin-top: 3rem;
  }

}

/* ==========================================================================*/
/* ページの先頭に戻る */
/* ==========================================================================*/

#page-top {
  bottom: 1rem;
  display: none;
  line-height: 1.4;
  position: fixed;
  right: 1rem;
}
#page-top a {
  background-color: #000;
  color: #fff;
  display: block;
  filter: alpha(opacity=50);
    -moz-opacity: 0.5;
    opacity: 0.5;
  font-size: 11px;
  height: 70px;
  padding: 20px 0;
  text-align: center;
  text-decoration: none;
  width: 70px;
}
#page-top a:hover {
  background-color: #666;
}


/* ==========================================================================*/
/* テーブルの設定 */
/* ==========================================================================*/

table {
  width: 100%;
  margin: 2rem 0;
}

table th {
  background: #e5e6e0;
  border: solid .1rem #bfbfbf;
  font-weight: normal;
  padding: 1rem;
  text-align: left;
  width: 20%;
}

table td {
  background: #fff;
  border: solid .1rem #bfbfbf;
  padding: 1rem;
  text-align: left;
}

table.border_table {
  border-collapse: collapse;
  border-top: dotted .1rem #555;
  width: 100%;
}

table.border_table th {
  font-weight: normal;
}

table.border_table th,
table.border_table td {
  background: none;
  border: none;
  border-bottom: dotted .1rem #555;
  font-weight: normal;
  padding: .4rem;
  text-align: left;
}

.head {
  background: #DAE2DA;
}

table.check td.checkbox {
  text-align: center;
}

@media screen and (max-width: 667px) {

  table th {
    width: 4em;
  }

}

/* ==========================================================================*/
/* リンクの設定 */
/* ==========================================================================*/

a,
.pointer {
  color: #0e86b2;
  text-decoration: none;
}

h1 a,
h2 a,
h3 a,
h4 a,
h5 a {
  color: #075977;
}

a:hover,
.pointer:hover {
  opacity: 0.6;
}

/* ==========================================================================*/
/* 見出しの設定 */
/* ==========================================================================*/

h1 {
  font-family: "Rounded Mplus 1c";
  font-size: 2.2rem;
  line-height: 1.2;
  color: #fff;
  background: #13322a;
  padding: 1rem 2rem;
  margin-bottom: 2rem;
}

h2{
  font-size: 1.8rem;
  font-weight: normal;
  position: relative;
  padding: 1rem 2rem;
  background: #505050;
  color: #fff;
  line-height:1.2;
}

h2.tophead {
  background: #1692b0;
}


h3 {
  border-bottom: solid 3px #bdd9d5;
  color: #3c6e71;
  font-size: 1.8rem;
  line-height:1.2;
  margin:1rem 0;
  padding:1rem 1rem 0;
  position: relative;
}

h3:after {
  position: absolute;
  content: " ";
  display: block;
  border-bottom: solid 3px #3c6e71;
  bottom: -3px;
  left: 0;
  width: 30%;
}

h4 {
  border-bottom: dashed 2px #6594e0;
  color: #6594e0;
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.2;
}

h5 {
  border-bottom: solid .1rem #76acd6;
  font-size: 1.8rem;
  font-weight: normal;
  line-height: 1.4;
  margin: 2.5rem auto 2rem auto;
  padding: .5rem .5rem .5rem 3rem;
  position: relative;
  width: auto;
}

h5::before {
  background: linear-gradient(to right, #b2e9ef, #b7d0f5);
  border: solid .1rem #fff;
  border-radius: 50%;
  content: '';
  display: inline-block;
  height: 1.8rem;
  left: .6rem;
  position: absolute;
  top: 1rem;
  width: 1.8rem;
}

h6 {
  color: #6594e0;
  font-size: 1.8rem;
  font-weight: normal;
}

@media screen and (max-width: 667px) {

  h1 {
    font-size: 1.8rem;
  }

  h2{
    font-size: 1.6rem;
  }

  h3{
    font-size: 1.6rem;
  }

}


/* ==========================================================================*/
/* パンくずリスト */
/* ==========================================================================*/

.bcbg {
  background: #1692b0;
  color: #fff;
  padding: .5rem 0;
}

.bcbg a {
  color: #fff;
}

.breadcrumbs {
  font-size: 1.2rem;
  margin: 0 auto;
  max-width: 120rem;
  text-align: left;
  width: 90%;
}


/* ==========================================================================*/
/* スライダーと連絡先の設定*/
/* ==========================================================================*/

.topslide-flex {
  background: #e4e5e0;
  height: 60vh;
  width: 100%;
  margin:0 auto;
}

.topslide-flex img {
  vertical-align: bottom;
  width: 100%;
}


/* ==========================================================================*/
/* ヘッダーの設定*/
/* ==========================================================================*/

/* ヘッダー */
.main-header {
  background-color: #fff;
  position: fixed;
  width: 100%;
  z-index: 255;
}

.main-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  margin: auto;
  max-height: 10rem;
  max-width: 120rem;
  padding: 0;
  width: 90%;
}

.header-logo {
  background:none;
  border: none;
  margin: .6rem 2rem 0 0;
}

.header-logo img {
  width: 100%;
}

.header-menu {

}

.inquiry {
  background: #13322a;
  color: #fff;
  display: inline-block;
  margin-top: 2rem;
  padding: 8px 20px;
  vertical-align: top;
}

.nav-menu ul li {
  list-style: none;
}

.nav-menu li + li {
  margin-left: .1rem;
}

.nav-menu li a {
  color: #3c6e71;
  display: block;
  padding: 1.75rem 0;
}

.nav-menu li.active a {
  color: #3c6e71;
  background: #e4f3f1;
}

.nav-menu li.active ul li ul li a {
  background: #fff;
  color:#000;
}

.nav-menu-container {
  background: #3c6e71;
  background: #13322a;
  padding: .5rem 0;
}

.nav-menu-container .searchform {
  display: none;
}

.nav-img {
  display: block;
  margin: auto;
  width: 100%;
}

.sp-menu-btn {
  background-color: #689cb7;
  cursor: pointer;
  height: 12.5vmin;
  line-height: 1;
  padding: 1vmin;
  width: 12.5vmin;
}

.sp-menu-btn img {
  height: 50%;
  margin: .5vmin;
}

.sp-menu-btn-txt {
  color: #fff;
  display: block;
  font-size: .8rem;
}

@media screen and (max-width: 768px) {

  .header-logo {
    width: 20%;
  }

  .header-menu {
    width: 80%;
  }

}

@media screen and (max-width: 667px) {

  .m-reservation {
    font-size: 1.4rem;
    background: #006633;
    padding:.4rem 0;
    width: 100%;
  }

  .m-reservation ul {
        display: flex;
    list-style: none;
    margin: 0;
    padding: 0;
    width: 100%;
  }

  .m-reservation li {
    color: #fff;
    margin: 0;
    padding: 0;
    text-align: center;
  }

  .m-reservation li a {
    color: #fff;
  }

  .m-reservation li:first-child {
    border-right: solid 1px #fff;
    width: 55%;
  }

  .m-reservation li:last-child {
    width: 45%;
  }

  /* ヘッダー */
  .main-header {
    box-shadow: 0 .25rem .5rem rgba(0, 0, 0, .1);
  }

  .main-header-inner {
    flex-wrap: wrap;
    height: auto;
    margin-right: 0;
    max-height: inherit;
    padding: 0;
    transition: .3s;
    width: auto;
  }

  .header-logo {
    margin: 0;
    max-height: 12.5vmin;
    width: 50vmin;
  }

  .header-logo img {
    height: 12.5vmin;
    padding: 0 .5vmin;
    width: auto;
  }

  .header-menu{
    max-height: 12.5vmin;
    width: 30vmin;
  }

  .header-menu img {
    height: 12.5vmin;
    width: auto;
    vertical-align: bottom;
  }

  .nav-menu-container {
    display: none;
    width: 100%;
  }

  .nav-menu {
    flex-wrap: wrap;
    /*margin-left: auto;
    width: 97.5%;*/
  }

  .nav-menu li {
    /*border-bottom: solid .1rem #e1963a;*/
    width: 100%;
  }

  .nav-menu li + li {
    margin-left: 0;
  }

  .main-header-inner .searchform,
  .main-header-inner .external-link {
    display: none;
    width: 100%;
  }

  .main-header-inner .searchform div {
    margin: auto;
    padding: 0 1.25%;
    width: 100%;
  }

  .nav-menu-container .searchform {
    display: block;
    margin: auto;
    width: 97.5%;
    padding: 0 1rem;
  }

  .nav-img {
    background-color: #fff;
    padding: 2vmin 0;
  }


}



/* ––––––––––––––––––––––––––––––––––––––––––––––––––
megamenu.js STYLE STARTS HERE
–––––––––––––––––––––––––––––––––––––––––––––––––– */


/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Screen style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */
.menu-mobile {
    display: none;
}

.menu-mobile:after {
    /*content: "\f394";
    font-family: "Ionicons";
    font-size: 2.5rem;
    padding: 0;
    float: right;
    position: relative;
    top: 50%;
    -webkit-transform: translateY(-25%);
    -ms-transform: translateY(-25%);
    transform: translateY(-25%);*/
}

.menu-dropdown-icon:before {
    content: "\f489";
    font-family: "Ionicons";
    display: none;
    cursor: pointer;
    float: right;
    padding: 1rem 1.5rem;
    background: #fff;
    color: #333;
}

.menu > ul {
  display: flex;
  margin: 0 auto;
  width: 90%;
  max-width: 120rem;
  padding: 0;
  vertical-align: middle;
  position: relative;
    /*margin: 0 auto;
    width: 100%;
    list-style: none;
    padding: 0;*/
    /*position: relative;*/
    /* IF .menu position=relative -> ul = container width, ELSE ul = 100% width */
    /*box-sizing: border-box;*/
}

/*
.menu > ul:before,
.menu > ul:after {
    content: "";
    display: table;
}

.menu > ul:after {
    clear: both;
}
*/

.menu ul li{
  margin: 0;
  padding: 0;
}

.menu > ul > li {
  background-color: #fff;
  line-height: 1;
  list-style: none;
  margin: 0;
  margin-left: .1rem;
  padding: 0;
  text-align: center;
  width: calc(100% / 5);
    /*float: left;*/
    /*background: #e9e9e9;*/
    /*padding: 0;
    margin: 0;*/
    /*width: calc(100% / 5);*/
}

.menu > ul > li a {
    text-decoration: none;
    /*padding: 1.5em 3em;*/
    display: block;
}

.menu > ul > li:hover {
  background: #e4f3f1;
}

.menu > ul > li a:hover {
  background: #e4f3f1;
  opacity: 1;
}

.menu > ul > li > ul {
    display: none;
    width: 100%;
    background: #e4f3f1;
    padding: 2rem;
    position: absolute;
    z-index: 99;
    left: 0;
    margin: 0;
    list-style: none;
    box-sizing: border-box;
}

/*
.menu > ul > li > ul:before,
.menu > ul > li > ul:after {
    content: "";
    display: table;
}


.menu > ul > li > ul:after {
    clear: both;
}
*/

.menu > ul > li > ul > li > ul {
    display: flex;
    flex-wrap: wrap;
    margin:0;
    padding:0;
}

.menu > ul > li > ul > li > ul > li {
    margin: 0 .53%;
    padding-bottom: .5rem;
    list-style: none;
    /*width: 25%;*/
    background: none;
    border: none;
    /*float: left;*/
    width: 32%;
}

.menu > ul > li > ul > li > ul > li a {
    align-items: center;
    display: flex;
    margin: 0 ;
    padding: .5rem;
    color: #000;
    background: #fff;
    text-align: center;
}

.menu > ul > li > ul > li > ul > li a img{
    width: 100px;
    height:auto;
    margin-right: .5rem;
}

.menu > ul > li > ul > li > ul > li a:hover {
    /*background: #3c6e71;*/
    opacity: 0.6;
}


@media only screen and (max-width: 667px) {

  .menu > ul > li > ul > li > ul > li a {
      display: block;
  }

  .menu > ul > li > ul > li > ul > li a img{
      width: 100%;
      height:auto;
      margin-right: 0;
  }

}



/* ––––––––––––––––––––––––––––––––––––––––––––––––––
Mobile style's
–––––––––––––––––––––––––––––––––––––––––––––––––– */

@media only screen and (max-width: 667px) {
    .menu-mobile {
        display: none;
    }
    .menu-dropdown-icon:before {
        display: block;
    }
    .menu > ul {
        display: none;
        padding: 0 0 .3rem;
    }
    .menu > ul > li {
        width: 100%;
        float: none;
        display: block;
        text-align: left;
    }
    .menu > ul > li a {
        padding: 1rem;
        width: 100%;
        display: block;
    }
    .menu > ul > li > ul {
        position: relative;
        padding: .5rem;
    }
    .menu > ul > li > ul.normal-sub {
        width: 100%;
    }
    .menu > ul > li > ul > li {
        width: 100%;
    }
    .menu > ul > li > ul > li:first-child {
        margin: 0;
    }
    .menu > ul > li > ul > li > ul {

    }
    .menu > ul > li > ul > li > ul > li {
        width: 48%;
    }
    .menu > ul > li > ul > li > ul > li a{
      border-right: solid 1px #fff;
      font-size: 1.2rem;
      margin: 1px;
    }
    .menu .show-on-mobile {
        display: block;
    }

}


/* ==========================================================================*/
/* リストの設定 */
/* ==========================================================================*/

/* 白いボックスのリスト*/
.list-whitebox {
  display: flex;
  flex-flow: row wrap;
  font-size: 1.6rem;
  /*justify-content: space-between;*/
  margin: 0 0 3rem;
  padding: 0;
  width: 100%;
}

.list-whitebox li {
  background: #fff url(images/side-menu-arrow.png) no-repeat right .9rem center;
  box-sizing: border-box;
  list-style: none;
  margin: .2vw 0;
  padding: 0 .5rem 0 0;
  text-align: left;
  width: 33.3%;
}

.list-whitebox li:nth-child(3n) {
  padding: 0;
}

.list-whitebox li a {
  border: solid 1px #bfbfbf;
  box-sizing: border-box;
  color: #434343;
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 1rem;
  width: 100%;
}

.list-whitebox-child{
  background: #e5e6e0;
  clear: both;
  display: flex;
  flex-flow: row wrap;
  justify-content: space-between;
  padding: .5rem 1rem;
}

.list-whitebox-child li {
  background: #fff url(images/side-menu-arrow.png) no-repeat .9rem center;
  border: solid 1px #bfbfbf;
  box-sizing: border-box;
  list-style: none;
  margin: .2vw 0;
  padding: 0 0 0 4rem;
  text-align: left;
  width: 49.5%;
}

.list-whitebox-child li a {
  box-sizing: border-box;
  color: #434343;
  display: block;
  margin: 0;
  overflow: hidden;
  padding: 1rem;
  width: 100%;
}


@media screen and (max-width: 667px) {

  .list-whitebox {
    display: block;
  }

  .list-whitebox li {
    margin: .5rem 0;
    padding: 0;
    width: 100%;
  }

  .list-whitebox li a {
    float: none;
    width: 100%;
  }

  .list-whitebox-child {
    display: block;
  }

  .list-whitebox-child li {
    margin: .5rem 0;
    padding: 0 0 0 4rem;
    width: 100%;
  }

}


/* 共通過去の記事一覧 */
.more a {
  background: #fff;
  border: solid 1px #0076A3;
  color: #0076A3;
  display: block;
  padding: 1rem;
  text-align: center;
}

/* 続きを読む */
.list-more {
  background: #434343;
  color: #fff;
  display: inline-block;
  float: right;
  font-size: 1.4rem;
  padding: .2rem 2rem;
  text-align: center;
}


/* ==========================================================================*/
/* ページ送りの設定 */
/* ==========================================================================*/

.prev_next {
  font-size: 1.4rem;
  margin: 2rem 0 3rem;
  overflow: hidden;
}

.prev_next p {
  line-height: 1.4;
  margin: 1rem 0;
}

.prev_next p span {
  color: #808080;
  display: block;
  font-size: 1.2rem;
  margin-bottom: 1rem;
}

.prev a {
  border: solid .1rem #9c9c9c;
  border-radius: .2rem;
  color: #434343;
  display: block;
  float: left;
  overflow: hidden;
  width: 48%;
}

.next a {
  border: solid .1rem #9c9c9c;
  border-radius: .2rem;
  color: #434343;
  display: block;
  float: right;
  overflow: hidden;
  text-align: right;
  width: 48%;
}

.prev a p,
.next a p {
  padding: 0 1rem;
}

.prev img {
  float: left;
  margin-right: 1rem;
}
.next img {
  float: right;
  margin-left: 1rem;
}

.prev a:hover,
.next a:hover {
  border: #555 .1rem dotted;
}

@media screen and (max-width: 667px) {

  .prev a {
    box-sizing: border-box;
    float: none;
    margin-bottom: .4rem;
    width: 100%;
  }

  .next a {
    box-sizing: border-box;
    float: none;
    width: 100%;
  }

  .next img {
    float: left;
    margin: 0 1rem 0 0;
  }

}


/* ==========================================================================*/
/* ページナビの設定 */
/* ==========================================================================*/

.wp-pagenavi {
  clear: both;
  font-family: 'Spinnaker', sans-serif;
  margin: 4rem 0;
  text-align: center;
}

.wp-pagenavi span {
  background: #fff;
  border: .1rem solid #ccc;
  display: inline-block;
  margin: .2rem;
  padding: .5rem 1.5rem;
  text-decoration: none;
}

.wp-pagenavi a {
  background: #fff;
  border: .1rem solid #ccc;
  color: #434343;
  display: inline-block;
  margin: .2rem;
  padding: .5rem 1.5rem;
  text-decoration: none;
}

.wp-pagenavi a:hover {
  background: #ddd;
  border: .1rem solid #ccc;
}

.wp-pagenavi span.current {
  background: #434343;
  color: #fff;
  font-weight: bold;
}


/* ==========================================================================*/
/* トップページバナーの設定 */
/* ==========================================================================*/

.banner-area {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  padding: 1rem 0 3rem;
}

.banner-area a {
  display: block;
  margin-bottom: 1rem;
  max-width: 38rem;
  width: calc(33% - 1rem);
}

.banner-area img {
  width: 100%;
}

.banner-area02 {
  display: flex;
  justify-content: center;
  padding: 0 0 1rem;
}

@media screen and (max-width: 667px) {

  .banner-area {
    padding: 3rem 0;
  }

  .banner-area a {
    margin-bottom: 0;
    width: 48%;
  }

}

/* ==========================================================================*/
/* 第二階層 */
/* ==========================================================================*/

.list-thumbbox {
  /*display: flex;
  flex-wrap: wrap;
  justify-content: space-between;*/
  list-style: none;
  margin-bottom: 4rem;
}

/*.list-thumbbox::after {
  content: "";
  display: block;
  width: calc(100% / 3 - 2rem);
}*/

.list-thumbbox li {
  background-color: #e4e5e0;
  border: solid 2px #bfbfbf;
  float: left;
  margin: 1rem 2rem 1rem 0;
  overflow: hidden;
  padding: 0;
  position: relative;
  width: calc(100% / 3 - 1.5rem);
  height: 0;
  padding-bottom: 17.75%;
  overflow: hidden;
}

.list-thumbbox li:nth-child(3n) {
  margin-right: 0;
}

.thumbbox-link {
  color: #434343;
  display: block;
  margin: 0;
  padding: 0;
  width: 100% !important;
  word-break: break-all;
  position:absolute;
  top:0;
  left:0;
  height:100% !important;
}

.ttl-thumbbox {/*タイトル*/
  background: #fff;
  color: #434343;
  font-size: 1.6rem;
  left: 0;
  margin: 0 auto;
  padding: 1rem;
  position: absolute;
  bottom: 0;
  width: 100%;
}

.thumbbox-subtext img {
  vertical-align: bottom;
  width: 100%;
}


@media screen and (max-width: 667px) {

  .list-thumbbox {
    display: block;
  }

  .list-thumbbox::after {
    width: 100%;
  }

  .list-thumbbox li {
    width: 100%;
    padding-bottom: 56%;
  }

}

@media screen and (min-width: 568px) and (max-width: 1023px) {

  /*.list-thumbbox::after {
    width: calc(100% / 2 - 2rem);
  }*/

  .list-thumbbox li,
  .list-thumbbox li:nth-child(3n) {
    margin: 2rem 2rem 1rem 0;
    padding-bottom: 26.75%;
    position: relative;
    width: calc(100% / 2 - 1rem);
  }

  .list-thumbbox li:nth-child(2n) {
    margin-right: 0;
  }

}


/* ==========================================================================*/
/* サイドメニュー */
/* ==========================================================================*/

.side-menu,
.side-menu li,
.side-menu-sub,
.side-menu-sub li,
.side-menu-sub-sub,
.side-menu-sub-sub li {
  list-style: none;
  margin: 0;
  padding: 0;
}

.side-menu {
  margin-bottom: 2rem;
}

.side-menu > li {
  background-color: #fff;
  border: solid .1rem #c0c0c0;
  line-height: 1;
  position: relative;
}

.side-menu-item,
.side-menu-item2 {
  color: #434343;
  display: block;
  padding: 15px 45px 15px 20px;
  position: relative;
}

.side-menu-item {
  background: url(images/side-menu-arrow.png) no-repeat right 10px center;
}


.side-menu-icon {
  background: none;
  cursor: pointer;
  padding: 5px 10px;
  position: absolute;
  right: 0;
  top: 0;
}

.side-menu > li:not(:last-child) {
  margin-bottom: .5rem;
}

.side-menu-sub {
  font-size: 1.4rem;
}

.side-menu-sub li {
  border-top: dotted .1rem #c0c0c0;
  line-height: 1.2;
  margin: 0 15px;
  padding: 15px 0;
}

.side-menu-sub-sub {
  margin: 15px 0 0 0;
}

.side-menu-sub-sub li {
  margin: 0;
  padding: 10px 0;
  padding-left: 2em;
  text-indent: -1.5em;
}

.side-menu-sub-sub li::before {
  content: '－';
}

.side-menu-sub-sub li:last-child {
  padding-bottom: 0;
}

/*現在地*/
.side-menu .selective {
  background-color: #ddd;
}

@media screen and (max-width: 667px) {

  .side-menu-item::after {
    background-size: contain;
  }

  .side-menu-icon img {
    height: 3.2rem;
  }

}


/* ==========================================================================*/
/* PDF */
/* ==========================================================================*/

a[href*=".pdf"]::before {
  background-image: url(images/pdf.png);
  background-position: bottom;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: inline-block;
  margin-bottom: .25em;
  margin-right: .75rem;
  padding: .6em .6em;
  vertical-align: middle;
}

a[href*=".doc"]::before,
a[href*=".docx"]::before {
  background-image: url(images/word.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: inline-block;
  margin-bottom: .25em;
  margin-right: .75rem;
  padding: .6em .6em;
  vertical-align: middle;
}

a[href*=".xls"]::before,
a[href*=".xlsx"]::before {
  background-image: url(images/excel.png);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  content: '';
  display: inline-block;
  margin-bottom: .25em;
  margin-right: .75rem;
  padding: .6em .6em;
  vertical-align: middle;
}

.news-area-inner a[href*=".pdf"]::before,
.news-area-inner a[href*=".doc"]::before,
.news-area-inner a[href*=".docx"]::before,
.news-area-inner a[href*=".xls"]::before,
.news-area-inner a[href*=".xlsx"]::before,
.list-whitebox-child a[href*=".pdf"]::before,
.list-whitebox-child a[href*=".doc"]::before,
.list-whitebox-child a[href*=".docx"]::before,
.list-whitebox-child a[href*=".xls"]::before,
.list-whitebox-child a[href*=".xlsx"]::before,
.pickup-area a[href*=".pdf"]::before,
.pickup-area a[href*=".doc"]::before,
.pickup-area a[href*=".docx"]::before,
.pickup-area a[href*=".xls"]::before,
.pickup-area a[href*=".xlsx"]::before,
.sub a[href*=".pdf"]::before,
.sub a[href*=".doc"]::before,
.sub a[href*=".docx"]::before,
.sub a[href*=".xls"]::before,
.sub a[href*=".xlsx"]::before,
.banner-area a[href*=".pdf"]::before,
.list-whitebox  a[href*=".pdf"]::before,
.list-whitebox  a[href*=".doc"]::before,
.list-whitebox  a[href*=".docx"]::before,
.list-whitebox  a[href*=".xls"]::before,
.list-whitebox  a[href*=".xlsx"]::before{
  display: none;
}


/* ==========================================================================*/
/* サイトマップ */
/* ==========================================================================*/


.sitemap-outer {

}

.sitemap-menu{
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 2rem 0 0;
}

.sitemap-menu li{
  border: solid 1px #bfbfbf;
  margin: 0;
  margin-right: 1rem;
  width : calc(100% / 3 - 1rem);
  margin-bottom: .5rem;
}

.sitemap-menu li:nth-child(3n){
  margin-right: 0;
  width : calc(100% / 3 );
}

.sitemap-menu li ul.sitemap-menu-sub{
  display: block;
  list-style: none;
  margin: 0 1rem;
  padding: 0;
}
.sitemap-menu li ul.sitemap-menu-sub li{
  border: none;
  border-top: solid 1px #bfbfbf;
  padding: .5rem;
  width: 100%;
}

.sitemap-menu li ul.sitemap-menu-sub li a{
  color: #434343;
}

.sitemap-menu-sub li a::before {
  content: '－';
}

.sitemap-outer h2{
  margin: 2rem 0 0;
  text-align: left;
}

.sitemap-outer h3{
  background: none;
  font-size: 2.2rem;
  margin: .5rem 0 0;
  text-align: left;
}



@media screen and (max-width:567px) {

  .sitemap-menu ul{
    display: block;
  }

  .sitemap-menu li,
  .sitemap-menu li:nth-child(3n){
    margin-right: 0;
    width : 100%;
    margin-bottom: .5rem;
  }

}


/* ==========================================================================*/
/*　Googlemapの設定　*/
/* ==========================================================================*/

.google-maps {
position: relative;
padding-bottom: 75%;
height: 0;
overflow: hidden;
}
.google-maps iframe {
position: absolute;
top: 0;
left: 0;
width: 100% !important;
height: 100% !important;
}

/* ==========================================================================*/
/* フッター地図の設定 */
/* ==========================================================================*/

.footer-map {
  border-bottom: solid .1rem #bfbfbf;
  border-top: solid .1rem #bfbfbf;
}

.footer-map iframe {
  vertical-align: bottom;
  width: 100%;
}

/* ==========================================================================*/
/*　フッターの設定　*/
/* ==========================================================================*/

.footer {
  background: #13322a;
  color: #fff;
  font-size: 1.4rem;
  padding-bottom: 1rem;
}

.footer-address {
  margin: 0 auto;
  max-width: 120rem;
  overflow: hidden;
  text-align: left;
  width: 90%;
}

.footer-address p {
  line-height: 1.6;
  margin: 1.5rem 0 1rem;
}

.footer-address p span {
  font-size: 1.6rem;
  font-weight: bold;
}

@media screen and (max-width:667px) {

  .footer-address p {
    font-size: 1.2rem;
  }

  .footer-address p span {
    font-size: 1.6rem;
  }

}


/* ==========================================================================*/
/*ご利用案内　*/
/* ==========================================================================*/

.flex-setsubi {
  width: calc(100% - 240px);
}

.flex-setsubiimg img {
  width: 230px;
  height: auto;
}

/* ==========================================================================*/
/*利用料・レンタル　*/
/* ==========================================================================*/

.checkprint a {
  padding: 2px 10px;
  border: solid 1px #aaaaaa;
  color: #303030;
}

.flex2c {
	align-items: center;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
}

.flex2c p {
  margin : 2rem 0 0 0;
  padding: 0 2rem;
  text-align: center;
  width: 50%;
}

.main .flex2c img.size-medium {
  width: 100%;
}

@media screen and (max-width:667px) {

  .flex2c {
    display: block
  }

  .flex2c p {
    width: 100%;
  }

}

/* ==========================================================================*/
/* アクセスマップ　*/
/* ==========================================================================*/

.map {
  border-right: dotted 1px #bfbfbf;
  margin-bottom: 2rem;
  padding: 0 1rem 1rem;
  width: 50%;
}

.map:last-child {
  border: none;
}

@media screen and (max-width:667px) {

  .map {
    border: none;
    border-bottom: dotted 1px #bfbfbf;
    margin-bottom: 0rem;
    padding: 0 ;
    width: 100%;
  }

}


/* ==========================================================================*/
/* バナー　*/
/* ==========================================================================*/

.banner {
  margin: 0 0 2rem;
}

.bannerimg {
  border: solid 3px #bfbfbf;
  margin-bottom: 5px;
  width: 100%;
  height: auto;
}

/* ==========================================================================*/
/* リンク集　*/
/* ==========================================================================*/

.list-link {
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-link li{
  border: solid 1px #bfbfbf;
  margin: 1rem 0;
  padding: 1rem;
}

.list-link li img{
  vertical-align: middle;
}

.list-link li a{
  font-weight: bold;
}

.list-link li p{
  background: #EFEBF1;
  margin: .5rem 0 0;
  padding: 1.5rem .5rem;
}

@media screen and (max-width:667px) {

  .list-link li a{
    display: block;
  }


}

/* ==========================================================================*/
/* イベントかんれんだー　*/
/* ==========================================================================*/

.xo-event-meta {
  padding: 0;
}

.eo-event-date {
  font-size: 1.8rem;
}


/* ==========================================================================*/
/* お知らせ　*/
/* ==========================================================================*/

.list-top {
    display: flex;
    justify-content: space-between;
}

.list-top2 {
    display: flex;
    justify-content: space-between;
}

.list-banner {
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-banner li {
  margin: 1rem;
  padding: 0;
}

.list-info {
  display: flex;
  flex-wrap: wrap;
  list-style: none;
  margin: 1rem 0;
  padding: 0;
}

.list-info li{
  background: #ffffe7;
  border: dotted 1px #bfbfbf;
  margin: 1rem;
  padding: .5rem 1rem 1rem;
  width: calc( 100% / 3 - 2rem);
}


.list-info li .info-title{
  background: url(images/list.png) no-repeat left center;
  border-bottom: solid 1px #434343;
  color: #434343;
  font-size: 1.8rem;
  font-weight: bold;
  padding: .5rem 1rem 1rem 4rem;
}

.list-info li p{
  font-size: 1.4rem;
  margin: 1rem 0;
}


.topowner {
  background: #e4f3f1;
}

.list-ower {
  display: flex;
  justify-content: space-between;
  list-style: none;
  margin: 0;
  padding: 1rem;
}

.list-ower li{
  background: #ffffe7;
  margin: 0;
  padding: 2rem 3rem;
  width: 49.5%;
}

.list-ower li a{
  border-bottom: solid 2px #434343;
  color: #434343;
  font-weight: bold;
}

.list-ower li p {
    position: relative;
    background-color: #ffffe7;
    background-image:
    linear-gradient(rgba(241,207,164,0.5) .1em, transparent .1em);
    background-size: 100% 2.0em;
    line-height:2.0em;
    margin-bottom: 0;
}

.list-ower li p.owner-date {
    margin-top: 0;
    text-align: right;
}


.topevent {
  display: flex;
  justify-content: space-between;
  margin-bottom: 3rem;
  width: 100%;
}

.topevent-inner {
  width: 49%;
}


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

.toparea ul li{
  background: url(images/list.png) no-repeat left center;
  border-bottom: dotted 1px #bfbfbf;
  margin: 0;
  padding: 1.5rem 1rem 1.5rem 5rem;
}


.list-banner2 {
  display: flex;
  flex-wrap: wrap;
}

.list-banner2 a{
  margin: .5rem;
  width: calc(25% - 1rem);
}



.list-cat {
  list-style:none;
  margin: 0;
  padding: 0;
}

.list-cat li{
  margin: 0;
  padding: 0 1rem;
}

.list-cat li p{
  margin: 1rem 0;
}

.list-cat li time{
  display: block;
  text-align: right;
}


@media screen and (max-width:667px) {

  .list-top,
  .list-top2,
  .list-banner2,
  .topevent {
    display: block;
  }

  .list-banner li {
    margin: 0 0 .5rem;
  }

  .list-info li{
    margin: 1rem 0;
    width: 100%;
  }

  .list-ower{
    display: block;
  }

  .list-ower li{
    padding: 2rem 1rem;
    width: 100%;
  }


  .topevent-inner {
    width: 100%;
  }

}




/* ==========================================================================*/
/* 予約フォーム　*/
/* ==========================================================================*/

input,
select,
textarea {
  border: solid 1px #bfbfbf;
  margin: .6rem 0;
  padding: .6rem;
}

input[type="submit"] {
  border: solid 2px #bfbfbf;
  padding: 2rem 3rem;
}

p.caution {
    background: #ffcc00;
    border: solid 2px #111111;
    padding: 12px 10px;
    font-size: 14px;
    line-height: 1.6;
    color: #000000;
}

.cautionlist li{
  margin: 0 0 0 3rem;
}

.required {
    margin: 0;
    display: inline-block;
    font-size: 0.8em;
    color: red;
    border: solid 1px red;
    float: right;
    line-height: 1.4;
  }

.any {
    margin: 0;
    display: inline-block;
    font-size: 0.8em;
    color: #606060;
    border: solid 1px #606060;
    float: right;
      line-height: 1.4;
  }


.mw_wp_form .error {
    font-size: 93%;
    color: #B70000;
    display: inline-block;
    margin-left:1rem;
}

.comp-coupon {
  background: #f4f2ec;
  border: solid 2px #bfbfbf;
  padding: 1rem 2rem;
}

.comp-coupon p {
  margin: 0;
}

.submit-caution {
  border: solid 1px red;
  color: red;
  font-weight: bold;
  padding: 10px;
  margin-bottom: 10px;
}



@media screen and (max-width:667px) {

  table.question th,
  table.question td {
    border: none;
    display: block;
    width: 100% !important;
  }

  input,
  select,
  textarea {
    width: 100%;
  }

  input[type="radio"],
  input[type="checkbox"] {
    width: auto;
  }

}


/* ==========================================================================*/
/* 　 */
/* ==========================================================================*/

.main-visual {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}

.main-visual:after {
    z-index: 0;
    content: "";
    display: block;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    background-color:rgba(0,0,0,0.4);
  }

.main-visual img {
  z-index: 2;
  position: absolute;
  top: -20%;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
}

.main-visual p {
  color: #fff;
  font-size: 1.8rem;
  z-index: 2;
  position: absolute;
  top: 55%;
  left: 0;
  right: 0;
  bottom: 0;
  margin: auto;
  width: 35em;
  text-align: center;
  text-shadow:
    black 1px 1px 2px, black -1px 1px 2px,
    black 1px -1px 2px, black -1px -1px 2px;
}

.main-visual span.annotation {
  background: #000;
  color: #fff;
  display: inline-block;
  font-size: 1rem;
  z-index: 2;
  position: absolute;
  bottom: 0;
  right: 0;
  margin: auto;
  padding: .2rem 2rem;
  text-align: center;
}


.main-visual video {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

@media screen and (max-width:667px) {

  .main-visual {
    display: none;
  }

}


@media screen and (max-width:667px) {

  .xo-months {
    overflow: scroll;
  }

  .xo-event-calendar table.xo-month {
    width: 100%;
  }

}



#gads {
  margin-top: 1rem;
}



/* ==========================================================================*/
/* 　notice */
/* ==========================================================================*/

.notice {
  /*background: #fbe1e2;*/
  background: #f8f0c2;
  border: solid 3px #ddd;
  margin: 1rem;
  padding: 2rem;
}

.notice h2 {
  /*background: #cc0000;*/
  background: #fff100;
  /*border: solid 2px #e23511;*/
  border-bottom: solid 1px #e23511;
  border-top: solid 1px #e23511;
  color: #e23511;
  font-weight: bold;
  font-size: 2.4rem;
  padding: 1rem 1rem .8rem;
  text-align: center;
}

.notice a {
  border-bottom: solid 2px #333;
  font-weight: bold;
  /*display: inline-block;*/
  line-height: 1.2;
}

@media screen and (max-width:667px) {

  .notice {
    margin: 0 0 2rem 0;
    padding: 1rem;
  }

  .notice h2 {
    font-size: 1.8rem;
  }

}