/*! destyle.css v2.0.2 | MIT License | https://github.com/nicolas-cusan/destyle.css */
*,
:after,
:before {
	box-sizing: border-box;
	border-width: 0;
	border-style: solid
}

html {
	-webkit-text-size-adjust: 100%;
	-webkit-tap-highlight-color: transparent;
	line-height: 1.15
}

body {
	margin: 0
}

main {
	display: block
}

address,
blockquote,
dl,
figure,
form,
iframe,
p,
pre,
table {
	margin: 0
}

h1,
h2,
h3,
h4,
h5,
h6 {
	margin: 0;
	font-weight: inherit;
	font-size: inherit;
	line-height: inherit
}

ol,
ul {
	margin: 0;
	padding: 0
}

dt {
	font-weight: 700
}

dd {
	margin-left: 0
}

hr {
	box-sizing: content-box;
	height: 0;
	margin: 0;
	clear: both;
	overflow: visible;
	border-top-width: 1px;
	color: inherit
}

pre {
	font-size: inherit;
	font-family: monospace, monospace
}

address {
	font-style: inherit
}

a {
	background-color: transparent;
	color: inherit;
	text-decoration: none
}

abbr[title] {
	-webkit-text-decoration: underline dotted;
	text-decoration: underline;
	text-decoration: underline dotted
}

b,
strong {
	font-weight: 700
}

code,
kbd,
samp {
	font-size: inherit;
	font-family: monospace, monospace
}

small {
	font-size: 80%
}

sub,
sup {
	position: relative;
	font-size: 75%;
	line-height: 0;
	vertical-align: baseline
}

sub {
	bottom: -.25em
}

sup {
	top: -.5em
}

embed,
iframe,
img,
object {
	vertical-align: bottom
}

button,
input,
optgroup,
select,
textarea {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	margin: 0;
	padding: 0;
	border-radius: 0;
	outline: 0;
	background: transparent;
	color: inherit;
	font: inherit;
	text-align: inherit;
	vertical-align: middle
}

[type=checkbox] {
	-webkit-appearance: checkbox;
	-moz-appearance: checkbox;
	appearance: checkbox
}

[type=radio] {
	-webkit-appearance: radio;
	-moz-appearance: radio;
	appearance: radio
}

button,
input {
	overflow: visible
}

button,
select {
	text-transform: none
}

[type=button],
[type=reset],
[type=submit],
button {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	cursor: pointer
}

[type=button][disabled],
[type=reset][disabled],
[type=submit][disabled],
button[disabled] {
	cursor: default
}

[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner,
button::-moz-focus-inner {
	padding: 0;
	border-style: none
}

[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring,
button:-moz-focusring {
	outline: 1px dotted #ccc
}

fieldset,
option {
	padding: 0
}

fieldset {
	min-width: 0;
	margin: 0
}

legend {
	display: table;
	max-width: 100%;
	padding: 0;
	color: inherit;
	white-space: normal
}

progress {
	vertical-align: baseline
}

textarea {
	overflow: auto
}

[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto
}

[type=search] {
	outline-offset: -2px
}

[type=search]::-webkit-search-decoration {
	-webkit-appearance: none
}

::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit
}

label[for] {
	cursor: pointer
}

details {
	display: block
}

summary {
	display: list-item
}

[contenteditable] {
	outline: none
}

table {
	border-spacing: 0
}

caption {
	text-align: left
}

td,
th {
	padding: 0;
	vertical-align: top
}

th {
	font-weight: 700;
	text-align: left
}

[hidden],
template {
	display: none
}

* {
	-webkit-overflow-scrolling: touch
}

*,
:after,
:before {
	box-sizing: border-box
}

:focus-visible {
	outline: 2px solid #f0f;
	outline-offset: 2px
}

html {
	-webkit-font-smoothing: antialiased;
	-webkit-tap-highlight-color: rgba(0, 0, 0, 0);
	font-size: 10px;
	scroll-behavior: smooth;
	scroll-padding-top: 50px
}

body {
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	min-width: 1080px;
	background-color: #000;
	color: #fff;
	font-size: 1.6rem;
	line-height: 1;
	font-family: Hina Mincho, Helvetica Neue, Helvetica, Hiragino Sans, Hiragino Kaku Gothic ProN, Arial, 游ゴシック体, YuGothic, 游ゴシック Medium, Yu Gothic Medium, 游ゴシック, Yu Gothic, Meiryo, sans-serif
}

a,
button {
	outline: none;
	color: #000;
	text-decoration: none
}

img,
svg,
video {
	display: inline-block;
	max-width: 100%;
	height: auto;
	vertical-align: bottom;
	image-rendering: -webkit-optimize-contrast
}

table {
	width: 100%;
	max-width: 100%;
	border-collapse: collapse
}

table td,
table th {
	vertical-align: top
}

input::-ms-clear {
	display: none
}

ol,
ul {
	list-style: none;
	list-style-position: inside
}

button,
input,
select,
textarea {
	font-family: inherit
}

select::-ms-expand {
	display: none
}

button:focus {
	outline: none
}

.l-ftr-box {
	padding: 36px 0 90px;
	background: url(../images/ftr/footer_bg@2x.jpg) no-repeat;
	background-size: 100%
}

.l-ftr-box,
.l-ftr-box__logoArea {
	display: flex;
	flex-direction: column;
	align-items: center
}

.l-ftr-box__logoArea {
	z-index: 3;
	position: relative
}

.l-ftr-box__logoArea .tit {
	margin-top: 31px;
	color: #fff;
	font-weight: 400;
	font-size: 28px;
	line-height: 1
}

.l-ftr-box__info {
	z-index: 3;
	position: Frelative;
	margin-top: 30px
}

.l-ftr-box__info .infoItem {
	display: flex;
	gap: 40px
}

.l-ftr-box__info .infoItem+.infoItem {
	margin-top: 20px
}

.l-ftr-box__info .infoItem .tit {
	font-weight: 400;
	font-size: 18px;
	line-height: 2
}

.l-ftr-box__info .infoItem .helpList .lisiItem {
	font-weight: 400;
	font-size: 16px;
	line-height: 2.25
}

.l-ftr-box__info .infoItem .helpList .lisiItem+.lisiItem {
	margin-top: 10px
}

.l-ftr-box__igArea {
	z-index: 3;
	position: relative;
	margin-top: 30px
}

.l-ftr-bottom {
	padding: 30px 0;
	border-top: 1px solid #bb9f62
}

.l-ftr-bottom__contactArea {
	z-index: 3;
	position: relative;
	max-width: 515px;
	margin: 0 auto
}

.l-ftr-bottom__contactArea .titArea {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px
}

.l-ftr-bottom__contactArea .titArea .tit {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.25
}

.l-ftr-bottom__contactArea .titArea .logo {
	width: 190px
}

.l-ftr-bottom__contactArea .titArea .caution {
	font-weight: 400;
	font-size: 12px;
	line-height: 1.6666666667;
	letter-spacing: .05em
}

.l-ftr-bottom__contactArea .telArea {
	display: flex;
	align-items: flex-end;
	justify-content: center;
	margin-top: 22px;
	gap: 40px
}

.l-ftr-bottom__contactArea .telArea .numLink {
	display: flex;
	gap: 10px
}

.l-ftr-bottom__contactArea .telArea .numLink .num {
	color: #fff;
	font-weight: 400;
	font-size: 44px;
	line-height: 1;
	letter-spacing: .05em
}

.l-ftr-bottom__contactArea .telArea .date {
	font-weight: 400;
	font-size: 14px;
	line-height: 1
}

.l-ftr-bottom__contactArea .infoArea {
	margin-top: 10px
}

.l-ftr-bottom__contactArea .infoArea .address .icon {
	width: 10px
}

.l-ftr-bottom__contactArea .infoArea .address .text {
	font-weight: 400;
	font-size: 14px;
	line-height: 1
}

.l-ftr-bottom__contactArea .infoArea .mail {
	margin-top: 5px
}

.l-ftr-bottom__contactArea .btnArea {
	display: flex;
	justify-content: center;
	margin-top: 20px
}

.l-ftr-bottom__contactArea .btnArea .btn {
	width: 100%;
	padding: 15px 0;
	border-radius: 10px;
	background-color: #fff;
	font-weight: 700;
	font-size: 18px;
	line-height: 1.1111111111;
	text-align: center
}

.l-ftr-bottom__copy {
	z-index: 3;
	position: relative;
	margin-top: 55px;
	text-align: center
}

.l-ftr-bottom__copy .copy {
	font-weight: 400;
	font-size: 18px;
	line-height: 1.1111111111
}

.l-hdr {
	z-index: 99;
	position: fixed;
	top: 0;
	right: 0;
	left: 0
}

.l-hdr-box {
	display: flex;
	justify-content: space-between;
	padding: 22px 0
}

.l-hdr-box__logo {
	z-index: 98;
	position: relative
}

.l-hdr-box__logo .logo {
	transition: none
}

.l-hdr-box__contents,
.l-hdr-box__contents .linkArea {
	display: flex;
	gap: 20px
}

.l-hdr-box__contents .linkArea .itemLink {
	height: 48px
}

.l-hdr-box__contents .linkArea .itemLink:first-child {
	margin-top: 5px
}

.l-hdr-box__contents .hamArea .ham {
	display: flex;
	z-index: 999;
	position: relative;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	border-radius: 50%;
	background-color: #fff
}

.l-hdr-box__contents .hamArea .ham span {
	display: block;
	width: 20px;
	height: 1px;
	background-color: #000;
	transition: .4s
}

.l-hdr-box__contents .hamArea .ham span:first-child {
	margin-bottom: 6px
}

.l-hdr-box__contents .hamArea .ham span:nth-child(3) {
	margin-top: 6px
}

.l-hdr-box__contents .hamArea .ham.is-active span:first-child {
	margin-bottom: -1px;
	transform: rotate(45deg)
}

.l-hdr-box__contents .hamArea .ham.is-active span:nth-child(2) {
	width: 0
}

.l-hdr-box__contents .hamArea .ham.is-active span:nth-child(3) {
	margin-top: -1px;
	transform: rotate(-45deg)
}

.l-hdr-box__navArea {
	display: none;
	z-index: 99;
	position: fixed;
	top: 0;
	right: 0;
	width: 50%;
	height: 100svh;
	padding: 119px 98px 41px;
	overflow-y: scroll;
	background-color: #bb9f62
}

.l-hdr-box__navArea .mainNav {
	max-width: 385px;
	margin: 0 auto
}

.l-hdr-box__navArea .mainNav .navItem {
	display: flex;
	align-items: center;
	padding: 10px 22px;
	gap: 28px
}

.l-hdr-box__navArea .mainNav .navItem+.navItem {
	border-top: 1px solid #fff
}

.l-hdr-box__navArea .mainNav .navItem .navImg {
	display: flex;
	justify-content: center;
	min-width: 44px
}

.l-hdr-box__navArea .mainNav .navItem .navText {
	color: #fff;
	font-weight: 400;
	font-size: 28px;
	line-height: 2.5
}

.l-hdr-box__navArea .btnArea {
	margin-top: 50px
}

.l-hdr-box__navArea .btnArea .ticketBtn {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	padding: 18px 20px 18px 0;
	gap: 20px;
	border-radius: 38px;
	background-color: #d71518
}

.l-hdr-box__navArea .btnArea .ticketBtn:after {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 22px;
	height: 24px;
	transform: translateY(-50%);
	background: url(../images/hdr/arrow.svg) no-repeat;
	background-size: 22px;
	content: "";
	transition: all .4s
}

.l-hdr-box__navArea .btnArea .ticketBtn:hover:after {
	transform: translateY(-50%) translateX(10px)
}

.l-hdr-box__navArea .btnArea .ticketBtn .text {
	color: #fff;
	font-weight: 400;
	font-size: 32px;
	line-height: 1.25;
	letter-spacing: .05em
}

.l-hdr-box__navArea .igArea {
	display: flex;
	justify-content: center;
	margin-top: 30px
}

.l-hdr-box__navArea .contactArea {
	max-width: 470px;
	margin: 40px auto 0
}

.l-hdr-box__navArea .contactArea .tit {
	font-weight: 400;
	font-size: 20px;
	line-height: 1.5
}

.l-hdr-box__navArea .contactArea .logoArea {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 11px
}

.l-hdr-box__navArea .contactArea .logoArea .text {
	font-weight: 400;
	font-size: 14px;
	line-height: 1.4285714286;
	letter-spacing: .05em
}

.l-hdr-box__navArea .contactArea .telArea .telLink {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 12px;
	gap: 13px
}

.l-hdr-box__navArea .contactArea .telArea .telLink .num {
	color: #fff;
	font-weight: 400;
	font-size: 56px;
	line-height: 1;
	letter-spacing: .05em
}

.l-hdr-box__navArea .contactArea .telArea .caution {
	margin-top: 11px;
	font-weight: 400;
	font-size: 18px;
	line-height: 1;
	text-align: right
}

.l-hdr-box__navArea .contactArea .mailArea {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-top: 20px;
	padding: 13px;
	border-radius: 10px;
	background-color: #fff;
	font-weight: 400;
	font-size: 18px;
	line-height: 1
}

.c-pankuzu {
	padding: 12px 0;
	background-color: #e6f2f8
}

.c-pankuzu ul {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	width: 100%;
	-webkit-line-clamp: 1;
	overflow: hidden
}

.c-pankuzu ul li {
	display: inline
}

.c-pankuzu ul li+li:before {
	margin: 0 3px;
	content: ">";
	color: #000
}

.c-pankuzu ul li a,
.c-pankuzu ul li span {
	font-size: 16px
}

.c-pankuzu__list {
	-webkit-box-orient: vertical;
	display: -webkit-box;
	width: 100%;
	-webkit-line-clamp: 1;
	overflow: hidden
}

.c-pankuzu__list>span+span:before {
	margin: 0 3px;
	content: ">";
	color: #000;
	font-size: 14px
}

.c-pankuzu__list>span>a,
.c-pankuzu__list>span>span {
	font-size: 14px
}

.c-titA {
	display: flex;
	z-index: 3;
	position: relative;
	flex-direction: column;
	align-items: center
}

.c-titA__icon {
	margin-bottom: 30px
}

.c-titA__icon--main {
	width: 87px
}

.c-titA__icon--food {
	width: 160px
}

.c-titA__en {
	font-weight: 400;
	font-weight: 700;
	font-size: 60px;
	line-height: 1.1666666667;
	letter-spacing: .1em
}

.c-titA__en--red {
	color: #d71518
}

.c-titA__en--blue {
	color: #63b4df
}

.c-titA__en--orange {
	color: #f39800
}

.c-titA__jp {
	font-weight: 400;
	font-size: 32px;
	line-height: 2.1875
}

.c-inner {
	width: calc(100% - 40px);
	max-width: 1120px;
	margin-right: auto;
	margin-left: auto
}

.c-inner--hdr {
	width: auto;
	max-width: none;
	padding: 0 47px
}

.c-ofi {
	-o-object-fit: cover;
	-o-object-position: center;
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center;
	font-family: "object-fit: cover;, object-position: center;"
}

.mb5 {
	margin-bottom: 5px !important
}

.mt5 {
	margin-top: 5px !important
}

.mb10 {
	margin-bottom: 10px !important
}

.mt10 {
	margin-top: 10px !important
}

.mb15 {
	margin-bottom: 15px !important
}

.mt15 {
	margin-top: 15px !important
}

.mb20 {
	margin-bottom: 20px !important
}

.mt20 {
	margin-top: 20px !important
}

.mb25 {
	margin-bottom: 25px !important
}

.mt25 {
	margin-top: 25px !important
}

.mb30 {
	margin-bottom: 30px !important
}

.mt30 {
	margin-top: 30px !important
}

.mb35 {
	margin-bottom: 35px !important
}

.mt35 {
	margin-top: 35px !important
}

.mb40 {
	margin-bottom: 40px !important
}

.mt40 {
	margin-top: 40px !important
}

.mb45 {
	margin-bottom: 45px !important
}

.mt45 {
	margin-top: 45px !important
}

.mb50 {
	margin-bottom: 50px !important
}

.mt50 {
	margin-top: 50px !important
}

.mb55 {
	margin-bottom: 55px !important
}

.mt55 {
	margin-top: 55px !important
}

.mb60 {
	margin-bottom: 60px !important
}

.mt60 {
	margin-top: 60px !important
}

.mb65 {
	margin-bottom: 65px !important
}

.mt65 {
	margin-top: 65px !important
}

.mb70 {
	margin-bottom: 70px !important
}

.mt70 {
	margin-top: 70px !important
}

.mb75 {
	margin-bottom: 75px !important
}

.mt75 {
	margin-top: 75px !important
}

.mb80 {
	margin-bottom: 80px !important
}

.mt80 {
	margin-top: 80px !important
}

.mb85 {
	margin-bottom: 85px !important
}

.mt85 {
	margin-top: 85px !important
}

.mb90 {
	margin-bottom: 90px !important
}

.mt90 {
	margin-top: 90px !important
}

.mb95 {
	margin-bottom: 95px !important
}

.mt95 {
	margin-top: 95px !important
}

.mb100 {
	margin-bottom: 100px !important
}

.mt100 {
	margin-top: 100px !important
}

.mb105 {
	margin-bottom: 105px !important
}

.mt105 {
	margin-top: 105px !important
}

.mb110 {
	margin-bottom: 110px !important
}

.mt110 {
	margin-top: 110px !important
}

.mb115 {
	margin-bottom: 115px !important
}

.mt115 {
	margin-top: 115px !important
}

.mb120 {
	margin-bottom: 120px !important
}

.mt120 {
	margin-top: 120px !important
}

.mb125 {
	margin-bottom: 125px !important
}

.mt125 {
	margin-top: 125px !important
}

.mb130 {
	margin-bottom: 130px !important
}

.mt130 {
	margin-top: 130px !important
}

.mb135 {
	margin-bottom: 135px !important
}

.mt135 {
	margin-top: 135px !important
}

.mb140 {
	margin-bottom: 140px !important
}

.mt140 {
	margin-top: 140px !important
}

.mb145 {
	margin-bottom: 145px !important
}

.mt145 {
	margin-top: 145px !important
}

.mb150 {
	margin-bottom: 150px !important
}

.mt150 {
	margin-top: 150px !important
}

.mb155 {
	margin-bottom: 155px !important
}

.mt155 {
	margin-top: 155px !important
}

.mb160 {
	margin-bottom: 160px !important
}

.mt160 {
	margin-top: 160px !important
}

.mb165 {
	margin-bottom: 165px !important
}

.mt165 {
	margin-top: 165px !important
}

.mb170 {
	margin-bottom: 170px !important
}

.mt170 {
	margin-top: 170px !important
}

.mb175 {
	margin-bottom: 175px !important
}

.mt175 {
	margin-top: 175px !important
}

.mb180 {
	margin-bottom: 180px !important
}

.mt180 {
	margin-top: 180px !important
}

.mb185 {
	margin-bottom: 185px !important
}

.mt185 {
	margin-top: 185px !important
}

.mb190 {
	margin-bottom: 190px !important
}

.mt190 {
	margin-top: 190px !important
}

.mb195 {
	margin-bottom: 195px !important
}

.mt195 {
	margin-top: 195px !important
}

.mb200 {
	margin-bottom: 200px !important
}

.mt200 {
	margin-top: 200px !important
}

.mb205 {
	margin-bottom: 205px !important
}

.mt205 {
	margin-top: 205px !important
}

.mb210 {
	margin-bottom: 210px !important
}

.mt210 {
	margin-top: 210px !important
}

.mb215 {
	margin-bottom: 215px !important
}

.mt215 {
	margin-top: 215px !important
}

.mb220 {
	margin-bottom: 220px !important
}

.mt220 {
	margin-top: 220px !important
}

.mb225 {
	margin-bottom: 225px !important
}

.mt225 {
	margin-top: 225px !important
}

.mb230 {
	margin-bottom: 230px !important
}

.mt230 {
	margin-top: 230px !important
}

.mb235 {
	margin-bottom: 235px !important
}

.mt235 {
	margin-top: 235px !important
}

.mb240 {
	margin-bottom: 240px !important
}

.mt240 {
	margin-top: 240px !important
}

.mb245 {
	margin-bottom: 245px !important
}

.mt245 {
	margin-top: 245px !important
}

.mb250 {
	margin-bottom: 250px !important
}

.mt250 {
	margin-top: 250px !important
}

.mb255 {
	margin-bottom: 255px !important
}

.mt255 {
	margin-top: 255px !important
}

.mb260 {
	margin-bottom: 260px !important
}

.mt260 {
	margin-top: 260px !important
}

.mb265 {
	margin-bottom: 265px !important
}

.mt265 {
	margin-top: 265px !important
}

.mb270 {
	margin-bottom: 270px !important
}

.mt270 {
	margin-top: 270px !important
}

.mb275 {
	margin-bottom: 275px !important
}

.mt275 {
	margin-top: 275px !important
}

.mb280 {
	margin-bottom: 280px !important
}

.mt280 {
	margin-top: 280px !important
}

.mb285 {
	margin-bottom: 285px !important
}

.mt285 {
	margin-top: 285px !important
}

.mb290 {
	margin-bottom: 290px !important
}

.mt290 {
	margin-top: 290px !important
}

.mb295 {
	margin-bottom: 295px !important
}

.mt295 {
	margin-top: 295px !important
}

.mb300 {
	margin-bottom: 300px !important
}

.mt300 {
	margin-top: 300px !important
}

.mb305 {
	margin-bottom: 305px !important
}

.mt305 {
	margin-top: 305px !important
}

.mb310 {
	margin-bottom: 310px !important
}

.mt310 {
	margin-top: 310px !important
}

.mb315 {
	margin-bottom: 315px !important
}

.mt315 {
	margin-top: 315px !important
}

.mb320 {
	margin-bottom: 320px !important
}

.mt320 {
	margin-top: 320px !important
}

.mb325 {
	margin-bottom: 325px !important
}

.mt325 {
	margin-top: 325px !important
}

.mb330 {
	margin-bottom: 330px !important
}

.mt330 {
	margin-top: 330px !important
}

.mb335 {
	margin-bottom: 335px !important
}

.mt335 {
	margin-top: 335px !important
}

.mb340 {
	margin-bottom: 340px !important
}

.mt340 {
	margin-top: 340px !important
}

.mb345 {
	margin-bottom: 345px !important
}

.mt345 {
	margin-top: 345px !important
}

.mb350 {
	margin-bottom: 350px !important
}

.mt350 {
	margin-top: 350px !important
}

.mb355 {
	margin-bottom: 355px !important
}

.mt355 {
	margin-top: 355px !important
}

.mb360 {
	margin-bottom: 360px !important
}

.mt360 {
	margin-top: 360px !important
}

.mb365 {
	margin-bottom: 365px !important
}

.mt365 {
	margin-top: 365px !important
}

.mb370 {
	margin-bottom: 370px !important
}

.mt370 {
	margin-top: 370px !important
}

.mb375 {
	margin-bottom: 375px !important
}

.mt375 {
	margin-top: 375px !important
}

.mb380 {
	margin-bottom: 380px !important
}

.mt380 {
	margin-top: 380px !important
}

.mb385 {
	margin-bottom: 385px !important
}

.mt385 {
	margin-top: 385px !important
}

.mb390 {
	margin-bottom: 390px !important
}

.mt390 {
	margin-top: 390px !important
}

.mb395 {
	margin-bottom: 395px !important
}

.mt395 {
	margin-top: 395px !important
}

.mb400 {
	margin-bottom: 400px !important
}

.mt400 {
	margin-top: 400px !important
}

.mb405 {
	margin-bottom: 405px !important
}

.mt405 {
	margin-top: 405px !important
}

.mb410 {
	margin-bottom: 410px !important
}

.mt410 {
	margin-top: 410px !important
}

.mb415 {
	margin-bottom: 415px !important
}

.mt415 {
	margin-top: 415px !important
}

.mb420 {
	margin-bottom: 420px !important
}

.mt420 {
	margin-top: 420px !important
}

.mb425 {
	margin-bottom: 425px !important
}

.mt425 {
	margin-top: 425px !important
}

.mb430 {
	margin-bottom: 430px !important
}

.mt430 {
	margin-top: 430px !important
}

.mb435 {
	margin-bottom: 435px !important
}

.mt435 {
	margin-top: 435px !important
}

.mb440 {
	margin-bottom: 440px !important
}

.mt440 {
	margin-top: 440px !important
}

.mb445 {
	margin-bottom: 445px !important
}

.mt445 {
	margin-top: 445px !important
}

.mb450 {
	margin-bottom: 450px !important
}

.mt450 {
	margin-top: 450px !important
}

.mb455 {
	margin-bottom: 455px !important
}

.mt455 {
	margin-top: 455px !important
}

.mb460 {
	margin-bottom: 460px !important
}

.mt460 {
	margin-top: 460px !important
}

.mb465 {
	margin-bottom: 465px !important
}

.mt465 {
	margin-top: 465px !important
}

.mb470 {
	margin-bottom: 470px !important
}

.mt470 {
	margin-top: 470px !important
}

.mb475 {
	margin-bottom: 475px !important
}

.mt475 {
	margin-top: 475px !important
}

.mb480 {
	margin-bottom: 480px !important
}

.mt480 {
	margin-top: 480px !important
}

.mb485 {
	margin-bottom: 485px !important
}

.mt485 {
	margin-top: 485px !important
}

.mb490 {
	margin-bottom: 490px !important
}

.mt490 {
	margin-top: 490px !important
}

.mb495 {
	margin-bottom: 495px !important
}

.mt495 {
	margin-top: 495px !important
}

.mb500 {
	margin-bottom: 500px !important
}

.mt500 {
	margin-top: 500px !important
}

.c-center {
	text-align: center
}

.c-left {
	text-align: left
}

.c-right {
	text-align: right
}

.c-noto {
	font-family: "Noto Serif JP", serif
}

.c-shine {
	position: relative;
	overflow: hidden;
	border-radius: 10px;
	transition: .3s
}

.c-shine:before {
	-webkit-animation: shine 3s ease-in-out infinite;
	display: inline-block;
	position: absolute;
	top: -180px;
	left: 0;
	width: 30px;
	height: 100%;
	background-color: #ffcbcb;
	content: "";
	animation: shine 3s ease-in-out infinite;
	transition: .3s
}

@-webkit-keyframes shine {
	0% {
		transform: scale(0) rotate(45deg);
		opacity: 0
	}

	70% {
		transform: scale(0) rotate(45deg);
		opacity: .5
	}

	73% {
		transform: scale(4) rotate(45deg);
		opacity: 1
	}

	87% {
		transform: scale(50) rotate(45deg);
		opacity: 0
	}

	to {
		transform: scale(50) rotate(45deg);
		opacity: 0
	}
}

@keyframes shine {
	0% {
		transform: scale(0) rotate(45deg);
		opacity: 0
	}

	70% {
		transform: scale(0) rotate(45deg);
		opacity: .5
	}

	73% {
		transform: scale(4) rotate(45deg);
		opacity: 1
	}

	87% {
		transform: scale(50) rotate(45deg);
		opacity: 0
	}

	to {
		transform: scale(50) rotate(45deg);
		opacity: 0
	}
}

#top #snow_particlesjs {
	z-index: 1;
	position: fixed;
	width: 100%;
	height: 100%;
	pointer-events: none
}

#top .p-mv {
	position: relative;
	padding: 100px 0 220px;
	background: url(../images/top/fv@2x.jpg) no-repeat;
	background-size: 100%
}

#top .p-mv-logo {
	display: flex;
	z-index: 3;
	position: relative;
	justify-content: center
}

#top .p-mv-logo img {
	width: 420px
}

#top .p-sec01 {
	position: relative;
	padding-bottom: 95px;
	background: url(../images/top/bg01@2x.png);
	background-size: 100%
}

#top .p-sec01__curve {
	z-index: 3;
	position: absolute;
	margin-top: -15%
}

#top .p-sec01__curve img {
	width: 100%
}

#top .p-sec01-contents {
	z-index: 4;
	position: relative;
	max-width: 680px;
	margin: 0 auto
}

#top .p-sec01-contents__titArea .firstArea {
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 20px;
	gap: 20px
}

#top .p-sec01-contents__titArea .firstArea .text {
	font-weight: 400;
	font-size: 32px;
	line-height: .75;
	letter-spacing: .05em
}

#top .p-sec01-contents__titArea .firstArea img {
	width: 33px
}

#top .p-sec01-contents__titArea .tit {
	font-weight: 400;
	font-size: 52px;
	line-height: .9615384615;
	letter-spacing: .04em
}

#top .p-sec01-contents__dateArea {
	display: flex;
	align-items: flex-end;
	gap: 27px
}

#top .p-sec01-contents__dateArea .num {
	color: #bb9f62;
	font-weight: 400;
	font-size: 100px;
	line-height: 1;
	letter-spacing: .05em
}

#top .p-sec01-contents__dateArea .text {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 145px;
	height: 50px;
	margin-bottom: 5px;
	border-radius: 6px;
	background-color: #bb9f62;
	color: #000;
	font-weight: 400;
	font-size: 38px;
	line-height: 1;
	letter-spacing: .05em
}

#top .p-sec01-contents__detailArea {
	margin-top: 32px
}

#top .p-sec01-contents__detailArea .timeArea {
	display: flex;
	align-items: center;
	gap: 44px
}

#top .p-sec01-contents__detailArea .timeArea .time {
	display: flex;
	align-items: center;
	gap: 20px
}

#top .p-sec01-contents__detailArea .timeArea .time .text {
	padding: 12px 14px;
	border: 1px solid #fff;
	font-weight: 400;
	font-size: 24px;
	line-height: 1
}

#top .p-sec01-contents__detailArea .timeArea .time .num {
	font-weight: 400;
	font-size: 32px;
	line-height: 1
}

#top .p-sec01-contents__detailArea .timeArea .ledTime {
	display: flex;
	align-items: center;
	padding: 9px 11px;
	gap: 10px;
	border: 1px solid #fff;
	background-color: #d71518
}

#top .p-sec01-contents__detailArea .timeArea .ledTime .text {
	font-weight: 400;
	font-size: 24px;
	line-height: 1
}

#top .p-sec01-contents__detailArea .timeArea .ledTime .num {
	margin-bottom: 5px;
	font-weight: 400;
	font-size: 40px;
	line-height: 1
}

#top .p-sec01-contents__detailArea .placeArea {
	display: flex;
	align-items: flex-start;
	margin-top: 20px;
	gap: 20px
}

#top .p-sec01-contents__detailArea .placeArea .place {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 20px
}

#top .p-sec01-contents__detailArea .placeArea .place .tit {
	padding: 12px 14px;
	border: 1px solid #fff;
	font-weight: 400;
	font-size: 24px;
	line-height: 1
}

#top .p-sec01-contents__detailArea .placeArea .place .name {
	font-weight: 400;
	font-size: 52px;
	line-height: 1
}

#top .p-sec01-contents__detailArea .placeArea .address .text {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5
}

#top .p-sec01-contents__detailArea .placeArea .address .link {
	display: flex;
	align-items: center;
	margin-top: 10px;
	gap: 10px
}

#top .p-sec01-contents__detailArea .placeArea .address .link .icon {
	width: 14px
}

#top .p-sec01-contents__detailArea .placeArea .address .link .text {
	color: #fff;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.25
}

#top .p-sec01-contents__caution {
	margin-top: 22px;
	padding: 11px;
	background-color: #fff;
	color: #000;
	font-weight: 400;
	font-size: 16px;
	line-height: 1.25;
	text-align: center
}

#top .p-sec01-themeArea {
	z-index: 3;
	position: relative
}

#top .p-sec01-themeArea__line {
	margin-top: 20px;
	text-align: center
}

#top .p-sec01-ticketArea {
	z-index: 3;
	position: relative;
	margin-top: 80px
}

#top .p-sec01-ticketArea__titArea {
	text-align: center
}

#top .p-sec01-ticketArea__titArea .icon {
	width: 109px
}

#top .p-sec01-ticketArea__titArea .tit {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 30px
}

#top .p-sec01-ticketArea__titArea .tit .en {
	font-weight: 400;
	font-size: 60px;
	line-height: 1.1666666667;
	letter-spacing: .1em
}

#top .p-sec01-ticketArea__titArea .tit .jp {
	font-weight: 400;
	font-size: 32px;
	line-height: 2.1875
}

#top .p-sec01-ticketArea__bnrArea {
	margin-top: 40px;
	text-align: center
}

#top .p-sec01-ticketArea__bnrArea .bnr--01 img {
	width: 684px
}

#top .p-sec01-ticketArea__bnrArea .bnr--02 {
	margin-top: 30px
}

#top .p-sec01-ticketArea__bnrArea .bnr--02 img {
	width: 800px
}

#top .p-sec01-ticketArea__bnrArea .caution {
	margin-top: 30px;
	font-weight: 400;
	font-size: 24px;
	line-height: 1.5
}

#top .p-sec01-ticketArea__btnArea {
	display: flex;
	justify-content: center;
	margin-top: 70px
}

#top .p-sec01-ticketArea__btnArea .ticketBtn {
	display: flex;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 650px;
	padding: 18px 20px 18px 0;
	gap: 20px;
	border-radius: 38px;
	background-color: #d71518;
	text-align: center
}

#top .p-sec01-ticketArea__btnArea .ticketBtn:after {
	position: absolute;
	top: 50%;
	right: 30px;
	width: 22px;
	height: 24px;
	transform: translateY(-50%);
	background: url(../images/hdr/arrow.svg) no-repeat;
	background-size: 22px;
	content: "";
	transition: all .4s
}

#top .p-sec01-ticketArea__btnArea .ticketBtn:hover:after {
	transform: translateY(-50%) translateX(10px)
}

#top .p-sec01-ticketArea__btnArea .ticketBtn .text {
	color: #fff;
	font-weight: 400;
	font-size: 32px;
	line-height: 1.25;
	letter-spacing: .05em
}

#top .p-sec02 {
	padding: 60px 0 136px
}

#top .p-sec02__line {
	margin-bottom: 80px;
	text-align: center
}

#top .p-sec02-contents {
	z-index: 3;
	position: relative;
	margin-top: 52px
}

#top .p-sec02-contents__grid {
	-ms-grid-columns: (1fr)[3];
	display: -ms-grid;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px
}

#top .p-sec02-contents__grid .itemLink {
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 30px;
	border-radius: 10px
}

#top .p-sec02-contents__grid .itemLink:first-child {
	background-color: #457e9d
}

#top .p-sec02-contents__grid .itemLink:first-child .icon img {
	width: 87px
}

#top .p-sec02-contents__grid .itemLink:nth-child(2) {
	background-color: #970f11
}

#top .p-sec02-contents__grid .itemLink:nth-child(2) .icon img {
	width: 120px
}

#top .p-sec02-contents__grid .itemLink:nth-child(3) {
	background-color: #ab6b00
}

#top .p-sec02-contents__grid .itemLink:nth-child(3) .icon img {
	width: 160px
}

#top .p-sec02-contents__grid .itemLink .icon {
	text-align: center
}

#top .p-sec02-contents__grid .itemLink .tit {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-top: 10px;
	color: #fff
}

#top .p-sec02-contents__grid .itemLink .tit .en {
	font-weight: 400;
	font-size: 60px;
	line-height: 1.1666666667;
	letter-spacing: .1em
}

#top .p-sec02-contents__grid .itemLink .tit .jp {
	font-weight: 400;
	font-size: 32px;
	line-height: 2.1875
}

#top .p-sec02-contents__grid .itemLink .btn {
	display: flex;
	justify-content: center;
	width: 222px;
	margin: 20px auto 0;
	padding: 11px 0;
	border-radius: 10px;
	background-color: #fff;
	text-align: center
}

#top .p-sec02-contents__box {
	-ms-grid-columns: (1fr)[2];
	display: -ms-grid;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	margin-top: 22px;
	gap: 20px
}

#top .p-sec02-contents__box .boxItem {
	display: flex;
	flex-direction: column;
	align-items: center;
	padding: 10px 0 38px;
	border-radius: 10px;
	background-color: #837045;
	color: #fff
}

#top .p-sec02-contents__box .boxItem .en {
	font-weight: 400;
	font-size: 50px;
	line-height: 1.4
}

#top .p-sec02-contents__box .boxItem .jp {
	font-weight: 400;
	font-size: 32px;
	line-height: .9375
}

#top .p-sec03 {
	padding: 35px 0 109px;
	background: url(../images/top/sec03_bg@2x.jpg);
	background-position: bottom;
	background-size: cover
}

#top .p-sec03__line {
	margin-bottom: 80px;
	text-align: center
}

#top .p-sec03-contents {
	z-index: 3;
	position: relative;
	margin-top: 72px
}

#top .p-sec03-contents__text {
	font-weight: 400;
	font-size: 16px;
	line-height: 2.25;
	letter-spacing: .02em;
	text-align: center
}

#top .p-sec03-contents__image {
	margin-top: 21px;
	text-align: center
}

#top .p-sec03-contents__bnr {
	display: flex;
	position: relative;
	align-items: center;
	margin-top: 61px;
	padding: 37px 25px 34px;
	gap: 33px;
	border: 1px solid #fff;
	border-radius: 10px;
	background-color: rgba(0, 0, 0, .8)
}

#top .p-sec03-contents__bnr .icon {
	position: absolute;
	top: 10px;
	right: 20px
}

#top .p-sec03-contents__bnr .textArea .tit {
	margin-bottom: 40px;
	font-weight: 400;
	font-size: 32px;
	line-height: .9375
}

#top .p-sec03-contents__bnr .textArea .text {
	font-weight: 400;
	font-size: 18px;
	line-height: 2
}

#top .p-sec04 {
	z-index: 3;
	position: relative;
	padding: 75px 0 94px;
	background: url(../images/top/stage_bg.png) no-repeat;
	background-position: bottom;
	background-size: 100%
}

#top .p-sec04__bg {
	position: absolute;
	top: 0
}

#top .p-sec04__bg--01 {
	right: 0
}

#top .p-sec04__bg--02 {
	left: 0
}

#top .p-sec04__text {
	margin-top: 20px;
	font-weight: 400;
	font-size: 16px;
	line-height: 2.25;
	letter-spacing: .02em;
	text-align: center
}

#top .p-sec04-contents {
	margin-top: 60px
}

#top .p-sec04-contents__item {
	display: flex;
	gap: 40px
}

#top .p-sec04-contents__item+.p-sec04-contents__item {
	margin-top: 80px
}

#top .p-sec04-contents__item:nth-child(2n) {
	flex-direction: row-reverse
}

#top .p-sec04-contents__item .imageArea {
	flex-shrink: 0;
	width: 48.21%
}

#top .p-sec04-contents__item .imageArea img {
	border-radius: 11px
}

#top .p-sec04-contents__item .textArea .nameArea .small {
	font-weight: 400;
	font-size: 18px;
	line-height: 2
}

#top .p-sec04-contents__item .textArea .nameArea .tit {
	margin-top: 10px;
	color: #63b4df;
	font-weight: 400;
	font-size: 28px;
	line-height: 1
}

#top .p-sec04-contents__item .textArea .text {
	margin-top: 20px;
	font-weight: 400;
	font-size: 16px;
	line-height: 2.25
}

#top .p-sec05 {
	position: relative;
	padding: 0 0 93px
}

#top .p-sec05-bgArea {
	z-index: 3;
	position: relative;
	padding-top: 96px
}

#top .p-sec05-bgArea__bg {
	position: absolute;
	top: 55px
}

#top .p-sec05-bgArea__bg--01 {
	left: 0
}

#top .p-sec05-bgArea__bg--02 {
	right: 0
}

#top .p-sec05-textArea {
	z-index: 3;
	position: relative;
	margin-top: 40px
}

#top .p-sec05-textArea__theme {
	color: #f39800;
	font-weight: 400;
	font-size: 28px;
	line-height: 1;
	text-align: center
}

#top .p-sec05-textArea__text {
	margin-top: 29px;
	font-weight: 400;
	font-size: 16px;
	line-height: 2.25;
	text-align: center
}

#top .p-sec05-imageArea {
	z-index: 3;
	position: relative;
	margin-top: 30px
}

#top .p-sec05-imageArea__box {
	-ms-grid-columns: (1fr)[3];
	display: -ms-grid;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px
}

#top .p-sec05-imageArea__box .item img {
	border-radius: 11px
}

#top .p-sec05-imageArea__caution {
	margin-top: 15px;
	font-weight: 400;
	font-size: 12px;
	line-height: 1;
	text-align: right
}

#top .p-sec06 {
	padding: 80px 0 96px;
	background: url(../images/top/sec06_bg@2x.png) no-repeat;
	background-size: cover
}

#top .p-sec06-box {
	display: flex;
	z-index: 3;
	position: relative;
	margin-top: 60px;
	gap: 31px
}

#top .p-sec06-box__imageArea {
	flex-shrink: 0
}

#top .p-sec06-box__imageArea img {
	border-radius: 10px
}

#top .p-sec06-box__textArea .areaList .listItem+.listItem {
	margin-top: 20px
}

#top .p-sec06-box__textArea .areaList .listItem:first-child .titArea .small,
#top .p-sec06-box__textArea .areaList .listItem:first-child .titArea .tit .areaTit {
	color: #fff840
}

#top .p-sec06-box__textArea .areaList .listItem:nth-child(2) .titArea .small,
#top .p-sec06-box__textArea .areaList .listItem:nth-child(2) .titArea .tit .areaTit {
	color: #63b4df
}

#top .p-sec06-box__textArea .areaList .listItem:nth-child(3) .titArea .small,
#top .p-sec06-box__textArea .areaList .listItem:nth-child(3) .titArea .tit .areaTit {
	color: #d71518
}

#top .p-sec06-box__textArea .areaList .listItem:nth-child(4) .titArea .small,
#top .p-sec06-box__textArea .areaList .listItem:nth-child(4) .titArea .tit .areaTit {
	color: #f39800
}

#top .p-sec06-box__textArea .areaList .listItem .titArea {
	display: flex;
	align-items: flex-end;
	gap: 20px
}

#top .p-sec06-box__textArea .areaList .listItem .titArea .tit {
	display: flex;
	align-items: center;
	gap: 11px
}

#top .p-sec06-box__textArea .areaList .listItem .titArea .tit .areaTit {
	font-weight: 700;
	font-size: 28px;
	line-height: 1
}

#top .p-sec06-box__textArea .areaList .listItem .titArea .small {
	font-weight: 400;
	font-size: 18px;
	line-height: 1.1111111111
}

#top .p-sec06-box__textArea .areaList .listItem .text {
	margin-top: 10px;
	font-weight: 400;
	font-size: 16px;
	line-height: 2.25
}

#top .p-sec07 {
	padding: 100px 0
}

#top .p-sec07-contents {
	z-index: 3;
	position: relative;
	margin-top: 60px
}

#top .p-sec07-contents__list {
	max-width: 765px;
	margin: 0 auto
}

#top .p-sec07-contents__list .listItem {
	display: flex;
	gap: 40px
}

#top .p-sec07-contents__list .listItem:last-child .textArea:before {
	display: none
}

#top .p-sec07-contents__list .listItem+.listItem {
	padding-top: 26px
}

#top .p-sec07-contents__list .listItem .time {
	display: flex;
	z-index: 3;
	position: relative;
	align-items: center;
	justify-content: center;
	width: 140px;
	height: 40px;
	padding-bottom: 5px;
	border-radius: 10px;
	background-color: #d71518;
	font-weight: 400;
	font-size: 32px;
	line-height: 1;
	letter-spacing: .1em
}

#top .p-sec07-contents__list .listItem .time--blue {
	background-color: #63b4df
}

#top .p-sec07-contents__list .listItem .time--white {
	background-color: #fff;
	color: #000
}

#top .p-sec07-contents__list .listItem .textArea {
	position: relative;
	width: 100%;
	padding-top: 10px;
	padding-bottom: 30px;
	border-bottom: 1px solid #fff
}

#top .p-sec07-contents__list .listItem .textArea:before {
	display: block;
	position: absolute;
	top: 37%;
	left: -16%;
	width: 1px;
	height: 102%;
	border-left: 1px dashed #fff;
	content: ""
}

#top .p-sec07-contents__list .listItem .textArea .titArea {
	display: flex;
	align-items: center;
	gap: 13px
}

#top .p-sec07-contents__list .listItem .textArea .titArea .tit {
	font-weight: 400;
	font-size: 28px;
	line-height: 1
}

#top .p-sec07-contents__list .listItem .textArea .itemText {
	margin-top: 10px;
	font-weight: 400;
	font-size: 16px;
	line-height: 2.25
}

@media screen and (max-width:768px) {
	html {
		scroll-padding-top: 50px
	}

	body {
		min-width: auto
	}

	.l-ftr-box {
		padding-bottom: 30px;
		background-size: cover
	}

	.l-ftr-box__logoArea .tit {
		font-weight: 400;
		font-size: 24px;
		line-height: 1.1666666667
	}

	.l-ftr-box__info .infoItem {
		gap: 20px
	}

	.l-ftr-box__igArea {
		margin-top: 20px
	}

	.l-ftr-bottom__contactArea .titArea {
		flex-direction: column
	}

	.l-ftr-bottom__contactArea .titArea .logo {
		width: 220px
	}

	.l-ftr-bottom__contactArea .telArea {
		flex-direction: column;
		align-items: center;
		gap: 10px
	}

	.l-ftr-bottom__contactArea .telArea .numLink {
		align-items: center
	}

	.l-ftr-bottom__contactArea .telArea .numLink .icon {
		width: 30px
	}

	.l-ftr-bottom__contactArea .telArea .numLink .num {
		font-weight: 400;
		font-size: 32px;
		line-height: 1.375
	}

	.l-ftr-bottom__contactArea .infoArea {
		text-align: center
	}

	.l-ftr-bottom__contactArea .infoArea .address .icon {
		margin-bottom: 5px
	}

	.l-ftr-bottom__contactArea .infoArea .address .text {
		font-weight: 400;
		font-size: 14px;
		line-height: 1.4285714286
	}

	.l-ftr-bottom__contactArea .infoArea .mail {
		align-items: center
	}

	.l-ftr-bottom__contactArea .infoArea .mail .icon {
		margin-bottom: 3px
	}

	.l-ftr-bottom__contactArea .btnArea {
		padding: 0 20px
	}

	.l-ftr-bottom__copy {
		margin-top: 30px
	}

	.l-ftr-bottom__copy .copy {
		font-weight: 400;
		font-size: 12px;
		line-height: 1.6666666667
	}

	.l-hdr-box__logo img {
		width: 70px
	}

	.l-hdr-box__contents .linkArea {
		display: none
	}

	.l-hdr-box__navArea .mainNav .navItem {
		min-height: 64px;
		gap: 15px
	}

	.l-hdr-box__navArea .mainNav .navItem .navText {
		font-weight: 400;
		font-size: 20px;
		line-height: 1
	}

	.l-hdr-box__navArea .btnArea {
		display: flex;
		justify-content: center;
		margin-top: 30px
	}

	.l-hdr-box__navArea .btnArea .ticketBtn {
		width: 70%;
		padding: 10px 15px;
		gap: 10px
	}

	.l-hdr-box__navArea .btnArea .ticketBtn:after {
		right: 20px;
		width: 18px;
		height: 20px;
		background-size: 18px
	}

	.l-hdr-box__navArea .btnArea .ticketBtn img {
		width: 50px
	}

	.l-hdr-box__navArea .btnArea .ticketBtn .text {
		font-weight: 400;
		font-size: 24px;
		line-height: 1.6666666667
	}

	.l-hdr-box__navArea .igArea {
		margin-top: 20px
	}

	.l-hdr-box__navArea .contactArea {
		margin-top: 30px
	}

	.l-hdr-box__navArea .contactArea .tit {
		font-weight: 400;
		font-size: 18px;
		line-height: 1.6666666667;
		text-align: center
	}

	.l-hdr-box__navArea .contactArea .logoArea {
		flex-direction: column;
		margin-top: 5px;
		text-align: center
	}

	.l-hdr-box__navArea .contactArea .logoArea .text {
		text-align: center
	}

	.l-hdr-box__navArea .contactArea .telArea .telLink .telIcon {
		width: 30px
	}

	.l-hdr-box__navArea .contactArea .telArea .telLink .num {
		font-weight: 400;
		font-size: 30px;
		line-height: 1
	}

	.l-hdr-box__navArea .contactArea .telArea .caution {
		font-weight: 400;
		font-size: 16px;
		line-height: 1.125;
		text-align: center
	}

	.l-hdr-box__navArea .contactArea .mailArea {
		padding: 10px;
		font-weight: 400;
		font-size: 16px;
		line-height: 1.125
	}

	.c-pankuzu {
		display: none
	}

	.c-pankuzu__list>span+span:before,
	.c-pankuzu__list>span>a,
	.c-pankuzu__list>span>span {
		font-size: 12px
	}

	.c-titA__icon {
		margin-bottom: 20px
	}

	.c-titA__icon--main {
		width: 70px
	}

	.c-titA__icon--food {
		width: 90px
	}

	.c-titA__en {
		font-weight: 400;
		font-size: 34px;
		line-height: 1.4705882353;
		text-align: center
	}

	.c-titA__jp {
		font-weight: 400;
		font-size: 20px;
		line-height: 2.5
	}

	.c-inner--hdr {
		padding: 0 20px
	}

	.c-pc {
		display: none !important
	}

	.mb5 {
		margin-bottom: 3px !important
	}

	.mt5 {
		margin-top: 3px !important
	}

	.mb10 {
		margin-bottom: 6px !important
	}

	.mt10 {
		margin-top: 6px !important
	}

	.mb15 {
		margin-bottom: 9px !important
	}

	.mt15 {
		margin-top: 9px !important
	}

	.mb20 {
		margin-bottom: 12px !important
	}

	.mt20 {
		margin-top: 12px !important
	}

	.mb25 {
		margin-bottom: 15px !important
	}

	.mt25 {
		margin-top: 15px !important
	}

	.mb30 {
		margin-bottom: 18px !important
	}

	.mt30 {
		margin-top: 18px !important
	}

	.mb35 {
		margin-bottom: 21px !important
	}

	.mt35 {
		margin-top: 21px !important
	}

	.mb40 {
		margin-bottom: 24px !important
	}

	.mt40 {
		margin-top: 24px !important
	}

	.mb45 {
		margin-bottom: 27px !important
	}

	.mt45 {
		margin-top: 27px !important
	}

	.mb50 {
		margin-bottom: 30px !important
	}

	.mt50 {
		margin-top: 30px !important
	}

	.mb55 {
		margin-bottom: 33px !important
	}

	.mt55 {
		margin-top: 33px !important
	}

	.mb60 {
		margin-bottom: 36px !important
	}

	.mt60 {
		margin-top: 36px !important
	}

	.mb65 {
		margin-bottom: 39px !important
	}

	.mt65 {
		margin-top: 39px !important
	}

	.mb70 {
		margin-bottom: 42px !important
	}

	.mt70 {
		margin-top: 42px !important
	}

	.mb75 {
		margin-bottom: 45px !important
	}

	.mt75 {
		margin-top: 45px !important
	}

	.mb80 {
		margin-bottom: 48px !important
	}

	.mt80 {
		margin-top: 48px !important
	}

	.mb85 {
		margin-bottom: 51px !important
	}

	.mt85 {
		margin-top: 51px !important
	}

	.mb90 {
		margin-bottom: 54px !important
	}

	.mt90 {
		margin-top: 54px !important
	}

	.mb95 {
		margin-bottom: 57px !important
	}

	.mt95 {
		margin-top: 57px !important
	}

	.mb100 {
		margin-bottom: 60px !important
	}

	.mt100 {
		margin-top: 60px !important
	}

	.mb105 {
		margin-bottom: 63px !important
	}

	.mt105 {
		margin-top: 63px !important
	}

	.mb110 {
		margin-bottom: 66px !important
	}

	.mt110 {
		margin-top: 66px !important
	}

	.mb115 {
		margin-bottom: 69px !important
	}

	.mt115 {
		margin-top: 69px !important
	}

	.mb120 {
		margin-bottom: 72px !important
	}

	.mt120 {
		margin-top: 72px !important
	}

	.mb125 {
		margin-bottom: 75px !important
	}

	.mt125 {
		margin-top: 75px !important
	}

	.mb130 {
		margin-bottom: 78px !important
	}

	.mt130 {
		margin-top: 78px !important
	}

	.mb135 {
		margin-bottom: 81px !important
	}

	.mt135 {
		margin-top: 81px !important
	}

	.mb140 {
		margin-bottom: 84px !important
	}

	.mt140 {
		margin-top: 84px !important
	}

	.mb145 {
		margin-bottom: 87px !important
	}

	.mt145 {
		margin-top: 87px !important
	}

	.mb150 {
		margin-bottom: 90px !important
	}

	.mt150 {
		margin-top: 90px !important
	}

	.mb155 {
		margin-bottom: 93px !important
	}

	.mt155 {
		margin-top: 93px !important
	}

	.mb160 {
		margin-bottom: 96px !important
	}

	.mt160 {
		margin-top: 96px !important
	}

	.mb165 {
		margin-bottom: 99px !important
	}

	.mt165 {
		margin-top: 99px !important
	}

	.mb170 {
		margin-bottom: 102px !important
	}

	.mt170 {
		margin-top: 102px !important
	}

	.mb175 {
		margin-bottom: 105px !important
	}

	.mt175 {
		margin-top: 105px !important
	}

	.mb180 {
		margin-bottom: 108px !important
	}

	.mt180 {
		margin-top: 108px !important
	}

	.mb185 {
		margin-bottom: 111px !important
	}

	.mt185 {
		margin-top: 111px !important
	}

	.mb190 {
		margin-bottom: 114px !important
	}

	.mt190 {
		margin-top: 114px !important
	}

	.mb195 {
		margin-bottom: 117px !important
	}

	.mt195 {
		margin-top: 117px !important
	}

	.mb200 {
		margin-bottom: 120px !important
	}

	.mt200 {
		margin-top: 120px !important
	}

	.mb205 {
		margin-bottom: 123px !important
	}

	.mt205 {
		margin-top: 123px !important
	}

	.mb210 {
		margin-bottom: 126px !important
	}

	.mt210 {
		margin-top: 126px !important
	}

	.mb215 {
		margin-bottom: 129px !important
	}

	.mt215 {
		margin-top: 129px !important
	}

	.mb220 {
		margin-bottom: 132px !important
	}

	.mt220 {
		margin-top: 132px !important
	}

	.mb225 {
		margin-bottom: 135px !important
	}

	.mt225 {
		margin-top: 135px !important
	}

	.mb230 {
		margin-bottom: 138px !important
	}

	.mt230 {
		margin-top: 138px !important
	}

	.mb235 {
		margin-bottom: 141px !important
	}

	.mt235 {
		margin-top: 141px !important
	}

	.mb240 {
		margin-bottom: 144px !important
	}

	.mt240 {
		margin-top: 144px !important
	}

	.mb245 {
		margin-bottom: 147px !important
	}

	.mt245 {
		margin-top: 147px !important
	}

	.mb250 {
		margin-bottom: 150px !important
	}

	.mt250 {
		margin-top: 150px !important
	}

	.mb255 {
		margin-bottom: 153px !important
	}

	.mt255 {
		margin-top: 153px !important
	}

	.mb260 {
		margin-bottom: 156px !important
	}

	.mt260 {
		margin-top: 156px !important
	}

	.mb265 {
		margin-bottom: 159px !important
	}

	.mt265 {
		margin-top: 159px !important
	}

	.mb270 {
		margin-bottom: 162px !important
	}

	.mt270 {
		margin-top: 162px !important
	}

	.mb275 {
		margin-bottom: 165px !important
	}

	.mt275 {
		margin-top: 165px !important
	}

	.mb280 {
		margin-bottom: 168px !important
	}

	.mt280 {
		margin-top: 168px !important
	}

	.mb285 {
		margin-bottom: 171px !important
	}

	.mt285 {
		margin-top: 171px !important
	}

	.mb290 {
		margin-bottom: 174px !important
	}

	.mt290 {
		margin-top: 174px !important
	}

	.mb295 {
		margin-bottom: 177px !important
	}

	.mt295 {
		margin-top: 177px !important
	}

	.mb300 {
		margin-bottom: 180px !important
	}

	.mt300 {
		margin-top: 180px !important
	}

	.mb305 {
		margin-bottom: 183px !important
	}

	.mt305 {
		margin-top: 183px !important
	}

	.mb310 {
		margin-bottom: 186px !important
	}

	.mt310 {
		margin-top: 186px !important
	}

	.mb315 {
		margin-bottom: 189px !important
	}

	.mt315 {
		margin-top: 189px !important
	}

	.mb320 {
		margin-bottom: 192px !important
	}

	.mt320 {
		margin-top: 192px !important
	}

	.mb325 {
		margin-bottom: 195px !important
	}

	.mt325 {
		margin-top: 195px !important
	}

	.mb330 {
		margin-bottom: 198px !important
	}

	.mt330 {
		margin-top: 198px !important
	}

	.mb335 {
		margin-bottom: 201px !important
	}

	.mt335 {
		margin-top: 201px !important
	}

	.mb340 {
		margin-bottom: 204px !important
	}

	.mt340 {
		margin-top: 204px !important
	}

	.mb345 {
		margin-bottom: 207px !important
	}

	.mt345 {
		margin-top: 207px !important
	}

	.mb350 {
		margin-bottom: 210px !important
	}

	.mt350 {
		margin-top: 210px !important
	}

	.mb355 {
		margin-bottom: 213px !important
	}

	.mt355 {
		margin-top: 213px !important
	}

	.mb360 {
		margin-bottom: 216px !important
	}

	.mt360 {
		margin-top: 216px !important
	}

	.mb365 {
		margin-bottom: 219px !important
	}

	.mt365 {
		margin-top: 219px !important
	}

	.mb370 {
		margin-bottom: 222px !important
	}

	.mt370 {
		margin-top: 222px !important
	}

	.mb375 {
		margin-bottom: 225px !important
	}

	.mt375 {
		margin-top: 225px !important
	}

	.mb380 {
		margin-bottom: 228px !important
	}

	.mt380 {
		margin-top: 228px !important
	}

	.mb385 {
		margin-bottom: 231px !important
	}

	.mt385 {
		margin-top: 231px !important
	}

	.mb390 {
		margin-bottom: 234px !important
	}

	.mt390 {
		margin-top: 234px !important
	}

	.mb395 {
		margin-bottom: 237px !important
	}

	.mt395 {
		margin-top: 237px !important
	}

	.mb400 {
		margin-bottom: 240px !important
	}

	.mt400 {
		margin-top: 240px !important
	}

	.mb405 {
		margin-bottom: 243px !important
	}

	.mt405 {
		margin-top: 243px !important
	}

	.mb410 {
		margin-bottom: 246px !important
	}

	.mt410 {
		margin-top: 246px !important
	}

	.mb415 {
		margin-bottom: 249px !important
	}

	.mt415 {
		margin-top: 249px !important
	}

	.mb420 {
		margin-bottom: 252px !important
	}

	.mt420 {
		margin-top: 252px !important
	}

	.mb425 {
		margin-bottom: 255px !important
	}

	.mt425 {
		margin-top: 255px !important
	}

	.mb430 {
		margin-bottom: 258px !important
	}

	.mt430 {
		margin-top: 258px !important
	}

	.mb435 {
		margin-bottom: 261px !important
	}

	.mt435 {
		margin-top: 261px !important
	}

	.mb440 {
		margin-bottom: 264px !important
	}

	.mt440 {
		margin-top: 264px !important
	}

	.mb445 {
		margin-bottom: 267px !important
	}

	.mt445 {
		margin-top: 267px !important
	}

	.mb450 {
		margin-bottom: 270px !important
	}

	.mt450 {
		margin-top: 270px !important
	}

	.mb455 {
		margin-bottom: 273px !important
	}

	.mt455 {
		margin-top: 273px !important
	}

	.mb460 {
		margin-bottom: 276px !important
	}

	.mt460 {
		margin-top: 276px !important
	}

	.mb465 {
		margin-bottom: 279px !important
	}

	.mt465 {
		margin-top: 279px !important
	}

	.mb470 {
		margin-bottom: 282px !important
	}

	.mt470 {
		margin-top: 282px !important
	}

	.mb475 {
		margin-bottom: 285px !important
	}

	.mt475 {
		margin-top: 285px !important
	}

	.mb480 {
		margin-bottom: 288px !important
	}

	.mt480 {
		margin-top: 288px !important
	}

	.mb485 {
		margin-bottom: 291px !important
	}

	.mt485 {
		margin-top: 291px !important
	}

	.mb490 {
		margin-bottom: 294px !important
	}

	.mt490 {
		margin-top: 294px !important
	}

	.mb495 {
		margin-bottom: 297px !important
	}

	.mt495 {
		margin-top: 297px !important
	}

	.mb500 {
		margin-bottom: 300px !important
	}

	.mt500 {
		margin-top: 300px !important
	}

	#top .p-mv {
		padding: 70px 0 90px;
		background-size: cover
	}

	#top .p-mv-logo img {
		width: 70%
	}

	#top .p-sec01 {
		background-size: cover
	}

	#top .p-sec01-contents__titArea .tit {
		font-weight: 400;
		font-size: 24px;
		line-height: 1;
		text-align: center
	}

	#top .p-sec01-contents__dateArea {
		justify-content: center;
		gap: 10px
	}

	#top .p-sec01-contents__dateArea .num {
		font-weight: 400;
		font-size: 46px;
		line-height: 1
	}

	#top .p-sec01-contents__dateArea .text {
		width: 76px;
		height: 30px;
		margin-bottom: 0;
		font-weight: 400;
		font-size: 20px;
		line-height: 1.1
	}

	#top .p-sec01-contents__detailArea .timeArea {
		flex-direction: column;
		gap: 10px
	}

	#top .p-sec01-contents__detailArea .timeArea .time {
		gap: 10px
	}

	#top .p-sec01-contents__detailArea .timeArea .time .text {
		padding: 5px 10px;
		font-weight: 400;
		font-size: 18px;
		line-height: 1.3333333333
	}

	#top .p-sec01-contents__detailArea .timeArea .time .num {
		font-weight: 400;
		font-size: 24px;
		line-height: 1
	}

	#top .p-sec01-contents__detailArea .timeArea .ledTime .text {
		font-weight: 400;
		font-size: 20px;
		line-height: 1.2
	}

	#top .p-sec01-contents__detailArea .timeArea .ledTime .num {
		margin-bottom: 0;
		font-weight: 400;
		font-size: 26px;
		line-height: 1.1538461538
	}

	#top .p-sec01-contents__detailArea .placeArea {
		flex-direction: column;
		align-items: center;
		margin-top: 50px
	}

	#top .p-sec01-contents__detailArea .placeArea .place {
		gap: 10px
	}

	#top .p-sec01-contents__detailArea .placeArea .place .tit {
		padding: 5px 10px;
		font-weight: 400;
		font-size: 18px;
		line-height: 1.3333333333
	}

	#top .p-sec01-contents__detailArea .placeArea .place .name {
		font-weight: 400;
		font-size: 28px;
		line-height: .8571428571
	}

	#top .p-sec01-contents__detailArea .placeArea .address {
		text-align: center
	}

	#top .p-sec01-contents__detailArea .placeArea .address .link {
		justify-content: center
	}

	#top .p-sec01-ticketArea {
		margin-top: 40px
	}

	#top .p-sec01-ticketArea__titArea .icon {
		width: 70px
	}

	#top .p-sec01-ticketArea__titArea .tit {
		margin-top: 20px
	}

	#top .p-sec01-ticketArea__titArea .tit .en {
		font-weight: 400;
		font-size: 42px;
		line-height: 1.1904761905
	}

	#top .p-sec01-ticketArea__titArea .tit .jp {
		font-weight: 400;
		font-size: 24px;
		line-height: 2.0833333333
	}

	#top .p-sec01-ticketArea__bnrArea {
		margin-top: 30px
	}

	#top .p-sec01-ticketArea__bnrArea .bnr--02 {
		margin-top: 15px
	}

	#top .p-sec01-ticketArea__bnrArea .caution {
		margin-top: 20px;
		font-weight: 400;
		font-size: 16px;
		line-height: 1.25
	}

	#top .p-sec01-ticketArea__btnArea .ticketBtn {
		padding: 10px 15px;
		gap: 10px
	}

	#top .p-sec01-ticketArea__btnArea .ticketBtn:after {
		right: 20px;
		width: 18px;
		height: 20px;
		background-size: 18px
	}

	#top .p-sec01-ticketArea__btnArea .ticketBtn img {
		width: 50px
	}

	#top .p-sec01-ticketArea__btnArea .ticketBtn .text {
		font-weight: 400;
		font-size: 20px;
		line-height: 2
	}

	#top .p-sec02 {
		padding: 60px 0 80px
	}

	#top .p-sec02__line {
		margin-bottom: 40px
	}

	#top .p-sec02-contents {
		margin-top: 30px
	}

	#top .p-sec02-contents__grid {
		-ms-grid-columns: (1fr)[1];
		grid-template-columns: repeat(1, 1fr)
	}

	#top .p-sec02-contents__grid .itemLink {
		padding: 20px
	}

	#top .p-sec02-contents__grid .itemLink:first-child .icon img {
		width: 60px
	}

	#top .p-sec02-contents__grid .itemLink:nth-child(2) .icon img {
		width: 70px
	}

	#top .p-sec02-contents__grid .itemLink:nth-child(3) .icon img {
		width: 90px
	}

	#top .p-sec02-contents__grid .itemLink .titAreaWrap {
		display: flex;
		align-items: center;
		justify-content: center;
		gap: 20px
	}

	#top .p-sec02-contents__grid .itemLink .tit {
		margin-top: 0
	}

	#top .p-sec02-contents__grid .itemLink .tit .en {
		font-weight: 400;
		font-size: 32px;
		line-height: 1.25
	}

	#top .p-sec02-contents__grid .itemLink .tit .jp {
		font-weight: 400;
		font-size: 20px;
		line-height: 2
	}

	#top .p-sec02-contents__box {
		-ms-grid-columns: (1fr)[1];
		grid-template-columns: repeat(1, 1fr)
	}

	#top .p-sec02-contents__box .boxItem {
		padding: 10px 0 20px
	}

	#top .p-sec02-contents__box .boxItem .en {
		font-weight: 400;
		font-size: 30px;
		line-height: 1.3333333333
	}

	#top .p-sec02-contents__box .boxItem .jp {
		font-weight: 400;
		font-size: 26px;
		line-height: 1.1538461538
	}

	#top .p-sec03 {
		padding: 35px 0 40px;
		background-size: cover
	}

	#top .p-sec03__line {
		margin-bottom: 40px
	}

	#top .p-sec03-contents {
		margin-top: 40px
	}

	#top .p-sec03-contents__bnr {
		flex-direction: column;
		padding: 20px 20px 70px
	}

	#top .p-sec03-contents__bnr .icon {
		top: auto;
		bottom: 20px
	}

	#top .p-sec03-contents__bnr .icon img {
		width: 100px
	}

	#top .p-sec03-contents__bnr .imageArea img {
		width: 100%
	}

	#top .p-sec03-contents__bnr .textArea .tit {
		font-weight: 400;
		font-size: 28px;
		line-height: 1.0714285714
	}

	#top .p-sec03-contents__bnr .textArea .text {
		font-weight: 400;
		font-size: 16px;
		line-height: 2
	}

	#top .p-sec04 {
		background-size: cover
	}

	#top .p-sec04__bg img {
		width: 150px
	}

	#top .p-sec04-contents__item,
	#top .p-sec04-contents__item:nth-child(2n) {
		flex-direction: column
	}

	#top .p-sec04-contents__item .imageArea,
	#top .p-sec04-contents__item .imageArea img {
		width: 100%
	}

	#top .p-sec05-bgArea__bg {
		top: 20px
	}

	#top .p-sec05-bgArea__bg img {
		width: 120px
	}

	#top .p-sec05-textArea {
		margin-top: 30px
	}

	#top .p-sec05-textArea__theme {
		font-weight: 400;
		font-size: 20px;
		line-height: 1.5
	}

	#top .p-sec05-textArea__text {
		margin-top: 15px
	}

	#top .p-sec05-imageArea__box {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		gap: 10px
	}

	#top .p-sec05-imageArea__box .item {
		width: 48%
	}

	#top .p-sec06-box {
		flex-direction: column;
		align-items: center;
		margin-top: 40px
	}

	#top .p-sec06-box__imageArea img {
		width: 100%
	}

	#top .p-sec06-box__textArea .areaList .listItem .titArea {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px
	}

	#top .p-sec06-box__textArea .areaList .listItem .titArea .tit .areaTit {
		font-weight: 700;
		font-size: 20px;
		line-height: 1.4
	}

	#top .p-sec06-box__textArea .areaList .listItem .titArea .small {
		padding-left: 1.8em;
		font-weight: 400;
		font-size: 17px;
		line-height: 1.1764705882
	}

	#top .p-sec07 {
		padding: 80px 0 90px
	}

	#top .p-sec07-contents {
		margin-top: 40px
	}

	#top .p-sec07-contents__list .listItem {
		flex-direction: column;
		gap: 4px
	}

	#top .p-sec07-contents__list .listItem+.listItem {
		padding-top: 20px
	}

	#top .p-sec07-contents__list .listItem .time {
		width: 100px;
		height: 33px;
		padding-bottom: 0;
		font-weight: 400;
		font-size: 26px;
		line-height: 1.2307692308
	}

	#top .p-sec07-contents__list .listItem .textArea:before {
		display: none
	}

	#top .p-sec07-contents__list .listItem .textArea .titArea {
		gap: 10px
	}

	#top .p-sec07-contents__list .listItem .textArea .titArea .tit {
		font-weight: 400;
		font-size: 24px;
		line-height: 1.3333333333
	}

	#top .p-sec07-contents__list .listItem .textArea .itemText {
		margin-top: 20px;
		font-weight: 400;
		font-size: 16px;
		line-height: 2
	}
}

@media(any-hover:hover) {

	a,
	button {
		transition: .3s ease
	}

	a:hover,
	button:hover {
		opacity: .7
	}

	a img,
	a p,
	a path,
	button img,
	button p,
	button path {
		transition: .3s ease
	}
}

@media screen and (max-width:1365px) {
	.l-hdr-box__navArea {
		width: 60%
	}
}

@media screen and (max-width:1365px)and (max-width:1150px) {
	.l-hdr-box__navArea {
		width: 70%
	}
}

@media screen and (max-width:1365px)and (max-width:1150px)and (max-width:768px) {
	.l-hdr-box__navArea {
		bottom: 0;
		left: 0;
		width: 100%;
		padding: 80px 20px 30px
	}
}

@media screen and (max-width:768px)and (max-width:600px) {
	.l-hdr-box__navArea .btnArea .ticketBtn {
		width: 100%
	}
}

@media print,
screen and (min-width:1025px) {
	.c-tab {
		display: none !important
	}
}

@media screen and (max-width:1024px) {
	.c-tab_none {
		display: none !important
	}
}

@media print,
screen and (min-width:769px) {
	.c-sp {
		display: none !important
	}

	.sp-only {
		display: none !important
	}
}

@media screen and (max-width:768px)and (max-width:768px) {
	#top .p-sec01-contents__caution {
		font-weight: 400;
		font-size: 12px;
		line-height: 1.1666666667
	}
}

/*# sourceMappingURL=map/style.css.map */

.p-sec05-food-menus {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 7rem;
}

.p-sec05-food-menu {
	text-align: center;
}

.p-sec05-food_btn {
	display: block;
	width: 90%;
	margin: 3rem auto 0;
}

#top .p-sec08 {
	padding: 100px 0;
}

.p-sec08-banner {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2rem;
	position: relative;
	z-index: 2;
	margin-top: 6rem;
}

.p-sec08-banner.-col03 {
	grid-template-columns: 1fr 1fr 1fr;
	margin-top: 2rem;
}

.p-sec08-banner.-col04 {
	grid-template-columns: 1fr 1fr 1fr 1fr;
	margin-top: 2rem;
}

@media screen and (max-width: 768px) {
	.p-sec05-food-menus {
		grid-template-columns: 1fr;
		gap: 4rem;
	}

	.p-sec08-banner {
		gap: 1rem;
	}

	.p-sec08-banner.-col03 {
		margin-top: 1rem;
	}

	.p-sec08-banner.-col04 {
		grid-template-columns: 1fr 1fr 1fr;
		margin-top: 1rem;
	}
}

/*チケット終了の場合　ボタングレーアウト*/
#top .p-sec01-ticketArea__btnArea .ticketBtn {
	pointer-events: none;

	&::before {
		top: 0;
		left: 0;
		z-index: 5;
		width: 100%;
		animation: none;
		background-color: rgb(106 104 104 / 70%);
	}
	
}
.l-hdr-box__contents .linkArea .itemLink + .itemLink {
	pointer-events: none;
	position: relative;
	&::before {
		position: absolute;
		content: '';
		top: 0;
		left: 0;
		z-index: 5;
		border-radius: 5px;
		width: 100%;
		height: 100%;
		background-color: rgb(106 104 104 / 70%);
	}
}

.l-hdr-box__navArea .btnArea .ticketBtn {
		position: relative;
		pointer-events: none;
		&::before {
			position: absolute;
			content: '';
			top: 0;
			left: 0;
			z-index: 5;
			width: 100%;
			height: 100%;
			border-radius: 5rem;
			animation: none;
			background-color: rgb(106 104 104 / 70%);
		}
	}
#top {
	.p-sec01 {
		.p-sec01_finishWrap {
			padding: 0 0 70px;
		}

		.p-sec01__line {
			text-align: center;
			position: relative;
			z-index: 10;

			&.p-sec01__line--01 {
				margin-bottom: 40px;
			}

			&.p-sec01__line--02 {
				margin-top: 40px;
			}
		}

		.p-sec01__text {
			position: relative;
			z-index: 10;
			font-size: 18px;
			line-height: 1.5;
			text-align: center;

			@media screen and (max-width: 768px) {
				font-size: 16px;
			}

			.name {
				font-size: 24px;
				font-weight: 500;

				@media screen and (max-width: 768px) {
					font-size: 20px;
				}
			}
		}
	}
}
/*チケット終了の場合　ボタングレーアウトここまで*/


/*2025xmas*/

#top.xmas .p-mv {
	position: relative;
	padding: 100px 0 220px;
	background: url(../images/top/fv2025.jpg) no-repeat;
	background-size: 100%;
}

#top.xmas .p-sec01-contents__detailArea .timeArea .ledTime .text {
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
}


.p-sec05-food-menus.xmas {
	grid-template-columns: 1fr 1fr 1fr;
}

@media screen and (max-width: 767px) {
	.p-sec05-food-menus.xmas {
		grid-template-columns: 1fr;
	}

	#top.xmas .p-mv {
		background-size: 240%;
		background-position-x: center;
		padding: 80px 0 150px;
	}
}

#top .xmas .p-sec06-box__textArea .areaList .listItem:nth-child(4) .titArea .small,
#top .p-sec06-box__textArea .areaList .listItem:nth-child(4) .titArea .tit .areaTit {
	color: #00b86e;
}

.xmas .c-titA__en--orange {
	color: #00b86e;
}

#top.xmas .p-sec05-textArea__theme {
	color: #00b86e;
}

#top.xmas .p-sec02-contents__grid .itemLink:first-child {
	background-color: rgb(69, 126, 157);
	background-image: url(../images/top/plaid-b.png);
}

#top.xmas .p-sec02-contents__grid .itemLink:nth-child(2) {
	background-color: rgb(151, 15, 17);
	background-image: url(../images/top/plaid-r.png);
}

#top.xmas .p-sec02-contents__grid .itemLink:nth-child(3) {
	background-color: #1e853a;
	background-image: url(../images/top/plaid-g.png);
}

.contest {
	margin: 5rem 0 0;
}

#top.xmas #snow_particlesjs_2025 {
	z-index: 1;
	position: fixed;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

#top.xmas .p-sec01 {
	position: relative;
	padding-bottom: 95px;
	background: url(../images/top/bg01_2025xmas.png);
	background-size: 100%;
}

#top.xmas .p-sec03 {
	padding: 35px 0 109px;
	background: url(../images/top/bg02_2025xmas.png);
	background-position: bottom;
	background-size: cover;
}

#top.xmas .p-sec06 {
	padding: 80px 0 96px;
	background: url(../images/top/sec06_bg_2025xmas.png) no-repeat;
	background-size: cover;
}

.xmas .l-ftr-box {
	padding: 36px 0 90px;
	background: url(../images/ftr/footer_bg_2025xmas.png) no-repeat;
	background-size: 100%;
}

.p-sec08-banner img.icon {
    width: auto;
}

/*雨天決行*/
.p-sec01-contents__caution_ttl,
.p-sec01-contents__caution_red,
.p-sec01-contents__caution_map {
	color: #fff;
}
.p-sec01-contents__caution_ttl {
    font-size: 2rem;
	font-weight: 700;
}

.p-sec01-contents__caution_map a {
    font-weight: 700;
    color: #fff;
}

.p-sec01-contents__caution_txt {
	margin: 0 0 2rem;
}

.p-sec01-contents__caution_map iframe {
    margin: 1rem 0 2rem;
    width: 100%;
}

.c-inner {
    width: calc(100% - 40px);
    max-width: 1120px;
    margin-right: auto;
    margin-left: auto;
    position: relative;
    z-index: 10;
}

/*2026*/
/* 2025 の xmas 系はアーカイブとして残し、2026 は y2026 系で独立させる */

#top.y2026 .p-mv {
	position: relative;
	padding: 0;
	aspect-ratio: 16 / 9;
	background: url(../images/top/fv2026@2x.jpg) no-repeat;
	background-position: center bottom;
	background-size: 100%;
}

/* ロゴの位置と大きさは FV 画像（1366×802）に対する比率で指定しているので、画面幅が変わってもデザインどおりの位置に乗る */
#top.y2026 .p-mv .c-inner {
	position: relative;
	width: 100%;
	max-width: none;
	height: 100%;
}

#top.y2026 .p-mv-logo {
	display: block;
	position: absolute;
	top: 11%;
	right: 11%;
	width: 28%;
}

#top.y2026 .p-mv-logo img {
	width: 100%;
	height: auto;
}

#top.y2026 .p-mv-schedule {
	display: block;
	position: absolute;
	z-index: 3;
	top: 61.3%;
	right: 13.2%;
	width: 34.6%;
}

#top.y2026 .p-mv-schedule img {
	width: 100%;
	height: auto;
}

/* ロゴを読みやすくするための、上から薄く落とす黒 */
#top.y2026 .p-mv::before {
	content: "";
	z-index: 2;
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	/* background: linear-gradient(to bottom, rgba(0, 0, 0, .4) 0%, rgba(0, 0, 0, .15) 55%, rgba(0, 0, 0, 0) 100%); */
	pointer-events: none;
}

#top.y2026 #snow_particlesjs_2025 {
	z-index: 1;
	position: fixed;
	width: 100%;
	height: 100%;
	pointer-events: none;
}

/* 背景演出（ボケ味＋舞い上がる火の粉）: 先方支給の preview.html を移植 */
#top.y2026 .bokeh {
	position: absolute;
	border-radius: 50%;
	background: rgba(255, 180, 80, .15);
	filter: blur(20px);
	animation: drift-bokeh ease-in-out infinite alternate;
}

@keyframes drift-bokeh {
	0% {
		transform: translate(0, 0) scale(1);
		opacity: .3;
	}

	100% {
		transform: translate(var(--drift-x, 70px), var(--drift-y, -70px)) scale(var(--drift-scale, 1.4));
		opacity: var(--drift-opacity, .8);
	}
}

#top.y2026 .ember {
	position: absolute;
	bottom: -15px;
	border-radius: 50%;
	background: rgba(255, 204, 0, .5);
	box-shadow: 0 0 10px 3px rgba(255, 85, 0, .5);
	animation: rise-ember linear forwards, sway-ember ease-in-out infinite alternate;
}

@keyframes rise-ember {
	0% {
		bottom: -15px;
		opacity: 1;
	}

	80% {
		opacity: .8;
	}

	100% {
		bottom: 90vh;
		opacity: 0;
	}
}

@keyframes sway-ember {
	0% {
		transform: translateX(-40px);
	}

	100% {
		transform: translateX(40px);
	}
}

#top.y2026 .p-sec01 {
	position: relative;
	padding-bottom: 95px;
	background: none;
}

/* About Us 風の2カラム（写真×テキスト） */
#top.y2026 .p-about {
	position: relative;
	display: flex;
	align-items: center;
	gap: 56px;
	max-width: 1100px;
	margin: 0 auto 56px;
}

#top.y2026 .p-about__media {
	position: relative;
	flex: 1 1 46%;
	min-width: 0;
}

/* Aboutの写真の下部に浮かべる */
#top.y2026 .p-floatLantern--aboutPhoto {
	bottom: 4%;
	left: 6%;
}

/* FOODカードの右下の余白に浮かべる */
#top.y2026 .p-floatLantern--foodBR {
	z-index: 4;
	right: 1%;
	bottom: 6%;
}

#top.y2026 .p-about__media img {
	display: block;
	width: 100%;
	height: auto;
	border-radius: 48px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .4);
}

#top.y2026 .p-about__body {
	flex: 1 1 54%;
	min-width: 0;
}

#top.y2026 .p-about__eyebrow {
	margin-bottom: 12px;
	color: #ffbb54;
	font-weight: 400;
	font-size: 18px;
	letter-spacing: .2em;
}

#top.y2026 .p-about__tit {
	color: #fff;
	font-weight: 400;
	font-size: 44px;
	line-height: 1.4;
}

#top.y2026 .p-about__sub {
	margin-top: 8px;
	color: #fff;
	font-size: 20px;
}

#top.y2026 .p-about__text {
	margin-top: 24px;
	color: #fff;
	font-size: 16px;
	line-height: 2;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-about {
		flex-direction: column;
		gap: 32px;
		margin-bottom: 40px;
	}

	#top.y2026 .p-about__tit {
		font-size: 32px;
	}
}

/* 開催概要を2カラム化（詳細情報×Googleマップ） */
#top.y2026 .p-sec01-contents__map {
	flex: 1 1 50%;
	min-width: 0;
	overflow: hidden;
	border-radius: 32px;
}

#top.y2026 .p-sec01-contents__map iframe {
	display: block;
	width: 100%;
	height: 100%;
	min-height: 320px;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-sec01-contents {
		gap: 32px;
	}

	#top.y2026 .p-sec01-contents__split {
		flex-direction: column;
		gap: 32px;
		padding-top: 32px;
		gap: 28px !important;
	}

	#top.y2026 .p-sec01-contents__map iframe {
		min-height: 260px;
	}
}

#top.y2026 .p-sec03 {
	position: relative;
	padding: 35px 0 109px;
	background: none;
}

/* 星空アニメーション（サイト全体の背景）。動く星＋瞬き＋マウス追従のパララックス */
#top.y2026 .p-pageStars {
	position: fixed;
	inset: 0;
	z-index: 0;
	overflow: hidden;
	pointer-events: none;
}

#top.y2026 .p-pageStars .star {
	position: absolute;
	top: 0;
	left: 0;
	background: #fff;
	border-radius: 50%;
	animation: star-blink infinite alternate ease-in-out;
	will-change: transform;
}

@keyframes star-blink {
	0% {
		opacity: .1;
		box-shadow: none;
	}

	100% {
		opacity: 1;
		box-shadow: 0 0 8px #fff;
	}
}

/* ステージエリアの背景（基本ルールは前年版と共有のため、2026版はここで上書き） */
#top.y2026 .p-sec04 {
	background: none;
}

/* STAGE：フェスのアーティスト一覧風に再構成（写真だけを枠で囲み、名前・説明はその下に素のまま） */
#top.y2026 .p-sec04-contents {
	display: grid;
	grid-template-columns: 1fr 1fr;
	align-items: start;
	gap: 13rem 5rem;
	margin-top: 48px;
}

#top.y2026 .p-sec04-contents__item {
	display: block;
}

#top.y2026 .p-sec04-contents__item .imageArea {
	position: relative;
	width: 100%;
	aspect-ratio: 3 / 2;
	overflow: hidden;
	border-radius: 16px;
	border: 2px solid #1a140c;
	box-shadow: 8px 8px 0 rgba(255, 187, 84, .35);
}

/* 規則正しいグリッド感をなくすため、右列（2番目）を下へ・左列2段目（3番目）を上へずらす */
#top.y2026 .p-sec04-contents .p-sec04-contents__item + .p-sec04-contents__item {
	margin-top: 0;
}

#top.y2026 .p-sec04-contents .p-sec04-contents__item:nth-child(2) {
	margin-top: 50px;
}

#top.y2026 .p-sec04-contents .p-sec04-contents__item:nth-child(3) {
	margin-top: -50px;
}

#top.y2026 .p-sec04-contents__item .imageArea img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 0;
}

#top.y2026 .p-sec04-contents__item .textArea {
	position: relative;
	padding: 0;
}

#top.y2026 .p-sec04-contents__item .nameArea {
	position: relative;
	z-index: 2;
	margin: -28px 0 0;
	padding: 12px 20px;
	border-radius: 18px;
	background: #c92a1e;
	box-shadow: 0 12px 24px rgba(0, 0, 0, .5);
	width: 90%;
}

#top.y2026 .p-sec04-contents__item .textArea .nameArea .small {
	color: rgba(255, 255, 255, .85);
	font-size: 13px;
	letter-spacing: .04em;
}

#top.y2026 .p-sec04-contents__item .textArea .nameArea .tit {
	margin-top: 4px;
	color: #fff;
	font-size: 24px;
}

#top.y2026 .p-sec04-contents__item .textArea .text {
	margin-top: 12px;
	overflow: hidden;
	color: rgba(255, 255, 255, .75);
	font-size: 14px;
	line-height: 1.9;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-sec04-contents {
		grid-template-columns: 1fr;
		gap: 5rem 5rem;
	}

	#top.y2026 .p-sec04-contents .p-sec04-contents__item:nth-child(2),
	#top.y2026 .p-sec04-contents .p-sec04-contents__item:nth-child(3) {
		margin-top: 0;
	}

	#top.y2026 .p-sec04-contents__item .imageArea {
		aspect-ratio: 3 / 2;
	}
}

#top.y2026 .p-sec06 {
	position: relative;
	padding: 80px 0 96px;
	background: none;
}

#top.y2026 .p-sec02,
#top.y2026 .p-sec07 {
	position: relative;
}

/* 参考サイトを受けた「漂うランタン」の装飾。タイトル横など余白の多い場所に配置し、
   下からふわっと浮き上がってその場に止まるアニメーションにする */
#top.y2026 .p-floatLantern {
	position: absolute;
	z-index: 2;
	overflow: visible;
	pointer-events: none;
}

#top.y2026 .p-floatLantern img {
	display: block;
	width: 100%;
	height: auto;
	filter: drop-shadow(0 20px 30px rgba(0, 0, 0, .35));
	animation: lantern-float 6s ease-in-out infinite;
}

#top.y2026 .p-floatLantern--sm {
	width: 16rem;
	z-index: 3;
	right: -6%;
	bottom: -10%;
}

#top.y2026 .p-floatLantern--sm img {
	animation-duration: 5s;
}

/* --sm の共通位置指定より後ろに置き、個別配置を効かせ直す */
#top.y2026 .p-floatLantern--aboutPhoto {
	right: auto;
	bottom: 4%;
	left: 6%;
}

#top.y2026 .p-floatLantern--foodBR {
	right: 1%;
	bottom: 6%;
}

#top.y2026 .p-floatLantern--md {
	width: 20rem;
}

#top.y2026 .p-floatLantern--lg {
	width: 220px;
}

#top.y2026 .p-floatLantern--lg img {
	animation-duration: 7.5s;
}

/* タイトル横（左右5%の位置。.c-inner基準なのでコンテンツ幅が広い時も画面内に収まる） */
#top.y2026 .p-floatLantern--tit {
	top: 20px;
}

#top.y2026 .p-floatLantern--tit.p-floatLantern--left {
	left: -9%;
}

#top.y2026 .p-floatLantern--tit.p-floatLantern--right {
	right: 5%;
}

/* 「願いを込めて」の見出し横に配置。.c-inner基準・%指定でコンテンツ幅が広い環境でも画面内に収まる */
#top.y2026 .p-floatLantern--about {
	top: 30px;
	right: 4%;
}

/* TICKETカード（白背景）の余白に浮かべる */
#top.y2026 .p-floatLantern--ticketTR,
#top.y2026 .p-floatLantern--ticketBL {
	width: 15rem;
}

#top.y2026 .p-floatLantern--ticketTR {
	top: 4%;
	right: 6%;
}

#top.y2026 .p-floatLantern--ticketBL {
	bottom: 20%;
	left: 5%;
}

@media screen and (max-width: 900px) {
	#top.y2026 .p-floatLantern {
		display: none;
	}

	/* スマホでもAboutの写真下の余白にだけランタンを1つ出す */
	#top.y2026 .p-floatLantern--aboutPhoto {
		display: block;
		width: 10rem;
		right: -2%;
		left: auto;
		bottom: -38%;
	}
}

/* 下からふわっと浮き上がって止まる、AOSのカスタムアニメーション */
[data-aos="lantern-rise"] {
	opacity: 0;
	transform: translateY(90px);
	transition-property: transform, opacity;
	transition-timing-function: cubic-bezier(.16, 1, .3, 1);
	transition-duration: 2200ms;
}

[data-aos="lantern-rise"].aos-animate {
	opacity: 1;
	transform: translateY(0);
}

/* 止まった後も、ふわふわ揺れ続けるアイドルアニメーション（img側。AOSのtransformとは別要素なので干渉しない） */
@keyframes lantern-float {
	0%, 100% {
		transform: translateY(0) rotate(-2deg);
	}

	50% {
		transform: translateY(-18px) rotate(2deg);
	}
}

.y2026 .l-ftr-box {
	padding: 36px 0 90px;
	background: none;
}

body.y2026,
body.y2026 .c-noto {
	font-family: "Noto Serif JP", "Hiragino Mincho ProN", "Yu Mincho", serif;
}

body.y2026 .l-ftr-bottom__contactArea {
	max-width: 60rem;
}

/* チケット販売中の表示（販売終了時のグレーアウト指定を打ち消す） */
body.y2026 #top .p-sec01-ticketArea__btnArea .ticketBtn,
body.y2026 .l-hdr-box__contents .linkArea .itemLink + .itemLink,
body.y2026 .l-hdr-box__navArea .btnArea .ticketBtn {
	pointer-events: auto;
}

body.y2026 #top .p-sec01-ticketArea__btnArea .ticketBtn::before {
	top: -180px;
	left: 0;
	z-index: auto;
	width: 30px;
	animation: shine 3s ease-in-out infinite;
	background-color: #ffcbcb;
}

body.y2026 .l-hdr-box__contents .linkArea .itemLink + .itemLink::before,
body.y2026 .l-hdr-box__navArea .btnArea .ticketBtn::before {
	content: none;
}

/* 開催日時 */
#top.y2026 .p-sec01-contents__detailArea .timeArea .time {
	gap: 10px;
}

#top.y2026 .p-sec01-contents__detailArea .timeArea .ledTime .text {
	font-weight: 400;
	font-size: 20px;
	line-height: 1;
}

/* ============================================
   開催概要〜チケットエリア デザイン刷新（第1回との使い回し感を無くす）
   構成: 単純な縦積みテキストの並びをやめ、それぞれ独立したカードに。
   配色: 単調な黒地×ゴールドから、チラシの赤・ゴールドをはっきり使う配色に。
   ============================================ */
#top.y2026 .p-sec01-contents {
	position: relative;
	display: flex;
	flex-direction: column;
	gap: 40px;
	max-width: 1100px;
	padding: 48px;
	border: 1px solid rgba(255, 187, 84, .25);
	border-radius: 48px;
	background: linear-gradient(160deg, rgb(37 26 21 / 82%) 0%, rgba(20, 10, 6, .88) 55%, rgba(0, 0, 0, .92) 100%);
	box-shadow: 0 40px 80px rgba(0, 0, 0, .5);
}

/* 上段: 開催日ヒーロー（全幅・中央揃え） */
#top.y2026 .p-sec01-contents__hero {
	display: flex;
	flex-direction: column;
	align-items: center;
	text-align: center;
}

#top.y2026 .p-sec01-contents__titArea {
	margin-bottom: 12px;
}

#top.y2026 .p-sec01-contents__titArea .firstArea {
	margin-bottom: 6px;
}

#top.y2026 .p-sec01-contents__titArea .firstArea .text {
	color: #ffbb54;
}

#top.y2026 .p-sec01-contents__titArea .tit {
	font-size: 26px;
	line-height: 1.4;
}

#top.y2026 .p-sec01-contents__dateArea {
	justify-content: center;
	align-items: baseline;
}

#top.y2026 .p-sec01-contents__dateArea .num {
	font-size: 64px;
	color: #ffbb54;
	/* text-shadow: 0 0 24px rgba(255, 150, 60, .45); */
	font-weight: 900;
}

#top.y2026 .p-sec01-contents__dateArea .text {
	width: auto;
	height: auto;
	padding: 6px 18px;
	border-radius: 999px;
	background-color: #0e60b4;
	color: #fff;
	font-size: 20px;
}

/* 下段: 詳細情報 × Googleマップ */
#top.y2026 .p-sec01-contents__split {
	display: flex;
	align-items: stretch;
	gap: 48px;
	padding-top: 40px;
	border-top: 1px dashed rgba(255, 187, 84, .3);
}

#top.y2026 .p-sec01-contents__detailArea {
	display: flex;
	flex: 1 1 50%;
	flex-direction: column;
	justify-content: center;
	min-width: 0;
	margin-top: 0;
	text-align: center;
}

/* 「時間」と「スカイランタン打ち上げ」がバラバラに見えるとの指摘 → 1枚のカードに統合 */
#top.y2026 .p-sec01-contents__detailArea .timeArea {
	flex-direction: column;
	gap: 0;
	width: 100%;
	max-width: 380px;
	margin: 0 auto;
	overflow: hidden;
	border: 1px solid rgba(255, 187, 84, .25);
	border-radius: 24px;
}

#top.y2026 .p-sec01-contents__detailArea .timeArea .time {
	justify-content: center;
	padding: 16px 20px;
}

#top.y2026 .p-sec01-contents__detailArea .timeArea .time .text {
	border-color: #ffbb54;
	color: #ffbb54;
	padding: 12px 14px;
	border: 1px solid #ffbb54;
	font-weight: 400;
	font-size: 24px;
	line-height: 1;
}

#top.y2026 .p-sec01-contents__detailArea .timeArea .ledTime {
	justify-content: center;
	width: 100%;
	padding: 16px 24px;
	border: none;
	border-radius: 0;
	background: #c92a1e;
	box-shadow: 0 -1px 0 rgba(255, 255, 255, .15) inset;
}

#top.y2026 .p-sec01-contents__detailArea .timeArea .ledTime .text {
	font-size: 18px;
	opacity: .9;
}

#top.y2026 .p-sec01-contents__detailArea .timeArea .ledTime .num {
	color: #fff;
	font-size: 32px;
}

#top.y2026 .p-sec01-contents__detailArea .placeArea {
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

/* 実際の地図を右カラムに埋め込んだため、このリンクは不要 */
#top.y2026 .p-sec01-contents__detailArea .placeArea .address .link {
	display: none;
}

#top.y2026 .p-sec01-contents__detailArea .placeArea .place .tit {
	border-color: #ffbb54;
	color: #ffbb54;
}

/* キャッチコピー写真をカード風に */
#top.y2026 .p-sec01-themeArea {
	margin: 64px 0;
}

#top.y2026 .p-sec01-themeArea__theme img {
	border-radius: 48px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .4);
}

#top.y2026 .p-sec01-themeArea__line {
	display: none;
}

/* チケットエリア（チケット半券のイメージ） */
#top.y2026 .p-sec01-ticketArea {
	/* max-width: 980px; */
	margin: 0 auto;
	margin-top: 10rem;
	/* padding: 56px 64px 64px; */
	/* border: 1px solid rgba(180, 140, 80, .3); */
	border-radius: 60px;
	/* background: #ffffff; */
	/* box-shadow: 0 40px 80px rgba(0, 0, 0, .5); */
	/* background: linear-gradient(160deg, rgb(37 26 21 / 82%) 0%, rgba(20, 10, 6, .88) 55%, rgba(0, 0, 0, .92) 100%); */
}

#top.y2026 .p-sec01-ticketArea__titArea .icon {
	filter: brightness(0);
}

#top.y2026 .p-sec01-ticketArea__titArea .tit .en {
	position: relative;
	color: #ffbb54;
	line-height: 1;
	font-size: 110px;
	letter-spacing: .1em;
	opacity: .55;
	-webkit-text-stroke: 2px currentColor;
}

#top.y2026 .p-sec01-ticketArea__titArea .tit .jp {
	position: relative;
	z-index: 2;
	margin-top: -30px;
	color: #fff;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: .1em;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-sec01-ticketArea__titArea .tit .en {
		font-size: 56px;
		-webkit-text-stroke: 1.2px currentColor;
	}

	#top.y2026 .p-sec01-ticketArea__titArea .tit .jp {
		margin-top: -14px;
		font-size: 16px;
	}
}

#top.y2026 .p-sec01-ticketArea__bnrArea {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 28px;
	/* margin-top: 48px; */
	/* padding-top: 40px; */
	/* border-top: 2px dashed rgba(0, 0, 0, .15); */
}

#top.y2026 .p-sec01-ticketArea__bnrArea .caution {
	margin-top: 8px;
	color: #fff;
}

/* チラシのチケット部分（数量限定バナー）をCSSで再現 */
#top.y2026 .p-ticketCard {
	position: relative;
	width: 100%;
	max-width: 90rem;
	padding: 44px 48px 36px;
	border-radius: 20px;
	background: linear-gradient(160deg, #ab9377 0%, #93795c 100%);
	box-shadow: 0 20px 40px rgba(0, 0, 0, .35);
	text-align: center;
}

#top.y2026 .p-ticketCard__badge {
	position: absolute;
	top: -22px;
	left: 24px;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 150px;
	height: 150px;
	transform: rotate(-8deg);
	border-radius: 50%;
	background-color: #c1272d;
	box-shadow: 0 8px 16px rgba(0, 0, 0, .3);
	color: #fff;
	font-weight: 700;
	font-size: 3rem;
	line-height: 1.3;
}

#top.y2026 .p-ticketCard__date {
	margin-top: 8px;
	color: #fff;
	font-weight: 700;
	font-size: 26px;
}

#top.y2026 .p-ticketCard__date .num {
	font-size: 36px;
	letter-spacing: .02em;
}

#top.y2026 .p-ticketCard__tit {
	margin-top: 6px;
	color: #fff;
	font-weight: 700;
	font-size: 52px;
	letter-spacing: .04em;
}

#top.y2026 .p-ticketCard__note {
	margin-top: 12px;
	color: rgba(255, 255, 255, .85);
	font-size: 17px;
	line-height: 1.7;
}

#top.y2026 .p-ticketCard__row {
	display: flex;
	align-items: stretch;
	justify-content: center;
	gap: 20px;
	margin-top: 28px;
}

#top.y2026 .p-ticketCard__qty {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 8px;
}

#top.y2026 .p-ticketCard__qtyBadge {
	display: inline-block;
	padding: 4px 14px;
	border-radius: 999px;
	background-color: #c1272d;
	color: #fff;
	font-size: 15px;
	font-weight: 700;
}

#top.y2026 .p-ticketCard__qtyNum {
	color: #fff;
	font-weight: 700;
	font-size: 32px;
}

#top.y2026 .p-ticketCard__qtyNum b {
	margin: 0 4px;
	font-size: 56px;
}

#top.y2026 .p-ticketCard__price {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 4px;
	padding: 14px 32px;
	border-radius: 16px;
	background-color: #fff;
}

#top.y2026 .p-ticketCard__priceLabel {
	color: #4a3a28;
	font-size: 15px;
}

#top.y2026 .p-ticketCard__priceNum {
	color: #c1272d;
	font-weight: 700;
	font-size: 38px;
}

#top.y2026 .p-ticketCard__priceNum small {
	margin-left: 4px;
	color: #4a3a28;
	font-size: 16px;
	font-weight: 400;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-ticketCard {
		padding: 36px 24px 28px;
	}

	#top.y2026 .p-ticketCard__tit {
		font-size: 30px;
	}

	#top.y2026 .p-ticketCard__row {
		flex-direction: column;
		align-items: center;
	}

	#top.y2026 .p-ticketCard__badge {
		top: 10px;
		left: 10px;
		width: 72px;
		height: 72px;
		font-size: 1.4rem;
		display: none;
	}

	#top.y2026 .p-ticketCard__qtyBadge {
		display: inline-block;
		padding: 8px 44px;
		border-radius: 999px;
		background-color: #c1272d;
		color: #fff;
		font-size: 27px;
		font-weight: 700;
	}

	#top.y2026 .p-ticketCard__priceNum {
		display: block;
	}

	#top.y2026 .p-ticketCard__priceNum small {
		display: block;
		margin-top: 4px;
		margin-left: 0;
	}
}

#top.y2026 .p-sec01-ticketArea__btnArea .ticketBtn {
	background: linear-gradient(135deg, #ff6a3d 0%, #c92a1e 100%);
	box-shadow: 0 12px 30px rgba(201, 42, 30, .45);
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-sec01 {
		background-size: cover;
		padding-bottom: 15px !important;
	}

	#top.y2026 .p-sec01-contents {
		padding: 40px 28px;
		border-radius: 40px;
	}

	#top.y2026 .p-sec01-contents__dateArea .num {
		font-size: 36px;
	}

	#top.y2026 .p-sec01-contents__dateArea .text {
		width: auto;
		padding: 2px 10px;
		white-space: nowrap;
		font-size: 16px;
	}

	#top.y2026 .p-sec01-contents__detailArea .timeArea .time .text {
		padding: 5px 10px;
		font-weight: 400;
		font-size: 18px;
		line-height: 1.3333333333;
	}

	#top.y2026 .p-sec01-contents__detailArea .timeArea .ledTime .text {
		font-size: 16px;
		opacity: .9;
	}

	#top.y2026 .p-sec01-themeArea {
		margin: 40px 0;
	}

	#top.y2026 .p-sec01-ticketArea {
		padding: 40px 10px 48px;
	}

	#top.y2026 .p-sec01-ticketArea__btnArea {
		margin-top: 20px;
	}

	#top.y2026 .p-sec03-contents__text {
		text-align: left;
	}

	#top.y2026 .p-sec01-ticketArea__bnrArea {
		flex-direction: column;
		gap: 24px;
	}
}

/* 装飾ライン（line@2x.png）を不使用に。グラデーション線＋スパークルに差し替え */
#top.y2026 .p-sec02__line,
#top.y2026 .p-sec03__line {
	position: relative;
	max-width: 420px;
	height: 1px;
	margin: 0 auto 60px;
	background: linear-gradient(to right, transparent 0%, rgba(255, 187, 84, .85) 50%, transparent 100%);
}

#top.y2026 .p-sec02__line img,
#top.y2026 .p-sec03__line img {
	display: none;
}

#top.y2026 .p-sec02__line::before,
#top.y2026 .p-sec03__line::before {
	content: "✦";
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	color: #ffbb54;
	font-size: 22px;
	line-height: 1;
}

/* MAINエリア：写真を丸角で（PC/SP共通） */
#top.y2026 .p-sec03-contents__image img {
	border-radius: 32px;
	box-shadow: 0 30px 60px rgba(0, 0, 0, .45);
}

/* MAINエリア：写真を左カラム、テキスト＋「スカイランタンとは」ボックスを右カラムに（PCのみ2カラム化） */
@media screen and (min-width: 769px) {
	#top.y2026 .p-sec03-contents {
		display: grid;
		grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
		grid-template-areas:
			"image text"
			"image bnr";
		align-items: start;
		gap: 48px;
	}

	#top.y2026 .p-sec03-contents__image {
		grid-area: image;
		margin-top: 0;
		height: 100%;
	}

	#top.y2026 .p-sec03-contents__image img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	}

	#top.y2026 .p-sec03-contents__text {
		grid-area: text;
		margin-top: 0;
		text-align: left;
	}

	#top.y2026 .p-sec03-contents__bnr {
		grid-area: bnr;
		margin-top: 0;
		align-self: end;
	}
}

/* スカイランタン説明ボックスのイラスト：テキストに被らないよう上に逃がして少し縮小 */
#top.y2026 .p-sec03-contents__bnr .icon {
	top: -34px;
	right: 20px;
	width: 130px;
}

#top.y2026 .p-sec03-contents__bnr .icon img {
	width: 100%;
	height: auto;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-sec03-contents__bnr .icon {
		display: none;
		top: -84px;
		right: 20px;
		width: 130px;
	}

	#top.y2026 .p-sec03-contents__bnr .textArea .tit {
		margin-bottom: 10px;
	}

	#top.y2026 .p-sec03-contents__bnr {
		flex-direction: column;
		padding: 20px 20px 30px;
	}
}

/* MENU のカード刷新（チラシ裏面のエリア色 Ⓑ青・Ⓒ赤・Ⓓ緑をグラデーションで） */
#top.y2026 .p-sec02-contents__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

#top.y2026 .p-sec02-contents__grid .itemLink {
	position: relative;
	flex-direction: column;
	align-items: flex-start;
	justify-content: center;
	gap: 24px;
	min-height: 200px;
	min-width: 0;
	padding: 32px 36px;
	border: 1px solid rgba(255, 255, 255, .18);
	border-radius: 40px;
	box-shadow: 0 20px 40px rgba(0, 0, 0, .35);
	transition: transform .3s ease, box-shadow .3s ease;
}

#top.y2026 .p-sec02-contents__grid .itemLink .titAreaWrap {
	display: flex;
	align-items: center;
	gap: 24px;
	width: 100%;
	min-width: 0;
}

#top.y2026 .p-sec02-contents__grid .itemLink .tit {
	align-items: flex-start;
	margin-top: 0;
	text-align: left;
	min-width: 0;
}

#top.y2026 .p-sec02-contents__grid .itemLink .tit .en {
	font-size: 52px;
	line-height: 1.15;
}

#top.y2026 .p-sec02-contents__grid .itemLink .tit .jp {
	font-size: 28px;
	line-height: 1.4;
}

#top.y2026 .p-sec02-contents__grid .itemLink .btn {
	flex-shrink: 0;
	margin: 0;
}

#top.y2026 .p-sec02-contents__grid .itemLink:hover {
	transform: translateY(-6px);
	box-shadow: 0 28px 50px rgba(0, 0, 0, .45);
}

#top.y2026 .p-sec02-contents__grid .itemLink:first-child {
	background: linear-gradient(160deg, #1c86c9 0%, #0a3f63 100%);
}

#top.y2026 .p-sec02-contents__grid .itemLink:nth-child(2) {
	background: linear-gradient(160deg, #ff4d3d 0%, #7a0808 100%);
}

#top.y2026 .p-sec02-contents__grid .itemLink:nth-child(3) {
	background: linear-gradient(160deg, #35c46e 0%, #0a5c2c 100%);
}

#top.y2026 .p-sec02-contents__grid .itemLink:nth-child(4) {
	background: linear-gradient(160deg, #ffb347 0%, #7a4a06 100%);
}

#top.y2026 .p-sec02-contents__grid .itemLink .icon {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 120px;
	height: 120px;
	flex-shrink: 0;
	margin: 0;
	border-radius: 50%;
	background: rgba(255, 255, 255, .14);
}

#top.y2026 .p-sec02-contents__grid .itemLink .icon img {
	width: 64px !important;
	height: auto;
}

#top.y2026 .p-sec02-contents__grid .itemLink .btn {
	border: 1px solid rgba(255, 255, 255, .6);
	background: transparent;
	color: #fff;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-sec02-contents__grid {
		grid-template-columns: 1fr;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink {
		min-height: auto;
		padding: 24px;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink .btn {
		display: none;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink .icon {
		width: 90px;
		height: 90px;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink .icon img {
		width: 48px !important;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink .tit .en {
		font-size: 30px;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink .tit .jp {
		font-size: 16px;
	}
}

/* MAP・タイムスケジュールのボックス刷新 */
#top.y2026 .p-sec02-contents__box .boxItem {
	position: relative;
	border: 1px solid rgba(255, 187, 84, .3);
	border-radius: 40px;
	background: linear-gradient(160deg, rgba(58, 27, 12, .9) 0%, rgba(10, 5, 3, .95) 100%);
	box-shadow: 0 20px 40px rgba(0, 0, 0, .35);
	transition: transform .3s ease, box-shadow .3s ease;
}

#top.y2026 .p-sec02-contents__box .boxItem:hover {
	transform: translateY(-6px);
	box-shadow: 0 28px 50px rgba(0, 0, 0, .45);
}

#top.y2026 .p-sec02-contents__box .boxItem .en {
	color: #ffbb54;
}

/* セクション見出し：英字を大きく縁取りだけにして背景に置き、日本語見出しを手前に重ねるポスター風 */
#top.y2026 .c-titA__en {
	position: relative;
	line-height: 1;
	font-size: 110px;
	letter-spacing: .1em;
	opacity: .55;
	-webkit-text-stroke: 2px currentColor;
}

#top.y2026 .c-titA__jp {
	position: relative;
	z-index: 2;
	margin-top: -30px;
	color: #fff;
	font-weight: 700;
	font-size: 24px;
	letter-spacing: .1em;
}

@media screen and (max-width: 767px) {
	#top.y2026 .c-titA__en {
		font-size: 56px;
		-webkit-text-stroke: 1.2px currentColor;
	}

	#top.y2026 .c-titA__jp {
		margin-top: -14px;
		font-size: 16px;
	}
}

/* セクション見出しと出演者名 */
#top.y2026 .p-sec02 .c-titA__en,
#top.y2026 .p-sec06 .c-titA__en,
#top.y2026 .p-sec07 .c-titA__en {
	color: #ffbb54;
}

#top.y2026 .p-sec03 .c-titA__en {
	color: #0060a8;
}

#top.y2026 .p-sec04 .c-titA__en {
	color: #e4000c;
}

#top.y2026 .p-sec04-contents__item .textArea .nameArea .tit {
	color: #ffffff;
}

#top.y2026 .p-sec05 .c-titA__en,
#top.y2026 .p-sec05-textArea__theme {
	color: #00903c;
}

/* フードエリアの画像（3枚並び） */
#top.y2026 .p-sec05-food-menus.-col03 {
	grid-template-columns: 1fr 1fr 1fr;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-sec05-food-menus.-col03 {
		grid-template-columns: 1fr;
	}
}

/* フードエリア：手描きラフの「楽しいカード」に再構成（左＝見出し＋文章、右＝写真をブロブ型に） */
#top.y2026 .p-sec05-card {
	position: relative;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 48px;
	max-width: 1100px;
	margin: 48px auto 0;
	padding: 48px 56px;
	border: 1px solid rgba(70, 200, 130, .3);
	border-radius: 64px 32px 56px 28px;
	background: linear-gradient(160deg, rgba(10, 45, 24, .85) 0%, rgba(6, 24, 14, .9) 55%, rgba(0, 0, 0, .95) 100%);
	box-shadow: 0 30px 60px rgba(0, 0, 0, .4);
}

#top.y2026 .p-sec05-card__left {
	flex: 1 1 40%;
	min-width: 0;
}

#top.y2026 .p-sec05-card__tit.c-titA {
	align-items: flex-start;
	text-align: left;
}

#top.y2026 .p-sec05-card__tit .c-titA__icon--food {
	width: 90px;
	margin-bottom: 16px;
}

#top.y2026 .p-sec05-card__theme {
	margin-top: 16px;
	color: #ffbb54;
	font-weight: 700;
	font-size: 20px;
	text-align: left;
}

#top.y2026 .p-sec05-card__text {
	margin-top: 16px;
	font-size: 15px;
	line-height: 2;
	text-align: left;
}

#top.y2026 .p-sec05-card__badge {
	position: absolute;
	top: -28px;
	right: 40px;
	z-index: 4;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 104px;
	height: 104px;
	transform: rotate(10deg);
	border-radius: 50%;
	background: linear-gradient(135deg, #1fb35a 0%, #00903c 100%);
	box-shadow: 0 10px 24px rgba(0, 0, 0, .4);
	color: #fff;
	text-align: center;
	font-weight: 700;
	font-size: 20px;
	line-height: 1.3;
}

#top.y2026 .p-sec05-card__right {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	flex: 1 1 60%;
	min-width: 0;
	height: 500px;
}

#top.y2026 .p-sec05-card__collage {
	display: block;
	width: auto;
	height: 100%;
	max-width: 110%;
	object-fit: contain;
	transform: rotate(0deg);
	filter: drop-shadow(0 20px 45px rgba(0, 144, 60, .35));
}

@media screen and (max-width: 768px) {
	#top.y2026 .p-sec05-card {
		flex-direction: column;
		gap: 32px;
		padding: 36px 24px;
		border-radius: 40px 24px 36px 20px;
	}

	#top.y2026 .p-sec05-card__tit.c-titA {
		align-items: center;
		text-align: center;
		width: 100%;
	}

	#top.y2026 .p-sec05-card__theme,
	#top.y2026 .p-sec05-card__text {
		text-align: center;
	}

	#top.y2026 .p-sec05-card__left,
	#top.y2026 .p-sec05-card__right {
		flex: none;
	}

	#top.y2026 .p-sec05-card__right {
		width: 100%;
		height: 340px;
	}

	#top.y2026 .p-sec05-card__badge {
		top: -24px;
		right: 24px;
		width: 84px;
		height: 84px;
		font-size: 16px;
	}
}

/* ミニランタン展示 */
#top.y2026 .p-mini {
	padding: 70px 0 80px;
}

#top.y2026 .p-mini .c-titA__en {
	color: #d45219;
}

#top.y2026 .p-mini__text {
	margin-top: 20px;
	font-weight: 400;
	font-size: 16px;
	line-height: 2.25;
	letter-spacing: .02em;
	text-align: center;
}

/* ミニランタンの背景動画。テキストと同じ幅で下に配置し、この下にマーキーを続ける */
#top.y2026 .p-mini__video {
	position: relative;
	margin-top: 32px;
	border-radius: 24px;
	overflow: hidden;
	aspect-ratio: 16 / 9;
}

#top.y2026 .p-mini__video video {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

#top.y2026 .p-mini__marquee {
	margin-top: 44px;
}

#top.y2026 .p-mini__row {
	overflow: hidden;
}

#top.y2026 .p-mini__row + .p-mini__row {
	margin-top: 16px;
}

#top.y2026 .p-mini__track {
	display: flex;
	width: -webkit-max-content;
	width: max-content;
	animation: mini-marquee 70s linear infinite;
}

#top.y2026 .p-mini__row--reverse .p-mini__track {
	animation-direction: reverse;
}

#top.y2026 .p-mini__marquee:hover .p-mini__track {
	animation-play-state: paused;
}

#top.y2026 .p-mini__track img {
	display: block;
	width: auto;
	height: 260px;
	margin-right: 20px;
	border-radius: 10px;
}

/* 同じ並びを3セット連結しているので、1セット分（1/3）動かすとつなぎ目なくループする */
@keyframes mini-marquee {
	from {
		transform: translateX(0);
	}

	to {
		transform: translateX(-33.3333%);
	}
}

@media (prefers-reduced-motion: reduce) {
	#top.y2026 .p-mini__track {
		animation: none;
	}
}

@media screen and (max-width: 768px) {
	#top.y2026 .p-mini {
		padding: 50px 0 56px;
	}

	#top.y2026 .p-mini__text {
		font-size: 14px;
		line-height: 2;
	}

	#top.y2026 .p-mini__row + .p-mini__row {
		margin-top: 10px;
	}

	#top.y2026 .p-mini__track img {
		height: 165px;
		margin-right: 12px;
	}
}

/* 会場マップの凡例 */
#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(2) .titArea .small,
#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(2) .titArea .tit .areaTit {
	color: #0060a8;
}

#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(3) .titArea .small,
#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(3) .titArea .tit .areaTit {
	color: #e4000c;
}

#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(4) .titArea .small,
#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(4) .titArea .tit .areaTit {
	color: #00903c;
}

#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(5) .titArea .small,
#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(5) .titArea .tit .areaTit {
	color: #d45219;
}

#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(6) .titArea .tit .areaTit {
	color: #ffbb54;
}

/* 凡例の補足（.small）を次の行に落とす */
#top.y2026 .p-sec06-box__textArea .areaList .listItem .titArea {
	flex-wrap: wrap;
	align-items: flex-start;
	gap: 0.4rem 2rem;
}

#top.y2026 .p-sec06-box__textArea .areaList .listItem .titArea .small {
	flex-basis: 100%;
}

/* 会場マップ：地図を上部フル幅、凡例をカード型2カラムグリッドに再構成 */
#top.y2026 .p-sec06-box {
	display: flex;
	flex-direction: column;
	gap: 40px;
}

#top.y2026 .p-sec06-box__imageArea {
	width: 100%;
}

#top.y2026 .p-sec06-box__imageArea img {
	width: 100%;
	height: auto;
	border-radius: 24px;
}

#top.y2026 .p-sec06-box__textArea .areaList {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

#top.y2026 .p-sec06-box__textArea .areaList .listItem,
#top.y2026 .p-sec06-box__textArea .areaList .listItem + .listItem {
	margin-top: 0;
	padding: 28px 32px;
	border: 1px solid rgba(255, 187, 84, .25);
	border-radius: 28px;
	background: rgba(0, 0, 0, .92);
}

#top.y2026 .p-sec06-box__textArea .areaList .listItem:nth-child(6) {
	grid-column: 1 / -1;
}

@media screen and (max-width: 768px) {
	#top.y2026 .p-sec06-box__textArea .areaList {
		grid-template-columns: 1fr;
	}

	#top.y2026 .p-sec06-box__textArea .areaList .listItem,
	#top.y2026 .p-sec06-box__textArea .areaList .listItem + .listItem {
		padding: 22px 24px;
	}
}

/* エリア記号のバッジ */
#top.y2026 .areaMark {
	display: inline-flex;
	flex: none;
	align-items: center;
	justify-content: center;
	width: 2.8rem;
	height: 2.8rem;
	border-radius: 50%;
	background-color: #0066aa;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1;
}

@media screen and (min-width: 769px) {
	body.y2026 .l-hdr-box__navArea .mainNav .navItem .navText {
		font-size: 2.4rem;
		line-height: 2.5;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink:first-child .tit .en {
		font-size: 52px;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink:first-child .tit .jp {
		font-size: 28px;
	}
}

@media screen and (max-width: 768px) {
	#top.y2026 .p-sec02-contents__grid .itemLink .tit .en {
		font-size: 3rem;
		line-height: 1.25;
	}

	#top.y2026 .p-sec02-contents__grid .itemLink .tit .jp {
		font-size: 14px;
		line-height: 2;
	}
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-mv {
		padding: 0;
		aspect-ratio: 780 / 829;
		background-image: url(../images/top/fv2026_sp@2x.jpg);
		background-position: center top;
		background-size: 100%;
	}

	/* 縦位置の背景に合わせて、ロゴは右上の空きに置く */
	#top.y2026 .p-mv-logo {
		top: 16%;
		right: 3%;
		width: 48.5%;
	}

	/* ロゴの下に開催日程ボックスを配置（スマホ向けモックアップから実測） */
	#top.y2026 .p-mv-schedule {
		top: 60%;
		right: 2.2%;
		width: 57.6%;
	}
}

/* ---- キャンセルポリシーへのリンク（チケット購入ボタンの下） ---- */
body.y2026 .c-policyLink {
	margin-top: 2rem;
	text-align: center;
}

body.y2026 .c-policyLink a {
	display: inline-block;
	padding-bottom: 0.4rem;
	border-bottom: 1px solid rgba(255, 255, 255, .6);
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.6;
	transition: opacity .3s;
}

body.y2026 .c-policyLink a:hover {
	opacity: .7;
}

/* ---- キャンセルポリシーページ（/cancel-policy/） ---- */
body.y2026 .p-policy {
	padding: 16rem 0 12rem;
}

body.y2026 .p-policy__tit {
	display: flex;
	flex-direction: column;
	align-items: center;
	margin-bottom: 6rem;
	text-align: center;
}

body.y2026 .p-policy__tit .en {
	color: #ffd227;
	font-weight: 700;
	font-size: 4.4rem;
	line-height: 1.2;
	letter-spacing: .1em;
}

body.y2026 .p-policy__tit .jp {
	margin-top: 1.6rem;
	font-size: 2.2rem;
	line-height: 1.6;
}

body.y2026 .p-policy__body {
	max-width: 84rem;
	margin: 0 auto;
}

body.y2026 .p-policy__block + .p-policy__block {
	margin-top: 5.6rem;
}

body.y2026 .p-policy__lead {
	padding-bottom: 1.2rem;
	border-bottom: 1px solid rgba(255, 255, 255, .3);
	color: #ffd227;
	font-size: 2.2rem;
	line-height: 1.5;
}

body.y2026 .p-policy__text {
	margin-top: 2rem;
	font-size: 1.6rem;
	line-height: 2;
}

body.y2026 .p-policy__venue {
	margin-top: 2rem;
	padding: 1.6rem 2rem;
	border-radius: 1rem;
	background-color: rgba(255, 255, 255, .08);
	font-size: 1.8rem;
	line-height: 1.7;
}

body.y2026 .p-policy__venue .label {
	color: #ffd227;
}

body.y2026 .p-policy__btnArea {
	display: flex;
	justify-content: center;
	margin-top: 8rem;
}

body.y2026 .p-policy__back {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 32rem;
	padding: 1.6rem 3rem;
	border: 1px solid rgba(255, 255, 255, .6);
	border-radius: 3.8rem;
	color: #fff;
	font-size: 1.8rem;
	line-height: 1.5;
	transition: background-color .3s, color .3s;
}

body.y2026 .p-policy__back:hover {
	background-color: #fff;
	color: #000;
}

@media screen and (max-width: 768px) {
	body.y2026 .c-policyLink a {
		font-size: 1.4rem;
	}

	body.y2026 .p-policy {
		padding: 11rem 0 8rem;
	}

	body.y2026 .p-policy__tit {
		margin-bottom: 4rem;
	}

	body.y2026 .p-policy__tit .en {
		font-size: 3rem;
	}

	body.y2026 .p-policy__tit .jp {
		font-size: 1.6rem;
	}

	body.y2026 .p-policy__block + .p-policy__block {
		margin-top: 4rem;
	}

	body.y2026 .p-policy__lead {
		font-size: 1.8rem;
	}

	body.y2026 .p-policy__text {
		font-size: 1.4rem;
	}

	body.y2026 .p-policy__venue {
		font-size: 1.5rem;
	}

	body.y2026 .p-policy__btnArea {
		margin-top: 5rem;
	}

	body.y2026 .p-policy__back {
		width: 100%;
		min-width: 0;
		font-size: 1.6rem;
	}
}

/* 「ランタンはオレンジ色」の注記。チケット・スカイランタンエリア・会場マップ・タイムスケジュールの4箇所に同じものを出す。
   文字サイズは置いた場所の本文に合わせたいので指定しない（親から継承させる） */
body.y2026 .c-lanternNote {
	display: block;
	margin-top: 1rem;
	color: #f5a24b;
	font-weight: 700;
}

/* MV の下に重なる黒いカーブは 2026 では使わない（2025＝xmas 側はそのまま） */
#top.y2026 .p-sec01__curve {
	display: none;
}

/* MV下端を黒へなじませる。画像の下辺（左下は黒、中央は芝生）が直線で切り替わって見えるため */
#top.y2026 .p-mv::after {
	content: "";
	position: absolute;
	right: 0;
	bottom: 0;
	left: 0;
	height: 110px;
	background: linear-gradient(to top, #000 0%, rgba(0, 0, 0, 0) 100%);
	pointer-events: none;
}


/* ============================================
   2026-09-19 追記（チラシ最終版との整合・中林さん指示）
   1) 開催概要に「入場無料」バッジを追加（チラシ表面の訴求をLPにも反映）
   2) 開催概要に「雨天時 会場」の行を追加（チラシの開催概要に合わせる）
   3) タイムスケジュールの時刻チップに Ⓐ本部エリア用のゴールド版を追加
   ============================================ */

/* 1) 入場無料バッジ */
#top.y2026 .p-sec01-contents__freeArea {
	display: flex;
	justify-content: center;
	margin-top: 14px;
}

#top.y2026 .p-sec01-contents__freeArea .free {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 26px;
	border-radius: 999px;
	background-color: #c92a1e;
	color: #fff;
	font-weight: 400;
	font-size: 24px;
	line-height: 1;
	letter-spacing: .12em;
}

/* 2) 雨天時の会場（会場ブロックの下に控えめに併記） */
#top.y2026 .p-sec01-contents__detailArea .rainArea {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	margin-top: 20px;
	padding-top: 20px;
	border-top: 1px dashed rgba(255, 187, 84, .3);
}

#top.y2026 .p-sec01-contents__detailArea .rainArea .place {
	display: flex;
	flex-shrink: 0;
	align-items: center;
	gap: 14px;
}

#top.y2026 .p-sec01-contents__detailArea .rainArea .place .tit {
	padding: 8px 12px;
	border: 1px solid #ffbb54;
	color: #ffbb54;
	font-weight: 400;
	font-size: 18px;
	line-height: 1;
}

#top.y2026 .p-sec01-contents__detailArea .rainArea .place .name {
	font-weight: 400;
	font-size: 26px;
	line-height: 1.2;
}

#top.y2026 .p-sec01-contents__detailArea .rainArea .address {
	margin-top: 8px;
}

#top.y2026 .p-sec01-contents__detailArea .rainArea .address .text {
	font-weight: 400;
	font-size: 16px;
	line-height: 1.5;
}

/* 3) Ⓐ本部エリアの時刻チップ（エリア記号の黄色に合わせる） */
#top .p-sec07-contents__list .listItem .time--gold {
	background-color: #ffea3c;
	color: #231815;
}

@media screen and (max-width: 767px) {
	#top.y2026 .p-sec01-contents__freeArea {
		margin-top: 12px;
	}

	#top.y2026 .p-sec01-contents__freeArea .free {
		padding: 6px 18px;
		font-size: 18px;
	}

	#top.y2026 .p-sec01-contents__detailArea .rainArea .place {
		flex-direction: column;
		gap: 8px;
	}

	#top.y2026 .p-sec01-contents__detailArea .rainArea .place .tit {
		padding: 5px 10px;
		font-size: 16px;
	}

	#top.y2026 .p-sec01-contents__detailArea .rainArea .place .name {
		font-size: 20px;
	}

	#top.y2026 .p-sec01-contents__detailArea .rainArea .address {
		text-align: center;
	}
}

/* 2026 協賛：10万円枠（1列・中央） */
.p-sec08-banner.-col01 {
	grid-template-columns: 1fr;
	max-width: 760px;
	margin-left: auto;
	margin-right: auto;
}

.p-sec08-banner.-col01 + .p-sec08-banner {
	margin-top: 2rem;
}

@media screen and (max-width: 768px) {
	.p-sec08-banner.-col01 {
		max-width: 80%;
	}

	.p-sec08-banner.-col01 + .p-sec08-banner {
		margin-top: 1rem;
	}
}
