/* 店舗一覧 */
dl.search {
	margin: 0 auto;
}

.e_list {
	margin-bottom: 40px;
}

.e_list>li {
	display: flex;
	justify-content: space-between;
	margin-bottom: 30px;
	border: 10px solid #FBD8A4;
	padding: 20px;
}

.eatery .e_list>li {
	border: none;
	padding: 0;
}

.page_view,
.page_view p,
.page_view div {
	text-align: center;
}

.side {
	width: 360px;
}

.side .label {
	display: flex;
	justify-content: space-between;
	flex-wrap: wrap;
}

.side .label p {
	background: #FBD8A4;
	width: 30%;
	text-align: center;
}

.side .img_box {
	margin-top: 10px;
}

.side .img_box img {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 auto;
	margin-bottom: 15px;
}

.side .main_img {
	margin-top: 20px;
}

.side .main_img img {
	width: 100%;
	min-width: 100%;
}

.side .sub_area {
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
}

.side .sub_area:after {
	content: "";
	display: inline-block;
	width: 30%;
}

#shop_data .image {
	display: block;
	width: 100%;
	max-width: 100%;
	margin: 0 0 15px;
}

/* トップメニュー */
#top_menu {
	display: flex;
	justify-content: space-between;
	margin-bottom: 25px;
	height: 40px;
}

#top_menu li {
	flex-grow: 1;
	text-align: center;
	font-size: 15px;
	display: table;
	padding: 0 3%;
}

#top_menu li a {
	margin: 0 5px;
	transiiton: .3s;
	position: relative;
	color: #fff;
	font-size: 9px;
	width: 40px;
	height: 40px;
	display: table-cell;
	vertical-align: bottom;
	font-weight: bold;
	white-space: nowrap;
}

#top_menu li a.to_detail {
	vertical-align: middle;
	width: 80px;
}

#top_menu li a.to_detail:hover {
	background: #F7A241;
}

@media all and (-webkit-min-device-pixel-ratio:0) and (min-resolution: .001dpcm) {
	#top_menu li a:not(.to_detail) {
		left: -7px;
	}
}

@-moz-document url-prefix() {
	#top_menu li a:not(.to_detail) {
		left: 0;
	}
}

#top_menu li:not(:last-of-type):before {
	content: "";
	background: url(../parts/icon_e_top.png) no-repeat;
	width: 40px;
	height: 40px;
	position: absolute;
	background-size: contain;
}

#top_menu li:nth-child(2):before {
	background: url(../parts/icon_e_course.png) no-repeat;
	background-size: contain;
}

#top_menu li:nth-child(3):before {
	background: url(../parts/icon_e_course.png) no-repeat;
	background-size: contain;
}

#top_menu li:nth-child(4):before {
	background: url(../parts/icon_e_menu.png) no-repeat;
	background-size: contain;
}

#top_menu li:nth-child(5):before {
	background: url(../parts/icon_e_coupon.png) no-repeat;
	background-size: contain;
}

#top_menu li:nth-child(6):before {
	background: url(../parts/icon_e_komi.png) no-repeat;
	background-size: contain;
}

#top_menu li:nth-child(7):before {
	background: url(../parts/icon_e_share.png) no-repeat;
	background-size: contain;
}

#top_menu li+li {
	border-left: 1px solid #000000;
}

#top_menu .to_detail {
	float: none;
	font-size: 14px;
	padding: 0px 10px;
}

/* カレンダー */
.calendar {
	width: 300px;
	margin: 0 auto;
}

.calendar .calendar_description {
	color: rgb(0, 107, 246);
	text-align: center;
	font-weight: bold;
}

.calendar table {
	width: 100%;
	padding: 0 6px;
}

.calendar tr {
	background: #fff;
}

.calendar th,
.calendar td {
	text-align: center;
	font-weight: bold;
	background: rgb(223, 253, 255);
}

.calendar td {
	height: 48px;
	cursor: pointer;
}

.calendar td span,
.calendar td a {
	display: block;
	color: #F62E00;
}

.calendar dt,
.calendar ul {
	background: rgb(0, 211, 248);
	color: #fff;
	text-align: center;
	padding: 6px 0;
	font-weight: bold;
}

.calendar dt {
	display: flex;
	justify-content: space-around;
	align-items: center;
	font-size: 25px;
}

.calendar dt a {
	color: #fff;
}

.img_box+.calendar dt {
	font-size: 20px;
}

.img_box+.calendar dt button.next,
.img_box+.calendar dt button.prev {
	font-size: 21px;
	font-weight: bold;
}

.img_box+.calendar td {
	font-size: 15px;
	font-weight: normal;
	background: #fff;
	cursor: default;
}

/*店舗詳細ページのカレンダーのみ色を変更する*/
.eatery_calendar,
.eatery_calendar ul,
.eatery_calendar dt,
.eatery_calendar dd table {
	background: rgb(0, 211, 248);
}

.eatery_calendar .calendar_description {
	color: rgb(0, 107, 246);
}

.eatery_calendar table th {
	background: rgb(223, 253, 255);
}

.e_info {
	width: calc(100% - 410px);
}

.e_info div.sub {
	font-size: 17px;
}

.e_list h2 {
	width: 100%;
	margin-bottom: 15px;
}

.e_list h2 a {
	color: #931C00;
}

.e_info dl {
	margin: 15px 0 15px;
	width: 100%;
	overflow: hidden;
}

.e_info dl .e_info_detail_item,
.course dl .e_info_detail_item {
	display: flex;
	flex-wrap: wrap;
}

.e_info_detail_item+.e_info_detail_item {
	margin-top: 15px;
}

.e_info_detail_item dt {
	color: #F62E00;
	font-weight: bold;
	background: #FDE9D2;
	width: 50%;
	padding: 5px 15px;
	border-radius: 5px;
	display: flex;
	align-items: center;
}

.e_info_detail_item dd,
.e_info .e_info_detail_item>div {
	width: 70%;
	padding-left: 10px;
	overflow: hidden;
	display: flex;
	flex-wrap: wrap;
	align-content: center;
}

.e_info_detail_item dd {
	width: 50%;
}

.e_info_detail_item dd.course_menu {
	display: block;
}

.e_info_detail_item dd.course_menu div {
	margin-bottom: 3px;
}

.station+dd {
	display: block;
}

.post_movie .explanation dt,
.change_password form dt,
.change_detail form dt,
.forgot_password form dt,
.member_register form dt {
	color: #F62E00;
	font-weight: bold;
	background: #FDE9D2;
	width: 250px;
	padding: 5px 20px;
	margin: 0 10px 10px 0;
	border-radius: 5px;
	text-align: center;
	float: left;
}

.post_movie .explanation dd,
.change_password form dd,
.change_detail form dd,
.forgot_password form dd,
.member_register form dd {
	margin: 0 0 35px 10px;
	overflow: hidden;
}

.e_info dd a {
	text-indent: 0;
	width: auto;
	height: auto;
	line-height: 15px;
	padding: 5px 5px;
	display: flex;
	line-height: 1.5rem;
}

.e_info dd a:before {
	content: url("../parts/icon_arrow.svg");
	color: #FE840F;
	font-weight: bold;
	margin-right: 5px;
	vertical-align: sub;
}

.e_info dd a:hover {
	background: #FDE9D2;
}

.e_info dd p+a {
	margin-top: 5px;
}

a.tel {
	font-weight: bold;
}

.e_info dd a.tel::before {
	content: none;
}

ul.payment {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	align-content: flex-start;
}

ul.payment li {
	margin-right: 5px;
}

ul.payment li img {
	width: 50px;
}

p.other_payment {
	width: 100%;
	margin-top: 3px;
}

a.map {
	display: inline-block;
	background: #4AC595;
	color: #fff;
	padding: 3px 30px;
	font-size: 17px;
	font-weight: bold;
	border-radius: 7px;
	margin: 0 0 0px;
}

a.map:hover {
	background: #8AC54A;
}

a.to_detail,
button.determine,
.forgot_password button[type="submit"],
button#clear,
button.cancel,
.member_register button[type="button"] {
	display: inline-block;
	background: #F62E00;
	color: #fff;
	padding: 3px 30px;
	font-size: 17px;
	font-weight: bold;
	border-radius: 7px;
	float: right;
	margin: 0 0 40px;
}

a.to_detail:hover,
button.determine:hover,
.forgot_password button[type="sumbit"] .member_register button[type="submit"]:hover {
	background: #F7A241;
}

a.to_detail {
	margin-bottom: 0;
}

div.map {
	clear: both;
	margin: 30px 0 0;
}

div.map iframe {
	width: 100%;
	height: 300px;
}

#shop_logo {
	display: block;
	max-height: 100px;
}

.e_footer {
	margin-top: 30px;
	display: flex;
	justify-content: space-around;
}

.e_footer>div {
	width: 30%;
}

/* 動画 */
#movie {
	position: relative;
	padding-bottom: 56.25%;
	/*アスペクト比 16:9の場合の縦幅*/
	height: 0;
	overflow: hidden;
	width: 100%;
	margin-bottom: 20px;
}

#movie iframe {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

/* スライダー */
#slider-pro {
	margin-bottom: 20px;
}

/* コース */
.e_info h2 {
	position: relative;
	padding: 10px 0px 0 0;
	line-height: 30px;
}

h2 button,
.s_menu dl button {
	font-size: 13px;
	border-radius: 15px 0px;
	background: #F76E41;
	color: #fff;
	position: absolute;
	padding: 10px 20px 10px 20px;
	right: 0px;
	top: 0px;
	font-weight: bold;
	transition: 0.3s;
}

h2 button:hover {
	background: #F74141;
}

.s_menu dl button {
	float: right;
}

h2 button,
.s_menu dl button {
	border-bottom: 3px solid #dbdbdb;
	border-right: 1px solid #dbdbdb;
}

h2 button:first-child,
.s_menu dl button {
	padding: 10px 40px 10px 40px;
}

h2 button:first-child {
	top: -36px;
	height: 43px;
	padding: 10px 35px 10px 35px;
}

h2 button:first-child:before,
.s_menu dl button:before {
	content: "";
	background: url(../parts/icon_good.svg) no-repeat;
	width: 23px;
	height: 23px;
	position: absolute;
	left: 12px;
	top: 8px;
	background-size: cover;
}

h2 button.good_button+span,
.s_menu dl button+span {
	position: absolute;
	top: -31px;
	right: 19px;
	display: block;
	color: #fff;
	font-weight: normal;
	font-size: 14px;
	cursor: pointer;
}

.course_list h2 button.good_button+span {
	right: 19px;
	top: -27px;
}

.s_menu dl button {
	padding: 15px 36px 19px 28px;
	right: 0;
	top: auto;
	bottom: 0;
}

.s_menu dl button:hover {
	background: #F74141;
}

.s_menu dl button:before {
	left: 10px;
	top: 5px;
}

.s_menu dl button+span {
	bottom: 6px;
	right: 12px;
	top: auto;
}

h2 button.already,
.s_menu dl button.already {
	pointer-events: none;
	background: #bbbbbb;
	cursor: normal;
}

a.none {
	background: #bbbbbb;
	cursor: default;
}

#top_menu li a.none:hover {
	background: #bbbbbb;
}

/* レビュー */
.show_review #main>h2 {
	background: #FBD8A4;
	padding: 10px 20px 0px;
}

.show_review .e_list>li {
	padding: 20px;
	margin-bottom: 0;
}

.show_review .e_info dt {
	font-size: 1.5em;
	font-weight: bold;
	margin-bottom: 15px;
}

.show_review .e_info dd {
	margin-bottom: 15px;
	padding-bottom: 15px;
	border-bottom: 3px double #8c8c8c;
	overflow: hidden;
}

.show_review .e_info dd:last-child {
	border: none;
}

.show_review .name,
.show_review .day {
	float: right;
	clear: right;
}

.show_review .name {
	font-size: 15px;
	font-weight: bold;
	margin-top: 25px;
}

.show_review .name span {
	font-size: 20px;
	display: inline-block;
	margin-left: 10px;
	margin-bottom: 15px;
}

.show_review .day {
	color: #F62E00;
	font-weight: bold;
	display: inline-block;
	margin: 0 0 10px;
	border-radius: 5px;
	text-align: center;
}

.show_review .r_txt {
	margin: 0 0 20px;
}

/* 項目アイコン */
.e_info h2.name:before {
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	background: url(../parts/icon_name.svg) no-repeat;
	background-size: contain;
	margin-right: 5px;
}

.e_info_detail_item dt:before {
	display: inline-block;
	content: "";
	width: 20px;
	height: 20px;
	background: url(../parts/icon_star.svg) no-repeat;
	background-size: contain;
	margin-right: 5px;

}

.e_info_detail_item dt.money:before {
	background: url(../parts/icon_money.svg) no-repeat;
}

.e_info_detail_item dt.option:before {
	background: url(../parts/icon_option.svg) no-repeat;
}

.e_info_detail_item dt.menu:before {
	background: url(../parts/icon_eat_menu.svg) no-repeat;
}

.e_info_detail_item dt.phone:before {
	background: url(../parts/icon_phone.svg) no-repeat;
}

.e_info_detail_item dt.seat:before {
	background: url(../parts/icon_seat.svg) no-repeat;
}

.e_info_detail_item dt.credit:before {
	background: url(../parts/icon_credit.svg) no-repeat;
}

.e_info_detail_item dt.sp:before {
	background: url(../parts/icon_sp.svg) no-repeat;
}

.e_info_detail_item dt.station:before {
	background: url(../parts/icon_station.svg) no-repeat;
}

.e_info_detail_item dt.clock:before {
	background: url(../parts/icon_clock.svg) no-repeat;
}

.e_info_detail_item dt.price:before {
	background: url(../parts/icon_price.svg) no-repeat;
}

.e_info_detail_item dt.reserve:before {
	background: url(../parts/icon_reserve.svg) no-repeat;
}

#sp_image {
	display: none;
}

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

	h2 button:first-child {
		padding: 0 40px;
	}

	#top_menu li a {
		line-height: inherit;
	}

	#top_menu li a:not(.to_detail) {
		left: -10px;
	}

}

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

	/* 店舗 */
	.e_list>li {
		display: flex;
		flex-wrap: wrap;
		padding: 10px;
	}

	#movie {
		order: 0;
	}

	.e_info {
		order: 2;
	}

	.side {
		order: 3;
	}

	.side,
	.e_info {
		width: 100%;
	}

	.side {
		display: block;
	}

	.side .label {
		width: 100%;
		margin-bottom: 15px;
	}

	.side .img_box {
		width: auto;
		margin-right: 10px;
	}

	.side .img_box .img_area {
		width: 100%;
	}

	.side .main_img {
		margin: 20px auto 0;
	}

	.side .main_img img {
		max-width: 500px;
	}

	.side .sub_area {}

	.side .sub_area li {
		width: 48%;
	}

	.side .calendar {
		width: 40%;
	}

	.calendar dt {
		font-size: 20px;
	}

	.calendar td {
		height: auto;
	}

	.img_box+.calendar {
		width: 100%;
		max-width: 450px;
	}

	div.map {
		margin: 20px 0 20px;
	}

	#shop_data {
		display: flex;
		flex-wrap: wrap;
	}

	#shop_data .img_area {
		order: 1;
	}

	#shop_data .img_area img {
		display: none;
	}

	/*#shop_data .img_area img:first-child{
			display:block;
		}*/
	.side .calendar {
		width: 80%;
	}

	/* トップメニュー */
	#top_menu {
		padding: 0 0 0px;
	}

	#top_menu li a:not(.to_detail) {
		left: -1px;
	}

	.e_footer {
		width: 100%;
		order: 5;
		flex-wrap: wrap;
	}

	.e_footer>div {
		width: auto;
	}

	/* いいねボタン */
	h2 button:first-child {
		padding: 0px 40px 0px 40px;
	}


}

@media screen and (min-width:600px) {
	a[href^="tel:"] {
		pointer-events: none;
		font-weight: normal;
	}
}

@media screen and (max-width:600px) {
	#main h1 {
		margin-bottom: 15px;
	}

	#top_menu {
		overflow-x: unset;
		display: flex;
		flex-wrap: wrap;
		height: auto;
	}

	#top_menu>li {
		padding: 0 0% 0;
		margin-bottom: 15px;
		border: none;
		display: flex;
		justify-content: center;
	}

	#top_menu li+li,
	#top_menu>li:nth-child(3n+1) {
		border: none;
	}

	#top_menu li:last-child,
	#top_menu li a.to_detail {
		margin: 0;
		padding: 0;
		width: 100%;
	}

	#top_menu li a.to_detail {
		display: flex !important;
		align-items: center;
	}

	#top_menu li>a {
		margin: 0;
		line-height: normal;
		height: 40px;
		display: flex;
		justify-content: center;
		align-items: flex-end;
		padding-bottom: 2px;
	}

	#top_menu li:last-child {
		margin-top: 5px;
		border: none;
	}

	#top_menu .to_detail {
		width: 100%;
		display: table-cell !important;
	}

	#top_menu li a:not(.to_detail) {
		left: 0;
		top: 3px;
	}

	/* 店名とメニュー固定 */
	#main .item_fixed {
		position: fixed;
		left: 0;
		z-index: 2;
		width: 100%;
	}

	#main h1.item_fixed {
		top: 0;
	}

	#main ul.item_fixed {
		background-color: #fff;
		margin: 0;
		padding: 15px 0 10px;
	}

	#main .item_fixed>li:last-child {
		width: 100%;
		position: fixed;
		top: auto;
		bottom: 0;
		left: 0;
		z-index: 2;
		padding: 0;
	}

	#main .item_fixed>li:last-child a {
		border-radius: unset;
	}

	/*店舗詳細、画像、カレンダーの表示順変更*/
	.e_list>li {
		display: flex;
		flex-flow: row wrap;
	}

	.img_area {
		order: 1;
	}

	.eatery_calendar {
		order: 2;
	}

	.e_info {
		order: 3;
	}

	/*e-info*/
	.e_info dl .e_info_detail_item {
		display: block;
	}

	.e_info_detail_item dt {
		width: 100%;
	}

	.e_info_detail_item dd {
		width: 100%;
		margin-top: 5px;
		padding-right: 10px;
	}

	/* いいねボタン */
	h2 button:first-child {
		top: -56px;
		right: 0px;
	}

	.course_list h2 button.good_button+span {
		right: 15px;
		top: -47px;
	}

	.order_day {
		width: 78%;
	}

	.order_day dl {
		width: 100% !important;
	}

	.e_footer>div {
		width: 300px;
	}
}

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

	.side .img_box,
	.side .calendar {
		width: 100%;
	}

	.img_box+.calendar dt {

		font-size: 17px;
		padding: 5px 10px;

	}

	.img_box+.calendar td {
		font-size: 12px;
	}

	.side .sub_area li {
		width: auto;
	}

	.order_day {
		width: 100%;
		margin-top: 15px !important;
	}

	h2 button:first-child {
		top: -35px;
	}

	.course_list h2 button.good_button+span {
		top: -30px;
	}

	#top_menu>li {
		min-width: auto;
		padding: 0 3px;
	}

	.post_movie .explanation dt,
	.change_password form dt,
	.change_detail form dt,
	.forgot_password form dt,
	.member_register form dt {
		float: none;
	}

	.post_movie .explanation dd,
	.change_password form dd,
	.change_detail form dd,
	.forgot_password form dd,
	.member_register form dd {
		margin: 0 0 35px;
	}
}

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

	#top_menu li a,
	#top_menu li:before {
		width: 35px;
		height: 35px;
		font-size: 8px;
	}

	#top_menu li a:not(.to_detail) {
		top: 8px;
	}
}