@charset "utf-8";
/* CSS Document */

/*my reset style*/
/*-----------------------------------------------------------------*/
article,aside,figure,figcaption,footer,header,nav,section,main{ display: block; }
small{ font-size: inherit; line-height: inherit; }
body,p,h1,h2,h3,h4,h5,h6,dl,dt,dd,div{ margin: 0; padding: 0; font-size: 100%; line-height: 1.5; }
ul,li,ol{ list-style: none; margin: 0; padding: 0; }
a img{ border: none; }
a{ transition: all 0.25s linear; }
a:hover{ opacity: 0.7; text-decoration: none; }
a.anchor{ position: absolute; transform: translateY(-200px); }
img{ vertical-align: bottom; }
body,p,div{
	color: #666666;
	font-family: Lato, Roboto, "メイリオ", "游ゴシック", YuGothic, 'Noto Sans Japanese', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif;
	font-family: "Helvetica neue", "メイリオ", "ＭＳ Ｐゴシック", "MS PGothic", sans-serif \9;
	font-size: 18px; line-height: 1.7;
	-webkit-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
}
body:not(:target),
p:not(:target),
div:not(:target){ font-family: Lato, Roboto, "メイリオ", "游ゴシック", YuGothic, 'Noto Sans Japanese', "ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN", sans-serif \9; }
@media screen and (max-width: 480px){
	img{ max-width: 100%; height: auto; }
	a:hover{ opacity: 1; }
	a:active{ opacity: 0.7; text-decoration: none; }
}

/*general style*/
/*-----------------------------------------------------------------*/
.nl{ font-size: 14px; line-height: 16px;}
.nm{ font-size: 12px; line-height: 20px; }
.ns{ font-size: 10px; line-height: 14px; }
.spt5{ margin-top: 5px; }
.spt10{ margin-top: 10px; }
.spt15{ margin-top: 15px; }
.spt20{ margin-top: 20px; }
.spt25{ margin-top: 25px; }
.spt30{ margin-top: 30px; }
.spt40{ margin-top: 40px; }
.spt50{ margin-top: 50px; }
.spt60{ margin-top: 60px; }
.spt70{ margin-top: 70px; }
.spt80{ margin-top: 80px; }
.spt90{ margin-top: 90px; }
.spt100{ margin-top: 100px; }
.spt110{ margin-top: 110px; }
.spt120{ margin-top: 120px; }
.spt130{ margin-top: 130px; }
.spt140{ margin-top: 140px; }
.spt150{ margin-top: 150px; }
.invalid-line-height{ line-height: 0; }
.ovf-h{ overflow: hidden; }
.full-width{ width: 100%; }
.txt-left{ text-align: left; }
.txt-center{ text-align: center; }
.txt-right{ text-align: right; }
.txt-indent{ text-indent: -1em; padding-left: 1em; display: block; }
.txt-hide{ text-indent: 101%; display: block; white-space: nowrap; overflow:hidden; }
.inline-block{ display: inline-block; }
.txt-bold{ font-weight: bold; }
.clearfix:after{ display: block; clear: both; height: 0; visibility: hidden; content: ""; }
.sw-elm .pc,.sw-elm .sp{ display: none; }
.sw-elm .pc{ display: block; }
.sw-elm span.pc,.sw-elm img.pc{ display: inline; }
.js-inview{ opacity: 0; transition: opacity 1s ease-in, transform 1s ease-out; transform: translateY(50px); }
.js-inview.show{ opacity: 1!important; transform: translateY(0px); }
.hoop-color{ color: #e60039; }
.and-color{ color: #00a33e; }
.sp { display:none;}

@media screen and (max-width: 480px){
	.nl{ font-size: 14px; line-height: 16px;}
	.pc{ display: none;}
	.sp{display: block;}
	img{ max-width: 100%; height: auto; }
	.sw-elm .pc,.sw-elm span.pc,.sw-elm img.pc{ display: none; }
	.sw-elm .sp{ display: block; }
	.sw-elm span.sp,.sw-elm img.sp{ display: inline; }
	.spt5.-liquid-base{ margin-top: 1.56%; }
	.spt10.-liquid-base{ margin-top: 3.13%; }
	.spt15.-liquid-base{ margin-top: 4.69%; }
	.spt20.-liquid-base{ margin-top: 6.25%; }
	.spt25.-liquid-base{ margin-top: 7.81%; }
	.spt30.-liquid-base{ margin-top: 9.38%; }
	.spt40.-liquid-base{ margin-top: 12.5%; }
	.spt50.-liquid-base{ margin-top: 15.63%; }
	.spt60.-liquid-base{ margin-top: 18.75%; }
	.spt70.-liquid-base{ margin-top: 21.88%; }
	.spt80.-liquid-base{ margin-top: 25%; }
	.spt90.-liquid-base{ margin-top: 28.13%; }
	.spt100.-liquid-base{ margin-top: 31.25%; }
	.spt110.-liquid-base{ margin-top: 34.38%; }
	.spt120.-liquid-base{ margin-top: 37.5%; }
	.spt130.-liquid-base{ margin-top: 40.63%; }
	.spt140.-liquid-base{ margin-top: 43.75%; }
	.spt150.-liquid-base{ margin-top: 46.88%; }
	.full-width.-liquid-base{ width: auto; }
	.txt-center.-liquid-base{ text-align: left; }
	.txt-right.-liquid-base{ text-align: left; }
}


/*my set style*/
/*-----------------------------------------------------------------*/

#header{ padding: 20px 0; text-align: center; }
#header .main-ttl{  }

#footer{ background-color: #ffffff; /*margin-top: 50px;*/ }
#footer .footer-caption{ max-width: 1400px; margin: 0 auto; padding: 10px; text-align: right; }
#footer .footer-navi{ overflow: hidden; }
#footer .footer-navi > .item{ width: 100%; }
#footer .footer-navi > .item a{ display: block; color: #ffffff; font-weight: bold; text-decoration: none; padding: 5px 0; }
#footer .footer-navi > .navi-hoop a{ background-color: #bf153e; }
#footer .footer-navi > .navi-and a{ background-color: #87c022; }
#footer .footer-navi > .item .logo{ display: inline-block; line-height: 64px; }
#footer .footer-navi > .item .logo img{ vertical-align: middle; }
#footer .footer-navi > .item .txt{ display: inline-block; font-size: 16px; line-height: 24px; margin-top: 10px; }
#footer .footer-navi > .item .txt img{ vertical-align: middle; }
#footer .copyright{ color: #adadad; background-color: #000000; padding: 30px 0; }

#food-header {
	max-width: 100%;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

#food-header .top {
	position: relative;
	overflow: hidden;
}

#food-header .top .top-img {
	width: 100%;
}

#food-header .title {
	position: absolute;
	top:4%;
	left:0;
	right:0;
	magrin: auto;
	text-align: center;
	z-index: 99;
}

#food-header .balloon.red{
	position: absolute;
	top:-4%;
	right: 0;
	-webkit-animation:anime01 4s infinite linear alternate;
	animation:anime01 4s infinite linear alternate;
	z-index:1;
}

@-webkit-keyframes anime01 {
	0% {-webkit-transform:translate(0, 0) rotate(-15deg);}
	20% {-webkit-transform:translate(0, -15px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(15deg);}
}

@keyframes anime01 {
	0% {transform:translate(0, 0) rotate(-15deg);}
	20% {transform:translate(0, -15px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(15deg);}
}

#food-header .balloon.blue {
	position: absolute;
	top: -4%;
	right: 11%;
	z-index: 3;
	-webkit-animation:anime02 4.5s infinite linear alternate;
	animation:anime02 4.5s infinite linear alternate;
}

@-webkit-keyframes anime02 {
	0% {-webkit-transform:translate(0, 0) rotate(-15deg);}
	30% {-webkit-transform:translate(0, -15px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(15deg);}
}

@keyframes anime02 {
	0% {transform:translate(0, 0) rotate(-15deg);}
	30% {transform:translate(0, -15px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(15deg);}
}

#food-header .balloon.orange {
	position: absolute;
	top: 8%;
	right:5%;
	z-index:1;
	-webkit-animation:anime03 5s infinite linear alternate;
	animation:anime03 5s infinite linear alternate;
}

@-webkit-keyframes anime03 {
	0% {-webkit-transform:translate(0, 0) rotate(-35deg);}
	60% {-webkit-transform:translate(0, -35px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(35deg);}
}

@keyframes anime03 {
	0% {transform:translate(0, 0) rotate(-35deg);}
	60% {transform:translate(0, -35px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(35deg);}
}

#food-header .balloon.pink {
	position: absolute;
	top: -4%;
	right:5%;
	z-index:2;
	-webkit-animation:anime04 3s infinite linear alternate;
	animation:anime04 3s infinite linear alternate;
}

@-webkit-keyframes anime04 {
	0% {-webkit-transform:translate(0, 0) rotate(-20deg);}
	40% {-webkit-transform:translate(0, -20px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(20deg);}
}

@keyframes anime04 {
	0% {transform:translate(0, 0) rotate(-20deg);}
	40% {transform:translate(0, -20px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(20deg);}
}

#food-header .balloon.green {
	position: absolute;
	top: 12%;
	right: 0%;
	-webkit-animation:anime05 3.5s infinite linear alternate;
	animation:anime05 3.5s infinite linear alternate;
}

@-webkit-keyframes anime05 {
	0% {-webkit-transform:translate(0, 0) rotate(-35deg);}
	50% {-webkit-transform:translate(0, -35px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(35deg);}
}

@keyframes anime05 {
	0% {transform:translate(0, 0) rotate(-35deg);}
	50% {transform:translate(0, -35px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(35deg);}
}

#food-header .girl {
	position: absolute;
	bottom: 0;
	left: 0;
}

#food-header .date {
	position: absolute;
	right: 4%;
	bottom: 4%;
}

#wrapper {
	max-width: 1200px;
	margin: 50px auto;
}

/*--------------- detail ---------------*/

#wrapper .details {
	width: 90%;
	margin: 0 auto;
	text-align: center;
}

#wrapper .details p{
	color: #221814;
	text-align: center;
}

#wrapper .details p.copy{
	font-size: 26px;
	line-height: 38px;
	letter-spacing: 2px;
	padding-bottom: 2%;
}

#wrapper .details .b-size{
	font-size: 34px;
	letter-spacing: 2px;
}

#wrapper .details p.date{
	display: inline-block;
	font-size: 24px;
	letter-spacing: 2px;
	line-height: 32px;
	padding: 10px 20px;
	color: #221814;
	border: 1px solid #221814;
}


/*--------------- イベント ---------------*/

#main .contents {
	margin: 70px 0;
	text-align: center;
}

#main .contents .event01 {
	background-image: url(../image/food/bg.png);
	background-color: #f5bdc8;
	padding: 20px 2%;
	position: relative;
	width: 96%;
}

#main .contents .event01 .title {
	font-size: 38px;
	color: #221814;
	font-weight: bold;
	text-align: left;
}

#main .contents .event02 {
	background-color: #f7c5ab;
	padding: 20px 2%;
	position: relative;
	margin: 40px 0;
	width: 96%;
	text-align: left;
}

#main .contents .event02 .title {
	font-size: 38px;
	color: #221814;
	font-weight: bold;
	text-align: left;
}

#main .contents .event02 .photo {
	margin-top: 20px;
}

#main .contents .event02 .photo img{
	width: 100%;
}

#main .contents .txt p {
	font-size: 18px;
	color: #221814;
	letter-spacing: 1px;
}

#main .contents .event03 {
	background-color: #bfdeae;
	padding: 20px 2%;
	position: relative;
	width: 96%;
}

#main .contents .event03 .title {
	font-size: 38px;
	color: #221814;
	font-weight: bold;
	text-align: left;
}

#main .contents .event03 .shop {
	font-size: 24px;
	color: #221814;
	font-weight: bold;
}

#main .contents .event03 .box .photo {
	position:relative;
}

#main .contents .event03 .box .photo .fee {
	position: absolute;
	top: 2%;
	right: 25%;
	text-align: center;
}

/*--------------  イベント共通  --------------*/
#main .contents .box {
	overflow: hidden;
	display:block;
}

#main .contents .box .txt {
	float: left;
	width: 50%;
	text-align: left;
}

#main .contents .box .photo {
	text-align: right;
}

#main .contents .box .date {
	background: #221814;
	color: #fefefe;
	font-size: 22px;
	text-align: center;
	width: 410px;
	margin: 10px 0 20px;
	letter-spacing: 2px;
}

/*-------------- ダイニング マップ --------------*/


#main .contents .map .main-visual{ position: relative; overflow: hidden;}
#main .contents .map .title{
	padding-top: 20px;
	text-align: center;}

#main .contents .map .title img {
	width: 90%;
}

#main .contents .map .copy p{
	font-size: 20px;
	padding: 30px 0 50px;
	color: #221814;
}

#main .contents .map .pc .box {
	overflow: hidden;
	width: 100%;
	margin: 40px 0;
}

#main .contents .map .photo {
	float: left;
	width: 57%;
	text-align: center;
}

#main .contents .map .photo img {
	width: 100%;
}

#main .contents .map .shops {
	float: right;
	width: 83%;
}

#main .contents .map .shops .shop {
	width: 99%;
	margin: 0 0 6%;
	box-shadow: 0px 6px 0px 0px #221814;
	-webkit-box-shadow: 0px 6px 0px 0px #221814;
	-moz-box-shadow: 0px 6px 0px 0px #221814;
	border-radius: 35px;
	position: relative;
}

#main .contents .map .shops .shop::after {
	padding-bottom: -6px;
}

#main .contents .map .shops .shop .number {
	background: #221814;
	color: #fefefe;
	padding: 5px 10px;
	border-radius: 50%;
	font-size: 18px;
	font-weight:200;
}

#main .contents .map .shops .shop .number02 {
	background: #221814;
	color: #fefefe;
	padding: 5px 5px;
	border-radius: 50%;
	font-size: 18px;
	font-weight:200;
}

#main .contents .map .shops .shop.odd {
	background: #5e5e5e;
}

#main .contents .map .shops .shop.even {
	background: #d10069;
}

#main .contents .map .shops .shop a{
	display: block;
	text-decoration: none;
	padding: 10px 15px;
	color: #fefefe;
	font-size: 16px;
	text-align: left;
	font-weight:200;
	letter-spacing: 0.5px;
}

#main .contents .map .shops .shop .mark {
	position: absolute;
	right: 5%;
	top: 40%;
}

/*-------------- ダイニング お店 --------------*/

.contents-wrap {
	width: 100%;
	display: flex;
	justify-content: space-between;
	margin: 0 auto 0.8rem;
}

.contents-wrap:nth-child(odd) {
	flex-direction: row-reverse;
}

.contents-text {
	width: 37%; /*flex: 2;*/
	position: relative;
}

.contents-text p{
	color: #fefefe;
	font-size: 18px;
	font-weight: 200;
	text-decoration: none;
}

.contents-wrap:nth-child(even) .contents-text {
    background: #d10069;
    color: #fff;
    padding-top: 5%;
    padding-right: 2.5%;
    padding-left: 2.5%;
    padding-bottom: 0;
}

.contents-wrap:nth-child(odd) .contents-text {
    background: #221814;
    color: #fff;
    padding-top: 5%;
    padding-right: 2.5%;
    padding-left: 2.5%;
    padding-bottom: 0;
}

.contents-img {
	width: 57%; /*flex: 1;*/
}

.contents-text h2 {
	margin: 0.3rem 0 1.2rem;
	font-size: 42px;
	line-height: 50px;
	letter-spacing: 1px;
}

.contents-text h3 {
	margin-bottom: 1rem;
	font-size: 24px;
	font-weight: 300;
}

.contents-img {
	position: relative;
}

.contents-img img {
	display: block;
	height: auto;
}

.contents-img .photo {
	width: 100%;
}

.contents-img .logo {
	position: absolute;
	right:2%;
	top: 3%;
}

.contents-text .number {
	position: absolute;
	top: 30%;
	left: 80%;
	-ms-transform: translate(-50%,-50%);
	-webkit-transform: translate(-50%,-50%);
	transform: translate(-50%,-50%);
	margin:0;
	padding:0;
	font-size: 15rem;
	color: rgba(245,245,245,0.15);
	font-family: 'Anton', sans-serif;
    z-index: 1;
}
.menu {
    width: 50%;
    z-index: 999;
    padding-top: 20px;
    text-align: center;
    margin-left: auto;
    margin-right: auto;
}

/*-------------- Q & A --------------*/

#main .contents .title.qa {
	width: 90%;
	margin: 20px auto;
}

#main .contents .title.qa p{
	font-size: 50px;
	color: #221814;
	letter-spacing: 1px;
}

#main .contents .title.qa .marker {
	background: linear-gradient(transparent 60%, #dfaefc 50%);
	padding: 0 10px;
}

#main .contents .title.qa .marker .bsize {
	font-size: 110px;
	font-family: 'Abhaya Libre', serif;
	font-weight: bold;
	padding: 0 5px;
}

#main .contents .qa-container {
	display: -webkit-box;
    display: -ms-flexbox;
    display: -webkit-flex;
    display: flex;
    -ms-flex-wrap: wrap;
    -webkit-flex-wrap: wrap;
    flex-wrap: wrap;
    justify-content: space-between;
	width: 100%;
	margin: 20px auto 50px;
}

#main .contents .qa-container .box {
    padding:0 0 20px;
    width: 48%;
    margin: 30px 10px;
    box-shadow: 0px 0px 10px 0px #221814;
	-webkit-box-shadow: 0px 0px 10px 0px #221814;
	-moz-box-shadow: 0px 0px 10px 0px #221814;
}

#main .contents .qa-container .box .txt {
	width: 90%;
	vertical-align: middle;
}

#main .contents .qa-container .box .question {
	background: #221814;
	display: flex;
	justify-content: space-between;
	margin: 0 px;
}

#main .contents .qa-container .box .question .q-mark p{
	font-size: 42px;
	width: 10%;
	line-height: 0;
	padding: 35px 0 0 20px;
	font-family: 'Abhaya Libre', serif;
	
}

#main .contents .qa-container .box .question p{
	color: #fefefe;
	padding: 20px;
	text-align: left;
	vertical-align: bottom;
}

#main .contents .qa-container .box .answer {
	display: flex;
	justify-content: space-between;
}

#main .contents .qa-container .box .answer p{
	color: #f221814;
	text-align: left;
}

#main .contents .qa-container .box .answer .txt {
	padding: 30px 20px 60px;
}

#main .contents .qa-container .box .answer .txt h3{
	font-size: 24px;
	color: #221418;
	padding-bottom: 10px;
}

#main .contents .qa-container .box .answer .a-mark p{
	font-size: 60px;
	width: 10%;
	vertical-align: top;
	color: #221814;
	line-height: 0;
	padding: 58px 0 0 20px;
	font-family: 'Abhaya Libre', serif;
}

#page-top {
	position: fixed;
	bottom: 20px;
	right: 20px;
	font-size: 14px;
	line-height: 60px;
	border-radius: 50%;
	z-index: 99;
}
#page-top a {
	background: #d10069;
	text-decoration: none;
	color: #fefefe;
	width: 60px;
	height: 60px;
	text-align: center;
	display: block;
	border-radius: 50%;
}
#page-top a:hover {
	text-decoration: none;
	background: #d10069;
}



@media screen and (max-width: 1440px){

	#food-header .balloon img {
	width: 80%;
	}
}

@media screen and (max-width: 1024px){

	#food-header .balloon img {
	width: 60%;
	}

	#food-header .balloon.blue {
		right: 7%;
	}

	#food-header .balloon.green {
		right:-3%;
	}

	#food-header .balloon.red {
		right: -5%;
	}

	#food-header .balloon.pink {
		right:-1%;
	}

	/*-------------- ダイニング お店 --------------*/


	.contents-text p{
		color: #fefefe;
		font-size: 16px;
		font-weight: 200;
	}

	.contents-text h2 {
		margin: 0.3rem 0 1rem;
		font-size: 34px;
		line-height: 46px;
		letter-spacing: 1px;
	}

	.contents-text h3 {
		margin-bottom: 1rem;
		font-size: 20px;
		font-weight: 300;
	}


	#main .contents .title.qa {
	width: 90%;
	margin: 20px auto;
	}

	#main .contents .title.qa p{
	font-size: 40px;
	}

	#main .contents .title.qa .marker .bsize {
	font-size: 90px;
	}

	#main .contents .qa-container {
	width: 95%;
	margin: 20px auto 50px;
	}

	#main .contents .qa-container .box {
    width: 47%;
    margin: 3% 1%;
	}

	#main .contents .qa-container .box .question .q-mark p{
	font-size: 38px;
	}

	#main .contents .qa-container .box .question p{
	font-size: 16px;
	}

	#main .contents .qa-container .box .answer p{
	font-size: 16px;
	}

	#main .contents .qa-container .box .answer .txt h3{
	font-size: 20px;
	}

	#main .contents .qa-container .box .answer .a-mark p{
	font-size: 50px;
	padding: 56px 0 0 20px;
	}

	}
@media screen and (max-width: 768px){

	#food-header .title img{
		padding-top: 1%;
		width: 65%;
	}

	#food-header .balloon img {
		width: 60%;
	}

	#food-header .balloon.green {
	position: absolute;
	top: 16%;
	right: -5%;
	}

	#food-header .balloon.orange {
	position: absolute;
	top: 16%;
	right: 1%;
	}

	#food-header .girl {
	position: absolute;
	bottom: 0;
	left: -6%;
	}

	#food-header .girl img{
	width: 70%;
	}

	#food-header .date {
	right: 2%;
	bottom: -4%;
	width: 155px;
	height: 120px;
	font-size: 28px;
	padding-top: 4%;
	}


	/*--------------- detail ---------------*/

	#wrapper .details p.copy{
	font-size: 22px;
	letter-spacing: 2px;
	}

	/*--------------- イベント ---------------*/

	#main .contents .event01 .title {
	font-size: 34px;
	}

	#main .contents .event02 .title {
	font-size: 34px;
	}

	#main .contents .txt p {
	font-size: 16px;
	}

	#main .contents .event03 {
	background-color: #bfdeae;
	padding: 20px 2%;
	position: relative;
	width: 96%;
	}

	#main .contents .event03 .title {
	font-size: 34px;
	}

	#main .contents .event03 .shop {
	font-size: 20px;
	}

	#main .contents .event03 .box .photo .fee {
	top: 0%;
	right: 35%;
	width: 70px;
	height: 60px;
	font-size: 20px;
	line-height: 24px;
	padding-top: 1.2%;
	}

	#main .contents .box .date {
	width: 370px;
	}

	#wrapper .details p.date{
	width: 50%;
	font-size: 22px;
	line-height: 28px;
	}

	#wrapper .details p.tel{
	width: 40%;
	font-size: 22px;
	line-height: 28px;
	}

	.contents-wrap {
	margin: 0 auto 3rem;
	}

	#main .contents .map .box {
	overflow: hidden;
	width: 100%;
	margin: 0;
	}

	#main .contents .map .photo {
		float: none;
		width: 70%;
		text-align: center;
		margin: 0 auto 30px;
	}

	#main .contents .map .photo img {
		width: 100%;
	}

	#main .contents .map .shops {
		float: none;
		width: 100%;
		margin: 0 auto;
	}

	#main .contents .map .shops .shop {
		width: 90%;
		display: inline-block;
		margin: 0 0 2%;
		box-shadow: 0px 4px 0px 0px #221814;
		-webkit-box-shadow: 0px 4px 0px 0px #221814;
		-moz-box-shadow: 0px 4px 0px 0px #221814;
	}

	#main .contents .map .shops .shop::after {
		padding-bottom: -6px;
	}

	#main .contents .map .shops .shop .number {
		padding: 4px 8px;
		font-size: 14px;
	}

	#main .contents .map .shops .shop .number02 {
		padding: 4px 4px;
		font-size: 14px;
	}

	#main .contents .map .shops .shop a{
	padding: 8px 15px;
	font-size: 16px;
	letter-spacing: 0.5px;
	}


	.contents-wrap,
	.contents-wrap:nth-child(odd)  {
		flex-direction: column;
	}
	.contents-wrap:nth-child(even)  {
		flex-direction: column;
	}

	.contents-text,
	.contents-img {
		width: 100%; /*flex: 1;*/
	}

	.contents-wrap:nth-child(even) .contents-text {
	background: #221814;
	color: #fff;
	padding: 5%;
	width: 90%;
	}

	.contents-wrap:nth-child(odd) .contents-text {
	background: #d10069;
	color: #fff;
	padding: 5%;
	width: 90%;
	}

	.contents-text .number {
    font-size: 10rem;
    z-index: 1;
	}

	}
@media screen and (max-width: 480px){
	#wrapper{ min-width: 0; margin: 40px auto;}

	#header{ padding: 3% 15px; }
	#header .main-ttl{  }

	#footer{ margin-top: 0; }
	#footer .footer-caption{ margin: 0 15px; padding: 15px 0; text-align: left; }

	#main .contents {
	margin: 20px 0 0;
	text-align: center;
	}

	/*--------------- detail ---------------*/

	#wrapper .details p.copy{
	font-size: 16px;
	letter-spacing: 2px;
	padding-bottom: 10px;
	}

	#food-header .title {
	z-index: 99;
	}

	#food-header .title img{
	padding-top: 2%;
	width: 65%;		
	}

	#food-header .balloon img {
	width: 35%;
	}

	#food-header .top {
	overflow: hidden;
	}

	#food-header .balloon.red {
	position: absolute;
	top:-5%;
	right: -21%;
	}

	#food-header .balloon.blue {
	position: absolute;
	right: -3%;
	z-index: 3;
	}

	#food-header .balloon.orange {
	position: absolute;
	top: 15%;
	right: -7%;
	z-index:1;
	}

	@-webkit-keyframes anime03 {
	0% {-webkit-transform:translate(0, 0) rotate(-10deg);}
	50% {-webkit-transform:translate(0, -10px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(10deg);}
	}

	@keyframes anime03 {
	0% {transform:translate(0, 0) rotate(-10deg);}
	50% {transform:translate(0, -10px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(10deg);}
	}

	#food-header .balloon.pink {
	position: absolute;
	top: -3%;
	right: -13%;
	z-index:2;
	}

	@-webkit-keyframes anime04 {
	0% {-webkit-transform:translate(0, 0) rotate(-5deg);}
	50% {-webkit-transform:translate(0, -5px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(5deg);}
	}

	@keyframes anime04 {
	0% {transform:translate(0, 0) rotate(-5deg);}
	50% {transform:translate(0, -5px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(5deg);}
	}

	#food-header .balloon.green {
	position: absolute;
	top: 10%;
	right: -21%;
	-webkit-animation:anime05 5s infinite linear alternate;
	animation:anime05 5s infinite linear alternate;
	}

	@-webkit-keyframes anime05{
	0% {-webkit-transform:translate(0, 0) rotate(20deg);}
	50% {-webkit-transform:translate(0, 20px) rotate(0deg);}
	100% {-webkit-transform:translate(0, 0)rotate(20deg);}
	}

	@keyframes anime05 {
	0% {transform:translate(0, 0) rotate(20deg);}
	50% {transform:translate(0, 20px) rotate(0deg);}
	100% {transform:translate(0, 0)rotate(20deg);}
	}

	#food-header .girl {
	position: absolute;
	bottom: 0;
	left: -25%;
	}

	#food-header .girl img{
	width: 40%;
	}

	#wrapper .details p.copy{
	line-height: 22px;
	}
	
	#wrapper .details .b-size{
	font-size: 24px;
	letter-spacing: 2px;
}

	#food-header .date {
	right: 2%;
	bottom: 4%;
	width: 90px;
	height: 70px;
	font-size: 18px;
	line-height: 26px;
	padding-top: 4%;
	}

	#wrapper .details p.date{
	width: 96%;
	font-size: 18px;
	line-height: 18px;
	margin-left: 0;
	padding: 10px 5px;
	}

	/*--------------- イベント ---------------*/

	#main .contents .event01 {
	padding: 5% 5%;
	width: 90%;
	margin: 40px 0 0px;
	}

	#main .contents .event01 .title {
	font-size: 26px;
	line-height: 36px;
	text-align: center;
	}

	#main .contents .event02 {
	padding: 5% 5%;
	width: 90%;
	margin: 5% 0;
	}

	#main .contents .event02 .title {
	font-size: 26px;
	line-height: 36px;
	text-align: center;
	}

	#main .contents .txt p {
	font-size: 16px;
	}

	#main .contents .event03 {
	background-color: #bfdeae;
	padding: 5% 5%;
	position: relative;
	width: 90%;
	}

	#main .contents .event03 .title {
	font-size: 26px;
	text-align: center;
	}

	#main .contents .event03 .shop {
	font-size: 20px;
	}

	#main .contents .event03 .box .photo {
	margin-top: 20px;
	}

	#main .contents .event03 .box .photo .fee {
	top: -5%;
	left: 0%;
	}

	/*--------------  イベント共通  --------------*/

	#main .contents .box .txt {
		float: none;
		width: 100%;
	}

	#main .contents .box .photo {
		text-align: center;
	}

	#main .contents .box .date {
		background: #221814;
		color: #fefefe;
		font-size: 20px;
		text-align: center;
		width: 100%;
		margin: 10px 0 10px;
		letter-spacing: 2px;
	}

	/*-------------- ダイニング マップ --------------*/



	#main .contents .map {
		padding: 0;
		position: relative;
		background: rgba(0,0,0,0.05)
	}

	#main .contents .map .sp-shop.one {
		position: absolute;
		top: 54%;
		left: 9.5%;
		z-index:10;
	}

	#main .contents .map .sp-shop.two {
		position: absolute;
		top: 51%;
		left: 26%;
		z-index:10;
	}

	#main .contents .map .sp-shop.three {
		position: absolute;
		top: 60%;
		left: 26%;
		z-index:10;
	}

	#main .contents .map .sp-shop.four {
		position: absolute;
		top: 66.5%;
		left: 9.5%;
		z-index:10;
	}

	#main .contents .map .sp-shop.five {
		position: absolute;
		bottom: 21%;
		left: 9.5%;
		z-index:10;
	}

	#main .contents .map .sp-shop.six {
		position: absolute;
		bottom: 13%;
		left: 22%;
		z-index:10;
	}

	#main .contents .map .sp-shop.seven {
		position: absolute;
		bottom: 18%;
		right: 21%;
		z-index:10;
	}

	#main .contents .map .sp-shop.eight {
		position: absolute;
		top: 65.5%;
		right: 19%;
		z-index:10;
	}

	#main .contents .map .sp-shop.nine {
		position: absolute;
		top: 58%;
		right: 19%;
		z-index:10;
	}

	#main .contents .map .sp-shop.ten {
		position: absolute;
		top: 50%;
		right: 19%;
		z-index:10;
	}

	#main .contents .map .copy p{
		font-size: 16px;
		padding: 10px 0;
		color: #221814;
	}

	#main .contents .map .box {
		overflow: hidden;
		width: 100%;
		margin: 40px 0;
	}

	#main .contents .map .photo {
		float: none;
		display: block;
		width: 90%;
		text-align: center;
		margin: 0 auto 10px;
	}

	#main .contents .map .photo img {
		width: 100%;
	}

	.contents-wrap {
	margin: 0 auto 3rem;
	}

	#main .contents .map .box {
	overflow: hidden;
	width: 100%;
	margin: 0;
	}

	.contents-wrap,
	.contents-wrap:nth-child(odd)  {
		flex-direction: column;
	}
	.contents-wrap:nth-child(even)  {
		flex-direction: column;
	}

	.contents-text,
	.contents-img {
		width: 100%; /*flex: 1;*/
	}

	.contents-wrap:nth-child(even) .contents-text {
	background: #221814;
	color: #fff;
	padding: 5%;
	width: 90%;
	}

	.contents-wrap:nth-child(odd) .contents-text {
	background: #d10069;
	color: #fff;
	padding: 5%;
	width: 90%;
	}

	.contents-text .number {
	font-size: 14rem;
	}

	/*-------------- Q & A --------------*/

	#main .contents .title.qa {
		width: 95%;
		margin: 0 auto;
	}

	#main .contents .title.qa p{
		font-size: 22px;
		line-height: 26px;
		padding-top: 20px;
	}

	#main .contents .title.qa .marker .bsize {
		font-size: 50px;
	}

	#main .contents .qa-container {
		display: block;
		width: 100%;
		margin: 0px auto 50px;
	}

	#main .contents .qa-container .box {
		padding:0 0 20px;
		width: 90%;
		margin: 30px auto 10px;
	}

	#main .contents .qa-container .box .txt {
		width: 90%;
		vertical-align: middle;
	}

	#main .contents .qa-container .box .question {
		background: #221814;
		display: flex;
		justify-content: space-between;
		margin: 0 px;
	}

	#main .contents .qa-container .box .question .q-mark p{
		font-size: 36px;
		width: 10%;
		line-height: 0;
		padding: 35px 0 0 20px;
		font-family: 'Abhaya Libre', serif;

	}

	#main .contents .qa-container .box .question p{
		color: #fefefe;
		padding: 20px 15px;
		text-align: left;
		vertical-align: bottom;
	}

	#main .contents .qa-container .box .answer {
		display: flex;
		justify-content: space-between;
	}

	#main .contents .qa-container .box .answer p{
		color: #f221814;
		text-align: left;
	}

	#main .contents .qa-container .box .answer .txt {
		padding: 20px 10px;
	}

	#main .contents .qa-container .box .answer .txt h3{
		font-size: 18px;
		color: #221418;
		padding-bottom: 5px;
	}

	#main .contents .qa-container .box .answer .a-mark p{
		font-size: 50px;
		width: 10%;
		vertical-align: top;
		color: #221814;
		line-height: 0;
		padding: 42px 0 0 15px;
		font-family: 'Abhaya Libre', serif;
	}


	#main .contents .sp .sp-shop {
		display: inline-block;
		margin: 0 1px;
		text-align: center;
	}

	#main .contents .sp .sp-shop a {
		background: #221814;
		color: #fefefe;
		text-decoration: none;
		padding: 4px 10px;
		border-radius: 50%;

	}

	#main .contents .sp .sp-shop.ten a {
		background: #221814;
		color: #fefefe;
		text-decoration: none;
		padding: 4px 5px;
		border-radius: 50%;

	}
	
}

@media screen and (max-width: 375px){

#main .contents .map .sp-shop.one {
		position: absolute;
		top: 57%;
		left: 9.5%;
		z-index:10;
	}

	#main .contents .map .sp-shop.two {
		position: absolute;
		top: 54%;
		left: 26%;
		z-index:10;
	}

	#main .contents .map .sp-shop.three {
		position: absolute;
		top: 62%;
		left: 26%;
		z-index:10;
	}

	#main .contents .map .sp-shop.four {
		position: absolute;
		top: 68%;
		left: 9.5%;
		z-index:10;
	}

	#main .contents .map .sp-shop.five {
		position: absolute;
		bottom: 19.5%;
		left: 9.5%;
		z-index:10;
	}

	#main .contents .map .sp-shop.six {
		position: absolute;
		bottom: 12%;
		left: 22%;
		z-index:10;
	}

	#main .contents .map .sp-shop.seven {
		position: absolute;
		bottom: 16%;
		right: 21%;
		z-index:10;
	}

	#main .contents .map .sp-shop.eight {
		position: absolute;
		top: 67.5%;
		right: 19%;
		z-index:10;
	}

	#main .contents .map .sp-shop.nine {
		position: absolute;
		top: 61%;
		right: 19%;
		z-index:10;
	}

	#main .contents .map .sp-shop.ten {
		position: absolute;
		top: 53%;
		right: 18.5%;
		z-index:10;
	}

	#main .contents .sp .sp-shop a {
		background: #221814;
		color: #fefefe;
		text-decoration: none;
		padding: 2px 8px;
		border-radius: 50%;

	}
	.contents-wrap {
    width: 90%;
    display: flex;
    justify-content: space-between;
    margin: 0 auto 0.8rem;
}
.menu {
    margin-left: auto;
    margin-right: auto;
    width: 60%;
    z-index: 999;
}

.contents-text .number {
    display: none;
}

}

@media screen and (-webkit-min-device-pixel-ratio: 1.5),screen and (min-resolution: 1.5dppx){
	#main.index .section01 .intro .ttl::before{ background: url(../image/fashion/01/p01@2x.png) 0 0 no-repeat; background-size: contain; }
}
