@charset "utf-8";
#shop {
	width: 100%;
	height: auto;
	padding: 27px 0 0;
}
	.shop__page_heading__txt {
		width: 95.84px;
	}
	.shop__inner {
		width: 90%;
		max-width: 900px;
		height: auto;
		padding: 50px 0 115px;
		margin: 0 auto;
	}
		.shop__explanation {
			display: flex;
			justify-content: space-between;
			align-items: flex-start;
			width: 100%;
			height: auto;
			margin: 0 auto 50px;
		}
			.shop__explanation__details {
				flex: 1;
				height: auto;
			}
				.shop__explanation__details__area {
					width: 100%;
					height: auto;
					margin: 0 auto 6px;
					font-size: 12px;
					font-weight: 700;
					line-height: 1;
					letter-spacing: 0.04em;
				}
					.shop__explanation__details__area__wrap {
						display: inline-flex;
						align-items: center;
						width: auto;
						height: 22px;
						padding: 0 10px;
						border-radius: 11px;
						background-color: var(--color--red);
						color: var(--color--white);
					}
				.shop__explanation__details__name {
					width: 100%;
					height: auto;
					margin: 0 auto 10px;
					font-size: 26px;
					font-weight: 700;
					line-height: 1.4;
					letter-spacing: 0.04em;
				}
				.shop__explanation__details__txt {
					width: 100%;
					height: auto;
					font-size: 16px;
					font-weight: 500;
					line-height: 1.625;
					letter-spacing: 0.06em;
				}
			.shop__explanation__image {
				width: 48.333333%;
				height: auto;
				margin-left: 30px;
			}
		.shop__reservation {
			width: 100%;
			height: auto;
			margin: 0 auto 44px;
		}
			.shop__reservation_btn {
				display: flex;
				justify-content: center;
				align-items: center;
				width: 320px;
				height: 56px;
				margin: 0 auto;
				border-radius: 5px;
				background-color: var(--color--red);
				font-size: 20px;
				font-weight: 700;
				line-height: 1;
				letter-spacing: 0.04em;
				color: var(--color--white);
				text-decoration: none;
				text-align: center;
				position: relative;
			}
				.shop__reservation_btn::after {
					content: '';
					display: block;
					width: 15.32px;
					height: 15.72px;
					background-image: url('../image/news/icon-btn_arrow.svg');
					background-position: center;
					background-repeat: no-repeat;
					background-size: contain;
					position: absolute;
					top: 50%;
					right: 17px;
					transform: translate(0%,-50%);
				}
		.shop__overview {
			width: 100%;
			height: auto;
		}
			.shop__table {
				width: 100%;
				height: auto;
				border: solid 1px #D6D6D6;
			}
				.shop__table tr {
					border-bottom: solid 1px #D6D6D6;
				}
					.shop__table th {
						width: 188px;
						height: auto;
						padding: 12px 14px;
						background-color: #F3F3F3;
						border-right: solid 1px var(--color--red);
						font-size: 16px;
						font-weight: 700;
						line-height: 1.5;
						letter-spacing: 0.02em;
						text-align: left;
						vertical-align: top;
					}
					.shop__table td {
						width: calc(100% - 188px);
						height: auto;
						padding: 12px 20px;
						background-color: #ffffff;
						font-size: 16px;
						font-weight: 500;
						line-height: 1.5;
						letter-spacing: 0.02em;
					}
						.shop__table td img.arrow_icon {
							display: inline-block;
							width: 18px;
							height: auto;
							margin-right: 5px;
							margin-bottom: 2px;
						}
						.shop__table td a {
							color: var(--color--red);
							text-decoration: underline;
						}

/* PC ================================================== */
@media all and (min-width:720px){
			.shop__reservation_btn {
				opacity: 1;
				transform: scale(1);
				transition: .3s;
			}
			.shop__reservation_btn:hover {
				opacity: 0.7;
				transform: scale(1.03);
			}
}

/* SP ================================================== */
@media all and (max-width:719px){
#shop {
	padding: 20px 0 0;
}
	.shop__page_heading__txt {
		width: 71.88px;
	}
	.shop__inner {
		max-width: initial;
		padding: 35px 0 80px;
	}
		.shop__explanation {
			display: block;
			margin: 0 auto 60px;
		}
			.shop__explanation__details {
				flex: initial;
				width: 100%;
			}
				.shop__explanation__details__name {
					font-size: 22px;
				}
				.shop__explanation__details__txt {
					font-size: 14px;
					line-height: 2;
					letter-spacing: 0.04em;
				}
			.shop__explanation__image {
				width: 100%;
				margin-left: 0px;
			}
				.shop__explanation__image img {
					margin-bottom: 12px;
				}
		.shop__reservation {
			margin: 0 auto 44px;
		}
			.shop__reservation_btn {
				width: 100%;
				max-width: 400px;
				height: 56px;
			}
			.shop__table tr {
				display: block;
				border-bottom: solid 1px #D6D6D6;
			}
			.shop__table tr:last-of-type {
				border-bottom: none;
			}
				.shop__table th {
					display: block;
					width: 100%;
					padding: 12px 14px 11px;
					border-right: none;
					font-size: 14px;
				}
				.shop__table td {
					display: block;
					width: 100%;
					padding: 12px 14px 11px;
					font-size: 14px;
				}
}