@charset "utf-8";
/* CSS Document */

/*-------------------------------
 intro
---------------------------------*/
#intro {
  width: 100%;
  background: rgb(255 255 255 / 80%);
  font-family: var(--ff-zenmaruG);
  text-align: center;
}
.intro-cont {
  width: min(100%, 102.4rem);
  padding: calc(var(--rs) * 2) 2% ;
  margin: 0 auto;
}
.intro-heading {
  color: #fff;
  font-size: calc(var(--rs) * 2 + var(--fs) * 1);
  font-weight: normal;

}
.intro-heading span {
  width: fit-content;
  padding: 0 1em;
  margin: auto;
  background: linear-gradient(90deg, #d52433 0%, #e8635a 100%);
  line-height: 1.4;
  display: block;
  position: relative;
  left: -2em;
}
.intro-heading span ~ span {
  margin-top: calc(var(--rs) * 1);
  left: 2em;
}
.intro-text {
  width: min(100%, 62rem);
  margin: 1em auto;
  font-size: calc(var(--fs) * 2);
  font-weight: bold;
}
/*-------------------------------
 spec
---------------------------------*/
#specDDSsaki {
  padding: calc(var(--rs) * 5) 0;
  background: 
    linear-gradient(90deg, rgb(255 255 255 / 100%) 40%, transparent 60%),
    url("/dd/special/gakuen-idolmaster/image/bg_classroom-body.jpg") 50% 0 / cover no-repeat
    ;
}
.cont-ddsSakiSpec {
  width: min(100%, 204.8rem);
  margin: 0 auto;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
  justify-content: flex-end;
  position: relative;
}
/* spec _ img*/
.ddsSakiSpec-img {
  width: min(100%, calc(var(--rs) * 46));
  max-width: 46rem;
  margin: 0 0 0 auto;
  text-align: right;
  flex: 1 1 auto;
}
/*spec _ text*/
.ddsSakiSpec-text {
  width: 50%;
  font-family: var(--ff-NtSnsJP);
}
.cont-spec {
  width: min(100%, 92rem);
  padding: 0 5% 0 7%;
  filter: drop-shadow(0 0 calc(var(--rs) * 1)  rgb(0 0 0 / 50%));
  position: relative;
  top: calc(var(--rs) * -5);
}
.bg-notes {
  padding-right: 2%;
  margin-top: calc(10.22222cqw + var(--rs) * 4);
  margin-bottom: calc(10.22222cqw + var(--rs) * 0);
  background: url("/dd/special/gakuen-idolmaster/image/bg_notes_body.png") 0 0 / 100% repeat-y;
  container-type: inline-size;
  z-index: 2;
}
.bg-notes::before {
  content: "";
  width: 100%;
  height: 10.22222cqw;
  background: url("/dd/special/gakuen-idolmaster/image/bg_notes_top.png") 50% 0 / 100% no-repeat;
  position: absolute;
  left: 0;
  top: -10cqw;
  z-index: 1;
}
.bg-notes::after {
  content: "";
  width: 100%;
  height: 10.22222cqw;
  background: url("/dd/special/gakuen-idolmaster/image/bg_notes_bottom.png") 50% 0 / 100% no-repeat;
  position: absolute;
  left: 0;
  bottom: -10cqw;
  z-index: 1
}
.spec-imgCont {
  width: 92%;
  margin: 0 auto 3em 0;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
}
.specImg {
  position: relative;
  display: block;
}
.specImg-includedItems {
  flex: 1 1 45%
}
.specImg-partsPoint {
  margin: calc(var(--rs) * -6) -15% calc(var(--rs) * 0) 10%;
  flex: 1 1 55%;
}
.partsPoint-text {
  width: 60%;
  padding: 0.8em 0 0.8em 0.5em;
  background: #fbebe7;
  border-left: calc(var(--rs) * 1.2) solid #ea9d88;
  box-shadow: calc(var(--rs) * 0.2) calc(var(--rs) * 0.2) calc(var(--rs) * 1) 1px rgb(0 0 0 / 50%);
  font-size: calc(var(--rs) * 1.4);
  position: absolute;
  left: -10%;
  top: 60%;
}
/*pic frame _ masking tape*/
.pic-frame-mt::before,
.pic-frame-mt::after {
  content: "";
  width: min(20%,calc(var(--rs) * 17));
  height: min(21.6666666%, calc(var(--rs) * 13));
  background-size: contain;
  background-position: 0 0;
  background-repeat: no-repeat;
  position: absolute;
}
.pic-frame-mt::before {
  background-image: url("/dd/special/gakuen-idolmaster/image/deco_maskingtape_01.png");
  left: -3.7647058%;
  top: -4.8333333%;
}
.pic-frame-mt::after {
  background-image: url("/dd/special/gakuen-idolmaster/image/deco_maskingtape_02.png");
  right: -4.5882352%;
  bottom: -5.1666666%;
}
/*saki img 切り替え*/
.sakiImg-pc {
  display: block;
}
.sakiImg-sp {
  display: none;
}
@container (min-width: 960px) {
  .spec-imgCont {
    position: absolute;
    right: 0;
    top: 0;
  }
}
@media screen and (max-width: 1023px) {
  #specDDSsaki {
    padding-top: 0;  
  }
  .cont-ddsSakiSpec {
    flex-direction: column;
    align-items: center;
  }
  .ddsSakiSpec-img {
    margin: calc(var(--rs) * -4) auto 0 0;
    position: relative;
    z-index: 1;
  }
  .ddsSakiSpec-text {
    width: min(100%, 90.4rem);
    margin: 0 auto;
  }
  .spec-imgCont {
    width: 40%;
    margin: 0;  
    flex-direction: column;
    position: absolute;
    right: 8%;
    top: 18%;
  }
  .specImg-partsPoint {
    margin-top: 0;
  }
  /*saki img 切り替え*/
  .sakiImg-pc {
    display: none;
  }
  .sakiImg-sp {
    display: block;
  }
}
/*-------------------------------
 gallery
---------------------------------*/
.cont-galleryDouble {
  width: var(--w-cont);
  margin: 0 auto;
  display: flex;
  flex-flow: row wrap;
  align-items: flex-start;
  justify-content: center;
}
.galleryDouble {
  width: min(100%, 52rem);
  margin: 0;
  flex: 1 1 auto;
}
/*gallery point*/
.gallery-pointText {
  width: 100vi;
  background: var(--grd-org);
  color: #fff;
  font-family: var(--ff-zenmaruG);
  text-align: center;
  position: relative;
}
.pointText-charmpoint {
  width: fit-content;
  padding: 1em 3%;
  margin: 0 auto;
  font-size: calc(var(--fs) * 1.8);
  text-align: left;
}
.pointText-parts {
  padding: 1em 3%;
  background: #ec7d88;
  font-size: calc(var(--fs) * 1.6);
  text-align: center;
}
@media screen and (min-width: 2000px) {
  .gallery-pointText {
    width: 93.8vi;
  }
}
/*-------------------------------
 slick _ unslick
---------------------------------*/
@media screen and (max-width: 840px) {
  .item-pic {
    padding: 1% 2%;
    display: flex;
    flex-flow: row wrap;
  }
  .item-pic--list {
    width: calc(100% / 3 - 2%);
    margin: 1%;
  }
  .slider-container {
    padding-bottom: 3% !important;
  }
}
/*-------------------------------
 other characters
---------------------------------*/
#otherCharacters {
  width: 100%;
  background: 
    url("/dd/special/gakuen-idolmaster/image/bg_schoolEmblem.png") calc(50% + var(--rs) * 32) 55% / calc(var(--rs) * 48) no-repeat,
    var(--grd-org)
  ;
  color: #fff;
}
.cont-otherCharacters {
  width: min(100%, 102.4rem);
  padding: calc(var(--rs) * 2) 2%;
  margin: 0 auto;
  display: flex;
  flex-flow: row nowrap;
  align-items: flex-start;
}
.otherChara-list {
  display: flex;
  flex-flow: row nowrap;
  justify-content: center;
}
.otherChara-list li {
  margin: 0 1%;
}
.otherChara-text {
  width: 80%;
  padding: 1em;
  font-size: calc(var(--fs) * 1.6);
}
.otherChara-text-heading {
  color: #41b299;
  font-size: calc(var(--fs) * 2.2);
  font-weight: bold;
  line-height: 1.3;
  text-indent: -1em;
}
.otherChara-text-read {
  margin: 0.5em 0;
  font-weight: bold;
}
.otherChara-text-read b {
  color: #000;
  font-size: calc(var(--fs) * 2.0);
  display: inline-block;
}
.otherChara-text-heading,
.otherChara-text-read b {
  filter: drop-shadow(0 0 1px #fff);
  text-shadow: 
    1px 1px 0px #fff,
    -1px -1px 0px #fff,
    -1px 1px 0px #fff,
    1px -1px 0px #fff,
    0 0 10px #fff
  ;
}
@media screen and (max-width: 767px) {
  .cont-otherCharacters {
    flex-direction: column;
  }
  .otherChara-list {
    width: 60%;
  }
  .otherChara-text {
    width: 100%;
  }
}