@charset "UTF-8";
/* CSS Document */
:root {
  --main-color: #8b112a;
/* 	  #7cbb38; */
}

body {
	font-size: 18px;
}
.entry-title, .archive-title {
	margin-bottom: 1em;
    font-size: 2rem;
	margin-top: 1em;
}
.related-entry-heading {
	font-size: 1.75rem;
	text-align: center;
}
.entry-content p {
	margin-bottom: 0!important;
}
/* 空行（Enter 2回）の表示を管理画面に合わせる */
.entry-content p:empty {
	min-height: 1.5em;
}
.a-wrap {
	display: block;
	position: relative;
	padding: 1.5em 1em;
	border-bottom: 1px solid #eee;
}
.navi-in > ul li {
	padding:0 0.75em !important;
}
.copy-button span {
	color: #fff!important;
}
/**************************************************
フッター
***************************************************/
#footer {
	background: #fffcf2!important;
}
footer.nb-footer .copyright {
	color: #fff;
	background-color: var(--main-color)!important;
}

#footer p,
#footer a {
	color: #333!important;
}
#footer .company-name {
	font-weight: bold;
	color: var(--main-color)!important;
}
footer .map {
	background: var(--main-color)!important;
	color: #fff!important;
}

#footer .copyright a,
#footer .copyright p {
	color: #fff!important;
}
/**************************************************
サイドバー
***************************************************/
.sidebar h2, .sidebar h3 {
	font-size: 0.9rem;
	font-weight: bold;
	background-color: var(--main-color)!important;
	color: #fff;
}
.sidebar li {
	font-size: 15px;
	border-bottom: 1px solid #eee;
}
 // Start of Selection
.menu-item-has-children li::before {
	content: "▶"; /* Add a triangle arrow before child categories */
	margin-right: 0.5em; /* Space between the arrow and the text */
}
.menu-item-has-children li:last-child {
	border-bottom: none;
}
.sidebar .toc-list li {
	padding: 0.5em 0;
}
.author-box {
	border: none;
}
.widget_search .wp-block-search__label {
	display: none;
}
.nwa .author-box {
box-shadow: 0px 4px 8px rgba(0, 0, 0, 0.1);
}
.author-box p {
	font-size: 0.9rem;
	line-height: 1.5em;
}
.related-entry-card-content {
	padding:0 1em;
}
.related-entry-card-snippet, .entry-card-snippet {
	line-height: 1.5em;
	font-size: 0.75em;
}
.related-entry-card-title, .entry-card-title {
	margin-bottom: 0.5em;
}

/**************************************************
ショップ情報
***************************************************/
.shop-info {
	background: var(--main-color);
	border-radius: 6px;
	padding: 30px;
	margin-bottom: 5vh;
	background-size: cover;
}
.shop-info h3 {
	text-align: center;
	width: 50%;
	margin: 0 auto 1em;
	color: #fff;
	font-weight: bold;
	border: none!important;
}
.shop-info .menu {
	background: #fff;
	padding: 2em 1em;
	text-align: center;
	margin-bottom: 3vh;
}
.shop-info .menu p {
	margin-bottom: 1em;
}
.shop-info .menu .contact {
	margin:0 auto;
}
.shop-info .menu .line_box {
	width: 100%;
	margin:3vh auto 0;
}
.shop-info .menu .contact .tel {
	padding: 0;
	font-size: 2rem;
	font-weight: bold;
	border-bottom: none;
	text-align: center;
}
.shop-info .menu .contact .tel a {
	text-decoration: none;
	color: var(--main-color);
}
.shop-info dd {
	margin-left: 0!important;
}
.shop-info .menu .contact .btn-reva,
.hp-btn{
	background: var(--main-color);
	text-align: center;
	width: 100%;
	margin: auto;
	padding: 0.5em 0;
	border-radius: 6px;
	text-decoration: none;
	color: #fff;
}
.shop-info .detail {color: #fff;}
.shop-info .detail table { width: 100%; }
.shop-info .detail .name {
	text-align: center;
}
.shop-info .detail .name span {display: inline;}
.shop-info .detail th,
.shop-info .detail td {
	display: block;
	padding: 0.5em;
	text-align: left;
	font-weight: normal;
	border: none!important;
	font-size: 1rem;
}
.shop-info .detail th {
	background: #fff none repeat scroll 0 0;
    color: var(--main-color);
    font-size: 1rem;
    letter-spacing: 0.1em;
    margin: 0.5em 0;
	text-align: center;
	padding: 0.25em 0;
    position: relative;
	font-weight: bold;
}
.shop-info .detail td span {
	display: block;
	text-align: right;
}
.shop-info .detail td a {
	padding: 0.2em 0.5em;
	border-radius: 6px;
	background: #fff;
	color: var(--main-color);
	font-size: 0.8rem;
}

/* カスタムHTMLウィジェット用 - 参考レイアウト（添付写真風） */
.shop-info {
	padding: 32px 24px 36px;
	border-radius: 12px;
}

.shop-info h3 {
	width: 100%;
	margin: 0 0 24px 0;
	font-size: 1.5rem;
	letter-spacing: 0.05em;
	color: #fff;
	text-align: center;
}

/* 上段：住所・TEL 白ボックス（角丸・影付き） */
.shop-info .address-section {
	background: #fff;
	border-radius: 12px;
	padding: 24px 20px;
	margin-bottom: 24px;
	box-shadow: 0 4px 16px rgba(0,0,0,0.1);
}

.shop-info .address-section p {
	color: #333;
	margin: 0 0 14px 0;
	line-height: 1.75;
	font-size: 0.95rem;
}

.shop-info .address-section p:last-child {
	margin-bottom: 0;
}

.shop-info .address-section strong {
	color: #333;
	font-weight: 600;
}

/* TEL・FAXを大きく強調（参考：電話番号スタイル） */
.shop-info .address-section p:nth-of-type(2) {
	color: var(--main-color);
	font-size: 1.35rem;
	font-weight: bold;
	margin-top: 16px;
}

/* 下段：お問い合わせ・楽天（メインカラー背景・見出しバー＋白テキスト） */
.shop-info .contact-section,
.shop-info .shop-section {
	background: transparent;
	padding: 0;
	margin-bottom: 20px;
}

.shop-info .shop-section {
	margin-bottom: 0;
}

/* 見出しバー：メインカラー背景・白テキスト（参考レイアウト） */
.shop-info .contact-section h4,
.shop-info .shop-section h4 {
	background: var(--main-color);
	color: #fff !important;
	text-align: center;
	padding: 10px 14px;
	border-radius: 8px;
	font-size: 0.95rem;
	font-weight: bold;
	margin: 0 0 10px 0;
	letter-spacing: 0.04em;
}

.shop-info .contact-section h4:first-child {
	margin-top: 0;
}

.shop-info .shop-section h4 {
	margin-top: 20px;
}

/* コンテンツ：白テキスト（メインカラー背景上） */
.shop-info .contact-section p,
.shop-info .contact-section ul,
.shop-info .shop-section p {
	color: #fff;
	margin: 0 0 12px 0;
	line-height: 1.75;
	font-size: 0.9rem;
}

.shop-info .contact-section strong {
	color: #fff;
	font-weight: 600;
}

.shop-info .contact-section em {
	color: rgba(255,255,255,0.95);
	font-style: italic;
	font-size: 0.85rem;
}

.shop-info .contact-section ul,
.shop-info .shop-section ul {
	padding-left: 1.2em;
	list-style: disc;
	margin-bottom: 14px;
}

.shop-info .contact-section ul li,
.shop-info .shop-section ul li {
	color: #fff;
	margin: 0.3em 0;
}

/* 楽天ショップ：白テキスト＋下線、ホバーでボタン風 */
.shop-info .shop-section a {
	color: #fff;
	text-decoration: underline;
	word-break: break-all;
}

.shop-info .shop-section a:hover {
	opacity: 0.9;
}
.shop-info .menu .line {
	margin:  1em 0 1em;
	text-align: center;
}
.shop-info .menu .line span {
	color: var(--main-color);
}
.shop-info .menu .line-btn {
	background: var(--main-color);
	text-align: center;
	width: 100%;
	margin: auto;
	color: #fff;
	padding: 0.5em 0;
	border-radius: 6px;
	text-decoration: none;
}
.shop-info .hp-btn {
	background: #fff;
	color: var(--main-color);
	font-size: 1.4rem;
	font-weight: bold;
	margin: 3vh 0 0 0;
	padding: 0.25em 0;
	border-radius: 10px;
	text-align: center;
	text-decoration: none!important;
	display: block;
	border-bottom: 5px solid #aaa;
	color: var(--main-color);
}
table tr:nth-of-type(2n+1) {
	background: transparent!important;
}

@media screen and (max-width: 767px) {
	.shop-info .hp-btn {
		font-size: 1.2rem;
		padding: 0.5em 0;
		margin: 2vh 0 0 0;
		width: 90%;
		margin-left: auto;
		margin-right: auto;
	}
}
