@charset "UTF-8";
@import url("https://use.typekit.net/fyz3dbm.css");
/* ================================================================ *
* MIXIN
* ================================================================ */
/* ================================================================ *
* BODY
* ================================================================ */
body {
  position: relative;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic", "ヒラギノ角ゴ", "メイリオ", "Meiryo", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
  font-weight: 400;
  font-style: normal;
  color: #020202;
  font-size: 18px;
  line-height: 1.8;
  font-feature-settings: "palt" 1;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
@media (max-width: 800px) {
  body {
    font-size: 15px;
    line-height: 1.6;
  }
}

a:link, a:visited {
  color: #00deff;
  text-decoration: none;
}

a:active, a:hover {
  color: #ec9800;
  text-decoration: none;
}

a:focus, *:focus {
  outline: none;
}

img {
  border: none;
  outline: none;
  max-width: 100%;
}

@media (min-width: 800px) {
  .sp {
    display: none !important;
  }
}
@media (max-width: 800px) {
  .pc {
    display: none !important;
  }
}
/* ================================================================ *
* parts
* ================================================================ */
img {
  pointer-events: none;
}

dl {
  margin: 0;
}

.txt_center {
  text-align: center;
}

.txt_red {
  color: #ff1717;
}

.mb10 {
  margin-bottom: 10px;
}

.btn {
  position: relative;
  overflow: hidden;
  width: min(100%, 200px);
  border: 1px solid rgba(0, 0, 0, 0.7);
  border-radius: 50px;
}
.btn:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: #020202;
  transform-origin: 100% 0;
  transform: scaleX(0);
  transition: transform 0.15s ease-out;
}
.btn p, .btn a {
  position: relative;
  z-index: 1;
  display: block;
  padding: 5px 20px;
  color: #020202;
  font-size: 90%;
  line-height: 1;
  text-align: left;
  transition: all 0.1s ease-out;
}
.btn p:after, .btn a:after {
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic", "ヒラギノ角ゴ", "メイリオ", "Meiryo", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
  content: "→";
  display: block;
  position: absolute;
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 10px;
  top: 50%;
  right: 5px;
  top: 50%;
  transform: translateY(-50%);
  background: #020202;
  color: #fff;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  transition: all 0.1s ease-out;
}
.btn.gr {
  background: #f4f4f4;
}
.btn.music:before, .btn.dream:before, .btn.love:before {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: 40%;
  aspect-ratio: 1/1;
  top: 0;
  left: -30px;
  opacity: 0.4;
  transform: translateY(-60%);
}
.btn.pnav a:after, .btn.pnav p:after {
  transform: translateY(-50%) rotate(90deg);
}
.btn.music {
  background: linear-gradient(45deg, #eaf5f4 30%, rgba(255, 255, 255, 0.3));
}
.btn.music:before {
  background: radial-gradient(#2662a3, rgba(38, 98, 163, 0) 70%);
}
.btn.dream {
  background: linear-gradient(45deg, #d3dbe6 30%, rgba(255, 255, 255, 0.3));
}
.btn.dream:before {
  background: radial-gradient(#6c69a4, rgba(108, 105, 164, 0) 70%);
}
.btn.love {
  background: linear-gradient(45deg, #e8dddd 30%, rgba(255, 255, 255, 0.3));
}
.btn.love:before {
  background: radial-gradient(#554538, rgba(85, 69, 56, 0) 70%);
  opacity: 0.2;
}
.btn:hover:after {
  transform-origin: 0 0;
  transform: scaleX(1);
}
.btn:hover p, .btn:hover a {
  color: #fff;
}
.btn:hover p:after, .btn:hover a:after {
  background: #fff;
  color: #020202;
}
@media (max-width: 800px) {
  .btn {
    width: min(100%, 150px);
  }
  .btn p, .btn a {
    font-size: 100%;
    padding: 3px 10px;
  }
  .btn p:after, .btn a:after {
    width: 15px;
    line-height: 15px;
    right: 4px;
    font-size: 10px;
  }
}
.btn.en p, .btn.en a {
  font-family: "cofo-raffine", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "Noto Serif JP", "游明朝", "游明朝体", "Yu Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "リュウミン", sans-seri;
  font-size: 120%;
  line-height: 1;
  padding: 7px 20px 1px;
}
@media (max-width: 800px) {
  .btn.en p, .btn.en a {
    font-size: 105%;
    padding: 6px 10px 0px;
  }
}
.btn.btn_m {
  width: min(100%, 350px);
}
.btn.btn_m p, .btn.btn_m a {
  font-size: 100%;
  padding: 12px 20px;
}
.btn.btn_m p:after, .btn.btn_m a:after {
  right: 10px;
}
.btn.btn_m.en p, .btn.btn_m.en a {
  font-size: 170%;
  padding: 13px 25px 3px;
}
@media (max-width: 800px) {
  .btn.btn_m p, .btn.btn_m a {
    font-size: 90%;
    padding: 8px 15px;
  }
  .btn.btn_m p:after, .btn.btn_m a:after {
    right: 10px;
  }
  .btn.btn_m.en p, .btn.btn_m.en a {
    font-size: 150%;
    padding: 8px 15px 1px;
  }
}
.btn.btn_b {
  width: min(100%, 450px);
}
.btn.btn_b p, .btn.btn_b a {
  font-size: 120%;
  padding: 17px 25px;
}
.btn.btn_b p:after, .btn.btn_b a:after {
  width: 30px;
  border-radius: 15px;
  right: 13px;
  font-size: 20px;
  line-height: 30px;
}
.btn.btn_b.en p, .btn.btn_b.en a {
  font-size: 170%;
  padding: 13px 25px 3px;
}
@media (max-width: 800px) {
  .btn.btn_b p, .btn.btn_b a {
    padding: 12px 20px;
  }
  .btn.btn_b p:after, .btn.btn_b a:after {
    zoom: 0.7;
    right: 10px;
  }
}

.btn_s {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(0, 0, 0, 0.7);
  border-radius: 30px;
  font-size: 12px;
  line-height: 1.2;
  padding: 2px 20px;
  overflow: hidden;
  cursor: pointer;
}
.btn_s:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: #020202;
  z-index: -1;
  transform-origin: 100% 0;
  transform: scaleX(0);
  transition: transform 0.15s ease-out;
}
.btn_s:hover {
  color: #fff;
}
.btn_s:hover:after {
  transform-origin: 0 0;
  transform: scaleX(1);
}
@media (max-width: 800px) {
  .btn_s {
    font-size: 11px;
  }
}

.pp_img_btn {
  position: relative;
  z-index: 1;
  cursor: pointer;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  transition: all 0.3s ease-out;
}
.pp_img_btn:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: 40px;
  height: 40px;
  top: 5px;
  right: 5px;
  border-radius: 20px;
  background: url(../img/popup_icon.png) 45% 45% no-repeat #000;
  background-size: 60% auto;
}
.pp_img_btn:hover {
  box-shadow: 0 0 15px rgba(255, 255, 255, 0.3);
}
@media (max-width: 800px) {
  .pp_img_btn:after {
    width: 28px;
    height: 28px;
    top: 5px;
    right: 5px;
  }
}

.btn_wrap, .btn_wrap.btn_wrap-center, .btn_wrap.btn_wrap-right {
  display: flex;
  gap: 10px;
}
.btn_wrap.btn_wrap-right {
  justify-content: flex-end;
}
.btn_wrap.btn_wrap-center {
  justify-content: center;
}
.btn_wrap.btn_wrap-center .btn_a, .btn_wrap.btn_wrap-center .btn_b {
  margin: 0;
}
@media (max-width: 800px) {
  .btn_wrap, .btn_wrap.btn_wrap-center, .btn_wrap.btn_wrap-right {
    gap: 10px 5px;
    flex-wrap: wrap;
  }
}

.h01 + .btn_wrap {
  margin-top: -10px;
  margin-bottom: 50px;
}
@media (max-width: 800px) {
  .h01 + .btn_wrap {
    margin-top: 0;
    margin-bottom: 20px;
  }
}

.snsbox {
  display: flex;
  justify-content: center;
  gap: 20px;
}
.snsbox > div {
  display: inline-block;
  width: 45px;
  aspect-ratio: 1/1;
  border-radius: 5px;
  background-size: contain;
  background-repeat: no-repeat;
  text-indent: 150%;
  white-space: nowrap;
  overflow: hidden;
  font-size: 1px;
  transition: all 0.3s ease-out;
}
.snsbox a {
  display: block;
  width: 100%;
  height: 100%;
}
.snsbox .twitter {
  background-image: url(../img/snsicon_x_b.png);
}
.snsbox .line {
  background-image: url(../img/snsicon_line.png);
}
@media (max-width: 800px) {
  .snsbox {
    gap: 10px;
  }
  .snsbox > div {
    width: 30px;
    height: 30px;
  }
}

.prr {
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: all 0.7s ease-out;
}
.prr.show {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.prr2 {
  opacity: 0;
  transform: translateY(50px);
  transition: all 0.9s ease-out;
}
@media (max-width: 800px) {
  .prr2 {
    transform: translateY(30px);
  }
}
.prr2.show {
  opacity: 1;
  transform: translateY(0);
}

.unit_box {
  display: flex;
}
.unit_box .icon {
  padding: 5px 15px 5px 0;
  border-right: 1px solid #000;
  display: flex;
  gap: 10px;
}
.unit_box .icon .num {
  opacity: 0.5;
  font-size: 14px;
  font-weight: 800;
  transform: translateY(-10px);
}
.unit_box .icon .img img {
  height: 65px;
}
.unit_box .member {
  padding-left: 15px;
  font-size: 11px;
  line-height: 1.7;
  letter-spacing: 1px;
  display: flex;
  justify-content: center;
  align-items: center;
}

.newslist {
  border-top: 1px solid rgba(0, 0, 0, 0.7);
  width: 100%;
  text-align: left;
}
.newslist li {
  position: relative;
  padding: 20px 25px;
  border-bottom: 1px solid rgba(0, 0, 0, 0.7);
}
@media (min-width: 800px) {
  .newslist li > p {
    padding-left: 5px;
  }
}
.newslist li .day {
  position: relative;
  opacity: 0.5;
  line-height: 1.3;
  font-size: 14px;
  font-weight: 600;
  margin-bottom: 2px;
}
.newslist li .str {
  line-height: 1.3;
}
.newslist li .btn_wrap {
  margin-top: 8px;
}
@media (max-width: 800px) {
  .newslist {
    font-size: 90%;
  }
  .newslist li {
    padding: 12px 5px;
  }
  .newslist li .day {
    font-size: 12px;
  }
  .newslist li .btn_wrap {
    margin-top: 5px;
    flex-wrap: nowrap;
  }
}

.privilege_box .disc {
  margin-bottom: 20px;
  font-size: 110%;
}
.privilege_box .table_spec {
  margin-top: 30px;
}
.privilege_box .item_wrapper, .privilege_box .item_wrapper_all {
  margin-top: 50px;
  display: flex;
  flex-wrap: wrap;
  gap: 21px;
}
.privilege_box .item_wrapper li.item_box, .privilege_box .item_wrapper_all li.item_box {
  background: white;
  border: 1px solid #fff;
  border-radius: 30px;
  box-shadow: 0 10px 50px -15px rgba(112, 112, 137, 0.2);
  border-radius: 10px;
  width: calc(33.3333% - 14px);
  padding: 40px;
  display: flex;
  flex-direction: column;
}
@media (max-width: 800px) {
  .privilege_box .item_wrapper li.item_box, .privilege_box .item_wrapper_all li.item_box {
    border-radius: 15px;
  }
}
@media (min-width: 800px) {
  .privilege_box .item_wrapper li.item_box:nth-of-type(3n - 1), .privilege_box .item_wrapper_all li.item_box:nth-of-type(3n - 1) {
    transition-delay: 0.2s;
  }
  .privilege_box .item_wrapper li.item_box:nth-of-type(3n), .privilege_box .item_wrapper_all li.item_box:nth-of-type(3n) {
    transition-delay: 0.4s;
  }
}
.privilege_box .item_wrapper li.item_box .shop, .privilege_box .item_wrapper_all li.item_box .shop {
  margin-bottom: 15px;
  width: -moz-fit-content;
  width: fit-content;
  font-size: 130%;
  line-height: 1.2;
  font-weight: 600;
  background: #000;
  color: #fff;
  padding: 1px 5px;
}
.privilege_box .item_wrapper li.item_box .shop span, .privilege_box .item_wrapper_all li.item_box .shop span {
  font-size: 75%;
  display: inline-block;
  line-height: 1;
}
.privilege_box .item_wrapper li.item_box .pp_img_btn, .privilege_box .item_wrapper_all li.item_box .pp_img_btn, .privilege_box .item_wrapper li.item_box .img, .privilege_box .item_wrapper_all li.item_box .img {
  margin-bottom: 15px;
  border: 1px solid #ccc;
}
.privilege_box .item_wrapper li.item_box .txt, .privilege_box .item_wrapper_all li.item_box .txt {
  margin-bottom: 25px;
  line-height: 1.3;
}
.privilege_box .item_wrapper li.item_box .txt .item, .privilege_box .item_wrapper_all li.item_box .txt .item {
  font-size: 100%;
  font-weight: 600;
}
.privilege_box .item_wrapper li.item_box .txt .item_disc, .privilege_box .item_wrapper_all li.item_box .txt .item_disc {
  font-size: 85%;
  margin-top: 5px;
  opacity: 0.7;
}
.privilege_box .item_wrapper li.item_box .btn, .privilege_box .item_wrapper_all li.item_box .btn {
  margin-top: auto;
  width: 100%;
}
.privilege_box .item_wrapper_all {
  gap: 50px;
}
.privilege_box .item_wrapper_all li.item_box {
  width: calc(50% - 25px);
  padding: 45px 60px;
  translate: 0 50px;
  transition: all 0.8s ease-out, translate 0.8s ease-out;
}
.privilege_box .item_wrapper_all li.item_box.show {
  translate: 0 0;
}
@media (min-width: 800px) {
  .privilege_box .item_wrapper_all li.item_box:nth-of-type(2n) {
    transition-delay: 0.15s, 0.15s;
  }
}
.privilege_box .item_wrapper_all li.item_box .shop {
  font-size: 140%;
  letter-spacing: 0.1em;
  line-height: 1.2;
  margin-bottom: 30px;
}
.privilege_box .item_wrapper_all li.item_box .pp_img_btn, .privilege_box .item_wrapper_all li.item_box .img {
  margin-bottom: 30px;
}
.privilege_box .item_wrapper_all li.item_box .txt {
  margin-bottom: 40px;
}
.privilege_box .item_wrapper_all li.item_box .txt .item_disc {
  font-size: 90%;
  margin-top: 10px;
}
.privilege_box .item_wrapper_all li.item_box .btn_a {
  margin-top: auto;
  padding: 8px 15px;
}
@media (max-width: 800px) {
  .privilege_box .disc {
    margin-bottom: 10px;
  }
  .privilege_box .table_spec {
    margin-top: 15px;
  }
  .privilege_box .item_wrapper, .privilege_box .item_wrapper_all {
    margin-top: 20px;
    gap: 10px;
  }
  .privilege_box .item_wrapper li.item_box, .privilege_box .item_wrapper_all li.item_box {
    width: calc(50% - 5px);
    padding: 15px 10px 15px;
    border-radius: 10px;
  }
  .privilege_box .item_wrapper li.item_box:nth-of-type(2n), .privilege_box .item_wrapper_all li.item_box:nth-of-type(2n) {
    transition-delay: 0.2s;
  }
  .privilege_box .item_wrapper li.item_box .shop, .privilege_box .item_wrapper_all li.item_box .shop {
    margin-bottom: 8px;
    font-size: 95%;
    padding: 1px 3px;
  }
  .privilege_box .item_wrapper li.item_box .shop span, .privilege_box .item_wrapper_all li.item_box .shop span {
    display: block;
    position: relative;
    margin-top: -2px;
  }
  .privilege_box .item_wrapper li.item_box .pp_img_btn, .privilege_box .item_wrapper_all li.item_box .pp_img_btn, .privilege_box .item_wrapper li.item_box .img, .privilege_box .item_wrapper_all li.item_box .img {
    margin-bottom: 8px;
  }
  .privilege_box .item_wrapper li.item_box .txt, .privilege_box .item_wrapper_all li.item_box .txt {
    margin-bottom: 10px;
    font-size: 90%;
  }
  .privilege_box .item_wrapper li.item_box .btn a, .privilege_box .item_wrapper_all li.item_box .btn a {
    padding: 4px 10px;
  }
  .privilege_box .item_wrapper li.item_box .btn a:after, .privilege_box .item_wrapper_all li.item_box .btn a:after {
    right: 5px;
  }
}

.table_spec {
  text-align: left;
  width: 100%;
  font-size: 95%;
  border-top: 1px solid rgba(0, 0, 0, 0.7);
  border-bottom: 1px solid rgba(0, 0, 0, 0.7);
  line-height: 1.5;
}
.table_spec tr:not(:nth-last-of-type(1)) {
  border-bottom: 1px solid rgba(0, 0, 0, 0.7);
}
.table_spec tr th {
  vertical-align: top;
  position: relative;
  opacity: 0.5;
  width: 11em;
  padding: 15px 2em;
  font-size: 85%;
  line-height: 1.7;
}
@media (min-width: 800px) {
  .table_spec tr th {
    text-align: justify;
    -moz-text-align-last: justify;
         text-align-last: justify;
    text-justify: inter-ideograph;
    text-justify: inter-character;
  }
  .table_spec tr th span {
    display: inline-block;
    width: 100%;
  }
}
.table_spec tr th:after {
  content: "";
  display: block;
  position: absolute;
  width: 1px;
  height: calc(100% - 26px);
  top: 13px;
  right: 0;
  background: rgba(0, 0, 0, 0.5);
}
@media (min-width: 800px) {
  .table_spec tr td {
    padding: 15px 20px;
  }
}
@media (max-width: 800px) {
  .table_spec {
    font-size: 90%;
  }
  .table_spec tr th {
    width: 5em;
    padding: 12px 0.7em 10px 0.3em;
    line-height: 1.3;
  }
  .table_spec tr td {
    padding: 10px 0 10px 1em;
  }
}

.attention_dl dd:has(+ dt) {
  margin-bottom: 20px;
}

.attention_ul {
  font-size: 90%;
  opacity: 0.7;
}
.attention_ul li {
  padding-left: 1em;
  text-indent: -1em;
  line-height: 1.3;
  margin: 3px 0;
}

/* ================================================================ *
* gheader
* ================================================================ */
#frame {
  position: fixed;
  z-index: 110;
  inset: 0;
  pointer-events: none;
  -o-border-image: url(../img/frame.png) 20/20px/0 round;
     border-image: url(../img/frame.png) 20/20px/0 round;
}
@media (max-width: 800px) {
  #frame {
    border: 8px solid #fff;
    -o-border-image: url(../img/frame.png) 20/16px/0 round;
       border-image: url(../img/frame.png) 20/16px/0 round;
  }
}

#gHeader {
  position: fixed;
  z-index: 100;
  width: 100%;
  top: 0px;
  padding-top: 20px;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  color: #fff;
}
#gHeader .logo_wrap {
  position: relative;
  z-index: 2;
  padding: 3px 40px;
  transition: all 0.8s ease-out;
}
#gHeader .logo_wrap .logo {
  display: block;
  width: 200px;
}
#gHeader nav {
  position: relative;
  z-index: 2;
  padding-right: 30px;
  font-size: 13px;
  gap: 10px;
  display: flex;
  align-items: flex-end;
}
#gHeader nav ul {
  display: flex;
  gap: 10px;
}
#gHeader nav ul a {
  position: relative;
  color: #fff;
  display: inline-block;
  padding: 3px 10px;
  transition: all 0.8s ease-out;
}
#gHeader nav ul a:after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 20px);
  height: 3px;
  bottom: 0;
  left: 10px;
  transform-origin: 100% 0;
  transform: scaleX(0);
  transition: transform 0.15s ease-out;
  background: #fff;
}
#gHeader nav ul a.on:after, #gHeader nav ul a:hover:after {
  transform-origin: 0 0;
  transform: scaleX(1);
}
#gHeader #menuIcon {
  position: relative;
  width: 70px;
  height: 40px;
  z-index: 2;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
}
#gHeader #menuIcon span {
  position: relative;
  display: block;
  width: 100%;
  height: 2px;
  background: #fff;
  transition: all 0.8s ease-out;
}
#gHeader #menuIcon span:before, #gHeader #menuIcon span:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: #fff;
  transition: all 0.8s ease-out;
}
#gHeader #menuIcon span:before {
  transform: translateY(-8px);
}
#gHeader #menuIcon span:after {
  transform: translateY(8px);
}
@media (max-width: 800px) {
  #gHeader {
    padding-bottom: 2px;
    padding-top: 15px;
  }
  #gHeader .logo_wrap {
    padding: 3px 25px;
  }
  #gHeader .logo_wrap .logo {
    width: 150px;
  }
  #gHeader nav {
    padding-right: 25px;
  }
  #gHeader #menuIcon {
    width: 40px;
    height: 28px;
  }
  #gHeader #menuIcon span:before {
    transform: translateY(-6px);
  }
  #gHeader #menuIcon span:after {
    transform: translateY(6px);
  }
  #gHeader nav ul {
    display: none;
  }
}

#gMenu {
  position: fixed;
  inset: 0;
  z-index: 1000;
  background: rgba(0, 0, 0, 0.8);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  padding: 40px;
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  opacity: 0;
  transform: translateY(-100%);
  pointer-events: none;
  transition: all 0.3s ease-out;
  gap: 20px;
}
#gMenu.show {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}
#gMenu .close {
  position: absolute;
  right: 38px;
  top: 25px;
  z-index: 16;
  width: 80px;
  height: 80px;
  padding: 0;
  background: #020202;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.5s ease-out;
}
#gMenu .close span {
  position: relative;
  z-index: 10;
  display: block;
  width: 95%;
  height: 3px;
  transition: all 0.15s ease-out;
}
#gMenu .close span:before, #gMenu .close span:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fff;
  transition: all 0.15s ease-out;
}
#gMenu .close span:before {
  transform: translateY(-7px);
  transform: rotate(45deg);
}
#gMenu .close span:after {
  transform: translateY(7px);
  transform: rotate(-45deg);
}
@media (min-width: 800px) {
  #gMenu .close:hover {
    background: #fff;
  }
  #gMenu .close:hover span:before, #gMenu .close:hover span:after {
    background: #000;
  }
}
#gMenu .wrap {
  width: min(800px, 100%);
  margin: 0 auto;
}
#gMenu nav {
  width: 100%;
  text-align: center;
  margin-top: 20px;
}
#gMenu nav .nav_box {
  border: 1px solid #fff;
  margin-top: 15px;
}
#gMenu nav .nav_box a {
  display: block;
  color: #fff;
  padding: 8px 5px;
}
#gMenu .child {
  font-size: 90%;
  padding: 8px 20px;
  background: rgba(255, 255, 255, 0.1);
  border: 1px solid #fff;
  border-top: none;
}
#gMenu .child a {
  padding: 2px 0;
  color: #fff;
  display: flex;
  align-items: center;
  gap: 20px;
  flex-direction: row-reverse;
}
#gMenu .child a .num {
  letter-spacing: 0;
  opacity: 0.5;
  font-size: 80%;
}
#gMenu .child a .bar {
  flex: 1;
  height: 1px;
  border-bottom: 1px dotted rgba(255, 255, 255, 0.8);
}
@media (max-width: 800px) {
  #gMenu .close {
    width: 40px;
    height: 40px;
    right: 5px;
    top: 5px;
  }
  #gMenu .content {
    padding: 50px 30px;
  }
  #gMenu .content .wrapper {
    padding: 0;
  }
  #gMenu nav .nav_box {
    margin-top: 8px;
  }
}

/* ================================================================ *
* splash
* ================================================================ */
#splash {
  position: fixed;
  inset: 0;
  z-index: 999;
  background: #fff;
  color: #fff;
  pointer-events: none;
  transition: all 0.8s cubic-bezier(0.74, -0.01, 1, 0.61);
  clip-path: polygon(0 0, calc(100% + 100vh) 0, 100% 100%, 0 100%);
}
#splash:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 10;
  border: 10px solid #fff;
  -o-border-image: url(../img/frame.png) 20/20px/0 round;
     border-image: url(../img/frame.png) 20/20px/0 round;
}
@media (max-width: 800px) {
  #splash:after {
    border: 8px solid #fff;
    -o-border-image: url(../img/frame.png) 20/16px/0 round;
       border-image: url(../img/frame.png) 20/16px/0 round;
  }
}
#splash .bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  display: flex;
}
#splash .bg > div {
  position: relative;
  z-index: 1;
  border: 1px solid #ccc;
  flex: 1;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  opacity: 0;
  background-size: auto 180%;
  transition: clip-path 0.8s cubic-bezier(0.74, -0.01, 1, 0.61), opacity 0.8s ease-out, background-size 4s cubic-bezier(0, 0.72, 0.25, 1);
}
@media (min-width: 800px) {
  #splash .bg > div:after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: 2;
    opacity: 0.8;
    z-index: 2;
    background: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000);
  }
}
#splash .bg > div.music {
  background-image: url(../img/index_bg_music.webp);
}
#splash .bg > div.dream {
  background-image: url(../img/index_bg_dream.webp);
}
#splash .bg > div.love {
  background-image: url(../img/index_bg_love.webp);
}
#splash .bg > div.dream {
  clip-path: polygon(0 100%, 100% 100%, 100% 100%, 0 100%);
}
#splash .bg > div.love {
  background-position: 20% 50%;
}
#splash .bg > div .unit_box {
  position: relative;
  z-index: 3;
  padding: 0 30px 10vh;
  zoom: 0.75;
  transition: clip-path 0.5s ease-out 1.4s;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
#splash .bg > div .unit_box .icon {
  border-color: #fff;
}
#splash .logo {
  position: absolute;
  width: min(90%, 1600px);
  padding: 0;
  z-index: 3;
  bottom: calc(10vh + 50px);
  left: 50%;
  transform: translateX(-50%);
  transition: clip-path 0.5s ease-out 1s;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  filter: drop-shadow(0 0 30px #000);
}
#splash .logo img {
  width: 100%;
}
#splash .head {
  position: absolute;
  display: flex;
  justify-content: space-between;
  width: 100%;
  top: 0;
  padding: 70px 5vw;
  z-index: 3;
}
#splash .head .catch {
  font-size: 11px;
  letter-spacing: 5px;
}
#splash .head .icon_15th {
  width: 120px;
}
#splash .catch, #splash .icon_15th {
  transition: clip-path 0.5s ease-out 1.4s;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
#splash.on .bg > div {
  opacity: 1;
  background-size: auto 100%;
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
#splash.on .bg > div .unit_box {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
#splash.on .logo, #splash.on .catch, #splash.on .icon_15th {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
#splash.off {
  clip-path: polygon(calc(-100% - 100vh) 0, 0 0, -100vh 100%, calc(-100% - 100vh) 100%);
}
#splash.off > * {
  opacity: 0;
  transition: all 1.5s ease-out;
}
@media (max-width: 800px) {
  #splash {
    display: flex;
    flex-direction: column;
  }
  #splash .bg {
    position: relative;
    height: 70vh;
    margin: 8px 8px 0;
  }
  #splash .bg > div .unit_box {
    padding: 0;
    transform: translateY(2px);
  }
  #splash .bg > div .unit_box .icon {
    border: none;
    flex-direction: column;
    padding: 0;
    gap: 0;
  }
  #splash .bg > div .unit_box .icon .num {
    width: 100%;
    transform: none;
  }
  #splash .bg > div .unit_box .icon img {
    height: 80px;
  }
  #splash .bg > div .unit_box .member {
    display: none;
  }
  #splash .logo {
    position: relative;
    bottom: auto;
    margin: 30px 0 20px;
    width: 100%;
    left: 0;
    padding: 0 15px;
    transform: none;
    filter: invert(1);
  }
  #splash .head {
    position: relative;
    padding: 0 25px 30px;
    align-items: flex-end;
  }
  #splash .head .catch {
    color: #000;
    letter-spacing: 4px;
    padding-bottom: 5px;
  }
  #splash .head .icon_15th {
    filter: invert(1);
    width: 70px;
  }
}

/* ================================================================ *
* loading
* ================================================================ */
#loading {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1000;
  display: flex;
  justify-content: center;
  align-items: center;
  font-family: "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "Noto Serif JP", "游明朝", "游明朝体", "Yu Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "リュウミン", sans-serif;
  transition: all 0.8s ease-out;
  pointer-events: none;
}
#loading .txt {
  position: relative;
  z-index: 1;
  color: rgba(0, 0, 0, 0.15);
  font-size: 2em;
  line-height: 1.3;
  display: flex;
  flex-direction: column;
  letter-spacing: 0.15em;
  text-align: center;
  transition: all 0.3s ease-out;
}
#loading .txt.on {
  font-size: 120px;
  letter-spacing: 0;
  transition: all 0s ease-out;
}
#loading .txt.off {
  filter: blur(15px);
  opacity: 0 !important;
  transition: all 1s ease-out;
}
#loading.off {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 800px) {
  #loading .txt {
    font-size: 30px;
  }
}

/* ================================================================ *
* common
* ================================================================ */
#container {
  min-width: 1260px;
  padding: 0;
  z-index: 3;
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
}
@media (max-width: 800px) {
  #container {
    min-width: 0;
  }
}

#wrapper {
  position: relative;
}

section.pg {
  position: relative;
  padding: 100px 10px;
  z-index: 2;
}
@media (max-width: 800px) {
  section.pg {
    padding: 70px 8px 40px;
  }
}
@media (min-width: 800px) {
  section.pg:nth-last-of-type(1) {
    padding-bottom: 160px;
  }
}

.pg_wrapper {
  width: min(100%, 1500px);
  margin: 0 auto;
  padding: 0 60px;
}
@media (max-width: 800px) {
  .pg_wrapper {
    padding: 0 20px;
  }
}

.pg_content {
  position: relative;
  padding: 80px 80px 100px;
  z-index: 1;
}
.pg_content:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0 -30px;
  z-index: -1;
  background: white;
  border: 1px solid #fff;
  border-radius: 30px;
  box-shadow: 0 10px 50px -15px rgba(112, 112, 137, 0.2);
}
@media (max-width: 800px) {
  .pg_content:before {
    border-radius: 15px;
  }
}
.pg_content:not(:nth-last-of-type(1)) {
  margin-bottom: 50px;
}
@media (max-width: 800px) {
  .pg_content {
    padding: 30px 25px 35px;
  }
  .pg_content:before {
    inset: 0;
  }
  .pg_content:not(:nth-last-of-type(1)) {
    margin-bottom: 20px;
  }
}

h1, h2, h3, h4 {
  font-weight: 500;
  position: relative;
  z-index: 2;
}

.h01 {
  width: -moz-fit-content;
  width: fit-content;
  position: relative;
  display: flex;
  align-items: center;
  margin-bottom: 20px;
  padding-top: 3px;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  transition: all 0.7s ease-out;
}
.h01 p {
  font-family: "cofo-raffine", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "Noto Serif JP", "游明朝", "游明朝体", "Yu Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "リュウミン", sans-seri;
  font-size: 120px;
  line-height: 1;
  padding: 0 30px 0 0;
}
.h01:after {
  content: "うたの☆プリンスさまっ♪ \a 15th Anniversary CD";
  display: block;
  white-space: pre;
  text-indent: 0.2em;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic", "ヒラギノ角ゴ", "メイリオ", "Meiryo", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 2px;
  padding: 8px 0 10px 30px;
  border-left: 1px solid #000;
  margin-bottom: 10px;
}
.h01.show {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
@media (max-width: 800px) {
  .h01 {
    margin-bottom: 10px;
    white-space: nowrap;
  }
  .h01 p {
    font-size: 65px;
    padding-right: 15px;
  }
  .h01:after {
    font-size: 8px;
    padding: 6px 0 6px 15px;
    letter-spacing: 1px;
    text-indent: 0.08em;
    margin-bottom: 8px;
  }
}

.h02 {
  margin-bottom: 40px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.h02 p {
  width: -moz-fit-content;
  width: fit-content;
  background: #020202;
  color: #fff;
  line-height: 1;
  padding: 4px 5px 3px;
}
.h02 .sub {
  font-size: 90%;
}
.h02 .ttl {
  font-size: 250%;
  letter-spacing: 2px;
}
@media (max-width: 800px) {
  .h02 {
    margin-bottom: 20px;
    gap: 3px;
  }
  .h02 p {
    padding: 3px 2px 3px;
  }
  .h02 .sub {
    font-size: 75%;
  }
  .h02 .ttl {
    font-size: 170%;
    letter-spacing: 0px;
  }
}

/* ================================================================ *
* gfooter
* ================================================================ */
#gfooter {
  position: relative;
  z-index: 3;
  text-align: center;
  padding: 300px 30px 150px;
}
#gfooter .scroll_txt {
  position: absolute;
  top: 50px;
}
#gfooter .sns {
  margin-bottom: 50px;
}
#gfooter .sns .txt {
  font-size: 150%;
  letter-spacing: 2px;
  margin-top: 2px;
}
#gfooter .btn_wrap {
  margin-bottom: 50px;
}
#gfooter .btn_wrap .foot_btn {
  width: min(100%, 400px);
  font-size: 90%;
}
#gfooter .btn_wrap .foot_btn a, #gfooter .btn_wrap .foot_btn p {
  padding: 16px 20px;
}
#gfooter .copy_wrap {
  font-size: 12px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 10px;
}
#gfooter .copy_wrap .logo {
  width: 30px;
}
@media (max-width: 800px) {
  #gfooter {
    padding: 250px 50px 70px;
  }
  #gfooter .sns {
    margin-bottom: 30px;
  }
  #gfooter .btn_wrap {
    margin-bottom: 30px;
  }
  #gfooter .btn_wrap .foot_btn a, #gfooter .btn_wrap .foot_btn p {
    padding: 12px 20px;
  }
  #gfooter .copy_wrap {
    flex-direction: column;
    font-size: 10px;
    gap: 3px;
  }
  #gfooter .copy_wrap .logo {
    margin-bottom: 5px;
  }
}

/* ================================================================ *
* common-special
* ================================================================ */
#special header {
  padding: 15px -50px 0;
  margin: -30px 0 40px -50px;
  font-size: 80%;
  opacity: 0.5;
  font-weight: 600;
}
#special .disc {
  font-size: 110%;
  margin-bottom: 40px;
}
#special .link {
  margin-top: 50px;
}
#special .link p {
  margin-bottom: 40px;
}
#special .target_item li {
  padding-left: 1em;
  text-indent: -1em;
}
@media (max-width: 800px) {
  #special header {
    padding: 5px 0 5px;
    margin: 0;
  }
  #special .disc {
    font-size: 100%;
    margin-bottom: 25px;
  }
  #special .link {
    margin-top: 25px;
  }
  #special .link p {
    margin-bottom: 20px;
  }
}
#special #special_souki .item_wrapper, #special #special_souki .privilege_box .item_wrapper_all, .privilege_box #special #special_souki .item_wrapper_all {
  padding: 10px 20px;
}
#special #special_souki .item_wrapper .item, #special #special_souki .privilege_box .item_wrapper_all .item, .privilege_box #special #special_souki .item_wrapper_all .item {
  display: flex;
  align-items: center;
  gap: 30px;
  padding: 20px;
}
#special #special_souki .item_wrapper .item:nth-of-type(1), #special #special_souki .privilege_box .item_wrapper_all .item:nth-of-type(1), .privilege_box #special #special_souki .item_wrapper_all .item:nth-of-type(1) {
  border-bottom: 1px dotted rgba(0, 0, 0, 0.5);
}
#special #special_souki .item_wrapper .item .img_wrap, #special #special_souki .privilege_box .item_wrapper_all .item .img_wrap, .privilege_box #special #special_souki .item_wrapper_all .item .img_wrap {
  width: 320px;
}
#special #special_souki .item_wrapper .item .txt_wrap, #special #special_souki .privilege_box .item_wrapper_all .item .txt_wrap, .privilege_box #special #special_souki .item_wrapper_all .item .txt_wrap {
  line-height: 1.3;
  flex: 1;
}
#special #special_souki .item_wrapper .item .txt_wrap .syou, #special #special_souki .privilege_box .item_wrapper_all .item .txt_wrap .syou, .privilege_box #special #special_souki .item_wrapper_all .item .txt_wrap .syou {
  font-size: 110%;
  color: #fff;
  background: #020202;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0 5px;
  font-weight: 600;
  margin-bottom: 10px;
}
#special #special_souki .item_wrapper .item .txt_wrap dl, #special #special_souki .privilege_box .item_wrapper_all .item .txt_wrap dl, .privilege_box #special #special_souki .item_wrapper_all .item .txt_wrap dl {
  margin-bottom: 10px;
  font-size: 95%;
}
@media (max-width: 800px) {
  #special #special_souki .item_wrapper, #special #special_souki .privilege_box .item_wrapper_all, .privilege_box #special #special_souki .item_wrapper_all {
    padding: 5px 0 5px 10px;
  }
  #special #special_souki .item_wrapper .item, #special #special_souki .privilege_box .item_wrapper_all .item, .privilege_box #special #special_souki .item_wrapper_all .item {
    flex-direction: column;
    gap: 20px;
    padding: 10px 0 10px 10px;
    align-items: flex-start;
  }
  #special #special_souki .item_wrapper .item .img_wrap, #special #special_souki .privilege_box .item_wrapper_all .item .img_wrap, .privilege_box #special #special_souki .item_wrapper_all .item .img_wrap {
    width: 200px;
  }
  #special #special_souki .item_wrapper .item .txt_wrap .syou, #special #special_souki .privilege_box .item_wrapper_all .item .txt_wrap .syou, .privilege_box #special #special_souki .item_wrapper_all .item .txt_wrap .syou {
    margin-bottom: 5px;
  }
  #special #special_souki .item_wrapper .item .txt_wrap dl dt, #special #special_souki .privilege_box .item_wrapper_all .item .txt_wrap dl dt, .privilege_box #special #special_souki .item_wrapper_all .item .txt_wrap dl dt {
    display: none;
  }
}

/*================================================================ *
* index
* ================================================================ */
#index .content_wrapper {
  position: relative;
  z-index: 2;
  background: #f4f4f4;
}
#index #gHeader:after {
  content: "";
  display: block;
  position: absolute;
  width: calc(100% - 50px);
  height: 1px;
  bottom: 0;
  left: 25px;
  background: #fff;
  transition: all 0.8s ease-out;
}
@media (max-width: 800px) {
  #index #gHeader:after {
    width: calc(100% - 40px);
    left: 20px;
  }
}
@media (min-width: 800px) {
  #index #gHeader #menuIcon {
    display: none;
  }
}
#index #gHeader.scroll:after {
  background: rgba(2, 2, 2, 0.7);
}
#index #gHeader.scroll .logo {
  filter: invert(1);
}
#index #gHeader.scroll nav li a {
  color: #000;
}
#index #gHeader.scroll nav li a:after {
  background: #000;
}
#index #gHeader.scroll #menuIcon span {
  background: #000;
}
#index #gHeader.scroll #menuIcon span:before, #index #gHeader.scroll #menuIcon span:after {
  background: #000;
}
#index .scroll_txt {
  position: absolute;
  width: 100%;
  height: 152px;
  left: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1;
  background: url(../img/index_scroll_txt.png) 0 100% repeat-x;
  transform: translateY(10px);
  animation: index_scrolltxt_anm 40s linear infinite;
  mix-blend-mode: overlay;
}
@keyframes index_scrolltxt_anm {
  0% {
    background-position: 0 100%;
  }
  100% {
    background-position: -4565px 100%;
  }
}
@media (max-width: 800px) {
  #index .scroll_txt {
    height: 90px;
    background-size: auto 100%;
  }
  @keyframes index_scrolltxt_anm {
    0% {
      background-position: 0 100%;
    }
    100% {
      background-position: -2702px 100%;
    }
  }
}
#index .top_bg {
  position: fixed;
  width: 100%;
  height: 40vh;
  overflow: hidden;
  top: 0;
  left: 0;
}
#index .top_bg:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 3;
  background: url(../img/filter_black.png) 50% 50% rgba(3, 5, 70, 0.3);
  background-size: 18px auto;
  mix-blend-mode: multiply;
  opacity: 0.15;
}
#index .top_bg > div {
  position: absolute;
  inset: 0;
  z-index: 1;
  background-position: 50% 30%;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(3px);
  opacity: 0;
  transition: opacity 0.8s ease-out;
}
#index .top_bg > div.music {
  background-image: url(../img/index_bg_music.webp);
}
#index .top_bg > div.dream {
  background-image: url(../img/index_bg_dream.webp);
}
#index .top_bg > div.love {
  background-image: url(../img/index_bg_love.webp);
}
#index .top_bg > div.on {
  opacity: 1;
}
@media (max-width: 800px) {
  #index .top_bg {
    height: 50vh;
  }
  #index .top_bg:after {
    background-size: 14px auto;
  }
  #index .top_bg > div {
    background-size: auto 140%;
    background-position: 50% 50%;
  }
  #index .top_bg > div.love {
    background-position: 50% 0%;
  }
}
@media (max-width: 800px) {
  #index .h01 {
    padding-left: 20px;
  }
  #index .pg_wrapper > .h01 {
    padding-left: 0;
  }
}
#index #top {
  position: relative;
  top: 0;
  width: 100%;
  height: 100svh;
  z-index: 3;
}
#index #top #top_slider {
  position: absolute;
  inset: 0;
  transition: all 0.8s ease-out;
  z-index: 2;
}
#index #top #top_slider .slider_box {
  position: absolute;
  inset: 0;
  opacity: 0;
  padding: 100px 80px 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 3vw;
  transition: all 0.8s ease-out;
}
#index #top #top_slider .slider_box .cover {
  position: absolute;
  inset: 0;
  z-index: 5;
  transition: all 0.1s ease-out 1s;
}
#index #top #top_slider .slider_box .cover > div {
  position: absolute;
  inset: 0;
  display: flex;
  justify-content: center;
  align-items: center;
  clip-path: polygon(calc(100% + 100vh) 0, calc(200% + 100vh) 0, calc(200% + 100vh) 100%, 100% 100%);
  transition: all 0.8s ease-out 1s;
}
#index #top #top_slider .slider_box .cover > div p {
  transform: scale(1.5);
  transition: all 2s ease-out;
}
#index #top #top_slider .slider_box .cover > div.main p {
  filter: invert(1);
}
#index #top #top_slider .slider_box.music .cover .main {
  background: #eaf5f4;
}
#index #top #top_slider .slider_box.music .cover .sub {
  background: #2662a3;
}
#index #top #top_slider .slider_box.dream .cover .main {
  background: #d3dbe6;
}
#index #top #top_slider .slider_box.dream .cover .sub {
  background: #6c69a4;
}
#index #top #top_slider .slider_box.love .cover .main {
  background: #e8dddd;
}
#index #top #top_slider .slider_box.love .cover .sub {
  background: #483d34;
}
#index #top #top_slider .slider_box .jk {
  overflow: hidden;
  width: 70vh;
  max-width: 750px;
  padding: 10px;
  background: white;
  box-shadow: 0 30px 50px -10px rgba(112, 112, 137, 0.8);
}
#index #top #top_slider .slider_box .jk img {
  vertical-align: top;
}
#index #top #top_slider .slider_box .txt {
  padding-top: 10%;
  width: 40%;
  min-width: 615px;
  max-width: 800px;
}
#index #top #top_slider .slider_box .txt h1 {
  font-weight: normal;
  margin-bottom: 60px;
}
#index #top #top_slider .slider_box .txt h1 .logo {
  width: 100%;
  filter: invert(1);
}
#index #top #top_slider .slider_box .txt h1 .day {
  width: -moz-fit-content;
  width: fit-content;
  background: #020202;
  transform: translateX(3px);
  color: #fff;
  font-size: 28px;
  line-height: 1;
  padding: 2px 1px 2px 5px;
  letter-spacing: 4px;
  margin-top: -5px;
}
#index #top #top_slider .slider_box .txt .unit_box {
  overflow: visible;
}
#index #top #top_slider .slider_box .txt .unit_box .icon img {
  filter: invert(1);
}
#index #top #top_slider .slider_box.on {
  opacity: 1;
}
#index #top #top_slider .slider_box.on .cover {
  opacity: 0;
  transition: all 0.3s ease-out 1.5s;
}
#index #top #top_slider .slider_box.on .cover > div {
  clip-path: polygon(0 0, 100% 0, 100% 100%, -100vh 100%);
}
#index #top #top_slider .slider_box.on .cover > div p {
  transform: scale(1);
}
#index #top #top_slider .slider_box.on .cover > div.main {
  transition-delay: 0s;
}
#index #top #top_slider .slider_box.on .cover > div.sub {
  transition-delay: 0.3s;
}
#index #top #top_slider .slider_box.on .jk {
  opacity: 1;
  transform: translateY(0);
  transition-duration: 1s;
}
#index #top #top_slider .slider_box.on .txt h1, #index #top #top_slider .slider_box.on .txt .unit_box {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}
#index #top #top_slider .catch {
  position: absolute;
  bottom: 30px;
  left: 40px;
  font-size: 80%;
}
#index #top .slider_ctrl {
  transition: all 0.8s ease-out;
  z-index: 3;
  position: absolute;
  right: 40px;
  bottom: 30px;
  display: flex;
  gap: 5px;
}
#index #top .slider_ctrl .btn_s {
  font-size: 11px;
}
#index #top.off {
  pointer-events: none;
}
#index #top.off #top_slider, #index #top.off .slider_ctrl {
  opacity: 0;
}
@media (max-width: 800px) {
  #index #top {
    position: relative;
  }
  #index #top #top_slider .slider_box {
    padding: 80px 30px 50px;
    flex-direction: column;
    gap: 40px;
  }
  #index #top #top_slider .slider_box .jk {
    width: 100%;
    padding: 5px;
  }
  #index #top #top_slider .slider_box .txt {
    width: 100%;
    min-width: 0;
    padding: 0 10px 0 5px;
  }
  #index #top #top_slider .slider_box .txt h1 {
    margin-bottom: 15px;
  }
  #index #top #top_slider .slider_box .txt h1 .day {
    font-size: 13px;
    letter-spacing: 4px;
    margin-top: -3px;
  }
  #index #top #top_slider .slider_box .txt .unit_box {
    padding: 10px 0;
  }
  #index #top #top_slider .slider_box .txt .unit_box .icon {
    gap: 5px;
    padding: 0px 12px 0px 0;
  }
  #index #top #top_slider .slider_box .txt .unit_box .icon .num {
    font-size: 12px;
  }
  #index #top #top_slider .slider_box .txt .unit_box .icon .img img {
    height: 30px;
  }
  #index #top #top_slider .slider_box .txt .unit_box .member {
    padding-left: 12px;
    font-size: 7.5px;
    letter-spacing: 0.5px;
  }
  #index #top #top_slider .catch {
    display: none;
  }
  #index #top .slider_ctrl {
    right: 20px;
    bottom: 20px;
    display: flex;
    gap: 5px;
  }
  #index #top .slider_ctrl .btn_s {
    font-size: 9px;
  }
}
#index #about {
  position: relative;
  z-index: 2;
  padding-bottom: 350px;
  padding-top: 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
}
#index #about .bg {
  position: absolute;
  width: 100%;
  height: calc(100% + 65vh);
  left: 0;
  bottom: -1px;
  z-index: -1;
  background: #fff;
}
#index #about .bg > div {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: all 0.5s ease-out;
  -webkit-mask-image: linear-gradient(to top, rgba(0, 0, 0, 0), #000 300px, #000);
          mask-image: linear-gradient(to top, rgba(0, 0, 0, 0), #000 300px, #000);
}
#index #about .bg > div.music {
  background: #eaf5f4;
}
#index #about .bg > div.dream {
  background: #d3dbe6;
}
#index #about .bg > div.love {
  background: #e8dddd;
}
#index #about .bg > div.on {
  opacity: 1;
}
#index #about .img {
  position: relative;
  z-index: 2;
  width: 580px;
  height: 830px;
}
#index #about .img .img_box {
  position: absolute;
  width: 270px;
  aspect-ratio: 1/1.414;
  border-radius: 10px;
  box-shadow: 0 30px 50px -10px rgba(112, 112, 137, 0.8);
  background-size: cover;
  background-position: 50% 0;
}
#index #about .img .img_box.music {
  top: 0;
  left: 0;
  z-index: 2;
}
#index #about .img .img_box.dream {
  right: 0;
  top: 20%;
  z-index: 3;
}
#index #about .img .img_box.love {
  left: 15%;
  bottom: 0;
  z-index: 1;
}
#index #about .img .img_box.music {
  background-image: url(../img/about_img_music.jpg);
}
#index #about .img .img_box.dream {
  background-image: url(../img/about_img_dream.jpg);
}
#index #about .img .img_box.love {
  background-image: url(../img/about_img_love.jpg);
}
#index #about .txt {
  position: relative;
  z-index: 2;
}
#index #about .txt .catch {
  margin-bottom: 50px;
}
#index #about .txt .catch span {
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  background: #000;
  color: #fff;
  margin-bottom: 15px;
  font-size: 48px;
  line-height: 1;
  padding: 2px 5px;
}
#index #about .txt .txt_box {
  font-size: 110%;
  line-height: 1.8;
  letter-spacing: 2px;
}
#index #about .txt .txt_box p {
  margin-bottom: 20px;
  transform: translateY(0);
}
#index #about .scroll_txt {
  position: fixed;
}
@media (max-width: 800px) {
  #index #about {
    flex-direction: column;
    gap: 20px;
    padding-bottom: 50px;
  }
  #index #about .bg {
    height: calc(100% + 55vh);
  }
  #index #about .img {
    height: 800px;
    zoom: 0.55;
    order: 2;
  }
  #index #about .txt {
    order: 1;
  }
  #index #about .txt .h01 {
    width: 100%;
    margin-bottom: 10px;
    padding: 0;
  }
  #index #about .txt .catch {
    width: 100%;
    margin-bottom: 20px;
  }
  #index #about .txt .catch span {
    font-size: 30px;
    line-height: 1;
    margin-bottom: 7px;
  }
  #index #about .txt .txt_box {
    font-size: 90%;
    letter-spacing: 0px;
  }
  #index #about .txt .txt_box p {
    margin-bottom: 10px;
  }
}
#index #member {
  background: #fff;
  z-index: 3;
}
#index #member:after {
  content: "";
  display: block;
  position: absolute;
  z-index: -1;
  width: 100%;
  height: 300px;
  bottom: -1px;
  left: 0;
  background: #f4f4f4;
}
@media (min-width: 800px) {
  #index #member .h01 {
    margin-inline: auto;
  }
}
#index #member .pg_wrapper {
  display: flex;
  justify-content: space-between;
  width: min(100%, 1260px);
}
#index #member .pg_wrapper .unit_wrap {
  position: relative;
  width: 320px;
  border-radius: 160px 160px 10px 10px;
  padding: 45px 40px 40px;
  border: 1px solid #fff;
  overflow: hidden;
  box-shadow: 0 20px 50px -20px rgba(112, 112, 137, 0.6);
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  text-align: center;
  cursor: pointer;
}
#index #member .pg_wrapper .unit_wrap.dream {
  transition-delay: 0.2s;
}
#index #member .pg_wrapper .unit_wrap.love {
  transition-delay: 0.4s;
}
@media (min-width: 800px) {
  #index #member .pg_wrapper .unit_wrap:hover {
    transition: all 0.3s ease-out;
    transform: translateY(-10px) scale(1.01);
    box-shadow: 0 30px 60px -20px rgba(112, 112, 137, 0.8);
  }
}
#index #member .pg_wrapper .unit_wrap > * {
  position: relative;
  z-index: 2;
}
#index #member .pg_wrapper .unit_wrap:after {
  content: "";
  display: block;
  position: absolute;
  width: 300px;
  height: 300px;
  top: -150px;
  left: 50%;
  transform: translateX(-50%);
  opacity: 0.35;
}
#index #member .pg_wrapper .unit_wrap:before {
  content: "";
  display: block;
  position: relative;
  z-index: 2;
  width: 100%;
  height: 60px;
  margin: 0 auto 40px;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  filter: drop-shadow(0 8px 5px rgba(112, 112, 137, 0.3));
}
#index #member .pg_wrapper .unit_wrap .img {
  filter: invert(1);
  margin: 0 auto 25px;
}
#index #member .pg_wrapper .unit_wrap .img img {
  height: 75px;
  width: auto;
}
#index #member .pg_wrapper .unit_wrap .ch {
  position: relative;
  padding: 10px 0;
  margin-bottom: 30px;
  font-size: 10.5px;
}
@media (min-width: 800px) {
  #index #member .pg_wrapper .unit_wrap .ch span {
    position: relative;
    display: inline-block;
    margin: 0 2px;
  }
  #index #member .pg_wrapper .unit_wrap .ch span:after {
    content: " /";
  }
  #index #member .pg_wrapper .unit_wrap .ch span.noslash {
    margin: 0 5px;
  }
  #index #member .pg_wrapper .unit_wrap .ch span.noslash:after {
    content: " ";
  }
}
#index #member .pg_wrapper .unit_wrap .ch:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0px;
  border-top: 1px solid #000;
  border-bottom: 1px solid #000;
  opacity: 0.7;
}
#index #member .pg_wrapper .unit_wrap.music {
  background: linear-gradient(to bottom, #eaf5f4, rgba(255, 255, 255, 0.8));
}
#index #member .pg_wrapper .unit_wrap.music:after {
  background: radial-gradient(#2662a3, rgba(38, 98, 163, 0) 70%);
}
#index #member .pg_wrapper .unit_wrap.music:before {
  background-image: url(../img/member_icon_music.png);
}
#index #member .pg_wrapper .unit_wrap.dream {
  background: linear-gradient(to bottom, #d3dbe6, rgba(255, 255, 255, 0.8));
}
#index #member .pg_wrapper .unit_wrap.dream:after {
  background: radial-gradient(#6c69a4, rgba(108, 105, 164, 0) 70%);
}
#index #member .pg_wrapper .unit_wrap.dream:before {
  background-image: url(../img/member_icon_dream.png);
}
#index #member .pg_wrapper .unit_wrap.love {
  background: linear-gradient(to bottom, #e8dddd, rgba(255, 255, 255, 0.8));
}
#index #member .pg_wrapper .unit_wrap.love:after {
  background: radial-gradient(#554538, rgba(85, 69, 56, 0) 70%);
  opacity: 0.2;
}
#index #member .pg_wrapper .unit_wrap.love:before {
  background-image: url(../img/member_icon_love.png);
}
@media (max-width: 800px) {
  #index #member {
    padding-top: 100px;
  }
  #index #member:after {
    height: 60%;
    clip-path: polygon(0 70%, 100% 0, 100% 100%, 0 100%);
  }
  #index #member .pg_wrapper {
    flex-wrap: wrap;
    gap: 20px 4%;
  }
  #index #member .pg_wrapper .unit_wrap {
    width: 48%;
    padding: 20px 20px 20px;
  }
  #index #member .pg_wrapper .unit_wrap:after {
    width: 200px;
    height: 200px;
    top: -110px;
  }
  #index #member .pg_wrapper .unit_wrap:before {
    zoom: 0.6;
    margin-bottom: 20px;
  }
  #index #member .pg_wrapper .unit_wrap .img {
    margin-bottom: 18px;
  }
  #index #member .pg_wrapper .unit_wrap .img img {
    height: 38px;
  }
  #index #member .pg_wrapper .unit_wrap .ch {
    font-size: 8px;
    padding: 6px 0;
    margin-bottom: 12px;
    line-height: 1.4;
    letter-spacing: 1px;
  }
  #index #member .pg_wrapper .unit_wrap .ch span {
    display: block;
  }
}
#index #news {
  width: 100%;
  display: flex;
  justify-content: flex-end;
  align-items: flex-start;
  gap: 30px;
}
@media (min-width: 800px) {
  #index #news .h01 {
    writing-mode: sideways-rl;
    align-items: center;
    justify-content: center;
    margin: 5px 0 0 0;
    clip-path: polygon(0 0, 100% 0, 100% 0, 0 0);
  }
  #index #news .h01.show {
    clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  }
  #index #news .h01 p {
    padding: 0 0 20px 0;
  }
  #index #news .h01:after {
    border-left: none;
    border-top: 1px solid #000;
  }
  #index #news .h01:after {
    padding: 20px 8px 0 10px;
    margin: 0 0 0 10px;
  }
}
#index #news .pg_wrapper {
  width: calc(1120px + (100vw - 1120px) / 2);
  padding: 70px;
  margin: 0;
  background: white;
  border: 1px solid #fff;
  border-radius: 30px;
  box-shadow: 0 10px 50px -15px rgba(112, 112, 137, 0.2);
  border-radius: 30px 0 0 30px;
}
@media (max-width: 800px) {
  #index #news .pg_wrapper {
    border-radius: 15px;
  }
}
#index #news .pg_wrapper .btn_s {
  margin-top: 20px;
}
#index #news .pg_wrapper .newslist {
  transition-delay: 0.3s;
}
@media (max-width: 800px) {
  #index #news {
    flex-direction: column;
    gap: 0;
  }
  #index #news .pg_wrapper {
    margin-left: 15px;
    margin-top: -10px;
    width: 100%;
    padding: 30px 30px 25px 25px;
    border-radius: 15px 0 0 15px;
  }
  #index #news .pg_wrapper .btn_s {
    margin-top: 10px;
  }
}
@media (min-width: 800px) {
  #index #lineup .h01 {
    padding-left: 50px;
  }
}
#index #lineup .unit_wrap {
  border-radius: 50px;
  box-shadow: 0 0px 50px -15px rgba(112, 112, 137, 0.5);
  position: sticky;
  top: 60px;
  z-index: 1;
}
#index #lineup .unit_wrap:nth-of-type(1) {
  padding-bottom: 60px;
}
#index #lineup .unit_wrap:nth-of-type(2) {
  top: 120px;
  padding-bottom: 60px;
  margin-top: -60px;
}
#index #lineup .unit_wrap:nth-of-type(3) {
  top: 180px;
  margin-top: -60px;
  border-radius: 50px;
}
#index #lineup .unit_wrap.music {
  background: #eaf5f4;
}
#index #lineup .unit_wrap.dream {
  background: #d3dbe6;
}
#index #lineup .unit_wrap.love {
  background: #e8dddd;
}
#index #lineup .unit_wrap header a {
  display: flex;
  justify-content: space-between;
  align-items: center;
  height: 60px;
  padding: 15px 60px 0;
  color: #000;
  font-size: 80%;
  opacity: 0.5;
  font-weight: 600;
}
#index #lineup .unit_wrap .flex_wrap {
  padding: 30px 30px 100px;
  height: min(80vh, 800px);
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 80px;
}
#index #lineup .unit_wrap .flex_wrap .jk .img {
  border-radius: 10px;
  overflow: hidden;
  width: min(60vh, 540px);
  aspect-ratio: 800/790;
  box-shadow: 0 10px 50px -10px rgba(112, 112, 137, 0.5);
}
#index #lineup .unit_wrap .flex_wrap .txt {
  text-align: left;
  min-width: 30%;
}
#index #lineup .unit_wrap .flex_wrap .txt .logo {
  margin-bottom: 50px;
  transform: translateX(-3px);
}
#index #lineup .unit_wrap .flex_wrap .txt .logo img {
  height: 100px;
  filter: invert(1);
}
#index #lineup .unit_wrap .flex_wrap .txt .ch {
  margin-bottom: 40px;
}
#index #lineup .unit_wrap .flex_wrap .txt .ch dt {
  font-size: 80%;
  opacity: 0.5;
  font-weight: 600;
}
#index #lineup .unit_wrap .flex_wrap .txt .ch dd {
  font-size: 90%;
}
#index #lineup .unit_wrap.love .flex_wrap {
  padding-bottom: 80px;
}
#index #lineup .empty {
  height: 200px;
}
@media (max-width: 800px) {
  #index #lineup .unit_wrap {
    border-radius: 30px 30px 30px 30px;
    top: 60px;
    padding-bottom: 30px;
  }
  #index #lineup .unit_wrap:nth-of-type(2) {
    top: 100px;
    margin-top: -40px;
  }
  #index #lineup .unit_wrap:nth-of-type(3) {
    top: 140px;
    margin-top: -40px;
    border-radius: 30px;
  }
  #index #lineup .unit_wrap header a {
    height: 40px;
    padding: 15px 25px 0;
  }
  #index #lineup .unit_wrap .flex_wrap {
    flex-direction: column;
    gap: 30px;
    height: auto;
    padding: 30px 30px 120px;
  }
  #index #lineup .unit_wrap .flex_wrap .jk .img {
    width: 75%;
    margin: 0 auto;
  }
  #index #lineup .unit_wrap .flex_wrap .txt {
    text-align: center;
    width: 100%;
  }
  #index #lineup .unit_wrap .flex_wrap .txt .logo {
    margin-bottom: 10px;
  }
  #index #lineup .unit_wrap .flex_wrap .txt .logo img {
    height: 60px;
  }
  #index #lineup .unit_wrap .flex_wrap .txt .ch {
    margin-bottom: 20px;
  }
  #index #lineup .unit_wrap .flex_wrap .txt .ch dt {
    font-size: 12px;
  }
  #index #lineup .unit_wrap .flex_wrap .txt .ch dd {
    font-size: 10px;
  }
  #index #lineup .unit_wrap .flex_wrap .txt .btn_m {
    width: min(100%, 250px);
  }
  #index #lineup .unit_wrap.love .flex_wrap {
    padding-bottom: 120px;
  }
  #index #lineup .empty {
    height: 50px;
  }
}
#index #movie {
  padding-bottom: 200px;
}
@media (min-width: 800px) {
  #index #movie .h01 {
    padding-left: 50px;
  }
}
#index #movie:before {
  content: "";
  display: block;
  position: absolute;
  inset: 155px 0 100px 0;
  background: white;
  border: 1px solid #fff;
  border-radius: 30px;
  box-shadow: 0 10px 50px -15px rgba(112, 112, 137, 0.2);
  border-radius: 0;
}
@media (max-width: 800px) {
  #index #movie:before {
    border-radius: 15px;
  }
}
#index #movie .slider_wrap {
  position: relative;
  width: 100%;
  top: 0;
  left: 0;
  height: 100%;
  z-index: 2;
  overflow: hidden;
  margin-bottom: 50px;
  transition: all 0.8s ease-out, height 0.2s ease-out !important;
}
#index #movie .slider_wrap .pp_movie_btn {
  width: 80%;
  max-width: 800px;
  position: absolute;
  top: 0;
  aspect-ratio: 16/9;
  padding: 40px 20px 0;
  cursor: pointer;
  transition: opacity 0.5s ease-out;
}
#index #movie .slider_wrap .pp_movie_btn .thumb {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
}
#index #movie .slider_wrap .pp_movie_btn .thumb img {
  width: 100%;
}
#index #movie .slider_wrap .pp_movie_btn .thumb:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.4;
  transition: all 0.2s ease-out;
}
#index #movie .slider_wrap .pp_movie_btn .thumb:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: url(../img/movie_playbtn.png) 50% 50% no-repeat rgba(0, 0, 0, 0.2);
  background-size: 120px auto;
  transition: all 0.2s ease-out;
}
#index #movie .slider_wrap .pp_movie_btn .thumb p {
  position: absolute;
  background: #020202;
  z-index: 3;
  text-align: right;
  bottom: 20px;
  right: 20px;
  padding: 4px 5px 3px;
  font-size: 90%;
  line-height: 1;
  color: #fff;
  font-weight: 600;
}
#index #movie .slider_wrap .pp_movie_btn.active {
  opacity: 1;
}
#index #movie .slider_wrap .pp_movie_btn:hover .thumb:before {
  opacity: 0;
}
#index #movie .slider_wrap .pp_movie_btn:hover .thumb:after {
  transform: scale(1.2);
}
#index #movie .slider_wrap.noslid {
  display: flex;
  justify-content: center;
  align-items: center;
}
#index #movie .slider_wrap.noslid .pp_movie_btn {
  position: relative;
}
#index #movie .slider_ctrl {
  position: relative;
  opacity: 0.9;
  margin-bottom: 10px;
  display: flex;
  justify-content: center;
  gap: 50px;
  z-index: 2;
}
#index #movie .slider_ctrl .slider_ctrl_btn {
  cursor: pointer;
  width: 20px;
  aspect-ratio: 1/1;
  border-radius: 10px;
  background: #020202;
  color: #fff;
  text-align: center;
  font-size: 14px;
  line-height: 20px;
  transition: all 0.1s ease-out;
}
#index #movie .slider_ctrl .slider_maru {
  display: flex;
  gap: 20px;
  justify-content: center;
  align-items: center;
}
#index #movie .slider_ctrl .slider_maru li {
  cursor: pointer;
  width: 12px;
  aspect-ratio: 1/1;
  border-radius: 6px;
  border: 1px solid #020202;
}
#index #movie .slider_ctrl .slider_maru li.on {
  background: #020202;
}
@media (max-width: 800px) {
  #index #movie {
    padding-bottom: 65px;
  }
  #index #movie:before {
    inset: 100px 0 30px 0;
  }
  #index #movie .slider_wrap {
    margin-bottom: 15px;
    margin-top: 20px;
  }
  #index #movie .slider_wrap .pp_movie_btn {
    padding: 5px 8px;
  }
  #index #movie .slider_wrap .pp_movie_btn .thumb:after {
    background-size: 60px auto;
  }
  #index #movie .slider_wrap .pp_movie_btn .thumb p {
    font-size: 10px;
    bottom: 10px;
    right: 10px;
  }
  #index #movie .slider_ctrl {
    gap: 30px;
  }
  #index #movie .slider_ctrl .slider_maru li {
    width: 10px;
  }
}
#index #special .img_slider {
  position: relative;
}
#index #special .img_slider:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 1;
  width: 40px;
  height: 40px;
  top: -8px;
  right: -8px;
  border-radius: 20px;
  background: url(../img/popup_icon.png) 45% 45% no-repeat #000;
  background-size: 60% auto;
}
@media (max-width: 800px) {
  #index #special .img_slider {
    margin-bottom: -10px;
    margin-top: 5px;
  }
  #index #special .img_slider:after {
    width: 24px;
    height: 24px;
    top: -5px;
    right: -5px;
    background-size: 50%;
  }
}
#index #special .img_slider .pp_img_btn {
  vertical-align: top;
}
#index #special .img_slider .pp_img_btn:after {
  display: none;
}
#index #special .slick-dots {
  position: relative;
  z-index: 10;
  padding: 0;
  list-style: none;
  display: block;
  text-align: center;
  padding: 0;
  width: 100%;
  vertical-align: top;
}
@media (max-width: 800px) {
  #index #special .slick-dots {
    text-align: left;
  }
}
#index #special .slick-dots li {
  position: relative;
  display: inline-block;
  height: 20px;
  width: 20px;
  margin: 0 0;
  padding: 0;
  cursor: pointer;
  transition: all 0.15s ease-out;
}
#index #special .slick-dots li button {
  border: 0;
  background: transparent;
  display: block;
  height: 20px;
  width: 20px;
  outline: none;
  line-height: 0px;
  font-size: 0px;
  color: transparent;
  padding: 5px;
  cursor: pointer;
}
#index #special .slick-dots li button:hover, #index #special .slick-dots li button:focus {
  outline: none;
}
#index #special .slick-dots li button:hover:before, #index #special .slick-dots li button:focus:before {
  opacity: 1;
}
#index #special .slick-dots li button:before {
  position: absolute;
  top: 0;
  left: 0;
  content: "●";
  width: 20px;
  height: 20px;
  font-size: 12px;
  line-height: 20px;
  text-align: center;
  opacity: 0.5;
  color: #000;
}
@media (max-width: 800px) {
  #index #special .slick-dots li button:before {
    font-size: 8px;
  }
}
#index #special .slick-dots li.slick-active {
  transform-origin: 50%;
}
#index #special .slick-dots li.slick-active button:before {
  opacity: 1;
}
#index #gfooter {
  background: #f4f4f4;
}
#index #gfooter .bg {
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #fff;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000 200px);
          mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000 200px);
}
#index #gfooter .bg > div {
  position: absolute;
  inset: 0;
  opacity: 0;
  transition: all 0.6s ease-out;
}
#index #gfooter .bg > div.on {
  opacity: 1;
}
#index #gfooter .bg > div.music {
  background: #eaf5f4;
}
#index #gfooter .bg > div.dream {
  background: #d3dbe6;
}
#index #gfooter .bg > div.love {
  background: #e8dddd;
}

/* ================================================================ *
* unit
* ================================================================ */
#unit section.pg {
  padding: 180px 10px 200px;
}
#unit section.pg:nth-of-type(odd) {
  background: rgba(255, 255, 255, 0.3);
  border: 1px solid white;
}
@media (max-width: 800px) {
  #unit section.pg {
    padding: 80px 8px;
  }
}
#unit .scroll_txt {
  position: absolute;
  width: 100%;
  height: 152px;
  left: 0;
  bottom: 0;
  pointer-events: none;
  z-index: 1;
  background-position: 0 100%;
  background-repeat: repeat-x;
  transform: translateY(10px);
}
@media (max-width: 800px) {
  #unit .scroll_txt {
    height: 90px;
    background-size: auto 100%;
  }
}
#unit #loading {
  background: #fff;
}
#unit #gHeader:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0 0 -50px 0;
  z-index: -1;
  background: #fff;
  opacity: 0;
  -webkit-mask-image: linear-gradient(to bottom, #000 50%, transparent);
          mask-image: linear-gradient(to bottom, #000 50%, transparent);
  transition: all 0.8s ease-out;
  pointer-events: none;
}
#unit #gHeader .logo_wrap {
  display: flex;
  gap: 20px;
}
#unit #gHeader .unit {
  display: flex;
  gap: 5px;
  padding-bottom: 5px;
}
#unit #gHeader .unit li a {
  position: relative;
  min-width: 72px;
  cursor: pointer;
  overflow: hidden;
  border: 1px solid rgba(0, 0, 0, 0.8);
  border-radius: 50px;
  padding: 5px 10px;
  display: flex;
  justify-content: center;
  align-items: center;
}
#unit #gHeader .unit li a:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #020202;
  transform-origin: 100% 0;
  transform: scaleX(0);
  transition: transform 0.15s ease-out;
}
#unit #gHeader .unit li a.on:after, #unit #gHeader .unit li a:hover:after {
  transform-origin: 0 0;
  transform: scaleX(1);
}
#unit #gHeader .unit li a img {
  height: 18px;
}
#unit #gHeader.scroll:after {
  opacity: 0.4;
}
@media (max-width: 800px) {
  #unit #gHeader {
    align-items: flex-start;
  }
  #unit #gHeader .logo_wrap {
    gap: 10px;
    padding: 3px 22px;
  }
  #unit #gHeader .unit {
    gap: 3px;
  }
  #unit #gHeader .unit li a {
    min-width: 48px;
    padding: 5px 6px;
  }
  #unit #gHeader .unit li a img {
    height: 12px;
  }
}
#unit #fix_pagenav {
  position: fixed;
  z-index: 900;
  text-align: right;
  bottom: 35px;
  right: 45px;
  font-family: "cofo-raffine", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "Noto Serif JP", "游明朝", "游明朝体", "Yu Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "リュウミン", sans-seri;
  letter-spacing: 1.5px;
  font-size: 16px;
  line-height: 1.5;
}
#unit #fix_pagenav ul {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 15px;
}
#unit #fix_pagenav ul a {
  position: relative;
  z-index: 1;
  line-height: 1;
  padding: 3px 5px 0;
  display: block;
  width: -moz-fit-content;
  width: fit-content;
  color: #000;
}
@media (min-width: 800px) {
  #unit #fix_pagenav ul a:after {
    content: "";
    display: block;
    position: absolute;
    inset: 0;
    z-index: -1;
    background: #000;
    transform-origin: 100% 0;
    transform: scaleX(0);
    transition: transform 0.2s ease-out;
  }
  #unit #fix_pagenav ul a.on, #unit #fix_pagenav ul a:hover {
    color: #fff;
  }
  #unit #fix_pagenav ul a.on:after, #unit #fix_pagenav ul a:hover:after {
    transform: scaleX(1);
  }
}
@media (max-width: 800px) {
  #unit #fix_pagenav {
    right: 8px;
    bottom: auto;
    top: 50%;
    transform: translateY(-50%);
  }
  #unit #fix_pagenav span {
    display: none;
  }
  #unit #fix_pagenav ul li {
    margin: 3px 0;
  }
  #unit #fix_pagenav ul a {
    position: relative;
    width: 20px;
    aspect-ratio: 1/1;
  }
  #unit #fix_pagenav ul a:after {
    content: "";
    display: block;
    position: absolute;
    inset: 6px;
    background: #000;
    border-radius: 30px;
    opacity: 0.4;
    transition: all 0.3s ease-out;
  }
  #unit #fix_pagenav ul a.on:after {
    opacity: 1;
  }
}
#unit #bg {
  position: fixed;
  inset: 0;
  z-index: 1;
  background-size: cover;
  background-position: 50% 25%;
}
#unit #bg:before, #unit #bg:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  background-size: cover;
  background-position: 50% 25%;
  transition: all 1.2s ease-out;
}
#unit #bg .filter {
  position: absolute;
  inset: 0;
  z-index: 3;
}
#unit #bg .filter:before, #unit #bg .filter:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 2;
}
#unit #bg .filter:before {
  background: #fff;
  opacity: 0.8;
  opacity: 0;
  transition: all 1.2s ease-out;
}
#unit #bg .filter:after {
  background: url(../img/filter_white.png);
  opacity: 0.07;
  background-size: 16px auto;
}
#unit #bg .prrbg {
  position: absolute;
  inset: 0;
  z-index: 2;
  opacity: 0;
  transition: opacity 1.2s ease-out, transform 1.2s ease-out;
  background-size: 100% auto, 100% auto;
  background-position: 50% 0;
  transform: translateY(200px);
  background-repeat: repeat-y;
}
#unit #bg.off:before {
  filter: blur(8px);
}
#unit #bg.off:after {
  opacity: 0;
  filter: blur(8px);
}
#unit #bg.off .filter:before {
  opacity: 0.3;
}
#unit #bg.off .prrbg {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 1.2s ease-out 0.8s, transform 1.2s ease-out 0.8s;
}
@media (max-width: 800px) {
  #unit #bg:before, #unit #bg:after {
    background-position: 50% 50%;
  }
  #unit #bg .filter:after {
    background-size: 14px auto;
  }
}
#unit #top {
  position: sticky;
  top: 0;
  width: 100%;
  height: 100vh;
  transition: all 0.8s ease-out;
}
@media (min-width: 800px) {
  #unit #top h1 {
    position: absolute;
    left: 30px;
    bottom: 30px;
    text-align: center;
    width: clamp(250px, 30vw, 657px);
  }
}
#unit #top h1 {
  filter: drop-shadow(0 0 5px #fff);
}
#unit #top.off {
  opacity: 0;
  pointer-events: none;
}
@media (max-width: 800px) {
  #unit #top {
    height: 100svh;
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 10px;
    flex-direction: column;
    padding: 30px 40px;
  }
  #unit #top .top_pagenav ul {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    font-family: "cofo-raffine", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "Noto Serif JP", "游明朝", "游明朝体", "Yu Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "リュウミン", sans-seri;
  }
  #unit #top .top_pagenav ul li a {
    display: block;
    position: relative;
    font-size: 14px;
    line-height: 1.3;
    display: block;
    padding: 2px;
    color: #000;
  }
  #unit #top .top_pagenav ul li:not(:nth-last-of-type(1)) a:after {
    content: "/";
    display: inline-block;
    position: relative;
    padding: 0 8px;
    font-size: 80%;
    transform: translateY(-1px);
  }
}
#unit #concept {
  min-height: 100vh;
  padding: 200px 30px;
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
}
#unit #concept .catch {
  max-width: 1500px;
  width: 100%;
  overflow: hidden;
  font-family: "cofo-raffine", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "Noto Serif JP", "游明朝", "游明朝体", "Yu Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "リュウミン", sans-seri;
  margin-bottom: 50px;
  font-size: 140px;
  line-height: 1.1;
}
#unit #concept .catch p {
  position: relative;
  display: block;
  overflow: hidden;
}
#unit #concept .catch p span {
  display: inline-block;
  transform: translateY(100%);
  transition: all 0.6s ease-out 0.3s;
}
#unit #concept .catch p.show {
  letter-spacing: 0;
}
#unit #concept .catch p.show span {
  transform: translateY(0);
}
#unit #concept .txt p {
  background: #000;
  color: #fff;
  width: -moz-fit-content;
  width: fit-content;
  margin: 0 auto;
  font-size: 30px;
  line-height: 1.1;
  padding: 0 30px;
  letter-spacing: 15px;
  text-indent: 15px;
}
#unit #concept .txt p:not(:nth-last-of-type(1)) {
  margin-bottom: 30px;
}
@media (max-width: 800px) {
  #unit #concept {
    padding: 100px 0px;
  }
  #unit #concept .catch {
    font-size: 75px;
    margin-bottom: 30px;
  }
  #unit #concept .txt {
    width: 100%;
  }
  #unit #concept .txt p {
    background: none;
    font-size: 17px;
    letter-spacing: 0;
    text-indent: 0;
  }
  #unit #concept .txt p:not(:nth-last-of-type(1)) {
    margin-bottom: 20px;
  }
  #unit #concept .txt p span {
    width: -moz-fit-content;
    width: fit-content;
    margin: 0 auto;
    padding: 1px 10px;
    display: block;
    background: #000;
    letter-spacing: 2px;
    text-indent: 2px;
  }
  #unit #concept .txt p span:not(:nth-last-of-type(1)) {
    margin-bottom: 7px;
  }
}
#unit #member .artist_wrap {
  position: relative;
  z-index: 2;
  display: flex;
  gap: 25px;
}
#unit #member .artist_wrap:nth-of-type(1) {
  justify-content: flex-start;
  margin-bottom: 30px;
}
#unit #member .artist_wrap:nth-of-type(2) {
  justify-content: flex-end;
}
#unit #member .artist_wrap .artist_box {
  position: relative;
  border: 1px solid #fff;
  width: 300px;
  aspect-ratio: 300/450;
  border-radius: 150px 150px 10px 10px;
  overflow: hidden;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  box-shadow: 0 5px 40px -8px rgba(112, 112, 137, 0.3);
}
@media (min-width: 800px) {
  #unit #member .artist_wrap .artist_box:nth-of-type(2) {
    transition-delay: 0.2s;
  }
  #unit #member .artist_wrap .artist_box:nth-of-type(3) {
    transition-delay: 0.4s;
  }
}
#unit #member .artist_wrap .artist_box .img {
  position: absolute;
  inset: 0;
  background-size: 100% auto;
  background-position: 50% 0;
  border-radius: 150px 150px 10px 10px;
}
#unit #member .artist_wrap .artist_box .img:after {
  content: "";
  display: block;
  position: absolute;
  inset: 50% 0 0 0;
}
#unit #member .artist_wrap .artist_box .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 13px 20px 13px;
  z-index: 3;
  color: #fff;
  text-align: left;
}
#unit #member .artist_wrap .artist_box .txt .name {
  font-family: "cofo-raffine", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "Noto Serif JP", "游明朝", "游明朝体", "Yu Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "リュウミン", sans-seri;
  font-size: 60px;
  line-height: 1;
  color: #fff;
  letter-spacing: 1px;
}
#unit #member .artist_wrap .artist_box .txt .ja {
  display: flex;
  align-items: center;
  gap: 5px;
  margin: -8px 0 8px;
}
#unit #member .artist_wrap .artist_box .txt .ja .janame {
  font-weight: 600;
}
#unit #member .artist_wrap .artist_box .txt .ja .group {
  position: relative;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  padding-left: 38px;
}
#unit #member .artist_wrap .artist_box .txt .ja .group:after {
  content: "";
  display: block;
  position: absolute;
  width: 35px;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/member_from.png) 50% 50% no-repeat;
  background-size: contain;
}
#unit #member .artist_wrap .artist_box .txt .spec {
  display: flex;
  flex-wrap: wrap;
  gap: 5px;
}
#unit #member .artist_wrap .artist_box .txt .spec p {
  font-size: 13px;
  line-height: 1.2;
  padding: 1px 5px;
  background: #fff;
  font-weight: 600;
}
#unit #member .artist_wrap .artist_box.otoya {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(232, 56, 54, 0.9));
}
#unit #member .artist_wrap .artist_box.otoya .img {
  background-image: url(../img/member_otoya.png);
}
#unit #member .artist_wrap .artist_box.otoya .img:after {
  background: linear-gradient(to bottom, rgba(232, 56, 54, 0), rgb(210.2152142857, 36.9536669342, 34.9847857143));
}
#unit #member .artist_wrap .artist_box.otoya .txt .spec p {
  color: rgb(210.8705357143, 26.2276785714, 24.1294642857);
}
#unit #member .artist_wrap .artist_box.masato {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(47, 89, 163, 0.9));
}
#unit #member .artist_wrap .artist_box.masato .img {
  background-image: url(../img/member_masato.png);
}
#unit #member .artist_wrap .artist_box.masato .img:after {
  background: linear-gradient(to bottom, rgba(47, 89, 163, 0), rgb(44.6365714286, 73.5756059113, 124.5634285714));
}
#unit #member .artist_wrap .artist_box.masato .txt .spec p {
  color: rgb(35.5857142857, 67.3857142857, 123.4142857143);
}
#unit #member .artist_wrap .artist_box.natsuki {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(253, 208, 0, 0.9));
}
#unit #member .artist_wrap .artist_box.natsuki .img {
  background-image: url(../img/member_natsuki.png);
}
#unit #member .artist_wrap .artist_box.natsuki .img:after {
  background: linear-gradient(to bottom, rgba(253, 208, 0, 0), rgb(203.712, 168.9883636364, 8.488));
}
#unit #member .artist_wrap .artist_box.natsuki .txt .spec p {
  color: rgb(202, 166.0711462451, 0);
}
#unit #member .artist_wrap .artist_box.tokiya {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(117, 39, 130, 0.9));
}
#unit #member .artist_wrap .artist_box.tokiya .img {
  background-image: url(../img/member_tokiya.png);
}
#unit #member .artist_wrap .artist_box.tokiya .img:after {
  background: linear-gradient(to bottom, rgba(117, 39, 130, 0), rgb(85.090989011, 34.7126153846, 93.4873846154));
}
#unit #member .artist_wrap .artist_box.tokiya .txt .spec p {
  color: rgb(81.6923076923, 27.2307692308, 90.7692307692);
}
#unit #member .artist_wrap .artist_box.ren {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(237, 108, 0, 0.9));
}
#unit #member .artist_wrap .artist_box.ren .img {
  background-image: url(../img/member_ren.png);
}
#unit #member .artist_wrap .artist_box.ren .img:after {
  background: linear-gradient(to bottom, rgba(237, 108, 0, 0), rgb(188.352, 90.1029873418, 7.848));
}
#unit #member .artist_wrap .artist_box.ren .txt .spec p {
  color: rgb(186, 84.7594936709, 0);
}
#unit #member .artist_wrap .artist_box.syo {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(228, 108, 160, 0.9));
}
#unit #member .artist_wrap .artist_box.syo .img {
  background-image: url(../img/member_syo.png);
}
#unit #member .artist_wrap .artist_box.syo .img:after {
  background: linear-gradient(to bottom, rgba(228, 108, 160, 0), rgb(213.0769655172, 82.1230344828, 138.869737931));
}
#unit #member .artist_wrap .artist_box.syo .txt .spec p {
  color: rgb(220.0862068966, 64.9137931034, 132.1551724138);
}
#unit #member .artist_wrap .artist_box.cecil {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(157, 201, 42, 0.9));
}
#unit #member .artist_wrap .artist_box.cecil .img {
  background-image: url(../img/member_cecil.png);
}
#unit #member .artist_wrap .artist_box.cecil .img:after {
  background: linear-gradient(to bottom, rgba(157, 201, 42, 0), rgb(127.0278835313, 159.1638518519, 43.0361481481));
}
#unit #member .artist_wrap .artist_box.cecil .txt .spec p {
  color: rgb(124.049382716, 158.8148148148, 33.1851851852);
}
#unit #member .artist_wrap .artist_box.reiji {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(86, 184, 121, 0.9));
}
#unit #member .artist_wrap .artist_box.reiji .img {
  background-image: url(../img/member_reiji.png);
}
#unit #member .artist_wrap .artist_box.reiji .img:after {
  background: linear-gradient(to bottom, rgba(86, 184, 121, 0), rgb(76.973, 152.227, 103.8494285714));
}
#unit #member .artist_wrap .artist_box.reiji .txt .spec p {
  color: rgb(64.7875, 154.2125, 96.725);
}
#unit #member .artist_wrap .artist_box.ranmaru {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(176, 55, 96, 0.9));
}
#unit #member .artist_wrap .artist_box.ranmaru .img {
  background-image: url(../img/member_ranmaru.png);
}
#unit #member .artist_wrap .artist_box.ranmaru .img:after {
  background: linear-gradient(to bottom, rgba(176, 55, 96, 0), rgb(137.3062857143, 52.8937142857, 81.4963211334));
}
#unit #member .artist_wrap .artist_box.ranmaru .txt .spec p {
  color: rgb(137.1428571429, 42.8571428571, 74.8051948052);
}
#unit #member .artist_wrap .artist_box.ai {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(187, 151, 197, 0.9));
}
#unit #member .artist_wrap .artist_box.ai .img {
  background-image: url(../img/member_ai.png);
}
#unit #member .artist_wrap .artist_box.ai .img:after {
  background: linear-gradient(to bottom, rgba(187, 151, 197, 0), rgb(165.2890305958, 132.9194074074, 174.2805925926));
}
#unit #member .artist_wrap .artist_box.ai .txt .spec p {
  color: rgb(165.5925925926, 118.2592592593, 178.7407407407);
}
#unit #member .artist_wrap .artist_box.camus {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(144, 211, 237, 0.9));
}
#unit #member .artist_wrap .artist_box.camus .img {
  background-image: url(../img/member_camus.png);
}
#unit #member .artist_wrap .artist_box.camus .img:after {
  background: linear-gradient(to bottom, rgba(144, 211, 237, 0), rgb(115.6850232558, 194.0893983496, 224.5149767442));
}
#unit #member .artist_wrap .artist_box.camus .txt .spec p {
  color: rgb(100.1162790698, 193.6046511628, 229.8837209302);
}
#unit #member .artist_wrap .artist_box.eiichi {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(232, 56, 54, 0.9));
}
#unit #member .artist_wrap .artist_box.eiichi .img {
  background-image: url(../img/member_eiichi.png);
}
#unit #member .artist_wrap .artist_box.eiichi .img:after {
  background: linear-gradient(to bottom, rgba(232, 56, 54, 0), rgb(210.2152142857, 36.9536669342, 34.9847857143));
}
#unit #member .artist_wrap .artist_box.eiichi .txt .spec p {
  color: rgb(210.8705357143, 26.2276785714, 24.1294642857);
}
#unit #member .artist_wrap .artist_box.kira {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(47, 89, 163, 0.9));
}
#unit #member .artist_wrap .artist_box.kira .img {
  background-image: url(../img/member_kira.png);
}
#unit #member .artist_wrap .artist_box.kira .img:after {
  background: linear-gradient(to bottom, rgba(47, 89, 163, 0), rgb(44.6365714286, 73.5756059113, 124.5634285714));
}
#unit #member .artist_wrap .artist_box.kira .txt .spec p {
  color: rgb(35.5857142857, 67.3857142857, 123.4142857143);
}
#unit #member .artist_wrap .artist_box.nagi {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(253, 208, 0, 0.9));
}
#unit #member .artist_wrap .artist_box.nagi .img {
  background-image: url(../img/member_nagi.png);
}
#unit #member .artist_wrap .artist_box.nagi .img:after {
  background: linear-gradient(to bottom, rgba(253, 208, 0, 0), rgb(203.712, 168.9883636364, 8.488));
}
#unit #member .artist_wrap .artist_box.nagi .txt .spec p {
  color: rgb(202, 166.0711462451, 0);
}
#unit #member .artist_wrap .artist_box.eiji {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(117, 39, 130, 0.9));
}
#unit #member .artist_wrap .artist_box.eiji .img {
  background-image: url(../img/member_eiji.png);
}
#unit #member .artist_wrap .artist_box.eiji .img:after {
  background: linear-gradient(to bottom, rgba(117, 39, 130, 0), rgb(85.090989011, 34.7126153846, 93.4873846154));
}
#unit #member .artist_wrap .artist_box.eiji .txt .spec p {
  color: rgb(81.6923076923, 27.2307692308, 90.7692307692);
}
#unit #member .artist_wrap .artist_box.van {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(237, 108, 0, 0.9));
}
#unit #member .artist_wrap .artist_box.van .img {
  background-image: url(../img/member_van.png);
}
#unit #member .artist_wrap .artist_box.van .img:after {
  background: linear-gradient(to bottom, rgba(237, 108, 0, 0), rgb(188.352, 90.1029873418, 7.848));
}
#unit #member .artist_wrap .artist_box.van .txt .spec p {
  color: rgb(186, 84.7594936709, 0);
}
#unit #member .artist_wrap .artist_box.yamato {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(228, 108, 160, 0.9));
}
#unit #member .artist_wrap .artist_box.yamato .img {
  background-image: url(../img/member_yamato.png);
}
#unit #member .artist_wrap .artist_box.yamato .img:after {
  background: linear-gradient(to bottom, rgba(228, 108, 160, 0), rgb(213.0769655172, 82.1230344828, 138.869737931));
}
#unit #member .artist_wrap .artist_box.yamato .txt .spec p {
  color: rgb(220.0862068966, 64.9137931034, 132.1551724138);
}
#unit #member .artist_wrap .artist_box.shion {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(157, 201, 42, 0.9));
}
#unit #member .artist_wrap .artist_box.shion .img {
  background-image: url(../img/member_shion.png);
}
#unit #member .artist_wrap .artist_box.shion .img:after {
  background: linear-gradient(to bottom, rgba(157, 201, 42, 0), rgb(127.0278835313, 159.1638518519, 43.0361481481));
}
#unit #member .artist_wrap .artist_box.shion .txt .spec p {
  color: rgb(124.049382716, 158.8148148148, 33.1851851852);
}
#unit #member .artist_wrap .artist_box.masato .img:after, #unit #member .artist_wrap .artist_box.kira .img:after {
  background: linear-gradient(to bottom, rgba(47, 89, 163, 0), rgb(46.8830714286, 87.1211921182, 158.0169285714));
}
@media (max-width: 800px) {
  #unit #member .wrapper {
    display: flex;
    justify-content: space-between;
    gap: 20px 4%;
    flex-wrap: wrap;
  }
  #unit #member .artist_wrap {
    display: contents;
  }
  #unit #member .artist_wrap:nth-of-type(1) .artist_box:nth-of-type(2n) {
    transition-delay: 0.2s;
  }
  #unit #member .artist_wrap:nth-of-type(2) .artist_box:nth-of-type(2n-1) {
    transition-delay: 0.2s;
  }
  #unit #member .artist_wrap .artist_box {
    width: 48%;
    aspect-ratio: 300/520;
  }
  #unit #member .artist_wrap .artist_box .img {
    background-size: cover;
  }
  #unit #member .artist_wrap .artist_box .txt {
    padding: 0 8px 10px;
  }
  #unit #member .artist_wrap .artist_box .txt .name {
    font-size: 33px;
    line-height: 0.9;
  }
  #unit #member .artist_wrap .artist_box .txt .ja {
    display: block;
    margin-bottom: 5px;
  }
  #unit #member .artist_wrap .artist_box .txt .ja .group {
    font-size: 10px;
    white-space: wrap;
    line-height: 1.3;
    padding-left: 30px;
  }
  #unit #member .artist_wrap .artist_box .txt .ja .group:after {
    width: 28px;
    background-position: 0 0;
  }
  #unit #member .artist_wrap .artist_box .txt .spec p {
    font-size: 9px;
    padding: 1px 3px;
  }
  #unit #member .artist_wrap .artist_box.ren .img {
    background-position: 100% -3px;
  }
}
#unit #cdinfo .h01 {
  margin-bottom: 10px;
}
#unit #cdinfo h3 {
  font-weight: 600;
  margin-bottom: 10px;
}
#unit #cdinfo h3 .stxt {
  font-size: 160%;
}
#unit #cdinfo h3 .ltxt {
  font-size: 400%;
  line-height: 1.2;
}
#unit #cdinfo h3 .ltxt span {
  display: block;
  font-size: 90%;
}
#unit #cdinfo .table_spec .artist p:not(:nth-last-of-type(1)) {
  margin-bottom: 10px;
}
#unit #cdinfo .detail {
  padding: 25px;
  background: rgba(153, 153, 153, 0.2);
}
#unit #cdinfo .detail:nth-of-type(1) {
  margin-top: 40px;
  margin-bottom: 20px;
}
#unit #cdinfo .detail > dt {
  background: #000;
  color: #fff;
  font-weight: 600;
  text-align: center;
  font-size: 120%;
}
#unit #cdinfo .detail > dd {
  padding: 25px 20px 10px;
  font-size: 95%;
}
#unit #cdinfo .detail > dd .flex_wrap {
  display: flex;
  gap: 40px;
}
#unit #cdinfo .detail > dd .jk_wrap {
  width: min(100%, 500px);
  font-size: 95%;
}
#unit #cdinfo .detail > dd .txt_wrap {
  flex: 1;
}
#unit #cdinfo .detail > dd .txt_wrap .detail_box {
  margin-bottom: 15px;
  border-top: 1px solid rgba(0, 0, 0, 0.7);
}
#unit #cdinfo .detail > dd .txt_wrap .detail_box > dt {
  margin-bottom: 10px;
  padding: 13px 10px 8px;
  font-weight: 600;
  line-height: 1.3;
  font-size: 110%;
  border-bottom: 1px solid rgba(0, 0, 0, 0.3);
}
#unit #cdinfo .detail > dd .txt_wrap .detail_box > dd {
  padding: 0 10px;
}
#unit #cdinfo .detail > dd .txt_wrap .detail_box > dd ul {
  line-height: 1.5;
}
#unit #cdinfo .detail > dd .txt_wrap .detail_box > dd ul li {
  padding-left: 0.5em;
  text-indent: -0.5em;
}
#unit #cdinfo .detail > dd .txt_wrap .detail_box > dd .pp_img_btn, #unit #cdinfo .detail > dd .txt_wrap .detail_box > dd .img_wrap {
  width: min(80%, 300px);
  margin: 15px 0 0;
}
#unit #cdinfo .detail > dd .cp {
  border: 1px solid rgba(0, 0, 0, 0.7);
  margin-top: 15px;
  padding: 10px 25px 25px;
  margin-top: 30px;
}
#unit #cdinfo .detail > dd .cp dt {
  text-align: center;
  border-bottom: 1px solid rgba(0, 0, 0, 0.7);
  font-weight: 600;
  padding: 0 25px 5px;
  font-size: 120%;
}
#unit #cdinfo .detail > dd .cp dd {
  padding: 20px 15px 0;
}
#unit #cdinfo .detail > dd .cp dd .pp_img_btn, #unit #cdinfo .detail > dd .cp dd .img_wrap {
  width: min(80%, 350px);
}
#unit #cdinfo .detail > dd .cp dd .txt {
  flex: 1;
}
#unit #cdinfo .detail > dd .cp dd .txt .attention_ul {
  margin-top: 15px;
}
@media (max-width: 800px) {
  #unit #cdinfo h3 {
    margin-bottom: 10px;
  }
  #unit #cdinfo h3 .stxt {
    font-size: 100%;
  }
  #unit #cdinfo h3 .ltxt {
    font-size: 200%;
    line-height: 1.2;
  }
  #unit #cdinfo .table_spec {
    font-size: 85%;
    line-height: 1.4;
  }
  #unit #cdinfo .table_spec .artist p:not(:nth-last-of-type(1)) {
    margin-bottom: 5px;
  }
  #unit #cdinfo .pp_img_btn {
    display: block;
  }
  #unit #cdinfo .detail {
    padding: 15px;
  }
  #unit #cdinfo .detail:nth-of-type(1) {
    margin-top: 20px;
    margin-bottom: 10px;
  }
  #unit #cdinfo .detail > dt {
    font-size: 110%;
  }
  #unit #cdinfo .detail > dd {
    padding: 10px 0 0;
  }
  #unit #cdinfo .detail > dd .flex_wrap {
    display: block;
  }
  #unit #cdinfo .detail > dd .jk_wrap {
    margin-bottom: 15px;
  }
  #unit #cdinfo .detail > dd .txt_wrap .detail_box {
    font-size: 90%;
  }
  #unit #cdinfo .detail > dd .txt_wrap .detail_box > dt {
    padding: 8px 0.3em 6px;
  }
  #unit #cdinfo .detail > dd .txt_wrap .detail_box > dd {
    padding: 0 0 0 0.3em;
  }
  #unit #cdinfo .detail > dd .txt_wrap .detail_box > dd .pp_img_btn, #unit #cdinfo .detail > dd .txt_wrap .detail_box > dd .img_wrap {
    width: min(80%, 300px);
    margin: 5px auto 0;
  }
  #unit #cdinfo .detail > dd .cp {
    margin-top: 20px;
    padding: 10px;
  }
  #unit #cdinfo .detail > dd .cp dt {
    padding-bottom: 2px;
  }
  #unit #cdinfo .detail > dd .cp dd {
    padding: 0px;
    margin-top: 15px;
    font-size: 90%;
  }
  #unit #cdinfo .detail > dd .cp dd .pp_img_btn, #unit #cdinfo .detail > dd .cp dd .img_wrap {
    margin: 0 auto 15px;
  }
}
#unit #tracklist .h01 {
  margin-bottom: 10px;
}
#unit #tracklist .h02 {
  margin-bottom: 20px;
}
#unit #tracklist .pg_content {
  padding: 80px 80px 90px;
}
#unit #tracklist .tracklist {
  border-top: 1px solid rgba(0, 0, 0, 0.7);
  text-align: left;
}
#unit #tracklist .tracklist li {
  border-bottom: 1px solid rgba(0, 0, 0, 0.7);
  min-height: 70px;
  display: flex;
  justify-content: center;
  gap: 20px;
  padding: 20px 10px 20px 15px;
}
#unit #tracklist .tracklist li .track {
  font-size: 100%;
  line-height: 34px;
  font-weight: 600;
  opacity: 0.5;
  text-align: center;
}
#unit #tracklist .tracklist li .txt {
  flex: 1;
}
#unit #tracklist .tracklist li .txt .ttl {
  font-size: 150%;
  line-height: 34px;
  letter-spacing: 3px;
  font-weight: 600;
}
#unit #tracklist .tracklist li .txt .ttl .offvocal {
  font-size: 60%;
  display: inline-block;
  margin-left: 10px;
  opacity: 0.8;
}
#unit #tracklist .tracklist li .txt .singer {
  font-size: 80%;
  line-height: 1.5;
  margin-top: 5px;
}
#unit #tracklist .tracklist li .txt .composer {
  font-size: 80%;
  line-height: 1.5;
}
#unit #tracklist .tracklist li .txt .composer p {
  position: relative;
  display: inline-block;
}
@media (min-width: 800px) {
  #unit #tracklist .tracklist li .txt .composer p:not(:nth-last-of-type(1)):after {
    content: "／";
  }
}
#unit #tracklist .tracklist li .player {
  width: 44px;
  opacity: 0.9;
  display: flex;
  justify-content: center;
  align-items: center;
}
#unit #tracklist .tracklist li .player > div {
  position: relative;
  width: 100%;
  aspect-ratio: 1/1;
  overflow: hidden;
  cursor: pointer;
}
#unit #tracklist .tracklist li .player > div:before {
  content: "";
  display: block;
  width: 100%;
  height: 100%;
  top: calc(50% - 22px);
  left: 0;
  z-index: 1;
  background: url(../img/btn_play.png) 0 50% no-repeat;
  background-size: auto 100%;
}
#unit #tracklist .tracklist li .player > div.on:before {
  background-position: 100% 50%;
}
@media (max-width: 800px) {
  #unit #tracklist .pg_content {
    padding: 30px 20px 30px;
  }
  #unit #tracklist .h02 {
    margin-bottom: 10px;
  }
  #unit #tracklist .tracklist li {
    padding: 15px 5px;
    gap: 5px;
    min-height: 0;
  }
  #unit #tracklist .tracklist li .track {
    line-height: 25px;
  }
  #unit #tracklist .tracklist li .txt .ttl {
    font-size: 140%;
    line-height: 25px;
    letter-spacing: 0;
  }
  #unit #tracklist .tracklist li .txt .ttl .offvocal {
    display: block;
    margin: 0;
    line-height: 1.3;
  }
  #unit #tracklist .tracklist li .txt .singer, #unit #tracklist .tracklist li .txt .composer {
    font-size: 70%;
  }
  #unit #tracklist .tracklist li .txt .composer {
    margin-top: 0.5lh;
  }
  #unit #tracklist .tracklist li .player {
    width: 25px;
    align-items: start;
    padding-top: 1px;
  }
}
#unit #movie .h01 {
  margin-bottom: 10px;
}
#unit #movie .movie_wrap {
  margin: 0 -30px;
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  gap: 30px;
}
#unit #movie .movie_wrap .pp_movie_btn, #unit #movie .movie_wrap .cmsn {
  margin: 0 auto;
  width: 100%;
  max-width: 1000px;
}
#unit #movie .movie_wrap .pp_movie_btn img, #unit #movie .movie_wrap .cmsn img {
  width: 100%;
}
@media (min-width: 800px) {
  #unit #movie .movie_wrap .pp_movie_btn:not(:only-child) {
    margin: 0;
    width: calc(50% - 15px);
  }
}
#unit #movie .pp_movie_btn {
  position: relative;
  aspect-ratio: 16/9;
  cursor: pointer;
  transition: opacity 0.5s ease-out;
}
#unit #movie .pp_movie_btn .thumb {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  box-shadow: 0 30px 50px -10px rgba(47, 45, 59, 0.5);
  border: 2px solid rgba(255, 255, 255, 0.3);
}
#unit #movie .pp_movie_btn .thumb img {
  width: 100%;
}
#unit #movie .pp_movie_btn .thumb:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  background: #000;
  opacity: 0.2;
  transition: all 0.2s ease-out;
}
#unit #movie .pp_movie_btn .thumb:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  background: url(../img/movie_playbtn.png) 50% 50% no-repeat rgba(0, 0, 0, 0.2);
  background-size: 120px auto;
  transition: all 0.2s ease-out;
}
#unit #movie .pp_movie_btn .thumb p {
  position: absolute;
  background: #020202;
  z-index: 3;
  text-align: right;
  bottom: 20px;
  right: 20px;
  padding: 4px 5px 3px;
  font-size: 80%;
  line-height: 1;
  color: #fff;
  font-weight: 600;
}
#unit #movie .pp_movie_btn.active {
  opacity: 1;
}
#unit #movie .pp_movie_btn:hover .thumb:before {
  opacity: 0;
}
#unit #movie .pp_movie_btn:hover .thumb:after {
  transform: scale(1.2);
}
@media (max-width: 800px) {
  #unit #movie .movie_wrap {
    padding: 0 30px;
    gap: 15px;
  }
  #unit #movie .pp_movie_btn .thumb:after {
    background-size: 70px auto;
  }
  #unit #movie .pp_movie_btn .thumb p {
    bottom: 10px;
    right: 10px;
    font-size: 10px;
  }
}
#unit #special {
  padding-bottom: 100px;
}
#unit #gfooter {
  padding-top: 100px;
}
#unit #gfooter:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: -1;
  background: #f4f4f4;
  opacity: 0.8;
  -webkit-mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000 200px);
          mask-image: linear-gradient(to bottom, rgba(0, 0, 0, 0), #000 200px);
}
#unit #gfooter .scroll_txt {
  opacity: 0.3;
}
@media (max-width: 800px) {
  #unit #gfooter {
    padding-top: 0px;
  }
}
#unit.music #gHeader, #unit.love #gHeader {
  color: #000;
}
#unit.music #gHeader .logo img, #unit.love #gHeader .logo img {
  filter: invert(1);
}
#unit.music #gHeader .unit li a img, #unit.love #gHeader .unit li a img {
  filter: invert(1);
}
#unit.music #gHeader .unit li a.on img, #unit.music #gHeader .unit li a:hover img, #unit.love #gHeader .unit li a.on img, #unit.love #gHeader .unit li a:hover img {
  filter: invert(0);
}
#unit.music #gHeader #menuIcon span, #unit.love #gHeader #menuIcon span {
  background: #000;
}
#unit.music #gHeader #menuIcon span:before, #unit.music #gHeader #menuIcon span:after, #unit.love #gHeader #menuIcon span:before, #unit.love #gHeader #menuIcon span:after {
  background: #000;
}
#unit.music #top h1 .series_logo, #unit.love #top h1 .series_logo {
  filter: invert(1) drop-shadow(0 0 2px #fff);
}
#unit.music #top h1 .ver, #unit.love #top h1 .ver {
  background: #000;
  color: #fff;
}
#unit.music #bg:before {
  background-image: url(../../unit/img/bg_music.webp);
}
#unit.music #bg:after {
  background-image: url(../../unit/img/bg_music_ch.webp);
}
#unit.music #bg .prrbg {
  background-image: url(../../unit/img/prrbg_music_1.webp), url(../../unit/img/prrbg_music_2.webp);
}
#unit.music .scroll_txt {
  background-image: url(../../unit/img/music_scroll_txt.png);
  animation: music_scrolltxt_anm 40s linear infinite;
  mix-blend-mode: overlay;
  opacity: 0.5;
}
@keyframes music_scrolltxt_anm {
  0% {
    background-position: 0 100%;
  }
  100% {
    background-position: -3793px 100%;
  }
}
@media (max-width: 800px) {
  #unit.music #bg:before {
    background-image: url(../../unit/img/bg_music_sp.webp);
  }
  #unit.music #bg:after {
    background-image: url(../../unit/img/bg_music_ch_sp.webp);
  }
  #unit.music #bg .prrbg {
    background-image: url(../../unit/img/prrbg_music_1_sp.webp), url(../../unit/img/prrbg_music_2_sp.webp);
  }
  @keyframes music_scrolltxt_anm {
    0% {
      background-position: 0 100%;
    }
    100% {
      background-position: -2246px 100%;
    }
  }
}
#unit.dream #gHeader:after {
  background: #000;
}
#unit.dream #bg:before {
  background-image: url(../../unit/img/bg_dream.webp);
}
#unit.dream #bg:after {
  background-image: url(../../unit/img/bg_dream_ch.webp);
}
#unit.dream #bg .prrbg {
  background-image: url(../../unit/img/prrbg_dream_1.webp), url(../../unit/img/prrbg_dream_2.webp);
}
#unit.dream .scroll_txt {
  background-image: url(../../unit/img/dream_scroll_txt.png);
  animation: dream_scrolltxt_anm 18s linear infinite;
  mix-blend-mode: overlay;
  opacity: 0.8;
}
@keyframes dream_scrolltxt_anm {
  0% {
    background-position: 0 100%;
  }
  100% {
    background-position: -1625px 100%;
  }
}
#unit.dream #gHeader .unit li a {
  border-color: #fff;
}
#unit.dream #gHeader .unit li a:after {
  background: #fff;
}
#unit.dream #gHeader .unit li a.on img, #unit.dream #gHeader .unit li a:hover img {
  filter: invert(1);
}
#unit.dream #fix_pagenav ul a {
  color: #fff;
  background: rgba(0, 0, 0, 0.5);
}
@media (min-width: 800px) {
  #unit.dream #fix_pagenav ul a:after {
    background: #fff;
  }
  #unit.dream #fix_pagenav ul a.on, #unit.dream #fix_pagenav ul a:hover {
    color: #000;
  }
}
@media (max-width: 800px) {
  #unit.dream #fix_pagenav ul a {
    background: none;
  }
  #unit.dream #fix_pagenav ul a:after {
    background: #fff;
  }
}
#unit.dream #bg .filter:before {
  background: #000;
}
#unit.dream #bg .filter:after {
  background-image: url(../img/filter_black.png);
}
#unit.dream section.pg:nth-of-type(odd) {
  background: rgba(0, 0, 0, 0.3);
  border: none;
}
#unit.dream .h01 {
  color: #fff;
}
#unit.dream .h01:after {
  border-color: #fff;
}
#unit.dream #top h1 {
  filter: drop-shadow(0 0 5px #000);
}
#unit.dream #concept .catch {
  color: #fff;
}
@media (min-width: 800px) {
  #unit.dream #concept .txt p {
    background: #fff;
    color: #000;
  }
}
@media (max-width: 800px) {
  #unit.dream #concept .txt span {
    background: #fff;
    color: #000;
  }
}
#unit.dream #movie .thumb {
  box-shadow: 0 30px 50px -10px rgba(0, 0, 0, 0.5);
}
#unit.dream #privilege .disc.prr, #unit.dream #privilege .attention_ul.prr, #unit.dream #privilege .table_spec.prr, #unit.dream #special .disc.prr, #unit.dream #special .attention_ul.prr, #unit.dream #special .table_spec.prr {
  color: #fff;
}
#unit.dream #privilege .table_spec.prr, #unit.dream #special .table_spec.prr {
  border-color: #fff;
}
#unit.dream #privilege .table_spec.prr tr, #unit.dream #special .table_spec.prr tr {
  border-color: #fff;
}
#unit.dream #privilege .table_spec.prr th:after, #unit.dream #special .table_spec.prr th:after {
  background: #fff;
}
#unit.dream .btn_wrap.prr2 {
  filter: invert(1);
}
#unit.dream #gfooter {
  color: #fff;
}
#unit.dream #gfooter:after {
  background: #111;
  opacity: 0.7;
}
#unit.dream #gfooter .btn_wrap .foot_btn {
  filter: invert(1);
}
#unit.dream #gfooter .copy_wrap .logo {
  filter: invert(1);
}
@media (max-width: 800px) {
  #unit.dream #bg:before {
    background-image: url(../../unit/img/bg_dream_sp.webp);
  }
  #unit.dream #bg:after {
    background-image: url(../../unit/img/bg_dream_ch_sp.webp);
  }
  #unit.dream #bg .prrbg {
    background-image: url(../../unit/img/prrbg_dream_1_sp.webp), url(../../unit/img/prrbg_dream_2_sp.webp);
  }
  @keyframes dream_scrolltxt_anm {
    0% {
      background-position: 0 100%;
    }
    100% {
      background-position: -962px 100%;
    }
  }
}
#unit.love #bg:before {
  background-image: url(../../unit/img/bg_love.webp);
}
#unit.love #bg:after {
  background-image: url(../../unit/img/bg_love_ch.webp);
}
#unit.love #bg .prrbg {
  background-image: url(../../unit/img/prrbg_love_1_sp.webp), url(../../unit/img/prrbg_love_2_sp.webp);
}
#unit.love .scroll_txt {
  background-image: url(../../unit/img/love_scroll_txt.png);
  animation: love_scrolltxt_anm 40s linear infinite;
  mix-blend-mode: overlay;
  opacity: 0.5;
}
@keyframes love_scrolltxt_anm {
  0% {
    background-position: 0 100%;
  }
  100% {
    background-position: -2965px 100%;
  }
}
@media (max-width: 800px) {
  #unit.love #bg:before {
    background-image: url(../../unit/img/bg_love_sp.webp);
  }
  #unit.love #bg:after {
    background-image: url(../../unit/img/bg_love_ch_sp.webp);
  }
  @keyframes love_scrolltxt_anm {
    0% {
      background-position: 0 100%;
    }
    100% {
      background-position: -1756px 100%;
    }
  }
}

/* ================================================================ *
* popup
* ================================================================ */
#popup, #popup_movie {
  position: fixed;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1010;
  pointer-events: none;
  -webkit-backdrop-filter: blur(8px);
          backdrop-filter: blur(8px);
  display: flex;
  justify-content: center;
  align-items: center;
  transform: translateY(-100%);
  opacity: 0;
  transition: all 0.2s ease-out;
}
#popup > .bg, #popup_movie > .bg {
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  z-index: 1;
  background: #020202;
  opacity: 0.8;
}
#popup .close, #popup_movie .close {
  position: absolute;
  right: 38px;
  top: 25px;
  z-index: 16;
  width: 80px;
  height: 80px;
  padding: 0;
  background: #020202;
  border-radius: 5px;
  display: flex;
  justify-content: center;
  align-items: center;
  cursor: pointer;
  transition: all 0.5s ease-out;
  opacity: 0;
}
#popup .close span, #popup_movie .close span {
  position: relative;
  z-index: 10;
  display: block;
  width: 95%;
  height: 3px;
  transition: all 0.15s ease-out;
}
#popup .close span:before, #popup .close span:after, #popup_movie .close span:before, #popup_movie .close span:after {
  content: "";
  display: block;
  position: absolute;
  width: 100%;
  height: 100%;
  top: 0;
  left: 0;
  background: #fff;
  transition: all 0.15s ease-out;
}
#popup .close span:before, #popup_movie .close span:before {
  transform: translateY(-7px);
  transform: rotate(45deg);
}
#popup .close span:after, #popup_movie .close span:after {
  transform: translateY(7px);
  transform: rotate(-45deg);
}
@media (min-width: 800px) {
  #popup .close:hover, #popup_movie .close:hover {
    background: #fff;
  }
  #popup .close:hover span:before, #popup .close:hover span:after, #popup_movie .close:hover span:before, #popup_movie .close:hover span:after {
    background: #000;
  }
}
#popup .close.on, #popup_movie .close.on {
  opacity: 1;
}
#popup .content, #popup_movie .content {
  position: relative;
  width: 100%;
  height: 100%;
  z-index: 2;
  overflow-y: auto;
  overflow-x: hidden;
  -webkit-overflow-scrolling: touch;
  transition: all 0.3s ease-out;
  opacity: 0;
  transform: scale(1.05);
  padding: 100px 50px;
}
#popup .content.on, #popup_movie .content.on {
  opacity: 1;
  transform: scale(1);
}
#popup .content .wrapper, #popup_movie .content .wrapper {
  position: relative;
  z-index: 10;
  width: min(100%, 1300px);
  margin: 0 auto;
  opacity: 0;
  transition: all 0.3s ease-out;
}
#popup .content .wrapper.on, #popup_movie .content .wrapper.on {
  opacity: 1;
}
#popup .content .loading, #popup_movie .content .loading {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-align: center;
  transition: all 0.3s ease-out;
  opacity: 1;
  letter-spacing: 2px;
  text-indent: 2px;
  font-size: 85%;
  color: rgba(255, 255, 255, 0.8);
}
#popup .content .loading.on, #popup_movie .content .loading.on {
  opacity: 0;
}
#popup.on, #popup_movie.on {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}
@media (max-width: 800px) {
  #popup .close, #popup_movie .close {
    width: 40px;
    height: 40px;
    right: 15px;
    top: 15px;
  }
  #popup .content, #popup_movie .content {
    padding: 50px 30px;
  }
  #popup .content .wrapper, #popup_movie .content .wrapper {
    padding: 0;
  }
}

#popup.img .content {
  padding: 60px;
  margin-bottom: 10px;
  height: auto;
  width: -moz-fit-content;
  width: fit-content;
}
#popup.img .content .wrapper {
  padding: 0;
}
@media (max-width: 800px) {
  #popup.img .content {
    padding: 40px 0px;
  }
}

#popup_movie {
  padding: 0;
}
#popup_movie .close {
  right: 15px;
  top: 15px;
}
#popup_movie #movie_wrap {
  position: relative;
  z-index: 2;
  width: 90%;
  max-width: 1200px;
  opacity: 0;
  transform: scale(1.05);
  transition: all 0.4s ease-out 0.5s;
}
#popup_movie #movie_wrap:before {
  content: "";
  display: block;
  padding-top: 56.25%;
}
#popup_movie #movie_wrap iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
}
#popup_movie #movie_wrap iframe.on {
  display: block;
}
@media (min-width: 800px) {
  #popup_movie #movie_wrap iframe {
    width: 100%;
    height: 100%;
  }
}
@media (max-width: 800px) {
  #popup_movie #movie_wrap {
    width: 100%;
    height: auto;
  }
}
#popup_movie.on {
  top: 0;
}
#popup_movie.on #movie_wrap {
  opacity: 1;
  transform: scale(1);
}

#popup.pp_news .h01 {
  color: #fff;
}
#popup.pp_news .h01:after {
  border-color: #fff;
}
#popup.pp_news .pg_content {
  margin-top: -50px;
}
#popup.pp_news .pg_content:before {
  background: #fff;
}
@media (max-width: 800px) {
  #popup.pp_news .h01 {
    padding-left: 10px;
  }
  #popup.pp_news .pg_content {
    margin-top: -10px;
  }
}

#popup.pp_member .content {
  padding: 0;
  text-align: center;
}
#popup.pp_member .wrapper {
  width: 100%;
}
#popup.pp_member .box {
  padding: 100px 80px;
}
@media (min-width: 800px) {
  #popup.pp_member .box {
    min-height: 100vh;
    display: grid;
    place-items: center;
  }
}
#popup.pp_member .box > * {
  position: relative;
  z-index: 2;
}
#popup.pp_member .box .frame {
  position: absolute;
  inset: 0;
  z-index: 3;
  min-height: 100vh;
  pointer-events: none;
  border: 10px solid #fff;
  -o-border-image: url(../img/frame.png) 20/20px/0 round;
     border-image: url(../img/frame.png) 20/20px/0 round;
}
@media (max-width: 800px) {
  #popup.pp_member .box .frame {
    border: 8px solid #fff;
    -o-border-image: url(../img/frame.png) 20/16px/0 round;
       border-image: url(../img/frame.png) 20/16px/0 round;
  }
}
#popup.pp_member .box .bg {
  position: absolute;
  inset: 0;
  z-index: 1;
  min-height: 100vh;
}
#popup.pp_member .box .bg:after {
  content: "";
  display: block;
  position: absolute;
  z-index: 2;
  inset: 550px 0 0 0;
}
#popup.pp_member .box .bg span {
  position: relative;
  display: block;
  position: absolute;
  z-index: 1;
  height: 600px;
  width: 100%;
  top: 0;
  left: 0;
  overflow: hidden;
}
#popup.pp_member .box .bg span:before {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 1;
  background-position: 50% 50%;
  background-repeat: no-repeat;
  background-size: cover;
  filter: blur(3px);
}
#popup.pp_member .box .bg span:after {
  content: "";
  display: block;
  position: absolute;
  inset: 0;
  z-index: 2;
  background: url(../img/filter_black.png) 50% 50% rgba(3, 5, 70, 0.3);
  background-size: 18px auto;
  mix-blend-mode: multiply;
  opacity: 0.15;
}
#popup.pp_member .box h2 {
  position: relative;
  z-index: 2;
  margin-bottom: 30px;
  margin-bottom: 20px;
  filter: drop-shadow(0 0 30px #707089);
}
#popup.pp_member .box h2 img {
  width: 450px;
}
#popup.pp_member .box h2:before {
  content: "";
  display: block;
  position: absolute;
  width: 180px;
  height: 1px;
  bottom: 55px;
  left: calc(50% - 90px);
  background: #fff;
}
#popup.pp_member .box h2:after {
  content: "うたの☆プリンスさまっ♪ 15th Anniversary CD";
  margin-top: 65px;
  display: block;
  white-space: pre;
  text-indent: 0.2em;
  color: #fff;
  font-family: "游ゴシック体", "Yu Gothic", YuGothic, "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic", "ヒラギノ角ゴ", "メイリオ", "Meiryo", "Lucida Grande", "Lucida Sans Unicode", Helvetica, Arial, Verdana, sans-serif;
  font-size: 13px;
  line-height: 1.7;
  letter-spacing: 2px;
}
#popup.pp_member .box .artist_wrap {
  position: relative;
  z-index: 2;
  margin-bottom: 80px;
  display: flex;
  justify-content: center;
  gap: 25px;
  padding-top: 30px;
}
#popup.pp_member .box .artist_wrap li {
  position: relative;
  border: 1px solid #fff;
  width: 180px;
  height: 470px;
  border-radius: 90px 90px 10px 10px;
  overflow: hidden;
  -webkit-backdrop-filter: blur(5px);
          backdrop-filter: blur(5px);
  box-shadow: 0 5px 40px -8px rgba(112, 112, 137, 0.3);
}
#popup.pp_member .box .artist_wrap li .img {
  position: absolute;
  inset: 0;
  background-size: auto 100%;
  background-position: 50% 50%;
  border-radius: 90px 90px 10px 10px;
}
#popup.pp_member .box .artist_wrap li .img:after {
  content: "";
  display: block;
  position: absolute;
  inset: 50% 0 0 0;
}
#popup.pp_member .box .artist_wrap li .txt {
  position: absolute;
  bottom: 0;
  left: 0;
  padding: 0 0 15px 10px;
  z-index: 3;
  color: #fff;
  text-align: left;
}
#popup.pp_member .box .artist_wrap li .txt .name {
  font-family: "cofo-raffine", "ヒラギノ明朝 Pro W3", "Hiragino Mincho Pro", "Hiragino Mincho ProN", "Hiragino Mincho", "Noto Serif JP", "游明朝", "游明朝体", "Yu Mincho", "HGS明朝E", "HG明朝E", "HG明朝", "リュウミン", sans-seri;
  font-size: 33px;
  line-height: 1;
  color: #fff;
  letter-spacing: 1px;
}
#popup.pp_member .box .artist_wrap li .txt .group {
  position: relative;
  white-space: nowrap;
  font-size: 13px;
  font-weight: 600;
  padding-left: 38px;
}
#popup.pp_member .box .artist_wrap li .txt .group:after {
  content: "";
  display: block;
  position: absolute;
  width: 35px;
  height: 100%;
  left: 0;
  top: 0;
  background: url(../img/member_from.png) 50% 50% no-repeat;
  background-size: contain;
}
#popup.pp_member .box .artist_wrap li.otoya {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(232, 56, 54, 0.9));
}
#popup.pp_member .box .artist_wrap li.otoya .img {
  background-image: url(../img/member_otoya.png);
}
#popup.pp_member .box .artist_wrap li.otoya .img:after {
  background: linear-gradient(to bottom, rgba(232, 56, 54, 0), rgb(199.1205357143, 37.7136336276, 35.8794642857));
}
#popup.pp_member .box .artist_wrap li.masato {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(47, 89, 163, 0.9));
}
#popup.pp_member .box .artist_wrap li.masato .img {
  background-image: url(../img/member_masato.png);
}
#popup.pp_member .box .artist_wrap li.masato .img:after {
  background: linear-gradient(to bottom, rgba(47, 89, 163, 0), rgb(43.5357142857, 69.578817734, 115.4642857143));
}
#popup.pp_member .box .artist_wrap li.natsuki {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(253, 208, 0, 0.9));
}
#popup.pp_member .box .artist_wrap li.natsuki .img {
  background-image: url(../img/member_natsuki.png);
}
#popup.pp_member .box .artist_wrap li.natsuki .img:after {
  background: linear-gradient(to bottom, rgba(253, 208, 0, 0), rgb(191.9, 159.5640316206, 10.1));
}
#popup.pp_member .box .artist_wrap li.tokiya {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(117, 39, 130, 0.9));
}
#popup.pp_member .box .artist_wrap li.tokiya .img {
  background-image: url(../img/member_tokiya.png);
}
#popup.pp_member .box .artist_wrap li.tokiya .img:after {
  background: linear-gradient(to bottom, rgba(117, 39, 130, 0), rgb(77.478021978, 33.1307692308, 84.8692307692));
}
#popup.pp_member .box .artist_wrap li.ren {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(237, 108, 0, 0.9));
}
#popup.pp_member .box .artist_wrap li.ren .img {
  background-image: url(../img/member_ren.png);
}
#popup.pp_member .box .artist_wrap li.ren .img:after {
  background: linear-gradient(to bottom, rgba(237, 108, 0, 0), rgb(176.7, 85.5835443038, 9.3));
}
#popup.pp_member .box .artist_wrap li.syo {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(228, 108, 160, 0.9));
}
#popup.pp_member .box .artist_wrap li.syo .img {
  background-image: url(../img/member_syo.png);
}
#popup.pp_member .box .artist_wrap li.syo .img:after {
  background: linear-gradient(to bottom, rgba(228, 108, 160, 0), rgb(208.8362068966, 76.1637931034, 133.6551724138));
}
#popup.pp_member .box .artist_wrap li.cecil {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(157, 201, 42, 0.9));
}
#popup.pp_member .box .artist_wrap li.cecil .img {
  background-image: url(../img/member_cecil.png);
}
#popup.pp_member .box .artist_wrap li.cecil .img:after {
  background: linear-gradient(to bottom, rgba(157, 201, 42, 0), rgb(119.7625902632, 149.2148148148, 42.7851851852));
}
#popup.pp_member .box .artist_wrap li.reiji {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(86, 184, 121, 0.9));
}
#popup.pp_member .box .artist_wrap li.reiji .img {
  background-image: url(../img/member_reiji.png);
}
#popup.pp_member .box .artist_wrap li.reiji .img:after {
  background: linear-gradient(to bottom, rgba(86, 184, 121, 0), rgb(75.7375, 143.2625, 99.8535714286));
}
#popup.pp_member .box .artist_wrap li.ranmaru {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(176, 55, 96, 0.9));
}
#popup.pp_member .box .artist_wrap li.ranmaru .img {
  background-image: url(../img/member_ranmaru.png);
}
#popup.pp_member .box .artist_wrap li.ranmaru .img:after {
  background: linear-gradient(to bottom, rgba(176, 55, 96, 0), rgb(128.1428571429, 51.8571428571, 77.7060212515));
}
#popup.pp_member .box .artist_wrap li.ai {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(187, 151, 197, 0.9));
}
#popup.pp_member .box .artist_wrap li.ai .img {
  background-image: url(../img/member_ai.png);
}
#popup.pp_member .box .artist_wrap li.ai .img:after {
  background: linear-gradient(to bottom, rgba(187, 151, 197, 0), rgb(159.5730273752, 128.9092592593, 168.0907407407));
}
#popup.pp_member .box .artist_wrap li.camus {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(144, 211, 237, 0.9));
}
#popup.pp_member .box .artist_wrap li.camus .img {
  background-image: url(../img/member_camus.png);
}
#popup.pp_member .box .artist_wrap li.camus .img:after {
  background: linear-gradient(to bottom, rgba(144, 211, 237, 0), rgb(109.1162790698, 189.6369092273, 220.8837209302));
}
#popup.pp_member .box .artist_wrap li.eiichi {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(232, 56, 54, 0.9));
}
#popup.pp_member .box .artist_wrap li.eiichi .img {
  background-image: url(../img/member_eiichi.png);
}
#popup.pp_member .box .artist_wrap li.eiichi .img:after {
  background: linear-gradient(to bottom, rgba(232, 56, 54, 0), rgb(199.1205357143, 37.7136336276, 35.8794642857));
}
#popup.pp_member .box .artist_wrap li.kira {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(47, 89, 163, 0.9));
}
#popup.pp_member .box .artist_wrap li.kira .img {
  background-image: url(../img/member_kira.png);
}
#popup.pp_member .box .artist_wrap li.kira .img:after {
  background: linear-gradient(to bottom, rgba(47, 89, 163, 0), rgb(43.5357142857, 69.578817734, 115.4642857143));
}
#popup.pp_member .box .artist_wrap li.nagi {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(253, 208, 0, 0.9));
}
#popup.pp_member .box .artist_wrap li.nagi .img {
  background-image: url(../img/member_nagi.png);
}
#popup.pp_member .box .artist_wrap li.nagi .img:after {
  background: linear-gradient(to bottom, rgba(253, 208, 0, 0), rgb(191.9, 159.5640316206, 10.1));
}
#popup.pp_member .box .artist_wrap li.eiji {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(117, 39, 130, 0.9));
}
#popup.pp_member .box .artist_wrap li.eiji .img {
  background-image: url(../img/member_eiji.png);
}
#popup.pp_member .box .artist_wrap li.eiji .img:after {
  background: linear-gradient(to bottom, rgba(117, 39, 130, 0), rgb(77.478021978, 33.1307692308, 84.8692307692));
}
#popup.pp_member .box .artist_wrap li.van {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(237, 108, 0, 0.9));
}
#popup.pp_member .box .artist_wrap li.van .img {
  background-image: url(../img/member_van.png);
}
#popup.pp_member .box .artist_wrap li.van .img:after {
  background: linear-gradient(to bottom, rgba(237, 108, 0, 0), rgb(176.7, 85.5835443038, 9.3));
}
#popup.pp_member .box .artist_wrap li.yamato {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(228, 108, 160, 0.9));
}
#popup.pp_member .box .artist_wrap li.yamato .img {
  background-image: url(../img/member_yamato.png);
}
#popup.pp_member .box .artist_wrap li.yamato .img:after {
  background: linear-gradient(to bottom, rgba(228, 108, 160, 0), rgb(208.8362068966, 76.1637931034, 133.6551724138));
}
#popup.pp_member .box .artist_wrap li.shion {
  background: linear-gradient(to bottom, rgba(255, 255, 255, 0.8), rgba(157, 201, 42, 0.9));
}
#popup.pp_member .box .artist_wrap li.shion .img {
  background-image: url(../img/member_shion.png);
}
#popup.pp_member .box .artist_wrap li.shion .img:after {
  background: linear-gradient(to bottom, rgba(157, 201, 42, 0), rgb(119.7625902632, 149.2148148148, 42.7851851852));
}
#popup.pp_member .box .artist_wrap li.ren .img {
  clip-path: polygon(0 100px, 50px 0, 100% 0, 100% 100%, 0 100%);
}
#popup.pp_member .box .artist_wrap li.masato .img:after, #popup.pp_member .box .artist_wrap li.kira .img:after {
  background: linear-gradient(to bottom, rgba(47, 89, 163, 0), rgb(46.8830714286, 87.1211921182, 158.0169285714));
}
#popup.pp_member .box .btn {
  margin: 0 auto;
}
#popup.pp_member .box .btn a {
  font-size: 250%;
  padding: 15px 30px 7px;
}
#popup.pp_member .box.music .bg span:before {
  background-image: url(../img/index_bg_music.webp);
}
#popup.pp_member .box.music .bg:after {
  background-color: #eaf5f4;
}
#popup.pp_member .box.dream .bg span:before {
  background-image: url(../img/index_bg_dream.webp);
}
#popup.pp_member .box.dream .bg:after {
  background-color: #d3dbe6;
}
#popup.pp_member .box.love .bg span:before {
  background-image: url(../img/index_bg_love.webp);
}
#popup.pp_member .box.love .bg:after {
  background-color: #e8dddd;
}
@media (max-width: 800px) {
  #popup.pp_member .box {
    padding: 60px 20px;
  }
  #popup.pp_member .box .bg:after {
    inset: 350px 0 0 0;
  }
  #popup.pp_member .box .bg span {
    height: 380px;
  }
  #popup.pp_member .box .bg span:after {
    background-size: 14px auto;
  }
  #popup.pp_member .box h2 {
    margin-bottom: 0px;
  }
  #popup.pp_member .box h2 img {
    width: 230px;
  }
  #popup.pp_member .box h2:before {
    width: 100px;
    bottom: 30px;
    left: calc(50% - 50px);
  }
  #popup.pp_member .box h2:after {
    font-size: 8px;
    margin-top: 40px;
    letter-spacing: 1px;
  }
  #popup.pp_member .box .artist_wrap {
    width: 100%;
    flex-wrap: wrap;
    gap: 15px 1.95%;
    margin-bottom: 40px;
  }
  #popup.pp_member .box .artist_wrap li {
    width: 32%;
    height: 260px;
  }
  #popup.pp_member .box .artist_wrap li .txt {
    padding: 12px 0 12px 7px;
  }
  #popup.pp_member .box .artist_wrap li .txt .name {
    font-size: 22px;
    margin-bottom: 2px;
  }
  #popup.pp_member .box .artist_wrap li .txt .group {
    font-size: 9.2px;
    white-space: wrap;
    line-height: 1.3;
    padding-left: 27px;
  }
  #popup.pp_member .box .artist_wrap li .txt .group:after {
    width: 25px;
    background-position: 0 0;
  }
  #popup.pp_member .box .artist_wrap li.ren .img {
    clip-path: polygon(0 50px, 50px 0, 100% 0, 100% 100%, 0 100%);
  }
  #popup.pp_member .box .btn {
    width: 80%;
  }
  #popup.pp_member .box .btn a {
    font-size: 200%;
    padding: 12px 20px 5px;
  }
}/*# sourceMappingURL=style.css.map */