@charset "UTF-8";
/*==========================================
店舗情報
===========================================*/
#access {
		text-align: center;
}
#access .access-inner {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 3em;
		padding: 2em 0.8em;
		border-radius: 12px;
		box-sizing: border-box;
		text-align: center;
		background: var(--theme-section-panel-bg);

	-webkit-backdrop-filter: blur(3px) saturate(108%);
backdrop-filter: blur(3px) saturate(108%);

		border: 1px solid var(--theme-section-panel-line);

box-shadow: var(--theme-section-panel-shadow);
}
table.tbl-r02 {
		background: var(--theme-basic-info-value-bg);
		color: var(--theme-basic-text);
		box-shadow: 0 6px 18px rgba(61, 82, 24, 0.10);
}
table.tbl-r02 td .pay li {
		display: inline-block;
		margin-bottom: 5px;
}
table.tbl-r02 td .pay li img {
		background-color: #FFFFFF;
}
table.tbl-r02 tr td .note {
		display: block;
		margin-top: 0.5em;
		font-size: 90%;
}
table.tbl-r02,
table.tbl-r02 th,
table.tbl-r02 td {
		color: var(--theme-basic-text);
}
table.tbl-r02 tr td ul.sns li {
		margin-bottom: 1em;
}
table.tbl-r02 tr td .sns li a img {
		width: 90%;
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
}
table.tbl-r02 tr td .bn_access {
		background: linear-gradient(180deg, #7A2C86 0%, #5B1E66 55%, #3F1348 100%);
		border-radius: 999px;
		color: #F3EEDC;
		width: 90%;
		max-width: 282px;
		height: 60px;
		display: block;
		text-align: center;
		font-weight: bold;
		font-size: 1.2em;
		line-height: 60px;
		border: 1px solid #D4AF37;
		box-shadow:
				0 4px 12px rgba(0, 0, 0, 0.25), inset 0 0 8px rgba(255, 255, 255, 0.08);
}
table.tbl-r02 td a {
		text-decoration: underline;
		color: inherit;
}
.info h3 img {
		max-width: 393px;
		width: 100%;
}
.info-inner .info .accent3 {
		max-width: 309px;
		width: 80%;
		margin-left: auto;
		margin-right: auto;
		margin-bottom: 1em;
}
td .bn_access .fas.fa-map-marked-alt.fa-lg {
		margin-right: 5px;
}
.tbl-r02 .last td .map {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		border-radius: 10px;
}
span.parking {
		width: 30px;
		height: 30px;
		background-color: #3F1348;
		color: #F3EEDC;
		border: 1px solid #D4AF37;
		border-radius: 50%;
		display: inline-flex;
		justify-content: center;
		align-items: center;
		font-weight: bold;
		font-size: 16px;
		margin-left: 10px;
		margin-top: 10px;
		margin-right: 5px;
		margin-bottom: 0px;
}
/* Googleマップ */
.ggmap {
		position: relative;
		padding-bottom: 56.25%;
		padding-top: 30px;
		height: 0;
		overflow: hidden;
		margin-bottom: 1em;
		border-radius: 12px;
}
.ggmap iframe, .ggmap object, .ggmap embed {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		height: 100%;
}
.bn_access a img {
		width: 90%;
		height: auto;
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
}
.parkingArea p img.icon-parking {
		width: 26px;
		height: auto;
		display: inline-block;
		padding-right: 0.5em;
}
.parkingArea p {
		color: #1F1A17;
		text-align: center;
		margin-bottom: 0.5em;
}
.parkingArea .photo {
		width: 80%;
		max-width: 250px;
		margin-left: auto;
		margin-right: auto;
		margin-top: 0.5em;
		margin-bottom: 0.5em;
}
/* ▼ 店舗情報テーブル内の SNS アイコン（横並び） */
table.tbl-r02 td .sns-inline {
		list-style: none;
		margin: 0;
		padding: 0;
		display: flex;
		flex-wrap: wrap;
		gap: 0.75rem;
		align-items: center;
}
table.tbl-r02 td .sns-inline li {
		flex: 0 0 auto;
}
table.tbl-r02 td .sns-inline li a {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		width: 48px;
		height: 48px;
		border-radius: 50%;
		text-decoration: none;
		background: #FFFDF8;
		border: 1px solid #E8D18E;
		box-shadow:
				0 2px 8px rgba(0, 0, 0, 0.16), inset 0 1px 0 rgba(255, 255, 255, 0.8);
}
table.tbl-r02 td .sns-inline li img {
		max-width: 70%;
		max-height: 70%;
		display: block;
}
/* -----アクセス案内----- */
.access-route {
		width: 100%;
		margin: 0;
		padding: 0;
}
.access-route-group {
		margin-bottom: 1.1em;
		padding: 1em 1em 1.05em;
		background:
				linear-gradient(135deg, rgba(255, 255, 255, 0.42) 0%, rgba(255, 247, 232, 0.32) 100%);
		border: 1px solid rgba(200, 167, 74, 0.34);
		border-radius: 10px;
		box-shadow:
				inset 0 1px 0 rgba(255, 255, 255, 0.55), 0 4px 12px rgba(120, 85, 35, 0.06);
}
.access-route-group:last-child {
		margin-bottom: 0;
}
.access-route-title {
		display: inline-block;
		margin: 0 0 0.75em;
		padding: 0.25em 0.9em;
		color:#F1E4D1;
		background:
				linear-gradient(180deg, #31462A 0%, #24351E 55%, #1A2816 100%);
		border: 1px solid rgba(200, 167, 74, 0.58);
		border-radius: 999px;
		font-size: 0.9em;
		font-weight: 600;
		line-height: 1.5;
		letter-spacing: 0.03em;
		box-shadow:
				inset 0 1px 0 rgba(255, 255, 255, 0.10), 0 3px 8px rgba(40, 55, 25, 0.16);
}
.station {
		margin: 0;
		padding-left: 0;
		list-style: none;
}
.station li {
		position: relative;
		margin-bottom: 0.45em;
		padding-left: 1.25em;
		color: #2F251B;
		font-size: 0.95em;
		line-height: 1.75;
}
.station li:last-child {
		margin-bottom: 0;
}
.station li::before {
		content: "";
		position: absolute;
		top: 0.75em;
		left: 0;
		width: 6px;
		height: 6px;
		background: #C8A74A;
		border-radius: 50%;
		box-shadow: 0 0 0 2px rgba(200, 167, 74, 0.16);
}
/* アクセス案内：リスト部分だけ左寄せ */
.access-route-group {
		text-align: center;
}
.access-route-group .station {
		width: 100%;
		margin: 0;
		padding-left: 0;
		text-align: left;
}
.access-route-group .station li {
		text-align: left;
}
/* -----駐車場案内----- */
.parking-title {
		margin: 0 0 1.1em;
		color: #2F251B;
		text-align: center;
		font-size: 1.05em;
		font-weight: 600;
		line-height: 1.6;
}
.parking-photo-list {
		display: grid;
		grid-template-columns: 1fr;
		gap: 1.2em;
		width: 100%;
		max-width: 520px;
		margin: 0 auto 1.2em;
}
.parking-photo-card {
		margin: 0;
		padding: 0.45em;
		background:
				linear-gradient(135deg, rgba(255, 252, 244, 0.88) 0%, rgba(255, 246, 230, 0.78) 100%);
		border: 1px solid rgba(200, 167, 74, 0.42);
		border-radius: 10px;
		box-shadow:
				inset 0 1px 0 rgba(255, 255, 255, 0.65), 0 5px 14px rgba(120, 85, 35, 0.09);
		overflow: hidden;
}
.parking-img {
		display: block;
		width: 100%;
		height: auto;
		border-radius: 7px;
}
.parking-note {
		margin: 1em 0 0;
		color: #2F251B;
		text-align: center;
		font-size: 0.95em;
		line-height: 1.7;
}
/* 最終行の下線は消す */
#access table.tbl-r02 tr:last-child th, #access table.tbl-r02 tr:last-child td {
		border-bottom: none;
}
/* スマートフォン用（599px以下） */
@media screen and (max-width: 599px) {
		#access {
				margin-bottom: 0em;
				margin-top: 5.5em;
		}
		#access .access-inner {
				width: 95%;
				border-radius: 12px;
				padding: 2em 0.8em;
		}
		table.tbl-r02, table.tbl-r02 th, table.tbl-r02 td {
				display: block;
				width: 100%;
		}
table.tbl-r02 th {
		font-weight: bold;
		font-size: 1.05em;
		position: relative;
		padding: 12px 0.9em;

		color: #FFFDF4;
		background: var(--theme-basic-info-label-bg);

		border-left: 1px solid rgba(173, 190, 108, 0.65);
		border-right: 1px solid rgba(173, 190, 108, 0.65);
		border-bottom: 1px solid rgba(173, 190, 108, 0.65);

		border-radius: 0;
		box-sizing: border-box;
		text-shadow: none;
}
table.tbl-r02 td {
		border-top: none;
		padding: 1.2em 1em 1.4em;

		color: var(--theme-basic-text);
		background: var(--theme-basic-info-value-bg);

		border-left: 1px solid rgba(190, 204, 130, 0.60);
		border-right: 1px solid rgba(190, 204, 130, 0.60);
		border-bottom: 1px solid rgba(190, 204, 130, 0.60);

		border-radius: 0;
		box-sizing: border-box;
		box-shadow: none;
}
		/* 一番最初の th だけ、上左右を角丸 */
		table.tbl-r02 th.first-th {
				border-radius: 10px 10px 0 0;
		}
		/* 一番下の td だけ、下左右を角丸 */
		table.tbl-r02 tr.last td {
				border-radius: 0 0 10px 10px;
		}
		table.tbl-r02 tr {
				margin-bottom: 1.1em;
		}
		table.tbl-r02 tr td .pay {
				padding-left: 3px;
				padding-right: 3px;
		}
		table.tbl-r02 tr td .bn_access {
				margin-left: auto;
				margin-right: auto;
		}
		table.tbl-r02 td .sns-inline {
				justify-content: center;
		}
		/* -----アクセス案内----- */
		.access-route-group {
				padding: 0.95em 0.9em 1em;
		}
		.access-route-title {
				font-size: 0.88em;
		}
		.station li {
				font-size: 0.9em;
				line-height: 1.7;
		}
		/* -----駐車場案内----- */
		.parking-title {
				font-size: 1em;
		}
		.parking-photo-list {
				max-width: 430px;
				gap: 1.1em;
		}
		.parking-note {
				font-size: 0.92em;
		}
}
/* タブレット用（600px～1024px） */
@media screen and (min-width: 600px) and (max-width: 1024px) {
		table.tbl-r02 {
				width: 100%;
				border-collapse: collapse;
		}
table.tbl-r02 th {
		padding: 20px 22px;
		text-align: left;

		background: var(--theme-basic-info-label-bg);
		color: #FFFDF4;

		border-right: 1px solid var(--theme-basic-info-line);
		border-bottom: 1px solid var(--theme-basic-info-line);

		box-shadow: none;
		white-space: nowrap;
		font-weight: 600;
		font-size: 1.05em;
		vertical-align: middle;
		text-shadow: none;
}
table.tbl-r02 td {
		padding: 20px 22px;
		text-align: left;
		line-height: 1.85;
		vertical-align: middle;

		background: var(--theme-basic-info-value-bg);
		color: var(--theme-basic-text);

		border-bottom: 1px solid var(--theme-basic-info-line);
		box-shadow: none;
}
		table.tbl-r02 tr:last-child th, table.tbl-r02 tr:last-child td {
				border-bottom: none;
		}
		.parkingArea p {
				text-align: left;
				margin-left: 0.5em;
		}
		/* 最終行はテーブル外周の金線だけを使う */
		table.tbl-r02 tr:last-child th, table.tbl-r02 tr:last-child td {
				border-bottom: none;
		}
		/* -----アクセス案内----- */
		.access-route {
				max-width: 620px;
		}
		.access-route-group {
				padding: 1.1em 1.25em;
		}
		.access-route-title {
				font-size: 0.92em;
		}
		.station li {
				font-size: 0.95em;
		}
		/* -----駐車場案内----- */
		.parking-photo-list {
				max-width: 490px;
				gap: 1.3em;
		}
		.parking-photo-card {
				padding: 0.5em;
		}
		.parking-title {
				font-size: 1.08em;
		}
		.parking-note {
				font-size: 1em;
				text-align: center;
		}
}
/* PC用（1025px以上） */
@media screen and (min-width: 1025px) {
		#access .access-inner {
				width: 85%;
				padding: 4em 2.5em;
				border-radius: 12px;
		}
table.tbl-r02 {
		width: 100%;
		max-width: 900px;
		border-collapse: collapse;
		margin-left: auto;
		margin-right: auto;
		overflow: hidden;

		border-radius: 14px;
		border: 1px solid var(--theme-basic-info-line);
		background: var(--theme-basic-info-value-bg);

		box-shadow: 0 6px 18px rgba(61, 82, 24, 0.10);
}
table.tbl-r02 th {
		padding: 26px 30px;
		text-align: left;

		color: #FFFDF4;
		background: var(--theme-basic-info-label-bg);

		border-right: 1px solid var(--theme-basic-info-line);
		border-bottom: 1px solid var(--theme-basic-info-line);

		box-shadow: none;
		text-shadow: none;

		white-space: nowrap;
		font-weight: 600;
		font-size: 1.08em;
		vertical-align: middle;
}
table.tbl-r02 td {
		padding: 26px 30px;
		text-align: left;

		background: var(--theme-basic-info-value-bg);
		color: var(--theme-basic-text);

		border-bottom: 1px solid var(--theme-basic-info-line);

		box-shadow: none;

		line-height: 1.85;
		vertical-align: middle;
}
		table.tbl-r02 tr:last-child th, table.tbl-r02 tr:last-child td {
				border-bottom: none;
		}
		.tbl-r02 tr td .note br {
				display: none;
		}
		.parkingArea p {
				text-align: left;
				margin-left: 0.5em;
		}
		/* 最終行はテーブル外周の金線だけを使う */
		table.tbl-r02 tr:last-child th, table.tbl-r02 tr:last-child td {
				border-bottom: none;
		}
		/* -----アクセス案内----- */
		.access-route {
				display: grid;
				grid-template-columns: 1fr 1fr;
				gap: 1em;
				align-items: stretch;
		}
		.access-route-group {
				margin-bottom: 0;
				padding: 1.2em 1.35em;
		}
		.access-route-title {
				font-size: 0.95em;
		}
		.station li {
				font-size: 0.96em;
				line-height: 1.8;
		}
		/* -----駐車場案内----- */
		.parking-photo-list {
				grid-template-columns: 1fr 1fr;
				max-width: 660px;
				gap: 0.9em;
		}
		.parking-photo-card {
				padding: 0.45em;
		}
		.parking-title {
				text-align: left;
				margin-left: 0.5em;
		}
		.parking-note {
				text-align: left;
				margin-left: 0.5em;
		}
}

/* =========================================================
   HP01 mobile basic-info line v0.1
   スマホの基本情報：内容セル下部の細い横線のみ削除
   ========================================================= */
@media screen and (max-width: 767px) {
  #access table.tbl-r02 td {
    border-bottom: none !important;
  }
}

/* =========================================================
   HP01 mobile basic-info spacing v0.2
   スマホのみ：
   - 各行の下に入っていた空白帯を削除
   - 内容セルの上下余白を同じにする
   ========================================================= */
@media screen and (max-width: 767px) {
  #access table.tbl-r02 tr {
    margin-bottom: 0 !important;
  }

  #access table.tbl-r02 td {
    padding-top: 1.2em !important;
    padding-bottom: 1.2em !important;
  }
}
