@charset "UTF-8";
@import url(reset.css);
@import url("https://use.typekit.net/ncr6npr.css");

/*--------------------------------------------------------------

reset.css
リセット関係・clearfixなど

common.css
上記cssのimport、レイアウト（大枠）を記載したcss

sub.css
下層のレイアウト（大枠）を記載したcss

style_***.css
***のスタイル・カラーリングを記載したcss

--------------------------------------------------------------*/
/*--------------------------------------------------------------*/
/* font icon */
/*
//Material Design Iconic Font：http://zavoloklom.github.io/material-design-iconic-font/
::before {
	content: '\f2fb';
	font-family: 'Material-Design-Iconic-Font';
  display: inline-block;
  font-weight: normal;
  font-style: normal;
  font-size: inherit;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

*/
/* ------------------------------------------------------------ */
/* 全デバイス幅共通：基本・レイアウト指定 */
/* ------------------------------------------------------------ */
* html body {
  background: url(null) fixed;
}

*,
*:before,
*:after {
  box-sizing: border-box;
}

body {
  margin: 0;
  padding: 0;
  background: #fff;
  color: #2d100a;
  font-size: 16px;
  *font-size: small;
  *font: x-small;
  line-height: 1.5;
  font-weight: 400;
  /* winで游ゴシック使うときはウェイト指定入れる */
  font-family: "游ゴシック", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "メイリオ", Meiryo, sans-serif;
  -webkit-text-size-adjust: 100%;
  /*レスポンシブのとき*/
}

html {
  overflow-x: hidden;
}

.sp {
  display: none;
}

/* ------------------------------------------------------------ */
/* font */
.min,
.fix_menu,
.menu li,
.contactBtn,
a.more,
.base h2,
.cmnBtn,
h3.line,
.btn,
.contactArea,
.sitemap,
.sbNav,
.pagetitle,
.base h3.tit,
.sideList,
.pagenate,
.sub.room #hotel .post_content h2,
.menuList .menu_txt p.menu_price,
.menu_txt dl dt,
.os-phrases,
.post_content .faqBox h2,
#modaal-title,
.modaal-confirm-btn {
  font-weight: 400;
  font-family: "adobe-garamond-pro", 游明朝, YuMincho, "游明朝", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "Times New Roman", serif;
  letter-spacing: 0.05em;
}

.bickham {
  font-weight: 400;
  font-family: "bickham-script-pro-3", sans-serif;
}

#wedding.faqBox {
  font-family: "adobe-garamond-pro", 游明朝, YuMincho, "游明朝", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "Times New Roman", serif;
}

/* ------------------------------------------------------------ */
/* リンク色 */
/* ------------------------------------------------------------ */
/*::selection {
	color: #666;
	background: rgba(26, 160, 145, .1);
}
*/
a {
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  text-decoration: none;
}

a:link {
  color: #333;
  text-decoration: none;
}

a:visited {
  color: #333;
  text-decoration: none;
}

a:hover {
  color: #d0ab59;
  text-decoration: none;
}

a:active {
  color: #d0ab59;
  text-decoration: none;
}

a.more {
  color: #d0ab59;
  padding: 0 5px;
  display: inline-block;
  position: relative;
}

a.more::before {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: #d0ab59;
  position: absolute;
  bottom: 0;
  left: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

a.more::after {
  content: "\f301";
  font-family: "Material-Design-Iconic-Font";
  display: inline-block;
  vertical-align: middle;
  margin: 0 0 0 10px;
  line-height: 1;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

a.more:hover {
  color: #999;
}

a.more:hover::before {
  width: 100%;
}

/* ------------------------------------------------------------ */
/* float */
/* ------------------------------------------------------------ */
.floatL {
  float: left;
  margin: 0 1em 1em 0;
}

.floatR {
  float: right;
  margin: 0 0 1em 1em;
}

/* ------------------------------------------------------------ */
/* ボタン */
/* ------------------------------------------------------------ */
.btn {
  text-align: center;
  max-width: 320px;
  height: auto;
  margin: 0 auto;
}

.btn a {
  display: block;
  width: 100%;
  height: 100%;
  color: #d0ab59;
  padding: 0.8em 1em;
  border: 1px solid #d0ab59;
  position: relative;
  overflow: hidden;
  z-index: 1;
}

.top_test .btn a {
  display: inline-flex;
  justify-content: center;
  align-items: center;
}

.btn a::before {
  content: "";
  display: block;
  width: 0;
  height: 102%;
  background: #d0ab59;
  position: absolute;
  top: 0;
  left: 0;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
  z-index: -1;
}

.btn i.sizeL {
  font-size: 1.4em;
  margin: 0 8px 0 0;
}

.btn a:hover {
  color: #fff;
}

.btn a:hover::before {
  width: 100%;
}

.btn.wht a {
  background: #fff;
}

.btn.fb a {
  border: 1px solid #3b5999 !important;
  background: #fff !important;
  color: #3b5999 !important;
}

.btn.fb a::before {
  height: 102%;
  background: #3b5999 !important;
}

.btn.fb a:hover,
.btn.insta a:hover {
  color: #fff !important;
}

.btn.insta a {
  border: 1px solid #e4405f !important;
  background: #fff !important;
  color: #e4405f !important;
}

.btn.insta a::before {
  height: 102%;
  background: #e4405f !important;
}

.btn.btn-wd a {
  border: 1px solid #d0ab59 !important;
  background: #fff !important;
  color: #d0ab59 !important;
}

.btn.btn-wd a::before {
  height: 102%;
  background: #d0ab59 !important;
}

.btn.fb a:hover,
.btn.insta a:hover,
.btn.btn-wd a:hover {
  color: #fff !important;
}

.btnBox {
  text-align: center;
  margin: 0 auto 20px;
}

.btnBox .btn {
  margin: 0 1em;
  width: 320px;
  display: inline-block;
}

.btn-3cols {
  display: flex;
  justify-content: center;
  flex-wrap: wrap;
}

.btn-3cols .btn {
  width: calc((100% - 6em) / 3);
  margin: 1em;
}

.bn-box {
  margin: 20px auto 10px;
  max-width: 1064px;
  display: flex;
  justify-content: flex-start;
  align-items: center;
  flex-wrap: wrap;
}

.bn-box.wide {
  margin: 3.5em auto 0;
}

.bn-box img {
  width: 100%;
  height: auto;
}

.bn-box a {
  margin: 0 10px 10px 0;
  width: calc(100% / 4 - 10px);
  display: block;
}

.bn-box a:hover {
  opacity: 0.7;
}

.bn-box a:nth-of-type(4n) {
  margin: 0 0 10px;
}

.bn-box.wide a {
  margin: 0 auto 10px;
  width: 100%;
  display: block;
}

.bn-box.wide.bn_2cols a {
  margin: 0 10px 10px 0;
  width: calc(100% / 2 - 10px);
}

.bn-box.wide.bn_2cols a:nth-of-type(2n) {
  margin: 0 0 10px;
}

.bn-box.bn_3cols {
  align-items: flex-start;
}

.bn-box.wide.bn_3cols a,
.bn-box.wide.bn_3cols .bn_item {
  margin: 0 10px 10px;
  width: calc(100% / 3 - 20px);
}

.bn-box .bn_item.movie {}

.bn_4cols {
  justify-content: center;
}

.recruit .bn_4cols,
.recruit-test .bn_4cols {
  margin: 3.2rem auto 0;
  max-width: 980px;
}

.bn_4cols .bn_item {
  margin: 0 10px 10px 0;
  padding: 8px;
  width: calc((100% - 10px * 3) / 4);
  border: 1px solid rgba(0, 0, 0, 0.2);
}

.bn_4cols .bn_item:nth-of-type(4n) {
  margin: 0 0 10px;
}

.bn_4cols .bn_item a {
  margin: 0;
  width: 100%;
}

.bn-box .bn_item img {
  width: 100%;
  height: auto;
}

/* ------------------------------------------------------------ */
/* ロゴ共通 */
.logo {
  width: 100%;
  max-width: 245px;
  height: auto;
}

.logo a {
  display: block;
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

.logo img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.logo a:hover {
  opacity: 0.7;
}

/* ------------------------------------------------------------ */
/* 全体格納 */
/* ------------------------------------------------------------ */
.wrapper {
  width: 100%;
  height: 100%;
  margin: 0 auto;
}

.inner {
  width: 100%;
  max-width: 1200px;
  height: auto;
  margin: 0 auto;
  clear: both;
}

.inner.narrow {
  max-width: 980px;
  padding: 0 clamp(1.6rem, 0.511rem + 3.404vw, 4rem);
}

.inner::after {
  content: "";
  clear: both;
  display: block;
}

.content {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 0 64px 0 0;
}

/* ------------------------------------------------------------ */
/* 右Fixナビ */
/* ------------------------------------------------------------ */
.fix_menu {
  width: 65px;
  height: 100%;
  padding: 20px 0;
  text-align: center;
  position: fixed;
  top: 0;
  right: 0;
  background: #d0ab59;
  z-index: 9999;
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.5);
}

.fix_menu a {
  font-size: 1.2rem;
  color: #fff;
  display: inline-block;
  padding: 8px 5px;
  margin: 0 0 1em;
  letter-spacing: 0.08em;
  -webkit-writing-mode: vertical-rl;
  -ms-writing-mode: tb-rl;
  writing-mode: vertical-rl;
  word-wrap: break-word;
  white-space: nowrap;
  word-break: break-all;
}

.fix_menu a:hover {
  background: #fff;
  color: #d0ab59;
}

.fix_menu a:last-child {
  margin: 1.5em 0 0;
}

/* ------------------------------------------------------------ */
/* ヘッダー */
/* ------------------------------------------------------------ */
header {
  width: 100%;
  height: auto;
  display: table;
  margin: 0 auto;
  padding: 0 64px 0 20px;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(255, 255, 255, 0.95);
  z-index: 9998;
  box-shadow: 0 0 5px 0 rgba(0, 0, 0, 0.3);
}

header.flex,
#wedding header,
.top_test #wedding header {
  display: flex;
  justify-content: space-between;
}

header::after {
  content: "";
  clear: both;
  display: block;
}

header .logo {
  width: 20%;
  height: auto;
  margin: 0;
  padding: 10px 0;
  display: table-cell;
  vertical-align: top;
}

header .logo a:hover {
  opacity: 0.7;
}

header.flex .logo,
#wedding header .logo,
.top_test #wedding header .logo {
  /* width: 18%; */
  width: 16%;
  display: block;
  padding: 0;
  margin: 0 1em 0 0;
}

header.flex .logo a,
#wedding header .logo a,
.top_test #wedding header .logo a {
  display: inline-flex;
  align-items: center;
}

/* ------------------------------------------------------------ */
/* グローバルナビ */
/* ------------------------------------------------------------ */
.gNav {
  width: 62%;
  /* margin: 0 0 0 auto; */
  display: table-cell;
  vertical-align: middle;
  padding: 0 10px 0 20px;
}

.flex .gNav {
  width: 63%;
  display: flex;
}

#wedding .gNav {
  /* width: 67%; */
  width: auto;
  display: flex;
  padding: 0;
  margin: 0 0 0 auto;
}

.en .gNav {
  width: 56%;
}

.en #wedding .gNav {
  width: 58%;
}

/* .top_test #wedding .gNav {
	width: auto;
  display: flex;
  padding: 0;
  margin: 0 0 0 auto;
} */
.menu {
  width: 100%;
  height: 72px;
  overflow: hidden;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  text-align: center;
}

.en .menu {
  height: auto;
  justify-content: space-evenly;
}

.flex .menu,
#wedding .menu,
.top_test #wedding .menu {
  height: auto;
  align-items: center;
}

.menu li a {
  display: block;
  color: #2d100a;
  padding: 15px 10px;
  text-align: center;
  position: relative;
}

#wedding .menu li a {
  /* font-size: 0.95em; */
  font-size: .9em;
  padding: 1em 0.6em;
}

/* .top_test #wedding .menu li a {
	font-size: .9em;
  padding: 1em 0.6em;
} */
#wedding .menu li a br,
.top_test #wedding .menu li a br {
  display: none;
}

.en .menu li a,
.en #wedding .menu li a {
  font-size: 1.1em;
}

.menu li a:hover {
  color: #d0ab59 !important;
}

.menu li a span {
  display: block;
  font-size: 13px;
  color: #d0ab59;
}

.menu>li a::after {
  content: "";
  display: block;
  width: 0;
  height: 1px;
  background: #d0ab59;
  position: absolute;
  bottom: 8px;
  left: 0;
  transition: all 0.3s ease-in-out;
  z-index: 1;
}

.menu>li a:hover::after {
  width: 100%;
}

/* ------------------------------------------------------------ */
/* サブメニュー・ドロップダウン */
/* mega menu */
.menu__mega .menu__second-level {
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  padding: 30px 90px 30px 2%;
  background: #fbf7ec;
  -webkit-transition: all 0.2s ease;
  transition: all 0.2s ease;
  visibility: hidden;
  opacity: 0;
  z-index: -1;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.2);
}

.menu__mega:hover .menu__second-level {
  visibility: visible;
  opacity: 1;
}

.menu__second-level ul {
  float: left;
  width: 80%;
  padding: 0 1em;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap;
}

.menu__second-level.full ul {
  float: none;
  width: 100%;
}

.menu__second-level li {
  /* float: left;
	width: calc(100% / 5 - 20px); */
  width: calc((100% - 20px * 5) / 5);
  margin: 0 10px 20px;
}

.menu__second-level.full li {
  /* width: calc(100% / 6 - 20px); */
  width: calc((100% - 20px * 6) / 6);
}

.menu__second-level li a {
  display: block;
  width: 100%;
  height: 100%;
  padding: 0 !important;
}

.menu__second-level li a:hover {
  opacity: 0.7;
}

.menu__second-level li a:hover::after {
  display: none;
}

.menu__second-level li img {
  width: 100%;
  height: auto;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.menu__second-level li a:hover img {
  box-shadow: 0 0 5px rgba(0, 0, 0, 0.8);
}

.menu__second-level li a span {
  font-size: 0.8em;
  padding: 10px 0 0;
  text-align: left;
  display: block;
}

.menu__second-level .txt {
  float: left;
  width: 20%;
  padding: 0 2em 0 10px;
  border-right: 2px solid #d0ab59;
}

.menu__second-level .txt h3 {
  font-size: 1.2rem;
  font-weight: normal;
  margin: 0 auto 15px;
}

.menu__second-level .txt h3 span {
  font-size: 1rem;
  color: #d0ab59;
  display: block;
}

.menu__second-level .txt p {
  font-size: 12px;
  color: #666;
  line-height: 1.8;
  margin: 0 0 8px;
}

.menu__second-level .txt p.btn {
  line-height: 1.5;
}

.menu__second-level .txt p.btn a {
  padding: 8px;
}

.menu__second-level .txt p.btn a::after {
  display: none;
}

/* ------------------------------------------------------------ */
/* サブメニュー・ドロップダウン */
.contactBtn {
  width: 19%;
  display: table-cell;
  vertical-align: top;
}

.contactBtn a {
  background: #2d100a;
  padding: 10px;
  text-align: center;
  color: #fff;
  font-size: 0.8rem;
}

.contactBtn a.pc {
  display: block;
}

.contactBtn a:hover {
  opacity: 0.8;
  color: #fff !important;
}

.contactBtn span {
  display: block;
  padding: 3px 0 0;
  line-height: 1.2;
  font-size: 2rem;
}

.contactBtn span i {
  display: inline-block;
  line-height: 1.2;
  font-size: 0.6em;
  margin: 0 8px 0 0;
}

.en .contactBtn {
  width: auto;
}


.flex .contactBtn {
  width: auto;
  max-width: 20%;
  display: flex;
  justify-content: flex-end;

}

#wedding .contactBtn {
  /* width: 15%; */
  width: auto;
  display: flex;
  justify-content: flex-end;
  margin: 0 0 0 1em;
}

.en #wedding .contactBtn {
  width: auto;
}

/* .top_test #wedding .contactBtn {
	width: auto;
  display: flex;
	justify-content: flex-end;
  margin: 0 0 0 1em;
} */
#wedding .contactBtn a {
  font-size: 0.8rem;
}

#wedding .contactBtn span {
  /* font-size: 1.6rem; */
  font-size: 1em;
}

/* .top_test #wedding .contactBtn span {
	font-size: 1em;
} */
#wedding .contactBtn .pc a i {
  /* margin-right: 8px; */
  margin-right: 0;
}

/* .top_test #wedding .contactBtn .pc a.phone i {
	margin-right: 0;
} */
/* 2020/09/14 ,2026/01/14 */
.contactBtn.ver02,
#wedding .contactBtn.ver02 {
  vertical-align: middle;
  margin-left: auto;
}

.contactBtn.ver02 div.pc,
#wedding .contactBtn.ver02 div.pc {
  /* width: 100%;
	height: 72px; */
  width: auto;
  height: auto;
  display: flex;
  justify-content: space-between;
  align-items: stretch;
  align-content: center;
}

#hotel .contactBtn.ver02 .pc {
  flex-wrap: wrap;
}

/* .top_test #wedding .contactBtn.ver02 div.pc {
	width: auto;
  height: auto;
} */
.contactBtn.ver02 .pc a,
#wedding .contactBtn.ver02 .pc a {
  font-size: 14px;
  /* padding: 15px 5px;
	width: calc(100% - 50px); */
  width: auto;
  padding: 10px;
  border-left: 1px solid #fff;
  display: inline-flex;
  justify-content: center;
  align-items: center;
  align-content: center;
}

#hotel .contactBtn.ver02 .pc a {
  padding-left: 6px;
  padding-right: 6.5px;
  width: 50%;
}

#hotel .contactBtn.ver02 .pc a:only-of-type {
  width: 100%;
  min-width: 180px;
  height: 100%;
  font-size: 14px;
}

#hotel .contactBtn.ver02 .pc a i {
  font-size: 1.25em;
  margin-inline: 4px;
}

#hotel .contactBtn.ver02 .pc a:not(.phone) span {
  font-size: 12px;
  display: none;
}


.contactBtn.ver02 .pc a.phone,
#wedding .contactBtn.ver02 .pc a.phone {
  font-size: 1.5em;
  /* width: 50px;
	padding: 10px; */
  width: auto;
  padding: 10px;
}

#hotel .contactBtn.ver02 .pc a.phone {
  width: 100%;
  border-top: 1px solid #fff;
}

#hotel .contactBtn.ver02 .pc a.phone i {
  font-size: 0.75em;
}

#hotel .contactBtn.ver02 .pc a.phone span {
  font-size: 0.8em;
}


/* .top_test #wedding .contactBtn.ver02 .pc a,
.top_test #wedding .contactBtn.ver02 .pc a.phone {
  width: auto;
  padding: 10px;
} */

@media screen and (min-width: 1200px) {
  .flex .gNav {
    margin: 0 0 0 auto;
  }

  .flex .contactBtn {
    max-width: 200px;
    margin-left: 1em;
  }
}

@media screen and (min-width: 1220px) and (max-width: 1395px) {
  .menu li a {
    padding: 1em 0.5em;
    font-size: 0.95em;
  }

  .gNav {
    width: 64%;
    padding: 0 0.5em 0 1em;
  }

  .menu {
    height: 66px;
  }

  .contactBtn {
    width: 16%;
  }

  .contactBtn a {
    font-size: 0.75rem;
  }

  .contactBtn span {
    font-size: 1.4rem;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1219px) {
  header .logo {
    width: 17%;
    vertical-align: middle;
  }

  .gNav {
    width: 66%;
  }

  .menu {
    height: 64px;
  }

  .menu li a {
    font-size: 13px;
    padding: 0.8em 0.5em;
  }

  .menu__mega .menu__second-level {
    padding: 20px 60px 20px 2%;
  }

  .menu__second-level ul {
    border-left: 2px solid #d0ab59;
  }

  .menu__second-level li {
    width: calc(100% / 4 - 16px);
    margin: 0 8px 10px;
  }

  .menu__second-level li a span {
    font-size: 12px;
  }

  .menu__second-level .txt {
    border-right: none;
  }

  .contactBtn {
    width: 20%;
  }

  .contactBtn a {
    font-size: 12px;
  }

  .contactBtn span {
    font-size: 1.2rem;
  }
}

@media screen and (min-width: 1183px) and (max-width: 1428px) {
  #wedding header {
    padding: 0 64px 0 10px;
    display: flex;
    justify-content: space-between;
  }

  /* .top_test #wedding header {
    display: flex;
    justify-content: space-between;
  } */
  #wedding header .logo {
    width: 15%;
  }

  #wedding .gNav {
    padding: 0 10px;
    /* width: 69.3%; */
    width: auto;
  }

  /* .top_test #wedding .gNav {
		width: auto;
	} */
  #wedding .menu {
    /* height: 60px; */
    height: auto;
    align-items: stretch;
  }

  /* .top_test #wedding .menu {
		height: auto;
    align-items: stretch;
	} */
  #wedding .menu li a {
    /* font-size: 0.85em; */
    font-size: .8em;
    padding: 0.8em .65em;
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    height: 100%;
  }

  /* .top_test #wedding .menu li a {
    font-size: .8em;
    padding: 0.8em .65em;
    display: inline-flex;
    align-items: center;
    flex-direction: column;
    height: 100%;
	} */
  #wedding .menu li a span {
    font-size: 11px;
  }

  #wedding .contactBtn {
    /* width: 16%; */
    width: auto;
  }

  #wedding .contactBtn a {
    font-size: 11px;
  }

  #wedding .contactBtn span {
    font-size: 1.2rem;
    display: none;
  }

  #wedding .contactBtn.ver02 div.pc {
    height: 60px;
  }

  /* .top_test #wedding .contactBtn {
		width: auto;
	}
	.top_test #wedding .contactBtn span {
		display: none;
	} */
  /* .top_test #wedding .contactBtn.ver02 div.pc {
		height: auto;
	} */
  #wedding .contactBtn.ver02 .pc a,
  #wedding .contactBtn.ver02 .pc a.phone {
    width: auto;
    font-size: 1.5em;
    padding: 10px;
  }

  #wedding .contactBtn .pc a i {
    margin-right: 0;
  }

  /* #wedding .contactBtn.ver02 .pc a {
    font-size: 12px;
  } */
  .en #wedding .contactBtn span {
    display: block;
  }
}

@media screen and (min-width: 1025px) and (max-width: 1182px) {
  #wedding header {
    padding: 0 64px 0 10px;
    display: flex;
    justify-content: space-between;
  }

  /* .top_test #wedding header {
    display: flex;
    justify-content: space-between;
  } */
  #wedding header .logo {
    width: 16%;
  }

  #wedding .gNav {
    padding: 0 10px;
  }

  #wedding .menu {
    height: auto;
    align-items: stretch;
  }

  #wedding .menu li a {
    /* font-size: 13px; */
    font-size: 12px;
    padding: .8em 0.98em;
    display: inline-flex;
    align-items: center;
    height: 100%;
  }

  #wedding .menu li a br {
    display: block;
  }

  #wedding .menu li a span {
    display: none;
  }

  #wedding .contactBtn {
    /* width: 17%; */
    width: auto;
  }

  #wedding .contactBtn a {
    font-size: 11px;
  }

  #wedding .contactBtn span {
    font-size: 1.2rem;
    display: none;
  }

  /* .top_test #wedding .contactBtn span {
		display: none;
	} */
  .contactBtn.ver02 div.pc,
  #wedding .contactBtn.ver02 div.pc {
    /* height: 60px; */
    height: auto;
  }

  .contactBtn.ver02 .pc a,
  #wedding .contactBtn.ver02 .pc a {
    font-size: 12px;
  }

  /* .top_test #wedding .contactBtn.ver02 div.pc {
		height: auto;
	} */
  #wedding .contactBtn.ver02 .pc a,
  #wedding .contactBtn.ver02 .pc a.phone {
    width: auto;
    font-size: 1.5em;
    padding: 10px;
  }

  #wedding .contactBtn .pc a i {
    margin-right: 0;
  }

  .en #wedding .gNav {
    width: 56%;
    padding: 0 5px 0 10px;
  }

  .en #wedding .menu li a {
    font-size: 0.95em;
    padding: 0.8em 0.3em;
  }

  .en #wedding .contactBtn span {
    display: block;
  }
}

/* ------------------------------------------------------------ */
/* コンテンツ共通 */
/* ------------------------------------------------------------ */
section.base {
  width: 100%;
  height: auto;
  padding: 80px 0;
  margin: 0 auto;
  clear: both;
}

section.base::after {
  content: "";
  clear: both;
  display: block;
}

/* ------------------------------------------------------------ */
/* 背景画像＋透過黒 */
.bg {
  position: relative;
}

.bg::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
}

.bg .inner {
  position: relative;
  z-index: 2;
}

.base h2,
.base h3.tit {
  font-size: 24px;
  font-weight: normal;
  margin: 0 auto 30px;
  letter-spacing: 0.08em;
}

.base h2.tit,
.base h2.bg_tit,
.base h3.tit {
  text-align: center;
  line-height: 1.8;
}

.base h2.tit span {
  display: block;
  color: #d5b46a;
  line-height: 1;
}

.base h2.bg_tit {
  position: relative;
  margin: 0 auto;
  padding: 4% 0;
  z-index: 2;
  overflow: hidden;
}

.base h2.bg_tit span {
  display: block;
  line-height: 1;
  width: 100%;
  position: absolute;
  left: 50%;
  transform: translateX(-50%);
  z-index: -1;
}

.base h3.line {
  font-size: 24px;
  font-weight: normal;
  margin: 0 auto 20px;
  padding: 0 0 5px;
  line-height: 1.2;
  border-bottom: 2px solid #d0ab59;
  letter-spacing: 0.08em;
}

/* ------------------------------------------------------------ */
/* コンテンツ・カラムパターン */
.column {
  width: 100%;
  height: auto;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  /*水平方向の揃え*/
  align-items: stretch;
  /*垂直方向の揃え*/
}

.column .item {
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* 2カラム */
.column.col02 .item {
  width: calc(100% / 2);
}

/* 3カラム */
.column.col03 .item {
  width: calc(100% / 3);
}

/* 4カラム */
.column.col04 .item {
  width: calc(100% / 4);
}

/* 5カラム */
.column.col05 .item {
  width: calc(100% / 5);
}

/* ------------------------------------------------------------ */
/* 画像 */
.thum img,
.photo img,
.eyecatch img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}

/* ------------------------------------------------------------ */
/* スライダー */
.slideBox {
  position: relative;
}

.swiper-slide {
  /* Center slide text vertically */
  display: -webkit-box;
  display: -ms-flexbox;
  display: -webkit-flex;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  -webkit-justify-content: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  -webkit-align-items: center;
  align-items: center;
}

.swiper-slide img {
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.slideBox .swiper-container-horizontal>.swiper-pagination-bullets,
.slider-pager .swiper-container-horizontal>.swiper-pagination-bullets {
  bottom: -40px;
}

.slideBox .swiper-pagination-bullet,
.slider-pager .swiper-pagination-bullet {
  width: 10px;
  height: 10px;
  background: #d0ab59;
  border: 1px solid #d0ab59;
  opacity: 1;
}

.slideBox .swiper-pagination-bullet-active,
.slider-pager .swiper-pagination-bullet-active {
  background: #fff !important;
}

.slideBox .swiper-button-prev,
.slideBox .swiper-button-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  font-size: 3rem;
  width: 20px;
  height: auto;
  line-height: 1;
  margin-top: 0;
  background: none;
  color: #d0ab59;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.slideBox .swiper-button-prev:hover,
.slideBox .swiper-button-next:hover {
  color: #ccc;
}

.slideBox .swiper-button-next,
.slideBox .swiper-container-rtl .swiper-button-prev {
  right: 0;
}

.slideBox .swiper-button-prev,
.slideBox .swiper-container-rtl .swiper-button-next {
  left: 0;
}

/* ticker */
.tickerBox {
  width: 100%;
  margin: 0 auto;
}

.tickerBox .bx-wrapper {
  width: 100%;
  max-width: 100% !important;
  margin: 0 auto;
  -moz-box-shadow: none;
  -webkit-box-shadow: none;
  box-shadow: none;
  border: none;
}

.tickerBox .bx-wrapper img {
  width: 100%;
  display: block;
}

/* ------------------------------------------------------------ */
/* モーダル */
#modaal-title {
  text-align: center;
  margin: 0 auto 20px;
  font-size: 28px;
  color: #d5b46a;
}

.modaal-confirm-content {
  text-align: center;
}

.modaal-confirm-content h5 {
  font-size: 24px;
}

.modaal-confirm-btn {
  font-size: 16px !important;
  font-weight: bold;
}

.modaal-confirm-btn.modaal-ok {
  background: #d5b46a !important;
  border: 2px solid #d5b46a;
  -webkit-transition: all 0.2s ease-in-out !important;
  transition: all 0.2s ease-in-out !important;
}

.modaal-confirm-btn.modaal-ok:hover {
  color: #d5b46a !important;
  background: #fff !important;
}

.modaal-confirm-btn.modaal-cancel {
  padding: 10px 15px;
  color: #d5b46a;
  background: #fff;
  border-radius: 3px;
  border: 2px solid #d5b46a;
  text-decoration: none !important;
  -webkit-transition: all 0.2s ease-in-out;
  transition: all 0.2s ease-in-out;
}

.modaal-confirm-btn.modaal-cancel:hover {
  color: #fff !important;
  background: #999 !important;
  border: 2px solid #999 !important;
}

/* ------------------------------------------------------------ */
/* アコーディオン */
.ac-wrap {
  width: 100%;
  margin: 3% auto;
  padding: 0 3% 1%;
  border: 5px solid rgba(94, 131, 104, 0.5);
}

.ac-tit {
  position: relative;
  cursor: pointer;
  -webkit-transition: all 0.3s ease-in-out;
  transition: all 0.3s ease-in-out;
}

.ac-tit span {
  display: inline-block;
  margin: 0 10px;
  font-size: 0.8em;
  color: #666;
}

.ac-tit:hover {
  box-shadow: 0 1px 8px 0 rgba(0, 0, 0, 0.3);
}

.ac-tit::after {
  content: "\f276";
  font-family: "Material-Design-Iconic-Font";
  display: inline-block;
  font-weight: normal;
  font-style: normal;
  font-size: 1.4em;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  color: #5f8368;
  position: absolute;
  top: 50%;
  right: 15px;
  transform: translateY(-50%);
}

.ac-tit.open::after {
  content: "\f271";
}

.ac-box {
  margin: 0 auto 4%;
  border-bottom: 4px dotted #d2d2d2;
}

/* ------------------------------------------------------------ */
/* メインビジュアル */
/* ------------------------------------------------------------ */
.main-visual {
  width: 100%;
  height: auto;
  margin: 0 auto;
  padding: 60px 0 0;
  overflow: hidden;
}

.main-visual .swiper-slide .pc {
  display: block;
}

.main-visual .swiper-slide .sp-only {
  display: none;
}

/*.main-visual .mv_movie {
	width: 100%;
	height: auto;
	padding-bottom: 42.5%; // 表示画像の高さ ÷ 表示画像の幅 × 100
	position: relative;
}*/
.background {
  background: #222;
  position: relative;
  z-index: -2;
  width: 100%;
  height: auto;
  margin: 0 auto;
}

.background-wrap {
  position: relative;
  top: 0;
  left: 0;
  z-index: -1;
  min-width: 100%;
  min-height: 100%;
  overflow: hidden;
}

.background-movie {
  position: relative;
  width: 100%;
  height: auto;
  padding-bottom: 42.49%;
  /* 表示画像の高さ ÷ 表示画像の幅 × 100 */
  margin: 0 auto;
}

#background-movie-player {
  position: absolute;
  top: 0;
  left: 50%;
  width: 100%;
  height: 100%;
  min-height: 100%;
  min-width: 100%;
  margin: 0 auto;
  transform: translateX(-50%);
}

/*.mv_movie video {
	min-width: 100%;
	min-height: 100%;
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%,-50%);
	z-index: -1;
}*/
/* ------------------------------------------------------------ */
/* concept  */
section.concept {}

.top .concept .col02 {
  margin: 0 auto 60px;
  justify-content: flex-end;
  align-items: center;
}

.top .concept .col02 .item {
  position: relative;
  z-index: 2;
}

.top .concept .col02 .item:last-child {
  z-index: 1;
}

.top .concept .item .txt {
  padding: 40px;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  line-height: 1.8;
  width: 75%;
  position: relative;
  /* top: 70%; */
  right: -4%;
  /* transform: translateY(-50%); */
  z-index: 3;
  margin: -10% 0 0 auto;
}

.top .concept .item .thum {
  margin: 0 0 0 -4%;
  max-width: 560px;
  max-height: 560px;
  overflow: hidden;
}

.top .concept .col02:last-child {
  flex-direction: row-reverse;
  margin: -10% 0 0 2%;
}

.top .concept .col02:last-child .item .txt {
  left: -8%;
  right: inherit;
  margin: 18% 0 0;
}

.top .concept .col02:last-child .item .thum {
  margin: 0 0 0 auto;
}

.top .concept p {
  font-size: 1.1rem;
  text-align: right;
}

/* ------------------------------------------------------------ */
/* room */
.top section.room {
  background: #fdf9ef;
  padding: 80px 0 160px;
}

.top #wedding section.room {
  padding: 80px 0 100px;
}

.top .room .col02 {
  flex-direction: row-reverse;
}

.top .room .col02 .item,
.top .cuisine .col02 .item {
  width: 40%;
  position: relative;
  z-index: 2;
}

.top .room .col02 .item:last-child,
.top .cuisine .col02 .item:last-child {
  width: 60%;
  z-index: 1;
}

.top .room .item .box,
.top .cuisine .item .box {
  padding: 2em;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  line-height: 1.8;
  width: 100%;
  position: absolute;
  top: 65%;
  left: -12%;
  transform: translateY(-50%);
  z-index: 3;
}

.top #wedding .room .item .box,
.top #wedding .cuisine .item .box {
  top: 20%;
  transform: translateY(0);
}

.top .room .box p,
.top .cuisine .box p {
  font-size: 0.8rem;
  margin: 0 auto 40px;
}

.top .room p.btn,
.top .cuisine p.btn {
  font-size: 1rem;
  margin: 0 0 0 auto;
}

/* ------------------------------------------------------------ */
/* cuisine */
section.cuisine {
  padding: 80px 0 120px;
}

.top #wedding section.cuisine {
  padding: 80px 0 100px;
}

.top .cuisine .item .box {
  left: inherit;
  right: -12%;
}

/* ------------------------------------------------------------ */
/* gallery */
section.gallery {
  background: #fdf9ef;
  padding: 0 0 80px;
  overflow: hidden;
}

.galleryBox {
  display: flex;
  justify-content: flex-start;
  align-content: center;
  align-items: center;
  flex-wrap: wrap;
  width: 100%;
  height: auto;
  margin: 0 auto 60px;
}

.galleryBox li {
  width: calc(100% / 5 - 2px);
  max-width: 240px;
  height: 240px;
  margin: 0 1px 2px;
}

.galleryBox li a {
  display: block;
  width: 100%;
  height: 100%;
  box-shadow: 0 0 0 rgba(0, 0, 0, 0.5);
  position: relative;
  overflow: hidden;
}

.galleryBox li img {
  height: 100% !important;
  width: auto;
  min-height: 150%;
  min-width: 100%;
  max-width: inherit !important;
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: left top;
  transform: translate(-50%, -50%);
  -webkit-transition: transform 1.5s;
  transition: transform 1.5s;
}

.galleryBox li a::after,
.galleryBox li .cap {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.galleryBox li a::after {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0);
  z-index: 2;
}

.galleryBox li .cap {
  display: flex;
  justify-content: center;
  align-items: stretch;
  width: 100%;
  height: auto;
  opacity: 0;
  color: #fff;
  font-size: 0.9em;
  text-align: center;
  padding: 10px;
  z-index: 3;
}

.galleryBox li a:hover {
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.5);
}

.galleryBox li a:hover img {
  transform: scale(1.1) translate(-50%, -50%);
}

.galleryBox li a:hover::after {
  background: rgba(0, 0, 0, 0.5);
}

.galleryBox li a:hover .cap {
  opacity: 1;
}

/* ------------------------------------------------------------ */
/* cmnBtn */
section.cmnBtn {
  padding: 0;
  overflow: hidden;
}

.top section.cmnBtn {
  padding: 0 0 80px;
}

.top .ver02 section.cmnBtn {
  padding: 0;
}

/*.sub section.cmnBtn .btn {
	display: none;
}*/
.sub section.cmnBtn .btnBox {
  padding: 2em 0 1em;
}

.cmnBtn .col02 .item {
  width: calc(100% / 2 - 2px);
  margin: 0 1px 2px;
}

.cmnBtn .col02 .thum {
  height: 360px;
}

.cmnBtn .col04 .item {
  width: calc(100% / 4 - 2px);
  margin: 0 1px 2px;
}

.cmnBtn .col04 .thum {
  height: 340px;
}

.cmnBtn .column a {
  display: block;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 3;
  overflow: hidden;
}

.cmnBtn .column .item a::before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  position: absolute;
  top: 0;
  left: 0;
  z-index: 1;
  -webkit-transition: all 0.5s;
  transition: all 0.5s;
}

.cmnBtn .column .item a:hover::before {
  background: rgba(0, 0, 0, 0.3);
}

.cmnBtn .column h3 {
  width: 50%;
  font-size: 1.2rem;
  font-weight: normal;
  text-align: center;
  padding: 0.5em 1em;
  border: 1px solid #fff;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  z-index: 3;
}

.cmnBtn .col04 h3 {
  width: 80%;
}

.cmnBtn .column h3 span {
  display: block;
  margin: 0 0 5px;
  font-size: 0.7em;
}

.cmnBtn .column .thum img {
  width: 100%;
  height: auto;
  /*min-width: 100%;
	min-height: 100%;*/
  position: absolute;
  top: 50%;
  left: 50%;
  transform-origin: left top;
  transform: translate(-50%, -50%);
  -webkit-transition: transform 1.2s linear;
  transition: transform 1.2s linear;
}

.cmnBtn .col02 .item:last-child .thum img,
.cmnBtn .col04 .thum img {
  width: auto;
  height: 100%;
  /*min-width: inherit;
	min-height: auto;	*/
}

#wedding .cmnBtn .column .thum img {
  min-width: 100%;
}

.cmnBtn .column .thum a:hover img {
  transform: scale(1.1) translate(-50%, -50%);
}

/* ------------------------------------------------------------ */
/* news */
section.news {
  /* padding: 0 0 80px; */
  padding: 4em 0 2em;
}

.ver02 section.news {
  padding: 80px 0 0;
}

.cmnBtn+section.news {
  padding: 0 0 4em;
}

.top_test section.news {
  padding: 4em 0 2em;
}

.top_test .cmnBtn+section.news {
  padding: 0 0 4em;
}


.en section.news {
  padding: 40px 0 80px;
}

.news .col02 .item {
  padding: 0 30px 0 0;
}

.news .col02 .item:last-child {
  padding: 0 0 0 30px;
}

.news .column+.btn {
  margin-top: 3.2rem;
}

.news h3.line a {
  display: inline-block;
  font-size: 0.6em;
  padding: 2px 5px;
  border: 1px solid #d0ab59;
  background: #d0ab59;
  color: #fff;
  text-align: center;
  letter-spacing: 0.02em;
  float: right;
}

.news h3.line a:hover {
  background: #fff;
  color: #d0ab59;
}

/* topicsList */
.news .slideBox {
  overflow: hidden;
  padding: 0 0 50px;
}

/* topicsList */
.topicsList,
.bnrSlider {
  width: 100%;
  position: relative;
}

.topicsList li a,
.bnrSlider li a {
  display: block;
  width: 100%;
  height: 100%;
}

.topicsList li a:hover,
.bnrSlider li a:hover {
  opacity: 0.7;
}

.newsList {}

.newsList li {
  width: 100%;
  height: auto;
  border-bottom: 1px solid #d0ab59;
}

.newsList li a {
  display: block;
  width: 100%;
  height: 100%;
  font-size: 0.9rem;
  padding: 1em 0 1em 30px;
  position: relative;
  text-overflow: ellipsis;
  word-break: break-all;
  word-wrap: break-word;
  white-space: nowrap;
  overflow: hidden;
}

.newsList li a::before {
  content: "\f2fb";
  font-family: "Material-Design-Iconic-Font";
  display: block;
  font-weight: normal;
  font-style: normal;
  font-size: 12px;
  color: #d0ab59;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  position: absolute;
  top: 50%;
  left: 10px;
  transform: translateY(-50%);
}

.newsList li .date {
  display: inline-block;
  margin: 0 1em 0 0;
  color: #d0ab59;
}

/* 宿泊プラン */
section.news.plan {
  padding: 60px 0 0;
}

section.plan .planList {
  width: 90%;
  margin: 0 auto;
  overflow: hidden;
}

.planList li {
  padding: 0 10px;
}

.planList li a {
  display: block;
  width: 100%;
  height: 100%;
}

.planList .thum {
  height: 160px;
  overflow: hidden;
  margin: 0 auto 10px;
}

.planList h4 {
  font-size: 0.9em;
}

/* ------------------------------------------------------------ */
/* btnArea */
.btnArea.bg {
  padding: 60px 0;
  background: url(../img/bg_cmnbtn.jpg) no-repeat center / cover;
}

.btnArea .inner {
  text-align: center;
}

.btnArea .btn {
  display: inline-block;
  padding: 0 1.5em;
  width: calc(100% / 3);
  max-width: 33%;
}

.btnArea .btn a {
  color: #fff !important;
  font-size: 1.2rem;
  padding: 1.5em 10px;
  border: 1px solid #fff !important;
  background: rgba(255, 255, 255, 0) !important;
}

.btnArea .btn a::before {
  display: none;
}

.btnArea .btn a:hover {
  color: #2d100a !important;
  border: 1px solid rgba(255, 255, 255, 0.85) !important;
  background: rgba(255, 255, 255, 0.85) !important;
}

/* ------------------------------------------------------------ */
/* フッター固定ナビ */
.fix_contact {
  width: 100%;
  margin: 0 auto;
  background: rgba(208, 171, 89, 0.9);
  position: fixed;
  bottom: 0;
  left: 0;
  z-index: 9999;
}

.fix_contact {
  -webkit-transition: 0.5s;
  transition: 0.5s;
  transform: translateY(100%);
}

.fix_contact.is-fixed {
  transform: translateY(0);
}

.fixNav {
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
}

.fixNav li {
  width: calc(100% / 3);
  margin: 0 auto;
  border-right: 1px solid #fff;
}

.fixNav.nav-2cols li {
  width: calc(100% / 2);
}

.fixNav li:last-child {
  border-right: none;
}

.fixNav li a {
  width: 100%;
  display: block;
  color: #fff;
  text-align: center;
  padding: 15px 8px;
  /* font-size: .9rem; */
}

.fixNav li a i {
  display: inline-block;
  margin: 0 8px 0 0;
}

/* ------------------------------------------------------------ */
/* フッター */
/* ------------------------------------------------------------ */
footer {
  z-index: 9997;
  position: relative;
}

.contactArea {
  width: 100%;
  margin: 0 auto;
  color: #d0ab59;
  background: #faf8f2;
  padding: 30px 0;
}

.contactArea .item {
  width: 100%;
  max-width: 1024px;
  margin: 0 auto;
  display: table;
}

.contactArea h4,
.contactArea p {
  display: table-cell;
  vertical-align: middle;
  padding: 0 10px;
  text-align: center;
}

.contactArea h4 {
  font-size: 1.2rem;
  font-weight: normal;
}

.contactArea h4 span {
  display: block;
  padding: 5px 0 0;
  font-size: 0.8rem;
}

.contactArea p {
  font-size: 3rem;
}

.contactArea p.btn {
  font-size: 1rem;
}

.contactArea p.btn a {
  color: #fff;
}

.contactArea p.btn a i {
  display: inline-block;
  margin: 0 8px 0 0;
  vertical-align: middle;
  line-height: 0.6;
}

.contactArea p.btn a:hover {
  color: #d0ab59;
}

.contactArea p.btn a::before {
  width: 100%;
}

.contactArea p.btn a:hover::before {
  background: #faf8f2;
  left: 100%;
}

.sitemapArea {
  width: 100%;
  margin: 0 auto;
  background: #dedede;
  padding: 30px 0 10px;
}

.sitemapArea p.top {
  display: inline-block;
  padding: 0 1em 0 0;
  font-size: 1.2rem;
  float: left;
}

.sitemapArea .inner {
  max-width: 1064px;
}

.en .sitemapArea .inner {
  max-width: 780px;
}

.sitemap {
  /*width: 100%;*/
  /*max-width: 1024px;*/
  margin: 0 auto 20px;
  display: flex;
  justify-content: flex-start;
  align-items: flex-start;
  flex-wrap: wrap;
}

.sitemap li {
  text-align: center;
  margin: 0 0 10px;
  padding: 0 1em;
  /* display: inline-block; */
  position: relative;
}

.sitemap li::after {
  content: "/";
  display: block;
  color: #4e4d4c;
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
}

.sitemap li a {
  color: #4e4d4c;
  font-size: 0.9em;
}

.sitemap.hotel li {
  padding: 0 2em;
}

.sitemap li.top {
  padding: 0 2em 0 0;
}

.sitemap li.top a {
  font-size: 1.2rem;
}

.sitemap li.top::after {
  display: none;
}

.sitemap li a:hover {
  color: #d0ab59;
}

.sitemapArea .inner:first-child p.top a:hover,
.sitemap.hotel li a:hover {
  color: #729a7c !important;
}

.footerArea {
  width: 100%;
  margin: 0 auto;
  color: #c6c6c6;
  background: #231815;
  font-size: 12px;
  padding: 30px 0 10px;
}

.footerArea .inner {
  margin: 0 auto 40px;
  width: 58%;
}

.footerArea .item {}

.footerArea a {
  color: #c6c6c6;
}

.footerArea .logo {
  max-width: inherit;
}

.footerArea .logo a {
  max-width: 300px;
  margin: 0;
}

.footerArea .logo span {
  display: block;
  margin: 0 0 8px;
}

.footerArea .address {
  line-height: 2;
}

.footerArea a.link {
  display: inline-block;
  vertical-align: middle;
  margin: 0 10px 0 0;
}

.footerArea a.link:hover {
  text-decoration: underline;
}

.footerArea .link::before {
  content: "\f2fb";
  font-family: "Material-Design-Iconic-Font";
  display: inline-block;
  font-weight: normal;
  font-style: normal;
  text-rendering: auto;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  vertical-align: middle;
  margin: 0 5px 0 0;
}

.copy {
  font-size: 12px;
  text-align: center;
  letter-spacing: 0.1em;
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
  .concept .item .txt {
    padding: 2em;
    width: 90%;
    margin: -20% 0 0 auto;
  }

  .concept .item .thum {
    width: 90%;
  }

  section.room {
    padding: 80px 0 180px;
  }

  section.cuisine {
    padding: 80px 0 160px;
  }

  .room .col02,
  .cuisine .col02 {
    flex-wrap: wrap;
  }

  .top .room .col02 .item,
  .top .cuisine .col02 .item {
    width: 45%;
  }

  .top .room .col02 .item:last-child {
    width: 80%;
    margin: 0 auto 0 0;
  }

  .top .cuisine .col02 .item:last-child {
    width: 80%;
    margin: 0 0 0 auto;
  }

  .top .room .item .box,
  .top .cuisine .item .box {
    padding: 2em 1.5em;
    transform: translateY(5%);
    left: 52%;
  }

  .top .cuisine .item .box {
    left: inherit;
    right: 52%;
  }

  .footerArea .inner {
    width: 70%;
  }
}

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

  /* 1024px以下用（ipadPro以下）の記述 */
  .pc {
    display: none;
  }

  .sp {
    display: block;
  }

  a.more {
    font-size: 0.9em;
  }

  .btn a {
    font-size: 0.9em;
  }

  .bn-box {
    max-width: 95%;
  }

  .bn-box.wide {
    margin: 2.5em auto 0;
  }

  .bn-box .bn_item.movie {
    height: 115px;
    overflow: hidden;
  }

  .bn-box .bn_item.movie iframe {
    height: 100%;
  }

  /* ------------------------------------------------------------ */
  /* 全体格納 */
  /* ------------------------------------------------------------ */
  .inner {
    max-width: 95%;
  }

  .content {
    padding: 0;
  }

  /* ------------------------------------------------------------ */
  /* header */
  /* ------------------------------------------------------------ */
  header {
    padding: 12px 20px;
  }

  header .logo,
  header.flex .logo,
  #wedding header .logo {
    width: 30%;
    padding: 0;
    vertical-align: middle;
  }

  .top_test #wedding header .logo {
    width: 30%;
  }

  header.flex .gNav,
  #wedding .gNav {
    display: none;
  }

  .contactBtn,
  #wedding .contactBtn {
    width: auto;
    vertical-align: middle;
    text-align: right;
    /* padding: 0 50px 0 0; */
    margin: 0 0 0 auto;
  }

  .flex .contactBtn {
    padding: 0 50px 0 0;
    max-width: initial;
  }

  /* .top_test #wedding .contactBtn {
    margin: 0 0 0 auto;
    padding: 0 45px 0 0;
  } */
  .contactBtn a.pc {
    display: none;
  }

  .contactBtn a.sp,
  #wedding .contactBtn a.sp,
  #wedding .contactBtn .sp a {
    display: inline-block;
    /* margin: 0 5px; */
    margin: 0 0 0 5px;
    background: #d0ab59;
    vertical-align: middle;
    border-radius: 50%;
    font-size: 24px;
    width: 40px;
    height: 40px;
    line-height: 45px;
    padding: 0;
  }

  .contactBtn.ver02 .sp a {
    display: inline-block;
    margin: 0 0 0 5px;
    vertical-align: middle;
    border-radius: 50%;
    font-size: 24px;
    width: 40px;
    height: 40px;
    line-height: 45px;
    padding: 0;
  }

  #hotel .contactBtn .sp a {
    background: #5f8368;
  }

  /* .top_test #wedding .contactBtn a.sp,
	.top_test #wedding .contactBtn .sp a {
		margin: 0 0 0 5px;
	} */
  .contactBtn.ver02 div.pc,
  #wedding .contactBtn.ver02 div.pc {
    display: none;
  }

  /* ------------------------------------------------------------ */
  /* ナビボタン */
  .sb-toggle-right {
    width: 40px;
    height: 40px;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    z-index: 999;
  }

  #spBtn {
    width: 100%;
    height: 100%;
    position: absolute;
    left: 0;
    top: 0;
    outline: none;
    border: none;
    background: none;
    cursor: pointer;
    z-index: 999;
  }

  #spBtn span {
    display: inline-block;
    width: 100%;
    height: 3px;
    background-color: #d0ab59;
    position: absolute;
    left: 0;
    transition: all 0.4s;
  }

  #spBtn span:nth-of-type(1) {
    top: 2px;
  }

  #spBtn span:nth-of-type(2) {
    top: 12px;
  }

  #spBtn span:nth-of-type(3) {
    bottom: 15px;
  }

  #spBtn span:nth-of-type(4) {
    bottom: -3px;
    height: auto;
    background: none !important;
    color: #d0ab59;
    font-size: 14px;
    text-align: center;
  }

  .sb-active #spBtn span:nth-of-type(1) {
    -webkit-transform: translateY(8px) rotate(-45deg);
    transform: translateY(8px) rotate(-45deg);
  }

  .sb-active #spBtn span:nth-of-type(2) {
    opacity: 0;
  }

  .sb-active #spBtn span:nth-of-type(3) {
    -webkit-transform: translateY(-12px) rotate(45deg);
    transform: translateY(-12px) rotate(45deg);
  }

  /* ------------------------------------------------------------ */
  /* スライドメニュー */
  .sbNav {
    background: #d0ab59;
    border-left: 2px solid #ccc;
    -webkit-overflow-scrolling: touch;
    overflow-scrolling: touch;
  }

  .sb-right-inner {
    width: 100%;
    /* height: 100%; */
  }

  .sbNav .logo {
    width: 80%;
    display: block;
    margin: 0 auto 15px;
    padding: 10px 0 0;
  }

  /* ページ切替ボタン */
  .submenu {
    width: 100%;
    margin: 0 auto 20px;
    /* display: block; */
    display: flex;
    justify-content: center;
  }

  .submenu a {
    display: inline-block;
    /* width: calc(100% / 2 - 2em); */
    margin: 0 1em;
    padding: 5px 10px;
    background: #fff;
    border-radius: 3px;
    color: #d0ab59;
    text-align: center;
    letter-spacing: 0.1em;
  }

  /* メニュー */
  .sbNav .gNav,
  #wedding .sbNav .gNav {
    margin: 0 auto 30px;
    width: 100%;
    height: auto;
    display: block;
    padding: 0;
  }

  .sbNav .gNav ul {
    width: 100%;
    margin: 0;
    border-top: 1px solid #fff;
  }

  .sbNav .gNav li {
    margin: 0 auto;
    width: 100%;
  }

  .sbNav .gNav li a,
  .sbNav .gNav li p {
    display: block;
    padding: 12px 20px;
    position: relative;
    font-size: 1.05rem;
    color: #fff;
    border-bottom: 1px solid #fff;
  }

  .sbNav .gNav li p {
    position: relative;
  }

  .sbNav .gNav li p::after {
    content: "\f312";
    font-family: "Material-Design-Iconic-Font";
    display: inline-block;
    font-weight: normal;
    font-style: normal;
    font-size: 1.5em;
    text-rendering: auto;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    color: #fff;
    position: absolute;
    top: 50%;
    right: 15px;
    transform: translateY(-50%);
    -webkit-transition: all 0.5s;
    transition: all 0.5s;
  }

  .sbNav .gNav li p.open::after {
    content: "\f311";
  }

  /*サブナビ*/
  .sbNav .gNav .nav-child {
    display: none;
    width: 100%;
    background: #f7f2e7;
  }

  .sbNav .gNav .nav-child ul {
    border: none;
  }

  .sbNav .gNav .nav-child li {}

  .sbNav .gNav .nav-child li a {
    font-size: 0.9em;
    color: #d0ab59;
    border-bottom: 1px solid #d0ab59;
  }

  /* ボタン */
  .sbNav .btnArea {
    width: 100%;
    margin: 0 auto 30px;
  }

  .sbNav .btnArea .btn {
    display: block;
    padding: 0 1em;
    width: 100%;
    max-width: 100%;
    margin: 0 auto 15px;
  }

  .sbNav .btnArea .btn a {
    font-size: 1rem;
    padding: 10px;
  }

  .sbNav .btnArea .btn a:hover {}

  /* ------------------------------------------------------------ */
  /* コンテンツ共通 */
  /* ------------------------------------------------------------ */
  section.base {
    padding: 60px 0;
  }

  .base h2,
  .base h3.tit {
    font-size: 1.4em;
  }

  .base h2.tit,
  .base h2.bg_tit {
    line-height: 1.6;
  }

  .base h3.line {
    font-size: 1.2rem;
    margin: 0 auto 20px;
  }

  /* ------------------------------------------------------------ */
  /* カラム */
  /* ------------------------------------------------------------ */
  /* スライダー */
  .tickerBox li {
    width: 300px !important;
    margin: 0 auto;
  }

  /* ------------------------------------------------------------ */
  /* メインビジュアル */
  .main-visual {
    padding: 8% 0 0;
  }

  /* ------------------------------------------------------------ */
  /* concept */
  .top .concept .item .txt {
    padding: 2em 1.5em 1.5em;
    width: 95%;
    margin: -5% 0 0 auto;
  }

  .top .concept .item .thum {
    width: 95%;
  }

  /* ------------------------------------------------------------ */
  /* partyroom */
  .top section.room {
    padding: 40px 0 0;
  }

  .top .room .col02,
  .top .cuisine .col02 {
    flex-wrap: wrap;
  }

  .top .room .col02 {
    flex-direction: column;
  }

  .top .room .col02 .item,
  .top .cuisine .col02 .item {
    width: 90%;
    margin: 0 auto 40px;
  }

  .top .room .col02 .item:last-child,
  .top .cuisine .col02 .item:last-child {
    width: 100%;
    margin: 0 auto;
  }

  .top .room .item .box,
  .top .cuisine .item .box {
    padding: 2em 1.5em;
    transform: translateY(0);
    left: 0;
    top: 0;
    position: relative;
  }

  /* ------------------------------------------------------------ */
  /* cuisine */
  section.cuisine {
    padding: 40px 0 0;
  }

  .top .cuisine .item .box {
    left: inherit;
    right: 0;
  }

  /* ------------------------------------------------------------ */
  /* gallery */
  section.gallery {
    padding: 0 0 40px;
  }

  .galleryBox {
    margin: 0 auto 40px;
  }

  .galleryBox li {
    max-width: 100%;
    height: 140px;
  }

  /* ------------------------------------------------------------ */
  /* cmnBtn */
  .top section.cmnBtn {
    padding: 0 0 40px;
  }

  .sub section.cmnBtn {
    padding: 0 !important;
  }

  .cmnBtn .column h3 {
    width: 70%;
    font-size: 1.1rem;
    padding: 10px;
  }

  .cmnBtn .col02 .thum {
    height: 240px;
  }

  .cmnBtn .col04 h3 {
    width: 90%;
    font-size: 1rem;
  }

  .cmnBtn .col04 .thum {
    height: 200px;
  }

  /* ------------------------------------------------------------ */
  /* news */
  section.news {
    /* padding: 0 0 40px; */
  }

  .ver02 section.news {
    padding: 40px 0 0;
  }

  .news .col02 .item {
    padding: 0 1em 0 0;
  }

  .news .col02 .item:last-child {
    padding: 0 0 0 1em;
  }

  /* .news .item:first-child h3.line {
		margin: 0 auto;
	} */
  .main-visual+.news h3.line {
    margin: 0 auto;
  }

  .news h3.line a {
    font-size: 14px;
  }

  .newsList li a {
    font-size: 0.85rem;
    padding: 1em 0 1em 25px;
  }

  .newsList li a::before {
    font-size: 1.2em;
    left: 5px;
  }

  .newsList li .date {
    display: block;
    margin: 0 0 5px;
    font-size: 12px;
  }

  /* 宿泊プラン */
  section.news.plan {
    padding: 40px 20px 0;
  }

  section.plan .slideBox {
    padding: 0 0 30px;
  }

  .planList li {
    padding: 0 5px;
  }

  .planList .thum {
    height: 130px;
  }

  .planList h4 {
    font-size: 0.9em;
  }

  /* ------------------------------------------------------------ */
  /* btnArea */
  .btnArea.bg {
    padding: 40px 0;
  }

  .btnArea .btn {
    padding: 0 0.5em;
    max-width: 32%;
  }

  .btnArea .btn a {
    font-size: 1rem;
    padding: 15px 10px;
  }

  /* ------------------------------------------------------------ */
  /* フッター */
  /* ------------------------------------------------------------ */
  footer {}

  .contactArea .item {
    max-width: 95%;
    display: block;
  }

  .contactArea h4,
  .contactArea p {
    width: 48%;
    display: inline-block;
    margin: 0 auto 20px;
  }

  .contactArea p {
    font-size: 2.8rem;
  }

  .en .contactArea p {
    font-size: 2rem;
  }

  .contactArea p.phone a {
    color: #d0ab59;
  }

  .contactArea p.btn {
    display: block;
    width: auto;
    padding: 0;
    margin: 0 auto;
  }

  .sitemapArea .inner {
    max-width: 95%;
  }

  .en .sitemapArea .inner {
    max-width: 90%;
  }

  .sitemap {
    /*max-width: 95%;*/
    margin: 0 auto 20px;
    justify-content: flex-start;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .sitemap li {
    padding: 0 15px;
    margin: 0 0 8px;
  }

  .sitemap li.top {
    width: 100%;
    margin: 0 auto 5px;
    text-align: left;
  }

  .sitemap li a {
    font-size: 13px;
  }

  .sitemapArea p.top,
  .sitemap li.top a {
    font-size: 1.1rem;
  }

  .footerArea {
    padding: 30px 0 80px;
  }

  .footerArea .inner {
    width: 90%;
  }

  .en .footerArea {
    padding: 30px 0 10px;
  }

  .en .footerArea .item {
    width: 48%;
  }

  .copy {
    font-size: 10px;
  }
}

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

  /* 767px以下用（タブレット／スマートフォン用）の記述 */
  a.more {
    font-size: 14px;
  }

  .btn a {
    font-size: 0.8em;
    padding: 10px;
    line-height: 1.6;
  }

  .btnBox .btn {
    margin: 0 10px;
    width: 45%;
  }

  .bn-box {
    max-width: 95%;
  }

  .bn-box a {
    margin: 0 5px 10px;
    width: calc(100% / 3 - 10px);
  }

  .bn-box a:nth-of-type(4n) {
    margin: 0 5px 10px;
  }

  .bn-box .bn_item.movie {
    height: 85px;
  }

  .bn_4cols .bn_item {
    margin: 0 10px 10px;
    width: calc((100% - 10px) / 2);
  }

  .bn_4cols .bn_item:nth-of-type(2n),
  .bn_4cols .bn_item:nth-of-type(4n) {
    margin: 0 0 10px;
  }

  /* ------------------------------------------------------------ */
  /* 全体格納 */
  /* ------------------------------------------------------------ */
  .inner {
    max-width: 90%;
  }

  /* ------------------------------------------------------------ */
  /* header */
  /* ------------------------------------------------------------ */
  header {
    padding: 10px 20px;
  }

  header .logo,
  header.flex .logo,
  #wedding header .logo {
    width: 40%;
  }

  .top_test #wedding header .logo {
    width: 40%;
  }

  .contactBtn a.sp,
  #wedding .contactBtn a.sp {
    margin: 0 4px;
    width: 36px;
    height: 36px;
    line-height: 41px;
  }

  /* ------------------------------------------------------------ */
  /* スライダー */
  .tickerBox li {
    width: 240px !important;
    margin: 0 auto;
  }

  /* ------------------------------------------------------------ */
  /* モーダル */
  #modaal-title {
    font-size: 22px;
  }

  .modaal-confirm-btn {
    width: 220px;
    font-size: 14px !important;
    display: block !important;
    margin: 0 auto 10px !important;
  }

  /* ------------------------------------------------------------ */
  /* コンテンツ共通 */
  /* ------------------------------------------------------------ */
  section.base {
    padding: 40px 0;
  }

  .base h2 {
    font-size: 1.1em;
  }

  .base h3.tit {
    font-size: 1.2em;
  }

  .base h2.tit,
  .base h2.bg_tit {
    font-size: 1.2em;
  }

  .base h2.tit {
    margin: 0 auto 20px;
  }

  .base h2.tit span {
    font-size: 1.8rem;
  }

  .base h2.tit span::after {
    width: 40px;
    height: 20px;
    bottom: 10px;
  }

  .base h2.bg_tit {
    margin: 0 auto;
  }

  .base h2.bg_tit span {
    font-size: 120px;
    top: -20px;
  }

  /* ------------------------------------------------------------ */
  /* メインビジュアル */
  .main-visual {
    padding: 10% 0 0;
  }

  /* ------------------------------------------------------------ */
  /* concept */
  .top .ver02 .concept {
    padding: 20px 0 40px;
  }

  .top .concept .col02 {
    margin: 0 auto 20px;
    padding: 0 20px;
  }

  .top .concept .col02:last-child {
    margin: 0 auto;
  }

  .top .concept .item .thum {
    width: 100%;
    margin: 0;
  }

  .top .concept .item .txt {
    padding: 1.5em 10px 1em;
    width: 100%;
    right: -10%;
  }

  .top .concept .col02:last-child .item .txt {
    left: -14%;
    right: inherit;
    margin: 8% 0 0;
  }

  .top .concept h2.tit {
    font-size: 1.1em;
  }

  /* ------------------------------------------------------------ */
  /* partyroom,cuisine */
  section.cuisine {
    padding: 40px 0 0;
  }

  .top .room .item .box,
  .top .cuisine .item .box {
    padding: 20px;
  }

  /* ------------------------------------------------------------ */
  /* gallery */
  section.gallery {
    padding: 0 0 40px;
  }

  .galleryBox li {
    max-width: 100%;
    height: 120px;
    width: calc(100% / 4 - 2px);
  }

  /* ------------------------------------------------------------ */
  /* cmnBtn */
  .top section.cmnBtn {
    padding: 0 0 40px;
  }

  .cmnBtn .column h3 {
    width: 90%;
  }

  .cmnBtn .col02 .thum {
    height: 180px;
  }

  .cmnBtn .col04 {
    flex-wrap: wrap;
  }

  .cmnBtn .col04 .item {
    width: calc(100% / 2 - 2px);
  }

  .cmnBtn .col04 h3 {
    font-size: 1.1rem;
  }

  .cmnBtn .col04 .thum {
    height: 180px;
  }

  .cmnBtn .col02 .item:last-child .thum img,
  .cmnBtn .col04 .thum img {
    height: auto;
    width: 100%;
  }

  /* ------------------------------------------------------------ */
  /* news */
  section.news {
    padding: 0;
  }

  .news .column {
    flex-wrap: wrap;
  }

  .news .col02 .item {
    width: 100%;
    padding: 0 !important;
    margin: 0 auto 40px;
  }

  /* 宿泊プラン */
  section.news.plan {
    padding: 40px 0 0;
  }

  section.plan .slideBox {
    padding: 0 0 20px;
  }

  section.plan .planList {
    width: 86%;
  }

  .planList li {
    padding: 0 5px;
  }

  .planList .thum {
    height: 150px;
  }

  .planList h4 {
    font-size: 13px;
  }

  /* ------------------------------------------------------------ */
  /* btnArea */
  .btnArea.bg {
    padding: 30px 0 25px;
  }

  .btnArea .inner {
    max-width: 95%;
  }

  .btnArea .btn a {
    font-size: 1rem;
    padding: 10px;
  }

  /* ------------------------------------------------------------ */
  /* footer */
  .contactArea {
    padding: 25px 0;
  }

  .contactArea h4,
  .contactArea p {
    width: 100%;
    display: block;
    margin: 0 auto 10px;
    padding: 0;
  }

  .contactArea h4 {
    font-size: 1.05rem;
  }

  .contactArea h4 span {
    padding: 2px 0 0;
    font-size: 13px;
  }

  .contactArea p {
    font-size: 2.2rem;
  }

  .sitemap li {
    padding: 0 1em;
    margin: 0 0 8px;
  }

  .footerArea .item {
    float: none;
    margin: 0 auto 20px;
    width: 100%;
    text-align: center;
  }

  .en .footerArea .item {
    width: 100%;
  }

  .footerArea .logo a {
    max-width: 300px;
    margin: 0 auto;
  }
}

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

  /* 479px以下用（スマートフォン用）の記述 */
  .btnBox .btn {
    margin: 0 auto 10px;
    width: 100%;
  }

  .bn-box {
    max-width: 90%;
  }

  .bn-box.wide {
    margin: 1.5em auto 0;
  }

  .bn-box a {
    width: calc(100% / 2 - 10px);
  }

  .bn-box.wide.bn_2cols a {
    margin: 0 auto 10px;
    width: 100%;
  }

  .bn-box.wide.bn_3cols a,
  .bn-box.wide.bn_3cols .bn_item {
    margin: 0 auto 10px;
    width: 100%;
  }

  .bn-box .bn_item.movie {
    height: 170px;
  }

  /* ------------------------------------------------------------ */
  /* header */
  /* ------------------------------------------------------------ */
  header {
    padding: 10px 15px;
  }

  header .logo,
  #wedding header .logo {
    width: 50%;
  }

  header.flex .logo {
    margin-right: 0.5em;
  }


  .top_test #wedding header .logo {
    width: 48%;
    margin: 0 0.5em 0 0;
  }

  .contactBtn a.sp,
  #wedding .contactBtn a.sp {
    margin: 0 5px 0 0;
    width: 32px;
    height: 32px;
    line-height: 36px;
    font-size: 20px;
  }

  .contactBtn.ver02 .sp a {
    font-size: 20px;
  }

  /* ------------------------------------------------------------ */
  /* スライドメニュー */
  .sbNav .logo {
    width: 85%;
    margin: 0 auto 20px;
  }

  .submenu a {
    width: calc(100% / 2 - 20px);
    margin: 0 8px;
    font-size: 14px;
  }

  .sbNav .gNav li a,
  .sbNav .gNav li p {
    font-size: 15px;
  }

  .sbNav .gNav .nav-child li a {
    font-size: 13px;
  }

  .sbNav .btnArea .btn a {
    font-size: 14px;
  }

  /* ------------------------------------------------------------ */
  /* スライダー */
  .tickerBox li {
    width: 200px !important;
    margin: 0 auto;
  }

  /* ------------------------------------------------------------ */
  /* コンテンツ共通 */
  .base h2.bg_tit {
    padding: 25px 0;
  }

  .base h2.bg_tit span {
    font-size: 80px;
    top: 0;
  }

  /* ------------------------------------------------------------ */
  /* アコーディオン */
  .ac-wrap {
    padding: 0 4%;
    margin: 3% auto 6%;
    border: 4px solid rgba(94, 131, 104, 0.5);
  }

  .ac-tit span {
    display: block;
    margin: 0 auto;
    font-size: 12px;
    letter-spacing: 0.02em;
    line-height: 1.4;
  }

  .ac-tit::after {
    right: 5px;
  }

  /* ------------------------------------------------------------ */
  /* メインビジュアル */
  .main-visual {
    padding: 55px 0 0;
  }

  .main-visual .swiper-slide .pc {
    display: none;
  }

  .main-visual .swiper-slide .sp-only {
    display: block;
  }

  /* ------------------------------------------------------------ */
  /* concept */
  .top .concept .col02 {
    margin: 0 auto 30px;
    padding: 0 20px;
    flex-wrap: wrap;
    justify-content: flex-end;
    align-items: center;
  }

  .top .concept .col02 .item {
    width: 100%;
    margin: 0;
  }

  .top .concept .col02 .item:last-child {
    margin: -8% 0 0;
  }

  .top .concept .item .txt {
    padding: 15px 10px 10px;
    width: 90%;
    right: 5%;
    margin: 0 auto;
  }

  .top .concept h2.tit {
    margin: 0 auto;
  }

  .top .concept .item .thum {
    width: 90%;
    margin: -10% 0 0 auto;
  }

  .top .concept .col02:last-child .item .thum {
    margin: -6% auto 0 0;
  }

  .top .concept .col02:last-child .item .txt {
    left: inherit;
    right: inherit;
    margin: 0 0 0 auto;
  }

  /* ------------------------------------------------------------ */
  /* room */
  section.room {
    padding: 30px 0 0;
  }

  /* ------------------------------------------------------------ */
  /* cuisine */
  section.cuisine {
    padding: 30px 0 0;
  }

  /* ------------------------------------------------------------ */
  /* gallery */
  .galleryBox li {
    max-width: 100%;
    height: 100px;
    width: calc(100% / 3 - 2px);
  }

  /* ------------------------------------------------------------ */
  /* cmnBtn */
  .top section.cmnBtn {
    padding: 0 0 30px;
  }

  .cmnBtn .column {
    flex-wrap: wrap;
  }

  .cmnBtn .col02 .item {
    width: 100%;
    margin: 0 0 2px;
  }

  .cmnBtn .column h3 span {
    font-size: 11px;
  }

  .cmnBtn .col04 .item {
    width: calc(100% / 2 - 1px);
    margin: 0 1px 2px 0;
  }

  .cmnBtn .col04 .item:nth-child(even) {
    margin: 0 0 2px 1px;
  }

  .cmnBtn .col04 h3 {
    font-size: 0.9rem;
  }

  .cmnBtn .col04 h3 span {
    margin: 0;
    font-size: 11px;
  }

  .cmnBtn .col02 .item:last-child .thum img,
  .cmnBtn .col04 .thum img {
    height: 100%;
    width: auto;
  }

  /* ------------------------------------------------------------ */
  /* news */
  .news .col02 .item:last-child {
    margin: 0 auto 20px;
  }

  /* 宿泊プラン */
  section.news.plan {
    padding: 40px 0 0;
  }

  section.plan .slideBox {
    padding: 0;
  }

  section.plan .planList {
    width: 80%;
  }

  .planList li {
    padding: 0;
  }

  .planList .thum {
    height: 80px;
  }

  .planList h4 {
    font-size: 12px;
  }

  /* ------------------------------------------------------------ */
  /* btnArea */
  .btnArea.bg {
    padding: 25px 0 15px;
  }

  .btnArea .inner {
    max-width: 90%;
  }

  .btnArea .btn {
    padding: 0;
    max-width: 100%;
    width: 100%;
    display: block;
    margin: 0 auto 15px;
  }

  /* ------------------------------------------------------------ */
  /* footer固定ボタン */
  .fixNav li {
    width: auto;
  }

  .fixNav li a {
    font-size: 12px;
    padding: 15px 1em;
  }

  .fixNav li a i {
    margin: 0 5px 0 0;
  }

  /* ------------------------------------------------------------ */
  /* footer */
  .contactArea h4,
  .contactArea p {
    margin: 0 auto 15px;
  }

  .contactArea h4 {
    font-size: 1rem;
  }

  .contactArea h4 span {
    font-size: 12px;
  }

  .contactArea p {
    line-height: 1;
  }

  .contactArea p.btn a {
    font-size: 15px;
  }

  .sitemapArea {
    padding: 20px 0 5px;
  }

  .sitemap {
    margin: 0 auto 15px;
  }

  .sitemapArea p.top {
    display: block;
    padding: 0 10px 0 0;
    font-size: 1.2rem;
    float: none;
  }

  .sitemap li {
    padding: 0 12px;
    margin: 0 0 5px;
  }

  .en .sitemap li,
  .en .sitemap.hotel li {
    padding: 0 15px 0 0;
    margin: 0 8px 5px 0;
  }

  .sitemap li a {
    font-size: 12px;
  }

  .sitemap li.top a {
    font-size: 16px;
  }

  .footerArea {
    font-size: 11px;
  }
}

@media screen and (max-width: 360px) {
  .submenu a {
    width: calc(100% / 2 - 16px);
    margin: 0 8px;
    font-size: 13px;
  }

  .base h2.tit,
  .base h2.bg_tit,
  .base h3.tit {
    font-size: 1.1em;
  }

  /* ------------------------------------------------------------ */
  /* concept */
  .top .concept h2.tit {
    font-size: 1em;
  }

  /* ------------------------------------------------------------ */
  /* fixNav */
  .fixNav li a {
    font-size: 11px;
    padding: 10px 5px;
  }
}

#breadcrumbs {
  margin: 70px 0 8px;
  padding: 0 12px;
  font-size: 14px;
}

#hotel #breadcrumbs {
  margin: 92px 0 0;
}

@media (min-width: 1400px) {
  #breadcrumbs {
    margin: 80px 0 8px;
  }
}

.sub .content:not(._) {
  padding-top: 0;
}


/* 20231226 */
.m-meeting-flow {
  width: 90%;
  margin: auto;
}

.m-meeting-flow .slick-list {}

.m-meeting-flow .slick-slide {
  padding: 10px 5px;
  box-sizing: border-box;
}

.m-meeting-flow-box {
  color: #d0ab59;
  margin: 0px 5px;
}

.m-meeting-flow-box-title {
  font-size: 14px;
  padding: 10px;
  margin-bottom: 15px;
  border: 1px solid #d0ab59;
  box-sizing: border-box;
  font-family: "adobe-garamond-pro", 游明朝, YuMincho, "游明朝", "Yu Mincho", "游明朝体", "ヒラギノ明朝 ProN W3", HiraMinProN-W3, "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", "Times New Roman", serif;
}

.m-meeting-flow-box-text {
  font-size: 14px;
  padding: 10px;
  border: 1px solid #d0ab59;
  box-sizing: border-box;
  min-height: 290px;
}

.m-meeting-flow .slick-next,
.m-meeting-flow .slick-prev {
  top: 5%;
}

.slick-arrow {
  display: block;
  position: absolute;
  top: 0;
  bottom: 0;
  margin: auto;
  padding: 0;
  width: 20px;
  height: 38px;
  color: transparent;
  z-index: 1;
  transition: opacity 0.5s;
  z-index: 1;
}

.slick-arrow:hover {
  opacity: 0.7;
}

.slick-next::after,
.slick-prev::after {
  font-size: 40px;
  color: #d0ab59;
}

.slick-next::after {
  content: '▶';
  position: absolute;
  top: 10%;
  right: -15px;
}

.slick-prev::after {
  content: '◀';
  position: absolute;
  top: 10%;
  left: -5px;
}

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

  .slick-next::after,
  .slick-prev::after {
    font-size: 25px;
  }

  .slick-next::after {
    right: -5px;
  }

  .slick-prev::after {
    left: 5px;
  }
}

#wedding .concept_sub.wedding_concept {
  background: none;
  padding: 0px;
}

.ver02 .top_bn_news section.news {
  padding: 80px 0;
}

.contactArea .contactAreaItemText span {
  font-size: 0.7rem;
}

/* 20240402 footer GoogleMap追加 */
.footerGmap {
  margin-bottom: 10px;
}

/* 20240718 「ドレスについて」コンテンツ設置 */
.top section.dress .bg_tit {
  margin-bottom: 2em;
}

.top section.dress {
  background: #fdf9ef;
  padding: 80px 0 160px;
}

.top #wedding section.dress {
  padding: 80px 0 100px;
}

.top .dress .col02 {
  flex-direction: row-reverse;
}

.top .dress .col02 .item {
  width: 40%;
  position: relative;
  z-index: 2;
}

.top .dress .col02 .item:last-child {
  width: 60%;
  z-index: 1;
}

.top .dress .item .box {
  padding: 2em;
  background: rgba(255, 255, 255, 0.9);
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.3);
  line-height: 1.8;
  width: 100%;
  position: absolute;
  top: 65%;
  left: -12%;
  transform: translateY(-50%);
  z-index: 3;
}

.top #wedding .dress .item .box {
  top: 50%;
  transform: translateY(-50%);
}

.top .dress .box p {
  font-size: 0.8rem;
  margin: 0 auto 40px;
}

.top .dress p.btn {
  font-size: 1rem;
  margin: 0 0 0 auto;
  max-width: 360px;
}

@media screen and (min-width: 1025px) and (max-width: 1200px) {
  section.dress {
    padding: 80px 0 180px;
  }

  .dress .col02 {
    flex-wrap: wrap;
  }

  .top .dress .col02 .item {
    width: 45%;
  }

  .top .dress .col02 .item:last-child {
    width: 80%;
    margin: 0 auto 0 0;
  }

  .top .dress .item .box {
    padding: 2em 1.5em;
    top: 0 !important;
    transform: translateY(0) !important;
    left: 52%;
  }
}

@media screen and (max-width: 1024px) {
  .top section.dress {
    padding: 40px 0 0;
  }

  .top .dress .col02 {
    flex-wrap: wrap;
  }

  .top .dress .col02 {
    flex-direction: column;
  }

  .top .dress .col02 .item {
    width: 90%;
    margin: 0 auto 40px;
  }

  .top .dress .col02 .item:last-child {
    width: 100%;
    margin: 0 auto;
  }

  .top .dress .item .box {
    padding: 2em 1.5em;
    transform: translateY(0) !important;
    left: 0;
    top: 0 !important;
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .top .dress .item .box {
    padding: 20px;
  }
}

/* //20240718 「ドレスについて」コンテンツ設置 */