@charset "UTF-8";
.disco__anchors {
  display: flex;
  flex-wrap: wrap;
}

.disco__anchor {
  font-size: min(3.33vw, 17px);
  font-weight: 600;
  position: relative;
  width: 33.3333333333%;
  height: min(11.53vw, 58px);
  border-right: 1px solid #000;
  border-bottom: 1px solid #000;
}
.disco__anchor:nth-child(3n) {
  border-right: none;
}
.disco__anchor a {
  display: flex;
  justify-content: center;
  width: 100%;
  padding-top: min(2.56vw, 13px);
  height: 100%;
}
.disco__anchor:before {
  position: absolute;
  top: unset;
  left: 50%;
  bottom: 0;
  aspect-ratio: 1;
  border-right: min(0.51vw, 3px) solid #e60046;
  border-top: min(0.51vw, 3px) solid #e60046;
  content: "";
  rotate: 135deg;
  transform-origin: top left;
  transform: translateX(-50%);
  width: min(2.05vw, 10px);
}

.disco__article .c-btn.-mov button {
  padding: min(5.12vw, 26px);
}

.disco__article__bt {
  border-top: 1px solid #000;
}

.disco__artist {
  border-bottom: 1px solid #000;
  padding: min(5.12vw, 26px);
}
.disco__artist.-track {
  border-bottom: unset;
  padding: min(6.79vw, 34px) 0 min(5.12vw, 26px);
}

.disco__artist__name {
  font-size: min(4.61vw, 23px);
  margin-block: -0.25em;
}
.disco__artist__name button {
  background: url(/kessokuband/assets/img/page/disco/ico_cmt.svg) no-repeat right center/min(5.89vw, 29px);
  padding-right: calc(0.4em + min(5.89vw, 29px));
  text-align: left;
}
.disco__artist__name span {
  font-size: min(3.84vw, 19px);
  font-weight: 500;
  margin-right: 0.4em;
}
.-track .disco__artist__name span {
  margin-right: 0;
}
.disco__artist__name .disco__artist__alt__name {
  font-size: min(3.33vw, 17px);
  font-weight: 500;
}
.disco__artist__name .disco__artist__alt__name.-block {
  display: block;
}

.disco__artist__ph {
  margin: min(5.12vw, 26px) auto 0;
}
.disco__artist__ph.-portrait {
  max-width: min(64.87vw, 324px);
}
.-akg .disco__artist__ph {
  max-width: min(89.74vw, 449px);
}

.disco__artist__em {
  color: #919191;
  font-size: min(3.58vw, 18px);
  font-weight: 600;
  line-height: 1;
  margin-top: min(3.84vw, 19px);
}

.disco__artist__profile {
  font-size: min(3.33vw, 17px);
  font-weight: 500;
  line-height: 1.8;
  margin: calc(min(3.84vw, 19px) - 0.4em) 0 -0.4em;
}
.-track .disco__artist__profile {
  margin: calc(min(3.07vw, 15px) - 0.4em) 0 -0.4em;
}
.disco__artist__profile span {
  color: #919191;
  font-weight: 700;
}
.disco__artist__profile a {
  text-decoration: underline;
}

.disco__category {
  margin-top: min(5.12vw, 26px);
}
.disco__category .c-ttl.-hasArrow {
  border-top: none;
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(5.12vw, 26px);
}

.disco__detail {
  border-bottom: 1px solid #000;
  font-size: min(3.84vw, 19px);
  font-weight: 500;
  padding: min(5.12vw, 26px);
}
.disco__detail strong {
  font-weight: 800;
}
:has(.disco__tokuten) .disco__detail {
  border-bottom: none;
}

.disco__detail__list__wrap:not(:first-child) {
  margin-top: min(3.58vw, 18px);
}

.disco__detail__list__head {
  font-weight: 800;
  margin-bottom: min(0.76vw, 4px);
}

.disco__detail__list {
  -moz-column-gap: 1em;
       column-gap: 1em;
  display: grid;
  grid-template-columns: auto 1fr;
  margin-block: -0.25em;
}

.disco__detail__list__ttl {
  color: #969696;
}

.disco__detail__txt {
  font-size: min(3.84vw, 19px);
  margin: min(3.58vw, 18px) 0 -0.25em;
}
.disco__detail__txt strong:before {
  color: #e60046;
  content: "●";
}
.disco__detail__txt > span {
  color: #969696;
}
.disco__detail__txt .disco__detail__list {
  color: #000;
  -moz-column-gap: 0;
       column-gap: 0;
  margin-block: 0;
}
#special .disco__detail__txt .disco__detail__list {
  display: inline-block;
  line-height: 1.2666666667;
}
.disco__detail__txt .disco__detail__list__note {
  color: #000;
  display: inline-block;
  font-size: min(3.07vw, 15px);
  font-weight: 400;
  line-height: 1.3333333333;
}
.disco__detail__txt .disco__detail__list__note.-kome {
  color: #4d4d4d;
}
.disco__detail__txt a {
  text-decoration: underline;
}

.disco__detail__acc {
  margin-top: min(3.84vw, 19px);
}

.disco__detail__acc__item {
  border-top: 1px solid #000;
}
.disco__detail__acc__item:last-child {
  border-bottom: 1px solid #000;
}

.disco__detail__acc__ttl {
  background-color: #ffffeb;
  display: flex;
  flex-direction: column;
  font-size: min(3.84vw, 19px);
  font-weight: 700;
  justify-content: center;
  line-height: 1.2666666667;
  min-height: min(14.1vw, 71px);
  padding: 0 min(2.56vw, 13px);
}
.disco__detail__acc__ttl.-btn {
  text-align: left;
  width: 100%;
}
.disco__detail__acc__ttl.c-ico.-arrow::before {
  border-right-width: min(0.64vw, 3px);
  border-top-width: min(0.64vw, 3px);
  width: min(2.56vw, 13px);
  position: absolute;
  top: 44%;
  right: min(3.84vw, 19px);
}
.disco__detail__acc__ttl[aria-expanded=true].c-ico.-down::before {
  rotate: 315deg;
}

.disco__detail__acc__container {
  height: 0;
  overflow: hidden;
  transition: height 0.4s ease-out;
}

.disco__detail__acc__col {
  display: flex;
  gap: min(0.51vw, 3px);
}

.disco__detail__acc__sub {
  font-size: min(3.33vw, 17px);
  font-weight: 500;
  line-height: 1.4615384615;
}
.disco__detail__acc__sub span {
  font-weight: 600;
}

.disco__detail__track {
  font-weight: bold;
  margin: calc(min(5.12vw, 26px) - 0.25em) 0 -0.25em 1.5em;
  text-indent: -1.5em;
}

.disco__detail__track__head {
  margin-top: min(2.05vw, 10px);
}

.disco__detail__track__item {
  counter-increment: track-num;
}
.disco__detail__track__item:before {
  content: counter(track-num, decimal-leading-zero) ".";
}
.disco__detail__track__item .small {
  font-size: min(3.33vw, 17px);
  font-weight: 600;
}
.disco__detail__track__item .fw-base {
  font-weight: 500;
}

.disco__detail__brackets {
  margin-top: min(5.12vw, 26px);
  padding: calc(min(2.56vw, 13px) - 0.25em) 1em;
  position: relative;
  text-align: center;
}
.disco__detail__brackets span {
  color: #969696;
  display: inline-block;
}
.disco__detail__brackets span:not(:first-child) {
  margin-top: min(1.53vw, 8px);
}
.disco__detail__brackets:before, .disco__detail__brackets:after {
  position: absolute;
  inset: 0;
  border: min(0.51vw, 3px) solid rgba(0, 0, 0, 0.2);
  border-right: none;
  content: "";
  width: min(2.56vw, 13px);
}
.disco__detail__brackets:after {
  left: auto;
  scale: -1;
}

.disco__detail__tokuten {
  margin: min(5.12vw, 26px) auto 0;
  padding: 0 min(5.12vw, 26px);
}
.disco__detail__tokuten figure {
  margin: 0 auto;
}
.disco__detail__tokuten figure .-kessoku, .-hikari .disco__detail__tokuten figure {
  width: 68%;
}

.disco__detail__tokuten__stores {
  font-size: min(3.07vw, 15px);
  font-weight: 500;
  margin: calc(min(3.84vw, 19px) - 0.25em) 0 -0.25em;
}
.disco__detail__tokuten__stores strong {
  color: #919191;
  display: block;
  font-size: min(3.58vw, 18px);
  padding-bottom: 0.4em;
}
.disco__detail__tokuten__stores a {
  text-decoration: underline;
}

.disco__detail__caption {
  font-size: min(3.07vw, 15px);
  margin-top: min(1.53vw, 8px);
  text-align: center;
}

.disco__detail__note {
  font-size: min(3.07vw, 15px);
  margin: calc(min(5.12vw, 26px) - 0.25em) 0 -0.25em 1em;
  text-indent: -1em;
}
.-kirara .disco__detail__note {
  padding: 0 min(5.12vw, 26px);
}

.disco__detail__note__item:before {
  content: "※";
}

.disco__list {
  display: flex;
  flex-wrap: wrap;
}

.disco__list__item {
  border-bottom: 1px solid #000;
  position: relative;
  width: 50%;
}
.disco__list__item a {
  display: block;
  height: 100%;
  padding: min(3.84vw, 19px) min(5.12vw, 26px);
}
.disco__list__item:nth-child(2n) {
  border-left: 1px solid #000;
}
.disco__media:last-child .disco__list__item:nth-last-child(-n+2) {
  border-bottom: none;
}

.disco__list__label {
  align-items: center;
  background-color: #000;
  color: #fff;
  display: flex;
  font-family: "futura-pt", sans-serif;
  font-size: min(5.12vw, 26px);
  font-weight: 600;
  height: min(5.89vw, 29px);
  justify-content: center;
  left: 0;
  min-width: min(8.2vw, 41px);
  padding: 0 min(1.02vw, 5px);
  position: absolute;
  top: 0;
  z-index: 5;
}

.disco__list__thumb {
  border: 1px solid #c8c8c8;
}
.disco__list__thumb:has([src$="ph_kessoku_live_kousei_bluray.jpg"]), [href*=cassette_kessoku] .disco__list__thumb {
  border: unset;
}
.disco__list__thumb:has([src$="ph_kessoku_live_kousei_bluray.jpg"]) img, [href*=cassette_kessoku] .disco__list__thumb img {
  border: 1px solid #c8c8c8;
  margin: 0 auto;
  width: min(27.43vw, 137px);
}

.disco__list__ttl {
  font-family: "futura-pt", "YakuHanJP_Noto", "Noto Sans JP", "Hiragino Kaku Gothic Pro W3", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-size: min(3.33vw, 17px);
  font-weight: bold;
  line-height: 1.2;
  margin: calc(min(2.56vw, 13px) - 0.1em) 0 -0.1em;
  text-align: center;
}
.disco__list__ttl img[src$="ico_blank_bk.svg"] {
  display: inline-block;
  margin-left: 0.2em;
  vertical-align: baseline;
  width: min(2.3vw, 12px);
}

.disco__list__tag {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.28vw, 6px);
  justify-content: center;
  margin-top: min(1.28vw, 6px);
}
.disco__list__tag .c-tag {
  color: #fff;
  font-size: min(3.33vw, 17px);
  line-height: min(3.84vw, 19px);
}
.disco__list__tag .c-tag.-ja {
  font-size: min(2.82vw, 14px);
}

.disco__header {
  align-items: flex-start;
  background-color: #000;
  -moz-column-gap: min(3.84vw, 19px);
       column-gap: min(3.84vw, 19px);
  display: flex;
  padding: min(5.12vw, 26px);
}

.disco__header__thumb {
  flex-shrink: 0;
  width: min(41.02vw, 205px);
}
.disco__header__thumb.swiper {
  z-index: 0;
}
.disco__header__thumb:has([src$="bluray.jpg"]) {
  aspect-ratio: 1;
}
.disco__header__thumb:has([src$="bluray.jpg"]) img {
  height: 100%;
  -o-object-fit: contain;
     object-fit: contain;
  width: 100%;
}

.disco__header__cont {
  flex-grow: 1;
}
.disco__header__cont .c-btn.-link {
  margin-top: min(2.56vw, 13px);
}
.disco__header__cont .c-btn.-link a {
  border-color: #fff;
  color: #fff;
}
.disco__header__cont .c-btn.-link a[target=_blank]:after {
  content: url(/kessokuband/assets/img/common/ico/ico_blank_wh.svg);
  margin-left: 0.4em;
}
.disco__header__cont .c-btn.-link .c-ico.-arrow:before {
  border-color: #e60046;
}

.disco__header__ttl span {
  color: #fff;
  display: block;
  font-size: min(3.84vw, 19px);
  line-height: 1.4;
  margin: calc(min(2.56vw, 13px) - 0.2em) 0 -0.2em;
}
.disco__header__ttl span.txt {
  font-size: min(3.33vw, 17px);
  font-weight: 500;
}
.disco__header__ttl span:first-child {
  margin-top: -0.2em;
}

.disco__header__tag {
  display: flex;
  flex-wrap: wrap;
  gap: min(1.28vw, 6px);
  margin-top: min(2.56vw, 13px);
}
.disco__header__tag .c-tag {
  color: #fff;
  font-size: min(3.07vw, 15px);
  line-height: min(3.84vw, 19px);
}
.disco__header__tag .c-tag.-ja {
  font-size: min(2.56vw, 13px);
}

.disco__slider {
  align-items: center;
  z-index: 0;
}

.disco__slider__pagenation {
  display: flex;
  gap: 0 min(3.07vw, 15px);
  justify-content: center;
  margin-top: min(2.56vw, 13px);
}
.disco__slider__pagenation.-black span {
  background-color: rgba(0, 0, 0, 0.2);
}
.disco__slider__pagenation span {
  background-color: rgba(255, 255, 255, 0.8);
  border-radius: 50%;
  display: block;
  height: min(2.05vw, 10px);
  margin: unset !important;
  opacity: 1;
  width: min(2.05vw, 10px);
}
.disco__slider__pagenation span.swiper-pagination-bullet-active {
  background-color: #fabe03;
}

.disco__tokuten {
  font-size: min(3.07vw, 15px);
  font-weight: 500;
  padding: 0 min(10.25vw, 51px) min(7.69vw, 38px);
}
.disco__tokuten .c-ttl.-main {
  font-size: min(4.61vw, 23px);
  font-weight: 900;
  margin-inline: max(-10.26vw, -51px);
}
.-anchors .disco__tokuten {
  padding-top: min(21.79vw, 109px);
  margin-top: max(-21.8vw, -109px);
}
.disco__tokuten:last-of-type {
  border-bottom: 1px solid #000;
}
.disco__tokuten#special .c-btn.-link {
  max-width: 100%;
}
.disco__tokuten#special .c-btn.-link .c-ico.-arrow {
  padding-inline: min(3.84vw, 19px);
  text-align: left;
}
.disco__tokuten#special .c-btn.-link .c-ico.-arrow:before {
  border-color: #e60046;
}
.disco__tokuten#special .c-btn.-link.-close .c-ico.-arrow {
  background-color: #dcdcdc;
  border: none;
  color: #fff;
  pointer-events: none;
}
.disco__tokuten#special .c-btn.-link.-close .c-ico.-arrow:before {
  border-color: #fff;
}
.disco__tokuten#special .c-btn.-link.-close .c-ico.-arrow[target=_blank]:after {
  content: url(/kessokuband/assets/img/common/ico/ico_blank_wh.svg);
}

.disco__tokuten__subttl {
  font-size: min(3.84vw, 19px);
  font-weight: 600;
  margin-top: min(5.12vw, 26px);
}

.disco__tokuten__list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: min(7.69vw, 38px);
  row-gap: min(5.12vw, 26px);
}
.disco__tokuten__list + .disco__tokuten__note {
  margin-top: calc(min(7.69vw, 38px) - 0.25em);
}

.disco__tokuten__list__item {
  width: calc(50% - min(1.92vw, 10px));
}
.disco__tokuten__list__item .disco__tokuten__box {
  margin-top: 0;
}
.disco__tokuten__list__item .disco__tokuten__box__ttl {
  display: block;
  height: min(16.66vw, 83px);
}
.disco__tokuten__list__item .disco__tokuten__box__btn {
  height: min(37.82vw, 189px);
}
.disco__tokuten__list__item .disco__tokuten__box__btn img {
  aspect-ratio: 1;
  -o-object-fit: contain;
     object-fit: contain;
  width: min(33.97vw, 170px);
}
.disco__tokuten__list__item .disco__tokuten__txt {
  font-size: min(3.33vw, 17px);
  line-height: 1.2;
  margin: calc(min(2.56vw, 13px) - 0.1em) 0 -0.1em;
}

.disco__tokuten__box {
  border: 1px solid #000;
  margin-top: min(7.69vw, 38px);
}
.disco__tokuten__subttl + .disco__tokuten__box {
  margin-top: min(3.84vw, 19px);
}

.disco__tokuten__box__ttl {
  background-color: #fbd9e3;
  border-bottom: 1px solid #000;
  display: grid;
  font-size: min(4.1vw, 21px);
  font-weight: bold;
  height: min(20.51vw, 103px);
  line-height: 1.2;
  place-content: center;
  text-align: center;
}
.disco__tokuten__box__ttl a {
  display: grid;
  height: 100%;
  padding-bottom: 0.2em;
  place-content: center;
  text-decoration: underline;
}
.disco__tokuten__box__ttl a[href="#"] {
  pointer-events: none;
  text-decoration: none;
}
.disco__tokuten__box__ttl span {
  font-size: min(3.58vw, 18px);
}
.disco__tokuten__box__ttl small {
  font-size: min(3.33vw, 17px);
}

.swiper.disco__tokuten__slider {
  padding: min(2.56vw, 13px);
  z-index: 0;
}

.disco__tokuten__box__btn {
  padding: min(2.56vw, 13px);
  position: relative;
  width: 100%;
}
.disco__tokuten__box__btn.-slide {
  padding: unset;
}
.disco__tokuten__box__btn.-deactive {
  padding: 0;
}
.disco__tokuten__box__btn img {
  margin-inline: auto;
}
.disco__tokuten__box__btn:has([src*=ph_now]) {
  padding: 0;
  pointer-events: none;
}
.disco__tokuten__box__btn:has([src*=ph_now]) img {
  width: 100%;
}
.disco__tokuten__box__btn:has([src*=ph_now]):before, .disco__tokuten__box__btn:has([src*=ph_now]):after {
  display: none;
}

.disco__tokuten__txt {
  margin: calc(min(3.84vw, 19px) - 0.25em) 0 -0.25em;
}
.disco__tokuten__txt strong {
  color: #919191;
  display: block;
  font-size: min(3.58vw, 18px);
  padding-bottom: 0.4em;
}
.disco__tokuten__txt a {
  text-decoration: underline;
}

.disco__tokuten__note {
  font-size: min(3.07vw, 15px);
  color: #4d4d4d;
  font-weight: 400;
  margin-top: calc(min(3.84vw, 19px) - 0.25em);
  padding-left: 1em;
  text-indent: -1em;
}

.disco__tokuten__note__item:before {
  content: "※";
}