@charset "UTF-8";
/*
 * Sass    : Dart sass
 * 命名規則 : BEM ベース
 *   [接頭辞]
 *   .-****  : Variant
 *   ._****  : Helpers
 *   .c-**** : 汎用コンポーネント
 *   .l-**** : レイアウト
 *   .f-**** : フォーム系コンポーネント
 */
@import url("https://use.fontawesome.com/releases/v5.15.1/css/all.css");
@import url("https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;700&display=swap");
@import url("https://fonts.googleapis.com/css2?family=Shippori+Mincho:wght@400;500;600;700;800&display=swap");
/**************************************************/
/* helpers */
/**************************************************/
._disp-ib {
  display: inline-block !important;
}

@media (max-width: 1239px) {
  ._view-cw-high {
    display: none !important;
  }
}
@media (min-width: 1240px) {
  ._view-cw-low {
    display: none !important;
  }
}
@media (max-width: 1279px) {
  ._view-xl-high {
    display: none !important;
  }
}
@media (min-width: 1280px) {
  ._view-xl-low {
    display: none !important;
  }
}
@media (max-width: 1023px) {
  ._view-lg-high {
    display: none !important;
  }
}
@media (min-width: 1024px) {
  ._view-lg-low {
    display: none !important;
  }
}
@media (max-width: 767px) {
  ._view-md-high {
    display: none !important;
  }
}
@media (min-width: 768px) {
  ._view-md-low {
    display: none !important;
  }
}
@media (max-width: 479px) {
  ._view-sm-high {
    display: none !important;
  }
}
@media (min-width: 480px) {
  ._view-sm-low {
    display: none !important;
  }
}
._clearfix {
  zoom: 1;
}
._clearfix:after {
  content: "";
  display: block;
  clear: both;
  overflow: auto;
}

._center {
  text-align: center !important;
}

._left {
  text-align: left !important;
}

._right {
  text-align: right !important;
}

._float-l {
  float: left !important;
}

._float-r {
  float: right !important;
}

._clear {
  clear: both !important;
}

._hidden {
  display: none !important;
}

._disp-ib {
  display: inline-block !important;
}

._margin0 {
  margin: 0 !important;
}

._padding0 {
  padding: 0 !important;
}

._border0 {
  border: none !important;
}

._fixed {
  position: fixed !important;
}

._absolute {
  position: absolute !important;
}

._static {
  position: static !important;
}

._xsmall {
  font-size: 75% !important;
}

._small {
  font-size: 88% !important;
}

._large {
  font-size: 113% !important;
}

._xlarge {
  font-size: 133% !important;
}

._nowrap {
  white-space: nowrap !important;
}

._nobg {
  background: none !important;
}

._full {
  width: 100% !important;
}

/**************************************************/
/* base */
/**************************************************/
:root {
  font-size: min(16px, 1.6666666667vw);
}
@media (max-width: 767px) {
  :root {
    font-size: 4.2666666667vw;
  }
}

html {
  -webkit-font-smoothing: antialiased;
}

body {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  min-width: 320px;
  padding: 0;
  color: white;
  font-size: 1rem;
  line-height: 1.5;
  background: #16101B;
}
body.-fixed {
  position: fixed;
  width: 100%;
  height: 100%;
}

input,
textarea {
  font-size: 16px;
}

input,
textarea,
select,
button {
  font-family: "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
}

button,
input[type=button],
input[type=submit] {
  -webkit-transition: opacity 0.15s ease-out;
  transition: opacity 0.15s ease-out;
}
button:hover,
input[type=button]:hover,
input[type=submit]:hover {
  opacity: 0.7;
}

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

a {
  color: #0068ac;
  text-decoration: underline;
  -webkit-transition: opacity 0.15s ease-out;
  transition: opacity 0.15s ease-out;
}
a:hover {
  opacity: 0.7;
}
a:hover {
  text-decoration: none;
}

em {
  font-style: normal;
}

a.-telink,
a.js-telink {
  cursor: default;
  opacity: 1 !important;
}

body._ios a:hover {
  opacity: 1;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* Header */
/**************************************************/
.l-header {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 99;
}

.l-menuBtn {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 3.125rem;
  height: 3.125rem;
  margin: 0;
  z-index: 999;
  cursor: pointer;
}
.l-menuBtn__bar {
  top: 50%;
  left: 50%;
  margin-top: -0.0625rem;
  margin-left: -1.03125rem;
}
.l-menuBtn__bar, .l-menuBtn__bar::before, .l-menuBtn__bar::after {
  display: block;
  position: absolute;
  width: 2.0625rem;
  height: 0.125rem;
  border-radius: 0.125rem;
  background: white;
  content: "";
  -webkit-transition: all 0.2s ease-out;
  transition: all 0.2s ease-out;
}
.l-menuBtn__bar::before {
  top: -0.625rem;
}
.l-menuBtn__bar::after {
  top: 0.625rem;
}
.l-menuBtn.-open .l-menuBtn__bar {
  background-color: transparent;
}
.l-menuBtn.-open .l-menuBtn__bar::before {
  top: 0;
  -webkit-transform: rotate(135deg);
      -ms-transform: rotate(135deg);
          transform: rotate(135deg);
}
.l-menuBtn.-open .l-menuBtn__bar::after {
  top: 0;
  -webkit-transform: rotate(-135deg);
      -ms-transform: rotate(-135deg);
          transform: rotate(-135deg);
}
@media (max-width: 767px) {
  .l-menuBtn {
    display: block;
  }
}

.l-gnav {
  position: absolute;
  top: 0;
  left: 0;
  margin: auto 0;
  line-height: 1;
  height: 100%;
  z-index: 20;
}
.l-gnav__list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  list-style: none;
  margin: 0;
  padding: 3.125rem 0 0 3.75rem;
}
@media (max-width: 1239px) {
  .l-gnav__list {
    padding-left: 1.25rem;
  }
}
.l-gnav__btn {
  display: block;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 0.9375rem;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  color: inherit;
  text-decoration: none;
}
@media (max-width: 767px) {
  .l-gnav {
    display: none;
  }
}

.l-spnav {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background: rgba(0, 0, 0, 0.9);
  z-index: 50;
}
.l-spnav__container {
  scrollbar-width: none;
  -ms-overflow-style: none;
  -webkit-overflow-scrolling: touch;
  max-height: 100%;
  overflow-y: auto;
}
.l-spnav__container::-webkit-scrollbar {
  display: none;
}
.l-spnav__list {
  margin: 0 auto;
  list-style: none;
  padding: 8.75rem 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 2rem;
}
.l-spnav__list > li {
  display: block;
}
.l-spnav__btn {
  display: block;
  color: white;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.25rem;
  font-weight: 500;
  text-decoration: none;
}
@media (min-width: 768px) {
  .l-spnav {
    display: none !important;
  }
}

/**************************************************/
/* Footer */
/**************************************************/
.l-footer {
  position: relative;
  background: #32314C;
  padding: 4rem 0 4.375rem;
}
@media (max-width: 767px) {
  .l-footer {
    padding: 3.125rem 0 2rem;
  }
}
.l-footer__inner {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 1.25rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: flex-end;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 767px) {
  .l-footer__inner {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 4.0625rem;
  }
}
.l-footer__textarea {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.l-footer__heading {
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.25rem;
  margin: 0;
}
.l-footer__heading2 {
  margin: 0.75rem 0 0 0;
  text-decoration: underline;
}
.l-footer__text {
  margin: 0.75rem 0;
  font-size: 0.875rem;
}
.l-footer__copyright {
  display: block;
  margin: 0;
  font-size: 0.75rem;
}
/**************************************************/
/* contents */
/**************************************************/
.l-page-container {
  position: relative;
  overflow: hidden;
}

.l-page-contents {
  max-width: 1200px;
  margin-left: auto;
  margin-right: auto;
  position: relative;
  padding: 0 5rem;
}
.l-page-contents > *:first-child {
  margin-top: 0 !important;
}
@media (max-width: 767px) {
  .l-page-contents {
    padding: 0 1.25rem;
  }
}

/**************************************************/
/* components */
/**************************************************/
/**************************************************/
/* components - basic */
/**************************************************/
.c-text-a {
  font-size: 1rem;
  font-weight: 500;
  line-height: 2;
  margin: 3em auto 0;
}
@media (max-width: 1023px) {
  .c-text-a {
    font-size: 0.875rem;
  }
}

.c-notes-a {
  margin: 3.75rem 0 0 0;
  font-size: 1.125rem;
  font-weight: 500;
  padding: 0;
  list-style: none;
  color: #f80000;
}
.c-notes-a > li {
  padding-left: 1.5em;
  text-indent: -1.5em;
  line-height: 1.7;
}
.c-notes-a > li + li {
  margin-top: 0.5em;
}
@media (max-width: 767px) {
  .c-notes-a {
    font-size: 1rem;
    margin-top: 3.125rem;
  }
}

.c-heading-a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  gap: 0.25rem;
}
.c-heading-a__main {
  font-size: 2.75rem;
  margin: 0;
  font-weight: 500;
}
.c-heading-a__sub {
  font-size: 1.5rem;
  margin: 0;
  font-weight: 400;
}
@media (max-width: 767px) {
  .c-heading-a {
    gap: 0.5rem;
  }
  .c-heading-a__main {
    font-size: 1.8125rem;
  }
  .c-heading-a__sub {
    font-size: 1.25rem;
  }
}

.c-heading-b {
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  background: #008fce;
  padding: 0.25rem 1.5rem;
  color: white;
  font-size: 2rem;
  margin: 5rem 0 0 0;
  font-weight: 500;
  letter-spacing: 0.03em;
}
.c-heading-b small {
  font-size: 1.125rem;
  display: inline-block;
  margin-left: 1em;
}
.c-heading-b.-kaze {
  background: #67af1d;
}
@media (max-width: 767px) {
  .c-heading-b {
    font-size: 1.5rem;
    margin-top: 3.75rem;
    padding: 0.1875rem 1rem;
  }
  .c-heading-b small {
    font-size: 0.9375rem;
  }
}

.c-btn-a {
  background: white;
  border-radius: 6.25rem;
  color: #16101B;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  padding: 1rem 2.5rem;
  position: relative;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  display: inline-block;
  max-width: 22.75rem;
  width: 100%;
  text-decoration: none;
}
.c-btn-a::before {
  content: "";
  position: absolute;
  top: 50%;
  right: 1.875rem;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../../images/arrow01.svg) no-repeat center center/contain;
  width: 0.4375rem;
  height: 0.8125rem;
  text-decoration: none;
}

/**************************************************/
/* pages */
/**************************************************/
/**************************************************/
/* Home */
/**************************************************/
.l-mv {
  position: relative;
  z-index: 0;
}
.l-mv::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: calc(100% + 1.75rem);
  height: 100%;
  background: url(../../images/bg-kv.png) no-repeat top 57% center/cover;
  pointer-events: none;
  z-index: -2;
}
@media (max-width: 767px) {
  .l-mv::before {
    background: url(../../images/bg-kv.png) no-repeat center bottom/cover;
    width: 120%;
    height: calc(100% + 0.625rem);
    top: auto;
    bottom: 0;
    -webkit-transform: translateX(-43%);
        -ms-transform: translateX(-43%);
            transform: translateX(-43%);
  }
}
.l-mv::after {
  position: absolute;
  content: "";
  width: 24.6875rem;
  height: 30.25rem;
  top: -4.8125rem;
  left: -3.875rem;
  border-radius: 50%;
  background: black;
  z-index: -1;
  pointer-events: none;
  -webkit-filter: blur(10.25rem);
          filter: blur(10.25rem);
}
@media (max-width: 767px) {
  .l-mv::after {
    display: none;
  }
}
.l-mv__inner {
  max-width: 1376px;
  margin-left: auto;
  margin-right: auto;
  padding: 0 2rem;
}
@media (max-width: 767px) {
  .l-mv__inner {
    padding: 0 1.25rem;
  }
}
.l-mv__contents {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding: 5rem 0 3.25rem;
  z-index: 5;
  position: relative;
}
.l-mv__contents::before {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  width: 31.875rem;
  height: 57.5rem;
  border-radius: 50%;
  background: black;
  -webkit-filter: blur(11.5rem);
          filter: blur(11.5rem);
  z-index: -2;
}
.l-mv__contents::after {
  content: "";
  position: absolute;
  width: 19.75rem;
  height: 33.375rem;
  bottom: 0;
  right: 0;
  background: url(../../images/deco-kv.png) no-repeat bottom right/contain;
  z-index: -1;
  pointer-events: none;
}
@media (max-width: 767px) {
  .l-mv__contents {
    padding: 6.375rem 0 2.1875rem;
  }
  .l-mv__contents::before {
    height: 36.25rem;
    width: 15.625rem;
    -webkit-filter: blur(5.625rem);
            filter: blur(5.625rem);
    top: 3.125rem;
    -webkit-transform: translateX(-50%);
        -ms-transform: translateX(-50%);
            transform: translateX(-50%);
  }
  .l-mv__contents::after {
    width: 9.0625rem;
    height: 15.375rem;
    right: -2.375rem;
  }
}
.l-mv__lead {
  max-width: 21.875rem;
  margin: 0;
}
.l-mv__lead img {
  -webkit-filter: drop-shadow(0 0 0.5625rem black);
          filter: drop-shadow(0 0 0.5625rem black);
}
@media (max-width: 767px) {
  .l-mv__lead {
    max-width: 100%;
  }
}
.l-mv__title {
  max-width: 13.875rem;
  margin: 1.875rem 0;
  position: relative;
  z-index: 2;
}
.l-mv__title img {
  -webkit-filter: drop-shadow(0.0625rem 0.15625rem 1.59375rem black);
          filter: drop-shadow(0.0625rem 0.15625rem 1.59375rem black);
}
@media (max-width: 767px) {
  .l-mv__title {
    max-width: 13.25rem;
    margin: 1.875rem 0 1.5rem;
  }
}
.l-mv__date {
  max-width: 18.8125rem;
  margin: 0;
}
@media (max-width: 767px) {
  .l-mv__date {
    max-width: 14.875rem;
    margin-right: auto;
    margin-left: -0.1875rem;
    position: relative;
    z-index: 0;
  }
  .l-mv__date::after {
    position: absolute;
    content: "";
    width: 17.375rem;
    height: 7.0625rem;
    top: -1.875rem;
    left: -1.6875rem;
    border-radius: 50%;
    background: black;
    z-index: -1;
    pointer-events: none;
    -webkit-filter: blur(5.625rem);
            filter: blur(5.625rem);
  }
}
.l-mv__sns {
  margin: 1rem 0 0 0;
  line-height: 1.9;
  font-size: 0.875rem;
  text-align: center;
}
.l-mv__sns > small,
.l-mv__sns > a {
  display: inline-block;
  text-decoration: none;
  color: inherit;
  font-size: 0.75rem;
}
@media (max-width: 767px) {
  .l-mv__sns {
    font-size: 0.875rem;
    margin-right: auto;
    line-height: 1.7;
  }
  .l-mv__sns > small,
  .l-mv__sns > a {
    font-size: 0.75rem;
  }
}

.l-ticket {
  padding: 4.375rem 0 7.5rem;
  background: url(../../images/bg-ticket.png) no-repeat top -3.125rem center/100% auto;
}
@media (min-width: 1600px) {
  .l-ticket {
    background: url(../../images/bg-ticket.png) no-repeat center/100% auto;
  }
}
@media (max-width: 767px) {
  .l-ticket {
    background: url(../../images/bg-ticket.png) no-repeat top center/380% auto;
    padding: 4.375rem 0 0;
  }
}

.ticket__title {
  margin: 4.375rem 0 0 0;
  font-size: 2.125rem;
  text-align: center;
  font-weight: 500;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
}
@media (max-width: 767px) {
  .ticket__title {
    margin-top: 2.5rem;
    font-size: 1.5rem;
  }
}
.ticket__wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 1.25rem 2.625rem;
  margin-top: 3.125rem;
}
@media (max-width: 767px) {
  .ticket__wrap {
    margin-top: 1.875rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}
.ticket__link {
  display: block;
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.ticket__lead {
  margin: 4.375rem 0 0 0;
  text-align: center;
  font-size: 1.5rem;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
}
@media (max-width: 767px) {
  .ticket__lead {
    margin-top: 3.125rem;
    font-size: 1.25rem;
  }
}
.ticket__notes {
  margin: 1.5rem auto 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -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;
  width: -webkit-fit-content;
  width: -moz-fit-content;
  width: fit-content;
  padding: 0;
  list-style: none;
}
.ticket__notes > li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.6;
}
@media (max-width: 767px) {
  .ticket__notes {
    margin-top: 1.25rem;
  }
}

.ticket-rule {
  margin-top: 3.125rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border: solid 1px white;
  background: rgba(255, 255, 255, 0.1);
  max-height: 18.4375rem;
  overflow-y: auto;
}
@media (max-width: 767px) {
  .ticket-rule {
    margin-top: 2.5rem;
  }
}
.ticket-rule__contents {
  padding: 1.5rem 4rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  font-size: 0.75rem;
  font-weight: 500;
  line-height: 1.7;
}
@media (max-width: 767px) {
  .ticket-rule__contents {
    padding: 1rem;
    font-size: 0.625rem;
  }
}
.ticket-rule__contents h4, .ticket-rule__contents h5 {
  font-weight: 700;
  margin: 0;
  font-size: 1em;
}
.ticket-rule__contents h5 {
  margin-top: 1em;
}
.ticket-rule__contents p {
  margin: 0;
}
.ticket-rule__contents ul {
  list-style: none;
  margin: 0;
  padding: 0;
}
.ticket-rule__contents ul > li {
  padding-left: 1em;
  position: relative;
}
.ticket-rule__contents ul > li::before {
  position: absolute;
  content: "・";
  top: 0;
  left: 0;
}
.ticket-rule__contents > ol {
  margin: 0 0 0 1.5em;
  padding: 0;
}
.ticket-rule__contents > ol > li > ol {
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: number 0;
}
.ticket-rule__contents > ol > li > ol > li {
  padding-left: 1.6em;
  position: relative;
}
.ticket-rule__contents > ol > li > ol > li::before {
  position: absolute;
  counter-increment: number 1;
  content: "(" counter(number) ")";
  top: 0;
  left: 0;
  text-align: right;
}

.ticket-btn {
  text-align: center;
  margin-top: 2.5rem;
}
@media (max-width: 767px) {
  .ticket-btn {
    margin-top: 2.5rem;
  }
}

.l-entrance {
  padding: 4rem 0 0 0;
}
@media (max-width: 767px) {
  .l-entrance {
    padding-top: 5rem;
  }
}

.entrance {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.125rem;
  max-width: 62.125rem;
  margin: 3.75rem auto 0;
}
@media (max-width: 767px) {
  .entrance {
    gap: 1rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 2.25rem;
  }
}

.entrance-block {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  background: #32314C;
  padding: 3.125rem 1.25rem 4.25rem;
}
@media (max-width: 767px) {
  .entrance-block {
    padding: 1.625rem 1.5rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: 0.875rem;
  }
}
.entrance-block__title {
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.875rem;
  text-align: center;
  margin: 0;
}
.entrance-block__title > span {
  display: block;
  line-height: 1;
  font-size: 1.5rem;
  margin-bottom: 1rem;
}
@media (max-width: 767px) {
  .entrance-block__title {
    font-size: 1.25rem;
    -webkit-box-flex: 1;
        -ms-flex: 1;
            flex: 1;
  }
  .entrance-block__title > span {
    font-size: 0.9375rem;
    margin-bottom: 0.5rem;
  }
}
.entrance-block__icon {
  width: 13.75rem;
  margin: 0 auto;
  margin-top: 2.5rem;
}
@media (max-width: 767px) {
  .entrance-block__icon {
    width: 6.875rem;
    margin: 0;
  }
}

.l-howto {
  padding-top: 7.5rem;
}
@media (max-width: 767px) {
  .l-howto {
    padding-top: 5rem;
  }
}

.howto {
  margin-top: 3.125rem;
  background: #32314C;
  padding: 6.25rem;
}
@media (max-width: 767px) {
  .howto {
    margin-top: 2rem;
    margin-inline: -1.25rem;
    padding: 4.375rem 1.25rem;
  }
}

.howto-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 3.125rem;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  list-style: none;
  padding: 0;
  margin: 0;
  counter-reset: number 0;
}
@media (max-width: 767px) {
  .howto-list {
    gap: 4.375rem;
  }
}

.howto-item {
  width: calc(50% - 1.5625rem);
  counter-increment: number 1;
}
@media (max-width: 767px) {
  .howto-item {
    width: 100%;
  }
}
.howto-item:last-child {
  width: 100%;
  max-width: 47.75rem;
}
.howto-item__body {
  position: relative;
  padding-left: 5.625rem;
  padding-top: 1.625rem;
}
.howto-item__body::before {
  position: absolute;
  left: -1.125rem;
  top: 0.625rem;
  content: "0" counter(number);
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-size: 1.5rem;
  font-weight: 500;
  color: #16101B;
  width: 5.875rem;
  height: 5.875rem;
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-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(../../images/deco-howto-num.png) no-repeat center center/contain;
}
@media (max-width: 767px) {
  .howto-item__body {
    padding-top: 1rem;
  }
}
.howto-item__heading {
  margin: 0;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  font-weight: 500;
  font-size: 1.5rem;
}
@media (max-width: 767px) {
  .howto-item__heading {
    font-size: 1.25rem;
  }
}
.howto-item__lead {
  font-weight: 500;
  line-height: 1.6;
  margin: 0.5rem 0 0 0;
}
@media (max-width: 767px) {
  .howto-item__lead {
    font-size: 0.875rem;
  }
}

.l-overview {
  padding-top: 7.5rem;
}
@media (max-width: 767px) {
  .l-overview {
    padding-top: 5rem;
  }
}

.overview {
  margin-top: 5rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  gap: 3.75rem 2.5rem;
}
@media (max-width: 767px) {
  .overview {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
    margin-top: 3.5rem;
  }
}
.overview__table {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
  padding: 0.875rem 0;
}
@media (max-width: 767px) {
  .overview__table {
    padding: 0;
  }
}
.overview__table table {
  border-collapse: collapse;
  width: 100%;
}
.overview__table table tr:first-child th, .overview__table table tr:first-child td {
  border-top: solid 1px rgba(255, 255, 255, 0.3);
}
@media (max-width: 767px) {
  .overview__table table tr:first-child td {
    border-top: none;
  }
}
.overview__table table th, .overview__table table td {
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
  padding: 1.125rem 0;
  text-align: left;
  vertical-align: top;
  font-weight: 400;
}
@media (max-width: 767px) {
  .overview__table table th, .overview__table table td {
    font-size: 0.875rem;
    display: block;
    padding: 1rem 0;
  }
}
.overview__table table th {
  padding-right: 1.25rem;
}
@media (max-width: 767px) {
  .overview__table table th {
    padding-right: 1rem;
    font-size: 1rem;
    padding-bottom: 0;
    border-bottom: none;
  }
}
@media (max-width: 767px) {
  .overview__table table td {
    padding-top: 0.625rem;
  }
}
.overview__map {
  -webkit-box-flex: 1;
      -ms-flex: 1;
          flex: 1;
}
.overview__map iframe {
  width: 100%;
  height: 100%;
}
@media (max-width: 767px) {
  .overview__map {
    aspect-ratio: 335/190;
    overflow: hidden;
  }
}
.overview__gallery {
  margin-top: 7.5rem;
  margin-left: calc(50% - 50vw);
  margin-right: calc(50% - 50vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}
@media (max-width: 767px) {
  .overview__gallery {
    margin-top: 4.375rem;
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

.l-faq {
  padding: 7.5rem 0;
}
@media (max-width: 767px) {
  .l-faq {
    padding: 5rem 0 3.75rem;
  }
}

.faq-list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  margin-top: 4.5rem;
  border-top: solid 1px rgba(255, 255, 255, 0.3);
  max-width: 61.625rem;
  margin-inline: auto;
}
@media (max-width: 767px) {
  .faq-list {
    margin-top: 3.125rem;
  }
}

.faq-item {
  margin: 0;
  border-bottom: solid 1px rgba(255, 255, 255, 0.3);
  cursor: pointer;
}
.faq-item dt {
  font-size: 1.25rem;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  padding: 1.4375rem 0;
  padding-right: 8.25rem;
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}
.faq-item dt::before {
  content: "Q .";
  display: inline-block;
  font-size: 1.5rem;
  width: 2rem;
  margin-right: 1.25rem;
  line-height: 1.2;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media (max-width: 767px) {
  .faq-item dt {
    font-size: 1rem;
    line-height: 1.4;
    padding: 1.5625rem 0;
    padding-right: 3.125rem;
    min-height: 5.625rem;
  }
}
.faq-item dd {
  display: none;
  padding: 1.25rem 0 1.5rem;
  margin: 0;
  font-family: "Shippori Mincho", "Noto Sans JP", "Noto Sans CJK JP", "Hiragino Kaku Gothic ProN", "ヒラギノ角ゴ ProN W3", "ヒラギノ角ゴ ProN", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", "ヒラギノ角ゴ Pro", "Hiragino Sans", "游ゴシック体", "YuGothic", "游ゴシック", "Yu Gothic", sans-serif;
  line-height: 1.7;
}
@media (max-width: 767px) {
  .faq-item dd {
    padding-top: 1em;
  }
}
.faq-item dd p {
  margin: 0;
}
@media (max-width: 767px) {
  .faq-item dd p {
    font-size: 1rem;
  }
}
.faq-item dd ul.faq-notes {
  margin: 0.75rem 0 0 0;
  padding: 0;
  list-style: none;
}
.faq-item dd ul.faq-notes > li {
  padding-left: 1em;
  text-indent: -1em;
  font-size: 0.75rem;
}

.faq-toggle {
  position: absolute;
  right: 6.25rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
      -ms-transform: translateY(-50%);
          transform: translateY(-50%);
  width: 2rem;
  height: 2rem;
  content: "";
  display: inline-block;
}
.faq-toggle::before, .faq-toggle::after {
  width: 1.125rem;
  height: 0.125rem;
  background: white;
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}
.faq-toggle::after {
  -webkit-transform: translate(-50%, -50%) rotate(90deg);
      -ms-transform: translate(-50%, -50%) rotate(90deg);
          transform: translate(-50%, -50%) rotate(90deg);
}
.faq-toggle.-open::after {
  -webkit-transform: translate(-50%, -50%);
      -ms-transform: translate(-50%, -50%);
          transform: translate(-50%, -50%);
}
@media (max-width: 767px) {
  .faq-toggle {
    right: 0;
    top: 1.875rem;
    -webkit-transform: translateY(0);
        -ms-transform: translateY(0);
            transform: translateY(0);
  }
}

/**************************************************/
/* page */
/**************************************************/
:root {
  --ame: #008fce;
  --kaze: #67af1d;
}

.l-cancellation {
  padding: 7.5rem 0;
}
@media (max-width: 767px) {
  .l-cancellation {
    padding: 5rem 0;
  }
}

.l-cancellation-contents {
  padding: 0 6.25rem;
}
@media (max-width: 767px) {
  .l-cancellation-contents {
    padding: 0;
  }
}

.cancellation-table {
  margin: 2rem 0 0 0;
}
@media (max-width: 767px) {
  .cancellation-table {
    margin-top: 1rem;
  }
}
.cancellation-table table {
  min-height: 4.1875rem;
  font-size: 0.9375rem;
  width: 100%;
  table-layout: fixed;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  border-spacing: 0.25rem 0;
  border-collapse: separate;
}
@media (max-width: 767px) {
  .cancellation-table table {
    font-size: 0.8125rem;
    border-spacing: 0.125rem 0;
  }
}
.cancellation-table table thead th.top {
  border-bottom: solid 0.5em var(--ame);
  color: var(--ame);
  vertical-align: bottom;
  padding: 1em 0 0.8em;
  font-weight: bold;
}
.cancellation-table table tbody th {
  color: var(--ame);
  font-weight: bold;
  border-bottom: solid 0.125rem var(--ame);
}
.cancellation-table table tbody td {
  background: white;
  color: #16101B;
  padding: 1rem 0;
  min-height: 4.1875rem;
  text-align: center;
  border-bottom: solid 0.125rem var(--ame);
  line-height: 1.4;
}
.cancellation-table table tbody td sup {
  color: #f80000;
}
.cancellation-table table tbody td .small {
  font-size: 0.75rem;
}
@media (max-width: 767px) {
  .cancellation-table table tbody td .small {
    font-size: 0.625rem;
  }
}
.cancellation-table table.-kaze thead th.top,
.cancellation-table table.-kaze tbody th {
  color: var(--kaze);
}
.cancellation-table table.-kaze thead th.top,
.cancellation-table table.-kaze tbody th,
.cancellation-table table.-kaze tbody td {
  border-color: var(--kaze);
}