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


/* import
------------------------------------------------------------ */
@import "https://w-shiya.com/release/css/ampersand-2023.css";


/* set
------------------------------------------------------------ */
body {
background: #ded3a3;
}


/* Loading
------------------------------------------------------------ */
#splash {
background: #00441B;
width: 100%;
height: 100%;
position: fixed;
z-index: 9999999;
}
#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;
 background: #FFF url("images/bg.png") repeat;
 background-size: 100px auto;
 }
}


/* 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;
}
.zidx2 {
position: relative;
z-index: 2;
}
.zidx3 {
position: relative;
z-index: 3;
}
i {
margin-right: .2rem;
}
.hvr {
text-decoration: underline;
}
.hvr:hover {
text-decoration: none;
}
.more a {
text-decoration: none;
background: #fff27f;
font-size: 140%;
font-weight: bold;
padding: .8rem 1rem;
display: inline-block;
border-radius: 5px;
}
.more a:hover {
opacity: .7;
}

/* 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 {
width: 1150px;
padding-top: 5rem;
padding-bottom: 3rem;
}
.swiper-slide {
height: auto;
width: 350px;
padding: 40px 10px 10px;
}
.swiper-slide::after {
content: "";
background: url("images/swiper_bg.png") no-repeat top/100% 100%;
width: 100%;
height: 100%;
position: absolute;
top: 0;
left: 0;
}
.swiper-slide > div {
background: #FFF;
height: 100%;
padding-bottom: 90px;	/* 価格表示の場合 */
padding-bottom: 20px;
border: 1px solid #00441b;
position: relative;
}
.swiper-slide h3 {
margin-top: 10px;
}
.swiper-slide dl {
width: 100%;
padding-left: 1rem;
position: absolute;
left: 0;
bottom: 10px;
}
.swiper-slide dl dt {
line-height: 25px;
text-align: center;
width: 50px;
height: 25px;
margin: 0 10px 10px 0;
float: left;
clear: both;
}
.swiper-slide dl dt.long {
width: 65px;
}
.swiper-slide dl dd {
margin-bottom: 10px;
}
.prev,
.next {
margin: 3rem .5rem;
}

/* Modaal */
.modaal-content-container {
max-height: calc(100svh - 160px);
overflow: auto;
}
.modaal-close:focus:after,.modaal-close:focus:before,.modaal-close:hover:after,.modaal-close:hover:before {
background: #00441B;
}


/* 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 - 150px);
position: absolute;
top: 100%;
right: 0;
overflow-y: scroll;
-webkit-overflow-scrolling: touch;
}
nav ul li a {
padding: .8rem 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;
}
#main video {
width: 100vw;
max-width: 100%;
position: absolute;
top: 0;
left: 0;
opacity: .3;
}

/* #day */
#day {
background: url("images/day_bg.png") no-repeat center/cover;
padding-bottom: 85px;
}
#day section.flex {
padding: 1rem 0;
}
#day section.flex div:nth-child(2) {
order: -1;
}

/* #highlight */
#highlight {
background: #005e37;
padding-bottom: 150px;
}
#highlight::before,
#highlight::after {
content: "";
background: url("images/bg_01.png") no-repeat top center/cover;
width: 100%;
height: 75px;
position: absolute;
top: -75px;
left: 0;
}
#highlight::after {
background: #ded3a3 url("images/bg_02.png") no-repeat top center/100% auto;
height: 200px;
top: auto;
bottom: 100px;
}
#highlight section {
width: 1100px;
z-index: 1;
}
#highlight section::before,
#highlight section::after {
content: "";
background: url("images/player_11.png") no-repeat top right/contain;
width: 215px;
height: 538px;
position: absolute;
top: 5%;
right: -4%;
z-index: 1;
}
#highlight section::after {
background: url("images/player_02.png") no-repeat top right/contain;
width: 200px;
height: 620px;
top: 30%;
right: auto;
left: -5%;
}
#highlight h2.zidx2 {
margin-bottom: -50px;
}
.box {
background: url("images/check_bg.png") repeat center/60px 60px;
border: 3px solid #bfa666;
outline: 2px solid #bfa666;
outline-offset: -7.5px;
position: relative;
}
.box::before,
.box::after {
content: "";
background: #005e37 url("images/check_corner.png") no-repeat left/contain;
width: 18px;
height: 18px;
position: absolute;
top: -3px;
left: -3px;
}
.box::after {
left: auto;
right: -3px;
transform: rotate(90deg);
}
.box > div {
padding: 4rem 5% 3rem;
position: relative;
}
.box > div::before,
.box > div::after {
content: "";
background: url("images/check_corner.png") no-repeat left/contain,linear-gradient(-45deg, #005e37 0%, #005e37 50%, #ded3a3 50%, #ded3a3 100%);
width: 18px;
height: 18px;
position: absolute;
bottom: -3px;
left: -3px;
transform: rotate(-90deg);
}
.box > div::after {
left: auto;
right: -3px;
transform: rotate(180deg);
}
.box > div >* {
max-width: 800px;
margin: 0 auto;
}
.box h3 {
margin-bottom: -35px;
}
.box .highlight {
max-width: 800px;
margin: 0 auto 2rem;
border: 10px solid #bba265;
position: relative;
z-index: 1;
}
.fireworks >* {
position: absolute;
}
#highlight .fireworks li:nth-child(1) {
width: 200px;
top: 3%;
right: 13%;
}
#highlight .fireworks li:nth-child(2) {
width: 230px;
top: 45%;
right: 2%;
z-index: 1;
}
#highlight .fireworks li:nth-child(3) {
width: 130px;
top: 2%;
left: 3%;
}
#highlight .fireworks li:nth-child(4) {
width: 100px;
top: -1%;
right: 2%;
}
#highlight .fireworks li:nth-child(5) {
width: 170px;
bottom: 30%;
left: 5%;
z-index: 1;
}
#highlight .fireworks li:nth-child(6) {
width: 260px;
top: 0;
left: 15%;
}

/* #event */
#event {
background: #ded3a3 url("images/flag_01.png") no-repeat top/100% auto;
margin-top: -100px;
padding-bottom: 85px;
}
#event section::before,
#event section::after {
content: "";
background: url("images/emblem.png") no-repeat top/contain;
background: url("images/limey.png") no-repeat top/contain;
width: 180px;
height: 412px;
position: absolute;
top: 0;
right: 0;
}
#event section::after {
background: url("images/riger.png") no-repeat top/contain;
width: 350px;
height: 440px;
right: auto;
left: -10%;
}
#event a:hover {
text-decoration: underline;
}
#event .f14 {
font-size: 80%;
}
#event li.item {
flex-basis: 49%;
z-index: 1;
}
#event li.item div {
max-width: 450px;
margin: 0 auto -80px;
}
#event .fireworks li:nth-child(1) {
width: 200px;
top: 45%;
right: -2%;
}
#event .fireworks li:nth-child(2) {
width: 230px;
bottom: 25%;
left: -2%;
}
#event .fireworks li:nth-child(3) {
width: 170px;
top: 20%;
left: 2%;
}
#event .fireworks li:nth-child(4) {
width: 250px;
top: 12%;
right: 8%;
}

/* #gourmet */
#gourmet {
background: url("images/bg_03.png") no-repeat top center/100% auto, url("images/flag_02.png") no-repeat top/100% auto;
background-color: #005028;
padding-top: 30px;
}
#gourmet::before {
content: "";
background: url("images/player_04.png") no-repeat top right/contain;
width: 160px;
height: 525px;
position: absolute;
top: -120px;
right: 15%;
z-index: 1;
}
#gourmet .fireworks li:nth-child(1) {
width: 280px;
top: 0%;
left: 5%;
}
#gourmet .fireworks li:nth-child(2) {
width: 170px;
top: 3%;
right: 2%;
}

ul.col-5 {
flex-wrap: wrap;
}
ul.col-5 li {
background: #FFF;
flex-basis: calc(100% / 5 - 10px);
margin: 4.8px;
padding-bottom: 1rem;
border: 4px solid #BBA265;
border-radius: 5px;
}
ul.col-5 li .txt {
padding: .5rem;
}
ul.col-5 li dl dt {
padding: 0 5px;
display: inline-block;
border-radius: 0 2px 2px 0;
}
ul.col-5 li dl dd {
padding: 0 .5rem;
}
ul.col-5 li > div {
display: flex;
flex-direction: column;
height: 100%;
}
ul.col-5 li dl {
margin-top: auto;
}

/* #goods */

/*【各種グッズ情報非表示ここから】
#goods .swiper-wrapper,
#goods .swiper-wrapper + ul {
display: none;
}
#goods p.f30 {
padding: 5rem 0;
}
【各種グッズ情報非表示ここまで】*/

#goods {
background: url("images/bg_04.png") no-repeat top center/100% auto,url("images/flag_03.png") no-repeat center/100% auto;
padding-top: 30px;
}
#goods::before,
#goods::after {
content: "";
background: url("images/player_05.png") no-repeat top right/contain;
width: 195px;
height: 495px;
position: absolute;
top: -50px;
left: 13%;
z-index: 1;
}
#goods::after {
background: url("images/player_12.png") no-repeat top right/contain;
width: 155px;
height: 545px;
left: auto;
right: 5%;
}
#goods .fireworks li:nth-child(1) {
width: 235px;
top: -5%;
left: 5%;
}
#goods .fireworks li:nth-child(2) {
width: 250px;
top: 10%;
right: 10%;
}

/* #check */
#check {
background: #00441b url("images/bg_05.png") no-repeat top center/100% auto;
padding: 30px 0 3rem;
}
#check div.flex.col-2 {
justify-content: center;	/* 1column対応処置 */
}
#check::after {
content: "";
background: url("images/player_08.png") no-repeat top right/contain;
width: 200px;
height: 270px;
position: absolute;
top: 8%;
right: 8%;
}
#check figure:first-child::before {
content: "";
background: url("images/player_07.png") no-repeat bottom center/contain;
width: 330px;
height: 245px;
position: absolute;
top: -200px;
left: -20px;
z-index: -1;
display: none;	/* 1column対応処置 */
}
#check .fireworks li:nth-child(1) {
width: 280px;
bottom: -25%;
right: 5%;
z-index: 1;
}
#check .fireworks li:nth-child(2) {
width: 200px;
top: -8%;
left: 10%;
}

/* #access */
#access {
background: #FFF url("images/bg_06.png") no-repeat top center/100% auto;
padding-top: 30px;
}
#access:before {
content: "";
background: url("images/player_13.png") no-repeat bottom center/contain;
width: 195px;
height: 535px;
position: absolute;
top: -2%;
left: 12%;
}
#access .fireworks li:nth-child(1) {
width: 180px;
top: 15%;
right: 15%;
}
#access .fireworks li:nth-child(2) {
width: 200px;
bottom: 35%;
left: 8%;
}


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

/* #ticket */
#ticket {
width: 100%;
position: fixed;
left: 0;
bottom: 0;
z-index: 3;
}
#ticket a {
font-size: 3rem;
height: 80px;
display: flex;
justify-content: center;
align-items: center;
}
#ticket a:hover {
background: #BFA666;
color: #00441B;
}





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

/* main
------------------------------------------------------------ */
/* #highlight */
#highlight .fireworks li:nth-child(2) {
width: 180px;
right: 0;
}
#highlight .fireworks li:nth-child(5) {
left: 0;
}
/* #goods */
#goods::after {
width: 140px;
top: -130px;
}

}


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

/* main
------------------------------------------------------------ */
/* #highlight */
#highlight section::before {
width: 150px;
}
#highlight section::after {
display: none;
}
#highlight .fireworks li:nth-child(2) {
display: none;
}
#highlight .fireworks li:nth-child(5) {
width: 100px;
}

/* #event */
#event section::after {
width: 280px;
left: -4%;
}
#event .fireworks li:nth-child(2) {
display: none;
}

/* #gourmet */
#gourmet::before {
width: 130px;
top: -80px;
right: 10%;
}

/* #goods */
#goods::before {
width: 130px;
top: -80px;
left: 5%;
}
#goods::after {
width: 100px;
top: -80px;
}

/* #check */
#check::after {
width: 160px;
right: 2%;
}

/* #access */
#access:before {
width: 150px;
left: 2%;
}

}


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

/* common
------------------------------------------------------------ */
h2.center img {
width: auto;
height: 150px;
}

/* main
------------------------------------------------------------ */
/* #day */
#day {
padding: 1rem 3rem 4rem;
}

/* #highlight */
#highlight section::before {
display: none;
}
#highlight .fireworks li:nth-child(1) {
top: -3%;
}
#highlight .fireworks li:nth-child(3) {
display: none;
}
#highlight .fireworks li:nth-child(5) {
bottom: 32%;
}
#highlight .fireworks li:nth-child(6) {
width: 180px;
top: -2%;
left: 10%;
}

/* #event */
#event section::before {
width: 130px;
}
#event section::after {
width: 230px;
}
#event .fireworks li:nth-child(3) {
top: 0;
display: none;
}
#event .fireworks li:nth-child(4) {
width: 120px;
top: -.8%;
right: auto;
left: 0;
display: none;
}

/* #gourmet */
#gourmet .fireworks li:nth-child(1) {
display: none;
}

ul.col-5 li {
flex-basis: calc(100% / 3 - 10px);
}

/* #goods */
#goods::before,
#goods::after {
top: -30px;
}
#goods .fireworks li:nth-child(2) {
display: none;
}

/* #check */
#check::after {
top: -2%;
}
#check figure:first-child::before {
display: none;
}
#check .fireworks li:nth-child(1) {
width: 180px;
}

/* #access */
#access:before {
background-position: center;
width: 120px;
}
#access .fireworks li {
display: none;
}

}


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

/* common
------------------------------------------------------------ */
/* style */
.more a {
font-size: 100%;
padding: .5rem;
}

/* Modaal */
.modaal-content-container {
padding: 10px;
}

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

/* main
------------------------------------------------------------ */
/* #main */
#main {
margin-top: 50px;
}
#main video {
width: 740px;
max-width: 740px;
height: 740px;
left: 50%;
transform: translateX(-50%);
}

/* #day */
#day {
padding: 1rem 4% 4rem;
}
#day section.flex div:not(:first-child) {
width: 50%;
display: inline-block;
float: left;
}
#day ul {
max-width: 70%;
margin: 0 auto;
}
#day li {
margin-bottom: .5rem;
}

/* #highlight */
#highlight section {
max-width: 100%;
}
#highlight p.center {
font-size: 100%;
text-align: left;
}

.box {
border: none;
outline: none;
border-top: 3px solid #bfa666;
border-bottom: 3px solid #bfa666;
}
.box::before,
.box::after,
.box > div::before,
.box > div::after {
display: none;
}
.box h3 {
margin-bottom: -5px;
}
.box h3 img {
width: auto;
height: 80px;
}
.box .highlight {
border: 2px solid #bba265;
}
#highlight .fireworks li:nth-child(4),
#highlight .fireworks li:nth-child(5),
#highlight .fireworks li:nth-child(6) {
display: none;
}

/* #event */
#event section::before,
#event section::after {
display: none;
}
#event .fireworks li:nth-child(3) {
display: none;
}
#event div.center {
max-width: 70%;
margin: 0 auto;
}
#event p.CL {
margin-bottom: 1rem;
}
#event li.item div {
margin: 0 auto -50px;
}
#event .fireworks li:nth-child(1) {
display: none;
}

/* #gourmet */
#gourmet::before {
display: none;
}
#gourmet .fireworks li:nth-child(2) {
width: 150px;
top: -8%;
right: auto;
left: 0;
}

ul.col-5 {
justify-content: space-between;
}
ul.col-5 li {
flex-basis: 49%;
margin: 0 0 2%;
}

/* #goods */
#goods::before,
#goods::after {
display: none;
}
#goods .fireworks li:nth-child(1) {
width: 120px;
}

/* #check */
#check::after {
display: none;
}
#check .fireworks li:nth-child(1) {
display: none;
}
#check .fireworks li:nth-child(2) {
width: 130px;
top: -6%;
left: 2%;
}

/* #access */
#access:before {
display: none;
}
#access address {
font-size: 120%;
}
#access address div {
max-width: 70%;
margin: 0 auto 1rem;
}
#access div.center.mt30 {
max-width: 70%;
margin: 1rem auto 0;
}
#access .fireworks li:nth-child(1) {
width: 130px;
top: -3%;
right: auto;
left: 0;
display: block;
}


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

/* #ticket */
#ticket a {
font-size: 2rem;
height: 60px;
}
#ticket a img {
width: auto;
height: 30px;
}
#ticket .lr {
padding: 0 .5rem;
}

}