@charset "UTF-8";
/* shop
--------------------------- */
.mainCtsArea{
	background: url(../images/mainCtsBg.jpg) repeat-x;
	background-size: cover;
}
.shopArea {
	padding: 160px 0 50px;
	min-height: 800px;
	font-size:1.4rem;
}
.shopInner.cts{
	width: 900px;
	position:relative;
}
.shopInner.cts::before{
	content: '';
	background: url(../images/bg_shop.png) no-repeat;
	background-size: 100%;
	width: 290px;
	height: 330px;
	position: absolute;
	top: 0;
	right: -60px;
	z-index: -1;
}
.shopTit {
	width: 205px;
	margin: 0 auto;
}
.shopTit span{
	letter-spacing: 0.3rem;
	position: relative;
	text-align: center;
	display: block;
	margin: 20px 0 0 0;
	font-weight: 600;
	color: #ba905d;
	font-size: 1.4rem;
}
.shopTit span:before{
	content: '';
	width: 60px;
	height: 1px;
	position: absolute;
	top: -15px;
	left: 50%;
	margin: 0 0 0 -30px;
	border-top: 1px solid #ba905d;
}
.shopSubtit{
	margin: 50px 0 0;
	font-size: 2.6rem;
	color: #4b4338;
	text-align: center;
}
.shopSubtit_M{
	margin: 50px 0 0;
	font-size: 2.6rem;
	color: #4b4338;
	text-align: center;
}
@media screen and (max-width:767px){
	.shopArea {
		padding: 30px 20px 50px;
	}
	.shopTit {
		width: 50%;
	}
	.shopInner.cts{
		width: 100%;
	}
	.shopInner.cts::before{
		width: 175px;
		height: 200px;
		right: -30px;
	}
	.shopSubtit{
		font-size: 2.2rem;
	}
	.shopSubtit_M{
		font-size: 2.0rem;
		text-align: left;/*抹茶ボタン無しの場合は消去*/
		line-height: 2.5rem;
	}
}

#searchArea{
	margin: 30px 0 0;
}
#searchArea .notes{
	margin: 5px 0 0;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: right;
	color: #f00;
	line-height: 1.5;
}

.titIcoMap{
	margin: 0 0 10px;
	padding: 0 0 0 27px;
	font-size: 2.2rem;
	font-weight: bold;
	color: #4b4338;
	position: relative;
}
.titIcoMap::before{
	content:' ';
	width:21px;
	height:25px;
	background:url(../images/ico_pin.svg) center center no-repeat;
	background-size: 100%;
	position: absolute;
	top: 50%;
	left: 0;
	transform: translateY(-50%);
}
@media screen and (max-width:767px){
	.titIcoMap{
		padding: 0 0 0 25px;
		font-size: 2.0rem;
	}
	.titIcoMap::before{
		width:18px;
		height:22px;
	}
}


/* テーブル */
.tblshop{
	width:100%;
	border-collapse:collapse;
}
.tblshop th,
.tblshop td{
	padding:15px;
	line-height:160%;
	border-bottom:1px solid #edeceb;
}
.tblshop tr:last-child th,
.tblshop tr:last-child td{
	border-bottom:none;
}
.tblshop th{
	width:250px;
	font-weight:bold;
	background-color:#694133;
}
.tblshop td{
	background-color: #fff;
}
.tblshop th a{
	color: #fff;
	text-decoration: underline;
}
.tblshop th a:hover{
	text-decoration: none;
}
.listArea{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.listArea li{
	margin: 0 15px 0 0;
	padding: 0 15px 0 0;
	position: relative;
}
.listArea li::after{
	content:' ';
	display:block;
	width: 1px;
	height: 13px;
	background-color: #000;
	position: absolute;
	top: 50%;
	right: 0;
	transform: translateY(-50%);
}
.listArea li:last-child{
	margin: 0 0 0 0;
	padding: 0 0 0 0;
}
.listArea li:last-child::after{
	display: none;
}
.listArea li a{
	text-decoration: underline;
}
.listArea li a:hover{
	text-decoration: none;
}
@media screen and (max-width:667px){
	.tblshop{
		width:100%;
		border-top:none;
	}
	.tblshop tr{
		margin: 0 0 15px;
	}
	.tblshop tr:last-child{
		margin: 0 0 0;
	}
	.tblshop tr,.tblshop th,.tblshop td{
		display:block;
	}
	.tblshop th,.tblshop td{
		width:100%;
	}
	.tblshop th{
		min-width:auto;
		padding:10px;
		border-bottom:none;
	}
	.tblshop td{
		padding:10px 15px 15px;
		border-bottom:none;
	}
}


/* Mapボタン */
.btnMapArea{
	margin: 50px 0 0;
}
.btnMapArea a{
	display: block;
	padding: 60px 50px;
	background: url(../images/bg_btnMap_pc.png) top no-repeat;
	background-size: cover;
	position: relative;
	transition: opacity 0.3s;
}
.btnMapArea a:hover{
	opacity: 0.7;
}
.btnMapArea a .tit{
	display: block;
	margin: 0 0 0 85px;
}
.btnMapArea a .tit{
	font-size: 2.8rem;
	font-weight: bold;
	color: #fff;
}
.btnMapArea a .tit::before{
	content:' ';
	display: inline-block;
	width: 65px;
	height: 58px;
	background: url(../images/ico_map.svg) no-repeat;
	background-size: 100%;
	position: absolute;
	top: 50%;
	left: 50px;
	transform: translate(0, -50%);
}
.btnMapArea a .tit::after{
	content:' ';
	display: inline-block;
	width: 25px;
	height: 25px;
	background: url(../images/ico_arrow.svg) no-repeat;
	background-size: 100%;
	position: absolute;
	top: 50%;
	right: 50px;
	transform: translate(0, -50%);
}
.btnMapArea a .tit span{
	display: block;
	font-size: 1.6rem;
	color: #e2e2e2;
	line-height: 1.0;
}
@media screen and (max-width:767px){
	.btnMapArea{
		margin: 30px 0 0;
	}
	.btnMapArea a{
		padding: 40px 20px;
		background: url(../images/bg_btnMap_sp.png) center center no-repeat;
		background-size: cover;
	}
	.btnMapArea a .tit{
		margin: 0 0 0 50px;
	}
	.btnMapArea a .tit{
		font-size: 2.0rem;
	}
	.btnMapArea a .tit::before{
		width: 39px;
		height: 35px;
		left: 20px;
	}
	.btnMapArea a .tit::after{
		width: 18px;
		height: 18px;
		right: 15px;
	}
	.btnMapArea a .tit span{
		margin: 5px 0 0;
		font-size: 1.2rem;
	}
}


/* area
--------------------------- */
@media screen and (max-width:767px){
	.shopArea.shopDetail {
		padding: 60px 20px 50px;
	}
}


.titShopBgLogo{
	font-size: 2.6rem;
	font-weight: bold;
	color: #4b4338;
	text-align: center;
}
.titShopBgLogo span{
	position: relative;
}
.titShopBgLogo span::before{
	content:' ';
	width: 130px;
	height: 61px;
	background: url(../images/shopTit.png) no-repeat;
	background-size: 100%;
	position: absolute;
	top: -40px;
	left: -50px;
	transform: rotate(-20deg);
	z-index: -1;
}
@media screen and (max-width:767px){
	.titShopBgLogo{
		font-size: 2.2rem;
	}
	.titShopBgLogo span::before{
		width: 90px;
		height: 43px;
		top: -25px;
		left: -30px;
	}
}


/* ボタン */
.btnArea{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
	padding: 30px 0 0;
}
.btnArea a{
	display: inline-block;
	width: 280px;
	margin: 0 10px 0 0;
	padding: 19px;
	font-weight: bold;
	color: #694133;
	text-align: center;
	letter-spacing: 0.1rem;
	border: 1px solid #694133;
	position: relative;
}
.btnArea a:hover{
	color: #fff;
}
.btnArea a:last-of-type{
	margin: 0;
}
.btnArea a:before {
	content: '';
	background: #694133;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	transform-origin: left top;
	transform: scale(0, 1);
	transition: transform 0.3s;
}
.btnArea a:hover:before {
	transform-origin: right top;
	transform: scale(1, 1);
}
.btnArea a::after{
	content:' ';
	display:block;
	width:8px;
	height:8px;
	border-left:1px solid #694133;
	border-bottom:1px solid #694133;
	transform:translateY(-50%) rotate(45deg);
	position:absolute;
	top:50%;
	left:15px;
}
.btnArea a:hover::after{
	border-left:1px solid #fff;
	border-bottom:1px solid #fff;
}
.btnArea a.btnS{
	width: 160px;
	padding: 12px 15px;
	font-size: 1.2rem;
	text-align: right;
}
#btnSlctArea{
	padding: 0;
	position: absolute;
	top: -40px;
	right: 0;
}


@media screen and (max-width:767px){
	.btnArea{
		padding: 20px 0 0;
	}
	.btnArea a{
		width: 100%;
	}
	#btnSlctArea{
		padding: 20px 0 0;
		position: static;
	}
}


/* ボタン CREMIA抹茶が食べられるお店 */
.matchaBtnArea {
	position: relative;
}
.matchaBtnArea img {
	width: 160px;
	height: auto;
	position: absolute;
	right: 0;
	bottom:-60px;
	transition: opacity 0.3s;
}
.matchaBtnArea img:hover {
	opacity: 0.7;
}
@media screen and (max-width:767px){
		.matchaBtnArea img {
			width: 120px;
			height: auto;
			position: absolute;
			right: 0;
			bottom:-55px;
	}
}
/* 抹茶絞り込み操作エリア */
.btnNarrowDownArea {
	position:absolute;
	width:300px;
	right:0;
	top:110px;
}


/* 抹茶絞り込み操作ボタン */
.btnArea-matcha{
	display: -ms-flex;
	display: flex;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
	gap:10px;
}
.btnArea-matcha a{
	display:flex;
	align-items:center;      /* 縦中央 */
	min-height:50px;         /* 高さ揃える */
	padding:5px 15px;
	font-size: 1.2rem;
	font-weight:bold;
	color:#694133;
	letter-spacing:0.1rem;
	border:1px solid #694133;
	text-decoration:none;
	position:relative;
}
.btnArea-matcha a::after{
	content:' ';
	width:8px;
	height:8px;
	border-left:1px solid #694133;
	border-bottom:1px solid #694133;
	transform:translateY(-50%) rotate(-45deg);
	position:absolute;
	top:50%;
	right:12px;
}
@media screen and (max-width:767px){
	.btnArea-matcha{
		gap:15px;
	}
}

/* 抹茶のみ表示ボタン */
.btnArea-matcha a.btn-matcha{
	width:170px;
	justify-content:flex-start;
	text-align:left;
	color:#fff;
	background:#686f35;
	border:1px solid #ffffff;
}
.btnArea-matcha a.btn-matcha:hover{
	background:#575c32;
}
.btnArea-matcha a.btn-matcha::after{
	border-left:1px solid #ffffff;
	border-bottom:1px solid #ffffff;
}
@media screen and (max-width:767px){
	.btnArea-matcha a.btn-matcha{
		width: 50%;
	}
}

/* 全て表示ボタン */
.btnArea-matcha a.btn-all{
	width:120px;
	background:#ffffff;
}
.btnArea-matcha a.btn-all:hover{
	opacity: 0.7;
}
@media screen and (max-width:767px){
	.btnArea-matcha a.btn-all{
		width:50%;
		background:#ffffff;
		text-align:center;
		justify-content:center;
	}
}


@media screen and (max-width:767px){
	.btnNarrowDownArea {
		position:static;
		top:auto;
		right:auto;
		width: 100%;
	}
	
	#btnNarrowDown{
		padding: 20px 0 0;
		position: static;
	}	
	.btnArea-matcha{
		padding: 20px 0 0;
	}
	.btnArea-matcha a{
		width: 100%;
	}
}









/* 各エリアヘッダー注釈 */
.notesArea .notes{
	position: relative;
	margin: 30px 0 0 0;
	font-size: 1.2rem;
	font-weight: bold;
	text-align: left;
	color: #f00;
	line-height: 1.5;
	width: 580px;
}

@media screen and (max-width:767px){
	.notesArea .notes{
	text-align: left;
	width: auto;
	}
	/* スマホだけ順序入替え */
	.notesArea{
		display:flex;
		flex-direction:column;
	}
	.notes{
		order:2; 
	}
	.btnNarrowDownArea{
		order:1;
	}
}

/* ボタン 右矢印 */
.btnAreaRight {
	display: -ms-flex;
	display: flex;
	-ms-justify-content: center;
	justify-content: center;
	padding: 30px 0 0;
}
.btnAreaRight a{
	display: inline-block;
	width: 280px;
	margin: 0 10px 0 0;
	padding: 19px;
	font-weight: bold;
	color: #694133;
	text-align: center;
	letter-spacing: 0.1rem;
	border: 1px solid #694133;
	position: relative;
}
.btnAreaRight a:hover{
	color: #fff;
}
.btnAreaRight a:last-of-type{
	margin: 0;
}
.btnAreaRight a:after {
	content: '';
	background: #694133;
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: -1;
	transform-origin: left top;
	transform: scale(0, 1);
	transition: transform 0.3s;
}
.btnAreaRight a:hover:after {
	transform-origin: right top;
	transform: scale(1, 1);
}
.btnAreaRight a::after{
	content:' ';
	display:block;
	width:8px;
	height:8px;
	border-left:1px solid #694133;
	border-bottom:1px solid #694133;
	transform:translateY(-50%) rotate(45deg);
	position:absolute;
	top:50%;
	left:15px;
}
.btnAreaRight a:hover::after{
	border-left:1px solid #fff;
	border-bottom:1px solid #fff;
}
@media screen and (max-width:767px){
	.btnAreaRight{
		padding: 20px 0 0;
	}
	.btnAreaRight a{
		width: 100%;
	}
}



.listAreaOut{
	margin: 40px 0 0;
	text-align: center;
}

.listAreaOut.hanyou{
	margin: 40px 0px 40px 0px;
	text-align: center;
}

.listAreaOut .listArea{
	display: -ms-inline-flex;
	display: inline-flex;
}



@media screen and (max-width:767px){
	.listAreaOut{
		margin: 20px 0 0;
		/*text-align: left;*/
	}
}


.shopListAreaOut{
	margin: 20px 0 0;
}
.shopListArea{
	margin: 0 0 50px;
}
.shopListArea:last-child{
	margin: 0 0 0;
}
.shopListArea .tit{
	padding: 12px;
	font-size: 2.0rem;
	color: #fff;
	text-align: center;
	background-color: #a39d88;
}
.listShop{
	padding: 20px 25px;
	background-color: #fff;
	position: relative;
	z-index: 0;
}
.listShop > li{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-justify-content: space-between;
	justify-content: space-between;
	margin: 0 0 20px;
	padding: 0 0 20px;
	font-size: 1.5rem;
	font-weight: bold;
	color: #4b4338;
	border-bottom: 1px solid #e4e3e1;
}
.listShop > li:last-child{
	margin: 0 0 0;
	padding: 0 0 0;
	border-bottom: none;
}
.listShop > li .txtArea{
	width: calc(100% - 320px);
	margin: 0 30px 0 0;
}
.listShop > li .icoArea{
	width: 140px;
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-align-items: flex-start;
	align-items: flex-start;
	-ms-justify-content: flex-end;
	justify-content: flex-end;
}
.listShop > li .icoArea a{
	width: 140px;
	margin: 0 15px 0 0;
	transition: opacity 0.3s;
	pointer-events: none;
}
.listShop > li .icoArea a:hover{
	opacity: 0.7;
}
.listShop > li .shopName{
	font-size: 2.0rem;
}
.listShop > li .code::before{
	content: "〒";
}
.listShop > li .tel{
	margin: 5px 0 0;
}
.listShop > li .tel::before{
	content: "TEL";
	margin: 0 10px 0 0;
	padding: 3px 25px;
	font-size: 1.2rem;
	color: #fff;
	background-color: #4b4338;
	border-radius: 2px;
}
.listShop > li .notes{
	margin: 5px 0 0;
	font-size: 1.2rem;
	color: #f00f00;
	line-height: 1.5;
}




@media screen and (max-width:767px){
	.shopListAreaOut{
		margin: 15px 0 0;
	}
	.shopListArea{
		margin: 0 0 20px;
	}
	.shopListArea .tit{
		padding: 10px;
		font-size: 1.8rem;
	}
	.listShop{
		padding: 15px 15px;
	}
	.listShop > li{
		margin: 0 0 15px;
		padding: 0 0 15px;
	}
	.listShop > li .txtArea{
		width: calc(100% - 105px);
		margin: 0 0 15px 0;
	}
	.listShop > li .icoArea{
		width: 90px;
		margin: 0 0 0 15px;
	}
	.listShop > li .icoArea a{
		width: auto;
		margin: 0 0 10px 0;
		transition: opacity 0.3s;
	}
	.listShop > li .shopName{
		font-size: 1.8rem;
	}
		/* standardはtxtAreaを100%にする */
	.listShop > li[data-category="standard"] .txtArea{
		width:100%;
	}

	/* standardはアイコン非表示 */
	.listShop > li[data-category="standard"] .icoArea{
		display:none;
	}
}

/* リストボタン */
.listBtn{
	width: 150px;

}
.listBtn > li{
	margin: 0 0 10px;
}
.listBtn > li:last-child{
	margin: 0 0 0;
}
a.btnbase{
	display: block;
	padding: 10px 12px;
	font-size: 1.4rem;
	font-weight: bold;
	color: #694133;
	border: 1px solid #694133;
	position: relative;
	transition: color 0.3s, background-color 0.3s;
}
a.btnbase:hover {
	color: #fff;
	background-color: #694133;
}
a.btnbase:after{
	content: "";
	width: 6px;
	height: 6px;
	border-top: 1px solid #694133;
	border-right: 1px solid #694133;
	position: absolute;
	right: 12px;
	top: 50%;
	transform: rotate(45deg) translate(0, -50%);
}
a.btnbase:hover:after{
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
@media screen and (max-width:767px){
	.listBtn{
		width: 100%;
	}
}


/* gMap */
a.btnbase.gMap{
	color: #fff;
	border: 1px solid #3a69aa;
	background-color: #3a69aa;
}
a.btnbase.gMap:hover {
	color: #3a69aa;
	background-color: #fff;
}
a.btnbase.gMap:after{
	border-top: 1px solid #fff;
	border-right: 1px solid #fff;
}
a.btnbase.gMap:hover:after{
	border-top: 1px solid #3a69aa;
	border-right: 1px solid #3a69aa;
}


/* SNSボタン */
.listSns{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
}
.listSns li a{
	display: -ms-flex;
	display: flex;
	-ms-flex-wrap: wrap;
	flex-wrap: wrap;
	-ms-justify-content: center;
	justify-content: center;
	-ms-align-items: center;
	align-items: center;
	width: 38px;
	height: 38px;
	margin: 0 10px 0 0;
	background: #4b4338;
	transition: opacity 0.3s;
}
.listSns li:last-child a{
	margin: 0 0 0 0;
}
.listSns li a:hover{
	opacity: 0.7;
}
.listSns li a::before{
	content: "";
	display: block;
}
.listSns li a.fb::before{
	width: 12px;
	height: 22px;
	background: url(../images/ico_fb.svg) no-repeat;
	background-size: 100%;
}
.listSns li a.tw::before{
	width: 25px;
	height: 20px;
	background: url(../images/ico_tw.svg) no-repeat;
	background-size: 100%;
}
.listSns li a.inst::before{
	width: 22px;
	height: 22px;
	background: url(../images/ico_inst.svg) no-repeat;
	background-size: 100%;
}
.listSns li a.line::before{
	width: 25px;
	height: 24px;
	background: url(../images/ico_line.svg) no-repeat;
	background-size: 100%;
}



a.mapBtn{
	color: #fff;
	padding: 19px;
	position: relative;
	width: 50%;
	margin: 15px auto 0;
	letter-spacing: 0.3rem;
	transition: 0.3s;
	z-index: 0;
	display: block;
	text-align: center;
	background: #694133;
}
a.mapBtn:hover {
	color: #A78171;
}
@media screen and (max-width:767px){
	a.mapBtn {
		width: 100%;
	}
}
