@-webkit-keyframes hover-line {
    0% {
      -webkit-transform: scaleX(1);
      transform: scaleX(1);
      -webkit-transform-origin: right center;
      transform-origin: right center;
    }
    49.9% {
      -webkit-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transform-origin: right center;
      transform-origin: right center;
    }
    50.1% {
      -webkit-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transform-origin: left center;
      transform-origin: left center;
    }
    100% {
      -webkit-transform: scaleX(1);
      transform: scaleX(1);
      -webkit-transform-origin: left center;
      transform-origin: left center;
    }
  }
  @keyframes hover-line {
    0% {
      -webkit-transform: scaleX(1);
      transform: scaleX(1);
      -webkit-transform-origin: right center;
      transform-origin: right center;
    }
    49.9% {
      -webkit-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transform-origin: right center;
      transform-origin: right center;
    }
    50.1% {
      -webkit-transform: scaleX(0);
      transform: scaleX(0);
      -webkit-transform-origin: left center;
      transform-origin: left center;
    }
    100% {
      -webkit-transform: scaleX(1);
      transform: scaleX(1);
      -webkit-transform-origin: left center;
      transform-origin: left center;
    }
  }
  a,
  abbr,
  acronym,
  address,
  applet,
  article,
  aside,
  audio,
  b,
  big,
  blockquote,
  body,
  canvas,
  caption,
  center,
  cite,
  code,
  dd,
  del,
  details,
  dfn,
  div,
  dl,
  dt,
  em,
  embed,
  fieldset,
  figcaption,
  figure,
  footer,
  form,
  h1,
  h2,
  h3,
  h4,
  h5,
  h6,
  header,
  hgroup,
  html,
  i,
  iframe,
  img,
  ins,
  kbd,
  label,
  legend,
  li,
  main,
  mark,
  menu,
  nav,
  object,
  ol,
  output,
  p,
  pre,
  q,
  ruby,
  s,
  samp,
  section,
  small,
  span,
  strike,
  strong,
  sub,
  summary,
  sup,
  table,
  tbody,
  td,
  tfoot,
  th,
  thead,
  time,
  tr,
  tt,
  u,
  ul,
  var,
  video {
    margin: 0;
    padding: 0;
    border: 0;
    font: inherit;
    vertical-align: baseline;
  }
  article,
  main,
  aside,
  details,
  figcaption,
  figure,
  footer,
  header,
  hgroup,
  picture,
  menu,
  nav,
  section {
    display: block;
  }
  ol,
  ul {
    list-style: none;
  }
  blockquote,
  q {
    quotes: none;
  }
  blockquote:after,
  blockquote:before,
  q:after,
  q:before {
    content: "";
  }
  table {
    border-collapse: collapse;
    border-spacing: 0;
  }
  /* @font-face {
    font-family: "Noto Sans CJK";
    font-style: normal;
    font-weight: 400;
    src: url("../font/NotoSansCJK/NotoSansCJKjp-Regular.woff2") format("woff2"),
      url("../font/NotoSansCJK/NotoSansCJKjp-Regular.woff") format("woff");
  }
  @font-face {
    font-family: "Noto Sans CJK";
    font-style: normal;
    font-weight: 600;
    src: url("../font/NotoSansCJK/NotoSansCJKjp-Bold.woff2") format("woff2"),
      url("../font/NotoSansCJK/NotoSansCJKjp-Bold.woff") format("woff");
  }
  @font-face {
    font-family: "Noto Serif CJK";
    font-style: normal;
    font-weight: 400;
    src: url("../font/NotoSerifCJK/NotoSerifCJKjp-Regular.woff2") format("woff2"),
      url("../font/NotoSerifCJK/NotoSerifCJKjp-Regular.woff") format("woff");
  }
  @font-face {
    font-family: "Miller Ban Lt";
    font-style: normal;
    font-weight: 400;
    src: url("../font/MillerBannerLight/font.woff2") format("woff2"),
      url("../font/MillerBannerLight/font.woff") format("woff");
  } */
  html {
    font-size: 2.34375vw;
  }
  body {
    line-height: 1.5;
    -webkit-text-size-adjust: 100%;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    font-feature-settings: "palt";
    font-family: "Hiragino Sans", "Hiragino Kaku Gothic Pro", "Noto Sans CJK",
      "Meiryo", "YuGothic", "游ゴシック体", "Yu Gothic", "游ゴシック", sans-serif;
    color: #161616;
    position: relative;
  }
  @media screen and (min-width: 1280px) {
    html {
      font-size: 30px;
    }
  }
  @media screen and (max-width: 812px) {
    html {
      font-size: 4vw;
    }
  }
  a {
    outline: none;
    text-decoration: none;
    color: inherit;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  img {
    display: block;
    width: 100%;
    max-width: none;
    height: auto;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  button {
    display: block;
    margin: 0;
    padding: 0;
    width: 100%;
    background: none;
    border: 0;
    outline: none;
    box-sizing: border-box;
    letter-spacing: inherit;
    cursor: pointer;
    font: inherit;
    color: inherit;
    -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
    -webkit-box-shadow: none;
    box-shadow: none;
  }
  svg {
    display: block;
  }
  svg.symbol {
    display: none;
  }
  .pc {
    display: block !important;
  }
  .sp {
    display: none !important;
  }
  @media screen and (max-width: 812px) {
    .pc {
      display: none !important;
    }
    .sp {
      display: block !important;
    }
    br.sp {
      display: inline !important;
    }
  }
  .button {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    -webkit-justify-content: center;
    justify-content: center;
    background: #81d8d0;
    text-align: center;
    line-height: 1.25;
    color: #fff;
    transition-property: opacity;
    transition-duration: 0.4s;
  }
  .button:hover {
    opacity: 0.6;
  }
  @media screen and (max-width: 812px) {
    .button:hover {
      opacity: 1;
    }
  }
  .button span {
    display: block;
  }
  .button-en {
    letter-spacing: 0.04em;
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    font-size: 0.5rem;
  }
  .button-en-large {
    letter-spacing: 0.04em;
    font-family: "DM Sans", sans-serif;
    font-weight: 500;
    font-size: 0.5333333rem;
  }
  @media screen and (max-width: 812px) {
    .button-en {
      font-size: 0.7333333rem;
    }
    .button-en-large {
      font-size: 0.7333333rem;
    }
  }
  .button-ja {
    font-weight: 600;
    font-size: 0.5rem;
  }
  .button-ja-large {
    font-weight: 600;
    font-size: 0.5666667rem;
  }
  @media screen and (max-width: 812px) {
    .button-ja {
      font-size: 0.9333333rem;
    }
    .button-ja-large {
      font-size: 0.9333333rem;
    }
  }
  .button-default {
    height: 2.3333333rem;
  }
  .button-thick {
    height: 2.6666667rem;
  }
  .button-thin {
    height: 1.6666667rem;
  }
  @media screen and (max-width: 812px) {
    .button-default {
      height: 3rem;
    }
    .button-thick {
      height: 4rem;
    }
    .button-thin {
      height: 2.9333333rem;
    }
  }
  .text {
    letter-spacing: -0.02em;
    line-height: 1.8571429;
    font-size: 0.4666667rem;
  }
  @media screen and (max-width: 812px) {
    .text {
      line-height: 1.9166667;
      font-size: 0.8rem;
    }
  }
  .scroll {
    display: -webkit-flex;
    display: flex;
    -webkit-align-items: center;
    align-items: center;
    font-family: "Roboto", sans-serif;
    font-size: 14px;
    font-weight: 500;
    opacity: 0;
    -webkit-animation-duration: 1.6s;
    animation-duration: 1.6s;
    -webkit-animation-iteration-count: infinite;
    animation-iteration-count: infinite;
  }
  .scroll:after {
    content: "";
    margin-left: 0.1666667rem;
    width: 14px;
    height: 7px;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("../images/scroll-down.svg");
    position: relative;
    top: -0.0333333rem;
  }
  @media screen and (max-width: 812px) {
    .scroll {
      font-size: 14px;
    }
    .scroll:after {
      margin-left: 0.4666667rem;
      /* width: 0.6666667rem; */
      /* height: 0.4rem; */
      background-image: url("../images/scroll-down.svg");
    }
  }
  @-webkit-keyframes scroll-blink {
    0% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes scroll-blink {
    0% {
      opacity: 0;
    }
    50% {
      opacity: 1;
    }
    100% {
      opacity: 0;
    }
  }
  .cross {
    display: inline-block;
    margin-left: 1px;
    margin-right: 1px;
    padding-top: 1.2rem;
    width: 1.2rem;
    height: 0;
    overflow: hidden;
    position: relative;
    top: 0.0666667rem;
  }
  @media screen and (max-width: 812px) {
    .cross {
      padding-top: 1.9333333rem;
      width: 1.9333333rem;
      top: 0.1rem;
    }
  }
  .cross:before,
  .cross:after {
    content: "";
    display: block;
    width: 141.421356237%;
    height: 0;
    border-bottom: 1px solid #81d8d0;
    position: absolute;
    left: 50%;
    top: 50%;
    margin-left: -70.710678118%;
    margin-top: -0.5px;
  }
  .cross:before {
    -webkit-transform: rotate(-45deg);
    transform: rotate(-45deg);
  }
  .cross:after {
    -webkit-transform: rotate(45deg);
    transform: rotate(45deg);
  }
  .cross-large {
    padding-top: 1.6666667rem;
    width: 1.6666667rem;
  }
  @media screen and (max-width: 812px) {
    .cross-large {
      padding-top: 1.9333333rem;
      width: 1.9333333rem;
    }
  }
  .cross-medium {
    padding-top: 1rem;
    width: 1rem;
  }
  @media screen and (max-width: 812px) {
    .cross-medium {
      padding-top: 1.9333333rem;
      width: 1.9333333rem;
    }
  }
  @media screen and (max-width: 812px) {
    .cross-small {
      padding-top: 1.6666667rem;
      width: 1.6666667rem;
    }
  }
  .cross-exsmall {
    padding-top: 0.7666667rem;
    width: 0.7666667rem;
  }
  @media screen and (max-width: 812px) {
    .cross-exsmall {
      padding-top: 1.9333333rem;
      width: 1.9333333rem;
    }
  }
  .names {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
  }
  .names span {
    padding-right: 0.02em;
    letter-spacing: -0.02em;
    line-height: 1.5;
    font-family: "Noto Serif CJK", "Hiragino Mincho ProN", "游明朝", "YuMincho",
      "HG明朝E", "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
    font-size: 1.3333333rem;
  }
  .ie11 .names span {
    font-family: "Noto Serif CJK", "Hiragino Mincho ProN", "HG明朝E",
      "ＭＳ Ｐ明朝", "ＭＳ 明朝", serif;
  }
  .names b {
    letter-spacing: -0.02em;
    line-height: 1.25;
    font-family: "Miller Ban Lt", serif;
    font-size: 1.6rem;
    position: relative;
    top: 0.1333333rem;
  }
  @media screen and (max-width: 812px) {
    .names span {
      letter-spacing: -0.04em;
      font-size: 2rem;
    }
    .names b {
      line-height: 1.2857143;
      font-size: 2.3333333rem;
    }
  }
  .names-large span {
    font-size: 2rem;
  }
  .names-large b {
    line-height: 1.3235294;
    font-size: 2.2666667rem;
    top: 0.0333333rem;
  }
  @media screen and (max-width: 812px) {
    .names-large span {
      font-size: 2rem;
    }
    .names-large b {
      line-height: 1.3235294;
      font-size: 2.2666667rem;
      top: 0.0666667rem;
    }
  }
  .names-medium span {
    font-size: 1.1333333rem;
  }
  .names-medium b {
    line-height: 1.2142857;
    font-size: 1.4rem;
    top: 0.1rem;
  }
  @media screen and (max-width: 812px) {
    .names-medium span {
      font-size: 2rem;
    }
    .names-medium b {
      line-height: 1.2857143;
      font-size: 2.3333333rem;
      top: 0.2rem;
    }
  }
  @media screen and (max-width: 812px) {
    .names-small span {
      font-size: 1.6666667rem;
    }
    .names-small b {
      font-size: 2.0666667rem;
    }
  }
  .names-exsmall span {
    font-size: 0.9333333rem;
  }
  .names-exsmall b {
    line-height: 1.2352941;
    font-size: 1.1333333rem;
    top: 0.0666667rem;
  }
  @media screen and (max-width: 812px) {
    .names-exsmall span {
      font-size: 2rem;
    }
    .names-exsmall b {
      line-height: 1.2857143;
      font-size: 2.3333333rem;
      top: 0.2rem;
    }
  }
  html,
  body,
  .wrapper {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  ::-webkit-scrollbar {
    width: 0px;
}

::-webkit-scrollbar-track {
    -webkit-box-shadow: inset 0 0 6px rgba(0,0,0,0.3);
}

::-webkit-scrollbar-thumb {
  background-color: darkgrey;
  outline: 1px solid slategrey;
}

  .wrapper {
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    position: absolute;
    scrollbar-width: none;
    -ms-overflow-style: none;
  }
  .android .wrapper {
    height: calc(100% - 1px);
    bottom: auto;
  }
  .loader {
    background: #161616;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10002;
    transition-property: opacity, visibility;
    transition-duration: 1.2s;
  }
  .loaded .loader {
    opacity: 0;
    visibility: hidden;
  }
  .loader-spin {
    height: 36px;
    width: 36px;
    border-radius: 100%;
    border: 2px solid #81d8d0;
    -webkit-animation: ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
    animation: ripple 1s 0s infinite cubic-bezier(0.21, 0.53, 0.56, 0.8);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
  }
  @-webkit-keyframes ripple {
    0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1;
    }
    70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7;
    }
    100% {
      opacity: 0;
    }
  }
  @keyframes ripple {
    0% {
      -webkit-transform: scale(0.1);
      transform: scale(0.1);
      opacity: 1;
    }
    70% {
      -webkit-transform: scale(1);
      transform: scale(1);
      opacity: 0.7;
    }
    100% {
      opacity: 0;
    }
  }
  .top {
    height: 100vh;
    text-align: center;
    color: #fff;
    position: relative;
  }
  .top-bg {
    width: 100%;
    height: 100%;
    background: #565656;
    overflow: hidden;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -2;
  }
  .detail-01 .top-bg {
    background: #999;
  }
  .top-bg div {
    width: 100%;
    height: 100%;
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 0;
    visibility: hidden;
  }
  .top-bg div.active {
    opacity: 1;
    visibility: visible;
  }
  .top-bg div:before {
    content: "";
    display: block;
    width: 100%;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: cover;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    -webkit-filter: blur(1.3333333rem);
    filter: blur(1.3333333rem);
    -webkit-transform: scale(1.2);
    transform: scale(1.2);
    transition-property: -webkit-filter, filter, -webkit-transform, transform;
    transition-duration: 3s;
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  }
  .loaded .top-bg div:before {
    -webkit-filter: blur(0px);
    filter: blur(0);
    -webkit-transform: scale(1);
    transform: scale(1);
  }
  /* .top-bg-01:before {
    background-image: url("../images/main_c.jpg");
  } */
  .top-bg-02:before {
    background-image: url("../images/main_c.jpg");
  }
  .top-bg-03:before {
    background-image: url("../images/main_b.jpg");
  }
  .top-bg-04:before {
    background-image: url("../images/main_a.jpg");
  }
  @media screen and (max-width: 812px) {
    /* .top-bg-01:before {
      background-image: url("../images/main_c.jpg");
    } */
    .top-bg-02:before {
      background-image: url("../images/main_c_m.jpg");
    }
    .top-bg-03:before {
      background-image: url("../images/main_b_m.jpg");
    }
    .top-bg-04:before {
      background-image: url("../images/main_a_m.jpg");
    }
  }
  .top-scroll {
    position: fixed;
    bottom: 130px;
    left: 50%;
    font-size: 14px;
    -webkit-transform: translate3d(-50%, 0, 0);
    transform: translate3d(-50%, 0, 0);
  }
  @media screen and (max-width: 812px) {
    .top-scroll {
      bottom: 130px;
      font-size: 14px;
    }
  }
  .iphone .top:after,
  .ipad .top:after {
    content: "";
    display: block;
    background-color: transparent;
    width: 100%;
    height: 50vh;
    position: fixed;
    bottom: 0;
    left: 0;
    right: 0;
    pointer-events: none;
  }
  .iphone .into .top:after,
  .ipad .into .top:after {
    background-color: #303030;
  }
  .panel {
    margin-top: 2.6666667rem;
    text-align: center;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: -1;
    opacity: 0;
    visibility: hidden;
  }
  @media screen and (max-width: 812px) {
    .panel {
      margin-top: 0;
      margin-bottom: 5.0666667rem;
    }
  }
  .panel-item {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
  }
  @media screen and (max-width: 812px) {
    .panel-item {
      -webkit-justify-content: flex-end;
      justify-content: flex-end;
    }
  }
  .panel-counter {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    font-family: "DM Sans", sans-serif;
    font-size: 0.4666667rem;
  }
  @media screen and (max-width: 812px) {
    .panel-counter {
      font-size: 0.7333333rem;
    }
  }
  .panel-counter b {
    color: #64d4ca;
  }
  .panel-counter i {
    margin-left: 0.1666667rem;
    margin-right: 0.1333333rem;
    padding-top: 1px;
    width: 0.6666667rem;
    height: 0;
    overflow: hidden;
    background: #c1c1c1;
    position: relative;
    top: -0.0333333rem;
  }
  @media screen and (max-width: 812px) {
    .panel-counter i {
      margin-left: 0.4rem;
      margin-right: 0.4rem;
    }
    .panel-counter i {
      width: 1.3333333rem;
      background: #fff;
    }
  }
  .panel-label {
    display: block;
    font-family: "DM Sans", sans-serif;
    font-size: 0.4666667rem;
    color: #64d4ca;
  }
  @media screen and (max-width: 812px) {
    .panel-label {
      font-size: 0.8rem;
    }
  }
  .panel-name {
    display: block;
    margin-top: 0.2rem;
    text-shadow: 0 0 2.3333333rem rgba(0, 0, 0, 0.5),
      0 0 2.3333333rem rgba(0, 0, 0, 0.5), 0 0 2.3333333rem rgba(0, 0, 0, 0.5);
  }
  @media screen and (max-width: 812px) {
    .panel-name {
      margin-top: 0.5333333rem;
      text-shadow: none;
    }
  }
  @media screen and (max-width: 812px) {
    .detail-04 .panel-name .cross {
      top: 0.2rem;
    }
  }
  .panel-with {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    margin-top: -0.1333333rem;
  }
  .panel-with span {
    letter-spacing: -0.06em;
    font-family: "Miller Ban Lt", serif;
    font-size: 0.6666667rem;
    position: relative;
    top: 0.1333333rem;
  }
  .panel-with svg {
    display: block;
    margin-left: 0.1333333rem;
    width: 5.1666667rem;
    height: 2.1666667rem;
    fill: #81d8d0;
    stroke: #81d8d0;
    stroke-width: 0.5;
  }
  @media screen and (max-width: 812px) {
    .panel-with {
      margin-top: 0.0666667rem;
    }
    .panel-with span {
      font-size: 1rem;
    }
    .panel-with svg {
      margin-left: 0.2666667rem;
      width: 6.5333333rem;
      height: 2.7333333rem;
    }
  }
  .list {
    margin-left: auto;
    margin-right: auto;
    width: 40rem;
  }
  .list:after {
    content: "";
    display: block;
    clear: both;
  }
  @media screen and (min-width: 813px) {
    .list-small {
      width: 40rem;
    }
  }
  @media screen and (max-width: 812px) {
    .list {
      width: 20rem;
    }
  }
  .list-item {
    margin-top: 2rem;
    padding: 0 1.3333333rem;
    width: 50%;
    box-sizing: border-box;
    float: left;
    text-align: center;
  }
  .list-item:nth-child(1),
  .list-item:nth-child(2) {
    margin-top: 0;
  }
  @media screen and (max-width: 812px) {
    .list-item {
      margin-top: 3.3333333rem;
      padding: 0;
      width: 100%;
      float: none;
    }
    .list-item:nth-child(2) {
      margin-top: 3.3333333rem;
    }
  }
  @media screen and (min-width: 813px) {
    .list-small .list-item {
      width: 33.3333333%;
    }
    .list-small .list-item:nth-child(3) {
      margin-top: 0;
    }
  }
  .list-image {
    display: block;
    width: 100%;
    position: relative;
    opacity: 0;
    -webkit-filter: blur(1.3333333rem) grayscale(1);
    filter: blur(1.3333333rem) grayscale(1);
    transition-property: -webkit-filter, filter, opacity;
    transition-duration: 1.2s;
  }
  .on .list-image {
    opacity: 1;
    -webkit-filter: blur(0px) grayscale(0);
    filter: blur(0px) grayscale(0);
  }
  .list-image-inner {
    display: block;
    overflow: hidden;
    position: relative;
  }
  .list-image-inner:before {
    content: "";
    display: block;
    padding-top: 100%;
  }
  .list-image img {
    display: block;
    width: 100%;
    height: 100%;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    opacity: 1;
    transition-property: opacity, -webkit-transform, transform;
    transition-duration: 1s;
  }
  @media screen and (max-width: 812px) {
    .list-image img {
      opacity: 0;
      transition-duration: 0.8s, 0.6s, 0.6s;
    }
  }
  @media screen and (min-width: 813px) {
    .list-image-inner img:nth-child(1) {
      opacity: 1;
    }
    .list-image-inner img:nth-child(2) {
      opacity: 0;
    }
    .list-image-inner:hover img:nth-child(1) {
      opacity: 0;
    }
    .list-image-inner:hover img:nth-child(2) {
      opacity: 1;
    }
  }
  .list-item:nth-child(1) .list-image {
    transition-delay: 0s;
  }
  .list-item:nth-child(2) .list-image {
    transition-delay: 0.3s;
  }
  .list-item:nth-child(3) .list-image {
    transition-delay: 0s;
  }
  .list-item:nth-child(4) .list-image {
    transition-delay: 0.3s;
  }
  @media screen and (max-width: 812px) {
    .list-item:nth-child(1) .list-image,
    .list-item:nth-child(2) .list-image,
    .list-item:nth-child(3) .list-image,
    .list-item:nth-child(4) .list-image {
      transition-delay: 0s;
    }
  }
  .list-small .list-item:nth-child(1) .list-image {
    transition-delay: 0s;
  }
  .list-small .list-item:nth-child(2) .list-image {
    transition-delay: 0.2s;
  }
  .list-small .list-item:nth-child(3) .list-image {
    transition-delay: 0.4s;
  }
  @media screen and (max-width: 812px) {
    .list-small .list-item:nth-child(1) .list-image,
    .list-small .list-item:nth-child(2) .list-image,
    .list-small .list-item:nth-child(3) .list-image {
      transition-delay: 0s;
    }
  }
  @media screen and (max-width: 812px) {
    .list-image .active {
      opacity: 1;
    }
  }
  .list-body {
    margin-top: 0.8333333rem;
    opacity: 0;
    -webkit-transform: translate3d(0, 1.3333333rem, 0);
    transform: translate3d(0, 1.3333333rem, 0);
    transition-property: -webkit-transform, transform, opacity;
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
    transition-delay: 0.6s;
  }
  .on .list-body {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  @media screen and (min-width: 813px) {
    .list-small .list-body {
      margin-top: 0.5333333rem;
    }
  }
  @media screen and (max-width: 812px) {
    .list-body {
      margin-top: 1.1rem;
    }
  }
  .list-item:nth-child(1) .list-body {
    transition-delay: 0.6s;
  }
  .list-item:nth-child(2) .list-body {
    transition-delay: 0.9s;
  }
  .list-item:nth-child(3) .list-body {
    transition-delay: 0.6s;
  }
  .list-item:nth-child(4) .list-body {
    transition-delay: 0.9s;
  }
  @media screen and (max-width: 812px) {
    .list-item:nth-child(1) .list-body,
    .list-item:nth-child(2) .list-body,
    .list-item:nth-child(3) .list-body,
    .list-item:nth-child(4) .list-body {
      transition-delay: 0.6s;
    }
  }
  .list-small .list-item:nth-child(1) .list-body {
    transition-delay: 0.4s;
  }
  .list-small .list-item:nth-child(2) .list-body {
    transition-delay: 0.6s;
  }
  .list-small .list-item:nth-child(3) .list-body {
    transition-delay: 0.8s;
  }
  @media screen and (max-width: 812px) {
    .list-small .list-item:nth-child(1) .list-body,
    .list-small .list-item:nth-child(2) .list-body,
    .list-small .list-item:nth-child(3) .list-body {
      transition-delay: 0.6s;
    }
  }
  .list-label {
    font-family: "DM Sans", sans-serif;
    font-size: 0.5rem;
    color: #64d4ca;
  }
  @media screen and (max-width: 812px) {
    .list-label {
      font-size: 0.8rem;
    }
  }
  .list-name {
    margin-top: -0.0666667rem;
  }
  @media screen and (max-width: 812px) {
    .list-name {
      margin: -0.1666667rem -2.5rem 0;
    }
  }
  .list-button {
    margin: 0.5666667rem auto 0;
    width: 5.6666667rem;
  }
  @media screen and (min-width: 813px) {
    .list-small .list-button {
      margin-top: 0.5rem;
    }
  }
  @media screen and (max-width: 812px) {
    .list-button {
      margin-top: 0.8333333rem;
      width: 11.3333333rem;
    }
  }
  .coming {
    padding-top: 3.3rem;
    padding-bottom: 2.1333333rem;
    background: #f2eae7;
    position: relative;
  }
  @media screen and (max-width: 812px) {
    .coming {
      padding-top: 4.2333333rem;
      padding-bottom: 1.6333333rem;
    }
  }
  .coming-title {
    width: 100%;
  }
  .coming-title span {
    display: block;
    padding-top: 4.1rem;
    width: 100%;
    height: 0;
    background-repeat: repeat-x;
    background-position: 0 0;
    background-size: auto 100%;
    background-image: url("../images/1.png");
    overflow: hidden;
    -webkit-transform: translate3d(19.1666667rem, 0, 0);
    transform: translate3d(19.1666667rem, 0, 0);
    opacity: 0;
    transition-property: -webkit-transform, transform, opacity;
    transition-duration: 6s, 6s, 1s;
    transition-timing-function: linear, linear, ease-in-out;
  }
  .on .coming-title span {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    -webkit-animation: coming-title-pc 12s infinite linear 6s;
    animation: coming-title-pc 12s infinite linear 6s;
  }
  @media screen and (max-width: 812px) {
    .coming-title span {
      padding-top: 4.3666667rem;
      background-image: url("../images/1.png");
      -webkit-transform: translate3d(10.125rem, 0, 0);
      transform: translate3d(10.125rem, 0, 0);
      transition-duration: 3s, 3s, 1s;
    }
    .on .coming-title span {
      -webkit-animation: coming-title-sp 12s infinite linear 3s;
      animation: coming-title-sp 12s infinite linear 3s;
    }
  }
  @-webkit-keyframes coming-title-pc {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -38.3333333rem 0;
    }
  }
  @keyframes coming-title-pc {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -38.3333333rem 0;
    }
  }
  @-webkit-keyframes coming-title-sp {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -40.5rem 0;
    }
  }
  @keyframes coming-title-sp {
    0% {
      background-position: 0 0;
    }
    100% {
      background-position: -40.5rem 0;
    }
  }
  .coming-list {
    margin: 1.0666667rem auto 0;
    width: 26.6666667rem;
    text-align: center;
  }
  @media screen and (max-width: 812px) {
    .coming-list {
      margin-top: 0.6rem;
      width: 20rem;
    }
  }
  .coming-item {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-justify-content: center;
    justify-content: center;
    padding-top: 0.0666667rem;
    height: 6.3333333rem;
    box-sizing: border-box;
    position: relative;
    opacity: 0;
    -webkit-transform: translate3d(0, 1.3333333rem, 0);
    transform: translate3d(0, 1.3333333rem, 0);
    transition-property: -webkit-transform, transform, opacity;
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  }
  .on .coming-item {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .coming-item:nth-child(1) {
    transition-delay: 0.6s;
  }
  .coming-item:nth-child(2) {
    transition-delay: 0.8s;
  }
  .coming-item:nth-child(3) {
    transition-delay: 1s;
  }
  @media screen and (max-width: 812px) {
    .coming-item {
      padding-top: 0;
      padding-bottom: 0.2666667rem;
      height: 8.5rem;
    }
  }
  .coming-item:before {
    content: "";
    display: block;
    width: 100%;
    height: 1px;
    background: #fff;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
  }
  .coming-item:first-child:before {
    display: none;
  }
  .coming-label {
    font-family: "DM Sans", sans-serif;
    font-size: 0.5rem;
    color: #64d4ca;
  }
  @media screen and (max-width: 812px) {
    .coming-label {
      font-size: 0.8rem;
    }
  }
  .coming-name {
    margin-top: 0.0666667rem;
  }
  @media screen and (max-width: 812px) {
    .coming-name {
      margin-top: 0.2rem;
    }
  }
  .item {
    padding-top: 3.1333333rem;
    padding-bottom: 3.4rem;
    background: #fff;
    position: relative;
  }
  @media screen and (max-width: 812px) {
    .item {
      padding-top: 2.5rem;
      padding-bottom: 2.7333333rem;
    }
  }
  .item-inner {
    margin-left: auto;
    margin-right: auto;
    width: 31rem;
  }
  .item-inner:after {
    content: "";
    display: block;
    clear: both;
  }
  @media screen and (max-width: 812px) {
    .item-inner {
      width: 21rem;
    }
  }
  .item-title {
    margin-top: 0.4rem;
    width: 10.6666667rem;
    float: right;
    letter-spacing: -0.04em;
    line-height: 1;
    font-feature-settings: normal;
    font-family: "Miller Ban Lt", serif;
    font-size: 1.6666667rem;
    opacity: 0;
    -webkit-transform: translate3d(0, 1.3333333rem, 0);
    transform: translate3d(0, 1.3333333rem, 0);
    transition-property: -webkit-transform, transform, opacity;
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
    transition-delay: 0.5s;
  }
  .on .item-title {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .item-title span {
    display: block;
  }
  .item-title b {
    display: block;
    color: #64d4ca;
  }
  @media screen and (max-width: 812px) {
    .item-title {
      margin-top: 0;
      width: 100%;
      float: none;
      text-align: center;
      font-size: 3rem;
      transition-delay: 0s;
    }
  }
  .item-visual {
    margin: 0 1.6666667rem;
    width: 13.3333333rem;
    float: left;
    position: relative;
  }
  @media screen and (max-width: 812px) {
    .item-visual {
      margin: 2.3333333rem auto 0;
      width: 18.6666667rem;
      float: none;
    }
  }
  .item-image {
    position: relative;
    opacity: 0;
    -webkit-transform: rotate(4deg) translate3d(10%, 0, 0);
    transform: rotate(4deg) translate3d(10%, 0, 0);
    -webkit-transform-origin: bottom center;
    transform-origin: bottom center;
    transition-property: -webkit-transform, transform, opacity;
    transition-duration: 1s;
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
  }
  .on .item-image {
    opacity: 1;
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
    transform: rotate(0deg) translate3d(0, 0, 0);
  }
  .item-image:before {
    content: "";
    display: block;
    padding-top: 133.2142857%;
  }
  @media screen and (max-width: 812px) {
    .item-image {
      transition-delay: 0.3s;
    }
  }
  .item-image li {
    overflow: hidden;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 1;
    opacity: 0;
    visibility: hidden;
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
    transform: rotate(0deg) translate3d(0, 0, 0);
    transition-property: -webkit-transform, transform, opacity, visibility;
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.34, 1.56, 0.64, 1);
    cursor: pointer;
  }
  .item-image [data-index="0"] {
    -webkit-transform: rotate(0deg) translate3d(0, 0, 0);
    transform: rotate(0deg) translate3d(0, 0, 0);
    visibility: visible;
    opacity: 1;
    z-index: 4;
    transition-delay: 0.2s;
  }
  .item-image [data-index="1"] {
    -webkit-transform: rotate(3deg) translate3d(0, 0, 0);
    transform: rotate(3deg) translate3d(0, 0, 0);
    visibility: visible;
    opacity: 1;
    z-index: 3;
    transition-delay: 0.2s;
  }
  .item-image [data-index="2"] {
    -webkit-transform: rotate(6deg) translate3d(10%, 0, 0);
    transform: rotate(6deg) translate3d(10%, 0, 0);
    visibility: hidden;
    opacity: 0;
    z-index: 2;
  }
  .item-image [data-index="-1"] {
    -webkit-transform: rotate(-9deg) translate3d(-20%, 0%, 0);
    transform: rotate(-9deg) translate3d(-20%, 0%, 0);
    opacity: 0;
    visibility: hidden;
    z-index: 5;
  }
  .item-arrow {
    width: 2.8666667rem;
    height: 2.8666667rem;
    position: absolute;
    top: 50%;
    margin-top: -1.4333333rem;
    opacity: 0;
    transition-property: -webkit-transform, transform, opacity;
    transition-duration: 0.6s;
    transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1);
    transition-delay: 0.2s;
  }
  .on .item-arrow {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .item-arrow svg {
    width: 0.4666667rem;
    height: 100%;
    stroke: #000;
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    margin: auto;
    transition: stroke 0.4s;
  }
  .item-arrow:hover svg {
    stroke: #81d8d0;
  }
  @media screen and (max-width: 812px) {
    .item-arrow {
      width: 2.8rem;
      height: 100%;
      top: 0;
      margin-top: 0;
      transition-delay: 0.5s;
    }
    .item-arrow svg {
      width: 1rem;
      stroke: #6f6f6f;
    }
    .item-arrow:hover svg {
      stroke: #6f6f6f;
    }
  }
  .item-arrow-prev {
    right: 100%;
    -webkit-transform: translate3d(100%, 0, 0);
    transform: translate3d(100%, 0, 0);
  }
  .item-arrow-prev svg {
    -webkit-transform: rotate(180deg);
    transform: rotate(180deg);
  }
  .item-arrow-next {
    left: 100%;
    -webkit-transform: translate3d(-100%, 0, 0);
    transform: translate3d(-100%, 0, 0);
  }
  .item-counter {
    text-align: right;
    letter-spacing: 0.04em;
    font-family: "Miller Ban Lt", serif;
    font-size: 0.5333333rem;
    position: absolute;
    top: 100%;
    right: -0.0333333rem;
    margin-top: 0.2666667rem;
    opacity: 0;
    transition-property: opacity;
    transition-duration: 1.2s;
    transition-delay: 0.6s;
  }
  .on .item-counter {
    opacity: 1;
  }
  .item-counter b {
    margin-right: 0.2rem;
    font-size: 0.8666667rem;
    color: #64d4ca;
  }
  @media screen and (max-width: 812px) {
    .item-counter {
      font-family: "DM Sans", sans-serif;
      font-size: 0.8rem;
      right: -0.1333333rem;
      margin-top: 0.7333333rem;
      transition-delay: 1.1s;
    }
    .item-counter b {
      margin-right: 0.3333333rem;
      font-size: 1.3333333rem;
    }
  }
  .item-body {
    margin-top: 0.5rem;
    width: 10.6666667rem;
    float: right;
    opacity: 0;
    -webkit-transform: translate3d(0, 1.3333333rem, 0);
    transform: translate3d(0, 1.3333333rem, 0);
    transition-property: -webkit-transform, transform, opacity;
    transition-duration: 1.2s;
    transition-timing-function: cubic-bezier(0.25, 1, 0.5, 1);
    transition-delay: 0.6s;
  }
  .on .item-body {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  @media screen and (max-width: 812px) {
    .item-body {
      margin-top: 3.3333333rem;
      width: 100%;
      float: none;
    }
  }
  .item-button {
    margin-top: 1.1rem;
  }
  @media screen and (max-width: 812px) {
    .item-button {
      margin-top: 0.9rem;
    }
  }
  .info {
    padding-bottom: 1.9666667rem;
    background: #f0f0f0;
    text-align: center;
    color: #000;
    position: relative;
  }
  @media screen and (max-width: 812px) {
    .info {
      padding-bottom: 2.3666667rem;
    }
  }
  .info-back {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    padding-top: 1.7rem;
  }
  .info-back a {
    display: block;
  }
  .info-back a:after {
    content: "";
    display: block;
    margin-top: 0rem;
    width: 100%;
    height: 0;
    border-bottom: 1px solid;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  .info-back a:hover:after {
    -webkit-animation: hover-line 0.8s cubic-bezier(0.76, 0, 0.24, 1) 1;
    animation: hover-line 0.8s cubic-bezier(0.76, 0, 0.24, 1) 1;
  }
  .info-back span {
    display: block;
    padding-left: 0.5333333rem;
    line-height: 2.1428571;
    letter-spacing: 0.04em;
    font-family: "DM Sans", sans-serif;
    font-size: 0.4666667rem;
    position: relative;
  }
  .info-back span:before {
    content: "";
    display: block;
    width: 0.2666667rem;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("../images/1.png");
    position: absolute;
    top: 0;
    left: 0;
    bottom: 0;
  }
  @media screen and (max-width: 812px) {
    .info-back {
      padding-top: 2.7333333rem;
    }
    .info-back a {
      padding: 0 1.3333333rem;
    }
    .info-back span {
      padding-left: 0.8666667rem;
      font-size: 0.8rem;
    }
    .info-back span:before {
      width: 0.4333333rem;
      background-image: url("../images/1.png");
    }
  }
  .info-note {
    margin-top: 1.8666667rem;
    line-height: 1.5;
    font-size: 0.4rem;
  }
  @media screen and (max-width: 812px) {
    .info-note {
      margin-top: 2.9rem;
      line-height: 1.4545455;
      font-size: 0.7333333rem;
    }
  }
  .info-credit {
    margin-top: 0.6666667rem;
    line-height: 1.538461538;
    font-size: 0.4333333rem;
  }
  @media screen and (max-width: 812px) {
    .info-credit {
      margin-top: 1.7333333rem;
      line-height: 1.4545455;
      font-size: 0.7333333rem;
    }
  }
  .info-contact {
    padding-top: 0.6666667rem;
    line-height: 1.7142857;
    font-size: 0.4666667rem;
  }
  .info-contact:first-child {
    padding-top: 2.5666667rem;
  }
  @media screen and (max-width: 812px) {
    .info-contact {
      padding-top: 1.4rem;
      line-height: 1.8181818;
      font-size: 0.7333333rem;
    }
    .info-contact:first-child {
      padding-top: 2.4333333rem;
    }
  }
  .info-official {
    margin: 1.1333333rem auto 0;
    width: 10.6666667rem;
  }
  @media screen and (max-width: 812px) {
    .info-official {
      margin-top: 1.6333333rem;
      width: 20rem;
    }
  }
  .info-sns {
    margin-top: 1.4333333rem;
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
  }
  .info-sns li {
    margin: 0 0.3666667rem;
    line-height: 1.5294118;
    font-family: "DM Sans", sans-serif;
    font-size: 0.5666667rem;
    color: #64d4ca;
  }
  .info-sns a {
    display: block;
  }
  .info-sns a:after {
    content: "";
    display: block;
    margin-top: 0rem;
    width: 100%;
    height: 0;
    border-bottom: 1px solid;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  .info-sns a:hover:after {
    -webkit-animation: hover-line 0.8s cubic-bezier(0.76, 0, 0.24, 1) 1;
    animation: hover-line 0.8s cubic-bezier(0.76, 0, 0.24, 1) 1;
  }
  @media screen and (max-width: 812px) {
    .info-sns {
      margin-top: 1.7333333rem;
    }
    .info-sns li {
      margin: 0 0.6333333rem;
      letter-spacing: 0.04em;
      line-height: 1.75;
      font-size: 0.9333333rem;
    }
    .info-sns a {
      padding: 0.6666667rem 0;
    }
  }
  .info-share {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    -webkit-align-items: center;
    align-items: center;
    margin-top: 1.6666667rem;
  }
  .info-share dt {
    letter-spacing: 0.04em;
    font-family: "DM Sans", sans-serif;
    font-size: 0.4666667rem;
  }
  .info-share dd {
    display: -webkit-flex;
    display: flex;
    margin-left: 0.4rem;
  }
  .info-share dd a {
    display: block;
    margin-left: 0.4rem;
    width: 1.3333333rem;
    height: 1.3333333rem;
    transition-property: opacity;
    transition-duration: 0.4s;
  }
  .info-share dd a:hover {
    opacity: 0.6;
  }
  @media screen and (max-width: 812px) {
    .info-share dd a:hover {
      opacity: 1;
    }
  }
  .info-share dd a:first-child {
    margin-left: 0;
  }
  @media screen and (max-width: 812px) {
    .info-share {
      margin-top: 1.9333333rem;
    }
    .info-share dt {
      font-size: 0.8rem;
    }
    .info-share dd {
      margin-left: 1.0666667rem;
    }
    .info-share dd a {
      margin-left: 1.0333333rem;
      width: 3.2rem;
      height: 3.2rem;
    }
  }
  .info-top {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 1.6rem;
  }
  .info-top a {
    display: block;
  }
  .info-top a:after {
    content: "";
    display: block;
    margin-top: 0.1rem;
    width: 100%;
    height: 0;
    border-bottom: 1px solid;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  .info-top a:hover:after {
    -webkit-animation: hover-line 0.8s cubic-bezier(0.76, 0, 0.24, 1) 1;
    animation: hover-line 0.8s cubic-bezier(0.76, 0, 0.24, 1) 1;
  }
  .info-top span {
    display: block;
    padding-right: 0.4666667rem;
    line-height: 2;
    letter-spacing: 0.04em;
    font-size: 0.4rem;
    position: relative;
  }
  .info-top span:before {
    content: "";
    display: block;
    width: 0.3666667rem;
    height: 100%;
    background-repeat: no-repeat;
    background-position: center;
    background-size: contain;
    background-image: url("../images/1.png");
    position: absolute;
    right: 0;
    top: 0;
    bottom: 0;
  }
  @media screen and (max-width: 812px) {
    .info-top {
      margin-top: 1.6rem;
    }
    .info-top a {
      padding: 0.6666667rem 0;
    }
    .info-top span {
      padding-left: 0.1rem;
      padding-right: 1.1333333rem;
      font-size: 0.7333333rem;
    }
    .info-top span:before {
      width: 0.6333333rem;
      background-image: url("../images/1.png");
      right: 0.1333333rem;
    }
  }
  .footer {
    padding: 1.3333333rem 0;
    background: #303030;
    text-align: center;
    color: #fff;
    position: relative;
  }
  @media screen and (max-width: 812px) {
    .footer {
      padding: 2rem 0 1.8666667rem;
    }
  }
  .footer-logo {
    margin: 0 auto;
    width: 5.2666667rem;
    height: 1.5443333rem;
  }
  .footer-logo a {
    display: block;
    width: 100%;
    height: 100%;
    transition-property: opacity;
    transition-duration: 0.4s;
  }
  .footer-logo a:hover {
    opacity: 0.6;
  }
  @media screen and (max-width: 812px) {
    .footer-logo a:hover {
      opacity: 1;
    }
  }
  .footer-logo svg {
    width: 100%;
    height: 100%;
    fill: #fff;
  }
  @media screen and (max-width: 812px) {
    .footer-logo {
      width: 8rem;
      height: 2.346rem;
    }
  }
  .footer-sns {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 0.6666667rem;
    line-height: 1;
  }
  .footer-sns a {
    display: block;
    padding: 0.5rem;
    transition-property: opacity;
    transition-duration: 0.4s;
  }
  .footer-sns a:hover {
    opacity: 0.6;
  }
  @media screen and (max-width: 812px) {
    .footer-sns a:hover {
      opacity: 1;
    }
  }
  .footer-sns svg {
    width: 0.8333333rem;
    height: 0.8333333rem;
    fill: #fff;
  }
  @media screen and (max-width: 812px) {
    .footer-sns {
      margin-top: 2.3333333rem;
    }
    .footer-sns a {
      padding: 1.1rem;
    }
    .footer-sns svg {
      width: 1.8666667rem;
      height: 1.8666667rem;
    }
  }
  .footer-copy {
    margin-top: 0.6rem;
    letter-spacing: 0.02em;
    line-height: 1.4;
    font-size: 0.3333333rem;
  }
  @media screen and (max-width: 812px) {
    .footer-copy {
      margin-top: 1.9333333rem;
      line-height: 1.75;
      font-feature-settings: "palt";
      font-family: "Noto Sans CJK JP", "Noto Sans CJK", "Hiragino Sans",
        "Hiragino Kaku Gothic Pro", "Meiryo", "YuGothic", "游ゴシック体",
        "Yu Gothic", "游ゴシック", sans-serif;
      font-size: 0.6666667rem;
    }
  }
  .util-logo {
    width: 3.3333333rem;
    height: 0.9666667rem;
    position: fixed;
    top: 1rem;
    left: 1rem;
    z-index: 10001;
    opacity: 1;
    visibility: visible;
    transition-property: opacity, visibility;
    transition-duration: 0.8s;
  }
  .into .util-logo {
    opacity: 0;
    visibility: hidden;
  }
  .into.menu-visible .util-logo {
    opacity: 1;
    visibility: visible;
  }
  .util-logo a {
    display: block;
    width: 100%;
    height: 100%;
    transition-property: opacity;
    transition-duration: 0.4s;
  }
  .util-logo a:hover {
    opacity: 0.6;
  }
  @media screen and (max-width: 812px) {
    .util-logo a:hover {
      opacity: 1;
    }
  }
  .util-logo svg {
    width: 100%;
    height: 100%;
    fill: #fff;
  }
  @media screen and (max-width: 812px) {
    .util-logo {
      width: 3.8rem;
      height: 1.1333333rem;
    }
  }
  .util-menu {
    width: 3rem;
    height: 2.6333333rem;
    position: fixed;
    right: 0;
    top: 0;
    z-index: 10001;
  }
  .util-menu span {
    display: block;
    margin-left: auto;
    margin-right: auto;
    width: 1rem;
    height: 0;
    overflow: hidden;
    border-bottom-color: #fff;
    border-bottom-width: 1px;
    border-bottom-style: solid;
    position: absolute;
    top: 50%;
    left: 0;
    right: 0;
    transition-property: -webkit-transform, transform, opacity, border-color;
    transition-duration: 0.5s, 0.5s, 0.5s, 1s;
    transition-timing-function: cubic-bezier(0.76, 0, 0.24, 1),
      cubic-bezier(0.76, 0, 0.24, 1), cubic-bezier(0.76, 0, 0.24, 1), ease;
  }
  @media screen and (max-width: 812px) {
    .util-menu {
      width: 3.3333333rem;
      height: 2.8666667rem;
    }
    .util-menu span {
      width: 1.3333333rem;
      border-bottom-width: 2px;
    }
  }
  @media screen and (max-width: 750px) {
    .util-menu span {
      border-bottom-width: 0.0666667rem;
    }
  }
  @media screen and (max-width: 375px) {
    .util-menu span {
      border-bottom-width: 1px;
    }
  }
  .util-menu span:nth-child(1) {
    -webkit-transform: translate3d(0, -10px, 0);
    transform: translate3d(0, -10px, 0);
  }
  .util-menu span:nth-child(3) {
    -webkit-transform: translate3d(0, 10px, 0);
    transform: translate3d(0, 10px, 0);
  }
  @media screen and (max-width: 812px) {
    .util-menu span:nth-child(1) {
      -webkit-transform: translate3d(0, -1.5625rem, 0);
      transform: translate3d(0, -1.5625rem, 0);
    }
    .util-menu span:nth-child(3) {
      -webkit-transform: translate3d(0, 1.5625rem, 0);
      transform: translate3d(0, 1.5625rem, 0);
    }
  }
  .into .util-menu span {
    border-bottom-color: #fff;
  }
  .menu-visible.into .util-menu span {
    border-bottom-color: #fff;
  }
  .menu-visible .util-menu span:nth-child(1) {
    -webkit-transform: translate3d(0, 0, 0) rotate(-45deg);
    transform: translate3d(0, 0, 0) rotate(-45deg);
  }
  .menu-visible .util-menu span:nth-child(2) {
    opacity: 0;
  }
  .menu-visible .util-menu span:nth-child(3) {
    -webkit-transform: translate3d(0, 0, 0) rotate(45deg);
    transform: translate3d(0, 0, 0) rotate(45deg);
  }
  .menu {
    display: -webkit-flex;
    display: flex;
    width: 100%;
    height: 100%;
    overflow: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
    background: #161616;
    text-align: center;
    color: #fff;
    position: fixed;
    top: 0;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 10000;
    opacity: 0;
    visibility: hidden;
    transition-property: opacity, visibility;
    transition-duration: 0.6s;
  }
  .menu-visible .menu {
    opacity: 1;
    visibility: visible;
  }
  .menu-inner {
    margin: auto;
    padding: 3.3333333rem 0;
  }
  @media screen and (max-width: 812px) {
    .menu-inner {
      padding: 4.2333333rem 0;
    }
  }
  .menu-head {
    display: -webkit-flex;
    display: flex;
    -webkit-flex-direction: column;
    flex-direction: column;
    -webkit-align-items: center;
    align-items: center;
    opacity: 0;
    -webkit-transform: translate3d(0, 0.8rem, 0);
    transform: translate3d(0, 0.8rem, 0);
    transition-property: opacity, -webkit-transform, transform;
    transition-duration: 0.6s;
    transition-delay: 0s;
  }
  .menu-visible .menu-head {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
    transition-delay: 0.3s;
  }
  .menu-logo {
    display: block;
    transition-property: opacity;
    transition-duration: 0.4s;
  }
  .menu-logo:hover {
    opacity: 0.6;
  }
  @media screen and (max-width: 812px) {
    .menu-logo:hover {
      opacity: 1;
    }
  }
  .menu-logo span {
    display: block;
    line-height: 1.1428571;
    letter-spacing: -0.04em;
    font-family: "Miller Ban Lt", serif;
    font-size: 0.9333333rem;
  }
  .menu-logo svg {
    margin: -0.7rem auto 0;
    width: 5.2333333rem;
    height: 2.2rem;
    fill: #81d8d0;
    position: relative;
    left: 0.1rem;
  }
  @media screen and (max-width: 812px) {
    .menu-logo span {
      margin-left: -0.1333333rem;
      line-height: 1.1111111;
      letter-spacing: -0.06em;
      font-size: 1.2rem;
    }
    .menu-logo svg {
      margin-top: -0.7rem;
      width: 6.8333333rem;
      height: 2.8666667rem;
      left: 0.1333333rem;
    }
  }
  .menu-top {
    display: block;
    margin-top: -0.1333333rem;
    padding: 0.3333333rem;
    line-height: 1.3;
    letter-spacing: -0.02em;
    font-family: "Miller Ban Lt", serif;
    font-size: 0.6666667rem;
    position: relative;
  }
  .menu-top:after {
    content: "";
    display: block;
    margin-top: 0rem;
    width: 100%;
    height: 0;
    border-bottom: 1px solid;
    -webkit-transform: scaleX(1);
    transform: scaleX(1);
    -webkit-transform-origin: left center;
    transform-origin: left center;
  }
  .menu-top:hover:after {
    -webkit-animation: hover-line 0.8s cubic-bezier(0.76, 0, 0.24, 1) 1;
    animation: hover-line 0.8s cubic-bezier(0.76, 0, 0.24, 1) 1;
  }
  @media screen and (max-width: 812px) {
    .menu-top {
      margin-top: 1rem;
      padding: 0.6666667rem 1.3333333rem;
      line-height: 1.2352941;
      font-size: 1.1333333rem;
    }
  }
  .menu-body {
    margin-top: 1.2333333rem;
  }
  @media screen and (max-width: 812px) {
    .menu-body {
      margin-top: 2.5333333rem;
    }
  }
  .menu-item {
    display: -webkit-flex;
    display: flex;
    -webkit-justify-content: center;
    justify-content: center;
    margin-top: 1.2rem;
    opacity: 0;
    -webkit-transform: translate3d(0, 0.8rem, 0);
    transform: translate3d(0, 0.8rem, 0);
    transition-property: opacity, -webkit-transform, transform;
    transition-duration: 0.6s;
    transition-delay: 0s;
  }
  .menu-item:first-child {
    margin-top: 0;
  }
  @media screen and (max-width: 812px) {
    .menu-item {
      margin-top: 2.5333333rem;
    }
  }
  .menu-visible .menu-item {
    opacity: 1;
    -webkit-transform: translate3d(0, 0, 0);
    transform: translate3d(0, 0, 0);
  }
  .menu-visible .menu-item:nth-child(1) {
    transition-delay: 0.4s;
  }
  .menu-visible .menu-item:nth-child(2) {
    transition-delay: 0.5s;
  }
  .menu-visible .menu-item:nth-child(3) {
    transition-delay: 0.6s;
  }
  .menu-visible .menu-item:nth-child(4) {
    transition-delay: 0.7s;
  }
  .menu-item-inner {
    display: block;
  }
  a.menu-item-inner {
    transition-property: opacity;
    transition-duration: 0.4s;
  }
  a.menu-item-inner:hover {
    opacity: 0.6;
  }
  @media screen and (max-width: 812px) {
    a.menu-item-inner:hover {
      opacity: 1;
    }
  }
  div.menu-item-inner {
    opacity: 0.6;
  }
  .menu-label {
    display: block;
    font-family: "DM Sans", sans-serif;
    font-size: 0.5rem;
    color: #64d4ca;
  }
  @media screen and (max-width: 812px) {
    .menu-label {
      font-size: 0.8rem;
    }
  }
  .menu-name {
    margin-top: 0.0666667rem;
  }
  @media screen and (max-width: 812px) {
    .menu-name {
      margin-top: 0.1rem;
    }
  }
  