@charset "utf-8";

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

@media only screen and (-webkit-min-device-pixel-ratio: 2) {}

/*==================================================
$common
==================================================*/
html {
  font-size: 62.5%;
}

body {
  margin: 0 auto;
  padding: 0;
  font-size: 1.4rem;
  line-height: 1.7;
  position: relative;
  color: #6F6F6F;
  font-family: 'Noto Serif JP', "游ゴシック", "Yu Gothic", "游ゴシック体", "YuGothic", "ヒラギノ角ゴ Pro W3", "Hiragino Kaku Gothic Pro", "Meiryo UI", "メイリオ", Meiryo, "ＭＳ Ｐゴシック", "MS PGothic", sans-serif;
  font-weight: 400;
  text-align: left;
  letter-spacing: 0.15em;
}

a {
  color: inherit;
  text-decoration: none;
}

a[href^="tel:"] {
  pointer-events: none;
}

.nopc {
  display: none !important;
}

img {
  max-width: 100%;
}

.toppage, .contents {
  -webkit-animation: fadeIn 2s ease 0s 1 normal;
  animation: fadeIn 2s ease 0s 1 normal;
}

.inner {
  max-width: 1080px;
  min-width: 900px;
  width: 90%;
  margin: auto;
}

@keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

@-webkit-keyframes fadeIn {
  0% {
    opacity: 0
  }

  100% {
    opacity: 1
  }
}

main>section {
  margin-bottom: 100px;
}

/*==================================================
$共通
==================================================*/

.pc_center {
  text-align: center; 
}

/*ボタン*/
.fill_btn {
  position: relative;
  z-index: 0;
  text-align: center;
  overflow: hidden;
}

.fill_btn::before {
  content: "";
  position: absolute;
  top: 0;
  bottom: 0;
  left: 0;
  width: 0;
  display: block;
  z-index: -1;
  transition: .3s;
}

.fill_btn:hover:before {
  width: 100%;
}

.white_btn {
  border: solid 1px #fff;
  border-radius: 5px;
  height: 55px;
  width: 384px;
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
  transition: .3s;
}

.white_btn::before {
  background-color: #fff;
}

.white_btn:hover {
  color: #6F6F6F;
}

.white_btn::after {
  content: '';
  right: 25px;
  width: 4px;
  height: 4px;
  border-top: 1px solid #fff;
  border-right: 1px solid #fff;
  -webkit-transform: rotate(45deg);
  transform: rotate(45deg);
  position: absolute;
  transition: .3s;
}

.white_btn:hover::after {
  border-top: 1px solid #6F6F6F;
  border-right: 1px solid #6F6F6F;
}

.link_below {
  position: relative;
  display: inline-block;
  text-decoration: none;
}

.link_below::after {
  position: absolute;
  bottom: -5px;
  left: 0;
  content: '';
  width: 100%;
  height: 1px;
  background: #6F6F6F;
  opacity: 0;
  visibility: hidden;
  transition: .3s;
}

.BurgerMenu .link_below::after {
  background: #fff;
}

.link_below:hover::after {
  bottom: 0;
  opacity: 1;
  visibility: visible;
}

.gold_btn {
background-color: #C3A16B;
border: solid 1px #C3A16B;
color: #fff;
font-size: 2.0rem;
width: 300px;
height: 65px;
display: flex;
align-items: center;
justify-content: center;
margin: auto;
border-radius: 100px;
transition: .3s;
}

.gold_btn:hover {
  background-color: #fff;
color: #C3A16B;
border: solid 1px #C3A16B;
}

/*リスト*/
.bullet_list li {
  text-indent: -1em;
  padding-left: 1em;
}

.bullet_list li::before {
  content: '・';
}

.number_list {
  padding-left: 1.5em;
}

.number_list li {
  list-style-type: decimal;
}

.counter_list_wrap {
  counter-reset: number 0;
}
.counter_list_ttl::before {
  counter-increment: number 1;
  content: counter(number) "．";
}

.indent_list {
  padding-left: 1em;
  text-indent: -1em;
}

/*テキスト*/
.right_txt {
  text-align: right;
}

.link_txt {
  color: #C3A16B;
  text-decoration: underline;
}

.outer_link {
  position: relative;
  padding-right: 15px;
}

.outer_link::after {
  content: '';
  background-image: url(../img/outer_link.svg);
  width: 12px;
  height: 12px;
  position: absolute;
  right: 0;
  top: 0;
  bottom: 0;
  margin: auto;
  background-size: contain;
  background-repeat: no-repeat;
}

/*ボックス*/
.gray_border_box {
border: solid 1px #ccc;
padding: 25px 4%;
}

/* スクロールCSS */
.scroll-up {
  opacity: 0;
  visibility: hidden;
  transform: translateY(50px);
  transition: all 1s;
}

.scroll-up+.scroll-up {
  transition-delay: .1s;
}

.scroll-up+.scroll-up+.scroll-up {
  transition-delay: .2s;
}

.scroll-up.is-show {
  opacity: 1;
  visibility: visible;
  transform: translateY(0px);
}

/*タイトル*/
.bb_ttl {
  margin-bottom: 25px;
  font-size: 2.0rem;
  border-bottom: solid 1px #ccc;
  padding-bottom: 10px;
  font-weight: bold;
}

.pocky_ttl {
  font-size: 2.4rem;
  margin-bottom: 30px;
  position: relative;
}

.pocky_ttl::after {
  content: '';
  position: absolute;
  background-color: #6F6F6F;
  width: 100%;
  height: 1px;
  left: 0;
  bottom: -10px;
}

.pocky_ttl::before {
  content: '';
  position: absolute;
  background-color: #C3A16B;
  width: 50px;
  height: 1px;
  left: 0;
  bottom: -10px;
}

.center_ttl {
  text-align: center;
  font-weight: bold;
  font-size: 2.4rem;
  margin-bottom: 30px;
}


/*==================================================
$header
==================================================*/
.header {
  display: flex;
  justify-content: space-between;
  align-items: center;
  width: 100%;
  position: fixed;
  z-index: 100;
  color: #333;
  background-color: rgba(255, 255, 255, 0.8);
  transition: .3s;
  height: 70px;
  padding: 0 150px 0 30px;
}

.toppage_wrap .header {
}

.toppage_wrap {
  color: #fff;
  background-color: inherit;
}

.header_logo a {
  display: flex;
}

.header_logo p {
  font-family: 'Jost', sans-serif;
  font-size: 1.9rem;
  line-height: 1.36em;
  letter-spacing: 0.24em;
}

.GlobalMenu ul {
  display: flex;
  justify-content: space-between;
  align-items: center;
  gap: 40px;
}

.GlobalMenu ul li {
  text-align: center;
}

.GlobalMenu ul li a {
  padding: 10px 20px;
  display: block;
}

.GlobalMenu ul li.header_reserve {
  background-color: rgba(111, 111, 111, 0.850);
  color: #fff;
}

.header_reserve:hover::before {
  background-color: rgba(0, 0, 0, 0.5);
}

.GlobalMenu ul li span {
  font-family: 'Jost', sans-serif;
  display: block;
  font-size: 1.6rem;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display: block;
  position: fixed;
  z-index: 3;
  right: 45px;
  top: 20px;
  width: 70px;
  height: 30px;
  cursor: pointer;
  text-align: center;
}

.hamburger span {
  display: block;
  position: absolute;
  width: 100%;
  height: 1px;
  left: 0;
  background: #6F6F6F;
  -webkit-transition: 0.5s ease-in-out;
  -moz-transition: 0.5s ease-in-out;
  transition: 0.5s ease-in-out;
}

.toppage_wrap .hamburger span {
}

.hamburger span:nth-child(1) {
  top: 10px;
}

.hamburger span:nth-child(2) {
  top: 20px;
}

.hamburger span:nth-child(3) {
  top: 30px;
  display: none;
}

/* ナビ開いてる時のボタン */
.hamburger.active span:nth-child(1) {
  top: 16px;
  left: 0px;
  background: #fff;
  -webkit-transform: rotate(315deg);
  -moz-transform: rotate(315deg);
  transform: rotate(315deg);
}

.hamburger.active span:nth-child(2),
.hamburger.active span:nth-child(3) {
  top: 16px;
  background: #fff;
  -webkit-transform: rotate(-315deg);
  -moz-transform: rotate(-315deg);
  transform: rotate(-315deg);
}

.BurgerMenu {
  position: fixed;
  z-index: 2;
  top: 0;
  left: 0;
  color: #fff;
  background: rgba(0, 0, 0, 0.8);
  width: 100vw;
  height: 100vh;
  opacity: 0;
  transition: opacity .6s ease, visibility .6s ease;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
}

.BurgerMenu ul {
  width: 600px;
}

.BurgerMenu ul>li {
  padding: 1em 0;
  position: relative;
  display: block;
}

.BurgerMenu ul li a span {
  font-family: 'Jost', sans-serif;
  font-size: 2.5rem;
}

/* このクラスを、jQueryで付与・削除する */
.BurgerMenu.active {
  opacity: 100;
  pointer-events: auto;
}

.dropdownlink {
  cursor: pointer;
}

.BurgerSubmenu {
  display: none;
}

/*==================================================
$footer
==================================================*/
.foot {
  background-color: #fff;
  display: flex;
  flex-wrap: nowrap;
  font-family: 'Jost', sans-serif;
  color: #6F6F6F;
  align-items: center;
  height: 62px;
  padding: 0 25px;
  position: relative;
  gap: 60px;
  background-color: rgba(195,161,107,0.3);
}

.toppage_wrap .foot {
  background-color: #fff;
  display: none;
}

.entrance_logo {}

.foot_logo {
  display: flex;
  align-items: center;
}

.foot_menu {
  display: flex;
  gap: 25px;
}

.foot_menu li {}

.foot_menu li a {}

.foot_copy {
  position: absolute;
  right: 25px;
}

/*==================================================
$エントランス
==================================================*/
.entrance_sec {
  height: calc(100vh - 70px);
  color: #fff;
  margin: 0 !important;
}

.entrance_wrap {
  display: flex;
  flex-wrap: nowrap;
  height: 100%;
}

.entrance_contents {
  width: calc(100%/3);
  position: relative;
  overflow: hidden;
}

.entrance_contents::after {
  content: '';
  background-color: rgba(0,0,0,0.2);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1;
}

.entrance_contents>a {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  padding: 10vh 6% 15vh;
  z-index: 2;
}

.entrance_contents h2 {
  font-size: 1.9rem;
  font-family: 'Jost', sans-serif;
  letter-spacing: 0.24em;
}

.entrance_txt_wrap {
  position: absolute;
  top: 50%;
  width: 90%;
}

.entrance_logo {}

.entrance_ttl {
  font-size: 2.7rem;
  line-height: 1.5;
  margin-bottom: 20px;
}

.entrance_ttl span {
  font-family: 'Jost', sans-serif;
  font-size: 2.8rem;
  display: block;
  letter-spacing: 0.24em;
}

.entrance_txt {
  line-height: 2.42;
}

.entrance_more {
  position: absolute;
  bottom: 5vh;
  right: 0;
  width: 78px;
  letter-spacing: 0.24em;
  font-family: 'Jost', sans-serif;
}

.entrance_more::after {
  content: '';
  background-color: #fff;
  height: 1px;
  width: 100%;
  bottom: -5px;
  left: 0;
  position: absolute;
}

.entrance_contents::before {
  content: '';
  background-size: cover;
  background-position: center;
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  transition: .6s;
}

.entrance_contents:hover::before {
  transform: scale(1.1, 1.1);
}

.entrance_seasons::before {
  background-image: url(../img/entrance01.png);
}

.entrance_andmovie::before {
  background-image: url(../img/entrance02.png);
}

.entrance_restaurant::before {
  background-image: url(../img/entrance03.png);
}

@media only screen and (-webkit-min-device-pixel-ratio: 2) {
  .entrance_seasons::before {
    background-image: url(../img/entrance01@2x.png);
  }

  .entrance_andmovie::before {
    background-image: url(../img/entrance02@2x.png);
  }

  .entrance_restaurant::before {
    background-image: url(../img/entrance03@2x.png);
  }
}

/*==================================================
$下層
==================================================*/
.page_mv {
  text-align: center;
  padding: 50px 0;
  color: #C3A16B;
}

.page_mv_ttl {
  font-family: 'Jost', sans-serif;
  font-size: 5.0rem;
  letter-spacing: 0.2em;
}

.page_mv_subttl {
  font-size: 2.0rem;
}

.company_tbl {
  margin: 0 auto 50px;
  width: 700px;
}

.company_tbl tr {
  display: flex;
  border-bottom: solid #ccc 1px;
  padding-bottom: 20px;
  margin-bottom: 20px;
  font-size: 1.6rem;
}

.company_tbl tr th, .company_tbl tr td {}

.company_tbl tr th {
  width: 25%;
}

.company_tbl tr td {
  width: 75%;
}

.company_map {

}

.company_map iframe {
  width: 100%;
  height: 500px;
}

.privacy_sec {font-size: 1.6rem;}
.privacy_sec .inner {
  max-width: 900px;
}
.privacy_block {margin-bottom: 50px;}
.privacy_block>*:not(:last-child):not(h3) {
  margin-bottom: 15px;
}
.privacy_tbl {
}
.privacy_tbl tr {display: flex;}
.privacy_tbl tr th , .privacy_tbl tr td {
    border: solid 1px #ccc;
    padding: 20px;
}
.privacy_tbl tr th {width: 28%;}
.privacy_tbl tr td {width: 72%;}


/*============================
contact お問い合わせ
============================*/
.page_mv {
  text-align: center;
  padding: 50px 0;
  color: #C3A16B;
}

.page_mv_ttl {
  font-family: 'Jost', sans-serif;
  font-size: 5.0rem;
  letter-spacing: 0.2em;
}

.page_mv_subttl {
  font-size: 2.0rem;
}

.form_sec .inner {
  width: 900px;
}

.mailform {
  margin-bottom: 80px;
}

.form_item {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  margin-bottom: 20px;
}

.form_item>.mfp:first-of-type {
  width: 25%;
}

.form_item>.mfp:nth-of-type(2) {
  width: 70%;
}

.mfp_rows_flex {
  display: flex;
  gap: 20px;
}

.mailform .require {
  background-color: #AF011C;
  color: #fff;
  padding: 3px 8px 5px;
  font-size: 1.2rem;
  line-height: 1em;
  margin-right: 10px;
}

.mailform input, .mailform select, .mailform textarea {
  padding: 10px;
  border: solid 1px #ccc;
  border-radius: 5px;
  font-size: 1.6rem;
  width: 100% !important;
}

.mailform input[type='checkbox'] {
  width: auto !important;
}

.mailform input {}

.mailform select {
  max-width: 300px;
  cursor: pointer;
}

.mailform textarea {
  height: 150px !important;
}

.mailform label {
  cursor: pointer;
}

.mfp_buttons {}

.mfp_buttons button {
  cursor: pointer;
  background-color: #C3A16B;
  border: solid 1px #C3A16B;
  color: #fff;
  font-size: 2.0rem;
  width: 300px;
  height: 65px;
  display: flex;
  align-items: center;
  justify-content: center;
  margin: auto;
  border-radius: 100px;
  transition: .3s;
}

.mfp_buttons button:hover {
  background-color: #fff;
  color: #C3A16B;
  border: solid 1px #C3A16B;
}

#mfp_overlay .mfp_buttons {
  display: flex;
  margin: 20px auto 0;
  gap: 20px;
  max-width: 500px;
}
#mfp_overlay .mfp_buttons button {
  font-size: 1.6rem;
}
#mfp_overlay .mfp_buttons button#mfp_button_cancel {
  background-color: #999;
  border: none;
}

#mfp_overlay .mfp_buttons button#mfp_button_cancel:hover {
  background-color: #fff;
  color: #999 !important;
  border: solid 1px #999;
}
