@charset "UTF-8";
/*
Version: 1.2.0
Creation Date: 2023.10.8
Last Updated: 2024.2.9
*/


/* import
------------------------------------------------------------ */
@import "https://w-shiya.com/release/css/ampersand-2023.css";
@import url('https://fonts.googleapis.com/css2?family=Zen+Kaku+Gothic+New:wght@500;700&display=swap');


/* set
------------------------------------------------------------ */
* {
font-weight: 700;
}
body {
font-family: 'Zen Kaku Gothic New', sans-serif;
}


/* Loading
------------------------------------------------------------ */
#splash {
background: #00441B;
width: 100%;
height: 100%;
position: fixed;
z-index: 9999999;
}
#splash video {
max-width: inherit;
max-height: inherit;
min-width: 100%;
min-height: 110%;
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
z-index: -1;
opacity: .3;
}
#splash-logo {
position: absolute;
top: 50%;
left: 50%;
transform: translate(-50%,-50%);
overflow: hidden;
}
#container {
opacity: 0;
}
body.appear #container {
animation-name: PageAppear;
animation-duration: 1s;
animation-delay: .2s;
animation-fill-mode: forwards;
opacity: 0;
}
@keyframes PageAppear {
 0% {
 opacity: 0;
 }
 100% {
 opacity: 1;
 }
}


/* common
------------------------------------------------------------ */
/* font */
.TA { /* TA Engeifude Regular */
font-family: "ta-engeifude", sans-serif;
font-weight: 400;
}
.CL { /* Corporate Logo ver2 Medium */
font-family: "corporate-logo-ver2", sans-serif;
}
.EN { /* Kegger Regular */
font-family: "kegger-us", serif;
font-weight: 400;
}
@font-face {
font-family: RDN;
src: url(font/Raiden-Regular.otf);
}
@font-face {
font-family: RDN-ilc;
src: url(font/Raiden-Italic.otf);
}
.RDN { /* Raiden Regular */
font-family: "RDN", "kegger-us", serif;
}
.RDN-ilc { /* Raiden Italic */
font-family: "RDN-ilc", "kegger-us", serif;
font-style: italic;
}

/* style */
.zidx1 {
position: relative;
z-index: 1;
}
.player::before,
.player::after {
content: "";
background-size: contain !important;
position: absolute;
}
.link a {
background: #FFF;
color: #00441B;
white-space: nowrap;
padding: .3rem 1rem;
display: inline-block;
border: 2px solid #FFF;
border-radius: 3px;
}
.link a:hover {
background: #00441B;
color: #FFF;
}

/* color */
.grn {
color: #00441B;
}
.gld {
color: #BFA666;
}
.grn_link a {
color: #00441B;
text-decoration: underline;
}
.grn_link a:hover {
color: #BFA666;
text-decoration: none;
}

/* background */
.bg_grn {
background: #00441B;
color: #BFA666;
}
.beige {
background: #BBA265;
color: #FFF;
}

/* Swiper */
.swiper-prev,
.swiper-next {
top: 50%;
}


/* header
------------------------------------------------------------ */
header {
width: 100%;
height: 70px;
position: fixed;
top: 0;
left: 0;
z-index: 3;
}
header h1 {
max-width: calc(100% - 140px);
height: 100%;
display: flex;
align-items: center;
}
#menu {
background: url("images/menu.png") no-repeat;
right: 70px;
}
#menu.open {
background: url("images/menu_close.png") no-repeat;
}
#share .btn {
background: url("images/share.png") no-repeat;
right: 0;
}
#share .btn.open {
background: url("images/share_close.png") no-repeat;
}
.btn {
background-size: contain !important;
position: absolute;
top: 0;
width: 70px;
height: 70px;
text-indent: -9999px;
cursor: pointer;
}
nav {
display: none;
background: rgba(0,68,27,.95);
width: 100%;
height: calc(100vh - 70px);
padding: 3rem 0 5rem;
position: absolute;
top: 100%;
right: 0;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}
nav ul li a {
padding: 1rem 0;
display: block;
}
#share ul {
display: none;
background: rgba(191,166,102,.9);
width: 70px;
position: absolute;
top: 100%;
right: 0;
}


/* main
------------------------------------------------------------ */
/* #main */
#main {
margin-top: 70px;
}

/* #day */
#day {
background: url("images/day_bg.png") no-repeat center;
background-size: cover;
}
#day section.flex {
width: 1375px;
padding: 4rem 0;
overflow: hidden;
}
#day .center + div {
order: -1;
}

/* #nav */
#nav section {
width: 1240px;
padding: 3rem 0;
}
#nav section::before {
background: url("images/player_01.png") no-repeat bottom;
width: 445px;
max-width: 38%;
height: 410px;
bottom: 0;
left: -3%;
}
#nav ul.flex li {
margin: 5px;
}

/* #layout */
#layout {
background: radial-gradient(circle,rgba(187,162,101,.5)0%,rgba(140,109,32,1)100%);
}
#layout section {
padding: 5rem 0;
}

/* #event */
#event {
background: url("images/event_bg.png") repeat-y;
background-size: 100% auto;
color: #FFF;
padding: 4rem 0;
}
#event::before {
background: url("images/player_03.png") no-repeat;
width: 360px;
max-width: 30%;
height: 500px;
top: -100px;
top: -50px; /* 会場レイアウト非表示のため */
right: 0;
}
#event::after {
background: url("images/player_04.png") no-repeat center;
width: 360px;
max-width: 25%;
height: 575px;
bottom: -7%;
left: 0;
z-index: 1;
}
#event figure {
width: 1240px;
max-width: 92%;
margin: 3rem auto;
}
#event figure:nth-child(odd) figcaption {
order: 1;
}
#event figcaption {
flex-basis: 45%;
padding: 2rem;
position: relative;
z-index: 1;
}
#event figcaption p {
line-height: 1.6;
padding: 1rem;
}
#event figcaption p a {
text-decoration: underline;
}
#event figcaption p a:hover {
text-decoration: none;
}
#event figcaption + div {
flex-basis: 55%;
}
#event figure.pickup_01::after,
#event figure.pickup_02::after,
#event figure.pickup_03::after {
background: url("images/pickup_01.png") no-repeat center top;
width: 127px;
height: 108px;
top: 0;
left: 50%;
transform: translateX(-50%);
z-index: 1;
}
#event figure.pickup_02::after {
background: url("images/pickup_02.png") no-repeat center top;
}
#event figure.pickup_03::after {
background: url("images/pickup_03.png") no-repeat center top;
}

/* #gourmet */
#gourmet {
background: url("images/event_end.png") no-repeat top left/100% auto;
padding-top: 15rem;
padding-bottom: 3rem;
}
#gourmet::before {
background: url("images/gourmet_bg.png") repeat-y top;
background-size: cover !important;
background-size: 100% auto !important;
width: 100%;
height: 140%;
top: -40%;
left: 0;
z-index: -1;
}
.gourmet {
width: 1140px;
margin: 3rem auto;
}
.gourmet::before {
background: url("images/player_05.png") no-repeat bottom;
width: 280px;
max-width: 25%;
height: 350px;
top: -320px;
right: 20px;
}
.gourmet .swiper-slide > div {
background: url("images/gourmet_box_btm.png") no-repeat left bottom;
background-size: 100% auto;
width: 310px;
max-width: 100%;
height: auto;
margin: 0 auto;
padding: 11px 11px 120px;
position: relative;
}
.gourmet .swiper-slide > div::before,
.gourmet .swiper-slide > div::after {
content: "";
background: url("images/gourmet_box_bg.png") repeat-y;
background-size: 100% auto !important;
width: 100%;
height: calc(100% - 56px);
position: absolute;
top: 22px;
left: 0;
z-index: -1;
}
.gourmet .swiper-slide > div::after {
background: url("images/gourmet_box_top.png") no-repeat;
height: 35px;
top: 0;
z-index: 0;
}
.gourmet .swiper-slide > div div img {
border-radius: 20px 20px 0 0;
}
.gourmet .swiper-slide h3,
.gourmet .swiper-slide p {
padding: .5rem 1rem;
}
.gourmet .swiper-slide p {
font-weight: normal;
}
.gourmet .swiper-slide dl {
width: calc(100% - 2rem - 22px);
position: absolute;
left: calc(1rem + 11px);
bottom: 20px;
}
.gourmet .swiper-slide dl dt {
background: #BBA265;
color: #FFF;
line-height: 25px;
font-weight: normal;
text-align: center;
width: 70px;
height: 25px;
margin: 0 10px 10px 0;
float: left;
clear: both;
}
.gourmet .swiper-slide dl dd {
margin-bottom: 10px;
}

/* #player */
#player {
background: url("images/member_bg.png") no-repeat;
background-size: cover;
padding-bottom: 4rem;
}
#player section {
padding: 4rem 0 2rem;
}

/* #member */
#member {
background: url("images/member_bg.png") no-repeat;
background-size: cover;
padding-bottom: 4rem;
}
#member section.center {
padding: 4rem 0 2rem;
}
#member ul::before {
background: url("images/player_07.png") no-repeat bottom;
width: 440px;
max-width: 42%;
height: 345px;
top: -345px;
left: -15%;
}
#member .item {
flex-basis: 31%;
margin-bottom: 2rem;
border: 5px solid #bfa666;
outline: 1px solid #bfa666;
outline-offset: -10px;
}
#member figure {
background: #FFF;
height: 100%;
border: 5px solid #00441b;
}
#member .item figcaption p {
padding: 0 10px 10px;
}

/* #schedule */
#schedule {
background: url("images/schedule_bg.png") no-repeat center;
background-size: cover;
padding: 4rem 0 6rem;
}
#schedule section::before {
background: url("images/player_12.png") no-repeat bottom;
width: 385px;
height: 575px;
top: -20%;
left: -200px;
}
#schedule ul {
max-width: 660px;
margin: 3rem auto;
}
#schedule ul::before {
background: url("images/player_09.png") no-repeat bottom;
width: 360px;
height: 610px;
top: -6%;
right: -360px;
}
#schedule ul li {
background: url("images/schedule_timetable.png") no-repeat center;
background-size: cover;
margin-bottom: 20px;
padding: 1.3rem 13%;
}
#schedule li time {
background: #00441b;
color: #FFF;
padding: 0 .5rem;
margin-right: 1rem;
}

/* #information */
#information {
background: radial-gradient(circle,rgba(187,162,101,.5)0%,rgba(140,109,32,1)100%);
}
#information section {
padding: 5rem 0;
}

/* #access */
#access {
padding: 4rem 0 0;
}
#access figure::before {
background: url("images/player_10.png") no-repeat bottom;
width: 400px;
max-width: 40%;
height: 360px;
top: -330px;
left: -10%;
z-index: -1;
}
#access div.player::before {
background: url("images/player_10.png") no-repeat bottom;
width: 300px;
max-width: 40%;
height: 270px;
top: 80px;
left: -70px;
z-index: -1;
}


/* footer
------------------------------------------------------------ */
footer {
padding: 40px 0 100px;
}
footer h1 {
max-width: 50%;
margin: 0 auto;
}

/* #ticket */
/* #ticket */
#ticket {
width: 100%;
height: 80px;
display: flex;
justify-content: center;
align-items: center;
position: fixed;
left: 0;
bottom: 0;
z-index: 3;
}
#ticket time {
font-size: 3rem;
vertical-align: middle;
}





@media screen and (max-width: 1024px) {
/* iPad横以下 */

/* main
------------------------------------------------------------ */
/* #gourmet */
.gourmet::before {
display: none;
}

/* #schedule */
#schedule section::before,
#schedule ul::before {
display: none;
}

}


@media screen and (max-width: 1180px) and (orientation: portrait) {
/* iPad縦以下 */

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

/* main
------------------------------------------------------------ */
/* #event */
#event figcaption {
padding: 0;
}
#event figure.pickup_01::after,
#event figure.pickup_02::after,
#event figure.pickup_03::after {
width: 80px;
}

/* #gourmet */
#gourmet::after {
right: -10%;
}

/* #access */
#access address {
margin-bottom: 2rem;
}
#access div.player::before,
#access figure::before {
display: none;
}
#access div.center {
width: 50%;
margin: 1rem auto 0;
}

}


@media screen and (max-width: 740px) {
/* iPhone以下 */

/* common
------------------------------------------------------------ */
h2.fadeInScale img {
height: 60px;
}
time img {
width: auto;
height: 30px;
}
.f18,
.f19 {
font-size: 100%;
}
p.smp-left br {
display: none;
}

/* header
------------------------------------------------------------ */
header {
height: 50px;
}
header h1 {
max-width: calc(100% - 100px);
}
#menu {
right: 50px;
}
.btn {
width: 50px;
height: 50px;
}
nav {
font-size: 80%;
height: calc(100vh - 50px);
padding: 1rem 0;
}
nav ul li a {
padding: .5rem 0;
}
#share ul {
width: 50px;
}

/* main
------------------------------------------------------------ */
/* #main */
#main {
margin-top: 50px;
}

/* #day */
#day section.flex {
padding: 2rem 0;
}
#day section.flex > div:not(.center) {
width: 50%;
margin-top: 2rem;
float: left;
display: inline-block;
}

/* #nav */
#nav section {
padding: 2rem 0;
}
#nav section::before {
display: none;
}
#nav .smp-col-3::before {
content: "";
background: url("images/player_01.png") no-repeat left bottom;
background-size: contain;
width: 120px;
height: 100px;
position: absolute;
top: -95px;
left: -25px;
z-index: 1;
}
#nav .smp-col-3 {
flex-wrap: wrap;
justify-content: space-between;
}
#nav ul.flex li {
margin: 5px 0;
}

/* #layout */
#layout section {
padding: 2rem 0;
}
#layout h2 {
margin-bottom: 1.5rem;
}
#layout h2.fadeInScale img {
height: 50px;
}
#layout p {text-align: center;}

/* #event */
#event {
padding: 2rem 0 10%;
}
#event::before,
#event::after {
display: none;
}
#event figure.pickup_01,
#event figure.pickup_02,
#event figure.pickup_03{
padding-top: 80px;
}

/* #gourmet */
#gourmet {
padding-top: 5rem;
}
.gourmet::before {
display: none;
}
#gourmet::after {
max-width: 50%;
}

/* #member */
#member {
padding-bottom: 2rem;
}
#member section.center {
padding: 2rem 0 1rem;
}
#member ul::before {
display: none;
}
#member .item {
margin-bottom: 1rem;
}
#member .item figcaption p {
font-size: 87.5%;
}

/* #schedule */
#schedule {
padding: 2rem 0;
}
#schedule ul {
margin: 2rem auto;
}
#schedule ul li {
background: #FFF;
margin-bottom: 10px;
padding: .5rem;
}

/* #information */
#information section {
padding: 2rem 0;
}
#information h2 {
margin-bottom: 1rem;
}
#information div.bg_wht {
margin: 0 auto;
padding: 1rem;
}

/* #access */
#access iframe {
height: 300px;
}

/* footer
------------------------------------------------------------ */
footer {
padding: 20px 0 80px;
}

/* #ticket */
#ticket {
height: 60px;
}
#ticket time {
font-size: 2rem;
display: none;
}
#ticket a img {
width: auto;
height: 50px;
}
#ticket .lr {
padding: 0 .5rem;
}
#ticket .link a {
padding: .2rem .5rem;
border: 1px solid #FFF;
}

}