@charset "UTF-8";
/* CSS INFORMATION -====================================================
File name : music.css
Description : 主題歌
===================================================================== */
.music {
  margin: 20rem 0;
}
.music .inner {
  padding-top: 10rem;
}
.music .inner::before {
  content: "";
  position: absolute;
  display: block;
  top: -1px;
  left: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: 30rem;
  background: #f8f8f8;
  z-index: -1;
}
.music .sec_ttl {
  margin-bottom: 0;
}
.music .contents_inner {
  position: relative;
  padding: 10rem 0;
}
.music .contents_inner:not(:last-child) {
  margin-bottom: 20rem;
}
.music .contents_inner::before {
  content: "";
  position: absolute;
  display: block;
  top: -1px;
  left: 0;
  margin: 0 calc(50% - 50vw);
  width: 100vw;
  height: calc(100% + 2px);
  background: #f8f8f8;
  z-index: -1;
}

.music_img {
  margin: 0 auto 7rem;
  width: calc(550 / 710 * 100%);
}

.music_ttl {
  text-align: center;
  margin-bottom: 6.5rem;
  line-height: 1.4;
}
.music_ttl dt {
  margin-bottom: 0.2em;
  font-size: 153%;
}
.music_ttl_song {
  display: inline-block;
  margin-bottom: 0.1em;
  font-size: 212%;
  color: #b91e1e;
}
.music_ttl_label {
  font-size: 115%;
}

a.btn_official {
  margin: 0 auto;
  width: calc(470 / 710 * 100%);
}

.music_comment {
  position: relative;
  padding: 10rem 0;
  -o-border-image: linear-gradient(to left, transparent 5%, currentColor 50%, transparent 95%) 1/0 0 1px 0;
     border-image: -webkit-gradient(linear, right top, left top, color-stop(5%, transparent), color-stop(50%, currentColor), color-stop(95%, transparent)) 1/0 0 1px 0;
     border-image: linear-gradient(to left, transparent 5%, currentColor 50%, transparent 95%) 1/0 0 1px 0;
  border-style: solid;
}
.music_comment:first-of-type {
  margin-top: 10rem;
  -o-border-image: linear-gradient(to left, transparent 5%, currentColor 50%, transparent 95%) 1/1px 0 1px 0;
     border-image: -webkit-gradient(linear, right top, left top, color-stop(5%, transparent), color-stop(50%, currentColor), color-stop(95%, transparent)) 1/1px 0 1px 0;
     border-image: linear-gradient(to left, transparent 5%, currentColor 50%, transparent 95%) 1/1px 0 1px 0;
  border-style: solid;
}
.music_comment dt {
  margin-bottom: 5rem;
}
.music_comment dd {
  margin: 0 auto;
  width: calc(650 / 710 * 100%);
  font-family: "Noto Sans JP", sans-serif;
  line-height: 1.692;
}

@media screen and (min-width: 768px) {
  .music {
    margin: 0;
    padding: 18rem 0;
  }
  .music .inner {
    padding-top: 0;
  }
  .music .inner::before {
    display: none;
  }
  .music .contents_inner {
    padding: 7.5rem 0;
  }
  .music .contents_inner::before {
    margin: 0;
    width: 100%;
  }
  .music_contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
  }
  .music_contents_right {
    width: calc(300 / 1000 * 100%);
  }
  .music_img {
    margin: 0 calc(100 / 1000 * 100%) 0 0;
    width: calc(400 / 1000 * 100%);
  }
  .music_ttl dt {
    margin-bottom: 0.3em;
    font-size: 137%;
  }
  a.btn_official {
    width: 100%;
  }
  .music_comment {
    padding: 7rem 0;
  }
  .music_comment:first-of-type {
    margin-top: 6rem;
  }
  .music_comment dt {
    margin: 0 calc(20 / 1000 * 100%) 5rem auto;
    width: calc(500 / 1000 * 100%);
  }
  .music_comment dd {
    width: calc(800 / 1000 * 100%);
    line-height: 1.875;
  }
}/*# sourceMappingURL=music.css.map */