/* -----------------------------------------------
  基本スタイル
-------------------------------------------------- */

/* Basic Modal Styles */

html.disable-smooth-scroll {
  scroll-behavior: auto !important;
}

.modal {
  position: relative;
}

.modal__overlay {
  position: fixed;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  /* z-index: 998; */
  z-index: 100002;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 30px 0;
  background: rgba(5, 17, 32, .85);
}

.modal__container {
  display: flex;
  flex-direction: column;
  align-items: center;
  width: auto;
  max-width: 1200px;
  max-height: 100%;
  overflow: visible;
}

.modal_inner {
  flex: auto;
  max-height: 100%;
  width: 100%;
  overflow-y: auto;
  overflow-x: auto;
}

[data-micromodal-trigger] {
  cursor: pointer;
}

/* Animation Style */

@keyframes mmfadeIn {
    from { opacity: 0; }
      to { opacity: 1; }
}

@keyframes mmfadeOut {
    from { opacity: 1; }
      to { opacity: 0; }
}

.micromodal-slide {
  display: none;
}

.micromodal-slide.is-open {
  display: block;
}

.micromodal-slide[aria-hidden="false"] .modal__overlay {
  animation: mmfadeIn .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide[aria-hidden="true"] .modal__overlay {
  animation: mmfadeOut .3s cubic-bezier(0.0, 0.0, 0.2, 1);
}

.micromodal-slide .modal__container,
.micromodal-slide .modal__overlay {
  will-change: transform;
}

@media screen and (max-width:750px){
  .modal__overlay {
    padding: 10px 0;
  }
}


/* -----------------------------------------------
  カスタマイズ
-------------------------------------------------- */

/* basicModal */

.basicModal {
  --close-size: 40px;
}

.basicModal__closeBtn {
  appearance: none;
  position: relative;
  flex: none;
  margin: 0 0 15px auto;
  z-index: 1;
  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;
  width: var(--close-size);
  height: var(--close-size);
  padding: 0;
  background: #fff;
  border: 1px solid #eee;
  border-radius: 50%;
  color: #004098;
  line-height: 1;
  outline: none;
}

.basicModal__closeBtn::before,
.basicModal__closeBtn::after {
  content: "";
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 60%;
  height: 3px;
  margin: auto;
  display: block;
  background: currentColor;
  border-radius: 99em;
}

.basicModal__closeBtn::before {
  transform: rotate(45deg);
}

.basicModal__closeBtn::after {
  transform: rotate(-45deg);
}

.basicModal__closeBtn:hover {
  cursor: pointer;
  color: #ed0338;
  background-color: #e3e9ef;
}

.basicModal .modal__container {
  width: 100%;
}

.basicModal .modal_inner {
  border-radius: 5px;
  background: #fff;
}

/* 幅を中身にあわせる */

.basicModal-fit .modal__container {
  width: auto;
}

.basicModal-fit .modal_inner {
  overflow-x: hidden;
}


@media screen and (max-width:750px){
  .basicModal__closeBtn {
    margin: 0 10px 10px auto;
  }
}

/* 閉じるボタンを内側に */

.basicModal__closeBtn--inside {
  position: absolute;
  top: 10px;
  right: 10px;
  color: #fff;
  background: #000;
  border: none;
}

.basicModal__closeBtn--inside:hover {
  color: #fff;
  background-color: #566d81;
}

@media screen and (max-width:750px){
  .basicModal__closeBtn--inside {
    margin-right: 0;
  }
}

/* ひまわり おくラクWi-Fi ポップアップ */

.js-popupBlock {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 999;
  width: 1200px;
  max-height: 85%;
  max-height: calc(100% - 65px);
  margin: auto;
  background: #fff;
  text-align: center;
  -webkit-overflow-scrolling: touch;
  overflow-y: auto;
}

.js-popupBlockBg {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: #051120;
  opacity: 0.85;
  z-index: 998;
  cursor: pointer;
}

.is-noScroll {
  overflow-y: scroll;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
}

/* ひまわりで通信費をおトクに節約「3大キャンペーン」実施中！ */

.basicModal:where(.basicModal-contactPatternPopHome) {
  .modal__container {
    width: auto;
  }

  .modal_inner {
    overflow-x: hidden;
    padding: var(--space-md);
  }
}