@charset "UTF-8";

* {
	-webkit-box-sizing: border-box;
	-moz-box-sizing: border-box;
	-ms-box-sizing: border-box;
	box-sizing: border-box;
	}

/* 大枠 */
html,
body {
	height: 100%;
	-webkit-font-smoothing: antialiased;
	-webkit-text-size-adjust: none;
	font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;
	}
body {
	font-size: 16px;
	line-height: 1.6;
	}
#wrapper {
	width: 100%;
	margin: 0 auto;
	position: relative;
	}
body > #wrapper {
	height: auto;
	}
.clearfix:after {
    visibility: hidden;
    display: block;
    content: " ";
    clear: both;
    height: 0;
    }

@media print {
	html,
	html body{overflow: visible !important;}
	}

/* アクセシビリティ */
.guidance {
	left:-999px;
	position:absolute;
	width:990px;
	}
img {max-width: 100%;height: auto;vertical-align: bottom;} /* レスポンシブ対応 */
img {
	vertical-align: bottom;
	box-shadow: #000 0 0 0; /* ロールオーバー対応 */
	}
img, x:-moz-any-link, x:default {
    box-shadow: #000 0 0 0; /* IE7対応 */
	}

/* リンク */
a:link    {color:#0066FF; text-decoration: none;}
a:visited {color:#0066FF; text-decoration: none;}
a:hover   {color:#0066FF; text-decoration: underline;}
a:active  {color:#0066FF; text-decoration: underline;}
.YuGothic {font-family: "Yu Gothic", "游ゴシック", YuGothic, "游ゴシック体", "ヒラギノ角ゴ Pro W3", "メイリオ", sans-serif;}
.mincho{
	/* font-family: "FOT-筑紫明朝 Pr6 L","TsukuMinPr6-L","ヒラギノ明朝 Pro W3","Hiragino Mincho Pro","TakaoEx明朝",TakaoExMincho,"MotoyaLCedar","Droid Sans Japanese","HGS明朝E","ipamin","ＭＳ Ｐ明朝",serif; */
	font-family: Georgia,游明朝,"Yu Mincho",YuMincho,"Hiragino Mincho ProN",HGS明朝E,メイリオ,Meiryo,serif;
	position: relative;
	font-weight: normal;
	}

/* CLEARFIX */
.container:after,
.row:after,
.col:after {content: "";display: table;clear: both;}

.container {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	position: relative;
	text-align: center;
	}

/* ブロック関係 */
.row {padding-bottom: 0em;}
.col {display: block;float: left;width: 100%;margin: 0 1%;line-height: 1.5;}
.col:first-child {margin-left: 0;}
.col:last-child {margin-right: 0;}

/* グリッドの設定 */
.span_1 {width: 6.25%;}
.span_2 {width: 15%;}
.span_3 {width: 23.5%;}
.span_4 {width: 32%;}
.span_5 {width: 40.5%;}
.span_6 {width: 49%;}
.span_7 {width: 57.5%;}
.span_8 {width: 66%;}
.span_9 {width: 74.5%;}
.span_10 {width: 83%;}
.span_11 {width: 91.5%;}
.span_12 {width: 100%;}

.pc {display: block;}
.sp,#sp_nav {display: none;}

.menu_fixed {
	position: fixed;
	width: 100%;
	height: 100%;
	}

/* タイトル */
#site_title {
	overflow: hidden;
	text-align: center;
	}
	#site_title img{
		width: 110px;
		}
h1.title {
	display: inline-block;
	font-size: 22px;
	font-weight: normal;
	text-align: center;
	overflow: hidden;
	padding-left: 30px;
	margin: 35px 0 30px;
	position: relative;
	}
	h1.title:before{
		content: "";
		background: url(../img/restaurant/symbol_icon.png) no-repeat center/100%;
		width: 17px;
		height: 20px;
		position: absolute;
		top: 6px;
		left: 0;
		}
.bg_title{
	background: #FAF7F7;
	font-size: 30px;
	font-weight: normal;
	text-align: center;
	padding: 40px 0;
    font-family: arial, sans-serif;
	}
	.bg_title span{
		display: block;
		font-size: 14px;
		text-align: center;
		}
	.bg_title.no_ruby{
		font-size: 26px;
		}
h2.title02{
	text-align: center;
	font-size: 30px;
	font-weight: normal;
	font-family: arial, sans-serif;
	margin: 0 0 40px;
	}
h2.title_bLeft{
	background: #FAF7F7;
	border-left: 4px solid #A25E5E;
	font-size: 24px;
	font-weight: normal;
	font-family: arial, sans-serif;
	padding: 15px 0 15px 15px;
	margin: 0 0 40px;
	}
	h2.title_bLeft span{
		font-size: 13px;
		color: #B1A9A9;
		padding-left: 15px;
		}
.title_square{
	margin: 0 0 20px;
	}
	.title_square:before{
		content: "■";
		color: #A25E5E;
		}


/* ▼▼▼ ヘッダー
=====================================*/
header {
	width: 100%;
	}
.header_inner{
	position: relative;
	padding: 15px 0 15px;
	background: #fff;
	z-index: 99999;
	}
	/* .menu{
		display: none;
		} */

#screen{
    display: none;
    background: rgba(0,0,0,0.6);
    width: 100vw;
    height: 100vh;
    position: fixed;
    top: 0;
    left: 0;
    z-index: 1000;
}
/* 会員情報 */
.member_info{
	width: 100%;
	background: #4D4747;
	color: #fff;
	overflow: hidden;
	margin: 0 0 15px;
	}
	.member_info ul{
		float: right;
		}
	.member_info li{
		display: table-cell;
		padding: 0 10px;
		font-size: 12px;
		position: relative;
		}
		.member_info li:first-child{
			background: #A29047;
			padding: 0 10px 0 20px;
			}
		.member_info li:first-child:before{
			content: "";
			background: url(../img/premium.png) no-repeat center/100%;
			width: 10px;
			height: 10px;
			position: absolute;
			top: 6.5px;
			left: 7px;
			}
	.member_info li span{
		font-size: 14px;
		padding-left: 5px;
		}
	.member_info li span.name{
		padding: 0 5px 0 0;
		}

/* 言語切り替え */
.language{
	position: absolute;
    top: 15px;
    right: 100px;
    z-index: 99999;
	}
	.language > div{
		text-align: center;
		cursor: pointer;
		padding: 0 0 10px;
		}
	.language > div:hover{
		opacity: 0.6;
		}
	.language img{
		width: 28px;
		}
	.language p{
		text-align: center;
		font-size: 11px;
		margin: 5px 0 0;
		}
	.language ul{
		position: absolute;
		top: auto;
	    left: -20px;
	    display: none;
		}
	.language:hover ul{
		display: block;
		}
	.language ul li{
		background: #f9f7f7;
		border-bottom: 1px solid #ccc;
		font-size: 14px;
		}
	.language ul li:hover{
		background: #4D474A;
		}
	.language ul li:hover a{
		color: #fff;
		}
	.language ul li:last-child{
		border-bottom: 0px none;
		}
	.language ul li a{
		display: block;
		color: #000;
		text-decoration: none;
		padding: 5px 15px;
		}


/* マイページ */
.mypage{
	position: absolute;
	top: 35px;
	right: 30px;
	font-size: 11px;
    z-index: 99999;
	}
	.mypage img{
		width: 28px;
		}
	.mypage > div{
		text-align: center;
		cursor: pointer;
		padding: 0 0 10px;
		}
	.mypage > div:hover{
		opacity: 0.6;
		}
	.mypage p{
		margin: 5px 0 0;
		}
	.mypage ul{
		position: absolute;
		top: auto;
	    right: -20px;
	    display: none;
        width: 90px;
		}
	.mypage:hover ul{
		display: block;
		}
	.mypage ul li{
		background: #f9f7f7;
		border-bottom: 1px solid #ccc;
		font-size: 14px;
		}
	.mypage ul li:hover{
		background: #4D474A;
		}
	.mypage ul li:hover a{
		color: #fff;
		}
	.mypage ul li:last-child{
		border-bottom: 0px none;
		}
	.mypage ul li a{
		display: block;
		color: #000;
		text-decoration: none;
		padding: 5px 15px;
		}



/* グローバルナビゲーション */
/* #gnav {
	overflow: hidden;
	border-top: 1px solid #ccc;
	border-bottom: 1px solid #ccc;
	padding: 20px 0;
	}
    #gnav .gnav_top_wrap,
    #gnav .gnav_bnr_wrap,
    #gnav .gnav_btm_wrap{
        display: none;
    }
	#gnav ul.gnav_main {
        display: flex;
        justify-content: center;
		max-width: 960px;
		margin: 0 auto;
		font-size: 12px;
		}
	#gnav ul.gnav_main li {
		}
	#gnav ul.gnav_main li a {
		display: block;
		padding: 0 7px;
		color: #000;
		text-decoration: none;
		}
	#gnav ul.gnav_main li a:hover {
	    -ms-filter: "alpha(opacity=60)";
	    -moz-opacity:0.6;
	    -khtml-opacity: 0.6;
	    opacity: 0.6;
		} */

#gnav {
    display: block!important;
    -webkit-transition: .5s ease-in-out;
    -moz-transition: .5s ease-in-out;
    transition: .5s ease-in-out;
    float: none;
    width: 100%;
    max-width: 412px;
    max-height: 100vh;
    padding: 74px 0 30px;
    margin: 0;
    background: #fff;
    position: absolute;
    top: -1000px;
    right: 0;
    z-index: 1000;
    overflow: auto;
    border-top: 0px none;
    border-bottom: 0px none;
    }
#gnav.open {
    -moz-transform: translateY(1000px);
    -webkit-transform: translateY(1000px);
    transform: translateY(1000px);
    }
#gnav .gnav_top_wrap{
    display: block;
    padding: 15px 25px;
    background: #FBF1F2;
}
#gnav .gnav_top_wrap .gnav_member_block{
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}
#gnav .gnav_top_wrap .gnav_member_block .gnav_member_img{
    flex: 0 0 67px;
    width: 67px;
    max-width: 67px;
    margin-right: 18px;
}
#gnav .gnav_top_wrap .gnav_member_block .gnav_member_txt h3{
    font-size: 14px;
    text-align: center;
}
#gnav .gnav_top_wrap .gnav_member_block .gnav_member_txt p{
    font-size: 13px;
    text-align: center;
}
#gnav .gnav_top_wrap .gnav_member_block .gnav_member_txt a{
    color: #000;
}
#gnav .gnav_top_wrap a.gnav_member_link{
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 100%;
    max-width: 285px;
    height: 40px;
    background: #fff;
    margin: 20px auto 0;
    padding-right: 20px;
    box-sizing: border-box;
    border-radius: 20px;
    color: #000;
    font-size: 14px;
    position: relative;
}
#gnav .gnav_top_wrap a.gnav_member_link::before{
    content: '';
    width: 24px;
    height: 17px;
    background: url(../img/icon_menu_member.svg) no-repeat left center;
}
#gnav .gnav_top_wrap a.gnav_member_link::after{
    content: '';
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    box-sizing: border-box;
    position: absolute;
    top: calc(50% - 5px);
    right: 15px;
    transform: rotate(45deg);
}

#gnav ul.gnav_main {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    row-gap: 14px;
    padding: 14px 0;
    font-size:12px;
    line-height: 1.2;
}
#gnav ul.gnav_main li {

}
#gnav ul.gnav_main li a {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    height: calc(45px + 2.4em);
    padding: 40px 0 5px;
    box-sizing: border-box;
    color: #000;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center top 6px;
}
#gnav ul.gnav_main li:not(:nth-of-type(3n)) a{
    border-right: 1px dotted #999;
}
#gnav ul.gnav_main li.gnav_item_shopsearch a{
    background-image: url(../img/icon_menu_shop.svg);
}
#gnav ul.gnav_main li.gnav_item_floor a{
    background-image: url(../img/icon_menu_floor.svg);
}
#gnav ul.gnav_main li.gnav_item_rest a{
    background-image: url(../img/icon_menu_rest.svg);
}
#gnav ul.gnav_main li.gnav_item_shopnews a{
    background-image: url(../img/icon_menu_shopnews.svg);
}
#gnav ul.gnav_main li.gnav_item_event a{
    background-image: url(../img/icon_menu_event.svg);
}
#gnav ul.gnav_main li.gnav_item_workshop a{
    background-image: url(../img/icon_menu_workshop.svg);
}
#gnav ul.gnav_main li.gnav_item_service a{
    background-image: url(../img/icon_menu_service.svg);
}
#gnav ul.gnav_main li.gnav_item_access a{
    background-image: url(../img/icon_menu_access.svg);
}
#gnav ul.gnav_main li.gnav_item_faq a{
    background-image: url(../img/icon_menu_faq.svg);
}
#gnav ul.gnav_main li.gnav_item_recruit a{
    background-image: url(../img/icon_menu_recruit.svg);
}
#gnav ul.gnav_main li a:hover {
    text-decoration: none;
    opacity: 1;
}
#gnav .gnav_bnr_wrap{
    display: block;
    padding: 0 25px;
}
#gnav .gnav_btm_wrap{
    display: block;
    padding: 20px 25px 0;
}
#gnav .gnav_btm_list{
    display: flex;
    column-gap: 20px;
    row-gap: 14px;
    flex-wrap: wrap;
}
#gnav .gnav_btm_list li a{
    display: block;
    padding-left: 20px;
    color: #000;
    position: relative;
}
#gnav .gnav_btm_list li a::before{
    content: '';
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    box-sizing: border-box;
    position: absolute;
    top: calc(50% - 5px);
    left: -2px;
    transform: rotate(45deg);
}

/* メニューボタン */
.menu {
    display: block;
    width: 55px;
    height: 72px;
    position: absolute;
    top: 1px;
    right: 24px;
    z-index: 2000;
    color: #fff;
    text-align: center;
    }
.menu .icon {
    display: block;
    position: absolute;
    top: 21px;
    right: 17px;
    width: 30px;
    height: 15px;
    background: #000;
    border-top: 6px solid #fff;
    border-bottom: 7px solid #fff;
    -moz-box-sizing: border-box;
    -webkit-box-sizing: border-box;
    box-sizing: border-box;
    -moz-transition: all 0.3s;
    -webkit-transition: all 0.3s;
    transition: all 0.3s;
    text-indent: -9999px;
    }
.menu .icon:before {
    content:'';
    position:absolute;
    width:30px;
    height:2px;
    background:#000;
    top:-9px;
    right:0;
    -moz-transition:all 0.3s;
    -webkit-transition:all 0.3s;
    transition:all 0.3s;
    }
.menu .icon:after {
    content:'';
    position:absolute;
    width:30px;
    height:2px;
    background:#000;
    bottom:-9px;
    right:0;
    -moz-transition:all 0.3s;
    -webkit-transition:all 0.3s;
    transition:all 0.3s;
    }
.menu .icon.active {
    background:#fff;
    }
.menu span.active:before {
    -moz-transform:rotate(-135deg);
    -webkit-transform:rotate(-135deg);
    transform:rotate(-135deg);
    top:0;
    right:0;
    }
.menu .icon.active:after {
    -moz-transform:rotate(135deg);
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
    bottom:0;
    right:0;
    }
.menu .m_neme{
    color: #000;
    text-align: center;
    position: absolute;
    bottom: 8px;
    right: 5px;
    width: 100%;
    font-size: 11px;
    }

/* 日付 */
small.date{
	display: block;
	font-size: 12px;
	color: #999;
	}

/* ▼▼▼ メイン 「コンテンツとサイドを囲む要素」
=====================================*/
#main {
	margin: 0 auto;
	clear: both;
	overflow: hidden;
	text-align: center;
	}
#main a{
	color: #000;
	text-decoration: none;
	}
	#main a:hover{
		opacity: 0.6;
		}
section{
	padding: 50px 0 60px;
	}
.more_btn{
	display: table;
	text-align: center;
	min-width: 200px;
	font-size: 14px;
	height: 50px;
	margin: 0 auto;
	position: relative;
	}
#main .more_btn a{
	display: table-cell;
	vertical-align: middle;
	text-decoration: none;
	background: #000;
	color: #fff;
	}
	.more_btn:after{
		content: "\f105";
		font-family: FontAwesome;
		position: absolute;
		top: 10px;
		right: 20px;
		font-size: 20px;
		color: #fff;
		}
.more_btn_l{
	display: table;
	text-align: center;
	min-width: 240px;
	font-size: 14px;
	height: 50px;
	margin: 0 auto;
	position: relative;
	}
#main .more_btn a{
	display: table-cell;
	vertical-align: middle;
	text-decoration: none;
	background: #000;
	color: #fff;
	text-align: center;
	}
	.more_btn:after{
		content: "\f105";
		font-family: FontAwesome;
		position: absolute;
		top: 10px;
		right: 20px;
		font-size: 20px;
		color: #fff;
		}
.btn_2{
	display: inline-block;
	text-align: center;
	}
	.btn_2 .more_btn{
		float: left;
		}
	.btn_2 .more_btn:first-child{
		margin-right: 20px;
		}


/* MIO APP */
.app_area{
	max-width: 790px;
	overflow: hidden;
	margin: 0 auto;
	}
.photo_box{
	float: left;
	width: 146px;
	margin-right: 65px;
	}
.app_area .txt_box p:first-child{
	font-size: 20px;
	margin: 0 0 30px;
	}
.app_area .txt_box p:nth-child(2){
	margin: 0 0 20px;
	}
.app_area .txt_box p:nth-child(3){
	font-size: 14px;
	margin: 0 0 10px;
	}
.app_link li{
	float: left;
	margin-right: 20px;
	}
.app_link img{
	width: 147px;
	}

/* ▼ other */
#other{
	border-top: 1px solid #ccc;
	}
#other > ul{
	overflow: hidden;
	}
	#other > ul > li{
		text-align: center;
		float: left;
		width: 50%;
	    padding: 0 40px;
		}
	#other > ul > li:first-child{
		border-right: 1px solid #ccc;
		}
	#other .more_btn{
		margin-top: 40px;
		}
#other .card{
}
	#other .card p.photo{
		text-align: center;
		margin: 0 0 10px;
	}
	#other .card p.txt{
		text-align: center;
		margin: 0 0 30px;
	}
	#other .card ul.price{
		display: flex;
	}
	#other .card ul.price li{
		width: 50%;
		text-align: center;
	}
	#other .card p{
		text-align: center;
	}
	#other .card .price_txt{
		display: inline-block;
		color: #DE8398;
		font-size: 14px;
		font-weight: bold;
		position: relative;
	}
	#other .card .price_txt::before,
	#other .card .price_txt::after{
		content: "";
		display: inline-block;
		border-left: 1px solid #DE8398;
		height: 20px;
		position: absolute;
		top: 50%;
	}
	#other .card .price_txt::before{
		transform: translateY(-50%)rotate(-30deg);
		left: -10px;
	}
	#other .card .price_txt::after{
		transform: translateY(-50%)rotate(30deg);
		right: -10px;
	}
	#other .card .price_txt span{
		font-size: 21px;
	}
	#other .card .price_txt small{
		font-size: 11px;
	}


#other .photo_box {
	float: left;
	width: 146px;
	margin-right: 50px;
	}
	#other .app_link{
		width: 53%;
		float: right;
	    margin: 5px 0 0px;
		}
	#other .app_link li{
		width: 48%;
	    float: left;
	    margin: 0;
		}
	#other .app_link li:first-child{
		margin-right: 2%;
		}

/* Follow Us! ページ内*/
#inner_follow{
	padding: 0 20px;
	overflow: hidden;
	background: #F5F5F5;
	border-radius: 5px;
    font-size: 0;
    text-align: center;
    padding: 10px 0;
	}
#inner_follow h2.title02{
	display: inline-block;
	float: left;
	font-size: 28px;
	margin: 0;
	}
#inner_follow ul{
	display: inline-block;
	overflow: hidden;
	}
#inner_follow ul li{
	display: inline-block;
	vertical-align: middle;
	}
#inner_follow ul li:not(:last-child){
	margin-right: 15px;
	}
#inner_follow img{
	width: 30px;
	}

/* Follow Us! フッター上*/
#follow{
	background: #FAF7F7;
	padding: 20px 0;
	overflow: hidden;
	}
#follow h2.title02{
	display: inline-block;
	float: left;
	margin: 0;
	}
#follow ul{
	display: inline-block;
	overflow: hidden;
	}
#follow ul li{
	float: left;
	}
#follow ul li:not(last-child){
	margin-right: 20px;
	}
#follow ul li:first-child{
	margin-right: 30px;
	}
#follow img{
	width: 45px;
	}


/* ショップ詳細共通 */
.floor{
	color: #aaa;
	margin: 0 0 5px;
	}
.shop_name{
	font-size: 22px;
	line-height: 1.3;
	margin: 0 0 10px;
	}
.shop_name small{
	display: block;
	font-size: 16px;
	font-weight: normal;
	}
.tel-moji.bg{
	display: block;
	background: #000;
	text-align: center;
	color: #fff;
	font-size: 18px;
    text-indent: 1em;
	position: relative;
	padding: 3px 0;
	width: 170px;
	}
.tel-moji.bg:before{
	content: "";
	background: url(../img/tel_icon.png) no-repeat center/100%;
	position: absolute;
	width: 14px;
	height: 18px;
	top: 9px;
    left: 15px;
	}

/* フッター上共通　コンタクト */
#other_contact{
	background: #EDE8DF;
    padding: 20px;
	}
	#other_contact .desc_txt{
		font-size: 16px;
		text-align: center;
		}
	#other_contact .tel_box{
		background: #000;
		color: #fff;
		font-size: 24px;
		font-weight: bold;
		text-align: center;
		padding: 15px 0;
		margin: 15px auto;
		width: 100%;
		max-width: 400px;
		}
	#main #other_contact .tel-moji a{
		color: #fff;
		}

/* カウントリスト　SERVIS・club・・・ */
.counter li{
	text-indent: -1.5em;
	padding-left: 1.5em;
	}
	.counter li span{
		padding-right: 0.5em;
		}
/* グレーバック */
.bg_txt {
	background: #F7F7F7;
	border-radius: 10px;
	padding: 30px 20px;
	}

#sp_btm{
    display: none;
}
/* ▼▼▼ フッター
=====================================*/
footer {
	width: 100%;
	background: #4D4747;
	padding: 45px 20px;
	clear: both;
	overflow: hidden;
	}
#footer_inner {
	max-width: 1000px;
	margin: 0 auto;
	overflow: hidden;
	}
.fnav{
	overflow: hidden;
	margin: 0 0 50px;
	}
.fnav ul{
	float: left;
	width: 50%;
	font-size: 14px;
	}
.fnav ul li{
	float: left;
	width: 50%;
	margin: 0 0 20px;
	}
.fnav ul li a{
	color: #fff;
	}
.fnav ul + p{
	font-size: 12px;
	color: #fff;
	}

/* ▼ ページ上部へ戻る */
.pagetop {
	position: fixed;
	bottom: 20px;
	right: 20px;
	z-index: 2000;
	width: 50px;
	height: 50px;
	cursor: pointer;
	background:  rgba(111,105,105,0.8);
    color: #fff;
	}
.pagetop:before{
	content: "\f106";
    font-family: FontAwesome;
    font-size: 30px;
	position: absolute;
	left: 15px;
	}

/* ▼ コピーライト */
#copyright {
	font-size: 12px;
	color: #fff;
	}



/* ▼▼▼ 1024px
=====================================*/
@media screen and (max-width: 1024px) {
.container{
	padding: 0 20px;
	}
#other .app_link{
	width: 50%;
	}
}

/* ▼▼▼ 480px〜768px
=====================================*/
@media screen and (max-width: 768px) {

#wrapper {width: 100%;}
#screen {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background-color:rgba(0,0,0,0.8);
	z-index: 200;
	}
.span_1,.span_2,.span_3,.span_4,.span_5,.span_6,.span_7,.span_8,.span_9,.span_10,.span_11,.span_12{width: 100%;}
.col {margin: 0;}

.pc {display: none;}
.sp {display: block;}

section{
	padding: 30px 0 40px;
	}

/* タイトル */
#site_title {
	overflow: hidden;
	text-align: left;
	padding: 13px;
	}
	#site_title img{
		width: 77px;
		}
h1.title {
	display: inline-block;
	font-size: 22px;
	font-weight: normal;
	text-align: center;
	overflow: hidden;
	padding-left: 30px;
	margin: 35px 0 30px;
	position: relative;
	}
	h1.title:before{
		content: "";
		background: url(../img/restaurant/symbol_icon.png) no-repeat center/100%;
		width: 17px;
		height: 20px;
		position: absolute;
		top: 6px;
		left: 0;
		}
.bg_title{
	padding: 20px 0;
	}
	.bg_title.no_ruby{
		font-size: 22px;
		}

h2.title02{
	font-size: 30px;
	margin: 0 0 20px;
	}
h2.title_bLeft{
	border-left: 3px solid #A25E5E;
	font-size: 20px;
	font-weight: normal;
	font-family: arial, sans-serif;
	padding: 10px 0 10px 10px;
	margin: 0 0 25px;
	}
	h2.title_bLeft span{
		font-size: 11px;
		padding-left: 15px;
		}
.title_bLeft.open_sp{
	position: relative;
	}
	.title_bLeft.open_sp{
		margin-bottom: 0px;
		transition: .3s ease-out;
		-webkit-transition: .3s ease-out:
		}
	.title_bLeft.open_sp.close{
		margin-bottom: 25px;
		transition: .3s ease-out;
		-webkit-transition: .3s ease-out:
		}
	.title_bLeft.open_sp:before{
		content: "";
		background: #000;
		border-radius: 10px;
		width: 16px;
		height: 2px;
		position: absolute;
		top: 50%;
		right: 20px;
		transform:rotate(90deg);
		-webkit-transform:rotate(90deg);
		}
	.title_bLeft.open_sp.close:before{
		display: none;
		}
	.title_bLeft.open_sp:after{
		content: "";
		background: #000;
		border-radius: 10px;
		width: 16px;
		height: 2px;
		position: absolute;
		top: 50%;
		right: 20px;
		}

/* ▼▼▼ ヘッダー
=====================================*/
body.wrap {overflow: hidden;}

header {
	width: 100%;
	padding: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	overflow: visible;
	}

.header_inner {
	width: 100%;
	height: 58px;
	background: #fff;
	border-bottom: 1px solid #ccc;
    padding: 0;
	position: fixed;
	top: 0;
	left: 0;
	z-index: 99999;
	}
/* 会員情報 */
.member_info{
	margin: 0;
	}
	.member_info ul{
		float: none;
		position: relative;
		}
	.member_info li{
		font-size: 10px;
		height: 19px;
		line-height: 19px;
		}
		.member_info li:first-child:before{
			content: "";
			background: url(../img/premium.png) no-repeat center/100%;
			width: 10px;
			height: 10px;
			position: absolute;
			top: 4px;
			left: 7px;
			}
			.member_info li:nth-child(-n + 2){
				float: left;
				}
			.member_info li:nth-child(3),
			.member_info li:nth-child(4){
				position: absolute;
				top: 0;
				right: 0;
				}
			.member_info li:nth-child(3){
				right: 25%;
				}
	.member_info li span{
		font-size: 12px;
		padding-left: 5px;
		}
	.member_info li span.name{
		padding: 0 5px 0 0;
		}

/* 言語切り替え */
.language{
	position: absolute;
    top: 6px;
    right: 65px;
    z-index: 99999;
	}
	.language > div{
		text-align: center;
		cursor: pointer;
	    padding: 0 0 1px;
	    }
	.language p{
		text-align: center;
		font-size: 11px;
		margin: 5px 0 0;
		}
	.language ul{
		position: absolute;
	    left: -17px;
	    display: none;
		}
	.language:hover ul{
		display: none;
		}
	.language ul li{
		font-size: 12px;
		}
	.language ul li a{
		padding: 10px 15px;
		}

/* マイページ */
.mypage{
	position: absolute;
	top: 25px;
	right: 65px;
	}
	.mypage > div{
		text-align: center;
		cursor: pointer;
	    padding: 0 0 1px;
	    }
	.mypage p{
		text-align: center;
		font-size: 11px;
		margin: 5px 0 0;
		}
	.mypage ul{
		position: absolute;
	    left: -17px;
	    display: none;
	    width: 80px;
		}
	.mypage:hover ul{
		display: none;
		}
	.mypage ul li{
		font-size: 12px;
		}
	.mypage ul li a{
		padding: 10px 15px;
		}

/* グローバルナビゲーション */
#gnav{
    padding: 58px 0 100px;
}
/* メニューボタン */
.menu {
    right: 0;
    height: 55px;
}
.menu .icon {
    top: 11px;
}
.menu .m_neme{
    bottom: 0;
}
/* #gnav {
	display: block!important;
	-webkit-transition: .5s ease-in-out;
	-moz-transition: .5s ease-in-out;
	transition: .5s ease-in-out;
	float: none;
	width: 100%;
	max-height: 100vh;
	padding: 58px 0 100px;
	margin: 0;
    background: #fff;
	position: absolute;
	top: -1000px;
	left: 0;
	z-index: 1000;
	overflow: auto;
	border-top: 0px none;
    border-bottom: 0px none;
	}
#gnav.open {
	-moz-transform: translateY(1000px);
	-webkit-transform: translateY(1000px);
	transform: translateY(1000px);
	}
#gnav .gnav_top_wrap{
    display: block;
    padding: 15px 25px;
    background: #FBF1F2;
}
#gnav .gnav_top_wrap .gnav_member_block{
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
}
#gnav .gnav_top_wrap .gnav_member_block .gnav_member_img{
    flex: 0 0 67px;
    width: 67px;
    max-width: 67px;
    margin-right: 18px;
}
#gnav .gnav_top_wrap .gnav_member_block .gnav_member_txt h3{
    font-size: 14px;
    text-align: center;
}
#gnav .gnav_top_wrap .gnav_member_block .gnav_member_txt p{
    font-size: 13px;
    text-align: center;
}
#gnav .gnav_top_wrap .gnav_member_block .gnav_member_txt a{
    color: #000;
}
#gnav .gnav_top_wrap a.gnav_member_link{
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    width: 100%;
    max-width: 285px;
    height: 40px;
    background: #fff;
    margin: 20px auto 0;
    padding-right: 20px;
    box-sizing: border-box;
    border-radius: 20px;
    color: #000;
    font-size: 14px;
    position: relative;
}
#gnav .gnav_top_wrap a.gnav_member_link::before{
    content: '';
    width: 24px;
    height: 17px;
    background: url(../img/icon_menu_member.svg) no-repeat left center;
}
#gnav .gnav_top_wrap a.gnav_member_link::after{
    content: '';
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    box-sizing: border-box;
    position: absolute;
    top: calc(50% - 5px);
    right: 15px;
    transform: rotate(45deg);
}

#gnav ul.gnav_main {
    display: grid;
    grid-template-columns: repeat(3,1fr);
    row-gap: 14px;
    padding: 14px 0;
	font-size:12px;
    line-height: 1.2;
}
#gnav ul.gnav_main li {

}
#gnav ul.gnav_main li a {
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    height: calc(45px + 2.4em);
    padding: 40px 0 5px;
    box-sizing: border-box;
    text-align: center;
    background-repeat: no-repeat;
    background-position: center top 6px;
}
#gnav ul.gnav_main li:not(:nth-of-type(3n)) a{
    border-right: 1px dotted #999;
}
#gnav ul.gnav_main li.gnav_item_shopsearch a{
    background-image: url(../img/icon_menu_shop.svg);
}
#gnav ul.gnav_main li.gnav_item_floor a{
    background-image: url(../img/icon_menu_floor.svg);
}
#gnav ul.gnav_main li.gnav_item_shopnews a{
    background-image: url(../img/icon_menu_shopnews.svg);
}
#gnav ul.gnav_main li.gnav_item_event a{
    background-image: url(../img/icon_menu_event.svg);
}
#gnav ul.gnav_main li.gnav_item_workshop a{
    background-image: url(../img/icon_menu_workshop.svg);
}
#gnav ul.gnav_main li.gnav_item_service a{
    background-image: url(../img/icon_menu_service.svg);
}
#gnav ul.gnav_main li.gnav_item_access a{
    background-image: url(../img/icon_menu_access.svg);
}
#gnav ul.gnav_main li.gnav_item_faq a{
    background-image: url(../img/icon_menu_faq.svg);
}
#gnav ul.gnav_main li.gnav_item_recruit a{
    background-image: url(../img/icon_menu_recruit.svg);
}
#gnav ul.gnav_main li a:hover {
    text-decoration: none;
    opacity: 1;
}
#gnav .gnav_bnr_wrap{
    display: block;
    padding: 0 25px;
}
#gnav .gnav_btm_wrap{
    display: block;
    padding: 20px 25px 0;
}
#gnav .gnav_btm_list{
    display: flex;
    column-gap: 20px;
    row-gap: 14px;
    flex-wrap: wrap;
}
#gnav .gnav_btm_list li a{
    display: block;
    padding-left: 20px;
    color: #000;
    position: relative;
}
#gnav .gnav_btm_list li a::before{
    content: '';
    width: 8px;
    height: 8px;
    border-top: 1px solid #000;
    border-right: 1px solid #000;
    box-sizing: border-box;
    position: absolute;
    top: calc(50% - 5px);
    left: -2px;
    transform: rotate(45deg);
}

/* メニューボタン */
/* .menu {
	display: block;
    width: 55px;
    height: 55px;
    background: #fff;
    position: absolute;
    top: 1px;
    right: 0;
    z-index: 2000;
    color: #fff;
    text-align: center;
	}
.menu .icon {
	display: block;
	position: absolute;
	top: 11px;
	right: 17px;
	width: 30px;
	height: 15px;
	background: #000;
	border-top: 6px solid #fff;
	border-bottom: 7px solid #fff;
	-moz-box-sizing: border-box;
	-webkit-box-sizing: border-box;
	box-sizing: border-box;
	-moz-transition: all 0.3s;
	-webkit-transition: all 0.3s;
	transition: all 0.3s;
	text-indent: -9999px;
	}
.menu .icon:before {
    content:'';
    position:absolute;
    width:30px;
    height:2px;
    background:#000;
    top:-9px;
    right:0;
    -moz-transition:all 0.3s;
    -webkit-transition:all 0.3s;
    transition:all 0.3s;
	}
.menu .icon:after {
    content:'';
    position:absolute;
    width:30px;
    height:2px;
    background:#000;
    bottom:-9px;
    right:0;
    -moz-transition:all 0.3s;
    -webkit-transition:all 0.3s;
    transition:all 0.3s;
	}
.menu .icon.active {
    background:#fff;
	}
.menu span.active:before {
    -moz-transform:rotate(-135deg);
    -webkit-transform:rotate(-135deg);
    transform:rotate(-135deg);
    top:0;
    right:0;
	}
.menu .icon.active:after {
    -moz-transform:rotate(135deg);
    -webkit-transform:rotate(135deg);
    transform:rotate(135deg);
    bottom:0;
    right:0;
	}
.menu .m_neme{
	color: #000;
	text-align: center;
	position: absolute;
	bottom: 0;
	right: 5px;
	width: 100%;
	font-size: 11px;
	} */ */

/* ▼▼▼ メイン 「コンテンツとサイドを囲む要素」
=====================================*/
body{
	font-size: 13px;
	}
#header_inner,
#main,#contents,#side,
footer,#footer_inner {
	float: none;
	width: 100%;
	}
#main {
    margin-top: 58px;
    }

/* ボタン */
.btn_2{
	display: inline-block;
	text-align: center;
	}
	.btn_2 .more_btn{
		float: none;
		}
	.btn_2 .more_btn:first-child{
		margin-right: 0;
		margin-bottom: 20px;
		}

/* MIO APP */
.app_area{
	max-width: 90%;
	}
.photo_box,
#other .photo_box{
	float: left;
	width: 35%;
	margin-right: 8%;
	}
.app_area .txt_box{
	padding: 20px 0;
	}
.app_area .txt_box p:first-child{
	font-size: 16px;
	margin: 0 0 30px;
	}
.app_area .txt_box p:nth-child(2){
	margin: 0 0 20px;
	}
.app_area .txt_box p:nth-child(3){
	font-size: 12px;
	margin: 0 0 10px;
	}
.app_area .txt_box + p{
	clear: both;
	margin: 0 0 10px;
	}
.app_link{
    overflow: hidden;
	margin: 0 0 40px;
	}
.app_link li{
	float: left;
	width: 48%;
	margin-right: 0;
	}
.app_link li:nth-child(2){
	float: right;
	}
.app_link img{
	width: 147px;
	}

/* ▼ other */
#other{
	}
	#other > ul{
		overflow: hidden;
		padding: 0;
		}
	#other > ul > li{
		float: none;
		width: 100%;
	    padding: 0 20px;
		}
	#other > ul > li:first-child{
		border-right: 0px none;
		border-bottom: 1px solid #ccc;
		}
	#other .app_link{
		width: 100%;
		}

/* カード */
#other .card {
	padding-bottom: 50px;
	margin-bottom: 40px;
	}
	#other .card p.txt{
		float: none;
		font-size: 16px;
		margin: 0 0 20px;
		}
	#other .card ul.price{
		margin: 0 0 20px;
	}
	#other .card ul.price li{
		width: 100%;
	}
	#other .card p.photo{
		width: 80%;
		margin: 0 auto;
	}
	#other .card p{
		text-align: center;
	}
	#other .card .price_txt{
		display: inline-block;
		color: #DE8398;
		font-size: 12px;
		font-weight: bold;
		position: relative;
	}
	#other .card .price_txt::before,
	#other .card .price_txt::after{
		content: "";
		display: inline-block;
		border-left: 1px solid #DE8398;
		height: 15px;
		position: absolute;
		top: 50%;
	}
	#other .card .price_txt::before{
		transform: translateY(-50%)rotate(-25deg);
		left: -8px;
	}
	#other .card .price_txt::after{
		transform: translateY(-50%)rotate(25deg);
		right: -8px;
	}
	#other .card .price_txt span{
		font-size: 16px;
	}
	#other .card .price_txt small{
		font-size: 10px;
	}


/* Follow Us! ページ内*/
#follow ul li{
	margin-right: 20px;
	}
	#follow ul li:last-child{
		margin-right: 0;
		}
#inner_follow ul li:first-child{
	display: none;
	}

/* Follow Us! フッター上*/
#follow img{
	width: 43px;
	}

/* ショップ詳細共通 */
.floor{
	color: #aaa;
	margin: 0 0 5px;
	}
.shop_name{
	font-size: 18px;
	line-height: 1.3;
	margin: 0 0 10px;
	}
.shop_name small{
	display: block;
	font-size: 11px;
	font-weight: normal;
	}
.tel-moji.bg{
	background: #000;
	text-align: center;
	color: #fff;
	font-size: 11px;
    text-indent: 1em;
	position: relative;
	padding: 3px 0;
	width: 100px;
	}
.tel-moji.bg a{
	color: #fff!important;
	display: block;
	}
.tel-moji.bg:before{
	content: "";
	background: url(../img/tel_icon.png) no-repeat center/100%;
	position: absolute;
	width: 7px;
	height: 9px;
	top: 7px;
	left: 7px;
	}

/* フッター上共通　コンタクト */
#other_contact .tel_box{
	max-width: 280px;
	}
	#other_contact .desc_txt{
		font-size: 14px;
		}


#sp_btm{
    display: block;
    width: 100%;
    position: fixed;
    left: 0;
    bottom: 0;
    z-index: 900;
}
#sp_btm .sp_btm_nav{
    display: grid;
    grid-template-columns: repeat(4,1fr);
    background: #fff;
}
#sp_btm .sp_btm_nav li a{
    display: block;
    padding: 8px 0;
    color: #000;
    font-size: 10px;
    line-height: 1.2;
}
#sp_btm .sp_btm_nav li a span{
    display: flex;
    justify-content: center;
    align-items: center;
    align-content: center;
    height: calc(30px + 2.4em);
    padding: 30px 0 0;
    background-repeat: no-repeat;
    background-position: center top;
    text-align: center;
}
#sp_btm .sp_btm_nav li:not(:last-child) a span{
    border-right: 1px dotted #999;
}
#sp_btm .sp_btm_nav li.sp_btm_item_access a span{
    background-image: url(../img/icon_menu_access.svg);
    background-size: 21px;
}
#sp_btm .sp_btm_nav li.sp_btm_item_shopsearch a span{
    background-image: url(../img/icon_menu_shop.svg);
    background-size: 22.66px;
}
#sp_btm .sp_btm_nav li.sp_btm_item_floor a span{
    background-image: url(../img/icon_menu_floor.svg);
    background-size: 23.44px;
}
#sp_btm .sp_btm_nav li.sp_btm_item_event a span{
    background-image: url(../img/icon_menu_event.svg);
    background-size: 16.46px;
}

/* ▼▼▼ フッター
=====================================*/

footer {
	padding: 40px 20px 85px;
	}
#footer_inner {
	margin: 0 auto;
	overflow: hidden;
	}
.fnav{
	overflow: hidden;
	margin: 0 0 50px;
	}
.fnav ul{
	float: none;
	width: 100%;
	font-size: 14px;
	margin-bottom: 50px;
	overflow: hidden;
	}
.fnav ul li{
	margin: 0 0 20px;
	}
	.fnav ul li:last-child{
		margin: 0;
		}
.fnav ul li a{
	color: #fff;
	}
.fnav ul + p{
	font-size: 12px;
	clear: both;
	}

/* ▼ ページ上部へ戻る */
.pagetop {
	width: 50px;
	height: 50px;
    bottom: 90px;
	}
.pagetop:before{
    font-size: 30px;
	left: 15px;
	}
}
/* ▼▼▼ 340px
=====================================*/
@media screen and (max-width: 340px) {
.member_info li span{
	font-size: 9px;
    padding-left: 1px;
	}
.title_bLeft.open_sp{
	font-size: 18px;
	}
}

/* ブランドサイトリンク */
.img-container.to_brand {
	position: relative;
}
.img-container.to_brand:before {
	content: "アイテム詳細情報あり";
	font-size: 12px;
	text-align: center;
	display: block;
	background-color: #A25E5E;
	color: #fff;
	padding: 4px;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	box-sizing: border-box;
}
/* ▼▼▼ 768px
=====================================*/
@media screen and (max-width: 768px) {
	.img-container.to_brand:before {
		font-size: 10px;
	}
}


