@charset "UTF-8";
/*
Version:	1.0
Creation Date:	2021.7.21
Last Updated:	2021.8.2
*/


/* import
------------------------------------------------------------ */
@import "https://cdnjs.cloudflare.com/ajax/libs/Swiper/5.4.5/css/swiper.css";


/* set
------------------------------------------------------------ */
* {
margin: 0;
padding: 0;
font-style: normal;
box-sizing: border-box;
}
html {
overflow-y: scroll;
}
body {
-webkit-text-size-adjust: 100%;
font-family: ryo-gothic-plusn, sans-serif;
color: #000;
font-size: 16px;
font-weight: 500;
line-height: 1.5;
text-align: center;
overflow: hidden;
}
ul {
list-style: none;
}
img {
vertical-align: middle;
max-width: 100%;
height: auto;
border: 0;
}
a {
color: inherit;
text-decoration: none;
}
a.opa:hover {
opacity: .7;
}
:hover {
transition: .3s;
}
.smd,.smp {
display: none;
}
.pc {
display: block;
}


/* common
------------------------------------------------------------ */
/* font */
/* りょうゴシック PlusN */
.ryo-go {
font-family: ryo-gothic-plusn, sans-serif;
font-weight: 500;
}
.b {
font-weight: 700;
}
/* 貂明朝テキスト */
.ten-min {
font-family: ten-mincho-text, serif;
font-weight: 400;
}
/* 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;
}
article {
width: 100%;
position: relative;
}
section {
width: 1000px;
max-width: 90%;
margin: 0 auto;
padding: 60px 0;
}

/* background */
.bg_grn {
background: url("../img/bg_grn.png") repeat;
}
.bg_pnk {
background: url("../img/bg_pnk.png") repeat;
}

/* style */
.flex {
display: flex;
}

/* .link */
.link {
text-align: center;
margin: 30px auto 0;
}
.link a {
background: #a69535;
background-size: cover !important;
font-size: 20px;
font-weight: 700;
line-height: 60px;
width: 320px;
max-width: 100%;
height: 60px;
display: inline-block;
border-radius: 30px;
position: relative;
z-index: 1;
}
.link a:after {
content: "";
border-top: solid 9px transparent;
border-right: solid 12px transparent;
border-bottom: solid 9px transparent;
border-left: solid 12px #000;
position: absolute;
top: 50%;
right: 5px;
transition: transform 0.5s ease;
-webkit-transform: translate(0,-50%);
transform: translate(0,-50%);
}
.link a:hover:after {
-webkit-transform: translate(30%,-50%);
transform: translate(30%,-50%);
}
.link.blu a {
background: url("../img/link_blu.png") no-repeat;
}
.link.pur a {
background: url("../img/link_pur.png") no-repeat;
}


/* header
------------------------------------------------------------ */
header {
background: #003894;
}
header p {
color: #FFF;
line-height: 1.8;
}
header p span {
color: #e50012;
}
header h1 img {
width: 100vw;
}

/* #match */
#match {
background: url("../img/match_bg.jpg") no-repeat center;
background-size: cover;
}
#match div {
margin-bottom: 20px;
}
#match p {
font-size: 26px;
line-height: 1.4;
}
#match p span {
color: #FFF;
font-size: 20px;
}
#match p em {
font-size: 46px;
}
#match p em span {
font-size: 26px;
}
#match p strong {
font-size: 42px;
font-weight: 700;
}
#match p:nth-of-type(4) {
margin-top: 20px;
}

/* #highlight */
#highlight {
background: #dcdddd;
}
#highlight figure {
background: #FFF;
margin-top: 40px;
border: solid 3px #003894;
border-radius: 20px;
overflow: hidden;
}
#highlight figure div {
flex-basis: 50%;
}
#highlight figure:nth-child(odd) div {
order: 1;
}
#highlight figcaption {
text-align: left;
padding: 30px;
flex-basis: 50%;
}
#highlight figcaption h3 {
color: #003894;
font-size: 22px;
font-weight: 700;
margin-bottom: 10px;
}
#highlight figcaption p {
color: #000;
}
#highlight figcaption p + p {
padding-top: 10px;
}
#highlight figcaption a {
color: #003894;
text-decoration: underline;
}
#highlight figcaption a:hover {
text-decoration: none;
}

header nav {
background: #FFF;
padding: 20px 0;
}
header nav ul {
max-width: 96%;
margin: 0 auto;
padding: 0 0 30px;
display: flex;
flex-wrap: wrap;
justify-content: center;
}
header nav li {
width: 260px;
margin: 0 .5%;
}


/* main
------------------------------------------------------------ */
/* common */
dl {
text-align: left;
}
dl dt {
background: #9e0071;
font-size: 14px;
color: #FFF;
line-height: 25px;
text-align: center;
width: 50px;
height: 25px;
margin-bottom: 10px;
float: left;
clear: both;
}
dl dd {
font-size: 18px;
font-weight: bold;
line-height: 1.3;
padding: 2px 0 10px 60px;
}
dl dd em {
font-size: 20px;
letter-spacing: .1em;
}
dl dd span {
font-size: 12px;
}
#event dl dt {
background: #003894;
}
#limited dl dt {
background: #00959e;
}
#goods dl dt {
background: #007ab8;
}

/* swiper */
.swiper {
width: 1080px;
max-width: 98%;
}
.swiper h2 {
max-width: 92%;
margin: 0 auto;
}
.swiper-button {
position: relative;
}
.swiper-container {
width: 1000px;
max-width: calc(100% - 60px);
margin: 40px auto 50px;
}
.swiper-wrapper {
display: flex;
}
.swiper-slide {
background: #FFF;
height: auto;
padding-bottom: 90px;
border-radius: 20px;
}
.swiper-slide div {
border-bottom: solid 3px #9e0071;
}
.swiper-slide div img {
border-radius: 17px 17px 0 0;
}
.swiper-slide h3 {
font-size: 22px;
font-weight: 700;
line-height: 1.3;
height: 75px;
padding: 10px 20px 0;
}
.swiper-slide h3 em {
font-size: 16px;
font-weight: 500;
display: block;
}
.swiper-slide h3 span {
font-size: 14px;
}
.swiper-slide p {
text-align: left;
padding: 0 20px;
}
.swiper-slide p span {
font-size: 14px;
}
.swiper-slide dl {
padding: 10px 20px;
position: absolute;
left: 0;
bottom: 0;
}
.swiper-slide a  {
color: #003894;
text-decoration: underline;
}
.swiper-slide a:hover {
text-decoration: none;
}
.swiper-button-prev,
.swiper-button-next {
background: rgba(255,255,255,1);
width: 28px;
height: 28px;
border-radius: 50%;
z-index: 1;
overflow: hidden;
}
.swiper-button-prev {
left: 0;
}
.swiper-button-next {
right: 0;
}
.swiper-button-prev:hover,
.swiper-button-next:hover {
background: rgba(255,255,255,.7);
transition: none;
}
.swiper-button-prev:after,
.swiper-button-next:after {
content: "";
border-top: solid 7px transparent;
border-right: solid 10px transparent;
border-bottom: solid 7px transparent;
border-left: solid 10px rgba(0,56,148,1);
position: absolute;
top: 7px;
right: -2px;
}
.swiper-button-prev:after {
border-top: solid 7px transparent;
border-right: solid 10px rgba(0,56,148,1);
border-bottom: solid 7px transparent;
border-left: solid 10px transparent;
right: auto;
left: -2px;
	}
#booth .swiper-slide {
border: solid 3px #9e0071;
border-radius: 0;
}
#booth .swiper-slide div img {
border-radius: 0;
}
#booth .swiper-slide h3 {
background: #9e0071;
color: #FFF;
font-size: 28px;
white-space: nowrap;
height: auto;
padding: 15px 10px;
}
#booth .swiper-slide p {
padding: 20px 30px;
}
#booth .swiper-slide dl {
padding: 10px 50px;
}
#limited .swiper-slide {
border: solid 3px #00959e;
}
#limited .swiper-slide div {
border-bottom: solid 3px #00959e;
}
#limited .swiper-button-prev,
#limited .swiper-button-next {
background: rgba(0,56,148,1);
}
#limited .swiper-button-prev:hover,
#limited .swiper-button-next:hover {
background: rgba(0,56,148,.7);
}
#limited .swiper-button-next:after {
border-left: solid 10px #FFF;
}
#limited .swiper-button-prev:after {
border-right: solid 10px #FFF
	}
#popular .swiper-slide {
border: solid 3px #9e0071;
}
#goods .swiper-container {
width: 1080px;
max-width: 100%;
padding: 0 40px;
}
#goods .swiper-slide {
padding-bottom: 70px;
border-radius: 0;
border: solid 6px #007ab8;
transform: skewX(-5deg);
}
#goods .swiper-slide-prev,
#goods .swiper-slide-next + .swiper-slide +  .swiper-slide {
opacity: 0;
transition: 2s;
}
#goods .swiper-slide div {
border-bottom: solid 2px #007ab8;
}
#goods .swiper-slide div img {
border-radius: 0;
}
#goods .swiper-slide h3,
#goods .swiper-slide p,
#goods .swiper-slide dl {
transform: skewX(5deg);
}
#goods .swiper-slide dl {
padding: 10px 20px 0;
}

/* #menu */
#menu {
background-color: #000;
background-image: url("../img/menu_bg_01.png"), url("../img/menu_bg_02.jpg");
background-position: top center, center bottom -15%;
background-size: 100% auto, 100% auto;
background-repeat: no-repeat, no-repeat;
}
#menu section {
padding-bottom: 150px;
position: relative;
}
#menu h3 {
margin-top: 20px;
position: relative;
}
#menu h3 em {
width: 100%;
position: absolute;
top: 50%;
left: 50%;
-webkit-transform: translate(-50,0);
transform: translate(-50%,0);
}
#menu ul {
margin-bottom: 90px;
display: flex;
justify-content: space-around;
}
#menu ul li {
flex-basis:	33%;
position: relative;
}
#menu ul li em {
width: 100%;
position: absolute;
left: 50%;
bottom: -20px;
-webkit-transform: translateX(-50%);	
transform: translateX(-50%);
}
#menu div.left {
position: absolute;
top: 420px;
left: -140px;
}
@media screen and (max-width: 1230px) {
#menu div.left {
top: 530px;
left: -60px;
}
}

#menu div.right {
position: absolute;
top: 200px;
right: -70px;
}
#menu .link a {
padding-right: 20px;
}

#menu a img {
transition: .5s;
}
#menu a:hover img {
transform: scale(1.2);
}
#menu a:hover em img {
transform: scale(1);
}

/* #event */
#event:before {
background: url("../img/illust_09.png")no-repeat;
width: 596px;
height: 254px;
right: 0;
bottom: 0;
}
#event figure {
margin-top: 50px;
position: relative;
}
#event:before,
#event figure:before,
#event figure:after {
content: "";
background-size: contain !important;
position: absolute;
}
#event figure a {
color: #003894;
text-decoration: underline;
}
#event figure a:hover {
text-decoration: none;
}
#event figure div {
position: relative;
z-index: 1;
}
#event figcaption {
background: url("../img/bg_01.png")no-repeat;
background-size: contain !important;
background-position: center center !important;
}
#event h3 {
position: relative;
z-index: 2;
}
#event p {
text-align: left;
padding: 10px 12%;
position: relative;
z-index: 2;
}
#event dl {
padding: 0 12% 50px;
position: relative;
z-index: 2;
}

#event figure.flex figcaption {
flex-basis: 50%;
}

#event div.flex {
flex-wrap: wrap;
justify-content: space-between;	
}
#event div.flex figure {
flex-basis: 45%;
}
#event div.flex figcaption {
margin-top: -40px;
}

#event_01 {
margin-top: 70px !important;
}
#event_01 div {
flex-basis: 60%;
margin: -30px -10% 0 0;
}
#event_01 figcaption {
background: url("../img/bg_01.png")no-repeat;
padding-left: 6%;
}
#event_01:before {
background: url("../img/illust_01.png")no-repeat;
width: 235px;
height: 200px;
top: -100px;
left: -200px;
}
#event_01:after {
background: url("../img/illust_02.png")no-repeat;
width: 160px;
height: 121px;
bottom: -50px;
left: -180px;
}

#event_02 div {
flex-basis: 57%;
order: 1;	
margin: 0 0 0 -5%;
}
#event_02 figcaption {
background: url("../img/bg_02.png")no-repeat;
}
#event_02 h3 {
padding-top: 30px;
}
#event_02:before {
background: url("../img/illust_03.png")no-repeat;
width: 200px;
height: 355px;
top: -100px;
right: -180px;
}

#event_03 div {
margin: 50px -5% 0 0;
}
#event_03 figcaption {
background: url("../img/bg_03.png")no-repeat;
padding-left: 3%;
}
#event_03:before {
background: url("../img/illust_04.png")no-repeat;
width: 275px;
height: 500px;
bottom: -180px;
left: -280px;
}
#event_03:after {
background: url("../img/illust_05.png")no-repeat;
width: 235px;
height: 295px;
right: -150px;
bottom: -100px;
}

#event_04 div {
order: 1;	
margin: 50px 0 0 -5%;
}
#event_04 figcaption {
background: url("../img/bg_04.png")no-repeat;
}
#event_04:before {
background: url("../img/illust_06.png")no-repeat;
width: 128px;
height: 208px;
right: -60px;
bottom: -40px;
}

#event_05 div {
z-index: 3 !important;
}
#event_05 figcaption {
background: url("../img/bg_05.png")no-repeat;
}
#event_05 h3 {
text-align: right;
margin-right: -30px;
}
#event_05:before {
background: url("../img/illust_07.png")no-repeat;
width: 295px;
height: 241px;
bottom: -150px;
left: -200px;
}

#event_06 {
margin-top: 100px !important;
}
#event_06 div {
text-align: left;
margin-left: -5%;
}
#event_06 figcaption {
background: url("../img/bg_06.png")no-repeat;
}
#event_06 h3 {
text-align: right;
}
#event_06:before {
background: url("../img/illust_08.png")no-repeat;
width: 256px;
height: 202px;
right: -200px;
bottom: -150px;
}

#event_07 div {
text-align: right;
margin-right: -50px;
}
#event_07 figcaption {
background: url("../img/bg_07.png")no-repeat;
}

#event_08 {
margin-top: 70px !important;
}
#event_08 figcaption {
background: url("../img/bg_08.png")no-repeat;
}
#event_08 h3 {
text-align: left;
margin-left: -30px;
}

/* .pr */
.pr {
padding-top: 40px;
}
.pr p {
font-size: 14px;
}
.pr div img {
width: 70%;
}
.pr div + div {
margin-top: 30px;
}

/* #gourmet-details */
#gourmet-details {
background: #003894;
padding: 10px 0 40px;
}
#gourmet-details .link a {
width: 360px;
}

/* #goods */
#goods {
background: #003894 url("../img/goods_bg.jpg") no-repeat center bottom;
background-size: contain;
}

/* #sns */
.share__icon {
display: flex;
justify-content: center;
}
.share__icon li {
width: 20%;
}
.share__icon__item a {
color: #3e3e3e;
line-height: 1;
transition: opacity 0.2s ease;
padding: 15px 10px;
display: flex;
justify-content: center;
align-items: center;
}
.share__icon .line {
background: #00B900;
}
.share__icon .twitter {
background: #1DA1F2;
}
.share__icon .facebook {
background: #1877F2;
}
.share__icon .instagram {
background: url("../img/sns_instagram_bg.png") center no-repeat;
background-size: cover;
}
.share__icon .youtube {
background: #FF0000;
}
.share__icon__inner img {
width: 40px;
}
.share__icon__name {
margin-top: 5px;
text-align: center;
font-size: 10px;
color: #fff;
}
.share__icon__btn {
border: #fff 1px solid;
padding: 5px 20px;
border-radius: 10px;
margin-top: 10px;
font-size: 10px;
color: #fff;
}

/* #information */
#information a {
background: #FFE038;
font-size: 23px;
font-weight: bold;
padding: 20px;
display: block;
}


/* footer
------------------------------------------------------------ */
footer {
background: #000;
}
footer h1 {
width: 188px;
margin: 0 auto 30px;
}
footer p {
color: #FFF;
font-size: 12px;
}
footer p + p {
font-size: 11px;
}

/* #ticket */
#ticket {
display: none;
position: fixed;
right: 1%;
bottom: 2%;
z-index: 3;
}





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

/* main
------------------------------------------------------------ */
/* swiper */
#booth .swiper-slide h3 {
font-size: 22px;
padding: 10px;
}
#goods .swiper-slide-next + .swiper-slide {
opacity: 0;
transition: 2s;
}

/* #event */
#event:before {
width: 417px;
height: 177px;
}
#event_01:before {
width: 117px;
height: 100px;
left: -50px;
}
#event_01:after {
width: 80px;
height: 60px;
left: -50px;
}
#event_02:before {
width: 100px;
height: 177px;
right: -50px;
}
#event_03:before {
width: 137px;
height: 250px;
bottom: -150px;
left: -50px;
}
#event_03:after {
width: 117px;
height: 147px;
right: 0;
}
#event_04:before {
width: 100px;
}
#event_05:before {
width: 200px;
left: -130px;
}
#event_06:before {
width: 128px;
height: 101px;
right: -50px;
bottom: -50px;
}

/* footer
------------------------------------------------------------ */
/* #ticket */
#ticket {
width: 150px;
}

}


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

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

/* header
------------------------------------------------------------ */
/* #match */
#match p strong {
display: block;
}

/* #highlight */
#highlight figure {
display: block;
}
#highlight figcaption {
padding: 20px;
}

header nav li {
width: 32%;
}
header nav li .link a {
padding-right: 20px;
}

/* main
------------------------------------------------------------ */
/* #menu */
#menu {
background-position: top center, center bottom;
}
#menu ul {
margin-bottom: 30px;
flex-wrap: wrap;		
}
#menu ul li {
flex-basis:	50%;
margin-bottom: 50px;
}
#menu div.left {
width: 110px;
top: 450px;
}
#menu div.right {
width: 150px;
top: 230px;
right: -50px;
}

/* #event */
#event figure.flex {
display: block;
}
#event figure div {
margin: 0 auto !important;
}
#event figcaption {
background-size: cover !important;
margin-top: -30px;
padding: 0 !important;
}
#event_01:before {
top: -50px;
}

/* #sns */
.share__icon__name,
.share__icon__btn {
display: none;
}
/* #information */
#information a {
font-size: 20px;
}

}


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

/* set
------------------------------------------------------------ */
body {
font-size: 14px;
line-height: 1.4;
}
.smd {
display: none;
}
.smp {
display: block;
}
br.smp {
font-size: 0;
}

/* common
------------------------------------------------------------ */
/* layout */
section {
padding: 30px 0;
}

/* header
------------------------------------------------------------ */
/* #match */
#match div {
max-width: 80%;
margin: 0 auto 20px;
}
#match p {
font-size: 20px;
}
#match p span {
font-size: 14px;
}
#match p em {
font-size: 26px;
}
#match p em span {
font-size: 18px;
}
#match p strong {
font-size: 28px;
}
#match p:nth-of-type(4) {
margin: 20px 0;
}

/* #highlight */
#highlight figcaption h3 {
font-size: 18px;
}

header nav ul {
max-width: 100%;
padding: 0 0 10px;
}
header nav li {
width: 110px;
margin: 0 5px;
}
header nav li .link {
margin-top: 10px;
}
header nav li .link a {
background-size: contain !important;
font-size: 16px;
line-height: 1.3;
width: 110px;
height: 110px;
padding-right: 0;
border-radius: 50%;
text-align: center;
display: flex;
justify-content: center;
align-items: center;
}
header nav li .link.blu a {
background: url("../img/link_blu_cir.png") no-repeat;
}
header nav li .link.pur a {
background: url("../img/link_pur_cir.png") no-repeat;
}
header nav li .link a:after {
display: none;
}

/* main
------------------------------------------------------------ */
/* common */
dl dt {
font-size: 12px;
line-height: 20px;
width: 40px;
height: 20px;
}
dl dd {
font-size: 14px;
padding: 2px 0 10px 50px;
}
dl dd em {
font-size: 16px;
}
dl dd span {
font-size: 10px;
}

/* swiper */
.swiper-slide {
padding-bottom: 80px;
}
#booth .swiper-slide p {
padding: 10px 10px 0;
}
#booth .swiper-slide dl {
padding: 10px 20px;
}
#goods .swiper-slide h3 {
font-size: 19px;
}

/* #menu */
#menu section {
padding-top: 50px;
}
#menu h3 img {
max-width: 150%;
margin-left: -25%;
}
#menu h3 em img {
max-width: 100%;
margin-left: auto;
}
#menu ul {
max-width: 80%;
margin: 30px auto;
display: block;
}
#menu ul li:nth-child(2) em img {
max-width: 120%;
margin-left: -10%;
}
#menu div.left,
#menu div.right {
display: none;
}

/* #event */
#event div.flex {
display: block;
}
#event_04:before {
width: 80px;
right: -20px;
bottom: -70px;
}
#event_05:before {
width: 150px;
bottom: -200px;
left: -30px;
}

/* #information */
#information a {
font-size: 18px;
}

/* footer
------------------------------------------------------------ */
footer {
padding-bottom: 60px;
}
footer p {
font-size: 10px;
}
footer p + p {
font-size: 10px;
}

/* #ticket */
#ticket {
width: 70px;
}

}