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


/* 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;
color: #000;
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 */
/* Poster Gothic Cond ATF Bold */
.EN {
font-family: poster-gothic-cond-atf, sans-serif;
font-weight: 600;
letter-spacing: .1em;
}

/* 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;
}
.center {
text-align: center;
}
.vwmax img {
width: 100vw;
}
h2 {
margin-bottom: 3.5em;
position: relative;
z-index: 1;
}
h2 + p.fadeInScale2 {
margin: -2em auto 1em;
position: relative;
}


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

/* main
------------------------------------------------------------ */
main {
background: url("img/main_bg.jpg") no-repeat center top/100% auto;
}

/* #nav */
#nav {
color: #FFF;
}
#nav section {
width: 940px;
padding-top: 3em;
}
#nav nav ul li {
flex-basis: 18%;
margin: 0 1%;
}
#nav nav ul li a:hover img {
opacity: 1;
}
#nav p {
font-family: ab-kirigirisu, corporate-logo-ver2, sans-serif;
font-size: 3.5rem;
font-weight: 400;
letter-spacing: -.2em;
line-height: 1.2;
text-shadow: 0 0 7px #389fcc;
padding: 1em 0 5em;
}
#nav p span {
font-family: corporate-logo-ver2, sans-serif;
font-size: 3rem;
}

/* #schedule */
#schedule section::before {
content: "";
background: url("img/illust_01.png") no-repeat top/contain;
width: 230px;
max-width: 20%;
height: 165px;
position: absolute;
top: 3em;
right: 0;
}
#schedule h2::before {
content: "";
background: url("img/schedule_logo.png") no-repeat top/contain;
width: 136px;
max-width: 13%;
height: 187px;
position: absolute;
top: -1em;
left: 5%;
}
#schedule li {
margin-top: 3em;
}

/* #event */
#event {
background: url("img/event_bg.jpg") no-repeat top/cover;
padding-bottom: 5em;
}
#event h2 {
margin-bottom: 0;
}
#event h2::after {
content: "";
background: url("img/illust_02.png") no-repeat top/contain;
width: 170px;
max-width: 17%;
height: 210px;
position: absolute;
top: -4em;
right: 18%;
}
#event ul {
position: relative;
z-index: 1;
}
#event ul::before {
content: "";
background: url("img/person_01.png") no-repeat top/contain;
width: 370px;
max-width: 37%;
height: 550px;
position: absolute;
top: -8%;
left: -3%;
}
#event ul li a:hover img {
opacity: 1;
}
#event ul li:nth-child(2)::before {
content: "";
background: url("img/person_02.png") no-repeat bottom/contain;
width: 255px;
max-width: 25%;
height: 430px;
position: absolute;
top: -30%;
left: -20%;
z-index: -1;
}
#event ul li:nth-child(3)::before {
content: "";
background: url("img/person_03.png") no-repeat bottom/contain;
width: 450px;
max-width: 45%;
height: 405px;
position: absolute;
top: 0;
right: -30%;
z-index: -1;
}
#event ul li:nth-child(5)::before {
content: "";
background: url("img/person_04.png") no-repeat bottom/contain;
width: 220px;
max-width: 22%;
height: 295px;
position: absolute;
bottom: 0;
right: -5%;
z-index: -1;
}
#event::before {
content: "";
background: url("img/person_05.png") no-repeat left bottom/contain;
width: 295px;
max-width: 20%;
height: 415px;
position: absolute;
bottom: 0;
left: 5%;
}

/* #gourmet */
#gourmet {
background: url("img/gourmet_bg.jpg") no-repeat center top/cover;
}
#gourmet section::before {
content: "";
background: url("img/person_06.png") no-repeat bottom left/contain;
width: 255px;
max-width: 25%;
height: 330px;
position: absolute;
top: -2%;
right: -2%;
}
#gourmet li {
margin-bottom: 3em;
z-index: 1;
}
#gourmet::before {
content: "";
background: url("img/person_07.png") no-repeat center/contain;
width: 135px;
max-width: 13%;
height: 490px;
position: absolute;
bottom: 2%;
right: 2%;
}

/* #seat */
#seat {
background: url("img/seat_bg.jpg") no-repeat center top/cover;
}
#seat h2:first-of-type::before {
content: "";
background: url("img/illust_03.png") no-repeat center/contain;
width: 90px;
max-width: 9%;
height: 110px;
position: absolute;
bottom: -2em;
right: 20%;
}
#seat h2 + div {
position: relative;
}
#seat h2 + div::before {
content: "";
background: url("img/person_08.png") no-repeat bottom/contain;
width: 460px;
max-width: 46%;
height: 265px;
position: absolute;
top: -265px;
left: -6%;
}
#seat ul li {
margin-top: 3em;
}

/* #access */
#access {
background: url("img/access_bg.jpg") no-repeat center top/100% auto;
}
#access::before {
content: "";
background: url("img/illust_04.png") no-repeat top/contain;
width: 185px;
max-width: 18%;
height: 210px;
position: absolute;
top: -1em;
right: 20%;
}
#access > section::before {
content: "";
background: url("img/person_09.png") no-repeat bottom/contain;
width: 265px;
max-width: 26%;
height: 330px;
position: absolute;
left: 2%;
top: 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;
z-index: 1;
}
.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;
}

/* #contents */
#contents::before {
content: "";
background: url("img/contents_bg.jpg") no-repeat center/cover;
width: 100%;
height: 130%;
position: absolute;
top: -30%;
left: 0;
z-index: -1;
}
#contents section {
padding-top: 0;
}
#contents ul {
position: relative;
margin-top: 3em;
}
#contents ul::before {
content: "";
background: url("img/person_10.png") no-repeat bottom/contain;
width: 360px;
max-width: 40%;
height: 360px;
position: absolute;
right: 0;
top: -330px;
z-index: -1;
}
#contents li {
background: #FFF;
color: #1f2b63;
font-size: 1.7rem;
text-align: left;
margin-bottom: 3em;
padding: 1em;
}
#contents li h3 {
text-align: center;
margin: -3em auto 1em;
}
#contents li h4 {
font-size: 2.4rem;
font-weight: bold;
padding: .8em 0;
}



/* footer
------------------------------------------------------------ */
footer {
background: #000;
}
footer section {
padding: 3rem 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;
}

/* #sponsor */
#sponsor {
background: #f7f7f7;
padding: 5rem 0;
}
#sponsor section {
background: #FFF;
width: 1200px;
padding: 5rem 0 0;
}
#sponsor section:last-child {
padding-bottom: 3rem;
}
#sponsor h4 {
background: #f0f0f0;
max-width: 880px;
margin: 0 auto 2em;
padding: .5em;
}
#sponsor ul {
max-width: 880px;
margin: 0 auto;
display: flex;
flex-wrap: wrap;
justify-content: space-between;
}
#sponsor ul li {
font-size: small;
text-align: left;
flex-basis: 25%;
margin: 1rem 0;
}
#sponsor ul.center {
max-width: 500px;
justify-content: center;
}
#sponsor ul.center li {
flex-basis: 50% !important;
}





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

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

/* common
------------------------------------------------------------ */
/* style */
h2 img {
width: auto;
height: 100px;
}

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

/* main
------------------------------------------------------------ */
/* #nav */
#nav p {
padding: 2em 0;
}

/* #schedule */
#schedule section {
padding-top: 0;
}

/* #gourmet */
#gourmet section::before {
background: url("img/person_06.png") no-repeat top left/contain;
top: 0;
}
#gourmet::before {
display: none;
}

/* #seat */
#seat h2 + div {
margin-bottom: 5em;
}

/* #access */
#access > section::before {
background: url("img/person_09.png") no-repeat top/contain;
top: 5em;
}
.tab {
height: 123px;
}

/* footer
------------------------------------------------------------ */
footer section {
padding: 3rem 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 */
h2 img {
height: 60px;
}

/* main
------------------------------------------------------------ */
main {
background: none;
}

/* #nav */
#nav {
background: url("img/nav_bg.jpg") no-repeat center top/100% auto;
}
#nav nav ul li {
flex-basis: 30%;
margin: 0 1.5% 3%;
}
#nav p {
font-size: 2.5rem;
padding: 1em 0 0;
}

/* #schedule */
#schedule {
background: url("img/seat_bg.jpg") repeat-y center top/100% auto;
}
#schedule section {
padding-top: 3em;
}

/* #event */
#event {
padding-bottom: 0;
}
#event ul::before,
#event ul li:nth-child(2)::before,
#event ul li:nth-child(3)::before,
#event::before {
display: none;
}

/* #gourmet */
#gourmet section::before {
display: none;
}

/* #access */
#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);
}

/* #contents */
#contents ul::before {
top: -360px;
}

/* footer
------------------------------------------------------------ */
/* #sponsor */
#sponsor {
background: #FFF;
}
#sponsor ul li {
flex-basis: 48%;
}

}