@charset "UTF-8";
/* ------------------------------------------------
 * Mixin for center - 要素中央配置する
 * @include center(xy); // 中央
 * @include center(x);  // 横中央
 * @include center(y);  // 縦中央
 ------------------------------------------------ */
/* ------------------------------------------------

 * transition - フェードイン効果を追加する
 * @include transition;
 * @include transition-slow;

 ------------------------------------------------ */
/* ------------------------------------------------

 * transform-r - 要素を反転する
 * @include transform-r;

 ------------------------------------------------ */
/* ------------------------------------------------

 * font-family - フォントの指定をする
 * @include font(jp);
 * @include font(en);
 * @include font(en-m);

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

input[type="submit"] {
  border-radius: 0;
  -webkit-box-sizing: content-box;
  -webkit-appearance: button;
  -moz-appearance: button;
  appearance: button;
  border: none;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  cursor: pointer; }

/*------------------------------------
 clearfix
------------------------------------*/
.clearfix::before,
.clearfix::after {
  content: "";
  display: table; }

.clearfix::after {
  clear: both; }

.clearfix {
  *zoom: 1; }

html, body, div, span, iframe, h1, h2, h3, h4, h5, h6, p, img, strong, i, dl, dt, dd, ol, ul, li, form, label, table, tbody, tfoot, thead, tr, th, td, article, aside, figure, footer, header, menu, nav, section, select, button {
  margin: 0;
  padding: 0;
  border: 0;
  outline: 0; }

body {
  line-height: 0; }

footer, header, menu, nav, section, aside, figure {
  display: block; }

.ul, .ol {
  list-style: none; }

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

button {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
  background: transparent;
  cursor: pointer; }

input, textarea {
  font-family: inherit; }

#header {
  position: relative; }
  #header .header__inner {
    position: fixed;
    top: 0;
    left: 0;
    padding: 54px 54px 0;
    width: 100%;
    z-index: 9998; }
    @media only screen and (max-width: 1024px) {
      #header .header__inner {
        padding: 24px 24px 0; } }
    #header .header__inner .logo {
      width: 160px;
      height: 25.84px;
      overflow: hidden; }
      @media only screen and (max-width: 1024px) {
        #header .header__inner .logo {
          width: 120px;
          height: 19.34px;
          -webkit-transition: 0.3s ease;
          -o-transition: 0.3s ease;
          transition: 0.3s ease;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden; } }
      #header .header__inner .logo a {
        display: block; }
        #header .header__inner .logo a img[src$=".svg"] {
          width: 100%;
          vertical-align: top;
          -webkit-transition: 0.3s ease;
          -o-transition: 0.3s ease;
          transition: 0.3s ease;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
        #header .header__inner .logo a:hover img {
          opacity: 0.6; }
          @media only screen and (max-width: 1024px) {
            #header .header__inner .logo a:hover img {
              opacity: 1; } }
    #header .header__inner .menu-btn {
      position: absolute;
      top: 0;
      left: 50%;
      right: auto;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      cursor: pointer; }
      @media only screen and (max-width: 1024px) {
        #header .header__inner .menu-btn {
          top: 24px;
          right: 24px;
          left: auto;
          -webkit-transform: translateX(0);
          -ms-transform: translateX(0);
          transform: translateX(0); } }
      #header .header__inner .menu-btn:before {
        content: '';
        position: absolute;
        left: 50%;
        right: auto;
        -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
        transform: translateX(-50%);
        top: 87px;
        width: 1px;
        height: 100vh;
        background-color: #fff;
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        opacity: 0; }
        @media only screen and (max-width: 1024px) {
          #header .header__inner .menu-btn:before {
            display: none; } }
      #header .header__inner .menu-btn .menu-btn__line {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center; }
        #header .header__inner .menu-btn .menu-btn__line .item-line {
          display: inline-block;
          margin-bottom: 15px;
          width: 1px;
          height: 40px;
          background-color: #fff;
          -webkit-transition: 0.3s ease;
          -o-transition: 0.3s ease;
          transition: 0.3s ease;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
        @media only screen and (max-width: 1024px) {
          #header .header__inner .menu-btn .menu-btn__line {
            display: none; } }
      #header .header__inner .menu-btn .menu-btn__contents {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        padding: 5px 0;
        border-top: 1px solid #fff;
        border-bottom: 1px solid #fff; }
        #header .header__inner .menu-btn .menu-btn__contents .menu-btn__title {
          color: #fff;
          font-family: 'VisbyCF-Regular', sans-serif;
          font-size: 12px;
          letter-spacing: 0.2em; }
        #header .header__inner .menu-btn .menu-btn__contents .menu-btn__close {
          display: none;
          position: relative;
          width: 12px;
          height: 12px;
          margin-left: 5px; }
          #header .header__inner .menu-btn .menu-btn__contents .menu-btn__close .menu-line {
            position: absolute;
            width: 100%;
            height: 1px;
            background-color: #fff;
            -webkit-transition: 0.3s ease;
            -o-transition: 0.3s ease;
            transition: 0.3s ease;
            -webkit-backface-visibility: hidden;
            backface-visibility: hidden; }
            #header .header__inner .menu-btn .menu-btn__contents .menu-btn__close .menu-line:nth-of-type(1) {
              top: 0;
              left: 0;
              -webkit-transform: translateY(6px) rotate(-314deg);
              -ms-transform: translateY(6px) rotate(-314deg);
              transform: translateY(6px) rotate(-314deg); }
            #header .header__inner .menu-btn .menu-btn__contents .menu-btn__close .menu-line:nth-of-type(2) {
              right: 0;
              bottom: 0;
              -webkit-transform: translateY(-5px) rotate(314deg);
              -ms-transform: translateY(-5px) rotate(314deg);
              transform: translateY(-5px) rotate(314deg); }
      #header .header__inner .menu-btn:hover .menu-btn__line .item-line {
        margin-bottom: 0;
        height: 55px; }
    #header .header__inner .menu-contents {
      visibility: hidden;
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-orient: horizontal;
      -webkit-box-direction: reverse;
      -ms-flex-flow: row-reverse;
      flex-flow: row-reverse;
      position: fixed;
      top: 0;
      left: 0;
      width: 100%;
      height: 100vh;
      -webkit-transition: 0.6s ease;
      -o-transition: 0.6s ease;
      transition: 0.6s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden;
      opacity: 0;
      z-index: -1; }
      #header .header__inner .menu-contents:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        bottom: 0;
        width: 100%;
        height: 100vh;
        background: rgba(90, 90, 90, 0.5);
        mix-blend-mode: multiply;
        z-index: -2; }
        @media only screen and (max-width: 1024px) {
          #header .header__inner .menu-contents:before {
            position: fixed; } }
      @media only screen and (max-width: 1024px) {
        #header .header__inner .menu-contents {
          display: block;
          overflow-y: scroll; } }
      #header .header__inner .menu-contents .menu-movie {
        position: absolute;
        top: 0;
        left: 0;
        width: auto;
        height: auto;
        min-width: 100%;
        min-height: 100%;
        background: url(./img/common/modal_pc.jpg) no-repeat center;
        background-size: cover;
        z-index: -3; }
        @media only screen and (max-width: 1024px) {
          #header .header__inner .menu-contents .menu-movie {
            display: none; } }
      #header .header__inner .menu-contents .menu-movie_sp {
        display: none;
        position: absolute;
        top: 0;
        left: 0;
        right: 0;
        bottom: 0;
        width: auto;
        height: auto;
        min-width: 100%;
        min-height: 100%;
        background: url(./img/common/modal_sp.jpg) no-repeat center;
        background-size: cover;
        z-index: -4; }
        @media only screen and (max-width: 1024px) {
          #header .header__inner .menu-contents .menu-movie_sp {
            display: block;
            position: fixed; } }
      #header .header__inner .menu-contents .menu-contents__contact {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 50%; }
        @media only screen and (max-width: 1024px) {
          #header .header__inner .menu-contents .menu-contents__contact {
            position: relative;
            width: 100%;
            height: auto;
            padding: 40px 0;
            border-top: 1px solid #fff; } }
        @media only screen and (max-width: 767px) {
          #header .header__inner .menu-contents .menu-contents__contact {
            padding: 40px 0 140px; } }
        #header .header__inner .menu-contents .menu-contents__contact .menucontact {
          max-width: 500px;
          width: 90%; }
          #header .header__inner .menu-contents .menu-contents__contact .menucontact .text__block-s--v .mail {
            margin-bottom: 56px;
            font-size: 2vh;
            text-align: center; }
            @media only screen and (max-width: 1024px) {
              #header .header__inner .menu-contents .menu-contents__contact .menucontact .text__block-s--v .mail {
                font-size: 20px; } }
            @media only screen and (max-width: 767px) {
              #header .header__inner .menu-contents .menu-contents__contact .menucontact .text__block-s--v .mail {
                margin-bottom: 40px;
                font-size: 16px; } }
            @media screen and (min-width: 1450px) {
              #header .header__inner .menu-contents .menu-contents__contact .menucontact .text__block-s--v .mail {
                font-size: 20px; } }
            #header .header__inner .menu-contents .menu-contents__contact .menucontact .text__block-s--v .mail a {
              padding-bottom: 15px; }
      #header .header__inner .menu-contents .menu-contents__menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        -webkit-box-pack: center;
        -ms-flex-pack: center;
        justify-content: center;
        -webkit-box-align: center;
        -ms-flex-align: center;
        align-items: center;
        width: 50%; }
        @media only screen and (max-width: 1024px) {
          #header .header__inner .menu-contents .menu-contents__menu {
            position: relative;
            width: 100%;
            height: auto;
            padding: 40px 0; } }
        #header .header__inner .menu-contents .menu-contents__menu .menulist__title {
          position: fixed;
          top: 53px;
          right: 56px;
          font-family: 'VisbyCF-Regular', sans-serif;
          font-size: 12px;
          letter-spacing: 0.2em;
          -webkit-transition: 0.3s ease;
          -o-transition: 0.3s ease;
          transition: 0.3s ease;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
          opacity: 0; }
          @media only screen and (max-width: 1024px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist__title {
              display: none; } }
        #header .header__inner .menu-contents .menu-contents__menu .menulist li:not(:nth-child(1)) {
          margin-top: 30px; }
          @media only screen and (max-width: 767px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist li:not(:nth-child(1)) {
              margin-top: 20px; } }
        #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(8) {
          margin-top: 60px; }
          @media only screen and (max-width: 767px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(8) {
              margin-top: 50px; } }
        #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(8) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(9) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(10) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(11) a {
          font-size: 1.6vh; }
          @media only screen and (max-width: 1024px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(8) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(9) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(10) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(11) a {
              font-size: 16px; } }
          @media only screen and (max-width: 767px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(8) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(9) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(10) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(11) a {
              font-size: 14px; } }
          @media screen and (min-width: 1450px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(8) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(9) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(10) a, #header .header__inner .menu-contents .menu-contents__menu .menulist li:nth-child(11) a {
              font-size: 16px; } }
        #header .header__inner .menu-contents .menu-contents__menu .menulist li a {
          font-family: 'VisbyCF-Medium', sans-serif;
          font-size: 2vh;
          letter-spacing: 0.2em; }
          @media only screen and (max-width: 1024px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist li a {
              font-size: 20px; } }
          @media only screen and (max-width: 767px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist li a {
              font-size: 16px; } }
          @media screen and (min-width: 1450px) {
            #header .header__inner .menu-contents .menu-contents__menu .menulist li a {
              font-size: 20px; } }
    @media only screen and (max-width: 1024px) {
      #header .header__inner.is-menuopen .logo {
        visibility: hidden;
        opacity: 0; } }
    #header .header__inner.is-menuopen .menu-btn:before {
      opacity: 1; }
      @media only screen and (max-width: 1024px) {
        #header .header__inner.is-menuopen .menu-btn:before {
          opacity: 0; } }
    #header .header__inner.is-menuopen .menu-btn .menu-btn__contents .menu-btn__close {
      display: block; }
      @media only screen and (max-width: 1024px) {
        #header .header__inner.is-menuopen .menu-btn .menu-btn__contents .menu-btn__close {
          display: none; } }
    #header .header__inner.is-menuopen .menu-btn__line .item-line {
      margin-bottom: 0;
      height: 55px; }
      @media only screen and (max-width: 1024px) {
        #header .header__inner.is-menuopen .menu-btn__line .item-line {
          display: none; } }
    #header .header__inner.is-menuopen .menu-contents {
      visibility: visible;
      opacity: 1; }
      #header .header__inner.is-menuopen .menu-contents .menu-contents__menu .menulist__title {
        opacity: 1; }
        @media only screen and (max-width: 1024px) {
          #header .header__inner.is-menuopen .menu-contents .menu-contents__menu .menulist__title {
            opacity: 0; } }

/* -----------------------------------
 * fixedScroll
 ----------------------------------- */
.fixedScroll {
  position: fixed;
  left: 50%;
  right: auto;
  -webkit-transform: translateX(-50%);
  -ms-transform: translateX(-50%);
  transform: translateX(-50%);
  bottom: 0;
  width: 20px;
  background-color: transparent;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 998; }
  @media only screen and (max-width: 1024px) {
    .fixedScroll {
      display: none; } }
  .fixedScroll .fixedScroll__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center; }
    .fixedScroll .fixedScroll__inner .scrollline__block {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      width: 2px;
      height: 120px;
      overflow: hidden; }
      .fixedScroll .fixedScroll__inner .scrollline__block .scrollline {
        display: block;
        width: 1px;
        height: 100%;
        background-color: #fff; }
        .fixedScroll .fixedScroll__inner .scrollline__block .scrollline:before {
          content: '';
          position: absolute;
          left: 50%;
          top: 50%;
          bottom: auto;
          right: auto;
          -webkit-transform: translateX(-50%) translateY(-50%);
          -ms-transform: translateX(-50%) translateY(-50%);
          transform: translateX(-50%) translateY(-50%);
          width: 2px;
          height: 40px;
          background: #fff;
          -webkit-animation: line-move ease-in-out 1.5s infinite;
          animation: line-move ease-in-out 1.5s infinite; }

@-webkit-keyframes line-move {
  0% {
    top: 0;
    opacity: 0; }
  35% {
    opacity: 1; }
  75% {
    opacity: 1; }
  100% {
    top: 160px;
    opacity: 0; } }

@keyframes line-move {
  0% {
    top: 0;
    opacity: 0; }
  35% {
    opacity: 1; }
  75% {
    opacity: 1; }
  100% {
    top: 160px;
    opacity: 0; } }
  .fixedScroll.is-hidden {
    visibility: hidden;
    opacity: 0; }

/* -----------------------------------
 * fixedRegister
 ----------------------------------- */
.fixedRegister {
  position: fixed;
  top: 56px;
  right: 56px;
  width: 240px;
  z-index: 998;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media only screen and (max-width: 1024px) {
    .fixedRegister {
      left: 50%;
      right: auto;
      -webkit-transform: translateX(-50%);
      -ms-transform: translateX(-50%);
      transform: translateX(-50%);
      top: auto;
      bottom: 24px;
      width: 270px; } }
  @media only screen and (max-width: 767px) {
    .fixedRegister {
      left: 40px;
      right: 40px;
      -webkit-transform: translateX(0);
      -ms-transform: translateX(0);
      transform: translateX(0);
      width: auto; } }
  .fixedRegister a {
    display: block;
    position: relative;
    padding: 5.5px 40px 5.5px 10px;
    color: #fff;
    font-size: 1.4vh;
    letter-spacing: 0.2em;
    border: 1px solid #fff;
    border-radius: 8px;
    overflow: hidden;
    z-index: 0; }
    @media only screen and (max-width: 1024px) {
      .fixedRegister a {
        padding: 5.5px 56px 5.5px 10px;
        font-size: 14px; } }
    @media only screen and (max-width: 767px) {
      .fixedRegister a {
        width: 100%; } }
    @media only screen and (max-width: 320px) {
      .fixedRegister a {
        font-size: 12px; } }
    @media screen and (min-width: 1450px) {
      .fixedRegister a {
        font-size: 14px; } }
    .fixedRegister a p {
      position: relative;
      font-family: 'VisbyCF-Medium', sans-serif;
      font-size: 12px;
      text-align: center;
      white-space: nowrap;
      -webkit-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
      -o-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
      transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1); }
      @media only screen and (max-width: 1024px) {
        .fixedRegister a p {
          text-align: left; } }
      .fixedRegister a p .arrow::after {
        content: '';
        position: absolute;
        top: 50%;
        bottom: auto;
        -webkit-transform: translateY(-50%);
        -ms-transform: translateY(-50%);
        transform: translateY(-50%);
        right: -20px;
        width: 10px;
        height: 10px;
        margin-top: -5px;
        border: 0px;
        border-top: solid 1px #fff;
        border-left: solid 1px #fff;
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        opacity: 0.5; }
        @media only screen and (max-width: 1024px) {
          .fixedRegister a p .arrow::after {
            right: -40px;
            opacity: 1; } }
      .fixedRegister a p .en {
        display: block;
        margin-top: -1px;
        font-size: 10px; }
      .fixedRegister a p .sp--block {
        display: none; }
        @media only screen and (max-width: 1024px) {
          .fixedRegister a p .sp--block {
            display: block; } }
    .fixedRegister a:before {
      content: '';
      position: absolute;
      top: 50%;
      left: 0;
      width: 110%;
      height: 110%;
      background-color: #fff;
      -webkit-transform: translate(-100%, -50%);
      -ms-transform: translate(-100%, -50%);
      transform: translate(-100%, -50%);
      -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
      transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
      -o-transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
      transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
      transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1), -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1); }
    .fixedRegister a:hover {
      opacity: 1; }
      .fixedRegister a:hover p {
        color: #000; }
        @media only screen and (max-width: 1024px) {
          .fixedRegister a:hover p {
            color: #fff; } }
        .fixedRegister a:hover p .arrow::after {
          border-top: solid 1px #000;
          border-left: solid 1px #000; }
          @media only screen and (max-width: 1024px) {
            .fixedRegister a:hover p .arrow::after {
              border-top: solid 1px #fff;
              border-left: solid 1px #fff; } }
      .fixedRegister a:hover:before {
        -webkit-transform: translate(0, -50%);
        -ms-transform: translate(0, -50%);
        transform: translate(0, -50%); }
        @media only screen and (max-width: 1024px) {
          .fixedRegister a:hover:before {
            -webkit-transform: translate(-100%, -50%);
            -ms-transform: translate(-100%, -50%);
            transform: translate(-100%, -50%); } }
  .fixedRegister.is-hidden {
    visibility: hidden;
    opacity: 0; }

/* -----------------------------------
 * fixed-sns
 ----------------------------------- */
@media only screen and (max-width: 1024px) {
  .fixedSns__block {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: fixed;
    right: 40px;
    bottom: 100px;
    z-index: 998;
    -webkit-transition: 0.6s ease;
    -o-transition: 0.6s ease;
    transition: 0.6s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; } }

@media only screen and (max-width: 1024px) {
  .fixedSns__block.is-pos-footer {
    bottom: 130px; } }

@media only screen and (max-width: 767px) {
  .fixedSns__block.is-pos-footer {
    bottom: 100px; } }

.fixedSns {
  position: fixed;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 56px;
  z-index: 998;
  -webkit-transition: 0.6s ease;
  -o-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media only screen and (max-width: 1024px) {
    .fixedSns {
      position: relative;
      top: auto;
      right: auto;
      bottom: auto;
      height: 20px;
      margin-left: 40px;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0); } }
  .fixedSns .fixed-sns__inner {
    position: relative;
    width: 20px;
    text-align: center; }
    .fixedSns .fixed-sns__inner p {
      color: #fff;
      font-family: 'VisbyCF-Medium', sans-serif;
      fonr-size: 14px;
      letter-spacing: 0.2em;
      -webkit-writing-mode: vertical-rl;
      -ms-writing-mode: tb-rl;
      writing-mode: vertical-rl; }
      @media only screen and (max-width: 1024px) {
        .fixedSns .fixed-sns__inner p {
          display: none; } }
    .fixedSns .fixed-sns__inner .line {
      display: inline-block;
      width: 1px;
      height: 64px;
      margin: 10px 0 16px;
      background-color: #fff; }
      @media only screen and (max-width: 1024px) {
        .fixedSns .fixed-sns__inner .line {
          display: none; } }
    .fixedSns .fixed-sns__inner a svg {
      width: 24px;
      height: 24px;
      fill: #fff;
      -webkit-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
      @media only screen and (max-width: 1024px) {
        .fixedSns .fixed-sns__inner a svg {
          width: 20px;
          height: 20px; } }
    .fixedSns .fixed-sns__inner a:hover svg {
      fill: #5A5A5A; }
      @media only screen and (max-width: 1024px) {
        .fixedSns .fixed-sns__inner a:hover svg {
          fill: #fff; } }
  .fixedSns.is-pos-footer {
    -webkit-transform: translateY(-80%);
    -ms-transform: translateY(-80%);
    transform: translateY(-80%); }

.fixedMovie {
  position: fixed;
  right: 56px;
  bottom: 56px;
  z-index: 998;
  -webkit-transition: 0.6s ease;
  -o-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }
  @media only screen and (max-width: 1024px) {
    .fixedMovie {
      position: relative;
      right: auto;
      bottom: auto; } }
  @media only screen and (max-width: 1024px) and (max-width: 1024px) {
    .fixedMovie {
      width: 22.86px;
      height: 16px; } }
  .fixedMovie .btnMovie {
    display: block;
    position: relative;
    width: 120px;
    height: 120px; }
    @media only screen and (max-width: 1024px) {
      .fixedMovie .btnMovie {
        width: 22.86px;
        height: 16px;
        vertical-align: top; } }
    .fixedMovie .btnMovie img {
      position: absolute;
      top: 0;
      left: 0;
      -webkit-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
      .fixedMovie .btnMovie img.icon-off {
        z-index: 2; }
        @media only screen and (max-width: 1024px) {
          .fixedMovie .btnMovie img.icon-off {
            display: none; } }
      .fixedMovie .btnMovie img.icon-on {
        opacity: 0;
        z-index: 1; }
        @media only screen and (max-width: 1024px) {
          .fixedMovie .btnMovie img.icon-on {
            display: none; } }
      .fixedMovie .btnMovie img.icon-sp {
        display: none; }
        @media only screen and (max-width: 1024px) {
          .fixedMovie .btnMovie img.icon-sp {
            display: block; } }
    .fixedMovie .btnMovie:hover img.icon-off {
      opacity: 0;
      z-index: 1; }
    .fixedMovie .btnMovie:hover img.icon-on {
      opacity: 1;
      z-index: 2; }
  .fixedMovie.is-pos-footer {
    bottom: 187px; }

#footer {
  visibility: hidden;
  position: fixed;
  left: 0;
  bottom: 0;
  opacity: 0;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 997; }
  #footer:before {
    content: '';
    position: absolute;
    width: 100%;
    height: 100%;
    left: 0;
    bottom: 0;
    background: rgba(0, 0, 0, 0.5);
    mix-blend-mode: multiply;
    z-index: -1; }
  #footer .footer__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    padding: 25px 56px; }
    @media only screen and (max-width: 1024px) {
      #footer .footer__inner {
        padding: 15px 24px; } }
    #footer .footer__inner .footer__left .footer-info__wrap {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center; }
      @media only screen and (max-width: 767px) {
        #footer .footer__inner .footer__left .footer-info__wrap {
          display: block; } }
      #footer .footer__inner .footer__left .footer-info__wrap .footer-logo {
        width: 97.27px;
        height: 72px; }
        @media only screen and (max-width: 1024px) {
          #footer .footer__inner .footer__left .footer-info__wrap .footer-logo {
            width: 75.65px;
            height: 56px; } }
        #footer .footer__inner .footer__left .footer-info__wrap .footer-logo img[src$=".svg"] {
          width: 100%;
          vertical-align: top; }
      #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block {
        margin-left: 50px; }
        @media only screen and (max-width: 767px) {
          #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block {
            margin: 0; } }
        #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .footer-menu {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
          @media only screen and (max-width: 767px) {
            #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .footer-menu {
              display: block;
              margin: 30px 0 0; } }
          #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .footer-menu li:not(:nth-child(1)) {
            margin-left: 30px; }
            @media only screen and (max-width: 767px) {
              #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .footer-menu li:not(:nth-child(1)) {
                margin: 5px 0 0; } }
          #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .footer-menu li a {
            display: inline-block;
            position: relative;
            padding-bottom: 10px;
            font-family: 'VisbyCF-Medium', sans-serif;
            font-size: 12px;
            letter-spacing: 0.2em; }
            #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .footer-menu li a:before {
              content: '';
              display: inline-block;
              position: absolute;
              bottom: 0;
              width: 0;
              height: 1px;
              background-color: #fff;
              -webkit-transition: 0.3s ease;
              -o-transition: 0.3s ease;
              transition: 0.3s ease;
              -webkit-backface-visibility: hidden;
              backface-visibility: hidden; }
            #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .footer-menu li a:hover:before {
              width: 100%; }
              @media only screen and (max-width: 1024px) {
                #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .footer-menu li a:hover:before {
                  width: 0; } }
        #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .copyright {
          margin-top: 30px;
          font-family: 'VisbyCF-Medium', sans-serif;
          font-size: 12px;
          letter-spacing: 0.2em; }
          @media only screen and (max-width: 1024px) {
            #footer .footer__inner .footer__left .footer-info__wrap .footer-menu__block .copyright {
              margin-top: 15px; } }
    #footer .footer__inner .fixedPagetop {
      display: block;
      position: fixed;
      right: 54px;
      bottom: 25px;
      width: 80px;
      height: 80px;
      cursor: pointer;
      z-index: 998; }
      @media only screen and (max-width: 1024px) {
        #footer .footer__inner .fixedPagetop {
          right: 24px;
          bottom: 21px;
          width: 56px;
          height: 56px; } }
      @media only screen and (max-width: 767px) {
        #footer .footer__inner .fixedPagetop {
          bottom: 24px; } }
      #footer .footer__inner .fixedPagetop img {
        width: 80px;
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden; }
        @media only screen and (max-width: 1024px) {
          #footer .footer__inner .fixedPagetop img {
            width: 55.98px;
            vertical-align: top; } }
      #footer .footer__inner .fixedPagetop .btn_off {
        position: absolute;
        z-index: 2; }
      #footer .footer__inner .fixedPagetop .btn_on {
        position: absolute;
        z-index: 1;
        opacity: 0; }
      #footer .footer__inner .fixedPagetop:hover .btn_off {
        opacity: 0; }
        @media only screen and (max-width: 1024px) {
          #footer .footer__inner .fixedPagetop:hover .btn_off {
            opacity: 1; } }
      #footer .footer__inner .fixedPagetop:hover .btn_on {
        opacity: 1; }
        @media only screen and (max-width: 1024px) {
          #footer .footer__inner .fixedPagetop:hover .btn_on {
            opacity: 0; } }
  #footer.is-block {
    visibility: visible;
    opacity: 1; }

body {
  width: 100%;
  height: 100%;
  color: #fff;
  font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
  font-weight: 500;
  font-size: 14px;
  font-weight: normal;
  line-height: 1.7;
  overflow-y: scroll; }
  body::-webkit-scrollbar {
    display: none; }
  @media only screen and (max-width: 1024px) {
    body {
      font-size: 15px; } }
  @media only screen and (max-width: 767px) {
    body {
      font-size: 13px; } }
  @media only screen and (max-width: 320px) {
    body {
      font-size: 12px; } }

#main,
#container,
#footer {
  width: 100%; }

#main {
  position: relative;
  -webkit-text-size-adjust: none;
  scrollbar-width: none;
  overflow: hidden; }

* {
  -webkit-box-sizing: border-box;
  -moz-box-sizing: border-box;
  box-sizing: border-box; }

a {
  color: #fff;
  text-decoration: none;
  word-break: break-all;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden; }

/* -----------------------------------
 * font
 ----------------------------------- */
@font-face {
  font-family: 'VisbyCF-Regular';
  src: local("VisbyCF-Regular"), local("VisbyCF-Regular"), local("VisbyCF-Regular"), url("./font/VisbyCF-Regular.woff") format("woff"), url("./font/VisbyCF-Regular.woff2") format("woff"), url("./font/VisbyCF-Regular.ttf") format("truetype"), url("./font/VisbyCF-Regular.eot") format("embedded-opentype"); }

@font-face {
  font-family: 'VisbyCF-Medium';
  src: local("VisbyCF-Medium"), local("VisbyCF-Medium"), local("VisbyCF-Medium"), url("./font/VisbyCF-Medium.woff") format("woff"), url("./font/VisbyCF-Medium.woff2") format("woff2"), url("./font/VisbyCF-Medium.ttf") format("truetype"), url("./font/VisbyCF-Medium.eot") format("embedded-opentype"); }

/* -----------------------------------
 * 共通パーツ
 ----------------------------------- */
/* 改行切り替え */
br.sp--block {
  display: none; }
  @media only screen and (max-width: 1024px) {
    br.sp--block {
      display: none; } }
  @media only screen and (max-width: 767px) {
    br.sp--block {
      display: block; } }

br.ipad--block {
  display: none; }
  @media only screen and (max-width: 1024px) {
    br.ipad--block {
      display: block; } }
  @media only screen and (max-width: 767px) {
    br.ipad--block {
      display: none; } }

br.pc--block {
  display: block; }
  @media only screen and (max-width: 767px) {
    br.pc--block {
      display: none; } }

/* tel */
.tel a {
  letter-spacing: 0.2em;
  text-decoration: none;
  pointer-events: none; }
  @media only screen and (max-width: 767px) {
    .tel a {
      text-decoration: underline;
      pointer-events: auto; } }

/* mail */
.mail {
  font-family: 'VisbyCF-Medium', sans-serif; }
  .mail a {
    display: inline-block;
    position: relative;
    padding-bottom: 5px;
    letter-spacing: 0.2em; }
    .mail a:before {
      content: '';
      display: inline-block;
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 1px;
      background-color: #fff;
      -webkit-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
    .mail a:hover:before {
      width: 0; }
      @media only screen and (max-width: 1024px) {
        .mail a:hover:before {
          width: 100%; } }

/* -----------------
 * タイトル
----------------- */
.section__title-s--v {
  margin-bottom: 50px;
  font-family: 'VisbyCF-Medium', sans-serif;
  font-size: 1.6vh;
  letter-spacing: 0.2em;
  line-height: 2; }
  @media only screen and (max-width: 1024px) {
    .section__title-s--v {
      font-size: 14px; } }
  @media screen and (min-width: 1450px) {
    .section__title-s--v {
      font-size: 14px; } }
  .section__title-s--v span {
    position: relative;
    padding-bottom: 10px; }
    .section__title-s--v span:before {
      content: '';
      display: inline-block;
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 1px;
      background-color: #fff;
      -webkit-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }

.section__title--v {
  margin-bottom: 50px;
  font-family: 'VisbyCF-Medium', sans-serif;
  font-size: 1.8vh;
  letter-spacing: 0.2em;
  line-height: 2; }
  @media only screen and (max-width: 1024px) {
    .section__title--v {
      font-size: 16px; } }
  @media only screen and (max-width: 767px) {
    .section__title--v {
      font-size: 14px; } }
  @media screen and (min-width: 1450px) {
    .section__title--v {
      font-size: 16px; } }
  .section__title--v span {
    position: relative;
    padding-bottom: 10px; }
    .section__title--v span:before {
      content: '';
      display: inline-block;
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 1px;
      background-color: #fff;
      -webkit-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }

/* -----------------
 * テキスト
----------------- */
.text__block p {
  letter-spacing: 0.2em;
  line-height: 2; }

.text__block-s--v .copy {
  margin-bottom: 20px;
  font-size: 2vh;
  letter-spacing: 0.3em;
  line-height: 2; }
  @media only screen and (max-width: 1024px) {
    .text__block-s--v .copy {
      font-size: 18px; } }
  @media only screen and (max-width: 767px) {
    .text__block-s--v .copy {
      font-size: 14px; } }
  @media screen and (min-width: 1450px) {
    .text__block-s--v .copy {
      font-size: 18px; } }

.text__block-s--v p {
  font-size: 1.6vh;
  letter-spacing: 0.2em;
  line-height: 2; }
  @media only screen and (max-width: 1024px) {
    .text__block-s--v p {
      font-size: 14px; } }
  @media only screen and (max-width: 767px) {
    .text__block-s--v p {
      font-size: 12px; } }
  @media screen and (min-width: 1450px) {
    .text__block-s--v p {
      font-size: 14px; } }

.text__block-s--v .textline {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  margin: 25px 0; }

.text__block-s--v .textunderline {
  display: inline-block;
  position: relative;
  letter-spacing: 0.2em;
  outline: none; }
  .text__block-s--v .textunderline:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .text__block-s--v .textunderline:hover:before {
    width: 0; }
    @media only screen and (max-width: 1024px) {
      .text__block-s--v .textunderline:hover:before {
        width: 100%; } }

.text__block--v .copy {
  margin-bottom: 20px;
  font-size: 2.2vh;
  letter-spacing: 0.3em;
  line-height: 2; }
  @media only screen and (max-width: 1024px) {
    .text__block--v .copy {
      font-size: 20px; } }
  @media only screen and (max-width: 767px) {
    .text__block--v .copy {
      font-size: 16px; } }
  @media screen and (min-width: 1450px) {
    .text__block--v .copy {
      font-size: 20px; } }

.text__block--v p {
  font-size: 1.8vh;
  letter-spacing: 0.2em;
  line-height: 2; }
  @media only screen and (max-width: 1024px) {
    .text__block--v p {
      font-size: 16px; } }
  @media only screen and (max-width: 767px) {
    .text__block--v p {
      font-size: 14px; } }
  @media screen and (min-width: 1450px) {
    .text__block--v p {
      font-size: 16px; } }

.text__block--v .textline {
  display: block;
  width: 100%;
  height: 1px;
  background-color: #fff;
  margin: 25px 0; }

.text__block--v .textunderline {
  display: inline-block;
  position: relative;
  letter-spacing: 0.2em; }
  .text__block--v .textunderline:before {
    content: '';
    display: inline-block;
    position: absolute;
    bottom: 0;
    width: 100%;
    height: 1px;
    background-color: #fff;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
  .text__block--v .textunderline:hover:before {
    width: 0; }
    @media only screen and (max-width: 1024px) {
      .text__block--v .textunderline:hover:before {
        width: 100%; } }

/* -----------------
 *  ボタン
----------------- */
.btn__block--v {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center; }

.btn__style--linebox {
  display: block;
  position: relative;
  padding: 15px 60px;
  font-size: 1.5vh;
  letter-spacing: 0.2em;
  text-align: center;
  border: 1px solid #fff;
  overflow: hidden;
  z-index: 0; }
  @media only screen and (max-width: 1024px) {
    .btn__style--linebox {
      width: 100%;
      font-size: 15px; } }
  @media only screen and (max-width: 767px) {
    .btn__style--linebox {
      padding: 15px 0; } }
  @media screen and (min-width: 1450px) {
    .btn__style--linebox {
      font-size: 15px; } }
  .btn__style--linebox p {
    position: relative;
    -webkit-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    -o-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1); }
  .btn__style--linebox:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 110%;
    height: 110%;
    background-color: #fff;
    -webkit-transform: translate(-100%, -50%);
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%);
    -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    -o-transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1), -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1); }
  .btn__style--linebox:hover p {
    color: #000; }
    @media only screen and (max-width: 1024px) {
      .btn__style--linebox:hover p {
        color: #fff; } }
  .btn__style--linebox:hover:before {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
    @media only screen and (max-width: 1024px) {
      .btn__style--linebox:hover:before {
        -webkit-transform: translate(-100%, -50%);
        -ms-transform: translate(-100%, -50%);
        transform: translate(-100%, -50%); } }

.btn__style--radius {
  display: block;
  position: relative;
  padding: 15px 60px;
  font-size: 1.5vh;
  letter-spacing: 0.2em;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 32px;
  overflow: hidden;
  z-index: 0; }
  @media only screen and (max-width: 1024px) {
    .btn__style--radius {
      width: 100%;
      font-size: 15px;
      border-radius: 40px; } }
  @media only screen and (max-width: 767px) {
    .btn__style--radius {
      padding: 15px 0; } }
  @media screen and (min-width: 1450px) {
    .btn__style--radius {
      font-size: 15px; } }
  .btn__style--radius p {
    position: relative;
    -webkit-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    -o-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1); }
  .btn__style--radius:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 110%;
    height: 110%;
    background-color: #fff;
    -webkit-transform: translate(-100%, -50%);
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%);
    -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    -o-transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1), -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1); }
  .btn__style--radius:hover p {
    color: #000; }
    @media only screen and (max-width: 1024px) {
      .btn__style--radius:hover p {
        color: #fff; } }
  .btn__style--radius:hover:before {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
    @media only screen and (max-width: 1024px) {
      .btn__style--radius:hover:before {
        -webkit-transform: translate(-100%, -50%);
        -ms-transform: translate(-100%, -50%);
        transform: translate(-100%, -50%); } }

.btn__style--radius__en {
  display: block;
  position: relative;
  padding: 15px 60px;
  width: 380px;
  font-family: 'VisbyCF-Medium', sans-serif;
  font-size: 1.5vh;
  letter-spacing: 0.2em;
  text-align: center;
  border: 1px solid #fff;
  border-radius: 32px;
  overflow: hidden;
  z-index: 0; }
  @media only screen and (max-width: 1024px) {
    .btn__style--radius__en {
      width: 100%;
      font-size: 15px;
      border-radius: 40px; } }
  @media only screen and (max-width: 767px) {
    .btn__style--radius__en {
      padding: 15px 0; } }
  @media screen and (min-width: 1450px) {
    .btn__style--radius__en {
      font-size: 15px; } }
  .btn__style--radius__en p {
    position: relative;
    -webkit-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    -o-transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: color 0.25s cubic-bezier(0.7, 0, 0.9, 1); }
  .btn__style--radius__en:before {
    content: '';
    position: absolute;
    top: 50%;
    left: 0;
    width: 110%;
    height: 110%;
    background-color: #fff;
    -webkit-transform: translate(-100%, -50%);
    -ms-transform: translate(-100%, -50%);
    transform: translate(-100%, -50%);
    -webkit-transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    -o-transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1);
    transition: transform 0.25s cubic-bezier(0.7, 0, 0.9, 1), -webkit-transform 0.25s cubic-bezier(0.7, 0, 0.9, 1); }
  .btn__style--radius__en:hover p {
    color: #000; }
    @media only screen and (max-width: 1024px) {
      .btn__style--radius__en:hover p {
        color: #fff; } }
  .btn__style--radius__en:hover:before {
    -webkit-transform: translate(0, -50%);
    -ms-transform: translate(0, -50%);
    transform: translate(0, -50%); }
    @media only screen and (max-width: 1024px) {
      .btn__style--radius__en:hover:before {
        -webkit-transform: translate(-100%, -50%);
        -ms-transform: translate(-100%, -50%);
        transform: translate(-100%, -50%); } }

/* -----------------------------------
 * 共通パーツ
 ----------------------------------- */
.warning {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.8);
  z-index: 999999; }
  .warning .warning--item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%); }
    @media only screen and (max-width: 1024px) {
      .warning .warning--item {
        width: 75%; } }
    .warning .warning--item img {
      display: block;
      margin: 0 40px 0 0;
      width: 150px; }
    .warning .warning--item .text__block .title {
      margin-bottom: 10px;
      color: #fff;
      font-family: 'VisbyCF-Regular', sans-serif;
      letter-spacing: 0.1em; }
    .warning .warning--item .text__block .text {
      color: #fff;
      letter-spacing: 0.1em;
      line-height: 2; }
      @media screen and (min-width: 1450px) {
        .warning .warning--item .text__block .text {
          font-size: 14px; } }
  .warning.is-show {
    display: block; }

.processing {
  display: none;
  position: fixed;
  left: 0;
  right: 0;
  top: 0;
  bottom: 0;
  z-index: 100000;
  background: rgba(0, 0, 0, 0.7); }
  .processing .processing__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100vh; }
    .processing .processing__inner .content--m {
      max-width: 520px; }
      .processing .processing__inner .content--m .loadingio-spinner {
        display: block;
        width: 48px;
        height: 24px;
        margin: 100px auto 0;
        overflow: hidden;
        background: none; }
        .processing .processing__inner .content--m .loadingio-spinner .dual-ball {
          width: 100%;
          height: 100%;
          position: relative;
          -webkit-transform: translateZ(0) scale(1);
          transform: translateZ(0) scale(1);
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
          -webkit-transform-origin: 0 0;
          -ms-transform-origin: 0 0;
          transform-origin: 0 0; }
          .processing .processing__inner .content--m .loadingio-spinner .dual-ball div {
            position: absolute;
            width: 24px;
            height: 24px;
            border-radius: 50%;
            top: 0;
            left: 0;
            -webkit-box-sizing: content-box;
            box-sizing: content-box; }
            .processing .processing__inner .content--m .loadingio-spinner .dual-ball div:nth-child(1) {
              background: #fff;
              -webkit-animation: ldio-anime 1s linear infinite;
              animation: ldio-anime 1s linear infinite;
              -webkit-animation-delay: -0.5s;
              animation-delay: -0.5s; }
            .processing .processing__inner .content--m .loadingio-spinner .dual-ball div:nth-child(2) {
              background: #5A5A5A;
              -webkit-animation: ldio-anime 1s linear infinite;
              animation: ldio-anime 1s linear infinite;
              -webkit-animation-delay: 0s;
              animation-delay: 0s; }
            .processing .processing__inner .content--m .loadingio-spinner .dual-ball div:nth-child(3) {
              background: #fff;
              -webkit-animation: ldio-anime-o 1s linear infinite;
              animation: ldio-anime-o 1s linear infinite;
              -webkit-animation-delay: -0.5s;
              animation-delay: -0.5s; }

@-webkit-keyframes ldio-anime-o {
  0% {
    opacity: 1;
    -webkit-transform: translate(0 0);
    transform: translate(0 0); }
  49.99% {
    opacity: 1;
    -webkit-transform: translate(24px, 0);
    transform: translate(24px, 0); }
  50% {
    opacity: 0;
    -webkit-transform: translate(24px, 0);
    transform: translate(24px, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@keyframes ldio-anime-o {
  0% {
    opacity: 1;
    -webkit-transform: translate(0 0);
    transform: translate(0 0); }
  49.99% {
    opacity: 1;
    -webkit-transform: translate(24px, 0);
    transform: translate(24px, 0); }
  50% {
    opacity: 0;
    -webkit-transform: translate(24px, 0);
    transform: translate(24px, 0); }
  100% {
    opacity: 0;
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@-webkit-keyframes ldio-anime {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(24px, 0);
    transform: translate(24px, 0); }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

@keyframes ldio-anime {
  0% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); }
  50% {
    -webkit-transform: translate(24px, 0);
    transform: translate(24px, 0); }
  100% {
    -webkit-transform: translate(0, 0);
    transform: translate(0, 0); } }

/* -----------------------------------
 * ページャー
 ----------------------------------- */
.pagenation {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
  -ms-flex-align: start;
  align-items: start;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  -ms-flex-direction: column;
  flex-direction: column;
  position: fixed;
  left: 56px;
  bottom: 56px;
  -webkit-transition: 0.6s ease;
  -o-transition: 0.6s ease;
  transition: 0.6s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 999; }
  @media only screen and (max-width: 1024px) {
    .pagenation {
      display: none; } }
  .pagenation li {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
    -ms-flex-direction: column;
    flex-direction: column;
    position: relative;
    height: auto;
    list-style-type: none;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden; }
    .pagenation li a {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      height: 16px;
      cursor: pointer; }
      .pagenation li a .line {
        display: inline-block;
        position: relative;
        width: 24px;
        height: 1px;
        background-color: rgba(255, 255, 255, 0.5); }
        .pagenation li a .line:after {
          display: inline-block;
          position: absolute;
          top: 50%;
          bottom: auto;
          -webkit-transform: translateY(-50%);
          -ms-transform: translateY(-50%);
          transform: translateY(-50%);
          left: 35px;
          font-family: 'VisbyCF-Regular', sans-serif;
          font-size: 12px;
          letter-spacing: 0.2em;
          white-space: nowrap;
          -webkit-transition: 0.3s ease;
          -o-transition: 0.3s ease;
          transition: 0.3s ease;
          -webkit-backface-visibility: hidden;
          backface-visibility: hidden; }
  .pagenation.section0 li:nth-child(1) a .line {
    background-color: white; }
    .pagenation.section0 li:nth-child(1) a .line:after {
      content: 'TOP'; }
  .pagenation.section1 li:nth-child(2) a .line {
    background-color: white; }
    .pagenation.section1 li:nth-child(2) a .line:after {
      content: 'CONCEPT'; }
  .pagenation.section2 li:nth-child(3) a .line {
    background-color: white; }
    .pagenation.section2 li:nth-child(3) a .line:after {
      content: 'FLOW EXPERIENCE_1'; }
  .pagenation.section3 li:nth-child(4) a .line {
    background-color: white; }
    .pagenation.section3 li:nth-child(4) a .line:after {
      content: 'FLOW EXPERIENCE_2'; }
  .pagenation.section4 li:nth-child(5) a .line {
    background-color: white; }
    .pagenation.section4 li:nth-child(5) a .line:after {
      content: 'FLOW EXPERIENCE_3'; }
  .pagenation.section5 li:nth-child(6) a .line {
    background-color: white; }
    .pagenation.section5 li:nth-child(6) a .line:after {
      content: 'PRICE'; }
  .pagenation.section6 li:nth-child(7) a .line {
    background-color: white; }
    .pagenation.section6 li:nth-child(7) a .line:after {
      content: 'PHILOSOPHY'; }
  .pagenation.is-pos-footer {
    bottom: 200px; }

/* スライド dotsメニュー */
.dotsmenu {
  display: none; }
  .dotsmenu .slick-dots li {
    list-style-type: none;
    height: 15px; }
    .dotsmenu .slick-dots li button {
      position: relative;
      width: 5px;
      height: 5px;
      background: none;
      border-radius: 100%;
      text-indent: -9999px;
      cursor: pointer; }
      .dotsmenu .slick-dots li button:before {
        content: '';
        position: absolute;
        top: 0;
        left: 0;
        width: 5px;
        height: 5px;
        background-color: #fff;
        border-radius: 100%;
        opacity: 0.5; }
    .dotsmenu .slick-dots li.slick-active button:before {
      opacity: 1; }

/* -----------------------------------
 * 構成パーツ
 ----------------------------------- */
.section-fixed {
  width: 100%;
  height: 100vh; }
  @media only screen and (max-width: 1024px) {
    .section-fixed {
      height: auto; } }
  .section-fixed .content--m {
    margin: 0; }
    @media only screen and (max-width: 1024px) {
      .section-fixed .content--m {
        margin: 0 24px; } }

.content--m {
  max-width: 960px;
  width: 100%;
  margin: 0 auto; }
  @media only screen and (max-width: 1024px) {
    .content--m {
      max-width: 100%;
      width: auto;
      margin: 0 24px 0; } }
  @media only screen and (max-width: 767px) {
    .content--m {
      width: auto;
      padding: 85px 0; } }

/* Magnific Popup CSS */
.mfp-bg {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 1042;
  overflow: hidden;
  position: fixed;
  background: #0b0b0b;
  opacity: 0.8;
  z-index: 9999; }

.mfp-wrap {
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  z-index: 99999;
  position: fixed;
  outline: none !important;
  -webkit-backface-visibility: hidden; }

.mfp-container {
  text-align: center;
  position: absolute;
  width: 100%;
  height: 100%;
  left: 0;
  top: 0;
  padding: 0 8px;
  -webkit-box-sizing: border-box;
  box-sizing: border-box; }
  .mfp-container:before {
    content: '';
    display: inline-block;
    height: 100%;
    vertical-align: middle; }

.mfp-align-top .mfp-container:before {
  display: none; }

.mfp-content {
  position: relative;
  display: inline-block;
  vertical-align: middle;
  margin: 0 auto;
  text-align: left;
  z-index: 1045; }

.mfp-inline-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-holder .mfp-content {
  width: 100%;
  cursor: auto; }

.mfp-ajax-cur {
  cursor: progress; }

.mfp-zoom-out-cur {
  cursor: -moz-zoom-out;
  cursor: -webkit-zoom-out;
  cursor: zoom-out; }
  .mfp-zoom-out-cur .mfp-zoom-out-cur .mfp-image-holder .mfp-close {
    cursor: -moz-zoom-out;
    cursor: -webkit-zoom-out;
    cursor: zoom-out; }

.mfp-zoom {
  cursor: pointer;
  cursor: -webkit-zoom-in;
  cursor: -moz-zoom-in;
  cursor: zoom-in; }

.mfp-auto-cursor .mfp-content {
  cursor: auto; }

.mfp-close,
.mfp-arrow,
.mfp-preloader,
.mfp-counter {
  -webkit-user-select: none;
  -moz-user-select: none;
  -ms-user-select: none;
  user-select: none; }

.mfp-loading.mfp-figure {
  display: none; }

.mfp-hide {
  display: none !important; }

.mfp-preloader {
  color: #CCC;
  position: absolute;
  top: 50%;
  width: auto;
  text-align: center;
  margin-top: -0.8em;
  left: 8px;
  right: 8px;
  z-index: 1044; }
  .mfp-preloader a {
    color: #CCC; }
    .mfp-preloader a:hover {
      color: #FFF; }

.mfp-s-ready .mfp-preloader {
  display: none; }

.mfp-s-error .mfp-content {
  display: none; }

button.mfp-close,
button.mfp-arrow {
  overflow: visible;
  cursor: pointer;
  background: transparent;
  border: 0;
  -webkit-appearance: none;
  display: block;
  outline: none;
  padding: 0;
  z-index: 1046;
  -webkit-box-shadow: none;
  box-shadow: none;
  -ms-touch-action: manipulation;
  touch-action: manipulation; }

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

.mfp-close {
  width: 44px;
  height: 44px;
  line-height: 44px;
  position: absolute;
  right: 0;
  top: 0;
  text-decoration: none;
  text-align: center;
  opacity: 0.65;
  padding: 0 0 18px 10px;
  color: #FFF;
  font-style: normal;
  font-size: 28px;
  font-family: Arial, Baskerville, monospace; }

.mfp-close:hover {
  opacity: 1; }

.mfp-close:focus {
  opacity: 1; }

.mfp-close:active {
  top: 1px; }

.mfp-close-btn-in .mfp-close {
  color: #fff; }

.mfp-image-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-iframe-holder .mfp-close {
  color: #fff;
  right: -6px;
  text-align: right;
  padding-right: 6px;
  width: 100%; }

.mfp-counter {
  position: absolute;
  top: 0;
  right: 0;
  color: #fff;
  font-size: 12px;
  line-height: 18px;
  white-space: nowrap; }

.mfp-arrow {
  position: absolute;
  opacity: 0.65;
  margin: 0;
  top: 50%;
  margin-top: -55px;
  padding: 0;
  width: 90px;
  height: 110px;
  -webkit-tap-highlight-color: transparent; }
  .mfp-arrow:active {
    margin-top: -54px; }
  .mfp-arrow:hover {
    opacity: 1; }
  .mfp-arrow:focus {
    opacity: 1; }
  .mfp-arrow:before {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 0;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
    border-top-width: 21px;
    border-bottom-width: 21px;
    opacity: 0.7; }
  .mfp-arrow:after {
    content: '';
    display: block;
    width: 0;
    height: 0;
    position: absolute;
    left: 0;
    top: 8px;
    margin-top: 35px;
    margin-left: 35px;
    border: medium inset transparent;
    border-top-width: 13px;
    border-bottom-width: 13px; }

.mfp-arrow-left {
  left: 0; }
  .mfp-arrow-left:after {
    border-right: 17px solid #FFF;
    margin-left: 31px; }
  .mfp-arrow-left:before {
    margin-left: 25px;
    border-right: 27px solid #3F3F3F; }

.mfp-arrow-right {
  right: 0; }
  .mfp-arrow-right:after {
    border-left: 17px solid #FFF;
    margin-left: 39px; }
  .mfp-arrow-right:before {
    border-left: 27px solid #3F3F3F; }

.mfp-iframe-holder {
  padding-top: 40px;
  padding-bottom: 40px; }

.mfp-iframe-holder .mfp-content {
  line-height: 0;
  width: 100%;
  max-width: 900px; }

.mfp-iframe-holder .mfp-close {
  top: -40px; }

.mfp-iframe-scaler {
  width: 100%;
  height: 0;
  overflow: hidden;
  padding-top: 56.25%; }

.mfp-iframe-scaler iframe {
  position: absolute;
  display: block;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #000; }

/* Main image in popup */
img.mfp-img {
  width: auto;
  max-width: 100%;
  height: auto;
  display: block;
  line-height: 0;
  -webkit-box-sizing: border-box;
  box-sizing: border-box;
  padding: 40px 0 40px;
  margin: 0 auto; }

/* The shadow behind the image */
.mfp-figure {
  line-height: 0; }

.mfp-figure:after {
  content: '';
  position: absolute;
  left: 0;
  top: 40px;
  bottom: 40px;
  display: block;
  right: 0;
  width: auto;
  height: auto;
  z-index: -1;
  -webkit-box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  box-shadow: 0 0 8px rgba(0, 0, 0, 0.6);
  background: #444; }

.mfp-figure small {
  color: #BDBDBD;
  display: block;
  font-size: 12px;
  line-height: 14px; }

.mfp-figure figure {
  margin: 0; }

.mfp-bottom-bar {
  margin-top: -36px;
  position: absolute;
  top: 100%;
  left: 0;
  width: 100%;
  cursor: auto; }

.mfp-title {
  text-align: left;
  line-height: 18px;
  color: #F3F3F3;
  word-wrap: break-word;
  padding-right: 36px; }

.mfp-image-holder .mfp-content {
  max-width: 100%; }

.mfp-gallery .mfp-image-holder .mfp-figure {
  cursor: pointer; }

@media screen and (max-width: 800px) and (orientation: landscape), screen and (max-height: 300px) {
  /**
       * Remove all paddings around the image on small screen
       */
  .mfp-img-mobile .mfp-image-holder {
    padding-left: 0;
    padding-right: 0; }
  .mfp-img-mobile img.mfp-img {
    padding: 0; }
  .mfp-img-mobile .mfp-figure:after {
    top: 0;
    bottom: 0; }
  .mfp-img-mobile .mfp-figure small {
    display: inline;
    margin-left: 5px; }
  .mfp-img-mobile .mfp-bottom-bar {
    background: rgba(0, 0, 0, 0.6);
    bottom: 0;
    margin: 0;
    top: auto;
    padding: 3px 5px;
    position: fixed;
    -webkit-box-sizing: border-box;
    box-sizing: border-box; }
  .mfp-img-mobile .mfp-bottom-bar:empty {
    padding: 0; }
  .mfp-img-mobile .mfp-counter {
    right: 5px;
    top: 3px; }
  .mfp-img-mobile .mfp-close {
    top: 0;
    right: 0;
    width: 35px;
    height: 35px;
    line-height: 35px;
    background: rgba(0, 0, 0, 0.6);
    position: fixed;
    text-align: center;
    padding: 0; } }

@media all and (max-width: 900px) {
  .mfp-arrow {
    -webkit-transform: scale(0.75);
    -ms-transform: scale(0.75);
    transform: scale(0.75); }
  .mfp-arrow-left {
    -webkit-transform-origin: 0;
    -ms-transform-origin: 0;
    transform-origin: 0; }
  .mfp-arrow-right {
    -webkit-transform-origin: 100%;
    -ms-transform-origin: 100%;
    transform-origin: 100%; }
  .mfp-container {
    padding-left: 6px;
    padding-right: 6px; } }

.arrow-prev {
  display: inline-block;
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  left: 10%;
  padding-left: 30px;
  font-family: 'VisbyCF-Regular', sans-serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  cursor: pointer;
  opacity: 0.5;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  z-index: 99; }
  @media only screen and (max-width: 1024px) {
    .arrow-prev {
      top: auto;
      left: 24px;
      bottom: 60px;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      opacity: 1; } }
  @media only screen and (max-width: 767px) {
    .arrow-prev {
      bottom: 80px; } }
  @media only screen and (max-width: 320px) {
    .arrow-prev {
      bottom: 30px; } }
  @media screen and (min-width: 1024px) {
    .arrow-prev {
      left: 15%; } }
  .arrow-prev::before {
    content: '';
    position: absolute;
    top: 14px;
    left: 0;
    margin-top: -10px;
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 1px #fff;
    border-right: solid 1px #fff;
    -webkit-transform: rotate(-135deg);
    -ms-transform: rotate(-135deg);
    transform: rotate(-135deg);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0.5; }
    @media only screen and (max-width: 1024px) {
      .arrow-prev::before {
        margin-top: -10px;
        opacity: 1; } }
  .arrow-prev:hover {
    opacity: 1; }
    @media only screen and (max-width: 1024px) {
      .arrow-prev:hover {
        opacity: 1; } }
    .arrow-prev:hover::before {
      opacity: 1; }
      @media only screen and (max-width: 1024px) {
        .arrow-prev:hover::before {
          opacity: 1; } }
  .arrow-prev.slick-disabled {
    visibility: hidden; }

.arrow-next {
  display: inline-block;
  position: absolute;
  top: 50%;
  bottom: auto;
  -webkit-transform: translateY(-50%);
  -ms-transform: translateY(-50%);
  transform: translateY(-50%);
  right: 10%;
  padding-right: 30px;
  font-family: 'VisbyCF-Regular', sans-serif;
  font-size: 12px;
  letter-spacing: 0.2em;
  cursor: pointer;
  -webkit-transition: 0.3s ease;
  -o-transition: 0.3s ease;
  transition: 0.3s ease;
  -webkit-backface-visibility: hidden;
  backface-visibility: hidden;
  opacity: 0.5;
  z-index: 99; }
  @media only screen and (max-width: 1024px) {
    .arrow-next {
      top: auto;
      right: 24px;
      bottom: 60px;
      -webkit-transform: translateY(0);
      -ms-transform: translateY(0);
      transform: translateY(0);
      opacity: 1; } }
  @media only screen and (max-width: 767px) {
    .arrow-next {
      bottom: 80px; } }
  @media only screen and (max-width: 320px) {
    .arrow-next {
      bottom: 30px; } }
  @media screen and (min-width: 1024px) {
    .arrow-next {
      right: 15%; } }
  .arrow-next::after {
    content: '';
    position: absolute;
    top: 14px;
    right: 0;
    margin-top: -10px;
    width: 10px;
    height: 10px;
    border: 0px;
    border-top: solid 1px #fff;
    border-left: solid 1px #fff;
    -webkit-transform: rotate(135deg);
    -ms-transform: rotate(135deg);
    transform: rotate(135deg);
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    opacity: 0.5; }
    @media only screen and (max-width: 1024px) {
      .arrow-next::after {
        margin-top: -10px;
        opacity: 1; } }
  .arrow-next:hover {
    opacity: 1; }
    @media only screen and (max-width: 1024px) {
      .arrow-next:hover {
        opacity: 1; } }
    .arrow-next:hover::before {
      opacity: 1; }
      @media only screen and (max-width: 1024px) {
        .arrow-next:hover::before {
          opacity: 1; } }
  .arrow-next p.first {
    display: none; }
  .arrow-next.slick-disabled p.next {
    display: none; }
  .arrow-next.slick-disabled p.first {
    display: block; }
  .arrow-next.slick-disabled::after {
    -webkit-transform: rotate(-45deg);
    -ms-transform: rotate(-45deg);
    transform: rotate(-45deg); }

/* -----------------------------------
 * firstview
 ----------------------------------- */
#firstview {
  position: relative;
  overflow: hidden;
  z-index: 0; }
  @media only screen and (max-width: 1024px) {
    #firstview {
      height: 100vh; } }
  @media only screen and (max-width: 767px) {
    #firstview {
      height: -webkit-fill-available; } }
  #firstview .firstview-movie {
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    background: url(./img/top/firstview_pc.jpg) no-repeat center;
    background-size: cover;
    z-index: -2; }
    @media only screen and (max-width: 1024px) {
      #firstview .firstview-movie {
        display: none; } }
  #firstview .firstview-movie_sp {
    display: none;
    position: absolute;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    background: url(./img/top/firstview_sp.jpg) no-repeat center;
    background-size: cover;
    z-index: -2; }
    @media only screen and (max-width: 1024px) {
      #firstview .firstview-movie_sp {
        display: block; } }
  #firstview .firstview__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
    -ms-flex-flow: row-reverse;
    flex-flow: row-reverse;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    left: 50%;
    top: 50%;
    bottom: auto;
    right: auto;
    -webkit-transform: translateX(-50%) translateY(-50%);
    -ms-transform: translateX(-50%) translateY(-50%);
    transform: translateX(-50%) translateY(-50%);
    margin-left: -200px; }
    @media only screen and (max-width: 1024px) {
      #firstview .firstview__contents {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: start;
        margin-left: -27px; } }
    #firstview .firstview__contents .firstview__left .firstview__copy {
      margin-top: -60px;
      font-size: 17px;
      letter-spacing: 0.2em;
      white-space: nowrap; }
      @media only screen and (max-width: 1024px) {
        #firstview .firstview__contents .firstview__left .firstview__copy {
          display: none; } }
    #firstview .firstview__contents .firstview__left .firstview__copy--img {
      display: none; }
      @media only screen and (max-width: 1024px) {
        #firstview .firstview__contents .firstview__left .firstview__copy--img {
          display: block;
          width: 37px; } }
    #firstview .firstview__contents .firstview__right {
      margin-left: 100px; }
      @media only screen and (max-width: 1024px) {
        #firstview .firstview__contents .firstview__right {
          margin-left: 30px; } }
      #firstview .firstview__contents .firstview__right .firstview__logo {
        width: 120px;
        margin: 0 auto; }
        #firstview .firstview__contents .firstview__right .firstview__logo img[src$=".svg"] {
          width: 100%;
          vertical-align: top; }

/* -----------------------------------
 * concept
 ----------------------------------- */
#concept {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  background: url(./img/top/concept_pc.jpg) no-repeat center;
  background-size: cover; }
  @media only screen and (max-width: 1024px) {
    #concept {
      height: 100vh;
      background: url(./img/top/concept_sp.jpg) no-repeat center;
      background-size: 100% auto; } }
  @media only screen and (max-width: 767px) {
    #concept {
      height: auto; } }
  @media only screen and (max-width: 320px) {
    #concept {
      background-size: cover; } }

/* -----------------------------------
 * #flow1
 ----------------------------------- */
#flow1 {
  position: relative;
  overflow: hidden; }
  #flow1 .flow1-slider {
    position: relative;
    z-index: 0;
    overflow: hidden; }
    #flow1 .flow1-slider .slick-track {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    #flow1 .flow1-slider .flow1-slider__item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      width: 100%;
      height: 100vh;
      margin: 0; }
      @media only screen and (max-width: 767px) {
        #flow1 .flow1-slider .flow1-slider__item {
          height: auto;
          padding: 85px 24px 140px; } }
      #flow1 .flow1-slider .flow1-slider__item.bgimg01 {
        background: url(./img/top/flow1_slider-01_pc.jpg) no-repeat center;
        background-size: cover; }
        @media only screen and (max-width: 1024px) {
          #flow1 .flow1-slider .flow1-slider__item.bgimg01 {
            background: url(./img/top/flow1_slider-01_sp.jpg) no-repeat center;
            background-size: cover; } }
      #flow1 .flow1-slider .flow1-slider__item.bgimg02 {
        background: url(./img/top/flow1_slider-02_pc.jpg) no-repeat center;
        background-size: cover; }
        @media only screen and (max-width: 1024px) {
          #flow1 .flow1-slider .flow1-slider__item.bgimg02 {
            background: url(./img/top/flow1_slider-02_sp.jpg) no-repeat center;
            background-size: cover; } }
      #flow1 .flow1-slider .flow1-slider__item.bgimg03 {
        background: url(./img/top/flow1_slider-03_pc.jpg) no-repeat center;
        background-size: cover; }
        @media only screen and (max-width: 1024px) {
          #flow1 .flow1-slider .flow1-slider__item.bgimg03 {
            background: url(./img/top/flow1_slider-03_sp.jpg) no-repeat center;
            background-size: cover; } }
      #flow1 .flow1-slider .flow1-slider__item .text__block-s--v {
        max-width: 720px;
        width: 50%; }
        @media only screen and (max-width: 1024px) {
          #flow1 .flow1-slider .flow1-slider__item .text__block-s--v {
            max-width: auto;
            width: auto; } }

/* -----------------------------------
 * flow2
 ----------------------------------- */
#flow2 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  background: url(./img/top/flow2_pc.jpg) no-repeat center;
  background-size: cover; }
  @media only screen and (max-width: 1024px) {
    #flow2 {
      height: 100vh;
      background: url(./img/top/flow2_sp.jpg) no-repeat center;
      background-size: 100% auto; } }
  @media only screen and (max-width: 767px) {
    #flow2 {
      height: auto; } }
  @media only screen and (max-width: 320px) {
    #flow2 {
      background-size: cover; } }
  #flow2 .content--m {
    max-width: 720px;
    width: 50%; }
    @media only screen and (max-width: 1024px) {
      #flow2 .content--m {
        max-width: auto;
        width: auto; } }
  #flow2 .arrow-menu {
    display: inline-block;
    position: absolute;
    top: 50%;
    bottom: auto;
    -webkit-transform: translateY(-50%);
    -ms-transform: translateY(-50%);
    transform: translateY(-50%);
    right: 10%;
    font-family: 'VisbyCF-Regular', sans-serif;
    font-size: 12px;
    letter-spacing: 0.2em;
    cursor: pointer;
    -webkit-transition: 0.3s ease;
    -o-transition: 0.3s ease;
    transition: 0.3s ease;
    -webkit-backface-visibility: hidden;
    backface-visibility: hidden;
    z-index: 99; }
    @media only screen and (max-width: 1024px) {
      #flow2 .arrow-menu {
        top: auto;
        right: 24px;
        bottom: 60px; } }
    @media only screen and (max-width: 767px) {
      #flow2 .arrow-menu {
        display: -webkit-box;
        display: -ms-flexbox;
        display: flex;
        position: relative;
        bottom: 0;
        margin: 40px 0 0 auto;
        -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
        transform: translateY(0); } }
    @media screen and (min-width: 1450px) {
      #flow2 .arrow-menu {
        right: 15%; } }
    #flow2 .arrow-menu a {
      display: inline-block;
      position: relative;
      padding-right: 30px;
      margin-left: auto;
      opacity: 0.5; }
      @media only screen and (max-width: 1024px) {
        #flow2 .arrow-menu a {
          opacity: 1; } }
      #flow2 .arrow-menu a::after {
        content: '';
        position: absolute;
        top: 14px;
        right: 0;
        margin-top: -10px;
        width: 10px;
        height: 10px;
        border: 0px;
        border-top: solid 1px #fff;
        border-left: solid 1px #fff;
        -webkit-transform: rotate(135deg);
        -ms-transform: rotate(135deg);
        transform: rotate(135deg);
        -webkit-transition: 0.3s ease;
        -o-transition: 0.3s ease;
        transition: 0.3s ease;
        -webkit-backface-visibility: hidden;
        backface-visibility: hidden;
        opacity: 0.5; }
        @media only screen and (max-width: 1024px) {
          #flow2 .arrow-menu a::after {
            margin-top: -10px;
            opacity: 1; } }
      #flow2 .arrow-menu a:hover {
        opacity: 1; }
        @media only screen and (max-width: 1024px) {
          #flow2 .arrow-menu a:hover {
            opacity: 1; } }
        #flow2 .arrow-menu a:hover::before {
          opacity: 1; }
          @media only screen and (max-width: 1024px) {
            #flow2 .arrow-menu a:hover::before {
              opacity: 1; } }

/* -----------------------------------
 * flow3
 ----------------------------------- */
#flow3 {
  position: relative;
  overflow: hidden; }
  #flow3 .flow3-slider {
    position: relative;
    z-index: 0;
    overflow: hidden; }
    #flow3 .flow3-slider .slick-track {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex; }
    #flow3 .flow3-slider .flow3-slider__item {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-pack: center;
      -ms-flex-pack: center;
      justify-content: center;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      position: relative;
      width: 100%;
      height: 100vh;
      margin: 0; }
      @media only screen and (max-width: 767px) {
        #flow3 .flow3-slider .flow3-slider__item {
          height: auto;
          padding: 85px 24px; } }
      #flow3 .flow3-slider .flow3-slider__item.bgimg01 {
        background: url(./img/top/flow3_slider-01_pc.jpg) no-repeat center;
        background-size: cover; }
        @media only screen and (max-width: 1024px) {
          #flow3 .flow3-slider .flow3-slider__item.bgimg01 {
            background: url(./img/top/flow3_slider-01_sp.jpg) no-repeat center;
            background-size: 100% auto; } }
        @media only screen and (max-width: 320px) {
          #flow3 .flow3-slider .flow3-slider__item.bgimg01 {
            background-size: cover; } }
      #flow3 .flow3-slider .flow3-slider__item .text__block-s--v {
        max-width: 720px;
        width: 50%; }
        @media only screen and (max-width: 1024px) {
          #flow3 .flow3-slider .flow3-slider__item .text__block-s--v {
            max-width: auto;
            width: auto; } }
        #flow3 .flow3-slider .flow3-slider__item .text__block-s--v dl {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center;
          font-size: 1.6vh;
          letter-spacing: 0.2em;
          line-height: 1.4; }
          @media only screen and (max-width: 1024px) {
            #flow3 .flow3-slider .flow3-slider__item .text__block-s--v dl {
              font-size: 14px; } }
          @media only screen and (max-width: 767px) {
            #flow3 .flow3-slider .flow3-slider__item .text__block-s--v dl {
              display: block;
              margin-top: 20px;
              font-size: 12px;
              line-height: 2; } }
          @media screen and (min-width: 1450px) {
            #flow3 .flow3-slider .flow3-slider__item .text__block-s--v dl {
              font-size: 14px; } }
          #flow3 .flow3-slider .flow3-slider__item .text__block-s--v dl dt {
            position: relative; }
            @media only screen and (max-width: 767px) {
              #flow3 .flow3-slider .flow3-slider__item .text__block-s--v dl dt {
                margin-bottom: 5px;
                padding-bottom: 5px; } }
            #flow3 .flow3-slider .flow3-slider__item .text__block-s--v dl dt:after {
              content: '：';
              display: inline-block;
              margin: 5px; }
              @media only screen and (max-width: 767px) {
                #flow3 .flow3-slider .flow3-slider__item .text__block-s--v dl dt:after {
                  content: '';
                  display: block;
                  position: absolute;
                  bottom: 0;
                  left: 0;
                  margin: 0;
                  width: 100%;
                  height: 1px;
                  background-color: rgba(255, 255, 255, 0.5); } }

/* -----------------------------------
 * price
 ----------------------------------- */
#price {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  background: url(./img/top/membership_pc.jpg) no-repeat center;
  background-size: cover; }
  @media only screen and (max-width: 1024px) {
    #price {
      height: auto;
      background: url(./img/top/membership_sp.jpg) no-repeat center;
      background-size: 100% auto; } }
  @media only screen and (max-width: 1024px) {
    #price .content--m {
      padding: 85px 0; } }
  #price .text__block-s--v .copy {
    font-family: "Yu Gothic Medium", "游ゴシック Medium", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
    font-weight: 500;
    margin-bottom: 5px;
    font-size: 14px;
    letter-spacing: 0.3em;
    line-height: 2; }
  #price .text__block-s--v p {
    font-size: 11px; }
  #price .text__block-s--v:not(:nth-child(1)) {
    margin-top: 30px; }
  #price .btn__block--v {
    margin-top: 60px; }
    @media only screen and (max-width: 1024px) {
      #price .btn__block--v {
        margin-top: 40px; } }
    #price .btn__block--v .btn__style--radius {
      width: 383px;
      padding: 15px; }
      @media only screen and (max-width: 1024px) {
        #price .btn__block--v .btn__style--radius {
          width: 100%;
          padding: 15px 0; } }
      @media only screen and (max-width: 767px) {
        #price .btn__block--v .btn__style--radius .sp--block {
          display: none; } }
      @media only screen and (max-width: 320px) {
        #price .btn__block--v .btn__style--radius .sp--block {
          display: block; } }

/* -----------------------------------
 * philosophy
 ----------------------------------- */
#philosophy {
  position: relative;
  background: url(./img/top/philosophy_pc.jpg) no-repeat center;
  background-size: cover; }
  @media only screen and (max-width: 1024px) {
    #philosophy {
      background: url(./img/top/philosophy_sp.jpg) no-repeat center;
      background-size: 100% auto; } }
  @media only screen and (max-width: 767px) {
    #philosophy {
      height: auto; } }
  @media only screen and (max-width: 320px) {
    #philosophy {
      background-size: cover; } }
  #philosophy .philosophy__inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
    -ms-flex-pack: center;
    justify-content: center;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: calc(100vh - 130px); }
    @media only screen and (max-width: 1024px) {
      #philosophy .philosophy__inner {
        position: relative;
        padding: 85px 0 130px;
        height: calc(100vh - 85px); } }
    @media only screen and (max-width: 767px) {
      #philosophy .philosophy__inner {
        position: relative;
        padding: 0 0 270px;
        height: auto; } }

/* -----------------------------------
 * movie
 ----------------------------------- */
.movie-content-wrap {
  position: relative;
  width: 100%;
  padding-top: 56.25%; }
  .movie-content-wrap iframe {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%; }

.mfp-content {
  max-width: 1200px; }
  @media only screen and (max-width: 1024px) {
    .mfp-content {
      max-width: 700px; } }
  @media only screen and (max-width: 767px) {
    .mfp-content {
      max-width: 340px; } }
  @media only screen and (max-width: 320px) {
    .mfp-content {
      max-width: 290px; } }

.mfp-fade.mfp-bg {
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out; }
  .mfp-fade.mfp-bg.mfp-ready {
    opacity: 0.7; }
  .mfp-fade.mfp-bg.mfp-removing {
    opacity: 0; }

.mfp-fade.mfp-wrap .mfp-content {
  opacity: 0;
  -webkit-transition: all 0.2s ease-out;
  -o-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out; }

.mfp-fade.mfp-wrap.mfp-ready .mfp-content {
  opacity: 1; }

.mfp-fade.mfp-wrap.mfp-removing .mfp-content {
  opacity: 0; }

/* -----------------------------------
 * page common
 ----------------------------------- */
/* bg movie or img */
#mainvis {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  position: relative;
  height: 100vh;
  overflow: hidden;
  z-index: 0; }
  @media only screen and (max-width: 767px) {
    #mainvis {
      display: block;
      overflow-y: scroll; } }
  #mainvis:before {
    content: '';
    position: fixed;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    background: rgba(90, 90, 90, 0.5);
    mix-blend-mode: multiply;
    z-index: -1; }
  #mainvis .mainvis-movie {
    position: fixed;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    background: url(./img/top/firstview_pc.jpg) no-repeat center;
    background-size: cover;
    z-index: -2; }
    @media only screen and (max-width: 1024px) {
      #mainvis .mainvis-movie {
        display: none; } }
  #mainvis .mainvis-movie_sp {
    display: none;
    position: fixed;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    background: url(./img/top/firstview_sp.jpg) no-repeat center;
    background-size: cover;
    z-index: -2; }
    @media only screen and (max-width: 1024px) {
      #mainvis .mainvis-movie_sp {
        display: block; } }
  #mainvis .mainvis-bgimg {
    position: fixed;
    top: 0;
    left: 0;
    width: auto;
    height: auto;
    min-width: 100%;
    min-height: 100%;
    z-index: -2; }
    #mainvis .mainvis-bgimg.bg-meditation {
      background: url(./img/pages/meditation_pc.jpg) no-repeat center;
      background-size: cover; }
      @media only screen and (max-width: 1024px) {
        #mainvis .mainvis-bgimg.bg-meditation {
          background: url(./img/pages/meditation_sp.jpg) no-repeat center;
          background-size: cover; } }
    #mainvis .mainvis-bgimg.bg-membershipSystem {
      background: url(./img/pages/membership-system_pc.jpg) no-repeat center;
      background-size: cover; }
      @media only screen and (max-width: 1024px) {
        #mainvis .mainvis-bgimg.bg-membershipSystem {
          background: url(./img/pages/membership-system_sp.jpg) no-repeat center;
          background-size: cover; } }
    #mainvis .mainvis-bgimg.bg-userpolicy {
      background: url(./img/pages/userpolicy_pc.jpg) no-repeat center;
      background-size: cover; }
      @media only screen and (max-width: 1024px) {
        #mainvis .mainvis-bgimg.bg-userpolicy {
          background: url(./img/pages/userpolicy_sp.jpg) no-repeat center;
          background-size: cover; } }
    #mainvis .mainvis-bgimg.bg-information {
      background: url(./img/pages/information_pc.jpg) no-repeat center;
      background-size: cover; }
      @media only screen and (max-width: 1024px) {
        #mainvis .mainvis-bgimg.bg-information {
          background: url(./img/pages/information_sp.jpg) no-repeat center;
          background-size: cover; } }
    #mainvis .mainvis-bgimg.bg-privacy {
      background: url(./img/pages/privacy_pc.jpg) no-repeat center;
      background-size: cover; }
      @media only screen and (max-width: 1024px) {
        #mainvis .mainvis-bgimg.bg-privacy {
          background: url(./img/pages/privacy_sp.jpg) no-repeat center;
          background-size: cover; } }

/* bg movie or img */
.lineqr__block {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
  -ms-flex-align: center;
  align-items: center;
  -webkit-box-pack: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 60px; }
  @media only screen and (max-width: 767px) {
    .lineqr__block {
      display: block;
      margin-top: 40px; } }
  .lineqr__block .lineqr__img {
    width: 120px; }
    @media only screen and (max-width: 767px) {
      .lineqr__block .lineqr__img {
        margin: 0 auto; } }
  .lineqr__block .lineqr__btn {
    margin-left: 120px; }
    @media only screen and (max-width: 767px) {
      .lineqr__block .lineqr__btn {
        margin: 40px 0; } }
    .lineqr__block .lineqr__btn .btn__style--radius {
      font-size: 2vh; }
      @media only screen and (max-width: 1024px) {
        .lineqr__block .lineqr__btn .btn__style--radius {
          font-size: 14px; } }
      @media screen and (min-width: 1450px) {
        .lineqr__block .lineqr__btn .btn__style--radius {
          font-size: 20px; } }

/* -----------------------------------
 * meditation
 ----------------------------------- */
.page-meditation {
  display: block !important;
  height: auto !important;
  overflow-y: scroll !important; }
  .page-meditation .content--m {
    padding: 230px 0; }
    @media only screen and (max-width: 767px) {
      .page-meditation .content--m {
        padding: 85px 0 160px; } }
    @media only screen and (max-width: 767px) {
      .page-meditation .content--m .section__title-s--v {
        line-height: 2.5; }
        .page-meditation .content--m .section__title-s--v span {
          background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)) right bottom/100% 0.1em no-repeat;
          background: -webkit-linear-gradient(#fff, #fff) right bottom/100% 0.1em no-repeat;
          background: -o-linear-gradient(#fff, #fff) right bottom/100% 0.1em no-repeat;
          background: linear-gradient(#fff, #fff) right bottom/100% 0.1em no-repeat; }
          .page-meditation .content--m .section__title-s--v span:before {
            display: none; } }
  .page-meditation .meditationo-item:not(:nth-child(1)) {
    margin-top: 96px; }
    @media only screen and (max-width: 1024px) {
      .page-meditation .meditationo-item:not(:nth-child(1)) {
        margin-top: 60px; } }
  .page-meditation .text__block-s--v dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.6vh;
    letter-spacing: 0.2em;
    line-height: 1.4; }
    @media only screen and (max-width: 1024px) {
      .page-meditation .text__block-s--v dl {
        font-size: 14px; } }
    @media only screen and (max-width: 767px) {
      .page-meditation .text__block-s--v dl {
        display: block;
        margin-top: 20px;
        font-size: 12px;
        line-height: 2; } }
    @media screen and (min-width: 1450px) {
      .page-meditation .text__block-s--v dl {
        font-size: 14px; } }
    .page-meditation .text__block-s--v dl dt {
      position: relative; }
      @media only screen and (max-width: 767px) {
        .page-meditation .text__block-s--v dl dt {
          margin-bottom: 5px;
          padding-bottom: 5px; } }
      .page-meditation .text__block-s--v dl dt:after {
        content: '：';
        display: inline-block;
        margin: 5px; }
        @media only screen and (max-width: 767px) {
          .page-meditation .text__block-s--v dl dt:after {
            content: '';
            display: block;
            position: absolute;
            bottom: 0;
            left: 0;
            margin: 0;
            width: 100%;
            height: 1px;
            background-color: rgba(255, 255, 255, 0.5); } }
  .page-meditation .btn__block--v {
    margin-top: 120px; }
    @media only screen and (max-width: 1024px) {
      .page-meditation .btn__block--v {
        margin-top: 60px; } }

/* -----------------------------------
 * membership system
 ----------------------------------- */
.page-membershipSystem {
  display: block !important;
  height: auto !important;
  overflow-y: scroll !important; }
  .page-membershipSystem:before {
    background: rgba(90, 90, 90, 0.7) !important; }
  .page-membershipSystem .content--m {
    padding: 230px 0; }
    @media only screen and (max-width: 767px) {
      .page-membershipSystem .content--m {
        padding: 85px 0 160px; } }
    @media only screen and (max-width: 767px) {
      .page-membershipSystem .content--m .section__title-s--v {
        line-height: 2.5; }
        .page-membershipSystem .content--m .section__title-s--v span {
          background: -webkit-gradient(linear, left top, left bottom, from(#fff), to(#fff)) right bottom/100% 0.1em no-repeat;
          background: -webkit-linear-gradient(#fff, #fff) right bottom/100% 0.1em no-repeat;
          background: -o-linear-gradient(#fff, #fff) right bottom/100% 0.1em no-repeat;
          background: linear-gradient(#fff, #fff) right bottom/100% 0.1em no-repeat; }
          .page-membershipSystem .content--m .section__title-s--v span:before {
            display: none; } }
  .page-membershipSystem .membershipSystem-item dl {
    margin-top: 30px;
    font-size: 1.6vh;
    letter-spacing: 0.2em;
    line-height: 2; }
    @media only screen and (max-width: 1024px) {
      .page-membershipSystem .membershipSystem-item dl {
        margin-top: 24px;
        font-size: 14px; } }
    @media only screen and (max-width: 767px) {
      .page-membershipSystem .membershipSystem-item dl {
        display: block;
        margin-top: 20px;
        font-size: 12px;
        line-height: 2; } }
    @media screen and (min-width: 1450px) {
      .page-membershipSystem .membershipSystem-item dl {
        font-size: 14px; } }
    .page-membershipSystem .membershipSystem-item dl dt {
      position: relative;
      margin-bottom: 15px;
      padding-bottom: 15px; }
      .page-membershipSystem .membershipSystem-item dl dt:after {
        content: '';
        display: block;
        position: absolute;
        bottom: 0;
        left: 0;
        margin: 0;
        width: 100%;
        height: 1px;
        background-color: rgba(255, 255, 255, 0.5); }
    .page-membershipSystem .membershipSystem-item dl dd .textline {
      display: block;
      width: 10px;
      height: 1px;
      background-color: #fff;
      margin: 15px 0; }
    .page-membershipSystem .membershipSystem-item dl dd ul {
      margin-left: 5px;
      font-size: 14px;
      letter-spacing: 0.2em;
      line-height: 2; }
    .page-membershipSystem .membershipSystem-item dl dd .cmt {
      font-size: 11px; }
  .page-membershipSystem .text__block-s--v dl {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
    -ms-flex-align: center;
    align-items: center;
    font-size: 1.6vh;
    letter-spacing: 0.2em;
    line-height: 1.4; }
    @media only screen and (max-width: 1024px) {
      .page-membershipSystem .text__block-s--v dl {
        font-size: 14px; } }
    @media only screen and (max-width: 767px) {
      .page-membershipSystem .text__block-s--v dl {
        display: block;
        margin-top: 20px;
        font-size: 12px;
        line-height: 2; } }
    @media screen and (min-width: 1450px) {
      .page-membershipSystem .text__block-s--v dl {
        font-size: 14px; } }
    .page-membershipSystem .text__block-s--v dl dt {
      position: relative; }
      @media only screen and (max-width: 767px) {
        .page-membershipSystem .text__block-s--v dl dt {
          margin-bottom: 5px;
          padding-bottom: 5px; } }
      .page-membershipSystem .text__block-s--v dl dt:after {
        content: '：';
        display: inline-block;
        margin: 5px; }
        @media only screen and (max-width: 767px) {
          .page-membershipSystem .text__block-s--v dl dt:after {
            content: '';
            display: block;
            position: absolute;
            bottom: 0;
            left: 0;
            margin: 0;
            width: 100%;
            height: 1px;
            background-color: rgba(255, 255, 255, 0.5); } }
  .page-membershipSystem .btn__block--v {
    margin-top: 120px; }
    @media only screen and (max-width: 1024px) {
      .page-membershipSystem .btn__block--v {
        margin-top: 60px; } }

/* -----------------------------------
 * userpolicy
 ----------------------------------- */
.page-userpolicy {
  display: block !important;
  height: auto !important;
  overflow-y: scroll !important; }
  .page-userpolicy .content--m {
    padding: 230px 0; }
    @media only screen and (max-width: 767px) {
      .page-userpolicy .content--m {
        padding: 85px 0; } }
  .page-userpolicy .policy__block dl {
    margin-top: 40px;
    font-size: 1.6vh;
    letter-spacing: 0.2em;
    line-height: 2; }
    @media only screen and (max-width: 1024px) {
      .page-userpolicy .policy__block dl {
        margin-top: 30px;
        font-size: 14px; } }
    @media only screen and (max-width: 767px) {
      .page-userpolicy .policy__block dl {
        font-size: 12px; } }
    @media screen and (min-width: 1450px) {
      .page-userpolicy .policy__block dl {
        font-size: 14px; } }
    .page-userpolicy .policy__block dl:nth-child(1) {
      margin-top: 40px; }
    .page-userpolicy .policy__block dl dt {
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid #fff; }
    .page-userpolicy .policy__block dl dd .policy__item {
      margin-top: 35px; }
      .page-userpolicy .policy__block dl dd .policy__item:nth-child(1) {
        margin-top: 0; }
  .page-userpolicy .btn__block--v {
    margin-top: 120px; }
    @media only screen and (max-width: 1024px) {
      .page-userpolicy .btn__block--v {
        margin-top: 60px; } }

/* -----------------------------------
 * privacy
 ----------------------------------- */
.page-privacy {
  display: block !important;
  height: auto !important;
  overflow-y: scroll !important; }
  .page-privacy .content--m {
    padding: 230px 0; }
    @media only screen and (max-width: 767px) {
      .page-privacy .content--m {
        padding: 85px 0; } }
  .page-privacy .policy__block dl {
    margin-top: 40px;
    font-size: 1.6vh;
    letter-spacing: 0.2em;
    line-height: 2; }
    @media only screen and (max-width: 1024px) {
      .page-privacy .policy__block dl {
        margin-top: 30px;
        font-size: 14px; } }
    @media only screen and (max-width: 767px) {
      .page-privacy .policy__block dl {
        font-size: 12px; } }
    @media screen and (min-width: 1450px) {
      .page-privacy .policy__block dl {
        font-size: 14px; } }
    .page-privacy .policy__block dl:nth-child(1) {
      margin-top: 40px; }
    .page-privacy .policy__block dl dt {
      margin-bottom: 20px;
      padding-bottom: 20px;
      border-bottom: 1px solid #fff; }
    .page-privacy .policy__block dl dd .privacy__info {
      margin-top: 30px; }
  .page-privacy .btn__block--v {
    margin-top: 120px; }
    @media only screen and (max-width: 1024px) {
      .page-privacy .btn__block--v {
        margin-top: 60px; } }

/* -----------------------------------
 * information
 ----------------------------------- */
.page-information {
  display: block !important;
  height: auto !important;
  overflow-y: scroll !important; }
  .page-information .content--m {
    padding: 230px 0; }
    @media only screen and (max-width: 767px) {
      .page-information .content--m {
        padding: 85px 0; } }
  .page-information .information__block {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      .page-information .information__block {
        margin-top: 40px; } }
    .page-information .information__block .text__block-s--v {
      margin-bottom: 40px; }
    .page-information .information__block dl {
      margin-top: 30px;
      font-size: 1.6vh;
      letter-spacing: 0.2em;
      line-height: 2; }
      @media only screen and (max-width: 1024px) {
        .page-information .information__block dl {
          font-size: 14px; } }
      @media only screen and (max-width: 767px) {
        .page-information .information__block dl {
          font-size: 12px; } }
      @media screen and (min-width: 1450px) {
        .page-information .information__block dl {
          font-size: 14px; } }
  .page-information .btn__block--v {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      .page-information .btn__block--v {
        margin-top: 40px; } }

/* -----------------------------------
 * contact
 ----------------------------------- */
/* contact */
@media only screen and (max-width: 320px) {
  .page-contact .content--m {
    padding: 100px 0; } }

.page-contact .contactform__block {
  margin-top: 60px;
  border-top: 1px solid #fff; }
  .page-contact .contactform__block .contactform__item {
    padding: 10px 0;
    border-bottom: 1px solid #fff; }
    .page-contact .contactform__block .contactform__item input[type="text"],
    .page-contact .contactform__block .contactform__item input[type="email"] {
      display: inline-block;
      width: 100%;
      height: 40px;
      padding-left: 5px;
      background-color: transparent;
      color: #fff;
      font-size: 1.3vh;
      line-height: 1.7;
      letter-spacing: 0.2em;
      border: 1px solid transparent;
      border-radius: 0;
      vertical-align: middle;
      -webkit-text-fill-color: #fff; }
      @media only screen and (max-width: 767px) {
        .page-contact .contactform__block .contactform__item input[type="text"],
        .page-contact .contactform__block .contactform__item input[type="email"] {
          font-size: 12px; } }
      @media screen and (min-width: 1450px) {
        .page-contact .contactform__block .contactform__item input[type="text"],
        .page-contact .contactform__block .contactform__item input[type="email"] {
          font-size: 12px; } }
      .page-contact .contactform__block .contactform__item input[type="text"]:-ms-input-placeholder, .page-contact .contactform__block .contactform__item input[type="text"]:-ms-input-placeholder,
      .page-contact .contactform__block .contactform__item input[type="email"]:-ms-input-placeholder,
      .page-contact .contactform__block .contactform__item input[type="email"]:-ms-input-placeholder {
        color: #fff;
        font-size: 13px;
        line-height: 1.7;
        letter-spacing: 0.1em; }
      .page-contact .contactform__block .contactform__item input[type="text"]::-ms-input-placeholder, .page-contact .contactform__block .contactform__item input[type="text"]:-ms-input-placeholder,
      .page-contact .contactform__block .contactform__item input[type="email"]::-ms-input-placeholder,
      .page-contact .contactform__block .contactform__item input[type="email"]:-ms-input-placeholder {
        color: #fff;
        font-size: 13px;
        line-height: 1.7;
        letter-spacing: 0.1em; }
      .page-contact .contactform__block .contactform__item input[type="text"]::placeholder, .page-contact .contactform__block .contactform__item input[type="text"]:-ms-input-placeholder,
      .page-contact .contactform__block .contactform__item input[type="email"]::placeholder,
      .page-contact .contactform__block .contactform__item input[type="email"]:-ms-input-placeholder {
        color: #fff;
        font-size: 13px;
        line-height: 1.7;
        letter-spacing: 0.1em; }
      .page-contact .contactform__block .contactform__item input[type="text"]:-webkit-autofill,
      .page-contact .contactform__block .contactform__item input[type="email"]:-webkit-autofill {
        -webkit-animation-name: onAutoFillStart;
        animation-name: onAutoFillStart;
        -webkit-transition: background-color 50000s ease-in-out 0s;
        -o-transition: background-color 50000s ease-in-out 0s;
        transition: background-color 50000s ease-in-out 0s; }
      .page-contact .contactform__block .contactform__item input[type="text"]:focus,
      .page-contact .contactform__block .contactform__item input[type="email"]:focus {
        border: 1px solid #fff;
        outline: none; }
    .page-contact .contactform__block .contactform__item textarea {
      width: 100%;
      height: 100px;
      padding: 5px;
      background-color: transparent;
      color: #fff;
      font-size: 1.3vh;
      line-height: 1.7;
      letter-spacing: 0.1em;
      outline: none;
      border: 1px solid transparent;
      resize: none;
      -ms-overflow-style: none;
      -webkit-text-fill-color: #fff; }
      @media only screen and (max-width: 767px) {
        .page-contact .contactform__block .contactform__item textarea {
          font-size: 12px; } }
      @media screen and (min-width: 1450px) {
        .page-contact .contactform__block .contactform__item textarea {
          font-size: 12px; } }
      .page-contact .contactform__block .contactform__item textarea:-ms-input-placeholder, .page-contact .contactform__block .contactform__item textarea:-ms-input-placeholder {
        color: #fff;
        font-size: 13px;
        line-height: 1.7;
        letter-spacing: 0.1em; }
      .page-contact .contactform__block .contactform__item textarea::-ms-input-placeholder, .page-contact .contactform__block .contactform__item textarea:-ms-input-placeholder {
        color: #fff;
        font-size: 13px;
        line-height: 1.7;
        letter-spacing: 0.1em; }
      .page-contact .contactform__block .contactform__item textarea::placeholder, .page-contact .contactform__block .contactform__item textarea:-ms-input-placeholder {
        color: #fff;
        font-size: 13px;
        line-height: 1.7;
        letter-spacing: 0.1em; }
      .page-contact .contactform__block .contactform__item textarea:-webkit-autofill {
        -webkit-animation-name: onAutoFillStart;
        animation-name: onAutoFillStart;
        -webkit-transition: background-color 50000s ease-in-out 0s;
        -o-transition: background-color 50000s ease-in-out 0s;
        transition: background-color 50000s ease-in-out 0s; }
      .page-contact .contactform__block .contactform__item textarea:focus {
        border: 1px solid #fff;
        outline: none; }

.page-contact .btn__block--v .btn__style--radius {
  margin-top: 60px; }
  @media only screen and (max-width: 767px) {
    .page-contact .btn__block--v .btn__style--radius {
      margin-top: 40px; } }
  .page-contact .btn__block--v .btn__style--radius p {
    color: #fff; }
  .page-contact .btn__block--v .btn__style--radius:hover p {
    color: #000; }
    @media only screen and (max-width: 1024px) {
      .page-contact .btn__block--v .btn__style--radius:hover p {
        color: #fff; } }

/* sent */
@media only screen and (max-width: 320px) {
  .page-contactSent .content--m {
    padding: 100px 0; } }

.page-contactSent .btn__block--v .btn__style--radius {
  margin-top: 60px; }
  @media only screen and (max-width: 767px) {
    .page-contactSent .btn__block--v .btn__style--radius {
      margin-top: 40px; } }

/* -----------------------------------
 * register
 ----------------------------------- */
.page-register {
  display: block !important;
  height: auto !important;
  overflow-y: scroll !important; }
  .page-register .content--m {
    padding: 230px 0; }
    @media only screen and (max-width: 767px) {
      .page-register .content--m {
        padding: 85px 0; } }
  .page-register .text__block--v p a {
    display: inline-block;
    position: relative;
    letter-spacing: 0.2em; }
    .page-register .text__block--v p a:before {
      content: '';
      display: inline-block;
      position: absolute;
      bottom: 0;
      width: 100%;
      height: 1px;
      background-color: #fff;
      -webkit-transition: 0.3s ease;
      -o-transition: 0.3s ease;
      transition: 0.3s ease;
      -webkit-backface-visibility: hidden;
      backface-visibility: hidden; }
    .page-register .text__block--v p a:hover:before {
      width: 0; }
      @media only screen and (max-width: 1024px) {
        .page-register .text__block--v p a:hover:before {
          width: 100%; } }
  .page-register .registerform__block {
    margin-top: 46px; }
    .page-register .registerform__block dl {
      display: -webkit-box;
      display: -ms-flexbox;
      display: flex;
      -webkit-box-align: center;
      -ms-flex-align: center;
      align-items: center;
      padding: 24px 0;
      color: #fff;
      border-bottom: 1px solid #fff; }
      @media only screen and (max-width: 767px) {
        .page-register .registerform__block dl {
          display: block;
          margin-top: 20px;
          padding: 0 0 10px; } }
      .page-register .registerform__block dl:nth-child(1) {
        margin-top: 0; }
      .page-register .registerform__block dl:nth-child(6) {
        -webkit-box-align: start;
        -ms-flex-align: start;
        align-items: flex-start; }
        .page-register .registerform__block dl:nth-child(6) dt {
          margin-top: 15px; }
          @media only screen and (max-width: 767px) {
            .page-register .registerform__block dl:nth-child(6) dt {
              margin: 0; } }
      .page-register .registerform__block dl dt {
        position: relative;
        padding-top: 2px;
        width: 15%;
        font-size: 1.3vh;
        line-height: 1.7;
        letter-spacing: 0.2em; }
        @media only screen and (max-width: 1024px) {
          .page-register .registerform__block dl dt {
            padding-top: 0;
            width: 20%; } }
        @media only screen and (max-width: 767px) {
          .page-register .registerform__block dl dt {
            width: 100%;
            font-size: 12px; } }
        @media screen and (min-width: 1450px) {
          .page-register .registerform__block dl dt {
            font-size: 12px; } }
        .page-register .registerform__block dl dt .hissu {
          font-size: 12px; }
      .page-register .registerform__block dl dd {
        width: 85%;
        margin: 0 8px 0 30px; }
        @media only screen and (max-width: 1024px) {
          .page-register .registerform__block dl dd {
            width: 80%; } }
        @media only screen and (max-width: 767px) {
          .page-register .registerform__block dl dd {
            margin: 5px 8px 0 0;
            width: 100%; } }
        .page-register .registerform__block dl dd input[type="text"],
        .page-register .registerform__block dl dd input[type="email"],
        .page-register .registerform__block dl dd input[type="password"] {
          display: inline-block;
          width: 100%;
          height: 48px;
          padding-left: 5px;
          background-color: transparent;
          color: #fff;
          font-size: 1.3vh;
          line-height: 1.7;
          letter-spacing: 0.2em;
          border: 1px solid #fff;
          border-radius: 0;
          vertical-align: middle;
          -webkit-text-fill-color: #fff; }
          @media only screen and (max-width: 1024px) {
            .page-register .registerform__block dl dd input[type="text"],
            .page-register .registerform__block dl dd input[type="email"],
            .page-register .registerform__block dl dd input[type="password"] {
              font-size: 12px; } }
          @media screen and (min-width: 1450px) {
            .page-register .registerform__block dl dd input[type="text"],
            .page-register .registerform__block dl dd input[type="email"],
            .page-register .registerform__block dl dd input[type="password"] {
              font-size: 12px; } }
          .page-register .registerform__block dl dd input[type="text"]:required,
          .page-register .registerform__block dl dd input[type="email"]:required,
          .page-register .registerform__block dl dd input[type="password"]:required {
            -webkit-box-shadow: none;
            box-shadow: none; }
          .page-register .registerform__block dl dd input[type="text"]:-webkit-autofill,
          .page-register .registerform__block dl dd input[type="email"]:-webkit-autofill,
          .page-register .registerform__block dl dd input[type="password"]:-webkit-autofill {
            -webkit-animation-name: onAutoFillStart;
            animation-name: onAutoFillStart;
            -webkit-transition: background-color 50000s ease-in-out 0s;
            -o-transition: background-color 50000s ease-in-out 0s;
            transition: background-color 50000s ease-in-out 0s; }
          .page-register .registerform__block dl dd input[type="text"]:focus,
          .page-register .registerform__block dl dd input[type="email"]:focus,
          .page-register .registerform__block dl dd input[type="password"]:focus {
            border: 1px solid #fff;
            outline: none; }
        .page-register .registerform__block dl dd .name__block {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
          .page-register .registerform__block dl dd .name__block .name__item {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; }
            .page-register .registerform__block dl dd .name__block .name__item p {
              margin-right: 20px;
              width: 25px;
              font-size: 1.3vh;
              text-align: right;
              letter-spacing: 0.2em;
              white-space: nowrap; }
              @media only screen and (max-width: 1024px) {
                .page-register .registerform__block dl dd .name__block .name__item p {
                  font-size: 12px; } }
              @media screen and (min-width: 1450px) {
                .page-register .registerform__block dl dd .name__block .name__item p {
                  font-size: 12px; } }
              @media only screen and (max-width: 767px) {
                .page-register .registerform__block dl dd .name__block .name__item p {
                  margin-right: 5px; } }
            .page-register .registerform__block dl dd .name__block .name__item:nth-child(2) {
              margin-left: 60px; }
              @media only screen and (max-width: 1024px) {
                .page-register .registerform__block dl dd .name__block .name__item:nth-child(2) {
                  margin-left: 30px; } }
              @media only screen and (max-width: 767px) {
                .page-register .registerform__block dl dd .name__block .name__item:nth-child(2) {
                  margin-left: 15px; } }
        .page-register .registerform__block dl dd .gender__block {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
          @media only screen and (max-width: 767px) {
            .page-register .registerform__block dl dd .gender__block {
              display: block; } }
          .page-register .registerform__block dl dd .gender__block .gender__item label {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center;
            width: 160px;
            padding: 13px;
            border: 1px solid #fff; }
            @media only screen and (max-width: 767px) {
              .page-register .registerform__block dl dd .gender__block .gender__item label {
                width: 100%; } }
            .page-register .registerform__block dl dd .gender__block .gender__item label p {
              margin-left: 20px;
              width: 25px;
              font-size: 1.3vh;
              text-align: right;
              letter-spacing: 0.2em;
              white-space: nowrap; }
              @media only screen and (max-width: 1024px) {
                .page-register .registerform__block dl dd .gender__block .gender__item label p {
                  font-size: 12px; } }
              @media screen and (min-width: 1450px) {
                .page-register .registerform__block dl dd .gender__block .gender__item label p {
                  font-size: 12px; } }
          .page-register .registerform__block dl dd .gender__block .gender__item:nth-child(2) {
            margin: 0 0 0 60px; }
            @media only screen and (max-width: 1024px) {
              .page-register .registerform__block dl dd .gender__block .gender__item:nth-child(2) {
                margin: 0 0 0 30px; } }
            @media only screen and (max-width: 767px) {
              .page-register .registerform__block dl dd .gender__block .gender__item:nth-child(2) {
                margin: 10px 0; } }
        .page-register .registerform__block dl dd .birthday__block {
          display: -webkit-box;
          display: -ms-flexbox;
          display: flex;
          -webkit-box-align: center;
          -ms-flex-align: center;
          align-items: center; }
          @media only screen and (max-width: 767px) {
            .page-register .registerform__block dl dd .birthday__block {
              display: block; } }
          .page-register .registerform__block dl dd .birthday__block .birthday__item {
            display: -webkit-box;
            display: -ms-flexbox;
            display: flex;
            -webkit-box-align: center;
            -ms-flex-align: center;
            align-items: center; }
            .page-register .registerform__block dl dd .birthday__block .birthday__item:nth-child(2) {
              margin: 0 60px; }
              @media only screen and (max-width: 1024px) {
                .page-register .registerform__block dl dd .birthday__block .birthday__item:nth-child(2) {
                  margin: 0 30px; } }
              @media only screen and (max-width: 767px) {
                .page-register .registerform__block dl dd .birthday__block .birthday__item:nth-child(2) {
                  margin: 10px 0; } }
        .page-register .registerform__block dl dd .selectmenu {
          position: relative;
          width: 160px;
          height: 48px; }
          @media only screen and (max-width: 767px) {
            .page-register .registerform__block dl dd .selectmenu {
              width: 100%; } }
          .page-register .registerform__block dl dd .selectmenu select {
            display: block;
            padding-right: 1em;
            min-width: 160px;
            max-width: inherit;
            max-width: unset;
            background: transparent;
            border: none;
            outline: none;
            -webkit-box-shadow: none;
            box-shadow: none;
            -webkit-appearance: none;
            -moz-appearance: none;
            appearance: none;
            cursor: pointer; }
            @media only screen and (max-width: 767px) {
              .page-register .registerform__block dl dd .selectmenu select {
                width: 100%; } }
            .page-register .registerform__block dl dd .selectmenu select::-ms-expand {
              display: none; }
            .page-register .registerform__block dl dd .selectmenu select option {
              color: #000; }
          .page-register .registerform__block dl dd .selectmenu.selectmenu-arrow {
            position: relative;
            border: 1px solid #fff;
            background: transparent; }
            .page-register .registerform__block dl dd .selectmenu.selectmenu-arrow::before {
              position: absolute;
              top: 1.5em;
              right: 0.8em;
              width: 0;
              height: 0;
              padding: 0;
              content: '';
              border-left: 6px solid transparent;
              border-right: 6px solid transparent;
              border-top: 6px solid #fff;
              pointer-events: none; }
            .page-register .registerform__block dl dd .selectmenu.selectmenu-arrow select {
              padding: 17px 20px 17px 12px;
              color: #fff;
              font-size: 1.2vh;
              letter-spacing: 0.2em; }
              @media only screen and (max-width: 1024px) {
                .page-register .registerform__block dl dd .selectmenu.selectmenu-arrow select {
                  font-size: 12px; } }
              @media only screen and (max-width: 767px) {
                .page-register .registerform__block dl dd .selectmenu.selectmenu-arrow select {
                  line-height: 12px; } }
              @media screen and (min-width: 1450px) {
                .page-register .registerform__block dl dd .selectmenu.selectmenu-arrow select {
                  font-size: 11px; } }

@-moz-document url-prefix() {
  .page-register .registerform__block dl dd .selectmenu.selectmenu-arrow select {
    padding: 17px 20px 17px 8px; } }
        .page-register .registerform__block dl dd .menu__block .selectmenu,
        .page-register .registerform__block dl dd .pay__block .selectmenu {
          width: 380px; }
          @media only screen and (max-width: 767px) {
            .page-register .registerform__block dl dd .menu__block .selectmenu,
            .page-register .registerform__block dl dd .pay__block .selectmenu {
              width: 100%; } }
          .page-register .registerform__block dl dd .menu__block .selectmenu select,
          .page-register .registerform__block dl dd .pay__block .selectmenu select {
            min-width: 380px; }
            @media only screen and (max-width: 767px) {
              .page-register .registerform__block dl dd .menu__block .selectmenu select,
              .page-register .registerform__block dl dd .pay__block .selectmenu select {
                min-width: 100%; } }
        .page-register .registerform__block dl dd .email__block input {
          width: 100%; }
        .page-register .registerform__block dl dd .form-comment {
          margin-top: 10px;
          font-size: 1.2vh;
          line-height: 1.7;
          letter-spacing: 0.2em; }
          @media only screen and (max-width: 1024px) {
            .page-register .registerform__block dl dd .form-comment {
              font-size: 12px; } }
          @media screen and (min-width: 1450px) {
            .page-register .registerform__block dl dd .form-comment {
              font-size: 12px; } }
        .page-register .registerform__block dl dd .error {
          display: inline-block;
          margin-top: 10px;
          color: aqua;
          font-size: 11px;
          letter-spacing: 0.2em; }
    .page-register .registerform__block .item-menu__choice {
      padding-top: 24px; }
      @media only screen and (max-width: 767px) {
        .page-register .registerform__block .item-menu__choice {
          margin-top: 20px;
          padding-top: 0; } }
      .page-register .registerform__block .item-menu__choice .choice-text__wrap .choice-text__item p {
        font-size: 1.3vh;
        line-height: 1.7;
        letter-spacing: 0.2em; }
        @media only screen and (max-width: 767px) {
          .page-register .registerform__block .item-menu__choice .choice-text__wrap .choice-text__item p {
            font-size: 12px; } }
        @media screen and (min-width: 1450px) {
          .page-register .registerform__block .item-menu__choice .choice-text__wrap .choice-text__item p {
            font-size: 12px; } }
        .page-register .registerform__block .item-menu__choice .choice-text__wrap .choice-text__item p:nth-child(2) {
          margin-top: 10px; }
  .page-register .btn__block--v {
    margin-top: 60px; }
    @media only screen and (max-width: 767px) {
      .page-register .btn__block--v {
        margin-top: 40px; } }
    .page-register .btn__block--v .btn__style--linebox p {
      color: #fff; }
    .page-register .btn__block--v .btn__style--linebox:hover p {
      color: #000; }
      @media only screen and (max-width: 1024px) {
        .page-register .btn__block--v .btn__style--linebox:hover p {
          color: #fff; } }
    .page-register .btn__block--v .btn__style--radius p {
      color: #fff; }
    .page-register .btn__block--v .btn__style--radius:hover p {
      color: #000; }
      @media only screen and (max-width: 1024px) {
        .page-register .btn__block--v .btn__style--radius:hover p {
          color: #fff; } }

.page-registerConfirmed .registerform__block dl:nth-child(6) dt {
  margin-top: 0; }

.page-registerConfirmed .registerform__block dl dt {
  padding-top: 0; }

.page-registerConfirmed .registerform__block dl dd {
  font-size: 1.3vh;
  line-height: 1.7;
  letter-spacing: 0.2em; }
  @media only screen and (max-width: 1024px) {
    .page-registerConfirmed .registerform__block dl dd {
      font-size: 12px; } }
  @media screen and (min-width: 1450px) {
    .page-registerConfirmed .registerform__block dl dd {
      font-size: 12px; } }

@media only screen and (max-width: 767px) {
  .page-registerConfirmed .btn__block--v {
    display: block; } }

.page-registerConfirmed .btn__block--v .btn__style--radius {
  margin-left: 70px; }
  @media only screen and (max-width: 767px) {
    .page-registerConfirmed .btn__block--v .btn__style--radius {
      margin: 40px 0 0; } }

.page-registerConfirmed .registerform__block {
  margin-top: 24px; }

@media only screen and (max-width: 767px) {
  .page-registerComplete .content--m {
    padding: 85px 0; } }

/* -----------------------------------
 * Card registration
 ----------------------------------- */
@media only screen and (max-width: 767px) {
  .page-subscribe .content--m {
    padding: 85px 0; } }

.page-subscribe .btn__block--v {
  margin-top: 60px; }
  @media only screen and (max-width: 767px) {
    .page-subscribe .btn__block--v {
      display: block;
      margin-top: 40px; } }
  .page-subscribe .btn__block--v .btn__style--radius p {
    color: #fff; }
  .page-subscribe .btn__block--v .btn__style--radius:hover p {
    color: #000; }
    @media only screen and (max-width: 1024px) {
      .page-subscribe .btn__block--v .btn__style--radius:hover p {
        color: #fff; } }

.page-subscribe .payjs-outer {
  margin-top: 60px;
  padding: 5px;
  border: 1px solid #fff; }
  @media only screen and (max-width: 767px) {
    .page-subscribe .payjs-outer {
      margin-top: 40px; } }
  .page-subscribe .payjs-outer .CardField-number {
    margin-left: 10px; }

@media only screen and (max-width: 767px) {
  .page-complete .content--m {
    padding: 85px 0; } }

/* -----------------------------------
 * waitingList
 ----------------------------------- */
@media only screen and (max-width: 767px) {
  .page-waitingList .content--m {
    padding: 85px 0; } }

@media only screen and (max-width: 1024px) {
  .page-waitingList .text__block--v br.pc--block {
    display: none; } }
