@charset "utf-8";

/*========= モーダル表示のためのCSS ===============*/

/*全て共通：hideエリアをはじめは非表示*/
.hide-area{
  display: none;
}

.modaal-container {
  max-width: 100%;
  color: #fff;
  background: no-repeat bottom right / 20% #555 url(../img/icon-org.svg);
  background-position-y: 108%;
  background-position-x: 102%;
}

.p-modal {
  display: flex;
  justify-content: space-between;
  padding: 50px 0 20px;
  flex-wrap: wrap;
}
.p-modal__left,
.p-modal__right {
  width: 50%;
}
.p-modal__left h2 {
  font-size: 22px;
  font-weight: 600;
}
.p-modal__left h2.__small {
  font-size: 18px;
}
.p-modal__left .__story,
.p-modal__left .__cast {
  padding: 10px 0;
}
.p-modal__left .__story dt {
  position: relative;
  width: 100%;
  font-size: 14px;
  font-weight: 600;
  line-height: 32px;
  letter-spacing: 2px;
}
.p-modal__left .__story dt::after {
  content: "";
  position: absolute;
  top: 50%;
  right: 0;
  transform: translateY(-50%);
  width: calc(100% - 5em);
  border-top: 1px solid #fff;
}
.p-modal__left .__story dd {
  font-size: 14px;
  letter-spacing: 2px;
  line-height: 28px;
}
.p-modal__left .__link {
  font-size: 14px;
  letter-spacing: 2px;
  line-height: 20px;
  width: fit-content;
  width: -moz-fit-content;
  margin: 0 0 0 auto;
}
.p-modal__left .__link a {
  font-size: 10px;
  color: #999999;
  width: fit-content;
  width: -moz-fit-content;
  border-bottom: 1px solid #999999;
  transition: all .8s;
  padding: 5px 0;
  line-height: 48px;
}
.p-modal__left .__link a:hover {
  color: #fff;
  border-bottom: 1px solid #fff;
  transition: all .8s;
}

.p-modal__left .__cast li {
  font-size: 10px;
  letter-spacing: 1px;
  line-height: 16px;
}

.p-modal__left {
  order: 1;
  padding-left: 10%;
}
.p-modal__right {
  order: 2;
  padding-left: 10%;
}
.p-modal__right > div {
  height: auto;
  margin-bottom: 10px;
}

.p-modal__bottom {
  order: 3;
  width: 100%;
  margin-top: 5em;
}



.modaal-wrapper .modaal-close {
  position: absolute;
  background-color :#fff;
  transition: all .8s;
  width: 30px;
  height: 30px;
}
.modaal-wrapper .modaal-close:focus,
.modaal-wrapper .modaal-close:hover,
.modaal-wrapper .modaal-close:after,
.modaal-wrapper .modaal-close:before {
  background-color :#555;
}
.modaal-wrapper .modaal-close:before,
.modaal-wrapper .modaal-close:after {
  top: 50%;
  left: 50%;
  width: 2px;
  height: 18px;
}
.modaal-wrapper .modaal-close:before {
  transform: translate(-50%,-50%) rotate(45deg);
}
.modaal-wrapper .modaal-close:after {
  transform: translate(-50%,-50%) rotate(-45deg);
}

.modaal-wrapper .modaal-close:focus:after,
.modaal-wrapper .modaal-close:focus:before,
.modaal-wrapper .modaal-close:hover:after,
.modaal-wrapper .modaal-close:hover:before {
  background-color :#fff;
}

@media screen and (max-width: 768px) {

  .modaal-inner-wrapper { padding: 20px 0; }
  .modaal-content-container { padding: 15px; }
  .p-modal__left,
  .p-modal__right { width: 100%; }
  .p-modal__left {
    order: 1;
    padding: 0;
    margin-top: 4em;
  }
  .p-modal__right {
    order: 3;
    padding-left: 0;
  }
  .p-modal__bottom {
    order: 2;
    margin: 4em auto;
  }

}
