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

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

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

html {

}

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

main {
  display: block;
}


/* ==========================================================================*/
/* 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');
}

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

.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;
}

/*画像関連*/

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

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

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

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

blockquote {
  background: #efefef;
  color: #555;
  font-style: italic;
  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 {
  padding-top: 0 !important;
  padding-bottom: 1rem;
}

.contents {
  margin: 0 auto;
  width: 100%;
}

/*サイドバーあり*/
.content-flex {
  display: block;
  /*justify-content: space-between;*/
  margin: 1.5rem auto;
  width: 100%;
}

.content-flex:before,
.content-flex:after {
  content: " ";
  display: table;
}

.content-flex:after {
  clear: both;
}

.content-flex {
  *zoom: 1;
}

.content-flex .main {
  float: left;
  margin-right: 1rem;
  text-align: left;
  width: 70%;
}

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

.sub-title{
  /*background: #16517e;*/
  color: #fff;
  line-height:1.2;
  margin-bottom: 1rem;
  padding: 2rem;
}

/*サイドバーなし*/
.content {
  margin: 1.5rem auto;
  width: 100%;
}

.content .main {
  overflow: hidden;
  text-align: left;
  width: 100%;
}

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

article {
  overflow: hidden;
}

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

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

#page-top {
  bottom: 1rem;
  display: none;
  line-height: 1.4;
  position: fixed;
  right: 2rem;
}
#page-top a {
  background-color: #000;
  border-radius: 50%;
  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 #ccc;
  font-weight: normal;
  padding: .5rem;
  text-align: left;
  width: 20%;
}

table td {
  background: #fff;
  border: solid .1rem #ccc;
  padding: .5rem;
  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;
}

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

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: 16px;
  line-height: 1.2;
  color: #fff;
  background: #3c6e71;
  padding: 1rem 2rem;
  margin-bottom: 2rem;
}

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

h2.tophead {
  background: #1692b0;
}


h3 {
  border-bottom: solid 3px #bdd9d5;
  color: #3c6e71;
  font-size: 14px;
  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: 14px;
  font-weight: normal;
  line-height: 1.2;
}

h5 {
  border-bottom: solid .1rem #76acd6;
  font-size: 14px;
  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: 14px;
  font-weight: normal;
}


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

.bcbg {
  /*background: #ca3f17;*/
  color: #fff;
  padding: .5rem;
}

.bcbg a {
  color: #fff;
}

.breadcrumbs {
  font-size: 8px;
  margin: 0 auto;
  text-align: left;
  width: 100%;
}


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

.topslide-flex {
  background: #e4e5e0;
  display: flex;
  width: 100%;
  margin: 10px auto 0;
  padding: 8px;
}

.main-img img{
  display: inline-block;
  width: 100%;
  height: auto;
}

.contact-info {
  background: #fff;
  border: solid 1px #fff;
  margin-left: 8px;
  padding: 10px;
  position: relative;
  text-align: left;
  width: 37%;
}

.contact-list,
.contact-list2 {
  padding-bottom: 5rem;
}

.contact-list dt,
.contact-list2 dt {
  background: #689cb7;
  color: #fff;
  font-size: 8px;
  line-height: 1;
  padding: .2rem 0;
  text-align: center;
  width: 11em;
}

.contact-list dd,
.contact-list2 dd {
  border-bottom: dotted 1px #bfbfbf;
  line-height: 1.2;
  margin-bottom: .3rem;
  padding: .3rem;
}

.contact-list dd span,
.contact-list2 dd span {
  color:  #16517e;
  /*font-family: "Rounded Mplus 1c";*/
  /*font-family: "Spinnaker";*/
  font-size: 12px;
  font-weight: bold;
}

.contact-btn,
.contact-btn2 {
  bottom: 1rem;
  position: absolute;
  width: calc(100% - 20px);
}

.contact-btn div,
.contact-btn2 div {
  background: #16517e;
  color: #fff;
  font-family: "Rounded Mplus 1c";
  font-size: 8px;
  line-height:1.4;
  margin-top: .2rem;
  text-align: center;
  padding: .2vw 1vw;
  width: 100%;
}

.contact-btn div .phoneno,
.contact-btn2 div .phoneno {
  border-top: dotted 1px #fff;
  margin: 0;
  font-size: 12px;
  font-weight: bold;
  text-align: center;
}

.contact-btn div .phoneno span,
.contact-btn2 div .phoneno span {
  font-size: 10px;
}

.reservation {
  border: solid 1px red;
  color: red;
  font-family: "Rounded Mplus 1c";
  font-size: 14px;
  line-height: 1;
  margin: 0 0 1.5rem;
  padding: 0;
  text-align: center;
}

.ntb{
  display: none;
}

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

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

.main-header-inner {
  display: flex !important;
  align-items: center;
/*  height: 8vw;*/
  justify-content: space-between;
  margin: auto;
  max-height: 10rem;
  max-width: 120rem;
  padding: 1rem 0;
  width: 100%;
}

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

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

  .header-menu img{
    width: 20%;
  }

.nav-menu ul{
/*  display: flex;
  margin: 0;
  max-width: 120rem;
  padding: 0;
  vertical-align: middle;
  width: 100%;
  position: relative;*/
}

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

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

.nav-menu li:last-child {
  /*border-right: none;*/
}

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

.nav-menu li.active a {
  color: #000;
  /*background: #d2e3eb;*/
}

.nav-menu-container {
  /*background: #e1963a;*/
  padding: .5rem 0;
}

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

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

.sp-menu-btn {
  display: none;
}

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

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

.header-menu {
  width: 60%;
}

.m-reservation,
.m-reservation ul,
.m-reservation ul li {
  display :none;
}

/* ––––––––––––––––––––––––––––––––––––––––––––––––––
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: 98%;
  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: #16517e;
  background: #d2e3eb;
  background: -webkit-repeating-linear-gradient(-45deg, #e4e5e0, #e4e5e0 2px,#e9f4ff 2px, #e9f4ff 4px);
  background: repeating-linear-gradient(-45deg, #e4e5e0, #e4e5e0 2px,#e9f4ff 2px, #e9f4ff 4px);*/
}

.menu > ul > li a:hover {
  /*background: #d2e3eb;
  background: -webkit-repeating-linear-gradient(-45deg, #e4e5e0, #e4e5e0 2px,#e9f4ff 2px, #e9f4ff 4px);
  background: repeating-linear-gradient(-45deg, #e4e5e0, #e4e5e0 2px,#e9f4ff 2px, #e9f4ff 4px);*/
  opacity: 1;
}

.menu > ul > li > ul {
    display: none;
    width: 100%;
    /*background: #d2e3eb;
    background: -webkit-repeating-linear-gradient(-45deg, #e4e5e0, #e4e5e0 2px,#e9f4ff 2px, #e9f4ff 4px);
    background: repeating-linear-gradient(-45deg, #e4e5e0, #e4e5e0 2px,#e9f4ff 2px, #e9f4ff 4px);*/
    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 a {
    color: #777;
    padding: .2em 0;
    width: 100%;
    display: block;
    border-bottom: 1px solid #ccc;
}
*/

/*
.menu > ul > li > ul > li > ul {
    display: block;
    padding: 0;
    margin: 10px 0 0;
    list-style: none;
    box-sizing: border-box;
}


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

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

.menu > ul > li > ul > li > ul > li {
    float: left;
    width: 100%;
    padding: 10px 0;
    margin: 0;
    font-size: .8em;
}

.menu > ul > li > ul > li > ul > li a {
    border: 0;
}
*/

/*.menu > ul > li > ul.normal-sub {
    /*width: 300px;*/
    /*left: auto;
    /*padding: 10px 20px;*/
/*}

.menu > ul > li > ul.normal-sub > li {
    /*width: 100%;*/
    /*width:20%;*/
/*}

.menu > ul > li > ul.normal-sub > li a {
    border: 0;
    margin: .5rem 0;
    padding: 1rem 0;
    color: #fff;
    background: #16517e;
    text-align: center;
}

.menu > ul > li > ul.normal-sub > li a:hover {
    opacity: 0.6;
}*/

.menu > ul > li > ul > li > ul > li a {
    border: 0;
    margin: 0 ;
    padding: .5rem 0;
    color: #fff;
    /*background: #16517e;*/
    text-align: center;
}

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

/* ==========================================================================*/
/* 検索フォームの設定 */
/* ==========================================================================*/

.searchform {
  max-width: 40rem;
  width: 100%;
}

.searchform div {
  align-items: center;
  display: flex;
}

.searchform-label {
  width: 80%;
}

input[type="search"] {
  margin: 2px 2px 2px 3px;
  padding: 6px;
  width: 100%;
}

input[type="image"] {
  padding: 0 10px;
  vertical-align: middle;
}


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

/* 白いボックスのリスト*/
.list-whitebox {
  display: flex;
  flex-flow: row wrap;
  font-size: 10px;
  /*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%;
}


/* 共通過去の記事一覧 */
.more a {
  background: #434343;
  color: #fff;
  display: block;
  padding: 1.4rem;
  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;
}


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

.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;
}

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

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

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

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

.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-color: rgb(255,255,255,0.8);
  color: #434343;
  font-size: 14px;
  left: 0;
  margin: 0 auto;
  padding: 1rem;
  position: absolute;
  bottom: 0;
  width: 100%;
}

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



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

#sidebar {
  width: auto !important;
  position: inherit !important;
  top: 0 !important;

}

.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: 12px;
}

.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;
}


/* ==========================================================================*/
/* 検索結果 */
/* ==========================================================================*/

.list-search {
  margin: 0;
  padding: 0;
}

.list-search li {
  background-color: #fff;
  border: solid 1px #bfbfbf;
  list-style: none;
  margin: .5rem;
  padding: 1rem 2.5rem;
  text-align: left;
  word-break: break-all;
}

.search-quote * {
  color: #434343;
  margin: .5rem 0;
}

.search-permalink {
  color: #006621;
}

/* ==========================================================================*/
/* 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,
.sitemap-menu a[href*=".pdf"]::before,
.sitemap-menu  a[href*=".doc"]::before,
.sitemap-menu  a[href*=".docx"]::before,
.sitemap-menu  a[href*=".xls"]::before,
.sitemap-menu  a[href*=".xlsx"]::before {
  display: none;
}


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

.sitemap-outer {

}

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

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

.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: 16px;
  margin: .5rem 0 0;
  text-align: left;
}


/* ==========================================================================*/
/*　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 {
  background: #3c6e71;
  color: #fff;
  font-size: 12px;
  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: 14px;
  font-weight: bold;
}


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

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

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

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

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


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

.map {
  border-right: dotted 1px #bfbfbf;
  margin-bottom: 2rem;
  padding: 0 1rem 1rem;
  width: (100% / 3);
}


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

.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;
}

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

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

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


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

.list-top {
    display: flex;
}

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

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

.list-info {
  display: block;
  list-style: none;
  margin: 1rem 0;
  padding: 0;

}

.list-info:before,
.list-info:after {
    content: " ";
    display: table;
}

.list-info:after {
    clear: both;
}

.list-info {
    *zoom: 1;
}

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


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

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


.topowner {
  background: #e4f3f1;
  width: 49%;
}

.list-ower {
  list-style: none;
  margin: 0;
  padding: 1rem;
}

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

.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 {
  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;
}



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

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;
}




.main-visual {
  position: relative;
  padding-bottom: 56.25%;
  height: 0;
  overflow: hidden;
}
 
.main-visual img {
    z-index: 2;
    position: absolute;
    top: -20%;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    width:70%;
}

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

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

