@charset "UTF-8";
/*==========================================
 全体のスタイル
===========================================*/
* {
		box-sizing: border-box;
}
body {
		color: #F1E4D1;
		margin: 0;
		width: auto;
		font-size: 16px;
		font-family: "HinaMincho-Regular", serif;
		font-optical-sizing: auto;
		font-style: normal;
		position: relative;
		line-height: 1.8;
}
.font90 {
		font-size: 90%;
}
.font80 {
		font-size: 80%;
}
/* -----pageTop----- */
#pageTop {
		position: fixed;
		bottom: 80px;
		right: 20px;
		z-index: 1000;
}

#pageTop a {
		color: #FFFDF4;
		background-color: #4A582D;

		padding: 0;
		margin: 0;

		width: 45px;
		height: 45px;
		line-height: 45px;

		text-align: center;
		display: inline-block;

		border-radius: 50%;
		border: 1px solid rgba(200, 167, 74, 0.65);

		box-shadow:
				0 4px 12px rgba(61, 82, 24, 0.18);
}

#pageTop a:hover {
		text-decoration: none;
		opacity: 0.82;
}

#pageTop a .fa.fa-chevron-up {
		font-size: 1.2em;
}
.font90 {
		font-size: 90%;
}
.font80 {
		font-size: 80%;
}
.font70 {
		font-size: 70%;
}
.marker.yellow {
		background: -moz-linear-gradient(top, rgba(255, 255, 0, 0) 60%, rgba(255, 255, 0, 0.4) 60%, rgba(255, 255, 0, 0.4) 100%);
		background: -webkit-linear-gradient(top, rgba(255, 255, 0, 0) 60%, rgba(255, 255, 0, 0.4) 60%, rgba(255, 255, 0, 0.4) 100%);
		background: linear-gradient(to bottom, rgba(255, 255, 0, 0) 60%, rgba(255, 255, 0, 0.4) 60%, rgba(255, 255, 0, 0.4) 100%);
}
/*文字色*/
.red {
		color: #ff1900;
}
/* 画像の長押し/ドラッグ/選択を抑止 */
.no-save img {
		-webkit-touch-callout: none; /* iPhone長押しメニュー防止 */
		-webkit-user-select: none;
		user-select: none;
		-webkit-user-drag: none;
		user-drag: none;
		pointer-events: none; /* 画像自体を触れないようにする */
}
/* 親要素に透明の“フタ”をかぶせる */
.no-save {
		position: relative; /* フタを子として絶対配置するため */
}
.no-save::after {
		content: "";
		position: absolute;
		inset: 0;
		background: transparent;
		/* このフタが長押しを“受ける”ので保存メニューが出にくくなる */
}
/*==========================================
 headerのスタイル
===========================================*/
/* -----ヘッダーふわっと固定（SPメニュー）----- */
.cb-header {
		position: fixed;
		z-index: 200;
		top: -70px;
		left: 0;
		width: 100%;
		background-position: right;

		background-color: var(--theme-header-bg);
		border-bottom: 1px solid var(--theme-header-line);
}

.cb-header ul li {
		width: 25%;
		float: left;
		box-sizing: border-box;
		text-align: center;
		padding-top: 0;
		position: relative;

		border-bottom: 1px solid var(--theme-header-line);
		border-right: 1px solid var(--theme-header-line);
}

/* 最後の「店舗情報」だけアクセント */
.cb-header ul li:last-child {
		background: #E95691;
		border-left: none;
}

.cb-header ul li a {
		display: block;
		color: #3F4B27;

		padding-top: 20px;
		padding-bottom: 20px;
		padding-right: 0;
		padding-left: 0;

		font-size: 95%;
}

.cb-header ul li:last-child a {
		color: #FFFDF8;
}

.cb-header ul .language a .phone-number {
		display: none;
}

.cb-header h1 {
		position: absolute;
		left: -9999px;
}
/*==========================================
 footerのスタイル
===========================================*/
footer {
		text-align: center;
		background-color: var(--theme-footer-bg);
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		border-top: 1px solid var(--theme-footer-line);
}

.copy p small {
		color: var(--theme-footer-text);
}

.copy p small a {
		color: var(--theme-footer-text);
		margin-left: 5px;
}
/* -----下固定メニュー----- */
.menu {
		display: none;
		width: 100%;
		position: fixed;
		bottom: 0;
		z-index: 999;
}
.menu.normal {
		position: relative;
		display: block;
		z-index: 0;
}
.menu.fixed p {
		margin-top: 5px;
		margin-bottom: 5px;
}
.menu.fixed p a.yoyaku {
		display: inline-block;

		background: #E95691;

		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-right: 2em;
		padding-left: 2em;

		border-radius: 5px;
		margin-right: 5px;

		border: 2px solid #FFFDF4;

		box-shadow:
				0 4px 12px rgba(61, 82, 24, 0.18);

		transition:
				background-color 0.25s ease,
				transform 0.25s ease,
				box-shadow 0.25s ease;
}
.menu.fixed p a.line {
		display: inline-block;
		background-color: #03C755;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		padding-right: 2em;
		padding-left: 2em;
		border-radius: 3px;
		margin-right: 5px;
		border-left: medium solid #FFFFFF;
		border-right: medium solid #FFFFFF;
		border-bottom: thick solid #FFFFFF;
		border-top: medium solid #FFFFFF;
}
.menu.fixed p a i {
		margin-right: 5px;
}
.menu.fixed p a span {
		display: none;
}
.menu.fixed p .line img {
		height: 32px;
}
.menu.fixed p .yoyaku img {
		height: 32px;
}
@media screen and (min-width:768px) {
		/*==========================================
 全体のスタイル
===========================================*/
}
@media screen and (min-width:1025px) {
		/*==========================================
 headerのスタイル
===========================================*/
		/* -----ヘッダーふわっと固定----- */
		.cb-header h1 {
				position: static;
				display: block;
				float: left;
				margin-left: 0.5em;
				margin-top: 0.2em;
				color: #4A3423;
		}
		.cb-header.cf .site-logo span {
				font-size: 60%;
				margin-left: 0.5em;
		}
		.cb-header.cf ul {
				float: right;
				width: auto;
		}
		.cb-header ul li {
				width: auto;
				float: left;
				text-align: center;
				padding: 10px;
				border-bottom: none;
				border-right: none;
		}
		.cb-header ul li a {
				display: inline-block;
				color: #4A3423;
				;
				padding-top: 10px;
				padding-right: 10px;
				padding-left: 10px;
				padding-bottom: 10px;
		}
		.cb-header ul li a .hide {
				display: inline-block;
		}
		.cb-header ul .tel a .phone-number {
				display: inline-block;
				padding-left: 0.5em;
		}
		.cb-header.cf ul .language a {
				border-bottom-style: none;
		}
		.cb-header ul li::after {
				display: none;
		}
		.cb-header ul li::before {
				display: none;
		}
}
