@charset "UTF-8";
*,
*::before,
*::after {
  box-sizing: border-box;
  padding: 0;
  margin: 0;
}

abbr,
address,
article,
aside,
audio,
b,
blockquote,
body,
canvas,
caption,
cite,
code,
dd,
del,
details,
dfn,
div,
dl,
dt,
em,
fieldset,
figcaption,
figure,
footer,
form,
h1,
h2,
h3,
h4,
h5,
h6,
header,
hgroup,
html,
i,
iframe,
img,
ins,
kbd,
label,
legend,
li,
mark,
menu,
nav,
object,
ol,
p,
pre,
q,
samp,
section,
small,
span,
strong,
sub,
summary,
sup,
table,
tbody,
td,
tfoot,
th,
thead,
time,
tr,
ul,
var,
video {
  vertical-align: top;
  background: transparent;
  border: 0;
  outline: 0;
}

article,
aside,
canvas,
main,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section,
summary,
picture {
  display: block;
}

address,
caption,
h1,
h2,
h3,
h4,
h5,
h6,
th,
dt {
  font-size: 100%;
  font-style: normal;
  font-weight: 400;
}

dd,
dl,
dt,
li,
ol,
ul {
  list-style-position: outside;
  list-style-type: none;
}

table,
td,
th {
  vertical-align: top;
}

nav ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote::after,
blockquote::before,
q::after,
q::before {
  content: "";
  content: none;
}

a {
  padding: 0;
  margin: 0;
  font-size: 100%;
  vertical-align: baseline;
  background: transparent;
  border: 0;
  outline: 0;
}

ins {
  text-decoration: none;
}

ins,
mark {
  color: inherit;
  background-color: #ffff99;
}

mark {
  font-style: italic;
  font-weight: 700;
}

del {
  text-decoration: line-through;
}

abbr[title],
dfn[title] {
  cursor: help;
  border-bottom: 1px dotted #000000;
}

table {
  border-spacing: 0;
  border-collapse: collapse;
}

hr {
  display: block;
  height: 1px;
  padding: 0;
  margin: 1em 0;
  border-top: 1px solid #cccccc;
}

img {
  display: inline-block;
  max-width: 100%;
  height: auto;
}

svg {
  display: inline-block;
  width: 100%;
  height: auto;
  vertical-align: top;
}

br {
  letter-spacing: 0;
}

button,
fieldset,
form,
input,
label,
legend,
select,
textarea {
  padding: 0;
  margin: 0;
  font-family: inherit;
  font-size: 100%;
  font-style: inherit;
  font-weight: inherit;
  vertical-align: baseline;
}

input,
select,
textarea,
button {
  vertical-align: middle;
  outline: 0;
  -webkit-appearance: none;
          appearance: none;
}

button,
input[type=button],
input[type=reset],
input[type=submit] {
  cursor: pointer;
}

select {
  font-size: 100%;
  background-color: #ffffff;
  border: 1px solid #809db9;
}

button,
input,
textarea {
  box-sizing: border-box;
}

textarea {
  resize: vertical;
  border-radius: 0;
}

button {
  color: currentColor;
  background: transparent;
  border: 0;
  border-radius: 0;
}

input[type=number] {
  text-align: right;
}

input[type=date]:focus,
input[type=datetime]:focus,
input[type=email]:focus,
input[type=month]:focus,
input[type=number]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=tel]:focus,
input[type=text]:focus,
input[type=time]:focus,
input[type=url]:focus,
input[type=week]:focus {
  background: #ffffff;
  border-color: #ef7a00;
}

button,
input[type=checkbox],
input[type=radio] {
  cursor: pointer;
}

input[type=email],
input[type=tel],
input[type=text] {
  border-radius: 0;
}

input[type=image] {
  vertical-align: top;
}

input[type=submit],
input[type=button] {
  border: none;
  border-radius: 0;
}
input[type=submit]:-webkit-search-decoration,
input[type=button]:-webkit-search-decoration {
  display: none;
}
input[type=submit]:focus,
input[type=button]:focus {
  outline-offset: -2px;
}

input:disabled {
  cursor: default;
  opacity: 0.5;
}

small {
  vertical-align: baseline;
}

/**
 * Swiper 7.4.1
 * Most modern mobile touch slider and framework with hardware accelerated transitions
 * https://swiperjs.com
 *
 * Copyright 2014-2021 Vladimir Kharlampidi
 *
 * Released under the MIT License
 *
 * Released on: December 24, 2021
 */
@font-face {
  font-family: "swiper-icons";
  font-style: normal;
  font-weight: 400;
  src: url("data:application/font-woff;charset=utf-8;base64, d09GRgABAAAAAAZgABAAAAAADAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABGRlRNAAAGRAAAABoAAAAci6qHkUdERUYAAAWgAAAAIwAAACQAYABXR1BPUwAABhQAAAAuAAAANuAY7+xHU1VCAAAFxAAAAFAAAABm2fPczU9TLzIAAAHcAAAASgAAAGBP9V5RY21hcAAAAkQAAACIAAABYt6F0cBjdnQgAAACzAAAAAQAAAAEABEBRGdhc3AAAAWYAAAACAAAAAj//wADZ2x5ZgAAAywAAADMAAAD2MHtryVoZWFkAAABbAAAADAAAAA2E2+eoWhoZWEAAAGcAAAAHwAAACQC9gDzaG10eAAAAigAAAAZAAAArgJkABFsb2NhAAAC0AAAAFoAAABaFQAUGG1heHAAAAG8AAAAHwAAACAAcABAbmFtZQAAA/gAAAE5AAACXvFdBwlwb3N0AAAFNAAAAGIAAACE5s74hXjaY2BkYGAAYpf5Hu/j+W2+MnAzMYDAzaX6QjD6/4//Bxj5GA8AuRwMYGkAPywL13jaY2BkYGA88P8Agx4j+/8fQDYfA1AEBWgDAIB2BOoAeNpjYGRgYNBh4GdgYgABEMnIABJzYNADCQAACWgAsQB42mNgYfzCOIGBlYGB0YcxjYGBwR1Kf2WQZGhhYGBiYGVmgAFGBiQQkOaawtDAoMBQxXjg/wEGPcYDDA4wNUA2CCgwsAAAO4EL6gAAeNpj2M0gyAACqxgGNWBkZ2D4/wMA+xkDdgAAAHjaY2BgYGaAYBkGRgYQiAHyGMF8FgYHIM3DwMHABGQrMOgyWDLEM1T9/w8UBfEMgLzE////P/5//f/V/xv+r4eaAAeMbAxwIUYmIMHEgKYAYjUcsDAwsLKxc3BycfPw8jEQA/gZBASFhEVExcQlJKWkZWTl5BUUlZRVVNXUNTQZBgMAAMR+E+gAEQFEAAAAKgAqACoANAA+AEgAUgBcAGYAcAB6AIQAjgCYAKIArAC2AMAAygDUAN4A6ADyAPwBBgEQARoBJAEuATgBQgFMAVYBYAFqAXQBfgGIAZIBnAGmAbIBzgHsAAB42u2NMQ6CUAyGW568x9AneYYgm4MJbhKFaExIOAVX8ApewSt4Bic4AfeAid3VOBixDxfPYEza5O+Xfi04YADggiUIULCuEJK8VhO4bSvpdnktHI5QCYtdi2sl8ZnXaHlqUrNKzdKcT8cjlq+rwZSvIVczNiezsfnP/uznmfPFBNODM2K7MTQ45YEAZqGP81AmGGcF3iPqOop0r1SPTaTbVkfUe4HXj97wYE+yNwWYxwWu4v1ugWHgo3S1XdZEVqWM7ET0cfnLGxWfkgR42o2PvWrDMBSFj/IHLaF0zKjRgdiVMwScNRAoWUoH78Y2icB/yIY09An6AH2Bdu/UB+yxopYshQiEvnvu0dURgDt8QeC8PDw7Fpji3fEA4z/PEJ6YOB5hKh4dj3EvXhxPqH/SKUY3rJ7srZ4FZnh1PMAtPhwP6fl2PMJMPDgeQ4rY8YT6Gzao0eAEA409DuggmTnFnOcSCiEiLMgxCiTI6Cq5DZUd3Qmp10vO0LaLTd2cjN4fOumlc7lUYbSQcZFkutRG7g6JKZKy0RmdLY680CDnEJ+UMkpFFe1RN7nxdVpXrC4aTtnaurOnYercZg2YVmLN/d/gczfEimrE/fs/bOuq29Zmn8tloORaXgZgGa78yO9/cnXm2BpaGvq25Dv9S4E9+5SIc9PqupJKhYFSSl47+Qcr1mYNAAAAeNptw0cKwkAAAMDZJA8Q7OUJvkLsPfZ6zFVERPy8qHh2YER+3i/BP83vIBLLySsoKimrqKqpa2hp6+jq6RsYGhmbmJqZSy0sraxtbO3sHRydnEMU4uR6yx7JJXveP7WrDycAAAAAAAH//wACeNpjYGRgYOABYhkgZgJCZgZNBkYGLQZtIJsFLMYAAAw3ALgAeNolizEKgDAQBCchRbC2sFER0YD6qVQiBCv/H9ezGI6Z5XBAw8CBK/m5iQQVauVbXLnOrMZv2oLdKFa8Pjuru2hJzGabmOSLzNMzvutpB3N42mNgZGBg4GKQYzBhYMxJLMlj4GBgAYow/P/PAJJhLM6sSoWKfWCAAwDAjgbRAAB42mNgYGBkAIIbCZo5IPrmUn0hGA0AO8EFTQAA");
}
:root {
  --swiper-theme-color: #007aff;
}

.swiper {
  position: relative;
  /* Fix of Webkit flickering */
  z-index: 1;
  padding: 0;
  margin-right: auto;
  margin-left: auto;
  overflow: hidden;
  list-style: none;
}

.swiper-vertical > .swiper-wrapper {
  flex-direction: column;
}

.swiper-wrapper {
  position: relative;
  z-index: 1;
  box-sizing: content-box;
  display: flex;
  width: 100%;
  height: 100%;
  transition-property: transform;
}

.swiper-android .swiper-slide,
.swiper-wrapper {
  transform: translate3d(0, 0, 0);
}

.swiper-pointer-events {
  touch-action: pan-y;
}

.swiper-pointer-events.swiper-vertical {
  touch-action: pan-x;
}

.swiper-slide {
  position: relative;
  flex-shrink: 0;
  width: 100%;
  height: 100%;
  transition-property: transform;
}

.swiper-slide-invisible-blank {
  visibility: hidden;
}

/* Auto Height */
.swiper-autoheight,
.swiper-autoheight .swiper-slide {
  height: auto;
}

.swiper-autoheight .swiper-wrapper {
  align-items: flex-start;
  transition-property: transform, height;
}

/* 3D Effects */
.swiper-3d,
.swiper-3d.swiper-css-mode .swiper-wrapper {
  perspective: 1200px;
}

.swiper-3d .swiper-wrapper,
.swiper-3d .swiper-slide,
.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom,
.swiper-3d .swiper-cube-shadow {
  transform-style: preserve-3d;
}

.swiper-3d .swiper-slide-shadow,
.swiper-3d .swiper-slide-shadow-left,
.swiper-3d .swiper-slide-shadow-right,
.swiper-3d .swiper-slide-shadow-top,
.swiper-3d .swiper-slide-shadow-bottom {
  position: absolute;
  top: 0;
  left: 0;
  z-index: 10;
  width: 100%;
  height: 100%;
  pointer-events: none;
}

.swiper-3d .swiper-slide-shadow {
  background: rgba(0, 0, 0, 0.15);
}

.swiper-3d .swiper-slide-shadow-left {
  background-image: linear-gradient(to left, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-right {
  background-image: linear-gradient(to right, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-top {
  background-image: linear-gradient(to top, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

.swiper-3d .swiper-slide-shadow-bottom {
  background-image: linear-gradient(to bottom, rgba(0, 0, 0, 0.5), rgba(0, 0, 0, 0));
}

/* CSS Mode */
.swiper-css-mode > .swiper-wrapper {
  overflow: auto;
  scrollbar-width: none;
  /* For Firefox */
  -ms-overflow-style: none;
  /* For Internet Explorer and Edge */
}

.swiper-css-mode > .swiper-wrapper::-webkit-scrollbar {
  display: none;
}

.swiper-css-mode > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: start start;
}

.swiper-horizontal.swiper-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: x mandatory;
      scroll-snap-type: x mandatory;
}

.swiper-vertical.swiper-css-mode > .swiper-wrapper {
  -ms-scroll-snap-type: y mandatory;
      scroll-snap-type: y mandatory;
}

.swiper-centered > .swiper-wrapper::before {
  flex-shrink: 0;
  order: 9999;
  content: "";
}

.swiper-centered.swiper-horizontal > .swiper-wrapper > .swiper-slide:first-child {
  margin-inline-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-horizontal > .swiper-wrapper::before {
  width: var(--swiper-centered-offset-after);
  height: 100%;
  min-height: 1px;
}

.swiper-centered.swiper-vertical > .swiper-wrapper > .swiper-slide:first-child {
  margin-block-start: var(--swiper-centered-offset-before);
}

.swiper-centered.swiper-vertical > .swiper-wrapper::before {
  width: 100%;
  min-width: 1px;
  height: var(--swiper-centered-offset-after);
}

.swiper-centered > .swiper-wrapper > .swiper-slide {
  scroll-snap-align: center center;
}

.swiper-virtual.swiper-css-mode .swiper-wrapper::after {
  position: absolute;
  top: 0;
  left: 0;
  pointer-events: none;
  content: "";
}

.swiper-virtual.swiper-css-mode.swiper-horizontal .swiper-wrapper::after {
  width: var(--swiper-virtual-size);
  height: 1px;
}

.swiper-virtual.swiper-css-mode.swiper-vertical .swiper-wrapper::after {
  width: 1px;
  height: var(--swiper-virtual-size);
}

:root {
  --swiper-navigation-size: 44px;
  /*
  --swiper-navigation-color: var(--swiper-theme-color);
  */
}

.swiper-button-prev,
.swiper-button-next {
  position: absolute;
  top: 50%;
  z-index: 10;
  display: flex;
  align-items: center;
  justify-content: center;
  width: calc(var(--swiper-navigation-size) / 44 * 27);
  height: var(--swiper-navigation-size);
  margin-top: calc(0px - var(--swiper-navigation-size) / 2);
  color: var(--swiper-navigation-color, var(--swiper-theme-color));
  cursor: pointer;
}

.swiper-button-prev.swiper-button-disabled,
.swiper-button-next.swiper-button-disabled {
  pointer-events: none;
  cursor: auto;
  opacity: 0.35;
}

.swiper-button-prev::after,
.swiper-button-next::after {
  font-family: swiper-icons;
  font-size: var(--swiper-navigation-size);
  font-variant: initial;
  line-height: 1;
  text-transform: none !important;
  text-transform: none;
  letter-spacing: 0;
}

.swiper-button-prev,
.swiper-rtl .swiper-button-next {
  right: auto;
  left: 10px;
}

.swiper-button-prev::after,
.swiper-rtl .swiper-button-next::after {
  content: "prev";
}

.swiper-button-next,
.swiper-rtl .swiper-button-prev {
  right: 10px;
  left: auto;
}

.swiper-button-next::after,
.swiper-rtl .swiper-button-prev::after {
  content: "next";
}

.swiper-button-lock {
  display: none;
}

:root {
  /*
  --swiper-pagination-color: var(--swiper-theme-color);
  --swiper-pagination-bullet-size: 8px;
  --swiper-pagination-bullet-width: 8px;
  --swiper-pagination-bullet-height: 8px;
  --swiper-pagination-bullet-inactive-color: #000;
  --swiper-pagination-bullet-inactive-opacity: 0.2;
  --swiper-pagination-bullet-opacity: 1;
  --swiper-pagination-bullet-horizontal-gap: 4px;
  --swiper-pagination-bullet-vertical-gap: 6px;
  */
}

.swiper-pagination {
  position: absolute;
  z-index: 10;
  text-align: center;
  transition: 300ms opacity;
  transform: translate3d(0, 0, 0);
}

.swiper-pagination.swiper-pagination-hidden {
  opacity: 0;
}

/* Common Styles */
.swiper-pagination-fraction,
.swiper-pagination-custom,
.swiper-horizontal > .swiper-pagination-bullets,
.swiper-pagination-bullets.swiper-pagination-horizontal {
  bottom: 10px;
  left: 0;
  width: 100%;
}

/* Bullets */
.swiper-pagination-bullets-dynamic {
  overflow: hidden;
  font-size: 0;
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  position: relative;
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-main {
  transform: scale(1);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-prev-prev {
  transform: scale(0.33);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next {
  transform: scale(0.66);
}

.swiper-pagination-bullets-dynamic .swiper-pagination-bullet-active-next-next {
  transform: scale(0.33);
}

.swiper-pagination-bullet {
  display: inline-block;
  width: var(--swiper-pagination-bullet-width, var(--swiper-pagination-bullet-size, 8px));
  height: var(--swiper-pagination-bullet-height, var(--swiper-pagination-bullet-size, 8px));
  background: var(--swiper-pagination-bullet-inactive-color, #000000);
  border-radius: 50%;
  opacity: var(--swiper-pagination-bullet-inactive-opacity, 0.2);
}

button.swiper-pagination-bullet {
  padding: 0;
  margin: 0;
  border: none;
  box-shadow: none;
  -webkit-appearance: none;
          appearance: none;
  appearance: none;
}

.swiper-pagination-clickable .swiper-pagination-bullet {
  cursor: pointer;
}

.swiper-pagination-bullet:only-child {
  display: none !important;
}

.swiper-pagination-bullet-active {
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  opacity: var(--swiper-pagination-bullet-opacity, 1);
}

.swiper-vertical > .swiper-pagination-bullets,
.swiper-pagination-vertical.swiper-pagination-bullets {
  top: 50%;
  right: 10px;
  transform: translate3d(0, -50%, 0);
}

.swiper-vertical > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets .swiper-pagination-bullet {
  display: block;
  margin: var(--swiper-pagination-bullet-vertical-gap, 6px) 0;
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  top: 50%;
  width: 8px;
  transform: translateY(-50%);
}

.swiper-vertical > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-vertical.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  display: inline-block;
  transition: 200ms transform, 200ms top;
}

.swiper-horizontal > .swiper-pagination-bullets .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets .swiper-pagination-bullet {
  margin: 0 var(--swiper-pagination-bullet-horizontal-gap, 4px);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic {
  left: 50%;
  white-space: nowrap;
  transform: translateX(-50%);
}

.swiper-horizontal > .swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet,
.swiper-pagination-horizontal.swiper-pagination-bullets.swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms left;
}

.swiper-horizontal.swiper-rtl > .swiper-pagination-bullets-dynamic .swiper-pagination-bullet {
  transition: 200ms transform, 200ms right;
}

/* Progress */
.swiper-pagination-progressbar {
  position: absolute;
  background: rgba(0, 0, 0, 0.25);
}

.swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: var(--swiper-pagination-color, var(--swiper-theme-color));
  transform: scale(0);
  transform-origin: left top;
}

.swiper-rtl .swiper-pagination-progressbar .swiper-pagination-progressbar-fill {
  transform-origin: right top;
}

.swiper-horizontal > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-horizontal,
.swiper-vertical > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-vertical.swiper-pagination-progressbar-opposite {
  top: 0;
  left: 0;
  width: 100%;
  height: 4px;
}

.swiper-vertical > .swiper-pagination-progressbar,
.swiper-pagination-progressbar.swiper-pagination-vertical,
.swiper-horizontal > .swiper-pagination-progressbar.swiper-pagination-progressbar-opposite,
.swiper-pagination-progressbar.swiper-pagination-horizontal.swiper-pagination-progressbar-opposite {
  top: 0;
  left: 0;
  width: 4px;
  height: 100%;
}

.swiper-pagination-lock {
  display: none;
}

/* Scrollbar */
.swiper-scrollbar {
  position: relative;
  touch-action: none;
  background: rgba(0, 0, 0, 0.1);
  border-radius: 10px;
}

.swiper-horizontal > .swiper-scrollbar {
  position: absolute;
  bottom: 3px;
  left: 1%;
  z-index: 50;
  width: 98%;
  height: 5px;
}

.swiper-vertical > .swiper-scrollbar {
  position: absolute;
  top: 1%;
  right: 3px;
  z-index: 50;
  width: 5px;
  height: 98%;
}

.swiper-scrollbar-drag {
  position: relative;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.5);
  border-radius: 10px;
}

.swiper-scrollbar-cursor-drag {
  cursor: move;
}

.swiper-scrollbar-lock {
  display: none;
}

.swiper-zoom-container {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  text-align: center;
}

.swiper-zoom-container > img,
.swiper-zoom-container > svg,
.swiper-zoom-container > canvas {
  max-width: 100%;
  max-height: 100%;
  object-fit: contain;
}

.swiper-slide-zoomed {
  cursor: move;
}

/* Preloader */
:root {
  /*
  --swiper-preloader-color: var(--swiper-theme-color);
  */
}

.swiper-lazy-preloader {
  position: absolute;
  top: 50%;
  left: 50%;
  z-index: 10;
  box-sizing: border-box;
  width: 42px;
  height: 42px;
  margin-top: -21px;
  margin-left: -21px;
  border: 4px solid var(--swiper-preloader-color, var(--swiper-theme-color));
  border-top-color: transparent;
  border-radius: 50%;
  transform-origin: 50%;
  animation: swiper-preloader-spin 1s infinite linear;
}

.swiper-lazy-preloader-white {
  --swiper-preloader-color: #ffffff;
}

.swiper-lazy-preloader-black {
  --swiper-preloader-color: #000000;
}

@keyframes swiper-preloader-spin {
  100% {
    transform: rotate(360deg);
  }
}
/* a11y */
.swiper .swiper-notification {
  position: absolute;
  top: 0;
  left: 0;
  z-index: -1000;
  pointer-events: none;
  opacity: 0;
}

.swiper-free-mode > .swiper-wrapper {
  margin: 0 auto;
  transition-timing-function: ease-out;
}

.swiper-grid > .swiper-wrapper {
  flex-wrap: wrap;
}

.swiper-grid-column > .swiper-wrapper {
  flex-direction: column;
  flex-wrap: wrap;
}

.swiper-fade.swiper-free-mode .swiper-slide {
  transition-timing-function: ease-out;
}

.swiper-fade .swiper-slide {
  pointer-events: none;
  transition-property: opacity;
}

.swiper-fade .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-fade .swiper-slide-active,
.swiper-fade .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube {
  overflow: visible;
}

.swiper-cube .swiper-slide {
  z-index: 1;
  width: 100%;
  height: 100%;
  pointer-events: none;
  visibility: hidden;
  transform-origin: 0 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-cube.swiper-rtl .swiper-slide {
  transform-origin: 100% 0;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-cube .swiper-slide-active,
.swiper-cube .swiper-slide-next,
.swiper-cube .swiper-slide-prev,
.swiper-cube .swiper-slide-next + .swiper-slide {
  pointer-events: auto;
  visibility: visible;
}

.swiper-cube .swiper-slide-shadow-top,
.swiper-cube .swiper-slide-shadow-bottom,
.swiper-cube .swiper-slide-shadow-left,
.swiper-cube .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-cube .swiper-cube-shadow {
  position: absolute;
  bottom: 0;
  left: 0;
  z-index: 0;
  width: 100%;
  height: 100%;
  opacity: 0.6;
}

.swiper-cube .swiper-cube-shadow::before {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  content: "";
  background: #000000;
  filter: blur(50px);
}

.swiper-flip {
  overflow: visible;
}

.swiper-flip .swiper-slide {
  z-index: 1;
  pointer-events: none;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-flip .swiper-slide .swiper-slide {
  pointer-events: none;
}

.swiper-flip .swiper-slide-active,
.swiper-flip .swiper-slide-active .swiper-slide-active {
  pointer-events: auto;
}

.swiper-flip .swiper-slide-shadow-top,
.swiper-flip .swiper-slide-shadow-bottom,
.swiper-flip .swiper-slide-shadow-left,
.swiper-flip .swiper-slide-shadow-right {
  z-index: 0;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  backface-visibility: hidden;
}

.swiper-creative .swiper-slide {
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  backface-visibility: hidden;
  overflow: hidden;
  transition-property: transform, opacity, height;
}

.swiper-cards {
  overflow: visible;
}

.swiper-cards .swiper-slide {
  overflow: hidden;
  transform-origin: center bottom;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
  backface-visibility: hidden;
}

body {
  overscroll-behavior-y: none;
  font-family: "Noto Sans JP", sans-serif;
  font-feature-settings: "palt";
  line-height: 1.6;
  color: #000000;
  letter-spacing: 0.05em;
  background-color: #ffffff;
  -webkit-text-size-adjust: 100%;
          text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* IE10以上 */
/* stylelint-disable */
/* stylelint-enable */
a,
button {
  color: inherit;
  text-decoration: none;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

.c-lazyload {
  opacity: 0;
}
.c-lazyload.is-loaded {
  opacity: 1;
}

.c-link {
  text-decoration: underline;
}

.c-notice {
  position: relative;
  padding-left: 1.2em;
  line-height: 2;
  color: #cccccc;
  text-align: justify;
}
.c-notice::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "※";
}


.c-modal {
  position: fixed;
  top: 0;
  left: 0;
  z-index: 10200;
  display: none;
  align-items: center;
  width: 100%;
  height: 100vh;
  background: url(../images/coursepack/modal/modal_logo.png) center no-repeat;
  background-color: rgba(0, 0, 0, 0.8);
  background-size: 30.4rem auto;
  opacity: 0;
  transition: opacity 300ms ease;
  transform: translate3d(0, 0, 0);
}
.c-modal.is-active {
  opacity: 1;
}
.c-modal.is-active .c-modal-frame {
  -webkit-clip-path: inset(0);
          clip-path: inset(0);
}
.c-modal.is-active::before {
  transition: transform 700ms 80ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: translate3d(0, 0, 0);
}
.c-modal::before {
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  content: "";
  transition: transform 0s 300ms;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.c-modal-frame {
  -webkit-clip-path: inset(0 50%);
          clip-path: inset(0 50%);
  transition: -webkit-clip-path 0s 300ms;
  transition: clip-path 0s 300ms;
  transition: clip-path 0s 300ms, -webkit-clip-path 0s 300ms;
}

.c-modal-close {
  position: absolute;
  top: 4rem;
  right: 4rem;
  width: 7rem;
}

.c-modal-close-icon {
  z-index: 1;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.l-content {
  flex-grow: 1;
}

.l-container {
  position: relative;
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
.l-container img {
  display: block;
  width: 100%;
}

.l-header-logo {
  position: absolute;
  z-index: 10;
}

.l-footer {
  position: relative;
  color: #ffffff;
  background: url(../images/coursepack/common/material/bg_stripe.jpg) center top repeat;
  background-size: 0.9rem auto;
}

.l-footer-nav {
  display: flex;
}

.l-footer-nav-link {
  display: flex;
  align-items: center;
  letter-spacing: 0.02em;
}
.l-footer-nav-link::before {
  content: "";
  background-image: url(../images/coursepack/common/icon/icon_arrow_left.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.l-footer-share {
  display: flex;
  align-items: center;
}
.l-footer-share iframe,
.l-footer-share .fb_iframe_widget,
.l-footer-share .fb_iframe_widget span {
  display: block;
}

.l-footer-copyright {
  letter-spacing: 0;
}

.l-container {
  --skew-offset: calc(50vw * 0.0874886635);
}

.l-container {
  overflow: hidden;
}

.course {
  display: none;
}
.course.is-entered .course-item {
  transition: transform 540ms 60ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.course-frame {
  width: 100%;
}

.course-list {
  display: flex;
}

.course-item {
  position: relative;
  flex: none;
  width: var(--course-item-width);
  will-change: transform;
}
.course-item::before {
  display: block;
  padding-top: calc(100% * 9 / 16);
  content: "";
}
.course-item:not(.is-active) {
  transition: transform 320ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

.course-player {
  background-color: #000000;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.course-player iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.course-cover {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.course-cover > img {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.course-cover-icon {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  width: 10.6rem;
  height: 10.6rem;
  margin: auto;
}

.course-name {
  position: absolute;
  top: 100%;
  width: 100%;
  padding-top: 3rem;
  font-weight: 900;
  color: #ffffff;
  text-align: center;
}

.info {
  position: relative;
  z-index: 1;
  margin-top: calc(-1 * var(--skew-offset));
}

.info-bg {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  overflow: hidden;
  transform: skewY(-5deg);
}
.info-bg::before {
  position: absolute;
  top: calc(-1 * var(--skew-offset));
  left: 0;
  width: 100%;
  height: calc(100% + 2 * var(--skew-offset));
  content: "";
  transform: skewY(5deg);
  background: url(../images/coursepack/common/material/bg_wpt.jpg) center top repeat;
  background-size: 34rem auto;
}

.lineup {
  background: url(../images/coursepack/common/material/bg_wpt.jpg) center top repeat;
  background-size: 34rem auto;
}

.lineup-header-content {
  flex-direction: column;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lineup-body {
  position: relative;
  background: url(../images/coursepack/common/material/bg_check.jpg) center top repeat;
  background-size: 4.8rem auto;
}

.lineup-nav {
  position: absolute;
  right: 0;
  bottom: 100%;
  left: 0;
  margin: 0 auto;
}

.lineup-nav-container {
  padding-top: 3rem;
}

.lineup-nav-item {
  flex: none;
}
.lineup-nav-item:nth-child(n+2) {
  margin-left: 1px;
}

.lineup-nav-action {
  position: relative;
  width: 100%;
  height: var(--nav-item-height);
  background: #565656;
  border-radius: 2rem 2rem 0 0;
}
.lineup-nav-action.is-active .lineup-nav-bar::before {
  transform: scaleX(1);
  transform-origin: left center;
}
.lineup-nav-action.is-active .lineup-nav-bg::before {
  opacity: 1;
}
.lineup-nav-action.is-coming-soon .lineup-nav-label {
  opacity: 0.2;
}
.lineup-nav-action.is-new::before {
  position: absolute;
  top: -2.4rem;
  z-index: 1;
  width: 4.8rem;
  height: 4.8rem;
  content: "";
  background-image: url(../images/coursepack/common/icon/icon_new.png);
  filter: drop-shadow(0.4rem 0.4rem 0.8rem rgba(0, 0, 0, 0.4));
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.lineup-nav-bg {
  overflow: hidden;
  border-radius: 2rem 2rem 0 0;
  transform: translate3d(0, 0, 0);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.lineup-nav-bg::before {
  content: "";
  opacity: 0;
  transition: opacity 200ms linear;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

img.lineup-nav-coming-soon {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
}

img.lineup-nav-label {
  position: absolute;
  right: 0;
  bottom: 1rem;
  left: 0;
  margin: 0 auto;
}

.lineup-nav-bar {
  position: absolute;
  right: 0;
  left: 0;
  width: 15.8rem;
  height: 0.8rem;
  margin: 0 auto;
  background-color: #262626;
}
.lineup-nav-bar::before {
  content: "";
  background-color: #00a5e6;
  transition: transform 420ms cubic-bezier(0.165, 0.84, 0.44, 1);
  transform: scaleX(0);
  transform-origin: right center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.lineup-vol {
  position: relative;
  overflow: hidden;
}
.lineup-vol::before {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 21rem;
  content: "";
  background: linear-gradient(to top, transparent, #171717);
}

.lineup-vol-list {
  position: relative;
}

.lineup-vol-item {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  visibility: hidden;
  opacity: 0;
}
.lineup-vol-item.is-active {
  position: relative;
  visibility: visible;
  opacity: 1;
}

.lineup-vol-release {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
}

.lineup-vol-release-inner {
  font-weight: 900;
  line-height: 1.2;
  color: #ffffff;
}

.lineup-vol-other {
    position: relative;
    display: flex;
    align-items: flex-start;
    justify-content: center;
}
.lineup-vol-other-inner{
    width: 70%;
    padding: 0 0 6.4rem 0;
}

.lineup-cup-item {
  position: relative;
}
.lineup-cup-item::before {
  position: absolute;
  top: -1px;
  z-index: 1;
  content: "";
  border-top: 1px solid #5e5e5e;
  border-bottom: 2px solid #000000;
}

.lineup-cup-badge {
  position: relative;
}
.lineup-cup-badge::before {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 51rem;
  height: 51rem;
  margin: auto;
  pointer-events: none;
  content: "";
  background-image: url(../images/coursepack/lineup/lineup_cup_bg.png);
  transform: translate(-50%, -50%);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
.lineup-cup-badge img {
  position: relative;
}

.lineup-cup-name {
  position: relative;
  background-image: url(../images/coursepack/lineup/lineup_cup_name_frame.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.lineup-course-button {
  position: relative;
  display: block;
  width: 100%;
  padding: 1px;
  overflow: hidden;
  background-color: #262626;
  border: 2px solid #5e5e5e;
  border-radius: 2rem;
  transform: translate3d(0, 0, 0);
}
.third .lineup-course-button {
  pointer-events: none;
}
.lineup-course-button::before {
  display: block;
  padding-top: calc(100% * 376 / 670);
  content: "";
}
.lineup-course-button[data-soft]::after {
  position: absolute;
  z-index: 1;
  content: "";
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
.lineup-course-button[data-soft=sf]::after {
  background-image: url(../images/coursepack/common/soft/soft_sf.png);
}
.lineup-course-button[data-soft=n64]::after {
  background-image: url(../images/coursepack/common/soft/soft_n64.png);
}
.lineup-course-button[data-soft=gba]::after {
  background-image: url(../images/coursepack/common/soft/soft_gba.png);
}
.lineup-course-button[data-soft=gc]::after {
  background-image: url(../images/coursepack/common/soft/soft_gc.png);
}
.lineup-course-button[data-soft=ds]::after {
  background-image: url(../images/coursepack/common/soft/soft_ds.png);
}
.lineup-course-button[data-soft=wii]::after {
  background-image: url(../images/coursepack/common/soft/soft_wii.png);
}
.lineup-course-button[data-soft="3ds"]::after {
  background-image: url(../images/coursepack/common/soft/soft_3ds.png);
}
.lineup-course-button[data-soft=tour]::after {
  background-image: url(../images/coursepack/common/soft/soft_tour.png);
}
.lineup-course-button[data-soft=new]::after {
    background-image: url(../images/coursepack/common/soft/soft_new.png);
}
.lineup-course-item p.annotation{
  color: #fff;
  font-size: 1.4rem;
  text-align: right;
  margin-top: 3px;
}
img.lineup-course-thumb {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: translate3d(0, 0, 0);
  will-change: transform;
  transition: transform 960ms cubic-bezier(0.165, 0.84, 0.44, 1);
}

img.lineup-course-label {
  position: absolute;
  bottom: 0;
  left: 0;
  background-color: rgba(0, 0, 0, 0.7);
}

.movie-frame {
  position: relative;
}
.movie-frame::before {
  display: block;
  padding-top: calc(100% * 9 / 16);
  content: "";
}
.movie-frame iframe {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mv {
  position: relative;
}

.mv-header {
  position: relative;
  z-index: 1;
  box-shadow: 0 0 3.2rem rgba(0, 0, 0, 0.3);
}
.mv-header::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  content: "";
  background-image: linear-gradient(to right, #73ff00 0%, #00dcff 16%, fuchsia 34%, #ff8000 51%, fuchsia 68%, #00dcff 84%, #73ff00 100%);
  background-repeat: repeat-x;
  background-position: center;
  background-size: 75rem 100%;
}

.mv-lead {
  display: flex;
  align-items: center;
  background: url(../images/coursepack/common/material/bg_stripe.jpg) center top repeat;
  background-size: 0.9rem auto;
}

.mv-main {
  position: relative;
}

.mv-main-hero {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mv-main-hero img {
  object-fit: cover;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mv-main-logo {
  position: absolute;
  aspect-ratio: 528/262;
}

.mv-main-badge {
  position: absolute;
  z-index: 1;
  width: 26rem;
  filter: drop-shadow(1rem 1rem 1.4rem rgba(0, 0, 0, 0.4));
  transform: translate3d(0, 0, 0);
}

.mv-history {
  position: relative;
  background: url(../images/coursepack/common/material/bg_check.jpg) center top repeat;
  background-size: 4.8rem auto;
}

.mv-history-heading {
  margin-right: auto;
  margin-left: auto;
}

.mv-history-desc {
  margin-right: auto;
  margin-left: auto;
}

.mv-slider-list {
  display: flex;
  align-items: flex-end;
}
.display-none{
  display: none !important;
  visibility: hidden !important;
}
.mv-movie-button {
  position: relative;
  width: 100%;
  padding: 2px;
  filter: drop-shadow(2rem 2rem 2rem rgba(0, 0, 0, 0.6));
  background-image: linear-gradient(to bottom, #00a5e6, #ff0a64);
  display: block;
}
.mv-movie-button-link {
  position: relative;
  width: 100%;
  padding: 2px;
  filter: drop-shadow(2rem 2rem 2rem rgba(0, 0, 0, 0.6));
  background-image: linear-gradient(to bottom, #00a5e6, #ff0a64);
  display: block;
}

.mv-movie-video {
  position: relative;
  display: block;
  width: 100%;
  padding-top: calc(100% * 9 / 16);
  overflow: hidden;
  background-color: #000000;
  border-radius: 1.8rem;
  transform: translate3d(0, 0, 0);
}
.mv-movie-video video {
  pointer-events: none;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.mv-movie-meta {
  position: absolute;
  right: 0;
  left: 0;
  margin: 0 auto;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.mv-movie-label {
  display: flex;
  align-items: center;
  justify-content: center;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.mv-movie-label::before {
  content: "";
  background-image: url(../images/coursepack/common/icon/icon_arrow_right.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
.mv-movie-label img {
  width: auto;
}

@keyframes history-gallery {
  0% {
    transform: translateX(0);
  }
  100% {
    transform: translateX(-50%);
  }
}
.outro {
  position: relative;
  display: flex;
  flex-direction: column;
  margin-top: calc(-1 * var(--skew-offset));
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: cover;
}
.outro::after {
  position: absolute;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  content: "";
  background-image: linear-gradient(to right, #73ff00 0%, #00dcff 16%, fuchsia 34%, #ff8000 51%, fuchsia 68%, #00dcff 84%, #73ff00 100%);
  background-repeat: repeat-x;
  background-position: center;
  background-size: 75rem 100%;
}

.outro-button {
  display: flex;
  justify-content: center;
  margin-top: auto;
}

.outro-button-link {
  position: relative;
  display: block;
}

.outro-button-link-inner {
  filter: drop-shadow(1.2rem 1.2rem 2.6rem #000000);
  transform: translate3d(0, 0, 0);
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.outro-button-link-inner::after {
  background-image: url(../images/coursepack/outro/outro_button01_pc_on.png);
  content: "";
  opacity: 0;
  transition: opacity 240ms ease;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.product {
  position: relative;
  background-color: #ffffff;
  border-radius: 2.2rem;
  box-shadow: inset -1px -1px 0 1px rgba(0, 0, 0, 0.3);
}

.product-container {
  border-radius: 1.2rem;
  background: url(../images/coursepack/common/material/bg_stripe.jpg) center top repeat;
  background-size: 0.9rem auto;
}
.product-header-cero a {
  display: block;
}

.product-entry {
  display: flex;
  align-items: center;
}

.product-entry-desc {
  color: #ffffff;
}

.product-notice-item {
  line-height: 1.6;
}

.product-action-button {
  display: flex;
  justify-content: center;
}

.product-action-button-link {
  position: relative;
  display: block;
}

.product-action-button-link-inner {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.product-action-button-link-inner::before {
  content: "";
  opacity: 0;
  transition: opacity 240ms ease;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.product-switch {
  background: #262626 linear-gradient(to bottom, transparent, rgba(0, 0, 0, 0.7));
  border: 1px solid #ffffff;
  border-radius: 0.8rem;
}

.product-switch-heading {
  display: flex;
  align-items: flex-start;
  justify-content: center;
}
.product-switch-heading img {
  max-width: none;
}

.product-switch-image {
  margin-right: auto;
  margin-left: auto;
  background-color: #ffffff;
}
.product-switch-image a {
  display: block;
}
.product-switch-image img {
  transition: opacity 240ms ease;
}

.product-switch-desc {
  font-weight: 900;
  line-height: 2;
  color: #ffffff;
}

.product-switch-notice-item {
  line-height: 1.6;
}

.product-switch-action-link {
  border: 1px solid #5e5e5e;
  border-radius: 0.8rem;
  transition: border-color 160ms ease;
  display: flex;
  align-items: center;
  justify-content: center;
}
.product-switch-action-link::before {
  content: "";
  background-image: url(../images/coursepack/common/icon/icon_arrow_right.svg);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.product-chara > * {
  position: absolute;
  z-index: 1;
  pointer-events: none;
}

.product-chara-image {
  width: 100%;
  height: 100%;
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
.product-chara-02 .product-chara-image {
  background-image: url(../images/coursepack/product/product_chara_luigi.png);
}

.purchase {
  position: fixed;
  z-index: 10;
  visibility: hidden;
  filter: drop-shadow(0 1.4rem 2rem rgba(0, 0, 0, 0.6));
  transition: transform 360ms cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0s 360ms;
}
.purchase.is-active {
  visibility: visible;
  transition: transform 600ms cubic-bezier(0.165, 0.84, 0.44, 1), visibility 0s;
  transform: translateY(0);
}

.purchase-link {
  display: block;
  transition: transform 360ms cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: transform;
}

.faq {
  position: relative;
  padding-top: 5rem;
}

.faq-heading {
  margin-right: auto;
  margin-left: auto;
}

.faq-item {
  background-color: #ffffff;
  border-radius: 2rem;
  box-shadow: inset -1px -1px 0 1px rgba(0, 0, 0, 0.3);
}
.faq-item:nth-child(n+2) {
  margin-top: 4rem;
}

.faq-item-container {
  border-radius: 1.6rem;
  background: url(../images/coursepack/common/material/bg_stripe.jpg) center top repeat;
  background-size: 0.9rem auto;
}

.faq-question {
  position: relative;
}
.faq-question.is-open .faq-question-toggle-icon::before {
  transform: rotate(90deg) scaleX(0);
}
.faq-question.is-open .faq-question-toggle-icon::after {
  transform: rotate(180deg);
}
.faq-question::before {
  position: absolute;
  width: 4.6rem;
  height: 4.4rem;
  content: "";
  background-image: url(../images/coursepack/faq/faq_q.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}

.faq-question-content {
  display: block;
}

.faq-question-content,
.faq-answer-heading {
  font-weight: 900;
  line-height: 2;
  color: #ffffff;
  text-align: justify;
  letter-spacing: 0.06em;
  font-feature-settings: normal;
}
.faq-answer-ttl {
  background-color: #262626;
  border: 1px solid #5e5e5e;
  padding: 0.8em 1em;
  color: #fff;
  margin-bottom: 10px;
  font-weight: 700;
}
.faq-answer-heading + .faq-answer-ttl  {
  margin-top: 1.5em;
}

.faq-question-toggle {
  position: absolute;
  width: 4.4rem;
  height: 4.4rem;
}

.faq-question-toggle-icon {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}
.faq-question-toggle-icon::before, .faq-question-toggle-icon::after {
  position: absolute;
  top: calc(50% - var(--px-6, 3px) / 2);
  left: calc(50% - var(--px-6, 3px) * 3 / 2);
  width: calc(var(--px-6, 3px) * 3);
  height: var(--px-6, 3px);
  margin: auto;
  content: "";
  background-color: #1c1c1c;
  will-change: transform;
  transition: transform 280ms cubic-bezier(0.77, 0, 0.175, 1);
}
.faq-question-toggle-icon::after {
  transform: rotate(90deg);
}

.faq-answer {
  height: 0;
  overflow: hidden;
  will-change: height;
}

.faq-answer-content {
  position: relative;
  border-top: 4px solid #ffffff;
}
.faq-answer-content::before {
  position: absolute;
  width: 4.2rem;
  height: 4.2rem;
  content: "";
  background-image: url(../images/coursepack/faq/faq_a.png);
  background-repeat: no-repeat;
  background-position: 50% 50%;
  background-size: contain;
}
.faq-answer-body > * {
  margin-bottom: 3rem;
}
.faq-answer-body > *:last-child {
  margin-bottom: 0;
}
.faq-answer-body table {
  color: #ffffff;
  border-collapse: collapse;
  background-color: #000000;
  border: 1px solid #5e5e5e;
}
.faq-answer-body table th,
.faq-answer-body table td {
  border: 1px solid #5e5e5e;
}
.faq-answer-body table th[data-bg=gray],
.faq-answer-body table td[data-bg=gray] {
  background-color: #262626;
}
.faq-answer-body table th[data-bg=red],
.faq-answer-body table td[data-bg=red] {
  background-color: #73000a;
}
.faq-answer-body table th .c-notice,
.faq-answer-body table td .c-notice {
  text-align: left;
}
.faq-answer-body table th {
  font-weight: 900;
}
.faq-answer-body table thead th,
.faq-answer-body table thead td {
  vertical-align: middle;
}
.faq-answer-body table thead th {
  text-align: center;
}
.faq-answer-body table tbody th,
.faq-answer-body table tbody td {
  vertical-align: top;
}
.faq-answer-body table tbody th {
  text-align: left;
}
.faq-answer-body .faq-dot-list li {
  position: relative;
  padding-left: 1em;
}
.faq-answer-body .faq-dot-list li::before {
  position: absolute;
  top: 0;
  left: 0;
  content: "・";
}
.faq-answer-body .faq-dot-list li + li {
  margin-top: 0.2em;
}
.faq-answer-body .faq-notice {
  line-height: 1.6;
}
.faq-answer-body .faq-notice:nth-child(n+2) {
  margin-top: 0.3em;
}

.faq-table-spec {
  table-layout: fixed;
}

.l-container [data-soft=sf] {
  --soft-scale: 0.78;
  --soft-aspect-ratio: calc(144 / 260);
}
.l-container [data-soft=n64] {
  --soft-scale: 1;
  --soft-aspect-ratio: calc(186 / 261);
}
.l-container [data-soft=gba] {
  --soft-scale: 1.04;
  --soft-aspect-ratio: calc(194 / 124);
}
.l-container [data-soft=gc] {
  --soft-scale: 0.78;
  --soft-aspect-ratio: calc(146 / 206);
}
.l-container [data-soft=ds] {
  --soft-scale: 1.01;
  --soft-aspect-ratio: calc(188 / 168);
}
.l-container [data-soft=wii] {
  --soft-scale: 1;
  --soft-aspect-ratio: calc(186 / 260);
}
.l-container [data-soft="3ds"] {
  --soft-scale: 1;
  --soft-aspect-ratio: calc(186 / 170);
}
.l-container [data-soft=tour] {
  --soft-scale: 0.5;
  --soft-aspect-ratio: calc(94 / 192);
}
.l-container [data-soft=new] {
    --soft-scale: 1.3;
    --soft-aspect-ratio: calc(152 / 42);
}
@media screen and (min-width: 769px) and (max-width: 1439px) {
  html {
    font-size: calc(100vw / 144);
  }
}
@media screen and (min-width: 769px) and (min-width: 1440px) {
  html {
    font-size: 62.5%;
  }
}
@media screen and (max-width: 768px) {
  html {
    font-size: calc(100vw / 75);
  }
  body {
    font-size: 2.4rem;
  }
  .u-display-pc {
    display: none;
  }
  .c-notice {
    font-size: 2.2rem;
  }
  .c-notice:nth-child(n+2) {
    margin-top: 2.4rem;
  }
  .c-modal.is-active .c-modal-frame {
    transition: -webkit-clip-path 300ms 580ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 300ms 580ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 300ms 580ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-clip-path 300ms 580ms cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .c-modal::before {
    width: 31.3rem;
    height: 33.2rem;
    transform: translate3d(24rem, 0, 0);
  }
  .l-header-logo {
    top: 1rem;
    right: 1rem;
    width: 10rem;
  }
  .l-footer {
    padding: 5.2rem 1rem 5.6rem;
  }
  .l-footer-nav {
    justify-content: center;
  }
  .l-footer-nav-item:nth-child(n+2) {
    margin-left: 3.2rem;
  }
  .l-footer-nav-link {
    font-size: 2rem;
  }
  .l-footer-nav-link::before {
    width: 2rem;
    height: 2rem;
    margin-top: 0.2rem;
    margin-right: 1rem;
  }
  .l-footer-share {
    justify-content: center;
    margin-top: 5.2rem;
  }
  .l-footer-share-item:nth-child(n+2) {
    margin-left: 2rem;
  }
  .l-footer-copyright {
    margin-top: 5.2rem;
    font-size: 2rem;
    text-align: center;
  }
  .l-container {
    --base-width: 750;
  }
  .course {
    --course-item-width: min(calc(100% - 14.8rem), calc(((100vh - 18rem) * 16 / 9)));
  }
  .course-frame {
    padding: 10rem 0;
  }
  .course-item {
    margin-right: auto;
    margin-left: auto;
  }
  .course-item:not(.is-active) {
    transform: scale(0.85);
  }
  .course-name {
    font-size: 3.2rem;
  }
  .course-nav-prev,
.course-nav-next {
    display: none;
  }
  .info-container {
    padding: 14.4rem 4rem 11rem;
  }
  .lineup-header {
    flex-direction: column;
    padding: 7.1rem 0 18.4rem;
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .lineup-logo {
    width: 48.8rem;
  }
  .lineup-header-content {
    margin-top: 5.2rem;
  }
  .lineup-header-label {
    width: 26.7rem;
  }
  .lineup-header-desc {
    width: 70.3rem;
    margin-top: 1.8rem;
  }
  .lineup-body {
    padding-bottom: 13.6rem;
  }
  .lineup-nav {
    --nav-item-height: 11.6rem;
    height: calc(var(--nav-item-height) + 3rem);
    overflow: hidden;
  }
  .lineup-nav-container:not(.is-slider) {
    height: calc(var(--nav-item-height) + 3rem + 3rem);
    overflow-x: auto;
  }
  .lineup-nav-list {
    display: inline-flex;
  }
  .lineup-nav-list::before, .lineup-nav-list::after {
    width: 2px;
    content: "";
  }
  .lineup-nav-item {
    width: 21.8rem;
  }
  .lineup-nav-action {
    padding: 3px;
  }
  .lineup-nav-action.is-new::before {
    right: -0.4rem;
  }
  .lineup-nav-bg {
    background-image: url(../images/coursepack/lineup/lineup_nav_button_sp.jpg);
  }
  .lineup-nav-bg::before {
    background-image: url(../images/coursepack/lineup/lineup_nav_button_active_sp.jpg);
  }
  img.lineup-nav-coming-soon {
    bottom: 1.4rem;
    width: 14.1rem;
  }
  img.lineup-nav-label {
    bottom: 4rem;
    width: 12.6rem;
  }
  .lineup-nav-bar {
    bottom: 1.4rem;
  }
  .lineup-vol {
    height: 422rem;
  }
  .lineup-vol-item {
    transition: opacity 240ms ease, visibility 0s 240ms;
  }
  .lineup-vol-item.is-active {
    transition: opacity 240ms 120ms ease, visibility 0s;
  }
  .lineup-vol-release {
    min-height: 19.6rem;
    padding: 0 4rem;
  }
  .lineup-vol-release-inner {
    padding: 6rem 0;
    font-size: 2.4rem;
  }
  .lineup-vol-release-inner img {
    width: auto;
    height: 9rem;
  }
  .lineup-cup-item {
    padding: 6.4rem 4rem;
  }
  .lineup-cup-item::before {
    left: 4rem;
    width: calc(100% - 8rem);
  }
  .lineup-cup-header {
    display: flex;
    align-items: center;
    padding-left: 6.8rem;
    margin-bottom: 6rem;
  }
  .lineup-cup-badge {
    width: 19rem;
  }
  .lineup-cup-name {
    width: 30.6rem;
    height: 7.2rem;
    margin-left: 5rem;
  }
  .lineup-course-item:nth-child(n+2) {
    margin-top: 4rem;
  }

  .lineup-course-button[data-soft]::after {
    right: 3.6rem;
    bottom: 2.2rem;
    width: calc(12.2rem * var(--soft-scale));
    height: calc(12.2rem * var(--soft-scale) / var(--soft-aspect-ratio));
  }
  .lineup-course-button[data-soft=new]::after {
    bottom: 1.6rem;
  }
  .lineup-course-item p.annotation{
    font-size: 2rem;
  }
  .lineup-notice {
    padding: 0 4rem;
    margin-top: -1.6rem;
  }
  .movie-frame {
    width: min(100%, calc(((100vh - 14rem) * 16 / 9)));
    margin-right: auto;
    margin-left: auto;
  }
  .mv-header {
    padding-bottom: 2px;
  }
  .mv-header::after {
    height: 2px;
  }
  .mv-lead {
    height: 12rem;
    padding-left: 2.7rem;
  }
  .mv-lead img {
    width: 58.7rem;
  }
  .mv-main {
    padding-top: calc(100% * 890 / var(--base-width));
  }
  .mv-main-logo {
    top: 4rem;
    right: 0;
    left: 0;
    width: 48.8rem;
    margin-right: auto;
    margin-left: auto;
  }
  .mv-main-badge {
    right: 3rem;
    bottom: -3.8rem;
  }
  .mv-history {
    padding: 8rem 0;
  }
  .mv-history-heading {
    width: 69.3rem;
    margin-top: 10rem;
  }
  .mv-history-desc {
    width: 65.1rem;
    margin-top: 5.8rem;
  }
  .mv-slider {
    margin-top: 4.7rem;
    overflow: hidden;
  }
  .mv-slider-container {
    display: inline-flex;
    animation: history-gallery 30s linear infinite;
    will-change: transform;
  }
  .mv-slider-list {
    height: 26.1rem;
  }
  .mv-slider-item {
    width: calc(18.6rem * var(--soft-scale));
    margin-left: 3.2rem;
  }
  .mv-movie {
    display: flex;
    justify-content: center;
    width: 59rem;
    margin-right: auto;
    margin-left: auto;
    position: relative;
  }
  .mv-movie.is-new::before {
    content: "";
    width: 5em;
    height: 5em;
    position: absolute;
    z-index: 1;
    top: -2em;
    right: -3em;
    background: url(../images/coursepack/mv/ic_new.png) 0 0 / 100% no-repeat;
    z-index: 3;
  }
  .mv-movie-button,
  .mv-movie-button-link {
    border-radius: 2rem;
  }
  .mv-movie-meta {
    bottom: -2.8rem;
    width: 52rem;
  }
  .mv-movie-label::before {
    width: 2rem;
    height: 2rem;
    margin-right: 7.1rem;
  }
  .mv-movie-label img {
    height: 50%;
	margin-right: 8rem;
  }
  .outro {
    height: calc(64.4rem + var(--skew-offset));
    padding-bottom: 8.4rem;
    background-image: url(../images/coursepack/outro/outro_bg_sp.jpg);
  }
  .outro::after {
    height: 2px;
  }
  .outro-button-link {
    width: 63rem;
    height: 14rem;
  }
  .product {
    padding: 10px;
  }
  .product-container {
    padding: 7rem 3.8rem;
  }
  .product-header-hero {
    display: flex;
    align-items: flex-end;
    justify-content: center;
  }
  .product-header-package {
    width: 42rem;
  }
  .product-header-package img {
    border-radius: 1.6rem;
  }
  .product-header-cero {
    width: 6rem;
    margin-left: 1.6rem;
  }
  .product-header-content {
    margin-top: 5.7rem;
  }
  .product-header-heading {
    width: 57.1rem;
    margin: 0 auto;
  }
  .product-header-desc {
    width: 44.2rem;
    margin: 4.6rem auto 0;
  }
  .product-entry {
    padding-right: 2.6rem;
    padding-left: 2.6rem;
    margin-top: 5.2rem;
  }
  .product-entry-image {
    flex: none;
    width: 18rem;
    padding: 2.8rem 1rem;
    background-color: #e60012;
  }
  .product-entry-image img {
    width: 16rem;
  }
  .product-entry-desc {
    padding-left: 3rem;
    font-size: 2rem;
    line-height: 1.8;
  }
  .product-notice {
    padding-right: 2.6rem;
    padding-left: 2.6rem;
    margin-top: 4.3rem;
  }
  .product-notice-item {
    font-size: 2rem;
  }
  .product-notice-item:nth-child(n+2) {
    margin-top: 1.8rem;
  }
  .product-action {
    margin-top: 5.4rem;
  }
  .product-action-button-link {
    height: 14rem;
  }
  .product-action-button-link.is-preorder {
    width: 51rem;
  }
  .product-action-button-link.is-download {
    width: 51rem;
  }
  .product-switch {
    padding: 5.6rem 4.8rem 6rem;
    margin-top: 8rem;
  }
  .product-switch-heading {
    padding-right: 0.5rem;
  }
  .product-switch-heading img {
    width: 49.4rem;
  }
  .product-switch-image {
    width: 44.8rem;
    margin-top: 4.4rem;
  }
  .product-switch-desc {
    margin: 3.6rem -1em 0;
    font-size: 2.2rem;
    text-align: center;
  }
  .product-switch-notice {
    margin-top: 3rem;
  }
  .product-switch-notice-item {
    font-size: 2rem;
  }
  .product-switch-notice-item:nth-child(n+2) {
    margin-top: 1.1rem;
  }
  .product-switch-faq {
    margin-top: 2rem;
  }
  .product-switch-faq a {
    color: #fff;
    font-size: 2rem;
  }
  .product-switch-faq a i {
    display: inline-block;
    background: #e60012;
    width: 14px;
    height: 14px;
    border-radius: 7px;
    vertical-align: -3px;
    margin: 0 6px 0 6px;
    transform: rotate(90deg);
  }
  .product-switch-faq a i:before {
    content: '';
    display: block;
    background: url(/switch/aabpa/coursepack/img/arrow/right-stroke-white.svg) 50% 50% no-repeat;
    background-size: 14px;
    width: 14px;
    height: 14px;
  }
  .product-switch-action {
    margin-top: 4.2rem;
  }
  .product-switch-action-link {
    padding: 3rem 0;
  }
  .product-switch-action-link::before {
    width: 2.2rem;
    height: 2.2rem;
    margin-right: 2rem;
  }
  .product-switch-action-link img {
    width: 37.6rem;
  }
  .product-chara-01 {
    display: none;
  }
  .product-chara-02 {
    top: -22.8rem;
    right: -8.3rem;
    width: 25.9rem;
    height: 40.5rem;
  }
  .product-chara-03 {
    display: none;
  }
  .purchase {
    right: 3.2rem;
    bottom: 3.2rem;
    width: 17rem;
    transform: translateY(3.2rem) translateY(100%);
  }
  .faq {
    margin-top: 4rem;
  }
  .faq-heading {
    width: 66.8rem;
    margin-left: 0.6rem;
  }
  .faq-list {
    margin-top: 4rem;
  }
  .faq-item {
    padding: 5px;
  }
  .faq-question::before {
    top: 3rem;
    left: 3rem;
  }
  .faq-question-content {
    padding: 2.8rem 10.4rem;
  }
  .faq-question-content,
.faq-answer-heading {
    font-size: 2.4rem;
  }
  .faq-question-toggle {
    top: 3rem;
    right: 3rem;
  }
  .faq-answer {
    transition: height 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .faq-answer-content {
    padding: 3.5rem 0;
  }
  .faq-answer-content::before {
    top: 4rem;
    left: 3rem;
  }
  .faq-answer-heading {
    padding: 0 10.4rem;
  }
  .faq-answer-ttl {
    margin: 0 10.4rem;
    padding: 0.5em 0.8em;
    margin-bottom: 0.5em;
  }

  .faq-answer-body {
    padding: 0 3rem 1rem;
    margin-top: 4rem;
  }
  .faq-answer-body table {
    font-size: 2.2rem;
  }
  .faq-answer-body table th,
.faq-answer-body table td {
    padding: 3.2rem 3.6rem;
  }
  .faq-answer-body table th > * + *,
.faq-answer-body table td > * + * {
    margin-top: 1rem;
  }
  .faq-answer-body table + table {
    margin-top: 4rem;
  }
  .faq-answer-body .faq-notice {
    font-size: 2rem;
  }
  .faq-table-spec colgroup col:nth-child(1) {
    width: 50%;
  }
  .faq-table-spec colgroup col:nth-child(2) {
    width: 50%;
  }
  .faq-table-label {
    margin-bottom: 1.6rem;
    font-weight: 900;
  }
}
@media screen and (min-width: 769px) {
  body {
    font-size: 2rem;
  }
  .u-display-sp {
    display: none;
  }
  .c-link:hover {
    text-decoration: none;
  }
  .c-notice {
    font-size: 1.6rem;
  }
  .c-notice:nth-child(n+2) {
    margin-top: 1.8rem;
  }
  .c-modal.is-active .c-modal-frame {
    transition: -webkit-clip-path 420ms 540ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 420ms 540ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 420ms 540ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-clip-path 420ms 540ms cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .c-modal::before {
    width: 41.7rem;
    height: 44.2rem;
    transform: translate3d(16rem, 0, 0);
  }
  .c-modal-close::after {
    background-image: url(../images/coursepack/modal/modal_close_bg_on.png);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 0;
    transition: opacity 240ms ease;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
  }
  .c-modal-close:hover::after {
    opacity: 1;
  }
  .l-header-logo {
    top: 0;
    right: 0;
    width: 10rem;
  }
  .l-footer {
    display: grid;
    grid-template-areas: "nav copyright share";
    grid-template-columns: 1fr auto 1fr;
    align-items: center;
    padding: 2.8rem 4rem;
  }
  .l-footer-nav {
    grid-area: nav;
  }
  .l-footer-nav-item:nth-child(n+2) {
    margin-left: 2.8rem;
  }
  .l-footer-nav-link {
    font-size: 1.4rem;
    transition: opacity 240ms ease;
  }
  .l-footer-nav-link:hover {
    opacity: 0.7;
  }
  .l-footer-nav-link::before {
    width: 1.2rem;
    height: 1.2rem;
    margin-top: 0.2rem;
    margin-right: 0.7rem;
  }
  .l-footer-share {
    grid-area: share;
    justify-content: flex-end;
  }
  .l-footer-share-item:nth-child(n+2) {
    margin-left: 1rem;
  }
  .l-footer-copyright {
    grid-area: copyright;
    font-size: 1.4rem;
  }
  .l-container {
    --base-width: 1440;
  }
  .course {
    --course-item-width: min(84rem, calc(100% - 30rem), calc((100vh * 16 / 9) - 34rem));
  }
  .course-frame {
    padding: 8rem 0;
  }
  .course-item {
    margin-right: auto;
    margin-left: auto;
  }
  .course-item:not(.is-active) {
    transform: scale(0.8);
  }
  .course-cover-with-player:hover .course-cover-icon {
    transform: scale(1.1);
  }
  .course-cover-with-player:hover .course-cover-icon::before {
    opacity: 1;
  }
  .course-cover-icon {
    transition: transform 400ms cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .course-cover-icon::before {
    background-image: url(../images/coursepack/modal/modal_play_on.png);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 0;
    transition: opacity 240ms ease;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
  }
  .course-name {
    font-size: 2.4rem;
  }
  .course-nav-prev,
.course-nav-next {
    position: absolute;
    top: 50%;
    padding: 1rem;
    transition: opacity 200ms ease;
    transform: translateY(-50%);
  }
  .course-nav-prev:hover .course-nav-icon::before,
.course-nav-next:hover .course-nav-icon::before {
    opacity: 1;
  }
  .course-nav-prev.is-disabled,
.course-nav-next.is-disabled {
    opacity: 0;
  }
  .course-nav-prev {
    right: calc(50% + var(--course-item-width) * 0.5 + 1.5rem);
  }
  .course-nav-prev .course-nav-icon::before {
    background-image: url(../images/coursepack/modal/modal_arrow_left_on.png);
  }
  .course-nav-next {
    left: calc(50% + var(--course-item-width) * 0.5 + 1.5rem);
  }
  .course-nav-next .course-nav-icon::before {
    background-image: url(../images/coursepack/modal/modal_arrow_right_on.png);
  }
  .course-nav-icon {
    position: relative;
    display: block;
    width: 4rem;
  }
  .course-nav-icon::before {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 0;
    transition: opacity 240ms ease;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
  }
  .info-container {
    padding: 14rem 16rem 12rem;
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
  }
  .lineup-header {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 6.2rem 0 15.3rem;
  }
  .lineup-logo {
    width: 40.6rem;
    margin-right: 6.5rem;
  }
  .lineup-header-label {
    width: 22.8rem;
  }
  .lineup-header-desc {
    width: 77.4rem;
    margin-top: 1.7rem;
  }
  .lineup-body {
    padding-bottom: 19.2rem;
  }
  .lineup-nav {
    --nav-item-height: 9.2rem;
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
  }
  .lineup-nav-list {
    display: flex;
    justify-content: center;
  }
  .lineup-nav-item {
    width: 23.8rem;
  }
  .lineup-nav-action {
    display: block;
    padding: 6px;
  }
  .lineup-nav-action.is-new::before {
    right: 1.6rem;
  }
  .lineup-nav-bg {
    background-image: url(../images/coursepack/lineup/lineup_nav_button_pc.jpg);
  }
  .lineup-nav-bg::before {
    background-image: url(../images/coursepack/lineup/lineup_nav_button_active_pc.jpg);
  }
  img.lineup-nav-coming-soon {
    bottom: 1.2rem;
    width: 10.6rem;
  }
  img.lineup-nav-label {
    bottom: 3rem;
    width: 10.6rem;
  }
  .lineup-nav-bar {
    bottom: 1.2rem;
  }
  .lineup-vol {
    height: 167.4rem;
  }
  .lineup-vol-list {
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
  }
  .lineup-vol-item {
    padding: 0 6rem;
    transition: opacity 320ms ease, visibility 0s 320ms;
  }
  .lineup-vol-item.is-active {
    transition: opacity 320ms 160ms ease, visibility 0s;
  }
  .lineup-vol-release {
    min-height: 21.8rem;
    padding: 0 5rem;
  }
  .lineup-vol-release-inner {
    padding: 5.6rem 0;
    font-size: 3.2rem;
  }
  .lineup-vol-release-inner img {
    width: auto;
    height: 10.6rem;
  }
  .lineup-vol-other {
    min-height: 16.8rem;
    padding: 0 5rem;
  }
  .lineup-vol-other-inner {
    padding: 0 0 5.6rem 0;
    font-size: 3.2rem;
    width:auto;
  }
  .lineup-vol-other-inner img {
    width: auto;
    height: 10.6rem;
  }
  .lineup-cup-item {
    display: flex;
    align-items: center;
    padding: 6rem 0;
  }
  .lineup-cup-item::before {
    left: 0;
    width: 100%;
  }
  .lineup-cup-header {
    display: flex;
    flex: none;
    flex-direction: column;
    align-items: center;
    width: 26.8rem;
    padding-right: 5.8rem;
  }
  .lineup-cup-badge {
    width: 16rem;
  }
  .lineup-cup-name {
    width: 21rem;
    height: 4.9rem;
    margin-top: 3.4rem;
  }
  .lineup-course-list {
    display: grid;
    flex-grow: 1;
    grid-template-columns: repeat(2, 1fr);
    gap: 2rem;
  }
  .lineup-course-list.third {
    margin:0 10%;
  }
  .lineup-course-button {
    padding: 3px;
    border-width: 4px;
  }
  .lineup-course-button[data-soft]::after {
    right: 2.8rem;
    bottom: 1.8rem;
    width: calc(9.5rem * var(--soft-scale));
    height: calc(9.5rem * var(--soft-scale) / var(--soft-aspect-ratio));
  }
  .lineup-course-button[data-soft=new]::after {
    bottom: 1.2rem;
  }
  button.lineup-course-button:hover .lineup-course-thumb {
    transform: scale(1.08);
  }

  .lineup-notice {
    padding: 0 6rem 0 calc(6rem + 26.8rem);
    margin-top: -1.1rem;
    max-width: 1440px;
    margin-right: auto;
    margin-left: auto;
  }
  .movie-frame {
    width: min(92rem, calc(100% - 30rem), calc((100vh * 16 / 9)));
    margin-right: auto;
    margin-left: auto;
  }
  .mv-header {
    justify-content: center;
    padding-bottom: 4px;
  }
  .mv-header::after {
    height: 4px;
  }
  .mv-lead {
    justify-content: center;
    height: 9.6rem;
  }
  .mv-lead img {
    width: 77.5rem;
  }
  .mv-main {
    padding-top: calc(100% * 850 / var(--base-width));
  }
  .mv-main-logo {
    top: 3.8rem;
    left: 6rem;
    width: 52.8rem;
  }
  .mv-main-badge {
    right: 6rem;
    bottom: 4rem;
  }
  .mv-history {
    padding: 3rem 0 6rem;
  }
  .mv-history-heading {
    width: 128rem;
  }
  .mv-history-desc {
    width: 77.6rem;
    margin-top: 4.4rem;
  }
  .mv-slider {
    display: flex;
    justify-content: center;
    margin-top: 5rem;
  }
  .mv-slider-container {
    display: flex;
  }
  .mv-slider-list {
    height: 19rem;
  }
  .mv-slider-list:nth-child(n+2) {
    display: none;
  }
  .mv-slider-item {
    width: calc(13.6rem * var(--soft-scale));
    margin-left: 2.4rem;
  }
  .mv-movie {
    position: absolute;
    bottom: calc(100% + 6.4rem);
    left: 65%;
    width: 43.2rem;
  }
  .mv-movie-button,
  .mv-movie-button-link {
    border-radius: 2rem;
  }
  .mv-movie-button:hover .mv-movie-meta::before,
  .mv-movie-button-link:hover .mv-movie-meta::before {
    opacity: 1;
  }
  .mv-movie.is-new::before {
    content: "";
    width: 4.5em;
    height: 4.5em;
    position: absolute;
    z-index: 1;
    top: -2em;
    right: -3em;
    background: url(../images/coursepack/mv/ic_new.png) 0 0 / 100% no-repeat;
    z-index: 3;
  }
  .mv-movie-meta {
    bottom: -2.4rem;
    width: 37.6rem;
  }
  .mv-movie-meta::before {
    background-image: url(../images/coursepack/mv/mv_movie_label_frame_pc_on.png);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 0;
    transition: opacity 240ms ease;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
  }
  .mv-movie-label::before {
    width: 1.6rem;
    height: 1.6rem;
    margin-right: 4.7rem;
  }
  .mv-movie-label img {
    height: 41.5%;
	margin-right: 6rem;
  }
  .outro {
    height: calc(40.4rem + var(--skew-offset));
    padding-bottom: 12.4rem;
    background-image: url(../images/coursepack/outro/outro_bg_pc.jpg);
  }
  .outro::after {
    height: 4px;
  }
  .outro-button {
    padding-right: calc(50% - 18rem);
  }
  .outro-button-link {
    width: 58rem;
    height: 12rem;
  }
  .outro-button-link:hover .outro-button-link-inner::after {
    opacity: 1;
  }
  .product {
    padding: 6px;
  }
  .product-container {
    padding: 7.4rem;
  }
  .product-header {
    display: flex;
    justify-content: center;
  }
  .product-header-hero {
    position: relative;
  }
  .product-header-package {
    flex: none;
    width: 33.6rem;
  }
  .product-header-package img {
    border-radius: 1rem;
  }
  .product-header-cero {
    position: absolute;
    top: calc(100% + 2.2rem);
    left: 0;
    width: 3.8rem;
  }
  .product-header-content {
    flex-grow: 1;
    padding-top: 0.6rem;
    padding-left: 5.4rem;
  }
  .product-header-heading {
    width: 57.3rem;
  }
  .product-header-desc {
    width: 37.4rem;
    margin-top: 3.6rem;
    margin-left: 0.4rem;
  }
  .product-entry {
    justify-content: center;
    padding: 0 6rem;
    margin-top: 3.2rem;
  }
  .product-entry-image {
    width: 10rem;
  }
  .product-entry-desc {
    padding-bottom: 0.2rem;
    margin-left: 1.6rem;
    font-size: 1.4rem;
    line-height: 1.6;
  }
  .product-notice {
    width: 54rem;
    margin: 4.2rem auto 0;
  }
  .product-notice-item {
    font-size: 1.4rem;
  }
  .product-notice-item:nth-child(n+2) {
    margin-top: 1.8rem;
  }
  .product-action {
    margin-top: 5rem;
  }
  .product-action-button-link {
    height: 11.1rem;
  }
  .product-action-button-link:hover .product-action-button-link-inner::before {
    opacity: 1;
  }
  .product-action-button-link.is-preorder {
    width: 48rem;
  }
  .product-action-button-link.is-preorder .product-action-button-link-inner::before {
    background-image: url(../images/coursepack/product/product_button_preorder_pc_on.png);
  }
  .product-action-button-link.is-download {
    width: 48rem;
  }
  .product-action-button-link.is-download .product-action-button-link-inner::before {
    background-image: url(../images/coursepack/product/product_button_download_pc_on.png);
  }
  .product-switch {
    padding: 5.4rem 0 6rem;
    margin-top: 6rem;
  }
  .product-switch-heading img {
    width: 86.8rem;
  }
  .product-switch-body {
    display: flex;
    align-items: flex-start;
    padding: 0 9.2rem;
    margin-top: 4.5rem;
  }
  .product-switch-image {
    flex: none;
    width: 31.8rem;
  }
  .product-switch-image a:hover img {
    opacity: 0.85;
  }
  .product-switch-content {
    flex-grow: 1;
    padding-left: 4.8rem;
    margin-top: -0.4rem;
  }
  .product-switch-desc {
    font-size: 1.6rem;
  }
  .product-switch-notice {
    margin-top: 2rem;
    margin-right: -2em;
  }
  .product-switch-notice-item {
    font-size: 1.4rem;
  }
  .product-switch-notice-item:nth-child(n+2) {
    margin-top: 0.7rem;
  }
  .product-switch-faq {
    margin-top: 2rem;
  }
  .product-switch-faq a {
    color: #fff;
    font-size: 1.4rem;
  }
  .product-switch-faq a:hover {
    text-decoration: underline;
  }
  .product-switch-faq a i {
    display: inline-block;
    background: #e60012;
    width: 14px;
    height: 14px;
    border-radius: 7px;
    vertical-align: -1px;
    margin: 0 6px 0 6px;
    transform: rotate(90deg);
  }
  .product-switch-faq a i:before {
    content: '';
    display: block;
    background: url(/switch/aabpa/coursepack/img/arrow/right-stroke-white.svg) 50% 50% no-repeat;
    background-size: 14px;
    width: 14px;
    height: 14px;
  }
  .product-switch-action {
    width: 62.6rem;
    margin: 4.4rem auto 0;
  }
  .product-switch-action-link {
    padding: 1.4rem 0;
  }
  .product-switch-action-link:hover {
    border-color: #ffffff;
  }
  .product-switch-action-link::before {
    width: 1.4rem;
    height: 1.4rem;
    margin-right: 1.2rem;
  }
  .product-switch-action-link img {
    width: 57rem;
  }
  .product-chara-01 {
    top: -33.2rem;
    right: -25.2rem;
    width: 53.1rem;
    height: 37.9rem;
  }
  .product-chara-01 .product-chara-image {
    background-image: url(../images/coursepack/product/product_chara_peach.png);
  }
  .product-chara-02 {
    top: 34.3rem;
    right: -10.7rem;
    width: 34.5rem;
    height: 53.9rem;
  }
  .product-chara-03 {
    bottom: -13.7rem;
    left: -21.6rem;
    width: 56.1rem;
    height: 50.3rem;
  }
  .product-chara-03 .product-chara-image {
    background-image: url(../images/coursepack/product/product_chara_mario.png);
  }
  .purchase {
    right: 3.4rem;
    bottom: 3.4rem;
    width: 24rem;
    transform: translateY(3.4rem) translateY(100%);
  }
  .purchase-link:hover {
    transform: scale(1.05);
  }
  .faq {
    margin-top: 6rem;
  }
  .faq-heading {
    width: 58.2rem;
  }
  .faq-list {
    margin-top: 4.2rem;
  }
  .faq-item {
    padding: 6px;
  }
  .faq-question:hover .faq-question-toggle::before {
    opacity: 1;
  }
  .faq-question::before {
    top: 3.4rem;
    left: 3.4rem;
  }
  .faq-question-content {
    padding: 3.4rem 10.8rem;
  }
  .faq-question-content,
.faq-answer-heading {
    font-size: 2rem;
  }
  .faq-question-toggle {
    top: 3.4rem;
    right: 3.4rem;
  }
  .faq-question-toggle::before {
    background-image: url(../images/coursepack/faq/faq_toggle_on.png);
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    content: "";
    opacity: 0;
    transition: opacity 240ms ease;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: 50% 50%;
    background-size: contain;
  }
  .faq-answer {
    transition: height 600ms cubic-bezier(0.165, 0.84, 0.44, 1);
  }
  .faq-answer-content {
    padding: 3.4rem 10.8rem;
  }
  .faq-answer-content::before {
    top: 3.4rem;
    left: 3.4rem;
  }
  .faq-answer-body {
    padding-bottom: 1.6rem;
    margin-top: 4rem;
  }
  .faq-answer-body table {
    font-size: 1.8rem;
  }
  .faq-answer-body table th,
.faq-answer-body table td {
    padding: 2.5rem 2.8rem;
  }
  .faq-answer-body table th > * + *,
.faq-answer-body table td > * + * {
    margin-top: 1rem;
  }
  .faq-answer-body .faq-notice {
    font-size: 1.2rem;
    text-align: left;
  }
  .faq-table-spec colgroup col:nth-child(1) {
    width: 18%;
  }
  .faq-table-spec colgroup col:nth-child(2) {
    width: 32%;
  }
  .faq-table-spec colgroup col:nth-child(3) {
    width: 25%;
  }
  .faq-table-spec colgroup col:nth-child(4) {
    width: 25%;
  }
}
@media all and (-ms-high-contrast: none) {
  html {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
@media all and (-ms-high-contrast: active) {
  html {
    font-family: Verdana, Meiryo, sans-serif;
  }
}
@media screen and (-webkit-min-device-pixel-ratio: 0) {
  ::i-block-chrome,
body {
    font-feature-settings: "pkna";
  }
}
@media screen and (orientation: landscape) and (max-width: 768px) {
  .c-modal::before {
    width: 20rem;
    height: 21.2rem;
  }
  .c-modal-close {
    width: 4rem;
  }
  .course-name {
    padding-top: 1.5rem;
    font-size: 2rem;
  }
  .movie-frame {
    width: min(calc(100% - 22rem), calc(((100vh - 10rem) * 16 / 9)));
  }
}
@media screen and (min-width: 1440px) {
  .mv-main-logo {
    top: calc(100vw * 38 / var(--base-width));
    left: calc(100vw * 60 / var(--base-width));
    width: calc(100vw * 528 / var(--base-width));
    display: flex;
    align-items: center;
    justify-content: center;
  }
  .mv-main-logo img {
    width: 52.8rem;
  }
  .mv-main-badge {
    right: calc((100vw * 60 / var(--base-width)) + ((100vw * 528 / var(--base-width)) - 52.8rem) / 2);
    bottom: calc(100vw * 40 / var(--base-width));
  }
  .mv-movie {
    bottom: calc(100% + (100vw * 64 / var(--base-width)));
    left: 65%;
    display: flex;
    justify-content: center;
  }
}


@media screen and (max-width: 768px) {
  
  .modal-list-thumb {
  }
  .modal-list-img {
  }

  .modal-list {
    padding-right: 15px;
    padding-left: 15px;
    padding-top: 20px;
    -webkit-clip-path: inset(0 50%);
          clip-path: inset(0 50%);
    transition: -webkit-clip-path 300ms 580ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 300ms 580ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 300ms 580ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-clip-path 300ms 580ms cubic-bezier(0.165, 0.84, 0.44, 1);
  }

  .c-modal.is-active .modal-list {
    -webkit-clip-path: inset(0 0%);
    clip-path: inset(0 0%);
  }

  .modal-list-in {
    display: flex;
    width: 100%;
  }
  .modal-list-list {
    width: calc((100% - 30px) / 3);
  }
  .modal-list-list + .modal-list-list{
    margin-left: 15px;
  }
  .modal-list-btn {
    display: block;
    width: 100%;
    position: relative;
  }
  .modal-list-btn.is-new:before {
    content: "";
    width: 27px;
    height: 27px;
    position: absolute;
    z-index: 1;
    top: -16px;
    right: -9px;
    background: url(../images/common/ic_new3.png) center no-repeat;
    background-size: cover;
  }
  .modal-list-thumb {
    width: 100%;
    position: relative;
    display: block;
    border: 2px solid #fff;
    transition: border-color 0.2s;
  }
  .modal-list-btn.is-active .modal-list-thumb {
    border-color: #db0755;
  }
  .modal-list-img {
    vertical-align: top;
  }
  .modal-list-label {
    display: block;
    margin-top: 6px;
    font-size: 12px;
    font-weight: 700;
    line-height: 1.4;
    color: #fff;
    text-align: center;
    transition: color 0.2s;
  }
  .modal-list-btn.is-active .modal-list-label {
    color: #db0755;
  }
}
@media screen and (min-width: 769px) {

  .modal-list {
    width: min(76rem, calc(100% - 30rem), calc((100vh * 16 / 9)));
    margin-right: auto;
    margin-left: auto;
    padding-top: 40px;

    transition: -webkit-clip-path 420ms 540ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 420ms 540ms cubic-bezier(0.165, 0.84, 0.44, 1);
    transition: clip-path 420ms 540ms cubic-bezier(0.165, 0.84, 0.44, 1), -webkit-clip-path 420ms 540ms cubic-bezier(0.165, 0.84, 0.44, 1);


    -webkit-clip-path: inset(0 50%);
          clip-path: inset(0 50%);
  }
  .c-modal.is-active .modal-list {
    -webkit-clip-path: inset(0 0%);
            clip-path: inset(0 0%);
  }
  .modal-list-in {
    display: flex;
    width: 100%;
    padding: 0 20px;
  }
  .modal-list-list {
    width: calc((100% - 80px) / 3);
  }
  .modal-list-list + .modal-list-list{
    margin-left: 40px;
  }
  .modal-list-btn {
    display: block;
    width: 100%;
    position: relative;
  }
  .modal-list-btn.is-new:before {
    content: "";
    width: 54px;
    height: 54px;
    position: absolute;
    z-index: 1;
    top: -24px;
    right: -24px;
    background: url(../images/common/ic_new3.png) center no-repeat;
  }
  .modal-list-thumb {
    width: 100%;
    position: relative;
    display: block;
    border: 2px solid #fff;
    transition: border-color 0.2s;
  }
  .modal-list-btn.is-active .modal-list-thumb {
    border-color: #db0755;
  }
  .modal-list-img {
    vertical-align: top;
  }
  .modal-list-label {
    display: block;
    margin-top: 7px;
    font-size: 16px;
    font-weight: 700;
    line-height: 1.6;
    color: #fff;
    text-align: center;
    transition: color 0.2s;
  }
  .modal-list-btn.is-active .modal-list-label {
    color: #db0755;
  }

  .modal-list-thumb:before {
    content: '';
    display: block;
    width: 32px;
    height: 32px;
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto;
    background: url(../images/common/ic_play.png) no-repeat 0 0;
    opacity: 0;
    transform: scale(1.2);
    transition: opacity 0.2s ease, transform 0s 0.2s;
  }
  .modal-list-btn:hover .modal-list-thumb:before {
    opacity: 1;
    transform: scale(1);
    transition: opacity 0.3s ease, transform 0.36s cubic-bezier(0.25, 1, 0.5, 1);
  }
}

.mv-information_outer .pc{
  display: block;
}
.mv-information_outer .sp{
  display: none;
}
.mv-information{
  width: 128rem;
  margin-right: auto;
  margin-left: auto;
}
.mv-information > img{
	margin-bottom: 1%;
	width: 74%;
	margin-left: auto;
	max-width: 943px;
}
.mv-information a img{
  margin-bottom: 1.5%;
  transition: .3s;
  width: 93%;
  margin-left: 9%;
}
.mv-information a img:hover{
  transform: scale(1.03);
}
.mv-information_outer::after {
  position: relative;
  bottom: 0;
  left: 0;
  display: block;
  width: 100%;
  content: "";
  background-image: linear-gradient(to right, #73ff00 0%, #00dcff 16%, fuchsia 34%, #ff8000 51%, fuchsia 68%, #00dcff 84%, #73ff00 100%);
  background-repeat: repeat-x;
  background-position: center;
  background-size: 75rem 100%;
  height: 4px;
  margin-bottom: 3%;
}
.mv-information-badge img{
  position: absolute;
  width: 24%;
  top: -8%;
  margin-left: -1%;
  max-width: 338px;
}
@media screen and (max-width: 768px) {
  .mv-history {
    padding: 0 0 8rem 0;
  }
  .mv-movie {
    margin-top: 12%;
  }
  .movie_information{
    display: flex;
    flex-wrap: wrap;
    flex-direction:column-reverse;
  }
  .mv-information_outer .pc{
    display: none;
  }
  .mv-information_outer .sp{
    display: block;
  }
  .mv-information{
	width: 70%;
	margin-left: 30%;
	margin-top: 5%;
	margin-bottom: 9%;
  }
  .mv-information-badge img {
    position: absolute;
    width: 36%;
    top: -7.2%;
    margin-left: -29%;
  }
  .mv-information > img{
	margin-bottom: 2%;
	width: 92%;
	max-width: 943px;
	margin-left: 8%;
	margin-top: -16%;
  }
  .mv-information a img {
	margin-bottom: 1.5%;
	transition: .3s;
	width: 46%;
	margin-left: 30%;
	position: absolute;
	margin-top: -24.5%;
  }
}
@media screen and (max-width: 650px) {
  .mv-movie {
    margin-top: 10%;
  }
}
@media screen and (max-width: 550px) {
  .mv-movie {
    margin-top: 5%;
  }
}