@charset "utf-8";

body.modal-open {
  overflow: hidden !important;
}

.modal-overlay {
  position: fixed;
  inset: 0;
  background: #ffffff;
  display: none;
  justify-content: center;
  align-items: flex-start;
  z-index: 99999;
}

.modal-overlay.is-open {
  display: flex;
}

.modal {
  background: #ffffff;
  padding: 50px 20px;
  max-width: 900px;
  width: 100%;
  height: 100%;
  overflow: auto;
}


/* クローズアイコン */
.modal-close {
  position: fixed;
  top: 20px;
  right: 20px;
  z-index: 999999;
  display: flex;
  flex-direction: column;
  align-items: center;
  width: 22px;
  height: 18px;
  cursor: pointer;
  mix-blend-mode: difference;
}

.modal-close span {
  display: block;
  width: 22px;
  height: 3px;
  margin: 3px 0;
  background-color: #ffffff;
  transition: 0.3s;
}

.modal-close span:nth-child(1) {
  transform: translateY(5px) rotate(30deg);
}

.modal-close span:nth-child(2) {
  transform: translateY(-4px) rotate(-30deg);
}


/* コンテンツ */
.modal .container {
  height: 100%;
  overflow: scroll;
  /* IE, Edge 対応 */
  -ms-overflow-style: none;
  /* Firefox 対応 */
  scrollbar-width: none;
}

/* Chrome, Safari 対応 */
.box::-webkit-scrollbar {
  display: none;
}

.modal .content-area {
  width: 100%;
  margin: 0 auto;
}

.modal .content-area:nth-of-type(n+2) {
  margin: 40px auto 0;
}

.modal .content-img {
  width: 100%;
}

.modal .content-txt {
  width: calc(100% - 20px * 2);
  margin: 0 auto;
}

.modal .content-txt h6 {
  padding-top: 30px;
  font-size: min(3.7209302325581395vw, 16px);
  line-height: 1.5;
  text-align: center;
  margin-block: var(--leading-trim);
}

.modal .content-txt h6.men-color, 
.modal .content-txt h6.boy-color {
  color: #006622;
}

.modal .content-txt h6.women-color, 
.modal .content-txt h6.girl-color {
  color: #CC0000;
}

.modal .content-txt h6.baby-color {
  color: #C5990A;
}

.modal .content-txt p {
  padding-top: 20px;
  font-size: min(2.7906976744186047vw, 12px);
  line-height: 2;
  text-align: left;
  margin-block: var(--leading-trim);
}

.modal .content-credit {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

.modal .content-credit:nth-of-type(1) {
  margin: 30px auto 0;
}

.modal .content-credit:nth-of-type(n+2) {
  margin: 10px auto 0;
}

.modal .content-credit .name {
  font-size: min(2.3255813953488373vw, 10px);
  line-height: 1.5;
  color: #000000;
  text-align: center;
  margin-block: var(--leading-trim);
}

.modal .content-credit .btn {
  font-size: min(2.7906976744186047vw, 12px);
  line-height: 1.5;
  color: #ffffff;
  text-align: center;
  padding: 0px 15px;
  background-color: #000000;
  border: 1px solid #000000;
  transition: 0.3s cubic-bezier(0.45, 0, 0.55, 1);
}

.modal .content-credit .btn:hover {
  color: #000000;
  background: #ffffff;
}

@media only screen and (min-width: 768px) {
  .modal .content-area {
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 40px;
  }
}