@charset "UTF-8";

.popup-wrapper {
    position:  absolute;
    width: 100%;
    height: 100%;
    left: 0;
    top: 0;
    pointer-events: none;
}

@media screen and (min-width: 768px) {
    .popup-wrapper.is-active .speech-bubble {
        opacity: 1;
        transform: translateY(0);
    }
}

.speech-bubble {
  position: absolute;
  display: inline-block;
  padding: 5px 0;
  border: 4px solid #0064d2;
  border-radius: 6px;
  background-color: #ffffff;
  text-align: center;
  width: 13%;
  font-size: 14px;
  font-weight: 400;
  line-height: 1.5;
  color: #0064d2;
  left: 10%;
  bottom: 23%;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-5px);
  transition: opacity 0.3s ease, transform 0.3s ease;
}

.speech-bubble.it-bubble {
    border: 4px solid #b94b00;
    color: #b94b00;
}

.speech-bubble.ot-bubble {
    border: 4px solid #007580;
    color: #007580;
    left: initial;
    right: 11%;
    bottom: -7%;
}

.speech-bubble::before {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 10px 17px 10px;
  border-color: transparent transparent #0064d2 transparent;
  translate: -50% -100%;
}

.speech-bubble.it-bubble::before {
    border-color: transparent transparent #b94b00 transparent;
}

.speech-bubble.ot-bubble::before {
    border-color: transparent transparent #007580 transparent;
}

.speech-bubble::after {
  content: "";
  position: absolute;
  top: 0;
  left: 50%;
  border-style: solid;
  border-width: 0 5.4px 9.1px 5.4px;
  border-color: transparent transparent #ffffff transparent;
  translate: -50% -100%;
}

.popup-image {
    position: relative;
}

.it-popup {
    pointer-events: auto;
    position: absolute;
    display: block;
    left: 29.2%;
    top: 13.5%;
    width: 33%;
    height: 84%;
    transform: rotate(30deg) skewX(-30deg);
}

.ot-popup {
    pointer-events: auto;
    position: absolute;
    display: block;
    right: 3.5%;
    top: 58%;
    width: 34%;
    height: 44%;
    transform: rotate(30deg) skewX(-30deg);
}

/* --------------------
ポップアップ
-------------------- */
#popup-wrap.is-active {
    bottom: 0;
    top: 0;
    display: flex!important;
    flex-direction: column;
    justify-content: center;
}

#popup-main {
    padding: 2.5em;
}

/* --------------------
ボタン
-------------------- */
.button.arrow-right {
    background: #0064d2;
    display: block;
    width: 250px;
    margin: 0 auto;
    color: #fff;
    text-align: center;
}

.button > a:hover {
    text-decoration: none;
    opacity: 0.8;
}

.button.arrow-right > a {
    padding-right: 30px;
    color: #fff;
    position: relative;
    padding: 0.5em 30px;
    text-align: center;
    display: block;
}

.button.arrow-right > a::after {
    content: "";
    position: absolute;
    width: 8px;
    height: 8px;
    border-bottom: 2px solid #ffffff;
    border-right: 2px solid #ffffff;
    right: 15px;
    top: 50%;
    transform: translateY(-50%) rotate(-45deg);
}