* { 
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}

body {
	position: relative;
	max-width: 1000px;
	margin: 0 auto;
	background-color: #fffcdb;
	font-family: sans-serif;
}

a {
	text-decoration: none;
}

.contents_block {
	width: 100%;
	position: relative;
	top: -6em;
	margin: 1em 0 2em;
}

.shop_item {
	width: 41.5%;
	margin: 2%;
}

@media screen and (max-width: 959px) {	/* 959px以下に適用されるCSS（タブレット用） */
	
	.contents_block {
		top: 0;
	}

	.shop_item {
		width: 95%;
	}

}

#main_visual {
	width: 100%;
}

.contents_title {
	margin-bottom: 1em;
	width: 418px;
	max-width: 100%;
}

.container {
	display: flex;
	flex-wrap: wrap;
	margin: 0 auto;
	justify-content: center;
}

.index_container {
	display: flex;
	flex-wrap: wrap;
	justify-content: start;
}

.index_container li {
	margin-left: 2em;
	padding-left: 1em;
	list-style-type: none;
	background: url("../img/shop_list_style.svg") no-repeat left center / 0.5em;
	white-space: nowrap;
}

.notice_item {
	width: 98%;
	margin: 0.5em 2%;
	padding-left: 1em;
	background: url("../img/shop_list_style.svg") no-repeat left top 0.5em / 0.5em;
}

.notice_item .date {
	font-weight: bold;
	color: #804e21;
}

.notice_item .date + span {
	color: gray;
	margin: 0 0.5em;
}

.notice_item img {
	vertical-align: text-top;
}

.shop_item {
	max-width: 100%;
	margin: 1.7em auto 0;
}

.shop_item .shop_pic {
	display: block;
	position: relative;
	width: 416px;
	max-width: 100%;
	height: 312px;
	margin: 0 auto;
	padding: 0;
}

.shop_item .shop_pic > img {
	max-width: 100%;
	height: 312px;
	vertical-align: bottom;
}

.shop_item .shop_pic .no_image {
	display: block;
	width: 416px;
	max-width: 100%;
	height: 312px;
	background: url("../img/shops/no_image.png");
}

.shop_item .shop_pic a .hp_icon {
	display: block;
	position: absolute;
	width: 122px;
	max-width: 122px;
	height: 39px;
	right: 0;
	bottom: 0;
}

.shop_item ul {
	margin-top: 0.5em;
}

.shop_item li {
	list-style-type: none;
}

.shop_item .coupon_shop {
	float: right;
	width: 80px;
	height: 57px;
}

.shop_item .coupon_shop .icon_coupon {
	display: none;
}

.shop_item .coupon_shop .icon_sale {
	display: none;
}

.shop_item .name {
	font-size: 1.75em;
	font-weight: bold;
}

.shop_item .category {
	font-size: 1.3em;
	background: repeat-x bottom/20px url("../img/cat_underline.png");
}

.shop_item .category_mini {
	font-size: 1.1em;
}

.shop_item .copy {
	color: #00007c;
	margin: 0.4em 0;
}

.shop_item .address {
}

.shop_item .address img {
	vertical-align: text-bottom;
}

.shop_item .address a {
	color: black;
	font-size: 1.5em;
}

.shop_item .tel {
	background-image: url("../img/tel_icon.png");
	background-repeat: no-repeat;
	background-size: 22px;
    background-position: left center;
	padding-left: 25px;
	font-size: 1.1em;
	font-weight: bold;
}

#footer {
	position: absolute;
	width: 100%;
	text-align: center;
	color: #54523b;
}

#footer img {
	width: 100%;
}