/* バイオレットクリスマス 2026 LP */
html, body, div, span, h3, h4, p, a, img, header, nav, section {
  margin: 0px;
  padding: 0px;
  border: 0px;
  font: inherit;
  vertical-align: baseline;
}
header, nav, section {
  display: block;
}
:root {
  --bs-font-sans-serif: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", "Liberation Sans", Arial, sans-serif,
    "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";
}
.container {
  --bs-gutter-x: 1.5rem;
  width: 100%;
  padding-right: calc(var(--bs-gutter-x) * 0.5);
  padding-left: calc(var(--bs-gutter-x) * 0.5);
  margin-right: auto;
  margin-left: auto;
}
@media (min-width: 576px) {
  .container {
    max-width: 540px;
  }
}
@media (min-width: 768px) {
  .container {
    max-width: 720px;
  }
}
@media (min-width: 992px) {
  .container {
    max-width: 960px;
  }
}
@media (min-width: 1200px) {
  .container {
    max-width: 1140px;
  }
}
@media (min-width: 1400px) {
  .container {
    max-width: 1320px;
  }
}
.img-fluid {
  max-width: 100%;
  height: auto;
}
.btn:first-child:active:focus-visible {
  box-shadow: var(--bs-btn-focus-box-shadow);
}
html {
  font-size: 10px;
}
body {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 1.6rem;
  font-weight: 400;
  color: rgb(0, 0, 0);
  line-height: 1.2;
}
.container {
  display: block;
  max-width: 100%;
  padding: 0px 5.33vw;
  margin: 0px auto;
}
@media only screen and (min-width: 768px) {
  .container {
    max-width: 53.57vw;
    padding: 0px 2.14vw;
  }
}
* {
  box-sizing: border-box;
}
.hero {
  position: sticky;
  top: 0px;
  width: 100%;
  height: auto;
  z-index: 1;
  background-repeat: no-repeat;
  background-size: cover;
  margin-bottom: -3.5px;
}
@media only screen and (max-width: 767px) {
  .hero {
    height: 177.9vw;
    position: initial;
    margin-bottom: 60.5px;
  }
  .follow .heading_sec {
    bottom: -9%;
  }
}
.main-content {
  display: flex;
  position: relative;
  z-index: 2;
}
@media only screen and (max-width: 767px) {
  .main-content {
    margin-top: -16.133vw;
  }
}
.main-content.bg-fixed::before {
  background-attachment: fixed;
}
.main-content::-webkit-scrollbar {
  display: none;
}
.scrollable-content {
  max-width: 53.57vw;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
  background-color: rgb(10, 0, 41);
  scrollbar-width: none;
  z-index: -1;
}
@media only screen and (max-width: 767px) {
  .scrollable-content {
    max-width: 100%;
    width: 100%;
    height: auto;
    overflow: hidden;
  }
}
.scrollable-content::-webkit-scrollbar {
  display: none;
}
.site-header__lft, .site-header__rgt {
  color: rgb(255, 255, 255);
  position: sticky;
  top: 0px;
  height: 31.429vw;
  max-width: 22.64vw;
  width: 100%;
  z-index: 3;
  padding-top: 8.57vw;
}
@media only screen and (max-width: 767px) {
  .site-header__rgt {
    display: none;
    padding-top: 0px;
  }
}
.site-header__rgt .menu {
  width: 12vw;
  margin-left: auto;
  margin-right: auto;
}
.blur_effect {
  position: sticky;
  top: 0px;
  max-width: 23.34vw;
  width: 100%;
  backdrop-filter: blur(9px);
  height: 100vh;
  background: linear-gradient(rgba(10, 0, 41, 0.2) 0%, rgba(99, 26, 121, 0.7) 100%);
}
@media only screen and (max-width: 767px) {
  .blur_effect {
    display: none;
  }
}
.site-header__lft--logo {
  max-width: 20.757vw;
  width: 100%;
  margin-left: auto;
  margin-right: auto;
	margin-bottom: -10px;
}
.site-header__lft--logo img {
  width: 100%;
}
.menu .heading_prim {
  font-family: "Imperial Script", cursive;
  font-size: 2.29vw;
  line-height: 1.5;
  text-shadow: rgb(192, 63, 203) -1px -4px 1px;
  color: white;
  text-align: center;
  position: absolute;
}
@media only screen and (max-width: 767px) {
  .site-header__lft--logo {
    display: none;
  }
}
.menu .heading_sec {
  top: 30px;
}
@media only screen and (max-width: 767px) {
  .menu .heading_sec {
    bottom: -12%;
  }
}
.menu .headings {
  transition: opacity 0.3s ease-in-out;
}
.menu .headings .heading_prim {
  width: 16.79vw;
}
@media only screen and (max-width: 767px) {
  .menu .headings .heading_prim {
    width: 60.8vw;
  }
}
.menu .headings:hover {
  opacity: 0.6;
}
.ticket-btn {
  display: inline-flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  background-color: rgb(255, 255, 255);
  color: rgb(102, 56, 182);
  padding-left: 2.333vw;
  border-radius: 0px 14.286vw 14.286vw 0px;
  box-shadow: rgba(162, 0, 255, 0.9) 0px 5px 30px;
  text-decoration: none;
  transition: 0.3s;
  position: relative;
  width: 24.643vw;
  height: 6.214vw;
  gap: 0.314vw;
  margin-top: 0vw;
}
.ticket-btn.-sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .ticket-btn {
    position: absolute;
    top: 2.67vw;
    left: 0px;
    width: 64vw;
    height: 13.33vw;
    margin-top: 0;
    z-index: 8;
    gap: 0.53vw;
  }
  .bg-fixed .ticket-btn {
    position: fixed;
    left: 0px;
    top: 2.67vw;
    z-index: 21;
  }
}
@media only screen and (max-width: 767px) {
  .ticket-btn.-sp {
    display: inline-flex;
  }
}
.ticket-btn:hover {
  box-shadow: rgba(162, 0, 255, 0.9) 0px 5px 30px;
  background-color: rgb(255, 217, 243);
  transition: 0.3s;
}
.ticket-btn .ticket-btn__small {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-size: 1.286vw;
}
@media only screen and (max-width: 767px) {
  .ticket-btn .ticket-btn__small {
    font-size: 3.2vw;
  }
}
.ticket-btn .ticket-btn__large {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 900;
  font-size: 1.857vw;
}
@media only screen and (max-width: 767px) {
  .ticket-btn .ticket-btn__large {
    font-size: 5.33vw;
  }
}
.ticket-btn::after {
  content: "";
  background-image: url("data:image/svg+xml,%3Csvg width='16' height='15' viewBox='0 0 16 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M9.12 1.54163H14.16V6.41663' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.92 9.12504V13.4584H1.83997V3.70837H6.31997' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M7.43994 8.04171L13.5999 2.08337' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  width: 1.071vw;
  height: 1.071vw;
  background-size: cover;
}
@media only screen and (max-width: 767px) {
  .ticket-btn::after {
    width: 4vw;
    height: 4vw;
  }
}
.event_wrapper {
  position: relative;
}
.event_wrapper .container {
  max-width: 53.57vw;
  padding: 5.87vw 2.14vw 1.29vw;
}
@media only screen and (max-width: 767px) {
  .event_wrapper .container {
    max-width: 100%;
    padding: 19.33vw 5.33vw 0px;
  }
}
.tab_section {
  margin-top: 2.86vw;
}
.tab_section.gourmettab {
  margin-bottom: 40px;
}
@media only screen and (max-width: 767px) {
  .tab_section {
    margin-top: 10.67vw;
  }
}
.tab_section .tab_content .tab_wrap {
  display: flex;
  flex-wrap: wrap;
  gap: 1.43vw;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap {
    -webkit-box-pack: center;
    justify-content: center;
    gap: 5.33vw;
  }
}
.tab_section .tab_content .tab_wrap .event_info {
  padding: 0.71vw 3.21vw 1.429vw 1.43vw;
  position: relative;
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_info {
    padding: 2.67vw 12vw 5.33vw 5.33vw;
  }
}
.tab_section .tab_content .tab_wrap .event_container {
  position: relative;
  max-width: 23.93vw;
  width: 100%;
  min-height: 23.79vw;
  color: rgb(0, 0, 0);
  text-decoration: none;
  -webkit-box-flex: 0;
  flex: 0 0 calc(50% - 0.57vw);
  border-radius: 0.57vw;
  background-color: rgb(255, 255, 255);
  overflow: hidden;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0.14vw 1.43vw;
  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_container {
    position: relative;
    border-radius: 2.13vw;
    max-width: 100%;
    min-height: 84vw;
    -webkit-box-flex: 0;
    flex: 0 0 calc(100% - 0.57vw);
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0.53vw 5.33vw;
  }
}
.tab_section .tab_content .tab_wrap .event_container:hover {
  box-shadow: rgb(224, 102, 255) 0px 0px 0px 0.43vw;
  background-color: rgb(255, 242, 255);
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_container:hover {
    box-shadow: rgb(224, 102, 255) 0px 0px 0px 1.6vw;
  }
}
.tab_section .tab_content .tab_wrap .event_container .event_ttl {
  font-size: 1vw;
  font-weight: 900;
  margin-bottom: 0.71vw;
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_container .event_ttl {
    font-size: 3.73vw;
    margin-bottom: 2.67vw;
  }
}
.tab_section .tab_content .tab_wrap .event_container .event_text {
  font-size: 0.86vw;
  font-weight: 500;
  line-height: 1.5;
  margin-bottom: 0.71vw;
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_container .event_text {
    font-size: 3.2vw;
    margin-bottom: 2.67vw;
  }
}
.tab_section .tab_content .tab_wrap .event_container img {
  width: 100%;
  height: 13.57vw;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_container img {
    height: 50.67vw;
  }
}
.tab_section .tab_content .tab_wrap .event_container .time {
  display: flex;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  gap: 0.29vw;
  margin-bottom: 10px;
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_container .time {
    gap: 1.07vw;
  }
}
.tab_section .tab_content .tab_wrap .event_container .time_ttl {
  font-size: 0.57vw;
  font-weight: 700;
  background-color: rgb(230, 230, 230);
  padding: 0.214vw 0.5vw;
  border-radius: 0.29vw;
  max-width: fit-content;
  height: fit-content;
  width: 100%;
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_container .time_ttl {
    font-size: 2.13vw;
    padding: 0.8vw 1.867vw;
    border-radius: 1.07vw;
  }
}
.tab_section .tab_content .tab_wrap .event_container .time_text {
  font-size: 12px;
  font-weight: 500;
}
.tab_section .tab_content .tab_wrap .event_container .notes {
  font-size: 8px;
  font-weight: 500;
  line-height: 125%;
  color: rgb(153, 153, 153);
}
.comingsoon {
  font-family: "M PLUS 1p", sans-serif;
  color: rgb(81, 49, 143);
  background: url("../img/bg/snow.png") center center / cover no-repeat, radial-gradient(79.86% 79.86%, rgba(255, 255, 255, 0.8) 10%, rgba(255, 255, 255, 0.4) 100%);
  border-radius: 2.14vw;
  padding: 2.86vw 4.29vw;
  font-size: 1.43vw;
  text-align: center;
  font-weight: 900;
  margin: 0px auto;
}
@media only screen and (max-width: 767px) {
  .comingsoon {
    font-size: 5.71vw;
    padding: 11.2vw 16vw;
    border-radius: 8vw;
  }
}
.comingsoon .csm {
  font-size: 1vw;
  margin-top: 1.7vw;
  display: block;
}
@media only screen and (max-width: 767px) {
  .comingsoon .csm {
    font-size: 3.73vw;
    margin-top: 6.4vw;
  }
}
.gourmet {
  padding-bottom: 4.5vw;
  position: relative;
  z-index: 0;
}
.gourmet .container {
  position: relative;
  z-index: 0;
}
.gourmet_wrapper {
  position: relative;
  padding-top: 4.286vw;
}
@media only screen and (max-width: 767px) {
  .gourmet_wrapper {
    padding-top: 16vw;
  }
}
@media only screen and (max-width: 767px) {
  .gourmet {
    padding-bottom: 26vw;
  }
}
.goods {
  padding-bottom: 0.14vw;
  position: relative;
  z-index: 0;
}
.goods_wrapper {
  position: relative;
  padding-top: 4.34vw;
  z-index: 0;
  margin-bottom: 4.29vw;
}
@media only screen and (max-width: 767px) {
  .goods {
    padding-bottom: 14vw;
  }
  .goods_wrapper {
    padding-top: 16.47vw;
    margin-bottom: 2vw;
  }
}
.goods_container {
	margin-top: 2.86vw;
	margin-bottom: 2.86vw;
	display: -webkit-box;
	display: -ms-flexbox;
	display: flex;
	-webkit-box-orient: horizontal;
	-webkit-box-direction: normal;
	-ms-flex-direction: row;
	flex-direction: row;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	gap: 1.43vw;
	justify-content: flex-start;
}
@media only screen and (max-width: 767px) {
	.goods_container {
		margin-top: 10.67vw;
		margin-bottom: 10.67vw;
		gap: 5.33vw;
		justify-content: center;
	}
}
@media only screen and (min-width: 1700px) {
	.goods_container {
		gap: 1.17vw;
	}
}
.goods_item {
	max-width: 11.25vw;
	width: 100%;
}
@media only screen and (max-width: 767px) {
	.goods_item {
		max-width: 42vw;
	}
}
.goods_img {
	width: 11.25vw;
	height: 11.25vw;
}
@media only screen and (max-width: 767px) {
	.goods_img {
		width: 42vw;
		height: 42vw;
	}
}
.goods_img img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.goods_content {
	color: #FFF;
	margin-top: 0.71vw;
	margin-bottom: 0.71vw;
	min-height: 13.857vw;
}
@media only screen and (max-width: 767px) {
	.goods_content {
		margin-top: 2.67vw;
		margin-bottom: 2.67vw;
		min-height: 50.667vw;
	}
}
.goods_ttl {
	font-size: 1vw;
	font-weight: 900;
	margin-bottom: 1vw;
	line-height: 1.6;
}
@media only screen and (max-width: 767px) {
	.goods_ttl {
		font-size: 3.73vw;
		margin-bottom: 3.73vw;
	}
}
.goods_desc {
	font-size: 0.86vw;
	font-weight: 500;
	margin-bottom: 1vw;
	line-height: 1.5;
}
@media only screen and (max-width: 767px) {
	.goods_desc {
		font-size: 3.2vw;
		margin-bottom: 3.73vw;
	}
}
.goods_amt {
	font-size: 0.86vw;
	font-weight: 500;
	letter-spacing: 0.03vw;
	margin-bottom: 0.57vw;
}
@media only screen and (max-width: 767px) {
	.goods_amt {
		font-size: 3.2vw;
		letter-spacing: 0.11vw;
		margin-bottom: 2.13vw;
	}
}
.goods_amt .tax {
	font-size: 0.57vw;
	margin-left: 0.29vw;
}
@media only screen and (max-width: 767px) {
	.goods_amt .tax {
		font-size: 2.13vw;
		margin-left: 1.07vw;
	}
}
.goods_precaution {
	font-family: "M PLUS 1p", sans-serif;
	color: #B083FB;
	max-width: 49.29vw;
	margin: 0 auto;
	text-align: center;
	padding: 1.43vw 0;
	margin-bottom: 2.86vw;
}
@media only screen and (max-width: 767px) {
	.goods_precaution {
		max-width: 100%;
		padding: 5.33vw 0;
		margin-bottom: 10.67vw;
	}
}
.goods_precaution-ttl {
	font-size: 1vw;
	font-weight: 900;
	margin-bottom: 1vw;
}
@media only screen and (max-width: 767px) {
	.goods_precaution-ttl {
		font-size: 3.73vw;
		margin-bottom: 3.73vw;
	}
}
.goods_precaution-desc {
	font-size: 0.86vw;
	font-weight: 500;
	line-height: 1.5;
}
@media only screen and (max-width: 767px) {
	.goods_precaution-desc {
		font-size: 3.2vw;
	}
}
.goods_note {
	font-family: "M PLUS 1p", sans-serif;
	font-size: 0.57vw;
	font-weight: 500;
	line-height: 1.25;
	color: #FFF;
	text-align: center;
	margin-bottom: 2.86vw;
}
@media only screen and (max-width: 767px) {
	.goods_note {
		font-size: 2.13vw;
		margin-bottom: 10.67vw;
	}
}
.follow_wrapper {
  padding-top: 4.67vw;
}
@media only screen and (max-width: 767px) {
  .follow_wrapper {
    padding-top: 18.83vw;
  }
}
.follow_wrap {
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  padding-bottom: 2.86vw;
  gap: 1.14vw;
}
@media only screen and (max-width: 767px) {
  .follow_wrap {
    padding-bottom: 10.67vw;
    gap: 4.27vw;
  }
}
.follow_list {
  width: 3.57vw;
  height: 3.57vw;
  background-color: white;
  border-radius: 50%;
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-pack: center;
  justify-content: center;
  box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 0.71vw;
  transition: opacity 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .follow_list {
    box-shadow: rgba(0, 0, 0, 0.6) 0px 0px 2.67vw;
    width: 13.33vw;
    height: 13.33vw;
  }
}
.follow_list:hover {
  opacity: 0.7;
}
.follow_list img {
  width: 2vw;
  height: 2vw;
  object-fit: cover;
}
@media only screen and (max-width: 767px) {
  .follow_list img {
    width: 7.47vw;
    height: 7.47vw;
  }
}
@media only screen and (max-width: 767px) {
  .follow_img {
    padding-top: 10.67vw;
    width: 100%;
  }
}
.pc_only {
  display: none;
}
@media screen and (min-width: 768px) {
  .pc_only {
    display: block;
  }
}
.sp_only {
  display: block;
}
@media screen and (min-width: 768px) {
  .sp_only {
    display: none;
  }
}
.headings {
  position: relative;
  height: 9.5vw;
  display: flex;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  -webkit-box-align: center;
  align-items: center;
}
.heading_prim {
  font-family: "Imperial Script", cursive;
  font-size: 5.71vw;
  color: rgb(255, 255, 255);
  text-align: center;
  position: absolute;
  width: 49.29vw;
}
.heading_sec {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 1.43vw;
  font-weight: 900;
  color: rgb(255, 255, 255);
  line-height: 175%;
  padding: 0px 0.43vw;
  width: max-content;
  position: absolute;
  bottom: -20%;
  left: 50%;
  transform: translate(-50%, -50%);
  text-shadow: rgb(56, 0, 121) 1px 4px 3px, rgba(0, 0, 0, 0.1) 0px 4px 0px, rgba(0, 0, 0, 0.1) 0px 4px 0px, rgba(0, 0, 0, 0.1) 0px 4px 0px;
  -webkit-text-stroke: 2px rgb(56, 0, 121);
  paint-order: stroke;
}
.heading_sec._02 {
  text-shadow: rgb(56, 0, 121) 1px 4px 3px, rgba(0, 0, 0, 0.1) 0px 4px 0px, rgba(0, 0, 0, 0.1) 0px 4px 0px, rgba(0, 0, 0, 0.1) 0px 4px 0px;
  -webkit-text-stroke: 2px rgb(56, 0, 121);
  paint-order: stroke;
}
@media only screen and (max-width: 767px) {
  .heading_sec {
    padding: 0px 1.6vw;
    text-shadow: rgb(56, 0, 121) 1px 4px 3px, rgba(0, 0, 0, 0.1) 0px 4px 0px, rgba(0, 0, 0, 0.1) 0px 4px 0px, rgba(0, 0, 0, 0.1) 0px 4px 0px;
    -webkit-text-stroke: 2px rgb(56, 0, 121);
  }
  .heading_sec._02 {
    text-shadow: rgb(56, 0, 121) 1px 4px 3px, rgba(0, 0, 0, 0.1) 0px 4px 0px, rgba(0, 0, 0, 0.1) 0px 4px 0px, rgba(0, 0, 0, 0.1) 0px 4px 0px;
    -webkit-text-stroke: 2px rgb(56, 0, 121);
  }
}
.-blue {
  color: rgb(0, 69, 229);
}
.-red {
  color: rgb(204, 0, 0);
}
section {
  padding: 2.14vw 0px;
}
@media only screen and (max-width: 767px) {
  section {
    padding: 8vw 0px;
  }
}
.schedule {
  max-width: 53.57vw;
  margin: 0px auto;
  position: relative;
  z-index: 0;
  padding-top: 0px;
  padding-bottom: 4.3vw;
}
@media only screen and (max-width: 767px) {
  .schedule {
    max-width: 100%;
  }
}
.schedule_wrapper {
  position: relative;
  padding-top: 4.29vw;
}
@media only screen and (max-width: 767px) {
  .schedule_wrapper {
    padding-top: 26.67vw;
  }
}
.schedule_list {
  display: flex;
  -webkit-box-align: center;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.43vw;
  padding: 2.86vw 0px 1.86vw;
  max-width: 49.29vw;
  width: 100%;
  margin: 0px auto;
}
@media only screen and (max-width: 767px) {
  .schedule_list {
    max-width: 89.33vw;
    gap: 5.33vw;
    padding: 10.67vw 0px 5.67vw;
  }
  .schedule_list.first {
    padding: 9.67vw 0px;
  }
}
.schedule_item {
  font-family: "M PLUS 1p", sans-serif;
  color: rgb(0, 0, 0);
  display: flex;
  -webkit-box-pack: justify;
  justify-content: space-between;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: horizontal;
  -webkit-box-direction: normal;
  flex-direction: row;
  max-width: 23.93vw;
  width: 100%;
  padding: 1vw 3.21vw 0.86vw 1.73vw;
  height: 7.572vw;
  text-align: center;
  text-decoration: none;
  border-radius: 0.57vw;
  position: relative;
  transition: background-color 0.3s ease-in-out, box-shadow 0.3s ease-in-out, -webkit-box-shadow 0.3s ease-in-out;
  gap: 0.4vw;
}
.category {
  position: absolute;
  top: 0px;
  left: 0px;
  background-color: rgb(102, 56, 182);
  padding: 0.429vw 0.714vw;
  border-radius: 0.571vw 0px 0.286vw;
  font-size: 0.714vw;
  font-weight: 900;
  color: rgb(255, 255, 255);
}
.category.-regina {
  background-color: rgb(186, 52, 199);
}
@media only screen and (max-width: 767px) {
  .schedule_item {
    max-width: 89.33vw;
    padding: 3.73vw 12vw 3.2vw 5.93vw;
    height: 28.27vw;
    border-radius: 2.13vw;
  }
  .category {
    padding: 1.6vw 2.667vw;
    border-radius: 2.133vw 0px 1.067vw;
    font-size: 2.667vw;
  }
}
.schedule_item:hover {
  box-shadow: #E066FF 0px 0px 0px 0.286vw;
  background-color: #FAEAFE;
}
@media only screen and (max-width: 767px) {
  .schedule_item:hover {
    box-shadow: #E066FF 0px 0px 0px 1.6vw;
  }
}
.schedule_item::before {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='black' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: cover;
  width: 1.07vw;
  height: 1.07vw;
  top: 43%;
  right: 1.43vw;
}
@media only screen and (max-width: 767px) {
  .schedule_item::before {
    width: 4vw;
    height: 4vw;
    right: 5.33vw;
  }
}
.schedule_details {
  width: 11.07vw;
  margin: 0px 0.86vw;
}
@media only screen and (max-width: 767px) {
  .schedule_details {
    width: 41.33vw;
    margin: 0px 3.2vw;
  }
}
.schedule_year {
  font-size: 1vw;
  font-weight: 700;
  line-height: 1.1;
}
@media only screen and (max-width: 767px) {
  .schedule_year {
    font-size: 3.73vw;
  }
}
.schedule_vs {
  font-size: 1vw;
  font-weight: 900;
}
@media only screen and (max-width: 767px) {
  .schedule_vs {
    font-size: 3.73vw;
  }
}
.schedule_date {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 2.29vw;
  font-weight: 900;
  display: flex;
  justify-content: space-evenly;
  line-height: 1.1;
  -webkit-box-align: center;
  align-items: center;
}
@media only screen and (max-width: 767px) {
  .schedule_date {
    font-size: 8.53vw;
    gap: 0.8vw;
    letter-spacing: 0.53vw;
  }
}
.schedule_date .day {
  font-size: 3.29vw;
}
@media only screen and (max-width: 767px) {
  .schedule_date .day {
    font-size: 12.27vw;
  }
}
.schedule_date .week {
  font-size: 1vw;
}
@media only screen and (max-width: 767px) {
  .schedule_date .week {
    font-size: 3.73vw;
  }
}
.schedule_time {
  font-size: 12px;
  font-weight: 500;
}
.schedule_team {
  display: flex;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  gap: 0.71vw;
  width: 5.36vw;
}
@media only screen and (max-width: 767px) {
  .schedule_team {
    width: 20vw;
    gap: 2.67vw;
  }
}
.schedule_team_logo {
  width: 3.57vw;
  height: 3.57vw;
}
@media only screen and (max-width: 767px) {
  .schedule_team_logo {
    width: 13.33vw;
    height: 13.33vw;
  }
}
.schedule_team_logo img {
  width: 100%;
}
.schedule_team_name {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 12px;
  color: rgb(0, 0, 0);
  font-weight: 500;
  line-height: 150%;
}
.event {
  position: relative;
  z-index: 0;
}
@media only screen and (max-width: 767px) {
  .event {
    padding-bottom: 30vw;
  }
}
.button {
  font-family: "M PLUS 1p", sans-serif;
  font-size: 1vw;
  font-weight: 900;
  color: rgb(255, 255, 255);
  display: block;
  text-decoration: none;
  max-width: max-content;
  width: 100%;
  border: 0.07vw solid rgb(255, 255, 255);
  border-radius: 1.43vw;
  margin: 0px auto;
  padding: 0.679vw 3.071vw 0.679vw 1.43vw;
  position: relative;
  transition: 0.3s ease-in-out;
}
.goods .button {
  color: rgb(81, 49, 143);
  border: 0.07vw solid rgba(102, 56, 182, 0.6);
}
.goods .button::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='%2351318F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='%2351318F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='%2351318F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
@media only screen and (max-width: 767px) {
  .button {
    font-size: 3.73vw;
    border-radius: 5.33vw;
    padding: 2.964vw 11.56vw 2.964vw 5.33vw;
    border: 0.27vw solid rgb(255, 255, 255);
  }
}
.button::before {
  content: "";
  position: absolute;
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
  background-repeat: no-repeat;
  background-size: cover;
  width: 1.07vw;
  height: 1.07vw;
  top: 28%;
  right: 1.43vw;
  transition: 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .button::before {
    width: 4vw;
    height: 4vw;
    right: 5.33vw;
  }
}
.button:hover {
  background-color: rgb(255, 255, 255);
  color: rgb(96, 18, 191);
  cursor: pointer;
}
.button:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.goods .button:hover {
  color: rgb(255, 255, 255);
  background-color: rgb(102, 56, 182);
  border: 0.07vw solid rgb(102, 56, 182);
}
.goods .button:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.hamburger {
  display: none;
  width: 10.667vw;
  height: 10.667vw;
  background: rgb(255, 255, 255);
  border-radius: 50%;
  box-shadow: rgba(0, 0, 0, 0.1) 0px 1.067vw 2.133vw;
  position: fixed;
  top: 4.533vw;
  right: 4.533vw;
  z-index: 10;
  -webkit-box-pack: center;
  justify-content: center;
  -webkit-box-align: center;
  align-items: center;
  -webkit-box-orient: vertical;
  -webkit-box-direction: normal;
  flex-direction: column;
  cursor: pointer;
  transition: opacity 0.3s ease-in-out;
}
.hamburger:hover {
  opacity: 0.7;
}
.hamburger span {
  display: block;
  width: 4.8vw;
  height: 0.633vw;
  background-color: rgb(155, 89, 182);
  border-radius: 0.533vw;
  margin: 0.3vw 0px;
  transition: 0.3s;
}
.hamburger.is-opened span:nth-child(1) {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(45deg);
}
.hamburger.is-opened span:nth-child(2) {
  display: none;
}
.hamburger.is-opened span:nth-child(3) {
  position: absolute;
  top: 48%;
  left: 50%;
  transform: translate(-50%, -50%) rotate(-45deg);
}
.mobile-nav {
  display: none;
  position: fixed;
  top: 0px;
  right: 0px;
  width: 62.667vw;
  height: 141.333vw;
  background: rgb(76, 30, 156);
  z-index: 9;
  padding: 16vw 5.333vw;
  overflow: hidden;
  transition: opacity 0.3s ease-in-out, visibility 0.3s ease-in-out;
}
@media only screen and (max-width: 767px) {
  .mobile-nav {
    display: block;
    visibility: hidden;
    opacity: 0;
  }
}
.mobile-nav.is-opened {
  visibility: visible;
  opacity: 1;
}
@media screen and (max-width: 767px) {
  .site-header__rgt {
    display: none;
  }
  .hamburger {
    display: flex;
  }
}
.footer {
  padding: 0px;
  position: relative;
  z-index: 0;
}
.footer_wrapper {
  font-family: "M PLUS 1p", sans-serif;
  font-weight: 500;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .footer {
    margin-top: -0.443vw;
  }
}
.wrap {
  position: relative;
}
.focusing {
  position: relative;
}
.heading_prim, .menu .heading_prim {
  font-family: "Imperial Script", cursive;
  font-weight: 400;
  line-height: 1;
  text-shadow: none;
  -webkit-text-stroke: 0px;
  text-transform: capitalize;
}
.heading_sec, .heading_sec._02 {
  text-shadow: none;
  -webkit-text-stroke: 0px;
}
.statement {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border-radius: 16px;
  background: linear-gradient(rgb(115, 84, 161), rgb(31, 8, 159));
  margin-bottom: 40px;
  isolation: isolate;
}
.statement_text {
  position: relative;
  z-index: 3;
  width: 50%;
  padding: 20px;
  box-sizing: border-box;
  color: rgb(255, 255, 255);
  font-size: 14px;
  font-weight: 900;
  line-height: 1.5;
  text-align: center;
  text-shadow: rgb(40, 21, 116) 0px 3px 10px;
}
.statement_text p + p {
  margin-top: 14px;
}
.statement_img {
  position: relative;
  z-index: 2;
  flex: 1 1 0%;
  padding: 20px 20px 0px 0px;
  text-align: center;
}
.statement_ttl {
  display: block;
  width: 267px;
  max-width: 100%;
  margin: 0px auto;
}
.statement_people {
  display: block;
  width: 100%;
  height: auto;
}
.statement_bg {
  position: absolute;
  z-index: 1;
  right: 0px;
  bottom: 0px;
  width: 100%;
  height: auto;
}
@media only screen and (max-width: 767px) {
  .statement {
    flex-direction: column;
  }
}
.schedule {
  background: url("../img/bg/snow_bg_a_pc.png") center top / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(37, 13, 159) 50%, rgb(58, 15, 141) 100%);
}
.event {
  padding-top: 0px;
  background: url("../img/bg/snow_bg_b_pc.png") center 14.286vw / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(167, 20, 220) 50%, rgb(58, 15, 141) 100%) left bottom / 100% calc(100% - 14.286vw) no-repeat;
}
.gourmet {
  padding-top: 0px;
  background: url("../img/bg/snow_bg_c_pc.png") center 14.286vw / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(37, 13, 159) 50%, rgb(58, 15, 141) 100%) left bottom / 100% calc(100% - 14.286vw) no-repeat;
}
.goods {
  padding-top: 0px;
  background: url("../img/bg/snow_bg_a_pc.png") center 14.286vw / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(167, 20, 220) 50%, rgb(58, 15, 141) 100%) left bottom / 100% calc(100% - 14.286vw) no-repeat;
}
.follow {
  padding-top: 0px;
  background: url("../img/bg/snow_bg_b_pc.png") center 14.286vw / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(37, 13, 159) 50%, rgb(58, 15, 141) 100%) left bottom / 100% calc(100% - 14.286vw) no-repeat;
}
.spacer {
  position: relative;
  width: 100%;
  aspect-ratio: 750 / 200;
  overflow: hidden;
  background-color: rgb(255, 255, 255);
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
}
.spacer::after {
  content: "";
  position: absolute;
  inset: 0px;
  background-position: center center;
  background-repeat: no-repeat;
  background-size: 100% 100%;
  pointer-events: none;
}
.spacer_a {
  background-image: url("../img/bg/spacer_a_bottom.png");
}
.spacer_a::after {
  background-image: url("../img/bg/spacer_a_top.png");
}
.spacer_b {
  background-image: url("../img/bg/spacer_b_bottom.png");
}
.spacer_b::after {
  background-image: url("../img/bg/spacer_b_top.png");
}
.spacer_c {
  background-image: url("../img/bg/spacer_c_bottom.png");
}
.spacer_c::after {
  background-image: url("../img/bg/spacer_c_top.png");
}
.spacer_d {
  background-image: url("../img/bg/spacer_d_bottom.png");
}
.spacer_d::after {
  background-image: url("../img/bg/spacer_d_top.png");
}
.spacer_track {
  position: absolute;
  top: 0px;
  left: 0px;
  display: flex;
  height: 100%;
  width: max-content;
  animation: spacer-scroll 80s linear infinite;
}
.spacer_track img {
  display: block;
  flex: 0 0 auto;
  height: 100%;
  width: auto;
}
@media (prefers-reduced-motion: reduce) {
  .spacer_track {
    animation: none;
  }
}
@media only screen and (max-width: 767px) {
  .schedule {
    background: url("../img/bg/snow_bg_a_sp.png") center top / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(37, 13, 159) 50%, rgb(58, 15, 141) 100%);
  }
  .event {
    background: url("../img/bg/snow_bg_b_sp.png") center 53.333vw / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(167, 20, 220) 50%, rgb(58, 15, 141) 100%) left bottom / 100% calc(100% - 53.333vw) no-repeat;
  }
  .gourmet {
    background: url("../img/bg/snow_bg_c_sp.png") center 53.333vw / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(37, 13, 159) 50%, rgb(58, 15, 141) 100%) left bottom / 100% calc(100% - 53.333vw) no-repeat;
  }
  .goods {
    background: url("../img/bg/snow_bg_a_sp.png") center 53.333vw / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(167, 20, 220) 50%, rgb(58, 15, 141) 100%) left bottom / 100% calc(100% - 53.333vw) no-repeat;
  }
  .follow {
    background: url("../img/bg/snow_bg_b_sp.png") center 53.333vw / 100% auto no-repeat, linear-gradient(rgb(102, 56, 182) 0%, rgb(37, 13, 159) 50%, rgb(58, 15, 141) 100%) left bottom / 100% calc(100% - 53.333vw) no-repeat;
  }
  .spacer {
    aspect-ratio: auto;
    height: 53.333vw;
  }
  .spacer, .spacer::after {
    background-size: auto 100%;
  }
}
.main-content::before {
  content: "";
  position: absolute;
  top: 0px;
  left: 0px;
  background-image: url("../img/top/kv_christmas.jpg");
  background-repeat: no-repeat;
  background-size: 100% auto;
  width: 100%;
  height: 100%;
  background-attachment: fixed;
  z-index: -1;
  transition: background-attachment 0.3s;
}
.goods .button {
  color: rgb(255, 255, 255);
  border: 0.07vw solid rgb(255, 255, 255);
}
.goods .button::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.goods .button:hover {
  color: rgb(96, 18, 191);
  background-color: rgb(255, 255, 255);
  border-color: rgb(255, 255, 255);
}
.goods .button:hover::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='%2351318F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='%2351318F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='%2351318F' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}
.schedule_date {
  gap: 4px;
  letter-spacing: 0px;
}
.schedule_date .slash {
  display: block;
  flex: 0 0 auto;
  width: 0.5vw;
  height: 1.429vw;
  background: currentcolor;
  transform: none;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 20'%3E%3Cpath d='M1 20L6 0' stroke='black' stroke-width='1.4' fill='none'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
  mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 7 20'%3E%3Cpath d='M1 20L6 0' stroke='black' stroke-width='1.4' fill='none'/%3E%3C/svg%3E") center / 100% 100% no-repeat;
}
@media only screen and (max-width: 767px) {
  .schedule_date .slash {
    width: 1.867vw;
    height: 5.333vw;
  }
}
.schedule_date .-blue {
  color: rgb(0, 69, 229);
}
.schedule_date .-red {
  color: rgb(204, 0, 0);
}
.schedule_item {
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0.143vw 0.714vw;
  background-color: rgb(255, 255, 255);
}
@media only screen and (min-width: 768px) {
  .schedule_item {
    height: 7.857vw;
  }
  .schedule_wrapper {
    padding-top: 5.714vw;
  }
  .headings {
    height: 8.571vw;
    filter: drop-shadow(rgba(30, 0, 87, 0.5) 0px 0.714vw 0.893vw);
  }
  .schedule_date .month {
    font-size: 2.286vw;
  }
  .heading_prim {
    width: 100%;
    font-size: 6.429vw;
    top: -1.143vw;
  }
  .heading_sec {
    top: 6.786vw;
    bottom: auto;
    font-size: 1.429vw;
    transform: translate(-50%, -50%);
  }
}
.follow {
  position: relative;
  min-height: 59.357vw;
  padding-bottom: 0px;
}
.follow_wrapper {
  position: relative;
  z-index: 1;
}
.follow_img {
  position: absolute;
  left: 0px;
  bottom: 0px;
  width: 100%;
  margin: 0px;
  padding: 0px;
  aspect-ratio: 750 / 447;
  z-index: 0;
  pointer-events: none;
  background: url("../img/bg/follow_snow_pc.svg") center center / 100% 100% no-repeat, url("../img/bg/follow_ellipse_pc.svg") center bottom / 100% auto no-repeat, url("../img/bg/follow_stadium.png") center top / 100% auto no-repeat;
}
.footer {
  background-color: rgb(250, 250, 250);
  margin-top: 0px;
}
.footer_wrapper {
  font-size: 0.571vw;
  line-height: 1.25;
  color: rgb(81, 49, 143);
  padding: 0px 0px 2.857vw;
}
@media only screen and (max-width: 767px) {
  .follow {
    min-height: 190.4vw;
  }
  .follow_img {
    aspect-ratio: 375 / 250;
    background: url("../img/bg/follow_snow_sp.svg") center center / 100% 100% no-repeat, url("../img/bg/follow_ellipse_sp.svg") center bottom -0.267vw / 118.133% auto no-repeat, url("../img/bg/follow_stadium.png") center top / 100% auto no-repeat;
  }
  .footer_wrapper {
    font-size: 2.133vw;
    padding: 0px 0px 10.667vw;
  }
}
.event, .gourmet, .goods, .follow, .footer {
  margin-top: -1px;
}
body {
  background: rgb(34, 34, 34);
}
.site-header__rgt .menu .heading_prim, .menu .heading_prim {
  font-family: "Imperial Script", cursive;
  font-size: 3.429vw;
  line-height: 1;
  text-shadow: none;
}
.menu .heading_sec {
  font-size: 1vw;
  text-shadow: none;
  -webkit-text-stroke: 0px;
}
.menu .headings {
  height: 4.929vw;
  margin-bottom: 2.857vw;
  filter: none;
}
.site-header__rgt .menu .heading_prim {
  top: -0.5vw;
}
.site-header__rgt .menu .heading_sec {
  top: 3.607vw;
  bottom: auto;
  transform: translate(-50%, -50%);
}
@media only screen and (max-width: 767px) {
  .headings {
    height: 27.467vw;
    filter: drop-shadow(rgba(30, 0, 87, 0.5) 0px 2.667vw 3.333vw);
  }
  .heading_prim {
    width: 100%;
    font-size: 18.667vw;
    top: -3.333vw;
  }
  .heading_sec {
    top: 20.667vw;
    bottom: auto;
    font-size: 5.333vw;
    transform: translate(-50%, -50%);
  }
  .schedule_date .week {
    font-weight: 900;
  }
  .menu .heading_prim {
    font-size: 10.667vw;
  }
  .menu .heading_sec {
    font-size: 3.733vw;
  }
  .menu .headings {
    height: 25.786vw;
    margin-bottom: 4vw;
  }
}
.event, .gourmet, .goods, .follow {
  background-color: rgb(102, 56, 182);
}
.tab_wrap .event_container {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 0.714vw;
  width: 23.929vw;
  padding: 0px 0px 1.429vw;
  background: rgb(255, 255, 255);
  border: 0px;
  border-radius: 0.571vw;
  box-shadow: rgba(0, 0, 0, 0.2) 0px 0.143vw 1.429vw;
  overflow: hidden;
  text-decoration: none;
  text-align: left;
}
.tab_wrap .event_container > img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 440 / 250;
  object-fit: cover;
}
.tab_wrap .event_info {
  position: relative;
  padding-top: 0px;
  padding-right: 3.571vw;
  padding-left: 1.429vw;
  background: transparent;
}
.tab_wrap .event_info::after {
  content: "";
  position: absolute;
  right: 1.429vw;
  top: 50%;
  width: 1.071vw;
  height: 1.071vw;
  transform: translateY(-50%);
  background: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='%236638B6' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center center / contain no-repeat;
}
.tab_wrap .event_ttl {
  margin: 0px 0px 0.714vw;
  font-size: 1vw;
  font-weight: 900;
  line-height: 1.5;
  color: rgb(81, 49, 143);
}
.tab_wrap .event_text {
  margin: 0px;
  font-size: 0.857vw;
  font-weight: 500;
  line-height: 1.5;
  color: rgb(0, 0, 0);
}
.tab_wrap .time {
  display: flex;
  align-items: flex-start;
  gap: 0.286vw;
  margin: 0.714vw 0px 0px;
  padding: 0px;
  background: transparent;
  border: 0px;
}
.tab_wrap .time_ttl {
  flex: 0 0 auto;
  margin: 0px;
  padding: 0.286vw 0.571vw;
  font-size: 0.571vw;
  font-weight: 700;
  line-height: 1.25;
  color: rgb(81, 49, 143);
  background: rgb(255, 255, 255);
  border: 0.071vw solid rgba(0, 0, 0, 0.25);
  border-radius: 0.286vw;
  white-space: nowrap;
}
.tab_wrap .time_text {
  margin: 0px;
  font-size: 0.857vw;
  font-weight: 500;
  line-height: 1.5;
  color: rgb(0, 0, 0);
}
.tab_wrap .notes {
  margin: 0.714vw 0px 0px;
  font-size: 0.571vw;
  line-height: 1.25;
  color: rgb(153, 153, 153);
}
@media only screen and (max-width: 767px) {
  .tab_wrap {
    gap: 5.333vw;
    max-width: 89.333vw;
  }
  .tab_wrap .event_container {
    width: 100%;
    gap: 2.667vw;
    padding-bottom: 5.333vw;
    border-radius: 2.133vw;
    box-shadow: rgba(0, 0, 0, 0.2) 0px 0.533vw 5.333vw;
  }
  .tab_wrap .event_info {
    padding: 0px 9.333vw 0px 5.333vw;
  }
  .tab_wrap .event_info::after {
    right: 5.333vw;
    width: 4vw;
    height: 4vw;
  }
  .tab_wrap .event_ttl {
    margin-bottom: 2.667vw;
    font-size: 3.733vw;
  }
  .tab_wrap .event_text, .tab_wrap .time_text {
    font-size: 3.2vw;
  }
  .tab_wrap .time {
    gap: 1.067vw;
    margin-top: 2.667vw;
  }
  .tab_wrap .time_ttl {
    padding: 1.067vw 2.133vw;
    font-size: 2.133vw;
    border-width: 0.267vw;
    border-radius: 1.067vw;
  }
  .tab_wrap .notes {
    margin-top: 2.667vw;
    font-size: 2.133vw;
  }
}
@media only screen and (min-width: 768px) {
  .main-content > .scrollable-content {
    flex: 0 0 53.571vw;
    width: 53.571vw;
    max-width: 53.571vw;
  }
  .main-content > .blur_effect {
    flex: 1 1 0px;
    min-width: 0px;
    max-width: none;
    width: auto;
  }
}
.event_wrapper, .gourmet_wrapper, .goods_wrapper, .follow_wrapper {
  padding-top: 2.857vw;
  margin-top: 0px;
}
.event_wrapper > .focusing, .gourmet_wrapper > .focusing, .goods_wrapper > .focusing, .follow_wrapper > .focusing, .event_wrapper .container, .gourmet_wrapper .container, .goods_wrapper .container, .follow_wrapper .container {
  padding-top: 0px;
  margin-top: 0px;
}
.event_wrapper .headings, .gourmet_wrapper .headings, .goods_wrapper .headings, .follow_wrapper .headings {
  margin-bottom: 2.857vw;
}
.tab_wrap .event_info {
  padding-bottom: 0px;
  margin: 0px;
}
@media only screen and (max-width: 767px) {
  .event_wrapper, .gourmet_wrapper, .goods_wrapper, .follow_wrapper {
    padding-top: 10.667vw;
  }
  .event_wrapper .headings, .gourmet_wrapper .headings, .goods_wrapper .headings, .follow_wrapper .headings {
    margin-bottom: 10.667vw;
  }
}
.tab_wrap .event_container {
  min-height: 0px;
}
.tab_wrap .event_container .event_info {
  padding-right: 3.571vw;
  padding-left: 1.429vw;
  margin: 0px;
}
.tab_wrap .event_container .event_ttl {
  margin: 0px 0px 0.714vw;
}
.tab_wrap .event_container .time {
  margin-top: 0.714vw;
  margin-right: 0px;
  margin-left: 0px;
}
@media only screen and (max-width: 767px) {
  .tab_wrap .event_container .event_info {
    padding: 0px 9.333vw 0px 5.333vw;
  }
  .tab_wrap .event_container .event_ttl {
    margin-bottom: 2.667vw;
  }
  .tab_wrap .event_container .time {
    margin-top: 2.667vw;
  }
}
.statement_bg_sp {
  display: none;
}
@media only screen and (max-width: 767px) {
  .schedule {
    padding-bottom: 16vw;
  }
  .schedule_list, .schedule_list.first {
    padding: 10.667vw 0px 5.333vw;
  }
  .statement {
    position: relative;
    display: block;
    margin-bottom: 10.667vw;
  }
  .statement_text {
    position: relative;
    z-index: 3;
    width: 100%;
    padding: 8vw 5.333vw 0px;
  }
  .statement_img {
    position: relative;
    z-index: 2;
    display: flex;
    flex-direction: column;
    gap: 5.333vw;
    width: 100%;
    padding: 0px;
    order: 0;
  }
  .statement_ttl {
    width: 71.2vw;
    margin: 0px auto;
  }
  .statement_people {
    width: 100%;
    margin: 0px;
  }
  .statement_bg_sp {
    position: absolute;
    z-index: 1;
    left: 0px;
    bottom: 0px;
    display: block;
    width: 100%;
    height: auto;
  }
}
.tab_wrap .event_container .event_info {
  padding-top: 0px !important;
  padding-bottom: 0px !important;
}
.tab_wrap .event_container .event_text {
  margin: 0px !important;
}
.tab_wrap .event_container .time {
  margin-bottom: 0px !important;
}
.tab_wrap .event_container .time_ttl {
  background: rgb(255, 255, 255) !important;
}
.spacer_b .spacer_track {
  left: -74.667%;
}
.spacer_c .spacer_track {
  left: -149.333%;
}
.spacer_d .spacer_track {
  left: -224%;
}
.tab_wrap .event_container {
  box-sizing: border-box;
}
@media only screen and (min-width: 768px) {
  .tab_wrap .event_container {
    width: calc(50% - 0.7145vw) !important;
  }
}
@media only screen and (max-width: 767px) {
  .hamburger {
    top: 2.667vw;
    right: 2.667vw;
    width: 10.667vw;
    height: 10.667vw;
    z-index: 10;
    box-shadow: rgba(0, 0, 0, 0.3) 0px 0px 2.667vw;
  }
  .hamburger span {
    position: absolute;
    left: 50%;
    width: 4vw;
    height: 0.4vw;
    margin: 0px;
    background-color: rgb(102, 56, 182);
    border-radius: 0.4vw;
    transform: translateX(-50%);
  }
  .hamburger span:nth-child(1) {
    top: 4.267vw;
  }
  .hamburger span:nth-child(2) {
    top: 5.333vw;
  }
  .hamburger span:nth-child(3) {
    top: 6.4vw;
  }
  .hamburger.is-opened span:nth-child(1), .hamburger.is-opened span:nth-child(3) {
    top: 5.333vw;
    left: 50%;
  }
  .hamburger.is-opened span:nth-child(1) {
    transform: translateX(-50%) rotate(45deg);
  }
  .hamburger.is-opened span:nth-child(3) {
    transform: translateX(-50%) rotate(-45deg);
  }
  .mobile-nav {
    width: 62.667vw;
    height: 115.733vw;
    padding: 16vw 0px 8vw;
    background-color: rgb(30, 0, 81);
    background-image: linear-gradient(rgba(10, 0, 41, 0.04) 0%, rgba(186, 52, 199, 0.16) 100%);
  }
  .mobile-nav .menu {
    width: 100%;
    margin: 0px;
  }
  .mobile-nav .menu .headings {
    width: 100%;
    height: 14.933vw;
    margin-bottom: 10.667vw;
    filter: none;
  }
  .mobile-nav .menu .headings .heading_prim {
    width: 100%;
    font-size: 8.533vw;
    top: -1.067vw;
  }
  .mobile-nav .menu .heading_sec, .mobile-nav .menu .heading_sec._02 {
    top: 10.4vw;
    bottom: auto;
    font-size: 3.2vw;
    font-weight: 800;
    transform: translate(-50%, -50%);
  }
}
@keyframes spacer-scroll {
  from { transform: translateX(0); }
  to { transform: translateX(-50%); }
}

/* 英字見出し：Figma は 2px の白い縁取り + 3px 下に紫 30% の複製（ナビは 1px） */
.container .headings .heading_prim {
	-webkit-text-stroke: 2px #fff;
	paint-order: stroke fill;
	text-shadow: none;
	filter: drop-shadow(2px 1px 0 #51318F);
}

/* カードが 1 件（または最終行が 1 件）のときも中央に配置 */
.tab_section .tab_content .tab_wrap {
  justify-content: center;
}

/* SP：Goods は 2 列（丸め誤差で 1 列に折り返さないよう、幅をコンテナの半分から算出） */
@media only screen and (max-width: 767px) {
  .goods_container {
    justify-content: flex-start;
  }
  .goods_item {
    flex: 0 0 calc((100% - 5.33vw) / 2);
    width: calc((100% - 5.33vw) / 2);
    max-width: none;
  }
  .goods_img {
    width: 100%;
  }
}

/* Goods：商品ごとの Coming Soon（Figma list_goods_li の info） */
.goods_comingsoon {
  box-sizing: border-box;
  width: 100%;
  margin-top: 0.571vw;
  padding: 0.571vw 0.714vw;
  border: 0.071vw solid #fff;
  border-radius: 0.714vw;
  opacity: 0.4;
  color: #fff;
  font-size: 0.857vw;
  font-weight: 500;
  line-height: 1.25;
  text-align: center;
}
@media only screen and (max-width: 767px) {
  .goods_comingsoon {
    margin-top: 2.133vw;
    padding: 2.133vw 2.667vw;
    border-width: 0.267vw;
    border-radius: 2.667vw;
    font-size: 3.2vw;
  }
}

/* 商品名は最大 2 行分の高さを確保し、Coming Soon の位置を揃える */
.goods_item .goods_content {
  min-height: 0 !important;
}
.goods_item .goods_ttl {
  min-height: 3em;
  margin-bottom: 0;
  line-height: 1.5;
}

/* ===== Figma（cATlxLU60ywKwf04BrUovj）との差分補正 ===== */
/* ボタン：高さ 41px（14px × 行間 1.5 + 上下 10px、枠線込み） */
.button {
  line-height: 1.5;
}
/* Goods のボタンは他と同じ白枠・白文字 */
.goods .button {
  color: #fff;
  border-color: #fff;
}
.goods .button::before {
  background-image: url("data:image/svg+xml,%3Csvg width='15' height='15' viewBox='0 0 15 15' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M8.62012 1.54163H13.6601V6.41663' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M11.4201 9.12504V13.4584H1.34009V3.70837H5.82009' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3Cpath d='M6.93994 8.04171L13.0999 2.08337' stroke='white' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E%0A");
}

@media only screen and (min-width: 768px) {
  .hero {
    margin-bottom: 0;
  }
  /* Schedule：見出し 120px + 40px → リスト（カード間 20px）→ 20px → ボタン、グループ間 40px */
  .schedule_wrapper {
    padding-top: 5.714vw;
  }
  .schedule .headings {
    margin-bottom: 2.857vw;
  }
  .schedule_list,
  .schedule_list.first {
    padding: 0;
  }
  .schedule .button {
    margin-top: 1.429vw;
  }
  .schedule_list:not(.first) {
    margin-top: 2.857vw;
  }
  /* Event ステートメント：テキスト 335px + 画像 355px、高さ 298.67px */
  .statement {
    min-height: 21.333vw;
  }
  .statement_text {
    flex: 0 0 47.917%;
    width: auto;
  }
  /* カード：本文幅 270px（左 20px・右 45px） */
  .tab_wrap .event_container .event_info {
    padding-right: 3.214vw;
  }
  /* Goods：行間 40px */
  .goods_container {
    gap: 2.857vw 1.429vw;
  }
}
.goods_img img {
  display: block;
}
@media only screen and (max-width: 767px) {
  .tab_wrap .event_container .event_info {
    padding-right: 12vw;
  }
  .goods_container {
    row-gap: 10.667vw;
  }
}

@media only screen and (min-width: 768px) {
  .button {
    padding-top: 0.643vw;
    padding-bottom: 0.643vw;
  }
}
@media only screen and (max-width: 767px) {
  .button {
    padding-top: 2.4vw;
    padding-bottom: 2.4vw;
  }
  .schedule_item {
    height: 29.333vw;
  }
}
/* Goods の Coming Soon：枠線込みで高さ 31px */
.goods_comingsoon {
  padding-top: 0.5vw;
  padding-bottom: 0.5vw;
}
@media only screen and (max-width: 767px) {
  .goods_comingsoon {
    padding-top: 1.867vw;
    padding-bottom: 1.867vw;
  }
}
@media only screen and (min-width: 768px) {
  .statement_text {
    flex: 0 0 48.551%;
  }
}

/* セクション下の余白は 60px（Figma：inner の下 60px）。Goods の注釈・ボタン周りも寸法どおりに */
@media only screen and (min-width: 768px) {
  .event_wrapper,
  .gourmet_wrapper,
  .goods_wrapper {
    padding-bottom: 4.286vw;
    margin-bottom: 0;
  }
  .goods_precaution {
    padding: 0;
    margin-bottom: 0;
  }
  .event .focusing,
  .gourmet .focusing,
  .goods .focusing {
    padding-bottom: 0;
    margin-bottom: 0;
  }
}
@media only screen and (min-width: 768px) {
  .event,
  .gourmet,
  .goods {
    padding-bottom: 0;
  }
  .event_wrapper .container,
  .gourmet_wrapper .container,
  .goods_wrapper .container {
    padding-bottom: 0;
  }
}

/* Goods：画像 → 10px → 商品名 → 8px → Coming Soon */
.goods_item .goods_content {
  margin: 0.714vw 0 0;
}
@media only screen and (max-width: 767px) {
  .goods_item .goods_content {
    margin-top: 2.667vw;
  }
}

/* SP：セクション下の余白 60px、Goods の注釈・ボタン周りをデザイン寸法に */
@media only screen and (max-width: 767px) {
  .event,
  .gourmet,
  .goods {
    padding-bottom: 0;
  }
  .event_wrapper,
  .gourmet_wrapper,
  .goods_wrapper {
    padding-bottom: 16vw;
    margin-bottom: 0;
  }
  .event_wrapper .container,
  .gourmet_wrapper .container,
  .goods_wrapper .container {
    padding-bottom: 0;
  }
  .goods_precaution {
    padding: 0;
    margin-bottom: 0;
  }
}

/* Event ステートメント：選手サンタの写真を下揃えにし、写真の下に余白が出ないようにする（PC） */
.statement_img {
  align-self: flex-end;
}

/* Event ステートメント：1200〜1439px は横並びのまま、テキストを画面幅に合わせて縮小して改行位置を保つ（1440px で 14px） */
@media only screen and (min-width: 1200px) and (max-width: 1439px) {
  .statement_text {
    padding: 1.389vw;
    font-size: 0.972vw;
  }
  .statement_text p + p {
    margin-top: 0.972vw;
  }
}

/* Event ステートメント：768〜1199px は横並びだとテキストが細かく折り返して崩れるため、SP と同じ縦積みにする */
@media only screen and (min-width: 768px) and (max-width: 1199px) {
  .statement {
    flex-direction: column;
    align-items: stretch;
    min-height: 0;
  }
  .statement_text {
    flex: none;
    width: 100%;
    padding: 32px 20px 0;
  }
  .statement_img {
    display: flex;
    flex-direction: column;
    gap: 20px;
    align-self: stretch;
    width: 100%;
    padding: 0;
  }
  .statement_ttl {
    width: 267px;
    margin: 0 auto;
  }
  .statement_people {
    width: 100%;
    margin: 0;
  }
  .statement_bg.pc_only {
    display: none;
  }
  .statement_bg_sp.sp_only {
    position: absolute;
    z-index: 1;
    left: 0;
    bottom: 0;
    display: block;
    width: 100%;
    height: auto;
  }
}

/* Event・Gourmet カード：実施タイミングの日程テキストは 12px を上限に、それより狭い画面では本文と同じく画面幅に合わせて縮小する（大きくはしない） */
.tab_section .tab_content .tab_wrap .event_container .time_text {
  font-size: min(0.857vw, 12px);
}
@media only screen and (max-width: 767px) {
  .tab_section .tab_content .tab_wrap .event_container .time_text {
    font-size: min(3.2vw, 12px);
  }
}
