@charset "UTF-8";
@font-face {
  font-family: "FuturaProMedium";
  src: url("../fonts/font.woff2") format("woff2"), url("../fonts/font.woff") format("woff");
  font-weight: normal;
  font-style: normal;
}
html {
  font-size: 100%;
}
@media (max-width: 390px) {
  html {
    font-size: 4.1025641026vw;
  }
}
@media screen and (min-width: 768px) {
  html {
    font-size: 1.4953271028vw;
  }
}
@media (min-width: 1070px) {
  html {
    font-size: 100%;
  }
}

body {
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  color: #292929;
  word-break: break-word;
}

@media screen and (min-width: 768px) {
  a,
  button {
    -webkit-transition: 0.3s;
    transition: 0.3s;
  }
  a:hover,
  button:hover {
    opacity: 0.7;
    cursor: pointer;
  }
}

/* デフォルトでは非表示 */
.map-link-ja,
.map-link-en {
  display: none;
}

/* 日本語のときに map_ja のリンクを表示 */
html[lang=ja] .map-link-ja {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

html[lang=ja] .map-link-en {
  display: none;
}

/* その他の言語のときに map_en のリンクを表示 */
html:not([lang=ja]) .map-link-en {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

html:not([lang=ja]) .map-link-ja {
  display: none;
}

/*****************************
* A Modern CSS Reset (https://github.com/hankchizljaw/modern-css-reset)
* 上記に、ul要素,ol要素,a要素への記述追加
*****************************/
/* Box sizing rules */
*,
*::before,
*::after {
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
}

/* Remove default margin */
body,
h1,
h2,
h3,
h4,
p,
figure,
blockquote,
dl,
dd,
ul,
li {
  margin: 0;
}

/* Remove list styles on ul, ol elements with a list role, which suggests default styling will be removed */
li,
ul,
ol {
  list-style: none;
  padding: 0;
}

/* Set core root defaults */
html:focus-within {
  scroll-behavior: smooth;
}

/* Set core body defaults */
body {
  min-height: 100vh;
  text-rendering: optimizeSpeed;
  line-height: 1.5;
}

/* A elements that don't have a class get default styles */
a:not([class]) {
  text-decoration-skip-ink: auto;
}

a {
  text-decoration: none;
  color: inherit;
}

/* Make images easier to work with */
img,
picture {
  max-width: 100%;
  display: block;
}

/* Inherit fonts for inputs and buttons */
input,
button,
textarea,
select {
  font: inherit;
}

select {
  -webkit-appearance: none;
  -moz-appearance: none;
  appearance: none;
}

select::-ms-expand {
  display: none;
}

button {
  border: none;
  padding: 0;
  background-color: transparent;
  background-color: initial;
}

/* ラジオボタン・チェックボックスの初期化 */
input[type=radio],
input[type=checkbox] {
  position: absolute;
  opacity: 0;
  width: 0;
  height: 0;
}

/* フォーカス時のスタイル */
input[type=radio]:focus + span::before,
input[type=checkbox]:focus + span::before {
  outline: 2px solid #007BFF;
  /* フォーカス時に青いリングを表示 */
  outline-offset: 2px;
  /* フォーカスリングを少し要素から離す */
}

/* Remove all animations, transitions and smooth scroll for people that prefer not to see them */
@media (prefers-reduced-motion: reduce) {
  html:focus-within {
    scroll-behavior: auto;
  }
  *,
  *::before,
  *::after {
    -webkit-animation-duration: 0.01ms !important;
            animation-duration: 0.01ms !important;
    -webkit-animation-iteration-count: 1 !important;
            animation-iteration-count: 1 !important;
    -webkit-transition-duration: 0.01ms !important;
            transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
}
/* contact form7
-----------------------------------------------------*/
.wpcf7-list-item {
  margin: 0;
}

/* ChatPlus
-----------------------------------------------------*/
@media screen and (max-width: 767px) {
  #chatplusview.float.chatplusview-modern.closed {
    left: 50%;
    right: auto;
    right: initial;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
  }
}

.l-404 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 5rem;
  padding-bottom: 5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .l-404 {
    padding-top: 7.5rem;
    padding-bottom: 7.5rem;
  }
}

.l-404 h2 {
  font-size: 1.75rem;
}
@media screen and (min-width: 768px) {
  .l-404 h2 {
    font-size: 2.5rem;
  }
}

.l-404 p {
  font-size: 1rem;
  margin-top: 1rem;
}

.l-404 .c-btn {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .l-404 .c-btn {
    margin-top: 2.5rem;
  }
}

.l-inner {
  max-width: calc(31.25rem + 32px);
  width: 100%;
  padding-right: 1rem;
  padding-left: 1rem;
  margin-right: auto;
  margin-left: auto;
}
@media screen and (min-width: 768px) {
  .l-inner {
    max-width: 1070px;
    padding-right: 1.5625rem;
    padding-left: 1.5625rem;
  }
}

.l-main {
  margin-top: 4.875rem;
}
@media screen and (min-width: 768px) {
  .l-main {
    margin-top: 5.75rem;
  }
}

.l-main--top {
  visibility: hidden;
  opacity: 0;
  -webkit-transition: opacity 0.5s ease-in-out;
  transition: opacity 0.5s ease-in-out;
}

.l-section {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .l-section {
    margin-top: 5rem;
  }
}

.l-under {
  padding-top: 1.5rem;
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .l-under {
    padding-top: 5rem;
    padding-bottom: 5rem;
  }
}

.c-btn {
  text-align: center;
}

.c-btn a,
.c-btn input {
  display: inline-block;
  width: 22.375rem;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 700;
  font-size: 1rem;
  padding-top: 1.5625rem;
  padding-bottom: 1.5625rem;
  color: #fff;
  background-color: #333;
  letter-spacing: 1.6px;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .c-btn a,
  .c-btn input {
    width: 23.4375rem;
    font-size: 1.25rem;
    padding-top: 1.375rem;
    padding-bottom: 1.375rem;
    letter-spacing: 2px;
  }
}

.c-btn--info {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-btn--info {
    margin-top: 5rem;
  }
}

.c-btn--info a {
  font-weight: 600;
  font-size: 1.5rem;
  padding: 2.5rem;
  line-height: 20px;
  letter-spacing: 1.2px;
}
@media screen and (min-width: 768px) {
  .c-btn--info a {
    width: -webkit-max-content;
    width: -moz-max-content;
    width: max-content;
    padding: 2.5rem 6.75rem;
  }
}

.c-btn--contact {
  margin-top: 1.5rem;
}

.c-btn--contact button {
  width: 100%;
}

.c-btn--contact button:hover {
  opacity: 1;
  cursor: auto;
  cursor: initial;
}

.c-btn--contact input {
  width: 100%;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 768px) {
  .c-btn--contact input {
    width: 15.0625rem;
  }
}

.c-btn--contact input:hover {
  opacity: 0.7;
}

.c-btn-contact-thanks a {
  padding-top: 1.3125rem;
  padding-bottom: 1.3125rem;
}

@media screen and (min-width: 768px) {
  .c-event-detail .l-inner {
    max-width: 66.375rem;
  }
}

.c-event-detail__head h2 {
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 2.4px;
}
@media screen and (min-width: 768px) {
  .c-event-detail__head h2 {
    font-size: 2.375rem;
    letter-spacing: 1.9px;
  }
}

.c-event-detail__head-time {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .c-event-detail__head-time {
    margin-top: 0.5rem;
  }
}

.c-event-detail__head-time-wrap + .c-event-detail__head-time-wrap {
  display: none;
}
@media screen and (min-width: 768px) {
  .c-event-detail__head-time-wrap + .c-event-detail__head-time-wrap {
    position: relative;
    display: block;
    margin-left: 6.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .c-event-detail__head-time-wrap + .c-event-detail__head-time-wrap::before {
    position: absolute;
    content: "";
    width: 4.6875rem;
    height: 0.25rem;
    bottom: 1.5625rem;
    left: -5.625rem;
    background-color: #292929;
  }
}

.c-event-detail__head-time p {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
}

.c-event-detail__head-time p:nth-child(1) {
  font-size: 1rem;
  letter-spacing: 1.6px;
}

.c-event-detail__head-time p:nth-child(2) {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-size: 2rem;
  letter-spacing: 3.2px;
}
@media screen and (min-width: 768px) {
  .c-event-detail__head-time p:nth-child(2) {
    font-size: 2.42175rem;
    margin-left: 0.3125rem;
    letter-spacing: 3.875px;
  }
}

.c-event-detail__head-time p span {
  display: inline-block;
  font-weight: 600;
  font-size: 1rem;
  margin-left: 0.875rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  color: #fff;
  background-color: #333;
  letter-spacing: 1.6px;
  border-radius: 9.687px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-event-detail__head-time p span {
    font-size: 1.210875rem;
    letter-spacing: 1.937px;
  }
}

.c-event-detail__img {
  margin-top: 1.5rem;
  padding: 1rem;
  border: 1px solid #333;
  background-color: #fff;
  border-radius: 16px;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .c-event-detail__img {
    margin-top: 2.5rem;
    padding: 0.125rem;
    border: 2px solid #333;
  }
}

.c-event-detail__img img {
  width: auto;
  margin-left: auto;
  margin-right: auto;
}

.c-event-detail__content {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .c-event-detail__content {
    margin-top: 4rem;
  }
}

.c-event-detail__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
.c-event-detail__sns a img {
  width: 2.625rem;
  border-radius: 8px;
}

.c-event-detail__sns a + a {
  margin-left: 0.75rem;
}

.c-event-detail .c-btn {
  margin-top: 2.5rem;
}

/* 投稿スタイル
-----------------------------------------------------*/
.c-event-detail__content h3 {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 32px;
  letter-spacing: 2.4px;
}

.c-event-detail__content p,
.c-event-detail__content li {
  font-weight: 300;
  font-size: 1rem;
  margin-top: 1rem;
  margin-bottom: 1.5rem;
  line-height: 32px;
  letter-spacing: 0.8px;
  list-style-type: disc;
}
@media screen and (min-width: 768px) {
  .c-event-detail__content p,
  .c-event-detail__content li {
    margin-bottom: 2.5rem;
  }
}

.c-event-detail__content ul {
  padding-left: 1.25rem;
}

/* デフォルト投稿スタイル
-----------------------------------------------------*/
.c-event-detail--post .l-mt-initial {
  margin-top: -1.875rem;
}
@media screen and (min-width: 768px) {
  .c-event-detail--post .l-mt-initial {
    margin-top: -4.0625rem;
  }
}

@media screen and (min-width: 768px) {
  .c-event-detail--post h2 {
    font-size: 2.42175rem;
    letter-spacing: 3.875px;
  }
}

.c-event-detail--post .c-event-detail__img {
  padding: 0;
}

/* 初期化
--------------------------*/
.c-event-detail--post img {
  margin-left: auto;
  margin-right: auto;
}

.c-event-list__head {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__head {
    max-width: 63.75rem;
    width: 100%;
    margin-top: 3rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.c-event-list__head-year {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
  overflow-x: scroll;
}
@media screen and (min-width: 768px) {
  .c-event-list__head-year {
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
    overflow: initial;
  }
}

@media screen and (min-width: 768px) {
  .c-event-list--past .c-event-list__head-year {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.c-event-list__head-year button {
  font-weight: 700;
  font-size: 1.125rem;
  width: 4.875rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #333;
  background-color: #fff;
  border: 1px solid #333;
  line-height: 27.416px;
  letter-spacing: 0.9px;
  border-radius: 27.416px;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .c-event-list__head-year button {
    width: 7.625rem;
    font-size: 1.375rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    letter-spacing: 1.097px;
    -ms-flex-negative: initial;
        flex-shrink: initial;
  }
}

@media screen and (max-width: 767px) {
  .c-event-list__head-year button:nth-child(1) {
    width: 4.875rem;
  }
}

.c-event-list__head-year button:hover,
.c-event-list__head-year button.is-active {
  color: #fff;
  background-color: #333;
  opacity: 1;
}

.c-event-list__head-year button + button {
  margin-left: 0.75rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__head-year button + button {
    margin-left: 1rem;
  }
}

.c-event-list__head-category {
  margin-top: 1.5rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .c-event-list__head-category {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    width: 100%;
    margin-top: 2rem;
  }
}

.c-event-list__head-category-top,
.c-event-list__head-category-bottom {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-event-list__head-category-bottom {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__head-category-bottom {
    margin-top: 0;
  }
}

.c-event-list__head-category button {
  position: relative;
  font-weight: 600;
  font-size: 1rem;
  margin-left: 1.5rem;
  margin-right: 1.5rem;
  color: #231815;
  letter-spacing: 1.6px;
}
@media screen and (min-width: 768px) {
  .c-event-list__head-category button {
    margin-left: 2.5rem;
    margin-right: 2.5rem;
  }
}

.c-event-list__head-category button:after {
  position: absolute;
  content: "";
  width: 1px;
  height: 100%;
  right: -1.5rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #333;
}
@media screen and (min-width: 768px) {
  .c-event-list__head-category button:after {
    right: -2.5rem;
  }
}

.c-event-list__head-category button.is-active {
  border-bottom: 2px solid #333;
}

@media screen and (max-width: 767px) {
  .c-event-list__head-category-top button:first-child {
    margin-left: 0;
  }
}

@media screen and (max-width: 767px) {
  .c-event-list__head-category-top button:last-child {
    margin-right: 0;
  }
}

@media screen and (max-width: 767px) {
  .c-event-list__head-category-top button:last-child::after {
    display: none;
  }
}

@media screen and (max-width: 767px) {
  .c-event-list__head-category-bottom button:last-child::after {
    display: none;
  }
}

@media screen and (min-width: 768px) {
  .c-event-list .l-inner {
    max-width: 66.875rem;
  }
}

.c-event-list__group-wrap {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__group-wrap {
    margin-top: 3.5rem;
  }
}

.c-event-list__group + .c-event-list__group {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__group + .c-event-list__group {
    margin-top: 3rem;
  }
}

.c-event-list__group-title {
  text-align: center;
}

.c-event-list__group-title h3 {
  position: relative;
  display: inline-block;
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 1.2px;
}
@media screen and (min-width: 768px) {
  .c-event-list__group-title h3 {
    font-size: 2.5rem;
    letter-spacing: 2px;
  }
}

.c-event-list__group-title h3::before,
.c-event-list__group-title h3::after {
  position: absolute;
  content: "";
  width: 0.75rem;
  height: 0.75rem;
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #F5287D;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .c-event-list__group-title h3::before,
  .c-event-list__group-title h3::after {
    width: 1rem;
    height: 1rem;
  }
}

.c-event-list__group h3::before {
  left: -1.8125rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__group h3::before {
    left: -2.0625rem;
  }
}

.c-event-list__group h3::after {
  right: -1.8125rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__group h3::after {
    right: -2.0625rem;
  }
}

.c-event-list__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.9375rem 2.5rem;
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .c-event-list--past .c-event-list__items {
    margin-top: 3rem;
  }
}

.c-event-list__group .c-event-list__items {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__group .c-event-list__items {
    margin-top: 1.5rem;
  }
}

.c-event-list__item a {
  display: inline-block;
  width: 100%;
  height: 100%;
  padding: 1.5rem;
  background-color: #fff;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .c-event-list__item a {
    padding: 1.25rem;
    border: 2px solid #292929;
  }
}

.c-event-list__item a.is-new {
  position: relative;
}

.c-event-list__item a.is-new::before {
  position: absolute;
  content: "NEW";
  font-weight: 600;
  font-size: 1rem;
  width: 5.9375rem;
  height: 2.6875rem;
  top: 0.8125rem;
  right: 1.5rem;
  color: #fff;
  background: #F5287D;
  line-height: 20px;
  letter-spacing: 0.8px;
  text-align: center;
  border-radius: 20px;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .c-event-list__item a.is-new::before {
    font-size: 1.5rem;
    letter-spacing: 1.2px;
  }
}

.c-event-list__info p:nth-child(1) {
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  width: 5.5rem;
  padding-top: 0.4375rem;
  padding-bottom: 0.4375rem;
  color: #fff;
  background-color: #333;
  border: 1px solid #292929;
  line-height: 20px;
  letter-spacing: 0.7px;
  border-radius: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-event-list__info p:nth-child(1) {
    width: 7.6875rem;
    font-size: 1.5rem;
    padding-top: 0.875rem;
    padding-bottom: 0.875rem;
    border: 2px solid #292929;
    letter-spacing: 1.2px;
    border-radius: 100px;
  }
}

.c-event-list__info p:nth-child(1).is-open {
  background-color: #F5287D;
  border: 1px solid #F5287D;
}
@media screen and (min-width: 768px) {
  .c-event-list__info p:nth-child(1).is-open {
    border: 2px solid #F5287D;
  }
}

.c-event-list__info p:nth-child(1).is-future {
  background-color: #F3472C;
  border: 1px solid #F3472C;
}
@media screen and (min-width: 768px) {
  .c-event-list__info p:nth-child(1).is-future {
    border: 2px solid #F3472C;
  }
}

.c-event-list__info p:nth-child(2) {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  margin-top: 0.5rem;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .c-event-list__info p:nth-child(2) {
    margin-top: 0.875rem;
    letter-spacing: 1.6px;
  }
}

.c-event-list__info p:nth-child(2) span {
  display: inline-block;
  width: 5rem;
  font-weight: 700;
  font-size: 1rem;
  margin-left: 0.5rem;
  color: #333;
  border: 1px solid #333;
  letter-spacing: 1.6px;
  border-radius: 2px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-event-list__info p:nth-child(2) span {
    border: 2px solid #333;
  }
}

.c-event-list__item img {
  width: 6.25rem;
  height: 8.8125rem;
  aspect-ratio: 100/141;
  -o-object-fit: contain;
     object-fit: contain;
}
@media screen and (min-width: 768px) {
  .c-event-list__item img {
    width: 9.625rem;
    height: 13.625rem;
    aspect-ratio: 154/218;
  }
}

.c-event-list__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__body {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 0;
    margin-left: 1.5rem;
  }
}

.c-event-list__body h3,
.c-event-list__group .c-event-list__body h4 {
  font-weight: 600;
  font-size: 1.125rem;
  margin-left: 1rem;
  letter-spacing: 0.9px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  height: 8.4375rem;
}
@media screen and (min-width: 768px) {
  .c-event-list__body h3,
  .c-event-list__group .c-event-list__body h4 {
    font-size: 1.25rem;
    margin-top: 0.625rem;
    margin-left: 0;
    letter-spacing: 1px;
    -webkit-line-clamp: 4;
    height: 7.5rem;
  }
}

/* 常設レイアウト
--------------------------*/
@media screen and (max-width: 767px) {
  .c-event-list__item--fixed .c-event-list__item-sp {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (min-width: 768px) {
  .c-event-list__item--fixed .c-event-list__body {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media screen and (max-width: 767px) {
  .c-event-list__item--fixed .c-event-list__info {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 1rem;
  }
}

@media screen and (max-width: 767px) {
  .c-event-list__item--fixed img {
    height: auto;
    height: initial;
  }
}

@media screen and (max-width: 767px) {
  .c-event-list__item--fixed .c-event-list__info p:nth-child(1) {
    font-size: 1.125rem;
    width: auto;
    width: initial;
    margin-left: 1rem;
    padding: 0;
    color: #292929;
    background-color: transparent;
    background-color: initial;
    border: medium none currentColor;
    border: initial;
    line-height: normal;
    line-height: initial;
    border-radius: 0;
    border-radius: initial;
    text-align: left;
    letter-spacing: 0.9px;
  }
}

.c-event-list__item--fixed .c-event-list__body h4 {
  font-size: 1.5rem;
  height: auto;
  height: initial;
  margin-top: 0;
  letter-spacing: -0.7px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-event-list__item--fixed .c-event-list__body h4 {
    text-align: left;
  }
}

@media screen and (min-width: 768px) {
  .c-event-list__item--fixed .c-event-list__body p {
    margin-top: 0.4375rem;
  }
}

/* c-event-list__item-sp
--------------------------*/
.c-event-list__item-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

/* c-event-list__item-pc
--------------------------*/
.c-event-list__item-pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
}

.c-event-list .c-btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-event-list .c-btn {
    margin-top: 5rem;
  }
}

.c-event-list .c-btn a {
  width: 100%;
  font-weight: 600;
  font-size: 1.5rem;
  padding-top: 2.5rem;
  padding-bottom: 2.5rem;
  line-height: 20px;
  letter-spacing: 1.2px;
}
@media screen and (min-width: 768px) {
  .c-event-list .c-btn a {
    width: 30.625rem;
  }
}

/* デフォルト投稿スタイル
-----------------------------------------------------*/
.c-event-list--post .c-event-list__info p:nth-child(1) {
  display: inline-block;
  font-weight: 700;
  width: auto;
  width: initial;
  padding: 0 1.375rem;
  color: #333;
  background-color: #fff;
  border: 1px solid #333;
  line-height: normal;
  line-height: initial;
  letter-spacing: 1.6px;
  border-radius: 2px;
}
@media screen and (min-width: 768px) {
  .c-event-list--post .c-event-list__info p:nth-child(1) {
    font-size: 1rem;
    border: 2px solid #333;
    padding-left: 0.625rem;
    padding-right: 0.625rem;
  }
}

@media screen and (min-width: 768px) {
  .c-event-list--post .c-event-list__body h3 {
    height: 9.0625rem;
    -webkit-line-clamp: 5;
  }
}

.p-event-swiper__wrap {
  position: relative;
  max-width: calc(31.25rem + 32px);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__wrap {
    max-width: 63.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-event-swiper__wrap {
    max-width: 90%;
  }
}

.p-event-swiper {
  margin-top: 1.0625rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 768px) {
  .p-event-swiper {
    margin-top: 3rem;
    padding-left: 0;
    padding-right: 0;
  }
}

.p-event-swiper .swiper-slide {
  height: auto;
}

.p-event-swiper a {
  display: block;
  height: 100%;
  padding: 1rem;
  background-color: #fff;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-event-swiper a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    padding: 1.625rem;
    border: 2px solid #292929;
  }
}

.p-event-swiper__img img {
  width: 20.375rem;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__img img {
    width: 21.0625rem;
    aspect-ratio: 337/476;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.p-event-swiper__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-top: 1rem;
  padding-bottom: 5.625rem;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__body {
    width: calc(100% - 24.0625rem);
    margin-top: 1.4375rem;
    margin-left: 3rem;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1120px) {
  .p-event-swiper__body {
    width: calc(100% - 17.5rem);
    margin-left: 1.875rem;
  }
}

.p-event-swiper__body h3 {
  font-family: "Hiragino Kaku Gothic Pro";
  font-weight: 600;
  font-size: 1.5rem;
  margin-top: 1rem;
  letter-spacing: 2.4px;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__body h3 {
    font-size: 2rem;
    margin-top: 1.1875rem;
    letter-spacing: 3.2px;
  }
}

.p-event-swiper__info-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-event-swiper__info:nth-child(2) {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__info:nth-child(2) {
    position: relative;
    display: block;
    margin-left: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-event-swiper__info:nth-child(2)::before {
    position: absolute;
    content: "";
    width: 3.125rem;
    height: 0.25rem;
    bottom: 1.5625rem;
    left: -3.875rem;
    background-color: #292929;
  }
}

.p-event-swiper__info-year {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 1.6px;
}

.p-event-swiper__info-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__info-date {
    margin-left: 0.3125rem;
  }
}

.p-event-swiper__info-date p:nth-child(1) {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 3.2px;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__info-date p:nth-child(1) {
    font-size: 2.42175rem;
    letter-spacing: 3.875px;
  }
}

.p-event-swiper__info-date p:nth-child(2) {
  font-family: "Hiragino Kaku Gothic Pro";
  font-size: 1rem;
  font-weight: 600;
  margin-left: 0.75rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  padding-bottom: 0.0625rem;
  color: #fff;
  background-color: #333;
  border-radius: 9.687px;
  letter-spacing: 1.6px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__info-date p:nth-child(2) {
    font-size: 1.210875rem;
    margin-left: 0.9375rem;
    letter-spacing: 1.937px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-event-swiper__info-date p:nth-child(2) {
    font-size: 0.875rem;
    margin-left: 0.625rem;
  }
}

/* ナビゲーション
-----------------------------------------------------*/
.p-event-swiper__wrap .swiper-button-disabled {
  opacity: 1;
  cursor: pointer;
  pointer-events: fill;
}

.p-event-swiper__wrap .swiper-button-prev,
.p-event-swiper__wrap .swiper-button-next {
  width: 3.625rem;
  top: auto;
  top: initial;
  bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__wrap .swiper-button-prev,
  .p-event-swiper__wrap .swiper-button-next {
    top: 50%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-event-swiper__wrap .swiper-button-prev,
  .p-event-swiper__wrap .swiper-button-next {
    width: 2.8125rem;
  }
}

.p-event-swiper__wrap .swiper-button-prev {
  left: 2rem;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__wrap .swiper-button-prev {
    left: -5.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-event-swiper__wrap .swiper-button-prev {
    left: -3.125rem;
  }
}

.p-event-swiper__wrap .swiper-button-next {
  right: 2rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
  .p-event-swiper__wrap .swiper-button-next {
    right: -5.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-event-swiper__wrap .swiper-button-next {
    right: -3.125rem;
  }
}

:root {
  /* animations constants */
  /* generate some colors */
  /* build some backgrounds */
}

.rainbow-marker-loader__wrap {
  /* ローディング全体のラップ要素が画面全体を覆うように設定 */
  position: fixed;
  top: 0;
  left: 0;
  width: 100vw;
  height: 100vh;
  background-color: white;
  /* 白背景で透過を防ぐ */
  z-index: 9999;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.rainbow-marker-loader {
  height: 4rem;
  width: 20rem;
  max-width: 100%;
  border: 0.5rem solid #202036;
  border-radius: 0.5rem;
  -webkit-animation: infinite alternate rainbow-fill 5000ms ease-in-out;
          animation: infinite alternate rainbow-fill 5000ms ease-in-out;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  position: relative;
  margin: 1rem;
  background: no-repeat left 0% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
  background: no-repeat left 0% top / 11% 0% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 0% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 0% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
}

.rainbow-marker-loader::after {
  content: "";
  display: block;
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  -webkit-transform-origin: left center;
          transform-origin: left center;
  border-radius: 0.5rem;
  -webkit-box-sizing: border-box;
          box-sizing: border-box;
  margin-top: -7.5%;
  margin-left: -2.5%;
  -webkit-animation: infinite alternate move-marker 5000ms ease-in-out;
          animation: infinite alternate move-marker 5000ms ease-in-out;
  background: no-repeat left 0% top/3rem 50% -webkit-gradient(linear, left top, right bottom, from(transparent), color-stop(40%, transparent), color-stop(40%, #202036)), no-repeat left 0% bottom/3rem 50% -webkit-gradient(linear, left bottom, right top, from(transparent), color-stop(40%, transparent), color-stop(40%, #202036)), no-repeat left 3rem bottom/100% 100% -webkit-gradient(linear, left top, left bottom, from(#202036), to(#202036));
  background: no-repeat left 0% top/3rem 50% linear-gradient(to bottom right, transparent, transparent 40%, #202036 40%), no-repeat left 0% bottom/3rem 50% linear-gradient(to top right, transparent, transparent 40%, #202036 40%), no-repeat left 3rem bottom/100% 100% linear-gradient(#202036, #202036);
}

@-webkit-keyframes move-marker {
  10% {
    -webkit-transform: translate(5%, 100%) rotate(2.5deg);
            transform: translate(5%, 100%) rotate(2.5deg);
  }
  20% {
    -webkit-transform: translate(20%, 0) rotate(-5deg);
            transform: translate(20%, 0) rotate(-5deg);
  }
  30% {
    -webkit-transform: translate(30%, 100%) rotate(2.5deg);
            transform: translate(30%, 100%) rotate(2.5deg);
  }
  40% {
    -webkit-transform: translate(40%, 0) rotate(-5deg);
            transform: translate(40%, 0) rotate(-5deg);
  }
  50% {
    -webkit-transform: translate(50%, 100%) rotate(2.5deg);
            transform: translate(50%, 100%) rotate(2.5deg);
  }
  60% {
    -webkit-transform: translate(60%, 0) rotate(-5deg);
            transform: translate(60%, 0) rotate(-5deg);
  }
  70% {
    -webkit-transform: translate(70%, 100%) rotate(2.5deg);
            transform: translate(70%, 100%) rotate(2.5deg);
  }
  80% {
    -webkit-transform: translate(80%, 0) rotate(-5deg);
            transform: translate(80%, 0) rotate(-5deg);
  }
  90% {
    -webkit-transform: translate(90%, 100%) rotate(2.5deg);
            transform: translate(90%, 100%) rotate(2.5deg);
  }
  100% {
    -webkit-transform: translate(100%, 0) rotate(-5deg);
            transform: translate(100%, 0) rotate(-5deg);
  }
}

@keyframes move-marker {
  10% {
    -webkit-transform: translate(5%, 100%) rotate(2.5deg);
            transform: translate(5%, 100%) rotate(2.5deg);
  }
  20% {
    -webkit-transform: translate(20%, 0) rotate(-5deg);
            transform: translate(20%, 0) rotate(-5deg);
  }
  30% {
    -webkit-transform: translate(30%, 100%) rotate(2.5deg);
            transform: translate(30%, 100%) rotate(2.5deg);
  }
  40% {
    -webkit-transform: translate(40%, 0) rotate(-5deg);
            transform: translate(40%, 0) rotate(-5deg);
  }
  50% {
    -webkit-transform: translate(50%, 100%) rotate(2.5deg);
            transform: translate(50%, 100%) rotate(2.5deg);
  }
  60% {
    -webkit-transform: translate(60%, 0) rotate(-5deg);
            transform: translate(60%, 0) rotate(-5deg);
  }
  70% {
    -webkit-transform: translate(70%, 100%) rotate(2.5deg);
            transform: translate(70%, 100%) rotate(2.5deg);
  }
  80% {
    -webkit-transform: translate(80%, 0) rotate(-5deg);
            transform: translate(80%, 0) rotate(-5deg);
  }
  90% {
    -webkit-transform: translate(90%, 100%) rotate(2.5deg);
            transform: translate(90%, 100%) rotate(2.5deg);
  }
  100% {
    -webkit-transform: translate(100%, 0) rotate(-5deg);
            transform: translate(100%, 0) rotate(-5deg);
  }
}
@-webkit-keyframes rainbow-fill {
  0% {
    background: no-repeat left 0% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 0% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 0% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 0% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  10% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 0% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 0% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  20% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 0% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  30% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  40% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  50% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  60% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  70% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 100% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  80% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 100% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 100% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  90% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 100% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 100% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 100% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  100% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 12% 100% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 100% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 100% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 100% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 12% 100% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
}
@keyframes rainbow-fill {
  0% {
    background: no-repeat left 0% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 0% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 0% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 0% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  10% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 0% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 0% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  20% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 0% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  30% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 0% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  40% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 0% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  50% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 0% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  60% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 0% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  70% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 100% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 0% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  80% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 100% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 100% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 0% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  90% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 11% 0% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 100% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 100% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 100% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 11% 0% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
  100% {
    background: no-repeat left 0% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(356, 80%, 60%)), to(hsl(392, 80%, 60%))), no-repeat left 11.11% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(392, 80%, 60%)), to(hsl(428, 80%, 60%))), no-repeat left 22.22% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(428, 80%, 60%)), to(hsl(464, 80%, 60%))), no-repeat left 33.33% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(464, 80%, 60%)), to(hsl(500, 80%, 60%))), no-repeat left 44.44% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(500, 80%, 60%)), to(hsl(536, 80%, 60%))), no-repeat left 55.55% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(536, 80%, 60%)), to(hsl(572, 80%, 60%))), no-repeat left 66.66% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(572, 80%, 60%)), to(hsl(608, 80%, 60%))), no-repeat left 77.77% bottom / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(608, 80%, 60%)), to(hsl(644, 80%, 60%))), no-repeat left 88.88% top / 11% 100% -webkit-gradient(linear, left top, right top, from(hsl(644, 80%, 60%)), to(hsl(680, 80%, 60%))), no-repeat left 99.99% bottom / 12% 100% -webkit-gradient(linear, left top, right top, from(hsl(680, 80%, 60%)), to(hsl(716, 80%, 60%)));
    background: no-repeat left 0% top / 11% 100% linear-gradient(to right, hsl(356, 80%, 60%), hsl(392, 80%, 60%)), no-repeat left 11.11% bottom / 11% 100% linear-gradient(to right, hsl(392, 80%, 60%), hsl(428, 80%, 60%)), no-repeat left 22.22% top / 11% 100% linear-gradient(to right, hsl(428, 80%, 60%), hsl(464, 80%, 60%)), no-repeat left 33.33% bottom / 11% 100% linear-gradient(to right, hsl(464, 80%, 60%), hsl(500, 80%, 60%)), no-repeat left 44.44% top / 11% 100% linear-gradient(to right, hsl(500, 80%, 60%), hsl(536, 80%, 60%)), no-repeat left 55.55% bottom / 11% 100% linear-gradient(to right, hsl(536, 80%, 60%), hsl(572, 80%, 60%)), no-repeat left 66.66% top / 11% 100% linear-gradient(to right, hsl(572, 80%, 60%), hsl(608, 80%, 60%)), no-repeat left 77.77% bottom / 11% 100% linear-gradient(to right, hsl(608, 80%, 60%), hsl(644, 80%, 60%)), no-repeat left 88.88% top / 11% 100% linear-gradient(to right, hsl(644, 80%, 60%), hsl(680, 80%, 60%)), no-repeat left 99.99% bottom / 12% 100% linear-gradient(to right, hsl(680, 80%, 60%), hsl(716, 80%, 60%));
  }
}
.c-pagination {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .c-pagination {
    margin-top: 5rem;
  }
}

.c-pagination ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.c-pagination ul li + li {
  margin-left: 0.5rem;
}

.c-pagination ul li .page-numbers {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 400;
  font-size: 1rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  width: 1.4375rem;
  height: 1.4375rem;
  text-align: center;
  letter-spacing: 0.9px;
  border-radius: 4px;
  opacity: 1;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 768px) {
  .c-pagination ul li .page-numbers {
    font-size: 1.125rem;
    width: 1.63125rem;
    height: 1.625rem;
  }
}

.c-pagination ul li .next {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.c-pagination ul li .page-numbers.current,
.c-pagination ul li .page-numbers:hover {
  color: #fff;
  background-color: #333;
}

.c-pagination ul li .page-numbers.prev:hover,
.c-pagination ul li .page-numbers.next:hover {
  color: #292929;
  background-color: #fff;
}

.c-sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.c-title {
  font-weight: 600;
  font-size: 2rem;
  padding-bottom: 1rem;
  border-bottom: 1px solid #333;
  letter-spacing: 6.4px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .c-title {
    font-size: 3.5rem;
    padding-bottom: 0;
    border-bottom: 2px solid #333;
    letter-spacing: 11.2px;
  }
}

@media screen and (min-width: 768px) {
  .c-title--under {
    border-bottom: none;
  }
}

.c-title--application {
  padding-bottom: 0;
  border-bottom: none;
}

.p-access .l-inner {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-access .l-inner {
    max-width: 66.5rem;
    margin-top: 3.5rem;
  }
}

.p-access-top {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .p-access-top {
    -webkit-box-orient: initial;
    -webkit-box-direction: initial;
        -ms-flex-direction: initial;
            flex-direction: initial;
  }
}

.p-access-top ul {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-access-top ul {
    width: 28.125rem;
    margin-top: 0;
  }
}

.p-access-top ul li + li {
  margin-top: 2rem;
}

.p-access-top ul li h3 {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 32px;
  letter-spacing: 2.4px;
}

.p-access-top ul li p {
  font-weight: 300;
  font-size: re 16;
  line-height: 32px;
  letter-spacing: 0.8px;
}

.p-access-top img {
  width: 100%;
}
@media screen and (min-width: 768px) {
  .p-access-top img {
    width: 32rem;
    margin-left: 3.25rem;
  }
}

.p-access-iframe {
  margin-top: 3rem;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-access-iframe {
    margin-top: 5rem;
  }
}

.p-access-iframe iframe {
  width: 100%;
  height: 12.5rem;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-access-iframe iframe {
    height: 34.6875rem;
  }
}

.p-application-item + .p-application-item {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-application-item + .p-application-item {
    margin-top: 5.5rem;
  }
}

.p-application-item p {
  font-weight: 300;
  font-size: 1rem;
  margin-top: 1rem;
  padding-left: 1rem;
  padding-right: 1rem;
  padding-bottom: 1rem;
  color: #15363E;
  border-bottom: 1px solid #333;
}
@media screen and (min-width: 768px) {
  .p-application-item p {
    max-width: 57rem;
    width: 100%;
    margin-top: 0.5rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5625rem;
    padding-right: 1.5625rem;
    padding-bottom: 0;
    border: none;
  }
}

@media screen and (min-width: 768px) {
  .p-application .p-contact-form {
    margin-top: 1.75rem;
  }
}

.p-banner {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-banner {
    margin-top: 1.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-banner a {
    border-radius: 16px;
  }
}

.p-banner a img {
  width: 100%;
  border-radius: 16px;
  aspect-ratio: 624/256;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-banner a img {
    aspect-ratio: 1020/146;
  }
}

#event-list .p-calendar-content,
.p-calendar-content + .p-calendar-content {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  #event-list .p-calendar-content,
  .p-calendar-content + .p-calendar-content {
    margin-top: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-calendar .l-inner {
    max-width: 79.125rem;
  }
}

.p-calendar-box {
  margin-top: 1.5rem;
  padding: 1.5rem 0.875rem;
  background-color: #fff;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-calendar-box {
    margin-top: 3rem;
    padding: 1.5rem;
    border: 2px solid #292929;
  }
}

.p-calendar-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}

.p-calendar-head button img {
  width: 3.625rem;
}

.p-calendar-head__next {
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}

.p-calendar-head__date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: end;
      -ms-flex-align: end;
          align-items: end;
  -webkit-transform: translateY(-1.25rem);
          transform: translateY(-1.25rem);
}

.p-calendar-head__date p {
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 1.6px;
}

.p-calendar-head__date p:nth-child(1) {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  margin-right: 0.125rem;
}

.p-calendar-head__date p:nth-child(3) {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 3.5rem;
  margin-left: 0.1875rem;
  -webkit-transform: translateY(1.25rem);
          transform: translateY(1.25rem);
  letter-spacing: 5.6px;
}

/* カレンダーのデザイン
-----------------------------------------------------*/
.p-calendar-table {
  width: 100%;
  font-weight: 600;
  font-size: 0.75rem;
  margin-top: 0.75rem;
  letter-spacing: 1.2px;
  text-align: center;
  border-collapse: separate;
  border-spacing: 0;
  border-left: 1px solid #D6D6D6;
  border-top: 1px solid #D6D6D6;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .p-calendar-table {
    font-size: 1rem;
    margin-top: 1rem;
    letter-spacing: 1.6px;
  }
}

.p-calendar-table th,
.p-calendar-table td {
  width: 3rem;
  height: 3.75rem;
  padding: 0.5rem 0.25rem;
  border-right: 1px solid #D6D6D6;
  border-bottom: 1px solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .p-calendar-table th,
  .p-calendar-table td {
    width: 10.5rem;
    height: 4.5rem;
    padding: 0.5rem 1rem;
  }
}

.p-calendar-table th {
  height: 2.5rem;
}

.p-calendar-table td {
  position: relative;
  /* 上に揃える */
  vertical-align: top;
  text-align: center;
}

.p-calendar--closed {
  position: absolute;
  display: block;
  width: 2.5rem;
  padding-top: 0.125rem;
  padding-bottom: 0.125rem;
  background-color: #F5287D;
  color: #fff;
  bottom: 0.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  border-radius: 4px;
}
@media screen and (min-width: 768px) {
  .p-calendar--closed {
    width: 8.5rem;
    bottom: 0.5rem;
    padding-top: 0.25rem;
    padding-bottom: 0.25rem;
    border-radius: 8px;
    font-size: 1.5rem;
    line-height: 1;
    letter-spacing: 2.4px;
  }
}

/* テーブル角丸用
--------------------------*/
.p-calendar-table thead th {
  border-radius: 8px 0 0 0;
}

.p-calendar-table thead th:last-child {
  border-radius: 0 8px 0 0;
}

.p-calendar-table tbody tr:last-child td:first-child {
  border-radius: 0 0 0 8px;
}

.p-calendar-table tbody tr:last-child td:last-child {
  border-radius: 0 0 8px 0;
}

/* 投稿系デザイン
-----------------------------------------------------*/
.p-calendar-post {
  margin-top: 1.125rem;
  background-color: #fff;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-calendar-post {
    margin-top: 2.5rem;
    border: 2px solid #292929;
  }
}

.p-calendar-post li a {
  position: relative;
  display: block;
  padding: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-calendar-post li a {
    padding: 3rem;
  }
}

.p-calendar-post li:not(:first-child) a::after {
  position: absolute;
  content: "";
  width: calc(100% - 3rem);
  height: 1px;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #D6D6D6;
}
@media screen and (min-width: 768px) {
  .p-calendar-post li:not(:first-child) a::after {
    width: calc(100% - 6rem);
  }
}

.p-calendar-post__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  margin-top: 1rem;
}

.p-calendar-post__body-text {
  margin-left: 1rem;
}
@media screen and (min-width: 768px) {
  .p-calendar-post__body-text {
    margin-left: 1.875rem;
  }
}

.p-calendar-post__body-text h3 {
  font-weight: 600;
  font-size: 1.125rem;
  letter-spacing: 0.9px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (min-width: 768px) {
  .p-calendar-post__body-text h3 {
    font-size: 1.25rem;
    margin-top: 0.625rem;
    letter-spacing: 1px;
    -webkit-line-clamp: 2;
  }
}

.p-calendar-post__body-text p {
  font-weight: 300;
  font-size: 0.875rem;
  margin-top: 0.25rem;
  letter-spacing: 0.7px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 3;
}
@media screen and (min-width: 768px) {
  .p-calendar-post__body-text p {
    font-size: 1rem;
    margin-top: 0.625rem;
    line-height: 32px;
    letter-spacing: 0.8px;
  }
}

.p-calendar-post__body img {
  width: 6.25rem;
  height: 9.25rem;
  aspect-ratio: 100/148;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-calendar-post__body img {
    width: 9.625rem;
    height: 13.625rem;
    aspect-ratio: 154/218;
  }
}

.p-calendar-post__date {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500 !important;
  font-size: 1rem !important;
  letter-spacing: 0.8px !important;
}
@media screen and (min-width: 768px) {
  .p-calendar-post__date {
    margin-top: 0 !important;
    line-height: normal !important;
    line-height: initial !important;
  }
}

/* p-calendar-post__sp
--------------------------*/
.p-calendar-post__sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

/* p-calendar-post__pc
--------------------------*/
.p-calendar-post__body-text-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

@media screen and (min-width: 768px) {
  .p-contact .l-inner {
    max-width: 57rem;
  }
}

.p-contact-text {
  margin-top: 0.5rem;
  text-align: center;
}

.p-contact-text p {
  font-weight: 300;
  font-size: 1rem;
  color: #15363E;
}

.p-contact-text p + p {
  margin-top: 1rem;
  line-height: 28px;
}

.p-contact-text p a {
  font-weight: 600;
}

/* フォーム
-----------------------------------------------------*/
.p-contact-form {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background-color: #fff;
  border: 1px solid #333;
  -webkit-box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, .15);
          box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, .15);
  border-radius: 23px;
}
@media screen and (min-width: 768px) {
  .p-contact-form {
    padding: 2.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-contact-item__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

@media screen and (min-width: 768px) {
  .p-contact-item__flex .p-contact-item {
    width: calc(50% - 0.75rem);
  }
}

.p-contact-item {
  padding-bottom: 1.5rem;
}

.p-contact-item--radio-kind {
  padding-bottom: 1.25rem;
}

.p-contact-item__head label {
  font-weight: 600;
  font-size: 1.125rem;
  letter-spacing: 0.9px;
}

.p-contact-item__head label span {
  font-size: 1.5rem;
  margin-left: 0.125rem;
  color: #F5287D;
  letter-spacing: 1.2px;
}

.p-contact-item__input {
  margin-top: 0.625rem;
}

.p-contact-item__input input,
.p-contact-item__input select,
.p-contact-item__input textarea {
  width: 100%;
  min-height: 3rem;
  font-weight: 300;
  font-size: 1rem;
  padding: 0.75rem 0.875rem;
  background-color: #fff;
  border: 1px solid #333;
  letter-spacing: 0.8px;
  border-radius: 8px;
}

.p-contact-item__input select {
  background: url(../images/icon_arrow-black-tobottom.svg) no-repeat center right 22px/10px 7px;
}
@media screen and (min-width: 768px) {
  .p-contact-item__input select {
    width: 23.625rem;
  }
}

.p-contact-item textarea {
  height: 8.4375rem;
  resize: none;
}

.p-contact-btn input {
  padding: 0;
  color: #fff;
  background-color: #006BB7;
  border: none;
}
@media screen and (min-width: 768px) {
  .p-contact-btn input {
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
  }
}

@media screen and (min-width: 768px) {
  .p-contact-btn a:hover input {
    color: #006BB7;
    background-color: #fff;
  }
}

/* ラジオボタン
--------------------------*/
.p-contact-item--radio input {
  display: inline-block;
  width: auto;
  width: initial;
}

.p-contact-item--radio label {
  display: inline-block;
  line-height: 1;
}

.p-contact-item--radio .wpcf7-list-item {
  margin: 0 1rem 0.25rem 0 !important;
}

.p-contact-item--radio .wpcf7-list-item-label {
  position: relative;
  display: inline-block;
  font-weight: 300;
  font-size: 1rem;
  padding-left: 1.75rem;
  color: #15363E;
  letter-spacing: 0.8px;
}

.p-contact-item--radio .wpcf7-list-item-label::before {
  position: absolute;
  content: "";
  width: 1.25rem;
  height: 1.25rem;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon_radio-off.svg) no-repeat center center/contain;
}

.p-contact-item--radio input:checked + .wpcf7-list-item-label::before {
  background: url(../images/icon_radio-on.svg) no-repeat center center/contain;
}

.p-contact-item--radio input {
  min-height: 100%;
}

/* チェックボックス
--------------------------*/
.p-contact-checkbox {
  text-align: center;
}

/* チェックボックスラベルのスタイル */
.p-contact-checkbox label {
  position: relative;
  display: inline-block;
  font-weight: 400;
  font-size: 1rem;
  padding-left: 2rem;
  color: #00053D;
  cursor: pointer;
}

/* チェックボックスのカスタムデザイン */
.p-contact-checkbox .wpcf7-list-item-label::before {
  position: absolute;
  content: "";
  width: 1.5rem;
  height: 1.5rem;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon_checkbox-off.svg) no-repeat center center/contain;
}

/* チェックボックスがチェックされた時のデザイン */
.p-contact-checkbox input[type=checkbox]:checked + .wpcf7-list-item-label::before {
  background: url(../images/icon_checkbox-on.svg) no-repeat center center/contain;
}

.p-contact-checkbox span a {
  font-weight: 700;
  text-decoration: underline;
}

.p-contact-checkbox input {
  min-height: 100%;
}

.wpcf7-spinner {
  position: absolute;
  right: -0.5rem;
}
@media screen and (min-width: 768px) {
  .wpcf7-spinner {
    right: auto;
    right: initial;
  }
}

/* サンクスページ
-----------------------------------------------------*/
.p-contact-thanks {
  padding: 1.5rem;
  background: #fff;
  border: 1px solid #333;
  -webkit-box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, .15);
          box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, .15);
  border-radius: 23px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks {
    padding: 2.5rem;
  }
}

.p-contact-thanks h2 {
  font-weight: 600;
  font-size: 1.5rem;
  letter-spacing: 8px;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks h2 {
    font-size: 2.5rem;
  }
}

.p-contact-thanks p {
  font-weight: 600;
  font-size: 0.875rem;
  margin-top: 1.5rem;
  color: #2D3E3A;
  line-height: 28px;
  letter-spacing: 0.85px;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks p {
    font-size: 1.0625rem;
    margin-top: 2rem;
  }
}

.p-contact-thanks .c-btn {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-contact-thanks .c-btn {
    margin-top: 2.5rem;
  }
}

.p-contact-thanks .c-btn a {
  width: 16.5625rem;
}

/* 他言語時フリガナの入力項目非表示
-----------------------------------------------------*/
html:not([lang=ja]) .p-contact-item--name {
  width: 100%;
}

html:not([lang=ja]) .p-contact-item--furigana {
  display: none;
}

.p-drawer {
  pointer-events: initial;
}
@media screen and (min-width: 1240px) {
  .p-drawer {
    display: none;
  }
}

.p-drawer-inner {
  position: fixed;
  top: 0;
  right: 0;
  width: 100%;
  height: 100vh;
  background-color: #fff;
  opacity: 0;
  z-index: 7777;
  pointer-events: none;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.p-drawer-inner.is-open {
  opacity: 1;
}

.p-drawer-inner.is-open {
  pointer-events: initial;
}

.p-drawer nav {
  margin-top: 4.875rem;
  border-bottom: 1px solid #7F7F7F;
}

.p-drawer nav ul li {
  border-top: 1px solid #7F7F7F;
}

.p-drawer nav ul li a {
  display: block;
  font-weight: 600;
  font-size: 1.125rem;
  padding: 1.25rem 3.75rem;
}

/* 機能付きボタンのデザイン
-----------------------------------------------------*/
.p-drawer nav ul li button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  font-weight: 600;
  font-size: 1.125rem;
  padding: 1.25rem 3.75rem;
}

.p-drawer nav ul li button p {
  color: #333;
}

.p-drawer nav ul li button p:nth-child(2) {
  margin-left: 0.25rem;
}

.p-drawer nav ul li button img {
  width: 1rem;
  margin-right: 0.5rem;
}

.p-drawer__overlay {
  display: none;
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  width: 100%;
  height: 100%;
  background-color: rgba(0, 0, 0, .2);
  z-index: 3000;
}

/* ハンバーガーメニュー
-----------------------------------------------------*/
.p-drawer-hamburger {
  position: fixed;
  width: 3.125rem;
  height: 2.875rem;
  top: 1rem;
  right: 1rem;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 16px;
  cursor: pointer;
  z-index: 9999;
}
@media screen and (min-width: 768px) and (max-width: 1239px) {
  .p-drawer-hamburger {
    border-radius: 8px;
  }
}

.p-drawer-hamburger span {
  position: absolute;
  display: inline-block;
  width: 1.125rem;
  height: 0.125rem;
  right: 0.9375rem;
  background-color: #231815;
  -webkit-transition: all 0.4s;
  transition: all 0.4s;
}

.p-drawer-hamburger span:nth-of-type(1) {
  top: 0.9375rem;
}

.p-drawer-hamburger span:nth-of-type(2) {
  top: 1.3125rem;
}

.p-drawer-hamburger span:nth-of-type(3) {
  top: 1.6875rem;
}

/* クリック時
------------------------------------*/
.p-drawer-hamburger.is-open span:nth-of-type(1) {
  top: 1rem;
  left: 0.75rem;
  -webkit-transform: translateY(6px) rotate(-135deg);
          transform: translateY(6px) rotate(-135deg);
  width: 50%;
}
@media screen and (min-width: 768px) and (max-width: 779px) {
  .p-drawer-hamburger.is-open span:nth-of-type(1) {
    top: 0.75rem;
  }
}
@media screen and (min-width: 780px) and (max-width: 849px) {
  .p-drawer-hamburger.is-open span:nth-of-type(1) {
    top: 0.8125rem;
  }
}
@media screen and (min-width: 850px) and (max-width: 980px) {
  .p-drawer-hamburger.is-open span:nth-of-type(1) {
    top: 0.875rem;
  }
}

.p-drawer-hamburger.is-open span:nth-of-type(2) {
  opacity: 0;
}

.p-drawer-hamburger.is-open span:nth-of-type(3) {
  top: 1.75rem;
  left: 0.75rem;
  -webkit-transform: translateY(-6px) rotate(135deg);
          transform: translateY(-6px) rotate(135deg);
  width: 50%;
}

.p-event-list--top {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-event-list--top {
    margin-top: 5rem;
  }
}

.p-event-list__head {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-event-list__head {
    max-width: 63.75rem;
    width: 100%;
    margin-top: 3rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-event-list__head-year {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  padding-left: 1rem;
  padding-right: 1rem;
  overflow-x: scroll;
}
@media screen and (min-width: 768px) {
  .p-event-list__head-year {
    padding-left: 0;
    padding-right: 0;
    overflow: visible;
    overflow: initial;
  }
}

.p-event-list__head-year button {
  font-family: "Noto Sans JP";
  font-weight: 700;
  font-size: 1.125rem;
  width: 4.875rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #333;
  background-color: #fff;
  border: 1px solid #333;
  line-height: 27.416px;
  letter-spacing: 0.9px;
  border-radius: 27.416px;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
  -ms-flex-negative: 0;
      flex-shrink: 0;
}
@media screen and (min-width: 768px) {
  .p-event-list__head-year button {
    width: 7.625rem;
    font-size: 1.375rem;
    padding-top: 0.625rem;
    padding-bottom: 0.625rem;
    letter-spacing: 1.097px;
    -ms-flex-negative: initial;
        flex-shrink: initial;
  }
}

@media screen and (max-width: 767px) {
  .p-event-list__head-year button:nth-child(1) {
    width: 5.5rem;
  }
}

.p-event-list__head-year button:hover,
.p-event-list__head-year button.is-active {
  color: #fff;
  background-color: #333;
  opacity: 1;
}

.p-event-list__head-year button + button {
  margin-left: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-event-list__head-year button + button {
    margin-left: 1rem;
  }
}

@media screen and (min-width: 768px) {
  .p-event-list .l-inner {
    max-width: 66.875rem;
  }
}

.p-event-list__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-event-list__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 2.9375rem 2.5rem;
    margin-top: 2rem;
  }
}

.p-event-list__item a {
  display: inline-block;
  padding: 1.5rem;
  background-color: #fff;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-event-list__item a {
    padding: 1.25rem;
    border: 2px solid #292929;
  }
}

.p-event-list__info p:nth-child(1) {
  font-family: "Hiragino Kaku Gothic Pro";
  font-size: 0.875rem;
  font-style: normal;
  font-weight: 600;
  width: 5.5rem;
  padding-top: 0.4375rem;
  padding-bottom: 0.4375rem;
  border: 1px solid #333;
  line-height: 20px;
  letter-spacing: 0.7px;
  border-radius: 20px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-event-list__info p:nth-child(1) {
    font-size: 1rem;
    letter-spacing: 0.8px;
  }
}

.p-event-list__info p:nth-child(1).is-open {
  color: #fff;
  background-color: #F5287D;
  border: 1px solid #F5287D;
}
@media screen and (min-width: 768px) {
  .p-event-list__info p:nth-child(1).is-open {
    border: 2px solid #F5287D;
  }
}

.p-event-list__info p:nth-child(2) {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  margin-top: 0.5rem;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-event-list__info p:nth-child(2) {
    margin-top: 1rem;
    letter-spacing: 1.6px;
  }
}

.p-event-list__item img {
  width: 6.25rem;
  height: 8.8125rem;
}
@media screen and (min-width: 768px) {
  .p-event-list__item img {
    width: 9.625rem;
    height: 13.625rem;
  }
}

.p-event-list__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-event-list__body {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    margin-top: 0;
    margin-left: 1.5rem;
  }
}

.p-event-list__body h3 {
  font-family: "Hiragino Kaku Gothic Pro";
  font-weight: 600;
  font-size: 1.125rem;
  margin-left: 1rem;
  letter-spacing: 0.9px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
  height: 8.4375rem;
}
@media screen and (min-width: 768px) {
  .p-event-list__body h3 {
    font-size: 1.25rem;
    margin-top: 0.625rem;
    margin-left: 0;
    letter-spacing: 1px;
    -webkit-line-clamp: 4;
    height: 7.5rem;
  }
}

/* p-event-list__item-sp
--------------------------*/
.p-event-list__item-sp {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}

/* p-event-list__item-pc
--------------------------*/
.p-event-list__item-pc {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

/* チェックボックス
--------------------------*/
.p-event-list__head-checkbox {
  margin-top: 1rem;
  padding-left: 1rem;
}
@media screen and (min-width: 768px) {
  .p-event-list__head-checkbox {
    margin-top: 2rem;
    padding-left: 0;
  }
}

.p-event-list__head-checkbox label {
  display: block;
  line-height: 1;
}

.p-event-list__head-checkbox p {
  position: relative;
  display: inline-block;
  font-family: "Noto Sans JP";
  font-weight: 400;
  font-size: 0.875rem;
  padding-left: 1.5rem;
  color: #333;
}

.p-event-list__head-checkbox p::before {
  position: absolute;
  content: "";
  width: 1rem;
  height: 1rem;
  top: 50%;
  left: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon_checkbox-off.svg) no-repeat center center/contain;
}

.p-event-list__head-checkbox input:checked + p::before {
  background: url(../images/icon_checkbox-on.svg) no-repeat center center/contain;
}

.p-event-swiper__wrap {
  position: relative;
  max-width: calc(31.25rem + 32px);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__wrap {
    max-width: 63.25rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-event-swiper__wrap {
    max-width: 90%;
  }
}

.p-event-swiper {
  margin-top: 1.0625rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 768px) {
  .p-event-swiper {
    margin-top: 3rem;
    padding-left: 0;
    padding-right: 0;
  }
}

.p-event-swiper .swiper-slide {
  height: auto;
}

.p-event-swiper a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  height: 100%;
  padding: 1rem;
  background-color: #fff;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-event-swiper a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    padding: 1.625rem;
    border: 2px solid #292929;
  }
}

.p-event-swiper__img img {
  width: 20.375rem;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__img img {
    width: 21.0625rem;
    aspect-ratio: 337/476;
    -o-object-fit: contain;
       object-fit: contain;
  }
}

.p-event-swiper__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  margin-top: 1rem;
  padding-bottom: 5.625rem;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__body {
    width: calc(100% - 24.0625rem);
    margin-top: 1.4375rem;
    margin-left: 3rem;
    padding-bottom: 0;
  }
}
@media screen and (min-width: 768px) and (max-width: 1120px) {
  .p-event-swiper__body {
    width: calc(100% - 17.5rem);
    margin-left: 1.875rem;
  }
}

.p-event-swiper__body h3 {
  font-weight: 600;
  font-size: 1.5rem;
  margin-top: 1rem;
  letter-spacing: 2.4px;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__body h3 {
    font-size: 2rem;
    margin-top: 1.1875rem;
    letter-spacing: 3.2px;
  }
}

.p-event-swiper__info-wrap {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-event-swiper__info:nth-child(2) {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__info:nth-child(2) {
    position: relative;
    display: block;
    margin-left: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-event-swiper__info:nth-child(2)::before {
    position: absolute;
    content: "";
    width: 3.125rem;
    height: 0.25rem;
    bottom: 1.5625rem;
    left: -3.875rem;
    background-color: #292929;
  }
}

.p-event-swiper__info-year {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 1.6px;
}

.p-event-swiper__info-date {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__info-date {
    margin-left: 0.3125rem;
  }
}

.p-event-swiper__info-date p:nth-child(1) {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  letter-spacing: 3.2px;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__info-date p:nth-child(1) {
    font-size: 2.42175rem;
    letter-spacing: 3.875px;
  }
}

.p-event-swiper__info-date p:nth-child(2) {
  font-size: 1rem;
  font-weight: 600;
  margin-left: 0.75rem;
  padding-left: 0.9375rem;
  padding-right: 0.9375rem;
  padding-bottom: 0.0625rem;
  color: #fff;
  background-color: #333;
  border-radius: 9.687px;
  letter-spacing: 1.6px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__info-date p:nth-child(2) {
    font-size: 1.210875rem;
    margin-left: 0.9375rem;
    letter-spacing: 1.937px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-event-swiper__info-date p:nth-child(2) {
    font-size: 0.875rem;
    margin-left: 0.625rem;
  }
}

/* ナビゲーション
-----------------------------------------------------*/
.p-event-swiper__wrap .swiper-button-disabled {
  opacity: 1;
  cursor: pointer;
  pointer-events: fill;
}

.p-event-swiper__wrap .swiper-button-prev,
.p-event-swiper__wrap .swiper-button-next {
  width: 3.625rem;
  top: auto;
  top: initial;
  bottom: 1.25rem;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__wrap .swiper-button-prev,
  .p-event-swiper__wrap .swiper-button-next {
    top: 50%;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-event-swiper__wrap .swiper-button-prev,
  .p-event-swiper__wrap .swiper-button-next {
    width: 2.8125rem;
  }
}

.p-event-swiper__wrap .swiper-button-prev {
  left: 2rem;
}
@media screen and (min-width: 768px) {
  .p-event-swiper__wrap .swiper-button-prev {
    left: -5.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-event-swiper__wrap .swiper-button-prev {
    left: -3.125rem;
  }
}

.p-event-swiper__wrap .swiper-button-next {
  right: 2rem;
  -webkit-transform: rotate(180deg);
          transform: rotate(180deg);
}
@media screen and (min-width: 768px) {
  .p-event-swiper__wrap .swiper-button-next {
    right: -5.125rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-event-swiper__wrap .swiper-button-next {
    right: -3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-event .p-event-swiper {
    margin-top: 2.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-event .c-btn {
    margin-top: 2rem;
  }
}

.p-follow-me h2 {
  text-align: center;
}

.p-follow-me h2 p:nth-child(1) {
  font-weight: 600;
  font-size: 1rem;
  color: #333;
  letter-spacing: 3.2px;
}

.p-follow-me h2 p:nth-child(1) img {
  width: 19.1875rem;
  margin-left: auto;
  margin-right: auto;
}

.p-follow-me h2 p:nth-child(2) {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 2rem;
  margin-top: 0.0625rem;
  color: #000;
  letter-spacing: 1.6px;
}
@media screen and (min-width: 768px) {
  .p-follow-me h2 p:nth-child(2) {
    font-weight: 500;
    font-size: 3rem;
    color: #333;
    letter-spacing: 2.4px;
  }
}

.p-follow-me ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-follow-me ul {
    margin-top: 1.5rem;
  }
}

.p-follow-me ul li {
  width: 4rem;
  height: 4rem;
}
@media screen and (min-width: 768px) {
  .p-follow-me ul li {
    width: 5rem;
    height: 5rem;
  }
}

.p-follow-me ul li + li {
  margin-left: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-follow-me ul li + li {
    margin-left: 1.8125rem;
  }
}

.p-follow-me ul li a img {
  border-radius: 8px;
}

.p-footer-top ul {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}

.p-footer-top li {
  width: 100%;
}

.p-footer-top a {
  width: 100%;
  height: 7.0625rem;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  color: #fff;
  background-color: #333;
}
@media screen and (min-width: 768px) {
  .p-footer-top a {
    height: 12.5rem;
  }
}

.p-footer-top a:nth-child(1) {
  padding-top: 1.9375rem;
  padding-bottom: 1.875rem;
}
@media screen and (min-width: 768px) {
  .p-footer-top a:nth-child(1) {
    padding-top: 3.8125rem;
    padding-bottom: 3.8125rem;
  }
}

.p-footer-top a:nth-child(2) {
  margin-left: 0.0625rem;
  padding-top: 1.6875rem;
  padding-bottom: 1.6875rem;
}
@media screen and (min-width: 768px) {
  .p-footer-top a:nth-child(2) {
    margin-left: 0.1875rem;
    padding-top: 3.4375rem;
    padding-bottom: 3.4375rem;
  }
}

.p-footer-top a:nth-child(1) img {
  width: 1.75rem;
}
@media screen and (min-width: 768px) {
  .p-footer-top a:nth-child(1) img {
    width: 2.9375rem;
  }
}

.p-footer-top a:nth-child(2) img {
  width: 2.25rem;
}
@media screen and (min-width: 768px) {
  .p-footer-top a:nth-child(2) img {
    width: 3.3125rem;
  }
}

.p-footer-top a p {
  font-weight: 600;
  font-size: 1rem;
  margin-top: 0.5rem;
  letter-spacing: 3.2px;
}
@media screen and (min-width: 768px) {
  .p-footer-top a p {
    font-weight: 600;
    font-size: 1.5rem;
    letter-spacing: 4.8px;
  }
}

@media screen and (max-width: 767px) {
  .p-footer-top a:nth-child(2) p {
    margin-top: 0.1875rem;
  }
}

/* p-footer-bottom
--------------------------*/
@media screen and (min-width: 768px) {
  .p-footer-bottom {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-bottom::before {
    position: absolute;
    content: "";
    width: 0.125rem;
    height: 25.9375rem;
    top: 50%;
    left: 50%;
    -webkit-transform: translate(-50%, -50%);
            transform: translate(-50%, -50%);
    background-color: #333;
  }
}

.p-footer-bottom .l-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  padding-top: 2rem;
  padding-bottom: 2rem;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom .l-inner {
    max-width: 80.625rem;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    padding: 3rem 1.5625rem;
  }
}

.p-footer-bottom h3 {
  font-weight: 600;
  font-size: 1.125rem;
  letter-spacing: 1.8px;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom h3 {
    font-size: 1.5rem;
    line-height: 32px;
    letter-spacing: 2.4px;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-bottom__map {
    width: calc(50% - 5rem);
  }
}

.p-footer-bottom__map p {
  margin-top: 0.5rem;
  font-weight: 300;
  font-size: 1rem;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom__map p {
    line-height: 32px;
  }
}

.p-footer-bottom__map-iframe {
  margin-top: 1rem;
  border-radius: 16px;
}

.p-footer-bottom__map-iframe iframe {
  width: 100%;
  height: 12.1875rem;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom__map-iframe iframe {
    max-width: 33.75rem;
    height: 18.4375rem;
  }
}

.p-footer-bottom nav {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom nav {
    margin-top: 0;
  }
}

.p-footer-bottom__link {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom__link {
    margin-top: 2.5rem;
  }
}

.p-footer-bottom__link li {
  color: #231815;
  font-weight: 300;
  font-size: 1rem;
  letter-spacing: 1.6px;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom__link li {
    font-weight: 600;
  }
}

.p-footer-bottom__link li + li {
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom__link li + li {
    margin-top: 2rem;
  }
}

.p-footer-bottom__sns {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-footer-bottom__sns {
    margin-top: 3.0625rem;
  }
}

.p-footer-bottom__sns li + li {
  margin-left: 1rem;
}

.p-footer-bottom__sns li a img {
  width: 2.8125rem;
  border-radius: 8px;
}

/* p-footer-copy
--------------------------*/
.p-footer-copy {
  background-color: #F5287D;
}

.p-footer-copy p {
  color: #fff;
}

.p-footer-copy .l-inner {
  padding: 1.5rem 1.0625rem;
}
@media screen and (min-width: 768px) {
  .p-footer-copy .l-inner {
    max-width: 80.625rem;
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    padding: 1.625rem 1.5625rem;
  }
}

.p-footer-copy__button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-footer-copy__button {
    position: relative;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-copy__button::before,
  .p-footer-copy__button::after {
    position: absolute;
    content: "";
    width: 1px;
    height: 1.5rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-color: #fff;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-copy__button::before {
    left: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-footer-copy__button::after {
    right: 0;
  }
}

.p-footer-copy__button button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-footer-copy__button button {
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}

.p-footer-copy__button button p {
  font-size: 1rem;
  letter-spacing: 1.6px;
}

.p-footer-copy__button button p:nth-child(1) {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-footer-copy__button button p:nth-child(1) {
    font-size: 1.15625rem;
    letter-spacing: 1.85px;
  }
}

.p-footer-copy__button button p:nth-child(2) {
  font-weight: 600;
  margin-left: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-footer-copy__button button p:nth-child(2) {
    font-size: 1.5rem;
    letter-spacing: 2.4px;
  }
}

.p-footer-copy__button button img {
  width: 1rem;
  margin-right: 0.5rem;
}

.p-footer-copy__text {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 600;
  font-size: 0.875rem;
  margin-top: 1.25rem;
  letter-spacing: 1.4px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-footer-copy__text {
    font-size: 1.5rem;
    margin-top: 0;
    letter-spacing: 2.4px;
  }
}

.p-footer-copy__text > span {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

.p-footer-copy__icon {
  font-size: 1.5rem;
  margin-left: 0.3125rem;
  margin-right: 0.3125rem;
}
@media screen and (min-width: 768px) {
  .p-footer-copy__icon {
    font-size: 2.5rem;
  }
}

.p-fv {
  padding-top: 0.625rem;
}
@media screen and (min-width: 768px) {
  .p-fv {
    padding-top: 1.5rem;
  }
}

.p-fv-news__wrap {
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 768px) {
  .p-fv-news__wrap {
    padding-left: 2.5rem;
    padding-right: 2.5rem;
  }
}

.p-fv-news {
  position: relative;
  background-color: #F5287D;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .p-fv-news {
    max-width: 85rem;
    width: 100%;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-fv-news a {
  display: block;
  font-weight: 600;
  font-size: 1rem;
  padding: 0.75rem 1rem;
  color: #fff;
  letter-spacing: 1.6px;
}
@media screen and (min-width: 768px) {
  .p-fv-news a {
    font-size: 1.5rem;
    letter-spacing: 2.4px;
  }
}

.p-fv-news button {
  position: absolute;
  width: 1.5rem;
  top: -0.625rem;
  right: -0.625rem;
  z-index: 1;
}
@media screen and (min-width: 768px) {
  .p-fv-news button {
    top: -0.5rem;
    right: -0.5rem;
  }
}

.p-fv-news button:hover {
  opacity: 1;
}

.p-fv-content {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-fv-content {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 1.4375rem;
    margin-left: 7.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1100px) {
  .p-fv-content {
    margin-left: 2.5rem;
  }
}

.p-fv-left {
  max-width: 20.625rem;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-fv-left {
    max-width: 37.5rem;
    width: auto;
    width: initial;
    margin-right: 7.9375rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1000px) {
  .p-fv-left {
    max-width: none;
    max-width: initial;
    margin-right: 4.375rem;
  }
}

.p-fv-left h2 img {
  width: 100%;
}

.p-fv-text {
  margin-top: 2.0625rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-fv-text {
    margin-top: 2.625rem;
    padding-left: 0;
    padding-right: 0;
  }
}

.p-fv-text p:nth-child(1) {
  width: 100% !important;
  display: block !important;
  font-weight: 600;
  font-size: 1.125rem;
  padding-top: 0.6875rem;
  padding-bottom: 0.6875rem;
  color: #fff;
  background-color: #333;
  border-radius: 10.028px 0px;
  letter-spacing: 2.7px;
}
@media screen and (min-width: 768px) {
  .p-fv-text p:nth-child(1) {
    font-weight: 700;
    padding: 0.5rem 1.25rem;
    border-radius: 16px 0px;
  }
}

.p-fv-text p:nth-child(2) {
  font-weight: 300;
  font-size: 1rem;
  margin-top: 1.125rem;
  color: #171717;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-fv-text p:nth-child(2) {
    font-weight: 500;
    margin-top: 1.625rem;
    line-height: 25px;
  }
}

/* p-fv-swiper
-----------------------------------------------------*/
.p-fv-swiper {
  position: relative;
  max-width: 45.625rem;
  width: 100%;
  margin-left: 0;
  padding-bottom: 1.03125rem;
}
.p-fv-swiper ul li a img {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  aspect-ratio: 337/475;
  -o-object-fit: cover;
     object-fit: cover;
}
.p-fv-swiper .swiper-pagination {
  position: static;
  position: initial;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: auto;
  width: initial;
  margin-top: 1.78125rem;
  padding-right: 11.0625rem;
  text-align: left;
}
.p-fv-swiper .swiper-pagination-bullet {
  width: 2.5rem;
  margin-left: 0 !important;
  background: rgba(186, 186, 186, .5);
  border-radius: 0;
  border-radius: initial;
  opacity: 1;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
.p-fv-swiper .swiper-pagination-bullet:nth-child(1) {
  margin-left: 0;
}
.p-fv-swiper .swiper-pagination-bullet:not(:last-child) {
  margin-right: 2.1875rem !important;
}
@media screen and (min-width: 768px) and (max-width: 1400px) {
  .p-fv-swiper .swiper-pagination-bullet:not(:last-child) {
    margin-right: 0.9375rem !important;
  }
}
.p-fv-swiper .swiper-pagination-bullet-active {
  width: 9.875rem;
  background-color: #333;
}
.p-fv-swiper button {
  position: absolute;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  bottom: 0;
  right: 2.8125rem;
  padding: 0.6875rem 0.75rem;
  background-color: #333;
  border-radius: 4px;
}
.p-fv-swiper button img {
  width: 0.625rem;
}
.p-fv-swiper button p {
  font-weight: 700;
  font-size: 0.75rem;
  width: 3.625rem;
  color: #fff;
  letter-spacing: 1.2px;
  text-align: center;
}

.p-header {
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 4.875rem;
  background-color: #fff;
  z-index: 8000;
}
@media screen and (min-width: 1240px) {
  .p-header {
    height: 5.75rem;
  }
}

@media screen and (min-width: 1240px) {
  .p-header::after {
    position: absolute;
    content: "";
    width: calc(100% - 5rem);
    height: 1px;
    bottom: 0;
    left: 50%;
    -webkit-transform: translateX(-50%);
            transform: translateX(-50%);
    background-color: #d6d6d6;
  }
}

.p-header-inner {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  padding: 0.75rem 4.625rem 0.75rem 1rem;
}
@media screen and (min-width: 1240px) {
  .p-header-inner {
    padding: 1.125rem 2.5rem;
  }
}

.p-header h1 {
  position: relative;
  width: 8.1875rem;
  z-index: 8000;
}
@media screen and (min-width: 1240px) {
  .p-header h1 {
    width: 8.5625rem;
  }
}

.p-header-lang button {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  width: 100%;
  height: 2.875rem;
  font-weight: 600;
  font-size: 1.125rem;
  padding: 0.71875rem 0.75rem;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 16px;
}

.p-header-lang button p {
  color: #231815;
}

.p-header-lang button img {
  width: 1rem;
  margin-right: 0.5rem;
}

.p-header-lang p {
  position: relative;
  padding-right: 1.25rem;
}

.p-header-lang p::after {
  position: absolute;
  content: "";
  width: 0.5rem;
  height: 0.5625rem;
  top: 50%;
  right: 0;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon_arrow-black-tobottom.svg) no-repeat center/contain;
}

@media screen and (min-width: 1240px) {
  .p-header-link ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 0.625rem;
  }
}

.p-header-link li {
  display: none;
}
@media screen and (min-width: 1240px) {
  .p-header-link li {
    display: block;
  }
}

@media screen and (min-width: 1240px) {
  .p-header-link li + li {
    margin-left: 2.5rem;
  }
}
@media screen and (min-width: 1240px) and (max-width: 1300px) {
  .p-header-link li + li {
    margin-left: 1rem;
  }
}
@media screen and (min-width: 1301px) and (max-width: 1400px) {
  .p-header-link li + li {
    margin-left: 1.5rem;
  }
}

.p-header-link li a {
  position: relative;
  font-weight: 600;
  font-size: 0.875rem;
  color: #231815;
  letter-spacing: 1.4px;
}
@media screen and (min-width: 1240px) {
  .p-header-link li a {
    font-size: 1rem;
    letter-spacing: 1.6px;
  }
}

/* 機能付きボタンのデザイン
  --------------------------*/
.p-header-link li:nth-child(7) {
  margin-left: 1.5rem;
  border-left: 1px solid #333;
}

@media screen and (min-width: 1240px) {
  .p-header-link li:nth-child(8) {
    margin-left: 0;
    border-radius: 0;
    border-radius: initial;
    border-top: none;
    border-bottom: none;
  }
}

@media screen and (min-width: 1240px) {
  .p-header-link li button {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    font-weight: 600;
    font-size: 1rem;
    padding-left: 1.5rem;
    padding-right: 1.5rem;
  }
}
@media screen and (min-width: 1240px) and (max-width: 1300px) {
  .p-header-link li button {
    padding-left: 0.75rem;
    padding-right: 0.75rem;
  }
}
@media screen and (min-width: 1301px) and (max-width: 1400px) {
  .p-header-link li button {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

@media screen and (min-width: 1240px) {
  .p-header-link li button p:nth-child(2) {
    color: #333;
    margin-left: 0.25rem;
  }
}

.p-header-link li button img {
  width: 1rem;
  margin-right: 0.5rem;
}

@media screen and (min-width: 1240px) {
  .p-header-link li button p {
    color: #231815;
  }
}

.p-header-link li:last-child {
  position: relative;
}
@media screen and (min-width: 1240px) {
  .p-header-link li:last-child {
    padding-left: 2rem;
  }
}

.p-header-link li:last-child::before,
.p-header-link li:last-child::after {
  position: absolute;
  content: "";
  top: 50%;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
}

.p-header-link li:last-child::before {
  width: 1rem;
  height: 1.125rem;
  left: 0.75rem;
  background: url(../images/icon_language-black.svg) no-repeat center/contain;
  z-index: 2;
}
@media screen and (min-width: 1240px) {
  .p-header-link li:last-child::before {
    left: 1.25rem;
  }
}

.p-header-link li:last-child::after {
  width: 0.5rem;
  height: 0.5625rem;
  right: 0.75rem;
  background: url(../images/icon_arrow-black-tobottom.svg) no-repeat center/contain;
  z-index: 1;
}
@media screen and (min-width: 1240px) {
  .p-header-link li:last-child::after {
    right: 1.5rem;
  }
}

/* ホバー時の下部線デザイン
  --------------------------*/
.p-header-link li:not(:last-child) a::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 0.125rem;
  bottom: -0.5rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background-color: #333;
  opacity: 0;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-header-link li:not(:last-child) a:hover::after {
  opacity: 1;
}

/* p-header-link__lang
--------------------------*/
.p-header-link__lang {
  display: block !important;
}

@media screen and (max-width: 1239px) {
  .p-header-link__lang {
    height: 2.8125rem;
  }
  .p-header-link__lang a + a {
    background-color: #fff;
  }
}
/* 言語スイッチャーデザイン（TranslatePress）
-----------------------------------------------------*/
.trp-language-switcher {
  width: auto;
  width: initial;
  height: 1.5rem;
}

.trp-language-switcher > div {
  padding: 0;
  border: none;
  background: none;
}

.trp-language-switcher > div > a {
  padding: 0.6875rem 1.875rem;
}
@media screen and (min-width: 1240px) {
  .trp-language-switcher > div > a {
    padding: 0 2.8125rem 0 0.75rem;
  }
}

.trp-ls-shortcode-language {
  padding: 0 !important;
}

.trp-language-switcher > div > a.trp-ls-shortcode-disabled-language {
  cursor: pointer;
}

/* 初期状態でメニューを非表示にする */
.trp-ls-shortcode-language {
  visibility: hidden !important;
  max-height: 0 !important;
  overflow: hidden;
  -webkit-transition: max-height 0.3s ease, visibility 0.3s ease;
  transition: max-height 0.3s ease, visibility 0.3s ease;
  position: absolute;
  left: 0;
  top: 100%;
  /* メニューをボタンの下に配置 */
  z-index: 999;
}

/* メニューがアクティブなとき（クリックされたとき）のスタイル */
.trp-ls-shortcode-language.active {
  visibility: visible !important;
  max-height: 250px !important;
  padding: 4px 13px;
  height: auto;
  overflow-y: auto;
  display: inline-block !important;
}

/* 日本語や他のテキストがホバーやクリック時に消えないようにする */
.trp-ls-shortcode-current-language {
  width: auto !important;
  visibility: visible !important;
  color: inherit;
  /* 元のテキストカラーを保持 */
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  /* テキストとアイコンの整列用 */
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
}

/* ホバーしてもテキストが消えないようにする */
.trp-ls-shortcode-current-language:hover {
  visibility: visible !important;
}

/* 言語変更ボタンデザイン
-----------------------------------------------------*/
.trp-language-switcher > div > a {
  text-align: center;
}
@media screen and (min-width: 1240px) {
  .trp-language-switcher > div > a {
    width: 9.6875rem;
    padding: 0;
    background-color: #fff;
    border-radius: 0;
  }
}

.trp-language-switcher > div > a:first-child {
  border: 1px solid #333;
  border-radius: 16px;
}
@media screen and (min-width: 768px) and (max-width: 1239px) {
  .trp-language-switcher > div > a:first-child {
    border-radius: 8px;
  }
}
@media screen and (min-width: 1240px) {
  .trp-language-switcher > div > a:first-child {
    margin-bottom: 1.125rem;
    border-top: none;
    border-bottom: none;
    border-radius: 0;
  }
}

.trp-language-switcher > div > a + a {
  position: relative;
  top: -0.875rem;
  padding: 0.25rem 0;
  background-color: #fff;
  border-left: 1px solid #333;
  border-right: 1px solid #333;
  border-radius: 0;
}
@media screen and (min-width: 1240px) {
  .trp-language-switcher > div > a + a {
    top: 0;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
    border-left: 1px solid #666;
    border-right: 1px solid #666;
  }
}

@media screen and (min-width: 1240px) {
  .trp-language-switcher > div > a:nth-child(2) {
    border-top: 1px solid #666;
  }
}

@media screen and (max-width: 767px) {
  .trp-ls-shortcode-language.active a:last-child {
    border-radius: 0 0 16px 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1239px) {
  .trp-ls-shortcode-language.active a:last-child {
    border-radius: 0 0 8px 8px;
  }
}
@media screen and (max-width: 1239px) {
  .trp-ls-shortcode-language.active a:last-child {
    padding-bottom: 0.625rem;
    border-bottom: 1px solid #333;
  }
}
@media screen and (min-width: 1240px) {
  .trp-ls-shortcode-language.active a:last-child {
    border-bottom: 1px solid #666;
  }
}

@media screen and (max-width: 767px) {
  .trp-ls-shortcode-language.active a:nth-child(2) {
    padding-top: 0.375rem;
  }
}

@media screen and (min-width: 1240px) {
  .p-header-link li:last-child {
    padding-left: 0;
  }
}

.trp-ls-shortcode-language.active {
  width: auto !important;
  max-height: -webkit-max-content !important;
  max-height: -moz-max-content !important;
  max-height: max-content !important;
}

.trp-language-switcher > div > a + a:hover {
  opacity: 1;
  filter: url('data:image/svg+xml;charset=utf-8,<svg xmlns="http://www.w3.org/2000/svg"><filter id="filter"><feComponentTransfer color-interpolation-filters="sRGB"><feFuncR type="linear" slope="0.95" /><feFuncG type="linear" slope="0.95" /><feFuncB type="linear" slope="0.95" /></feComponentTransfer></filter></svg>#filter');
  -webkit-filter: brightness(95%);
          filter: brightness(95%);
}

.p-ikebukuro2026-banner {
  margin-top: 2.5rem;
  margin-bottom: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-ikebukuro2026-banner {
    margin-top: 5rem;
    margin-bottom: 5rem;
  }
}

.p-ikebukuro2026-banner a {
  display: block;
}

.p-ikebukuro2026-banner a img {
  width: 100%;
}

.p-links {
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-links {
    padding-bottom: 4rem;
  }
}

@media screen and (min-width: 768px) {
  .p-links .l-inner {
    max-width: 45.125rem;
  }
}

.p-links ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 0.875rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-links ul {
    margin-top: 3.5rem;
    gap: 2rem;
  }
}

@media screen and (max-width: 767px) {
  .p-links ul li {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-links ul li a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  max-width: 10.75rem;
  width: 100%;
  height: 6.875rem;
  border: 1px solid #292929;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-links ul li a {
    display: block;
    max-width: none;
    max-width: initial;
    width: auto;
    width: initial;
    height: auto;
    height: initial;
    border: 2px solid #292929;
  }
}

.p-links ul li a,
.p-links ul li a img {
  border-radius: 16px;
}

.p-links ul li a img {
  height: auto;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 768px) {
  .p-links ul li a img {
    width: 20rem;
    aspect-ratio: 320/140;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-links ul li a:hover img {
  -webkit-transform: scale(110%);
          transform: scale(110%);
}

.p-lp {
  padding-bottom: 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-lp {
    padding-bottom: 5rem;
  }
}

/* p-lp-fv
--------------------------*/
.p-lp-fv__bottom {
  position: relative;
  padding-top: 2rem;
  padding-bottom: 2rem;
  background-color: #333;
}

.p-lp-fv__bottom::before {
  position: absolute;
  content: "";
  width: 23.25rem;
  height: 4.0625rem;
  top: -3.4375rem;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: url(../images/img_deco-black01.webp) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-lp-fv__bottom::before {
    width: 9.6875rem;
    height: 4.6875rem;
    left: 3.5rem;
    -webkit-transform: none;
            transform: none;
    -webkit-transform: initial;
            transform: initial;
    background: url(../images/img_deco-black02.webp) no-repeat center/contain;
  }
}

@media screen and (min-width: 768px) {
  .p-lp-fv__bottom::after {
    position: absolute;
    content: "";
    width: 14.1875rem;
    height: 4.5625rem;
    top: -3.75rem;
    right: 3.5rem;
    background: url(../images/img_deco-black03.webp) no-repeat center/contain;
  }
}

.p-lp-fv__bottom p {
  font-weight: 600;
  font-size: 1.875rem;
  color: #fff;
  line-height: 2.5rem;
  letter-spacing: 0.1875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-lp-fv__bottom p {
    font-size: 2rem;
    line-height: 2.625rem;
    letter-spacing: 0.2rem;
  }
}

/* p-lp-catchphrase
--------------------------*/
.p-lp-catchphrase__img {
  margin-top: 3.5rem;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase__img {
    margin-top: 5rem;
  }
}

.p-lp-catchphrase__img img {
  width: 19.375rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase__img img {
    width: 32.1875rem;
  }
}

.p-lp-catchphrase__bottom {
  position: relative;
  margin-top: 3.25rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  background-color: #F5287D;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase__bottom {
    margin-top: 1.625rem;
    padding-top: 2.5rem;
    padding-bottom: 2.5rem;
  }
}

.p-lp-catchphrase__bottom::before {
  position: absolute;
  content: "";
  width: 4.6875rem;
  height: 3.4375rem;
  top: -3.125rem;
  left: 0.625rem;
  background: url(../images/img_deco-pink01.webp) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase__bottom::before {
    width: 7rem;
    height: 4.6875rem;
    top: -4.375rem;
    left: 13.4375rem;
  }
}

.p-lp-catchphrase__bottom::after {
  position: absolute;
  content: "";
  width: 6.25rem;
  height: 3rem;
  top: -2.8125rem;
  right: 0.8125rem;
  background: url(../images/img_deco-pink02.webp) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase__bottom::after {
    width: 8.4375rem;
    height: 4.1875rem;
    top: -3.875rem;
    right: 13rem;
  }
}

.p-lp-catchphrase__bottom p {
  font-weight: 600;
  font-size: 1.375rem;
  color: #fff;
  letter-spacing: 0.075rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase__bottom p {
    font-size: 2rem;
    line-height: 2.625rem;
    letter-spacing: 0.2rem;
  }
}

/* p-lp-catchphrase02
--------------------------*/
@media screen and (min-width: 768px) {
  .p-lp-catchphrase02 .p-lp-catchphrase__img img {
    width: 31.375rem;
  }
}

.p-lp-catchphrase02 .p-lp-catchphrase__bottom {
  background-color: #333;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase02 .p-lp-catchphrase__bottom {
    margin-top: 3.25rem;
  }
}

.p-lp-catchphrase02 .p-lp-catchphrase__bottom::before {
  position: absolute;
  content: "";
  width: 4.6875rem;
  height: 3.125rem;
  top: -2.8125rem;
  left: 0.75rem;
  background: url(../images/img_deco-black04.webp) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase02 .p-lp-catchphrase__bottom::before {
    width: 7.1875rem;
    height: 4.5625rem;
    top: -4.375rem;
    left: 13.75rem;
  }
}

.p-lp-catchphrase02 .p-lp-catchphrase__bottom::after {
  position: absolute;
  content: "";
  width: 4.1875rem;
  height: 2.9375rem;
  top: -2.6875rem;
  right: 0.5rem;
  background: url(../images/img_deco-black05.webp) no-repeat center/contain;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase02 .p-lp-catchphrase__bottom::after {
    width: 5.6875rem;
    height: 4.0625rem;
    top: -3.625rem;
    right: 12.9375rem;
  }
}

.p-lp-catchphrase02 .p-lp-catchphrase__bottom p {
  font-weight: 600;
  font-size: 1.375rem;
  color: #fff;
  letter-spacing: 0.075rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-lp-catchphrase02 .p-lp-catchphrase__bottom p {
    font-size: 2rem;
    line-height: 2.625rem;
    letter-spacing: 0.2rem;
  }
}

.p-lp-title {
  text-align: center;
}
@media screen and (max-width: 767px) {
  .p-lp-title {
    position: relative;
  }
}

@media screen and (max-width: 767px) {
  .p-lp-title::before,
  .p-lp-title::after {
    position: absolute;
    content: "";
    width: 0.75rem;
    height: 0.75rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-color: #F5287D;
    border-radius: 6.25rem;
  }
}

@media screen and (max-width: 767px) {
  .p-lp-title::before {
    left: 0;
  }
}

@media screen and (max-width: 767px) {
  .p-lp-title::after {
    right: 0;
  }
}

.p-lp-title p {
  width: 18.75rem;
  font-weight: 600;
  font-size: 1.25rem;
  margin-left: auto;
  margin-right: auto;
  text-align: center;
  letter-spacing: 0.0625rem;
}
@media screen and (min-width: 768px) {
  .p-lp-title p {
    position: relative;
    width: auto;
    width: initial;
    display: inline-block;
    font-size: 2.5rem;
    margin: 0;
    margin: initial;
    letter-spacing: 0.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-lp-title p::before,
  .p-lp-title p::after {
    position: absolute;
    content: "";
    width: 1rem;
    height: 1rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-color: #F5287D;
    border-radius: 6.25rem;
  }
}

@media screen and (min-width: 768px) {
  .p-lp-title p::before {
    left: -2.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-lp-title p::after {
    right: -2.125rem;
  }
}

/* p-lp-list__content
--------------------------*/
.p-lp-lists {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-lp-lists {
    margin-top: 2.625rem;
  }
}

.p-lp-list {
  position: relative;
}

.p-lp-list + .p-lp-list {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-lp-list + .p-lp-list {
    margin-top: 3.75rem;
  }
}

.p-lp-list__content {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  gap: 1.5rem;
  margin-top: 1rem;
  padding: 1.5rem;
  background-color: #fff;
  border: 0.0625rem solid #292929;
  border-radius: 1rem;
}
@media screen and (min-width: 768px) {
  .p-lp-list__content {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
    margin-top: 1.5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-lp-list__content img {
    width: 21.875rem;
  }
}

@media screen and (min-width: 768px) {
  .p-lp-festival .p-lp-list__content img {
    width: 29.375rem;
  }
}

@media screen and (min-width: 768px) {
  .p-lp-list--ratio .p-lp-list__content img {
    aspect-ratio: 350/500;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

@media screen and (min-width: 768px) {
  .p-lp-list__info {
    width: calc(100% - 23.375rem);
  }
}

@media screen and (min-width: 768px) {
  .p-lp-festival .p-lp-list__info {
    width: calc(100% - 30.875rem);
  }
}

.p-lp-list__info-img p {
  font-size: 0.875rem;
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-lp-list__info-img p {
    font-size: 1rem;
  }
}

.p-lp-list__info time {
  display: block;
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  margin-bottom: 1rem;
  padding-bottom: 1rem;
  color: #333;
  border-bottom: 0.0625rem solid #333;
  letter-spacing: 0.05rem;
}
@media screen and (min-width: 768px) {
  .p-lp-list__info time {
    color: #292929;
    font-size: 1.25rem;
    margin-bottom: 1.5rem;
    padding-bottom: 1.5rem;
    letter-spacing: 0.0625rem;
  }
}

.p-lp-list__info > p {
  font-weight: 300;
  font-size: 0.875rem;
  color: #333;
  letter-spacing: 0.04375rem;
}
@media screen and (min-width: 768px) {
  .p-lp-list__info > p {
    font-weight: 600;
    font-size: 1.25rem;
    color: #292929;
    letter-spacing: 0.0625rem;
  }
}

.p-lp-list__info > p span {
  font-weight: 700;
}

.p-lp-list__info-box {
  margin-top: 1rem;
  padding: 1rem;
  background-color: #F4F4F4;
  border: 0.0625rem solid #333;
  border-radius: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-lp-list__info-box {
    margin-top: 1.5rem;
    padding-left: 1.875rem;
    padding-right: 1.875rem;
  }
}

.p-lp-list__info-box p {
  font-weight: 300;
  font-size: 0.75rem;
  color: #333;
  letter-spacing: 0.0375rem;
}
@media screen and (min-width: 768px) {
  .p-lp-list__info-box p {
    font-weight: 600;
    font-size: 1rem;
    color: #292929;
    letter-spacing: 0.05rem;
  }
}

.p-lp-btn {
  margin-top: 1rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-lp-btn {
    margin-top: 1.5rem;
    text-align: left;
  }
}

.p-lp-btn a {
  display: inline-block;
  font-weight: 600;
  font-size: 1rem;
  color: #fff;
  background-color: #333;
  line-height: 1.25rem;
  letter-spacing: 0.05rem;
  border-radius: 6.25rem;
  padding: 1rem 1.5rem;
}

.p-lp-festival .p-lp-btn a {
  background-color: #F5287D;
}

.p-lp-list.is-grayout {
  padding: 2rem 0.5rem 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-lp-list.is-grayout {
    padding: 3.75rem 1rem 1.5rem;
  }
}

.p-lp-list.is-grayout::after {
  position: absolute;
  content: "";
  width: 100%;
  height: 100%;
  top: 0;
  left: 50%;
  -webkit-transform: translateX(-50%);
          transform: translateX(-50%);
  background: rgba(40, 40, 40, .45);
}

.p-lp-list.is-grayout + .p-lp-list.is-grayout {
  margin-top: 0;
}

@media screen and (min-width: 768px) {
  .p-menu.l-section {
    margin-top: 6.875rem;
  }
}

.p-menu ul {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1rem;
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-menu ul {
    grid-template-columns: repeat(3, 1fr);
    gap: 1.375rem 1.25rem;
    margin-top: 3.5rem;
  }
}

.p-menu-roblox {
  /* この要素のみ全幅に設定 */
  grid-column: 1/-1;
}

.p-menu ul li a {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
      -ms-flex-direction: column;
          flex-direction: column;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  height: 9.125rem;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-menu ul li a {
    border: 2px solid #292929;
  }
}

.p-menu ul li a::after {
  position: absolute;
  content: "";
  width: 0.5625rem;
  height: 0.9375rem;
  top: 50%;
  right: 1.5rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon_arrow-black-toright.svg) no-repeat center/contain;
}

.p-menu ul li a img {
  margin-left: auto;
  margin-right: auto;
}

.p-menu ul li a p {
  font-weight: 600;
  font-size: 1.125rem;
  line-height: 28px;
  letter-spacing: 1.8px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-menu ul li a p {
    font-size: 1.25rem;
    letter-spacing: 2px;
  }
}

/* メニュー別スタイル
-----------------------------------------------------*/
.p-menu-roblox a {
  border: none !important;
}
.p-menu-roblox a::after {
  display: none;
}
.p-menu-roblox img {
  width: 100%;
  border-radius: 8px;
}
@media screen and (min-width: 768px) {
  .p-menu-roblox img {
    height: 100%;
    aspect-ratio: 1020/146;
    -o-object-fit: cover;
       object-fit: cover;
    border-radius: 16px;
  }
}

.p-menu ul li:nth-child(2) img {
  width: 3.25rem;
}
.p-menu ul li:nth-child(2) p {
  margin-top: 0.6875rem;
}

.p-menu ul li:nth-child(3) img {
  width: 3.3125rem;
}
.p-menu ul li:nth-child(3) p {
  margin-top: 0.5rem;
}

.p-menu ul li:nth-child(4) img {
  width: 2.5625rem;
}
.p-menu ul li:nth-child(4) p {
  margin-top: 0.9375rem;
}

.p-menu ul li:nth-child(5) img {
  width: 2.375rem;
}
.p-menu ul li:nth-child(5) p {
  margin-top: 0.8125rem;
}

.p-menu ul li:nth-child(6) img {
  width: 2.0625rem;
}
.p-menu ul li:nth-child(6) p {
  margin-top: 1rem;
}

.p-menu ul li:nth-child(7) img {
  width: 2.0625rem;
}
.p-menu ul li:nth-child(7) p {
  margin-top: 0.9375rem;
}

.p-news {
  margin-top: 2.5rem;
}

@media screen and (min-width: 768px) {
  .p-news-inner {
    max-width: 66.375rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5625rem;
    padding-right: 1.5625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-news-box {
    padding-left: 2.1875rem;
    padding-right: 2.1875rem;
    border: 2px solid #333;
    border-radius: 16px;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-news-box {
    padding-left: 1.75rem;
    padding-right: 1.75rem;
  }
}

/* p-news-top
-----------------------------------------------------*/
.p-news-top {
  border-top: 1px solid #333;
}
@media screen and (min-width: 768px) {
  .p-news-top {
    border-top: none;
    border-bottom: 1px solid #D6D6D6;
  }
}

.p-news-top a {
  display: block;
  padding: 1rem 1.09375rem;
}
@media screen and (min-width: 768px) {
  .p-news-top a {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding: 1.25rem 0 0.8125rem;
  }
}

.p-news-top a h2,
.p-news-top a p {
  font-size: 1rem;
}

.p-news-top a h2 {
  font-weight: 600;
  letter-spacing: 1.6px;
}

.p-news-top a p {
  font-weight: 300;
  margin-top: 0.25rem;
}
@media screen and (min-width: 768px) {
  .p-news-top a p {
    margin-top: 0;
    margin-left: 1.5rem;
  }
}

/* p-news-bottom
-----------------------------------------------------*/
.p-news-bottom {
  border-bottom: 1px solid #333;
}
@media screen and (min-width: 768px) {
  .p-news-bottom {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    padding-top: 1.25rem;
    padding-bottom: 0.9375rem;
    border: none;
  }
}

/* p-news-bottom__today
--------------------------*/
.p-news-bottom__today {
  font-weight: 600;
  font-size: 1rem;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-top: 1px solid #333;
  line-height: 32px;
  letter-spacing: 2.4px;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__today {
    padding-top: 0;
    padding-bottom: 0;
    border: none;
  }
}

.p-news-bottom__today span {
  font-size: 1.5rem;
  letter-spacing: 3.6px;
}

/* p-news-bottom__items
--------------------------*/
.p-news-bottom__items {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  padding-top: 1rem;
  padding-bottom: 1rem;
  border-top: 1px solid #333;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__items {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-top: 0;
    padding-bottom: 0;
    border: none;
  }
}

.p-news-bottom__item {
  position: relative;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    padding-left: 3.75rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-news-bottom__item {
    padding-left: 3.125rem;
  }
}

@media screen and (min-width: 768px) {
  .p-news-bottom__items:last-child .p-news-bottom__item {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .p-news-bottom__item::before {
    position: absolute;
    content: "";
    width: 1px;
    height: 3.5625rem;
    top: 50%;
    left: 1.875rem;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    background-color: #D6D6D6;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-news-bottom__item::before {
    left: 1.5625rem;
  }
}

@media screen and (max-width: 767px) {
  .p-news-bottom__item:nth-child(2) {
    padding-left: 4rem;
  }
}

.p-news-bottom__item:nth-child(2)::before {
  position: absolute;
  content: "";
  width: 1px;
  height: 4.875rem;
  top: 50%;
  left: 2rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background-color: #D6D6D6;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__item:nth-child(2)::before {
    height: 3.5625rem;
    left: 1.4375rem;
  }
}

.p-news-bottom__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__item-head {
    display: block;
  }
}

.p-news-bottom__item-head img {
  width: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__item-head img {
    margin-left: auto;
    margin-right: auto;
  }
}

.p-news-bottom__item:last-child .p-news-bottom__item-head img {
  width: 1.25rem;
}

.p-news-bottom__item-head p {
  font-weight: 600;
  font-size: 1rem;
  margin-left: 0.375rem;
  letter-spacing: 1.6px;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__item-head p {
    margin-top: 0.375rem;
    margin-left: 0;
  }
}

.p-news-bottom__item-body {
  margin-top: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__item-body {
    margin-top: 0;
    margin-left: 1rem;
  }
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-news-bottom__item-body {
    margin-left: 0.625rem;
  }
}

.p-news-bottom__item-body p {
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.8px;
}

.p-news-bottom__item:nth-child(1) .p-news-bottom__item-body p:nth-child(2) {
  font-weight: 300;
  font-size: 0.75rem;
  margin-top: 0.25rem;
  color: #7F7F7F;
  letter-spacing: 1.2px;
}

.p-news-bottom__item:nth-child(2) .p-news-bottom__item-body p:nth-child(2) {
  margin-top: 0.25rem;
}

.p-news-bottom__items:last-child .p-news-bottom__item-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-news-bottom__items:last-child .p-news-bottom__item-head p {
  margin-top: 0;
}

.p-news-bottom__items:last-child .p-news-bottom__item-head img {
  margin-left: 0;
  margin-right: 0.375rem;
}

@media screen and (min-width: 768px) {
  .p-news-bottom__items:last-child .p-news-bottom__item-body {
    margin-left: 0;
  }
}

.p-news-bottom__item-btn {
  margin-top: 0.5rem;
  text-align: center;
}

.p-news-bottom__item-btn a {
  display: inline-block;
  width: 9.6875rem;
  font-weight: 600;
  font-size: 0.875rem;
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  color: #fff;
  background-color: #333;
  letter-spacing: 1.4px;
  border-radius: 50px;
}
@media screen and (min-width: 768px) {
  .p-news-bottom__item-btn a {
    width: 8.75rem;
    padding-top: 0.375rem;
    padding-bottom: 0.375rem;
  }
}

/* 休館日カレンダー
-----------------------------------------------------*/
.p-news-calendar {
  padding: 1rem;
  border-top: 0.0625rem solid #333;
}
@media screen and (min-width: 768px) {
  .p-news-calendar {
    padding-left: 0;
    padding-right: 0;
    padding-bottom: 0;
    border-top: 0.0625rem solid #D6D6D6;
  }
}

.p-news-calendar__title {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 0.1rem;
}
@media screen and (min-width: 768px) {
  .p-news-calendar__title {
    -webkit-box-pack: start;
        -ms-flex-pack: start;
            justify-content: start;
  }
}

.p-news-calendar__wrap {
  margin-top: 0.5rem;
  background-color: #fff;
  border: 0.0625rem solid #D6D6D6;
  border-radius: 0.5rem;
  overflow: hidden;
}
@media screen and (min-width: 768px) {
  .p-news-calendar__wrap {
    margin-top: 1rem;
  }
}

.p-news-calendar__grid {
  display: grid;
  grid-template-columns: repeat(7, 1fr);
}

.p-news-calendar__cell {
  padding-top: 0.5rem;
  padding-bottom: 0.5rem;
  border-right: 0.0625rem solid #D6D6D6;
  text-align: center;
}

.p-news-calendar__cell:nth-child(7) {
  border-right: none;
}

.p-news-calendar__dow {
  font-weight: 600;
  font-size: 0.875rem;
  letter-spacing: 0.0875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-news-calendar__dow {
    font-size: 1rem;
    letter-spacing: 0.1rem;
  }
}

.p-news-calendar__day {
  font-weight: 600;
  font-size: 0.875rem;
  margin-top: 0.5rem;
  padding-top: 0.1875rem;
  border-top: 0.0625rem solid #D6D6D6;
  letter-spacing: 0.0875rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-news-calendar__day {
    font-size: 1rem;
    padding-top: 0.5rem;
    letter-spacing: 0.1rem;
  }
}

.p-news-calendar__mark {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  height: 2rem;
  margin-top: 0.3125rem;
  padding-left: 0.5rem;
  padding-right: 0.5rem;
}
@media screen and (min-width: 768px) {
  .p-news-calendar__mark {
    margin-top: 0;
  }
}

/* Open: ピンク丸 */
.p-news-calendar__dot {
  display: inline-block;
  width: 2rem;
  height: 2rem;
  background-color: #F5287D;
  border-radius: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-news-calendar__dot {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* Closed: Closed */
.p-news-calendar__closedMark {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-size: 1rem;
  width: 2rem;
  height: 2rem;
  color: #fff;
  background-color: #333;
  letter-spacing: 0.1rem;
  border-radius: 6.25rem;
}
@media screen and (min-width: 768px) {
  .p-news-calendar__closedMark {
    width: 1.5rem;
    height: 1.5rem;
  }
}

/* Closedセルの背景 */
.p-news-calendar__cell.is-closed {
  background-color: #D6D6D6;
}

/* Legend */
.p-news-calendar__legend {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: end;
      -ms-flex-pack: end;
          justify-content: end;
  gap: 0.5rem;
  font-weight: 600;
  font-size: 1rem;
  margin-top: 0.5rem;
  letter-spacing: 0.1rem;
}

.p-news-calendar__legend .p-news-calendar__dot,
.p-news-calendar__legend .p-news-calendar__c {
  width: 1.375rem;
  height: 1.375rem;
  font-size: 0.875rem;
  letter-spacing: 0.0875rem;
}

.p-news-calendar__legendItem {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  gap: 0.25rem;
}

/* SP用 C マーク */
.p-news-calendar__c {
  display: -webkit-inline-box;
  display: -ms-inline-flexbox;
  display: inline-flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-weight: 600;
  font-size: 1.125rem;
  width: 2rem;
  height: 2rem;
  color: #fff;
  background-color: #333;
  letter-spacing: 0.1125rem;
  border-radius: 6.25rem;
}

/* 休館日
-----------------------------------------------------*/
.p-news-bottom__item:nth-child(2) .p-news-bottom__item-btn a {
  width: 8.5rem;
}

/* 直近3か月の休館日
--------------------------*/
.p-news-closed {
  padding: 1rem;
  border-bottom: 0.0625rem solid #333;
  border-top: 0.0625rem solid #D6D6D6;
}
@media screen and (min-width: 768px) {
  .p-news-closed {
    padding-top: 0.9375rem;
    padding-bottom: 1.25rem;
    border-top: none;
    border-bottom: none;
  }
}

.p-news-closed p:nth-child(1) {
  font-weight: 600;
  font-size: 1rem;
  letter-spacing: 1.6px;
}

.p-news-closed p:nth-child(2),
.p-news-closed p:nth-child(3) {
  font-weight: 300;
  font-size: 0.875rem;
  margin-top: 0.5rem;
  letter-spacing: 1.4px;
}
@media screen and (min-width: 768px) {
  .p-news-closed p:nth-child(2),
  .p-news-closed p:nth-child(3) {
    margin-top: 0.28125rem;
  }
}

/* 他言語時レイアウト
-----------------------------------------------------*/
@media screen and (min-width: 768px) {
  html[lang=en-US] .p-news-inner,
  html[lang=fr-FR] .p-news-inner,
  html[lang=ko-KR] .p-news-inner {
    max-width: 78.125rem;
  }
}
html[lang=en-US] .p-news-bottom,
html[lang=fr-FR] .p-news-bottom,
html[lang=ko-KR] .p-news-bottom {
  -ms-flex-pack: distribute;
      justify-content: space-around;
}
@media screen and (max-width: 767px) {
  html[lang=en-US] .p-news-bottom__item:first-child,
  html[lang=fr-FR] .p-news-bottom__item:first-child,
  html[lang=ko-KR] .p-news-bottom__item:first-child {
    width: 9.875rem;
  }
}
@media screen and (max-width: 767px) {
  html[lang=en-US] .p-news-bottom__item:last-child,
  html[lang=fr-FR] .p-news-bottom__item:last-child,
  html[lang=ko-KR] .p-news-bottom__item:last-child {
    width: calc(100% - 9.875rem);
    padding-left: 1.25rem;
  }
}
html[lang=en-US] .p-news-bottom__item::before,
html[lang=fr-FR] .p-news-bottom__item::before,
html[lang=ko-KR] .p-news-bottom__item::before {
  left: 0.625rem;
}

.p-notice-items {
  margin-top: 1.5rem;
  padding: 1rem;
  background-color: #fff;
  border: 2px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-notice-items {
    margin-top: 3.5rem;
    padding: 3.75rem;
  }
}

.p-notice-item a {
  display: block;
}

.p-notice-item:not(:last-child) a {
  padding-bottom: 1.5rem;
}

.p-notice-item + .p-notice-item a {
  padding-top: 1.5rem;
  border-top: 1px solid #D6D6D6;
}

.p-notice-item time {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 1.6px;
}

.p-notice-item h3 {
  font-weight: 600;
  font-size: 1rem;
  margin-top: 0.5rem;
  letter-spacing: 0.8px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 5;
}
@media screen and (min-width: 768px) {
  .p-notice-item h3 {
    font-size: 1.25rem;
    letter-spacing: 1px;
    -webkit-line-clamp: 2;
  }
}

/* トップ
-----------------------------------------------------*/
@media screen and (min-width: 768px) {
  .p-overview-top .l-inner {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.p-overview-top img {
  width: 16.125rem;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) {
  .p-overview-top img {
    width: 22rem;
    margin-left: 5rem;
    margin-right: 0;
  }
}

.p-overview-top p {
  font-weight: 600;
  font-size: 1rem;
  margin-top: 1.5rem;
  line-height: 32px;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-overview-top p {
    font-size: 1.125rem;
    margin-top: 0;
    letter-spacing: 0.9px;
  }
}

/* フロアマップ
-----------------------------------------------------*/
.p-overview-map {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-overview-map {
    margin-top: 5rem;
  }
}

.p-overview-map__contents {
  width: 100%;
  margin-top: 1.5rem;
  padding-left: 1rem;
  padding-right: 1rem;
}
@media screen and (min-width: 768px) {
  .p-overview-map__contents {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: vertical;
    -webkit-box-direction: reverse;
        -ms-flex-direction: column-reverse;
            flex-direction: column-reverse;
    max-width: 54.625rem;
    margin-top: 3.5rem;
    margin-left: auto;
    margin-right: auto;
    padding-left: 1.5625rem;
    padding-right: 1.5625rem;
  }
}

.p-overview-map__tab {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
}
@media screen and (min-width: 768px) {
  .p-overview-map__tab {
    margin-top: 2rem;
  }
}

.p-overview-map__tab p {
  font-size: 1.125rem;
  font-weight: 600;
  padding: 0.375rem 0.5625rem;
  background-color: #fff;
  border: 2px solid #292929;
  border-radius: 100px;
  line-height: 32px;
  letter-spacing: 1.8px;
  text-align: center;
  cursor: pointer;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 768px) {
  .p-overview-map__tab p {
    font-size: 1.5rem;
    padding: 0.6875rem 0.625rem;
    letter-spacing: 2.4px;
  }
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  .p-overview-map__tab p {
    padding-left: 0.9375rem;
    padding-right: 0.9375rem;
  }
}

.p-overview-map__tab p.is-active,
.p-overview-map__tab p:hover {
  color: #fff;
  background-color: #292929;
}

.p-overview-map__tab p + p {
  margin-left: 1rem;
}

@media screen and (min-width: 768px) {
  .p-overview-map__items {
    max-width: 39.8125rem;
    margin-left: auto;
    margin-right: auto;
  }
}

.p-overview-map__item {
  display: none;
}

.p-overview-map__item.is-active {
  display: block;
}

.p-overview__slide {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-overview__slide {
    position: relative;
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-overview__slide-tab {
    position: absolute;
    content: "";
    width: 100%;
    height: 100%;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
  }
}

@media screen and (min-width: 768px) {
  .p-overview__slide-tab p {
    position: absolute;
    content: "";
    width: 3.625rem;
    height: 3.625rem;
    top: 50%;
    -webkit-transform: translateY(-50%);
            transform: translateY(-50%);
    cursor: pointer;
  }
}

@media screen and (min-width: 768px) {
  .p-overview__slide-tab p:nth-child(1) {
    left: -5.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-overview__slide-tab p:nth-child(2) {
    -webkit-transform: translateY(-50%) rotate(180deg);
            transform: translateY(-50%) rotate(180deg);
    right: -5.625rem;
  }
}

.p-overview-map__item nav {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-overview-map__item nav {
    margin-top: 2rem;
  }
}

.p-overview-map__item ul + ul {
  margin-top: 2rem;
}

.p-overview-map__item ul li h3 {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: center;
      -ms-flex-align: center;
          align-items: center;
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 32px;
  letter-spacing: 2.4px;
}

.p-overview-map__item ul li h3 span {
  display: inline-block;
  margin-right: 0.75rem;
  padding: 0.4375rem 0.8125rem;
  color: #fff;
  background-color: #F5287D;
  border-radius: 100px;
  text-align: center;
}
@media screen and (min-width: 768px) and (max-width: 900px) {
  .p-overview-map__item ul li h3 span {
    padding-left: 1.125rem;
    padding-right: 1.125rem;
  }
}

.p-overview-map__item--1f ul li h3 span {
  color: #292929;
  background-color: #FFE400;
}

.p-overview-map__item--b1f ul li h3 span {
  background-color: #00B37D;
}

@media screen and (min-width: 768px) {
  .p-overview-map__item ul li:nth-child(2) {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    margin-top: 1rem;
  }
}

.p-overview-map__item ul li:nth-child(2) img {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-overview-map__item ul li:nth-child(2) img {
    width: 14.75rem;
    margin-top: 0;
  }
}

.p-overview-map__item ul li:nth-child(2) p {
  font-weight: 300;
  font-size: 1rem;
  margin-top: 1.5rem;
  line-height: 32px;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-overview-map__item ul li:nth-child(2) p {
    width: calc(100% - 14.75rem);
    margin-top: 0;
    margin-left: 1.5rem;
  }
}

/* 施設概要
-----------------------------------------------------*/
.p-overview-info {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-overview-info {
    margin-top: 5rem;
  }
}

.p-overview-info__items {
  margin-top: 1.5rem;
  padding: 1.5rem;
  background-color: #fff;
  -webkit-box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, .15);
          box-shadow: 0px 2px 10px 0px rgba(0, 0, 0, .15);
  border: 1px solid rgba(0, 0, 0, .1);
  border-radius: 23px;
}
@media screen and (min-width: 768px) {
  .p-overview-info__items {
    margin-top: 3.5rem;
    padding: 3.75rem;
  }
}

.p-overview-info__item {
  padding-bottom: 1.5rem;
  border-bottom: 1px solid rgba(6, 36, 120, .2);
}
@media screen and (min-width: 768px) {
  .p-overview-info__item {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    padding-bottom: 0;
    border: none;
  }
}

.p-overview-info__item + .p-overview-info__item {
  margin-top: 1.5rem;
}

.p-overview-info__item dt,
.p-overview-info__item dd {
  font-size: 1rem;
  color: #1B1D24;
}
@media screen and (min-width: 768px) {
  .p-overview-info__item dt,
  .p-overview-info__item dd {
    padding-bottom: 1.5rem;
  }
}

.p-overview-info__item dt {
  font-weight: 500;
}
@media screen and (min-width: 768px) {
  .p-overview-info__item dt {
    width: 7.5rem;
    border-bottom: 1px solid #333;
  }
}

.p-overview-info__item dd {
  font-weight: 400;
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-overview-info__item dd {
    width: calc(100% - 7.5rem);
    margin-top: 0;
    margin-left: 1.5rem;
    border-bottom: 1px solid rgba(6, 36, 120, .2);
  }
}

/* お申込みページボタン
-----------------------------------------------------*/
.p-overview-btn {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-overview-btn {
    margin-top: 4rem;
  }
}

.p-overview-btn ul {
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-overview-btn ul {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}

.p-overview-btn ul li + li {
  margin-top: 1rem;
}
@media screen and (min-width: 768px) {
  .p-overview-btn ul li + li {
    margin-top: 0;
    margin-left: 2rem;
  }
}

.p-overview-btn ul li a {
  display: inline-block;
  width: 100%;
  padding: 1.5rem;
  background-color: #333;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-overview-btn ul li a {
    width: 30.625rem;
    padding-top: 1.25rem;
    padding-bottom: 1.25rem;
  }
}

.p-overview-btn ul li a p {
  font-size: 1rem;
  color: #fff;
  letter-spacing: 1.6px;
}

.p-overview-btn ul li a p:nth-child(1) {
  font-weight: 600;
}
@media screen and (min-width: 768px) {
  .p-overview-btn ul li a p:nth-child(1) {
    font-size: 1.210875rem;
    letter-spacing: 1.937px;
  }
}

.p-overview-btn ul li a p:nth-child(2) {
  font-weight: 300;
  margin-top: 0.5rem;
}

@media screen and (min-width: 768px) {
  .p-qa .l-inner {
    max-width: 79.125rem;
  }
}

/* p-qa-head
-----------------------------------------------------*/
.p-qa-head {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-qa-head {
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
    gap: 1rem;
    margin-top: 3.5rem;
  }
}

.p-qa-head button {
  font-weight: 700;
  font-size: 1.125rem;
  padding: 0.5rem 1rem;
  color: #333;
  border: 1px solid #333;
  line-height: 27.416px;
  letter-spacing: 0.9px;
  border-radius: 27.416px;
  text-align: center;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}
@media screen and (min-width: 768px) {
  .p-qa-head button {
    font-weight: 600;
    font-size: 1.3708125rem;
    padding: 0.6875rem 2rem;
    border: 2px solid #333;
    letter-spacing: 1.097px;
  }
}

.p-qa-head button:hover,
.p-qa-head button.is-active {
  color: #fff;
  background-color: #333;
  opacity: 1;
}

/* p-qa-content
-----------------------------------------------------*/
.p-qa-content {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-qa-content {
    grid-template-columns: repeat(2, 1fr);
    margin-top: 2.5rem;
  }
}

.p-qa-content li {
  height: -webkit-fit-content;
  height: -moz-fit-content;
  height: fit-content;
  padding: 1.5rem 2.9375rem 1.5rem 1.5rem;
  background-color: #fff;
  border: 0.935px solid rgba(0, 0, 0, .1);
  -webkit-box-shadow: 0px 1.869px 9.347px 0px rgba(0, 0, 0, .15);
          box-shadow: 0px 1.869px 9.347px 0px rgba(0, 0, 0, .15);
  border-radius: 21.497px;
  cursor: pointer;
}
@media screen and (min-width: 768px) {
  .p-qa-content li {
    padding: 1.875rem 2.9375rem 1.875rem 1.375rem;
  }
}

.p-qa-q {
  position: relative;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.p-qa-q::after {
  position: absolute;
  content: "";
  width: 1.375rem;
  height: 1.375rem;
  top: 50%;
  right: -1.5625rem;
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url(../images/icon_arrow-black-tobottom--qa.svg) no-repeat center/contain;
  -webkit-transition: all 0.3s;
  transition: all 0.3s;
}

.p-qa-content li.is-open .p-qa-q::after {
  -webkit-transform: translateY(-50%) rotate(-180deg);
          transform: translateY(-50%) rotate(-180deg);
}

.p-qa-q p:nth-child(1),
.p-qa-a__flex p:nth-child(1) {
  width: 1.875rem;
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 700;
  font-size: 1.5rem;
  color: #333;
}

.p-qa-q p:nth-child(2),
.p-qa-a__flex p:nth-child(2) {
  width: calc(100% - 1.875rem);
  font-weight: 600;
  font-size: 1rem;
  margin-left: 0.4375rem;
  color: #15363E;
  letter-spacing: 0.8px;
}

.p-qa-a {
  padding-top: 0.75rem;
  display: none;
}

.p-qa-a__flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: baseline;
      -ms-flex-align: baseline;
          align-items: baseline;
}

.p-qa-a__flex p:nth-child(1) {
  font-size: 1.25rem;
}

.p-qa-a__flex p:nth-child(2) {
  font-size: 0.875rem;
  margin-left: 0.75rem;
}

@media screen and (min-width: 768px) {
  .p-report.l-section {
    margin-top: 7.25rem;
  }
}

.p-report-swiper__wrap {
  position: relative;
  max-width: calc(31.25rem + 32px);
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}
@media screen and (min-width: 768px) and (max-width: 1200px) {
  .p-report-swiper__wrap {
    padding-left: 5rem;
    padding-right: 5rem;
  }
}
@media screen and (min-width: 768px) {
  .p-report-swiper__wrap {
    max-width: 75rem;
  }
}

.p-report-swiper {
  margin-top: 1.5625rem;
}
@media screen and (min-width: 768px) {
  .p-report-swiper {
    max-width: 63.375rem;
    margin-top: 3.625rem;
  }
}

.p-report-swiper .swiper-slide {
  height: auto;
}

.p-report-swiper a {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  -webkit-box-pack: start;
      -ms-flex-pack: start;
          justify-content: start;
  height: 100%;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-report-swiper a {
    border: 2px solid #292929;
  }
}

.p-report-swiper__img {
  border-radius: 14px 14px 0 0;
  overflow: hidden;
}

.p-report-swiper__img img {
  width: auto;
  height: 13.625rem;
  margin-left: auto;
  margin-right: auto;
  -webkit-transition: all 0.2s;
  transition: all 0.2s;
}

.p-report-swiper__body {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
  padding: 1.5rem;
  background-color: #fff;
  border-radius: 0 0 16px 16px;
}

.p-report-swiper__body h3 {
  font-weight: 600;
  font-size: 1.125rem;
  margin-top: 0.75rem;
  letter-spacing: 0.9px;
  overflow: hidden;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 6;
}

.p-report-swiper__info p {
  font-size: 1rem;
  letter-spacing: 1.6px;
}

.p-report-swiper__info p:nth-child(1) {
  display: inline-block;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 700;
  padding-left: 1.375rem;
  padding-right: 1.375rem;
  color: #333;
  background-color: #fff;
  border: 1px solid #333;
  border-radius: 4px;
  line-height: normal;
  line-height: initial;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-report-swiper__info p:nth-child(1) {
    border: 2px solid #333;
  }
}

.p-report-swiper__info p:nth-child(2) {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  margin-top: 0.75rem;
}

/* ナビゲーション
-----------------------------------------------------*/
@media screen and (min-width: 768px) {
  .p-report-swiper__wrap .swiper-button-prev,
  .p-report-swiper__wrap .swiper-button-next {
    width: 3.625rem;
  }
}

@media screen and (min-width: 768px) {
  .p-report-swiper__wrap .swiper-button-next {
    -webkit-transform: rotate(180deg);
            transform: rotate(180deg);
  }
}

.p-report .c-btn {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-report .c-btn {
    margin-top: 2rem;
  }
}

/* ホバー挙動
-----------------------------------------------------*/
.p-report-swiper a:hover img {
  -webkit-transform: scale(110%);
          transform: scale(110%);
}

.p-roblox {
  padding-bottom: 3rem;
}
@media screen and (min-width: 768px) {
  .p-roblox {
    padding-bottom: 5rem;
  }
}

.p-roblox h3 {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 32px;
  letter-spacing: 2.4px;
}

.p-roblox p {
  font-weight: 300;
  font-size: 0.875rem;
  margin-top: 0.75rem;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-roblox p {
    font-size: 1rem;
    line-height: 28px;
  }
}

.p-roblox-post {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-post {
    margin-top: 5rem;
  }
}

.p-roblox-post__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.125rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-post__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 3rem 2.5rem;
    margin-top: 2.5rem;
  }
}

.p-roblox-post__items--top {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-post__items--top {
    margin-top: 3.5rem;
  }
}

.p-roblox-post__item-pc {
  display: none;
}
@media screen and (min-width: 768px) {
  .p-roblox-post__item-pc {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
    -webkit-box-align: start;
        -ms-flex-align: start;
            align-items: start;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}

.p-roblox-post__item-sp {
  display: block;
}
@media screen and (min-width: 768px) {
  .p-roblox-post__item-sp {
    display: none;
  }
}

.p-roblox-post__item,
.p-roblox-post__item a {
  display: inline-block;
  padding: 1.5rem;
  background-color: #fff;
  border: 1px solid #292929;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-roblox-post__item,
  .p-roblox-post__item a {
    padding: 1.25rem;
  }
}

.p-roblox-post__item--top {
  padding: 0;
  border: none;
  border-radius: 0;
}

@media screen and (min-width: 768px) {
  .p-roblox-post__item-text {
    width: calc(100% - 11.125rem);
    margin-left: 1.5rem;
  }
}

.p-roblox-post__item-flex {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-align: start;
      -ms-flex-align: start;
          align-items: start;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: reverse;
      -ms-flex-direction: row-reverse;
          flex-direction: row-reverse;
  margin-top: 1rem;
}

.p-roblox-post__item time {
  font-family: "FuturaProMedium", sans-serif;
  font-weight: 500;
  font-size: 1rem;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-roblox-post__item time {
    letter-spacing: 1.6px;
  }
}

.p-roblox-post__item h3 {
  font-size: 1.125rem;
  width: calc(100% - 7.25rem);
  margin-left: 1rem;
  letter-spacing: 0.9px;
}
@media screen and (min-width: 768px) {
  .p-roblox-post__item h3 {
    font-size: 1.25rem;
    width: 100%;
    margin-top: 0.625rem;
    margin-left: 0;
    letter-spacing: 1px;
  }
}

.p-roblox-post__item img {
  width: 6.25rem;
  aspect-ratio: 100/141;
  -o-object-fit: cover;
     object-fit: cover;
}
@media screen and (min-width: 768px) {
  .p-roblox-post__item img {
    width: 9.625rem;
    aspect-ratio: 154/218;
  }
}

.p-roblox-post .c-btn {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-post .c-btn {
    margin-top: 3rem;
  }
}

.p-roblox-top {
  margin-top: 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-roblox-top {
    margin-top: 5rem;
  }
}

.p-roblox-top p {
  font-weight: 700;
  font-size: 1.25rem;
  color: #ff0000;
}
@media screen and (min-width: 768px) {
  .p-roblox-top p {
    font-size: 1.5rem;
  }
}

.p-roblox-fv img {
  width: 100%;
  margin-left: auto;
  margin-right: auto;
}

.p-roblox-flex {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 5rem;
  }
}

@media screen and (min-width: 768px) {
  .p-roblox-flex img {
    width: calc(50% - 1.5rem);
  }
}

.p-roblox-flex__text {
  margin-top: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-flex__text {
    margin-top: 0;
    margin-left: 1.5rem;
  }
}

.p-roblox-theme {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-theme {
    margin-top: 5rem;
  }
}

.p-roblox-theme h3 {
  margin-top: 1.5rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-roblox-theme h3 {
    margin-top: 0;
  }
}

@media screen and (min-width: 768px) {
  .p-roblox-theme__flex {
    display: -webkit-box;
    display: -ms-flexbox;
    display: flex;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    margin-top: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .p-roblox-theme__flex img {
    width: calc(50% - 1.5rem);
  }
}

@media screen and (min-width: 768px) {
  .p-roblox-theme__flex p {
    margin-right: 1.5rem;
  }
}

.p-roblox-operation {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-operation {
    margin-top: 5rem;
  }
}

.p-roblox-operation__box + .p-roblox-operation__box {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-operation__box + .p-roblox-operation__box {
    margin-top: 5rem;
  }
}

.p-roblox-operation h3 {
  text-align: center;
}

.p-roblox-operation__items {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1rem;
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-operation__items {
    grid-template-columns: repeat(2, 1fr);
    gap: 1.5rem;
    margin-top: 2rem;
  }
}

.p-roblox-btn {
  margin-top: 3rem;
  text-align: center;
}
@media screen and (min-width: 768px) {
  .p-roblox-btn {
    margin-top: 5rem;
  }
}

.p-roblox-btn a {
  display: inline-block;
  width: 100%;
  font-family: "hiragino-kaku-gothic-pron", sans-serif;
  font-weight: 700;
  font-size: 1.125rem;
  padding-top: 1.25rem;
  padding-bottom: 1.25rem;
  color: #fff;
  background-color: #F5287D;
  letter-spacing: 1.6px;
  border-radius: 16px;
}
@media screen and (min-width: 768px) {
  .p-roblox-btn a {
    width: 40.625rem;
    font-size: 1.5rem;
    padding-top: 1.875rem;
    padding-bottom: 1.875rem;
    letter-spacing: 2px;
  }
}

.p-roblox-info {
  margin-top: 3rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-info {
    margin-top: 5rem;
  }
}

.p-roblox-info dl {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
}

.p-roblox-info dl + dl {
  margin-top: 0.75rem;
}

.p-roblox-info dt,
.p-roblox-info dd {
  font-size: 0.875rem;
  margin-top: 0.75rem;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-roblox-info dt,
  .p-roblox-info dd {
    font-size: 1rem;
  }
}

.p-roblox-info dt {
  width: 8.125rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-info dt {
    width: 8.4375rem;
  }
}

.p-roblox-info dd {
  width: calc(100% - 8.875rem);
  margin-left: 0.75rem;
}
@media screen and (min-width: 768px) {
  .p-roblox-info dd {
    width: calc(100% - 9.9375rem);
    margin-left: 1.5rem;
  }
}

.p-roblox-info__title {
  font-weight: 600;
}

.p-roblox-info dd a {
  color: #42aafd;
  text-decoration: underline;
}

@media screen and (min-width: 768px) {
  .p-terms .l-inner {
    max-width: 66.5rem;
  }
}

.p-terms .c-title {
  padding-left: 1rem;
  padding-right: 1rem;
}

.p-terms-content {
  margin-top: 2rem;
}
@media screen and (min-width: 768px) {
  .p-terms-content {
    margin-top: 3.5rem;
  }
}

.p-terms-items {
  margin-top: 1.5rem;
}

.p-terms-item + .p-terms-item {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-terms-item + .p-terms-item {
    margin-top: 2.5rem;
  }
}

.p-terms-item h2,
.p-terms-item h3,
.p-terms-item h4 {
  font-weight: 600;
  font-size: 1.5rem;
  line-height: 32px;
  letter-spacing: 2.4px;
}

.p-terms-item p {
  font-weight: 300;
  font-size: 1rem;
  margin-top: 1rem;
  line-height: 32px;
  letter-spacing: 0.8px;
}

.p-terms-item ol {
  padding-left: 2.5rem;
}

.p-terms-item ol li {
  list-style-type: decimal;
}

.p-terms-item--marker li::marker {
  font-weight: 600;
  font-size: 1.5rem;
}

.p-terms-item ul {
  margin-top: 1rem;
  padding-left: 2.5rem;
}

.p-terms-item ul li {
  list-style-type: disc;
}

.p-terms-item li {
  line-height: 2;
}

.p-terms-item li ul {
  margin-top: 0;
}

.p-terms-item ol li h3 + p {
  margin-top: 0;
}

.p-terms-item h4,
.p-terms-item li h3,
.p-terms-item p + h3,
.p-terms-item ul + h3 {
  margin-top: 1rem;
}

.p-terms-item a {
  text-decoration: underline;
}

.p-workflow-items {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-workflow-items {
    margin-top: 3.5rem;
  }
}

.p-workflow-item {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: reverse;
      -ms-flex-direction: column-reverse;
          flex-direction: column-reverse;
}
@media screen and (min-width: 768px) {
  .p-workflow-item {
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-direction: row;
            flex-direction: row;
  }
}

@media screen and (min-width: 768px) {
  .p-workflow-item:nth-child(2n-1) {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: reverse;
        -ms-flex-direction: row-reverse;
            flex-direction: row-reverse;
  }
}

.p-workflow-item + .p-workflow-item {
  margin-top: 2.5rem;
}
@media screen and (min-width: 768px) {
  .p-workflow-item + .p-workflow-item {
    margin-top: 2rem;
  }
}

.p-workflow-item p {
  font-weight: 300;
  font-size: 1rem;
  margin-top: 1.5rem;
  line-height: 32px;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-workflow-item p {
    margin-top: 0;
    margin-left: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .p-workflow-item:nth-child(2n) p {
    margin-left: 0;
    margin-right: 2rem;
  }
}

@media screen and (min-width: 768px) {
  .p-workflow-item img {
    width: 30rem;
    aspect-ratio: 480/320;
    -o-object-fit: cover;
       object-fit: cover;
  }
}

.p-workflow-text {
  font-weight: 300;
  font-size: 1rem;
  margin-top: 2.5rem;
  line-height: 32px;
  letter-spacing: 0.8px;
}
@media screen and (min-width: 768px) {
  .p-workflow-text {
    margin-top: 2rem;
  }
}

.p-workflow .c-btn {
  margin-top: 1.5rem;
}
@media screen and (min-width: 768px) {
  .p-workflow .c-btn {
    margin-top: 3.5rem;
  }
}

.u-desktop {
  display: none;
}
@media screen and (min-width: 768px) {
  .u-desktop {
    display: block;
  }
}

.u-header-change-position--pc {
  display: none;
}
@media screen and (min-width: 1180px) {
  .u-header-change-position--pc {
    display: block;
  }
}

.u-header-change-position--sp {
  display: none;
}
@media screen and (max-width: 1179px) {
  .u-header-change-position--sp {
    display: block;
  }
}

@media screen and (min-width: 768px) {
  .u-mobile {
    display: none;
  }
}
/*# sourceMappingURL=styles.css.map */
