﻿@charset "UTF-8";

/* ▼▼▼ ショップガイド
=====================================*/
section.container{
	padding: 50px 20px 0;
	}



/* ▼▼▼ ショップ詳細
=====================================*/
/* ショップ情報 */
.detail #shop_info{
	max-width: 1000px;
	margin: 50px auto 0;
	padding: 0 20px;
	}

.detail .info{
	overflow: hidden;
	}
	.detail .info .main_img{
		float: left;
		margin-right: 40px;
		width: 460px;
		height: 280px;
		}
	.detail .info .main_img img{
		width: 100%;
		}

	.detail .info .txt_area {
		display: table;
		}
	.detail .txt_area  > ul{
		overflow: hidden;
		margin: 0 0 25px
		}
	.detail .txt_area  > ul li{
		display: inline-block;
		}
	.detail .txt_area  > ul li:nth-child(2){
		width: 54%;
		}
	.detail .txt_area .shop_logo{
		border: 1px solid #ccc;
		padding: 20px;
		float: left;
		margin-right: 20px;
		}
	.detail .txt_area .img-container{
		display: block;
		width: 148px;
		height: 83px;
		}
	.detail #shop_info .container{
		padding: 0;
		}

.detail .txt_area .takeout_btn{
	display: block;
	background: #B90E16;
	text-align: center;
	color: #fff;
	font-size: 14px;
	text-indent: 1em;
	position: relative;
	padding: 7px 0 5px;
	margin-top: 10px;
	width: 170px;
}
	.detail .txt_area .takeout_btn::before {
		content: "";
		background: url(../img/shop/takeout_icon.png) no-repeat center/contain;
		position: absolute;
		width: 20px;
		height: 24px;
		top: 5px;
		left: 13px;
	}

/* campaign キャンペーン */
.detail .campaign_list{
	overflow: hidden;
	}
	.detail .campaign_list li{
		border-top: 1px solid #ccc;
		border-bottom: 1px solid #ccc;
		float: left;
		font-size: 14px;
		width: 48%;
		}
	.detail .campaign_list li:nth-child(odd){
		margin-right: 2%;
		}
	.detail .campaign_list li a{
		display: block;
		position: relative;
		padding: 10px 0;
		}
	.detail .campaign_list li a:after{
		font-family: "FontAwesome";
		content: "\f105";
		font-size: 20px;
		position: absolute;
		top: 15px;
		right: 10px;
		}


.staff_other .shop_article{
    width: 22%;
    margin-right: 4%;
    margin-bottom: 40px;
    float: left;
}
.staff_other .shop_article:nth-of-type(4n){
    margin-right: 0;
}
.staff_other .main_image{
    border: 1px solid #ccc;
    width: 100%;
    padding-top: 100%;
}
.staff_other .main_image img{
    display: none;
}

.more_button{
	clear: both;
	display: table;
	text-align: center;
	max-width: 200px;
	width: 100%;
	margin: 0 auto;
	font-size: 14px;
	padding-top: 30px;
}
.more_button a{
	display: table-cell;
	vertical-align: middle;
	width: 100%;
	padding: 0;
	line-height: 1.3;
	text-decoration: none;
	background: #000;
	height: 50px;
	color: #fff!important;
	position: relative;
}
.more_button a::after{
	content: "";
	width: 6px;
  height: 6px;
  border: 1px solid;
  border-color: #fff #fff transparent transparent;
  transform: rotate(45deg);
	position: absolute;
	top: 20px;
	right: 12px;
}
.more_button.back a{
	background: #B4B4B4;
	letter-spacing: -.02em;
}

/* New Item　新着情報 */
.detail .menu_list{
	overflow: hidden;
	margin: 0 auto 40px;
	}
	.detail .menu_list li{
		float: left;
		width: 32%;
		}
	.detail .menu_list li:hover{
		opacity: 0.6;
		}
	.detail .menu_list li .img-container{
		width: 310px;
		height: 310px;
		}
	.detail .menu_list li:not(:nth-child(3n)){
		margin-right: 2%;
		}
	.detail .menu_list li:not(:nth-child(n + 7)){
		margin-bottom: 2%;
		}

/* Message　お店からひとこと */
.detail .message_box{
	overflow: hidden;
	}
	.detail .message_box .message_photo{
		float: left;
		margin-right: 30px;
		width: 485px;
		height: 293px;
		}

/* Shop Info 基本データ */
.detail table.shop_data {
	width: 100%;
	}

	.detail table.shop_data tr:first-child th,
	.detail table.shop_data tr:first-child td{
		border-top: 1px dotted #ccc;
		}
	.detail table.shop_data th{
		width: 156px;
	}
	.detail table.shop_data th,
	.detail table.shop_data td{
		border-bottom: 1px dotted #ccc;
		padding: 20px 0;
		position: relative;
		word-break: break-all;
		}
	.detail table.shop_data td span{
		line-height: 30px;
		width: 135px;
		margin-left: 20px;
		text-indent: 25px;
		position: absolute;
		top: 17px;
		}
	.detail table.shop_data td span a:before{
		content: "";
		background: url(../img/floor_icon.png) no-repeat center/100%;
		width: 16px;
		height: 16px;
		position: absolute;
		top: 7px;
		left: 7px;
		}
	.detail table.shop_data td span a{
		display: block;
		background: #000;
		color: #fff!important;
		}

/* #other_page */
.detail #other_page{
	padding-bottom: 60px;
	}
.detail .other_list{
	display: flex;
	justify-content: space-between;
	margin: 0 0 40px;
	}
	.detail .other_list li{
		border: 1px solid #ccc;
		cursor: pointer;
		}
	.detail .other_list li:hover{
		opacity: 0.6;
		}
	.detail .other_list li a{
		display: block;
		padding: 15px;
		}
	.detail .other_list .img-container{
		width: 198px;
		height: 110px;
		}

/* ▼▼▼ MIOインフォメーションカウンター
=====================================*/
.txt_area > p:not(:nth-of-type(1)){
	margin-top: 20px;
	}
.txt01,
#main .txt01 a{
	color: #A25E5E;
	}
	#main #info_counter{
		margin-bottom: 60px;
		}
	#main #info_counter .txt01 a{
		text-decoration: underline;
		}
	#main #info_counter .txt01 a:hover{
		text-decoration: none;
		}
#info_counter h2.title_bLeft + p{
	margin-bottom: 60px;
	}
.info_list li:not(:last-child){
	border-bottom: 1px dotted #ccc;
	padding: 0 0 40px;
    margin: 0 0 40px;
	}

/*================================================================================================*/

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

section.container{
	padding: 50px 20px 0;
	}
.detail .menu_list li .img-container{
	width: 308px;
	height: 308px;
	}
}

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


/* ▼▼▼ ショップ詳細
=====================================*/
/* ショップ情報 */
.detail #shop_info{
	max-width: 1000px;
	margin: 0 auto;
	padding: 0;
	}

.detail .info{
	overflow: hidden;
	}
	.detail .info .main_img{
		float: none;
		width: 100vw;
		height: 60.8vw;
		margin-right: 0;
		margin-bottom: 30px;
		}
	.detail .txt_area {
		padding: 0 20px;
		}
	.detail .txt_area  > ul{
		overflow: hidden;
		margin: 0 0 20px
		}
	.detail .txt_area  > ul li{
		overflow: hidden;
		}
	.detail .txt_area  > ul li:nth-child(2){
	    width: 64%;
		}
	.detail .txt_area .shop_logo{
		border: 1px solid #ccc;
		padding: 15px;
		float: left;
		margin-right: 4%;
		}
	.detail .txt_area .img-container{
		display: block;
		width: 68px;
		height: 34px;
		}
	.detail #shop_info .container{
		padding: 0 20px;
		}

/* Grand_menu */
.detail .menu_list{
	overflow: hidden;
	}
.detail .menu_list li .img-container{
    width: 29vw;
    height: 29vw;
	}

/* Information */
.detail #campaign.container{
	padding: 30px 20px 0;
	}
	.detail .campaign_list{
		overflow: hidden;
		}
	.detail .campaign_list li{
		float: none;
		font-size: 14px;
		width: 100%;
		}
	.detail .campaign_list li:nth-child(odd){
		margin: 0;
		border-bottom: 0px none;
		}

/* staff_other */
.staff_other .shop_article,
.staff_other .shop_article:nth-of-type(4n){
    width: 48%;
    margin-right: 4%;
    margin-bottom: 20px;
    font-size: 12px;
    float: left;
}
.staff_other .shop_article:nth-of-type(2n){
    margin-right: 0;
}

/* Message　お店からひとこと */
.detail .message_box{
	overflow: hidden;
	}
	.detail .message_box .message_photo{
		float: none;
		margin: 0 0 20px;
		width: 90.3vw;
		height: 55vw;
		}

/* Shop Info 基本データ */
.detail table.shop_data {
	width: 100%;
	}
	.detail table.shop_data tr:first-child th,
	.detail table.shop_data tr:first-child td{
		border-top: 1px dotted #ccc;
		}
		.detail table.shop_data th {
			width: 17%;
		}
	.detail table.shop_data th,
	.detail table.shop_data td{
		border-bottom: 1px dotted #ccc;
		padding: 20px 0;
		position: relative;
		}
	.detail table.shop_data td span{
		line-height: 23px;
		width: 95px;
		margin-left: 20px;
		text-indent: 20px;
		font-size: 11px;
		position: absolute;
		top: 17px;
		}
	.detail table.shop_data td span a:before{
		content: "";
		background: url(../img/floor_icon.png) no-repeat center/100%;
		width: 10px;
		height: 10px;
		position: absolute;
		top: 6px;
		left: 7px;
		}
	.detail table.shop_data td span a{
		display: block;
		background: #000;
		color: #fff!important;
		}

	.detail .txt_area .icon_wrap{
		display: flex;
		flex-wrap: wrap;
		margin-top: -5px;
		overflow: hidden;
	}
		.detail .txt_area .icon_wrap > p{
			width: 48%!important;
			min-width: 100px!important;
			flex-shrink: 0;
			margin: 5px 2% 0 0;
		}
		.detail .txt_area .takeout_btn{
			font-size: 10px;
			padding: 4px 0 2px;
		}
		.detail .txt_area .takeout_btn::before {
			width: 10px;
			top: -0.5px;
			left: 5px;
		}


/* #other_page */
.detail #other_page{
	padding-bottom: 60px;
	}
	.detail #other_page h2.title_bLeft{
		font-size: 13px;
		}
	.detail .other_list{
		display: flex;
		justify-content: space-between;
		flex-wrap: wrap;
		margin: 0 0 40px;
		}
	.detail .other_list li{
		border: 1px solid #ccc;
		cursor: pointer;
		width: 43vw;
		}
	.detail .other_list li:nth-child(-n + 2){
		margin-bottom: 15px;
		}
	.detail .other_list li:hover{
		opacity: 0.6;
		}
	.detail .other_list .img-container{
		width: 35vw;
		height: 19vw;
		}
/* ▼▼▼ MIOインフォメーションカウンター
=====================================*/
.txt_area > p:not(:nth-of-type(1)){
	margin-top: 20px;
	}
#main #info_counter{
	margin-bottom: 30px;
	}
#info_counter h2.title_bLeft + p{
	margin-bottom: 30px;
	}
.info_list li:not(:last-child){
	border-bottom: 1px dotted #ccc;
	padding: 0 0 30px;
    margin: 0 0 30px;
	}

}
/* ▼▼▼ 340px
=====================================*/
@media screen and (max-width: 340px) {
.detail .txt_area > ul li:nth-child(2) {
    width: 60%;
	}
}
