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


/* 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") no-repeat bottom center;
_background-size: cover;
background: url("images/event_bg.png") repeat-y;
background-size: 100% auto;
color: #FFF;
padding: 4rem 0 25%;
padding: 4rem 0 15%;
padding: 4rem 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:not(#event_01) {
width: 1240px;
max-width: 92%;
margin: 0 auto;
}
#event figure:nth-child(even) figcaption {
order: 1;
}
#event figure:nth-child(odd) figcaption {
left: 5%;
}
#event figcaption {
padding: 2rem;
position: relative;
z-index: 1;
}
#event figcaption p {
padding: 1rem;
}
#event_01 {
background: url("images/event_01_bg.png") no-repeat center;
background-size: cover;
padding: 2rem 4% 6rem;
position: relative;
}
#event_01::before {
background: url("images/player_02.png") no-repeat bottom;
width: 525px;
max-width: 35%;
height: 340px;
top: calc(-340px + 6%);
right: -6%;
}
#event_02 {
_margin-top: -3rem !important;
position: relative;
z-index: 1;
}
#event_02::before {
background: url("images/player_03.png") no-repeat;
width: 445px;
max-width: 35%;
height: 620px;
top: -10%;
top: 0;
left: -18%;
}
#event #event_02 figcaption {
left: 18%;
left: 12%;
}
#event #event_02 figcaption p {
text-shadow: 3px 3px 3px #00441B, -3px -3px 3px #00441B, -3px 3px 3px #00441B, 3px -3px 3px #00441B, 3px 0 3px #00441B, -3px 0 3px #00441B, 0 3px 3px #00441B, 0 -3px 3px #00441B;
}
#event_06 figcaption {
left: 0 !important;
}
#event_07 {
_margin-top: -5rem !important;
}
#event_08 {
margin-top: -8rem !important;
}
#event_10,
#event_14 {
margin: 3rem auto !important;
}
#event_14 a {
text-decoration: underline;
}
#event_14 a:hover {
text-decoration: none;
}
#event_11,
#event_04 {
margin-top: 3rem !important;
}



/* #gourmet */
#gourmet {
_margin-top: -3rem;
_padding-top: 3rem;
background: url("images/event_end.png") no-repeat top left/100% auto;
padding-top: 15rem;
}
#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::after {
background: url("images/player_06.png") no-repeat bottom;
width: 445px;
max-width: 30%;
height: 485px;
bottom: 0;
right: -6%;
}
.gourmet {
width: 1140px;
margin: 3rem auto;
}
.gourmet::before {
background: url("images/player_05.png") no-repeat bottom;
width: 300px;
max-width: 25%;
height: 380px;
top: -380px;
right: 0;
}
.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;
}
#produce {
background: url("images/gourmet_produce_bg.png") no-repeat top 10% center;
background-size: 110% auto;
margin-top: 7rem;
}
#produce section {
padding: 3rem 0 6rem;
padding: 3rem 0;
}
#produce h3 {
display: inline-block;
position: relative;
}
#produce h3::before {
background: url("images/gourmet_new.png") no-repeat bottom;
width: 240px;
max-width: 35%;
height: 125px;
top: -110px;
left: -100px;
}
#produce figcaption {
padding: 1rem 0 2rem 4rem;
}
#produce figcaption {
text-shadow: 3px 3px 3px #00441B, -3px -3px 3px #00441B, -3px 3px 3px #00441B, 3px -3px 3px #00441B, 3px 0 3px #00441B, -3px 0 3px #00441B, 0 3px 3px #00441B, 0 -3px 3px #00441B;
}

/* #beer */
#beer {
background: #012817 url("images/beer_bg.png") no-repeat center;
background-size: 100% auto;
padding: 2rem 0;
}
#beer > div {
border-top: 4px solid #bba265;
border-bottom: 4px solid #bba265;
padding: 8px 0;
}
#beer > div > div {
border-top: 2px solid #bba265;
border-bottom: 2px solid #bba265;
padding: 0;
}
#beer section {
width: 1200px;
}
#beer section div {
flex-basis: 45%;
}
#beer figcaption {
flex-basis: 55%;
}

/* #coffee */
#coffee {
background: #261004;
}
#coffee::before,
#coffee::after {
content: "";
background: url("images/coffee_bg.png") repeat-x;
background-size: 50px auto;
width: 100%;
height: 35px;
position: absolute;
left: 0;
}
#coffee::before {
transform: rotate(-180deg);
top: 0;
}
#coffee::after {
bottom: 0;
}
#coffee section {
width: 1200px;
}
#coffeer figcaption {
flex-basis: 45%;
}
#coffee section div {
flex-basis: 55%;
z-index: 1;
}

/* #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_08.png") no-repeat bottom;
width: 385px;
height: 395px;
top: -4rem;
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;
}

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


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

/* #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
------------------------------------------------------------ */
/* #event */
#event figcaption p {
font-size: 110%;
}

/* #gourmet */
.gourmet::before {
display: none;
}
#produce {
background-size: 140% auto;
}

/* #beer */
#beer {
padding: 2rem 0;
}
#beer .f40 {
font-size: 200%;
}
#beer .f20 {
font-size: 100%;
}

/* #coffee */
#coffee .f40 {
font-size: 200%;
}
#coffee .f20 {
font-size: 100%;
}

/* #schedule */
#schedule section::before {
max-width: 35%;
left: -100px;
}
#schedule ul::before {
max-width: 36%;
right: -200px;
}

}


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

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

/* main
------------------------------------------------------------ */
/* #event */
#event figure:nth-child(odd) figcaption {
left: 0;
}
#event figcaption {
padding: 2rem 0;
}
#event figcaption p {
font-size: 100%;
}
#event #event_02 figcaption {
left: 15%;
}

/* #gourmet */
#gourmet::after {
_bottom: -5%;
right: -10%;
}
#produce {
background-size: 160% auto;
margin-top: 3rem;
}
#produce section {
padding: 3rem 0;
}
#produce h3 {
max-width: 70%;
}
#produce figure div {
flex-basis: 25%;
}

/* #beer */
#beer .f40 {
font-size: 150%;
}

/* #coffee */
#coffee .f40 {
font-size: 150%;
}

/* #schedule */
#schedule section::before {
top: -10rem;
}
#schedule ul::before {
right: -130px;
}

/* #access */
#access address {
margin-bottom: 2rem;
}
#access figure::before {
display: none;
}

}


@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;
}

/* #event */
#event {
padding: 2rem 0 15%;
padding: 2rem 0 0;
}
#event::after {
display: none;
}
#event section p {
padding-bottom: 2rem;
}
#event figure:not(#event_01) {
margin-top: 3rem;
}
#event figcaption {
padding: 0;
}
#event_08 {
margin-top: -5rem !important;
}
#event_01 {
padding: 1rem 4% 8rem;
}
#event_01::before {
max-width: 42%;
}
#event_01 figcaption {
padding: 2rem 0 0;
}
#event_02::before {
max-width: 45%;
top: -10%;
left: auto;
right: 0;
}
#event #event_02 figcaption {
left: 0;
}

/* #gourmet */
#gourmet {
padding-top: 5rem;
}
.gourmet::before {
display: none;
}
#gourmet::after {
max-width: 50%;
}
#produce {
background-size: cover;
margin-top: 0;
}
#produce h3 {
max-width: 80%;
}
#produce h3::before {
top: -130px;
left: -20px;
}
#produce figcaption {
padding: 1rem;
}
#produce figure > div img {
max-width: 50%;
}

/* #beer */
#beer .f20 {
padding-bottom: 1rem;
}

/* #coffee */
#coffee {
padding: 50px 0 15px;
}

/* #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 section::before,
#schedule ul::before {
display: none;
}
#schedule ul {
margin: 2rem auto;
}
#schedule ul li {
background: #FFF;
margin-bottom: 10px;
padding: .5rem;
}

/* #access */
#access figure + div {
max-width: 50%;
margin: 0 auto;
}

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

}