@charset "UTF-8";

@import url('https://fonts.googleapis.com/css?family=DM+Serif+Text&display=swap');
/*
 * ユニークなモジュール名（#baila_module_***）はタイアップごとに変更する
 */
/* ---------------------------------------- *
 *
 * メインカラー
 * 以下カラー値すべてに、今回のタイアップのメインカラーを指定する
 *
 * ---------------------------------------- */
#baila_module_hafh2303 [data-border='self'] {
  border-color: #EA68A2;
}

html.device-pc #baila_module_hafh2303 [data-border='hover']:hover,
html.device-pc #baila_module_hafh2303 [data-border='hover']:active {
  border-color: #EA68A2;
}

html.device-pc #baila_module_hafh2303 [data-border='hover-span']:hover > span,
html.device-pc #baila_module_hafh2303 [data-border='hover-span']:active > span {
  border-color: #EA68A2;
}

#baila_module_hafh2303 [data-bg='self'] {
  background: #EA68A2;
}

html.device-pc #baila_module_hafh2303 [data-bg='hover']:hover,
html.device-pc #baila_module_hafh2303 [data-bg='hover']:active {
  background: #EA68A2;
}

html.device-pc #baila_module_hafh2303 [data-bg='hover-span']:hover > span,
html.device-pc #baila_module_hafh2303 [data-bg='hover-span']:active > span {
  background: #EA68A2;
}

#baila_module_hafh2303 [data-color='self'] {
  color: #EA68A2;
}

html.device-pc #baila_module_hafh2303 [data-color='hover']:hover,
html.device-pc #baila_module_hafh2303 [data-color='hover']:active {
  color: #EA68A2;
}

/* ---------------------------------------- *
 *
 * 背景色
 * 以下カラー値に、今回のタイアップで使用する背景色を指定する
 *
 * ---------------------------------------- */
#baila_module_hafh2303 .m-top.is-bg,
#baila_module_hafh2303 .m-homeMenu__sc.is-bg,
#baila_module_hafh2303 .m-movie.is-bg,
#baila_module_hafh2303 .m-gallery.is-bg,
#baila_module_hafh2303 .m-info.is-bg,
#baila_module_hafh2303 .m-richmenu.is-bg,
#baila_module_hafh2303 .m-menuDa__sc.is-bg {
  background: #fff1f8;
}

/* ---------------------------------------- *
 *
 * 欧文・和文フォント
 * 以下font-familyに、今回のタイアップの欧文・和文フォントをそれぞれ指定する
 * 新しいWebフォントを使用する場合は、このCSSの先頭（@charsetの直下）でフォントを読み込ませる
 * 例）@import url('https://fonts.googleapis.com/css?family=Roboto&display=swap');
 *
 * ---------------------------------------- */
#baila_module_hafh2303 [data-font='en'] {
  font-family: 'DM Serif Text', serif;
}

#baila_module_hafh2303 .l-mainWrap {
  font-family: YakuHanJP, 游ゴシック, "Yu Gothic", YuGothic, "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", "Noto Sans JP", メイリオ, Meiryo, sans-serif;
}

#baila_module_hafh2303 .l-content {
  font-weight: 400;
}

#baila_module_hafh2303 .m-top__tt.jp.pt2 {
  font-weight: 700;
}

/* ---------------------------------------- *
 *
 * メディアクエリ
 * PC、SPに個別にスタイルを適用させたい場合は、以下メディアクエリを使用する
 *
 * ---------------------------------------- */

 #baila_module_hafh2303 .m-menu__n {
      opacity: .8 !important;
      font-size: .9rem;
 }
 #baila_module_hafh2303 .m-top__t,
 #baila_module_hafh2303 .m-menu__t {
  font-size: 1rem;
 }

 #baila_module_hafh2303 .c-tit.jp {
  font-weight: 700;
 }
  html {
  -webkit-text-size-adjust: 100%;
}

#baila_module_hafh2303 .info-2col li {
  display: flex;
  justify-content: space-between;
  margin-top: 40px;
}


[data-ruby] {
    position: relative;
}

.ba-hafh2303__title {
  text-align: center;
  font-size: 32px;
  font-weight: bold;
  color: #EA68A2;
}

.ba-hafh2303__title span {
    font-size: 70%;
    color: #333;
}

.m-info__in {
    border: 3px solid #ffedf5;
    background: #ffedf5;
  }


@media screen and (min-width: 900px) {
  /* ここにPCのスタイルを記述する */
  .sp-only {
    display: none;
  }
  #baila_module_hafh2303 .m-top__tt.jp {
    font-size: 2.75rem;
    line-height: 4.7rem;
    font-feature-settings: "palt";
  }
  #baila_module_hafh2303 .m-top__tw {
    width: 31.75rem;
    padding-right: 2rem;
  }
  #baila_module_hafh2303 .m-top__l.jp.pt2 {
    font-size: 20px;
  }
  #baila_module_hafh2303 .m-top__l.jp.pt2 span {
    font-size: 2.5rem;
  }
  #baila_module_hafh2303 .sub-menu__conts {
    display: flex;
    background: #fff1f8;
    padding: 30px;
    width: 1100px;
    margin: 50px auto 60px;
    justify-content: center; 
    align-items: center;
  }
  #baila_module_hafh2303 .sub-menu__conts-img {
    width: 200px;
  }
  #baila_module_hafh2303 .sub-menu__conts p {
    margin-left: 30px;
    width: 660px;
  }
  #baila_module_hafh2303 .c-tit.jp {
    font-size: 20px;
    line-height: 1.8;
  }

  #baila_module_hafh2303 .info-2col {
  display: flex;
  justify-content: space-between;
}

  #baila_module_hafh2303 .info-2col li div {
    margin-right: 15px;
  }

  #baila_module_hafh2303 .info-2col li div img {
    max-width: 200px;
  }

  #baila_module_hafh2303 .info-2col li {
    width: 48%;
  }
  [data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -2.3em;
    left: 0.8rem;
    right: 0;
    margin: auto;
    font-size: 15px;
    letter-spacing: 0.5rem;
  }

/*  #information .m-menu__bt {
    margin: 2.5rem auto 0;
  }*/

  .t-center {
    text-align: center !important;
  }

  .m-official__n {
    text-align: center;
    color: #727272;
    margin-top: 5rem;
  }

  .ba-hafh2303__title.mg50 {
    margin: 0 auto 50px;
  }
  .m-menu__tw {
  padding-left: 3rem;
}
.m-menu.is-reverse .m-menu__tw {
  padding-right: 3rem;
}
  .m-official {
    padding: 2rem 0 5rem;
}

}

@media screen and (max-width: 899px) {
  /* ここにSPのスタイルを記述する */
  .pc-only {
    display: none;
  }
  #baila_module_hafh2303 .m-top__l.jp {
    font-size: 0.9rem;
  }
  #baila_module_hafh2303 .m-top__l.jp.pt2 {
   text-align: center;
   margin-bottom: 5px;
  }
  #baila_module_hafh2303 .m-top__tt.jp.pt2 {
    text-align: center;
    font-size: 1.7rem;
    line-height: 1.5;
    margin-bottom: 20px;
  }

  #baila_module_hafh2303 .sub-menu__conts {
    display: flex;
    background: #fff1f8;
    padding: 30px 15px;
    margin: 40px auto 0;
    flex-direction: column; 
    align-items: center;
  }
  #baila_module_hafh2303 .sub-menu__conts-img {
    width: 80%;
  }
  #baila_module_hafh2303 .sub-menu__conts p {
    margin-top: 20px;
  }
  #baila_module_hafh2303 .c-tit.jp {
    margin-bottom: 30px;
    font-size: 1.05rem !important;
    line-height: 1.5;
  }
  #baila_module_hafh2303 .info-2col li div img {
    margin-right: 15px;
    max-width: 125px;
  }

  [data-ruby]::before {
    content: attr(data-ruby);
    position: absolute;
    top: -0.8em;
    left: 0.5rem;
    right: 0;
    margin: auto;
    font-size: 9px;
    letter-spacing: 0.3rem;
  }

  .m-info__tt {
    font-size: 1.5rem;
  }

  .ba-hafh2303__title {
    font-size:22px;
  }

    .ba-hafh2303__title.mg50 {
    margin: 0 auto 30px;
  }
  .m-menu__tw {
    margin: 1.5625rem 20px 0;
}
.m-menu__p {
  margin: 0 10px;
}
#baila_module_hafh2303 .m-top__t {
  margin: 0 20px;
}

.m-official {
      padding: 0 20px 50px;
}

.m-official__n {
  margin: 40px 0;
}

}

.m-menu {
  align-items: start !important;
}

.overlay {
  position: fixed;
  width: 100%;
  height: 100%;
  background: grey;
  opacity: .6;
  display: none;
  z-index: 0;
  top: 0;
  left: 0;
  right: 0;
  z-index: 100;
}


.modal {
  width: 65%;
  height: 80%;
  border: 1px solid #000;
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  background: #fff;
  display: none;
  z-index: 1000;
}

.modal p {
  position: absolute;
  top: 50%;
  left: 50%;
  text-align: center;
  transform: translate(-50%, -50%);
  z-index: 10;
  font-size: 14px;
  z-index: 100;
  width: 90%;
  text-align: left;
}

.modal-close__wrap {
  position: absolute;
  right: 40px;
  top: 20px;
}

.modal-close {
  background: transparent;
  border-color: transparent;
  padding: 0;
  margin: 0;
  cursor: pointer;
  width: 28px;
  display: block;
  height: 28px;
}

.modal-close span {
  position: relative;
  width: 100%;
  height: 1px;
  background: black;
  display: block;
}

.modal-close span:nth-child(1) {
  transform: rotate(45deg);
}

.modal-close span:nth-child(2) {
  transform: rotate(-45deg);
}

.modal-open {
  cursor: pointer;
  background: #e6e6e6;
  border: #e6e6e6;
  color: #222;
  padding: 10px 12px;
  width: 100%;
}


.overlay.open {
  display: block;
}

.modal.open {
  display: block;
}

.modal p a {
  color: #EA68A2;
}

.modal p a:hover {
  opacity: 0.7;
}

@media screen and (max-width: 899px) {
  .modal-open {
    position: absolute;
    z-index: 10;
    top: 15%;
  }
  .modal {
    width: 90%;
  }
  .modal p {
    top: 82%;
    padding-bottom: 40px;
  }
}