.pc {
  display: inline-block;
}
@media (max-width: 430px) {
  .pc {
    display: none;
  }
}

.sp {
  display: none;
}
@media (max-width: 430px) {
  .sp {
    display: inline-block;
  }
}

body {
  font-family: "Montserrat", "Zen Kaku Gothic New", sans-serif !important;
  font-size: 14px;
  color: #333;
  position: relative;
  background: url(../img/index/bg_main.jpg) center center no-repeat;
  background-size: 100% 100%;
  background-attachment: fixed;
}

a {
  opacity: 1;
  transition: all 0.5s ease-out;
}

a:hover {
  opacity: 0.7;
  transition: all 0.5s ease-out;
}

.gnavi {
  position: fixed;
  top: max(50vh - 265px, 0px);
  left: calc(30% - min(28vh, 260px));
  width: 260px;
}
@media (max-width: 1120px) {
  .gnavi {
    display: none;
  }
}
.gnavi__head {
  margin: 0 auto 50px;
  display: block;
}
.gnavi__head img {
  width: 132px;
}
.gnavi__text {
  margin: 0 auto 30px;
  font-size: 20px;
  line-height: 32px;
  color: #000000;
  font-weight: bold;
  letter-spacing: 0.8px;
  text-align: center;
}
.gnavi__text--big {
  font-size: 27px;
  letter-spacing: 1.5px;
}
.gnavi__body {
  list-style: none;
}
.gnavi__body_link {
  display: block;
  width: 260px;
  margin: 0 auto 15px;
}
.gnavi__body_link a {
  display: block;
  color: #15102E;
  background: url(../img/index/arrow_b.svg) right 20px center no-repeat;
  padding: 5px 0 10px 25px;
  border: solid 2px #DDA5C3;
  border-radius: 20px;
  font-size: 18px;
  font-weight: bold;
  letter-spacing: 0.8px;
  text-align: left;
}
.gnavi__body_link--small {
  font-size: 12px;
}
.gnavi__body_link img {
  vertical-align: bottom;
}
.gnavi__body_link--end {
  margin: 35px auto 0;
}
.gnavi__body_link--end a {
  line-height: 0;
  padding: 15px 0 15px 25px;
}

.fnavi {
  position: fixed;
  z-index: 99999;
  width: 100%;
  max-width: 53vh;
  min-width: 375px;
  bottom: 0;
}
@media (max-width: 430px) {
  .fnavi {
    max-width: none;
    min-width: none;
  }
}
.fnavi__body {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.fnavi__body_link {
  width: 40%;
}
.fnavi__body_link--half {
  width: 20%;
}
.fnavi__body_link img {
  vertical-align: bottom;
  width: 100%;
}

.link__button {
  width: 100%;
  padding: 10px;
  display: block;
  background: linear-gradient(210deg, #cfbfdf 0%, #e6bfd1 49.79%, #f4bfca 100%);
  font-weight: bold;
  font-size: 13px;
  line-height: 11px;
  color: #F4F5F3;
  text-align: center;
  margin: 10px 0;
  border-radius: 100vmax;
  box-shadow: 5px 5px 5px 0px rgba(0, 0, 0, 0.3);
}

.main-contents {
  position: relative;
  max-width: 53vh;
  min-width: 375px;
  width: 100%;
  margin: 0 calc(45% - 375px) 0 auto;
  z-index: 1000;
}
@media (max-width: 1120px) {
  .main-contents {
    margin: 0 auto;
  }
}
@media (max-width: 430px) {
  .main-contents {
    max-width: none;
  }
}

header {
  position: relative;
  background-color: #FFF;
}

.header {
  background-color: #FFF;
  position: relative;
  padding: 0;
}
.header__main {
  width: 100%;
  vertical-align: bottom;
}
.header__title {
  display: block;
  margin: -70px auto 0;
}

.navi {
  position: relative;
  display: none;
  z-index: 200;
}
.navi__btn {
  vertical-align: bottom;
}
@media (max-width: 430px) {
  .navi {
    display: block;
    position: fixed;
    bottom: 0;
    right: 0;
    text-align: right;
  }
}

.lead {
  position: relative;
  background-color: #FFF;
  padding: 50px 0 5px;
}
.lead p {
  margin: 0 0 20px;
  font-family: Zen Kaku Gothic New;
  font-size: 14px;
  line-height: 23px;
  color: #000000;
  text-align: center;
}

.list {
  position: relative;
  background: url(../img/index/bg_list.png) center top no-repeat;
  background-color: #FFF;
  background-size: cover;
  padding: 100px 0 50px;
}
.list__head--title {
  display: block;
  margin: 0 auto;
}
.list__wrapper {
  width: 100%;
  margin: 20px auto 0;
}
.list__contents {
  margin: 0;
}
.list__contents--img {
  margin: 30px auto;
  width: 90%;
  box-shadow: 7px 7px 20px 0px rgba(0, 0, 0, 0.2);
  display: block;
}

.lineup {
  position: relative;
  background: url(../img/index/bg_lineup.jpg) center center no-repeat;
  background-size: 100% 100%;
  padding: 80px 0;
}
.lineup__head--title {
  display: block;
  margin: 0 auto 50px;
}
.lineup__body {
  list-style: none;
}
.lineup__body_link {
  display: block;
  width: 75%;
  margin: 0 auto 15px;
}
.lineup__body_link a {
  display: block;
  color: #15102E;
  background: url(../img/index/arrow_b.svg) right 20px center no-repeat;
  padding: 5px 0 10px 25px;
  border: solid 2px #DDA5C3;
  border-radius: 20px;
  font-size: 20px;
  font-weight: bold;
  letter-spacing: 0.8px;
  text-align: left;
}
.lineup__body_link--small {
  font-size: 13px;
}
.lineup__body_link img {
  vertical-align: bottom;
}
.lineup__body_link--end {
  margin: 40px auto 0;
}
.lineup__body_link--end a {
  line-height: 0;
  padding: 15px 0 15px 25px;
}

.dance {
  position: relative;
  z-index: 1;
  padding: 70px 0 0;
}
.dance__head {
  padding: 50px 0 30px;
  background: url(../img/index/bg_top.png) top center no-repeat;
  background-size: cover;
}
.dance__head--num {
  display: block;
  margin: 0 auto 20px;
}
.dance__head--shoulder {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #15102E;
  margin: 0 auto 5px;
}
.dance__head--title {
  font-size: 22px;
  letter-spacing: 0.8px;
  font-weight: bold;
  text-align: center;
  color: #15102E;
  margin: 0 auto;
}
.dance__imgbox {
  padding: 338.66% 0 0 0;
  position: relative;
  background-color: rgba(241, 236, 245, 0.8);
}
.dance__img {
  position: absolute;
}
.dance__img--01 {
  width: 68.53%;
  top: 0%;
  left: 15.73%;
  z-index: 9;
}
.dance__img--02 {
  width: 66.93%;
  top: 23.54%;
  left: 29.33%;
  z-index: 10;
}
.dance__img--03 {
  width: 46.11%;
  top: 42.67%;
  left: 29.61%;
  z-index: 10;
}
.dance__img--04 {
  width: 74.93%;
  top: 42.83%;
  left: 0.8%;
  z-index: 10;
}
.dance__img--05 {
  width: 68.53%;
  top: 66.77%;
  left: 15.73%;
  z-index: 9;
}
.dance__img--06 {
  width: 22.54%;
  top: -1%;
  left: 9.99%;
  z-index: 10;
}
.dance__img--07 {
  width: 23.29%;
  top: 26.5%;
  left: 49.19%;
  z-index: 8;
}
.dance__img--08 {
  width: 16.97%;
  top: 45.5%;
  left: 51.85%;
  z-index: 8;
}
.dance__img--09 {
  width: 24.93%;
  top: 90.5%;
  left: 11.41%;
  z-index: 8;
}
.dance__body {
  background-color: rgba(241, 236, 245, 0.8);
}
.dance__crosshead {
  text-align: center;
}
.dance__crosshead--title {
  display: block;
  margin: 0 auto 30px;
}
.dance__wrapper_img {
  width: 100%;
  margin: 0 0 10px;
}
.dance__wrapper_link {
  width: 85%;
  display: block;
  margin: 0 auto;
}
.dance__wrapper_link p {
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0.13px;
  margin: 0 auto 10px;
  color: #15102E;
}
.dance__container {
  padding: 0 5% 100px;
}

.y2k {
  position: relative;
  z-index: 1;
  padding: 70px 0 0;
  overflow: hidden;
}
.y2k__head {
  padding: 50px 0 30px;
  background: url(../img/index/bg_top.png) top center no-repeat;
  background-size: cover;
}
.y2k__head--num {
  display: block;
  margin: 0 auto 20px;
}
.y2k__head--shoulder {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #15102E;
  margin: 0 auto 5px;
}
.y2k__head--title {
  font-size: 22px;
  letter-spacing: 0.8px;
  font-weight: bold;
  text-align: center;
  color: #15102E;
  margin: 0 auto;
}
.y2k__imgbox {
  padding: 306.66% 0 0 0;
  position: relative;
  background-color: rgba(241, 236, 245, 0.8);
}
.y2k__img {
  position: absolute;
}
.y2k__img--01 {
  width: 87.73%;
  top: 0%;
  left: 6.6%;
  z-index: 9;
}
.y2k__img--02 {
  width: 56.78%;
  top: 14.17%;
  left: 52.08%;
  z-index: 10;
}
.y2k__img--03 {
  width: 30.66%;
  top: 29.13%;
  left: 16.89%;
  z-index: 10;
}
.y2k__img--04 {
  width: 59.2%;
  top: 36.17%;
  left: 33.49%;
  z-index: 9;
}
.y2k__img--05 {
  width: 56%;
  top: 65.04%;
  left: 6.93%;
  z-index: 9;
}
.y2k__img--06 {
  width: 41.86%;
  top: 77.82%;
  left: 47.3%;
  z-index: 10;
}
.y2k__img--07 {
  width: 21.79%;
  top: 37.5%;
  left: 16.8%;
  z-index: 10;
}
.y2k__img--08 {
  width: 19.77%;
  top: 65.5%;
  left: 49.86%;
  z-index: 10;
}
.y2k__img--09 {
  width: 13.55%;
  top: 89%;
  left: 45.06%;
  z-index: 10;
}
.y2k__body {
  background-color: rgba(241, 236, 245, 0.8);
}
.y2k__crosshead {
  text-align: center;
}
.y2k__crosshead--title {
  display: block;
  margin: 0 auto 30px;
}
.y2k__wrapper_img {
  width: 100%;
  margin: 0 0 10px;
}
.y2k__wrapper_link {
  width: 85%;
  display: block;
  margin: 0 auto;
}
.y2k__wrapper_link p {
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0.13px;
  margin: 0 auto 10px;
  color: #15102E;
}
.y2k__container {
  padding: 0 5% 100px;
}

.yuru {
  position: relative;
  z-index: 1;
  padding: 70px 0 40px;
}
.yuru__head {
  padding: 50px 0 30px;
  background: url(../img/index/bg_top.png) top center no-repeat;
  background-size: cover;
}
.yuru__head--num {
  display: block;
  margin: 0 auto 20px;
}
.yuru__head--shoulder {
  font-size: 16px;
  font-weight: bold;
  text-align: center;
  color: #15102E;
  margin: 0 auto 5px;
}
.yuru__head--title {
  font-size: 22px;
  letter-spacing: 0.8px;
  font-weight: bold;
  text-align: center;
  color: #15102E;
  margin: 0 auto;
}
.yuru__imgbox {
  padding: 312% 0 0 0;
  position: relative;
  background-color: rgba(241, 236, 245, 0.8);
}
.yuru__img {
  position: absolute;
}
.yuru__img--01 {
  width: 70.66%;
  top: 3.58%;
  left: 14.93%;
  z-index: 10;
}
.yuru__img--02 {
  width: 51.46%;
  top: 35.72%;
  left: 41.4%;
  z-index: 10;
}
.yuru__img--03 {
  width: 79.73%;
  top: 60.07%;
  left: -1.52%;
  z-index: 10;
}
.yuru__img--04 {
  width: 57.36%;
  top: 0%;
  left: 0%;
  z-index: 9;
  mix-blend-mode: multiply;
}
.yuru__img--05 {
  width: 93.46%;
  top: 7.17%;
  left: 6.56%;
  z-index: 9;
  mix-blend-mode: multiply;
}
.yuru__img--06 {
  width: 41.39%;
  top: 44.44%;
  left: 0%;
  z-index: 9;
  mix-blend-mode: multiply;
}
.yuru__body {
  background-color: rgba(241, 236, 245, 0.8);
}
.yuru__crosshead {
  text-align: center;
}
.yuru__crosshead--title {
  display: block;
  margin: 0 auto 30px;
}
.yuru__wrapper_img {
  width: 100%;
  margin: 0 0 10px;
}
.yuru__wrapper_link {
  width: 85%;
  display: block;
  margin: 0 auto;
}
.yuru__wrapper_link p {
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0.13px;
  margin: 0 auto 10px;
  color: #15102E;
}
.yuru__container {
  padding: 0 5% 100px;
}

.profile {
  position: relative;
  z-index: 1;
  padding: 70px 0 0;
}
.profile__wrapper {
  width: 90%;
  margin: 0 auto;
  padding: 30px 0;
  background-color: rgba(241, 236, 245, 0.8);
  border-radius: 35px;
}
.profile__head--title {
  display: block;
  margin: 0 auto 20px;
}
.profile__head--img {
  display: block;
  margin: 0 auto;
}
.profile__img {
  width: 100%;
  display: block;
  margin: 0 auto;
}
.profile__crosshead {
  margin: 15px auto;
}
.profile__crosshead--img {
  display: block;
  margin: 0 auto;
  padding: 0 45px 0 0;
}
.profile__crosshead--txt {
  margin: 0 auto;
  font-size: 35px;
  font-style: italic;
  font-weight: 500;
  letter-spacing: 0.35px;
  color: #15102E;
  text-align: center;
}
.profile__crosshead--txt small {
  font-size: 22px;
}
.profile__text {
  font-size: 13px;
  color: #15102E;
  text-align: center;
  margin: 0 auto 30px;
}
.profile__link {
  width: 80%;
  margin: 0 auto;
  padding: 10px 15px;
  display: block;
  background-color: #a47fb6;
  border-radius: 100vmax;
  text-align: center;
  font-weight: bold;
  font-size: 12px;
  letter-spacing: 0.08px;
  color: #FFFFFF;
  box-shadow: 5px 5px 5px 0px rgba(0, 0, 0, 0.3);
}
.profile__link_wrapper {
  display: table;
  margin: 0 auto;
}
.profile__link_wrapper::before {
  display: table-cell;
  content: "";
  width: 40px;
  height: 20px;
  vertical-align: middle;
}
.profile__link_wrapper--ig::before {
  background: url(../img/index/icon_ig.svg) left center no-repeat;
  background-size: contain;
}

.present {
  position: relative;
  z-index: 1;
  padding: 60px 0 80px;
}
.present__wrapper {
  width: 90%;
  margin: 0 auto;
  padding: 50px 0 40px;
  background-color: #F1ECF5;
  border-radius: 35px;
}
.present__head {
  position: relative;
}
.present__head--title {
  display: block;
  margin: 0 auto 30px;
  font-size: 22px;
  line-height: 26px;
  letter-spacing: 0.22px;
  color: #15102E;
  text-align: center;
}
.present__head--img {
  display: block;
  margin: 0 auto;
  position: absolute;
  top: -90px;
  left: 6%;
}
.present__img {
  width: 75%;
  display: block;
  margin: 0 auto 20px;
}
.present__text {
  font-size: 14px;
  line-height: 23px;
  letter-spacing: 0.14px;
  color: #15102E;
  text-align: center;
  margin: 0 auto 30px;
}
.present__text--big {
  display: inline-block;
  font-size: 16px;
  padding: 0 0 5px;
  background: url(../img/index/line.svg) bottom center no-repeat;
  background-size: contain;
}
.present__note {
  font-size: 13px;
  line-height: 16px;
  letter-spacing: 0.13px;
  color: #15102E;
  text-indent: -1em;
  margin: 0 auto 10px;
}
.present__note_wrapper {
  display: table;
  margin: 0 auto;
}

.all {
  position: relative;
  z-index: 1;
  padding: 60px 0 70px;
}
.all__head {
  width: 100%;
}
.all__head--title {
  display: block;
  margin: 0 auto 20px;
}
.all__head--img {
  display: block;
  margin: 0 auto;
}
.all__body {
  width: 90%;
  margin: 0 auto;
  background-color: #F1ecf5;
  padding: 40px 20px 50px;
  border-radius: 20px;
  display: flex;
  flex-wrap: wrap;
  gap: 25px;
}
.all__item {
  width: calc(50% - 13px);
}
.all__img {
  width: 100%;
}
.all__price {
  width: 100%;
  margin: 10px auto 0;
  font-size: 13px;
  line-height: 15px;
  letter-spacing: 0.13px;
  color: #15102E;
}

.bg {
  position: relative;
}
.bg__fixed {
  background: url(../img/index/bg.jpg) center center no-repeat;
  background-size: cover;
  position: fixed;
  top: 0;
  right: calc(45% - 375px);
  height: 100vh;
  z-index: -1;
  width: 100%;
  max-width: 53vh;
  min-width: 375px;
}
@media (max-width: 1120px) {
  .bg__fixed {
    right: auto;
  }
}
@media (max-width: 430px) {
  .bg__fixed {
    max-width: none;
  }
}

.fnavi {
  position: fixed;
  z-index: 99999;
  width: 100%;
  max-width: 53vh;
  min-width: 375px;
  bottom: 0;
}
@media (max-width: 430px) {
  .fnavi {
    max-width: none;
    min-width: none;
  }
}
.fnavi__body {
  list-style: none;
  display: flex;
  flex-wrap: wrap;
}
.fnavi__body_link {
  width: 26.67%;
}
.fnavi__body_link--half {
  width: 19.99%;
}
.fnavi__body_link img {
  vertical-align: bottom;
  width: 100%;
}

.sitefooter {
  background-color: #FFF;
  padding: 80px 0 20px;
}
.sitefooter__anchor {
  width: 24.512%;
  display: block;
  text-align: center;
  margin: 20px auto;
}
.sitefooter__anchor--img {
  width: 100%;
  vertical-align: bottom;
}
.sitefooter__buttom {
  display: block;
  width: 84%;
  margin: 0 auto;
}
.sitefooter__sns {
  list-style: none;
  display: flex;
  width: 36.394%;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin: 50px auto;
}
.sitefooter__copyright {
  font-family: "Noto Sans JP", sans-serif !important;
  font-size: 8px;
  text-align: center;
  margin: 0 0 100px;
}