@charset "UTF-8";
@font-face {
  font-family: "RakutenSans_Bd";
  src: url("/fonts/RakutenSans_Bd.woff2") format("woff2"), url("/fonts/RakutenSans_Bd.woff") format("woff");
}
html, body, div, span, applet, object, iframe, h1, h2, h3, h4, h5, h6, p, blockquote, pre, a, abbr, acronym, address, big, cite, code, del, dfn, em, img, ins, kbd, q, s, samp, small, strike, strong, sub, sup, tt, var, b, u, i, center, dl, dt, dd, ol, ul, li, fieldset, form, label, legend, table, caption, tbody, tfoot, thead, tr, th, td, article, aside, canvas, details, embed, figure, figcaption, footer, header, hgroup, menu, nav, output, ruby, section, summary, time, mark, audio, video {
	margin: 0;
	padding: 0;
	border: 0;
	vertical-align: baseline;
}

/* HTML5 display-role reset for older browsers */
article, aside, details, figcaption, figure, footer, header, hgroup, menu, nav, section {
	display: block;
}
.clearfix:before,
.clearfix:after {
	content: " "; 
	display: table;
	}

.clearfix:after {
	clear: both;
	}
.clearfix {*zoom:1;}

body {
	line-height: 1;
}
ol, ul {
	list-style: none;
}

blockquote, q {
	quotes: none;
}
blockquote:before, blockquote:after {
	content: '';
	content: none;
}
q:before, q:after {
	content: '';
	content: none;
}
table {
	border-collapse: collapse;
	border-spacing: 0;
}
select {
	-moz-appearance: none;
	-webkit-appearance: none;
	text-indent: 0.01px;
	text-overflow: '';
	appearance: none;
	border-radius: 0;
	border: 0;
	margin: 0;
	padding: 0;
	background: none transparent;
	vertical-align: middle;
	color: inherit;
	box-sizing: content-box;
}
select::-ms-expand {
	display: none;
}
em {
	font-style: normal;
}

.special main > section > h1{ margin-bottom: 0;}

/* ----------- */

b,
strong {
  font-weight: bolder;
}


hr{
	margin: 1.5em 0;
	background-color: transparent;
	border-top: 1px solid #c7c7c7;
	border-bottom: none;
}
hr.spacer{
	padding: 0.75em 0; 
	border: none; 
	outline: none;
	margin: 0;
}

main {
	display: block;
}
html, body {
	height: 100%;
	width: 100%;
}
html {
	font-size: 62.5%;
}
body {
	font-size: 1.6rem;
	font-family: "Noto Sans JP", "游ゴシック体", YuGothic, "游ゴシック Medium", "Yu Gothic", "メイリオ", sans-serif;
	font-weight: 400;
	color: #333333;
	line-height: 1.5;
	letter-spacing: 0rem;
	-moz-text-size-adjust: none;
	-ms-text-size-adjust: 100%;
	-webkit-text-size-adjust: 100%;
	text-size-adjust: 100%;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
}
a {
	word-break: break-all;
	transition: all 0.25s;
	text-decoration: none;
}

a:hover {
	text-decoration: none;
}
a.underline {
	text-decoration: underline !important;
}
a.underline:hover {
	text-decoration: none !important;
}
a:hover img {
	opacity:0.6;
	filter: alpha(opacity=60);
}
.goods a{ color: #ffffff;}

* {
	box-sizing: border-box;
}
img {
	max-width: 100%;
	vertical-align: bottom;
	border-style: none;
}
ul.default{
	list-style-type: disc;
	margin-bottom: 1em;
}
ul.default > li{
	margin-left: 1.5em;
}
section p, article p {
	padding-bottom: 0;
}
.textC{
	text-align: center!important;
}
.textL{
	text-align: left;
}
.textLarge{
	font-size: 1.25em;
}
.textSmall{
	font-size: 0.75em;
}

@media only screen and (min-width: 769px) {
.cracker {
  font-size: 1.25em;
}
}
@media only screen and (max-width: 768px) {
.cracker {
  font-size: 1em;
}
}

.cracker::before {
  margin: 0 1em 0 0;
  content: '\\';
}

.cracker::after {
  margin: 0 0 0 1em;
  content: '/';
}

.solid{
	border: 1.5px solid #cccccc;
}
.solid-cr{
	border: 1.5px solid #aa002f;
}
.solid_box	{
	border: solid 1.5px #ccc; padding: 10px; text-align:center; margin-bottom: 25px;
}

.reset-t	{margin-top: 0!important; padding-top: 0!important;}
.reset-b	{margin-bottom: 0!important; padding-bottom: 0!important;}
.reset-v	{margin-top: 0; margin-bottom: 0; padding-top: 0; padding-bottom: 0;}
.reset	{margin: 0!important; padding: 0!important;}

.row{
	display: table;
	table-layout: fixed;
}
.row > .col{
	display: table-cell;
}
.row.valignT > .col{
	vertical-align: top;
}
.row.valignM > .col{
	vertical-align: middle;
}
.itemKv{
	text-align: center;
}
.itemKv img{
	width: 100%;
}
.fadein {
	opacity: 0;
	transform: translateY(0);
	transition: all 0.5s
}

.Regular-txt{color: #a9002f;}
.textRed{color: #9b0020;}

.pd-top{ padding-top: 0.2em;}
.pd-top-bottom{ padding:  24px 0;}

.btn-menu{ 
    display:flex;
    justify-content: center;
    flex-wrap: wrap;
}


/* Header 
  -------------------------------------------*/
#header {
  width: 100%;
  height: 80px;
  display: flex;
  justify-content: center;
  align-items: center;
  background-color: #ffffff;
  top: 0;
  left: 0;
  z-index: 10;
}
nav.fixed	{ position: fixed; height: 80px; top: 0; width: 100%; z-index: 500;}
nav.fixed ul	{ width: 100%; margin-right: auto; margin-left: auto;}

#header .navi { top: 0; width: 100%; z-index: 500; background: #fff;  border-bottom: 1.5px solid #9b0020;}
#header .navi .menu {
  display: flex;
	height: 80px;
	justify-content: center;
  align-items: center;
  font-size: 1em;
	margin-bottom: 0;
}
#header .navi .menu > li {
	vertical-align: middle;
	text-align: center;
	width: calc((90%) / 5);
	/*border-left: 1.5px solid #9b0020;*/
	padding: 12px 0;
}
#header .navi .menu > li:first-child {
  margin-left: 0;
}

#header .navi .menu > li a span 	{ color: #000; font-size: 0.8em; }
#header .navi .menu > li a em	{ display: block; color: #9b0020; font-family: 'Oswald', sans-serif; font-weight: bold; font-size: 2em; line-height: 1.0;}

#header .navi .menu > li:hover {
	background-color: rgba(145,0,35,0.3);
  color: #fff;
  -webkit-transition: all 0.5s;
  -moz-transition: all 0.5s;
  -ms-transition: all 0.5s;
  -o-transition: all 0.5s;
  transition: all 0.5s;
}

#header .mask {
  display: none;
}

/* Header SP
  -------------------------------------------*/

@media screen and (max-width: 768px) {
	
	#header{
    height: 0;
  }
	
	#header .navi .menu > li a em	{  font-size: 1.8em}
	
  #header .navi {
    width: 80%;
    height: 100vh;
    background-color: #fff;
    position: fixed;
    top: 0;
    left: -120%;
    z-index: 20;
    transition: all 0.6s;
		color: #010101;
  }
	
  #header .navi.active {
    left: 0;
  }
	
  #header .navi .menu {
    width: 100%;
    height: 70vh;
    flex-direction: column;
    padding: 60px 0;
    overflow: auto;
  }
  #header .navi .menu > li {
    width: 100%;
    border-top: solid 1px #1f1f1f;
    margin-left: 0;
    border-left: 5px solid #9b0020;
}
	#header .navi .menu > li:last-child{ border-bottom: solid 1px #1f1f1f;}
  #header .navi .menu > li a {
    width: 100%;
    display: block;
    /*padding: 20px;*/
  }

  #header .hamburger {
    width: 50px;
    height: 50px;
    cursor: pointer;
    position: fixed;
    top: 5px;
    right: 10px;
    z-index: 30;
		/*background: rgba(0,0,0,0.7)*/
		background: linear-gradient(to bottom, rgb(226, 1, 52), #000);
  }
  #header .hamburger span {
    width: 30px;
    height: 1px;
    background-color: #fff;
    display: inline-block;
    position: absolute;
    left: 10px;
    transition: all 0.4s;
  }
  #header .hamburger.active span {
    background-color: #fff;
  }
  #header .hamburger span:nth-of-type(1) {
    top: 16px; 
  }
  #header .hamburger span:nth-of-type(2) {
    top: 25px;
  }
  #header .hamburger span:nth-of-type(3) {
    top: 34px;
  }
  #header .hamburger.active span:nth-of-type(1) {
    top: 24px;
    transform: rotate(-45deg);
  }
  #header .hamburger.active span:nth-of-type(2) {
    opacity: 0;
  }
  #header .hamburger.active span:nth-of-type(3) {
    top: 24px;
    transform: rotate(45deg);
  }
	#header .mask.active {
    width: 100%;
    height: 100%;
    background: #000;
    display: block;
    opacity: 0.8;
    position: fixed;
    top: 0;
    left: 0;
  }
}

/*  ------------------------------------------- */

	.unit4Lg > .col p.info-txt,
	.unit2Lg > .col p.info-txt,
	.unit3Lg > .col p.info-txt,
	strong{
	letter-spacing: .6px;
	font-weight: normal;
}

/* table */

table th, table td{padding: 0.8em; text-align: center;}
table th{background-color: rgba(145,0,35,0.6); }
table th.bk{background-color: rgba(0,0,0,0.4); }
table td{color: #333333; background-color: rgba(255,255,255,0.8); border: none; vertical-align: middle;}
table {width: calc(100% + 5px); border-collapse: separate; border-spacing: 5px; transform: translate(-5px);}


/* banner */

.bannerFixed{
	display: flex;
	align-items: center;
	flex-direction: row-reverse;
	position: fixed;
	bottom: 0;
	right: 0;
	padding: 10px 10px 10px 0;
	text-align: center;
	z-index: 600;
}
.bannerFixed > div img:hover {
	-webkit-transform: scale(1.1);
  transform: scale(1.1);
	opacity: 1.0;
	}
.bannerFixed.black{
	background-color: rgba(0,0,0,0.6);
}
.bannerFixed.cRed{
	background-color: rgba(155,0,32,0.4);
}
.bannerFixed > div{
	margin-left: 20px;
}


/* button */


.itemButton{
	text-align: center;
}
.itemButton > a{
	display: inline-block;
	position: relative;
	padding: 1.0em 1.5em;
	border-radius: 5px;
	font-weight: 700;
	text-decoration: none;
	overflow: hidden;
}
.itemButton.cRed > a{
	color: #ffffff;
	background-color: #910023;
}
.itemButton.bk > a,
.itemButton.bk02 > a{
	color: #ffffff;
	background-color: #000000;
}
.itemButton.cover > a{
	display: block;
}
.itemButton > a:before{
	display: block;
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	transition: all 0.25s;
}
.itemButton.cRed > a:before{
	background-color: #000000;
}
.itemButton.bk > a:before{
	background-color: #910023;
}
.itemButton.bk02 > a:hover{
	color: #333333;
}
.itemButton.bk02 > a:before{
	background-color: #ffffff;
}
.itemButton > a:hover:before{
	left: 0;
}
.itemButton.chevronR > a:after{
	display: block;
	content: "\f054";
	position: absolute;
	top: calc(50% - 0.5em);
	right: 1.0em;
	font-family: fontAwesome;
	line-height: 1.0;
}
.itemButton > a > span{
	position: relative;
}

.buttonMore,
.modal-open{
	text-align: center;
	margin: 1.0em 0;
}

.buttonMore > a,
.modal-open > span{
	display: inline-block !important;
	padding: 0.5em 1.5em;
	background-color: #000000;
	border: #000 solid 1px;
	color: #ffffff;
	border-radius: 5px;
	font-weight: 700;
	cursor: pointer;
}

.buttonMore > a:after{
	display: inline-block;
	content: "";
	width: 8px;
	height: 8px;
	margin-left: 0.25em;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	transform: rotate(-45deg);
}

.buttonMore > a:hover, .buttonMore > a:active,
.modal-open > span:hover, .modal-open > span:active{
	color: #333333;
	background-color: #ffffff;
}

.buttonMore > a:hover:after, .buttonMore > a:active:after,
.modal-open > span:hover:after, .modal-open > span:active:after{
	border-right-color: #333333;
	border-bottom-color: #333333;
}
.comingsoon{
	padding: 1.0em;
	color: #333333;
	background-color: #eeeeee;
	font-family: 'RakutenSans_Bd', sans-serif;
	text-align: center;
}

/* section */

.special main > section {
	padding: 1.0em 0;
	overflow: hidden;
	background-color: rgba(255, 255, 255, 0.6);
}

.special main > section{
	padding: 0 0 1.0em;
}

main > section.goods {
	color: #ffffff;
	background-color: rgba(155, 0, 32, 0.9);
}

main > section.special{
position:relative;
background: url("../images/bg-special.jpg") top center no-repeat #a9002f;
background-size: cover;
}

main > section.access {
	color: #ffffff;
	background-color:rgba(74, 0, 13, 0.9);
	
}

main > section.access a{ color: #fff;}

section.schedule {
	color: #ffffff;
	 background: transparent url("../images/bg-schedule.jpg") no-repeat center center;
   background-size: cover;
}

main > section .itemButton a,
main > section .buttonMore a,
main > section .modal-open span{
	color: #ffffff;
	text-decoration: none;
}

.special main > section > h1 {
	text-align: center;
	line-height: 1.0;
	padding:20px 0;
}

.special main > section > h1 em {
	display: block;
	font-family: 'RakutenSans_Bd', sans-serif;
	text-align: center;
	margin-bottom: 0;
}

main > section.schedule > h1 em,
main > section.goods > h1 em,
main > section.map > h1 em,
main > section.access > h1 em{ color: #fff;}

main > section.event > h1,
main > section.fanclub > h1,
main > section.food > h1,
main > section.map > h1,
main > section.service > h1,
main > section.victorybonus > h1{
	background-color: #fff;
}

main > section.special > h1 em,
main > section.event > h1 em,
main > section.fanclub > h1 em,
main > section.food > h1 em,
main > section.map > h1 em,
main > section.service > h1 em,
main > section.victorybonus > h1 em{
	color: #9b0020;
}

main > section.special > h1 b{ color: #000000;}
main > section.special > h1{
	background: linear-gradient(to right, #8c7537 0%, #fde79d 70%);
	color: #9b0020;
}

.special main > section > h1 b {
	display: block;
  margin: 0 auto;
	padding-top: 0.1em;
	font-family: 'Noto Sans JP', sans-serif; font-weight: 600;
}

/*FAN CLUB*/

.bgAdvance	{background-color: #00A6BA;}
.bgGold	{background-color: #a89200;}
.bgRegular{background-color: #a9002f;}
.bgKids{background-color: #007300;}
.bgAll{background-color: #000000;}

.fanclub .unit4Lg .col ul.cate-item	{display: inline; margin-bottom: 0.5em;}
.fanclub .unit4Lg .col ul.cate-item li { display: inline-block; margin-top: 0.5em; padding: 0.4em; line-height: 1.0; font-size: 0.6em;}

.fanclub .unit4Lg .col ul li {margin-left: 5px;}
.fanclub .unit4Lg .col ul.cate-item{ display: block;}

.fanclub .unit4Lg .col ul.cate-item li{
	color: #FFFFFF;
	border-radius: 20px;
	font-size: 0.9rem;
	text-align: center;
	font-weight: bold;
}

@media only screen and (min-width: 769px) {
.fanclub .unit4Lg .col ul.cate-item li { font-size: 0.7em; padding: 0.5em;}

}

strong.pickup {
	display: inline-block;
	position: relative;
	padding: 0.3em;
	background-color: rgba(0,0,0,0.35);
	text-align: center;
	transform: skewX(-40deg);
	width: 250px;
	margin: 1em auto;
}

strong.pickup span{
	display: flex;
	align-items: center;
	padding-left: 0.8em;
	transform: skewX(40deg);
	}

.banner{
	padding: 3.0em 0;
	text-align: center;
}
.sns, footer ul{
	display: flex;
	align-items: center;
	justify-content: center;
}
.sns li, footer ul li{
	margin: 0 10px;
}

.footer .page_top {
  width: 100%;
}
.footer .page_top a {
  width: 100%;
  display: block;
  text-align: center;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
  padding: 15px 0;
  background: #ffffff;
  text-decoration: none;
  color: #9b0020;
  -webkit-transition: all 0.3s linear;
  -moz-transition: all 0.3s linear;
  -o-transition: all 0.3s linear;
  -ms-transition: all 0.3s linear;
  transition: all 0.3s linear;
}
.footer .page_top a i {
  display: block;
  color: #fff;
  font-size: 16px;
  font-size: 1.6rem;
  line-height: 1;
}
.footer .page_top a:hover {
  background: #9b0020;
}
.footer .page_top a:hover i {
  color: #fff;
}

footer{
	margin-top: 3.0em;
	padding: 3.0em 0;
	color: #ffffff;
	background-color: #910023;
	text-align: center;
}
footer ul li a{
	color: #ffffff;
	text-decoration: none!important;
	font-weight: bold;
}
footer ul li a:before{
	display: inline-block;
	content: "";
	width: 6px;
	height: 6px;
	margin-right: 0.5em;
	border-right: 2px solid #ffffff;
	border-bottom: 2px solid #ffffff;
	transform: rotate(-45deg);
	vertical-align: 2px;
}
footer p{
	margin-top: 1.0em;
	font-size: 0.75em;
}

.bannerFixed > div img{border-radius: 50px; /*width: 80%;*/ box-shadow: 0 0 1.0rem rgba(0,0,0,.3);}

.col img { margin-bottom: 0.5em; border-radius: 5px 5px 0 0;} 
.col p.info-txt{ margin-bottom: 0.5em; text-align: center; color: #333;}

.unit2Lg > .col p.info-txt,
.unit3Lg > .col p.info-txt
strong{
	display: block;
	font-size: 1.8rem;
}

.unit4Lg > .col,
.unit3Lg > .col,
.special .unit3Lg > .col,
.event .unit3Lg > .col,
.fanclub .unit3Lg > .col{
	background-color: rgba(255,255,255,1.0);
	border-radius: 5px;
	margin-bottom: 1em;
	box-shadow: 0 0 1.2rem rgba(0,0,0,.1);
	}

.btn-menu > a{
	background-color: transparent;
	box-shadow: 0 0 0 0;
	}

.unit3Lg > .col p.info-txt{
	display: block;
	margin: 0.2em 0;
	
}
p,
.unit4Lg > .col p.info-txt,
.unit2Lg > .col p.info-txt,
.unit3Lg > .col p.info-txt{
	margin-bottom: 1em;
	padding: 0.5em;
}

.section{
	padding: 1.0em;
	margin: 1.0em 0;
}

.unit3Lg a{
	display: inline-block;
  /*overflow: hidden;*/
}

.unit3Lg a img{
  transition: all .3s linear;

}

.unit3Lg a:hover img{
  transform: scale(1.1);
}


.unit3Lg.food-list > li strong{
	display: block;
	border-bottom: 1px dotted #fff;
}

.unit3Lg.food-list > li{
	background-color: rgba(0,0,0,0.25);
}
.food .g-box{
	padding: 1.5em;
	background-color: rgba(255,255,255,0.25);
}

/*モーダル*/

.modal-list div .modal-container a {color:#00339b; text-decoration:underline; }

.modal-list div .modal-container a:hover,
.modal-list div .modal-container a:active {color:#2f62ca; text-decoration:none;}

.modal-list div .modal-container {
  width: 100%;
  height: 100%;
  position: fixed;
  top: 0;
  left: 0;
  background: rgba(0, 0, 0, 50%);
  padding: 40px 20px 70px;
  text-align: center;
  overflow: auto;
  opacity: 0;
  visibility: hidden;
  transition: 0.3s;
  z-index: 600;
	overflow-y: scroll;
}
.modal-list div .modal-container.active {
  opacity: 1;
  visibility: visible;
}
.modal-list div .modal-content {
  width: 100%;
  max-width: 860px;
  background-color: #fff;
  display: inline-block;
  padding: 1.2em;
  position: relative;
	color: #333;
	text-align: left!important;
}

.col .modal-content img{ border-radius:0;}

.modal-list div .modal-content ul{
	list-style-type: disc;
	margin-bottom: 1em;
	text-align: left;
}
.modal-list div .modal-content ul > li{margin-left: 1.5em;}


.modal-list div .modal-content strong {font-weight: bold;}
.modal-list div .modal-content h2 {
  margin-bottom: 20px;
	text-align: left;
  padding: 0.5em;
  margin: 0 auto 1em auto;
  color: #FFF;
  background: #9b0020;
  line-height: 1.5;
}

.modal-list div .modal-content h3 {
	width: 100%;
	text-align: left;
	color:#9b0020;
	padding-bottom:0.5em;
	margin:0 0 0.5em 0;
	border-bottom:#9b0020 2px solid;
	font-weight:bold;
}

.modal-list div .modal-content img {
	width: 100%;
	max-width: 100%;
	height: auto !important;
	margin-bottom: 20px;
	border-radius: 0;
}
.modal-list div .modal-content img.banner {
   width: 350px;
}

.modal-list div .modal-content .modal-close {
  cursor: pointer;
  position: absolute;
  top: -35px;
  right: 0;
}
.modal-list div .modal-content .modal-close img {
  max-width: 30px;
}


@media only screen and (max-width: 768px) {
	.modal-list div .modal-content h2 { font-size: 16px ;}	
	.modal-list div .modal-content h3 { font-size:  14px;}	
	.modal-list div .modal-content ul{ font-size:  12px;}
}	

@media only screen and (min-width: 769px) {
	.modal-list div .modal-content h2 { font-size: 18px;}	
	.modal-list div .modal-container .modal-close.pcOnly img { width: 200px; margin-top: 1em;}
	.modal-list div .modal-content h3 { font-size: 16px;}	
	.modal-list div .modal-content ul{ font-size:  16px;}
}	

/* modal table */

.modal-content table td { stext-align: left;}
.modal-content table tbody th { background: #ECECEC; text-align: center;}
.modal-list div .modal-container .modal-close:before{display: block; content: ""; position: fixed; top: 0; right: 0; bottom: 0; left: 0; width: 100%; height: 100%; z-index: 601;}
.modal-list div .modal-container > .modal-content, .modal-list div .modal-container > .modal-close img{position: relative; z-index: 602;}

@media screen and (max-width: 768px) {
.modal-list div .modal-container .modal-close:before{z-index: -1;}
.modal-content table {
		border:none;
		border-spacing:0;
		padding:0;
		width: 100%;
		margin:0 0 15px 0;
		border-top:#CCC 1px solid;
		border-right:#CCC 1px solid;
	}
.modal-content table td {
		font-size: 1.2rem;
	}
.modal-content table td, table th {
		padding:8px 4px;
		border-bottom:#CCC 1px solid;
		border-left:#CCC 1px solid;
	}
.modal-content table th {
        font-size: 1.1rem;
    }
}
@media screen and (min-width: 769px){
.modal-content table {
			border:none;
			border-spacing:0;
			padding:0;
			width: 100%;
			margin:0 0 20px 0;
			border-top:#CCC 1px solid;
			border-right:#CCC 1px solid;
		}
.modal-contenttable tbody th {
	background:#ECECEC; text-align: center;
		}
.modal-content table td, table th {
			padding:15px 5px;
			font-size: 14px;
			border-bottom:#CCC 1px solid;
			border-left:#CCC 1px solid;
		}
	}


/*swiper Slider　*/

.special .swiper-button-prev,
.special .swiper-button-next {
  background-size: 30%;
	width: 50px; height: 50px;
}

.special .swiper-button-prev:after,
.special .swiper-button-next:after{
  content: "";
	position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
}

.special .swiper-button-prev, .special .swiper-button-next{outline: none; z-index: 100;}
.special .swiper-button-next, .special .swiper-button-prev{ border: 1px solid #fff; z-index: 90; border-radius: 50%; color: #fff; background-color: rgba(0,0,0, 1.0); box-shadow: rgba(0,0,0,0.3) 0 2px 3px 0;}

.special .swiper-button-prev:after, div.swiper-container-rtl .swiper-button-next:after, div.swiper-button-next:after, .swiper-button-prev:after{font-size: 20px;font-weight: bold;}
.special .swiper-pagination	{position: static; height: 25px; padding: 10px 0; background-color: #231815; box-sizing: border-box; }
.special .swiper-pagination	{margin-bottom: 20px; background-color: transparent;}
.special .swiper-pagination-bullet {width: 50px; height: 5px; margin-left: 5px; border-radius: 0; background: rgba(0,0,0,0.35); opacity:1; outline: none; vertical-align: top; }
.special .swiper-pagination-bullet:first-child {margin-left: 0;}
.special .swiper-pagination-bullet.swiper-pagination-bullet-active {background: #fff;}
.special .swiper-slide a,
.special .swiper-slide div.no-link	{display: block; padding: 20px; color: #333333; border: 1px solid #ffffff; border-radius: 10px; overflow: hidden; box-shadow: 0px 0px 10px 0px rgba(0,0,0,0.25); text-decoration: none; background-color: rgba(255,255,255,0.85);}
.special ul	{/*margin-bottom: 20px;*/}
.special .swiper-slide	{text-align: center;}
.special .swiper-slide a:hover	{border: 1px solid #c7c7c7; box-shadow: 0px 0px 0 0px rgba(0,0,0,0.25);}
.special .swiper-slide p	{margin-top: 10px;}

.special .swiper-slide {
  opacity: 1.0; 
  transform: scale(.9); 
  transition: .7s;
	background-color:  rgba(255,255,255,0.9);
	border-radius: 10px;
}
.special .swiper-slide-active {
  opacity: 1;
  transform: scale(1);
  z-index: 1;
}


@media screen and (max-width: 768px) {
	
.special .swiper-button-prev,
.special .swiper-button-next {
	width: 30px; height: 30px;
}
.special .swiper-button-prev {
  left:  -12px;
}
.special .swiper-button-next {
  right:  -12px;
}
.goods div.swiper-slide,
.food div.swiper-slide{width: 90%; margin: 0 0 2em;}
.goods .swiper-pagination-bullet,
.food .swiper-pagination-bullet{width: 7vw;}
	
.goods,
.food{width: 100%; overflow: hidden;}
.goods .swiper-container,
.food .swiper-container{overflow: visible;}
}
	
@media screen and (min-width: 769px) {
.goods,
.food{overflow: hidden; margin-bottom: 20px; overflow-y: visible;}
.goods .swiper-container,
.food .swiper-container{margin-bottom: 20px; overflow: visible;}
.goods .swiper-wrapper > .swiper-slide,
.food .swiper-wrapper > .swiper-slide{display: inline-block; width: 250px; /*margin-left: 20px;*/ vertical-align: top; overflow: visible;}
}


/*SCHEDULE*/

.schedule .time-schedule table {  
	border-collapse: separate;
	border-spacing: 5px;
	border-top: none;
}
.schedule .time-schedule table th,
.time-schedule table td	{ color: #4e4c4b;}
.schedule .time-schedule strong	{ padding-left: 0; font-weight: bold; display: block;}
.schedule .time-schedule table th, .schedule .time-schedule table td	{padding: 10px; text-align: left; background-color: #ffffff;}
.schedule .time-schedule table tr:nth-child(odd) th, .schedule .time-schedule table tr:nth-child(odd) td	{background-color: #e7e7e7;}
.schedule .time-schedule table th	{width: 20%; text-align: center; white-space: nowrap;}
.schedule .time-schedule p	{font-size: 1.2rem;}


/*SP*/
@media only screen and (max-width: 768px) {
	
body {
		font-size: 1.4rem;
	}
body:before {
	display: block;
	content: "";
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.9) url("../images/bg_sp.jpg") no-repeat center left;
	background-size: 100%;
}
body > * {
	position: relative;
}
	.pcOnly{
		display: none;
	}
	span.spRight{ display: block; text-align: right;
	}

	.containerSp{
		padding: 1em 1.0em 0!important;
	}
		
	.btn-menu{ width: 100%;}
	.btn-menu > .btn-col{ 
		flex: 0 0 33.3333%;
	}
	.btn-menu > .btn-col:nth-child(-n+3){ 
		margin-bottom: 0.5em;
	}
	
	.special main > section > h1 em {
	font-family: 'RakutenSans_Bd', sans-serif;
	font-size: 1.8em;
	text-align: center;
	margin-bottom: 0.1em;
}
	
	#special .container{
		padding: 20px 0 0;
	}
	
main > section.special{
background: url("../images/bg-special.jpg") top left no-repeat #a9002f; 
}
	
	main > section .buttonMore a,
	main > section .modal-open span{font-size: 1.2rem;}
		
	p	{font-size: 1.2rem;}
	main > section > h1 b { font-size: 0.8em!important;}
	
	.bannerFixed  + footer{
		padding-bottom: calc(2.0em + 6vh);
	}
	.bannerFixed{
		padding: 10px 22px 10px 0;
		display: block;
		display: flex;
		align-items: center;
	  justify-content: center;
		position: fixed;
		bottom: 0;
		right: 0!important;
		width: 100%;
	}
	
	.bannerFixed > div img{ width: 100%; border-radius: 30px;}
	.bannerFixed > div
	
	.unit2Lg >*:not(:first-child){
		margin-top: 1.0em;
	}
	
	.unit2Lg, .unit3Lg, .unit4Lg{
		display:flex;
		align-items:stretch;
    justify-content: center;
    flex-wrap: wrap;
		/*font-size: 0;*/
	}

	.unit4Lg > *,
	.unit3Lg > *{
		display: inline-block;
		width: 48.481%;
		font-size: 1.6rem;
		vertical-align: top;
	}

	.unit4Lg > *:nth-child(even),
	.unit3Lg > *:nth-child(even){
		margin-left: 3.036%;
	}

	.sns li{
	width: 50px;
}
	footer ul{
	flex-wrap: wrap;
}
	footer ul li{
	width: 100%;
		margin-bottom: 0.5em;
}
	footer p{
	padding: 0 1.0em;
}
	
	.unit3Lg.food-list > li strong{
		font-size: 1.8rem;
		padding:  0.5em 0;
	}
	strong.pickup span{
	font-size: 1.2em;
	}
	
	.unit4Lg > .col p.info-txt,
	.unit2Lg > .col p.info-txt,
	.unit3Lg > .col p.info-txt,
	strong{
	display: block;
	font-size: 1.4rem;
	padding:  0 0.5em;
}
	.goods .unit4Lg > .col p.info-txt{
		color: #333;
	}
	.schedule .containerSp{ padding-top: 0!important;}
	.schedule .time-schedule table th, .time-schedule table td	{font-size: 1.4rem;}
	.schedule .time-schedule strong	{font-size: 1.4rem;}
	.schedule .time-schedule p	{font-size: 1.2rem}
	.access .unit2Lg .col:first-child img{ border-radius: 0;}
	.access .unit2Lg .col:last-child { width: 100%; margin: 0; padding: 0;}
	
	.access .map { position: relative; width: 100%; padding-top: 56.25%;}
	.access .map iframe { position: absolute; top: 0; right: 0; width: 100% !important; height: 100% !important;}
}


/*PC*/

@media only screen and (min-width: 769px) {
body {
	background: rgba(255,255,255,0.9) url("../images/bg_pc.jpg") center fixed no-repeat;
	background-size: cover;
}
.spOnly{
		display: none;
	}
a.anchor{ display: block; padding-top: 80px; margin-top: -80px;}

#special .container{
		width: 1200px;
		margin: 0 auto;
		padding: 3em 0 0;
	}

.goods .container{
	padding: 0;
}
	
.special main > section{
	padding: 0 0 2.0em;
}
	
main > section > h1 em {
	font-size: 2.4em;
}
	
.special main > section > h1 {
	padding:30px 0;
}

	.btn-menu{ margin: 0 auto;}
	.btn-menu > .btn-col{ margin-right: 5px;}
	.btn-menu > .btn-col:last-child{ margin-right: 0; }
	
	.bannerFixed > div img{ width: 80%;}
	.bannerFixed > div:last-child{
	margin-top: 10px;
	}
	.bannerFixed  + footer{
		padding-bottom: calc(3.0em + 87px);
	}
	.unit2Lg, .unit3Lg, .unit4Lg{
		display:flex;
		align-items:stretch;
    justify-content: center;
    flex-wrap: wrap;
		font-size: 0;
	}

	.unit2Lg > *{
		width: 48.481%;
		font-size: 1.6rem;
		vertical-align: top;
	}

	.unit2Lg > *:nth-child(even){
		margin-left: 3.036%;
	}

	.unit3Lg > *{
		width: 31.983%;
		font-size: 1.6rem;
		vertical-align: top;
	}

	.unit3Lg > *:not(:nth-child(3n+1)){
		margin-left: 2.024%;
	}
	
	.unit4Lg > *{
		width: 23.481%;
		font-size: 1.6rem;
		vertical-align: top;
	}

	.unit4Lg > *:not(:nth-child(4n+1)){
		margin-left: 2.024%;
	}

	main > section {
		padding: 4.0em 0;
	}
	
	.bannerFixed > div{
		width: 300px;
	}
	.bannerFixed{
		display: block;
		text-align: right;
}
	.food strong.pickup{ margin-bottom: 0;}
	
	strong.pickup span{
	font-size: 1.45em;
	}
	
	.unit3Lg.food-list > li{
		margin-top: 2.024%;
	}
	
	.unit3Lg.food-list > li strong,
	.goods .unit3Lg > .col p.info-txt, .goods p b{
		font-size: 1.8rem;
		padding:  0.4em 0;
	}
	.special .unit4Lg > .col p.info-txt,
	.special .unit2Lg > .col p.info-txt,
	.special .unit3Lg > .col p.info-txt{
	font-size: 1.6rem;
  padding:  0 0.5em;
	text-wrap: balance;
	word-break: auto-phrase;
}
 
	.special .row > .col{
		width: 50%;
		box-sizing: border-box;
	}
	.special .row > .col:first-child{
		padding-right: 30px;
	}
	.special .unit3Lg > .col p.info-txt{
	font-size: 1em;
	}
	
	.schedule .time-schedule table{
		line-height: 1.6;
	}

	.schedule .time-schedule {width: 80%; margin: 0 auto;}
	.schedule .time-schedule table th, .time-schedule table td	{font-size: 1.6rem;}
	.schedule .time-schedule p	{font-size: 1.6rem}
	.schedule .time-schedule strong	{font-size: 1.6rem}
	
	.access .unit2Lg > *:nth-child(even){ margin-left: 3.036%;}
	.access .unit2Lg .col img{ height: 346px; border-radius: 0;}
	.access .unit2Lg .col iframe{ height: 346px;}
	
	.sns li{ width: 70px; padding: 10px;}
	}