@charset "UTF-8";
/**
 * Foundation
 */
/* Breakpoints */
/* Size */
/* Font */
/* Color */
/* Easing */
/* Default */
/* In */
/* Out */
/* In Out */
/* px数をremに変換 */
/* px数をvwに変換 */
/* px数をvwに変換(スクロールバー減算なし) */
/* PCデザイン幅を基準にvw変換 */
/* PCデザイン幅を基準にvw変換 */
/* line-heightを返す */
/* ハーフレディングを返す */
/* カラーコードのシャープマークを削除して返す */
/* 
  レスポンシブ（以上）
*/
/* 
  レスポンシブ（未満）
*/
/* ホバー */
/* 疑似要素（絶対配置） */
/* aタグのサイズを親要素に合わせる */
/* a11y-css-resetから引用 
  https://github.com/mike-engel/a11y-css-reset
*/
/* destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
     * 1. Correct the line height in all browsers.
     * 2. Prevent adjustments of font size after orientation changes in iOS.
     * 3. Remove gray overlay on links for iOS.
     */
html {
  line-height: 1;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
     * Remove the margin in all browsers.
     */
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
}

/**
     * Render the `main` element consistently in IE.
     */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: unset;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
     * Remove the gray background on active links in IE 10.
     */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
     * 1. Remove the bottom border in Chrome 57-
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
  font-weight: bolder;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
     * Add the correct font size in all browsers.
     */
small {
  font-size: 80%;
}

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
     * Prevent vertical alignment issues.
     */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
     * Reset form fields to make them styleable
     */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
     * Reset radio and checkbox appearance to preserve their look in iOS.
     */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
     * Show the overflow in IE.
     * 1. Show the overflow in Edge.
     */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
     * Correct the inability to style clickable types in iOS and Safari.
     */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
     * Remove the inner border and padding in Firefox.
     */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
     * Restore the focus styles unset by the previous rule.
     */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
     * Remove arrow in IE10 & IE11
     */
select::-ms-expand {
  display: none;
}

/**
     * Remove padding
     */
option {
  padding: 0;
}

/**
     * Reset to invisible
     */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
     * Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  vertical-align: baseline;
}

/**
     * Remove the default vertical scrollbar in IE 10+.
     */
textarea {
  overflow: auto;
}

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
     * 1. Correct the outline style in Safari.
     */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
     * Remove the inner padding in Chrome and Safari on macOS.
     */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
     * Clickable labels
     */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
     * Add the correct display in Edge, IE 10+, and Firefox.
     */
details {
  display: block;
}

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item;
}

/*
     * Remove outline for editable content.
     */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: unset;
}

/* Misc */
/* ============================================ */
/**
     * Add the correct display in IE 10+.
     */
template {
  display: none;
}

/**
     * Add the correct display in IE 10.
     */
[hidden] {
  display: none;
}

/**
    * Remove dialog UA Style
    */
:where(dialog) {
  inline-size: unset;
  max-inline-size: unset;
  block-size: unset;
  max-block-size: unset;
  padding: unset;
  margin: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

:where(.rikuren) {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
  color: #FFF;
}
:where(.rikuren) picture {
  display: block;
}
:where(.rikuren) picture img {
  width: 100%;
}
:where(.rikuren) img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  outline: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media not all and (min-width: 769px) {
  :where(.rikuren) .pc {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  :where(.rikuren) .sp {
    display: none;
  }
}
@media screen and (min-width: 1000px) {
  :where(.rikuren) .md {
    display: none;
  }
}
:where(.rikuren) .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  white-space: nowrap;
}
:where(.rikuren) summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
  /* Safariで表示されるデフォルトの三角形アイコンを非表示にします */
}
:where(.rikuren) summary::-webkit-details-marker {
  display: none;
}

/**
 * Base Element
 */
@keyframes walk {
  0% {
    transform: translateY(0px) scale(1);
  }
  100% {
    transform: translateY(-22.5vw) scale(3.8);
  }
}
@keyframes doorRight {
  0% {
    transform: perspective(33.3333333333vw) rotateY(0deg);
  }
  100% {
    transform: perspective(33.3333333333vw) rotateY(140deg);
  }
}
@keyframes doorLeft {
  0% {
    transform: perspective(33.3333333333vw) rotateY(0deg);
  }
  100% {
    transform: perspective(33.3333333333vw) rotateY(-140deg);
  }
}
@keyframes shine {
  0%, 20% {
    opacity: 0;
  }
  80%, 100% {
    opacity: 1;
  }
}
@keyframes shineAll {
  0%, 45% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0%, 80% {
    opacity: 1;
  }
  90%, 100% {
    opacity: 0;
  }
}
:where(.rikuren.top) .intro,
:where(.rikuren.top) .container {
  opacity: 0;
}
:where(.rikuren.top) .intro .intro_inner {
  transform: translate3d(0px, 0px, 0px) scale(1);
}
:where(.rikuren.top) .intro .intro_bgColor {
  opacity: 0;
}
:where(.rikuren.top) .intro .intro_door-left {
  transform-origin: left;
  transform: perspective(33.3333333333vw) rotateY(0deg);
}
:where(.rikuren.top) .intro .intro_door-right {
  transform-origin: right;
  transform: perspective(33.3333333333vw) rotateY(0deg);
}
:where(.rikuren.top) .intro .intro_shine {
  opacity: 0;
}
:where(.rikuren.top) .intro .intro_logo {
  opacity: 0;
}

/**
 * Pages
 */
:where(.rikuren.top) {
  background-color: #c9151e;
  overflow-x: hidden;
}
:where(.rikuren.top) .main {
  position: relative;
}
:where(.rikuren.top) .intro {
  position: absolute;
  top: 0;
  right: 0;
  left: 0;
  z-index: 2;
  overflow: hidden;
  height: 180vw;
  background-color: #000;
}
:where(.rikuren.top) .intro .intro_inner {
  position: relative;
  width: 100%;
  height: 100%;
}
:where(.rikuren.top) .intro .intro_bgColor {
  position: absolute;
  display: block;
  inset: 0;
  background-color: #FFF;
  opacity: 0;
}
:where(.rikuren.top) .intro .intro_bg {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 0;
  height: 180vw;
  filter: url(#ps-levels-rgb-0-0.8-255-0-180);
}
:where(.rikuren.top) .intro .intro_doorWrap {
  position: absolute;
  bottom: 59.8666666667vw;
  left: calc(50% - 12vw);
  display: grid;
  grid-template-columns: repeat(2, 12vw);
  width: 12vw;
  height: 41.7333333333vw;
}
:where(.rikuren.top) .intro .intro_door {
  transform: perspective(106.6666666667vw);
}
:where(.rikuren.top) .intro .intro_shine {
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 126.1333333333vw;
}
:where(.rikuren.top) .intro .intro_logo {
  position: absolute;
  left: calc(50% - 38.1333333333vw);
  bottom: 35.2vw;
  width: 76.2666666667vw;
  height: 87.4666666667vw;
}
:where(.rikuren.top) .container {
  position: relative;
  width: 100vw;
  height: 161.3333333333vw;
  z-index: 1;
}
:where(.rikuren.top) .inner {
  position: relative;
  display: grid;
  grid-template-columns: 1fr;
  grid-template-rows: 1fr;
  height: 100%;
  align-items: end;
  grid-template-columns: repeat(1, 1fr);
  background: url("/assets/images/top/bg-sp.png") no-repeat 0% 100%/cover;
}
:where(.rikuren.top) .banner_wrapper {
  position: absolute;
  top: 5.3333333333vw;
  height: 35.7333333333vw;
  width: 100vw;
  display: grid;
  grid-template-columns: auto;
  justify-items: center;
  z-index: 10;
}
:where(.rikuren.top) .banner_wrapper .banner {
  display: block;
  height: 35.7333333333vw;
  transition: filter 0.4s ease-out;
  filter: brightness(1) contrast(1);
}
:where(.rikuren.top) .banner_wrapper .banner picture,
:where(.rikuren.top) .banner_wrapper .banner img {
  width: auto;
  height: 100%;
}
:where(.rikuren.top) .banner_wrapper .banner.--hover {
  filter: brightness(1.5) contrast(1.1);
}
:where(.rikuren.top) .banner_wrapper .banner_hit {
  position: absolute;
  top: 4.6666666667vw;
  left: calc(50% - 45.7333333333vw);
  width: 91.4666666667vw;
  height: 26.4vw;
  display: block;
}
:where(.rikuren.top) .carousel {
  grid-column: 1/2;
  grid-row: 1/2;
  position: relative;
  width: 100vw;
}
:where(.rikuren.top) .carousel_item {
  transform-style: preserve-3d;
  perspective: 400vw;
  perspective-origin: 0% 50%;
}
:where(.rikuren.top) .carousel_item .item_inner {
  transform-origin: top center;
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform-style: preserve-3d;
}
:where(.rikuren.top) .carousel_item .card,
:where(.rikuren.top) .carousel_item .pseudo {
  will-change: transform;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  transform-style: preserve-3d;
}
:where(.rikuren.top) .carousel_item .card,
:where(.rikuren.top) .carousel_item .pseudo {
  display: block;
  width: 55.3333333333vw;
  height: 96.9333333333vw;
}
:where(.rikuren.top) .carousel_item .card > img,
:where(.rikuren.top) .carousel_item .pseudo > img {
  width: 100%;
  height: 100%;
}
:where(.rikuren.top) .carousel_item .card {
  position: relative;
  transition: filter 0.4s ease-out;
  filter: brightness(1) contrast(1);
}
:where(.rikuren.top) .carousel_item .card.--hover {
  filter: brightness(1.5) contrast(1.1);
}
:where(.rikuren.top) .carousel_item .card_hit {
  position: absolute;
  top: 3.3333333333vw;
  left: calc(50% - 23.3333333333vw);
  width: 46.9333333333vw;
  height: 88.6666666667vw;
  display: block;
  clip-path: url(#card-hit-center);
}
:where(.rikuren.top) .carousel_item .pseudo {
  position: relative;
  pointer-events: none;
  transform: scaleY(-1);
  transition: filter 0.4s ease-out;
  filter: brightness(1) contrast(1);
  margin-top: -1.8666666667vw;
}
:where(.rikuren.top) .carousel_item .pseudo picture {
  opacity: 0.3;
  filter: blur(0.1041666667vw);
}
:where(.rikuren.top) .carousel_item .card.--hover + .pseudo {
  filter: brightness(1.5) contrast(1.1);
}
:where(.rikuren.top) .carousel_pagination {
  position: absolute;
  left: 0;
  right: 0;
  bottom: 23.7333333333vw;
  display: grid;
  justify-content: center;
  -moz-column-gap: 4vw;
       column-gap: 4vw;
}
:where(.rikuren.top) .carousel_page {
  display: block;
  width: 2.6666666667vw;
  height: 2.6666666667vw;
  background-color: #b4b4b4;
  border-radius: 50%;
}
:where(.rikuren.top) .carousel_page.is-active {
  background-color: #ffffff;
}
:where(.rikuren.top) .information {
  position: relative;
  grid-column: 1/2;
  grid-row: 1/2;
  display: grid;
  justify-content: center;
  align-items: center;
  height: 24vw;
  width: 94.6666666667vw;
  margin-inline: auto;
}
:where(.rikuren.top) .information .information_inner {
  max-width: 94.6666666667vw;
  padding: 1.4666666667vw 3.2vw 1.4666666667vw 5.3333333333vw;
  background-color: rgba(0, 0, 0, 0.5);
  max-height: 19.4666666667vw;
  overflow-y: auto;
  scrollbar-color: rgba(150, 150, 150, 0.5) transparent;
}
:where(.rikuren.top) .information .information_inner::-webkit-scrollbar {
  background-color: transparent;
}
:where(.rikuren.top) .information .information_inner::-webkit-scrollbar-thumb {
  background-color: rgba(150, 150, 150, 0.5);
  border: 3px solid transparent;
  border-radius: 10px;
  background-clip: content-box;
}
:where(.rikuren.top) .information .information_content {
  font-size: 2.9333333333vw;
  line-height: 1.4545454545;
  letter-spacing: 0.1em;
  font-weight: 300;
}
:where(.rikuren.top) .information .information_content *:first-child {
  margin-top: unset;
}
:where(.rikuren.top) .information .information_content *:last-child {
  margin-bottom: unset;
}
:where(.rikuren.top) .information .information_content strong, :where(.rikuren.top) .information .information_content b {
  font-weight: 700;
}
:where(.rikuren.top) .information .information_content a {
  text-decoration: underline;
  text-underline-offset: 0.15em;
  transition: opacity 0.3s ease;
}
@media (hover: hover) and (pointer: fine) {
  :where(.rikuren.top) .information .information_content a:hover {
    opacity: 0.8;
  }
}
:where(.rikuren.top) .information .information_content p {
  margin-block: 1em;
}
:where(.rikuren.top) .information .information_content ul {
  list-style: disc;
  padding-left: 1.5em;
  text-indent: -0.5em;
  margin-block: 1em;
}
:where(.rikuren.top) .information .information_content ol {
  list-style: decimal;
  padding-left: 1.5em;
  text-indent: -0.5em;
  margin-block: 1em;
}
@media screen and (min-width: 769px) {
  :where(.rikuren.top) .intro {
    height: 48.4375vw;
  }
  :where(.rikuren.top) .intro .intro_bgColor {
    position: absolute;
    display: block;
    inset: 0;
    background-color: #FFF;
  }
  :where(.rikuren.top) .intro .intro_bg {
    height: 56.25vw;
  }
  :where(.rikuren.top) .intro .intro_doorWrap {
    bottom: 14.2083333333vw;
    left: calc(50% - 4.25vw);
    grid-template-columns: repeat(2, 4.25vw);
    width: 8.5vw;
    height: 14.7916666667vw;
  }
  :where(.rikuren.top) .intro .intro_door {
    transform: perspective(33.3333333333vw);
  }
  :where(.rikuren.top) .intro .intro_shine {
    position: absolute;
    bottom: 0;
    left: 0;
    right: 0;
    height: 36.875vw;
  }
  :where(.rikuren.top) .intro .intro_logo {
    position: absolute;
    left: calc(50% - 12.5833333333vw);
    bottom: 9.7916666667vw;
    width: 25.1666666667vw;
    height: 28.9166666667vw;
  }
  :where(.rikuren.top) .container {
    overflow-x: hidden;
    height: 48.4375vw;
  }
  :where(.rikuren.top) .inner {
    background: url("/assets/images/top/bg.png") no-repeat 0% 100%/cover;
  }
  :where(.rikuren.top) .banner_wrapper {
    top: 2.7604166667vw;
    height: 10.78125vw;
  }
  :where(.rikuren.top) .banner_wrapper .banner {
    height: 10.78125vw;
  }
  :where(.rikuren.top) .banner_wrapper .banner_hit {
    top: 1.09375vw;
    left: calc(50% - 23.4895833333vw);
    width: 47.3958333333vw;
    height: 8.75vw;
    clip-path: url(#banner-hit);
  }
  :where(.rikuren.top) .splide.is-initialized:not(.is-active) .splide__list.carousel_list {
    display: grid;
  }
  :where(.rikuren.top) .carousel_list {
    grid-template-columns: repeat(7, auto);
    justify-content: center;
  }
  :where(.rikuren.top) .carousel_item {
    transform-style: unset;
    perspective: unset;
    perspective-origin: unset;
    height: 38.0208333333vw;
  }
  :where(.rikuren.top) .carousel_item .item_inner {
    transform-origin: unset;
    will-change: unset;
    -webkit-backface-visibility: unset;
            backface-visibility: unset;
    transform-style: unset;
    display: grid;
    height: 100%;
  }
  :where(.rikuren.top) .carousel_item .card picture,
  :where(.rikuren.top) .carousel_item .card img {
    height: 100%;
  }
  :where(.rikuren.top) .carousel_item .pseudo {
    transform: unset;
    margin-top: unset;
  }
  :where(.rikuren.top) .carousel_item .pseudo picture {
    opacity: unset;
    filter: unset;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(1) .card {
    width: 13.3333333333vw;
    height: 30.46875vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(1) .card_hit {
    top: 1.6666666667vw;
    left: calc(50% - 5.3645833333vw);
    width: 11.1979166667vw;
    height: 27.5vw;
    clip-path: url(#card-hit-1);
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(1) .pseudo {
    width: 12.5520833333vw;
    height: 8.90625vw;
    margin-top: -1.5625vw;
    margin-left: 0.2604166667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(2) {
    padding-top: 2.1875vw;
    margin-left: -0.4166666667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(2) .card {
    width: 13.5416666667vw;
    height: 27.34375vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(2) .card_hit {
    top: 1.3541666667vw;
    left: calc(50% - 5.5208333333vw);
    width: 11.3541666667vw;
    height: 25vw;
    clip-path: url(#card-hit-2);
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(2) .pseudo {
    width: 12.8125vw;
    height: 9.2708333333vw;
    margin-top: -1.0416666667vw;
    margin-left: 0.3125vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(3) {
    padding-top: 3.4375vw;
    margin-left: -0.3125vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(3) .card {
    width: 13.8541666667vw;
    height: 25.625vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(3) .card_hit {
    top: 1.3020833333vw;
    left: calc(50% - 5.7291666667vw);
    width: 11.7708333333vw;
    height: 23.8541666667vw;
    clip-path: url(#card-hit-3);
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(3) .pseudo {
    width: 13.1770833333vw;
    height: 9.53125vw;
    margin-top: -0.7291666667vw;
    margin-left: 0.3125vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(4) {
    padding-top: 3.8541666667vw;
    margin-left: 0.0520833333vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(4) .card {
    width: 14.1145833333vw;
    height: 24.7395833333vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(4) .card_hit {
    top: 1.1458333333vw;
    left: calc(50% - 5.9375vw);
    width: 11.9791666667vw;
    height: 22.7083333333vw;
    clip-path: url(#card-hit-center);
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(4) .pseudo {
    width: 13.5416666667vw;
    height: 9.5833333333vw;
    margin-top: -0.3125vw;
    margin-left: 0.4166666667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(5) {
    padding-top: 3.4375vw;
    margin-left: 0.2604166667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(5) .card {
    width: 13.8020833333vw;
    height: 25.5729166667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(5) .card_hit {
    top: 1.3020833333vw;
    left: calc(50% - 5.8854166667vw);
    width: 11.5625vw;
    height: 23.8541666667vw;
    clip-path: url(#card-hit-3);
    transform: scaleX(-1);
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(5) .pseudo {
    width: 13.125vw;
    height: 9.53125vw;
    margin-top: -0.7291666667vw;
    margin-left: 0.4166666667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(6) {
    padding-top: 2.1875vw;
    margin-left: -0.0520833333vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(6) .card {
    width: 13.4895833333vw;
    height: 27.2916666667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(6) .card_hit {
    top: 1.4583333333vw;
    left: calc(50% - 5.8854166667vw);
    width: 11.4583333333vw;
    height: 24.84375vw;
    clip-path: url(#card-hit-2);
    transform: scaleX(-1);
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(6) .pseudo {
    width: 12.8125vw;
    height: 9.2708333333vw;
    margin-top: -0.7291666667vw;
    margin-left: 0.4166666667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(7) {
    margin-left: -0.1041666667vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(7) .card {
    width: 13.2291666667vw;
    height: 30.46875vw;
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(7) .card_hit {
    top: 1.6666666667vw;
    left: calc(50% - 5.7291666667vw);
    width: 11.0416666667vw;
    height: 27.5vw;
    clip-path: url(#card-hit-1);
    transform: scaleX(-1);
  }
  :where(.rikuren.top) .carousel_item:nth-of-type(7) .pseudo {
    width: 12.5520833333vw;
    height: 8.9583333333vw;
    margin-top: -1.3541666667vw;
    margin-left: 0.3125vw;
  }
  :where(.rikuren.top) .information {
    height: 10.4166666667vw;
    width: 52.0833333333vw;
  }
  :where(.rikuren.top) .information .information_inner {
    max-width: 52.0833333333vw;
    padding: 0.5208333333vw 1.1458333333vw 0.5208333333vw 1.7708333333vw;
    max-height: 8.28125vw;
  }
  :where(.rikuren.top) .information .information_content {
    font-size: 0.8333333333vw;
    line-height: 1.5;
  }
}
/**
 * Foundation
 */
/* Breakpoints */
/* Size */
/* Font */
/* Color */
/* Easing */
/* Default */
/* In */
/* Out */
/* In Out */
/* px数をremに変換 */
/* px数をvwに変換 */
/* px数をvwに変換(スクロールバー減算なし) */
/* PCデザイン幅を基準にvw変換 */
/* PCデザイン幅を基準にvw変換 */
/* line-heightを返す */
/* ハーフレディングを返す */
/* カラーコードのシャープマークを削除して返す */
/* 
  レスポンシブ（以上）
*/
/* 
  レスポンシブ（未満）
*/
/* ホバー */
/* 疑似要素（絶対配置） */
/* aタグのサイズを親要素に合わせる */
/* a11y-css-resetから引用 
  https://github.com/mike-engel/a11y-css-reset
*/
/* destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
/* Reset box-model and set borders */
/* ============================================ */
*,
::before,
::after {
  box-sizing: border-box;
  border-style: solid;
  border-width: 0;
}

/* Document */
/* ============================================ */
/**
     * 1. Correct the line height in all browsers.
     * 2. Prevent adjustments of font size after orientation changes in iOS.
     * 3. Remove gray overlay on links for iOS.
     */
html {
  line-height: 1;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */
  -webkit-tap-highlight-color: transparent;
  /* 3*/
}

/* Sections */
/* ============================================ */
/**
     * Remove the margin in all browsers.
     */
html,
body {
  margin: 0;
  padding: 0;
  width: 100%;
  position: relative;
}

/**
     * Render the `main` element consistently in IE.
     */
main {
  display: block;
}

/* Vertical rhythm */
/* ============================================ */
p,
table,
blockquote,
address,
pre,
iframe,
form,
figure,
dl {
  margin: 0;
}

/* Headings */
/* ============================================ */
h1,
h2,
h3,
h4,
h5,
h6 {
  font-size: inherit;
  line-height: inherit;
  font-weight: inherit;
  margin: 0;
}

/* Lists (enumeration) */
/* ============================================ */
ul,
ol {
  margin: 0;
  padding: 0;
  list-style: none;
}

/* Lists (definition) */
/* ============================================ */
dt {
  font-weight: unset;
}

dd {
  margin-left: 0;
}

/* Grouping content */
/* ============================================ */
/**
     * 1. Add the correct box sizing in Firefox.
     * 2. Show the overflow in Edge and IE.
     */
hr {
  box-sizing: content-box;
  /* 1 */
  height: 0;
  /* 1 */
  overflow: visible;
  /* 2 */
  border-top-width: 1px;
  margin: 0;
  clear: both;
  color: inherit;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
pre {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

address {
  font-style: inherit;
}

/* Text-level semantics */
/* ============================================ */
/**
     * Remove the gray background on active links in IE 10.
     */
a {
  background-color: transparent;
  text-decoration: none;
  color: inherit;
}

/**
     * 1. Remove the bottom border in Chrome 57-
     * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
     */
abbr[title] {
  text-decoration: underline;
  /* 2 */
  -webkit-text-decoration: underline dotted;
          text-decoration: underline dotted;
  /* 2 */
}

/**
     * Add the correct font weight in Chrome, Edge, and Safari.
     */
b,
strong {
  font-weight: bolder;
}

/**
     * 1. Correct the inheritance and scaling of font size in all browsers.
     * 2. Correct the odd `em` font sizing in all browsers.
     */
code,
kbd,
samp {
  font-family: monospace, monospace;
  /* 1 */
  font-size: inherit;
  /* 2 */
}

/**
     * Add the correct font size in all browsers.
     */
small {
  font-size: 80%;
}

/**
     * Prevent `sub` and `sup` elements from affecting the line height in
     * all browsers.
     */
sub,
sup {
  font-size: 75%;
  line-height: 0;
  position: relative;
  vertical-align: baseline;
}

sub {
  bottom: -0.25em;
}

sup {
  top: -0.5em;
}

/* Embedded content */
/* ============================================ */
/**
     * Prevent vertical alignment issues.
     */
img,
embed,
object,
iframe {
  vertical-align: bottom;
}

/* Forms */
/* ============================================ */
/**
     * Reset form fields to make them styleable
     */
button,
input,
optgroup,
select,
textarea {
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
  vertical-align: middle;
  color: inherit;
  font: inherit;
  background: transparent;
  padding: 0;
  margin: 0;
  outline: 0;
  border-radius: 0;
  text-align: inherit;
}

/**
     * Reset radio and checkbox appearance to preserve their look in iOS.
     */
[type=checkbox] {
  -webkit-appearance: checkbox;
  -moz-appearance: checkbox;
       appearance: checkbox;
}

[type=radio] {
  -webkit-appearance: radio;
  -moz-appearance: radio;
       appearance: radio;
}

/**
     * Show the overflow in IE.
     * 1. Show the overflow in Edge.
     */
button,
input {
  /* 1 */
  overflow: visible;
}

/**
     * Remove the inheritance of text transform in Edge, Firefox, and IE.
     * 1. Remove the inheritance of text transform in Firefox.
     */
button,
select {
  /* 1 */
  text-transform: none;
}

/**
     * Correct the inability to style clickable types in iOS and Safari.
     */
button,
[type=button],
[type=reset],
[type=submit] {
  cursor: pointer;
  -webkit-appearance: none;
  -moz-appearance: none;
       appearance: none;
}

button[disabled],
[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled] {
  cursor: default;
}

/**
     * Remove the inner border and padding in Firefox.
     */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
  border-style: none;
  padding: 0;
}

/**
     * Restore the focus styles unset by the previous rule.
     */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
  outline: 1px dotted ButtonText;
}

/**
     * Remove arrow in IE10 & IE11
     */
select::-ms-expand {
  display: none;
}

/**
     * Remove padding
     */
option {
  padding: 0;
}

/**
     * Reset to invisible
     */
fieldset {
  margin: 0;
  padding: 0;
  min-width: 0;
}

/**
     * 1. Correct the text wrapping in Edge and IE.
     * 2. Correct the color inheritance from `fieldset` elements in IE.
     * 3. Remove the padding so developers are not caught out when they zero out
     *    `fieldset` elements in all browsers.
     */
legend {
  color: inherit;
  /* 2 */
  display: table;
  /* 1 */
  max-width: 100%;
  /* 1 */
  padding: 0;
  /* 3 */
  white-space: normal;
  /* 1 */
}

/**
     * Add the correct vertical alignment in Chrome, Firefox, and Opera.
     */
progress {
  vertical-align: baseline;
}

/**
     * Remove the default vertical scrollbar in IE 10+.
     */
textarea {
  overflow: auto;
}

/**
     * Correct the cursor style of increment and decrement buttons in Chrome.
     */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
  height: auto;
}

/**
     * 1. Correct the outline style in Safari.
     */
[type=search] {
  outline-offset: -2px;
  /* 1 */
}

/**
     * Remove the inner padding in Chrome and Safari on macOS.
     */
[type=search]::-webkit-search-decoration {
  -webkit-appearance: none;
}

/**
     * 1. Correct the inability to style clickable types in iOS and Safari.
     * 2. Change font properties to `inherit` in Safari.
     */
::-webkit-file-upload-button {
  -webkit-appearance: button;
  /* 1 */
  font: inherit;
  /* 2 */
}

/**
     * Clickable labels
     */
label[for] {
  cursor: pointer;
}

/* Interactive */
/* ============================================ */
/*
     * Add the correct display in Edge, IE 10+, and Firefox.
     */
details {
  display: block;
}

/*
     * Add the correct display in all browsers.
     */
summary {
  display: list-item;
}

/*
     * Remove outline for editable content.
     */
[contenteditable] {
  outline: none;
}

/* Table */
/* ============================================ */
table {
  border-collapse: collapse;
  border-spacing: 0;
}

caption {
  text-align: left;
}

td,
th {
  vertical-align: top;
  padding: 0;
}

th {
  text-align: left;
  font-weight: unset;
}

/* Misc */
/* ============================================ */
/**
     * Add the correct display in IE 10+.
     */
template {
  display: none;
}

/**
     * Add the correct display in IE 10.
     */
[hidden] {
  display: none;
}

/**
    * Remove dialog UA Style
    */
:where(dialog) {
  inline-size: unset;
  max-inline-size: unset;
  block-size: unset;
  max-block-size: unset;
  padding: unset;
  margin: unset;
  color: unset;
  background-color: unset;
  border: unset;
  overflow: unset;
}

:where(.rikuren) {
  font-family: "Noto Sans JP", sans-serif;
  font-weight: 400;
  font-optical-sizing: auto;
  font-style: normal;
  color: #FFF;
}
:where(.rikuren) picture {
  display: block;
}
:where(.rikuren) picture img {
  width: 100%;
}
:where(.rikuren) img {
  display: block;
  max-width: 100%;
  width: 100%;
  height: auto;
  outline: 0;
  pointer-events: none;
  -webkit-user-select: none;
     -moz-user-select: none;
          user-select: none;
}
@media not all and (min-width: 769px) {
  :where(.rikuren) .pc {
    display: none;
  }
}
@media screen and (min-width: 769px) {
  :where(.rikuren) .sp {
    display: none;
  }
}
@media screen and (min-width: 1000px) {
  :where(.rikuren) .md {
    display: none;
  }
}
:where(.rikuren) .visually-hidden {
  position: absolute;
  width: 1px;
  height: 1px;
  margin: -1px;
  border: 0;
  padding: 0;
  clip: rect(0, 0, 0, 0);
  overflow: hidden;
  white-space: nowrap;
}
:where(.rikuren) summary {
  /* display: list-item;以外を指定してデフォルトの三角形アイコンを消します */
  display: block;
  /* Safariで表示されるデフォルトの三角形アイコンを非表示にします */
}
:where(.rikuren) summary::-webkit-details-marker {
  display: none;
}

/**
 * Base Element
 */
@keyframes walk {
  0% {
    transform: translateY(0px) scale(1);
  }
  100% {
    transform: translateY(-22.5vw) scale(3.8);
  }
}
@keyframes doorRight {
  0% {
    transform: perspective(33.3333333333vw) rotateY(0deg);
  }
  100% {
    transform: perspective(33.3333333333vw) rotateY(140deg);
  }
}
@keyframes doorLeft {
  0% {
    transform: perspective(33.3333333333vw) rotateY(0deg);
  }
  100% {
    transform: perspective(33.3333333333vw) rotateY(-140deg);
  }
}
@keyframes shine {
  0%, 20% {
    opacity: 0;
  }
  80%, 100% {
    opacity: 1;
  }
}
@keyframes shineAll {
  0%, 45% {
    opacity: 0;
  }
  100% {
    opacity: 1;
  }
}
@keyframes fadeOut {
  0%, 80% {
    opacity: 1;
  }
  90%, 100% {
    opacity: 0;
  }
}
:where(.rikuren.top) .intro,
:where(.rikuren.top) .container {
  opacity: 0;
}
:where(.rikuren.top) .intro .intro_inner {
  transform: translate3d(0px, 0px, 0px) scale(1);
}
:where(.rikuren.top) .intro .intro_bgColor {
  opacity: 0;
}
:where(.rikuren.top) .intro .intro_door-left {
  transform-origin: left;
  transform: perspective(33.3333333333vw) rotateY(0deg);
}
:where(.rikuren.top) .intro .intro_door-right {
  transform-origin: right;
  transform: perspective(33.3333333333vw) rotateY(0deg);
}
:where(.rikuren.top) .intro .intro_shine {
  opacity: 0;
}
:where(.rikuren.top) .intro .intro_logo {
  opacity: 0;
}

/**
 * Pages
 */
:where(.rikuren) {
  position: relative;
}
:where(.rikuren) .dummy_header {
  position: sticky;
  top: 0;
  left: 0;
  width: 100%;
  height: 18.6666666667vw;
  background-color: #c9151e;
  z-index: 999;
}
@media screen and (min-width: 769px) {
  :where(.rikuren) .dummy_header {
    height: 75px;
  }
}@keyframes splide-loading{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.splide__track--draggable{-webkit-touch-callout:none;-webkit-user-select:none;-ms-user-select:none;user-select:none}.splide__track--fade>.splide__list>.splide__slide{margin:0!important;opacity:0;z-index:0}.splide__track--fade>.splide__list>.splide__slide.is-active{opacity:1;z-index:1}.splide--rtl{direction:rtl}.splide__track--ttb>.splide__list{display:block}.splide__container{box-sizing:border-box;position:relative}.splide__list{backface-visibility:hidden;display:-ms-flexbox;display:flex;height:100%;margin:0!important;padding:0!important}.splide.is-initialized:not(.is-active) .splide__list{display:block}.splide__pagination{-ms-flex-align:center;align-items:center;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:center;justify-content:center;margin:0;pointer-events:none}.splide__pagination li{display:inline-block;line-height:1;list-style-type:none;margin:0;pointer-events:auto}.splide:not(.is-overflow) .splide__pagination{display:none}.splide__progress__bar{width:0}.splide{position:relative;visibility:hidden}.splide.is-initialized,.splide.is-rendered{visibility:visible}.splide__slide{backface-visibility:hidden;box-sizing:border-box;-ms-flex-negative:0;flex-shrink:0;list-style-type:none!important;margin:0;position:relative}.splide__slide img{vertical-align:bottom}.splide__spinner{animation:splide-loading 1s linear infinite;border:2px solid #999;border-left-color:transparent;border-radius:50%;bottom:0;contain:strict;display:inline-block;height:20px;left:0;margin:auto;position:absolute;right:0;top:0;width:20px}.splide__sr{clip:rect(0 0 0 0);border:0;height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.splide__toggle.is-active .splide__toggle__play,.splide__toggle__pause{display:none}.splide__toggle.is-active .splide__toggle__pause{display:inline}.splide__track{overflow:hidden;position:relative;z-index:0}