@charset "UTF-8";
/*Color Management*/
:root {
  --s-font-noto: 'Noto Sans JP';
  --s-font-inter: Inter;
  --fw-5: 500;
  --fw-6: 600;
  --fw-7: 700;
  --fw-8: 800;
  --color-text: #231815;
  --backgrounds1: #fcfdff;
  --backgrounds2: #f5f9ff;
  --backgrounds2: #f5f9ff;
  --components1: #ebf2ff;
  --components2: #dde9ff;
  --components3: #cfdeff;
  --separators1: #bdd0ff;
  --separators2: #a5bcff;
  --separators3: #849fff;
  --key1: #645045;
  --key2: #f1eee3;
  --key3: #ea535e;
  --key4: #f5a100;
  --f7: #f7f7f7;
  --white: #fff;
  --color-gray: #757575;
  --color-lightgray: #fbf8f7;
  --black: #171617;
  --border-light-black: rgba(31,69,94,.1025);
  --border-light-white: rgba(255,255,255,.328); }

/*Basic Color*/
/*Couplate Color*/
/*Footer*/
/*ASIDE*/
/*!color*/
/*!レスポンシブ*/
/*mouse-follower-dev*/
.mf-cursor {
  color: #555555;
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10001 !important;
  direction: ltr;
  contain: layout style size;
  pointer-events: none;
  transition: opacity 0.3s, color 0.4s; }
  @media screen and (max-width: 768px) {
    .mf-cursor {
      display: none; } }
  .mf-cursor:before {
    content: "";
    position: absolute;
    top: -24px;
    left: -24px;
    display: block;
    width: 48px;
    height: 48px;
    transform: scale(0.2);
    background: currentColor;
    border-radius: 50%;
    transition: transform 0.25s ease-in-out, opacity 0.1s; }
  .mf-cursor.-inverse {
    color: #aaaaaa; }
  @supports (mix-blend-mode: exclusion) {
    .mf-cursor.-exclusion {
      mix-blend-mode: exclusion; }
      .mf-cursor.-exclusion:before {
        background: #aaaaaa; } }
  .mf-cursor.-pointer:before {
    transform: scale(0.15); }
  .mf-cursor.-text {
    white-space: nowrap; }
    .mf-cursor.-text:before {
      opacity: 0.85;
      transform: scale(1.7); }
    .mf-cursor.-text.-active:before {
      transform: scale(1.6);
      transition-duration: 0.2s; }
  .mf-cursor.-icon:before {
    transform: scale(1.5); }
  .mf-cursor.-icon.-active:before {
    transform: scale(1.4); }
  .mf-cursor.-hidden:before {
    transform: scale(0); }
  .mf-cursor-text {
    position: absolute;
    top: -18px;
    left: -18px;
    width: 36px;
    height: 36px;
    display: flex;
    align-items: center;
    justify-content: center;
    transform: scale(0) rotate(10deg);
    opacity: 0;
    color: #fff;
    font-size: 16px;
    line-height: 20px;
    text-align: center;
    transition: opacity 0.4s, transform 0.3s; }
    .mf-cursor.-text .mf-cursor-text, .mf-cursor.-icon .mf-cursor-text {
      opacity: 1;
      transform: scale(1); }
  .mf-cursor-media {
    position: absolute;
    width: 150px !important;
    height: 150px !important;
    margin: -75px 0 0 -75px !important; }
    @media screen and (max-width: 768px) {
      .mf-cursor-media {
        width: 108px !important;
        height: 108px !important;
        margin: -54px 0 0 -54px !important; } }
    .mf-cursor-media img, .mf-cursor-media video {
      position: absolute;
      top: 50%;
      left: 50%;
      transform: translate(-50%, -50%);
      border-radius: 50%; }
      @supports (object-fit: cover) {
        .mf-cursor-media img, .mf-cursor-media video {
          position: static;
          width: 100%;
          height: 100%;
          object-fit: cover;
          transform: translateZ(0); } }
    .mf-cursor-media-box {
      position: relative;
      width: 100%;
      height: 100%;
      overflow: hidden;
      transform: scale(0) translateZ(0);
      padding: 1px;
      opacity: 0;
      border-radius: 50%;
      transition: transform 0.35s, opacity 0.2s 0.2s; }
      .mf-cursor.-media .mf-cursor-media-box {
        opacity: 1;
        transform: scale(0.696);
        transition-duration: 0.4s, 0.4s;
        transition-delay: 0s, 0s; }

html {
  font-family: sans-serif;
  -ms-text-size-adjust: 100%;
  -webkit-text-size-adjust: 100%; }

body {
  margin: 0; }

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

audio, canvas, progress, video {
  display: inline-block;
  vertical-align: baseline; }

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

[hidden], template {
  display: none; }

a {
  background: transparent; }

a:active, a:hover {
  outline: 0; }

abbr[title] {
  border-bottom: 1px dotted; }

b, strong {
  font-weight: 700; }

dfn {
  font-style: italic; }

h1 {
  font-size: 2em;
  margin: .67em 0; }

mark {
  background: #ff0;
  color: #000; }

small {
  font-size: 80%; }

sub, sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline; }

sup {
  top: -.5em; }

sub {
  bottom: -.25em; }

img {
  border: 0; }

svg:not(:root) {
  overflow: hidden; }

figure {
  margin: 1em 40px; }

hr {
  -moz-box-sizing: content-box;
  box-sizing: content-box;
  height: 0; }

pre {
  overflow: auto; }

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

input, optgroup, select, textarea {
  color: inherit;
  font: inherit;
  margin: 0; }

button {
  overflow: visible; }

button, select {
  text-transform: none; }

button, html input[type="button"], input[type=reset], input[type=submit] {
  -webkit-appearance: button;
  /*cursor:pointer*/ }

button[disabled], html input[disabled] {
  /*cursor:default*/ }

button::-moz-focus-inner, input::-moz-focus-inner {
  border: 0;
  padding: 0; }

input {
  line-height: normal; }

input[type=checkbox], input[type=radio] {
  box-sizing: border-box;
  padding: 0; }

input[type="number"]::-webkit-inner-spin-button, input[type="number"]::-webkit-outer-spin-button {
  height: auto; }

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

fieldset {
  border: 1px solid silver;
  margin: 0 2px;
  padding: .35em .625em .75em; }

legend {
  border: 0;
  padding: 0; }

textarea {
  overflow: auto; }

optgroup {
  font-weight: 700; }

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

td, th {
  padding: 0; }

/*!//normalize.css*/
/*! locomotive-scroll v4.1.3 | MIT License | https://github.com/locomotivemtl/locomotive-scroll */
html.has-scroll-smooth {
  overflow: hidden; }

html.has-scroll-dragging {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.has-scroll-smooth body {
  overflow: hidden; }

.has-scroll-smooth [data-scroll-container] {
  min-height: 100vh; }

[data-scroll-direction=horizontal] [data-scroll-container] {
  display: inline-block;
  height: 100vh;
  white-space: nowrap; }

[data-scroll-direction=horizontal] [data-scroll-section] {
  display: inline-block;
  height: 100%;
  vertical-align: top;
  white-space: nowrap; }

.c-scrollbar {
  height: 100%;
  opacity: 0;
  position: absolute;
  right: 0;
  top: 0;
  transform-origin: center right;
  transition: transform .3s,opacity .3s;
  width: 11px; }

.c-scrollbar:hover {
  transform: scaleX(1.45); }

.c-scrollbar:hover, .has-scroll-dragging .c-scrollbar, .has-scroll-scrolling .c-scrollbar {
  opacity: 1; }

[data-scroll-direction=horizontal] .c-scrollbar {
  bottom: 0;
  height: 10px;
  top: auto;
  transform: scaleY(1);
  width: 100%; }

[data-scroll-direction=horizontal] .c-scrollbar:hover {
  transform: scaleY(1.3); }

.c-scrollbar_thumb {
  background-color: #000;
  border-radius: 10px;
  cursor: -webkit-grab;
  cursor: grab;
  margin: 2px;
  opacity: .5;
  position: absolute;
  right: 0;
  top: 0;
  width: 7px; }

.has-scroll-dragging .c-scrollbar_thumb {
  cursor: -webkit-grabbing;
  cursor: grabbing; }

[data-scroll-direction=horizontal] .c-scrollbar_thumb {
  bottom: 0;
  right: auto; }

html {
  height: 100%;
  font-size: 15px; }
  @media screen and (max-width: 768px) {
    html {
      font-size: 3.5vw; } }

body {
  min-width: calc(1184px + (64px * 2));
  margin: 0;
  position: relative;
  margin-left: auto;
  margin-right: auto;
  width: auto;
  height: auto;
  font-family: YakuHanJP_Narrow, "Outfit", var(--s-font-inter), sans-serif;
  font-weight: 400;
  letter-spacing: 0;
  -webkit-text-size-adjust: 100%;
  overflow-x: hidden;
  overflow-y: auto;
  background: var(--secondary);
  color: var(--black);
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  padding-bottom: 1px; }
  @media screen and (max-width: 768px) {
    body {
      min-width: 100%; } }
  body.no-scroll {
    overflow: hidden;
    overscroll-behavior: contain; }
  body::after {
    content: '';
    position: absolute;
    top: 0;
    left: 0;
    z-index: 15;
    display: block;
    width: 100%;
    height: 100%;
    background: url("../asset/img/noise.png");
    background-repeat: repeat;
    background-size: 100px;
    pointer-events: none;
    opacity: 1; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box;
  font-feature-settings: "palt"; }

::selection {
  background-color: rgba(0, 0, 0, 0.5);
  -webkit-backdrop-filter: blur(10px);
  backdrop-filter: blur(10px);
  color: var(--white); }

p, h1, h2, h3, h4, h5 {
  display: block;
  -webkit-margin-before: 0em;
  -webkit-margin-after: 0em;
  -webkit-margin-start: 0px;
  -webkit-margin-end: 0px;
  margin: 0;
  font-size: 1em; }

h1, h2, h3, h4, h5 {
  position: relative;
  z-index: 15; }

p {
  letter-spacing: 0; }

i {
  font-style: normal; }

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

img.objf, video.objf, iframe.objf {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: 'object-fit: cover;'; }

a {
  text-decoration: none; }
  a.not {
    cursor: not-allowed; }

/*!ul/dl*/
ul, dl {
  -webkit-margin-before: 0;
  -webkit-margin-after: 0;
  -webkit-margin-start: 0;
  -webkit-margin-end: 0;
  -webkit-padding-start: 0;
  -moz-margin-before: 0;
  -moz-margin-after: 0;
  -moz-margin-start: 0;
  -moz-margin-end: 0;
  -moz-padding-start: 0;
  -ms-margin-before: 0;
  -ms-margin-after: 0;
  -ms-margin-start: 0;
  -ms-margin-end: 0;
  -ms-padding-start: 0;
  -o-margin-before: 0;
  -o-margin-after: 0;
  -o-margin-start: 0;
  -o-margin-end: 0;
  -o-padding-start: 0;
  margin-before: 0;
  margin-after: 0;
  margin-start: 0;
  margin-end: 0;
  padding-start: 0;
  -webkit-padding-left: 0;
  -moz-padding-left: 0;
  -ms-padding-left: 0;
  -o-padding-left: 0;
  padding-left: 0;
  margin-top: 0;
  margin-bottom: 0; }

ul li {
  list-style-type: none; }

dl dd {
  margin-left: 0; }

.clear::after {
  content: '';
  display: block;
  clear: both; }

/*!Resposive*/
.hidden-xs {
  display: block !important; }
  @media screen and (max-width: 768px) {
    .hidden-xs {
      display: none !important; } }

.visible-xs {
  display: none !important; }
  @media screen and (max-width: 768px) {
    .visible-xs {
      display: block !important; } }

/*ベンダープレフィックス登録*/
.button {
  display: flex;
  align-items: center;
  justify-content: center;
  background: var(--key3);
  color: var(--white);
  font-weight: bold;
  overflow: hidden;
  transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
  -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
  .button.small {
    height: 32px;
    padding: 0 12px;
    border-radius: 4px;
    font-size: .95em; }
  .button.medium {
    height: 64px;
    padding: 0 24px;
    border-radius: 4px; }
  .button:hover {
    transform: scale(0.95);
    filter: brightness(0.8);
    transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
    -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }

#lp {
  background: var(--black); }
  #lp .wrapper {
    width: 100%;
    max-width: 832px;
    margin: 0 auto;
    padding: 0 32px; }
    @media screen and (max-width: 768px) {
      #lp .wrapper {
        padding: 0 24px; } }
    #lp .wrapper hgroup:has(h3) {
      padding: 16px 0; }
      #lp .wrapper hgroup:has(h3) h3 {
        font-size: 1.435em;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #lp .wrapper hgroup:has(h3) h3 {
            font-size: 1.3325em;
            white-space: nowrap; } }
  #lp .lp_header {
    color: var(--white); }
    #lp .lp_header .image {
      position: relative;
      z-index: 15;
      line-height: 0; }
      #lp .lp_header .image .background {
        position: absolute;
        top: 0;
        left: 0;
        z-index: -5;
        width: 100%;
        height: 100%;
        filter: brightness(0.41); }
        #lp .lp_header .image .background::after {
          content: '';
          position: absolute;
          top: 0;
          left: 0;
          display: block;
          width: 100%;
          height: 100%;
          background: url(../asset/img/noise.png), url(../asset/img/noise.png);
          background-size: 100px;
          -webkit-backdrop-filter: blur(10px);
          backdrop-filter: blur(10px); }
      #lp .lp_header .image .inner {
        position: relative;
        z-index: 15;
        width: 100%;
        max-width: 1280px;
        margin: 0 auto; }
  #lp .lp_body {
    padding: 96px 0;
    color: var(--white); }
    @media screen and (max-width: 768px) {
      #lp .lp_body {
        padding: 64px 0; } }
    #lp .lp_body .wrapper {
      display: flex;
      flex-direction: column;
      gap: 64px; }
      @media screen and (max-width: 768px) {
        #lp .lp_body .wrapper {
          gap: 32px; } }
    #lp .lp_body .campaign {
      display: flex;
      flex-direction: column;
      gap: 24px; }
      #lp .lp_body .campaign .text .outline {
        font-size: 1.5575em;
        text-align: center; }
        @media screen and (max-width: 768px) {
          #lp .lp_body .campaign .text .outline {
            font-size: 1.1275em; } }
      #lp .lp_body .campaign .opentime {
        padding: 8px 0;
        background: #fbe52e;
        border-radius: 4px;
        text-align: center;
        font-size: 1.3325em;
        font-weight: 600;
        color: var(--color-text); }
        @media screen and (max-width: 768px) {
          #lp .lp_body .campaign .opentime {
            padding: 6px 0;
            font-size: 1.075em; } }
    #lp .lp_body .store ul.area {
      display: flex;
      flex-direction: column;
      gap: 24px; }
      #lp .lp_body .store ul.area > li dl > dt {
        font-size: 1.1275em;
        font-weight: 600; }
        #lp .lp_body .store ul.area > li dl > dt + * {
          margin-top: 12px; }
    #lp .lp_body .store ul.shop {
      border-top: dotted 1px var(--border-light-white); }
      #lp .lp_body .store ul.shop > li {
        display: flex;
        align-items: center;
        justify-content: space-between;
        gap: 4px 32px;
        padding: 8px 0;
        border-bottom: dotted 1px var(--border-light-white); }
        @media screen and (max-width: 768px) {
          #lp .lp_body .store ul.shop > li {
            flex-direction: column;
            padding: 12px 0 16px; } }
        #lp .lp_body .store ul.shop > li .store {
          color: var(--white);
          transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
          -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
          #lp .lp_body .store ul.shop > li .store:hover {
            color: var(--key4);
            transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -o-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -moz-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s;
            -webkit-transition: cubic-bezier(0.55, 0.05, 0.22, 0.99) 0.328s; }
        #lp .lp_body .store ul.shop > li .link {
          display: flex;
          align-items: center;
          gap: 8px; }
  #lp .lp_footer {
    padding: 48px 0 64px;
    background: var(--key2); }
    #lp .lp_footer .history ul > li {
      display: flex;
      align-items: baseline;
      gap: 12px 32px;
      border-bottom: dotted 1px var(--key1);
      padding: 8px 0; }
      @media screen and (max-width: 768px) {
        #lp .lp_footer .history ul > li {
          flex-direction: column;
          padding: 4px 0 16px; } }
      #lp .lp_footer .history ul > li .time {
        white-space: nowrap; }
    #lp .lp_footer .history + * {
      margin-top: 32px; }
    #lp .lp_footer .sponsor ul {
      display: flex;
      flex-wrap: wrap;
      column-gap: 12px; }
      #lp .lp_footer .sponsor ul > li {
        min-width: calc((100% / 3) - (12px * 2 / 3));
        padding: 4px 0; }
        @media screen and (max-width: 768px) {
          #lp .lp_footer .sponsor ul > li {
            min-width: calc((100% / 2) - (12px * 1 / 2));
            font-size: .9em; } }

footer.main {
  text-align: center; }
  footer.main .wrapper {
    width: 100%;
    max-width: 768px;
    margin: 0 auto; }
    footer.main .wrapper .cr {
      display: flex;
      align-items: center;
      justify-content: center;
      height: 48px; }
