@charset "UTF-8";
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Medium");
  font-display: swap;
}
@font-face {
  font-family: "Yu Gothic M";
  src: local("Yu Gothic Bold");
  font-weight: bold;
  font-display: swap;
}
/* ページタイトル */
.page_title {
  width: 100%;
  color: #FFF;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  height: 300px;
}
@media screen and (max-width: 767px) {
  .page_title {
    height: 52vw;
  }
}
.page_title .tit {
  text-shadow: 2px 2px 0 #455027, -2px -2px 0 #455027, -2px 2px 0 #455027, 2px -2px 0 #455027, 0px 2px 0 #455027, 0 -2px 0 #455027, -2px 0 0 #455027, 2px 0 0 #455027;
}
.page_title .tit {
  line-height: 1.1;
  width: 100%;
  margin-left: 0;
  margin-right: 0;
  font-size: 42px;
  font-size: 4.2rem;
}
@media screen and (max-width: 767px) {
  .page_title .tit {
    text-align: center;
    font-size: 32px;
    font-size: calc(32 / 3.75 * 1vw);
  }
}
.page_title .tit span {
  display: block;
  font-size: 16px;
  font-size: 1.6rem;
  margin-top: 10px;
  font-weight: 400;
}
@media screen and (max-width: 480px) {
  .page_title .tit span {
    text-align: center;
    font-size: 12px;
    font-size: calc(12 / 3.75 * 1vw);
  }
}
.page_title .sub {
  font-family: "Noto Serif", "Noto Serif JP", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  line-height: 0.7;
  opacity: 0.3;
  position: absolute;
  font-weight: 700;
  letter-spacing: 0.15625vw;
  font-size: 100px;
  font-size: calc(100 / 12.8 * 1vw);
  bottom: 30px;
  right: 30px;
}
@media screen and (max-width: 767px) {
  .page_title .sub {
    letter-spacing: 0.5333333333vw;
    font-size: 34px;
    font-size: calc(34 / 3.75 * 1vw);
    width: 100%;
    text-align: center;
    bottom: 5.3vw;
    right: 0;
  }
}
.page_title .img_area {
  width: 100%;
  height: 100%;
  position: absolute;
  z-index: -1;
  top: 0;
  left: 0;
}
.page_title .img_area img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  font-family: "object-fit: cover;";
}
.page_title .img_area:after {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 0.1);
  content: "";
  display: block;
}

/* セクションタイトル */
.sec_title {
  margin-bottom: 30px;
  line-height: 1.4;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .sec_title .tit {
    font-size: 32px;
    font-size: 3.2rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_title .tit {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (min-width: 768px) {
  .sec_title .tit.small {
    font-size: 20px;
    font-size: 2rem;
  }
}
@media screen and (max-width: 767px) {
  .sec_title .tit.small {
    font-size: 14px;
    font-size: 1.4rem;
  }
}

/* テキストリンク */
.txt_link {
  text-decoration: underline;
}

/*中央揃えテキスト*/
.text_center {
  text-align: center;
}

/* 赤字 */
.txt_red {
  color: #c20004 !important;
}

/* 太字 */
.txt_bold {
  font-weight: 700;
}

/*グレー背景*/
.bg_gray {
  background: #F5F5F5;
}

/* カミングスーン */
.coming_soon_content {
  background-image: url("../img/coming_soon_bg.jpg");
  background-size: cover;
  background-repeat: no-repeat;
  background-position: bottom center;
  text-align: center;
  min-height: calc(100vh - 599px);
  height: 37.5vw;
  padding-bottom: 10.9375vw;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-line-pack: center;
      align-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.coming_soon_content .content_wrap {
  padding: 20px !important;
  text-align: center;
}
.coming_soon_content .sec_title {
  color: #FFF;
}
.coming_soon_content .coming_soon_txt {
  font-weight: 700;
  line-height: 1.2;
  color: rgba(255, 255, 255, 0.5);
  font-family: "Noto Serif", "Noto Serif JP", "ヒラギノ明朝 ProN W6", "HiraMinProN-W6", "HG明朝E", "ＭＳ Ｐ明朝", "MS PMincho", "MS 明朝", serif;
  font-size: 58px;
  letter-spacing: 0.15625vw;
}
.coming_soon_content .txt {
  line-height: 1.6;
  margin-top: 2.34375vw;
  font-size: 20px;
}
@media screen and (max-width: 1199px) {
  .coming_soon_content .coming_soon_txt {
    font-size: 58px;
    font-size: calc(58 / 12.8 * 1vw);
  }
  .coming_soon_content .txt {
    font-size: 20px;
    font-size: calc(20 / 12.8 * 1vw);
  }
}
@media screen and (max-width: 767px) {
  .coming_soon_content {
    min-height: calc(100vh - (52px + 52vw + 521px));
    height: 74.6666666667vw;
    padding-bottom: 16vw;
  }
  .coming_soon_content .coming_soon_txt {
    font-size: 20px;
    font-size: calc(20 / 3.75 * 1vw);
    letter-spacing: 0.5333333333vw;
  }
  .coming_soon_content .txt {
    margin-top: 5.3333333333vw;
    font-size: 14px;
    font-size: calc(14 / 3.75 * 1vw);
  }
}

/* ドレスコード */
.dress_code {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
.dress_code li {
  width: 33.3333333333%;
}
@media screen and (max-width: 644px) {
  .dress_code li {
    width: 90%;
  }
}

/* インフォメーションエリア */
.annotation_info_area {
  background: #a3ba99;
  padding: 20px;
  text-align: center;
}
.annotation_info_area.warning {
  background: #eec148;
}