@media screen and (max-width: 767px) {
  #newHeader ~ .embedded_popup_modal {
    height: 100dvh;
    top: 0;
    bottom: auto;
    overflow: hidden;
  }
}
@media screen and (min-width: 768px) {
  .embedded_popup,
  .embedded_popup_modal {
    z-index: 1000;
  }
}
@media screen and (max-width: 767px) {
  .embedded_popup,
  .embedded_popup_modal {
    z-index: 80;
  }
}
.typhoon_modal_container {
  width: 335px;
  max-width: calc(100vw - 40px);
  max-height: calc(100dvh - 40px);
  overflow-y: auto;
  border-radius: 8px 8px 6px 6px;
}
@media screen and (min-width: 768px) {
  .typhoon_modal_container {
    width: 427px;
  }
}
@media screen and (max-width: 767px) {
  #newHeader ~ .embedded_popup_modal .typhoon_modal_container {
    max-height: calc(100dvh - 134px);
  }
}
.embedded_popup_modal_dialog:has(.typhoon_modal_container) .embedded_popup_modal_close {
  width: 27px;
  height: 27px;
  top: -9px;
  right: -8px;
}
@media screen and (min-width: 768px) {
  .embedded_popup_modal_dialog:has(.typhoon_modal_container) .embedded_popup_modal_close {
    top: -10px;
    right: -10px;
  }
}
.embedded_popup_modal_dialog:has(.typhoon_modal_container) .embedded_popup_modal_close:before,
.embedded_popup_modal_dialog:has(.typhoon_modal_container) .embedded_popup_modal_close:after {
  height: 16px;
}
.embedded_popup_modal_dialog:has(.typhoon_modal_container) .embedded_popup_modal_close:focus-visible {
  -webkit-box-shadow: 0 0 0 2px #333, 0 0 0 4px #fff;
          box-shadow: 0 0 0 2px #333, 0 0 0 4px #fff;
}
.typhoon_modal {
  color: #333;
  text-align: center;
}
.typhoon_modal img {
  display: block;
  max-width: none;
}
.typhoon_modal p {
  margin: 0;
}
.typhoon_modal .typhoon_modal_head {
  padding: 10px 15px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  background-color: #fa6153;
  color: #fff;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_head {
    padding: 15px 15px 20px;
    gap: 6px;
  }
}
.typhoon_modal .typhoon_modal_ttl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 4px;
  font-size: 20px;
  font-weight: 900;
  line-height: 29px;
  white-space: nowrap;
}
.typhoon_modal .typhoon_modal_update {
  font-size: 14px;
  font-weight: 500;
  line-height: 20px;
}
.typhoon_modal .typhoon_modal_alert {
  width: 100%;
  margin-top: 4px;
  padding: 4px 0;
  border-radius: 6px;
  background-color: #ffea00;
  color: #333;
  font-size: 11px;
  font-weight: bold;
  line-height: 16px;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_alert {
    margin-top: 0;
    padding: 6px 0;
    font-size: 14px;
    line-height: 20px;
  }
}
@media screen and (max-width: 374px) {
  .typhoon_modal .typhoon_modal_alert br {
    display: none;
  }
}
.typhoon_modal .typhoon_modal_body {
  padding: 10px 15px 15px;
  background-color: #fff;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_body {
    padding-top: 20px;
    padding-bottom: 19px;
  }
}
.typhoon_modal .typhoon_modal_first {
  position: relative;
  margin-top: 8px;
  padding: 21px 10px 13px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  gap: 8px;
  border: 3px solid #fa6153;
  border-radius: 6px;
  background-color: #fff;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_first {
    padding: 13px 0 7px;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 20px;
  }
}
.typhoon_modal .typhoon_modal_first_label {
  position: absolute;
  top: -11px;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  padding: 0 10px;
  border-radius: 3px;
  background-color: #fa6153;
  color: #fff;
  font-size: 14px;
  font-weight: bold;
  line-height: 24px;
  text-align: center;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_first_label {
    width: 135.37px;
  }
}
.typhoon_modal .typhoon_modal_first_illust {
  width: 60px;
  height: auto;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_first_illust {
    width: 93px;
  }
}
.typhoon_modal .typhoon_modal_first_txtbox {
  -webkit-box-flex: 0;
      -ms-flex: 0 1 208px;
          flex: 0 1 208px;
  min-width: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 2px;
}
.typhoon_modal .typhoon_modal_first_ttl {
  color: #fa6153;
  font-size: 17px;
  font-weight: bold;
  line-height: 1.4;
}
.typhoon_modal .typhoon_modal_first_ttl span {
  display: inline-block;
}
.typhoon_modal .typhoon_modal_first_txt {
  font-size: 13px;
  font-weight: 500;
  line-height: 20px;
}
.typhoon_modal .typhoon_modal_first_txt span {
  display: inline-block;
}
@media screen and (max-width: 374px) {
  .typhoon_modal .typhoon_modal_first_txt br {
    display: none;
  }
}
.typhoon_modal .typhoon_modal_subttl {
  margin-top: 15px;
  height: 33px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  color: #32b988;
  font-size: 18px;
  font-weight: bold;
  line-height: 22px;
  white-space: nowrap;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_subttl {
    gap: 34.73px;
  }
}
.typhoon_modal .typhoon_modal_subttl:before,
.typhoon_modal .typhoon_modal_subttl:after {
  content: '';
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  height: 1px;
  background-color: #32b988;
}
.typhoon_modal .typhoon_modal_links {
  margin: 10px 0 0;
  padding: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 10px;
}
.typhoon_modal .typhoon_modal_links li {
  list-style: none;
}
.typhoon_modal .typhoon_modal_link {
  min-height: 54px;
  padding: 14px 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 10px;
  border: 1px solid #ddd;
  border-radius: 6px;
  background-color: #fff;
  color: #000;
  font-size: 14px;
  font-weight: 500;
  line-height: 14px;
  text-align: left;
  text-decoration: none;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_link {
    -webkit-transition: opacity 0.3s ease;
    transition: opacity 0.3s ease;
  }
  .typhoon_modal .typhoon_modal_link:hover {
    opacity: 0.7;
  }
}
.typhoon_modal .typhoon_modal_link:focus-visible {
  -webkit-box-shadow: 0 0 0 2px #fff, 0 0 0 4px #333;
          box-shadow: 0 0 0 2px #fff, 0 0 0 4px #333;
}
.typhoon_modal .typhoon_modal_link img {
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
.typhoon_modal .typhoon_modal_link_txt {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  min-width: 0;
}
.typhoon_modal .typhoon_modal_link_txt span {
  display: inline-block;
}
@media screen and (max-width: 374px) {
  .typhoon_modal .typhoon_modal_link_txt {
    line-height: 18px;
  }
}
.typhoon_modal .typhoon_modal_link_arrow {
  -webkit-transform: rotate(-90deg);
          transform: rotate(-90deg);
}
.typhoon_modal .typhoon_modal_note {
  margin-top: 10px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: flex-start;
  gap: 6px;
  font-size: 13px;
  font-weight: 400;
  line-height: 1.4;
  text-align: left;
}
@media screen and (min-width: 768px) {
  .typhoon_modal .typhoon_modal_note {
    font-size: 14px;
  }
}
.typhoon_modal .typhoon_modal_note span:first-child {
  -ms-flex-negative: 0;
      flex-shrink: 0;
  line-height: 20px;
}
