@charset "UTF-8";
@keyframes fadeIn {
  from {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}

@keyframes flash {
  0% {
    opacity: 0;
  }
  50% {
    opacity: 1;
  }
  100% {
    opacity: 0;
  }
}

@keyframes slideInLeft {
  0% {
    transform: translate3d(-100%, -50%, 0);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes slideInRight {
  0% {
    transform: translate3d(100%, 50%, 0);
    opacity: 1;
  }
  100% {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

@keyframes boundL {
  0% {
    transform: translateX(-100%);
    visibility: visible;
  }
  50% {
    transform: scale(0.75);
  }
  80% {
    transform: translateX(10%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes boundR {
  0% {
    transform: translateX(100%);
    visibility: visible;
  }
  50% {
    transform: scale(0.75);
  }
  80% {
    transform: translateX(-10%);
  }
  100% {
    transform: translateX(0);
  }
}

@keyframes shake {
  0% {
    transform: rotate(0deg);
  }
  30% {
    transform: rotate(-2deg);
  }
  60% {
    transform: rotate(2deg);
  }
  100% {
    transform: rotate(0deg);
  }
}

@keyframes clip {
  0% {
    transform: translate(0);
  }
  10% {
    transform: translate(10px, -20px);
  }
  20% {
    transform: translate(0);
  }
  30% {
    transform: translate(10px, -20px);
  }
  40% {
    transform: translate(0);
  }
  100% {
    transform: translate(0);
  }
}

@keyframes fadeBottomIn {
  0% {
    opacity: 0;
    transform: translateY(10px);
  }
  100% {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

html,
body {
  font-size: 14px;
  letter-spacing: 0.02em;
  line-height: 1.8;
}

a {
  cursor: pointer;
}

a:hover {
  opacity: 0.7;
}

.mv {
  position: relative;
  width: 100%;
  height: 100vh;
  background-image: url(../img/lp/mv.png);
  background-position: center;
  background-size: cover;
  overflow: hidden;
  background-repeat: no-repeat, no-repeat, no-repeat;
  background-position: top 5% center, top left 20%, top center;
}

.mv::after {
  content: '';
  display: block;
  position: absolute;
  left:0;
  bottom: 0;
  border-top: 60px solid transparent;
  border-left: 50vw solid transparent;
  border-right: 50vw solid rgba(255,136,124,1);
  border-bottom: 60px solid rgba(255,136,124,1);
}

.lp_sec.sec1 {
  background: rgb(182,50,95);
  background: linear-gradient(0deg, rgba(182,50,95,1) 0%, rgba(255,136,124,1) 100%);
}

.mv_left {
  position: absolute;
  left: 0;
  top: calc(0vh + 115%);
  padding: 0 20px;
  z-index: 1;
}

.mv_logo {
  display: block;
  max-width: 395px;
  width: 100%;
}

.btn_buy {
  display: block;
}

.lp_sec_inner {
  max-width: 1000px;
  margin: 0 auto;
  padding: 150px 0;
  position: relative;
}

.bg_pat {
  position: absolute;
  z-index: 1;
}

.bg_pattern_1 {
  right: calc(0vw + 20%);
  bottom: 0;
}

.intro {
  max-width: 730px;
  display: block;
  margin: 0 auto 30px;
  width: 100%;
}

.jacket_inner a {
  display: flex;
}

.jacket_inner a div {
  width: calc(100% / 2);
}

.jacket_inner img {
  max-width: 522px;
  width: 100%;
  z-index: 2;
  display: block;
}

.jacket_cap {
  color: #fff;
  font-size: 18px;
  text-align: center;
}

.jacket_cap a {
  color: #fff;
  position: relative;
}

.link_twitter::after {
  content: "";
  color: #fff;
  margin-left: 10px;
  font-family: "Font Awesome 5 Brands";
  content: "\f099";
  position: absolute;
}

.jacket_cap .link_twitter::after {
  margin-top: -2px;
}

.jacket_cap a:nth-child(2) {
  margin-right: 50px;
}

.btn_buy {
  display: block;
  max-width: 419px;
  margin: 0 auto;
}

.btn_buy img {
  max-width: 419px;
  display: block;
}

.jacket_wrap {
  margin-bottom: 130px;
}

.title {
  display: block;
  margin: 0 auto 80px;
  width: 100%;
}

.lp_sec.sec1 .title {
  max-width: 351px;
}

.lp_sec.sec2 .title {
  max-width: 336px;
}

.lp_sec.sec3 .title {
  max-width: 682px;
}

.tracklist_text {
  color: #fff;
}

.tracklist_box {
  display: flex;
  width: calc(100% /2);
  margin-bottom: 40px;
}

.tracklist_box img {
  height: 59px;
  display: block;
  margin-right: 30px;
}

.tracklist_text h3 {
  font-weight: bold;
  font-size: 18px;
}

.tracklist_text p {
  font-size: 15px;
}

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

.lp_sec.sec2 {
  background: rgb(21, 80, 105);
  background: linear-gradient(0deg, rgba(21, 80, 105, 1) 0%, rgba(48, 148, 191, 1) 100%);
}

.lp_sec.sec1::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  border-top: 60px solid transparent;
  border-left: 50vw solid transparent;
  border-right: 50vw solid rgba(48, 148, 191, 1);
  border-bottom: 60px solid rgba(48, 148, 191, 1);
}

.lp_sec {
  position: relative;
}

.lp_sec.sec3 {
  background: rgb(254, 121, 69);
  background: linear-gradient(0deg, rgba(254, 121, 69, 1) 0%, rgba(233, 219, 89, 1) 100%);
}

.lp_sec.sec2::after {
  content: '';
  display: block;
  position: absolute;
  left: 0;
  bottom: 0;
  border-top: 60px solid transparent;
  border-left: 50vw solid transparent;
  border-right: 50vw solid rgba(233, 219, 89, 1);
  border-bottom: 60px solid rgba(233, 219, 89, 1);
}

.stafflist_box h4 {
  color: #fff;
  font-size: 17px;
  font-weight: bold;
  margin-right: 30px;
  min-width: 155px;
  text-align: right;
}

.stafflist_box a {
  color: #fff;
  font-size: 19px;
  display: block;
}

.stafflist_box {
  display: flex;
  margin-bottom: 40px;
}

.stafflist_box a span {
  font-size: 14px;
  padding-left: 10px;
}

.stafflist_wrap {
  display: flex;
  flex-direction: column;
  width: calc((100% / 2) - 50px);
}

.stafflist_allwrap {
  display: flex;
}

.stafflist_wrap.left {
  margin-right: 100px;
}

.works_box a {
  display: block;
  text-align: center;
}

.works_box a p {
  color: #fff;
  font-size: 18px;
  font-weight: bold;
}

.works_box {
  width: calc(100% / 3);
}

.works_wrap {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
}

.bg_pattern_2 {
  right: -80px;
  top: 4%;
  width: 130px;
}

.bg_pattern_3 {
  left: -80px;
  top: 8%;
  width: 150px;
}

.bg_pic_3person {
  right: -208px;
  top: 18%;
  transform: rotate(18deg);
}

.bg_pic_miko {
  left: -220px;
  top: 18%;
}

.bg_pattern_4 {
  right: -178px;
  top: 44%;
}

.bg_pattern_5 {
  left: -208px;
  top: 58%;
}

.bg_pattern_6 {
  right: -178px;
  top: 68%;
}

.bg_pattern_7 {
  left: -208px;
  top: 74%;
  width: 130px;
}

.bg_pattern_8 {
  right: -178px;
  top: 85%;
}

.bg_pic_rushia {
  right: -178px;
  top: 91%;
}

.bg_pic_fubuki {
  left: -208px;
  top: 89%;
}

.bg_pattern_9 {
  right: -178px;
  top: 28%;
}

.bg_pattern_10 {
  left: -178px;
  top: 68%;
  transform: rotate(145deg);
}

.bg_pic_shion {
  right: -178px;
  bottom: -20%;
}

.bg_pic_matsuri {
  left: -198px;
  bottom: -23%;
}

.bg_pattern_11 {
  left: -178px;
  top: 40%;
  transform: rotate(-45deg);
}

.bg_pattern_12 {
  right: -178px;
  bottom: 19%;
}

.works_box a img {
  max-width: 281px;
  width: 100%;
}

.jacket_cap > br {
  display: none;
}

.stafflist_cap {
  color: #fff;
  display: block;
  font-size: 12px;
}

@media screen and (max-width: 1400px) {
  .bg_pic_3person {
    right: -20px;
    top: 25%;
    width: 22%;
  }

  .bg_pic_miko {
    left: -60px;
    top: 23%;
    width: 21%;
  }
}

@media screen and (max-width: 1250px) {
  .bg_pic_rushia {
    right: -50px;
    top: inherit;
    bottom: -5%;
    transform: rotate(-25deg);
  }
  
  .bg_pic_fubuki {
    left: -60px;
    top: inherit;
    bottom: -5%;
  }
  
  .bg_pic_shion {
    right: -30px;
    top: inherit;
    bottom: -9%;
    width: 230px;
  }

  .bg_pic_matsuri {
    left: -60px;
    top: inherit;
    bottom: -18%;
  }
}

@media screen and (max-width: 920px) {
  .stafflist_wrap.left {
    margin-right: 50px;
  }
  
  .bg_pic_matsuri {
    width: 250px;
    left: -30px;
    bottom: -10%;
  }

  .bg_pic_3person {
    display: none;
  }

  .bg_pic_miko {
    display: none;
  }
}

@media screen and (max-width: 768px) {
  .jacket_cap > br {
    display: block;
  }

  .mv {
    background-position: right 41% center;
    width: 100vw;
    height: 100%;
  }

  .mv_left {
    position: static;
    margin: 38vh auto 50px;
    padding: 0 20px;
    max-width: 395px;
  }

  .lp_sec_inner {
    padding: 50px 10px 80px;
  }

  .jacket_cap {
    font-size: 14px;
  }

  .tracklist_wrap {
    display: block;
  }

  .tracklist_box {
    width: 100%;
  }

  .tracklist_text h3 {
    font-size: 15px;
  }

  .tracklist_text p {
    font-size: 13px;
  }

  .stafflist_allwrap {
    display: block;
  }

  .stafflist_wrap {
    width: 100%;
    margin: 0;
  }

  .stafflist_box {
    display: block;
    margin-bottom: 20px;
  }

  .stafflist_box h4 {
    min-width: auto;
    text-align: left;
  }

  .stafflist_box a {
    font-size: 15px;
  }

  .works_box {
    width: calc(100% / 2);
  }

  .works_box a p {
    font-size: 14px;
  }

  .bg_pattern_1 {
    width: 140px;
  }

  .bg_pattern_2 {
    display: none;
  }

  .bg_pattern_3 {
    top: 15%;
    width: 140px;
    display: none;
  }

  .bg_pic_miko {
    width: 80px;
    left: 0;
    top: 21%;
    display: none;
  }

  .bg_pic_rushia {
    width: 110px;
    right: 0;
    bottom: -4.5%;
    top: inherit;
  }

  .bg_pic_fubuki {
    width: 100px;
    left: 0;
    top: inherit;
    bottom: -1%;
  }

  .bg_pic_shion {
    width: 100px;
    right: 0;
    bottom: 19%;
  }

  .bg_pic_matsuri {
    width: 100px;
    left: 0;
    bottom: -2%;
  }

  .jacket_wrap {
    margin-bottom: 40px;
  }

  .stafflist_cap {
    font-size: 11px;
  }

  .lp_sec.sec2 .lp_sec_inner {
    padding-bottom: 120px;
  }
}