@charset "UTF-8";

[data-simplebar] {
  position: relative;
  -ms-flex-direction: column;
  flex-direction: column;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  -ms-flex-pack: start;
  justify-content: flex-start;
  -ms-flex-line-pack: start;
  align-content: flex-start;
  -ms-flex-align: start;
  align-items: flex-start;
}

.simplebar-wrapper {
  overflow: hidden;
  width: inherit;
  height: inherit;
  max-width: inherit;
  max-height: inherit;
}

.simplebar-mask {
  direction: inherit;
  position: absolute;
  overflow: hidden;
  padding: 0;
  margin: 0;
  left: 0;
  top: 0;
  bottom: 0;
  right: 0;
  width: auto !important;
  height: auto !important;
  z-index: 0;
}

.simplebar-offset {
  direction: inherit !important;
  box-sizing: inherit !important;
  resize: none !important;
  position: absolute;
  top: 0;
  left: 0;
  bottom: 0;
  right: 0;
  padding: 0;
  margin: 0;
  -webkit-overflow-scrolling: touch;
}

.simplebar-content-wrapper {
  direction: inherit;
  box-sizing: border-box !important;
  position: relative;
  display: block;
  height: 100%;
  /* Required for horizontal native scrollbar to not appear if parent is taller than natural height */
  width: auto;
  max-width: 100%;
  /* Not required for horizontal scroll to trigger */
  max-height: 100%;
  /* Needed for vertical scroll to trigger */
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.simplebar-content-wrapper::-webkit-scrollbar,
.simplebar-hide-scrollbar::-webkit-scrollbar {
  width: 0;
  height: 0;
}

.simplebar-content:before,
.simplebar-content:after {
  content: " ";
  display: table;
}

.simplebar-placeholder {
  max-height: 100%;
  max-width: 100%;
  width: 100%;
  pointer-events: none;
}

.simplebar-height-auto-observer-wrapper {
  box-sizing: inherit !important;
  height: 100%;
  width: 100%;
  max-width: 1px;
  position: relative;
  float: left;
  max-height: 1px;
  overflow: hidden;
  z-index: -1;
  padding: 0;
  margin: 0;
  pointer-events: none;
  -ms-flex-positive: inherit;
  flex-grow: inherit;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  -ms-flex-preferred-size: 0;
  flex-basis: 0;
}

.simplebar-height-auto-observer {
  box-sizing: inherit;
  display: block;
  opacity: 0;
  position: absolute;
  top: 0;
  left: 0;
  height: 1000%;
  width: 1000%;
  min-height: 1px;
  min-width: 1px;
  overflow: hidden;
  pointer-events: none;
  z-index: -1;
}

.simplebar-track {
  z-index: 1;
  position: absolute;
  right: 0;
  bottom: 0;
  pointer-events: none;
  overflow: hidden;
}

[data-simplebar].simplebar-dragging .simplebar-content {
  pointer-events: none;
  -ms-user-select: none;
  user-select: none;
  -webkit-user-select: none;
}

[data-simplebar].simplebar-dragging .simplebar-track {
  pointer-events: all;
}

.simplebar-scrollbar {
  position: absolute;
  left: 0;
  right: 0;
  min-height: 10px;
}

.simplebar-scrollbar:before {
  position: absolute;
  content: "";
  background: black;
  border-radius: 7px;
  left: 2px;
  right: 2px;
  opacity: 0;
  transition: opacity 0.2s linear;
}

.simplebar-scrollbar.simplebar-visible:before {
  /* When hovered, remove all transitions from drag handle */
  opacity: 0.5;
  transition: opacity 0s linear;
}

.simplebar-track.simplebar-vertical {
  top: 0;
  width: 11px;
}

.simplebar-track.simplebar-vertical .simplebar-scrollbar:before {
  top: 2px;
  bottom: 2px;
}

.simplebar-track.simplebar-horizontal {
  left: 0;
  height: 11px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar:before {
  height: 100%;
  left: 2px;
  right: 2px;
}

.simplebar-track.simplebar-horizontal .simplebar-scrollbar {
  right: auto;
  left: 0;
  top: 2px;
  height: 7px;
  min-height: 0;
  min-width: 10px;
  width: auto;
}

/* Rtl support */
[data-simplebar-direction="rtl"] .simplebar-track.simplebar-vertical {
  right: auto;
  left: 0;
}

.hs-dummy-scrollbar-size {
  direction: rtl;
  position: fixed;
  opacity: 0;
  visibility: hidden;
  height: 500px;
  width: 500px;
  overflow-y: hidden;
  overflow-x: scroll;
}

.simplebar-hide-scrollbar {
  position: fixed;
  left: 0;
  visibility: hidden;
  overflow-y: scroll;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

/* ==========================================================================
slick.js
========================================================================== */

.slick-slider {
  position: relative;
  display: block;
  box-sizing: border-box;
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  -ms-user-select: none;
  user-select: none;
  -ms-touch-action: pan-y;
  touch-action: pan-y;
  -webkit-tap-highlight-color: transparent;
}

.slick-list {
  position: relative;
  overflow: hidden;
  display: block;
  margin: 0;
  padding: 0;
}

.slick-list:focus {
  outline: none;
}

.slick-list.dragging {
  cursor: pointer;
  cursor: hand;
}

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

.slick-track {
  position: relative;
  left: 0;
  top: 0;
  display: block;
  margin-left: auto;
  margin-right: auto;
}

.slick-track:before,
.slick-track:after {
  content: "";
  display: table;
}

.slick-track:after {
  clear: both;
}

.slick-loading .slick-track {
  visibility: hidden;
}

.slick-slide {
  float: left;
  height: 100%;
  min-height: 1px;
  display: none;
}

[dir="rtl"] .slick-slide {
  float: right;
}

.slick-slide img {
  display: block;
}

.slick-slide.slick-loading img {
  display: none;
}

.slick-slide.dragging img {
  pointer-events: none;
}

.slick-initialized .slick-slide {
  display: block;
}

.slick-loading .slick-slide {
  visibility: hidden;
}

.slick-vertical .slick-slide {
  display: block;
  height: auto;
  border: 1px solid transparent;
}

.slick-next,
.slick-prev {
  top: unset;
  bottom: -8rem;
}

.slick-next {
  right: 20%;
}

.slick-prev {
  left: 72%;
}

.slick-dots li {
  width: 1rem !important;
}

.slick-dots li button {
  padding: 0 !important;
  color: transparent !important;
  outline: none !important;
  width: 25px !important;
  border: unset !important;
  height: 2px !important;
  display: block !important;
  background: #707070 !important;
  cursor: pointer !important;
}

.slick-dots li button:before {
  padding: 0 !important;
  color: transparent !important;
  outline: none !important;
  width: 25px !important;
  border: unset !important;
  height: 2px !important;
  display: block !important;
  background: #fff !important;
  cursor: pointer !important;
}

.slick-dots li.slick-active button:before {
  opacity: 1 !important;
}

/* default
-------------------------------------------------------------------------- */
/* in
-------------------------------------------------------------------------- */
/* out
-------------------------------------------------------------------------- */
/* in out
-------------------------------------------------------------------------- */
/* min-width
-------------------------------------------------------------------------- */
/* max-width
-------------------------------------------------------------------------- */
@keyframes swing1 {
  0% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }

  35% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(5deg) translateY(-10px);
  }

  50% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }

  85% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(-5deg) translateY(-10px);
  }

  100% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }
}

@keyframes swing2 {
  0% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }

  35% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(-5deg) translateY(-10px);
  }

  50% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }

  85% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: rotate(5deg) translateY(-10px);
  }

  100% {
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1.275);
    transform: rotate(0deg) translateY(0);
  }
}

@keyframes bounce {
  from,
  20%,
  53%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -30px, 0);
  }

  70% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -15px, 0);
  }

  90% {
    animation-timing-function: cubic-bezier(0.165, 0.84, 0.44, 1);
    transform: translate3d(0, -4px, 0);
  }
}

@keyframes button-on {
  0% {
    opacity: 1;
    transform: translateX(0);
  }

  50% {
    opacity: 0;
    transform: translateX(100%);
  }

  51% {
    opacity: 0;
    transform: translateX(-100%);
  }

  100% {
    opacity: 1;
    transform: translateX(0);
  }
}

html,
body,
div,
span,
applet,
object,
iframe,
h1,
h2,
h3,
h4,
h5,
h6,
p,
blockquote,
pre,
a,
abbr,
acronym,
address,
big,
cite,
code,
del,
dfn,
em,
img,
ins,
kbd,
q,
s,
samp,
small,
strike,
strong,
sub,
sup,
tt,
var,
b,
u,
i,
center,
dl,
dt,
dd,
ol,
ul,
li,
fieldset,
form,
input,
textarea,
label,
legend,
table,
caption,
tbody,
tfoot,
thead,
tr,
th,
td,
main,
article,
aside,
canvas,
details,
embed,
figure,
figcaption,
footer,
header,
hgroup,
menu,
nav,
output,
ruby,
section,
summary,
time,
mark,
audio,
video {
  margin: 0;
  padding: 0;
  border: 0;
  vertical-align: baseline;
  box-sizing: border-box;
}

main,
article,
aside,
details,
figcaption,
figure,
footer,
header,
hgroup,
menu,
nav,
section {
  display: block;
}

ol,
ul {
  list-style: none;
}

blockquote,
q {
  quotes: none;
}

blockquote:before,
blockquote:after,
q:before,
q:after {
  content: "";
  content: none;
}

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

img,
svg,
iframe {
  vertical-align: top;
}

button {
  font-family: inherit;
}

html {
  font-size: 10px;
}

@media screen and (max-width: 1280px) {
  html {
    font-size: 0.78125vw;
  }
}

@media screen and (max-width: 768px) {
  html {
    font-size: 1.33333vw;
  }
}

@supports (-webkit-touch-callout: none) {
  html {
    height: -webkit-fill-available;
  }
}

body {
  text-align: justify;
  text-justify: inter-ideograph;
  word-break: break-all;
  color: #000;
  background: #000;
  font-family: -apple-system, BlinkMacSystemFont, "Helvetica Neue", "Segoe UI",
    YuGothic, "Yu Gothic Medium", "Hiragino Sans", "Hiragino Kaku Gothic ProN",
    Meiryo, sans-serif;
  font-size: 1.6rem;
  letter-spacing: 0.02em;
  line-height: 1.8;
  -webkit-font-smoothing: antialiased;
}

@media screen and (max-width: 768px) {
  body {
    font-size: 2.8rem;
  }
}

@supports (-webkit-touch-callout: none) {
  body {
    height: -webkit-fill-available;
  }
}

a {
  outline: none;
  color: #000;
  text-decoration: underline;
  -webkit-tap-highlight-color: rgba(0, 0, 0, 0);
}

@media screen and (min-width: 769px) {
  a:hover,
  a:active {
    text-decoration: none;
  }
}

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

::selection {
  background: #000;
  color: #fff;
}

.layout-container {
  overflow: hidden;
}

.sponsor {
  padding: 9.6rem 0 10.6rem;
  border-top: 2px solid #000;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .sponsor {
    padding: 18.2rem 0 20.6rem;
    border-width: 4px;
  }
}

.sponsor a {
  transition: opacity 0.3s ease-in-out;
}

.sponsor a.is-on {
  opacity: 0.6;
}

.sponsor__heading {
  font-weight: 700;
  font-size: 2.2rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  .sponsor__heading {
    font-size: 3.6rem;
  }
}

.sponsor__heading:first-of-type {
  letter-spacing: 0.3em;
}

.sponsor__heading:nth-of-type(n + 2) {
  margin-top: 9.4rem;
}

@media screen and (max-width: 768px) {
  .sponsor__heading:nth-of-type(n + 2) {
    margin-top: 13.6rem;
    letter-spacing: -0.05em;
  }
}
.sponsor .list-sponsor {
  width: 100%;
  max-width: 108rem;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 3rem;
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  .sponsor .list-sponsor {
    justify-content: space-between;
    gap: 4rem 0;
    max-width: 63rem;
    margin-top: 4rem;
  }
}

.sponsor .list-sponsor__item a {
  width: 100%;
  height: 100%;
  display: block;
}

@media screen and (max-width: 768px) {
  .sponsor .list-sponsor__item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
  }
}

.sponsor .list-sponsor__item {
  width: 12rem;
  margin-top: 2rem;
}

.sponsor .list-sponsor_second {
  margin-top: 5rem;
  max-width: 117rem;
}

.sponsor .list-sponsor_second .list-sponsor__item {
  width: 12rem !important;
  text-align: center;
  font-size: 1rem;
  margin-top: 0;
  line-height: 1.5;
}

.sponsor .list-sponsor_second {
  margin-top: 5rem;
}

.sponsor .list-cooperation .list-sponsor__item {
  width: 16rem;
}

.sponsor .list-sponsor__item:nth-child(5) {
  width: 9rem;
}

.sponsor .list-sponsor__item:nth-child(7) {
  width: 16rem;
}

.sponsor .list-sponsor__item:nth-child(14) {
  width: 17rem;
}

.sponsor .list-sponsor__item:nth-child(15) {
  width: 15rem;
}

.sponsor .list-sponsor__item:nth-child(17) {
  width: 15rem;
}

.sponsor .list-sponsor__item:nth-child(18) {
  width: 15rem;
}

.sponsor .list-sponsor__item:nth-child(19) {
  width: 9rem;
}

.sponsor .list-sponsor__item:nth-child(21) {
  width: 16rem;
}

.sponsor .list-sponsor__item:nth-child(23) {
  width: 10rem;
}

.sponsor .list-sponsor__item:nth-child(27) {
  width: 16rem;
}

.sponsor .list-cooperation_item {
  width: 20rem;
}

.sponsor .list-cooperation_item:nth-child(3) {
  width: 15rem;
}

.sponsor .list-sponsor__item img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  .sponsor .list-sponsor__item {
    width: 30% !important;
  }

  /* .sponsor .list-sponsor__item + .list-sponsor__item {
    margin-left: 2rem;
  }

  .sponsor .list-sponsor__item:nth-child(3n + 1) {
    margin-left: 0;
  } */

  .sponsor .list-sponsor__item:nth-child(5) {
    width: 25% !important;
  }

  .sponsor .list-sponsor__item:nth-child(6) {
    width: 25% !important;
  }

  .sponsor .list-sponsor__item:nth-child(9) {
    width: 25% !important;
  }

  .sponsor .list-sponsor__item:nth-child(10) {
    width: 25% !important;
  }

  .sponsor .list-sponsor__item:nth-child(14) {
    width: 33% !important;
  }

  .sponsor .list-sponsor__item:nth-child(17) {
    width: 30% !important;
  }

  .sponsor .list-sponsor__item:nth-child(19) {
    width: 22% !important;
  }

  .sponsor .list-sponsor__item:nth-child(20) {
    width: 33% !important;
  }

  .sponsor .list-sponsor__item:nth-child(23) {
    width: 25% !important;
  }

  .sponsor .list-sponsor__item:nth-child(27) {
    width: 33% !important;
  }
}

@media screen and (max-width: 768px) {
  .sponsor .list-sponsor_second {
    margin-top: 10rem;
  }

  .sponsor .list-sponsor_second .list-sponsor__item {
    width: 33.3333333% !important;
    font-size: 1.8rem;
  }
}

.sponsor__logo {
  width: 100%;
  max-width: 18rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 4rem;
}

.sponsor__logo.yamato_logo {
  max-width: 22rem;
}

@media screen and (max-width: 768px) {
  .sponsor__logo {
    max-width: 24.7rem;
  }
}

.sponsor__logo a {
  width: 100%;
  height: 100%;
  display: block;
}

.sponsor__logo a img {
  width: 100%;
}

.layout-footer__inner {
  position: relative;
  padding: 10.4rem 0 7rem;
  background-color: #000;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .layout-footer__inner {
    padding: 15.6rem 4rem 15.3rem;
  }
}

.footer-credit {
  font-size: 1.6rem;
  letter-spacing: 0.05em;
  text-align: center;
}

.footer-credit__heading {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .footer-credit__heading {
    font-size: 3rem;
  }
}

.footer-credit__heading:nth-child(n + 2) {
  margin-top: 2.1rem;
}

@media screen and (max-width: 768px) {
  .footer-credit__heading:nth-child(n + 2) {
    margin-top: 1.9rem;
  }
}

.footer-credit__body {
  margin-top: 0rem;
}

@media screen and (max-width: 768px) {
  .footer-credit__body {
    margin-top: 0rem;
  }
}

.footer-credit__text {
  line-height: 1.9;
}

@media screen and (max-width: 768px) {
  .footer-credit__text {
    font-size: 2.6rem;
    line-height: calc(48 / 28);
    letter-spacing: 0.1em;
  }
}

.footer-credit__text a {
  color: #fff;
}

.footer-copyright {
  position: relative;
  z-index: 10;
  padding: 2rem 0;
  background-color: #000;
  font-size: 1.2rem;
  line-height: 0.6;
  font-family: "Noto Sans JP", sans-serif;
  text-align: center;
  color: #fff;
}

@media screen and (max-width: 768px) {
  .footer-copyright {
    padding: 3.3rem 0;
    font-size: 2.4rem;
  }
}

/* #home .layout-header {
    transform: translateY(-100%);
    transition: transform 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
} */

@media screen and (max-width: 768px) {
  #home .layout-header {
    transform: translateY(0);
  }
}

.layout-header {
  position: fixed;
  z-index: 999;
  width: 100%;
  height: 120px;
}

@media screen and (max-width: 768px) {
  .layout-header {
    height: 90px;
  }
}

.layout-header__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  /*     align-items: center; */
  height: 10rem;
  padding-right: 3.95833vw;
  padding-left: 2.91667vw;
}

.layout-header__inner {
  opacity: 0;
  visibility: hidden;
  overflow: scroll;
  -ms-flex-pack: center;
  justify-content: center;
  height: 100vh;
  min-height: 135rem;
  padding: 3rem 0 0 0;
  text-align: center;
  /* transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    visibility 0.3s cubic-bezier(0.39, 0.575, 0.565, 1); */
}

@media screen and (max-width: 768px) {
  .layout-header__inner {
    opacity: 0;
    visibility: hidden;
    overflow: scroll;
    -ms-flex-pack: center;
    justify-content: center;
    height: 100dvh;
    min-height: 135rem;
    padding: 3rem 0 0 0;
    text-align: center;
    transition: opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
      visibility 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  }
}

@media screen and (max-width: 768px) and (max-height: 700px) {
  .layout-header__inner-sp {
    margin-top: 0;
    transform: scale(0.8);
  }
}

.layout-header .header-logo {
  width: 20.4rem;
  background: #000;
  border-radius: 0 0 10px 0px;
  /* 	border-radius: 20px; */
  padding: 2.543rem 0;
}

@media screen and (max-width: 768px) {
  .layout-header .header-logo {
    width: 20.4rem;
    padding: 3rem 5rem;
  }
}

.layout-header .header-logo a {
  display: block;
  width: 100%;
  text-align: center;
}

.layout-header .header-global-nav__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: baseline;
  padding-left: 6rem;
  flex-wrap: wrap;
  max-width: 65%;
}

/* @media screen and (max-width: 1440px) {
    .layout-header .header-global-nav__list {
        -ms-flex-pack: end;
        justify-content: flex-end;
        width: 83.33333vw;
    }
} */

@media screen and (max-width: 768px) {
  .layout-header .header-global-nav__list {
    padding-left: 0;
    max-width: 100%;
  }
}

.layout-header .header-global-nav__item a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  width: 100%;
  height: 100%;
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  font-weight: bold;
  color: #fdefd2;
  font-size: 1.6rem;
  text-decoration: none;
}

.layout-header .header-global-nav__item a {
  font-size: 2.5rem;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  .layout-header .header-global-nav__item a {
    justify-content: center;
    font-size: 4.2rem;
  }
}

/* @media screen and (max-width: 768px) {
    .layout-header .header-global-nav__item a {
        font-size: 3.4rem;
        line-height: 1;
    }
} */

.layout-header .header-global-nav__item a img {
  vertical-align: middle;
}

.layout-header .header-global-nav__item a img {
  width: 100%;
}

/* @media screen and (max-width: 768px) {
    .layout-header .header-global-nav__item a img {
        width: 100%;
    }
} */

.layout-header .header-global-nav__item:first-child {
  margin: 0 auto;
}

.layout-header .header-global-nav__item {
  margin: 4rem 0 0;
}

.layout-header .header-global-nav__item {
  width: calc(100% / 2);
}

.layout-header .header-hamburger {
  position: fixed;
  top: 2rem;
  right: 1.8rem;
  width: 15.5rem;
  height: 6.3rem;
  z-index: 999;
  border-radius: calc(9.3rem / 2);
  background-color: #000;
  transition: background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

@media screen and (max-width: 768px) {
  .layout-header .header-hamburger {
    width: 20.5rem;
    height: 8.3rem;
  }
}

.layout-header .header-hamburger__text {
  position: absolute;
  top: calc(50% - 2.8rem / 2);
  display: inline-block;
  width: 10rem;
  height: 2.8rem;
  content: "";
  background: url(../img/txt_menu.svg) no-repeat 50% 50%;
  background-size: 10rem 2.8rem;
  left: 3.2rem;
  transition: background-image 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.layout-header .header-hamburger__line {
  position: absolute;
  right: 3.2rem;
  height: 0.6rem;
  background-color: #fff;
  transition: top 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    width 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    background-color 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1),
    opacity 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.layout-header .header-hamburger__line:nth-of-type(1) {
  top: calc(50% - 1.1rem);
  width: 5.3rem;
}

.layout-header .header-hamburger__line:nth-of-type(2) {
  top: calc(50% + 0.7rem);
  width: 3rem;
}

.is-show-nav {
  overflow: hidden;
}
/* 
.is-show-nav .layout-header {
  background: #000;
} */

@media screen and (max-width: 768px) {
  .is-show-nav .header-logo {
    width: 100%;
    background-color: #000;
    position: relative;
    padding: 6rem 0 4rem;
  }
}

/* .is-show-nav .header-logo {
  background-color: #000;
  width: 100%;
} */

.is-show-nav .layout-header__inner {
  display: -ms-flexbox;
  display: flex;
  opacity: 1;
  visibility: visible;
  background: #000;
  position: absolute;
  top: 0;
  right: 0;
  width: 50%;
  margin-left: auto;
  padding: 10rem 0 0 0;
}

@media screen and (max-width: 768px) {
  .is-show-nav .layout-header__inner {
    width: 100%;
    position: relative;
    align-items: flex-start;
    min-height: 100%;
    padding-top: 0;
  }
}

.is-show-nav .header-hamburger {
  background-color: #fff;
}

.is-show-nav .header-hamburger::after {
  position: absolute;
  top: calc(50% - 2.8rem / 2);
  display: inline-block;
  width: 10.6rem;
  height: 2.8rem;
  content: "";
  background: url(../img/txt_close.svg) no-repeat 50% 50%;
  background-size: 10.6rem 2.8rem;
  left: 3.2rem;
}

.is-show-nav .header-hamburger__line {
  background-color: #000;
}

.is-show-nav .header-hamburger__line:nth-of-type(1) {
  top: calc(50% - 0.6rem);
  transform: rotate(-45deg);
}

.is-show-nav .header-hamburger__line:nth-of-type(2) {
  top: calc(50% - 0.6rem);
  transform: rotate(45deg);
  width: 5.3rem;
}

.layout-loading {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100dvh;
  opacity: 1;
  z-index: 99999;
  background-color: #02ab3a;
  background-image: url(../img/bg_icn-visual01.svg);
  background-size: 6.1rem;
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
  pointer-events: auto;
}

body {
  overflow: hidden;
}

.is-loaded {
  overflow: auto;
}

.is-loaded .layout-loading {
  opacity: 0;
  pointer-events: none;
}

.visual__background-logo--01 {
  -webkit-mask-size: 0;
  mask-size: 0;
}

.common-swiper--visual {
  transform: translateY(100%);
}

.visual__content-inner {
  opacity: 0;
  transform: translateY(3rem);
}

.is-loaded .common-swiper__text {
  background-position: 0 center;
  animation: flowing-text 50s linear infinite;
  will-change: background-position;
}

@keyframes flowing-text {
  from {
    background-position: 0 0;
  }

  to {
    background-position: -5000px 0;
    /* 画像のマイナス幅 */
  }
}

@media screen and (max-width: 768px) {
  .is-loaded .common-swiper__text {
    animation: flowing-text-sp 60s linear infinite;
  }

  @keyframes flowing-text-sp {
    from {
      background-position: 0 0;
    }

    to {
      background-position: -5000px 0;
      /* 画像のマイナス幅 */
    }
  }
}

.is-loaded .visual__background-logo--01 {
  -webkit-mask-size: 102%;
  mask-size: 102%;
  transition: -webkit-mask-size 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition: mask-size 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition: mask-size 0.8s cubic-bezier(0.77, 0, 0.175, 1),
    -webkit-mask-size 0.8s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: 0.3s;
  will-change: mask-size;
}

@media screen and (max-width: 768px) {
  .is-loaded .visual__background-logo--01 {
    -webkit-mask-size: 178%;
    mask-size: 178%;
    transition: -webkit-mask-size 1s cubic-bezier(0.77, 0, 0.175, 1);
    transition: mask-size 1s cubic-bezier(0.77, 0, 0.175, 1);
    transition: mask-size 1s cubic-bezier(0.77, 0, 0.175, 1),
      -webkit-mask-size 1s cubic-bezier(0.77, 0, 0.175, 1);
  }
}

.is-loaded .common-swiper--visual {
  transform: translateY(0%);
  transition: transform 1s cubic-bezier(0.77, 0, 0.175, 1);
  transition-delay: 1.2s;
  will-change: transform;
}

.is-loaded .visual__content-inner {
  opacity: 1;
  transform: translateY(0);
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.39, 0.575, 0.565, 1);
  transition-delay: 2.6s;
  will-change: opacity, transform;
}

.is-loaded .visual__background-inner.is-active {
  z-index: 20 !important;
  -webkit-clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
  animation: clip-background 2s cubic-bezier(0.19, 1, 0.22, 1) forwards;
  will-change: clip-path;
}

@keyframes clip-background {
  100% {
    -webkit-clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
    clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
  }
}

.is-loaded .visual__background-inner.is-under {
  z-index: 10 !important;
}

.color-black {
  color: #000;
}

.color-white {
  color: #fff;
}

.line__yellow {
  font-weight: bold;
  text-decoration: underline;
}

.button {
  display: block;
  position: relative;
}

.button::before {
  width: 100%;
  height: 100%;
  position: absolute;
  top: 0;
  left: 0;
  display: block;
  transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: transform;
  content: "";
}

.button a {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  height: 100%;
  position: relative;
  z-index: 1;
  font-size: 1.6rem;
  line-height: 0;
  letter-spacing: 0;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  .button a {
    font-size: 2.8rem;
  }
}

.button-black,
.button-outline {
  width: 30.9rem;
  height: 5rem;
  font-weight: 600;
}

.button-blue {
  background-color: #328df4;
  width: 30.9rem;
  height: 5rem;
  font-weight: 600;
  border-radius: 3rem;
  box-shadow: 0 1px 2rem rgba(0, 0, 0, 0.2), 0 0 4rem rgba(128, 128, 128, 0.1);
  /*アニメーションの設定*/
}

.button-blue:hover {
  box-shadow: 0 0.4rem 2rem rgba(0, 0, 0, 0.4),
    0 0 50px rgba(128, 128, 128, 0.1);
  border-color: transparent;
  transition: all 0.6s;
}

@media screen and (max-width: 768px) {
  .button-blue {
    border-radius: 5rem;
  }
}

.button-blue a {
  color: #fff;
}

@media screen and (max-width: 768px) {
  .button-black,
  .button-outline {
    width: 54rem;
    height: 9rem;
  }

  .button-blue {
    width: 54rem;
    height: 9rem;
    font-weight: 600;
  }

  .button-green {
    width: 54rem;
    height: 9rem;
    font-weight: 600;
  }
}

.button-black::before,
.button-outline::before {
  border-radius: 2.5rem;
}

@media screen and (max-width: 768px) {
  .button-black::before,
  .button-outline::before {
    border-radius: 4.5rem;
  }
}

.button-black a {
  color: #fff;
}

.button-black a::after {
  /* position: absolute;
  top: calc(50% - 1.4rem / 2);
  display: inline-block;
  width: 1.5rem;
  height: 1.4rem;
  content: "";
  background: url(../img/icn_button.png) no-repeat 50% 50%;
  background-size: 1.5rem 1.4rem;
  right: 2rem; */
  content: "";
  width: 6px;
  height: 6px;
  border: 0;
  border-top: solid 2px #fff;
  border-right: solid 2px #fff;
  transform: rotate(45deg);
  position: absolute;
  top: 0;
  right: 3rem;
  bottom: 0;
  margin: auto;
}

.tickets__body .button-black a::after {
  position: absolute;
  top: calc(50% - 1.8rem / 2);
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  content: "";
  background: url(../img/icn_button.svg) no-repeat 50% 50%;
  background-size: 1.8rem 1.8rem;
  right: 2rem;
  transform: rotate(0);
  border: none;
  bottom: unset;
}

.access__button.button-black a::after {
  position: absolute;
  top: calc(50% - 1.8rem / 2);
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  content: "";
  background: url(../img/icn_button.svg) no-repeat 50% 50%;
  background-size: 1.8rem 1.8rem;
  right: 1.5rem;
  transform: rotate(0);
  border: none;
  bottom: unset;
}

.gallery__btn.button-black a::after {
  position: absolute;
  top: calc(50% - 1.8rem / 2);
  display: inline-block;
  width: 1.8rem;
  height: 1.8rem;
  content: "";
  background: url(../img/icn_button.svg) no-repeat 50% 50%;
  background-size: 1.8rem 1.8rem;
  right: 1.5rem;
  transform: rotate(0);
  border: none;
  bottom: unset;
}

@media screen and (max-width: 768px) {
  .button-black a::after {
    position: absolute;
    width: 1.5rem;
    height: 1.5rem;
    background-size: 4rem 4rem;
    right: 4rem;
    border-top: solid 0.5rem #fff;
    border-right: solid 0.5rem #fff;
  }

  .tickets__body .button-black a::after {
    top: calc(50% - 2.5rem / 2);
    width: 2.5rem;
    height: 2.5rem;
    background-size: 2.5rem 2.5rem;
    right: 4rem;
  }

  .access__button.button-black a::after {
    top: calc(50% - 2.5rem / 2);
    width: 2.5rem;
    height: 2.5rem;
    background-size: 2.5rem 2.5rem;
    right: 4rem;
  }

  .gallery__btn.button-black a::after {
    top: calc(50% - 2.5rem / 2);
    width: 2.5rem;
    height: 2.5rem;
    background-size: 2.5rem 2.5rem;
    right: 4rem;
  }
}

.button-black::before {
  background-color: #000;
}

.button-outline a::after {
  position: absolute;
  top: calc(50% - 1.4rem / 2);
  display: inline-block;
  width: 0.8rem;
  height: 1.4rem;
  content: "";
  background: url(../img/arw_black.svg) no-repeat 50% 50%;
  background-size: 0.8rem 1.4rem;
  right: 2rem;
}

@media screen and (max-width: 768px) {
  .button-outline a::after {
    position: absolute;
    top: calc(50% - 2.5rem / 2);
    width: 1.5rem;
    height: 2.5rem;
    background-size: 1.5rem 2.5rem;
    right: 5.3rem;
  }
}

.button-outline::before {
  border: 0.1rem solid #000;
  box-sizing: border-box;
}

@media screen and (max-width: 768px) {
  .button-outline::before {
    border-width: 0.2rem;
  }
}

.button.is-on::before {
  transform: scaleX(110%);
}

.section--border {
  border-bottom: 2px solid #000;
}

@media screen and (max-width: 768px) {
  .section--border {
    border-bottom: 4px solid #000;
  }
}

.section__inner {
  width: 100%;
  max-width: 110rem;
  margin-left: auto;
  margin-right: auto;
}

@media screen and (max-width: 768px) {
  .section__inner {
    padding: 0 5.2rem;
  }
}

@media screen and (max-width: 768px) {
  .section__inner--message {
    padding: 0;
  }
}

.section__inner--act {
  max-width: 142rem;
  padding: 0 6rem;
}

@media screen and (max-width: 768px) {
  .section__inner--act {
    padding: 0 3rem;
  }
}

@media screen and (max-width: 768px) {
  .section__inner--access {
    padding: 0 3.2rem;
  }
}

@media screen and (max-width: 768px) {
  .section__inner--visual {
    padding: 0 5.3rem;
  }
}

.section__inner--notes {
  max-width: 114rem;
  padding: 3.1rem 3.9rem;
  background: #fff;
}

@media screen and (max-width: 768px) {
  .section__inner--notes {
    padding: 7.6rem 0 4.2rem;
  }
}

.section__heading {
  text-align: center;
  font-weight: 700;
  font-size: 4rem;
}

@media screen and (max-width: 768px) {
  .section__heading {
    font-size: 6rem;
    letter-spacing: 0.1em;
  }
}

.main_visual .section__heading--main {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  color: #fff;
  font-size: 5rem;
  display: block;
  width: 100%;
}

@media screen and (max-width: 768px) {
  .section__heading--notes {
    font-size: 7rem;
  }
}

@media screen and (max-width: 768px) {
  .section__heading--notes {
    font-size: 7rem;
  }
}

.section__heading--info {
  width: 20.1rem;
  margin: 0 auto;
}

@media screen and (max-width: 768px) {
  .section__heading--info {
    width: 28.3rem;
  }
}

.section__heading--info img {
  width: 100%;
  height: 100%;
}

.section__sub-heading {
  text-align: center;
  font-weight: 600;
  font-size: 2.2rem;
  letter-spacing: -0.05em;
}

@media screen and (max-width: 768px) {
  .section__sub-heading {
    font-size: 4.4rem;
  }
}

.section__sub-heading--faq {
  font-size: 2.6rem;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .section__sub-heading--faq {
    font-size: 5.4rem;
  }
}

.section__sub-heading--info {
  margin-top: 0.6rem;
  color: #fff;
  font-size: 2.4rem;
  line-height: 1;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  .section__sub-heading--info {
    font-size: 3.8rem;
  }
}

.section__sub-heading:nth-of-type(n + 2) {
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .section__sub-heading:nth-of-type(n + 2) {
    margin-top: 3rem;
  }
}

.common-share--visual {
  margin-top: 7rem;
}

.layout-header .common-share--visual {
  text-align: left;
  padding-left: 5rem;
}

@media screen and (max-width: 768px) {
  .common-share--visual {
    margin-top: 6rem;
  }

  .layout-header .common-share--visual {
    padding-left: 0;
    text-align: center;
  }
}
.common-share__button {
  width: 5.7rem;
  height: 5.7rem;
  display: inline-block;
  position: relative;
}

@media screen and (max-width: 768px) {
  .common-share__button {
    width: 9rem;
    height: 9rem;
  }
}

.common-share__button:nth-child(n + 2) {
  margin-left: 1rem;
}

@media screen and (max-width: 768px) {
  .common-share__button:nth-child(n + 2) {
    margin-left: 2.5rem;
  }
}

.common-share__button::before {
  width: 100%;
  height: 100%;
  display: inline-block;
  background-color: #000;
  border-radius: calc(5.7rem / 2);
  content: "";
}

@media screen and (max-width: 768px) {
  .common-share__button::before {
    border-radius: calc(8.9rem / 2);
  }
}

.common-share__button--twitter::after {
  position: absolute;
  top: calc(50% - 3.5rem / 2);
  left: calc(50% - 4rem / 2);
  display: inline-block;
  width: 4rem;
  height: 3.6rem;
  content: "";
  background: url(../img/x_logo-white.png) no-repeat 50% 50%;
  background-size: 4rem 3.6rem;
}

@media screen and (max-width: 768px) {
  .common-share__button--twitter::after {
    position: absolute;
    top: calc(50% - 4.7rem / 2);
    left: calc(50% - 5.7rem / 2);
    width: 5.4rem;
    height: 5rem;
    background-size: 5.4rem 5rem;
  }
}

.common-share__button--instagram::after {
  position: absolute;
  top: calc(50% - 2.4rem / 2);
  left: calc(50% - 2.4rem / 2);
  display: inline-block;
  width: 2.4rem;
  height: 2.4rem;
  content: "";
  background: url(../img/icn_instagram-white.svg) no-repeat 50% 50%;
  background-size: 2.4rem 2.4rem;
}

@media screen and (max-width: 768px) {
  .common-share__button--instagram::after {
    position: absolute;
    top: calc(50% - 3.7rem / 2);
    left: calc(50% - 3.7rem / 2);
    width: 3.7rem;
    height: 3.7rem;
    background-size: 3.7rem 3.7rem;
  }
}

.common-share--header {
  margin-top: 3.8rem;
}

@media screen and (max-width: 768px) {
  .common-share--header {
    margin-top: 5rem;
  }
}

.common-share--header .common-share__button::before {
  background-color: #fdefd2;
}

.common-share--header .common-share__button--twitter::after {
  display: inline-block;
  width: 3.8rem;
  height: 3.1rem;
  content: "";
  background: url(../img/x_logo-white.png) no-repeat 50% 50%;
  background-size: 3.8rem 3.1rem;
}

.common-share--header .common-share__button--instagram::after {
  display: inline-block;
  width: 3.7rem;
  height: 3.7rem;
  content: "";
  background: url(../img/icn_instagram-black.svg) no-repeat 50% 50%;
  background-size: 3.7rem 3.7rem;
}

.common-share--act {
  margin-top: 0.8rem;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  .common-share--act {
    margin-top: 2rem;
    margin-left: 0;
  }
}

.common-share--act .common-share__button {
  width: 3.6rem;
  height: 3.6rem;
}

@media screen and (max-width: 768px) {
  .common-share--act .common-share__button {
    width: 5.6rem;
    height: 5.6rem;
  }
}

.common-share--act .common-share__button:nth-child(n + 2) {
  margin-left: 0.4rem;
}

.common-share--act .common-share__button--twitter::after {
  position: absolute;
  top: calc(50% - 1.5rem / 2);
  left: calc(50% - 1.7rem / 2);
  display: inline-block;
  width: 1.7rem;
  height: 1.5rem;
  content: "";
  background: url(../img/icn_twitter-white.svg) no-repeat 50% 50%;
  background-size: 1.7rem 1.5rem;
}

@media screen and (max-width: 768px) {
  .common-share--act .common-share__button--twitter::after {
    position: absolute;
    top: calc(50% - 2.2rem / 2);
    left: calc(50% - 2.7rem / 2);
    display: inline-block;
    width: 2.7rem;
    height: 2.2rem;
    content: "";
    background: url(../img/icn_twitter-white.svg) no-repeat 50% 50%;
    background-size: 2.7rem 2.2rem;
  }
}

.common-share--act .common-share__button--instagram::after {
  position: absolute;
  top: calc(50% - 1.7rem / 2);
  left: calc(50% - 1.7rem / 2);
  display: inline-block;
  width: 1.7rem;
  height: 1.7rem;
  content: "";
  background: url(../img/icn_instagram-white.svg) no-repeat 50% 50%;
  background-size: 1.7rem 1.7rem;
}

@media screen and (max-width: 768px) {
  .common-share--act .common-share__button--instagram::after {
    position: absolute;
    top: calc(50% - 2.7rem / 2);
    left: calc(50% - 2.7rem / 2);
    display: inline-block;
    width: 2.7rem;
    height: 2.7rem;
    content: "";
    background: url(../img/icn_instagram-white.svg) no-repeat 50% 50%;
    background-size: 2.7rem 2.7rem;
  }
}

.common-swiper {
  width: 100%;
  height: 9rem;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  overflow: hidden;
  z-index: 50;
  /* background-color: #000; */
  filter: brightness(0.8);
  white-space: nowrap;
  filter: invert(6%) sepia(0%) saturate(11%) hue-rotate(143deg) brightness(101%)
    contrast(93%);
}

@media screen and (max-width: 768px) {
  .common-swiper {
    height: 14.1rem;
  }
}

.common-swiper--visual {
  position: absolute;
  bottom: 0;
}

.common-swiper--act {
  position: absolute;
  left: 0;
  bottom: 0;
}

.common-swiper__text {
  width: 100%;
  height: 8rem;
  display: inline-block;
  background-image: url(../img/txt_swiper.png);
  background-size: auto 100%;
}

@media screen and (max-width: 768px) {
  .common-swiper__text {
    height: 5.7rem;
  }
}

@media screen and (max-width: 768px) {
  .common-swiper__text img {
    max-width: initial;
  }
}

.hover-bnr a {
  transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.hover-bnr a:hover {
  filter: brightness(1.2);
  transition: 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
}

.modal {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  display: none;
  z-index: 1000;
}

.modal.is-show {
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  .modal.is-show {
    display: block;
    overflow-y: auto;
  }
}

.modal__background {
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  widows: 100%;
  min-height: 100vh;
  background-color: #f0eee5;
  background-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .modal__background {
    background-size: 3.7rem;
  }
}

.modal__inner {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  position: relative;
}

@media screen and (max-width: 768px) {
  .modal__inner {
    margin-top: 20rem;
  }
}

@media screen and (max-width: 768px) and (max-height: 670px) {
  .modal__inner {
    margin-top: 12rem;
    transform: scale(0.8);
  }
}

.modal .list-modal {
  max-height: 100rem;
}

.modal .list-modal__item {
  display: none;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item {
    -ms-flex-direction: column;
    flex-direction: column;
  }
}

.modal .list-modal__item.is-active {
  display: -ms-flexbox;
  display: flex;
}

.modal .list-modal__item .list-image {
  position: relative;
  width: 54rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-image {
    width: 65rem;
  }
}

.modal .list-modal__item .list-image__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 54rem;
  height: 42rem;
  display: flex !important;
  padding: 0 2rem;
  overflow: hidden;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-image__item {
    width: 65rem;
    height: 57.4rem;
    width: 65rem !important;
    padding: 0;
  }
}

.modal .list-modal__item .list-image__item img {
  width: 50rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-image__item img {
    width: 70rem;
  }
}

.modal .list-modal__item .list-image .slick-arrow {
  width: 3.2rem;
  height: 3rem;
  position: absolute;
  top: calc(50% - 3rem / 2 - 2rem);
  z-index: 10;
  border: none;
  background: url(../img/arw_white.svg) no-repeat center center/0.9rem 1.6rem
    #333;
  font-size: 0;
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-image .slick-arrow {
    display: none;
    opacity: 0;
  }
}

.modal .list-modal__item .list-image .slick-arrow.slick-disabled {
  display: none;
  opacity: 0;
}

.modal .list-modal__item .list-image .slick-arrow:hover {
  opacity: 0.6;
}

.modal .list-modal__item .list-image .slick-prev {
  left: 2rem;
  top: 20rem;
}

.modal .list-modal__item .list-image .slick-next {
  rotate: 180deg;
  right: 2rem;
}

.modal .list-modal__item .list-image .slick-dots {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 1rem;
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-image .slick-dots {
    gap: 2rem;
  }
}

.modal .list-modal__item .list-image .slick-dots li {
  width: 0.8rem;
  height: 0.8rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-image .slick-dots li {
    width: 1.6rem;
    height: 1.6rem;
  }
}

.modal .list-modal__item .list-image .slick-dots li button {
  width: 100%;
  height: 100%;
  padding: 0;
  border: none;
  border-radius: 50%;
  background-color: #fff;
  font-size: 0;
  cursor: pointer;
}

.modal .list-modal__item .list-image .slick-dots li.slick-active button {
  background-color: #eb545d;
}

.modal .list-modal__item-content {
  width: 54rem;
  margin-top: 7.4rem;
  margin-left: 5rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item-content {
    width: 65rem;
    margin-top: 5rem;
    padding-bottom: 8rem;
    margin-left: 0;
  }
}

.modal .list-modal__item-heading {
  font-weight: 700;
  font-size: 3.2rem;
  line-height: calc(40 / 32);
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item-heading {
    font-size: 4.8rem;
    line-height: calc(55 / 48);
  }
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item-heading--small {
    font-size: 4.6rem;
    letter-spacing: -0.01em;
  }
}

.modal .list-modal__item-price {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  margin-top: 2rem;
  padding-bottom: 2.8rem;
  border-bottom: 0.1rem solid #000;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item-price {
    margin-top: 3rem;
    padding-bottom: 5.2rem;
    border-width: 0.2rem;
  }
}

.modal .list-modal__item-price--noborder {
  border: none;
}

.modal .list-modal__item-price-heading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 6.8rem;
  height: 2.9rem;
  padding-top: 0.2rem;
  border-radius: calc(2.9rem / 2);
  background-color: #333;
  color: #fff;
  font-weight: 700;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item-price-heading {
    width: 12.8rem;
    height: 4.8rem;
    padding-top: 0;
    border-radius: calc(4.8rem / 2);
    font-size: 2.2rem;
    letter-spacing: 0.1em;
  }
}

.modal .list-modal__item-price-number {
  margin-top: 0.4rem;
  margin-left: 1.2rem;
  font-weight: 600;
  font-size: 2.5rem;
  letter-spacing: 0.2em;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item-price-number {
    margin-left: 2.4rem;
    font-size: 4.4rem;
    letter-spacing: 0.05em;
  }
}

.modal .list-modal__item-price-number small {
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item-price-number small {
    font-size: 2.8rem;
  }
}

.modal .list-modal__item .list-detail {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 1.2rem;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-detail {
    gap: 3.6rem;
    margin-top: 7rem;
  }
}

.modal .list-modal__item .list-detail__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
}

.modal .list-modal__item .list-detail__item-heading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 5.8rem;
  height: 2.2rem;
  padding-top: 0.2rem;
  background-color: #333;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-detail__item-heading {
    width: 12.8rem;
    height: 4.8rem;
    font-size: 2.2rem;
  }
}

.modal .list-modal__item .list-detail__item-text {
  margin-left: 1.6rem;
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  .modal .list-modal__item .list-detail__item-text {
    margin-left: 1.8rem;
    font-size: 2.8rem;
  }
}

.modal__close {
  position: absolute;
  top: -8.6rem;
  right: 0;
  width: 5.1rem;
  height: 9.2rem;
  background: url(../img/btn_close.svg) no-repeat center center/contain;
  transition: opacity 0.3s ease-in-out;
  cursor: pointer;
}

@media screen and (max-width: 768px) {
  .modal__close {
    width: 8.1rem;
    height: 8.7rem;
    top: -13.4rem;
    right: 5rem;
    background-image: url(../img//btn_close@sp.svg);
  }
}

.modal__close:hover {
  opacity: 0.5;
}

.slide-up {
  opacity: 0;
  transform: translateY(6rem) rotate(5deg);
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
  will-change: opacity, transform;
}

.slide-up.is-inview {
  opacity: 1;
  transform: translateY(0);
}

.act__list-item:nth-of-type(2n) {
  transition-delay: 0.15s;
}

@media screen and (max-width: 768px) {
  .act__list-item:nth-of-type(2n) {
    transition-delay: 0;
  }
}

.hover-opacity a {
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: opacity;
}

.hover-opacity a.is-on {
  opacity: 0.5;
  cursor: pointer;
}

.hover-scale a::before {
  transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: transform;
}

.hover-scale a.is-on::before {
  transform: scale(120%);
  cursor: pointer;
}

.hover-scale-x a::before {
  transition: transform 0.2s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: transform;
}

.hover-scale-x a.is-on::before {
  transform: scaleX(110%);
  cursor: pointer;
}

.hover-scale-image a img {
  transition: transform 0.3s cubic-bezier(0.39, 0.575, 0.565, 1);
  will-change: transform;
}

.hover-scale-image a.is-on img {
  transform: scale(108%);
  cursor: pointer;
}

#baggage {
  background-color: #e7e7e7;
}

#baggage .visual {
  margin-top: 10.5rem;
}

#baggage .main_visual {
  background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
    url(../img/background_food.jpg) 0rem -15rem no-repeat;
  height: 50rem;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

@media screen and (max-width: 768px) {
  #baggage .visual {
    margin-top: 12.5rem;
  }

  #baggage .main_visual {
    background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
      url(../img/background_attention.jpg) 0rem 0rem no-repeat;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    height: 50rem;
  }
}

#baggage .section__heading--baggage {
  font-size: 3.5rem;
}

@media screen and (max-width: 768px) {
  #baggage .section__heading--baggage {
    font-size: 4rem;
  }
}

#baggage .visual .section__heading img {
  width: 100%;
}

@media screen and (max-width: 768px) {
  #baggage .visual .section__sub-heading {
    margin-top: 3rem;
    font-size: 4.4rem;
    line-height: calc(55 / 44);
  }
}

#baggage .lead .section__lead {
  padding: 5rem 15.8rem 5.4rem;
  font-weight: 600;
  font-size: 2rem;
  letter-spacing: -0em;
  text-align: center;
  line-height: 2;
}

#baggage .lead .section__lead small {
  font-weight: 300;
}

@media screen and (max-width: 768px) {
  #baggage .lead .section__lead {
    padding: 8.8rem 2rem 3.6rem;
    font-size: 3.2rem;
    letter-spacing: -0.04em;
    text-align: left;
  }
}

#baggage .reception {
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  #baggage .reception {
    margin-top: 6.4rem;
  }
}

#baggage .reception__inner {
  width: 100%;
  max-width: 114rem;
  margin-left: auto;
  margin-right: auto;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: start;
  align-items: flex-start;
  gap: 6rem;
}

@media screen and (max-width: 768px) {
  #baggage .reception__inner {
    width: 100%;
    max-width: 65rem;
    margin-left: auto;
    margin-right: auto;
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 5rem;
  }
}

#baggage .reception__content {
  width: 50%;
  padding-bottom: 4.4rem;
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  #baggage .reception__content {
    width: 100%;
    padding-bottom: 8.8rem;
  }
}

#baggage .reception__heading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  height: 8.5rem;
  color: #fff;
  font-weight: 700;
  font-size: 2.3rem;
}

@media screen and (max-width: 768px) {
  #baggage .reception__heading {
    height: 14rem;
    font-size: 4.4rem;
  }
}

#baggage .reception__heading--cloak {
  background-color: #ffcb03;
  color: #333;
}

#baggage .reception__heading--delivery {
  background-color: #036964;
}

#baggage .reception .list-reception {
  margin-top: 1.6rem;
  padding: 0 4rem;
}

@media screen and (max-width: 768px) {
  #baggage .reception .list-reception {
    margin-top: 3.8rem;
    padding: 0 4rem;
  }
}

#baggage .reception .list-reception__item {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  gap: 1.8rem;
  padding: 1.4rem 0;
  border-bottom: 0.1rem solid #edf1f4;
}

@media screen and (max-width: 768px) {
  #baggage .reception .list-reception__item {
    padding: 3.2rem 0;
    gap: 3rem;
  }
}

#baggage .reception .list-reception__item--goods {
  gap: 0;
}

#baggage .reception .list-reception__heading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 10rem;
  height: 2.2rem;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  color: #fff;
  font-weight: 700;
  font-size: 1.4rem;
  background-color: #000;
}

@media screen and (max-width: 768px) {
  #baggage .reception .list-reception__heading {
    width: 14.8rem;
    height: 4.8rem;
    font-size: 2.2rem;
  }
}

/* #baggage .reception .list-reception__heading--cloak {
  background-color: #0070a4;
}

#baggage .reception .list-reception__heading--delivery {
  background-color: #e87d00;
} */

#baggage .reception .list-reception__heading--goods {
  width: 16rem;
}

@media screen and (max-width: 768px) {
  #baggage .reception .list-reception__heading--goods {
    width: 26.4rem;
    height: 4.8rem;
  }
}

#baggage .reception .list-reception__heading--price {
  padding-left: 0.8rem;
  letter-spacing: 0.6em;
}

#baggage .reception .list-reception__text {
  font-size: 1.6rem;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 768px) {
  #baggage .reception .list-reception__text {
    font-size: 2.8rem;
    line-height: calc(42 / 28);
  }
}

#baggage .reception .list-reception__text--goods {
  position: relative;
  width: 100%;
  padding-left: 1.6rem;
}

@media screen and (max-width: 768px) {
  #baggage .reception .list-reception__text--goods {
    padding-left: 2.4rem;
  }
}

#baggage .reception .list-reception__text--goods::before {
  position: absolute;
  top: 0.8rem;
  left: 0rem;
  width: 0.6rem;
  height: 0.6rem;
  display: block;
  background-color: #ffcb03;
  content: "";
}

@media screen and (max-width: 768px) {
  #baggage .reception .list-reception__text--goods::before {
    position: absolute;
    top: 1.6rem;
    left: 0;
    width: 1.1rem;
    height: 1.1rem;
  }
}

#baggage .reception .list-reception__text--goods:first-of-type {
  margin-top: 0.8rem;
}

@media screen and (max-width: 768px) {
  #baggage .reception .list-reception__text--goods:first-of-type {
    margin-top: 3rem;
  }
}

#baggage .reception__text {
  padding: 0 4rem;
  font-size: 1.2rem;
  line-height: 140%;
}

@media screen and (max-width: 768px) {
  #baggage .reception__text {
    padding: 0 5rem;
    font-size: 2.2rem;
    letter-spacing: 0;
  }
}

#baggage .reception__text:first-of-type {
  margin-top: 1.4rem;
}

@media screen and (max-width: 768px) {
  #baggage .reception__text:first-of-type {
    margin-top: 4rem;
  }
}

#baggage .yamato {
  width: 100%;
  max-width: 62rem;
  margin-left: auto;
  margin-right: auto;
  height: 23.3rem;
  padding: 3rem;
  background-color: #fff;
  margin-top: 6rem;
  margin-bottom: 13.5rem;
}

@media screen and (max-width: 768px) {
  #baggage .yamato {
    width: 100%;
    max-width: 65rem;
    margin-left: auto;
    margin-right: auto;
    height: 50.9rem;
    margin-bottom: 20rem;
    padding: 6.4rem 5rem;
  }
}

#baggage .yamato__text {
  font-weight: 600;
  font-size: 1.6rem;
  text-align: center;
  letter-spacing: -0.02em;
}

@media screen and (max-width: 768px) {
  #baggage .yamato__text {
    font-size: 3.2rem;
  }
}

#baggage .yamato__text a {
  color: #00459d;
}

#baggage .yamato__text:nth-of-type(n + 2) {
  margin-top: 1.6rem;
  letter-spacing: -0.1em;
}

#baggage .yamato__logo {
  width: 100%;
  max-width: 28.7rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 2.4rem;
}

@media screen and (max-width: 768px) {
  #baggage .yamato__logo {
    width: 100%;
    max-width: 48rem;
    margin-left: auto;
    margin-right: auto;
    margin-top: 6.4rem;
  }
}

#baggage .yamato__logo a {
  transition: opacity 0.3s ease-in-out;
}

#baggage .yamato__logo a.is-on {
  opacity: 0.6;
}

#baggage .yamato__logo img {
  width: 100%;
}

#food {
  background-color: #f1eee5;
}

@media screen and (max-width: 768px) {
  #food {
    background-size: 9.9rem;
  }
}

#food .main_visual {
  background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
    url(../img/background_food.jpg) 0rem -15rem no-repeat;
  height: 50rem;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#food .visual {
  padding: 10.5rem 0;
  background-color: #e7e7e7;
}

@media screen and (max-width: 768px) {
  #food .visual {
    padding: 15 0.5rem 0;
  }

  #food .main_visual {
    background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
      url(../img/background_attention.jpg) 0rem 0rem no-repeat;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    height: 50rem;
  }
}

#food .section__heading--food {
  font-size: 3.4rem;
  letter-spacing: 0.2rem;
}

@media screen and (max-width: 768px) {
  #food .section__heading--food {
    font-size: 3.6rem;
  }

  #food .section__sub-heading {
    font-size: 3.3rem;
  }
}

#food .food-txt {
  text-align: center;
  font-weight: bold;
  margin-top: 2.5rem;
  font-size: 2rem;
  line-height: 4rem;
}

#food .visual__nav {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  #food .visual__nav {
    margin-top: 10.8rem;
  }

  #food .food-txt {
    font-size: 3rem;
    line-height: 2;
  }
}

#food .food__act {
  text-align: center;
  border: 2px solid #000;
  border-radius: 3rem;
  margin-top: 5rem;
  padding: 3rem 0;
  background-color: #fff;
}

#food .food__act strong {
  display: block;
  margin-top: 0rem;
}

@media screen and (max-width: 768px) {
  #food .food__act {
    text-align: left;
    padding: 4rem 3rem;
    line-height: 2.3;
  }

  #food .food__act strong {
    text-align: center;
  }
}

#food .visual__nav-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  #food .visual__nav-list {
    display: block;
  }
}

#food .visual__nav-item {
  display: -ms-flexbox;
  /* display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center; */
  /* height: 1.9rem; */
  width: calc(100% / 5);
  border: 2px solid #000;
  border-radius: 15px;
}

#food .visual__nav-item:hover {
  background-color: #000;
  transition: all 0.4s;
}

#food .visual__nav-item:hover a {
  color: #fff;
}

#food .visual__nav-item + .visual__nav-item {
  margin-left: 1rem;
}

@media screen and (max-width: 768px) {
  #food .visual__nav-item {
    height: 8rem;
    width: 100%;
  }

  #food .visual__nav-item + .visual__nav-item {
    margin-left: 0rem;
  }
}

@media screen and (max-width: 768px) {
  #food .visual__nav-item:nth-of-type(n + 2) {
    margin-top: 2rem;
  }
}

#food .visual__nav-item a {
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: -0.05em;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 1.2rem 0;
}

@media screen and (max-width: 768px) {
  #food .visual__nav-item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
    font-size: 3.2rem;
  }
}

/* #notes .visual__nav-item a::after {
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  content: "";
  background: url(../img/arw_black.svg) no-repeat 50% 50%;
  background-size: 0.6rem 1rem;
  transform: rotate(90deg);
  margin-left: 1.6rem;
} */

@media screen and (max-width: 768px) {
  #food .visual__nav-item a::after {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: calc(50% - 2.9rem / 2);
    width: 1.5rem;
    height: 2.9rem;
    right: 1.4rem;
    background-size: 1.5rem 2.9rem;
  }
}

#food .food {
  padding-top: 2rem;
}

@media screen and (max-width: 768px) {
  #food .food {
    padding-top: 3.2rem;
  }
}

#food .food.apply {
  padding: 0 0 6.8rem;
  background-color: #fecb21;
}

@media screen and (max-width: 768px) {
  #food .food.apply {
    padding: 0 0 10.4rem;
  }
}

#food .food.recruit {
  margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
  #food .food.recruit {
    margin-top: 10.4rem;
  }
}

#food .food.recruit .food-txt {
  text-align: left;
}

#food .food.conditions {
  margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
  #food .food.conditions {
    margin-top: 10.4rem;
  }
}

#food .food.conditions .food-txt {
  text-align: left;
}

#food .food__list {
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  #food .food__list {
    margin-top: 2rem;
  }
}

#food .food__list-item {
  padding: 2rem 0;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: -0.03em;
}

@media screen and (max-width: 768px) {
  #food .food__list-item {
    padding: 3.1rem 0;
    font-size: 2.4rem;
    letter-spacing: -0.05em;
  }
}

#food .food.conditions .food__list-item:first-child {
  line-height: 4rem;
}

@media screen and (max-width: 768px) {
  #food .food.conditions .food__list-item:first-child {
    line-height: 5rem;
  }
}

#food .food.conditions .food__list-item:last-child {
  border: none;
  line-height: 4.5rem;
}

#food .food__list-item {
  border-bottom: 1px solid #e7e7e7;
}

#food .food_btn {
  border: 2px solid #000;
  border-radius: 45px;
  width: 30.9rem;
  height: 5rem;
  margin: 2rem auto;
}

#food .food_btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  height: inherit;
  text-decoration: none;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #food .food_btn {
    width: 54rem;
    height: 9rem;
  }
}

#food .food_btn:hover {
  background-color: #000;
  transition: all 0.4s;
}

#food .food_btn:hover a {
  color: #fff;
}

#food .contact {
  position: relative;
  padding: 10rem 0;
}

#food .section__sub-heading {
  font-size: 2.6rem;
}

#food .contact .section__sub-heading {
  margin-top: 2rem;
}

#food .contact .section__sub-heading span {
  display: block;
}

/* #food {
  background-color: #ff0000;
} */

/* #food .section__heading {
  color: #fff;
} */

#food .visual__content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  /* height: calc(100% - 13.7rem / 2); */
  position: relative;
  z-index: 40;
}

#food .visual__content-logo {
  margin: 2.3rem 0;
}

#food .visual__content-logo img {
  width: 60.8rem;
}

@media screen and (max-width: 768px) {
  #food .visual__content-logo {
    margin: 8rem 0;
  }

  #food .visual__content-logo img {
    width: 62.5rem;
  }
}

#food .visual__content-inner {
  color: #fff;
  font-weight: bold;
  text-align: center;
}

/* @media screen and (max-width: 768px) {
  #food .visual__content-inner {
    margin-top: -3.2rem;
  }
} */

#food .visual .visual__content-heading {
  font-size: 3.3rem;
  color: #fff;
  line-height: 1.5;
  margin-top: 30rem;
  margin-bottom: 4rem;
}

@media screen and (max-width: 768px) {
  #food .visual .visual__content-heading {
    margin-top: 40rem;
    font-size: 3rem;
    margin-bottom: 5rem;
  }
}

@media screen and (max-width: 600px) {
  #food .visual .visual__content-heading {
    font-size: 4.2rem;
  }
}

#food .visual .visual__content-heading span {
  font-size: 4.3rem;
}

@media screen and (max-width: 768px) {
  #food .visual .visual__content-heading span {
    font-size: 4rem;
  }
}

@media screen and (max-width: 600px) {
  #food .visual .visual__content-heading span {
    font-size: 4.8rem;
  }
}

#food .visual__content-inner p {
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  #food .visual__content-inner p {
    font-size: 2.4rem;
  }
}

@media screen and (max-width: 600px) {
  #food .visual__content-inner p {
    font-size: 3rem;
  }
}
#food .visual__content-inner .button-green {
  width: 69rem;
  height: 6rem;
  font-weight: 600;
  margin: 3.8rem auto;
  border: none;
}

@media screen and (max-width: 768px) {
  #food .visual__content-inner .button-green {
    width: 33rem;
    height: 6rem;
    font-weight: 600;
    margin: 6rem auto;
  }
}

@media screen and (max-width: 600px) {
  #food .visual__content-inner .button-green {
    width: 55rem;
    height: 10rem;
  }
}

#food .visual__content-inner .button-green a {
  position: relative;
  text-decoration: none;
  outline: none;
  overflow: hidden;
  border-radius: 3rem;
}

@media screen and (max-width: 768px) {
  #food .visual__content-inner .button-green a {
    border-radius: 5rem;
  }
}

@media screen and (max-width: 600px) {
  #food .visual__content-inner .button-green a {
    border-radius: 8rem;
  }
}

#food .visual__content-inner .button-green a::before {
  content: "";
  /*絶対配置でキラッと光るの位置を決める*/
  position: absolute;
  top: 0;
  left: -75%;
  /*キラッと光る形状*/
  width: 50%;
  height: 100%;
  background: linear-gradient(
    to right,
    rgba(255, 255, 255, 0) 0%,
    rgba(255, 255, 255, 0.3) 100%
  );
  transform: skewX(-25deg);
}

#food .visual__content-inner .button-green a:hover::before {
  animation: shine 0.7s;
}

@keyframes shine {
  100% {
    left: 125%;
  }
}

#food .visual__content-inner .button-green a {
  color: #fff;
  font-size: 1.8rem;
  letter-spacing: 0.4rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #food .visual__content-inner .button-green a {
    font-size: 2.2rem;
  }
}

@media screen and (max-width: 600px) {
  #food .visual__content-inner .button-green a {
    font-size: 3.5rem;
  }
}

#food .visual__content-inner .button-green::before {
  border: none;
  border-radius: 4rem;
}

@media screen and (max-width: 600px) {
  #food .visual__content-inner .button-green::before {
    border: none;
    border-radius: 8rem;
  }
}

#food .visual__content-inner .button-green::before {
  background-color: #62d747;
}

#food-message .section__heading {
  margin-bottom: 5rem;
}

#food .section__inner--message {
  max-width: 100%;
  background-color: #000;
  border-radius: 0 12rem 0 12rem;
  color: #fff;
  text-align: center;
  padding: 15rem 0 10rem;
  margin: 12rem auto 18rem;
  background-image: url(../img/food_bgbk.png);
  background-repeat: no-repeat;
  background-position: 50% 80%;
  background-size: 150rem;
}

@media screen and (max-width: 768px) {
  #food .section__inner--message {
    border-radius: 0;
    padding: 17rem 4rem 12rem;
    background-position: 50% 50%;
    background-size: 110rem;
    max-width: 100%;
    border-radius: 0 12rem 0 12rem;
  }
}

#food .message__text {
  font-size: 1.8rem;
  font-weight: 600;
}

@media screen and (max-width: 768px) {
  #food .message__text {
    font-size: 2.7rem;
    font-weight: 500;
  }
}

@media screen and (max-width: 600px) {
  #food .message__text {
    font-size: 3.8rem;
  }
}

#food .message__text .font--bold {
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #food .message__text .font--bold {
    font-weight: bold;
    font-size: 2.7rem;
  }
}

@media screen and (max-width: 600px) {
  #food .message__text .font--bold {
    font-size: 3.8rem;
  }
}

#food .message__text .color-red {
  color: #e34041;
  font-weight: 600;
}

#food .section-food {
  background-color: #e7e7e7;
  /* border-radius: 0 12rem 0 12rem; */
}

/* @media screen and (max-width: 768px) {
  #food .section-food {
  }
} */

@media screen and (max-width: 768px) {
  #food .food__heading {
    font-size: 4.5rem;
    letter-spacing: 0.3rem;
  }
}
#food .section-food .section__inner {
  width: 100%;
  max-width: 114.4rem;
  margin-left: auto;
  margin-right: auto;
  padding: 12rem 0;
}

@media screen and (max-width: 768px) {
  #food .section-food .section__inner {
    width: 100%;
    max-width: 72rem;
    margin-left: auto;
    margin-right: auto;
    padding: 12rem 0;
  }
}

#food .section-food .list-food {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  margin-top: 5.6rem;
  justify-content: space-between;
}

@media screen and (max-width: 768px) {
  #food .section-food .list-food {
    margin-top: 6rem;
  }
}

#food .section-food .list-food__item {
  position: relative;
  width: calc(100% / 3 - 1.8rem);
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  #food .section-food .list-food__item {
    width: calc(50% - 0rem / 2);
    margin-top: 5rem;
  }
}

#food .section-food .list-food__item-text {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  #food .section-food .list-food__item-text {
    margin-top: 2rem;
  }
}

#food .list-food__item-image {
  height: 22rem;
}

#food .list-food__item-image img {
  height: 100%;
  object-fit: cover;
}

@media screen and (max-width: 768px) {
  #food .list-food__item-image {
    width: 34rem;
    margin: 0 auto;
  }
}

@media screen and (max-width: 600px) {
  #food .list-food__item-image {
    width: 33rem;
    margin: 0 auto;
  }
}

/* @media screen and (max-width: 768px) {
  #food .section-food .list-food__item-text {
    position: static;
    margin-top: 3.2rem;
  }
} */

#food .section-food .list-food__item-text-number {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 2rem;
  height: 2rem;
  border-radius: 100%;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  background-color: #000;
  color: #fff;
  font-weight: 700;
  font-size: 1.1rem;
}

@media screen and (max-width: 768px) {
  #food .section-food .list-food__item-text-number {
    width: 3rem;
    height: 3rem;
    border-radius: 100%;
    font-size: 1.6rem;
    line-height: 1.5;
  }
}

#food .section-food .list-food__item-text-heading {
  margin-top: 0.2rem;
  margin-left: 1.2rem;
  font-weight: 700;
  font-size: 1.4rem;
  line-height: calc(26 / 22);
}

@media screen and (max-width: 768px) {
  #food .section-food .list-food__item-text-heading {
    font-size: 2.2rem;
  }
}

#food .access {
  position: relative;
  padding: 8.2rem 0 14.8rem;
  background-size: 6.1rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #food .access {
    padding: 12rem 0 20.2rem;
    background-size: 9.9rem;
  }
}

#food .access__heading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#food .access__map {
  margin-top: 5.2rem;
}

@media screen and (max-width: 768px) {
  #food .access__map {
    margin-top: 8.3rem;
  }
}

#food .access__map iframe {
  width: 60rem;
  height: 45rem;
}

@media screen and (max-width: 768px) {
  #food .access__map iframe {
    width: 100%;
    height: 78.3rem;
  }
}

#food .access__button {
  margin: 3.4rem auto 0;
  width: 36rem;
  height: 6rem;
}

@media screen and (max-width: 768px) {
  #food .access__button {
    margin: 5rem auto 0;
    width: 50rem;
    height: 7rem;
  }
}

@media screen and (max-width: 600px) {
  #food .access__button {
    margin: 5rem auto 0;
    width: 56rem;
    height: 9rem;
  }

  #food .access__button a {
    font-size: 3.3rem;
  }
}

#goods {
  background-color: #f0eee5;
}

#goods .visual {
  margin-top: 10.5rem;
}

#goods .main_visual {
  background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
    url(../img/background_food.jpg) 0rem -15rem no-repeat;
  height: 50rem;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

@media screen and (max-width: 768px) {
  #goods .visual {
    margin-top: 12.5rem;
  }

  #goods .main_visual {
    background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
      url(../img/background_attention.jpg) 0rem 0rem no-repeat;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    height: 50rem;
  }
}
#goods .section__heading--timetable {
  font-size: 6rem;
}

@media screen and (max-width: 768px) {
  #goods .section__heading--timetable {
    font-size: 6.5rem;
  }
}

#goods .visual .section__sub-heading {
  font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
  #goods .visual .section__sub-heading {
    font-size: 3.4rem;
  }
}

#goods .note {
  margin-top: 5rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #goods .note {
    margin-top: 5.8rem;
  }
}

#goods .note__heading {
  font-weight: 700;
  font-size: 3.2rem;
}

@media screen and (max-width: 768px) {
  #goods .note__heading {
    font-size: 3.8rem;
  }
}

#goods .note__text {
  display: -ms-flexbox;
  width: 100%;
  max-width: 50rem;
  margin-left: auto;
  margin-right: auto;
  margin-top: 1.5rem;
  font-weight: 700;
  font-size: 2.4rem;
  line-height: 2;
  letter-spacing: 0.05em;
}

#goods .note__text small {
  display: block;
  font-size: 1.6rem;
  text-align: center;
}

#goods .note__text + .note__text {
  text-align: center;
  max-width: 110rem;
  margin-top: 2rem;
}

#goods .note__text:last-child {
  margin-top: 4rem;
}

@media screen and (max-width: 768px) {
  #goods .note__text {
    max-width: 65.2rem;
    font-size: 3.2rem;
  }

  #goods .note__text + .note__text {
    max-width: 65.2rem;
  }

  #goods .note__text small {
    text-align: left;
    font-size: 2rem;
  }
}

#goods .note__text em {
  font-size: 2.3rem;
}

@media screen and (max-width: 768px) {
  #goods .note__text em {
    font-size: 3.8rem;
  }
}

#goods .section-goods .section__inner {
  width: 100%;
  max-width: 114.4rem;
  margin-left: auto;
  margin-right: auto;
  padding-bottom: 12.4rem;
}

@media screen and (max-width: 768px) {
  #goods .section-goods .section__inner {
    width: 100%;
    max-width: 69rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0 0 19.6rem;
  }
}

#goods .section-goods .list-goods {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  justify-content: flex-start;
  flex-wrap: wrap;
  /* gap: 11rem 6rem; */
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  #goods .section-goods .list-goods {
    /* gap: 5rem 4rem; */
    margin-top: 4.2rem;
    justify-content: space-between;
  }
}

#goods .section-goods .list-goods__item {
  position: relative;
  width: calc(100% / 3 - 2rem);
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
  margin-top: 3rem;
}

#goods .section-goods .list-goods__item + .list-goods__item {
  margin-left: 3rem;
}

#goods .section-goods .list-goods__item:nth-child(3n + 1) {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  #goods .section-goods .list-goods__item {
    width: calc(50% - 4rem / 2);
  }

  #goods .section-goods .list-goods__item + .list-goods__item {
    margin-left: 0rem;
  }
}

#goods .section-goods .list-goods__item.is-on {
  opacity: 0.7;
}

/* #goods .section-goods .list-goods__item-text {
  position: absolute;
  top: 32rem;
  left: 0rem;
  display: -ms-flexbox;
  display: flex;
} */

@media screen and (max-width: 768px) {
  #goods .section-goods .list-goods__item-text {
    position: static;
    margin-top: 2rem;
  }
}

#goods .section-goods .list-goods__item-text-heading {
  margin-top: 2rem;
  font-weight: 700;
  font-size: 2.2rem;
  line-height: calc(26 / 22);
  text-align: center;
}

@media screen and (max-width: 768px) {
  #goods .section-goods .list-goods__item-text-heading {
    font-size: 3.2rem;
    line-height: calc(42 / 32);
    text-align: left;
  }
}

@media screen and (max-width: 768px) {
  #goods .section-goods .list-goods__item-text-heading--small {
    font-size: 3rem;
    letter-spacing: -0.005em;
    line-height: calc(42 / 30);
  }
}

#goods .goods__text {
  margin-top: 14.8rem;
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  #goods .goods__text {
    margin-top: 11rem;
    font-size: 2.4rem;
  }
}

#home .visual {
  position: relative;
  overflow: hidden;
  height: 115vh;
  min-height: 82rem;
  padding-top: 10rem;
}

/* #home .visual::after {
  content: "";
  position: absolute;
  background: url(../img/background_dots.png) repeat 0 0;
  height: 100%;
  opacity: 0.5;
  left: 0;
  top: 0;
  width: 100%;
} */

@media screen and (max-width: 768px) {
  #home .visual {
    min-height: 120rem;
  }
}

#home .visual__background {
  position: fixed;
  width: 100vw;
  height: 100vh;
  z-index: -1;
  top: 0;
  right: 0;
  left: 0;
  bottom: 0;
  overflow: hidden;
}

/* 
#home .visual__background::after {
    content: "";
    position: absolute;
    background: url(../img/background_dots.png) repeat 0 0;
    height: 100%;
    z-index: 2;
    opacity: .2;
    left: 0;
    top: 0;
    width: 100%;
} */

#home .visual__background-inner {
  width: 100%;
  height: 100%;
  position: absolute;
}

#home .visual__background-inner--01 {
  /* background: url(../img/background01.jpg) center no-repeat; */
  background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
    url(../img/background01.jpg) center no-repeat;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 2;
}

/* @media screen and (max-width: 768px) {
    #home .visual__background-inner--01 {
        background-size: 9.9rem;
    }
} */

#home .visual__background-inner--02 {
  background-color: #333;
  /* background: url(../img/background01.jpg) center no-repeat; */
  background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
    url(../img/background01.jpg) center no-repeat;
  background-size: cover;
  background-repeat: no-repeat;
  z-index: 1;
}

/* @media screen and (max-width: 768px) {
    #home .visual__background-inner--02 {
        background-size: 3.7rem;
    }
} */

#home .visual__background-inner--03 {
  background-color: #333;
  /* background: url(../img/background01.jpg) center no-repeat; */
  background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
    url(../img/background01.jpg) center no-repeat;
  background-size: cover;
  background-repeat: no-repeat;
}

/* @media screen and (max-width: 768px) {
    #home .visual__background-inner--03 {
        background-size: 8.5rem;
    }
} */

#home .visual__background-logo {
  width: 100%;
  height: 100%;
  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;
  -webkit-mask-position: center calc(50% - 5.7rem);
  mask-position: center calc(50% - 5.7rem);
}

@media screen and (max-width: 768px) {
  #home .visual__background-logo {
    -webkit-mask-position: center;
    mask-position: center;
    -webkit-mask-position: calc(50% - 7.4rem) calc(50% - 13.6rem);
    mask-position: calc(50% - 7.4rem) calc(50% - 13.6rem);
  }
}

#home .visual__background-logo--01 {
  /* -webkit-mask-image: url(../img/bg_logo01.svg);
    mask-image: url(../img/bg_logo01.svg); */
  background-image: url(../img/background01.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}

#home .visual__background-logo--02 {
  /* -webkit-mask-image: url(../img/background01.jpg);
    mask-image: url(../img/background01.jpg);
    -webkit-mask-size: 102%;
    mask-size: 102%; */
  background-image: url(../img/background02.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  #home .visual__background-logo--02 {
    -webkit-mask-size: 178%;
    mask-size: 178%;
  }
}

#home .visual__background-logo--03 {
  /* -webkit-mask-image: url(../img/background01.jpg);
    mask-image: url(../img/background01.jpg);
    -webkit-mask-size: 102%;
    mask-size: 102%; */
  background-image: url(../img/background03.jpg);
  background-size: cover;
  background-repeat: no-repeat;
}

@media screen and (max-width: 768px) {
  #home .visual__background-logo--03 {
    -webkit-mask-size: 178%;
    mask-size: 178%;
  }
}

#home .visual__background-logo-content {
  width: 100%;
  height: 100%;
}

#home .visual__background-logo-content--01 {
  /* background-color: #ffd200; */
  background-image: url(../img/bg_icn-visual-logo01.svg);
  background-size: 6.1rem;
}

@media screen and (max-width: 768px) {
  #home .visual__background-logo-content--01 {
    background-size: 9.9rem;
  }
}

#home .visual__background-logo-content--02 {
  /* background-color: #b6aee1; */
  background-image: url(../img/bg_icn-visual-logo02.svg);
  background-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  #home .visual__background-logo-content--02 {
    background-size: 3.7rem;
  }
}

#home .visual__background-logo-content--03 {
  /* background-color: #ff971e; */
  background-image: url(../img/bg_icn-visual-logo03.svg);
  background-size: 8.2rem;
}

@media screen and (max-width: 768px) {
  #home .visual__background-logo-content--03 {
    background-size: 8.5rem;
  }
}

#home .visual__content {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 100%;
  min-height: 100vh;
  height: calc(100% - 13.7rem / 2);
  position: relative;
  z-index: 40;
}

#home .visual__content-inner {
  margin-top: -0.6rem;
  color: #fff;
  font-weight: bold;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #home .visual__content-inner {
    margin-top: -3.2rem;
  }
}

#home .visual__content-copy {
  font-size: 3.3rem;
  letter-spacing: 0.05em;
  text-shadow: 0px 1rem 6rem #999;
}

@media screen and (max-width: 768px) {
  #home .visual__content-copy {
    margin-left: -1.4rem;
    font-size: 4.2rem;
    line-height: 1.5;
    text-align: left;
    text-shadow: 0px 0.5rem 6rem #999;
  }
}

#home .visual__content-copy small {
  font-size: 2.9rem;
}

@media screen and (max-width: 768px) {
  #home .visual__content-copy small {
    font-size: 3.8rem;
  }
}

@media screen and (max-width: 768px) {
  #home .visual__content-copy:first-of-type {
    margin-left: 1.5rem;
  }
}

#home .visual__content-copy--image {
  margin-top: 0;
  filter: drop-shadow(0px 1rem 6rem #444);
  /* line-height: 1.5; */
  font-size: 2rem;
}

@media screen and (max-width: 768px) {
  #home .visual__content-copy--image {
    margin-top: 2.5rem;
    filter: drop-shadow(0px 0.5rem 6rem #999);
    text-align: center;
  }

  #home .visual__content-copy--image img {
    width: 42.9rem;
  }
}

#home .visual__content-logo {
  margin: 2.3rem 0;
}

#home .visual__content-logo img {
  width: 41.8rem;
}

@media screen and (max-width: 768px) {
  #home .visual__content-logo {
    margin: 5rem 0;
  }

  #home .visual__content-logo img {
    width: 55.5rem;
  }
}

#home .visual__content-start_Txt {
  background-color: #000;
  color: #fff;
  width: 15rem;
  margin: 3rem auto 1.5rem;
  font-size: 2.5rem;
  height: 4.4rem;
  display: flex;
  align-items: center;
  justify-content: center;
}

#home .visual__content-schedule {
  display: block;
  letter-spacing: 2px;
  line-height: 1.5;
}

@media screen and (max-width: 768px) {
  #home .visual__content-schedule {
    margin-top: 0rem;
  }
}

/* #home .visual__content-schedule p:nth-child(n + 2)::before {
    width: 2px;
    height: 5.5rem;
    display: inline-block;
    margin-right: 1.8rem;
    margin-left: 2.4rem;
    background-color: #fff;
    content: '';
}

@media screen and (max-width: 768px) {
    #home .visual__content-schedule p:nth-child(n + 2)::before {
        height: 6.8rem;
        margin-right: 3.3rem;
        margin-left: 2.3rem;
    }
} */

#home .visual__content-schedule-date {
  font-size: 2.8rem;
}

#home .visual__content-schedule-date span {
  font-size: 4rem;
}

@media screen and (max-width: 768px) {
  #home .visual__content-schedule-date {
    filter: drop-shadow(0px 0.5rem 6rem #444);
    font-size: 2.5rem;
  }
}

@media screen and (max-width: 768px) {
  #home .visual__content-schedule-date span {
    font-size: 3rem;
  }
}

#home .visual__content-schedule-place {
  font-size: 4rem;
  letter-spacing: 0.1em;
  text-shadow: 0px 0.5rem 3rem #999;
}

@media screen and (max-width: 768px) {
  #home .visual__content-schedule-place {
    font-size: 3rem;
    text-shadow: 0px 0.5rem 6rem #444;
  }
}

#home .visual__content-schedule-place span {
  font-size: 2.4rem;
}

#home .news {
  position: relative;
  padding: 14.2rem 0 20rem;
  background-color: #f1eee5;
  background-image: url(../img/bg_icn-news.svg);
  background-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  #home .news {
    padding: 16.5rem 0 19.6rem;
    background-size: 3.7rem;
  }
}

#home .news__heading {
  font-size: 6rem;
}

@media screen and (max-width: 768px) {
  #home .news__heading {
    font-size: 6rem;
  }
}

#home .news__list {
  width: calc(100% - 22.2rem);
  margin-top: 4.7rem;
  margin-right: auto;
  margin-left: auto;
}

@media screen and (max-width: 768px) {
  #home .news__list {
    width: 100%;
    margin: 9.6rem 0 0;
  }
}

#home .news__list-item {
  padding: 2rem 1.5rem;
  font-size: 1.8rem;
  border-top: 2px solid #333;
  display: flex;
  align-items: center;
}

@media screen and (max-width: 768px) {
  #home .news__list-item {
    display: block;
  }
}

#home .news__list-item:last-child {
  border-bottom: 2px solid #333;
}

#home .news__list-item a {
  display: -ms-flexbox;
  display: flex;
  text-decoration: none;
}

@media screen and (max-width: 768px) {
  #home .news__list-item a {
    display: block;
    position: relative;
  }
}

/* #home .news__list-item:nth-child(n + 2) {
    margin-top: 1.7rem;
}

@media screen and (max-width: 768px) {
    #home .news__list-item:nth-child(n + 2) {
        margin-top: 5.1rem;
    }
} */

#home .news__list-date {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-negative: 0;
  flex-shrink: 0;
  margin-right: 2.5rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #home .news__list-date {
    font-size: 2.2rem;
    margin-right: 3rem;
  }
}

#home .news__list-text {
  letter-spacing: 0.01em;
  font-weight: 500;
}

@media screen and (max-width: 768px) {
  #home .news__list-text {
    margin-top: 1.4rem;
    font-size: 2.8rem;
    line-height: calc(45 / 28);
  }
}

#home .news__list-item.is-new .news__list-date {
  margin-right: 0 !important;
  color: #333;
}

/* #home .news__list-item:first-child .news__list-date::after {
  width: 8rem;
  height: 3.3rem;
  display: flex;
  justify-content: center;
  margin-top: -0.4rem;
  margin-right: 0rem;
  margin-left: 1.8rem;
  border-radius: 1.2rem;
  background: no-repeat center center;
  background-size: 3.4rem 1.1rem;
  background-color: #fecb21;
  content: "NEW";
  font-weight: bold;
} */

/* #home .news__list-item:nth-child(-n + 4) .news__list-date::after {
  width: 8rem;
  height: 3.3rem;
  display: flex;
  justify-content: center;
  margin-top: -0.4rem;
  margin-right: 0rem;
  margin-left: 1.8rem;
  border-radius: 1.2rem;
  background: no-repeat center center;
  background-size: 3.4rem 1.1rem;
  background-color: #fecb21;
  content: "NEW";
  font-weight: bold;
} */

#home .news__list-item.new .news__list-date::after {
  width: 8rem;
  height: 3.3rem;
  display: flex;
  justify-content: center;
  margin-top: -0.4rem;
  margin-right: 0rem;
  margin-left: 1.8rem;
  border-radius: 1.2rem;
  background: no-repeat center center;
  background-size: 3.4rem 1.1rem;
  background-color: #fecb21;
  content: "NEW";
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #home .news__list-item:first-child .news__list-date::after {
    width: 9.4rem;
    height: 3.7rem;
    margin-right: 0;
    margin-left: 3rem;
    border-radius: 1.85rem;
    background-size: 5.4rem 1.6rem;
  }

  #home .news__list-item:nth-child(-n + 3) .news__list-date::after {
    width: 9.4rem;
    height: 3.7rem;
    margin-right: 0;
    margin-left: 3rem;
    border-radius: 1.85rem;
    background-size: 5.4rem 1.6rem;
  }
}

#home .message {
  position: relative;
  padding: 10.33rem 0 6rem;
  background-color: #fecb21;
  border-radius: 0 12rem 0 12rem;
  background-image: url(../img/bg_icn-message.svg);
  background-size: 8.2rem;
}

#home .message::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 100%;
  background-color: #f1eee5;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  #home .message {
    padding: 12.5rem 0 15.5rem;
    background-size: 8.5rem;
  }
}

#home .message__heading {
  font-size: 6rem;
}

@media screen and (max-width: 768px) {
  #home .message__heading {
    font-size: 6rem;
  }
}

#home .message__text {
  position: relative;
  margin-top: 3.4rem;
  padding-bottom: 4.5rem;
  font-size: 1.6rem;
  line-height: calc(40 / 16);
  letter-spacing: 0.1em;
  text-align: center;
  z-index: 1;
}

#home .message__text::after {
  content: "";
  position: absolute;
  left: 0;
  bottom: 0px;
  width: 100%;
  height: 80%;
  background-image: url(../img/bg_logo01.svg);
  background-repeat: no-repeat;
  background-size: 100%;
  z-index: -1;
  opacity: 0.3;
  filter: sepia(1);
}

@media screen and (max-width: 768px) {
  #home .message__text {
    font-size: 2.8rem;
    margin-top: 7.9rem;
    line-height: calc(28 / 16);
    padding: 0 5rem;
  }

  #home .message__text::after {
    height: 70%;
  }
}

#home .message__text p {
  display: inline-block;
  margin-right: -0.5rem;
  margin-bottom: 0.4rem;
  /* background-image: linear-gradient(to right, #000, #000 2px, transparent 2px, transparent 8px); */
  background-size: 4px 2px;
  background-position: left bottom;
  background-repeat: repeat-x;
  font-size: 1.8rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #home .message__text p {
    margin-right: -1rem;
    margin-bottom: 0.9rem;
    font-size: 2.35rem;
    line-height: 6rem;
  }
}

#home .days {
  position: relative;
  padding: 15.5rem 0 16rem;
  background-color: #f1eee5;
}

@media screen and (max-width: 768px) {
  #home .days .section__inner {
    padding: 0 5.2rem;
  }
}

#home .days::after {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 120%;
  background-color: #f1eee5;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  #home .days {
    padding: 19.9rem 0 19.4rem;
    background-size: 3.7rem;
  }

  #home .days::after {
    content: "";
    position: absolute;
    top: 150px;
    width: 100%;
    height: 100%;
    background-color: #f1eee5;
    z-index: -1;
  }
}

#home .days__text {
  max-width: 80%;
  margin: 0 auto;
  padding: 6.55rem 0;
  border: 4px solid #333;
  border-radius: 30px;
}

#home .days .days__heding {
  margin: 0 auto;
  line-height: 1.4;
  /* padding-bottom: 1.8rem; */
  text-align: center;
  width: 100%;
  margin: 0 auto;
}

#home .days .days__heding3 {
  font-size: 3.5rem;
  padding-bottom: 0;
}

@media screen and (max-width: 768px) {
  #home .days__text {
    max-width: 100%;
  }

  #home .days .days__heding {
    font-size: 4.3rem;
    width: 100%;
    letter-spacing: 1px;
  }

  #home .days .days__heding3 {
    font-size: 3.8rem;
    width: 100%;
    letter-spacing: 1px;
  }
}

#home .days .days__heding span {
  text-align: left;
  font-size: 3.3rem;
}

#home .days .days__heding .day {
  font-size: 3.3rem;
}

@media screen and (max-width: 768px) {
  #home .days .days__heding .day {
    font-size: 2.7rem;
  }
}

#home .days__text p {
  text-align: center;
  margin-top: 1.5rem;
  font-size: 2.8rem;
}

#home .act {
  background-image: url(../img/bg_icn-act.svg);
  background-size: 1.6rem;
}

#home .act_inner.first {
  position: relative;
  padding: 5.5rem 0;
  background-color: #36aa45;
  border-radius: 0 12rem 0 12rem;
}

#home .md-overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #00000070;
  z-index: 9999;
}

#home .md-overlay.md-overlay_second {
  z-index: 22222;
}

#home .md-xmark {
  display: none;
  position: absolute;
  top: -13%;
  right: 0;
  z-index: 10000;
}

#home-news .md-xmark {
  top: -5%;
}

@media screen and (max-width: 368px) {
  #home .md-xmark {
    top: -18%;
  }
}

#home .md-xmark svg {
  display: block;
  width: 100%;
}

#home .md-contents {
  display: none;
  position: fixed;
  top: 50%;
  left: 50%;
  width: 60rem;
  padding: 6rem 2.5rem;
  background-color: #fff;
  border-radius: 4px;
  transform: translate(-50%, -50%);
  z-index: 10000;
  text-align: center;
}

#home-news .md-contents {
  padding: 40px 30px;
  width: 1000px;
  top: 55%;
}

#home-news .overlay_second .md-contents {
  z-index: 233333;
}

#home-news .overlay_second .md-xmark {
  top: -23%;
}

#home-news .live17--contents .cont {
  height: 58rem;
  overflow: scroll;
}

#home-news .live17--contents .live17-headline3 {
  margin: 3.5rem 0 1rem;
  padding: 1.4rem;
  text-align: left;
  font-size: 2.6rem;
  font-weight: 700;
}

#home-news .live17--contents .live17--list {
  display: flex;
  flex-wrap: wrap;
  justify-content: space-between;
  margin-top: 2rem;
}

#home-news .live17--contents .live17--btnlist {
  display: flex;
  justify-content: center;
  margin-top: 2rem;
}

#home-news .live17--contents .live17--btnlist .live17--btn + .live17--btn {
  margin-left: 1rem;
}

#home-news .live17--contents .live17--btnlist .button-black {
  width: 17rem;
  height: 5rem;
}

#home-news .live17--contents .button-black::after {
  position: absolute;
  top: calc(50% - 1.6rem / 2);
  display: inline-block;
  width: 1.6rem;
  height: 1.6rem;
  content: "";
  background: url(../img/icn_button.svg) no-repeat 50% 50%;
  background-size: 1.6rem 1.6rem;
  right: 2rem;
  transform: rotate(0);
  border: none;
  bottom: unset;
}

#home-news
  .live17--contents
  .live17--btnlist
  .button-black:last-child
  a::after {
  content: none;
}

#home-news .news__list-item_img {
  width: 300px;
  margin: 0 auto 3rem;
}

#home-news .live17--contents .live17--item {
  width: calc(100% / 2 - 1.5rem);
}

#home-news .live17--contents .live17-headline2 {
  margin-bottom: 2rem;
}
#home-news .live17--contents .live17-headline2 .text-center {
  text-align: center;
  display: block;
}

#home-news .live17--contents .live17-headline2 + .live17-headline2 {
  margin-top: 3rem;
  font-size: 3rem;
}

#home-news .live17--contents .live17--item h3 {
  margin-top: 1.2rem;
  font-size: 2.3rem;
}

#home-news .live17--contents .live17--item h3 span {
  display: inline-block;
  margin-right: 2rem;
}

#home-news .live17--contents .live17--item:nth-child(n + 3) {
  margin-top: 4rem;
}

@media screen and (max-width: 1400px) {
  #home-news .news__list-item_img {
    width: 30rem;
    margin: 0 auto 3rem;
  }

  #home-news .md-contents {
    padding: 4rem 2.5rem;
    width: 100rem;
  }
}

@media screen and (max-width: 768px) {
  #home-news .live17--contents .live17-headline2 + .live17-headline2 {
    text-align: center;
    font-size: 3.5rem;
  }

  #home .md-contents {
    width: 72rem;
    text-align: left;
  }

  #home-news .news__list-item_img {
    width: 25rem;
  }

  #home-news .md-contents p {
    font-size: 1.5rem;
  }

  #home-news .overlay_second .md-contents {
    width: 70rem;
  }

  #home-news .md-xmark {
    top: -6%;
  }

  #home-news .live17--contents .live17--item {
    width: calc(100% / 2 - 1.3rem);
  }

  #home-news .live17--contents .cont {
    height: 65rem;
  }

  #home-news .live17--contents .live17-headline2 {
    font-size: 3rem;
    margin-bottom: 3rem;
  }

  #home-news .live17--contents .live17-headline3 {
    font-size: 3rem;
  }

  #home-news .live17--contents p {
    font-size: 2rem;
  }

  #home-news .live17--contents .live17--item h3 {
    font-size: 2.2rem;
    text-align: center;
  }

  #home-news .live17--contents .live17--btnlist {
    margin-top: 1.5rem;
  }

  #home-news .live17--contents .live17--btnlist .button-black {
    width: 18rem;
  }

  #home-news .live17--contents .live17--btnlist .button-black a {
    font-size: 1.8rem;
  }

  #home-news .live17--contents .live17--btnlist .button-black a::after {
    top: calc(50% - 1.5rem / 2);
    width: 1.5rem;
    height: 1.5rem;
    background-size: 1.5rem 1.5rem;
  }

  #home-news .live17--contents .live17--item:nth-child(n + 4) {
    margin-top: 0rem;
  }

  #home-news .live17--contents .live17--item:nth-child(n + 3) {
    margin-top: 4rem;
  }

  #home-news .overlay_second .md-contents .cont {
    font-size: 2.2rem;
  }

  #home-news .live17--contents .live17--item h3 {
    font-size: 2.6rem;
    min-height: 14rem;
  }

  #home-news .live17--contents .live17--item h3 span {
    display: block;
    margin-right: 0rem;
  }
}

@media screen and (max-width: 468px) {
  #home-news .news__list-item_img {
    width: 45rem;
  }

  #home-news .md-contents p {
    font-size: 2rem;
  }
}

#home .frontier__stage-wrap {
  margin-top: 8rem;
}

#home .frontier__stage-wrap .frontier__stage_head {
  text-align: center;
  font-weight: bold;
}

#home .frontier__stage-wrap .frontier__stage_head h2 {
  color: #fff;
}

@media screen and (max-width: 768px) {
  #home .frontier__stage-wrap .frontier__stage_head h2 {
    font-size: 4.8rem;
  }
}

#home .frontier__stage {
  justify-content: center;
}

#home .frontier__stage-wrap .frontier__stage_head a {
  position: relative;
  font-size: 2.4rem;
  text-decoration: none;
  color: #fff;
  text-decoration: underline;
}

@media screen and (max-width: 768px) {
  #home .frontier__stage-wrap .frontier__stage_head a {
    font-size: 3rem;
  }
}

#home .frontier__stage-wrap .frontier__stage_head a::before {
  content: "";
  position: absolute;
  top: 0;
  left: -3rem;
  display: inline-block;
  border-style: solid;
  border-width: 0.5em 0 0.5em 0.865em;
  border-color: transparent transparent transparent #fff;
  transform: translateY(0.1em) scale(0.8);
  -webkit-transition: 0.3s;
  transition: 0.3s;
}

#home .frontier__stage-wrap .frontier__stage__item {
  width: calc(25% - 2rem);
}

#home .frontier__stage-wrap .frontier__stage__item + .frontier__stage__item {
  margin-left: 2rem;
}

@media screen and (max-width: 768px) {
  #home .frontier__stage-wrap .frontier__stage__item {
    width: 45%;
  }
}

#home .act_inner.second {
  position: relative;
  padding: 5.5rem 0;
  background-color: #028329;
  border-radius: 0 0px 0 12rem;
}

#home .act_inner.second::before {
  content: "";
  position: absolute;
  top: -150px;
  width: 100%;
  height: 100%;
  background-color: #028329;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  #home .act {
    background-size: 3.7rem;
  }
}

#home .act__heading {
  font-size: 5.5rem;
}

@media screen and (max-width: 768px) {
  #home .act__heading {
    font-size: 6rem;
  }
}

#home .act__list-ttl {
  margin-top: 5.7rem;
  font-weight: bold;
  line-height: calc(40 / 24);
  text-decoration: none;
  color: #fff;
  font-size: 2.7rem;
}

#home .act__list-ttl strong {
  font-size: 4.5rem;
  margin-right: 1rem;
}

@media screen and (max-width: 768px) {
  #home .act__list-ttl strong {
    font-size: 3.8rem;
  }
}

#home .act__list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
  flex-wrap: wrap;
  row-gap: 4.4rem;
}

@media screen and (max-width: 768px) {
  #home .act__list {
    margin-top: 3.4rem;
    gap: 6rem 4rem;
  }
}

@media screen and (max-width: 768px) {
  #home .frontier__stage {
    gap: 1.5rem 1.5rem;
  }
}

#home .act_tab-btnList {
  display: flex;
  justify-content: center;
  padding-top: 6.2rem;
}

#home .act_tab-item {
  width: 28.8rem;
  text-align: center;
  font-size: 2rem;
  font-weight: bold;
  padding: 0.3rem 0;
  border: 3px solid #333;
  border-radius: 10px;
  background-color: #f1eee5;
}

#home .act_tab-item a {
  text-decoration: none;
  display: block;
}

@media screen and (max-width: 768px) {
  #home .act_tab-item {
    font-size: 2.4rem;
    padding: 0.555rem 0;
  }
}

/* #home .act_tab-item:first-child {
  background-color: #fecb21;
  background-color: #f1eee5;
} */

#home .act_tab-item:hover {
  background-color: #fecb21;
  transition: all 0.4s;
}

#home .act_tab-item + .act_tab-item {
  margin-left: 4.22rem;
}

/* #home .act_tab-item:last-child {
  background-color: #f1eee5;
} */

#home .act__list-item {
  position: relative;
  width: calc(33% - 6rem / 3);
  margin-top: 4.6rem;
}

#home .act__list__heading {
  margin-top: 6.33rem;
  font-size: 5rem;
}

@media screen and (max-width: 768px) {
  #home .act__list__heading {
    font-size: 4.66rem;
  }
}

@media screen and (max-width: 768px) {
  #home .act__list-item {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-direction: column;
    flex-direction: column;
    width: calc(50% - 2rem);
  }
}

#home .act__list-item + .act__list-item {
  margin-left: 3rem;
}

#home .act__list-item:nth-child(3n + 1) {
  margin-left: 0;
}

@media screen and (max-width: 768px) {
  #home .act__list-item + .act__list-item {
    margin-left: 0;
  }

  #home .act__list-item:nth-child(3n + 1) {
    margin-left: 0;
  }
}

#home .act__list-new {
  position: absolute;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 9rem;
  height: 3.5rem;
  border-radius: calc(3.5rem / 2);
  margin-bottom: 1.2rem;
  background-color: #ff971e;
}

#home .act__list-new img {
  width: 4.9rem;
}

@media screen and (max-width: 768px) {
  #home .act__list-new {
    width: 12.8rem;
    height: 5rem;
    border-radius: calc(5rem / 2);
    position: static;
    margin-bottom: 1.8rem;
  }

  #home .act__list-new img {
    width: 7.3rem;
  }
}

#home .act__list-image {
  position: relative;
  overflow: hidden;
  border-radius: 1.8rem;
}

#home .act__list-image a {
  text-decoration: none;
}

#home .act__list-item .feature {
  position: absolute;
  top: -2rem;
  left: -2rem;
  z-index: 10;
  padding: 0.1rem 3rem;
  border: 0.3rem solid #333;
  background-color: #f7ab2d;
  border-radius: 1.8rem;
  font-weight: bold;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  #home .act__list-item .acoustic {
    font-size: 1.8rem;
  }
}

#home .act__list-item .new {
  position: absolute;
  top: -2rem;
  left: -2rem;
  z-index: 10;
  padding: 0.1rem 3rem;
  border: 0.3rem solid #333;
  background-color: #f7ab2d;
  border-radius: 1.8rem;
  font-weight: bold;
  font-size: 2rem;
}

#home .act__list-image img {
  width: 62rem;
}

@media screen and (max-width: 768px) {
  #home .act__list-image {
    margin-top: 0;
  }

  #home .act__list-image img {
    width: 100%;
  }
}

#home .act__list-body {
  display: -ms-flexbox;
  display: flex;
  margin-top: 1.4rem;
}

@media screen and (max-width: 768px) {
  #home .act__list-body {
    -ms-flex-direction: column;
    flex-direction: column;
    margin-top: 1.8rem;
  }
}

#home .act__list-text a {
  display: inline-block;
  font-weight: bold;
  font-size: 3.1rem;
  line-height: calc(40 / 24);
  text-decoration: none;
  color: #fff;
}

#home .frontier__stage__item .act__list-text {
  font-size: 2rem;
  color: #fff;
}

#home .frontier__stage__item .act__list-text span {
  display: block;
  font-size: 1.5rem;
  background-color: #000;
  width: 11rem;
  text-align: center;
  border-radius: 2rem;
  margin-bottom: 0.5rem;
}

@media screen and (max-width: 768px) {
  #home .act__list-text a {
    letter-spacing: 0.01em;
  }

  #home .frontier__stage__item .act__list-text {
    font-size: 2.2rem;
  }

  #home .frontier__stage__item .act__list-text span {
    font-size: 1.8rem;
    width: 12rem;
  }
}
/* 
@media screen and (max-width: 768px) {
  #home .frontier__stage__item .act__list-text {
    font-size: 2.4rem;
  }
} */

#home .act__list-text a span {
  font-size: 2.8rem;
  letter-spacing: 0.01em;
}

@media screen and (max-width: 768px) {
  #home .act__list-text a span {
    font-size: 2.4rem;
    letter-spacing: 0.1px;
  }
}

@media screen and (max-width: 350px) {
  #home .act__list-text a span {
    font-size: 2.3rem;
    letter-spacing: 0.1px;
  }
}

#home .act__more {
  margin-top: 8.7rem;
  text-align: center;
  color: #fff;
  font-weight: bold;
  font-size: 4rem;
}

/* #home .frontier__stage_inner {
  max-width: 125rem;
} */

#home .frontier__stage_inner .act__more {
  margin-top: 11.5rem;
}

#home .act__more img {
  width: 28.2rem;
}

@media screen and (max-width: 768px) {
  #home .act__more {
    margin-top: 5.5rem;
  }

  #home .frontier__stage_inner .act__more {
    margin-top: 3.5rem;
  }
}

#home .tickets {
  position: relative;
  padding: 15.2rem 0 25rem;
  /* background-color: #fdefd2; */
  background-color: #fff;
  background-image: url(../img/bg_icn-tickets.svg);
  background-size: 8.2rem;
}

#home .tickets::before {
  content: "";
  position: absolute;
  top: -100px;
  width: 100%;
  height: 100%;
  background-color: #fff;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  #home .tickets {
    padding: 18.1rem 0 18.4rem;
  }
}

#home .tickets__heading {
  font-size: 5.5rem;
  font-weight: bold;
  margin-top: 1.6rem;
}

@media screen and (max-width: 768px) {
  #home .tickets__heading {
    font-size: 6rem;
  }
}

#home .tickets__list_heading {
  margin-top: 10.33rem;
  font-size: 5rem;
}

@media screen and (max-width: 768px) {
  #home .tickets__list_heading {
    font-size: 3.66rem;
  }
}

#home .tickets__body {
  margin-top: 4.6rem;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #home .tickets__body {
    margin-top: 7rem;
  }
}

#home .tickets__sub-heading {
  font-weight: bold;
  font-size: 3rem;
}

#home .tickets__sub-heading.border-bottom {
  border-bottom: 5px solid #333;
  display: inline-block;
  padding: 0 5rem 1rem;
}

@media screen and (max-width: 768px) {
  #home .tickets__sub-heading {
    font-size: 4rem;
    line-height: calc(70 / 52);
    letter-spacing: 0.1em;
  }

  #home .tickets__sub-heading.border-bottom {
    padding: 0 0 2rem;
  }
}

#home .tickets__schedule {
  display: inline-block;
  margin-top: 3rem;
  padding: 0.1rem 0;
  font-weight: bold;
  font-size: 2.4rem;
  letter-spacing: 0.1em;
}

#home .tickets__schedule .sold_out {
  position: relative;
}
#home .tickets__schedule .sold_out::before {
  content: "SOLD OUT";
  position: absolute;
  top: -0.5rem;
  left: 14.5rem;
  background-color: #b53924;
  font-size: 1.6rem;
  color: #fff;
  padding: 0 3rem;
  transform: rotate(-8deg);
  opacity: 1;
}

@media screen and (max-width: 768px) {
  #home .tickets__schedule {
    display: -ms-flexbox;
    text-align: left;
    margin-top: 3rem;
    padding: 3.6rem 0;
    border-width: 2px;
    font-weight: 600;
    font-size: 2.8rem;
    line-height: 2;
    letter-spacing: 0.17em;
  }

  #home .tickets__sub-heading {
    font-size: 3.3rem;
  }

  #home .tickets__schedule .sold_out::before {
    content: "SOLD OUT";
    position: absolute;
    top: -1rem;
    left: 18.3rem;
    background-color: #b53924;
    font-size: 2rem;
    color: #fff;
    padding: 0 3rem;
    transform: rotate(-8deg);
  }
}

@media screen and (max-width: 468px) {
  #home .tickets__schedule {
    font-size: 2.8rem;
  }
}

#home .tickets__price {
  margin-top: 3.7rem;
  font-weight: bold;
  font-size: 1.6rem;
  letter-spacing: 0.04em;
  line-height: 1;
}

@media screen and (max-width: 768px) {
  #home .tickets__price {
    margin-top: 6rem;
    font-size: 2.8rem;
    letter-spacing: 0.1em;
  }
}

#home .tickets__price em {
  font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
  #home .tickets__price em {
    font-size: 4.4rem;
  }
}

#home .tickets__price small {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  #home .tickets__price small {
    font-size: 2.5rem;
  }
}

#home .tickets .list-tickets {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  gap: 3rem;
  margin-top: 6rem;
  margin-bottom: 6rem;
}

@media screen and (max-width: 768px) {
  #home .tickets .list-tickets {
    -ms-flex-direction: column;
    flex-direction: column;
    gap: 4rem;
    margin-top: 5.6rem;
  }
}

#home .tickets .list-tickets__item {
  width: 36rem;
  height: 7.5rem;
  position: relative;
}

@media screen and (max-width: 768px) {
  #home .tickets .list-tickets__item {
    width: 62rem;
    height: 13rem;
  }
}

#home .tickets .list-tickets__item::before {
  border-radius: 3.65rem;
}

@media screen and (max-width: 768px) {
  #home .tickets .list-tickets__item::before {
    border-radius: 6.5rem;
  }
}

#home .tickets .list-tickets__item a {
  background: no-repeat center center;
}

#home .tickets .list-tickets__item a::after {
  position: absolute;
  top: calc(50% - 2.3rem / 2);
  display: inline-block;
  width: 2.3rem;
  height: 2.3rem;
  content: "";
  background: url(../img/icn_button.svg) no-repeat 50% 50%;
  background-size: 2.3rem 2.3rem;
  right: 3rem;
}

#home .tickets .list-tickets__item--lawson a::after {
  position: absolute;
  top: calc(50% - 2.3rem / 2);
  display: inline-block;
  width: 2.3rem;
  height: 2.3rem;
  content: "";
  background: url(../img/icon-button.png) no-repeat 50% 50% !important;
  background-size: 2.3rem 2.3rem !important;
  right: 2.5rem;
}

@media screen and (max-width: 768px) {
  #home .tickets .list-tickets__item a::after {
    position: absolute;
    top: calc(50% - 3.7rem / 2);
    width: 3.7rem;
    height: 3.7rem;
    background-size: 3.7rem 3.7rem;
    right: 5.3rem;
  }
  #home .tickets .list-tickets__item--lawson a::after {
    position: absolute;
    top: calc(50% - 3.7rem / 2);
    width: 3.7rem;
    height: 3.7rem;
    background-size: 3.7rem 3.7rem !important;
    right: 5.3rem;
  }
}

#home .tickets .list-tickets__item--pia::before {
  background-color: #2478be;
}

#home .tickets .list-tickets__item--pia a {
  background-image: url(../img/logo_pia.svg);
  background-size: 6.2rem 3.4rem;
}

@media screen and (max-width: 768px) {
  #home .tickets .list-tickets__item--pia a {
    background-size: 11rem 6rem;
  }
}

#home .tickets .list-tickets__item--lawson::before {
  background-color: #fff;
  border: 3px solid #013b58;
}

#home .tickets .list-tickets__item--lawson a {
  background-image: url(../img/logo_lawson.png);
  background-size: 11.7rem;
}

@media screen and (max-width: 768px) {
  #home .tickets .list-tickets__item--lawson a {
    background-size: 20.5rem;
  }
}

#home .tickets .list-tickets__item--eplus::before {
  background-color: #e85298;
}

#home .tickets .list-tickets__item--eplus a {
  background-image: url(../img/logo_eplus.png);
  background-size: 16rem 3.4rem;
}

@media screen and (max-width: 768px) {
  #home .tickets .list-tickets__item--eplus a {
    background-size: 27.9rem 5.8rem;
  }
}

#home .tickets .list-supplement {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-direction: column;
  flex-direction: column;
  gap: 3rem;
  margin-top: 3rem;
}

@media screen and (max-width: 768px) {
  #home .tickets .list-supplement {
    gap: 4rem;
    margin-top: 5rem;
  }
}

#home .tickets__text {
  margin-top: 1rem;
}

@media screen and (max-width: 768px) {
  #home .tickets__text {
    margin-top: 1.6rem;
  }
}

#home .tickets__text sup {
  display: inline-block;
  font-size: 1.4rem;
  line-height: 160%;
  letter-spacing: 0.05em;
  text-align: left;
}

@media screen and (max-width: 768px) {
  #home .tickets__text sup {
    margin-top: 1.6rem;
    font-size: 2.2rem;
    letter-spacing: 0.06em;
  }
}

#home .access {
  position: relative;
  padding: 8.2rem 0 14.8rem;
  background-color: #efefe5;
  background-image: url(../img/bg_icn-access.svg);
  background-size: 6.1rem;
  text-align: center;
}

#home .access::before {
  content: "";
  position: absolute;
  top: -100px;
  left: 0;
  width: 100%;
  height: 100%;
  background-color: #efefe5;
  z-index: -1;
}

@media screen and (max-width: 768px) {
  #home .access {
    padding: 12rem 0 20.2rem;
    background-size: 9.9rem;
  }
}

#home .access__heading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

#home .access__heading {
  font-size: 6rem;
}

@media screen and (max-width: 768px) {
  #home .access__heading {
    font-size: 6rem;
  }
}

#home .access__map {
  margin-top: 5.2rem;
}

@media screen and (max-width: 768px) {
  #home .access__map {
    margin-top: 10.3rem;
  }
}

#home .access__map iframe {
  width: 96rem;
  height: 60.6rem;
}

@media screen and (max-width: 768px) {
  #home .access__map iframe {
    width: 100%;
    height: 78.3rem;
  }
}

#home .access__stage {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 3.4rem;
}

@media screen and (max-width: 768px) {
  #home .access__stage {
    margin-top: 5rem;
  }
}

#home .access__stage-heading {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  width: 6.8rem;
  height: 2.8rem;
  border-radius: calc(2.8rem / 2);
  background-color: #000;
  color: #fff;
  font-weight: bold;
  font-size: 1.6rem;
}

@media screen and (max-width: 768px) {
  #home .access__stage-heading {
    width: 9.5rem;
    height: 3.7rem;
    border-radius: calc(3.7rem / 2);
    font-size: 2.2rem;
  }
}

#home .access__stage-text {
  margin-left: 2rem;
  font-weight: bold;
  font-size: 2.2rem;
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  #home .access__stage-text {
    margin-left: 2.4rem;
    font-size: 3.6rem;
  }
}

#home .access__address {
  display: inline-block;
  margin-top: 0.9rem;
  background-image: linear-gradient(
    to right,
    #000,
    #000 2px,
    transparent 2px,
    transparent 8px
  );
  background-size: 4px 2px;
  background-position: left bottom;
  background-repeat: repeat-x;
  font-size: 1.6rem;
  line-height: calc(25 / 16);
  letter-spacing: 0.05em;
}

@media screen and (max-width: 768px) {
  #home .access__address {
    margin-top: 2rem;
    font-size: 2.8rem;
    line-height: calc(28 / 16);
    letter-spacing: 0.1em;
  }
}

#home .access__button {
  margin: 3.4rem auto 0;
}

#home .attention {
  position: relative;
  background-color: #f5f5f5;
  padding: 10.33rem 0;
  background-color: #f5f5f5;
  border-radius: 0 0px 0 120px;
}

#home .attention::before {
  content: "";
  position: absolute;
  top: -100px;
  width: 100%;
  height: 100%;
  background-color: #f5f5f5;
  z-index: -1;
}

#home .attention__text {
  max-width: 80%;
  margin: 0 auto;
  padding: 3.55rem 0;
  border: 4px solid #333;
  border-radius: 30px;
  text-align: center;
}

@media screen and (max-width: 768px) {
  #home .attention__text {
    max-width: 100%;
    padding: 8.55rem 2rem;
  }
}

#home .attention .list-supplement {
  display: flex;
  justify-content: center;
  margin-top: 3.5rem;
}

.gallery {
  position: relative;
  background-color: #fecb21;
  padding: 10.33rem 0;
  background-color: #fecb21;
  border-radius: 0 12rem 0 0;
}

.gallery::before {
  content: "";
  position: absolute;
  top: 0;
  width: 100%;
  height: 120%;
  background-color: #efefe5;
  z-index: -1;
}

.gallery .gallery__heading {
  font-size: 6rem;
}

@media screen and (max-width: 768px) {
  .gallery .gallery__heading {
    font-size: 5rem;
  }
}

.gallery__slider {
  padding-top: 8rem;
}

.gallery .slick-dots {
  bottom: -7rem;
  z-index: -1;
}

@media (min-width: 769px) {
  .gallery .slick-dots {
    bottom: -7rem;
    transform: translateX(-50%);
    left: 50%;
  }
}

.gallery .slick-prev:before,
.gallery .slick-next:before {
  color: transparent !important;
}

.slick-next:before {
  content: none;
}

.slick-prev:before {
  content: none;
}

.gallery .slick-prev {
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid #333;
}

.gallery .slick-prev::before {
  content: "";
  display: block;
  box-sizing: border-box;
  width: 0.8rem;
  height: 0.8rem;
  border: solid #333;
  border-width: 0.15rem 0.15rem 0 0;
  transform: rotate(-135deg);
}

.gallery .slick-next {
  display: flex;
  -ms-flex-pack: center;
  justify-content: center;
  -ms-flex-align: center;
  align-items: center;
  width: 2rem;
  height: 2rem;
  border-radius: 50%;
  border: 1px solid #333;
}

.gallery .slick-next::before {
  content: "";
  display: block;
  box-sizing: border-box;
  width: 0.8rem;
  height: 0.8rem;
  border: solid #333;
  border-width: 0.15rem 0.15rem 0 0;
  transform: rotate(45deg);
}

@media (min-width: 769px) {
  .gallery .slick-arrow {
    width: 3rem;
    height: 3rem;
  }
}

.gallery .slick-slide {
  margin: 0 10px;
}

.gallery__btn {
  max-width: 250px;
  margin: 10rem auto 0;
  background: #000;
  border-radius: 30px;
}

.gallery__btn a {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  color: #fff;
  padding: 1.2rem 0;
  text-decoration: none;
  font-size: 2rem;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  .gallery__btn {
    max-width: 100%;
  }

  .gallery__btn a {
    font-size: 2.8rem;
  }
}

#info {
  background-color: #edf1f4;
  background-image: url(../img/bg_icn-info.svg);
  background-size: 8.2rem;
}

@media screen and (max-width: 768px) {
  #info {
    background-size: 8.5rem;
  }
}

#info .visual {
  padding: 17.6rem 0 7.2rem;
  background-color: #0070a4;
  background-image: url(../img/bg_icn-visual03.svg);
  background-size: 8.2rem;
}

@media screen and (max-width: 768px) {
  #info .visual {
    padding: 15.6rem 0 12rem;
    background-size: 8.5rem;
  }
}

#info .lead .section__lead {
  padding: 7.4rem 15.8rem 5.4rem;
  font-weight: 600;
  font-size: 1.6rem;
  letter-spacing: -0.05em;
}

@media screen and (max-width: 768px) {
  #info .lead .section__lead {
    padding: 8.8rem 2rem 3.6rem;
    font-size: 3.2rem;
    letter-spacing: -0.04em;
  }
}

#info .notes {
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  #info .notes {
    margin-top: 5.2rem;
    padding: 0 5.3rem;
  }
}

#info .notes__entry {
  margin-top: 2.2rem;
  text-align: center;
  border-bottom: 1px solid #e7e7e7;
}

@media screen and (max-width: 768px) {
  #info .notes__entry {
    margin-top: 4rem;
  }
}

#info .notes__entry-heading {
  font-weight: bold;
  font-size: 1.8rem;
}

@media screen and (max-width: 768px) {
  #info .notes__entry-heading {
    font-size: 3.8rem;
  }
}

#info .notes__entry-text {
  font-size: 1.4rem;
  line-height: 1.2;
  letter-spacing: -0.05em;
}

@media screen and (max-width: 768px) {
  #info .notes__entry-text {
    font-size: 2.8rem;
  }
}

#info .notes__entry-date {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
  margin-top: 2rem;
  padding-bottom: 2.2rem;
  color: #d72027;
  font-weight: 600;
  font-size: 1.8rem;
  letter-spacing: 0.1em;
}

@media screen and (max-width: 768px) {
  #info .notes__entry-date {
    margin-top: 4rem;
    font-size: 3.8rem;
  }
}

#info .notes__entry-date small {
  font-size: 1.4rem;
}

@media screen and (max-width: 768px) {
  #info .notes__entry-date small {
    margin-top: 0.2rem;
    font-size: 2.8rem;
  }
}

#info .notes__entry-date span {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2.2rem;
  margin-right: 1.6rem;
  padding: 0 0.6rem;
  background-color: #d72027;
  color: #fff;
  font-weight: bold;
  font-size: 1.1rem;
  line-height: 1.4;
}

@media screen and (max-width: 768px) {
  #info .notes__entry-date span {
    height: 4.8rem;
    padding: 0 2rem;
    font-size: 2.2rem;
  }
}

#info .notes__list {
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  #info .notes__list {
    margin-top: 2rem;
  }
}

#info .notes__list-item {
  padding: 1.5rem 0;
  font-size: 1.4rem;
  line-height: 1.5;
  letter-spacing: -0.03em;
}

@media screen and (max-width: 768px) {
  #info .notes__list-item {
    padding: 3.1rem 0;
    font-size: 2.8rem;
    letter-spacing: -0.05em;
  }
}

#info .notes__list-item:not(:last-of-type) {
  border-bottom: 1px solid #e7e7e7;
}

#info .notes__list-item div a {
  color: #00459d;
  font-weight: bold;
}

@media screen and (max-width: 768px) {
  #info .notes__list-item div a {
    display: block;
  }
}

#info .notes__list-item sup {
  display: inline-block;
  margin-top: 1rem;
  font-size: 1.2rem;
}

@media screen and (max-width: 768px) {
  #info .notes__list-item sup {
    font-size: 2.4rem;
  }
}

#info .notes__list-item span {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  display: -ms-inline-flexbox;
  display: inline-flex;
  height: 2.2rem;
  margin-right: 1.4rem;
  padding: 0 0.6rem;
  background-color: #1bbdc3;
  color: #fff;
  font-weight: bold;
  font-size: 1.1rem;
}

@media screen and (max-width: 768px) {
  #info .notes__list-item span {
    height: 4.8rem;
    margin-right: 2.4rem;
    padding: 0 2rem;
    font-size: 2.4rem;
  }
}

#info .notes__list-item--heigh p {
  display: -ms-flexbox;
  display: flex;
  margin: 0;
}

#info .notes__list-item--heigh p span {
  -ms-flex-negative: 0;
  flex-shrink: 0;
}

#info .entry {
  padding-bottom: 15rem;
}

#info .entry .notes__list-item {
  display: -ms-flexbox;
  display: flex;
}

@media screen and (max-width: 768px) {
  #info .entry .notes__list-item {
    display: block;
  }
}

#info .entry .notes__list-item.text-center {
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  #info .entry .notes__list-item span {
    margin-bottom: 2rem;
  }
}

#notes {
  background-color: #fff;
}

@media screen and (max-width: 768px) {
  #notes {
    background-size: 9.9rem;
  }
}

#notes .main_visual {
  background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
    url(../img/background_attention.jpg) 0rem -15rem no-repeat;
  height: 50rem;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

#notes .visual {
  margin-top: 10.5rem;
}

@media screen and (max-width: 768px) {
  #notes .visual {
    margin-top: 15 0.5rem;
  }

  #notes .main_visual {
    background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
      url(../img/background_attention.jpg) 0rem 0rem no-repeat;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    height: 50rem;
  }
}

#notes .notes-txt {
  color: #e90606;
  text-align: center;
  font-weight: bold;
  margin-top: 2rem;
  font-size: 1.6rem;
}

#notes .visual__nav {
  margin-top: 5rem;
}

@media screen and (max-width: 768px) {
  #notes .visual__nav {
    margin-top: 10.8rem;
  }

  #notes .notes-txt {
    font-size: 3.2rem;
  }
}

#notes .visual__nav-list {
  display: -ms-flexbox;
  display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center;
}

@media screen and (max-width: 768px) {
  #notes .visual__nav-list {
    display: block;
  }
}

#notes .visual__nav-item {
  display: -ms-flexbox;
  /* display: flex;
  -ms-flex-align: center;
  align-items: center;
  -ms-flex-pack: center;
  justify-content: center; */
  /* height: 1.9rem; */
  width: calc(100% / 5);
  border: 2px solid #000;
  border-radius: 15px;
}

#notes .visual__nav-item:hover {
  background-color: #000;
  transition: all 0.4s;
}

#notes .visual__nav-item:hover a {
  color: #fff;
}

#notes .visual__nav-item + .visual__nav-item {
  margin-left: 1rem;
}

@media screen and (max-width: 768px) {
  #notes .visual__nav-item {
    height: 8rem;
    width: 100%;
  }

  #notes .visual__nav-item + .visual__nav-item {
    margin-left: 0rem;
  }
}

@media screen and (max-width: 768px) {
  #notes .visual__nav-item:nth-of-type(n + 2) {
    margin-top: 2rem;
  }
}

#notes .visual__nav-item a {
  font-weight: 700;
  font-size: 1.6rem;
  letter-spacing: -0.05em;
  text-decoration: none;
  display: flex;
  justify-content: center;
  align-items: center;
  width: 100%;
  height: 100%;
  padding: 1.2rem 0;
}

@media screen and (max-width: 768px) {
  #notes .visual__nav-item a {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    width: 100%;
    height: 100%;
    position: relative;
    font-size: 3.2rem;
  }
}

/* #notes .visual__nav-item a::after {
  display: inline-block;
  width: 0.6rem;
  height: 1rem;
  content: "";
  background: url(../img/arw_black.svg) no-repeat 50% 50%;
  background-size: 0.6rem 1rem;
  transform: rotate(90deg);
  margin-left: 1.6rem;
} */

@media screen and (max-width: 768px) {
  #notes .visual__nav-item a::after {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    position: absolute;
    top: calc(50% - 2.9rem / 2);
    width: 1.5rem;
    height: 2.9rem;
    right: 1.4rem;
    background-size: 1.5rem 2.9rem;
  }
}

#notes .notes {
  margin-top: 2rem;
}

@media screen and (max-width: 768px) {
  #notes .notes {
    margin-top: 3.2rem;
    padding: 0 5.3rem;
  }
}

#notes .notes.ticket {
  margin-top: 6.8rem;
}

@media screen and (max-width: 768px) {
  #notes .notes.ticket {
    margin-top: 10.4rem;
  }
}

#notes .notes__list {
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  #notes .notes__list {
    margin-top: 2rem;
  }
}

#notes .notes__list-item {
  padding: 2rem 0;
  font-size: 1.6rem;
  line-height: 2;
  letter-spacing: -0.03em;
}

@media screen and (max-width: 768px) {
  #notes .notes__list-item {
    padding: 3.1rem 0;
    font-size: 2.8rem;
    letter-spacing: -0.05em;
  }
}

#notes .notes__list-item {
  border-bottom: 1px solid #e7e7e7;
}

#notes .faq {
  position: relative;
  padding-bottom: 16rem;
}

#notes .faq__list {
  margin-top: 1.2rem;
}

@media screen and (max-width: 768px) {
  #notes .faq__list {
    margin-top: 0rem;
  }
}

#notes .faq__list-item {
  padding: 1.7rem 0.5rem;
}

@media screen and (max-width: 768px) {
  #notes .faq__list-item {
    padding: 5.5rem 0;
  }
}

@media screen and (max-width: 768px) {
  #notes .faq__list-item:first-of-type {
    padding: 4.5rem 0;
  }
}

#notes .faq__list-item {
  border-bottom: 1px solid #e7e7e7;
}

#notes .faq__list-item-q {
  position: relative;
  padding: 0 3rem;
  font-weight: 600;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: -0.03em;
}

@media screen and (max-width: 768px) {
  #notes .faq__list-item-q {
    padding: 3rem 5rem;
    font-size: 3.2rem;
    letter-spacing: -0em;
  }
}

#notes .faq__list-item-q::before {
  position: absolute;
  content: "Q";
  left: 0px;
}

@media screen and (max-width: 768px) {
  /* #notes .faq__list-item-q::before {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.2rem;
    top: 0.6rem;
    left: -6rem;
    background-size: 3.2rem 3.2rem;
  } */

  #notes .faq__list-item-q::before {
    position: absolute;
    content: "Q";
    left: 0px;
  }
}

#notes .faq__list-item-a {
  position: relative;
  padding: 1rem 3rem 0;
  font-size: 1.6rem;
  line-height: 1.5;
  letter-spacing: -0.03em;
  word-break: break-all;
}

@media screen and (max-width: 768px) {
  #notes .faq__list-item-a {
    padding: 2rem 0 0 5rem;
    font-size: 2.8rem;
    letter-spacing: -0em;
  }
}

#notes .faq__list-item-a span {
  word-break: break-all;
}

#notes .faq__list-item-a::before {
  position: absolute;
  content: "A";
  left: 0px;
}

@media screen and (max-width: 768px) {
  #notes .faq__list-item-a::before {
    font-size: 3.2rem;
  }
}

/* @media screen and (max-width: 768px) {
  #notes .faq__list-item-a::before {
    display: -ms-flexbox;
    display: flex;
    -ms-flex-align: center;
    align-items: center;
    -ms-flex-pack: center;
    justify-content: center;
    width: 3.2rem;
    height: 3.4rem;
    top: 0.2rem;
    left: -6rem;
    background-size: 3.2rem 3.4rem;
  }
} */

#timetable {
  background-color: #f0eee5;
}

#timetable .visual {
  margin-top: 10.5rem;
}

#timetable .main_visual {
  background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
    url(../img/background_food.jpg) 0rem -15rem no-repeat;
  height: 50rem;
  background-size: cover;
  background-repeat: no-repeat;
  position: relative;
}

@media screen and (max-width: 768px) {
  #timetable .visual {
    margin-top: 12.5rem;
  }

  #timetable .main_visual {
    background: linear-gradient(rgba(76, 76, 76, 0.5), rgba(76, 76, 76, 0.5)),
      url(../img/background_attention.jpg) 0rem 0rem no-repeat;
    background-size: cover;
    background-repeat: no-repeat;
    position: relative;
    height: 50rem;
  }
}

#timetable .section__heading--timetable {
  font-size: 6rem;
}

@media screen and (max-width: 768px) {
  #timetable .section__heading--timetable {
    font-size: 6.5rem;
  }
}

#timetable .visual .section__sub-heading {
  font-size: 2.4rem;
}

@media screen and (max-width: 768px) {
  #timetable .visual .section__sub-heading {
    font-size: 3.4rem;
  }
}

#timetable .section-image .section__inner {
  width: 100%;
  max-width: 140rem;
  margin-left: auto;
  margin-right: auto;
  padding: 0 5rem;
}

@media screen and (max-width: 768px) {
  #timetable .section-image .section__inner {
    width: 100%;
    max-width: 64.9rem;
    margin-left: auto;
    margin-right: auto;
    padding: 0;
  }
}

#timetable .section-image__list {
  display: flex;
  justify-content: space-between;
  align-items: center;
}

#timetable .section-image__item {
  width: 48%;
  max-width: 130rem;
  margin-left: auto;
  margin-right: auto;
  margin: 5.6rem auto 16rem;
}

@media screen and (max-width: 768px) {
  #timetable .section-image__list {
    display: block;
  }

  #timetable .section-image__item {
    width: 100%;
    margin: 7.6rem 0 6rem;
  }
}

#timetable .section-image__item .section-image__ttl {
  margin-top: 2rem;
  font-weight: bold;
  line-height: calc(40 / 24);
  text-decoration: none;
  color: #000;
  font-size: 2.7rem;
}

#timetable .section-image__item .section-image__ttl strong {
  font-size: 3.5rem;
  margin-right: 1rem;
}

@media screen and (max-width: 768px) {
  #timetable .section-image__item .section-image__ttl strong {
    font-size: 3.8rem;
  }
}

.center-inline {
  text-align: center;
}

.back-in {
  will-change: opacity, transform;
  opacity: 0;
  transform: scale(0);
  transition: opacity 0.2s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.6s cubic-bezier(0.175, 0.885, 0.32, 1.275);
}

.back-in.is-inview {
  opacity: 1;
  transform: scale(1);
}

.slide-up-in {
  will-change: opacity, transform;
  opacity: 0;
  transform: translateY(6rem);
  transition: opacity 0.6s cubic-bezier(0.39, 0.575, 0.565, 1),
    transform 0.8s cubic-bezier(0.165, 0.84, 0.44, 1);
}

@media screen and (max-width: 768px) {
  .slide-up-in {
    transform: translateY(4rem);
  }
}

.slide-up-in.is-inview {
  opacity: 1;
  transform: translateY(0);
}

@media screen and (max-width: 768px) {
  .only-pc {
    display: none !important;
  }
}

@media screen and (min-width: 769px) {
  .only-sp {
    display: none !important;
  }
}

.js-fit-image {
  width: 100%;
  height: 100%;
  object-fit: cover;
  font-family: "object-fit: cover;";
}

.js-disabled {
  pointer-events: none;
  opacity: 0.5;
}

@media screen and (max-width: 768px) {
  .js-show-modal-sp {
    position: relative;
    display: block;
  }

  .js-show-modal-sp:after {
    position: absolute;
    right: 0;
    bottom: 0;
    width: 5rem;
    height: 5rem;
    content: "";
    display: block;
    background: url(../img/icn_zoom@sp.png) no-repeat center center;
    background-size: contain;
  }
}

/*!
 * animate.css - https://animate.style/
 * Version - 4.1.1
 * Licensed under the Hippocratic License 2.1 - http://firstdonoharm.dev
 *
 * Copyright (c) 2022 Animate.css
 */
:root {
  --animate-duration: 1s;
  --animate-delay: 1s;
  --animate-repeat: 1;
}

.animate__animated {
  animation-duration: 1s;
  animation-duration: var(--animate-duration);
  animation-fill-mode: both;
}

.animate__animated.animate__infinite {
  animation-iteration-count: infinite;
}

.animate__animated.animate__repeat-1 {
  animation-iteration-count: 1;
  animation-iteration-count: var(--animate-repeat);
}

.animate__animated.animate__repeat-2 {
  animation-iteration-count: calc(1 * 2);
  animation-iteration-count: calc(var(--animate-repeat) * 2);
}

.animate__animated.animate__repeat-3 {
  animation-iteration-count: calc(1 * 3);
  animation-iteration-count: calc(var(--animate-repeat) * 3);
}

.animate__animated.animate__delay-1s {
  animation-delay: 1s;
  animation-delay: var(--animate-delay);
}

.animate__animated.animate__delay-2s {
  animation-delay: calc(1s * 2);
  animation-delay: calc(var(--animate-delay) * 2);
}

.animate__animated.animate__delay-3s {
  animation-delay: calc(1s * 3);
  animation-delay: calc(var(--animate-delay) * 3);
}

.animate__animated.animate__delay-4s {
  animation-delay: calc(1s * 4);
  animation-delay: calc(var(--animate-delay) * 4);
}

.animate__animated.animate__delay-5s {
  animation-delay: calc(1s * 5);
  animation-delay: calc(var(--animate-delay) * 5);
}

.animate__animated.animate__faster {
  animation-duration: calc(1s / 2);
  animation-duration: calc(var(--animate-duration) / 2);
}

.animate__animated.animate__fast {
  animation-duration: calc(1s * 0.8);
  animation-duration: calc(var(--animate-duration) * 0.8);
}

.animate__animated.animate__slow {
  animation-duration: calc(1s * 2);
  animation-duration: calc(var(--animate-duration) * 2);
}

.animate__animated.animate__slower {
  animation-duration: calc(1s * 3);
  animation-duration: calc(var(--animate-duration) * 3);
}

@media print, (prefers-reduced-motion: reduce) {
  .animate__animated {
    animation-duration: 1ms !important;
    transition-duration: 1ms !important;
    animation-iteration-count: 1 !important;
  }

  .animate__animated[class*="Out"] {
    opacity: 0;
  }
}

/* Attention seekers  */

@keyframes bounce {
  from,
  20%,
  53%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0);
  }

  40%,
  43% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -30px, 0) scaleY(1.1);
  }

  70% {
    animation-timing-function: cubic-bezier(0.755, 0.05, 0.855, 0.06);
    transform: translate3d(0, -15px, 0) scaleY(1.05);
  }

  80% {
    transition-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
    transform: translate3d(0, 0, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, -4px, 0) scaleY(1.02);
  }
}

.animate__bounce {
  animation-name: bounce;
  transform-origin: center bottom;
}

@keyframes flash {
  from,
  50%,
  to {
    opacity: 1;
  }

  25%,
  75% {
    opacity: 0;
  }
}

.animate__flash {
  animation-name: flash;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes pulse {
  from {
    transform: scale3d(1, 1, 1);
  }

  50% {
    transform: scale3d(1.05, 1.05, 1.05);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.animate__pulse {
  animation-name: pulse;
  animation-timing-function: ease-in-out;
}

@keyframes rubberBand {
  from {
    transform: scale3d(1, 1, 1);
  }

  30% {
    transform: scale3d(1.25, 0.75, 1);
  }

  40% {
    transform: scale3d(0.75, 1.25, 1);
  }

  50% {
    transform: scale3d(1.15, 0.85, 1);
  }

  65% {
    transform: scale3d(0.95, 1.05, 1);
  }

  75% {
    transform: scale3d(1.05, 0.95, 1);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.animate__rubberBand {
  animation-name: rubberBand;
}

@keyframes shakeX {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(-2%, 0, 0);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translate3d(2%, 0, 0);
  }
}

.animate__shakeX {
  animation-name: shakeX;
}

@keyframes shakeY {
  from,
  to {
    transform: translate3d(0, 0, 0);
  }

  10%,
  30%,
  50%,
  70%,
  90% {
    transform: translate3d(0, -10px, 0);
  }

  20%,
  40%,
  60%,
  80% {
    transform: translate3d(0, 10px, 0);
  }
}

.animate__shakeY {
  animation-name: shakeY;
}

@keyframes headShake {
  0% {
    transform: translateX(0);
  }

  6.5% {
    transform: translateX(-6px) rotateY(-9deg);
  }

  18.5% {
    transform: translateX(5px) rotateY(7deg);
  }

  31.5% {
    transform: translateX(-3px) rotateY(-5deg);
  }

  43.5% {
    transform: translateX(2px) rotateY(3deg);
  }

  50% {
    transform: translateX(0);
  }
}

.animate__headShake {
  animation-timing-function: ease-in-out;
  animation-name: headShake;
}

@keyframes swing {
  20% {
    transform: rotate3d(0, 0, 1, 15deg);
  }

  40% {
    transform: rotate3d(0, 0, 1, -10deg);
  }

  60% {
    transform: rotate3d(0, 0, 1, 5deg);
  }

  80% {
    transform: rotate3d(0, 0, 1, -5deg);
  }

  to {
    transform: rotate3d(0, 0, 1, 0deg);
  }
}

.animate__swing {
  transform-origin: top center;
  animation-name: swing;
}

@keyframes tada {
  from {
    transform: scale3d(1, 1, 1);
  }

  10%,
  20% {
    transform: scale3d(0.9, 0.9, 0.9) rotate3d(0, 0, 1, -3deg);
  }

  30%,
  50%,
  70%,
  90% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, 3deg);
  }

  40%,
  60%,
  80% {
    transform: scale3d(1.1, 1.1, 1.1) rotate3d(0, 0, 1, -3deg);
  }

  to {
    transform: scale3d(1, 1, 1);
  }
}

.animate__tada {
  animation-name: tada;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes wobble {
  from {
    transform: translate3d(0, 0, 0);
  }

  15% {
    transform: translate3d(-25%, 0, 0) rotate3d(0, 0, 1, -5deg);
  }

  30% {
    transform: translate3d(20%, 0, 0) rotate3d(0, 0, 1, 3deg);
  }

  45% {
    transform: translate3d(-15%, 0, 0) rotate3d(0, 0, 1, -3deg);
  }

  60% {
    transform: translate3d(10%, 0, 0) rotate3d(0, 0, 1, 2deg);
  }

  75% {
    transform: translate3d(-5%, 0, 0) rotate3d(0, 0, 1, -1deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__wobble {
  animation-name: wobble;
}

@keyframes jello {
  from,
  11.1%,
  to {
    transform: translate3d(0, 0, 0);
  }

  22.2% {
    transform: skewX(-12.5deg) skewY(-12.5deg);
  }

  33.3% {
    transform: skewX(6.25deg) skewY(6.25deg);
  }

  44.4% {
    transform: skewX(-3.125deg) skewY(-3.125deg);
  }

  55.5% {
    transform: skewX(1.5625deg) skewY(1.5625deg);
  }

  66.6% {
    transform: skewX(-0.78125deg) skewY(-0.78125deg);
  }

  77.7% {
    transform: skewX(0.39062deg) skewY(0.39062deg);
  }

  88.8% {
    transform: skewX(-0.19531deg) skewY(-0.19531deg);
  }
}

.animate__jello {
  animation-name: jello;
  transform-origin: center;
}

@keyframes heartBeat {
  0% {
    transform: scale(1);
  }

  14% {
    transform: scale(1.3);
  }

  28% {
    transform: scale(1);
  }

  42% {
    transform: scale(1.3);
  }

  70% {
    transform: scale(1);
  }
}

.animate__heartBeat {
  animation-name: heartBeat;
  animation-duration: calc(1s * 1.3);
  animation-duration: calc(var(--animate-duration) * 1.3);
  animation-timing-function: ease-in-out;
}

/* Back entrances */

@keyframes backInDown {
  0% {
    transform: translateY(-1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.animate__backInDown {
  animation-name: backInDown;
}

@keyframes backInLeft {
  0% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.animate__backInLeft {
  animation-name: backInLeft;
}

@keyframes backInRight {
  0% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.animate__backInRight {
  animation-name: backInRight;
}

@keyframes backInUp {
  0% {
    transform: translateY(1200px) scale(0.7);
    opacity: 0.7;
  }

  80% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: scale(1);
    opacity: 1;
  }
}

.animate__backInUp {
  animation-name: backInUp;
}

/* Back exits */

@keyframes backOutDown {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateY(700px) scale(0.7);
    opacity: 0.7;
  }
}

.animate__backOutDown {
  animation-name: backOutDown;
}

@keyframes backOutLeft {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateX(-2000px) scale(0.7);
    opacity: 0.7;
  }
}

.animate__backOutLeft {
  animation-name: backOutLeft;
}

@keyframes backOutRight {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateX(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateX(2000px) scale(0.7);
    opacity: 0.7;
  }
}

.animate__backOutRight {
  animation-name: backOutRight;
}

@keyframes backOutUp {
  0% {
    transform: scale(1);
    opacity: 1;
  }

  20% {
    transform: translateY(0px) scale(0.7);
    opacity: 0.7;
  }

  100% {
    transform: translateY(-700px) scale(0.7);
    opacity: 0.7;
  }
}

.animate__backOutUp {
  animation-name: backOutUp;
}

/* Bouncing entrances  */

@keyframes bounceIn {
  from,
  20%,
  40%,
  60%,
  80%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  20% {
    transform: scale3d(1.1, 1.1, 1.1);
  }

  40% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  60% {
    opacity: 1;
    transform: scale3d(1.03, 1.03, 1.03);
  }

  80% {
    transform: scale3d(0.97, 0.97, 0.97);
  }

  to {
    opacity: 1;
    transform: scale3d(1, 1, 1);
  }
}

.animate__bounceIn {
  animation-duration: calc(1s * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  animation-name: bounceIn;
}

@keyframes bounceInDown {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: translate3d(0, -3000px, 0) scaleY(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, 25px, 0) scaleY(0.9);
  }

  75% {
    transform: translate3d(0, -10px, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, 5px, 0) scaleY(0.985);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__bounceInDown {
  animation-name: bounceInDown;
}

@keyframes bounceInLeft {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  0% {
    opacity: 0;
    transform: translate3d(-3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(-10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__bounceInLeft {
  animation-name: bounceInLeft;
}

@keyframes bounceInRight {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    transform: translate3d(3000px, 0, 0) scaleX(3);
  }

  60% {
    opacity: 1;
    transform: translate3d(-25px, 0, 0) scaleX(1);
  }

  75% {
    transform: translate3d(10px, 0, 0) scaleX(0.98);
  }

  90% {
    transform: translate3d(-5px, 0, 0) scaleX(0.995);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__bounceInRight {
  animation-name: bounceInRight;
}

@keyframes bounceInUp {
  from,
  60%,
  75%,
  90%,
  to {
    animation-timing-function: cubic-bezier(0.215, 0.61, 0.355, 1);
  }

  from {
    opacity: 0;
    transform: translate3d(0, 3000px, 0) scaleY(5);
  }

  60% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  75% {
    transform: translate3d(0, 10px, 0) scaleY(0.95);
  }

  90% {
    transform: translate3d(0, -5px, 0) scaleY(0.985);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__bounceInUp {
  animation-name: bounceInUp;
}

/* Bouncing exits  */

@keyframes bounceOut {
  20% {
    transform: scale3d(0.9, 0.9, 0.9);
  }

  50%,
  55% {
    opacity: 1;
    transform: scale3d(1.1, 1.1, 1.1);
  }

  to {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }
}

.animate__bounceOut {
  animation-duration: calc(1s * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  animation-name: bounceOut;
}

@keyframes bounceOutDown {
  20% {
    transform: translate3d(0, 10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, -20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0) scaleY(3);
  }
}

.animate__bounceOutDown {
  animation-name: bounceOutDown;
}

@keyframes bounceOutLeft {
  20% {
    opacity: 1;
    transform: translate3d(20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0) scaleX(2);
  }
}

.animate__bounceOutLeft {
  animation-name: bounceOutLeft;
}

@keyframes bounceOutRight {
  20% {
    opacity: 1;
    transform: translate3d(-20px, 0, 0) scaleX(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0) scaleX(2);
  }
}

.animate__bounceOutRight {
  animation-name: bounceOutRight;
}

@keyframes bounceOutUp {
  20% {
    transform: translate3d(0, -10px, 0) scaleY(0.985);
  }

  40%,
  45% {
    opacity: 1;
    transform: translate3d(0, 20px, 0) scaleY(0.9);
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0) scaleY(3);
  }
}

.animate__bounceOutUp {
  animation-name: bounceOutUp;
}

/* Fading entrances  */

@keyframes fadeIn {
  from {
    opacity: 0;
  }

  to {
    opacity: 1;
  }
}

.animate__fadeIn {
  animation-name: fadeIn;
}

@keyframes fadeInDown {
  from {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInDown {
  animation-name: fadeInDown;
}

@keyframes fadeInDownBig {
  from {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInDownBig {
  animation-name: fadeInDownBig;
}

@keyframes fadeInLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInLeft {
  animation-name: fadeInLeft;
}

@keyframes fadeInLeftBig {
  from {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInLeftBig {
  animation-name: fadeInLeftBig;
}

@keyframes fadeInRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInRight {
  animation-name: fadeInRight;
}

@keyframes fadeInRightBig {
  from {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInRightBig {
  animation-name: fadeInRightBig;
}

@keyframes fadeInUp {
  from {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInUp {
  animation-name: fadeInUp;
}

@keyframes fadeInUpBig {
  from {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInUpBig {
  animation-name: fadeInUpBig;
}

@keyframes fadeInTopLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInTopLeft {
  animation-name: fadeInTopLeft;
}

@keyframes fadeInTopRight {
  from {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInTopRight {
  animation-name: fadeInTopRight;
}

@keyframes fadeInBottomLeft {
  from {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInBottomLeft {
  animation-name: fadeInBottomLeft;
}

@keyframes fadeInBottomRight {
  from {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__fadeInBottomRight {
  animation-name: fadeInBottomRight;
}

/* Fading exits */

@keyframes fadeOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
  }
}

.animate__fadeOut {
  animation-name: fadeOut;
}

@keyframes fadeOutDown {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 100%, 0);
  }
}

.animate__fadeOutDown {
  animation-name: fadeOutDown;
}

@keyframes fadeOutDownBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, 2000px, 0);
  }
}

.animate__fadeOutDownBig {
  animation-name: fadeOutDownBig;
}

@keyframes fadeOutLeft {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 0, 0);
  }
}

.animate__fadeOutLeft {
  animation-name: fadeOutLeft;
}

@keyframes fadeOutLeftBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(-2000px, 0, 0);
  }
}

.animate__fadeOutLeftBig {
  animation-name: fadeOutLeftBig;
}

@keyframes fadeOutRight {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0);
  }
}

.animate__fadeOutRight {
  animation-name: fadeOutRight;
}

@keyframes fadeOutRightBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(2000px, 0, 0);
  }
}

.animate__fadeOutRightBig {
  animation-name: fadeOutRightBig;
}

@keyframes fadeOutUp {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -100%, 0);
  }
}

.animate__fadeOutUp {
  animation-name: fadeOutUp;
}

@keyframes fadeOutUpBig {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(0, -2000px, 0);
  }
}

.animate__fadeOutUpBig {
  animation-name: fadeOutUpBig;
}

@keyframes fadeOutTopLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, -100%, 0);
  }
}

.animate__fadeOutTopLeft {
  animation-name: fadeOutTopLeft;
}

@keyframes fadeOutTopRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(100%, -100%, 0);
  }
}

.animate__fadeOutTopRight {
  animation-name: fadeOutTopRight;
}

@keyframes fadeOutBottomRight {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 100%, 0);
  }
}

.animate__fadeOutBottomRight {
  animation-name: fadeOutBottomRight;
}

@keyframes fadeOutBottomLeft {
  from {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }

  to {
    opacity: 0;
    transform: translate3d(-100%, 100%, 0);
  }
}

.animate__fadeOutBottomLeft {
  animation-name: fadeOutBottomLeft;
}

/* Flippers */

@keyframes flip {
  from {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, -360deg);
    animation-timing-function: ease-out;
  }

  40% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -190deg);
    animation-timing-function: ease-out;
  }

  50% {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 150px)
      rotate3d(0, 1, 0, -170deg);
    animation-timing-function: ease-in;
  }

  80% {
    transform: perspective(400px) scale3d(0.95, 0.95, 0.95) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }

  to {
    transform: perspective(400px) scale3d(1, 1, 1) translate3d(0, 0, 0)
      rotate3d(0, 1, 0, 0deg);
    animation-timing-function: ease-in;
  }
}

.animate__animated.animate__flip {
  -webkit-backface-visibility: visible;
  backface-visibility: visible;
  animation-name: flip;
}

@keyframes flipInX {
  from {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(1, 0, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(1, 0, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}

.animate__flipInX {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInX;
}

@keyframes flipInY {
  from {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    animation-timing-function: ease-in;
    opacity: 0;
  }

  40% {
    transform: perspective(400px) rotate3d(0, 1, 0, -20deg);
    animation-timing-function: ease-in;
  }

  60% {
    transform: perspective(400px) rotate3d(0, 1, 0, 10deg);
    opacity: 1;
  }

  80% {
    transform: perspective(400px) rotate3d(0, 1, 0, -5deg);
  }

  to {
    transform: perspective(400px);
  }
}

.animate__flipInY {
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipInY;
}

@keyframes flipOutX {
  from {
    transform: perspective(400px);
  }

  30% {
    transform: perspective(400px) rotate3d(1, 0, 0, -20deg);
    opacity: 1;
  }

  to {
    transform: perspective(400px) rotate3d(1, 0, 0, 90deg);
    opacity: 0;
  }
}

.animate__flipOutX {
  animation-duration: calc(1s * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  animation-name: flipOutX;
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
}

@keyframes flipOutY {
  from {
    transform: perspective(400px);
  }

  30% {
    transform: perspective(400px) rotate3d(0, 1, 0, -15deg);
    opacity: 1;
  }

  to {
    transform: perspective(400px) rotate3d(0, 1, 0, 90deg);
    opacity: 0;
  }
}

.animate__flipOutY {
  animation-duration: calc(1s * 0.75);
  animation-duration: calc(var(--animate-duration) * 0.75);
  -webkit-backface-visibility: visible !important;
  backface-visibility: visible !important;
  animation-name: flipOutY;
}

/* Lightspeed */

@keyframes lightSpeedInRight {
  from {
    transform: translate3d(100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }

  60% {
    transform: skewX(20deg);
    opacity: 1;
  }

  80% {
    transform: skewX(-5deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__lightSpeedInRight {
  animation-name: lightSpeedInRight;
  animation-timing-function: ease-out;
}

@keyframes lightSpeedInLeft {
  from {
    transform: translate3d(-100%, 0, 0) skewX(30deg);
    opacity: 0;
  }

  60% {
    transform: skewX(-20deg);
    opacity: 1;
  }

  80% {
    transform: skewX(5deg);
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__lightSpeedInLeft {
  animation-name: lightSpeedInLeft;
  animation-timing-function: ease-out;
}

@keyframes lightSpeedOutRight {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(100%, 0, 0) skewX(30deg);
    opacity: 0;
  }
}

.animate__lightSpeedOutRight {
  animation-name: lightSpeedOutRight;
  animation-timing-function: ease-in;
}

@keyframes lightSpeedOutLeft {
  from {
    opacity: 1;
  }

  to {
    transform: translate3d(-100%, 0, 0) skewX(-30deg);
    opacity: 0;
  }
}

.animate__lightSpeedOutLeft {
  animation-name: lightSpeedOutLeft;
  animation-timing-function: ease-in;
}

/* Rotating entrances */

@keyframes rotateIn {
  from {
    transform: rotate3d(0, 0, 1, -200deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.animate__rotateIn {
  animation-name: rotateIn;
  transform-origin: center;
}

@keyframes rotateInDownLeft {
  from {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.animate__rotateInDownLeft {
  animation-name: rotateInDownLeft;
  transform-origin: left bottom;
}

@keyframes rotateInDownRight {
  from {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.animate__rotateInDownRight {
  animation-name: rotateInDownRight;
  transform-origin: right bottom;
}

@keyframes rotateInUpLeft {
  from {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.animate__rotateInUpLeft {
  animation-name: rotateInUpLeft;
  transform-origin: left bottom;
}

@keyframes rotateInUpRight {
  from {
    transform: rotate3d(0, 0, 1, -90deg);
    opacity: 0;
  }

  to {
    transform: translate3d(0, 0, 0);
    opacity: 1;
  }
}

.animate__rotateInUpRight {
  animation-name: rotateInUpRight;
  transform-origin: right bottom;
}

/* Rotating exits */

@keyframes rotateOut {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 200deg);
    opacity: 0;
  }
}

.animate__rotateOut {
  animation-name: rotateOut;
  transform-origin: center;
}

@keyframes rotateOutDownLeft {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 45deg);
    opacity: 0;
  }
}

.animate__rotateOutDownLeft {
  animation-name: rotateOutDownLeft;
  transform-origin: left bottom;
}

@keyframes rotateOutDownRight {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.animate__rotateOutDownRight {
  animation-name: rotateOutDownRight;
  transform-origin: right bottom;
}

@keyframes rotateOutUpLeft {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, -45deg);
    opacity: 0;
  }
}

.animate__rotateOutUpLeft {
  animation-name: rotateOutUpLeft;
  transform-origin: left bottom;
}

@keyframes rotateOutUpRight {
  from {
    opacity: 1;
  }

  to {
    transform: rotate3d(0, 0, 1, 90deg);
    opacity: 0;
  }
}

.animate__rotateOutUpRight {
  animation-name: rotateOutUpRight;
  transform-origin: right bottom;
}

/* Specials */

@keyframes hinge {
  0% {
    animation-timing-function: ease-in-out;
  }

  20%,
  60% {
    transform: rotate3d(0, 0, 1, 80deg);
    animation-timing-function: ease-in-out;
  }

  40%,
  80% {
    transform: rotate3d(0, 0, 1, 60deg);
    animation-timing-function: ease-in-out;
    opacity: 1;
  }

  to {
    transform: translate3d(0, 700px, 0);
    opacity: 0;
  }
}

.animate__hinge {
  animation-duration: calc(1s * 2);
  animation-duration: calc(var(--animate-duration) * 2);
  animation-name: hinge;
  transform-origin: top left;
}

@keyframes jackInTheBox {
  from {
    opacity: 0;
    transform: scale(0.1) rotate(30deg);
    transform-origin: center bottom;
  }

  50% {
    transform: rotate(-10deg);
  }

  70% {
    transform: rotate(3deg);
  }

  to {
    opacity: 1;
    transform: scale(1);
  }
}

.animate__jackInTheBox {
  animation-name: jackInTheBox;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollIn {
  from {
    opacity: 0;
    transform: translate3d(-100%, 0, 0) rotate3d(0, 0, 1, -120deg);
  }

  to {
    opacity: 1;
    transform: translate3d(0, 0, 0);
  }
}

.animate__rollIn {
  animation-name: rollIn;
}

/* originally authored by Nick Pettit - https://github.com/nickpettit/glide */

@keyframes rollOut {
  from {
    opacity: 1;
  }

  to {
    opacity: 0;
    transform: translate3d(100%, 0, 0) rotate3d(0, 0, 1, 120deg);
  }
}

.animate__rollOut {
  animation-name: rollOut;
}

/* Zooming entrances */

@keyframes zoomIn {
  from {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  50% {
    opacity: 1;
  }
}

.animate__zoomIn {
  animation-name: zoomIn;
}

@keyframes zoomInDown {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomInDown {
  animation-name: zoomInDown;
}

@keyframes zoomInLeft {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(-1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomInLeft {
  animation-name: zoomInLeft;
}

@keyframes zoomInRight {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(1000px, 0, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-10px, 0, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomInRight {
  animation-name: zoomInRight;
}

@keyframes zoomInUp {
  from {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 1000px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  60% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomInUp {
  animation-name: zoomInUp;
}

/* Zooming exits */

@keyframes zoomOut {
  from {
    opacity: 1;
  }

  50% {
    opacity: 0;
    transform: scale3d(0.3, 0.3, 0.3);
  }

  to {
    opacity: 0;
  }
}

.animate__zoomOut {
  animation-name: zoomOut;
}

@keyframes zoomOutDown {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, -60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, 2000px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomOutDown {
  animation-name: zoomOutDown;
  transform-origin: center bottom;
}

@keyframes zoomOutLeft {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(0.1) translate3d(-2000px, 0, 0);
  }
}

.animate__zoomOutLeft {
  animation-name: zoomOutLeft;
  transform-origin: left center;
}

@keyframes zoomOutRight {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(-42px, 0, 0);
  }

  to {
    opacity: 0;
    transform: scale(0.1) translate3d(2000px, 0, 0);
  }
}

.animate__zoomOutRight {
  animation-name: zoomOutRight;
  transform-origin: right center;
}

@keyframes zoomOutUp {
  40% {
    opacity: 1;
    transform: scale3d(0.475, 0.475, 0.475) translate3d(0, 60px, 0);
    animation-timing-function: cubic-bezier(0.55, 0.055, 0.675, 0.19);
  }

  to {
    opacity: 0;
    transform: scale3d(0.1, 0.1, 0.1) translate3d(0, -2000px, 0);
    animation-timing-function: cubic-bezier(0.175, 0.885, 0.32, 1);
  }
}

.animate__zoomOutUp {
  animation-name: zoomOutUp;
  transform-origin: center bottom;
}

/* Sliding entrances */

@keyframes slideInDown {
  from {
    transform: translate3d(0, -100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__slideInDown {
  animation-name: slideInDown;
}

@keyframes slideInLeft {
  from {
    transform: translate3d(-100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__slideInLeft {
  animation-name: slideInLeft;
}

@keyframes slideInRight {
  from {
    transform: translate3d(100%, 0, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__slideInRight {
  animation-name: slideInRight;
}

@keyframes slideInUp {
  from {
    transform: translate3d(0, 100%, 0);
    visibility: visible;
  }

  to {
    transform: translate3d(0, 0, 0);
  }
}

.animate__slideInUp {
  animation-name: slideInUp;
}

/* Sliding exits */

@keyframes slideOutDown {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, 100%, 0);
  }
}

.animate__slideOutDown {
  animation-name: slideOutDown;
}

@keyframes slideOutLeft {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(-100%, 0, 0);
  }
}

.animate__slideOutLeft {
  animation-name: slideOutLeft;
}

@keyframes slideOutRight {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(100%, 0, 0);
  }
}

.animate__slideOutRight {
  animation-name: slideOutRight;
}

@keyframes slideOutUp {
  from {
    transform: translate3d(0, 0, 0);
  }

  to {
    visibility: hidden;
    transform: translate3d(0, -100%, 0);
  }
}

.animate__slideOutUp {
  animation-name: slideOutUp;
}
