@charset "utf-8";

/* ==========================================================================
   HTML断片読み込みモーダル
   ========================================================================== */
html.mhb-locked,
body.mhb-locked {
  overflow: hidden;
  height: 100%;
}

body.mhb-locked {
  position: fixed;
  width: 100%;
}

.mhb-modalwindow {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 9999999;
  overflow-x: hidden;
  overflow-y: auto;
  -webkit-overflow-scrolling: touch;
  background-color: rgba(255,254,236,1.00);
  background-image: url("../images/bg/bg_002_02.png"),url("../images/bg/bg_002_01.jpg");
  background-size: 300px auto, 100% auto;
  background-position: top center, top center;
  cursor: pointer;
}
   @media screen and (max-width: 1200px) {
      .modalwindow{
         background-size: 280px auto, 160% auto;
      } 
   }
   @media screen and (max-width: 600px) {
      .modalwindow{
         background-size: 200px auto, 200% auto;
      } 
   }


.mhb-modalwindow.is_visible {
  display: block;
}

.mhb-body {
  position: relative;
  width: 100%;
  min-height: 100dvh;
  padding: 80px 20px 60px;
  box-sizing: border-box;
  cursor: default;
}

.mhb-content {
  width: 100%;
}

.mhb-fragment-wrap {
  width: 100%;
}

/* 読み込んだ中の class をそのまま使う前提 */
.mhb-fragment-wrap > * {
  pointer-events: auto;
}

/* 閉じるボタン */
.mhb-close {
  position: fixed;
  top: 0;
  right: 0;
  z-index: 10000000;
  width: 70px;
  height: 70px;
  margin: 15px 10px auto auto;
  border: none;
  cursor: pointer;
  background-color: transparent;
  background-image: url("../images/menu/b_close2.png");
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
}

.mhb-close:hover {
  background-image: url("../images/menu/b_close2.png");
  background-size: 100% auto;
  background-position: center center;
  background-repeat: no-repeat;
}

/* ローディング */
.mhb-loading {
  display: none;
  justify-content: center;
  align-items: center;
  min-height: 200px;
  color: #fff;
  font-size: 14px;
  letter-spacing: 0.08em;
}

/* エラー */
.mhb-error {
  width: 95%;
  max-width: 900px;
  margin: 80px auto;
  background: #fff;
  color: #000;
  padding: 30px 20px;
  box-sizing: border-box;
  border: rgba(131,0,0,1) 2px solid;
  box-shadow: 10px 10px rgba(131,0,0,1);
}

/* スマホ */
@media screen and (max-width: 1200px) {
  .mhb-close {
    width: 60px;
    height: 60px;
    margin: 10px 10px auto auto;
  }
}

@media screen and (max-width: 480px) {
  .mhb-body {
    padding: 40px 0 10px 0;
  }

  .mhb-close {
    width: 50px;
    height: 50px;
    margin: 5px 5px auto auto;
  }
}