@charset "UTF-8";
/*==================================================*/
/* 前提css */
/*==================================================*/
a, article, blockquote, body, caption, dd, div, dl, dt, footer, h1, h2, h3, h4, h5, h6, header, html, iframe, img, li, nav, ol, p, pre, section, small, span, strong, table, td, th, tr, ul, figure {
  background: 0;
  border: 0;
  font-size: 100%;
  line-height: 1;
  margin: 0;
  outline: 0;
  padding: 0;
  vertical-align: bottom; }

a, small, span, strong {
  vertical-align: baseline; }

article, footer, header, nav, section {
  display: block; }

li {
  list-style: none; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

address, th {
  font-style: normal; }

:focus, a:focus {
  outline: 0; }

br {
  letter-spacing: normal; }

textarea {
  resize: none; }

a {
  text-decoration: none; }

main img {
  height: auto;
  width: 100%; }

/*==================================================*/
/* レスポンシブ用css */
/*==================================================*/
.pc {
  display: block; }
  .pc.inline {
    display: inline; }
  .pc.flex {
    display: flex; }

.sp {
  display: none; }
  .sp.inline {
    display: none; }
  .sp.flex {
    display: none; }

@media (max-width: 768px) {
  .pc {
    display: none; }
    .pc.inline {
      display: none; }
    .pc.flex {
      display: none; }

  .sp {
    display: block; }
    .sp.inline {
      display: inline; }
    .sp.flex {
      display: flex; } }
/*==================================================
   footer
==================================================*/
.c-section {
  background: #000;
  padding: 0; }
  .c-section__inr {
    padding-top: 45px;
    max-width: 1050px;
    box-sizing: border-box;
    padding: 85px 20px 85px;
    margin-right: auto;
    margin-left: auto; }

.c-banner {
  background: #000;
  margin-bottom: 85px; }
  .c-banner__image {
    margin: 0;
    text-align: center; }
  @media (max-width: 768px) {
    .c-banner {
      width: 95%;
      height: auto;
      margin: 0 auto 85px; }
      .c-banner__image {
        width: 100%;
        height: auto; }
        .c-banner__image img {
          width: 100%;
          height: auto; } }

.boxTimeline {
  background: #000; }
  .boxTimeline__inr {
    display: flex;
    margin-right: -20px;
    margin-bottom: -40px;
    margin-left: -20px; }
  .boxTimeline__item {
    width: 50%;
    margin-right: 20px;
    margin-bottom: 40px;
    margin-left: 20px; }
  @media screen and (max-width: 640px) {
    .boxTimeline__inr {
      flex-direction: column;
      margin-right: 0;
      margin-left: 0; }
    .boxTimeline__item {
      width: auto;
      margin-right: 0;
      margin-left: 0; } }

.sns_area {
  background: url("../img/diamond_white.png");
  padding: 25px 10px;
  text-align: center; }
  .sns_area__list {
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap;
    margin-right: -10px;
    margin-left: -10px; }
  .sns_area__listItem {
    max-width: 100%;
    padding: 10px;
    height: auto; }

.app_area {
  background: url(../img/bg_app.jpg) no-repeat center/cover;
  padding: 20px 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center; }
  .app_area__logo {
    width: calc( 264px * 0.9 );
    height: auto;
    display: block;
    margin: 20px auto 48px; }
  .app_area__logoImage {
    display: flex;
    justify-content: center;
    align-items: center; }
  .app_area__list {
    display: flex;
    marign-top: 40px; }
  .app_area__listItem:not(:first-child) {
    margin-left: 5px; }
  .app_area__official a {
    display: block;
    margin: 10px auto 0;
    background: #c38d42;
    color: #fff;
    font-size: 20px;
    line-height: 2.3;
    text-align: center;
    position: relative;
    width: 676px; }
    .app_area__official a::after {
      content: "";
      width: 12px;
      height: 12px;
      background: url(../img/blank.png) no-repeat center center;
      background-size: auto;
      background-size: 100%;
      position: absolute;
      top: 10px;
      right: 10px; }
  @media screen and (max-width: 768px) {
    .app_area__list {
      flex-direction: column; }
    .app_area__listItem:not(:first-child) {
      margin-left: 0;
      margin-top: 8px; }
    .app_area__official {
      display: block;
      width: 95%; }
      .app_area__official a {
        width: 100%; } }

.globalFooter {
  padding: 40px 20px 144px;
  background: #000;
  font-size: 14px;
  text-align: center; }
  .globalFooter__logo {
    text-align: center;
    width: 264px;
    height: auto;
    margin: 0 auto; }
  .globalFooter__linkList {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    margin: 25px -20px -15px; }
    .globalFooter__linkList > li {
      padding-right: 10px;
      padding-left: 10px;
      margin-bottom: 15px; }
    .globalFooter__linkList a {
      color: #fff; }
  .globalFooter__copyright {
    margin-top: 28px;
    color: #fff;
    line-height: 1.4;
    display: block; }
  @media screen and (max-width: 768px) {
    .globalFooter {
      padding-bottom: 200px; } }

.fixed-footer {
  padding: 20px;
  background: rgba(0, 0, 0, 0.7);
  border-top: 1px solid #ffcc1f;
  display: flex;
  justify-content: center;
  align-items: center;
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0; }
  .fixed-footer .reserve-btn {
    max-width: 660px;
    margin: 0; }
    .fixed-footer .reserve-btn:not(:first-child) {
      margin-left: 20px; }
  @media screen and (max-width: 768px) {
    .fixed-footer {
      flex-wrap: wrap;
      justify-content: center;
      align-items: center;
      padding: 20px 0; }
      .fixed-footer .reserve-btn {
        width: 95%;
        height: 60px;
        font-size: 20px; }
        .fixed-footer .reserve-btn:not(:first-child) {
          margin: 12px 0 0 0; } }

.globalHeader {
  background: #000; }
  .globalHeader__inr {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 15px 40px; }
  .globalHeader__nav {
    display: block; }
  .globalHeader__navList {
    display: flex; }
  .globalHeader__navItem {
    list-style: none; }
    .globalHeader__navItem a {
      color: #fff;
      display: block;
      padding: 10px 12px; }
  @media screen and (max-width: 768px) {
    .globalHeader {
      display: none; } }

.btn_area {
  display: flex; }
  .btn_area li:not(:first-child) {
    margin-left: 12px; }

.mv {
  background: #000;
  padding-top: 0;
  padding-bottom: 0; }
  .mv__title {
    width: 100%;
    height: auto;
    display: block; }
  .mv__image {
    width: 100%;
    height: auto;
    display: block; }
    .mv__image img {
      display: block; }

.copy {
  padding: 48px 0; }
  .copy__title {
    font-size: 36px;
    line-height: 1.6;
    text-align: center;
    font-weight: bold; }
    .copy__title--red {
      color: #a80000; }
  .copy__text {
    margin-top: 50px;
    text-align: center;
    line-height: 1.6; }
    .copy__text--red {
      color: #a80000; }
  @media screen and (max-width: 768px) {
    .copy__title {
      font-size: 4.6875vw; }
    .copy__text {
      margin-top: 6.5104166667vw; } }

.reserve {
  padding-top: 84px;
  background: #000;
  color: #fff; }
  .reserve__title {
    font-size: 26px !important;
    text-align: center !important;
    position: relative !important;
    top: 0 !important;
    margin-bottom: 40px !important; }
  .reserve__table {
    margin: -22px auto 0; }
  .reserve__table-row {
    display: flex;
    justify-content: flex-start;
    margin-top: 22px; }
  .reserve__table-row:last-child {
    margin-top: 55px;
    position: relative; }
    .reserve__table-row:last-child .reserve__tableCellLeft {
      margin-left: -2px; }
    .reserve__table-row:last-child::before {
      content: "";
      width: 100%;
      height: 1px;
      background: #fff;
      position: absolute;
      top: -28px;
      left: 50%;
      transform: translateX(-50%); }
  .reserve__tableCellLeft {
    font-size: 27px;
    color: #ffcc1f; }
  .reserve__tableCellRight {
    font-size: 27px;
    padding-left: 12px; }
  .reserve__add {
    margin-top: 20px;
    text-align: left;
    line-height: 1.6;
    font-size: 13px; }
    .reserve__add--link {
      color: #30c6fe; }
  @media screen and (max-width: 768px) {
    .reserve {
      padding-top: 10.9375vw; }
      .reserve__title {
        font-size: 3.3854166667vw !important;
        text-align: center !important;
        position: relative !important;
        top: 0 !important;
        margin-bottom: 5.2083333333vw !important; }
      .reserve__table-row {
        display: flex;
        flex-direction: column;
        justify-content: center;
        align-items: center; }
      .reserve__table-row:last-child {
        margin-top: 3.125vw;
        padding-top: 3.125vw; }
        .reserve__table-row:last-child::before {
          width: 80%;
          top: 0; }
      .reserve__tableCellLeft {
        font-size: 27px; }
      .reserve__tableCellRight {
        margin-top: 1.5625vw;
        font-size: 27px;
        padding-left: 0;
        line-height: 1.6; }
      .reserve__add {
        margin-top: 20px;
        font-size: 13px; } }

.premiumBox {
  padding-top: 84px;
  background: url("../img/diamond_white.png");
  color: #000; }
  .premiumBox__subtitle {
    text-align: center; }
  .premiumBox__text {
    text-align: center;
    line-height: 1.6;
    margin-top: 40px;
    margin-bottom: 32px; }
  .premiumBox__table {
    border: 2px solid #000;
    background: #fff; }
  .premiumBox__inr-table {
    border: 1px solid #000;
    margin: 1px; }
  .premiumBox__tableCell {
    padding: 30px 26px;
    display: flex;
    justify-content: space-between;
    position: relative; }
    .premiumBox__tableCell:nth-child(even) {
      flex-direction: row-reverse; }
    .premiumBox__tableCell:nth-child(6) {
      background: #000;
      color: #fff;
      flex-direction: column; }
    .premiumBox__tableCell:not(:first-child):not(:last-child)::before {
      content: "";
      height: 1px;
      width: 80%;
      background: linear-gradient(to right, transparent, #cfcfcf 30%, #cfcfcf 70%, transparent);
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
  .premiumBox__text-box--num {
    color: #ffcc1f;
    font-size: 20px;
    background: url("../img/premium_bg.jpg") no-repeat top center;
    padding: 4px 40px 6px; }
  .premiumBox__product-name {
    font-size: 24px;
    line-height: 1.6;
    margin-top: 12px; }
  .premiumBox__description {
    font-size: 18px;
    line-height: 1.6; }
    .premiumBox__description--small {
      font-size: 14px; }
  .premiumBox__pic-box {
    min-width: 290px;
    height: auto;
    margin: 0 12px; }
    .premiumBox__pic-box--small {
      min-width: 200px; }
  .premiumBox__accordion {
    margin-top: 12px;
    width: 100%;
    height: 40px;
    display: flex;
    justify-content: center;
    align-items: center;
    font-size: 18px;
    background: linear-gradient(to bottom, #2b2b2b 0%, #2b2b2b 50%, #000000 50%, #000000 100%);
    color: #fff;
    cursor: pointer;
    position: relative; }
    .premiumBox__accordion::after {
      content: "";
      width: 15px;
      height: 10px;
      background: url("../img/accordion_arrow.png");
      display: block;
      position: absolute;
      right: 15px;
      top: 50%;
      transform: translateY(-50%) rotate(0deg);
      transition: all 0.3s ease; }
    .premiumBox__accordion.active::after {
      transform: translateY(-50%) rotate(180deg); }
  .premiumBox__flavor {
    display: none;
    max-width: 410px;
    border: 1px solid #000;
    padding: 8px;
    box-sizing: border-box; }
  .premiumBox__flavor-list {
    font-size: 14px;
    line-height: 1.4;
    margin-top: 16px; }
    .premiumBox__flavor-list--name {
      color: #a80000;
      font-size: 16px;
      font-weight: bold;
      display: block;
      margin-bottom: 8px; }
  .premiumBox__product {
    font-size: 18px;
    line-height: 1.4;
    /*&--gold {
    	background: linear-gradient( to bottom,  #ffe600 50%, #c89600 75%, #ffff64 100%);
    	-webkit-background-clip: text;
    	color: transparent;
    }*/ }
    .premiumBox__product--big {
      font-size: 26px;
      font-weight: bold; }
  .premiumBox__list-wrapper {
    margin-top: 12px;
    width: 100%; }
  .premiumBox__list-item {
    line-height: 1.6;
    font-size: 16px;
    position: relative;
    margin-left: 26px;
    box-sizing: border-box; }
    .premiumBox__list-item::before {
      content: "";
      width: 12px;
      height: 12px;
      background: transparent;
      border: 1px solid #fff;
      display: block;
      position: absolute;
      left: -18px;
      top: .8em;
      transform: translateY(-50%); }
  .premiumBox__list-item-child {
    font-size: 16px;
    line-height: 1.6;
    padding-left: 12px;
    margin-left: 8px;
    position: relative; }
    .premiumBox__list-item-child::before {
      content: "";
      width: 4px;
      height: 1px;
      background: #fff;
      position: absolute;
      left: 0;
      top: .8em;
      transform: translateY(-50%); }
  .premiumBox__price {
    font-size: 44px;
    margin-top: 12px;
    margin-left: auto;
    display: block;
    line-height: right;
    width: 266px;
    height: auto; }
  @media screen and (max-width: 768px) {
    .premiumBox__text {
      margin-top: 5.2083333333vw;
      margin-bottom: 4.1666666667vw; }
    .premiumBox__tableCell {
      padding: 7.8125vw 3.3854166667vw;
      flex-direction: column;
      justify-content: flex-start; }
      .premiumBox__tableCell:nth-child(even) {
        flex-direction: column; }
      .premiumBox__tableCell:not(:first-child):not(:last-child)::before {
        width: 80%;
        top: 0;
        left: 50%; }
    .premiumBox__text-box--num {
      font-size: 20px;
      padding: 4px 40px 6px; }
    .premiumBox__product-name {
      margin-top: 2.6041666667vw; }
    .premiumBox__description {
      font-size: 16px; }
      .premiumBox__description--small {
        font-size: 13px; }
    .premiumBox__pic-box {
      min-width: inherit;
      width: 95%;
      display: block;
      margin: 24px auto 0; }
      .premiumBox__pic-box--small {
        min-width: inherit;
        width: 95%;
        display: block;
        margin: 0 auto; }
    .premiumBox__flavor {
      max-width: inherit;
      width: 100%; }
    .premiumBox__list-wrapper {
      width: 100%; } }

/*_::-webkit-full-page-media, _:future, :root .premiumBox__flavor {
	background: red;
	padding-left: 19px;
}*/
#soundtrack {
  background: url("../img/diamond_red.png"); }

.soundtrack {
  padding-top: 148px;
  color: #000; }
  .soundtrack__table {
    background: #fff;
    border: 2px solid #000;
    padding-bottom: 64px;
    position: relative; }
    .soundtrack__table::before {
      content: "";
      display: block;
      width: calc(100% - 16px);
      height: calc(100% - 16px);
      box-sizing: border-box;
      border-width: 208px 208px 208px 208px;
      border-style: solid;
      -o-border-image: url("../img/soundtrack_ruled.png") 208 208 208 208 repeat repeat;
      border-image: url("../img/soundtrack_ruled.png") 208 208 208 208 repeat repeat;
      position: absolute;
      top: 8px;
      left: 8px;
      pointer-events: none; }
  .soundtrack__logo-wrapper {
    width: calc( 264px * .9 );
    height: auto;
    display: block;
    margin: -84px auto 0; }
  .soundtrack__title {
    /*text-align: center;
    font-size: 30px;
    font-weight: bold;
    margin-bottom: 26px;
    &--small {
    	font-size: 24px;
    }
    &--red {
    	font-size: 48px;
    	color: $red;
    }*/
    display: block;
    max-width: 627px;
    margin: 38px auto 26px; }
  .soundtrack__copy {
    text-align: center;
    font-size: 36px;
    font-weight: bold;
    padding-top: 26px;
    margin-bottom: 36px;
    position: relative; }
    .soundtrack__copy--red {
      color: #a80000; }
    .soundtrack__copy::before {
      content: "";
      width: 80%;
      height: 1px;
      background: #000;
      display: block;
      position: absolute;
      top: 0;
      left: 50%;
      transform: translateX(-50%); }
  .soundtrack__pic-wrapper {
    width: 645px;
    height: auto;
    display: block;
    margin: 0 auto; }
  .soundtrack__text {
    padding: 36px 38px 32px;
    line-height: 1.8;
    font-size: 18px;
    text-align: center; }
  @media screen and (max-width: 768px) {
    .soundtrack__table {
      padding-bottom: 64px; }
      .soundtrack__table::before {
        width: calc(100% - 8px);
        height: calc(100% - 8px);
        border-width: 104px 104px 104px 104px;
        -o-border-image: url("../img/soundtrack_ruled_sp.png") 104 104 104 104 repeat repeat;
        border-image: url("../img/soundtrack_ruled_sp.png") 104 104 104 104 repeat repeat;
        top: 4px;
        left: 4px; }
    .soundtrack__logo-wrapper {
      width: 34.375vw;
      height: auto;
      display: block;
      margin: -10.9375vw auto 0; }
    .soundtrack__title {
      /*text-align: center;
      font-size: vw_pad(30);
      margin-bottom: vw_pad(26);
      &--small {
      	font-size: vw_pad(24);
      }
      &--red {
      	font-size: vw_pad(48);
      }*/
      max-width: inherit;
      width: 90%; }
    .soundtrack__copy {
      font-size: 4.6875vw;
      padding-top: 3.3854166667vw;
      margin-bottom: 4.6875vw; }
    .soundtrack__pic-wrapper {
      width: 95%; }
    .soundtrack__text {
      font-size: 18px; } }

.introduction {
  color: #000; }
  .introduction__card {
    margin-top: 50px;
    background: #fff;
    padding: 56px 32px 60px;
    position: relative;
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    /*&::after {
    	content: "";
    	border-top: 25px solid transparent;
    	border-right: 25px solid $gray;
    	border-bottom: 25px solid $gray;
    	border-left: 25px solid transparent;
    	display: block;
    	position: absolute;
    	right: 0;
    	bottom: 0;
    }*/ }
    .introduction__card::before {
      font-size: 52px;
      color: #fff;
      justify-content: center;
      align-items: center;
      display: flex;
      width: 110px;
      height: 135px;
      background: url("../img/introduction_rhombus.png");
      position: absolute;
      top: 24px;
      left: -30px; }
    .introduction__card:nth-child(1)::before {
      content: "01"; }
    .introduction__card:nth-child(2)::before {
      content: "02"; }
  .introduction__card-title {
    text-align: center;
    font-size: 34px;
    font-weight: bold;
    line-height: 1.4;
    width: 80%;
    padding-bottom: 22px;
    margin: 0 auto 22px;
    display: inline-block;
    border-bottom: 1px solid #d7c379;
    position: relative; }
    .introduction__card-title::before, .introduction__card-title::after {
      content: "";
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: #d7c379;
      display: block;
      position: absolute;
      bottom: -2px; }
    .introduction__card-title::before {
      left: 0; }
    .introduction__card-title::after {
      right: 0; }
  .introduction__card-text {
    text-align: center;
    font-size: 18px;
    line-height: 1.8; }
    .introduction__card-text--title {
      font-size: 18px;
      text-align: center;
      display: block;
      margin-top: 26px;
      margin-bottom: 20px; }
    .introduction__card-text--event {
      width: 100%; }
    .introduction__card-text--list {
      font-size: 16px;
      line-height: 1.4; }
    .introduction__card-text--red {
      color: #a80000;
      text-align: center;
      font-size: 18px;
      line-height: 1.8;
      margin-top: 32px; }
  .introduction__card-pic-wrapper {
    width: 733px;
    height: auto;
    display: block;
    margin: 20px auto 0; }
  @media screen and (max-width: 768px) {
    .introduction__card {
      margin-top: 50px;
      background: #fff;
      padding: 56px 32px 60px;
      position: relative;
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center; }
      .introduction__card::before {
        font-size: 6.7708333333vw;
        width: 14.3229166667vw;
        height: 17.578125vw;
        background: url("../img/introduction_rhombus.png") no-repeat center/cover;
        top: 3.125vw;
        left: -3.90625vw; }
    .introduction__card-title {
      font-size: 4.4270833333vw;
      padding-bottom: 2.8645833333vw;
      margin: 0 auto 2.8645833333vw; }
    .introduction__card-text {
      font-size: 18px; }
      .introduction__card-text--title {
        font-size: 18px;
        margin-top: 26px;
        margin-bottom: 20px; }
      .introduction__card-text--list {
        font-size: 16px; }
      .introduction__card-text--red {
        font-size: 18px;
        margin-top: 32px; }
    .introduction__card-pic-wrapper {
      width: 95%; } }

.outline {
  padding-top: 84px;
  padding-bottom: 212px;
  background: #000;
  color: #000; }
  .outline__card-wrapper {
    display: flex;
    justify-content: center;
    align-items: flex-start;
    flex-wrap: wrap;
    margin-left: -36px;
    margin-top: -36px; }
  .outline__card-container {
    min-width: 480px;
    margin-left: 36px;
    margin-top: 36px; }
  .outline__card {
    background: #fff;
    border: 2px solid #ffcc1f;
    padding: 24px 38px 38px; }
  .outline__card-title {
    font-size: 24px;
    font-weight: bold;
    line-height: 1.6;
    margin-bottom: 18px; }
  .outline__list-title {
    font-size: 18px;
    color: #a80000;
    line-height: 1.6;
    margin-top: 40px; }
    .outline__list-title:first-of-type {
      margin-top: 20px; }
  .outline__list-item {
    font-size: 16px;
    line-height: 1.6;
    padding-left: 12px;
    margin-left: 8px;
    position: relative; }
    .outline__list-item--size {
      font-size: 14px; }
    .outline__list-item::before {
      content: "";
      width: 4px;
      height: 4px;
      border-radius: 50%;
      background: #000;
      position: absolute;
      left: 0;
      top: .8em;
      transform: translateY(-50%); }
    .outline__list-item--solo {
      font-size: 28px; }
    .outline__list-item--small {
      font-size: 18px; }
    .outline__list-item--solo::before {
      content: none; }
  .outline__list-item-child {
    font-size: 16px;
    line-height: 1.6;
    padding-left: 12px;
    margin-left: 8px;
    position: relative; }
    .outline__list-item-child::before {
      content: "";
      width: 4px;
      height: 1px;
      background: #000;
      position: absolute;
      left: 0;
      top: .8em;
      transform: translateY(-50%); }
  .outline .reserve-btn {
    margin-top: 46px; }
  @media screen and (max-width: 768px) {
    .outline__card-wrapper {
      justify-content: center;
      align-items: center;
      width: 95%;
      margin: 0 auto; }
    .outline__card-container {
      min-width: inherit;
      width: 100%;
      margin: 0; }
      .outline__card-container:not(:first-child) {
        margin-left: 0;
        margin-top: 36px; }
    .outline__card {
      width: 100%;
      padding: 24px 16px 38px;
      box-sizing: border-box; }
    .outline__card-title {
      font-size: 23px; }
    .outline__list-title {
      font-size: 18px; } }

.sample {
  padding-top: 84px;
  background: url("../img/diamond_white.png");
  color: #000; }
  .sample__movie-wrapper {
    display: block;
    width: auto;
    margin-left: -46px; }
  .sample__movie-adjust {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    max-width: 1280px;
    margin: 0 auto; }
  .sample__movie {
    margin-left: 46px;
    margin-top: 56px; }
  @media screen and (max-width: 768px) {
    .sample__movie-wrapper {
      width: 95%;
      margin-top: -20px;
      margin: 0 auto; }
    .sample__movie-res {
      position: relative;
      width: 100%;
      padding-top: 56.25%;
      margin-top: 20px; }
    .sample__movie {
      margin-left: 0;
      margin-top: 0;
      position: absolute;
      top: 0;
      right: 0;
      width: 100%;
      height: 100%; } }

.visible,
.invisible {
  opacity: 0;
  transition: opacity 0.5s ease; }

.visible {
  opacity: 1; }
  .visible.fade_Up {
    transform: translateY(100px);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .visible.fade_Up {
    transform: translateY(0); }
  .visible.fade_toLeft {
    transform: translateX(100px);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .visible.fade_toLeft {
    transform: translateX(0); }
  .visible.fade_toRight {
    transform: translateX(-100px);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .visible.fade_toRight {
    transform: translateX(0); }
  .visible.zoom_Up {
    transform: scale(0.5);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .visible.zoom_Up {
    transform: scale(1); }
  .visible.zoom_Down {
    transform: scale(1.4);
    transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
  .visible.zoom_Down {
    transform: scale(1); }

.invisible.fade_Up {
  transform: translateY(100px);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
.invisible.fade_toLeft {
  transform: translateX(100px);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
.invisible.fade_toRight {
  transform: translateX(-100px);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
.invisible.zoom_Up {
  transform: scale(0.5);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }
.invisible.zoom_Down {
  transform: scale(1.4);
  transition: all 0.5s cubic-bezier(0.165, 0.84, 0.44, 1); }

.visible.fade_slowly {
  opacity: 1;
  animation: fade_slowly 0.5s cubic-bezier(0.55, 0.085, 0.68, 0.53) both; }

@keyframes fade_slowly {
  0% {
    -webkit-filter: blur(5px);
    filter: blur(5px);
    opacity: 0; }
  100% {
    -webkit-filter: blur(0px);
    filter: blur(0px);
    opacity: 1; } }
#is-loading {
  position: fixed;
  z-index: 9999;
  top: 0px;
  left: 0px;
  display: block;
  width: 100%;
  height: 100%;
  background: #fff; }

#loading {
  position: fixed;
  z-index: 9;
  width: 100%;
  height: 100%;
  background: url(../img/logo.png) no-repeat center, url(../img/loading_bg.jpg) no-repeat center center;
  background-size: 15%, cover; }
  @media screen and (max-width: 768px) {
    #loading {
      background-size: 50%, auto 100%;
      background-position: center, center top; } }

/*h2 {
  font-size: 3.60rem;
  margin-bottom: 1%;
  letter-spacing: 10px;
  font-style: italic;
  font-weight: 900;
  @media screen and (max-width: $break-medium) {
    font-size: 8vw;
  }
}*/
.ajst_br {
  display: none; }
  @media screen and (max-width: 768px) {
    .ajst_br {
      display: block; } }

#page-top {
  overflow: hidden;
  margin: 0 auto;
  position: fixed;
  bottom: 0;
  right: 0;
  z-index: 2; }
  #page-top a {
    max-width: 120px;
    display: block; }
    #page-top a img {
      width: 100%; }
    @media screen and (max-width: 768px) {
      #page-top a {
        max-width: 80px; } }

a {
  transition: all 0.5s ease 0s !important; }
  a:hover {
    opacity: 0.6 !important;
    -webkit-transition: all 0.3s !important;
    transition: all 0.3s !important; }

hr {
  width: 95%;
  max-width: 1200px;
  height: 1px;
  border: none;
  background: #ddd;
  margin: 2% auto; }
  @media screen and (max-width: 768px) {
    hr {
      margin: 5% auto; } }

/* development */
img:not([alt]) {
  outline: 3px dashed pink; }

/* Common Parts */
body {
  color: #000;
  font-size: 16px;
  font-family: "Noto Serif JP", serif;
  box-sizing: border-box; }

#body-wrapper {
  min-height: 100vh;
  position: relative;
  overflow-y: hidden; }

.pc {
  display: inherit !important; }
  @media screen and (max-width: 768px) {
    .pc {
      display: none !important; } }

.sp {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .sp {
      display: inherit !important; } }

.reserve-btn {
  color: #fff;
  display: block; }

.app_area__logoImage, .mv__image img, .premiumBox__pic, .soundtrack__logo, .soundtrack__pic, .introduction__card-pic, .outline__card-pic {
  width: 100%;
  height: auto; }

/* common parts */
section {
  position: relative;
  padding-bottom: 156px; }

.text--18 {
  font-size: 18px; }
  @media screen and (max-width: 768px) {
    .text--18 {
      font-size: 16px; } }
.text--20 {
  font-size: 20px; }
  @media screen and (max-width: 768px) {
    .text--20 {
      font-size: 16px; } }
.text--22 {
  font-size: 22px; }
  @media screen and (max-width: 768px) {
    .text--22 {
      font-size: 16px; } }

.hh2 {
  font-family: "Sorts Mill Goudy", serif;
  font-size: 72px;
  text-align: center;
  position: absolute;
  top: -52px;
  left: 50%;
  transform: translateX(-50%);
  white-space: nowrap; }
  .hh2--black {
    color: #000; }
  .hh2--white {
    color: #fff; }
  .hh2--red {
    color: #a80000; }
  .hh2--gray {
    color: #eeeeee; }
  .hh2__subtitle {
    font-size: 24px;
    display: inline-block;
    margin: 0 auto;
    position: absolute;
    top: 70px;
    left: 50%;
    transform: translateX(-50%); }
    .hh2__subtitle--black {
      color: #000; }
    .hh2__subtitle--white {
      color: #fff; }
    .hh2__subtitle--red {
      color: #a80000; }
    .hh2__subtitle--gray {
      color: #eeeeee; }
    .hh2__subtitle::before, .hh2__subtitle::after {
      content: "";
      width: 10px;
      height: 1px;
      position: absolute;
      top: 50%;
      transform: translateY(-50%); }
    .hh2__subtitle::before {
      left: -15px; }
    .hh2__subtitle::after {
      right: -15px; }
    .hh2__subtitle--black::before, .hh2__subtitle--black::after {
      background: #000; }
    .hh2__subtitle--white::before, .hh2__subtitle--white::after {
      background: #fff; }
    .hh2__subtitle--red::before, .hh2__subtitle--red::after {
      background: #a80000; }
    .hh2__subtitle--gray::before, .hh2__subtitle--gray::after {
      background: #eeeeee; }
  @media screen and (max-width: 768px) {
    .hh2 {
      font-size: 7.8125vw;
      top: -5.5989583333vw; }
      .hh2__subtitle {
        font-size: 3.125vw;
        top: 9.1145833333vw; }
        .hh2__subtitle::before, .hh2__subtitle::after {
          width: 1.3020833333vw; }
        .hh2__subtitle::before {
          left: -1.3020833333vw; }
        .hh2__subtitle::after {
          right: -1.3020833333vw; } }

.inr--800 {
  width: 800px;
  margin: 0 auto; }
  @media screen and (max-width: 768px) {
    .inr--800 {
      width: 95%;
      marign: 0 auto; } }

.reserve-btn {
  width: 100%;
  height: 94px;
  line-height: 1.4;
  background: linear-gradient(to top, #990f0f 0%, #990f0f 50%, #ae0000 50%, #ae0000 100%);
  display: flex;
  justify-content: center;
  align-items: center;
  text-align: center;
  margin: 0 auto;
  font-size: 30px;
  letter-spacing: 2px;
  position: relative; }
  .reserve-btn::before {
    content: "";
    width: 30px;
    height: 11px;
    background: url(../img/reserve_arrow.png);
    position: absolute;
    display: block;
    top: 50%;
    left: 14%;
    transform: translateY(-50%);
    transition: all 0.3s ease; }
  .reserve-btn:hover::before {
    left: 15.5%; }
  .reserve-btn::after {
    content: "";
    border-top: 12px solid transparent;
    border-right: 12px solid #ffcc1f;
    border-bottom: 12px solid #ffcc1f;
    border-left: 12px solid transparent;
    position: absolute;
    bottom: 0;
    right: 0;
    transition: all 0.3s ease; }
  .reserve-btn:hover::after {
    bottom: -4px;
    right: -4px; }
  @media screen and (max-width: 768px) {
    .reserve-btn {
      height: 94px;
      font-size: 30px; }
      .reserve-btn::before {
        width: 30px;
        height: 11px;
        left: 3%; }
      .reserve-btn:hover::before {
        left: 3.5%; } }

/*# sourceMappingURL=style.css.map */
