@charset "UTF-8";
/****************************************

目次 
1.ベース
2.ヘッダー
3.フッター
4.トップページ
4-1.CONCEPT
4-2.MOVIE
4-3.FLOOR MAP
4-4.FACILITY
4-5.ACCESS

*****************************************/
@import url("https://fonts.googleapis.com/css2?family=Anton&family=Montserrat&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Anton&family=Montserrat&display=swap");
/****************************************


1.ベース


*****************************************/
body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, font, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, figure {
  border: 0 none;
  font-size: 16px;
  font-style: normal;
  margin: 0;
  outline: 0 none;
  padding: 0;
  vertical-align: top;
  font-family: 游ゴシック体, 'Yu Gothic', YuGothic, メイリオ, Meiryo,'ヒラギノ角ゴシック Pro', 'Hiragino Kaku Gothic Pro', Osaka, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
  font-weight: 500;
  text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  font-smoothing: antialiased;
  text-rendering: auto;
  color: #FFFFFF;
  -webkit-text-size-adjust: none; }

html {
  width: 100%;
  height: 100%; }

body {
  background-color: #000000; }

.inner {
  width: 80%;
  margin-left: auto;
  margin-right: auto; }
  @media all and (max-width: 768px) {
    .inner {
      width: 90%; } }

@media all and (max-width: 768px) {
  .spBr {
    display: none; } }

.pcBr {
  display: none; }
  @media all and (max-width: 768px) {
    .pcBr {
      display: block; } }

h2 {
  width: 100%;
  font-family: 'Anton', sans-serif;
  font-size: 180px;
  color: #FF0000;
  text-align: center;
  line-height: 0.95; }
  @media all and (max-width: 768px) {
    h2 {
      font-size: 90px; } }

h3 {
  font-family: 'Anton', sans-serif;
  font-size: 42px;
  line-height: 1;
  color: #000000;
  text-align: center;
  background-color: #FFFFFF;
  padding-top: 10px;
  padding-bottom: 10px; }
  @media all and (max-width: 768px) {
    h3 {
      font-size: 28px;
      padding-top: 5px;
      padding-bottom: 5px; } }

.titWrap {
  transform: translateY(-90px);
  position: relative;
  z-index: 99; }
  @media all and (max-width: 1024px) {
    .titWrap {
      transform: translateY(-45px); } }

.txt p {
  font-size: 18px;
  font-weight: bold;
  line-height: 28px;
  letter-spacing: 2.4px;
  text-align: center;
  margin-top: 30px; }
  @media all and (max-width: 768px) {
    .txt p {
      font-size: 14px;
      letter-spacing: 1px;
      line-height: 2;
      font-weight: normal; } }

.inview {
  transition: all 3000ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
  transition-property: transform,opacity;
  opacity: 0; }
  .inview.left {
    transform: translateX(-30px); }
  .inview.right {
    transform: translateX(30px); }
  .inview.bottom {
    transform: translateY(20px); }
  .inview.delay {
    transition-delay: 250ms; }
  .inview.action {
    opacity: 1;
    transform: translate(0px); }

/* swiperボタン */
.swiper-button-prev,
.swiper-button-next {
  width: 48px;
  /* ボタンの幅 */
  height: 48px;
  /* ボタンの高さ */
  background-size: 48px 48px;
  /* 背景画像としてのサイズ（＝表示したい画像サイズ） */
  margin-top: -24px;
  /* 縦中央配置用：ボタンの高さの半分のネガティブマージン（top:50%がすでに設定されている） */ }

.swiper-button-next {
  background-image: url("img/slideBtn.svg");
  transform: scale(-1, 1);
  right: 5%; }
  @media all and (max-width: 768px) {
    .swiper-button-next {
      background-size: 70%;
      background-repeat: no-repeat;
      right: 1%; } }

.swiper-button-prev {
  background-image: url("img/slideBtn.svg");
  left: 5%; }
  @media all and (max-width: 768px) {
    .swiper-button-prev {
      background-size: 70%;
      background-repeat: no-repeat;
      left: 1%; } }

/* swiper青矢印消す */
.swiper-button-prev:after,
.swiper-button-next:after {
  display: none; }

/****************************************


2.ヘッダー


*****************************************/
header {
  /**SPナビ**/
  /**SPナビボタン**/
  /**SPメニュー**/ }
  @media all and (max-width: 768px) {
    header {
      padding-top: 80px; } }
  header .telInsta {
    padding-top: 10px;
    background-color: #FFFFFF; }
    @media all and (max-width: 768px) {
      header .telInsta {
        display: none; } }
  header .telInsta .inner {
    width: 90%;
    display: flex;
    justify-content: flex-end; }
  header .tel a {
    background-image: url("img/iconTel.svg");
    background-repeat: no-repeat;
    background-position: top 2px left 10px;
    background-size: 10%;
    padding-left: 36px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 12px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    color: #000000; }
    @media all and (max-width: 768px) {
      header .tel a {
        background-position: top 2px right 100%;
        padding-left: 30px;
        font-size: 16px;
        margin-bottom: 3px;
        width: 30%; } }
    @media all and (max-width: 768px) {
      header .tel a img {
        width: 100%;
        height: auto; } }
  header .insta a {
    background-image: url("img/iconInsta.svg");
    background-repeat: no-repeat;
    background-position: top 2px left 10px;
    background-size: 10%;
    padding-left: 36px;
    padding-top: 0;
    padding-bottom: 0;
    font-size: 12px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    color: #000000; }
    @media all and (max-width: 768px) {
      header .insta a {
        background-position: top 2px right 100%;
        padding-left: 30px;
        font-size: 18px; } }
  header .navWrap {
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding-top: 40px;
    padding-bottom: 40px; }
    @media all and (max-width: 768px) {
      header .navWrap {
        display: none; } }
  header .navWrap.inner {
    width: 90%; }
  header .navWrap .left {
    display: flex; }
  header .logo {
    display: flex;
    align-items: center;
    justify-content: center;
    width: 30%; }
  header .logo h1 {
    width: 100%; }
  header .logo h1 a img {
    width: 100%; }
  header .navWrap .right {
    display: flex; }
  header .btnBlack a {
    font-family: 'Anton', sans-serif;
    font-size: 18px;
    letter-spacing: 0.45px;
    border-top: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
    border-left: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    padding-left: 25px;
    padding-right: 25px;
    margin-right: 15px;
    transition: all 0.8s; }
  header .btnBlack a:hover {
    opacity: 0.8; }
  header .btnWhite a {
    font-family: 'Anton', sans-serif;
    font-size: 18px;
    letter-spacing: 0.45px;
    color: #000000;
    background: #FFFFFF;
    border-top: 2px solid #FFFFFF;
    border-bottom: 2px solid #FFFFFF;
    border-left: 2px solid #FFFFFF;
    border-right: 2px solid #FFFFFF;
    padding-left: 25px;
    padding-right: 25px;
    transition: all 0.8s; }
  header .btnWhite a:hover {
    opacity: 0.8; }
  header .btnRed {
    width: 60%; }
    @media all and (max-width: 768px) {
      header .btnRed {
        width: 32%; } }
  header .btnRed a {
    font-family: 'Anton', sans-serif;
    font-size: 18px;
    letter-spacing: 0.45px;
    background: #ff0000;
    border-top: 2px solid #ff0000;
    border-bottom: 2px solid #ff0000;
    border-left: 2px solid #ff0000;
    border-right: 2px solid #ff0000;
    padding-left: 25px;
    padding-right: 25px;
    transition: all 0.8s; }
    @media all and (max-width: 768px) {
      header .btnRed a {
        display: block;
        box-sizing: border-box;
        padding-left: 5px;
        padding-right: 5px;
        text-align: center;
        font-size: 15px; } }
  header .btnRed a:hover {
    opacity: 0.8; }
  header .spNav {
    display: none; }
    @media all and (max-width: 768px) {
      header .spNav {
        width: 100%;
        height: 80px;
        padding: 20px 29px 20px 11px;
        box-sizing: border-box;
        display: flex;
        justify-content: space-between;
        align-items: center;
        background: #000000;
        position: fixed;
        top: 0;
        left: 0;
        z-index: 999; } }
  header .navBtnWrap {
    width: 21%;
    padding-left: 6%;
    box-sizing: border-box; }
  header .navBtn {
    display: none; }
    @media all and (max-width: 768px) {
      header .navBtn {
        display: block;
        width: 100%;
        border: 1px solid #FFFFFF;
        padding: 5px;
        box-sizing: border-box;
        cursor: pointer;
        z-index: 9999; } }
  @media all and (max-width: 768px) {
    header .navBtn span {
      display: block;
      height: 1px;
      width: 100%;
      background: #FFFFFF;
      border-radius: 2px;
      transition: all .5s ease-in-out; } }
  @media all and (max-width: 768px) {
    header .navBtn span:nth-child(1) {
      margin-bottom: 4px; } }
  @media all and (max-width: 768px) {
    header .navBtn span:nth-child(2) {
      margin-bottom: 4px; } }
  header .spMenu {
    display: none; }
    @media all and (max-width: 768px) {
      header .spMenu {
        display: block;
        overflow: auto;
        position: fixed;
        top: 80px;
        left: 0;
        width: 100%;
        height: 100%;
        background: #000;
        opacity: 0;
        z-index: -1;
        transition: all .5s ease-in-out; } }
  @media all and (max-width: 768px) {
    header .spMenu.open {
      z-index: 999;
      opacity: 1; } }
  header .spMenu nav {
    list-style: none;
    padding-top: 40px;
    margin-bottom: 50px; }
  header .spMenu nav li {
    display: flex;
    justify-content: center; }
  header .spMenu nav li a {
    font-family: 'Anton', sans-serif;
    font-size: 62px;
    color: #ff0000; }
  header .spMenu ul li {
    display: flex;
    justify-content: center;
    margin-bottom: 30px; }
  header .spMenu ul li a {
    font-size: 20px;
    font-family: 'Montserrat', sans-serif;
    font-weight: bold;
    color: #FFFFFF; }
  header .spMenu ul li:nth-child(1) a {
    background-image: url("img/iconTelWhite.svg");
    background-repeat: no-repeat;
    background-position: top 2px left 10px;
    background-size: 11%;
    padding-left: 50px;
    padding-top: 0;
    padding-bottom: 0; }
  header .spMenu ul li:nth-child(2) a {
    background-image: url("img/iconInstaWhite.svg");
    background-repeat: no-repeat;
    background-position: top 2px left 10px;
    background-size: 10%;
    padding-left: 50px;
    padding-top: 0;
    padding-bottom: 0; }

/****************************************


3.フッター


*****************************************/
footer {
  background-color: #FF0000;
  background-image: url("img/footerBg.svg");
  background-position: right;
  background-repeat: no-repeat;
  background-size: contain;
  padding-top: 60px;
  padding-bottom: 60px; }
  @media all and (max-width: 768px) {
    footer {
      background-position: bottom;
      padding-top: 40px;
      padding-bottom: 100px; } }
  footer .inner {
    width: 80%;
    display: flex;
    justify-content: space-between; }
    @media all and (max-width: 768px) {
      footer .inner {
        width: 65%;
        margin-left: auto;
        margin-right: auto;
        display: block; } }
  footer .leftWrap {
    margin-top: 55px; }
  footer .leftWrap a img {
    width: 100%; }
  footer .logoBlack {
    margin-bottom: 40px; }
    @media all and (max-width: 768px) {
      footer .logoBlack {
        display: flex;
        justify-content: center; } }
  footer .logoBlack a {
    width: 80%; }
    @media all and (max-width: 768px) {
      footer .logoBlack a {
        width: 60%; } }
  footer .copy {
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    font-size: 12px;
    font-weight: bold;
    letter-spacing: 2px; }
    @media all and (max-width: 768px) {
      footer .copy {
        text-align: center;
        font-size: 6px;
        letter-spacing: 0.5px; } }
  footer li a {
    color: #000000;
    font-family: 'Montserrat', sans-serif;
    font-size: 20px;
    font-weight: 600;
    line-height: 2;
    letter-spacing: 1.38px; }
  footer li a.tel {
    background-image: url("img/iconTel.svg");
    background-repeat: no-repeat;
    background-position: top 8px right 100%;
    background-size: 12%;
    padding-left: 45px; }
  footer li a.instagram {
    background-image: url("img/iconInsta.svg");
    background-repeat: no-repeat;
    background-position: top 8px right 100%;
    background-size: 11%;
    padding-left: 45px; }
  footer .rightWrap {
    margin-top: 180px; }
    @media all and (max-width: 768px) {
      footer .rightWrap {
        margin-top: 30px; } }
  footer .weddingCircus {
    margin-bottom: 20px; }
    @media all and (max-width: 768px) {
      footer .weddingCircus {
        display: flex;
        justify-content: center; } }
  footer .weddingCircus a {
    width: 90%; }
    @media all and (max-width: 768px) {
      footer .weddingCircus a {
        width: 80%; } }
  footer .weddingCircus a img {
    width: 100%; }

/****************************************


4.トップページ


*****************************************/
.topImg .swiper-container {
  padding-left: 8%;
  padding-right: 8%; }
  @media all and (max-width: 768px) {
    .topImg .swiper-container {
      padding-left: 5%;
      padding-right: 5%; } }
.topImg .pc {
  display: block; }
  @media all and (max-width: 768px) {
    .topImg .pc {
      display: none; } }
.topImg .sp {
  display: none; }
  @media all and (max-width: 768px) {
    .topImg .sp {
      display: block; } }

/****************************************


4-1.CONCEPT


*****************************************/
.concept {
  margin-bottom: 50px; }
  @media all and (max-width: 768px) {
    .concept {
      margin-bottom: 30px; } }
  .concept h2 {
    text-align: center;
    margin-bottom: 50px; }
  .concept h2 p {
    font-family: 'Anton', sans-serif;
    font-size: 170px;
    color: #FF0000; }
    @media all and (max-width: 1024px) {
      .concept h2 p {
        font-size: 110px; } }
    @media all and (max-width: 768px) {
      .concept h2 p {
        font-size: 84px; } }
  .concept h2 p span {
    font-family: 'Anton', sans-serif;
    font-size: 170px;
    color: #FF0000; }
    @media all and (max-width: 1024px) {
      .concept h2 p span {
        font-size: 110px; } }
    @media all and (max-width: 768px) {
      .concept h2 p span {
        font-size: 84px; } }

/****************************************


4-2.MOVIE


*****************************************/
.movie {
  margin-bottom: 200px; }
  @media all and (max-width: 768px) {
    .movie {
      margin-bottom: 100px; } }
  .movie .iframe {
    position: relative;
    width: 100%;
    padding-top: 56.25%; }
  .movie .iframe iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }
  .movie .promotionMovie {
    font-family: 'Anton', sans-serif;
    font-size: 56px;
    background-color: #ff0000;
    padding-left: 30px;
    line-height: 1.4; }
    @media all and (max-width: 768px) {
      .movie .promotionMovie {
        font-size: 24px;
        padding-left: 10px; } }

/****************************************


4-3.FLOOR MAP


*****************************************/
/*タブ切り替え全体のスタイル*/
.tabs {
  width: 80%;
  padding-bottom: 40px;
  box-shadow: 0 0 10px rgba(0, 0, 0, 0.2);
  margin-top: 100px;
  margin-left: auto;
  margin-right: auto; }
  @media all and (max-width: 768px) {
    .tabs {
      width: 90%;
      margin-top: 70px; } }

.tab_itemWrap {
  display: flex;
  justify-content: center; }
  @media all and (max-width: 768px) {
    .tab_itemWrap {
      margin-bottom: 20px; } }

/*タブのスタイル*/
.tab_item {
  width: calc( ( 50% - 103px ) / 3);
  height: 30px;
  border-top: 2px solid #FFFFFF;
  border-bottom: 2px solid #FFFFFF;
  border-left: 2px solid #FFFFFF;
  border-right: 2px solid #FFFFFF;
  line-height: 30px;
  font-family: 'Anton', sans-serif;
  font-size: 20px;
  text-align: center;
  color: #FFFFFF;
  display: block;
  float: left;
  margin-right: 30px;
  transition: all 0.8s ease;
  cursor: pointer; }
  @media all and (max-width: 768px) {
    .tab_item {
      width: calc( ( 95% - 103px ) / 3);
      border-top: 1px solid #FFFFFF;
      border-bottom: 1px solid #FFFFFF;
      border-left: 1px solid #FFFFFF;
      border-right: 1px solid #FFFFFF;
      height: 20px;
      line-height: 20px;
      font-size: 18px;
      margin-right: 20px; } }

.tab_item:hover {
  opacity: 0.8; }

/*タブ切り替えの中身のスタイル*/
.tab_content {
  display: none;
  clear: both;
  overflow: hidden;
  transition: all 0.8s ease; }

.tab_content img {
  display: block;
  margin-right: auto;
  margin-left: auto; }

/*選択されているタブのコンテンツのみを表示*/
.tab_content.active {
  display: block; }

/*選択されているタブのスタイルを変える*/
.tab_item.active {
  background-color: #FFFFFF;
  color: #000000; }

/****************************************


4-4.FACILITY


*****************************************/
@keyframes fadeout {
  0% {
    opacity: 1; }
  99.99% {
    height: 100%; }
  100% {
    opacity: 0;
    height: 0;
    display: none; } }
.facility {
  position: relative;
  margin-bottom: 180px;
  /**swiper**/ }
  .facility .facilityImg {
    display: block;
    margin-left: auto;
    margin-right: auto; }
  .facility .txt {
    margin-top: 50px;
    margin-bottom: 130px; }
    @media all and (max-width: 768px) {
      .facility .txt {
        width: 90%;
        margin-top: 60px;
        margin-bottom: 80px;
        margin-left: auto;
        margin-right: auto; } }
  .facility .inview.facilityInview {
    position: relative; }
  .facility .inview.facilityInview:after {
    content: "";
    display: block;
    position: absolute;
    width: 60%;
    height: 100%;
    left: 50%;
    top: 0%;
    z-index: 10;
    transform: translateX(-50%); }
  .facility .inview.facilityInview.action:after {
    animation: fadeout 2s ease 0s;
    animation-fill-mode: forwards;
    animation-delay: 2s; }
  .facility .inview.facilityInview1.action:after {
    background: url("img/2f/facilitySliderTitle1.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain; }
  .facility .inview.facilityInview2.action:after {
    background: url("img/3f/facilitySliderTitle2.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain; }
  .facility .inview.facilityInview3.action:after {
    background: url("img/oterfloor/facilitySliderTitle3.png");
    background-repeat: no-repeat;
    background-position: center center;
    background-size: contain; }
  .facility .imgSliderWrap {
    margin-bottom: 100px; }
  .facility .swiper-container {
    width: 100%;
    margin: 40px 0;
    padding: 45px 0; }
  .facility .swiper-slide {
    opacity: 0.4;
    overflow: hidden;
    transition: .7s; }
  .facility .swiper-slide img {
    width: 100%; }
  .facility .swiper-slide-active {
    opacity: 1;
    z-index: 1;
    transform: scale(1.5);
    /* スライドの大きさ調整 */ }
    @media all and (max-width: 768px) {
      .facility .swiper-slide-active {
        transform: scale(2); } }

/****************************************


4-5.ACCESS


*****************************************/
.access {
  margin-bottom: 150px; }
  .access .inner {
    margin-top: 100px;
    margin-bottom: 150px; }
  .access .txtWrap {
    width: 70%;
    display: flex;
    justify-content: space-between;
    margin-left: auto;
    margin-right: auto;
    margin-bottom: 80px; }
    @media all and (max-width: 768px) {
      .access .txtWrap {
        width: 100%;
        display: block; } }
  .access .img {
    margin-top: 60px; }
    @media all and (max-width: 768px) {
      .access .img {
        display: flex;
        justify-content: center;
        margin-bottom: 50px; } }
  @media all and (max-width: 768px) {
    .access .img img {
      width: 50%; } }
  .access .address span {
    font-size: 20px;
    font-weight: bold;
    line-height: 30px;
    letter-spacing: 1.2px;
    margin-bottom: 20px;
    display: inline-block; }
    @media all and (max-width: 768px) {
      .access .address span {
        font-size: 18px; } }
  .access dl {
    display: flex; }
  .access dt {
    width: 30%;
    position: relative;
    font-size: 15px;
    padding-right: 15px; }
  .access dt::after {
    content: ":";
    position: absolute;
    right: 0; }
  .access dd {
    width: 70%;
    font-size: 15px;
    padding-left: 20px; }
  .access .map {
    height: 0;
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative; }
  .access .map iframe {
    position: absolute;
    left: 0;
    top: 0;
    height: 100%;
    width: 100%; }
  .access .contactBtn {
    width: 300px;
    height: 60px;
    background: #FF0000;
    display: flex;
    justify-content: center;
    align-items: center;
    margin-left: auto;
    margin-right: auto;
    font-family: 'Anton', sans-serif;
    font-size: 46px;
    color: #000000;
    transition: all 0.8s; }
    @media all and (max-width: 768px) {
      .access .contactBtn {
        width: 80%;
        font-size: 40px; } }
  .access .contactBtn:hover {
    background: #C30000; }

/*# sourceMappingURL=style.css.map */
