@charset "UTF-8";
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
/*----------------------------------------------------------------------------------------------------------
writing-mode mixin
    Usage:
        $orientation    v (vertical)
                        h (horizontal)
		$direction      rl (right to left)
						lr (left to right)
----------------------------------------------------------------------------------------------------------*/
html, body, div, span, applet, object, iframe,
h1, h2, h3, h4, h5, h6, p, blockquote, pre,
a, abbr, acronym, address, big, cite, code,
del, dfn, em, img, ins, kbd, q, s, samp,
small, strike, strong, sub, sup, tt, var,
b, u, i, center,
dl, dt, dd, ol, ul, li,
fieldset, form, label, legend,
table, caption, tbody, tfoot, thead, tr, th, td,
article, aside, canvas, details, embed,
figure, figcaption, footer, header, hgroup,
menu, nav, output, ruby, section, summary,
time, mark, audio, video {
  margin: 0;
  padding: 0;
  border: 0;
  font: inherit;
  font-size: 100%;
  vertical-align: baseline; }

html {
  line-height: 1; }

ol, ul {
  list-style: none; }

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

caption, th, td {
  text-align: left;
  font-weight: normal;
  vertical-align: middle; }

q, blockquote {
  quotes: none; }
  q:before, q:after, blockquote:before, blockquote:after {
    content: "";
    content: none; }

a img {
  border: none; }

article, aside, details, figcaption, figure, footer, header, hgroup, main, menu, nav, section, summary {
  display: block; }

/**
 * !!! 変数の定義 !!!
 * 変数は作りすぎず、デザインコンポーネント、もしくはシンボルを元に作成する
 * またGoogle Font等の特殊なウェブフォントの場合、そのフォント名を定義してわかりやすくする
 */
/**
 * !!! ブレークポイント !!!
 */
@media only screen and (max-width: 767px) {
  .pc {
    display: none !important; } }

@media only screen and (min-width: 768px) {
  .sp {
    display: none !important; } }

::-webkit-scrollbar {
  display: none;
  -webkit-appearance: none; }

/**
 * !!! browsersyncのアラートを非表示 !!!
 */
#__bs_notify__ {
  display: none !important; }

/**
 * !!! ページCSS基本設定 !!!
 * 基本的にこの箇所は操作しないようにする
 * ----------------ここから----------------
 */
html {
  font-size: 62.5%;
  font-family: "游ゴシック", YuGothic, "Hiragino Sans", "ヒラギノ角ゴ Pro", "Hiragino Kaku Gothic Pro", "メイリオ", "Meiryo", sans-serif;
  font-feature-settings: "palt";
  -webkit-font-smoothing: antialiased; }

body,
section {
  background: #000000;
  color: #fff; }

body {
  overscroll-behavior-y: none; }

* {
  font-size: 14px;
  font-size: 1.4rem;
  box-sizing: border-box; }

img {
  max-width: 100%;
  height: auto;
  vertical-align: bottom; }

a {
  color: inherit;
  text-decoration: none; }

input[type="text"],
input[type="email"],
input[type="number"] {
  padding: 0;
  border: none;
  border-radius: 0;
  outline: none;
  background: none; }

button,
input[type="submit"],
input[type="button"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  appearance: button;
  border: none;
  box-sizing: border-box; }
  button::-webkit-search-decoration,
  input[type="submit"]::-webkit-search-decoration,
  input[type="button"]::-webkit-search-decoration {
    display: none; }
  button::focus,
  input[type="submit"]::focus,
  input[type="button"]::focus {
    outline-offset: -2px; }

.row {
  overflow: hidden;
  *zoom: 1; }

/**
 * ----------------ここまで----------------
 */
/**
 * !!! FlexBox Rule !!!
 * 都度scssを記載するのではなく、クラスで定義し、クラスの付け外しで管理すること。
 */
.flex-row {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between; }

/**
 * !!! Inner Rule !!!
 * 最初にデザインを確認し、存在するinnerパターンを作成すること
 * max-width指定のみだと、画面幅を縮小するときに余白が消えるため、paddingをつけること
 * 例) innerが1000pxであれば、
 *     max-width: 1060px;
 *     padding: 0 30px;
 */
.inner {
  max-width: 1060px;
  padding: 0 30px;
  margin: 0 auto; }

.footer {
  padding: 0 58px;
  padding-top: 300px;
  padding-bottom: 60px; }
  @media only screen and (max-width: 767px) {
    .footer {
      padding: 0 0px;
      padding-top: 140px; } }
  .footer__inner {
    position: relative;
    text-align: center; }
    .footer__inner p {
      font-size: 12px;
      font-size: 1.2rem;
      color: #fff;
      margin-top: 52px;
      letter-spacing: 0.015em; }
      @media only screen and (max-width: 767px) {
        .footer__inner p {
          font-size: 10px;
          font-size: 1rem;
          margin-top: 36px;
          padding-bottom: 30px; } }
  .footer__brand a {
    display: inline-block;
    position: relative; }
    .footer__brand a img {
      display: inline-block;
      width: 78.4px; }
      @media only screen and (max-width: 767px) {
        .footer__brand a img {
          width: 60px; } }
      .footer__brand a img:nth-child(3) {
        margin-top: 17px; }
        @media only screen and (max-width: 767px) {
          .footer__brand a img:nth-child(3) {
            margin-top: 10px; } }
  .footer__parco {
    position: absolute;
    right: 0;
    top: 0; }
    @media only screen and (max-width: 767px) {
      .footer__parco {
        right: 20px;
        top: -40px; } }
    .footer__parco a {
      display: block; }
      .footer__parco a img {
        width: 46px; }
        @media only screen and (max-width: 767px) {
          .footer__parco a img {
            width: auto;
            height: 92px; } }

body.top .header__parco {
  display: none; }

body.sub .header__parco {
  z-index: 4; }

.header__toggle {
  position: fixed;
  left: 56px;
  top: 40px;
  z-index: 100;
  mix-blend-mode: difference; }
  @media only screen and (max-width: 767px) {
    .header__toggle {
      left: 25px;
      top: 30px; } }
  .header__toggle a {
    display: block;
    position: relative;
    width: 40px;
    height: 14px; }
    @media only screen and (max-width: 767px) {
      .header__toggle a {
        width: 30px;
        height: 12px; } }
    .header__toggle a.on span:nth-child(1) {
      top: 6px;
      -webkit-transform: rotate(-45deg);
      -moz-transform: rotate(-45deg);
      -ms-transform: rotate(-45deg);
      -o-transform: rotate(-45deg);
      transform: rotate(-45deg); }
      @media only screen and (max-width: 767px) {
        .header__toggle a.on span:nth-child(1) {
          top: 5px; } }
    .header__toggle a.on span:nth-child(2) {
      bottom: 6px;
      -webkit-transform: rotate(45deg);
      -moz-transform: rotate(45deg);
      -ms-transform: rotate(45deg);
      -o-transform: rotate(45deg);
      transform: rotate(45deg); }
      @media only screen and (max-width: 767px) {
        .header__toggle a.on span:nth-child(2) {
          bottom: 5px; } }
    .header__toggle a span {
      position: absolute;
      left: 0;
      width: 100%;
      height: 2px;
      background: #fff;
      -webkit-transition: all 0.3s;
      -moz-transition: all 0.3s;
      -o-transition: all 0.3s;
      transition: all 0.3s;
      -webkit-transform: rotate(0deg);
      -moz-transform: rotate(0deg);
      -ms-transform: rotate(0deg);
      -o-transform: rotate(0deg);
      transform: rotate(0deg); }
      .header__toggle a span:nth-child(1) {
        top: 0; }
      .header__toggle a span:nth-child(2) {
        bottom: 0; }

.header__brand {
  position: fixed;
  left: 50%;
  -webkit-transform: translateX(-50%);
  -moz-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  -o-transform: translateX(-50%);
  transform: translateX(-50%);
  top: 43px;
  mix-blend-mode: difference;
  z-index: 100;
  opacity: 1;
  -webkit-transition: opacity 0.3s;
  -moz-transition: opacity 0.3s;
  -o-transition: opacity 0.3s;
  transition: opacity 0.3s; }
  @media only screen and (max-width: 767px) {
    .header__brand {
      top: 20px; } }
  .header__brand.hide {
    opacity: 0;
    pointer-events: none; }
  .header__brand a {
    display: block; }
    .header__brand a img {
      width: 98px;
      height: 45px; }
      @media only screen and (max-width: 767px) {
        .header__brand a img {
          width: 60px;
          height: 29px; } }
      .header__brand a img:nth-child(3) {
        margin-top: 12px;
        height: auto !important; }
        @media only screen and (max-width: 767px) {
          .header__brand a img:nth-child(3) {
            height: auto !important;
            width: 60px !important;
            margin: auto;
            display: block;
            margin-top: 17px; } }

.header__parco {
  position: fixed;
  right: 56px;
  top: 42px;
  z-index: 0;
  mix-blend-mode: difference; }
  @media only screen and (max-width: 767px) {
    .header__parco {
      right: 20px;
      top: 18px; } }
  .header__parco a {
    display: block; }
    .header__parco a img {
      width: 46px;
      height: 162px; }
      @media only screen and (max-width: 767px) {
        .header__parco a img {
          width: auto;
          height: 92px; } }

.header__mega {
  position: fixed;
  left: 0;
  top: 0;
  width: 100%;
  height: 100%;
  background: #000000;
  z-index: 10;
  display: none; }
  @media only screen and (max-width: 767px) {
    .header__mega {
      width: 100%; } }
  .header__mega ul {
    position: absolute;
    left: 50%;
    top: 55%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%); }
    @media only screen and (max-width: 767px) {
      .header__mega ul {
        width: 100%; } }
    .header__mega ul li {
      text-align: center;
      margin: 2.60417vw 0; }
      @media only screen and (max-width: 767px) {
        .header__mega ul li {
          margin: 28px 0; } }
      .header__mega ul li a {
        color: #fff;
        font-family: acumin-pro-wide, sans-serif;
        font-size: 2.60417vw;
        font-weight: 700; }
        @media only screen and (max-width: 767px) {
          .header__mega ul li a {
            font-size: 18px;
            font-size: 1.8rem; } }

.header.sub .header__brand a img {
  width: 60px;
  height: 29px; }

.appear-contents {
  opacity: 0;
  position: fixed;
  z-index: 2;
  margin-top: 240px;
  top: 200px; }
  @media only screen and (max-width: 767px) {
    .appear-contents {
      margin-top: 160px; } }
  .appear-contents__inner {
    padding: 0 3.02083vw;
    max-width: 1550px;
    margin: auto;
    width: 90%; }
    @media only screen and (max-width: 767px) {
      .appear-contents__inner {
        padding: 0; } }
  .appear-contents__box {
    margin-top: 7.29167vw;
    color: white;
    font-family: acumin-pro-wide, sans-serif; }
    @media only screen and (max-width: 767px) {
      .appear-contents__box {
        margin-top: 50px; } }
    .appear-contents__box h2 {
      font-size: 2.29167vw;
      font-weight: 600; }
      @media only screen and (max-width: 767px) {
        .appear-contents__box h2 {
          font-size: 22px;
          font-size: 2.2rem;
          line-height: 1.2; } }
    .appear-contents__box p {
      font-size: 1.43229vw;
      margin-top: 0.9375vw; }
      @media only screen and (max-width: 767px) {
        .appear-contents__box p {
          font-size: 13px;
          font-size: 1.3rem;
          margin-top: 6px; } }
    .appear-contents__box a {
      display: block;
      margin-top: 2.1875vw;
      overflow: hidden;
      padding-top: 50%;
      position: relative; }
      @media only screen and (max-width: 767px) {
        .appear-contents__box a {
          margin-top: 30px; } }
      .appear-contents__box a:hover img {
        -webkit-transform: scale(1.06);
        -moz-transform: scale(1.06);
        -ms-transform: scale(1.06);
        -o-transform: scale(1.06);
        transform: scale(1.06); }
      .appear-contents__box a img {
        position: absolute;
        top: 0;
        bottom: 0;
        left: 0;
        right: 0;
        margin: auto;
        display: block;
        width: 100%;
        -webkit-transition: -webkit-transform 1s;
        -moz-transition: -moz-transform 1s;
        -o-transition: -o-transform 1s;
        transition: transform 1s;
        -webkit-transform: scale(1);
        -moz-transform: scale(1);
        -ms-transform: scale(1);
        -o-transform: scale(1);
        transform: scale(1); }
  .appear-contents__newstopics {
    padding-top: 12.5vw; }
    @media only screen and (max-width: 767px) {
      .appear-contents__newstopics {
        padding-top: 100px; } }
    .appear-contents__newstopics > h2 {
      font-family: acumin-pro-wide, sans-serif;
      font-size: 2.29167vw;
      font-weight: 600;
      color: #fff; }
      @media only screen and (max-width: 767px) {
        .appear-contents__newstopics > h2 {
          font-size: 22px;
          font-size: 2.2rem; } }
    .appear-contents__newstopics__row {
      display: -webkit-flex;
      display: flex;
      -webkit-flex-wrap: wrap;
      flex-wrap: wrap;
      -webkit-justify-content: space-between;
      justify-content: space-between;
      padding: 0 4.16667vw;
      padding-top: 11.19792vw; }
      @media only screen and (max-width: 767px) {
        .appear-contents__newstopics__row {
          padding: 0; } }
    .appear-contents__newstopics__col {
      width: 47.9012346%; }
      @media only screen and (min-width: 768px) {
        .appear-contents__newstopics__col {
          margin-top: 6.14583vw; }
          .appear-contents__newstopics__col:nth-child(1), .appear-contents__newstopics__col:nth-child(2) {
            margin-top: 0; } }
      @media only screen and (max-width: 767px) {
        .appear-contents__newstopics__col {
          width: 100%;
          margin-top: 32px; } }
      .appear-contents__newstopics__col h3 {
        font-family: acumin-pro-wide, sans-serif;
        font-size: 1.66667vw;
        font-weight: 600; }
        @media only screen and (max-width: 767px) {
          .appear-contents__newstopics__col h3 {
            font-size: 16px;
            font-size: 1.6rem; } }
      .appear-contents__newstopics__col h4 {
        font-family: acumin-pro-wide, sans-serif;
        font-size: 1.04167vw;
        margin-top: 0.83333vw; }
        @media only screen and (max-width: 767px) {
          .appear-contents__newstopics__col h4 {
            font-size: 14px;
            font-size: 1.4rem;
            margin-top: 4px; } }
      .appear-contents__newstopics__col p {
        font-size: 1.25vw;
        margin-top: 1.66667vw;
        line-height: 1.5; }
        @media only screen and (max-width: 767px) {
          .appear-contents__newstopics__col p {
            font-size: 13px;
            font-size: 1.3rem;
            margin-top: 18px; } }
      .appear-contents__newstopics__col img {
        display: block;
        width: 100%;
        margin-top: 1.66667vw; }
        @media only screen and (max-width: 767px) {
          .appear-contents__newstopics__col img {
            margin-top: 20px; } }
  .appear-contents__shop {
    padding-top: 15.625vw; }
    @media only screen and (max-width: 767px) {
      .appear-contents__shop {
        padding-top: 100px; } }
    .appear-contents__shop h2 {
      font-family: acumin-pro-wide, sans-serif;
      font-size: 2.29167vw;
      font-weight: 600; }
      @media only screen and (max-width: 767px) {
        .appear-contents__shop h2 {
          font-size: 22px;
          font-size: 2.2rem;
          line-height: 1.2; } }
    .appear-contents__shop p {
      font-family: acumin-pro-wide, sans-serif;
      font-size: 1.43229vw;
      margin-top: 0.9375vw; }
      @media only screen and (max-width: 767px) {
        .appear-contents__shop p {
          font-size: 13px;
          font-size: 1.3rem;
          margin-top: 6px; } }
    .appear-contents__shop img {
      display: block;
      width: 100%;
      margin-top: 1.66667vw; }
      @media only screen and (max-width: 767px) {
        .appear-contents__shop img {
          margin-top: 20px; } }
  .appear-contents__sub > div {
    padding-top: 0; }

.disabled-scroll {
  height: 100vh;
  /* 変数をサポートしていないブラウザのフォールバック */
  height: calc(var(--vh, 1vh) * 100);
  overflow: hidden; }

.loading-overlay {
  position: fixed;
  left: 0;
  top: 0;
  z-index: 10000;
  width: 100%;
  height: 100%;
  background: #000; }
  .loading-overlay__box {
    position: absolute;
    top: 0;
    bottom: 0;
    left: 0;
    right: 0;
    margin: auto;
    width: 300px;
    height: 300px;
    display: inline-block;
    /* ローディングアニメーション */
    /* Loading テキスト */ }
    .loading-overlay__box .spinner {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      -webkit-transform-origin: center;
      transform-origin: center;
      width: 300px;
      height: 300px; }
    .loading-overlay__box .spinner span {
      position: absolute;
      top: 50%;
      left: 50%;
      -webkit-transform: translate(-50%, -50%);
      transform: translate(-50%, -50%);
      font-size: 12px; }
    .loading-overlay__box .box {
      position: relative;
      top: 10px;
      width: 33.33vw;
      height: 33.33vw;
      max-width: 200px;
      max-height: 200px;
      min-width: 180px;
      min-height: 180px;
      display: inline-block;
      border: 1px solid rgba(203, 28, 44, 0.24); }
    .loading-overlay__box .box * {
      letter-spacing: normal;
      white-space: normal; }
    .loading-overlay__box .spinner {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      transform-origin: center;
      width: 120px;
      height: 120px; }
    .loading-overlay__box .spinner span {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      font-size: 12px; }
    .loading-overlay__box .spinner.type1 {
      border-radius: 50%;
      border-width: 8px;
      border-style: solid;
      border-color: #fff rgba(203, 28, 44, 0.12) rgba(203, 28, 44, 0.12);
      -webkit-animation: spinner1_1 1.5s infinite linear forwards;
      animation: spinner1_1 1.5s infinite linear forwards; }
    .loading-overlay__box .spinner.type1 span {
      animation: spinner_loading_text 5s infinite linear forwards reverse; }
    .loading-overlay__box .spinner.type2 {
      border-radius: 50%;
      border-width: 4px;
      border-style: solid;
      border-color: #fff transparent;
      -webkit-animation: spinner1_1 2.2s infinite linear forwards;
      animation: spinner1_1 2.2s infinite linear forwards; }
    .loading-overlay__box .spinner.type2::before {
      content: "";
      position: absolute;
      top: 4px;
      left: 4px;
      right: 4px;
      bottom: 4px;
      border-radius: 50%;
      border-width: 4px;
      border-style: solid;
      border-color: #fff transparent;
      animation: spinner1_2 0.8s infinite linear forwards reverse; }
    .loading-overlay__box .spinner.type2 span {
      animation: spinner_loading_text 2.2s infinite linear forwards reverse; }
    .loading-overlay__box .spinner.type3 {
      border-radius: 50%;
      border-width: 6px;
      border-style: solid;
      border-color: #fff transparent transparent;
      animation: spinner1_1 1.8s infinite linear forwards reverse; }
    .loading-overlay__box .spinner.type3::before,
    .loading-overlay__box .spinner.type3::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0;
      width: 50%;
      height: 50%;
      opacity: 0.6; }
    .loading-overlay__box .spinner.type3::before {
      transform-origin: right bottom;
      border-right: 1px solid;
      z-index: 1;
      -webkit-animation: spinner1_2 0.4s infinite linear forwards;
      animation: spinner1_2 0.4s infinite linear forwards; }
    .loading-overlay__box .spinner.type3::after {
      transform-origin: calc(100% - 2px) bottom;
      border-right: 4px solid;
      z-index: 2;
      -webkit-animation: spinner3_1 1.5s infinite linear forwards;
      animation: spinner3_1 1.5s infinite linear forwards; }
    .loading-overlay__box .spinner.type3 span {
      z-index: 3;
      -webkit-animation: spinner_loading_text 1.8s infinite linear forwards;
      animation: spinner_loading_text 1.8s infinite linear forwards; }
    .loading-overlay__box .spinner.type4 {
      -webkit-animation: spinner1_1 1.2s infinite linear forwards;
      animation: spinner1_1 1.2s infinite linear forwards; }
    .loading-overlay__box .spinner.type4::before,
    .loading-overlay__box .spinner.type4::after {
      content: "";
      position: absolute;
      top: 0;
      left: 0; }
    .loading-overlay__box .spinner.type4::before {
      width: 50%;
      height: 50%;
      transform-origin: right bottom;
      border-right: 1px solid;
      background: linear-gradient(10deg, rgba(203, 28, 44, 0) 0%, rgba(203, 28, 44, 0.5) 72%, rgba(203, 28, 44, 0.6) 100%);
      transform: rotate(45deg);
      z-index: 1;
      border-color: #cb1c2c; }
    .loading-overlay__box .spinner.type4::after {
      width: 100%;
      height: 100%;
      border-radius: 50%;
      box-shadow: 0 -30px #000;
      z-index: 2; }
    .loading-overlay__box .spinner.type4 span {
      z-index: 3;
      font-family: acumin-pro-wide, sans-serif;
      font-weight: 600;
      font-size: 20px;
      font-size: 2rem;
      letter-spacing: 0.6em;
      text-align: center;
      animation: spinner_loading_text 1.2s infinite linear forwards reverse; }
    .loading-overlay__box .spinner.type5 {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      -webkit-animation: spinner5_1 1.2s infinite linear forwards;
      animation: spinner5_1 1.2s infinite linear forwards; }
    .loading-overlay__box .spinner.type5 span {
      display: none; }
    .loading-overlay__box .spinner.type6 {
      width: 20px;
      height: 20px;
      background-color: #fff;
      -webkit-animation: spinner6_1 1.4s infinite linear forwards;
      animation: spinner6_1 1.4s infinite linear forwards; }
    .loading-overlay__box .spinner.type6 span {
      display: none; }
    .loading-overlay__box .spinner.type7 {
      width: 20px;
      height: 20px;
      background-color: #fff;
      -webkit-animation: spinner7_1 1.4s infinite linear forwards;
      animation: spinner7_1 1.4s infinite linear forwards; }
    .loading-overlay__box .spinner.type7 span {
      display: none; }
    .loading-overlay__box .spinner.type7::before,
    .loading-overlay__box .spinner.type7::after {
      content: "";
      position: absolute;
      width: 20px;
      height: 20px;
      background-color: #fff; }
    .loading-overlay__box .spinner.type7::before {
      top: -20px;
      left: -20px;
      -webkit-animation: spinner7_2 1.4s infinite linear forwards;
      animation: spinner7_2 1.4s infinite linear forwards; }
    .loading-overlay__box .spinner.type7::after {
      top: 20px;
      left: 20px;
      -webkit-animation: spinner7_3 1.4s infinite linear forwards;
      animation: spinner7_3 1.4s infinite linear forwards; }
    .loading-overlay__box .spinner.type8 {
      width: 20px;
      height: 20px;
      border-radius: 50%;
      -webkit-animation: spinner8_1 1.4s infinite linear;
      animation: spinner8_1 1.4s infinite linear; }
    .loading-overlay__box .spinner.type8 span {
      -webkit-animation: spinner8_loading_text 1.4s infinite linear;
      animation: spinner8_loading_text 1.4s infinite linear; }
    .loading-overlay__box .spinner.type9::before,
    .loading-overlay__box .spinner.type9::after {
      content: "";
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      transform-origin: center;
      width: 22px;
      height: 22px;
      border-radius: 50%;
      background-color: rgba(203, 28, 44, 0.2); }
    .loading-overlay__box .spinner.type9::before {
      -webkit-animation: spinner9_1 0.8s infinite linear;
      animation: spinner9_1 0.8s infinite linear; }
    .loading-overlay__box .spinner.type9::after {
      animation: spinner9_1 0.8s infinite linear reverse; }
    .loading-overlay__box .spinner.type9 span {
      display: none; }

@-webkit-keyframes spinner1_1 {
  0% {
    transform: translate(-50%, -50%) rotate(0); }
  100% {
    transform: translate(-50%, -50%) rotate(360deg); } }

@keyframes spinner1_1 {
  0% {
    transform: translate(-50%, -50%) rotate(0); }
  100% {
    transform: translate(-50%, -50%) rotate(360deg); } }

@-webkit-keyframes spinner1_2 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@keyframes spinner1_2 {
  0% {
    transform: rotate(0deg); }
  100% {
    transform: rotate(360deg); } }

@-webkit-keyframes spinner3_1 {
  0% {
    transform: translateX(2px) translateZ(0) rotate(0deg); }
  100% {
    transform: translateX(2px) translateZ(0) rotate(360deg); } }

@keyframes spinner3_1 {
  0% {
    transform: translateX(2px) translateZ(0) rotate(0deg); }
  100% {
    transform: translateX(2px) translateZ(0) rotate(360deg); } }

@-webkit-keyframes spinner5_1 {
  0% {
    opacity: 0.2;
    box-shadow: 0;
    transform: translate(-50%, -50%) rotate(0) scale(0.5); }
  50% {
    opacity: 1;
    box-shadow: 21px 21px, -21px -21px, 21px -21px, -21px 21px;
    transform: translate(-50%, -50%) rotate(180deg) scale(1); }
  100% {
    opacity: 0.2;
    box-shadow: 0;
    transform: translate(-50%, -50%) rotate(360deg) scale(0.5); } }

@keyframes spinner5_1 {
  0% {
    opacity: 0.2;
    box-shadow: 0;
    transform: translate(-50%, -50%) rotate(0) scale(0.5); }
  50% {
    opacity: 1;
    box-shadow: 21px 21px, -21px -21px, 21px -21px, -21px 21px;
    transform: translate(-50%, -50%) rotate(180deg) scale(1); }
  100% {
    opacity: 0.2;
    box-shadow: 0;
    transform: translate(-50%, -50%) rotate(360deg) scale(0.5); } }

@-webkit-keyframes spinner6_1 {
  0% {
    box-shadow: 0;
    transform: translate(-50%, -50%) rotate(0) scale(0.5); }
  50% {
    box-shadow: -25px 0, 25px 0, 0 -25px, 0 25px, 25px 25px, -25px -25px, 25px -25px, -25px 25px;
    transform: translate(-50%, -50%) rotate(90deg) scale(1);
    background-color: transparent; }
  100% {
    opacity: 0.5;
    box-shadow: 0;
    transform: translate(-50%, -50%) rotate(180deg) scale(0.5); } }

@keyframes spinner6_1 {
  0% {
    box-shadow: 0;
    transform: translate(-50%, -50%) rotate(0) scale(0.5); }
  50% {
    box-shadow: -25px 0, 25px 0, 0 -25px, 0 25px, 25px 25px, -25px -25px, 25px -25px, -25px 25px;
    transform: translate(-50%, -50%) rotate(90deg) scale(1);
    background-color: transparent; }
  100% {
    opacity: 0.5;
    box-shadow: 0;
    transform: translate(-50%, -50%) rotate(180deg) scale(0.5); } }

@-webkit-keyframes spinner7_1 {
  0%,
  100% {
    background-color: #fff; }
  50% {
    background-color: rgba(203, 28, 44, 0); } }

@keyframes spinner7_1 {
  0%,
  100% {
    background-color: #fff; }
  50% {
    background-color: rgba(203, 28, 44, 0); } }

@-webkit-keyframes spinner7_2 {
  0%,
  100% {
    transform: translate(0, 0) rotateX(0) rotateY(0); }
  25% {
    transform: translate(0, calc(100% + 20px)) rotateX(180deg) rotateY(0); }
  50% {
    transform: translate(calc(100% + 20px), calc(100% + 20px)) rotateX(180deg) rotateY(180deg); }
  75% {
    transform: translate(calc(100% + 20px), 0) rotateX(0deg) rotateY(180deg); } }

@keyframes spinner7_2 {
  0%,
  100% {
    transform: translate(0, 0) rotateX(0) rotateY(0); }
  25% {
    transform: translate(0, calc(100% + 20px)) rotateX(180deg) rotateY(0); }
  50% {
    transform: translate(calc(100% + 20px), calc(100% + 20px)) rotateX(180deg) rotateY(180deg); }
  75% {
    transform: translate(calc(100% + 20px), 0) rotateX(0deg) rotateY(180deg); } }

@-webkit-keyframes spinner7_3 {
  0%,
  100% {
    transform: translate(0, 0) rotateX(0) rotateY(0); }
  25% {
    transform: translate(0, calc(-100% - 20px)) rotateX(-180deg) rotateY(0); }
  50% {
    transform: translate(calc(-100% - 20px), calc(-100% - 20px)) rotateX(-180deg) rotateY(-180deg); }
  75% {
    transform: translate(calc(-100% - 20px), 0) rotateX(0) rotateY(-180deg); } }

@keyframes spinner7_3 {
  0%,
  100% {
    transform: translate(0, 0) rotateX(0) rotateY(0); }
  25% {
    transform: translate(0, calc(-100% - 20px)) rotateX(-180deg) rotateY(0); }
  50% {
    transform: translate(calc(-100% - 20px), calc(-100% - 20px)) rotateX(-180deg) rotateY(-180deg); }
  75% {
    transform: translate(calc(-100% - 20px), 0) rotateX(0) rotateY(-180deg); } }

@-webkit-keyframes spinner8_1 {
  0%,
  95%,
  100% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  5% {
    box-shadow: -28px -28px, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  10% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  15% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  20% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent;
    background-color: transparent; }
  25% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent;
    background-color: #fff; }
  30% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  35% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px transparent, 28px 28px transparent; }
  40% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px transparent; }
  45%,
  50% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px; }
  55% {
    box-shadow: -28px -28px transparent, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px; }
  60% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px; }
  65% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px; }
  70% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0, -28px 28px, 0 28px, 28px 28px;
    background-color: #fff; }
  75% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0, -28px 28px, 0 28px, 28px 28px;
    background-color: transparent; }
  80% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px, 0 28px, 28px 28px; }
  85% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px, 28px 28px; }
  90% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px; } }

@keyframes spinner8_1 {
  0%,
  95%,
  100% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  5% {
    box-shadow: -28px -28px, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  10% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  15% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  20% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent;
    background-color: transparent; }
  25% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px transparent;
    background-color: #fff; }
  30% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px transparent, 0 28px transparent, 28px 28px transparent; }
  35% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px transparent, 28px 28px transparent; }
  40% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px transparent; }
  45%,
  50% {
    box-shadow: -28px -28px, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px; }
  55% {
    box-shadow: -28px -28px transparent, 0 -28px, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px; }
  60% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px; }
  65% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0, 28px 0, -28px 28px, 0 28px, 28px 28px; }
  70% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0, -28px 28px, 0 28px, 28px 28px;
    background-color: #fff; }
  75% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0, -28px 28px, 0 28px, 28px 28px;
    background-color: transparent; }
  80% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px, 0 28px, 28px 28px; }
  85% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px, 28px 28px; }
  90% {
    box-shadow: -28px -28px transparent, 0 -28px transparent, 28px -28px transparent, -28px 0 transparent, 28px 0 transparent, -28px 28px transparent, 0 28px transparent, 28px 28px; } }

@-webkit-keyframes spinner9_1 {
  0% {
    transform: translate(-50%, -50%) scale(1); }
  100% {
    transform: translate(-50%, -50%) scale(2.8); } }

@keyframes spinner9_1 {
  0% {
    transform: translate(-50%, -50%) scale(1); }
  100% {
    transform: translate(-50%, -50%) scale(2.8); } }

@-webkit-keyframes spinner8_loading_text {
  0% {
    transform: translate(-50%, -50%); }
  50% {
    transform: translate(-50%, calc(-50% + 32px));
    opacity: 0; }
  50.1% {
    transform: translate(-50%, calc(-50% - 32px));
    opacity: 0; }
  100% {
    transform: translate(-50%, -50%);
    opacity: 1; } }

@keyframes spinner8_loading_text {
  0% {
    transform: translate(-50%, -50%); }
  50% {
    transform: translate(-50%, calc(-50% + 32px));
    opacity: 0; }
  50.1% {
    transform: translate(-50%, calc(-50% - 32px));
    opacity: 0; }
  100% {
    transform: translate(-50%, -50%);
    opacity: 1; } }

@-webkit-keyframes spinner_loading_text {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(0deg); }
  50% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(180deg); }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(360deg); } }

@keyframes spinner_loading_text {
  0% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(0deg); }
  50% {
    opacity: 0;
    transform: translate(-50%, -50%) rotate(180deg); }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) rotate(360deg); } }

.mainvisual {
  overflow: hidden;
  position: fixed;
  z-index: 3;
  left: 0;
  top: 0;
  width: 100%;
  background: transparent; }
  .mainvisual.fixed {
    mix-blend-mode: difference;
    z-index: 11; }
  .mainvisual__inner {
    height: 100%; }
  .mainvisual__maskarea {
    position: fixed;
    width: 93.59375%;
    -webkit-transform: translate(-50%, -50%);
    -moz-transform: translate(-50%, -50%);
    -ms-transform: translate(-50%, -50%);
    -o-transform: translate(-50%, -50%);
    transform: translate(-50%, -50%);
    top: 50%;
    left: 50%;
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between;
    z-index: 2;
    opacity: 1;
    -webkit-transition: opacity 0.3s;
    -moz-transition: opacity 0.3s;
    -o-transition: opacity 0.3s;
    transition: opacity 0.3s; }
    .mainvisual__maskarea.hide {
      opacity: 0;
      pointer-events: none; }
    .mainvisual__maskarea > img:nth-child(1) {
      display: block;
      width: 100%;
      position: relative;
      z-index: 1;
      opacity: 0; }
    .mainvisual__maskarea > img:nth-child(2) {
      position: absolute;
      display: block;
      width: 100%; }
  .mainvisual__parco {
    position: fixed;
    max-height: 830px;
    z-index: 1;
    -webkit-transform: translateY(-50%);
    -moz-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    -o-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 34px;
    height: 94px;
    top: 86px; }
    @media only screen and (max-width: 767px) {
      .mainvisual__parco {
        right: 20px;
        height: 92px;
        top: 66px; } }
    .mainvisual__parco img {
      height: 100%;
      display: block; }

.product-archive__inner {
  padding: 0 3.02083vw;
  max-width: 1550px;
  margin: auto;
  padding-top: 21.35417vw;
  width: 90%; }
  @media only screen and (max-width: 767px) {
    .product-archive__inner {
      padding: 0;
      padding-top: 160px; } }

.product-archive__intro h1 {
  font-family: acumin-pro-wide, sans-serif;
  font-size: 2.29167vw;
  font-weight: 600; }
  @media only screen and (max-width: 767px) {
    .product-archive__intro h1 {
      font-size: 22px;
      font-size: 2.2rem;
      padding: 0; } }

.product-archive__intro h2 {
  font-family: acumin-pro-wide, sans-serif;
  font-size: 1.43229vw;
  margin-top: 0.9375vw; }
  @media only screen and (max-width: 767px) {
    .product-archive__intro h2 {
      font-size: 14px;
      font-size: 1.4rem;
      padding: 0;
      margin-top: 8px; } }

.product-archive__intro p {
  font-size: 1.14583vw;
  margin-top: 3.95833vw;
  width: 44.79167vw;
  line-height: 1.545454545; }
  @media only screen and (max-width: 767px) {
    .product-archive__intro p {
      font-size: 13px;
      font-size: 1.3rem;
      padding: 0;
      width: 100%;
      margin-top: 20px; } }

.product-archive__list {
  display: -webkit-flex;
  display: flex;
  -webkit-flex-wrap: wrap;
  flex-wrap: wrap;
  -webkit-justify-content: space-between;
  justify-content: space-between;
  align-items: flex-start; }

.product-archive__col {
  width: 48.189415%;
  margin-top: 9.375vw;
  padding-top: 1.875vw;
  position: relative; }
  @media only screen and (max-width: 767px) {
    .product-archive__col {
      width: 100%;
      margin-top: 20px;
      padding-top: 20px; } }
  .product-archive__col:before {
    content: " ";
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    left: 0;
    top: 0; }
  .product-archive__col a {
    display: block; }
    .product-archive__col a h3 {
      font-family: acumin-pro-wide, sans-serif;
      font-size: 1.875vw;
      font-weight: 600; }
      @media only screen and (max-width: 767px) {
        .product-archive__col a h3 {
          font-size: 20px;
          font-size: 2rem; } }
    .product-archive__col a p {
      font-family: acumin-pro-wide, sans-serif;
      font-size: 1.35417vw;
      margin-top: 1.35417vw; }
      @media only screen and (max-width: 767px) {
        .product-archive__col a p {
          font-size: 14px;
          font-size: 1.4rem;
          margin: 8px 0; } }
    .product-archive__col a .img {
      background: #a5a4a9; }
    .product-archive__col a img {
      display: block;
      margin: auto;
      margin-top: 1.875vw;
      padding: 6% 0;
      width: 80%; }
      @media only screen and (max-width: 767px) {
        .product-archive__col a img {
          margin-top: 20px; } }

.shop {
  padding-top: 20.52083vw; }
  @media only screen and (max-width: 767px) {
    .shop {
      padding: 0;
      padding-top: 160px; } }
  .shop__inner {
    padding: 0 3.02083vw;
    max-width: 1550px;
    margin: auto;
    width: 90%; }
    @media only screen and (max-width: 767px) {
      .shop__inner {
        padding: 0;
        width: 100%; } }
  .shop__row {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    -webkit-justify-content: space-between;
    justify-content: space-between; }
    .shop__row > div:nth-child(1) {
      width: 48.471373%; }
      @media only screen and (max-width: 767px) {
        .shop__row > div:nth-child(1) {
          width: 100%;
          padding: 0 20px; } }
      .shop__row > div:nth-child(1) h1 {
        font-family: acumin-pro-wide, sans-serif;
        font-size: 2.29167vw;
        font-weight: 600; }
        @media only screen and (max-width: 767px) {
          .shop__row > div:nth-child(1) h1 {
            font-size: 22px;
            font-size: 2.2rem; } }
      .shop__row > div:nth-child(1) h2 {
        font-family: acumin-pro-wide, sans-serif;
        font-size: 1.43229vw;
        margin-top: 0.9375vw; }
        @media only screen and (max-width: 767px) {
          .shop__row > div:nth-child(1) h2 {
            font-size: 16px;
            font-size: 1.6rem; } }
      .shop__row > div:nth-child(1) p {
        font-size: 1.14583vw;
        line-height: 1.545454545; }
        @media only screen and (max-width: 767px) {
          .shop__row > div:nth-child(1) p {
            font-size: 13px;
            font-size: 1.3rem; } }
        .shop__row > div:nth-child(1) p:nth-child(3) {
          margin-top: 4.0625vw; }
          @media only screen and (max-width: 767px) {
            .shop__row > div:nth-child(1) p:nth-child(3) {
              margin-top: 40px; } }
        .shop__row > div:nth-child(1) p:nth-child(4) {
          margin-top: 6.66667vw; }
          @media only screen and (max-width: 767px) {
            .shop__row > div:nth-child(1) p:nth-child(4) {
              margin-top: 60px; } }
    .shop__row > div:nth-child(2) {
      width: 45.0250139%; }
      @media only screen and (max-width: 767px) {
        .shop__row > div:nth-child(2) {
          width: 100%;
          margin-top: 50px; } }
      .shop__row > div:nth-child(2) img {
        display: block; }

/**

 */
body.top {
  height: 100%;
  width: 100%; }
