@charset "UTF-8";
/*! sanitize.css | CC0 Public Domain | github.com/jonathantneal/sanitize.css */
/*
 * Normalization
 */
:root {
  -ms-overflow-style: -ms-autohiding-scrollbar;
  overflow-y: scroll;
  text-size-adjust: 100%; }

audio:not([controls]) {
  display: none; }

details {
  display: block; }

input[type="number"] {
  width: auto; }

input[type="search"] {
  -webkit-appearance: textfield; }
  input[type="search"]::-webkit-search-cancel-button, input[type="search"]::-webkit-search-decoration {
    -webkit-appearance: none; }

main {
  display: block; }

summary {
  display: block; }

pre {
  overflow: auto; }

progress {
  display: inline-block; }

small {
  font-size: 75%; }

template {
  display: none; }

textarea {
  overflow: auto; }

[hidden] {
  display: none; }

[unselectable] {
  user-select: none; }

/*
 * Universal inheritance
 */
*,
::before,
::after {
  box-sizing: inherit; }

* {
  font-size: inherit;
  line-height: inherit; }

::before,
::after {
  text-decoration: inherit;
  vertical-align: inherit; }

/*
 * Opinionated defaults
 */
*,
::before,
::after {
  border-style: solid;
  border-width: 0; }

* {
  margin: 0;
  padding: 0; }

:root {
  box-sizing: border-box;
  cursor: default;
  font: 16px/1.5 sans-serif;
  text-rendering: optimizeLegibility; }

html {
  background-color: #FFFFFF; }

a {
  text-decoration: none; }

audio,
canvas,
iframe,
img,
svg,
video {
  vertical-align: middle; }

button,
input,
select,
textarea {
  background-color: transparent; }

button,
input,
select,
textarea {
  color: inherit;
  font-family: inherit;
  font-style: inherit;
  font-weight: inherit; }

button,
[type="button"],
[type="date"],
[type="datetime"],
[type="datetime-local"],
[type="email"],
[type="month"],
[type="number"],
[type="password"],
[type="reset"],
[type="search"],
[type="submit"],
[type="tel"],
[type="text"],
[type="time"],
[type="url"],
[type="week"],
select,
textarea {
  min-height: 1.5em; }

code,
kbd,
pre,
samp {
  font-family: monospace, monospace; }

nav ol,
nav ul {
  list-style: none; }

select {
  -moz-appearance: none;
  -webkit-appearance: none; }
  select::-ms-expand {
    display: none; }
  select::-ms-value {
    color: currentColor; }

table {
  border-collapse: collapse;
  border-spacing: 0; }

textarea {
  resize: vertical; }

::selection {
  background-color: #B3D4FC;
  text-shadow: none; }

@media screen {
  [hidden~="screen"] {
    display: inherit; }
  [hidden~="screen"]:not(:active):not(:focus):not(:target) {
    clip: rect(0 0 0 0) !important;
    position: absolute !important; } }

/* ---------------------------------
共通スタイル
--------------------------------- */
main {
  display: block; }

ul {
  list-style: none; }

@media screen and (min-width: 671px), print {
  .pc-none {
    display: none !important; } }

@media (max-width: 670px) {
  .sp-none {
    display: none  !important; } }

.layout-flex-wrapper {
  display: flex; }

/**********************************************************************************
SP
**********************************************************************************/
@media screen and (max-width: 670px) {
  .header .band {
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #0A1D3D; }
    .header .band__text {
      color: white;
      text-align: center; }
  .header .mainvisual {
    position: relative; }
    .header .mainvisual__salescopy {
      position: absolute;
      color: #FFF;
      font-size: 0.5rem; } }
    @media screen and (max-width: 670px) and (min-width: 0px) and (max-width: 750px) {
      .header .mainvisual__salescopy {
        top: 1%;
        left: 5%; } }
    @media screen and (max-width: 670px) and (min-width: 751px) {
      .header .mainvisual__salescopy {
        top: 1%;
        left: 5%; } }

@media screen and (max-width: 670px) {
    .header .mainvisual__image {
      height: 100%;
      width: 100%;
      object-fit: cover; }
    .header .mainvisual__lede {
      position: absolute; } }
    @media screen and (max-width: 670px) and (min-width: 0px) and (max-width: 750px) {
      .header .mainvisual__lede {
        top: 5%;
        left: 5%;
        width: 60%; } }
    @media screen and (max-width: 670px) and (min-width: 751px) {
      .header .mainvisual__lede {
        top: 5%;
        left: 5%;
        width: 60%; } }

@media screen and (max-width: 670px) {
    .header .mainvisual__banners {
      position: absolute;
      bottom: 5%;
      left: 10%;
      width: 80%; }
    .header .mainvisual__present {
      padding-bottom: 10px;
      width: 100%; }
    .header .mainvisual__official {
      width: 100%; }
  .footer .band {
    background-color: #0A1D3D;
    padding-top: 20px;
    padding-bottom: 60px;
    padding-left: 20px;
    padding-right: 20px; }
    .footer .band__text {
      color: white;
      text-align: center;
      word-break: break-all; }
  .contents .campaign {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #EEF2F3; }
    .contents .campaign__title {
      text-align: center;
      margin-bottom: 50px; }
      .contents .campaign__title__image {
        width: 50%;
        min-width: 100px; }
    .contents .campaign__detail {
      background-color: #FFF;
      margin: auto;
      position: relative; }
      .contents .campaign__detail--sp {
        width: 80%; }
      .contents .campaign__detail--pc {
        background-color: #EEF2F3;
        text-align: center; }
      .contents .campaign__detail__present {
        width: 100%;
        padding: 20px; }
        .contents .campaign__detail__present__information {
          position: absolute;
          width: 80%;
          bottom: 10%;
          left: 10%; }
      .contents .campaign__detail__title {
        text-align: center; }
  .contents .campaign_pc {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #EEF2F3; }
    .contents .campaign_pc__title {
      text-align: center;
      margin-bottom: 50px; }
    .contents .campaign_pc__detail {
      background-color: #FFF;
      margin: auto;
      position: relative; }
      .contents .campaign_pc__detail--sp {
        width: 80%; }
      .contents .campaign_pc__detail--pc {
        background-color: #EEF2F3;
        text-align: center; }
      .contents .campaign_pc__detail__present {
        width: 100%;
        padding: 20px; }
        .contents .campaign_pc__detail__present__information {
          position: absolute;
          width: 80%;
          bottom: 7%;
          left: 28%; }
      .contents .campaign_pc__detail__title {
        text-align: center; }
  .contents .specialmovie {
    padding-top: 80px;
    padding-bottom: 80px; }
    .contents .specialmovie__title {
      text-align: center;
      margin-bottom: 50px; }
      .contents .specialmovie__title__image {
        width: 50%;
        min-width: 100px; }
    .contents .specialmovie__lede {
      text-align: center;
      margin-bottom: 50px; }
      .contents .specialmovie__lede__image {
        width: 80%; }
    .contents .specialmovie__player {
      margin-bottom: 80px;
      text-align: center; }
      .contents .specialmovie__player img {
        max-width: 100%; }
      .contents .specialmovie__player__video {
        width: 100%;
        margin: auto;
        display: block;
        text-align: center; }
    .contents .specialmovie__calousel {
      text-align: center;
      width: 100%; }
      .contents .specialmovie__calousel__cell {
        width: 32%; }
  .contents .lineup {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #EEF2F3; }
    .contents .lineup__detail {
      background-color: #FFF;
      width: 80%;
      margin: auto;
      padding: 50px 15px; }
      .contents .lineup__detail__image {
        width: 100%;
        margin-bottom: 80px; }
      .contents .lineup__detail__alllineup__btn {
        width: 80%; }
        .contents .lineup__detail__alllineup__btn__image {
          width: 100%; }
      .contents .lineup__detail__other {
        width: 80%;
        margin: 30px auto auto auto;
        text-align: center; }
        .contents .lineup__detail__other :nth-child(odd) {
          margin-top: 20px; }
        .contents .lineup__detail__other__image {
          width: 100%; }
  .contents .lineup_pc {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #EEF2F3; }
    .contents .lineup_pc__detail {
      background-color: #FFF;
      width: 80%;
      margin: auto; }
      .contents .lineup_pc__detail__image {
        width: 100%;
        margin-bottom: 80px; }
      .contents .lineup_pc__detail__alllineup__btn {
        width: 80%; }
        .contents .lineup_pc__detail__alllineup__btn__image {
          width: 100%; }
      .contents .lineup_pc__detail__other {
        width: 80%;
        margin: 30px auto auto auto;
        text-align: center; }
        .contents .lineup_pc__detail__other :nth-child(odd) {
          margin-top: 20px; }
        .contents .lineup_pc__detail__other__image {
          width: 100%; }
  .contents .shop {
    padding-top: 80px;
    padding-bottom: 80px; }
    .contents .shop__title {
      text-align: center;
      margin-bottom: 50px; }
      .contents .shop__title__image {
        width: 80%;
        min-width: 100px; }
    .contents .shop__list {
      width: 80%;
      margin: auto auto 50px auto; }
      .contents .shop__list__item {
        text-align: center; }
        .contents .shop__list__item__city {
          width: 100%;
          margin-bottom: 5px; }
        .contents .shop__list__item__image {
          width: 100%;
          margin-bottom: 2px; }
        .contents .shop__list__item__detail {
          width: 100%; }
        .contents .shop__list__item:nth-child(n) {
          margin-top: 20px; }
    .contents .shop__more {
      text-align: center;
      width: 100%; }
      .contents .shop__more__message {
        color: #D76B00;
        margin-bottom: 20px; }
      .contents .shop__more__btn {
        width: 80%; }
  .contents .campaign__detail__popup {
    background-color: rgba(10, 29, 61, 0.9);
    padding: 50px;
    position: fixed;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    overflow-y: scroll; }
    .contents .campaign__detail__popup__head {
      margin-bottom: 20px; }
      .contents .campaign__detail__popup__head__image {
        width: 100%; }
    .contents .campaign__detail__popup__list {
      padding: 20px;
      margin-bottom: 50px;
      background-color: #FFF; }
      .contents .campaign__detail__popup__list__item:nth-child(n+2) {
        margin-top: 10px; } }

/**********************************************************************************
PC
**********************************************************************************/
@media (min-width: 671px), print {
  .header .band {
    padding-top: 10px;
    padding-bottom: 10px;
    background-color: #0A1D3D; }
    .header .band__text {
      color: white;
      text-align: center; }
  .header .mainvisual {
    position: relative; }
    .header .mainvisual__salescopy {
      position: absolute;
      color: #FFF;
      font-size: 0.5rem; } }
    @media screen and (min-width: 671px) and (min-width: 0px) and (max-width: 750px) {
      .header .mainvisual__salescopy {
        top: 1%;
        left: 5%; } }
    @media screen and (min-width: 671px) and (min-width: 751px) {
      .header .mainvisual__salescopy {
        top: 1%;
        left: 5%; } }

@media (min-width: 671px), print {
    .header .mainvisual__image {
      height: 100%;
      width: 100%;
      object-fit: cover; }
    .header .mainvisual__lede {
      position: absolute; } }
    @media screen and (min-width: 671px) and (min-width: 751px) {
      .header .mainvisual__lede {
        top: 5%;
        left: 5%;
        width: 60%; } }

@media (min-width: 671px), print {
    .header .mainvisual__banners {
      position: absolute;
      bottom: 5%;
      text-align: center;
      width: 100%; }
    .header .mainvisual__present {
      padding-bottom: 10px;
      width: 100%;
      margin: 0 auto; }
    .header .mainvisual__official {
      width: 100%; }
  .footer .band {
    background-color: #0A1D3D;
    padding-top: 20px;
    padding-bottom: 60px;
    padding-left: 20px;
    padding-right: 20px; }
    .footer .band__text {
      color: white;
      text-align: center;
      word-break: break-all; }
  .contents .campaign {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #EEF2F3; }
    .contents .campaign__title {
      text-align: center;
      margin-bottom: 50px; }
      .contents .campaign__title__image {
        width: 50%;
        min-width: 100px; }
    .contents .campaign__detail {
      max-width: 1200px;
      margin: 0 auto;
      background-color: #FFF;
      position: relative; }
      .contents .campaign__detail--sp {
        width: 80%; }
      .contents .campaign__detail--pc {
        background-color: #EEF2F3;
        text-align: center; }
      .contents .campaign__detail__present {
        width: 100%;
        padding: 20px; }
        .contents .campaign__detail__present__information {
          position: absolute;
          width: 100%;
          text-align: center;
          bottom: 10%;
          left: 30%; }
      .contents .campaign__detail__title {
        text-align: center; }
  .contents .campaign_pc {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #EEF2F3; }
    .contents .campaign_pc__title {
      text-align: center;
      margin-bottom: 50px; }
    .contents .campaign_pc__detail {
      background-color: #FFF;
      margin: auto;
      position: relative; }
      .contents .campaign_pc__detail--sp {
        width: 80%; }
      .contents .campaign_pc__detail--pc {
        background-color: #EEF2F3;
        text-align: center; }
      .contents .campaign_pc__detail__present {
        width: 100%;
        padding: 20px; }
        .contents .campaign_pc__detail__present__information {
          position: absolute;
          width: 80%;
          bottom: 7%;
          left: 28%; }
      .contents .campaign_pc__detail__title {
        text-align: center; }
  .contents .specialmovie {
    padding-top: 80px;
    padding-bottom: 80px; }
    .contents .specialmovie__title {
      text-align: center;
      margin-bottom: 50px; }
      .contents .specialmovie__title__image {
        width: auto;
        min-width: 100px; }
    .contents .specialmovie__lede {
      text-align: center;
      margin-bottom: 50px; }
      .contents .specialmovie__lede__image {
        width: auto; }
    .contents .specialmovie__player {
      margin-bottom: 80px;
      text-align: center; }
      .contents .specialmovie__player__video {
        width: 800px;
        margin: auto;
        display: block; }
    .contents .specialmovie__calousel {
      text-align: center;
      width: 1000px;
      margin: auto; }
      .contents .specialmovie__calousel__cell {
        width: 32%; }
  .contents .lineup {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #EEF2F3; }
    .contents .lineup__detail {
      max-width: 1200px;
      margin: auto; }
      .contents .lineup__detail__image {
        width: 100%;
        margin-bottom: 80px; }
      .contents .lineup__detail__alllineup__btn {
        width: 80%; }
        .contents .lineup__detail__alllineup__btn__image {
          width: 100%; }
      .contents .lineup__detail__other {
        width: 80%;
        margin: 30px auto auto auto;
        display: flex;
        justify-content: space-around; }
        .contents .lineup__detail__other img {
          margin: 10px; }
  .contents .lineup_pc {
    padding-top: 80px;
    padding-bottom: 80px;
    background-color: #EEF2F3; }
    .contents .lineup_pc__detail {
      background-color: #FFF;
      width: 80%;
      margin: auto; }
      .contents .lineup_pc__detail__image {
        width: 100%;
        margin-bottom: 80px; }
      .contents .lineup_pc__detail__alllineup__btn {
        width: 80%; }
        .contents .lineup_pc__detail__alllineup__btn__image {
          width: 100%; }
      .contents .lineup_pc__detail__other {
        width: 80%;
        margin: 30px auto auto auto;
        text-align: center; }
        .contents .lineup_pc__detail__other :nth-child(odd) {
          margin-top: 20px; }
        .contents .lineup_pc__detail__other__image {
          width: 100%; }
  .contents .shop {
    padding-top: 80px;
    padding-bottom: 80px; }
    .contents .shop__title {
      text-align: center;
      margin-bottom: 50px; }
      .contents .shop__title__image {
        min-width: 100px; }
    .contents .shop__list {
      width: 1040px;
      margin: 0 auto 50px auto;
      clear: both;
      display: flex;
      justify-content: space-between;
      flex-wrap: wrap; }
      .contents .shop__list__item {
        margin: 0 0 20px; }
    .contents .shop__more {
      text-align: center;
      width: 100%; }
      .contents .shop__more__message {
        color: #D76B00;
        margin-bottom: 20px; }
      .contents .shop__more__btn {
        width: auto; } }
