/*=============================================================
 tools
=============================================================*/
#music .ttl-box h1 {
  width: 384px;
}
@media only screen and (max-width: 1400px) {
  #music .ttl-box h1 {
    width: 27.4285714286vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .ttl-box h1 {
    width: 52.1875vw;
  }
}
#music .music__block {
  position: relative;
  display: grid;
  grid-template-columns: 550px 1fr;
  gap: 0 96px;
  margin-bottom: 60px;
}
@media only screen and (max-width: 1400px) {
  #music .music__block {
    grid-template-columns: 39.2857142857vw 1fr;
    gap: 0 6.8571428571vw;
    margin-bottom: 4.2857142857vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block {
    display: block;
    width: 87.5vw;
    margin: 0 auto 13.75vw;
  }
}
#music .music__block .cover {
  position: relative;
  height: 550px;
  border: 5px solid #DBC199;
  box-sizing: border-box;
  background-color: #fff;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .cover {
    height: 39.2857142857vw;
    border-width: 0.3571428571vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .cover {
    height: 87.5vw;
    border-width: 0.78125vw;
    margin-bottom: 6.25vw;
  }
}
#music .music__block .cover::after {
  content: "";
  position: absolute;
  top: -27px;
  left: 50%;
  transform: translateX(-50%);
  display: block;
  width: 168px;
  height: 596px;
  background: url("../img/music/cover_deco.png") no-repeat top center;
  background-size: contain;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .cover::after {
    top: -1.9285714286vw;
    width: 12vw;
    height: 42.5714285714vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .cover::after {
    top: -4.0625vw;
    width: 28.125vw;
    height: 93.90625vw;
  }
}
#music .music__block .thumb {
  position: absolute;
  top: 594px;
  left: 0;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .thumb {
    top: 42.4285714286vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .thumb {
    position: static;
    top: 0;
    margin-bottom: 7.03125vw;
  }
}
#music .music__block .thumb ul {
  display: flex;
  gap: 0 16px;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .thumb ul {
    gap: 0 1.1428571429vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .thumb ul {
    gap: 0 2.5vw;
  }
}
#music .music__block .thumb ul li {
  width: 108px;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .thumb ul li {
    width: 7.7142857143vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .thumb ul li {
    width: 16.875vw;
  }
}
#music .music__block .thumb ul li img {
  border: 4px solid transparent;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .thumb ul li img {
    border-width: 0.2857142857vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .thumb ul li img {
    border-width: 0.625vw;
  }
}
#music .music__block .thumb ul li.active {
  pointer-events: none;
}
#music .music__block .thumb ul li.active img {
  border-color: #DBC199;
}
#music .music__block .name {
  font-size: 18px;
  margin-bottom: 18px;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .name {
    font-size: 1.2857142857vw;
    margin-bottom: 1.2857142857vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .name {
    font-size: 2.8125vw;
    line-height: 1.5;
    margin-bottom: 2.1875vw;
    padding-left: 0vw;
  }
}
#music .music__block .type {
  font-size: 32px;
  font-weight: bold;
  padding-bottom: 10px;
  margin-bottom: 10px;
  border-bottom: 2px solid #DBC199;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .type {
    font-size: 2.2857142857vw;
    padding-bottom: 0.7142857143vw;
    margin-bottom: 0.7142857143vw;
    border-bottom: 0.1428571429vw solid #DBC199;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .type {
    font-size: 5.625vw;
    padding-bottom: 4.6875vw;
    margin-bottom: 4.6875vw;
    border-width: 0.3125vw;
  }
}
#music .music__block .info {
  margin-bottom: 40px;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .info {
    margin-bottom: 2.8571428571vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .info {
    margin-bottom: 6.25vw;
  }
}
#music .music__block .info p {
  padding: 10px 0;
  font-size: 16px;
  border-bottom: 1px solid #DBC199;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .info p {
    padding: 0.7142857143vw 0;
    font-size: 1.1428571429vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .info p {
    font-size: 3.125vw;
    padding: 1.5625vw 0;
  }
}
#music .music__block .other {
  margin-top: -25px;
  margin-bottom: 40px;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .other {
    margin-top: -1.7857142857vw;
    margin-bottom: 2.8571428571vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .other {
    margin-top: -3.90625vw;
    margin-bottom: 6.25vw;
  }
}
#music .music__block .other p {
  font-size: 16px;
  word-break: break-all;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .other p {
    font-size: 1.1428571429vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .other p {
    font-size: 2.8125vw;
  }
}
#music .music__block .other p:last-child {
  padding-bottom: 25px;
  border-bottom: 1px solid #DBC199;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .other p:last-child {
    padding-bottom: 3.90625vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .other p:last-child {
    padding-bottom: 3.90625vw;
  }
}
#music .music__block .other p a {
  color: #F22C8A;
}
#music .music__block .btn {
  width: 554px;
  margin: 0 auto;
}
@media only screen and (max-width: 1400px) {
  #music .music__block .btn {
    width: 39.5714285714vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .music__block .btn {
    width: 100%;
  }
}
#music .benefits {
  border: 3px solid #DBC199;
  margin-bottom: 55px;
}
@media only screen and (max-width: 1400px) {
  #music .benefits {
    border-width: 0.2142857143vw;
    margin-bottom: 3.9285714286vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .benefits {
    width: 87.5vw;
    margin: 0 auto 8.59375vw;
  }
}
#music .songs-list {
  margin-bottom: 92px;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list {
    margin-bottom: 6.5714285714vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list {
    width: 87.5vw;
    margin: 0 auto 7.03125vw;
  }
}
#music .songs-list .ttl {
  display: flex;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  align-items: center;
  font-size: 18px;
  color: #fff;
  line-height: 1.2;
  padding: 0.4em 0.5em;
  gap: 0 0.2em;
  background-color: #DBC199;
}
@media only screen and (max-width: 768px) {
  #music .songs-list .ttl {
    font-size: 3.125vw;
    border-width: 0.3125vw;
    padding: 0.4em;
  }
}
#music .songs-list .ttl::before, #music .songs-list .ttl::after {
  content: "";
  width: 12px;
  height: 12px;
  background: url("../img/parts/kira_wh.svg") no-repeat top center;
  background-size: contain;
  flex-shrink: 0;
}
@media only screen and (max-width: 768px) {
  #music .songs-list .ttl::before, #music .songs-list .ttl::after {
    width: 1.875vw;
    height: 1.875vw;
  }
}
#music .songs-list ul {
  border-top: 2px solid #DBC199;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul {
    border-top: 0.1428571429vw solid #DBC199;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul {
    border-top-width: 0.3125vw;
  }
}
#music .songs-list ul:not(:last-of-type) {
  margin-bottom: 35px;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul:not(:last-of-type) {
    margin-bottom: 2.5vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul:not(:last-of-type) {
    margin-bottom: 4.375vw;
  }
}
#music .songs-list ul li {
  position: relative;
  display: grid;
  align-items: center;
  grid-template-columns: 58px 1fr auto;
  gap: 0 25px;
  padding: 36px 0;
  border-bottom: 1px solid #DBC199;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li {
    grid-template-columns: 4.1428571429vw 1fr auto;
    padding: 2.5714285714vw 0;
    border-bottom: 0.0714285714vw solid #DBC199;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li {
    align-items: flex-start;
    grid-template-areas: "first first" "second third" "fourth fourth";
    grid-template-columns: 9.0625vw 1fr;
    gap: 0 3.90625vw;
    padding: 4.6875vw 0;
  }
}
#music .songs-list ul li .num {
  display: flex;
  align-items: center;
  justify-content: center;
  height: 58px;
  font-size: 22px;
  line-height: 1;
  padding-right: 2px;
  background-color: #FFD89F;
  border-radius: 100px;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li .num {
    height: 4.1428571429vw;
    font-size: 1.5714285714vw;
    padding-right: 0.1428571429vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .num {
    height: 9.0625vw;
    font-size: 3.4375vw;
    padding-right: 0.3125vw;
    grid-area: second;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .song {
    grid-area: third;
  }
}
#music .songs-list ul li .song h3 {
  font-size: 22px;
  font-weight: normal;
  line-height: 1.4;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li .song h3 {
    font-size: 1.5714285714vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .song h3 {
    font-size: 3.4375vw;
    margin-bottom: 0.78125vw;
  }
}
#music .songs-list ul li .song .info {
  font-size: 14px;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li .song .info {
    font-size: 1vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .song .info {
    font-size: 2.1875vw;
    line-height: 1.5;
  }
}
#music .songs-list ul li .btns {
  position: relative;
  display: flex;
  gap: 0 20px;
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .btns {
    grid-area: fourth;
    gap: 0 4.375vw;
    margin-top: 2.34375vw;
    justify-content: left;
  }
}
#music .songs-list ul li .btns .btn {
  width: auto;
  min-height: 40px;
  margin: 0;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li .btns .btn {
    min-height: 2.8571428571vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .btns .btn {
    min-height: 6.25vw;
  }
}
#music .songs-list ul li .btns .btn::before, #music .songs-list ul li .btns .btn::after {
  width: calc(100% - 8px);
  height: calc(100% - 8px);
  border-width: 1px;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li .btns .btn::before, #music .songs-list ul li .btns .btn::after {
    width: calc(100% - 0.5714285714vw);
    height: calc(100% - 0.5714285714vw);
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .btns .btn::before, #music .songs-list ul li .btns .btn::after {
    width: calc(100% - 1.25vw);
    height: calc(100% - 1.25vw);
  }
}
#music .songs-list ul li .btns .btn a {
  display: inline-flex;
  width: auto;
  min-height: 40px;
  font-size: 16px;
  padding: 0.8em 2.5em 0.6em;
  border-width: 2px;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li .btns .btn a {
    min-height: 2.8571428571vw;
    font-size: 1.1428571429vw;
    border-width: 0.1428571429vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .btns .btn a {
    min-height: 6.25vw;
    font-size: 2.8125vw;
  }
}
#music .songs-list ul li .btns .btn a::after {
  width: 22px;
  height: 9px;
  right: 12px;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li .btns .btn a::after {
    width: 1.5714285714vw;
    height: 0.6428571429vw;
    right: 0.8571428571vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li .btns .btn a::after {
    width: 3.4375vw;
    height: 1.40625vw;
    right: 1.875vw;
  }
}
#music .songs-list ul li.new::before {
  content: "";
  position: absolute;
  top: 38%;
  left: -96px;
  transform: translateY(-50%);
  width: 75px;
  height: 62px;
  background: url("../img/music/new.svg") no-repeat center center;
  background-size: contain;
}
@media only screen and (max-width: 1400px) {
  #music .songs-list ul li.new::before {
    left: -6.8571428571vw;
    width: 5.3571428571vw;
    height: 4.4285714286vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .songs-list ul li.new::before {
    width: 11.71875vw;
    height: 9.6875vw;
    position: static;
    grid-area: first;
    transform: translateY(0);
    margin: -2.34375vw 0 1.5625vw -4.6875vw;
  }
}
#music .h-box {
  position: relative;
  text-align: center;
  height: 243px;
  margin-bottom: 32px;
  padding-top: 75px;
}
@media only screen and (max-width: 1400px) {
  #music .h-box {
    height: 17.3571428571vw;
    margin-bottom: 2.2857142857vw;
    padding-top: 5.3571428571vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .h-box {
    height: 31.71875vw;
    padding-top: 6.875vw;
    margin-bottom: 5vw;
  }
}
#music .h-box .frame {
  position: absolute;
  top: 0;
  left: 0;
}
#music .h-box h2 {
  position: relative;
  font-size: 48px;
  line-height: 1.2;
  color: #fff;
}
@media only screen and (max-width: 1400px) {
  #music .h-box h2 {
    font-size: 3.4285714286vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .h-box h2 {
    width: 100%;
    font-size: 6.875vw;
    line-height: 1;
  }
}
#music .detail-block {
  margin-bottom: 94px;
}
@media only screen and (max-width: 1400px) {
  #music .detail-block {
    margin-bottom: 6.7142857143vw;
  }
}
@media only screen and (max-width: 768px) {
  #music .detail-block {
    margin-bottom: 7.03125vw;
  }
}
#music .spotify {
  margin-bottom: 58px;
}