@charset "UTF-8";
/* Slider */
.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -khtml-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent; }

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0; }
  .slick-list:focus {
    outline: none; }
  .slick-list.dragging {
    cursor: pointer;
    cursor: hand; }

.slick-slider .slick-track,
.slick-slider .slick-list {
  -webkit-transform: translate3d(0, 0, 0);
  -moz-transform: translate3d(0, 0, 0);
  -ms-transform: translate3d(0, 0, 0);
  -o-transform: translate3d(0, 0, 0);
  transform: translate3d(0, 0, 0); }

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto; }
  .slick-track:before, .slick-track:after {
    content: "";
    display: table; }
  .slick-track:after {
    clear: both; }
  .slick-loading .slick-track {
    visibility: hidden; }

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none; }
  [dir="rtl"] .slick-slide {
    float: right; }
  .slick-slide img {
    display: block; }
  .slick-slide.slick-loading img {
    display: none; }
  .slick-slide.dragging img {
    pointer-events: none; }
  .slick-initialized .slick-slide {
    display: block; }
  .slick-loading .slick-slide {
    visibility: hidden; }
  .slick-vertical .slick-slide {
    display: block;
    height: auto;
    border: 1px solid transparent; }

.slick-arrow.slick-hidden {
  display: none; }

/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
   ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
  line-height: 1.15;
  /* 1 */
  -webkit-text-size-adjust: 100%;
  /* 2 */ }

/* Sections
   ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
  margin: 0; }

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

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
  font-size: 2em;
  margin: 0.67em 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 */ }

/**
 * 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: 1em;
  /* 2 */ }

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

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
  border-bottom: none;
  /* 1 */
  text-decoration: underline;
  /* 2 */
  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: 1em;
  /* 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
   ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
  border-style: none; }

/* Forms
   ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
  font-family: inherit;
  /* 1 */
  font-size: 100%;
  /* 1 */
  line-height: 1.15;
  /* 1 */
  margin: 0;
  /* 2 */ }

/**
 * 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"] {
  -webkit-appearance: button; }

/**
 * 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; }

/**
 * Correct the padding in Firefox.
 */
fieldset {
  padding: 0.35em 0.75em 0.625em; }

/**
 * 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 {
  box-sizing: border-box;
  /* 1 */
  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; }

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type="checkbox"],
[type="radio"] {
  box-sizing: border-box;
  /* 1 */
  padding: 0;
  /* 2 */ }

/**
 * 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 odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type="search"] {
  -webkit-appearance: textfield;
  /* 1 */
  outline-offset: -2px;
  /* 2 */ }

/**
 * 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 */ }

/* 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; }

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

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

/*! Yaku Han JP v3.2.0 (OFL-1.1 AND MIT) by Qrac */
/*! Type: YakuHanJP - Based on Noto Sans CJK JP */
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 100;
  src: url("/fonts/YakuHanJP/YakuHanJP-Thin.eot");
  src: url("/fonts/YakuHanJP/YakuHanJP-Thin.woff2") format("woff2"), url("/fonts/YakuHanJP/YakuHanJP-Thin.woff") format("woff"); }
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 200;
  src: url("/fonts/YakuHanJP/YakuHanJP-Light.eot");
  src: url("/fonts/YakuHanJP/YakuHanJP-Light.woff2") format("woff2"), url("/fonts/YakuHanJP/YakuHanJP-Light.woff") format("woff"); }
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 300;
  src: url("/fonts/YakuHanJP/YakuHanJP-DemiLight.eot");
  src: url("/fonts/YakuHanJP/YakuHanJP-DemiLight.woff2") format("woff2"), url("/fonts/YakuHanJP/YakuHanJP-DemiLight.woff") format("woff"); }
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 400;
  src: url("/fonts/YakuHanJP/YakuHanJP-Regular.eot");
  src: url("/fonts/YakuHanJP/YakuHanJP-Regular.woff2") format("woff2"), url("/fonts/YakuHanJP/YakuHanJP-Regular.woff") format("woff"); }
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 500;
  src: url("/fonts/YakuHanJP/YakuHanJP-Medium.eot");
  src: url("/fonts/YakuHanJP/YakuHanJP-Medium.woff2") format("woff2"), url("/fonts/YakuHanJP/YakuHanJP-Medium.woff") format("woff"); }
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 700;
  src: url("/fonts/YakuHanJP/YakuHanJP-Bold.eot");
  src: url("/fonts/YakuHanJP/YakuHanJP-Bold.woff2") format("woff2"), url("/fonts/YakuHanJP/YakuHanJP-Bold.woff") format("woff"); }
@font-face {
  font-family: "YakuHanJP";
  font-style: normal;
  font-weight: 900;
  src: url("/fonts/YakuHanJP/YakuHanJP-Black.eot");
  src: url("/fonts/YakuHanJP/YakuHanJP-Black.woff2") format("woff2"), url("/fonts/YakuHanJP/YakuHanJP-Black.woff") format("woff"); }
@font-face {
  font-family: "neon";
  src: url("/fonts/Neon/Neon.eot?") format("eot"), url("/fonts/Neon/Neon.woff2") format("woff2"), url("/fonts/Neon/Neon.woff") format("woff"); }
/* --------------------------------------------------
module
-------------------------------------------------- */
@media (max-width: 800px) {
  .pc {
    display: none; } }

.sp {
  display: none; }
  @media (max-width: 800px) {
    .sp {
      display: block; } }

/* button
-------------------------------------------------- */
.btnCommon1 {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto; }
  @media (max-width: 800px) {
    .btnCommon1 {
      width: 90%;
      max-width: 620px; } }
  .btnCommon1-smaller {
    box-sizing: border-box;
    width: 83%;
    max-width: 980px;
    margin: 0 auto; }
    @media (max-width: 800px) {
      .btnCommon1-smaller {
        width: 90%;
        max-width: 620px; } }
  .btnCommon1-right {
    text-align: right; }
  .btnCommon1 a, .btnCommon1_inner {
    position: relative;
    display: inline-block;
    font-size: 2.2rem;
    text-decoration: none;
    overflow: hidden; }
    @media (max-width: 800px) {
      .btnCommon1 a, .btnCommon1_inner {
        font-size: calc(3.7333333333vw + ((1vw - 3.2px)*((3.7333333333 - 3.7333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .btnCommon1 a, .btnCommon1_inner {
        font-size: 1.2rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .btnCommon1 a, .btnCommon1_inner {
        font-size: 1.96rem; } }
    .btnCommon1 a .txt, .btnCommon1_inner .txt {
      padding: 0 65px 0 110px;
      height: 66px;
      line-height: 56px;
      opacity: 0;
      transform: translateX(-3em);
      transition: opacity 0.6s ease 0.3s, transform 0.8s ease 0.3s; }
    .btnCommon1 a button .txt, .btnCommon1_inner button .txt {
      display: block;
      color: #e3007f; }
  .btnCommon1 .sub_txt {
    margin: 1.5em 0;
    font-size: 1.6rem; }
    @media (max-width: 800px) {
      .btnCommon1 .sub_txt {
        font-size: calc(2.9333333333vw + ((1vw - 3.2px)*((2.9333333333 - 2.9333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .btnCommon1 .sub_txt {
        font-size: 0.9428571429rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .btnCommon1 .sub_txt {
        font-size: 1.54rem; } }
  .btnCommon1 .circle,
  .btnCommon1 .arrow {
    position: absolute; }
    .btnCommon1 .circle svg,
    .btnCommon1 .arrow svg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
    .btnCommon1 .circle circle,
    .btnCommon1 .circle path,
    .btnCommon1 .arrow circle,
    .btnCommon1 .arrow path {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%; }
  .btnCommon1 .circle {
    bottom: 0;
    left: 0;
    width: 66px;
    height: 66px; }
    .btnCommon1 .circle svg {
      transform: rotate(-90deg); }
      .btnCommon1 .circle svg circle {
        stroke: #e3007f;
        stroke-dasharray: 647;
        stroke-dashoffset: 647;
        transition: stroke-dashoffset 0.5s ease; }
  .btnCommon1 .arrow svg path {
    stroke-dasharray: 353;
    stroke-dashoffset: 353;
    transition: stroke-dashoffset 0.9s ease 0.1s; }
  .btnCommon1 .arrow {
    bottom: 14px;
    right: 0;
    width: calc(100% - 41px);
    height: 22px; }
  .btnCommon1 .supple {
    padding-top: 0.3em;
    color: #e3007f; }
  .btnCommon1-back a .txt,
  .btnCommon1-back .btnCommon1_inner .txt {
    padding: 0 110px 0 65px;
    opacity: 1;
    transform: translateX(0);
    transition: none; }
  .btnCommon1-back .circle {
    right: 0;
    left: auto; }
  .btnCommon1-back .arrow {
    right: auto;
    left: 0;
    transform: scale(-1, 1); }
  @media (max-width: 800px) {
    .btnCommon1-back a .txt,
    .btnCommon1-back .btnCommon1_inner .txt {
      padding: 0 21.3333333333vw 0 12vw !important; } }
  @media (max-width: 800px) {
    .btnCommon1-smaller a .txt,
    .btnCommon1-smaller .btnCommon1_inner .txt {
      padding: 0 15.3333333333vw 0 23.3333333333vw !important; } }
  .btnCommon1-prev a,
  .btnCommon1-prev .btnCommon1_inner {
    color: #868686; }
    .btnCommon1-prev a .txt,
    .btnCommon1-prev .btnCommon1_inner .txt {
      padding: 0 40px 0 60px;
      opacity: 1;
      transform: translateX(0);
      transition: none; }
  .btnCommon1-prev .arrow {
    width: 100% !important;
    transform: scale(-1, 1); }
    .btnCommon1-prev .arrow svg path {
      transition: none; }
  @media (max-width: 800px) {
    .btnCommon1-prev a .txt,
    .btnCommon1-prev .btnCommon1_inner .txt {
      padding: 0 6vw 0 10.6666666667vw !important; } }
  .btnCommon1.isAppear a .txt,
  .btnCommon1.isAppear .btnCommon1_inner .txt {
    opacity: 1;
    transform: translateX(0); }
  .btnCommon1.isAppear .circle svg circle {
    stroke-dashoffset: 0; }
  .btnCommon1.isAppear .arrow svg path {
    stroke-dashoffset: 706; }
  @media (max-width: 800px) {
    .btnCommon1 a .txt,
    .btnCommon1 .btnCommon1_inner .txt {
      padding: 0 10.6666666667vw 0 19.2vw;
      height: 14.1333333333vw;
      line-height: 12vw; }
    .btnCommon1 .circle {
      width: 14.1333333333vw;
      height: 14.1333333333vw; }
    .btnCommon1 .arrow {
      bottom: 3.6vw;
      width: calc(100% - 6.9333333333vw);
      height: 4vw; } }

.btnCommon2 {
  width: 670px;
  margin: 0 auto;
  font-size: 2.2rem;
  height: 4em; }
  @media (max-width: 800px) {
    .btnCommon2 {
      font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
  @media (max-width: 320px) {
    .btnCommon2 {
      font-size: 1.1142857143rem; } }
  @media (min-width: 525px) and (max-width: 800px) {
    .btnCommon2 {
      font-size: 1.82rem; } }
  .btnCommon2 a {
    display: flex;
    justify-content: center;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    height: 100%;
    text-decoration: none;
    border-radius: 3px; }
  .btnCommon2-dl {
    position: relative; }
    .btnCommon2-dl a::after {
      content: "";
      position: absolute;
      display: block;
      top: 0;
      right: 34px;
      height: 100%;
      width: 28px;
      background: url("/images/ico_dl1.svg") no-repeat 0 center;
      background-size: contain; }
      @media (max-width: 800px) {
        .btnCommon2-dl a::after {
          right: 6.6666666667vw;
          width: 5.6vw; } }
  .btnCommon2-line a {
    background-color: #00b900;
    color: #fff;
    font-size: 2rem;
    font-weight: 600; }
    @media (max-width: 800px) {
      .btnCommon2-line a {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .btnCommon2-line a {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .btnCommon2-line a {
        font-size: 1.82rem; } }
  .btnCommon2-line .icoLine {
    width: 42px;
    height: auto;
    margin-right: 18px; }
  .btnCommon2-chat a {
    background-color: #e3007f;
    color: #fff;
    font-size: 2rem;
    font-weight: 600; }
    @media (max-width: 800px) {
      .btnCommon2-chat a {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .btnCommon2-chat a {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .btnCommon2-chat a {
        font-size: 1.82rem; } }
  .btnCommon2-chat .icoChat {
    width: 54px;
    height: auto;
    margin-right: 18px; }
  .btnCommon2-w a {
    background-color: #fff;
    color: #030102; }
  .btnCommon2-k a {
    background-color: #030102;
    color: #fff; }
  .btnCommon2-p a {
    border: 2px solid #e3007f;
    color: #e3007f; }
  @media (max-width: 800px) {
    .btnCommon2 {
      width: 100%;
      height: 5.4em; }
      .btnCommon2 a {
        flex-direction: column; }
      .btnCommon2-line a {
        flex-direction: row; }
      .btnCommon2-line .icoLine {
        width: 7.4666666667vw;
        height: auto; }
      .btnCommon2-chat a {
        flex-direction: row; }
      .btnCommon2-chat .icoChat {
        width: 7.4666666667vw;
        height: auto; } }

.btnCommon2-arrow {
  position: relative; }
  .btnCommon2-arrow a {
    overflow: hidden; }
  .btnCommon2-arrow .arrowWrap {
    position: absolute;
    display: block;
    width: 120px;
    height: 22px;
    top: 50%;
    right: -50px;
    transform: translateY(-50%);
    overflow: hidden; }
    .btnCommon2-arrow .arrowWrap .arrow {
      position: absolute;
      display: block;
      width: 325px;
      height: 22px;
      top: 0;
      right: 0; }
      .btnCommon2-arrow .arrowWrap .arrow svg {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .btnCommon2-arrow .arrowWrap + .arrowWrap {
      width: 70px;
      right: 0; }
      .btnCommon2-arrow .arrowWrap + .arrowWrap .arrow {
        right: -50px; }
    @media (max-width: 800px) {
      .btnCommon2-arrow .arrowWrap {
        width: 20.4vw;
        height: 4vw;
        right: -2.4vw; }
        .btnCommon2-arrow .arrowWrap .arrow {
          width: 59.0909090909vw;
          height: 4vw; }
        .btnCommon2-arrow .arrowWrap.arrowWrap-narrow {
          width: 10vw !important; }
        .btnCommon2-arrow .arrowWrap + .arrowWrap {
          width: 18vw; }
          .btnCommon2-arrow .arrowWrap + .arrowWrap.arrowWrap-narrow {
            width: 7.6vw !important; }
          .btnCommon2-arrow .arrowWrap + .arrowWrap .arrow {
            right: -2.4vw; } }

.btnCommon3 {
  width: 450px;
  max-width: 90%;
  margin-bottom: 20px;
  text-align: center; }
  .btnCommon3 a {
    display: block;
    height: 64px;
    line-height: 64px;
    border: 1px solid #cfcfcf;
    color: #cfcfcf;
    text-decoration: none;
    font-size: 1.5rem;
    opacity: 0.6; }
    @media (max-width: 800px) {
      .btnCommon3 a {
        font-size: calc(2.9333333333vw + ((1vw - 3.2px)*((2.9333333333 - 2.9333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .btnCommon3 a {
        font-size: 0.9428571429rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .btnCommon3 a {
        font-size: 1.54rem; } }
  @media (max-width: 800px) {
    .btnCommon3 {
      width: 100%;
      max-width: 100%; }
      .btnCommon3 a {
        height: 13.3333333333vw;
        line-height: 13.3333333333vw; } }

/* note
-------------------------------------------------- */
.noteList {
  box-sizing: border-box;
  padding-left: 0.5em;
  font-size: 1.2rem; }
  @media (max-width: 800px) {
    .noteList {
      font-size: calc(2.9333333333vw + ((1vw - 3.2px)*((2.9333333333 - 2.9333333333) / (5.25 - 3.2)))); } }
  @media (max-width: 320px) {
    .noteList {
      font-size: 0.9428571429rem; } }
  @media (min-width: 525px) and (max-width: 800px) {
    .noteList {
      font-size: 1.54rem; } }
  .noteList li {
    padding-left: 0.5em;
    text-indent: -0.5em; }
    .noteList li::before {
      content: "※";
      display: inline-block;
      width: 0.5em; }
  .blockNewsDetail .noteList {
    margin-left: 0; }
    .blockNewsDetail .noteList li {
      list-style: none; }

/* image
-------------------------------------------------- */
.imgAppear {
  position: relative;
  overflow: hidden; }
  .imgAppear_cover {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background-color: #030102;
    margin-left: 0;
    transition: margin-left 0.8s ease; }
  .imgAppear.isAppear .imgAppear_cover {
    margin-left: 100%; }

/* link
-------------------------------------------------- */
.unitLink1 a {
  padding: 0 0.2em;
  color: #fff;
  font-size: 1.8rem;
  background-color: #e3007f; }
  @media (max-width: 800px) {
    .unitLink1 a {
      font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
  @media (max-width: 320px) {
    .unitLink1 a {
      font-size: 1.1142857143rem; } }
  @media (min-width: 525px) and (max-width: 800px) {
    .unitLink1 a {
      font-size: 1.82rem; } }
  .unitLink1 a[target="_blank"]:after {
    content: "";
    display: inline-block;
    width: 1.6em;
    height: 1em;
    background: url("/images/ico_blank1.svg") no-repeat 100% center;
    background-size: contain; }

/* table
-------------------------------------------------- */
.tblCommon1 {
  width: 100%;
  border-collapse: collapse;
  border-top: 1px solid #868686; }
  .tblCommon1 th, .tblCommon1 td {
    padding: 1.4em 0;
    border-bottom: 1px solid #868686;
    font-size: 1.6rem; }
    @media (max-width: 800px) {
      .tblCommon1 th, .tblCommon1 td {
        font-size: calc(3.2vw + ((1vw - 3.2px)*((3.2 - 3.2) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .tblCommon1 th, .tblCommon1 td {
        font-size: 1.0285714286rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .tblCommon1 th, .tblCommon1 td {
        font-size: 1.68rem; } }
  .tblCommon1 th {
    width: 7em;
    text-align: left;
    color: #868686; }

/* blockNotice
-------------------------------------------------- */
.blockNotice {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  top: 0;
  margin: 30px auto 0;
  padding: 1em;
  border-radius: 3px;
  font-size: 1.6rem;
  background-color: #fff;
  z-index: 2;
  display: none; }
  @media (max-width: 800px) {
    .blockNotice {
      font-size: calc(2.9333333333vw + ((1vw - 3.2px)*((2.9333333333 - 2.9333333333) / (5.25 - 3.2)))); } }
  @media (max-width: 320px) {
    .blockNotice {
      font-size: 0.9428571429rem; } }
  @media (min-width: 525px) and (max-width: 800px) {
    .blockNotice {
      font-size: 1.54rem; } }
  .blockNotice.is-fixed {
    position: fixed;
    right: 0;
    left: 0; }
  .blockNotice p {
    color: #030102;
    text-align: center; }
  @media (max-width: 800px) {
    .blockNotice {
      width: 100%;
      max-width: 100%;
      margin: 0;
      border-radius: 0; }
      .blockNotice p {
        text-align: left; } }

/* --------------------------------------------------
reset
-------------------------------------------------- */
html {
  font-size: 62.5%; }

body {
  background-color: #030102;
  color: #fff;
  font-size: 1rem;
  font-feature-settings: "palt";
  letter-spacing: 0.16em;
  line-height: 1.6;
  -webkit-text-size-adjust: 100%;
  font-family: 'YakuHanJP',dnp-shuei-mgothic-std, sans-serif;
  font-style: normal;
  font-weight: 400; }
  body ::selection {
    color: #050505;
    background-color: #e3007f; }

a {
  color: #e3007f;
  transition: all 0.3s linear; }
  a:hover {
    opacity: 0.7; }

h1, h2, h3, h4, h5, h6, p, ul, ol, dl, dd {
  margin: 0; }

ul, ol {
  padding: 0;
  list-style: none; }

button {
  width: 100%;
  line-height: 2;
  border: none;
  text-align: left;
  cursor: pointer;
  background: none;
  padding: 0;
  transition: opacity 0.3s linear; }
  button:hover {
    opacity: 0.7; }

/* --------------------------------------------------
Layout
-------------------------------------------------- */
.container {
  position: relative;
  z-index: 0; }
  .siteIndex .container {
    opacity: 0; }
    .siteIndex .container.isAppear {
      opacity: 1; }

.sectionTopCommon {
  padding-bottom: 400px; }
  @media (max-width: 800px) {
    .sectionTopCommon {
      padding-bottom: 50vw; } }

.sectionHeaderCommon {
  margin-bottom: 45px; }
  .sectionHeaderCommon_ttlSub {
    display: flex;
    font-size: 2.4rem; }
    @media (max-width: 800px) {
      .sectionHeaderCommon_ttlSub {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .sectionHeaderCommon_ttlSub {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .sectionHeaderCommon_ttlSub {
        font-size: 1.82rem; } }
    .sectionHeaderCommon_ttlSub span {
      display: block;
      width: 83%;
      max-width: 1200px;
      padding: 0 0.5em;
      font-weight: 600; }
    .sectionHeaderCommon_ttlSub::before, .sectionHeaderCommon_ttlSub::after {
      content: "";
      display: block;
      flex: 1 1 auto; }
    .sectionHeaderCommon_ttlSub::before {
      transform: translateY(0.7em);
      height: 3px;
      background-color: #e3007f; }
      .blockPage .sectionHeaderCommon_ttlSub::before {
        background: none; }
  .sectionHeaderCommon_ttl {
    box-sizing: border-box;
    width: 83%;
    max-width: 1200px;
    margin: 0 auto;
    font-family: "neon";
    font-weight: normal;
    line-height: 1;
    letter-spacing: 0.1em;
    opacity: 0;
    text-shadow: 0 0 20px rgba(255, 255, 255, 0.3), 0 0 10px rgba(255, 255, 255, 0.9);
    font-size: 13rem; }
    @media (max-width: 800px) {
      .sectionHeaderCommon_ttl {
        width: 90%;
        max-width: 620px; } }
    .sectionHeaderCommon_ttl.isAppear {
      opacity: 1; }
    .sectionHeaderCommon_ttl span {
      opacity: 0; }
      .sectionHeaderCommon_ttl span.isAppear {
        opacity: 0;
        animation: ttlAppear1 1.0s ease forwards; }
    @media (max-width: 800px) {
      .sectionHeaderCommon_ttl {
        font-size: calc(17.3333333333vw + ((1vw - 3.2px)*((17.3333333333 - 17.3333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .sectionHeaderCommon_ttl {
        font-size: 5.5714285714rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .sectionHeaderCommon_ttl {
        font-size: 9.1rem; } }
    .sectionHeaderCommon_ttl_small {
      font-size: 11.2rem; }
      @media (max-width: 800px) {
        .sectionHeaderCommon_ttl_small {
          font-size: calc(13.3333333333vw + ((1vw - 3.2px)*((13.3333333333 - 13.3333333333) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .sectionHeaderCommon_ttl_small {
          font-size: 4.2857142857rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .sectionHeaderCommon_ttl_small {
          font-size: 7rem; } }
  .sectionHeaderCommon_lead {
    box-sizing: border-box;
    width: 83%;
    max-width: 1200px;
    margin: 0 auto;
    font-size: 2.2rem;
    padding-top: 0.5em;
    font-weight: 600; }
    @media (max-width: 800px) {
      .sectionHeaderCommon_lead {
        width: 90%;
        max-width: 620px; } }
    @media (max-width: 800px) {
      .sectionHeaderCommon_lead {
        font-size: calc(4vw + ((1vw - 3.2px)*((4 - 4) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .sectionHeaderCommon_lead {
        font-size: 1.2857142857rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .sectionHeaderCommon_lead {
        font-size: 2.1rem; } }
    .sectionHeaderCommon_lead-line {
      font-size: 2.6rem;
      color: #00b900; }
      @media (max-width: 800px) {
        .sectionHeaderCommon_lead-line {
          font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .sectionHeaderCommon_lead-line {
          font-size: 1.1142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .sectionHeaderCommon_lead-line {
          font-size: 1.82rem; } }
    .sectionHeaderCommon_lead small {
      font-size: 1.8rem;
      font-weight: 400; }
      @media (max-width: 800px) {
        .sectionHeaderCommon_lead small {
          font-size: calc(3.2vw + ((1vw - 3.2px)*((3.2 - 3.2) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .sectionHeaderCommon_lead small {
          font-size: 1.0285714286rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .sectionHeaderCommon_lead small {
          font-size: 1.68rem; } }
  @media (max-width: 800px) {
    .sectionHeaderCommon {
      margin-bottom: 6vw; }
      .sectionHeaderCommon_ttlSub span {
        width: 90%;
        max-width: 620px; } }

@keyframes ttlAppear1 {
  0% {
    opacity: 0; }
  40% {
    opacity: 1; }
  50% {
    opacity: 0.5; }
  60% {
    opacity: 1; }
  100% {
    opacity: 1; } }
.blockPage {
  padding-bottom: 210px; }
  @media (max-width: 800px) {
    .blockPage {
      padding-bottom: 17.3333333333vw; } }

.bgPage {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: -1; }
  .siteIndex .bgPage {
    opacity: 0;
    transition: opacity 1s linear; }
    .siteIndex .bgPage.isAppear {
      opacity: 1; }
  .bgPage img {
    position: absolute;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%);
    width: 83%;
    height: auto;
    max-width: 1200px; }
    @media (max-width: 800px) {
      .bgPage img {
        width: 100%;
        height: auto;
        max-width: 100%; } }

/* siteHeader
-------------------------------------------------- */
.siteHeader {
  position: relative;
  box-sizing: border-box;
  min-height: 75px;
  padding-top: 22px; }
  .siteHeaderLogo {
    width: 160px;
    margin: -10px auto 70px;
    text-align: center; }
    .siteHeaderLogo img {
      width: 100%;
      height: auto; }
  @media (max-width: 800px) {
    .siteHeader {
      min-height: 20vw;
      padding-top: 2.9333333333vw; }
      .siteHeaderLogo {
        width: 27.4666666667vw;
        margin-top: -14.6666666667vw;
        margin-bottom: 5.3333333333vw; } }

/* blockLanguage
-------------------------------------------------- */
.blockLanguage {
  position: relative;
  box-sizing: border-box;
  width: 94%;
  margin: 0 auto 50px;
  padding-top: 5px;
  z-index: 100;
  display: none; }
  .blockLanguage.is-fixed {
    position: fixed;
    right: 0;
    left: 0; }
  .blockLanguage_inner {
    position: absolute;
    top: 0;
    right: 0;
    width: 216px;
    margin: 0 0 0 auto;
    border-bottom: 1px solid #fff;
    background-color: rgba(3, 1, 2, 0.9);
    font-size: 1.6rem; }
    @media (max-width: 800px) {
      .blockLanguage_inner {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockLanguage_inner {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockLanguage_inner {
        font-size: 1.82rem; } }
  @media (max-width: 800px) {
    .blockLanguage {
      width: 90%;
      max-width: 620px;
      margin-bottom: 8vw;
      padding-top: 5.3333333333vw; }
      .blockLanguage_inner {
        width: 12.5em; } }

.blockLanguage_btn {
  position: relative;
  display: block;
  width: 100%;
  padding: 0;
  height: 55px;
  line-height: 55px;
  margin: 0 0 0 auto;
  color: #fff;
  letter-spacing: 0.09em; }
  @media (max-width: 800px) {
    .blockLanguage_btn {
      height: 8vw;
      line-height: 8vw; } }
  .blockLanguage_btn::after {
    position: absolute;
    content: "";
    display: inline-block;
    width: 0.6em;
    height: 0.6em;
    top: 50%;
    right: 0.3em;
    border-right: 1px solid #fff;
    border-bottom: 1px solid #fff;
    transform: translateY(-50%) rotate(45deg);
    transition: transform 0.3s ease-in; }
  .blockLanguage_btn.isOpen::after {
    transform: rotate(-135deg); }
  .blockLanguage_btn .ico {
    display: inline-block;
    width: 42px;
    text-align: center;
    vertical-align: -0.36em; }
    .blockLanguage_btn .ico img {
      width: 52.380952381%;
      height: auto; }
    @media (max-width: 800px) {
      .blockLanguage_btn .ico {
        width: 2.1em;
        vertical-align: sub; } }

.blockLanguage_list {
  display: none;
  box-sizing: border-box;
  width: 100%;
  padding: 0 0 0 42px;
  margin: 0 0 0 auto; }
  @media (max-width: 800px) {
    .blockLanguage_list {
      padding-left: 2.1em; } }
  .blockLanguage_list li {
    margin: 0.5em 0;
    font-size: 1.4rem; }
    @media (max-width: 800px) {
      .blockLanguage_list li {
        font-size: calc(3.2vw + ((1vw - 3.2px)*((3.2 - 3.2) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockLanguage_list li {
        font-size: 1.0285714286rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockLanguage_list li {
        font-size: 1.68rem; } }
    .blockLanguage_list li a {
      display: block;
      height: 2em;
      line-height: 2em;
      color: #fff;
      text-decoration: none; }
      .blockLanguage_list li a span::before, .blockLanguage_list li a span::after {
        content: "　"; }
      .blockLanguage_list li a.isCurrent span {
        text-decoration: line-through; }

/* siteFooter
-------------------------------------------------- */
.siteFooter {
  background-color: #1a1a1a; }
  .siteFooter_inner {
    display: flex;
    justify-content: space-between;
    align-items: flex-end;
    width: 870px;
    max-width: 83%;
    margin: 0 auto;
    padding: 74px 0 50px; }
    @media (max-width: 800px) {
      .siteFooter_inner {
        display: block;
        width: 90%;
        max-width: 620px;
        padding: 9.8666666667vw 0 6.6666666667vw; } }
  .siteFooter_nav {
    flex: 1 0 auto; }
    .siteFooter_nav_inner {
      display: flex;
      justify-content: space-between;
      margin-right: 3.4482758621%; }
    .siteFooter_nav_list {
      flex: 1 1 50%; }
    .siteFooter_nav li {
      margin-bottom: 1.3em;
      font-size: 1.6rem;
      padding-left: 1em;
      text-indent: -1.2em; }
      @media (max-width: 800px) {
        .siteFooter_nav li {
          font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .siteFooter_nav li {
          font-size: 1.1142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .siteFooter_nav li {
          font-size: 1.82rem; } }
      .siteFooter_nav li a {
        color: #999999;
        text-decoration: none; }
        .siteFooter_nav li a::before {
          content: "";
          display: inline-block;
          width: 0.4em;
          height: 0.4em;
          margin-right: 0.7em;
          border-top: 2px solid #b9b9b9;
          border-right: 2px solid #b9b9b9;
          transform: rotate(45deg); }
    @media (max-width: 800px) {
      .siteFooter_nav_inner {
        width: 100%;
        margin-bottom: 1.3333333333vw; } }
  .siteFooter_logo {
    flex: 0 1 34.4827586207%;
    text-align: center; }
    .siteFooter_logo img {
      width: 86.6666666667%;
      height: auto; }
    @media (max-width: 800px) {
      .siteFooter_logo {
        width: 100%;
        padding-top: 4vw; }
        .siteFooter_logo img {
          width: 48vw; } }
  .siteFooter_terms {
    margin-bottom: 30px;
    text-align: center; }
    @media (max-width: 800px) {
      .siteFooter_terms {
        margin-bottom: 6vw; } }
    .siteFooter_terms li {
      margin-bottom: 0.3em;
      font-size: 1.3rem; }
      @media (max-width: 800px) {
        .siteFooter_terms li {
          font-size: calc(2.6666666667vw + ((1vw - 3.2px)*((2.6666666667 - 2.6666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .siteFooter_terms li {
          font-size: 0.8571428571rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .siteFooter_terms li {
          font-size: 1.4rem; } }
      .siteFooter_terms li a {
        color: #cfcfcf;
        opacity: 0.6; }
        .siteFooter_terms li a:hover {
          opacity: 0.7; }
        .siteFooter_terms li a[target="_blank"]:after {
          content: "";
          display: inline-block;
          width: 1.6em;
          height: 1em;
          background: url("/images/ico_blank1-gray.svg") no-repeat 100% center;
          background-size: contain; }
  .siteFooter .copyright {
    padding: 1.5em 0;
    background-color: #030102;
    text-align: center;
    color: #454545;
    font-size: 1.2rem; }
    @media (max-width: 800px) {
      .siteFooter .copyright {
        font-size: calc(3.2vw + ((1vw - 3.2px)*((3.2 - 3.2) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .siteFooter .copyright {
        font-size: 1.0285714286rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .siteFooter .copyright {
        font-size: 1.68rem; } }
    @media (max-width: 800px) {
      .siteFooter .copyright {
        padding-bottom: 26.6666666667vw; } }

/* globalNav
-------------------------------------------------- */
.globalNav {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 101; }
  .globalNav::before {
    content: "";
    position: absolute;
    display: block;
    width: 50vw;
    height: 100%;
    background-color: #030102;
    z-index: -1; }
  .globalNav_nav {
    display: flex;
    align-items: center;
    height: 100%;
    background-color: #030102;
    box-sizing: border-box;
    width: 83%;
    max-width: 1200px;
    margin: 0 auto; }
    @media (max-width: 800px) {
      .globalNav_nav {
        width: 90%;
        max-width: 620px; } }
    .globalNav_nav::before {
      content: "";
      display: block;
      width: calc((100% - 1200px) / 2);
      min-width: 8.5vw; }
    .globalNav_nav_inner {
      width: 730px; }
      .globalNav_nav_inner.isScroll {
        box-sizing: border-box;
        height: 100%;
        overflow-y: scroll;
        padding-top: 20px;
        -ms-overflow-style: none;
        /* for IE, Edge */
        scrollbar-width: none;
        /* for Firefox */ }
        .globalNav_nav_inner.isScroll::-webkit-scrollbar {
          /* for Chrome, Safari */
          display: none; }
  @media (max-width: 800px) {
    .globalNav_nav {
      width: 100%;
      align-items: flex-start;
      padding-top: 20vw; }
      .globalNav_nav::before {
        content: normal; }
      .globalNav_nav_inner {
        width: 90%;
        margin: 0 auto; } }

.globalNav_nav_list {
  display: flex;
  width: 100%;
  padding-bottom: 25px; }
  .globalNav_nav_list ul {
    flex: 0 0 50%; }
  .globalNav_nav_list li {
    margin-bottom: 35px; }
    .globalNav_nav_list li a {
      text-decoration: none; }
    .globalNav_nav_list li strong {
      display: block;
      font-family: "neon";
      font-weight: normal;
      font-size: 4.2rem;
      line-height: 1;
      color: #fff; }
      @media (max-width: 800px) {
        .globalNav_nav_list li strong {
          font-size: calc(6.6666666667vw + ((1vw - 3.2px)*((6.6666666667 - 6.6666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .globalNav_nav_list li strong {
          font-size: 2.1428571429rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .globalNav_nav_list li strong {
          font-size: 3.5rem; } }
    .globalNav_nav_list li small {
      font-size: 1.5rem;
      color: #cfcfcf; }
      @media (max-width: 800px) {
        .globalNav_nav_list li small {
          font-size: calc(2.9333333333vw + ((1vw - 3.2px)*((2.9333333333 - 2.9333333333) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .globalNav_nav_list li small {
          font-size: 0.9428571429rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .globalNav_nav_list li small {
          font-size: 1.54rem; } }
  @media (max-width: 800px) {
    .globalNav_nav_list {
      padding-bottom: 1.3333333333vw; }
      .globalNav_nav_list ul {
        flex: 1 1 50%; }
      .globalNav_nav_list li {
        margin-bottom: 8vw; } }

.btnGNav {
  position: fixed;
  width: calc((100% - 1200px) / 2);
  min-width: 8.5vw;
  height: 85px;
  top: 50%;
  left: 0;
  transform: translateY(-50%);
  overflow: hidden;
  z-index: 102; }
  .siteIndex .btnGNav {
    display: none; }
  .btnGNav_bg {
    display: none; }
  .btnGNav_btn {
    position: relative;
    width: 61.6666666667%;
    height: 0;
    padding-top: 61.6666666667%;
    max-width: 74px;
    margin: 0 auto;
    top: 50%;
    left: 50%;
    transform: translateX(-50%) translateY(-50%); }
  @media (max-width: 800px) {
    .btnGNav {
      width: 13.3333333333vw;
      height: 20vw;
      top: 0;
      left: 0;
      transform: translateY(0);
      overflow: visible; }
      .btnGNav_bg {
        position: fixed;
        width: 100vw;
        height: 20vw;
        top: 0;
        left: 0;
        transform: translateY(-100%);
        background-color: rgba(3, 1, 2, 0.6);
        display: block;
        transition: transform 0.25s ease; }
        .btnGNav_bg.isAppear {
          transform: translateY(0);
          transition: transform 0.3s ease; }
      .btnGNav_btn {
        width: 13.3333333333vw;
        height: 13.3333333333vw;
        top: 3.3333333333vw;
        left: 2.6666666667vw;
        padding-top: 0;
        max-width: inherit;
        transform: translateX(0) translateY(0); }
        .btnGNav_btn.isMoved {
          transition: none; } }

.btnGNav_el {
  position: absolute;
  display: block;
  top: 50%;
  right: 0;
  left: 0;
  margin: auto;
  transform: translateY(-50%);
  width: 52.9411764706%;
  height: 1px;
  background-color: #fff;
  box-shadow: 0 1px 0 #020202;
  transform-origin: center center;
  transition: transform 0.2s ease-in, margin-top 0.3s ease 0.2s; }
  .btnGNav_el--1 {
    margin-top: -18.8235294118%; }
  .btnGNav_el--2 {
    transition: opacity 0.3s ease; }
  .btnGNav_el--3 {
    margin-top: 18.8235294118%; }
  .isOpen .btnGNav_el {
    transition: transform 0.3s ease-in 0.2s, margin-top 0.2s ease; }
    .isOpen .btnGNav_el--1 {
      margin-top: 0;
      transform: rotate(30deg); }
    .isOpen .btnGNav_el--2 {
      opacity: 0; }
    .isOpen .btnGNav_el--3 {
      margin-top: 0;
      transform: rotate(-30deg); }
  @media (max-width: 800px) {
    .btnGNav_el {
      width: 8vw;
      height: 2px; }
      .btnGNav_el--1 {
        margin-top: -2.6666666667vw; }
      .btnGNav_el--3 {
        margin-top: 2.6666666667vw; } }

/* .toTopPage
-------------------------------------------------- */
.toTopPage {
  padding-bottom: 60px;
  text-align: center; }
  .toTopPage img {
    display: block;
    margin: 0 auto 15px;
    width: 30px;
    height: auto; }
  .toTopPage a {
    color: #fff;
    font-size: 1.6rem;
    font-weight: 600; }
    @media (max-width: 800px) {
      .toTopPage a {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .toTopPage a {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .toTopPage a {
        font-size: 1.82rem; } }
  @media (max-width: 800px) {
    .toTopPage {
      padding-bottom: 14.6666666667vw; }
      .toTopPage img {
        margin-bottom: 3.2vw;
        width: 5.3333333333vw;
        height: auto; } }

/* .blockLineAdd
-------------------------------------------------- */
.blockLineAdd {
  box-sizing: border-box;
  width: 83%;
  max-width: 980px;
  margin: 0 auto;
  margin-bottom: 160px; }
  @media (max-width: 800px) {
    .blockLineAdd {
      width: 90%;
      max-width: 620px; } }
  .blockLineAdd_inner {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 70px;
    align-items: center; }
  .blockLineAdd_img {
    flex: 0 0 41.8367346939%; }
    .blockLineAdd_img img {
      width: 100%;
      height: auto; }
  .blockLineAdd_txt {
    flex: 0 0 52.0408163265%;
    text-align: center;
    color: #00b900; }
    .blockLineAdd_txt h3 {
      margin-bottom: 0.3em;
      font-size: 3rem;
      font-weight: 600; }
      @media (max-width: 800px) {
        .blockLineAdd_txt h3 {
          font-size: calc(4.8vw + ((1vw - 3.2px)*((4.8 - 4.8) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockLineAdd_txt h3 {
          font-size: 1.5428571429rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockLineAdd_txt h3 {
          font-size: 2.52rem; } }
    .blockLineAdd_txt p {
      padding-bottom: 1.5em;
      font-size: 1.8rem; }
      @media (max-width: 800px) {
        .blockLineAdd_txt p {
          font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockLineAdd_txt p {
          font-size: 1.1142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockLineAdd_txt p {
          font-size: 1.82rem; } }
  @media (max-width: 800px) {
    .blockLineAdd {
      position: relative;
      margin-bottom: 16.6666666667vw;
      padding-bottom: 100%; }
      .blockLineAdd-simple {
        padding-bottom: 0; }
      .blockLineAdd_inner {
        display: block;
        margin-bottom: 70px; }
      .blockLineAdd_img {
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%; }
      .blockLineAdd_txt {
        width: 100%; } }

/* . breadcrumb
-------------------------------------------------- */
.breadcrumb {
  margin-top: 8em; }
  .breadcrumb .cp_breadcrumb *,
  .breadcrumb .cp_breadcrumb *:after,
  .breadcrumb .cp_breadcrumb *:before {
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .breadcrumb .cp_breadcrumb {
    margin: 1em auto;
    padding: 1em 2em;
    background-color: #1a1a1a;
    color: #fff; }
  .breadcrumb .cp_breadcrumb a {
    text-decoration: none;
    color: #999999; }
  .breadcrumb .cp_breadcrumb .breadcrumbs {
    padding-left: 0;
    margin-top: 0;
    margin-bottom: 0;
    list-style: none;
    display: flex;
    flex-wrap: wrap; }
  .breadcrumb .cp_breadcrumb li {
    display: inline-block;
    position: relative;
    padding-right: calc(16px + 8px);
    margin-right: 8px;
    color: #999999; }
  .breadcrumb .cp_breadcrumb li::before {
    content: '›';
    width: 1em;
    height: 1em;
    line-height: 1;
    text-align: center;
    font-size: 1em;
    color: inherit;
    position: absolute;
    top: 50%;
    right: 0;
    -webkit-transform: translateY(-50%);
    transform: translateY(-50%); }
  .breadcrumb .cp_breadcrumb li:last-child {
    margin-right: 0;
    padding-right: 0;
    color: #ffffff; }
  .breadcrumb .cp_breadcrumb li:last-child::before {
    content: normal; }

/* --------------------------------------------------
modal
-------------------------------------------------- */
/* note
-------------------------------------------------- */
.overlay {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, 0.6);
  z-index: 102;
  display: none; }

.blockModal {
  box-sizing: border-box;
  width: 83%;
  max-width: 1240px;
  margin: 0 auto;
  border-radius: 3px;
  border: 2px solid #e3007f;
  position: fixed;
  margin: auto;
  top: 50%;
  right: 0;
  left: 0;
  transform: translateX(20px) translateY(-50%);
  background-color: #030102;
  z-index: 103;
  display: none; }
  @media (max-width: 800px) {
    .blockModal {
      width: 90%;
      max-width: 620px; } }
  .blockModal_inner {
    box-sizing: border-box;
    max-height: 80vh;
    padding: 9.1666666667% 0 4.1666666667%;
    overflow-y: scroll;
    -ms-overflow-style: none;
    /* for IE, Edge */
    scrollbar-width: none;
    /* for Firefox */ }
    .blockModal_inner::-webkit-scrollbar {
      /* for Chrome, Safari */
      display: none; }
  .blockModal h3 {
    margin-bottom: 1.5em;
    text-align: center;
    color: #e3007f;
    font-size: 2.2rem; }
    @media (max-width: 800px) {
      .blockModal h3 {
        font-size: calc(4.5333333333vw + ((1vw - 3.2px)*((4.5333333333 - 4.5333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockModal h3 {
        font-size: 1.4571428571rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockModal h3 {
        font-size: 2.38rem; } }
  @media (max-width: 800px) {
    .blockModal {
      transform: translateY(-50%); }
      .blockModal_inner {
        padding: 14.6666666667vw 0 6.6666666667vw; } }

.blockModal-cashless .blockPrice_cashless_category {
  width: 670px;
  max-width: 83%;
  margin: 0 auto; }
  @media (max-width: 800px) {
    .blockModal-cashless .blockPrice_cashless_category {
      width: 90%;
      max-width: 90%; } }
  .blockModal-cashless .blockPrice_cashless_category dd {
    margin-right: -3.5820895522%; }
    .blockModal-cashless .blockPrice_cashless_category dd img {
      margin-right: 3.5820895522%; }
      @media (max-width: 800px) {
        .blockModal-cashless .blockPrice_cashless_category dd img {
          margin-right: 0;
          margin-bottom: 5.3333333333vw;
          min-width: inherit !important; } }
  .blockModal-cashless .blockPrice_cashless_category .logo1 {
    width: 34.328358209%;
    height: auto;
    min-width: 314.4897959184px; }
    @media (max-width: 800px) {
      .blockModal-cashless .blockPrice_cashless_category .logo1 {
        width: 92.0634920635%;
        height: auto; } }
  .blockModal-cashless .blockPrice_cashless_category .logo2 {
    width: 20.1492537313%;
    height: auto;
    min-width: 184.5918367347px; }
    @media (max-width: 800px) {
      .blockModal-cashless .blockPrice_cashless_category .logo2 {
        width: 52.380952381%;
        height: auto; } }
  .blockModal-cashless .blockPrice_cashless_category .logo3 {
    width: 14.9253731343%;
    height: auto;
    min-width: 136.7346938776px; }
    @media (max-width: 800px) {
      .blockModal-cashless .blockPrice_cashless_category .logo3 {
        width: 39.6825396825%;
        height: auto; } }
  .blockModal-cashless .blockPrice_cashless_category .logo4 {
    width: 32.8358208955%;
    height: auto;
    min-width: 300.8163265306px; }
    @media (max-width: 800px) {
      .blockModal-cashless .blockPrice_cashless_category .logo4 {
        width: 88.8888888889%;
        height: auto; } }
  .blockModal-cashless .blockPrice_cashless_category .logo5 {
    width: 33.4328358209%;
    height: auto;
    min-width: 306.2857142857px; }
    @media (max-width: 800px) {
      .blockModal-cashless .blockPrice_cashless_category .logo5 {
        width: 95.2380952381%;
        height: auto; } }

.blockModal-howto .txt {
  width: 670px;
  max-width: 83%;
  margin: 0 auto 50px;
  font-size: 1.7rem; }
  @media (max-width: 800px) {
    .blockModal-howto .txt {
      font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
  @media (max-width: 320px) {
    .blockModal-howto .txt {
      font-size: 1.1142857143rem; } }
  @media (min-width: 525px) and (max-width: 800px) {
    .blockModal-howto .txt {
      font-size: 1.82rem; } }
  @media (max-width: 800px) {
    .blockModal-howto .txt {
      width: 90%;
      max-width: 90%; } }
.blockModal-howto .btnCommon2 {
  max-width: 90%;
  margin-bottom: 80px; }

.btnModalClose {
  position: absolute;
  width: 38px;
  height: 38px;
  top: 0;
  right: 0;
  transform: translateX(50%) translateY(-50%); }
  .btnModalClose img {
    width: 100%;
    height: auto; }
  @media (max-width: 800px) {
    .btnModalClose {
      width: 7.2vw;
      height: 7.2vw; } }

/* --------------------------------------------------
index
-------------------------------------------------- */
.btnFixed {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
  position: fixed;
  right: 0;
  left: 0;
  bottom: 50px;
  height: 0;
  z-index: 100;
  opacity: 0;
  transition: opacity 0.3s ease; }
  @media (max-width: 800px) {
    .btnFixed {
      width: 90%;
      max-width: 620px; } }
  .btnFixed.isAppear {
    opacity: 1; }
  @media (max-width: 800px) {
    .btnFixed {
      bottom: 4vw; } }
  .btnFixed_btn {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 300px;
    height: 110px;
    background-color: #030102;
    border: solid 3px #e3007f;
    border-radius: 9px; }
    @media (max-width: 800px) {
      .btnFixed_btn {
        width: 100%;
        height: 14.4vw; } }
    .btnFixed_btn a {
      position: relative;
      display: block;
      width: 100%;
      height: 100%;
      text-decoration: none;
      color: #e3007f;
      font-weight: 600;
      letter-spacing: 0.3em; }
    .btnFixed_btn .copy1 {
      position: absolute;
      left: 10px;
      top: -15px;
      padding: 0 5px;
      background-color: #030102;
      text-align: center;
      font-size: 1.5rem;
      color: #fff;
      text-shadow: -1px -1px 2px rgba(255, 255, 255, 0.2), 1px -1px 2px rgba(255, 255, 255, 0.2), -1px 1px 2px rgba(255, 255, 255, 0.2), 1px 1px 2px rgba(255, 255, 255, 0.2); }
      @media (max-width: 800px) {
        .btnFixed_btn .copy1 {
          font-size: calc(3.2vw + ((1vw - 3.2px)*((3.2 - 3.2) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .btnFixed_btn .copy1 {
          font-size: 1.0285714286rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .btnFixed_btn .copy1 {
          font-size: 1.68rem; } }
      @media (max-width: 800px) {
        .btnFixed_btn .copy1 {
          top: -2.6666666667vw; } }
    .btnFixed_btn_inner {
      display: flex;
      justify-content: space-between;
      align-items: center;
      height: 100%;
      margin: 0 20px; }
      @media (max-width: 800px) {
        .btnFixed_btn_inner {
          justify-content: space-around;
          flex-direction: row-reverse;
          margin: 0 4vw; } }
    .btnFixed_btn .copy2 {
      line-height: 1.1; }
    .btnFixed_btn .copy2a {
      font-size: 2.7rem;
      color: #00df00;
      text-shadow: -1px -1px 8px rgba(0, 223, 0, 0.2), 1px -1px 8px rgba(0, 223, 0, 0.2), -1px 1px 8px rgba(0, 223, 0, 0.2), 1px 1px 8px rgba(0, 223, 0, 0.2); }
      @media (max-width: 800px) {
        .btnFixed_btn .copy2a {
          font-size: calc(5.0666666667vw + ((1vw - 3.2px)*((5.0666666667 - 5.0666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .btnFixed_btn .copy2a {
          font-size: 1.6285714286rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .btnFixed_btn .copy2a {
          font-size: 2.66rem; } }
      @media (max-width: 800px) {
        .btnFixed_btn .copy2a {
          display: inline-block; } }
      .btnFixed_btn .copy2a span {
        font-size: 1.6rem;
        color: #fff; }
        @media (max-width: 800px) {
          .btnFixed_btn .copy2a span {
            font-size: calc(2.9333333333vw + ((1vw - 3.2px)*((2.9333333333 - 2.9333333333) / (5.25 - 3.2)))); } }
        @media (max-width: 320px) {
          .btnFixed_btn .copy2a span {
            font-size: 0.9428571429rem; } }
        @media (min-width: 525px) and (max-width: 800px) {
          .btnFixed_btn .copy2a span {
            font-size: 1.54rem; } }
    .btnFixed_btn .copy2b {
      font-size: 3rem; }
      @media (max-width: 800px) {
        .btnFixed_btn .copy2b {
          font-size: calc(5.3333333333vw + ((1vw - 3.2px)*((5.3333333333 - 5.3333333333) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .btnFixed_btn .copy2b {
          font-size: 1.7142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .btnFixed_btn .copy2b {
          font-size: 2.8rem; } }
      @media (max-width: 800px) {
        .btnFixed_btn .copy2b {
          display: inline-block; } }
    .btnFixed_btn .copy3 {
      width: 68px;
      height: 68px;
      text-shadow: -1px -1px 8px rgba(227, 0, 127, 0.2), 1px -1px 8px rgba(227, 0, 127, 0.2), -1px 1px 8px rgba(227, 0, 127, 0.2), 1px 1px 8px rgba(227, 0, 127, 0.2); }
      @media (max-width: 800px) {
        .btnFixed_btn .copy3 {
          width: 8vw;
          height: 8vw; } }
      .btnFixed_btn .copy3 img {
        width: 100%;
        height: 100%; }
    .btnFixed_btn .copy4 {
      position: absolute;
      right: 10px;
      bottom: -15px;
      padding: 0 5px;
      background-color: #030102;
      text-align: center;
      font-size: 1.6rem;
      color: #fff;
      animation: btnFixed_btn-flicker 3s linear infinite;
      text-shadow: -1px -1px 2px rgba(255, 255, 255, 0.2), 1px -1px 2px rgba(255, 255, 255, 0.2), -1px 1px 2px rgba(255, 255, 255, 0.2), 1px 1px 2px rgba(255, 255, 255, 0.2); }
      @media (max-width: 800px) {
        .btnFixed_btn .copy4 {
          font-size: calc(3.7333333333vw + ((1vw - 3.2px)*((3.7333333333 - 3.7333333333) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .btnFixed_btn .copy4 {
          font-size: 1.2rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .btnFixed_btn .copy4 {
          font-size: 1.96rem; } }
      .btnFixed_btn .copy4 svg {
        animation: btnFixed_btn-flicker 3s linear infinite; }
      @media (max-width: 800px) {
        .btnFixed_btn .copy4 {
          bottom: -2.6666666667vw; } }

@keyframes btnFixed_btn-flicker {
  from {
    color: white;
    fill-opacity: 1; }
  0%, 62.999%, 64%, 64.999%, 70%, 100% {
    color: white;
    fill-opacity: 1; }
  63%, 63.999%, 65%, 69.999% {
    color: rgba(255, 255, 255, 0.4);
    fill-opacity: .4; }
  to {
    color: white;
    fill-opacity: 1; } }
/* --------------------------------------------------
index
-------------------------------------------------- */
/* mainVisual
-------------------------------------------------- */
.mainVisual .logo {
  position: relative;
  overflow: hidden;
  width: 680px;
  height: 440px;
  margin: 0 auto;
  z-index: 2; }
  .mainVisual .logo span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    height: 0; }
  .mainVisual .logo.isScale {
    transform: scale(0.735); }
  @media (max-width: 800px) {
    .mainVisual .logo {
      width: 72.5333333333vw;
      height: 46.9333333333vw; } }
.mainVisual .anmBg {
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  padding-top: 1035.2941176471%;
  background: url(/images/sprite_logo1.png) no-repeat center 0;
  background-size: 100% auto;
  transform: translate(0, 0); }
.mainVisual.isAppear .anmBg {
  animation: anmTitlelogo1 1.3333333333s steps(16) forwards;
  background-size: 100% auto; }
@keyframes anmTitlelogo1 {
  0% {
    transform: translate(0, 0); }
  100% {
    transform: translate(0, -100%); } }
.mainVisual.isBlink .anmBg {
  padding-top: 388.2352941176%;
  animation: anmTitleBlink 0.5s steps(6) infinite;
  background: url(/images/sprite_logo2.png) no-repeat center 0;
  background-size: 100% auto;
  transform: translate(0, 0); }
@keyframes anmTitleBlink {
  0% {
    transform: translate(0, 0); }
  100% {
    transform: translate(0, -100%); } }
.mainVisual.isStaticBlink .anmBg {
  background: url(/images/sprite_logo2.png) no-repeat center 0;
  background-size: 100% auto; }

.bnrKv {
  position: absolute;
  box-sizing: border-box;
  width: 94%;
  margin: 0 auto;
  right: 0;
  left: 0;
  bottom: 38px;
  z-index: 110;
  display: none; }
  .bnrKv a {
    margin: 0 0 0 auto;
    display: flex;
    flex-direction: row-reverse;
    align-items: stretch;
    width: 310px;
    max-width: 48%;
    border-top-left-radius: 2px;
    border-bottom-left-radius: 2px;
    overflow: hidden;
    line-height: 0;
    color: #030102;
    text-decoration: none; }
  .bnrKv_title {
    flex: 0 0 9.0322580645%;
    background-color: #e3007f;
    text-align: center; }
    .bnrKv_title img {
      margin-top: 28.5714285714%;
      width: 39.2857142857%;
      height: auto; }
  .bnrKv_txt {
    position: relative;
    flex: 0 1 auto;
    line-height: 1.5;
    padding: 1em;
    background-color: #fff;
    font-size: 1.3rem; }
    .bnrKv_txt .arrow {
      position: absolute;
      bottom: 1em;
      right: 1em;
      width: 52px;
      height: 12px;
      overflow: hidden; }
      .bnrKv_txt .arrow svg {
        position: absolute;
        top: 0;
        right: 0;
        width: 150px;
        height: auto; }
        .bnrKv_txt .arrow svg path {
          stroke-width: 4px; }
  .bnrKv_img {
    flex: 0 0 36.4516129032%;
    line-height: 0; }
    .bnrKv_img img {
      width: 100%;
      height: auto; }
  .bnrKv_bnr {
    flex: 0 0 100; }
    .bnrKv_bnr img {
      width: 100%;
      height: auto; }
  @media (max-width: 800px) {
    .bnrKv {
      width: 100%;
      bottom: 14.1333333333vw; }
      .bnrKv a {
        width: 60vw;
        max-width: 60vw; }
      .bnrKv_txt {
        font-size: 2.6666666667vw; }
        .bnrKv_txt .arrow {
          width: 9.3333333333vw;
          height: 2.1333333333vw; }
          .bnrKv_txt .arrow svg {
            width: 28vw;
            height: auto; } }

.blockStatement {
  padding-top: 200px;
  text-align: center; }
  .blockPageLocationIndex .blockStatement {
    padding-top: 0; }
  .blockStatement p {
    font-size: 2.2rem;
    color: #e3007f;
    letter-spacing: 0.2em;
    font-weight: 600; }
    @media (max-width: 800px) {
      .blockStatement p {
        font-size: calc(3.7333333333vw + ((1vw - 3.2px)*((3.7333333333 - 3.7333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockStatement p {
        font-size: 1.2rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockStatement p {
        font-size: 1.96rem; } }
  .blockStatement_img {
    margin-top: 60px;
    text-align: center;
    background-color: #000;
    line-height: 0; }
    .blockStatement_img img {
      width: 620px;
      height: auto; }
  @media (max-width: 800px) {
    .blockStatement {
      padding-top: 13.3333333333vw; }
      .blockStatement_img {
        margin-top: 8vw; }
        .blockStatement_img img {
          width: 70.6666666667vw;
          height: auto; } }

.blockInduceScroll {
  position: absolute;
  width: 6px;
  height: 130px;
  bottom: 0;
  left: 50%;
  transform: translateX(-50%) translateY(50%);
  opacity: 0;
  transition: opacity 2s linear; }
  .blockInduceScroll.isAppear {
    opacity: 1; }
  .blockInduceScroll_rail {
    width: 1px;
    height: 100%;
    margin: 0 auto;
    background-color: #fff; }
  .blockInduceScroll_point {
    position: absolute;
    top: 0;
    width: 6px;
    height: 6px;
    right: 0;
    left: 0;
    margin: auto;
    border-radius: 50%;
    background-color: #fff;
    transform: translateY(-50%);
    opacity: 0;
    animation: anmScrollPoint 2.5s linear infinite; }
  @media (max-width: 800px) {
    .blockInduceScroll {
      width: 1.0666666667vw;
      height: 12vw; }
      .blockInduceScroll_rail {
        width: 0.2666666667vw; }
      .blockInduceScroll_point {
        width: 1.0666666667vw;
        height: 1.0666666667vw; } }

@keyframes anmScrollPoint {
  0% {
    top: 0;
    opacity: 0;
    box-shadow: 0 0 1px #fff; }
  12% {
    top: 0;
    opacity: 1;
    box-shadow: 0 0 1px #fff, 0 0 3px #fff, 0 0 4px #fff, 0 0 5px #fff; }
  88% {
    top: 100%;
    opacity: 1;
    box-shadow: 0 0 1px #fff, 0 0 3px #fff, 0 0 4px #fff, 0 0 5px #fff; }
  100% {
    top: 100%;
    opacity: 0;
    box-shadow: 0 0 1px #fff; } }
/* --------------------------------------------------
index
-------------------------------------------------- */
/* blockNews
-------------------------------------------------- */
/* blockNewsList
-------------------------------------------------- */
.blockNewsList {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: flex-start;
  flex-wrap: wrap; }
  @media (max-width: 800px) {
    .blockNewsList {
      width: 90%;
      max-width: 620px; } }
  @media (max-width: 800px) {
    .blockNewsList {
      justify-content: space-between; } }

.unitNews {
  padding-bottom: 50px; }
  .blockNewsList-col3 .unitNews {
    width: 30%;
    margin-right: 5%; }
    .blockNewsList-col3 .unitNews:nth-child(3n) {
      margin-right: 0; }
    @media (max-width: 800px) {
      .blockNewsList-col3 .unitNews {
        width: 100%;
        margin-right: 0; }
        .blockNewsList-col3 .unitNews a {
          flex-direction: row-reverse;
          justify-content: space-between; }
          .blockNewsList-col3 .unitNews a .unitNews_thumb {
            flex: 0 0 37.9104477612%; }
          .blockNewsList-col3 .unitNews a .unitNews_title {
            flex: 0 0 56.7164179104%; } }
  .blockNewsList-col4 .unitNews {
    width: 21.8333333333%;
    margin-right: 4.1666666667%; }
    .blockNewsList-col4 .unitNews:nth-child(4n) {
      margin-right: 0; }
    @media (max-width: 800px) {
      .blockNewsList-col4 .unitNews {
        width: 47.0149253731%;
        margin-right: 0;
        padding-bottom: 8vw; }
        .blockNewsList-col4 .unitNews:nth-child(n+3) {
          display: none; } }
  .unitNews a {
    display: flex;
    flex-direction: column-reverse;
    text-decoration: none; }
  .unitNews_title {
    font-size: 1.4rem;
    color: #fff;
    font-weight: 400; }
    @media (max-width: 800px) {
      .unitNews_title {
        font-size: calc(3.2vw + ((1vw - 3.2px)*((3.2 - 3.2) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .unitNews_title {
        font-size: 1.0285714286rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .unitNews_title {
        font-size: 1.68rem; } }
    .blockPageNews_header .unitNews_title {
      font-size: 4.8rem; }
      @media (max-width: 800px) {
        .blockPageNews_header .unitNews_title {
          font-size: calc(6.4vw + ((1vw - 3.2px)*((6.4 - 6.4) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockPageNews_header .unitNews_title {
          font-size: 2.0571428571rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockPageNews_header .unitNews_title {
          font-size: 3.36rem; } }
    .unitNews_title .date {
      display: block;
      padding: 0.4em 0;
      font-size: 1.8rem;
      color: #e3007f;
      font-weight: 600; }
      @media (max-width: 800px) {
        .unitNews_title .date {
          font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .unitNews_title .date {
          font-size: 1.1142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .unitNews_title .date {
          font-size: 1.82rem; } }
      .blockPageNews_header .unitNews_title .date {
        font-size: 2.6rem; }
        @media (max-width: 800px) {
          .blockPageNews_header .unitNews_title .date {
            font-size: calc(3.2vw + ((1vw - 3.2px)*((3.2 - 3.2) / (5.25 - 3.2)))); } }
        @media (max-width: 320px) {
          .blockPageNews_header .unitNews_title .date {
            font-size: 1.0285714286rem; } }
        @media (min-width: 525px) and (max-width: 800px) {
          .blockPageNews_header .unitNews_title .date {
            font-size: 1.68rem; } }
  .unitNews_thumb img {
    width: 100%;
    height: auto;
    border-bottom: 8px solid #e3007f;
    border-radius: 3px; }
    @media (max-width: 800px) {
      .unitNews_thumb img {
        border-width: 0.8vw; }
        .unitNews_thumb img img {
          border-radius: 0.4vw; } }

/* --------------------------------------------------
news
-------------------------------------------------- */
.blockPageNews_header,
.blockNewsDetail {
  width: 83%;
  max-width: 780px;
  margin: 0 auto; }
  .blockPageNews_header_inner,
  .blockNewsDetail_inner {
    margin: 0 5.7692307692%; }
  .blockPageNews_header_video,
  .blockNewsDetail_video {
    position: relative;
    width: 100%;
    padding-top: 56.25%; }
  .blockPageNews_header_video iframe,
  .blockNewsDetail_video iframe {
    position: absolute;
    top: 0;
    right: 0;
    width: 100%;
    height: 100%; }
  .blockPageNews_header_img,
  .blockNewsDetail_img {
    width: 100%;
    margin: 5.1282051282% 0; }
    .blockPageNews_header_img img,
    .blockNewsDetail_img img {
      width: 100%;
      height: auto; }

    .img_qr {
    width: 100%;
	height: auto;}
    .img_qr img {	
     width: 50%;
     display: block;
     margin: 5em auto;  /* 中央寄せ */　}




  @media (max-width: 800px) {
    .blockPageNews_header,
    .blockNewsDetail {
      width: 100%; }
      .blockPageNews_header_inner,
      .blockNewsDetail_inner {
        margin: 0 5.3333333333vw; }
      .blockPageNews_header_img,
      .blockNewsDetail_img {
        margin: 7.3333333333vw 0; } }
  .blockPageNews_header h4.S2,
  .blockNewsDetail h4.S2 {
    display: flex;

    /* --------------------------------------------------
            justify-content: center;
    -------------------------------------------------- */
    justify-content: center;
    align-items: center;
    width: 30%;
    margin: 3em 0 1em 0;
    height: 1em;
    padding: 1em;
    color: #fff;
    border: 1px solid #e3007f;
    border-radius: 3px;
    color: #e3007f; }

.blockNewsDetail_inner {
  font-size: 1.6rem;
  line-height: 1.8; }
  @media (max-width: 800px) {
    .blockNewsDetail_inner {
      font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
  @media (max-width: 320px) {
    .blockNewsDetail_inner {
      font-size: 1.1142857143rem; } }
  @media (min-width: 525px) and (max-width: 800px) {
    .blockNewsDetail_inner {
      font-size: 1.82rem; } }
  .blockNewsDetail_inner .blockNewsDetail_sec {
    margin: 4em 0; }
    .blockNewsDetail_inner .blockNewsDetail_sec_embed1 {
      margin-top: 1em;
      position: relative;
      height: 0;
      padding-top: 46.1956521739%; }
      .blockNewsDetail_inner .blockNewsDetail_sec_embed1 iframe {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%;
        height: 100%; }
    .blockNewsDetail_inner .blockNewsDetail_sec table {
      width: 100%;
      margin-top: 1em;
      border-collapse: collapse; }
      .blockNewsDetail_inner .blockNewsDetail_sec table th, .blockNewsDetail_inner .blockNewsDetail_sec table td {
        padding: 1em;
        border: 1px solid #868686; }
      .blockNewsDetail_inner .blockNewsDetail_sec table th {
        width: 13.5em; }
      .blockNewsDetail_inner .blockNewsDetail_sec table .table01 {
        color: #E3007F; }
      .blockNewsDetail_inner .blockNewsDetail_sec table .table02 {
        background: #E3007F; }
      @media (max-width: 800px) {
        .blockNewsDetail_inner .blockNewsDetail_sec table th, .blockNewsDetail_inner .blockNewsDetail_sec table td {
          padding: 1em 0.5em; }
        .blockNewsDetail_inner .blockNewsDetail_sec table th {
          width: 6em; }
        .blockNewsDetail_inner .blockNewsDetail_sec table .table01 {
          font-size: 1rem; } }
  .blockNewsDetail_inner h4 {
    margin: 0 0 1em;
    font-size: 120%; }
  .blockNewsDetail_inner p + p {
    margin-top: 1em; }
  .blockNewsDetail_inner ul {
    margin: 1em 0 1em 1.5em; }
  .blockNewsDetail_inner img {
    max-width: 100%;
    height: auto; }
  .blockNewsDetail_inner .btnCommon1 {
    width: 100%;
    max-width: inherit; }

.blockNewsDetail_about {
  overflow: hidden;
  margin: 5.7971014493% 0 14.4927536232%;
  padding: 7.2463768116% 0;
  background-color: #222222; }
  .blockNewsDetail_about h3 {
    margin-bottom: 0.6em;
    font-size: 2.4rem;
    font-weight: 600;
    color: #e3007f; }
    @media (max-width: 800px) {
      .blockNewsDetail_about h3 {
        font-size: calc(4.5333333333vw + ((1vw - 3.2px)*((4.5333333333 - 4.5333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockNewsDetail_about h3 {
        font-size: 1.4571428571rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockNewsDetail_about h3 {
        font-size: 2.38rem; } }
    .blockNewsDetail_about h3::before {
      content: "";
      display: inline-block;
      width: 30px;
      height: 3px;
      border-radius: 1.5px;
      background-color: #e3007f;
      transform: translateX(-10px);
      vertical-align: middle; }
  .blockNewsDetail_about_inner {
    margin: 0 30px; }
  @media (max-width: 800px) {
    .blockNewsDetail_about {
      margin: 13.3333333333vw 0;
      padding: 8vw 0; }
      .blockNewsDetail_about h3::before {
        width: 4vw;
        height: 0.4vw;
        border-radius: 0.2vw;
        transform: translateX(-1.3333333333vw); }
      .blockNewsDetail_about_inner {
        margin: 0 4vw; } }

.blockNewsDetail_about_payment {
  overflow: hidden;
  margin: 5.7971014493% 0 14.4927536232%;
  padding: 7.2463768116% 0 0 0;
  background-color: #222222; }
  .blockNewsDetail_about_payment h3 {
    margin-bottom: 0.6em;
    font-size: 2.4rem;
    font-weight: 600;
    color: #e3007f; }
    @media (max-width: 800px) {
      .blockNewsDetail_about_payment h3 {
        font-size: calc(4.5333333333vw + ((1vw - 3.2px)*((4.5333333333 - 4.5333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockNewsDetail_about_payment h3 {
        font-size: 1.4571428571rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockNewsDetail_about_payment h3 {
        font-size: 2.38rem; } }
    .blockNewsDetail_about_payment h3::before {
      content: "";
      display: inline-block;
      width: 30px;
      height: 3px;
      border-radius: 1.5px;
      background-color: #e3007f;
      transform: translateX(-10px);
      vertical-align: middle; }
  .blockNewsDetail_about_payment_inner {
    margin: 0 30px; }
  @media (max-width: 800px) {
    .blockNewsDetail_about_payment {
      margin: 13.3333333333vw 0;
      padding: 8vw 0; }
      .blockNewsDetail_about_payment h3::before {
        width: 4vw;
        height: 0.4vw;
        border-radius: 0.2vw;
        transform: translateX(-1.3333333333vw); }
      .blockNewsDetail_about_payment_inner {
        margin: 0 4vw; } }

.blockNewsDetail_anc_detail {
  box-sizing: border-box;
  width: 83%;
  max-width: 694px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  margin: 50px auto; }
  @media (max-width: 800px) {
    .blockNewsDetail_anc_detail {
      width: 90%;
      max-width: 620px; } }
  .blockNewsDetail_anc_detail li {
    flex: 1 1 9em; }
    .blockNewsDetail_anc_detail li:first-child {
      margin-right: 30px; }
    .blockNewsDetail_anc_detail li a {
      display: flex;
      flex-direction: column;
      justify-content: center;
      align-items: center;
      height: 3.6em;
      text-decoration: none;
      border: 1px solid #e3007f;
      border-radius: 3px;
      text-align: center;
      font-size: 2.2rem; }
      @media (max-width: 800px) {
        .blockNewsDetail_anc_detail li a {
          font-size: calc(4.2666666667vw + ((1vw - 3.2px)*((4.2666666667 - 4.2666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockNewsDetail_anc_detail li a {
          font-size: 1.3714285714rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockNewsDetail_anc_detail li a {
          font-size: 2.24rem; } }
      .blockNewsDetail_anc_detail li a::after {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        border-right: 1px solid #e3007f;
        border-bottom: 1px solid #e3007f;
        transform: rotate(45deg); }
  @media (max-width: 800px) {
    .blockNewsDetail_anc_detail {
      margin-bottom: 10vw; }
      .blockNewsDetail_anc_detail li:first-child {
        margin-right: 1.0666666667vw; }
      .blockNewsDetail_anc_detail li a {
        flex-direction: column;
        border-radius: 0.4vw;
        border-width: 0.2666666667vw; }
        .blockNewsDetail_anc_detail li a::after {
          width: 2vw;
          height: 2vw;
          margin-left: 0;
          border-width: 0.2666666667vw; } }

.blockNewsDetail_anc_detail_button {
  box-sizing: border-box;
  width: 83%;
  max-width: 694px;
  margin: 0 auto;
  display: flex;
  flex-direction: column;
  margin: 50px auto; }
  @media (max-width: 800px) {
    .blockNewsDetail_anc_detail_button {
      width: 90%;
      max-width: 620px; } }
  .blockNewsDetail_anc_detail_button li {
    flex: 1 1 9em; }
    .blockNewsDetail_anc_detail_button li:first-child {
      margin-right: 30px; }
    .blockNewsDetail_anc_detail_button li a {
      display: flex;
      flex-direction: row;
      /* 横並びに変更 */
      justify-content: center;
      /* 全体は中央寄せ */
      align-items: center;
      /* 縦中央 */
      position: relative;
      /* 疑似要素を絶対配置用に */
      height: 3.6em;
      text-decoration: none;
      background-color: #e3007f;
      color: #ffffff;
      border-radius: 3px;
      font-size: 2.2rem;
      padding: 0 2em;
      /* 右に余白を確保 */
      text-align: center; }
      @media (max-width: 800px) {
        .blockNewsDetail_anc_detail_button li a {
          font-size: calc(4.2666666667vw + ((1vw - 3.2px)*((4.2666666667 - 4.2666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockNewsDetail_anc_detail_button li a {
          font-size: 1.3714285714rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockNewsDetail_anc_detail_button li a {
          font-size: 2.24rem; } }
      .blockNewsDetail_anc_detail_button li a::after {
        content: "";
        display: block;
        position: absolute;
        /* ボタン内で絶対配置 */
        right: 1em;
        /* 右端に寄せる */
        top: 50%;
        transform: translateY(-50%) rotate(-45deg);
        width: 12px;
        height: 12px;
        border-right: 1px solid #ffffff;
        border-bottom: 1px solid #ffffff; }
  @media (max-width: 800px) {
    .blockNewsDetail_anc_detail_button {
      margin-bottom: 10vw; }
      .blockNewsDetail_anc_detail_button li:first-child {
        margin-right: 1.0666666667vw; }
      .blockNewsDetail_anc_detail_button li a {
        flex-direction: column;
        border-radius: 0.4vw;
        border-width: 0.2666666667vw; }
        .blockNewsDetail_anc_detail_button li a::after {
          width: 2vw;
          height: 2vw;
          margin-left: 0;
          border-width: 0.2666666667vw; } }

.blockNewsNav {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: center;
  margin-top: 30px; }
  @media (max-width: 800px) {
    .blockNewsNav {
      width: 90%;
      max-width: 620px; } }
  .blockNewsNav_list {
    flex: 1 0 auto;
    margin-left: 136px;
    display: flex;
    justify-content: center;
    align-items: center;
    flex-wrap: wrap; }
    .blockNewsNav_list li {
      margin: 0 10px;
      text-align: center; }
    .blockNewsNav_list a {
      display: block;
      width: 50px;
      height: 50px;
      line-height: 50px;
      text-decoration: none;
      font-size: 2.2rem; }
      @media (max-width: 800px) {
        .blockNewsNav_list a {
          font-size: calc(4vw + ((1vw - 3.2px)*((4 - 4) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockNewsNav_list a {
          font-size: 1.2857142857rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockNewsNav_list a {
          font-size: 2.1rem; } }
      .blockNewsNav_list a.isCurrent {
        color: #fff;
        border: 1px solid #e3007f;
        border-radius: 50%; }
  .blockNewsNav_arrows {
    flex: 0 0 136px;
    display: flex;
    justify-content: space-between; }
    .blockNewsNav_arrows span.blockNewsNav_arrows_arrow {
      opacity: 0.5; }
  @media (max-width: 800px) {
    .blockNewsNav {
      display: block;
      margin-top: 5.3333333333vw; }
      .blockNewsNav_list {
        margin-bottom: 4vw;
        margin-left: 0; }
        .blockNewsNav_list li {
          margin: 0 2.6666666667vw; }
        .blockNewsNav_list a {
          width: 7.4666666667vw;
          height: 7.4666666667vw;
          line-height: 7.4666666667vw; }
          .blockNewsNav_list a.isCurrent {
            border-width: 0.2666666667vw; }
      .blockNewsNav_arrows {
        width: 28vw;
        margin: 0 0 0 auto; } }

.blockNewsNav_arrows_arrow {
  width: 60px;
  height: 60px;
  border: 1px solid #e3007f;
  border-radius: 3px;
  color: #e3007f;
  text-align: center;
  line-height: 0;
  position: relative;
  display: block; }
  @media (max-width: 800px) {
    .blockNewsNav_arrows_arrow {
      width: 13.3333333333vw;
      height: 13.3333333333vw;
      border-width: 0.2666666667vw;
      border-radius: 0.4vw; } }
  .blockNewsNav_arrows_arrow span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    height: 0; }
  .blockNewsNav_arrows_arrow::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border-bottom: 1px solid #e3007f;
    border-left: 1px solid #e3007f; }
    @media (max-width: 800px) {
      .blockNewsNav_arrows_arrow::before {
        width: 2.9333333333vw;
        height: 2.9333333333vw;
        border-width: 0.2666666667vw; } }
  .blockNewsNav_arrows_arrow::before {
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    margin: auto; }
  .blockNewsNav_arrows_arrow-prev::before {
    transform-origin: 50% 50%;
    transform: rotate(45deg) translateX(20%) translateY(-20%); }
  .blockNewsNav_arrows_arrow-next::before {
    transform-origin: 50% 50%;
    transform: rotate(225deg) translateX(20%) translateY(-20%); }

.news20200226-1_img1 {
  display: block;
  max-width: 690px;
  margin: 0 auto; }
  @media (max-width: 800px) {
    .news20200226-1_img1 {
      max-width: 100%; } }

.news20200408-1_img1 {
  display: block;
  max-width: 400px;
  margin: 1em auto 0; }
  .news20200408-1_img1 img {
    width: 100%;
    height: auto; }
  @media (max-width: 800px) {
    .news20200408-1_img1 {
      max-width: 100%; } }

.blockNewsDetail_imgList {
  display: flex;
  justify-content: space-between;
  margin: 0 !important;
  padding: 3% 0; }
  .blockNewsDetail_imgList li {
    flex: 0 0 48%;
    list-style: none;
    text-align: center; }
  .blockNewsDetail_imgList .bgWhite {
    background-color: #fff;
    padding: 3% 0; }
    .blockNewsDetail_imgList .bgWhite img {
      width: 80%;
      height: auto; }
  .blockNewsDetail_imgList .bd {
    border: 1px solid #868686; }
  .blockNewsDetail_imgList img {
    width: 100%;
    height: auto; }
  @media (max-width: 800px) {
    .blockNewsDetail_imgList {
      display: block; }
      .blockNewsDetail_imgList li + li {
        margin-top: 5%; } }

.blockNewsDetail_tweetWrap .twitter-tweet {
  margin-right: auto;
  margin-left: auto; }

.tblNews1 {
  width: 100%;
  border: 1px solid #cfcfcf;
  border-collapse: collapse; }
  .tblNews1 td, .tblNews1 th {
    border: 1px solid #cfcfcf;
    padding: 0.75rem; }
  .tblNews1 th {
    font-size: 1.4rem;
    white-space: nowrap; }
    @media (max-width: 800px) {
      .tblNews1 th {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .tblNews1 th {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .tblNews1 th {
        font-size: 1.82rem; } }
  .tblNews1 td {
    font-size: 1.8rem; }
    @media (max-width: 800px) {
      .tblNews1 td {
        font-size: calc(3.7333333333vw + ((1vw - 3.2px)*((3.7333333333 - 3.7333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .tblNews1 td {
        font-size: 1.2rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .tblNews1 td {
        font-size: 1.96rem; } }
  @media (max-width: 800px) {
    .tblNews1 th {
      white-space: normal;
      width: 1em; } }

.news_20200730 th {
  color: #E3007F; }
.news_20200730 .text-vertical {
  -ms-writing-mode: tb-rl;
  -webkit-writing-mode: vertical-rl;
  writing-mode: vertical-rl;
  display: block;
  white-space: nowrap;
  min-width: 2em; }
.news_20200730 .top {
  vertical-align: top; }
.news_20200730 .font_pink {
  color: #E3007F; }

.news_2021211 th {
  color: #E3007F; }

.box {
  width: 98%;
  margin: 0 auto 1em;
  font-size: 2.2rem;
  height: 5em;
  background-color: #ffffff;
  color: #030102;
  border-radius: 3px;
  text-align: center; }

@media (max-width: 800px) {
  .box {
    font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
@media (max-width: 320px) {
  .box {
    font-size: 1.1142857143rem; } }
@media (min-width: 525px) and (max-width: 800px) {
  .box {
    font-size: 1.82rem; } }

/* コンテナ：3列（幅が狭いと自動で2→1列に落ちる） */
.gallery {
  --gap: 16px;
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: var(--gap);
  max-width: 1200px;
  margin: 8em auto;
  padding: 0 var(--gap);
}

/* カード（画像+キャプション） */
.card {
  margin: 0;               /* figure のデフォルト余白をリセット */
  display: flex;
  flex-direction: column;
	align-items: center;   /* 子要素（画像とテキスト）を中央揃え */
  gap: 8px;
}

/* 画像：比率を統一して切り抜き */
.card img {
  width: 85%;
  aspect-ratio: 1 / 1;     /* 16/9 など好みで変更可 */
  object-fit: cover;       /* はみ出しをトリミング */
  border-radius: 12px;
  display: block;          /* 画像下の隙間対策 */
}

/* キャプション */
.card figcaption {
  font-size: 18px;
  line-height: 1.5;
  color: #fff;
  text-align: center;      /* 左寄せにしたい場合は left に */
}

/* レスポンシブ：タブレットで2列、スマホで1列 */
@media (max-width: 900px) {
  .gallery { grid-template-columns: repeat(2, 1fr); }
}
@media (max-width: 600px) {
  .gallery { grid-template-columns: 1fr; }
}








/* blockHowToUse_news
-------------------------------------------------- */
.blockHowToUse_news {
  overflow: hidden; }
  @media (max-width: 800px) {
    .blockHowToUse_news {
      padding-bottom: 42.6666666667vw; } }

.blockHowToUse_news_anc {
  box-sizing: border-box;
  width: 83%;
  max-width: 694px;
  margin: 0 auto;
  display: flex;
  margin-bottom: 150px; }
  @media (max-width: 800px) {
    .blockHowToUse_news_anc {
      width: 90%;
      max-width: 620px; } }
  .blockHowToUse_news_anc li {
    flex: 1 1 9em; }
    .blockHowToUse_news_anc li:first-child {
      margin-right: 30px; }
    .blockHowToUse_news_anc li a {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 3.6em;
      text-decoration: none;
      border: 1px solid #e3007f;
      border-radius: 3px;
      text-align: center;
      font-size: 2.2rem; }
      @media (max-width: 800px) {
        .blockHowToUse_news_anc li a {
          font-size: calc(4.2666666667vw + ((1vw - 3.2px)*((4.2666666667 - 4.2666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockHowToUse_news_anc li a {
          font-size: 1.3714285714rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockHowToUse_news_anc li a {
          font-size: 2.24rem; } }
      .blockHowToUse_news_anc li a::after {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        margin-left: 1em;
        border-right: 1px solid #e3007f;
        border-bottom: 1px solid #e3007f;
        transform: rotate(45deg); }
  @media (max-width: 800px) {
    .blockHowToUse_news_anc {
      margin-bottom: 20vw; }
      .blockHowToUse_news_anc li:first-child {
        margin-right: 1.0666666667vw; }
      .blockHowToUse_news_anc li a {
        flex-direction: column;
        border-radius: 0.4vw;
        border-width: 0.2666666667vw; }
        .blockHowToUse_news_anc li a::after {
          width: 2vw;
          height: 2vw;
          margin-left: 0;
          border-width: 0.2666666667vw; } }

.blockHowToUse_news_category_header {
  text-align: center;
  color: #e3007f; }
  @media (max-width: 800px) {
    .blockHowToUse_news_category_header {
      margin-bottom: 1.3333333333vw; } }
  .blockHowToUse_news_category_header span {
    font-size: 2.2rem; }
    @media (max-width: 800px) {
      .blockHowToUse_news_category_header span {
        font-size: calc(4vw + ((1vw - 3.2px)*((4 - 4) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockHowToUse_news_category_header span {
        font-size: 1.2857142857rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockHowToUse_news_category_header span {
        font-size: 2.1rem; } }
  .blockHowToUse_news_category_header h3 {
    font-family: 'Nunito', sans-serif;
    font-size: 6rem;
    font-weight: 200; }
    @media (max-width: 800px) {
      .blockHowToUse_news_category_header h3 {
        font-size: calc(9.3333333333vw + ((1vw - 3.2px)*((9.3333333333 - 9.3333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockHowToUse_news_category_header h3 {
        font-size: 3rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockHowToUse_news_category_header h3 {
        font-size: 4.9rem; } }
.blockHowToUse_news_category_inner {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 90px; }
  @media (max-width: 800px) {
    .blockHowToUse_news_category_inner {
      width: 90%;
      max-width: 620px; } }
  @media (max-width: 800px) {
    .blockHowToUse_news_category_inner {
      padding-top: 0; } }

.blockPrePayment_step {
  margin-bottom: 160px; }
  .blockPrePayment_step:nth-child(even) {
    flex-direction: row; }
  @media (max-width: 800px) {
    .blockPrePayment_step {
      position: relative;
      margin-bottom: 20vw;
      padding-top: 24vw; } }

.blockPrePayment_step_txt {
  flex: 0 0 50%;
  max-width: 520px;
  z-index: 2; }
  .blockPrePayment_step_txt header {
    display: flex;
    align-items: center; }
    .blockPrePayment_step_txt header h4 {
      font-size: 2.2rem;
      font-weight: 400; }
      @media (max-width: 800px) {
        .blockPrePayment_step_txt header h4 {
          font-size: calc(4.2666666667vw + ((1vw - 3.2px)*((4.2666666667 - 4.2666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockPrePayment_step_txt header h4 {
          font-size: 1.3714285714rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockPrePayment_step_txt header h4 {
          font-size: 2.24rem; } }
    .blockPrePayment_step_txt header + p {
      margin-top: 1em;
      margin-bottom: 2.5em; }
  .blockPrePayment_step_txt p {
    font-size: 1.7rem; }
    @media (max-width: 800px) {
      .blockPrePayment_step_txt p {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockPrePayment_step_txt p {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockPrePayment_step_txt p {
        font-size: 1.82rem; } }
  .blockPrePayment_step_txt .noteList {
    padding-top: 1em; }
  @media (max-width: 800px) {
    .blockPrePayment_step_txt {
      flex: 1 1 auto;
      max-width: inherit; }
      .blockPrePayment_step_txt header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%; }
        .blockPrePayment_step_txt header + p {
          margin-top: 1.5em; } }

.blockPrePayment_step_txt .num {
  position: relative;
  flex: 0 0 10.41vw;
  font-family: "neon";
  font-weight: normal;
  font-size: 5.2vw;
  width: 10.41vw;
  max-width: 150px;
  height: 2em;
  line-height: 2.09em;
  text-shadow: 0 0 10px #fff;
  text-align: center;
  transform: translateX(-20%); }
  @media (max-width: 800px) {
    .blockPrePayment_step_txt .num {
      font-size: 13.3333333333vw; } }
  @media (min-width: 1441px) {
    .blockPrePayment_step_txt .num {
      font-size: 7.5rem; } }
  @media (max-width: 800px) {
    .blockPrePayment_step_txt .num {
      flex: 0 0 26.6666666667vw;
      width: 26.6666666667vw;
      max-width: 26.6666666667vw;
      height: 26.6666666667vw;
      line-height: 27.8666666667vw;
      transform: translateX(-6.6666666667vw); } }
  .blockPrePayment_step_txt .num .circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .blockPrePayment_step_txt .num .circle svg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      transform: rotate(-100deg); }
      .blockPrePayment_step_txt .num .circle svg circle {
        stroke-dasharray: 647;
        stroke-dashoffset: 647;
        transition: stroke-dashoffset 0.7s ease; }
    .blockPrePayment_step_txt .num .circle-blur1 {
      filter: blur(4px); }
    .blockPrePayment_step_txt .num .circle-blur2 {
      filter: blur(2px); }
    .blockPrePayment_step_txt .num .circle.isAppear svg circle {
      stroke-dashoffset: 45.2788; }
  .blockPrePayment_step:nth-child(even) .blockPrePayment_step_txt .num .circle svg {
    transform: rotate(-55deg); }

.blockPrePayment_step_img {
  position: relative;
  flex: 0 0 50%;
  z-index: 1; }
  .blockPrePayment_step_img img,
  .blockPrePayment_step_img .imgAppear_cover {
    display: block;
    width: 100%; }
  .blockPrePayment_step_img img {
    height: auto; }
  @media (max-width: 800px) {
    .blockPrePayment_step_img {
      flex: 1 1 auto; }
      .blockPrePayment_step_img_inner {
        width: 100%;
        margin: 0 !important; } }


/* unitPlace
-------------------------------------------------- */
.unitPlace {
  position: relative;
  flex: 0 0 47.5%;
  margin-bottom: 80px;
  padding: 0 0 14px;
  border-radius: 8px;
  background-color: #222222;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  word-break: break-all;
  word-wrap: break-word; }
  .unitPlace_ttl {
    position: relative;
    padding: 14px 0 0;
    margin: 0 40px 20px;
    font-weight: 600; }
    .unitPlace_ttl .num {
      position: absolute;
      top: -18px;
      left: 0;
      width: 64px;
      height: 90px;
      line-height: 70px;
      font-size: 4.4rem;
      color: #222222;
      background: url("/images/ico_num1.svg") center center no-repeat;
      background-size: contain;
      text-align: center; }
      @media (max-width: 800px) {
        .unitPlace_ttl .num {
          font-size: calc(7.4666666667vw + ((1vw - 3.2px)*((7.4666666667 - 7.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .unitPlace_ttl .num {
          font-size: 2.4rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .unitPlace_ttl .num {
          font-size: 3.92rem; } }
    .unitPlace_ttl .name {
      display: flex;
      justify-content: flex-start;
      align-items: flex-end;
      padding-left: 94px;
      font-size: 2.4rem;
      color: #e3007f;
      line-height: 1.3;
      min-height: 56px; }
      @media (max-width: 800px) {
        .unitPlace_ttl .name {
          font-size: calc(4.8vw + ((1vw - 3.2px)*((4.8 - 4.8) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .unitPlace_ttl .name {
          font-size: 1.5428571429rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .unitPlace_ttl .name {
          font-size: 2.52rem; } }
      .unitPlace_ttl .name small {
        display: inline-block; }
    .unitPlace_ttl.isIe .num {
      box-sizing: border-box;
      padding-left: 0.2em; }
    .unitPlace_ttl.isIe .name {
      display: table-cell;
      vertical-align: bottom; }
  .unitPlace_detail {
    display: flex;
    justify-content: space-between;
    align-items: flex-start;
    margin: 0 40px; }
    .unitPlace_detail dt,
    .unitPlace_detail dd {
      color: #e3007f; }
    .unitPlace_detail dt {
      font-size: 1.4rem;
      flex: 0 0 9.5em; }
      @media (max-width: 800px) {
        .unitPlace_detail dt {
          font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .unitPlace_detail dt {
          font-size: 1.1142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .unitPlace_detail dt {
          font-size: 1.82rem; } }
      .container-en .unitPlace_detail dt {
        flex: 0 0 11em; }
    .unitPlace_detail .ico {
      display: inline-block;
      width: 1.5em;
      margin-right: 0.5em;
      vertical-align: middle;
      text-align: center; }
      .unitPlace_detail .ico-1 img {
        width: 18px;
        height: auto; }
      .unitPlace_detail .ico-2 img {
        width: 22px;
        height: auto; }
      .unitPlace_detail .ico-3 img {
        width: 20px;
        height: auto; }
    .unitPlace_detail dd {
      flex: 1 1 auto;
      box-sizing: border-box;
      max-width: calc(100% - 9.5em * 16/22);
      font-weight: 600;
      margin-top: -0.05em;
      min-height: 2.1em;
      padding-bottom: 0.5em;
      font-size: 1.8rem; }
      @media (max-width: 800px) {
        .unitPlace_detail dd {
          font-size: calc(3.7333333333vw + ((1vw - 3.2px)*((3.7333333333 - 3.7333333333) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .unitPlace_detail dd {
          font-size: 1.2rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .unitPlace_detail dd {
          font-size: 1.96rem; } }
      .container-en .unitPlace_detail dd {
        max-width: calc(100% - 11em * 16/22); }
      .unitPlace_detail dd small {
        display: inline-block; }
  .unitPlace_gmap {
    border-top: 1px solid #e3007f;
    margin: 1em 30px 0;
    height: 3.6em;
    font-size: 1.8rem;
    text-align: center;
    line-height: 4em; }
    @media (max-width: 800px) {
      .unitPlace_gmap {
        font-size: calc(4vw + ((1vw - 3.2px)*((4 - 4) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .unitPlace_gmap {
        font-size: 1.2857142857rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .unitPlace_gmap {
        font-size: 2.1rem; } }
    .unitPlace_gmap a[target="_blank"]:after {
      content: "";
      display: inline-block;
      width: 1.5em;
      height: 1em;
      background: url("/images/ico_blank1-p.svg") no-repeat 100% center;
      background-size: contain; }
  @media (max-width: 800px) {
    .unitPlace {
      width: 100%;
      margin-bottom: 8vw;
      padding: 0 0 1.3333333333vw;
      border-radius: 1.0666666667vw;
      display: block; }
      .unitPlace_ttl {
        padding: 4vw 0 0;
        margin: 0 4.8vw 4vw; }
        .unitPlace_ttl .num {
          top: -1.6vw;
          width: 10.9333333333vw;
          height: 15.2vw;
          margin-right: 6.6666666667vw;
          line-height: 12vw; }
        .unitPlace_ttl .name {
          padding-bottom: 1.6vw;
          padding-left: 17.6vw;
          min-height: 10.6666666667vw; }
      .unitPlace_detail {
        margin: 0 4.8vw 1.3333333333vw; }
        .unitPlace_detail .ico-1 img {
          width: 1.1em; }
        .unitPlace_detail .ico-2 img {
          width: 1.3444444444em; }
        .unitPlace_detail .ico-3 img {
          width: 1.2222222222em; }
        .unitPlace_detail dd {
          max-width: calc(100% - 7em * 26/28); }
      .unitPlace_gmap {
        margin: 1em 4vw 0;
        font-weight: 600; } }

/* --------------------------------------------------
index
-------------------------------------------------- */
/* blockProduct
-------------------------------------------------- */
.blockProduct_interface {
  box-sizing: border-box;
  width: 83%;
  max-width: 972px;
  margin: 0 auto;
  display: flex;
  align-items: flex-end;
  border: 1px solid #444755; }
  @media (max-width: 800px) {
    .blockProduct_interface {
      width: 90%;
      max-width: 620px; } }
  @media (max-width: 800px) {
    .blockProduct_interface {
      display: block;
      padding: 5.3333333333vw; } }
  .blockProduct_interface_img {
    flex: 0 0 49.4845360825%;
    margin: 3.0927835052%; }
    .blockProduct_interface_img img {
      width: 100%;
      height: auto;
      border-radius: 3px; }
    @media (max-width: 800px) {
      .blockProduct_interface_img {
        width: 100%;
        padding: 0; }
        .blockProduct_interface_img img {
          margin-bottom: 5.3333333333vw;
          border-radius: 0.4vw; } }
  .blockProduct_interface_txt {
    flex: 0 0 42.2680412371%;
    padding: 0 2.0618556701% 4.1237113402% 0; }
    @media (max-width: 800px) {
      .blockProduct_interface_txt {
        width: 100%;
        padding: 0; } }
    .blockProduct_interface_txt p {
      font-size: 1.6rem; }
      @media (max-width: 800px) {
        .blockProduct_interface_txt p {
          font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockProduct_interface_txt p {
          font-size: 1.1142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockProduct_interface_txt p {
          font-size: 1.82rem; } }
    .blockProduct_interface_txt .noteList {
      padding-top: 0.5em; }
    .blockProduct_interface_txt .type1 {
      color: #fdd20b; }
    .blockProduct_interface_txt .type2 {
      color: #2bace2; }
    .blockProduct_interface_txt .type3 {
      color: #e3007f; }

/* slider
-------------------------------------------------- */
.blockProduct_slider .slick-slide img {
  width: 95%;
  height: auto;
  margin: 0 auto; }
  @media (max-width: 800px) {
    .blockProduct_slider .slick-slide img {
      width: 100%; } }
.blockProduct_slider .slick-dots {
  display: flex;
  justify-content: center; }
  .blockProduct_slider .slick-dots li {
    position: relative;
    width: 26px;
    height: 26px;
    margin: 0 4px; }
    @media (max-width: 800px) {
      .blockProduct_slider .slick-dots li {
        width: 4.4vw;
        height: 4.4vw;
        margin: 0 0.6666666667vw; } }
    .blockProduct_slider .slick-dots li::before {
      content: "";
      position: absolute;
      top: 0;
      right: 0;
      bottom: 0;
      left: 0;
      margin: auto;
      width: 0;
      height: 0;
      border: 1px solid #e3007f;
      border-radius: 50%;
      transition: width 0.25s ease-in, height 0.25s ease-in; }
      @media (max-width: 800px) {
        .blockProduct_slider .slick-dots li::before {
          border-width: 0.2666666667vw; } }
    .blockProduct_slider .slick-dots li button {
      width: 100%;
      height: 100%;
      opacity: 0; }
    .blockProduct_slider .slick-dots li.slick-active::before {
      box-sizing: border-box;
      width: 100%;
      height: 100%; }
.blockProduct_slider .slick-arrow {
  width: 60px;
  height: 60px;
  border: 1px solid #e3007f;
  border-radius: 3px;
  color: #e3007f;
  text-align: center;
  line-height: 0; }
  @media (max-width: 800px) {
    .blockProduct_slider .slick-arrow {
      width: 13.3333333333vw;
      height: 13.3333333333vw;
      border-width: 0.2666666667vw;
      border-radius: 0.4vw; } }
  .blockProduct_slider .slick-arrow span {
    display: block;
    text-indent: 100%;
    white-space: nowrap;
    overflow: hidden;
    height: 0; }
  .blockProduct_slider .slick-arrow::before {
    content: "";
    display: inline-block;
    width: 14px;
    height: 14px;
    border-bottom: 1px solid #e3007f;
    border-left: 1px solid #e3007f; }
    @media (max-width: 800px) {
      .blockProduct_slider .slick-arrow::before {
        width: 2.9333333333vw;
        height: 2.9333333333vw;
        border-width: 0.2666666667vw; } }
  .blockProduct_slider .slick-arrow.slick-prev::before {
    transform: rotate(45deg) translateX(3px) translateY(-3px); }
    @media (max-width: 800px) {
      .blockProduct_slider .slick-arrow.slick-prev::before {
        transform: rotate(45deg) translateX(0.4vw) translateY(-0.4vw); } }
  .blockProduct_slider .slick-arrow.slick-next::before {
    transform: rotate(225deg) translateX(3px) translateY(-3px); }
    @media (max-width: 800px) {
      .blockProduct_slider .slick-arrow.slick-next::before {
        transform: rotate(225deg) translateX(0.4vw) translateY(-0.4vw); } }
.blockProduct_slider_images {
  margin-bottom: 30px; }
  @media (max-width: 800px) {
    .blockProduct_slider_images {
      margin-bottom: 6.6666666667vw; } }
.blockProduct_slider_controller {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  padding-bottom: 10%; }
  @media (max-width: 800px) {
    .blockProduct_slider_controller {
      width: 90%;
      max-width: 620px; } }
  @media (max-width: 800px) {
    .blockProduct_slider_controller {
      display: block;
      padding-bottom: 29.3333333333vw; } }
.blockProduct_slider_dots {
  flex: 1 0 auto;
  margin-right: 136px; }
  @media (max-width: 800px) {
    .blockProduct_slider_dots {
      margin: 2.6666666667vw 0; } }
.blockProduct_slider_arrows {
  flex: 0 0 136px;
  display: flex;
  justify-content: space-between; }
  .blockProduct_slider_arrows button:focus {
    outline: 1px solid rgba(227, 0, 127, 0.5);
    box-shadow: 0 0 20px rgba(227, 0, 127, 0.3), 0 0 10px rgba(227, 0, 127, 0.5); }
  @media (max-width: 800px) {
    .blockProduct_slider_arrows {
      width: 28vw;
      margin: 0 0 0 auto; } }

/* --------------------------------------------------
index
-------------------------------------------------- */
/* blockHowToUse
-------------------------------------------------- */
.blockHowToUse {
  overflow: hidden; }
  @media (max-width: 800px) {
    .blockHowToUse {
      padding-bottom: 42.6666666667vw; } }

.blockHowToUse_anc {
  box-sizing: border-box;
  width: 83%;
  max-width: 694px;
  margin: 0 auto;
  display: flex;
  margin-bottom: 150px; }
  @media (max-width: 800px) {
    .blockHowToUse_anc {
      width: 90%;
      max-width: 620px; } }
  .blockHowToUse_anc li {
    flex: 1 1 9em; }
    .blockHowToUse_anc li:first-child {
      margin-right: 30px; }
    .blockHowToUse_anc li a {
      display: flex;
      justify-content: center;
      align-items: center;
      height: 3.6em;
      text-decoration: none;
      border: 1px solid #e3007f;
      border-radius: 3px;
      text-align: center;
      font-size: 2.2rem; }
      @media (max-width: 800px) {
        .blockHowToUse_anc li a {
          font-size: calc(4.2666666667vw + ((1vw - 3.2px)*((4.2666666667 - 4.2666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockHowToUse_anc li a {
          font-size: 1.3714285714rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockHowToUse_anc li a {
          font-size: 2.24rem; } }
      .blockHowToUse_anc li a::after {
        content: "";
        display: block;
        width: 16px;
        height: 16px;
        margin-left: 1em;
        border-right: 1px solid #e3007f;
        border-bottom: 1px solid #e3007f;
        transform: rotate(45deg); }
  @media (max-width: 800px) {
    .blockHowToUse_anc {
      margin-bottom: 20vw; }
      .blockHowToUse_anc li:first-child {
        margin-right: 1.0666666667vw; }
      .blockHowToUse_anc li a {
        flex-direction: column;
        border-radius: 0.4vw;
        border-width: 0.2666666667vw; }
        .blockHowToUse_anc li a::after {
          width: 2vw;
          height: 2vw;
          margin-left: 0;
          border-width: 0.2666666667vw; } }

.blockHowToUse_category_header {
  text-align: center;
  color: #e3007f; }
  @media (max-width: 800px) {
    .blockHowToUse_category_header {
      margin-bottom: 1.3333333333vw; } }
  .blockHowToUse_category_header span {
    font-size: 2.2rem; }
    @media (max-width: 800px) {
      .blockHowToUse_category_header span {
        font-size: calc(4vw + ((1vw - 3.2px)*((4 - 4) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockHowToUse_category_header span {
        font-size: 1.2857142857rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockHowToUse_category_header span {
        font-size: 2.1rem; } }
  .blockHowToUse_category_header h3 {
    font-family: 'Nunito', sans-serif;
    font-size: 6rem;
    font-weight: 200; }
    @media (max-width: 800px) {
      .blockHowToUse_category_header h3 {
        font-size: calc(9.3333333333vw + ((1vw - 3.2px)*((9.3333333333 - 9.3333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockHowToUse_category_header h3 {
        font-size: 3rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockHowToUse_category_header h3 {
        font-size: 4.9rem; } }
.blockHowToUse_category_inner {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
  padding-top: 90px; }
  @media (max-width: 800px) {
    .blockHowToUse_category_inner {
      width: 90%;
      max-width: 620px; } }
  @media (max-width: 800px) {
    .blockHowToUse_category_inner {
      padding-top: 0; } }

.blockRental_step {
  display: flex;
  justify-content: space-between;
  margin-bottom: 160px; }
  .blockRental_step:nth-child(even) {
    flex-direction: row-reverse; }
  @media (max-width: 800px) {
    .blockRental_step {
      position: relative;
      flex-direction: column-reverse !important;
      margin-bottom: 20vw;
      padding-top: 24vw; } }

.blockRental_step_txt {
  flex: 0 0 50%;
  max-width: 520px;
  z-index: 2; }
  .blockRental_step_txt header {
    display: flex;
    align-items: center; }
    .blockRental_step_txt header h4 {
      font-size: 3.2rem;
      font-weight: 400; }
      @media (max-width: 800px) {
        .blockRental_step_txt header h4 {
          font-size: calc(5.0666666667vw + ((1vw - 3.2px)*((5.0666666667 - 5.0666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockRental_step_txt header h4 {
          font-size: 1.6285714286rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockRental_step_txt header h4 {
          font-size: 2.66rem; } }
    .blockRental_step_txt header + p {
      margin-top: 2.5em; }
  .blockRental_step_txt p {
    font-size: 1.7rem; }
    @media (max-width: 800px) {
      .blockRental_step_txt p {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockRental_step_txt p {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockRental_step_txt p {
        font-size: 1.82rem; } }
  .blockRental_step_txt .noteList {
    padding-top: 1em; }
  @media (max-width: 800px) {
    .blockRental_step_txt {
      flex: 1 1 auto;
      max-width: inherit; }
      .blockRental_step_txt header {
        position: absolute;
        top: 0;
        left: 0;
        width: 100%; }
        .blockRental_step:nth-child(even) .blockRental_step_txt header {
          flex-direction: row-reverse;
          justify-content: space-between; }
        .blockRental_step_txt header + p {
          margin-top: 1.5em; } }

.blockRental_step_txt .num {
  position: relative;
  flex: 0 0 10.41vw;
  font-family: "neon";
  font-weight: normal;
  font-size: 5.2vw;
  width: 10.41vw;
  max-width: 150px;
  height: 2em;
  line-height: 2.09em;
  text-shadow: 0 0 10px #fff;
  text-align: center;
  transform: translateX(-20%); }
  @media (max-width: 800px) {
    .blockRental_step_txt .num {
      font-size: 13.3333333333vw; } }
  @media (min-width: 1441px) {
    .blockRental_step_txt .num {
      font-size: 7.5rem; } }
  @media (max-width: 800px) {
    .blockRental_step_txt .num {
      flex: 0 0 26.6666666667vw;
      width: 26.6666666667vw;
      max-width: 26.6666666667vw;
      height: 26.6666666667vw;
      line-height: 27.8666666667vw;
      transform: translateX(-6.6666666667vw); } }
  .blockRental_step_txt .num .circle {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }
    .blockRental_step_txt .num .circle svg {
      position: absolute;
      top: 0;
      left: 0;
      width: 100%;
      height: 100%;
      transform: rotate(-100deg); }
      .blockRental_step_txt .num .circle svg circle {
        stroke-dasharray: 647;
        stroke-dashoffset: 647;
        transition: stroke-dashoffset 0.7s ease; }
    .blockRental_step_txt .num .circle-blur1 {
      filter: blur(4px); }
    .blockRental_step_txt .num .circle-blur2 {
      filter: blur(2px); }
    .blockRental_step_txt .num .circle.isAppear svg circle {
      stroke-dashoffset: 45.2788; }
  @media (max-width: 800px) {
    .blockRental_step:nth-child(even) .blockRental_step_txt .num {
      transform: translateX(6.6666666667vw); } }
  .blockRental_step:nth-child(even) .blockRental_step_txt .num .circle svg {
    transform: rotate(-55deg); }

.blockRental_step_img {
  position: relative;
  flex: 0 0 50%;
  z-index: 1; }
  .blockRental_step_img_inner {
    width: 106.25%;
    margin: 0 0 0 -6.25%; }
    .blockRental_step:nth-child(even) .blockRental_step_img_inner {
      margin: 0 -6.25% 0 0; }
  .blockRental_step_img img,
  .blockRental_step_img .imgAppear_cover {
    display: block;
    width: 100%; }
  .blockRental_step_img img {
    height: auto; }
  @media (max-width: 800px) {
    .blockRental_step_img {
      flex: 1 1 auto; }
      .blockRental_step_img_inner {
        width: 100%;
        margin: 0 !important; } }

.blockReturn_step {
  display: flex; }
  .blockReturn_step .img {
    flex: 0 1 50%;
    text-align: right; }
    .blockReturn_step .img img {
      width: 480px;
      height: auto;
      max-width: 100%; }
  .blockReturn_step .txt {
    flex: 1 0 50%;
    min-width: 395px;
    padding-left: 1em;
    font-size: 1.7rem; }
    @media (max-width: 800px) {
      .blockReturn_step .txt {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockReturn_step .txt {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockReturn_step .txt {
        font-size: 1.82rem; } }
  @media (max-width: 800px) {
    .blockReturn_step {
      display: block; }
      .blockReturn_step .img img {
        width: 100%;
        height: auto; }
      .blockReturn_step .txt {
        min-width: inherit;
        padding: 1em 0 0; } }

.blockRecharge {
  padding-top: 300px; }
  @media (max-width: 800px) {
    .blockRecharge {
      padding-top: 40vw; } }
  .blockRecharge_header {
    box-sizing: border-box;
    width: 83%;
    max-width: 670px;
    margin: 0 auto; }
    @media (max-width: 800px) {
      .blockRecharge_header {
        width: 90%;
        max-width: 620px; } }
    .blockRecharge_header_img {
      margin-bottom: 20px;
      text-align: center; }
      .blockRecharge_header_img img {
        width: 70px;
        height: auto; }
      @media (max-width: 800px) {
        .blockRecharge_header_img {
          margin-bottom: 2.6666666667vw; }
          .blockRecharge_header_img img {
            width: 9.3333333333vw;
            height: auto; } }
    .blockRecharge_header h3 {
      text-align: center;
      color: #00b900;
      font-size: 4.6rem;
      font-weight: 400; }
      @media (max-width: 800px) {
        .blockRecharge_header h3 {
          font-size: calc(6.9333333333vw + ((1vw - 3.2px)*((6.9333333333 - 6.9333333333) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockRecharge_header h3 {
          font-size: 2.2285714286rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockRecharge_header h3 {
          font-size: 3.64rem; } }
      .blockRecharge_header h3 small {
        display: block;
        font-size: 2.8rem; }
        @media (max-width: 800px) {
          .blockRecharge_header h3 small {
            font-size: calc(4.2666666667vw + ((1vw - 3.2px)*((4.2666666667 - 4.2666666667) / (5.25 - 3.2)))); } }
        @media (max-width: 320px) {
          .blockRecharge_header h3 small {
            font-size: 1.3714285714rem; } }
        @media (min-width: 525px) and (max-width: 800px) {
          .blockRecharge_header h3 small {
            font-size: 2.24rem; } }
    .blockRecharge_header p {
      padding-top: 1em;
      font-size: 1.8rem; }
      @media (max-width: 800px) {
        .blockRecharge_header p {
          font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockRecharge_header p {
          font-size: 1.1142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockRecharge_header p {
          font-size: 1.82rem; } }

.blockRecharge_inner {
  position: relative;
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
  display: flex;
  justify-content: space-between;
  padding-top: 100px; }
  @media (max-width: 800px) {
    .blockRecharge_inner {
      width: 90%;
      max-width: 620px; } }
  @media (max-width: 800px) {
    .blockRecharge_inner {
      display: block;
      padding-top: 9.3333333333vw; } }

.blockRecharge_step {
  position: relative;
  flex: 0 1 31.6666666667%; }
  @media (max-width: 800px) {
    .blockRecharge_step {
      min-height: 60vw; }
      .blockRecharge_step:last-child {
        min-height: 50.1333333333vw; } }
  .blockRecharge_step::before {
    content: "";
    position: absolute;
    width: 100%;
    height: 0;
    padding-top: 100%;
    background-color: #191919;
    border-radius: 50%;
    z-index: -1; }
    @media (max-width: 800px) {
      .blockRecharge_step::before {
        width: 50.1333333333vw;
        padding-top: 50.1333333333vw;
        transform: translateX(-5.3333333333vw);
        left: -5vw; } }
  .blockRecharge_step::after {
    content: "";
    position: absolute;
    display: block;
    width: 50%;
    top: 0;
    right: 0;
    margin-top: 50%;
    height: 0;
    transform: translateX(50%) translateY(-50%);
    border-top: 12px dotted #191919;
    z-index: -2; }
    @media (max-width: 800px) {
      .blockRecharge_step::after {
        width: 0;
        top: auto;
        right: auto;
        bottom: 0;
        left: 18.9333333333vw;
        margin-top: 0;
        height: 50%;
        transform: translateX(-5vw) translateY(10%);
        border-top: none;
        border-left: 1.6vw dotted #191919; } }
  .blockRecharge_step:last-child::after {
    content: normal; }
  .blockRecharge_step header {
    position: absolute;
    width: 100%;
    font-size: 2.9rem;
    margin-top: 15.7894736842%;
    transform: translateY(-100%); }
    @media (max-width: 800px) {
      .blockRecharge_step header {
        font-size: calc(5.3333333333vw + ((1vw - 3.2px)*((5.3333333333 - 5.3333333333) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockRecharge_step header {
        font-size: 1.7142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockRecharge_step header {
        font-size: 2.8rem; } }
    .blockRecharge_step header h4 {
      display: flex;
      justify-content: center;
      align-items: flex-end;
      color: #00b900;
      font-weight: 400;
      height: 2em;
      line-height: 1.4; }
      .blockRecharge_step header h4 .num {
        margin-right: 0.17em;
        font-size: 4.8533333333vw;
        font-family: "neon";
        font-weight: normal;
        line-height: 0.7; }
        @media (max-width: 800px) {
          .blockRecharge_step header h4 .num {
            font-size: 13.6vw; } }
        @media (min-width: 1441px) {
          .blockRecharge_step header h4 .num {
            font-size: 7rem; } }
    @media (max-width: 800px) {
      .blockRecharge_step header {
        position: static;
        width: inherit;
        margin-top: 0;
        transform: translateY(0);
        padding-left: 36vw; }
        .blockRecharge_step header h4 {
          padding-top: 12vw;
          justify-content: flex-start; } }
  .blockRecharge_step_img {
    margin: 15.7894736842% auto 0;
    width: 68.4210526316%; }
    @media (max-width: 800px) {
      .blockRecharge_step_img {
        position: absolute;
        top: 0;
        left: -5vw;
        bottom: 0;
        width: 39.4666666667vw;
        height: 39.4666666667vw;
        margin: 5.3333333333vw auto auto; } }
  .blockRecharge_step p {
    width: 68.4210526316%;
    margin: 0 auto;
    padding-top: 1em;
    font-size: 1.6rem; }
    @media (max-width: 800px) {
      .blockRecharge_step p {
        font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
    @media (max-width: 320px) {
      .blockRecharge_step p {
        font-size: 1.1142857143rem; } }
    @media (min-width: 525px) and (max-width: 800px) {
      .blockRecharge_step p {
        font-size: 1.82rem; } }
    @media (max-width: 800px) {
      .blockRecharge_step p {
        width: inherit;
        padding-left: 36vw; } }
  .blockRecharge_step .noteList {
    width: 68.4210526316%;
    margin: 0 auto;
    padding-top: 1em; }
    @media (max-width: 800px) {
      .blockRecharge_step .noteList {
        width: inherit;
        padding-left: calc(270/750 * 100vw + 0.5em); } }

/* --------------------------------------------------
index
-------------------------------------------------- */
/* blockPrice
-------------------------------------------------- */
@media (max-width: 800px) {
  .blockPrice .btnCommon1 {
    text-align: right; } }

.blockPrice_pricelist {
  box-sizing: border-box;
  width: 83%;
  max-width: 920px;
  margin: 0 auto;
  margin-bottom: 90px; }
  @media (max-width: 800px) {
    .blockPrice_pricelist {
      width: 90%;
      max-width: 620px; } }
  .blockPrice_pricelist_table {
    margin-bottom: 10px;
    padding-top: 30px; }
    .blockPrice_pricelist_table img {
      width: 100%;
      height: auto; }
  @media (max-width: 800px) {
    .blockPrice_pricelist {
      margin-bottom: 6.6666666667vw; }
      .blockPrice_pricelist_table {
        margin-bottom: 2.6666666667vw;
        padding-top: 0; } }

.blockPrice_cashless {
  box-sizing: border-box;
  width: 83%;
  max-width: 1200px;
  margin: 0 auto;
  margin-bottom: 130px; }
  @media (max-width: 800px) {
    .blockPrice_cashless {
      width: 90%;
      max-width: 620px; } }
  .blockPrice_cashless .noteList {
    margin: 0 50px; }
  @media (max-width: 800px) {
    .blockPrice_cashless {
      margin-bottom: 20vw; }
      .blockPrice_cashless .noteList {
        margin: 0; } }
  .blockPrice_cashless_inner {
    background-color: #1a1a1a;
    display: flex;
    margin-bottom: 40px;
    padding-top: 7.5%; }
    @media (max-width: 800px) {
      .blockPrice_cashless_inner {
        display: block;
        margin-bottom: 6vw;
        padding: 13.3333333333vw 5.3333333333vw 0; } }
    .blockPrice_cashless_inner header {
      flex: 0 0 50%;
      padding-bottom: 60px; }
      .blockPrice_cashless_inner header h3,
      .blockPrice_cashless_inner header p {
        margin: 0 18.3333333333%; }
      .blockPrice_cashless_inner header h3 {
        margin-bottom: 1em;
        font-size: 3.6rem;
        font-weight: 400; }
        @media (max-width: 800px) {
          .blockPrice_cashless_inner header h3 {
            font-size: calc(6.4vw + ((1vw - 3.2px)*((6.4 - 6.4) / (5.25 - 3.2)))); } }
        @media (max-width: 320px) {
          .blockPrice_cashless_inner header h3 {
            font-size: 2.0571428571rem; } }
        @media (min-width: 525px) and (max-width: 800px) {
          .blockPrice_cashless_inner header h3 {
            font-size: 3.36rem; } }
        .blockPrice_cashless_inner header h3 span {
          display: inline-block; }
      .blockPrice_cashless_inner header p {
        font-size: 1.8rem; }
        @media (max-width: 800px) {
          .blockPrice_cashless_inner header p {
            font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
        @media (max-width: 320px) {
          .blockPrice_cashless_inner header p {
            font-size: 1.1142857143rem; } }
        @media (min-width: 525px) and (max-width: 800px) {
          .blockPrice_cashless_inner header p {
            font-size: 1.82rem; } }
      @media (max-width: 800px) {
        .blockPrice_cashless_inner header {
          margin-bottom: 8vw;
          padding-bottom: 9.3333333333vw; }
          .blockPrice_cashless_inner header h3,
          .blockPrice_cashless_inner header p {
            margin: 0; }
          .blockPrice_cashless_inner header h3 {
            margin-bottom: 0.5em; } }
    .blockPrice_cashless_inner .blockPrice_cashless_list {
      flex: 0 0 50%; }
  .blockPrice_cashless_category {
    margin-right: 18.3333333333%;
    padding-bottom: 60px; }
    @media (max-width: 800px) {
      .blockPrice_cashless_category {
        margin-right: 0;
        padding-bottom: 9.3333333333vw; } }
    .blockPrice_cashless_category dt {
      display: flex;
      margin-bottom: 30px;
      font-size: 1.6rem; }
      @media (max-width: 800px) {
        .blockPrice_cashless_category dt {
          font-size: calc(3.4666666667vw + ((1vw - 3.2px)*((3.4666666667 - 3.4666666667) / (5.25 - 3.2)))); } }
      @media (max-width: 320px) {
        .blockPrice_cashless_category dt {
          font-size: 1.1142857143rem; } }
      @media (min-width: 525px) and (max-width: 800px) {
        .blockPrice_cashless_category dt {
          font-size: 1.82rem; } }
      @media (max-width: 800px) {
        .blockPrice_cashless_category dt {
          margin-bottom: 5.3333333333vw; } }
      .blockPrice_cashless_category dt span {
        margin-right: 1em;
        color: #e3007f; }
      .blockPrice_cashless_category dt::after {
        content: "";
        display: block;
        flex: 1 0 auto;
        height: 1px;
        transform: translateY(0.8em);
        background-color: #e3007f; }
    .blockPrice_cashless_category dd {
      margin-right: -4.8979591837%; }
      .blockPrice_cashless_category dd img {
        margin-right: 4.8979591837%;
        margin-bottom: 20px;
        vertical-align: middle; }
        .blockPrice_cashless_category dd img:last-child {
          margin-right: 0; }
      @media (max-width: 800px) {
        .blockPrice_cashless_category dd {
          margin-right: 0;
          text-align: center; }
          .blockPrice_cashless_category dd img {
            margin-right: 0;
            margin-bottom: 5.3333333333vw;
            min-width: inherit !important; } }
    .blockPrice_cashless_category .logo1 {
      width: 46.9387755102%;
      height: auto;
      min-width: 230px; }
      @media (max-width: 800px) {
        .blockPrice_cashless_category .logo1 {
          width: 92.0634920635%;
          height: auto; } }
    .blockPrice_cashless_category .logo2 {
      width: 27.5510204082%;
      height: auto;
      min-width: 135px; }
      @media (max-width: 800px) {
        .blockPrice_cashless_category .logo2 {
          width: 52.380952381%;
          height: auto; } }
    .blockPrice_cashless_category .logo3 {
      width: 20.4081632653%;
      height: auto;
      min-width: 100px; }
      @media (max-width: 800px) {
        .blockPrice_cashless_category .logo3 {
          width: 39.6825396825%;
          height: auto; } }
    .blockPrice_cashless_category .logo4 {
      width: 44.8979591837%;
      height: auto;
      min-width: 220px; }
      @media (max-width: 800px) {
        .blockPrice_cashless_category .logo4 {
          width: 88.8888888889%;
          height: auto; } }
    .blockPrice_cashless_category .logo5 {
      width: 45.7142857143%;
      height: auto;
      min-width: 224px; }
      @media (max-width: 800px) {
        .blockPrice_cashless_category .logo5 {
          width: 100%;
          height: auto; } }
