@charset "utf-8";

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

.nosp {
  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 {
  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: 75px;
}

/*==================================================
$共通
==================================================*/
/*ボタン*/
.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;
}

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

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

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

/*リスト*/
.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: 20px;
  font-size: 1.6rem;
  border-bottom: solid 1px #ccc;
  padding-bottom: 5px;
  font-weight: bold;
}

.bb_ttl b {
  font-size: 7.4rem;
  font-family: 'Jost', sans-serif;
  letter-spacing: 0.24em;
  display: inline-block;
  position: relative;
  line-height: 1em;
  margin-bottom: 10px;
}

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

.bb_ttl span {
  display: block;
}

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

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

.center_ttl {
  text-align: center;
  font-weight: bold;
  font-size: 4vw;
  margin-bottom: 20px;
}

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

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

.header_logo a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 80%;
}

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

.GlobalMenu {
  display: none;
}

.toppage {
  padding-top: 60px;
}

/*　ハンバーガーボタン　*/
.hamburger {
  display: block;
  position: fixed;
  z-index: 3;
  right: 25px;
  top: 15px;
  width: 50px;
  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;
}

.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: 90%;
}

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

.BurgerMenu ul>li:not(:last-of-type)::after {
  content: '';
  background-color: rgba(255, 255, 255, 0.5);
  width: 50px;
  height: 1px;
  position: absolute;
  bottom: 0px;
  left: 0;
}

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

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

.dropdownlink {
  cursor: pointer;
}

.BurgerSubmenu {
  display: none;
}

/*==================================================
$footer
==================================================*/
/*==================================================
$エントランス
==================================================*/
.entrance_sec {
}

.entrance_wrap {}

.entrance_contents {
  position: relative;
  height: 550px;
  text-align: center;
}

.entrance_seasons.entrance_contents {
  height: 530px;
}

.entrance_contents>a {
  position: absolute;
  width: calc(100% - 6%*2);
  height: calc(100% - 6%*2);
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  border: solid 1px #EBEBEB;
  margin: auto;
  padding-bottom: 60px;
  background-color: rgba(255, 255, 255, 0.2);
}

.entrance_contents h2 {
  font-size: 1.9rem;
  font-family: 'Jost', sans-serif;
  letter-spacing: 0.24em;
  position: absolute;
  right: 0;
  left: 0;
  margin: auto;
  color: #fff;
  top: 77px;
  display: flex;
  align-items: center;
  justify-content: center;
}

.entrance_restaurant.entrance_contents h2 {
  top: 60px;
}

.left_txt {text-align: left;}

.entrance_logo {}

.entrance_txt_wrap {
  position: absolute;
  bottom: 66px;
  right: 0;
  left: 0;
  margin: auto;
}

.entrance_ttl {
  font-size: 1.8rem;
  line-height: 1.5;
  margin-bottom: 10px;
  letter-spacing: 0.36em;
}

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

.entrance_txt {
  line-height: 2;
  font-size: 1.2rem;
}

.entrance_more {
  position: absolute;
  bottom: 25px;
  right: 0;
  left: 0;
  margin: auto;
  font-family: 'Jost', sans-serif;
}

.entrance_more::after {
  content: '';
  background-color: #6F6F6F;
  height: 1px;
  width: 4em;
  bottom: 0;
  left: 0;
  right: 0;
  position: absolute;
  margin: auto;
}

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

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

.foot {
  font-family: 'Jost', sans-serif;
  color: #6F6F6F;
  align-items: center;
  padding: 30px 10px 25px;
  position: relative;
  gap: 60px;
  text-align: center;
  background-color: rgba(195,161,107,0.3);
}

.entrance_logo {}

.foot_logo {
  display: flex;
  align-items: center;
  justify-content: center;
  margin-bottom: 20px;
}

.foot_menu {
  display: flex;
  gap: 25px;
  margin-bottom: 30px;
  justify-content: center;
}

.foot_menu li {}

.foot_menu li a {}

.foot_copy {
  font-size: 1.1rem;
}


/*==================================================
$下層
==================================================*/
.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;
}

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

.company_tbl tr th, .company_tbl tr td {}

.company_tbl tr th {
  width: 100%;
  font-weight: bold;
  margin-bottom: 5px;
}

.company_tbl tr td {
  width: 100%;
}

.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: 7vw;
  letter-spacing: 0.2em;
}

.page_mv_subttl {
  font-size: 4vw;
}

.form_sec .inner {
}

.mailform {
  margin-bottom: 80px;
}

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

.form_item>.mfp:first-of-type {
  width: 100%;
  margin-bottom: 10px;
}

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

.mfp_rows_flex {
  display: flex;
}

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