@charset "UTF-8";
/*
Version: 2.4.0
Creation Date: 2024.2.7
Last Updated: 2024.5.30
*/


/* import
------------------------------------------------------------ */
@import "https://cdn.jsdelivr.net/npm/swiper@11/swiper-bundle.min.css";


/* Overwrite
------------------------------------------------------------ */
.header {
position: fixed;
}
.spnav,
.spsubnav,
.gnav__subitem__table td a {
text-align: left;
}
.access {
padding: 0;
}
.access .accessSection {
width: 100%;
margin: 0 auto;
}
.access__table {
table-layout: auto;
}
.share__icon {
margin: 0;
}


/* set
------------------------------------------------------------ */
* {
margin: 0;
padding: 0;
font-style: normal;
box-sizing: border-box;
}
body {
-webkit-text-size-adjust: 100%;
background: #FFF;
font-family: ryo-gothic-plusn, sans-serif;
color: #4f59a6;
font-size: 1.8rem;
font-weight: 700;
text-align: center;
min-width: auto;
}
ul {
list-style: none;
}
img {
vertical-align: middle;
max-width: 100%;
height: auto;
}
video,iframe {
vertical-align: bottom;
max-width: 100%;
max-height: 100%;
border: none;
}
a {
color: inherit;
text-decoration: none;
}
.opa a {
background: #FFF;
display: block;
}
.opa a:hover img {
opacity: .7;
}
:hover {
transition: .3s;
}
.smd,.smp,.flex.smd,.flex.smp {
display: none;
}
.pc {
display: block;
}


/* common
------------------------------------------------------------ */
/* font */
.EN,
time,
.kick-off,
figure.swiper-slide h3::before {	/* Poster Gothic Cond ATF Bold */
font-family: poster-gothic-cond-atf, sans-serif;
font-weight: 600;
letter-spacing: .1em;
}
small {
font-size: 77%;
}

/* layout */
main {
width: 100%;
display: block;
overflow: hidden;
}
article {
width: 100%;
position: relative;
}
section {
width: 1000px;
max-width: 90%;
margin: 0 auto;
padding: 5em 0;
position: relative;
}

/* flexbox */
.flex {
display: flex;
}
.flex.wrap {
flex-wrap: wrap;
}
[class*=col-]{
flex-wrap: wrap;
justify-content: space-between;
}
.flex.center {
justify-content: center;
}
.col-2 >* {
flex-basis: 48%;
}

/* style */
.none {
display: none;
}
h2 {
margin-bottom: 3.5em;
position: relative;
z-index: 1;
}
.center {
text-align: center;
}
.vwmax img {
width: 100vw;
}
.sub {
font-size: 2.4rem;
line-height: 1.8;
font-weight: 800;
margin-bottom: 1.5em;
}
.sub strong {
font-size: 3rem;
font-weight: 800;
}
dl {
width: 350px;
max-width: 90%;
white-space: nowrap;
display: inline-block;
}
dl dt {
background: #4f59a6;
color: #FFF;
font-size: 1.6rem;
letter-spacing: .1em;
text-align: center;
margin: .2em .5em .5em 0;
padding: .1em .9em .1em 1em;
border-radius: 100vh;
float: left;
clear: both
}
dl dd {
font-size: 2.2rem;
text-align: left;
margin-bottom: .5em;
}

/* gourmet */
section:has(.col-3) {
width: 1140px;
padding-top: 2em;
}
section:has(.col-3) dl {
margin: -2em auto 1em;
}
.col-3 >* {
flex-basis: 31%;
}
.col-3::after {
content: "";
width: 31%;
height: 0;
display: block;
}
.col-3 li {
background: #FFF;
margin-top: 3%;
border-radius: 1.5em;
border: 1em solid #f4b0b6;
}
.col-3 li h3 {
font-size: 2.6rem;
font-weight: 800;
line-height: 1.2;
min-height: 3.4em;
padding: .5em;
display: flex;
justify-content: center;
align-items: center;
}
.col-3 li h4 {
font-size: 2rem;
font-weight: 800;
line-height: 1.2;
max-width: 90%;
margin: .5em auto;
padding-bottom: .5em;
border-bottom: 3px dotted #f4b0b6;
}
.col-3 li h4 em {
font-size: 2.6rem;
}
.col-3 li p {
font-weight: 500;
text-align: left;
max-width: 90%;
margin: .5em auto 1.5em;
}
#sweets .col-3 li {
border: 1em solid #fee27d;
}
#sweets .col-3 li h4 {
border-bottom: 3px dotted #fee27d;
}

/* .vw */
.vw::before {
content: "";
background-repeat: no-repeat;
background-size: contain;
width: 60px;
max-width: 5%;
height: 100%;
position: absolute;
top: 4em;
left: 2.5%;
}
#highlight_01.vw::before {
background-image: url("img/vw_uniform.png");
}
#highlight_02.vw::before {
background-image: url("img/vw_hanabi.png");
}
#highlight_03.vw::before {
background-image: url("img/vw_gourmet-sweets.png");
}
#special.vw::before {
background-image: url("img/vw_gourmet_g.png");
}
#sweets.vw::before {
background-image: url("img/vw_sweets.png");
}
#gourmet.vw::before {
background-image: url("img/vw_gourmet_p.png");
}
#favorite.vw::before {
background-image: url("img/vw_favorite.png");
}

/* .more */
.more a {
background: #FFF;
font-size: 2.6rem;
font-weight: 800;
width: 360px;
max-width: 80%;
margin-top: 1.5em;
padding: .5em 3em;
display: inline-block;
border: 3px solid #4f59a6;
border-radius: 100vh;
position: relative;
}
.more a::after {
content: "";
border-style: solid;
border-width: 9px 0 9px 12px;
border-color: transparent transparent transparent #4f59a6;
position: absolute;
top: 50%;
right: .5em;
transform: translateY(-50%);
}
.more a:hover {
background: #4f59a6;
color: #FFF;
}
.more a:hover::after {
border-color: transparent transparent transparent #FFF !important;
}
.slide + .more a {
margin-top: 3em;
}
.more.note a {
color: #000;
font-size: 2rem;
line-height: 1;
width: auto;
padding: .5em calc(90px + 2em) .5em 1em;
border: 3px solid #000;
}
.more.note a::after {
border-color: transparent transparent transparent #000;
}
.more.note a:hover {
background: #4f59a6;
color: #FFF;
border: 3px solid #4f59a6;
}
.more.note a:before {
content: "";
background: url("img/note_off.png") no-repeat center/contain;
width: 80px;
height: 18px;
position: absolute;
top: 48%;
right: 2em;
transform: translateY(-50%);
}
.more.note a:hover:before {
background: url("img/note_on.png") no-repeat center/contain
}


/* .slide */
section:has(ul.swiper-wrapper) {
width: 1200px;
}
section:has(ul.swiper-wrapper) .swiper {
max-width: 1140px;
}
section:has(div.swiper-wrapper),
#favorite section {
width: 1060px;
}
section:has(div.swiper-wrapper) .swiper,
#favorite .swiper {
max-width: 1000px;
}
.slide {
text-align: left;
margin: 0 auto;
position: relative;
}
ul li.swiper-slide {
background: #FFF;
height: auto;
border-radius: 1.5em;
border: 1em solid #99d8db;
}
#note li.swiper-slide {
border: 1em solid #f4b0b6;
outline: 2px solid #FFF;
outline-offset: -2px;
}
#note .swiper-wrapper {
justify-content: center;
}
li.swiper-slide h3 {
background: #99d8db;
font-size: 2.6rem;
font-weight: 800;
line-height: 1.2;
min-height: 3.4em;
margin-top: -.2em;
display: flex;
justify-content: center;
align-items: center;
}
#note li.swiper-slide h3 {
background: #FFF;
}
li.swiper-slide p {
font-weight: 500;
max-width: 90%;
margin: .5em auto 1.5em;
}
li.swiper-slide p a {
font-size: 90%;
text-decoration: underline;
}
li.swiper-slide p a:hover {
text-decoration: none;
}
.swiper-slide dl {
margin: .8em auto .5em;
padding-bottom: .5em;
white-space: wrap;
display: block;
border-bottom: 3px dotted #99d8db;
}
.swiper-slide dl dt {
width: 4.5em;
white-space: nowrap;
margin: 0 .5em .5em 0;
padding: .1em .1em .1em .2em;
}
.swiper-slide dl dd {
font-size: 1.8rem;
line-height: 1.2;
padding-top: .2em;
}

div.swiper-wrapper {
counter-reset: num;
}
figure.swiper-slide {
background: #FFF;
height: auto;
padding: 2.5em;
border-radius: 1.5em;
border: 1em solid #fee793;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
counter-increment: num;
}
figure.swiper-slide figcaption {
flex-basis: 36%;
}
figure.swiper-slide h3 {
background: #FFF;
font-size: 2.6rem;
font-weight: 800;
min-width: 60%;
margin-bottom: 1em;
padding-right: 1em;
display: flex;
align-items: center;
border: 3px solid #4f59a6;
border-radius: 100vh;
position: absolute;
top: 1em;
left: 1em;
z-index: 1;
}
figure.swiper-slide h3::before {
content: counter(num,decimal-leading-zero);
background: #4f59a6;
color: #FFF;
font-size: 4.4rem;
line-height: 1.5em;
text-align: center;
width: 1.5em;
height: 1.5em;
margin: -2px .5em -2px -2px;
border-radius: 50%;
}
figure.swiper-slide h3 small {
font-weight: 700;
}
figure.swiper-slide p {
margin-top: 4em;
line-height: 2.2;
height: calc(100% - 5em);
padding: 0 .5em;
background-image:
linear-gradient(90deg, transparent 0%, transparent 50%, #fff 50%, #fff 50%),
linear-gradient(180deg, transparent 0%, transparent 96%, #fee793 96%, #fee793 100%);
background-size: 8px 100%, 100% 2.2em;
}
figure.swiper-slide p a {
text-decoration: underline;
}
figure.swiper-slide p a:hover {
text-decoration: none;
}
figure.swiper-slide > div {
flex-basis: 60%;
position: relative;
}
#step figure.swiper-slide > div {
margin-top: 2em;
}
figure.swiper-slide > div::before {
content: "";
background: #fee793;
width: 100%;
height: 100%;
position: absolute;
top: .6em;
right: -.6em;
z-index: -1;
}
.swiper-prev,
.swiper-next {
background: #4f59a6;
width: 36px;
height: 36px;
border-radius: 50%;
position: absolute;
top: 50%;
transform: translateY(-50%);
z-index: 1;
cursor: pointer;
}
.swiper-prev {
left: 0;
}
.swiper-next {
right: 0;
}
.swiper-prev::before,
.swiper-next::before {
content: "";
border-style: solid;
border-width: 9px 12px 9px 0;
border-color: transparent #f8dbc7 transparent transparent;
position: absolute;
top: 50%;
left: 46%;
transform: translate(-50%,-50%);
}
.swiper-next::before {
border-width: 9px 0 9px 12px;
border-color: transparent transparent transparent #f8dbc7;
left: 52%;
}
section:has(div.swiper-wrapper) .swiper-prev::before {
border-color: transparent #fdce27 transparent transparent;
}
section:has(div.swiper-wrapper) .swiper-next::before {
border-color: transparent transparent transparent #fdce27;
}
#favorite .swiper-prev,
#favorite .swiper-next {
background: #fdce27;
}
#favorite .swiper-prev::before {
border-color: transparent #4f59a6 transparent transparent;
}
#favorite .swiper-next::before {
border-color: transparent transparent transparent #4f59a6;
}
.swiper-pagination {
bottom: -2.5em !important;
}
.swiper-pagination-bullet {
background: #dbdcdc;
width: 3em;
height: .3em;
margin: 0 .3em !important;
border-radius: 0;
opacity: 1;
}
.swiper-pagination-bullet-active {
background: #4f59a6;
}
#favorite .swiper-pagination {
bottom: 0 !important;
}
#favorite .swiper-pagination-bullet {
background: #888;
}
#favorite .swiper-pagination-bullet-active {
background: #fdce27;
}


/* header
------------------------------------------------------------ */
header {
margin-top: 120px;
}


/* main
------------------------------------------------------------ */
/* #highlight_01 */
#highlight_01 {
background: #fae6d8;
background:
repeating-linear-gradient(90deg,rgba(250,230,216,1),
rgba(250,230,216,1) 4%,
rgba(255,255,255,1) 0,
rgba(255,255,255,1) 8%);
}
#highlight_01 section {
padding-top: 2em;
}
#highlight_01 h2 {
position: relative;
}
#highlight_01 h2::before {
content: "";
background: url("img/highlight_01_girl_01.png") no-repeat bottom/contain;
width: 230px;
max-width: 30%;
height: 495px;
position: absolute;
right: 85%;
bottom: 0;
}
#highlight_01 h2::after {
content: "";
background: url("img/highlight_01_girl_02.png") no-repeat bottom/contain;
width: 215px;
max-width: 28%;
height: 345px;
position: absolute;
left: 85%;
bottom: 0;
}
#highlight_01 p {
_text-align: left;
_max-width: 720px;
margin: 0 auto 1.5em;
padding: 0 1em;
}

/* #highlight_02 */
#highlight_02 {
background: #6169af;
background:
repeating-linear-gradient(90deg,rgba(79,89,166,1),
rgba(79,89,166,1) 4%,
rgba(97,105,175,1) 0,
rgba(97,105,175,1) 8%);
color: #FFF
}
#highlight_02::after {
content: "";
background: url("img/bg_firework_01.png") no-repeat top/100% auto;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
z-index: 1;
}
#highlight_02 section {
padding-top: 2em;
}
#highlight_02 .sub {
position: relative;
z-index: 1;
}
#highlight_02 .sub::after {
content: "";
background: url("img/highlight_02_girl.png") no-repeat bottom/contain;
width: 335px;
max-width: 33.5%;
height: 225px;
position: absolute;
left: 85%;
bottom: 0;
z-index: -1;
}
#highlight_02 dl dt {
background: #55bfc3;
}

/* #highlight_03 */
#highlight_03 {
background: #fbdfe2;
background:
repeating-linear-gradient(90deg,rgba(251,223,226,1),
rgba(251,223,226,1) 4%,
rgba(255,255,255,1) 0,
rgba(255,255,255,1) 8%);
}
#highlight_03 section {
padding-top: 2em;
}
#highlight_03 section::before {
content: "";
background: url("img/highlight_03_girl_01.png") no-repeat left/contain;
width: 215px;
max-width: 21.5%;
height: 440px;
position: absolute;
top: 20%;
left: 95%;
}
#highlight_03 section::after {
content: "";
background: url("img/highlight_03_girl_03.png") no-repeat bottom/contain;
width: 90px;
max-width: 9%;
height: 305px;
position: absolute;
bottom: 10%;
right: 75%;
z-index: 1;
}
#highlight_03 h2 {
position: relative;
}
#highlight_03 h2::before {
content: "";
background: url("img/highlight_03_sub.png") no-repeat right top/contain;
width: 455px;
max-width: 45.5%;
height: 190px;
position: absolute;
top: 3em;
right: 70%;
}
#highlight_03 h2::after {
content: "";
background: url("img/highlight_03_girl_02.png") no-repeat right/contain;
width: 205px;
max-width: 20.5%;
height: 410px;
position: absolute;
top: 35%;
right: 95%;
}

/* #pickup */
#pickup {
background: #55bfc3;
}
#pickup ul.flex > li {
background: #FFF;
text-align: left;
padding: .5em;
border: .3em solid #a7acd2;
border-radius: .5em;
}
#pickup ul.flex > li + li {
border: .3em solid #f4b0b6;
}
#pickup h3 {
margin-top: -1.5em;
}
#pickup li div {
padding: 1em .5em;
}
#pickup h4 {
margin: 1em 0 .5em;
}
#pickup ul ul {
margin-top: .5em;
}
#pickup ul li li {
line-height: 1.4;
padding: 0 0 .2em 1.2em;
position: relative;
}
#pickup .note li {
font-size: 1.6rem;
font-weight: 500;
}
#pickup ul li li::before {
content: "★";
color: #55bfc3;
position: absolute;
top: 0;
left: 0;
}
#pickup ul.flex > li + li li::before {
color: #eb6d82;
}
#pickup .price li::before {
top: 50%;
transform: translateY(-50%);
}
#pickup .note li::before {
content: "※";
color: #4f59a6 !important;
}
#pickup ul .EN {
font-size: 2.8rem;
letter-spacing: 0;
}
#pickup ul ol {
counter-reset: num;
}
#pickup ul ol li::before {
counter-increment: num;
content: counter(num);
background: #4f59a6;
color: #FFF !important;
font-size: 1.3rem;
line-height: 1.4;
text-align: center;
width: 1.4em;
height: 1.4em;
border-radius: 50%;
position: absolute;
top: .3em;
left: 0;
}
#pickup ul figure {
text-align: center;
}
#pickup ul small {
font-size: 88%;
font-weight: 500;
}

/* #enjoy */
#enjoy::before {
content: "";
background: url("img/bg.png") no-repeat 0 -50px/100% auto;
width: 100%;
height: 130%;
position: absolute;
top: 0;
left: 0;
}
#enjoy .slide::before {
content: "";
background: url("img/enjoy_girl.png") no-repeat bottom/contain;
width: 250px;
max-width: 25%;
height: 225px;
position: absolute;
top: -225px;
right: 0;
}

/* #schedule */
#schedule {
background: url("img/bg.png") no-repeat bottom/100% auto;
}
#schedule::before {
content: "";
background: url("img/schedule_girl_01.png") no-repeat right/contain;
width: 189px;
max-width: 20%;
height: 430px;
position: absolute;
top: 20%;
right: 3%;
}
#schedule::after {
content: "";
background: url("img/schedule_girl_02.png") no-repeat left bottom/contain;
width: 180px;
max-width: 18%;
height: 295px;
position: absolute;
bottom: 0;
left: 3%;
z-index: -1;
}
#schedule ol {
max-width: 900px;
margin: 0 auto 3em;
position: relative;
}
#schedule ol::before {
content: "";
background: #969bc9;
width: .7em;
height: 100%;
position: absolute;
top: 0;
left: 50%;
transform: translateX(-50%);
z-index: -1;
}
#schedule ol li {
background: #FFF;
font-size: 2.6rem;
margin-bottom: 1em;
padding-right: 1em;
display: flex;
align-items: center;
border: 3px solid #4f59a6;
border-radius: 100vh;
}
#schedule ol li time {
background: #4f59a6;
font-size: 3.6rem;
color: #FFF;
height: 100%;
margin: 0 .5em 0 -2px;
padding: .15em .8em;
border-radius: 100vh;
}
#schedule ol li p {
text-align: left;
}
#schedule ol li.kick-off {
background: #fee793;
font-size: 3.6rem;
margin-bottom: .72em;
}

/* #event */
#event {
background: #f8d0d3 url("img/bg_firework_02.png") no-repeat top/contain;
}
#event section {
width: 1100px;
}
#event ul {
justify-content: space-around;
}
#event ul::after {
content: "";
width: 40%;
height: 0;
display: block;
}
#event ul li {
padding-bottom: 2em;
flex-basis: 40%;
position: relative;
z-index: 1;
}
#event ul li::before {
content: "";
background: url("img/bg_event.png") no-repeat top/100% auto;
width: 150%;
height: 55%;
position: absolute;
left: 50%;
bottom: 0;
transform: translateX(-50%);
z-index: -1;
}
#event ul li div {
margin-bottom: -3em;
padding: .5em;
border: .3em solid #b9bddb;
border-radius: 50%;
}
#event ul li div img {
border-radius: 50%;
}
#event ul li h3 {
background: #4f59a6;
font-size: 2.4rem;
font-weight: 800;
color: #FFF;
padding: .5em;
border: 3px solid #FFF;
border-radius: 100vh;
position: relative;
z-index: 1;
}
#event ul li p {
font-size: 1.5rem;
line-height: 1.6;
text-align: left;
padding: 1em 1em .5em;
}
#event ul li p small {
font-size: 88%;
font-weight: 500;
}
#event ul li h4 {
font-size: 1.5rem;
font-weight: 800;
text-align: left;
padding: 0 1em;
}
#event ul li dl {
width: 100%;
max-width: 100%;
margin: .2em 1em 0;
padding-bottom: .5em;
white-space: wrap;
display: block;
}
#event ul li dl dt {
font-size: 1.2rem;
width: 4.5em;
white-space: nowrap;
margin: 0 .5em .5em 0;
padding: .1em .1em .1em .2em;
}
#event ul li dl dd {
font-size: 1.4rem;
line-height: 1.2;
padding-top: .2em;
}

/* #booth */
#booth {
background: url("img/bg.png") no-repeat center/100% auto;
}

/* #special */
#special {
background: #fbdfe2;
background:
repeating-linear-gradient(90deg,rgba(251,223,226,1),
rgba(251,223,226,1) 4%,
rgba(255,255,255,1) 0,
rgba(255,255,255,1) 8%);
}

/* #sweets */
#sweets {
background: #fbdfe2;
background:
repeating-linear-gradient(90deg,rgba(251,223,226,1),
rgba(251,223,226,1) 4%,
rgba(255,255,255,1) 0,
rgba(255,255,255,1) 8%);
}
#sweets section {
padding-top: 0;
}

/* #gourmet */
#gourmet {
background: #fae6d8;
}
#gourmet h2,
#gourmet .sub {
margin-top: -2em;
}

/* #goods */
#goods {
background: url("img/bg.png") no-repeat center/100% auto;
}

/* #note */
#note {
background: url("img/bg.png") no-repeat center/100% auto;
}
#note section {
padding: 2em 0 6em;
}

/* #favorite */
#favorite {
background: #6169af;
background:
repeating-linear-gradient(90deg,rgba(79,89,166,1),
rgba(79,89,166,1) 4%,
rgba(97,105,175,1) 0,
rgba(97,105,175,1) 8%);
}
#favorite section {
padding: 2em 0 6em;
}
#favorite h2 {
margin-bottom: 0;
}

/* #seat */
#seat {
background: #55bfc3;
}
#seat ul li {
margin-top: 4%;
}

/* #area */
#area {
background: #fbdfe2;
}
#area ul li {
margin-top: 4%;
}

/* #step */
#step {
background: url("img/bg.png") no-repeat center/100% auto;
}
#step section {
padding-bottom: 8em;
}

/* #access */
#access {
background: #fae6d8;
padding-bottom: 1em;
}
#access h2 + div {
margin: -3.5em auto 3em;
}
#access .panel-group section {
text-align: left;
padding-top: 3rem;
}
#access .panel-group h3.LOGO {
text-align: center;
margin-bottom: 3rem;
}
#access .panel-group h3.LOGO strong {
color: #1a1a7c;
font-size: 4rem;
border-bottom: 5px solid #1a1a7c;
}
.access {
background: #FFF;
border: 2rem solid #1a1a7c;
border-radius: 4rem;
position: relative;
}
.tab {
background-size: contain !important;
width: 200px;
height: 183px;
text-indent: 100%;
white-space: nowrap;
overflow: hidden;
}
.tab:hover {
cursor: pointer;
}
.tab:nth-child(1) {
background: url("img/access_nav_01_off.png") no-repeat;
border-radius: 1.8rem 0 0 0;
}
.tab:nth-child(2) {
background: url("img/access_nav_02_off.png") no-repeat;
}
.tab:nth-child(3) {
background: url("img/access_nav_03_off.png") no-repeat;
}
.tab:nth-child(4) {
background: url("img/access_nav_04_off.png") no-repeat;
}
.tab:nth-child(5) {
background: url("img/access_nav_05_off.png") no-repeat;
border-radius: 0 1.8rem 0 0;
}
.tab:nth-child(1):hover,
.tab:nth-child(1).is-active {
background: url("img/access_nav_01_on.png") no-repeat;
}
.tab:nth-child(2):hover,
.tab:nth-child(2).is-active {
background: url("img/access_nav_02_on.png") no-repeat;
}
.tab:nth-child(3):hover,
.tab:nth-child(3).is-active {
background: url("img/access_nav_03_on.png") no-repeat;
}
.tab:nth-child(4):hover,
.tab:nth-child(4).is-active {
background: url("img/access_nav_04_on.png") no-repeat;
}
.tab:nth-child(5):hover,
.tab:nth-child(5).is-active {
background: url("img/access_nav_05_on.png") no-repeat;
}
.panel {
display: none;
}
.panel.is-show {
display: block;
}
.panel a {
color: #09369d;
text-decoration: underline;
}
.panel a:hover {
text-decoration: none;
}

/* #beginners */
#beginners {
background: #6169af;
background:
repeating-linear-gradient(90deg,rgba(79,89,166,1),
rgba(79,89,166,1) 4%,
rgba(97,105,175,1) 0,
rgba(97,105,175,1) 8%);
}


/* footer
------------------------------------------------------------ */
footer {
background: #000;
}
footer section {
padding: 3em 0 120px;
}
footer h1 {
width: 188px;
margin: 0 auto 3rem;
}
footer p {
color: #FFF;
font-size: 1.2rem;
line-height: 1.3;
}
footer p + p {
font-size: 1.1rem;
margin-top: 1rem;
}

/* #sns */
#sns {
background: #FFF;
}

/* #ticket */
#ticket {
width: 100%;
position: fixed;
bottom: 0;
left: 0;
z-index: 3;
}
#ticket a {
background: #FFBA00;
color: #FFF;
font-size: 4rem;
display: flex;
justify-content: center;
align-items: center;
white-space: nowrap;
}
#ticket a span {
font-size: 3.2rem;
padding: 0 10px;
}
#ticket a:hover {
background: #000;
}





@media screen and (max-width: 768px) {

/* set
------------------------------------------------------------ */
.pc,.pc.inline,.flex.pc {
display: none;
}
.smd,
.smd-block {
display: block;
}
.flex.smd {
display: flex;
}

/* common
------------------------------------------------------------ */
/* gourmet */
.col-3 >* {
flex-basis: 48%;
}
.col-3::after {
display: none;
}

/* .slide */
.swiper-prev {
left: -4%;
}
.swiper-next {
right: -4%;
}

/* header
------------------------------------------------------------ */
header {
margin-top: 60px;
}

/* main
------------------------------------------------------------ */
/* #highlight_01 */
#highlight_01 h2::before {
right: 80%;
}
#highlight_01 h2::after {
left: 80%;
}

/* #highlight_02 */
#highlight_02 .sub::after {
left: 70%;
bottom: 3em;
}

/* #highlight_03 */
#highlight_03 section::before {
top: auto;
bottom: -3em;
left: 85%;
}
#highlight_03 section::after {
bottom: 5%;
right: 85%;
}
#highlight_03 h2::before {
max-width: 40%;
right: 65%;
}
#highlight_03 h2::after {
display: none;
}

/* #pickup */
#pickup ul small {
font-size: 77%;
}

/* #enjoy */
#enjoy .slide::before {
max-width: 20%;
right: -5%;
}

/* #schedule */
#schedule::before {
max-width: 15%;
top: -10%;
right: 0;
}
#schedule::after {
max-width: 10%;
left: 0;
}

/* #event */
#event ul::after {
width: 48%;
}
#event ul li {
flex-basis: 48%;
}
#event ul li::before {
width: 120%;
height: 50%;
}
#event ul li h3 {
font-size: 2.2rem;
}

/* footer
------------------------------------------------------------ */
footer section {
padding: 3em 0 100px;
}
footer p,
footer p + p {
font-size: 1rem;
}

/* #ticket */
#ticket a {
font-size: 3rem;
height: 60px;
padding: 0 5%;
}
#ticket a span {
font-size: 2.2rem;
padding: 0 5px;
}

}


@media screen and (max-width: 430px) {

/* set
------------------------------------------------------------ */
html {
font-size: 45%;
}
.smd,.flex.smd,.smp-none {
display: none;
}
.smp,
.smp-block {
display: block;
}
.flex.smp {
display: flex;
}
br.smp {
font-size: 0;
}

/* common
------------------------------------------------------------ */
/* layout */
section {
padding: 3em 0;
}

/* flexbox */
.col-2 {
display: block;
}

/* style */
.sub {
font-size: 2rem;
}

/* gourmet */
section:has(.col-3) .sub,
#gourmet .sub {
text-align: left;
}
section:has(.col-3) .sub br,
#gourmet .sub br {
display: none;
}
.col-3 li {
flex-basis: 49%;
margin-top: 1em;
border-radius: .5em;
border: 3px solid #f4b0b6;
}
#sweets .col-3 li {
border: 3px solid #fee27d;
}
.col-3 li h3 {
font-size: 2rem;
}
.col-3 li h4 {
font-size: 1.6rem;
}
.col-3 li h4 em {
font-size: 2rem;
}
.col-3 li p {
margin: .5em auto 1em;
}

/* .slide */
figure.swiper-slide {
padding: 1.5em;
display: block;
}
figure.swiper-slide h3 {
font-size: 2rem;
text-align: center;
padding: .5em 1em;
display: block;
border-radius: .5em;
position: static;
}
figure.swiper-slide h3::before {
position: absolute;
top: .5em;
left: .5em;
}
figure.swiper-slide p {
margin: 0 0 1em;
}

/* main
------------------------------------------------------------ */
/* #highlight_02 */
#highlight_02 .sub::after {
bottom: 100%;
}

/* #highlight_03 */
#highlight_03 section::before {
left: 90%;
}
#highlight_03 section::after {
right: 95%;
}

/* #pickup */
#pickup ul.flex > li + li {
margin-top: 2em;
}
#pickup h3 {
padding-bottom: 1em;
}
#pickup li div {
height: 300px;
overflow: auto;
}

/* #schedule */
#schedule ol {
margin: 0 auto 2em;
}
#schedule ol li {
font-size: 2rem;
}
#schedule ol li time {
font-size: 3rem;
padding: .3em .5em;
}
#schedule ol li.kick-off {
font-size: 3rem;
}

/* #event */
#event ul li p {
font-size: 1.8rem;
padding: 1em 2em .5em;
}
#event ul li h4 {
font-size: 1.8rem;
padding: 0 2em;
}
#event ul li dl {
margin: .2em 2em 0;
}
#event ul li dl dt {
font-size: 1.4rem;
}
#event ul li dl dd {
font-size: 1.6rem;
}

/* #favorite */
#favorite .swiper {
margin-top: 2em;
padding-bottom: 2em;
}

/* #access */
#access h2 + p img {
height: 35px;
}
#access .panel-group h3.LOGO strong {
font-size: 2.8rem;
border-bottom: 3px solid #1a1a7c;
}
.access {
background: #FFF;
border: 1rem solid #1a1a7c;
border-radius: 2rem;
position: relative;
}
.tab {
height: 67px;
}
.tab:nth-child(1) {
border-radius: .9rem 0 0 0;
}
.tab:nth-child(5) {
border-radius: 0 .9rem 0 0;
}
.access::before {
width: 100px;
height: 120px;
top: calc(-120px - 1rem);
}

}