@charset "UTF-8";
/*----------------------------------------------------------
  VARIABLES
----------------------------------------------------------*/
/*----------------------------------------------------------
  MIXIN
----------------------------------------------------------*/
/* CUSTOM
https://css-tricks.com/snippets/sass/fix-number-n-digits/
  * Làm tròn về 3 số thập phân
  * khi giá trị px có quá nhiều số thập phân, ví dụ 4.03422px),
  * Trình duyệt có thể render ra các line trắng/hở do anti-aliasing hoặc rounding / float precision. Để khắc phục, bạn nên làm tròn số thập phân về 2 chữ số (hoặc tối đa 3) khi tính toán kích thước trong SCSS
*/
.page-8th {
  margin-bottom: 0 !important;
  overflow-x: hidden;
  color: #1E1E1E;
  background-color: #FFFCE0;
}
@media (min-width: 751px) {
  .page-8th .only-sp {
    display: none;
  }
}
@media (max-width: 750px) {
  .page-8th .only-pc {
    display: none;
  }
}
.page-8th .font-en {
  font-family: "Lato", "Noto Sans JP", sans-serif;
}
.page-8th img {
  max-width: 100%;
  height: auto;
}
.page-8th img[loading=lazy] {
  display: inline-block;
}
@media (max-width: 750px) {
  .page-8th img {
    width: 100%;
  }
}
.page-8th .txt-red {
  color: #E60012;
}
.page-8th .txt-center {
  text-align: center;
}
.page-8th .txt-link {
  color: #E60012;
  text-decoration: underline;
}
@media (min-width: 751px) and (hover: hover) {
  .page-8th .txt-link:hover {
    text-decoration: none;
  }
}
.page-8th .txt-note {
  padding-left: min(16px, 1.111vw);
  text-indent: max(-16px, -1.111vw);
  font-size: min(14px, 0.972vw);
  line-height: 150%;
}
.page-8th .txt-note + .txt-note {
  margin-top: min(8px, 0.556vw);
}
.page-8th .txt-note span:first-of-type {
  margin-right: min(4px, 0.278vw);
}
@media (max-width: 750px) {
  .page-8th .txt-note {
    margin-top: 1.8666666667vw;
    font-size: 3.2vw;
    padding-left: 4.2666666667vw;
    text-indent: -4.2666666667vw;
    line-height: 160%;
  }
  .page-8th .txt-note span:first-of-type {
    margin-right: 1.0666666667vw;
  }
  .page-8th .txt-note + .txt-note {
    margin-top: 1.0666666667vw;
  }
}

/*----------------------------------------------------------
  CAMPAIGN
----------------------------------------------------------*/
.campaign {
  padding: 10.6666666667vw 5.3333333333vw;
  background-color: #E60012;
}
@media (max-width: 750px) {
  .campaign {
    min-height: 97.8666666667vw;
  }
}
@media (min-width: 751px) {
  .campaign {
    padding: min(40px, 2.778vw) min(20px, 1.389vw);
    min-height: min(373px, 25.903vw);
  }
}
.campaign__link {
  display: block;
}
.campaign__img {
  margin-inline: auto;
  width: 80vw;
}
@media (min-width: 751px) {
  .campaign__img {
    width: min(277px, 19.236vw);
  }
}

/*----------------------------------------------------------
  ANIMATION
----------------------------------------------------------*/
@-webkit-keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
@keyframes fadeIn {
  0% {
    opacity: 0;
  }
  to {
    opacity: 1;
  }
}
.animate__fadeIn {
  -webkit-animation-name: fadeIn;
          animation-name: fadeIn;
}

@-webkit-keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}

@keyframes fadeInUp {
  0% {
    opacity: 0;
    -webkit-transform: translate3d(0, 100%, 0);
            transform: translate3d(0, 100%, 0);
  }
  to {
    opacity: 1;
    -webkit-transform: translateZ(0);
            transform: translateZ(0);
  }
}
.animate__fadeInUp {
  -webkit-animation-name: fadeInUp;
          animation-name: fadeInUp;
}

@-webkit-keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}

@keyframes flash {
  0%, 50%, to {
    opacity: 1;
  }
  25%, 75% {
    opacity: 0;
  }
}
.animate__flash {
  -webkit-animation-name: flash;
          animation-name: flash;
}

@-webkit-keyframes pulse {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}

@keyframes pulse {
  0% {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
  50% {
    -webkit-transform: scale3d(1.05, 1.05, 1.05);
            transform: scale3d(1.05, 1.05, 1.05);
  }
  to {
    -webkit-transform: scaleX(1);
            transform: scaleX(1);
  }
}
.animate__pulse {
  -webkit-animation-name: pulse;
          animation-name: pulse;
  -webkit-animation-timing-function: ease-in-out;
          animation-timing-function: ease-in-out;
}

.js-aos {
  --aos-duration: 0.6s;
  --aos-delay: 1s;
  --aos-repeat: 1;
  -webkit-animation-fill-mode: both;
          animation-fill-mode: both;
}
.js-aos.animated {
  -webkit-animation-duration: var(--aos-duration, 0.6s);
          animation-duration: var(--aos-duration, 0.6s);
}
.js-aos[data-aos-delay="0.5s"] {
  -webkit-animation-delay: 0.5s;
          animation-delay: 0.5s;
}
.js-aos[data-aos-delay="1s"] {
  -webkit-animation-delay: 1s;
          animation-delay: 1s;
}
.js-aos[data-aos-delay="1.5s"] {
  -webkit-animation-delay: 1.5s;
          animation-delay: 1.5s;
}
.js-aos[data-aos-delay="2s"] {
  -webkit-animation-delay: 2s;
          animation-delay: 2s;
}
.js-aos[data-aos-delay="2.5s"] {
  -webkit-animation-delay: 2.5s;
          animation-delay: 2.5s;
}
.js-aos[data-aos-delay="3s"] {
  -webkit-animation-delay: 3s;
          animation-delay: 3s;
}
.js-aos[data-aos-delay="3.5s"] {
  -webkit-animation-delay: 3.5s;
          animation-delay: 3.5s;
}
.js-aos[data-aos-delay="4s"] {
  -webkit-animation-delay: 4s;
          animation-delay: 4s;
}
.js-aos[data-aos-delay="4.5s"] {
  -webkit-animation-delay: 4.5s;
          animation-delay: 4.5s;
}
.js-aos[data-aos-delay="5s"] {
  -webkit-animation-delay: 5s;
          animation-delay: 5s;
}

[data-aos=fade-in] {
  opacity: 0;
  will-change: opacity;
  -webkit-transition: opacity var(--aos-duration, 0.6s) ease;
  transition: opacity var(--aos-duration, 0.6s) ease;
}
[data-aos=fade-in].animated {
  opacity: 1;
}

[data-aos=fade-in-up] {
  opacity: 0;
  -webkit-transform: translateY(30px);
          transform: translateY(30px);
  -webkit-transition: all var(--aos-duration) ease;
  transition: all var(--aos-duration) ease;
}
[data-aos=fade-in-up].animated {
  opacity: 1;
  -webkit-transform: translateY(0);
          transform: translateY(0);
}

[data-duration="0.5s"] {
  -webkit-transition-duration: 0.5s;
          transition-duration: 0.5s;
}

[data-aos=slide-in-left] {
  -webkit-transition: clip-path 1s ease;
  transition: clip-path 1s ease;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
  clip-path: polygon(0 0, 0 0, 0 100%, 0 100%);
}
.animated [data-aos=slide-in-left] {
  clip-path: polygon(0 0, 100% 0, 100% 100%, 0 100%);
}

.reveal-up {
  clip-path: inset(0 100% 0 0);
  -webkit-transition: clip-path var(--aos-duration) ease;
  transition: clip-path var(--aos-duration) ease;
  will-change: clip-path;
  -webkit-backface-visibility: hidden;
          backface-visibility: hidden;
}
.reveal-up.animated {
  clip-path: inset(0 0 0 0);
}

/*----------------------------------------------------------
  VARIABLES
----------------------------------------------------------*/
.page-8th {
  color: #1E1E1E;
  background-color: #E60012;
}
@media (min-width: 751px) {
  .page-8th .p-container {
    width: min(1100px, 76.389vw);
    margin: 0 auto;
    padding: 0 min(50px, 3.472vw);
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
@media (max-width: 750px) {
  .page-8th .p-container {
    width: 100%;
    padding: 0 5.3333333333vw;
    -webkit-box-sizing: border-box;
            box-sizing: border-box;
  }
}
.page-8th .row {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: justify;
      -ms-flex-pack: justify;
          justify-content: space-between;
}
@media (max-width: 750px) {
  .page-8th .row {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-direction: column;
            flex-direction: column;
  }
}

@media (max-width: 750px) {
  .kv {
    padding-top: 5.3333333333vw;
  }
}
.kv_wrapper {
  position: relative;
  z-index: 0;
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  margin-inline: auto;
}
.kv_wrapper img {
  margin-inline: auto;
}
@media (max-width: 750px) {
  .kv_wrapper {
    width: 80vw;
    min-height: 133.3333333333vw;
  }
}
@media (min-width: 751px) {
  .kv_wrapper {
    min-height: min(648px, 45vw);
  }
  .kv_wrapper img {
    width: auto;
    height: min(648px, 45vw);
  }
}
.kv_text {
  padding-top: min(156px, 10.833vw);
  width: min(500px, 34.722vw);
  margin-right: max(-30px, -2.083vw);
  opacity: 0;
  -webkit-transition: opacity 0.5s ease;
  transition: opacity 0.5s ease;
}
@media (max-width: 750px) {
  .kv_text {
    width: 64vw;
    padding-top: 0;
    margin: 0 auto;
  }
}
.kv_photo {
  position: relative;
}
.kv_photo .photo {
  opacity: 0;
  -webkit-transition: all 1s ease;
  transition: all 1s ease;
  -webkit-transform: translate(10%, 10%);
          transform: translate(10%, 10%);
}
@media (max-width: 750px) {
  .kv_photo img {
    width: 100%;
  }
}
.kv.opening .kv_text {
  opacity: 1;
  -webkit-transition-delay: 0.5s;
          transition-delay: 0.5s;
}
.kv.opening .kv_photo .photo {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 1.3s;
          transition-delay: 1.3s;
}
.kv.opening .kv_photo span {
  opacity: 1;
  -webkit-transform: translate(0, 0);
          transform: translate(0, 0);
  -webkit-transition-delay: 2.5s;
          transition-delay: 2.5s;
}
.kv_intro {
  position: relative;
  z-index: 0;
  font-size: min(18px, 1.25vw);
  line-height: 2.1666666667;
  font-weight: bold;
  text-align: center;
  color: #fff;
}
@media (min-width: 751px) {
  .kv_intro {
    margin-top: max(-3px, -0.208vw);
    white-space: nowrap;
    letter-spacing: 5%;
  }
  .kv_intro:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: min(14px, 0.972vw);
    left: max(-302px, -20.972vw);
    width: min(421px, 29.236vw);
    height: min(420px, 29.167vw);
    background: url(../images/top/intro_deco01.webp) no-repeat top left/100% auto;
    background-size: 100% auto;
  }
  .kv_intro:after {
    content: "";
    position: absolute;
    z-index: -1;
    top: max(-5px, -0.347vw);
    right: max(-242px, -16.806vw);
    width: min(354px, 24.583vw);
    height: min(420px, 29.167vw);
    background: url(../images/top/intro_deco02.webp) no-repeat top right/100% auto;
    background-size: 100% auto;
  }
}
@media (max-width: 750px) {
  .kv_intro {
    margin: -5.3333333333vw -4vw 0;
    font-size: 4.2666666667vw;
    line-height: 1.875;
    padding: 9.3333333333vw 4vw 0;
    background: url(../images/top/intro_deco01_sp.webp) no-repeat top center;
    background-size: 97.6vw auto;
  }
}
.kv_intro .txt-underline {
  position: relative;
  text-decoration: none;
  display: inline;
  font-size: 5.8666666667vw;
  line-height: 10.1333333333vw;
  background: url(../images/top/line_white_sp.webp) repeat-x center bottom;
  background-size: auto 1.0666666667vw;
}
@media (min-width: 751px) {
  .kv_intro .txt-underline {
    display: inline-block;
    margin-bottom: min(4px, 0.278vw);
    font-size: min(26px, 1.806vw);
    line-height: min(39px, 2.708vw);
    padding-bottom: min(4px, 0.278vw);
    background: url(../images/top/line_white.webp) no-repeat center bottom;
    background-size: auto min(4px, 0.278vw);
    letter-spacing: 0;
  }
}
@media (max-width: 750px) {
  .kv_intro .txt-underline.txt-01 {
    display: block;
    margin-bottom: 1.0666666667vw;
    font-size: 0;
    width: 100%;
    height: 19.4666666667vw;
    background: url(../images/top/intro_txt_sp.webp) no-repeat center;
    background-size: auto 100%;
  }
}

/*----------------------------------------------------------
  VOLUMN SECTION
----------------------------------------------------------*/
.volumn {
  position: relative;
  z-index: 1;
  padding: 10.6666666667vw 0 22.4vw;
  background: url(../images/top/bg_deco01_sp.webp) no-repeat bottom -26.6666666667vw center;
  background-size: 100% auto;
}
.volumn:before {
  content: "";
  position: absolute;
  z-index: -1;
  top: -41.6vw;
  left: 50%;
  -webkit-transform: translate(-50%);
          transform: translate(-50%);
  width: 100%;
  height: 100%;
  background: url(../images/top/bg_deco01_sp.webp) no-repeat top left;
  background-size: 100% auto;
  pointer-events: none;
}
@media (min-width: 751px) {
  .volumn {
    padding-block: min(60px, 4.167vw) min(122px, 8.472vw);
    background: url(../images/top/bg_deco01.webp) no-repeat bottom max(-478px, -33.194vw) left 3%;
    background-size: min(2146px, 149.028vw) auto;
  }
  .volumn:before {
    content: "";
    position: absolute;
    z-index: -1;
    top: max(-350px, -24.306vw);
    left: 50%;
    -webkit-transform: translate(-50%);
            transform: translate(-50%);
    width: 100%;
    height: 100%;
    background: url(../images/top/bg_deco01.webp) no-repeat top left 3%;
    background-size: min(2146px, 149.028vw) auto;
    pointer-events: none;
  }
}
.volumn_item {
  position: relative;
  z-index: 0;
  padding: 1.0666666667vw;
}
@media (min-width: 751px) {
  .volumn_item {
    padding: min(4px, 0.278vw);
  }
}
.volumn_item + .volumn_item {
  margin-top: min(60px, 4.167vw);
}
@media (max-width: 750px) {
  .volumn_item + .volumn_item {
    margin-top: 11.2vw;
  }
}
.volumn_item:after {
  content: "";
  position: absolute;
  border-radius: min(12px, 0.833vw);
  inset: max(-4px, -0.278vw);
  z-index: -1;
  pointer-events: none;
  background-color: var(--volumn-bg-border);
}
@media (max-width: 750px) {
  .volumn_item:after {
    inset: -1.0666666667vw;
    border-radius: 3.2vw;
  }
}
.volumn_item--inner {
  background: #fff;
  padding: min(36px, 2.5vw) min(56px, 3.889vw) min(56px, 3.889vw);
  border-radius: min(10px, 0.694vw);
}
@media (max-width: 750px) {
  .volumn_item--inner {
    padding: 9.6vw 3.7333333333vw;
    border-radius: 2.6666666667vw;
  }
}
.volumn_item--ttl {
  height: min(72px, 5vw);
  margin-bottom: min(14px, 0.972vw);
  font-size: min(16px, 1.111vw);
  text-align: center;
  color: #fff;
}
.volumn_item--ttl img {
  width: auto;
  height: 100%;
}
@media (max-width: 750px) {
  .volumn_item--ttl {
    margin-bottom: 3.7333333333vw;
    height: 15.4666666667vw;
    font-size: 7.2vw;
  }
}
.volumn_item--date {
  font-size: min(16px, 1.111vw);
  line-height: 150%;
  font-weight: bold;
  text-align: center;
  margin-bottom: min(30px, 2.083vw);
}
.volumn_item--date .txt-highlight {
  font-size: min(20px, 1.389vw);
  line-height: 150%;
  font-style: normal;
  color: var(--volumn-color-date, #1E1E1E);
  vertical-align: middle;
}
@media (max-width: 750px) {
  .volumn_item--date .txt-highlight {
    display: block;
    font-size: 4.2666666667vw;
    font-weight: 900;
    margin-bottom: 0.5333333333vw;
  }
  .volumn_item--date .txt-highlight:not(:first-child) {
    margin-top: 2.4vw;
  }
}
.volumn_item--date .font-en {
  font-size: min(22px, 1.528vw);
  font-family: "Lato", "Noto Sans JP", sans-serif;
  letter-spacing: 5%;
  font-weight: bold;
  vertical-align: middle;
}
@media (max-width: 750px) {
  .volumn_item--date {
    font-size: 3.4666666667vw;
    margin-bottom: 8vw;
  }
  .volumn_item--date .font-en {
    font-size: 4.8vw;
    vertical-align: baseline;
  }
}
@media (min-width: 751px) {
  .volumn_item .row {
    -webkit-box-pack: justify;
        -ms-flex-pack: justify;
            justify-content: space-between;
  }
}
.volumn_item .photo {
  overflow: hidden;
}
@media (min-width: 751px) {
  .volumn_item .photo {
    width: min(424px, 29.444vw);
    border-radius: min(10px, 0.694vw);
  }
}
@media (max-width: 750px) {
  .volumn_item .photo {
    margin: 0 auto 6.4vw;
    border-radius: 1.8666666667vw;
  }
  .volumn_item .photo img {
    width: 100%;
  }
}
@media (min-width: 751px) {
  .volumn_item .content {
    width: min(416px, 28.889vw);
  }
}
.volumn_item .tags {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  font-weight: bold;
}
@media (max-width: 750px) {
  .volumn_item .tags {
    -webkit-box-orient: vertical;
    -webkit-box-direction: normal;
        -ms-flex-flow: column;
            flex-flow: column;
    gap: 2.1333333333vw;
    margin-bottom: 6.1333333333vw;
    font-size: 4.2666666667vw;
    line-height: 1;
    text-align: center;
  }
}
@media (min-width: 751px) {
  .volumn_item .tags {
    -webkit-box-orient: horizontal;
    -webkit-box-direction: normal;
        -ms-flex-flow: row wrap;
            flex-flow: row wrap;
    -webkit-box-align: center;
        -ms-flex-align: center;
            align-items: center;
    gap: min(8px, 0.556vw);
    margin-bottom: min(15px, 1.042vw);
    font-size: min(16px, 1.111vw);
  }
}
.volumn_item .tags--ttl {
  font-size: min(16px, 1.111vw);
}
@media (max-width: 750px) {
  .volumn_item .tags--ttl {
    font-size: 4.2666666667vw;
  }
}
.volumn_item .tags--list {
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -ms-flex-wrap: wrap;
      flex-wrap: wrap;
  gap: min(8px, 0.556vw);
}
@media (max-width: 750px) {
  .volumn_item .tags--list {
    gap: 2.1333333333vw;
    -webkit-box-pack: center;
        -ms-flex-pack: center;
            justify-content: center;
  }
}
.volumn_item .tags--list li {
  padding: 0 min(16px, 1.111vw);
  color: var(--volumn-color);
  background-color: var(--volumn-bg-tag);
  border-radius: min(29px, 2.014vw);
  height: min(32px, 2.222vw);
  line-height: min(32px, 2.222vw);
}
@media (max-width: 750px) {
  .volumn_item .tags--list li {
    height: 8.5333333333vw;
    padding: 0 4.2666666667vw;
    border-radius: 7.7333333333vw;
    line-height: 8.5333333333vw;
  }
}
.volumn_item .txt {
  font-size: min(18px, 1.25vw);
  line-height: 1.6666666667;
  font-weight: 500;
  letter-spacing: 6%;
}
@media (max-width: 750px) {
  .volumn_item .txt {
    font-size: 4.8vw;
  }
}
.volumn_item--cta {
  margin-top: 6.4vw;
}
@media (min-width: 751px) {
  .volumn_item--cta {
    margin-top: min(69px, 4.792vw);
  }
}
@media (max-width: 750px) {
  .volumn_item--cta {
    text-align: center;
  }
}
.volumn_item--cta .btn {
  display: inline-block;
  width: 79.4666666667vw;
  height: 15.4666666667vw;
  padding-inline: 7.4666666667vw 11.7333333333vw;
  color: #fff;
  background: var(--volumn-bg-button);
  text-decoration: none;
  text-align: center;
  font-size: 4.2666666667vw;
  line-height: 15.4666666667vw;
  font-weight: 800;
  border-radius: 7.7333333333vw;
  position: relative;
  -webkit-transition: all 0.35s ease;
  transition: all 0.35s ease;
}
@media (min-width: 751px) {
  .volumn_item--cta .btn {
    width: min(298px, 20.694vw);
    height: min(58px, 4.028vw);
    padding-inline: min(28px, 1.944vw) min(44px, 3.056vw);
    font-size: min(16px, 1.111vw);
    line-height: min(58px, 4.028vw);
    border-radius: min(29px, 2.014vw);
  }
}
.volumn_item--cta .btn:before {
  content: "";
  position: absolute;
  top: 50%;
  right: min(18px, 1.25vw);
  width: min(20px, 1.389vw);
  height: min(20px, 1.389vw);
  -webkit-transform: translateY(-50%);
          transform: translateY(-50%);
  background: url("../images/top/btn_arrow.svg") no-repeat center right;
  background-size: 100%;
}
@media (max-width: 750px) {
  .volumn_item--cta .btn:before {
    right: 4.8vw;
    width: 5.3333333333vw;
    height: 5.3333333333vw;
  }
}
.volumn_item--cta .btn.comingsoon {
  color: #777777;
  font-size: 0;
  background: #D6D6D6 url(../images/top/btn_comming_soon.webp) no-repeat center;
  background-size: auto 100%;
  pointer-events: none;
}
.volumn_item--cta .btn.comingsoon:before {
  content: none;
}
@media (min-width: 751px) and (hover: hover) {
  .volumn_item--cta .btn:hover {
    opacity: 0.8;
  }
}
.volumn_item.--vol-01 {
  --volumn-color: #B78526;
  --volumn-color-date: #B78426;
  --volumn-bg-tag: #FFF4B8;
  --volumn-bg-button: #FFB300;
  --volumn-bg-border: #FFF1A1;
}
.volumn_item.--vol-01 .volumn_item--ttl {
  margin-bottom: min(11px, 0.764vw);
}
@media (max-width: 750px) {
  .volumn_item.--vol-01 .volumn_item--ttl {
    height: 31.4666666667vw;
    margin-bottom: 2.1333333333vw;
  }
}
.volumn_item.--vol-02 {
  --volumn-color: #00A41E;
  --volumn-color-date: #00A41E;
  --volumn-bg-tag: #E5F4F1;
  --volumn-bg-button: #00A41E;
  --volumn-bg-border: #DDF3D2;
}

/*----------------------------------------------------------
  SCHEDULE SECTION
----------------------------------------------------------*/
.schedule {
  padding-block: min(120px, 8.333vw) min(120px, 8.333vw);
  border-radius: min(80px, 5.556vw) min(80px, 5.556vw) 0 0;
  background: #fff;
}
@media (max-width: 750px) {
  .schedule {
    padding-block: 21.3333333333vw 15.2vw;
    border-radius: 10.6666666667vw 10.6666666667vw 0 0;
  }
}
.schedule .p-container {
  position: relative;
}
.schedule_deco {
  position: absolute;
}
.schedule_deco.--deco-01 {
  top: max(-58px, -4.028vw);
  left: max(-39px, -2.708vw);
  width: min(176px, 12.222vw);
}
@media (max-width: 750px) {
  .schedule_deco.--deco-01 {
    top: -16vw;
    left: 1.8666666667vw;
    width: 22.9333333333vw;
  }
}
.schedule_deco.--deco-02 {
  top: min(138px, 9.583vw);
  left: max(-136px, -9.444vw);
  width: min(155px, 10.764vw);
}
@media (max-width: 750px) {
  .schedule_deco.--deco-02 {
    top: 20vw;
    left: 2.6666666667vw;
    width: 17.3333333333vw;
  }
}
.schedule_deco.--deco-03 {
  top: max(-64px, -4.444vw);
  right: max(-16px, -1.111vw);
  width: min(194px, 13.472vw);
}
@media (max-width: 750px) {
  .schedule_deco.--deco-03 {
    top: -22.1333333333vw;
    right: 0;
    width: 29.0666666667vw;
  }
}
.schedule_deco.--deco-04 {
  top: min(105px, 7.292vw);
  right: max(-159px, -11.042vw);
  width: min(184px, 12.778vw);
}
@media (max-width: 750px) {
  .schedule_deco.--deco-04 {
    top: 21.3333333333vw;
    right: 1.6vw;
    width: 19.7333333333vw;
  }
}
.schedule_ttl {
  margin: 0 auto min(62px, 4.306vw);
  height: min(81px, 5.625vw);
  display: -webkit-box;
  display: -ms-flexbox;
  display: flex;
  -webkit-box-pack: center;
      -ms-flex-pack: center;
          justify-content: center;
  font-size: min(36px, 2.5vw);
  font-weight: 900;
  color: #fff;
  text-align: center;
  letter-spacing: 2%;
}
.schedule_ttl img {
  width: auto;
  height: 100%;
}
@media (max-width: 750px) {
  .schedule_ttl {
    margin: 0 auto 10.6666666667vw;
    height: 31.4666666667vw;
  }
}
.schedule .schedule_table {
  position: relative;
  z-index: 0;
}
@media (max-width: 750px) {
  .schedule .schedule_table {
    width: 79.4666666667vw;
    margin-inline: auto;
  }
}
.schedule .schedule_table:before {
  content: "";
  z-index: -1;
  position: absolute;
  inset: 0 max(-8px, -0.556vw);
  border-radius: min(16px, 1.111vw);
  border: min(8px, 0.556vw) solid #FFD5D8;
  overflow: hidden;
  pointer-events: none;
}
@media (min-width: 751px) {
  .schedule .schedule_table:before {
    background: url(../images/top/tbl_head.webp) no-repeat top center;
    background-size: 100% min(67px, 4.653vw);
  }
}
@media (max-width: 750px) {
  .schedule .schedule_table:before {
    inset: 0 -2.1333333333vw;
    border: 2.1333333333vw solid #FFD5D8;
    border-radius: 4.2666666667vw;
  }
}
.schedule .schedule_table--content {
  position: relative;
  padding-block: min(41px, 2.847vw) min(48px, 3.333vw);
  background: url(../images/top/tbl_bg.webp) repeat-y top left;
  background-size: 100% auto;
}
@media (max-width: 750px) {
  .schedule .schedule_table--content {
    padding-block: 5.3333333333vw 7.4666666667vw;
    background: url(../images/top/tbl_bg_sp.webp) repeat-y top left;
    background-size: 100% auto;
  }
}
.schedule .schedule_table .arrow-item {
  position: relative;
  z-index: 1;
  color: #fff;
  font-size: min(16px, 1.111vw);
  line-height: min(22px, 1.528vw);
  font-weight: 800;
  letter-spacing: 20%;
}
.schedule .schedule_table .arrow-item.animated .arrow-txt {
  opacity: 1;
}
@media (max-width: 750px) {
  .schedule .schedule_table .arrow-item {
    width: 25.0666666667vw;
    font-size: 3.7333333333vw;
    line-height: 4.8vw;
    letter-spacing: 0;
  }
}
.schedule .schedule_table .arrow-item + .arrow-item {
  margin-top: 2.6666666667vw;
}
@media (min-width: 751px) {
  .schedule .schedule_table .arrow-item + .arrow-item {
    margin-top: min(20px, 1.389vw);
  }
}
.schedule .schedule_table .arrow-item .arrow-bg {
  position: relative;
  z-index: 1;
}
.schedule .schedule_table .arrow-item .arrow-bg img {
  width: auto;
  height: min(64px, 4.444vw);
}
@media (max-width: 750px) {
  .schedule .schedule_table .arrow-item .arrow-bg img {
    height: 12.8vw;
  }
}
.schedule .schedule_table .arrow-item .arrow-txt {
  line-height: 0;
  position: absolute;
  z-index: 1;
  left: 0;
  bottom: 0;
  width: 100%;
  -webkit-transition-delay: 1.5s;
          transition-delay: 1.5s;
}
.schedule .schedule_table .arrow-item.--arrow-01 {
  margin-left: 0;
  width: min(666px, 46.25vw);
}
@media (max-width: 750px) {
  .schedule .schedule_table .arrow-item.--arrow-01 {
    width: 52vw;
  }
  .schedule .schedule_table .arrow-item.--arrow-01 .arrow-bg img {
    height: 16vw;
  }
}
.schedule .schedule_table .arrow-item.--arrow-02 {
  margin-left: min(337.5px, 23.438vw);
  width: min(666px, 46.25vw);
}
@media (max-width: 750px) {
  .schedule .schedule_table .arrow-item.--arrow-02 {
    margin-left: 26.6666666667vw;
    width: 52.8vw;
  }
  .schedule .schedule_table .arrow-item.--arrow-02 .arrow-bg img {
    height: 16vw;
  }
}
.schedule .schedule_table .arrow-item.--arrow-03 {
  margin-left: min(337.5px, 23.438vw);
  width: min(328px, 22.778vw);
}
@media (max-width: 750px) {
  .schedule .schedule_table .arrow-item.--arrow-03 {
    margin-left: 26.6666666667vw;
    width: 25.0666666667vw;
  }
}
.schedule_sub {
  width: min(902px, 62.639vw);
  margin: min(60px, 4.167vw) auto 0;
}
@media (max-width: 750px) {
  .schedule_sub {
    width: 86.6666666667vw;
    margin-top: 10.1333333333vw;
    -webkit-transform: translate(-1.3333333333vw, 0);
            transform: translate(-1.3333333333vw, 0);
  }
}
.schedule_block {
  margin: 12.8vw auto 0;
  max-width: 79.4666666667vw;
  min-height: 51.7333333333vw;
  padding-block: 7.4666666667vw 6.4vw;
  text-align: center;
  letter-spacing: 10%;
  background: url(../images/top/schedule_line_sp.webp) no-repeat top center, url(../images/top/schedule_line_sp.webp) no-repeat bottom center;
  background-size: auto 1.0666666667vw, auto 1.0666666667vw;
}
@media (min-width: 751px) {
  .schedule_block {
    margin: min(47px, 3.264vw) auto 0;
    max-width: min(920px, 63.889vw);
    min-height: min(126px, 8.75vw);
    padding-block: min(20px, 1.389vw) min(15px, 1.042vw);
    text-align: center;
    background: url(../images/top/schedule_line.webp) no-repeat top center, url(../images/top/schedule_line.webp) no-repeat bottom center;
    background-size: auto min(4px, 0.278vw), auto min(4px, 0.278vw);
  }
}
.schedule_block__subttl {
  font-size: 5.3333333333vw;
  line-height: 1.8;
  font-weight: bold;
}
@media (max-width: 750px) {
  .schedule_block__subttl {
    margin-inline: -8vw;
  }
}
@media (min-width: 751px) {
  .schedule_block__subttl {
    font-size: min(22px, 1.528vw);
    line-height: 1.8181818182;
  }
}
.schedule_block__subttl .txt-underline {
  font-size: 6.4vw;
  line-height: 9.6vw;
  font-weight: 800;
  color: #e60012;
  text-decoration: none;
  background: url(../images/top/line_yellow.webp) repeat-x bottom left/auto 2.1333333333vw;
}
@media (min-width: 751px) {
  .schedule_block__subttl .txt-underline {
    font-size: min(28px, 1.944vw);
    line-height: min(40px, 2.778vw);
    background-size: auto min(10px, 0.694vw);
  }
}
.schedule_block__txt {
  margin: 5.3333333333vw auto 0;
  font-size: 5.8666666667vw;
  line-height: 1.8181818182;
  font-weight: bold;
  letter-spacing: 10%;
}
.schedule_block__txt span {
  padding-inline: 5.8666666667vw;
  background: url(../images/top/schedule_txt01.webp) no-repeat center;
  background-size: auto 10.6666666667vw;
}
@media (min-width: 751px) {
  .schedule_block__txt {
    margin: min(11px, 0.764vw) auto 0;
    min-height: min(42px, 2.917vw);
    font-size: min(22px, 1.528vw);
  }
  .schedule_block__txt span {
    padding-inline: min(22px, 1.528vw);
    background: url(../images/top/schedule_txt01.webp) no-repeat top center;
    background-size: auto min(40px, 2.778vw);
  }
}