@charset "utf-8";

/* --------------------------------- */
/* メンバーズ優木様サイト用メインCSS */
/* --------------------------------- */
/* Modified : 2025/03/03 9:58 */
/*
	▼読み込んでいるWebフォント：
	font-family: "M PLUS Rounded 1c", sans-serif;	: font-weight: 400,500,700;
	font-family: "Kaisei Opti", serif;				: font-weight: 400,500,700;
*/

/* ―――――――― */
/* ■カスタム変数群 */
/* ―――――――― */
:root {
	--content-max-width: 1367px;		/* 最大横幅 */
	--inner-content-max-width: 900px;	/* 広げすぎない場合のコンテンツ枠最大幅 */
	--thin-max-width: 650px;			/* 狭いコンテンツ枠の最大幅 */

	/* ------ */
	/* ▼配色 */
	/* ------ */
	--base-theme-color: black;			/* ベースカラー */
	--second-theme-color: #545454;		/* 第2ベースカラー */
	--third-theme-color: #fff4f2;		/* 第3ベースカラー */

	--content-textcolor: #545454;		/* 本文の文字色 */
	--content-backcolor: #fff8f1;		/* 本文の背景色 */
	--midashi-textcolor: #2FA4A8;		/* 見出し文字色 */

	--drawer-backcolor: black;		/* ドロワーメニューの背景色 */
	--drawer-linkcolor: #fff;		/* ドロワーメニュー項目の文字色 */
	--hamburger-bar-open-color: #fff;		/* ハンバーガーボタン平時の線色(ドロワーを開くボタンの線色) */
	--hamburger-bar-close-color: #fff;		/* ハンバーガーボタン開時の線色(ドロワーを閉じるボタンの線色) */
	--hamburger-label-textcolor: white;		/* ハンバーガーボタンのラベル文字色 */
	--hamburger-button-color: black;		/* ハンバーガーボタンのボタン色(背景色) */

	--footer-backcolor: #41a06e;	/* フッタの背景色 */
	--footer-textcolor: #fff;		/* フッタの文字色 */

	--nishiki-textcolor: #cc9933;

	--loopSlider-height: 240px;
	--loopSlider-width: 300px;

	/* -------- */
	/* ▼その他 */
	/* -------- */
	--loopslider-base-height: 125px;	/* ループスライダーの基本高さ */
}

/* ――――――――――― */
/* ■全環境用のベースCSS  */
/* ――――――――――― */

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	html {
		scroll-behavior: smooth;
	}
	body {
		font-family: "M PLUS Rounded 1c","メイリオ",Meiryo,"ヒラギノ角ゴ Pro","Hiragino Kaku Gothic Pro","游ゴシック","Yu Gothic","游ゴシック体","YuGothic",sans-serif;
		margin: 0;
		padding: 0;
		color: var(--content-textcolor);
		background-color: var(--content-backcolor);
		line-height: 1.4;
		-webkit-text-size-adjust: 100%;
	}

	body.nishikiPage {
		background-color: #e8e7e6;
	}

		/* ▽消極的な改行制御区間 */
		i {
			font-style: normal;
			display: inline-block;
		}

		/* ▽モバイルだけの改行調整 */
		br.sp-only {
			display: block;
		}

		/* ▽画面幅に応じて自動縮小する画像 */
		.autoResize {
			max-width: 100%;
			height: auto;
		}

		/* ▽リンク配色 */
		body a {
			color: var(--content-textcolor);
			text-decoration: none;
		}
		body a:hover {
			opacity: 0.5;
		}

	/* ---------------- */
	/* 汎用セクション群 */
	/* ---------------- */
	section {
		margin: 0;
		padding: 0;
	}

	/* ---------------- */
	/* 汎用レイアウト群 */
	/* ---------------- */
	/* ▼Base:標準レイアウト枠 */
	.stdLayout {
		max-width: var(--inner-content-max-width);
		margin: auto;
		padding: 0;
		position: relative;
	}

	/* ▼Base:幅広レイアウト枠 */
	.wideLayout {
		max-width: var(--content-max-width);
		margin: auto;
		padding: 0;
		position: relative;
	}

	/* ▼Base:最大幅レイアウト枠 */
	.fullWidthLayout {
		max-width: 100%;
		margin: 0;
	}

	/* ▼Space:標準前後余白 */
	.stdGapDiv {
		margin-top: 7rem;
		margin-botto: 7rem;
	}

	/* ------------ */
	/* 汎用見出し群 */
	/* ------------ */
	/* ▼装飾見出し */
	.decoTitle {
		color: var(--base-theme-color);
		max-width: var(--inner-content-max-width);
		margin: 0 auto 2.5rem;
	}
		.decoTitleInside {
			display: block;
			width: fit-content;
			padding: 0 0.5rem 0 0;
			margin: 0 auto;
		}
			.bigT {
				display: block;
				margin: 0;
				width: fit-content;
				line-height: 1;
				font-size: 1rem;
				font-family: "Kaisei Opti", serif;
				font-size: 1.4rem;
				font-weight: 700;
	  		}
		.decoTitleInside::after {
			content: '';
			display: block;
			margin: 0.5rem auto 0;
			background-image: url("/imgs/line_ichimatsu_b.png");
			background-size: contain;
			background-repeat: no-repeat;
			width: 255px;
			height: 24px;
		}
			.bigT,
			.subT {
				margin: 0 auto;
			}
			.bigT {
				margin-bottom: 0.36rem;
			}

		.nishikiPage .decoTitleInside::after {
			background-image: url("/imgs/line_gold.png");
			margin: 1rem auto 0;
		}

	/* ------------------------ */
	/* 汎用ボタン群：ボタン単独 */
	/* ------------------------ */
	.btn {
		text-decoration: none;
		text-align: center;
		line-height: 1;
	}

	/* ▼WIDE STD：横長角丸白背景ボタン */
	.wideStdBtn {
		display: block;
		width: fit-content;
		min-width: 14em;
		margin: 0 auto;
		padding: 0.9em 1.5em;
		background: linear-gradient(to right,#9a8478, #37130c);
		color: white;
		position: relative;
	}
	.nishikiPage .wideStdBtn {
		background: black;
	}
	.wideStdBtn::before {
		content: '▶';
		display: block;
		position: absolute;
		top: 14px;
		left: 1rem;
	}
	a.wideStdBtn:hover {
		border-color: #123456;
		background-color: #234567;
		color: white;
		opacity: 0.5;
	}

	.wideStdBtn.turnArrowLeft::before {	
		transform: scaleX(-1);
/*		left: unset;
		right: 1rem;
*/	}

	/* ▼WIDE PLUS ボタン */
	.widePlusBtn {
		display: block;
		width: fit-content;
		min-width: 14em;
		margin: 0 auto;
		padding: 1.2em 1.5em 0.6em;
		background-color: black;
		color: white;
		position: relative;
	}
	.widePlusBtn::after {
		content: '+';
		display: block;
		position: absolute;
		top: 0;
		left: 0;
		right: 0;
		color: white;
	}

	/* ▼WIDE REVERSE：横長角丸反転背景ボタン */
	.wideRevBtn {
		display: block;
		width: fit-content;
		min-width: 14em;
		margin: 0 auto;
		padding: 0.9em 1.5em;
		border: 1px solid var(--wideRevBtn-bordercolor);
		border-radius: 0.65em;
		background-color: var(--wideRevBtn-backcolor);
		color: var(--wideRevBtn-textcolor);
	}
	.wideRevBtn:hover {
		border-color: var(--wideRevBtn-bordercolor);
		background-color: var(--wideRevBtn-bordercolor);
		color: var(--wideRevBtn-backcolor);
		opacity: 1;
	}

	/* 電話ボタン */
	.telBtn {
		display: block;
		width: fit-content;
		min-width: 12em;
		max-width: 90vw;
		margin: 0 auto;
		padding: 0.3em 1.5em 0.2em;
		background: #000;
		color: white;
		font-size: 1.33rem;
	}
	.nishikiPage .telBtn {
		color: #000;
		background: white;
	}
	.telBtn::before {
		content: url("/imgs/ico_phone.svg");
		width: 20px;
		height: auto;
		display: inline-block;
		vertical-align: middle;
		margin-right: 1rem;
	}
	.nishikiPage .telBtn::before {
		content: url("/imgs/ico_phoneB.svg");
	}

	.drawerMenu .telBtn {
		background: #e8e7e5;
		color: black !important;
	}
	.drawerMenu .telBtn::before {
		content: url("/imgs/ico_phoneB.svg");
	}

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */
	.pageTop {
		border-top: 10px solid var(--base-theme-color);
		position: relative;
	}

		/* ……………… */
		/* ▼サイトロゴ */
		/* ……………… */
		.headSiteLogo {
			margin: 0;
			padding: 0;
			font-weight: 500;
		}

			.siteNameComplex {
				display: flex;
				align-items:center;
				justify-content:flex-start;
				margin: 0;
				gap: 0.25rem;
				width: fit-content;
			}
				.siteLogo {
				}
					.siteLogoImage {
						width: auto;
						height: 45px;
						display: block;
					}
				.siteName {
				}
					.siteNameImage {
						width: auto;
						height: 70px;
						display: block;
					}

		/* サイトロゴはdeep pageでのみ表示 */
		.homePage .headSiteLogo {
			visibility: hidden;
		}

		/* ………………………… */
		/* ▼メニューバー(PC用) */
		/* ………………………… */
		.globalmenuBox { }
			.globalmenuList {
				list-style-type: none;
				margin: 1rem;
				padding: 0;
				display: flex;
				gap: 0;
				align-items:center;
				justify-content:flex-end;

				/* フローティング配置 */
				position: absolute;
				top: 0.5rem;
				right: 75px;
				z-index:100;
			}
				.globalmenuList li {
					border-left: 2px dotted var(--second-theme-color);
				}
				.globalmenuList li:last-child {
					border-right: 2px dotted var(--second-theme-color);
				}
					.globalmenuList a {
						display: block;
						margin: 0;
						padding: 0 2rem;
					}

		/* ----------------------------------- */
		/* ▼ドロワーメニュー(PC/モバイル兼用) */
		/* ----------------------------------- */
		.drawerMenu * {
			margin: 0;
			padding: 0;
			outline: none;
			border: none;
			font: inherit;
			font-family: inherit;
			font-size: 100%;
			font-style: inherit;
			font-weight: inherit;
			-webkit-appearance: none;
			-moz-appearance: none;
			appearance: none;
			text-align: left;
			text-decoration: none;
			list-style: none;
		}

			/* ▼ドロワーボタンの表示と動作 */
			.drawerMenu .drawerBg {
				width: 100%;
				height: 100%;
				position: fixed;
				z-index: 999;
				background-color: rgba(255, 255, 255, 0.5);		/* ドロワーが開いているときにページ全体にかぶせる覆い */
				display: none;
				top: 0;
				left: 0;
			}
			.drawerMenu .drawerBtn {
				display: block;
				background: none;
				border: none;
				width: 31px;
				height: 31px;
				letter-spacing: 0.1em;
				cursor: pointer;
				position: fixed;
				top: 15px;		/* ボタンの配置(上) */
				right: 8px;		/* ボタンの配置(右) */
				z-index: 1001;
				text-align: center;
				outline: none;
				border-radius: 50%;
				background-color: var(--hamburger-button-color);	/* 3本線枠の背景色 */
				padding: 10px 15px 20px 15px;						/* 3本線周囲の余白量：上下と左右で合計サイズを合わせると正円になる */
				box-sizing: content-box;
			}
			/* ▽ドロワーが開いている状態でのドロワーボタン */
			.drawerMenu .drawerBtn.active {
				padding: 10px 10px 20px 20px;		/* クロスする場合の3本線周囲の余白量 */
				background-color: var(--hamburger-button-color);
			}
			.drawerMenu .drawerBtn.active .drawerBar {	width: 23px; transform-origin: left center; }	/* 3本線がクロスする場合の長さ */
			.drawerMenu .drawerBtn.active .drawerBar1 {	transform: rotate(45deg); }
			.drawerMenu .drawerBtn.active .drawerBar2 {	opacity: 0;	}
			.drawerMenu .drawerBtn.active .drawerBar3 {	transform: rotate(-45deg); }
			.drawerMenu .drawerBtn.active .drawerLabelMenu {	display: none;	}
			.drawerMenu .drawerBtn.active .drawerLabelClose {	display: block;	}
			.drawerMenu .drawerBar {
				display: block;
				height: 3px;			/* 3本線の太さ */
				margin: 5px 2px;		/* 3本線の「上下間隔」と「横の長さ」 */
				transition: all 0.2s;
				transform-origin: 0 0;
			}

			/* ▼ドロワーボタンの色 */
			.drawerMenu .drawerBtn { color: var(--hamburger-label-textcolor); } /* 3本線下部のラベル文字色 */
			.drawerMenu .drawerBtn .drawerBar { background-color: var(--hamburger-bar-open-color); } 			/* 3本線の色:平時 */
			.drawerMenu .drawerBtn.active .drawerBar { background-color: var(--hamburger-bar-close-color); }	/* 3本線の色:開時 */

			/* ▼ドロワーボタン下のラベル */
			.drawerMenu .drawerText {
				text-align: center;
				font-size: 10px;
			}
			.drawerMenu .drawerLabelClose {
				letter-spacing: 0.08em;
				display: none;
				margin-left: -6px;
			}
			.drawerMenu .drawerLabelMenu {
				display: block;
			}

			/* ▼ドロワーメニュー本体(ラッパー) */
			.drawerMenu .drawerNaviWrapper {
				background-color: var(--drawer-backcolor);		/* 重なるメニューの背景色 */
				background-image: none;							/* 重なるメニューの背景画像 */
				width: 310px;									/* 重なるメニューの横幅(※変更する場合はtransformの値も変える：＋12pxくらいの値に) */
				height: 100%;
				transition: all 0.2s;
				transform: translate(322px, 0);				/* 初期状態では、画面外に移動させておく： (0, -100%) なら上から下へ現れる */
				position: fixed;
				top: 0;
				right: 0;
				z-index: 1000;	/* 最前面表示 */
			}
			.drawerMenu .drawerNaviWrapper.open {
				transform: translate(0);					/* openクラスが付加されたら、元の位置に戻す */
			}

			/* ドロワーメニュー本体のスクロールベース */
			.drawerScrollBase {
				max-height: 100%;
				overflow: auto;
				box-sizing: border-box;
			}

			/* ▼ドロワーメニュー本体 */
			.drawerMenu .drawerNaviList {
				padding: 0.25rem 6px;				/* メニューの動的な表示開始位置を調整する際は、padding-topの値を変更する。スクロールのために下端に余分に空間を確保する。 */
			}
			.drawerMenu .drawerNaviList.barNishiki a {
				color: var(--nishiki-textcolor);
			}

			.drawerTitle {
				margin: 0;
				padding: 0 18px;
				font-size: 1.25rem;
			}
				.drawerTitle span {
					border-bottom-width: 2px;
					border-bottom-style: solid;
				}

			.drawerTitle.barYuki {
				margin-top: 3rem;
			}
			.drawerTitle.barNishiki {
				margin-top: 1.5rem;
			}

			/* ▼ドロワーメニュー(リンク)項目 */
			.drawerMenu a.drawerLink {
				font-family: "Kaisei Opti", serif;
				color: inherit;
				text-decoration: none;
				display: block;
				margin: 7px 0;
				padding: 6px 18px;
				border-radius: 0.5em;
				font-weight: 500;
			}
			.drawerMenu a.drawerLink {
				color: var(--drawer-linkcolor);
				background-color: var(--drawer-backcolor);
			}
			.drawerMenu a.drawerLink:hover {
				background-color: var(--drawer-linkcolor);
				color: var(--drawer-backcolor);
				opacity:1;
			}
			.drawerMenu .barNishiki a.drawerLink:hover {
				background-color: var(--nishiki-textcolor);
				color: #fff;
			}

			/* ▼ドロワーメニュー項目：アイコンリンク */
			.drawerMenu .iconLinkItems {
				text-align: left;
				margin: 50px 0 0 18px;
			}
				.iconLinkList {
					list-style-type: none;
					margin: 0;
					padding: 0;
					display: flex;
					gap: 20px;
					align-items:center;
					justify-content:start;
					width: fit-content;
				}
					.iconLinkItems img {
						display: block;
						height: 42px;
						width: auto;
					}

			/* ▼ドロワーメニュー項目：長ボタンリンク */
			.wideBtnLinkItems {
				padding: 9px 18px 0;
				text-align: center;
			}
				.wideBtnLinkItems a.btn {
					display: block;
					width: 100%;
					margin: 0;
					box-sizing: border-box;
					text-align: center;
					font-size: 1.25rem;
					padding: 0.3em 1.5em 0.1em;
				}

			/* ▼ドロワーメニュー内部上端のロゴ */
			.logoOnMenu {
				margin: 0;
				padding: 0px 6px;

				background-color: white;
			}
				.drawerMenu .logoOnMenu a {
					display: flex;
					align-items:center;
					justify-content:flex-start;

					background-color: white;
				}
					.drawerMenu .logoOnMenu a {
						margin: 0;
						padding: 14px 0 14px 8px;
					}
					.drawerMenu .logoOnMenu .drawerUsagi {
						width: auto;
						height: 50px;
					}
					.drawerMenu .logoOnMenu .drawerLogo {
						width: auto;
						height: 34px;
					}
				.drawerMenu .logoOnMenu a:hover {
					/* 反転表示を適用せず、半透明にする */
					opacity: 0.5;
					background-color: transparent;
				}
				.drawerMenu .logoOnMenu img {
					width: 100px;
					height: auto;
				}

			/* 状況に応じた表示の切り替え（ドロワーメニュー専用）※適用優先度の関係で、共通装飾として以外に、ここにも同じ内容を記述しておく必要がある。 */
			.drawerMenu a.top-only { display: none;  }
			.drawerMenu a.not-top  { display: block; }
			.homePage .drawerMenu a.top-only { display: block; }
			.homePage .drawerMenu a.not-top  { display: none;  }

	/* ==================== */
	/* ▼パンくずリスト区画 */
	/* ==================== */
	.pankuzuZone {
		margin: 0 auto;
		padding: 1.67em 1em;
		font-size: 0.75em;
		line-height: 1;
		max-width: var(--inner-content-max-width);
	}
		/* パンくずリスト */
		.pankuzuList {
			margin: 0 auto;
			padding: 0;
			list-style-type: none;
			max-width: var(--contentbase-max-width);
		}
			/* 一項目 */
			.pankuzuItem {
				display: inline-block;
			}
			.pankuzuItem::after {
				content: '>';
				display: inline-block;
				margin: 0 1em;
			}
			/* 現在項目 */
			.pankuzuItem.presentPage { }
			.pankuzuItem.presentPage::after {
				content: '';
			}

				/* 店名の調整 */
				.pankuzuItem em {
					font-style: normal;
					letter-spacing: -1px;
				}


	/* ==================== */
	/* ▼スライドショー区画 */
	/* ==================== */
	.outerCoverSlideshow {
		margin: 0 auto 0;
		padding: 0;
		position: relative;
		max-width: var(--content-max-width);
	}

		/* …………………………………………… */
		/* ▼スライド外側に重ねるオブジェクト */
		/* …………………………………………… */
		.outerSlideshow {
			position: absolute;
			z-index: 11;
			/* ※配置はそれぞれの画面サイズに応じて別途指定する */
			background-color: rgba(255,255,255,0.75);
			color: black;
		}
		.nishikiPage .outerSlideshow {
			background-color: rgba(0,0,0,0.75);
			color: white;
		}
			.greenOblongBox {
				text-align: center;
				padding-top: 1rem;
			}
				.insideSlideTitle {
					font-size: 1.1rem;
					font-weight: 500;
					margin: 0 0 0.5rem 0;
					line-height: 1.75;
				}
				.insideSlideGuide {
					font-family: "Kaisei Opti", serif;
					font-size: 1.5rem;
					font-weight: 500;
					line-height: 1.25;
					margin: 0;
				}

		/* ---------------------- */
		/* ↓従来のスライドベース */

		.slideshowSet {
			/* ---------------------------------------------------------------------------------------------------- */
			/* ※スライド本体(.slideshowCover)の後に、スライドに重ねるオブジェクト(.addonSlideshow)がある場合に使用 */
			/* ---------------------------------------------------------------------------------------------------- */
			margin: auto;
			padding: 0;
			position: relative;
			max-width: var(--content-max-width);
		}
			.slideshowCover {
				/* ------------------------------------------------------------------------------------------ */
				/* ※スライド本体(.slideshowCover)と、その内側にスライドカバー(.slideFront)を重ねる場合に使用 */
				/* ------------------------------------------------------------------------------------------ */
				position: relative;
				margin: 0 auto;
				padding: 0;
				max-width: var(--content-max-width);
			}

			#HeadSlideshow {
				margin: 0px;
				padding: 0px;
			}

				/* ---------------------------- */
				/* ▽スライドショー用表示候補群 */
				/* ---------------------------- */
				#SlideshowBox {
					width: 100%;
					position: relative;
				}

				#SlideshowBox p,
				#NoSlideshow {
					overflow: hidden;
				}

				#SlideshowBox p {
					position: absolute;
					top:  0;
					left: 0;
					right: 0;	/* 左右0にすることで原寸を超えて拡大もできる */
					z-index: 8;
					opacity: 0.0;
					background-color: white;
					margin: 0;
				}

				#SlideshowBox p.active {
					z-index: 10;
					opacity: 1.0;
				}

				#SlideshowBox p.last-active {
					z-index: 9;
				}

				#SlideshowBox p img {
					width: 100%;
					height: auto;
					display: block;
					border-radius: 0 0 0 0;		/* 画像角丸(※デフォルト空間にも同様の指定が必要 */
				}

				/* ▼スクリプト無効の場合の固定表示（＋デフォルト空間確保） */
				#NoSlideshow img {
					width: 100%;
					height: auto;
					display: block;
					border-radius: 0 0 0 0;		/* 画像角丸(※#SlideshowBox p imgと同様の指定にする */
				}

				/* ---------------- */
				/* ▽スライドカバー */
				/* ---------------- */
				.slideFront {
					margin: 0;
					padding: 0;
					position: absolute;
					bottom: 0;
					left: 0;
					right: 0;
					z-index:10;
					overflow: hidden;
				}
					.slideFront img {
						display: block;
						width: 100%;
					}

				/* ………………………………… */
				/* ▼画像に重ねるオブジェクト */
				/* ………………………………… */
				.addonSlideshow {
					overflow: hidden;
				}

					/* 白波カバー */
					.namiCoverBox {
						z-index: 20;
						position: absolute;
						bottom: -2px;
						left: -6px;		/* ブラウザによっては端に1px程度の空白ができるので範囲を広げておく */
						right: -6px;	/* (同上) */
					}
						.namiCoverBox img {
							display: block;
							width: 101%;
						}

				/* ………………………………… */
				/* ▼スライドに少し重ねる区画 */
				/* ………………………………… */
				.afterSlideArea {
					margin-top: -90px;
					z-index: 30;
					text-align: center;
				}
				.nishikiPage .afterSlideArea {
					margin-top: -100px;
				}
					.afterSlideTitle { }
						.slideTitleLogo {
							width: 250px;
							height: auto;
						}
					.afterSlideGuide {
						margin: 3rem 0;
						font-family: "Kaisei Opti", serif;
						font-size: 1.4rem;
					}

	/* ＝＝＝＝＝＝＝＝＝＝ */
	/* ▼メイン：ページ共通 */
	/* ＝＝＝＝＝＝＝＝＝＝ */
	main {
	}

	.yukiTopPage main {
		background-image: url("/imgs/img_bubble.png");
		background-repeat: no-repeat;
		background-position: center 750px;
	}

		/* ==================== */
		/* ▼システム・料金区画 */
		/* ==================== */
		#System { }
			.chargeBox {
				margin: 0 auto 2.5rem;
				padding: 0;
				width: fit-content;
				font-family: "Kaisei Opti", serif;
				font-size: 1.4rem;
			}
				.chargeTable {
					border-cpllapse: collapse;
				}
					.chargeTable th {
						font-weight: 400;
					}
					.chargeTable td {
						text-align: right;
					}
						.chargeTable td .csep1 {
							margin: 0 1em 0 0;
						}
						.chargeTable td .csep2 {
							margin: 0 0.54em 0 0;
						}

		/* =========== */
		/* ▼ABOUT区画 */
		/* =========== */
		#About { }
			.aboutCover {
				padding: 0 1rem;
			}
			.aboutComplex {
				max-width: var(--inner-content-max-width);
				margin: 2rem auto 6rem;
				display: flex;
				flex-direction: row;
				flex-wrap: wrap;
				gap: 3rem 5rem;
			}
				.oneAboutBox {
					flex: 1;
					box-sizing: border-box;
					max-width: 400px;
					min-width: 300px;
					min-height: 250px;
					padding: 1rem;
					text-align: center;
					border: 1px solid #c0a134;
					border-radius: 1rem;
					background-color: white;
				}
					.oneAboutIcon { }
					.oneAboutMsg { }

		/* ============== */
		/* ▼お知らせ区画 */
		/* ============== */
		.infoBoxArea {
			margin: 1rem auto 0;
			padding: 2rem 1rem;
		}
		.pageNews .infoBoxArea {
			background-color: transparent;
		}

			.infoBoxTitle {
				text-align: center;
				font-size: 1rem;
				font-weight: normal;
			}

			/* ▼お知らせ本体領域 */
			.tegalogEmbedArea {
				margin: 1rem auto;
				max-width: 100%;
				width: var(--inner-content-max-width);
			}

			/* ▼1件ずつの表示(※HOME合成用) */
			.oneNewsBox {
				margin-bottom: 2rem;
			}
				.postDate {
					text-align: left;
					font-weight: bold;
					margin: 0;
				}
					.postDate a {
					}
				.postTitle {
					margin: 0;
					font-size: 1rem;
				}
				.postTitle::before {
					content: '▶';
					color: var(--base-theme-color);
					font-weight: 500;
				}
				.postMain {
					padding-left: 1rem;
				}

		/* ================ */
		/* ▼お知らせページ */
		/* ================ */
		.pageNews .oneNewsBox {
			margin-bottom: 2rem;
			border-bottom: 2px dashed #a4a5a7;
		}

			/* ページネーション */
			.buttonSetBox {
				list-style-type: none;
				margin: 6rem 0 0 0;
				padding: 0;
				display: flex;
				align-items:center;
				justify-content:center;
				gap: 10vw;
			}
				.oneButtonBox {
					min-width: 14em;
				}
					.navBtn.btnPrev { }
					.navBtn.btnNext { }

						.turnArrowLeft { }

				/* ボタンが中身にないときは非表示にする */
				.oneButtonBox:not(:has(a)) {
					display: none;
				}

		/* ================ */
		/* ▼ごあいさつ区画 */
		/* ================ */
		#Greeting { }

			.ownerCover {
				padding: 2rem 1rem;
			}
				.ownerDoubleColumnBox {
					display: flex;
					align-items: start;
					justify-content: center;
					gap: 70px;
					max-width: var(--inner-content-max-width);
					margin: auto;
				}

					.ownerMessageBox {
						text-align: justify;
						line-height: 1.55;
					}
						.ownerMessageBox p { margin: 0; }
						.ownerMessageBox p + p { margin: 1em 0; }
						.signatureWide {
							text-align: right;
						}
							.signtitle { font-size: 1.5rem; display: inline-block; }
							.signname { font-size: 2rem; margin-left:1em; display: inline-block; }

					.ownerPhotoBox {
						min-width: 350px;
					}
						.ownerPhotoSet {
							position: relative;
						}
							.ownerPhoto {
							}
								.ownerPhoto img {
									width: 350px;	/* 750 */
									height: 473px;	/* 946 */
								}
							.ownerUsagi {
								position: absolute;
								bottom: 70px;
								right: -54px;
							}
								.ownerUsagi img {
									height: 168px;
									width: auto;
								}

		/* ============== */
		/* ▼アクセス区画 */
		/* ============== */
		#Access { }
			.accessCover { }
				.easyMapBox {
					margin: 0 0 2.5rem 0;
				}

				.accessBox {
					margin: 2rem 1rem;
				}
					.accessList {
						margin: 0;
						padding: 0;
						list-style-type: none;
					}
					.accessList li {
						margin-bottom: 0.25rem;
					}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */
	.pageBottom {
		margin: 9rem 0 0 0;
		padding: 1px 0;
		background: linear-gradient(to left,#9a8478, #37130c);
	}
	.nishikiPage .pageBottom {
		background: linear-gradient(to right,#29323c, #485563);
	}

		/* ………………… */
		/* ▼店舗リスト段 */
		/* ………………… */
		.barList {
			margin: 3rem 1rem;
			display: flex;
			align-items: flex-start;
			justify-content:space-evenly;
			color: white;
		}

			.oneBarBox {
			}
				.barLogo {
					text-align: center;
				}
					.barLogo img { width: 220px; height: auto; }
				.barName {
					font-size: 1.5rem;
				}
				.barAddress {
					display: flex;
					flex-direction: column;
				}
					.zip { }
					.address1,
					.address2 {
						font-size: 1.33rem;
					}
					.openhours {
						margin-top: 40px;
						font-size: 1.33rem;
					}
				.barTel {
					margin: 1.5rem 0;
				}

		/* …………………… */
		/* ▼埋め込み地図段 */
		/* …………………… */
		.embedmapBox {
			margin: 3rem 0;
			padding: 0;
		}
			.embedmapBox iframe {
				margin: 0;
				padding: 0;
				width: 100%;
			}

		/* …………………… */
		/* ▼サイトマップ枠 */
		/* …………………… */
		.sitemapBox {
			margin: 0 auto;
			padding: 0;
			text-align: left;
			line-height: 2.5;
		}

			/* 色分け */
			.barYuki,
			.barYuki a {
				color: white;
			}
			.barYuki li {
				border-right-color: white;
			}
			.barNishiki,
			.barNishiki a {
				color: var(--nishiki-textcolor);
			}
			.barNishiki li {
				border-right-color: var(--nishiki-textcolor);
			}

			.sitemap {
				margin: 0;
				padding: 1px 1rem 3rem;
			}
				.oneBar {
					display: flex;
					font-family: "Kaisei Opti", serif;
					margin: 2rem auto;
					width: fit-content;
					line-height: 1.5;
				}
					.sitemapTitle {
						font-size: 1rem;
						margin: 0;
						padding: 0;
						min-width: 12em;
						font-weight: 400;
					}
					.sitemapList {
						display: flex;
						list-style-type: none;
						margin: 0;
						padding: 0;
						font-size: 1rem;
					}
						.sitemapList li {
							margin: 0;
							padding: 0 1.75rem;
							border-right-width: 2px;
							border-right-style: dotted;
						}
							.sitemapList li a {
								line-height: 1;
							}
						.sitemapList li:last-child {
							border-right: 0 none;
						}

		/* ………… */
		/* ▼SNS枠  */
		/* ………… */
		.snsBtnList {
			display: none;

			margin: 0;
			padding: 1rem 2.5rem 3rem;
			list-style-type: none;
		}
			.snsBtnList li {
				display: inline-block;
				margin-right: 0.5rem;
			}
				.snsBtnList li a {
					display: block:
				}
					.snsBtnList img {
						width: 2rem;
						height: auto;
					}

		.drawerMenu .snsBtnList {
			display: block;
		}


/* ======================================================== */
/* ■総合モバイル端末（横幅899px以下）共通の追加・上書きCSS */
/* ======================================================== */
@media all and (max-width:899px) {

	.pc-only { display: none !important; }

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */

		/* ……………… */
		/* ▼サイトロゴ */
		/* ……………… */

		/* ※トップページでは表示しない */
		.homePage .headFloatLogoBox {
			display: none;
		}
		/* ※トップページ以外では表示 */
		.deepPage .headFloatLogoBox {
			position: relative;
		}
			.headFloatLogoBox a {
				padding: 12px 0 12px 12px;
			}
				.headLogo {
					width: 150px;
				}

		/* --------------------------------- */
		/* ▼ドロワー関連群(PC/モバイル兼用) */
		/* --------------------------------- */
			/* ‥‥‥‥‥‥‥‥‥ */
			/* ▼ドロワーメニュー */
			/* ‥‥‥‥‥‥‥‥‥ */
			.drawerClose {
				position: absolute;
				top: 5px;
				right: 20px;
			}

	/* ＝＝＝＝＝＝＝＝＝＝ */
	/* ▼メイン：ページ共通 */
	/* ＝＝＝＝＝＝＝＝＝＝ */
		/* ============== */
		/* ▼お知らせ区画 */
		/* ============== */
		.infoBoxArea {
			margin-top: 0;
		}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */

}

/* ========================================================= */
/* ■タブレット端末専用（横幅600～899）共通の追加・上書きCSS */
/* ========================================================= */
@media all and (min-width:600px) and (max-width:899px) {

	.sp-only { display: none !important; }
	.pc-only { display: none !important; }

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	/* ------------ */
	/* 汎用見出し群 */
	/* ------------ */
	/* ▼装飾見出し */
	.decoTitle {
		margin: 0 0 2.5rem 3rem;
	}

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */
	.pageTop {
		border-top: 0px none;
	}
		/* ……………… */
		/* ▼サイトロゴ */
		/* ……………… */
		.homePage .headSiteLogo {
			display: none;
		}

	/* ==================== */
	/* ▼スライドショー区画 */
	/* ==================== */
	.outerCoverSlideshow {
		margin: 0;
	}
		/* …………………………………………… */
		/* ▼スライド外側に重ねるオブジェクト */
		/* …………………………………………… */
		.outerSlideshow {
			top: 75px;
			right: 45px;
			width: 340px;
			height: 164px;
		}

				/* ………………………………… */
				/* ▼スライドに少し重ねる区画 */
				/* ………………………………… */
				.afterSlideArea {
					margin-top: -75px;
				}
				.nishikiPage .afterSlideArea {
					margin-top: -105px;
				}
						.slideTitleLogo {
							height: auto;
						}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */
		/* ………………… */
		/* ▼店舗リスト段 */
		/* ………………… */
				.barName {
				}
					.address1,
					.address2 {
						font-size: 1.15rem;
					}

		/* …………………… */
		/* ▼サイトマップ枠 */
		/* …………………… */
				.oneBar {
					flex-direction: column;
				}
					.sitemapTitle {
						margin: 0 0 1.25rem 0;
					}
						.sitemapTitle span {
							border-bottom-width: 2px;
							border-bottom-style: solid;
						}

					/* 色分け */
					.barYuki sitemapTitle span {
						border-bottom-color: white;
					}
					.barNishiki sitemapTitle span {
						border-bottom-color: var(--nishiki-textcolor);
					}

		/* ================ */
		/* ▼ごあいさつ区画 */
		/* ================ */
			.ownerCover {
				padding: 2rem 1rem;
			}
				.ownerDoubleColumnBox {
					gap: 2rem;
				}

}

/* ====================================================== */
/* ■スマートフォン（横幅599px以下）専用の追加・上書きCSS */
/* ====================================================== */
@media all and (max-width:599px) {

	.tb-only,
	.wide-only { display: none !important; }

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	body {
		font-size: 0.95rem;
	}

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */
	.pageTop {
		border-top: 0px none;
	}
		/* ……………… */
		/* ▼サイトロゴ */
		/* ……………… */
		.homePage .headSiteLogo {
			display: none;
		}

	/* ==================== */
	/* ▼スライドショー区画 */
	/* ==================== */
	.outerCoverSlideshow {
		margin: 0;
	}
		/* …………………………………………… */
		/* ▼スライド外側に重ねるオブジェクト */
		/* …………………………………………… */
		.outerSlideshow {
			display: none;
		}
				/* ---------------------------- */
				/* ▽スライドショー用表示候補群 */
				/* ---------------------------- */
				#SlideshowBox p img {
					border-radius: 0;		/* 画像角丸(※デフォルト空間にも同様の指定が必要 */
				}

				/* ▼スクリプト無効の場合の固定表示（＋デフォルト空間確保） */
				#NoSlideshow img {
					border-radius: 0;		/* 画像角丸(※#SlideshowBox p imgと同様の指定にする */
				}

				/* ………………………………… */
				/* ▼スライドに少し重ねる区画 */
				/* ………………………………… */
				.afterSlideArea {
					margin-top: -50px;
				}
				.nishikiPage .afterSlideArea {
					margin-top: -100px;
				}
						.slideTitleLogo {
							margin-top: 0.75rem;
							height: 120px;
							width: auto;
						}

	/* ＝＝＝＝＝＝＝＝＝＝ */
	/* ▼メイン：ページ共通 */
	/* ＝＝＝＝＝＝＝＝＝＝ */
	main {
	}
	.yukiTopPage main {
		background-position: center 150vw;
	}

		/* ==================== */
		/* ▼システム・料金区画 */
		/* ==================== */
		#System { }
					.chargeTable th {
						padding-right: 1em;
					}
						.chargeTable td .csep1,
						.chargeTable td .csep2 {
							display: none;
						}

		/* ================ */
		/* ▼ごあいさつ区画 */
		/* ================ */
		#Greeting { }
			.ownerCover {
				padding: 2rem 0;
			}
				.ownerDoubleColumnBox {
					flex-direction: column-reverse;
				}
					.ownerMessageBox {
						margin: 0 1rem;
					}

					.ownerPhotoBox {
						width: 100%;
						min-width: 0;
						max-width: 100vw;
						margin: auto;
						overflow: hidden;
					}
						.ownerPhotoSet {
							margin: auto;
							width: fit-content;
						}
							.ownerPhoto {
							}
								.ownerPhoto img {
									width: 350px;
									max-width: 100%;
									height: auto;
								}
							.ownerUsagi {
								bottom: 42px;
								right: 12px;
							}
								.ownerUsagi img {
									height: 130px;
									width: auto;
								}

							.signtitle { font-size: 1.63rem; display: block; }

		/* ============== */
		/* ▼アクセス区画 */
		/* ============== */
		#Access { }
					.accessList {
						margin: 0;
						padding: 0;
						list-style-type: none;
					}
						.accessExit {
							margin-left: 2rem;
						}

		/* ================== */
		/* ▼お知らせ一覧区画 */
		/* ================== */
		.pageNews .buttonSetBox {
			flex-direction: column;
		}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */
		/* ………………… */
		/* ▼店舗リスト段 */
		/* ………………… */
		.barList {
			flex-direction: column;
			align-items:center;
			justify-content:center;
		}

		/* …………………… */
		/* ▼サイトマップ枠 */
		/* …………………… */
			.sitemap {
				padding-bottom: 0;
			}
				.oneBar {
					flex-direction: column;
				}

					/* 色分け */
					.barYuki sitemapTitle span {
						border-bottom-color: white;
					}
					.barNishiki sitemapTitle span {
						border-bottom-color: var(--nishiki-textcolor);
					}

					.sitemapTitle {
						font-size: 1.25rem;
						font-family: "M PLUS Rounded 1c";
					}
					.barNishiki .sitemapTitle {
						margin-top: 2.5rem;
					}
						.sitemapTitle span {
							border-bottom-width: 2px;
							border-bottom-style: solid;
						}
					.sitemapList {
						flex-direction: column;
					}
						.sitemapList li {
							margin: 1rem 0 0;
							padding: 0;
							border: 0 none;
						}

		/* ………… */
		/* ▼SNS枠  */
		/* ………… */
		.snsBtnList {
			display: block;
		}

}

/* ========================================================== */
/* ■小型スマートフォン（横幅360px以下）専用の追加・上書きCSS */
/* ========================================================== */
@media all and (max-width:360px) {

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	body {
		font-size: 0.9rem;
	}

	/* ============ */
	/* ▼メイン区画 */
	/* ============ */
	main {
		width: 100%;
	}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */

}

/* ======================================================================== */
/* ■PC(大型タブレット含む)サイズ画面（横幅900px以上）専用の追加・上書きCSS */
/* ======================================================================== */
@media screen and (min-width:900px) {

	.mobile-only,
	.tb-only,
	.sp-only { display: none !important; }

	/* ================== */
	/* ▼ページ全体・汎用 */
	/* ================== */
	body {
		font-size: 1rem;
	}

	/* ※Windows環境で日本語Webフォントのシャギーを防ぐ(No-Shaggy Adjust)：インラインには効かないので注意 */
	.nsa,h2,h3,h4,h5,p,li,a,label,u,span
	{
		transform: rotate(0.03deg);
	}
		label,u {
			display: inline-block;
		}
	.noShaggyAdjust p,
	img { transform: rotate(0deg) !important; }	/* 画像も一緒に傾いてしまうのを防ぐ */

	/* ============ */
	/* ▼ヘッダ区画 */
	/* ============ */

	/* ==================== */
	/* ▼スライドショー区画 */
	/* ==================== */
		/* …………………………………………… */
		/* ▼スライド外側に重ねるオブジェクト */
		/* …………………………………………… */
		.outerSlideshow {
			bottom: 160px;
			right: 50px;
			width: 340px;
			height: 164px;
		}

	/* ============ */
	/* ▼フッタ区画 */
	/* ============ */

}

/* =================== */
/* ■てがろぐ装飾用CSS */
/* =================== */
.tegalogEmbedArea { }

	/* ------------------------- */
	/* ▼URLが書かれた場合の装飾 */
	/* ------------------------- */
	.tegalogEmbedArea .url {
		word-break:break-all;	/* 自動リンクのはみ出しを防ぐ */
	}

	/* ---------------------------------------------------- */
	/* ▼汎用装飾(てがろぐ専用記法で書かれた場合のみ)：文字 */
	/* ---------------------------------------------------- */
	/* B:太字(Bold) */
	.decorationB {
		font-weight: bold;		/* 太字 */
	}
	/* D:削除(Delete) */
	.decorationD {
		color: #888;	/* 文字色 */
		text-decoration-line: line-through;	/* 取り消し線 */
		text-decoration-color: red;			/* 線の色 */
	}
	/* E:強調(Emphasis) */
	.decorationE {
		color: #050;	/* 文字色 */
		font-style: normal;
		font-weight: bold;
	}
	/* I:斜体(Italic) */
	.decorationI {
		font-style: italic;		/* 斜体 */
	}
	/* Q:引用(Quote) */
	.decorationQ {
		margin: 1em 0.3em 1em 1em;		/* 外側の余白(上→右→下→左) */
		padding: 0.75em 0.5em;			/* 内側の余白(上下→左右) */
		border-left: 5px double #5c5;	/* 左端の枠線 */
		background-color: #efe;			/* 背景色 */
		font-size: 0.95em;				/* 文字サイズ */
		display: block;					/* ※Ver 2.2.0以降必須の記述 */
	}
	.decorationQ::before,
	.decorationQ::after {
		content: '';			/* 標準で付加されてしまう引用符を無効にする */
	}
	.decorationQ + br {
		display: none;	/* 引用直後の改行を無効化する */
	}
	/* S:小文字(Small) */
	.decorationS {
		font-size: 0.8em;	/* 文字サイズ */
	}
	/* T:極小文字(Tiny) */
	.decorationT {
		font-size: 0.6em;	/* 文字サイズ */
	}
	/* U:下線(Underline) */
	.decorationU {
		text-decoration-line: underline;	/* 線位置 */
		text-decoration-style: double;		/* 線種類 */
		text-decoration-color: lime;		/* 線配色 */
	}

	/* -------------- */
	/* ▼埋め込み画像 */
	/* -------------- */
	/* ▽画像ボックス(FIGオプション指定時) */
	.embeddedpictbox {
		margin: 0;					/* 外側の余白を消す */
		padding: 0;					/* 内側の余白を消す */
		display: inline-table;		/* 横方向に並べる */
		border-collapse: collapse;	/* displayをinline-tableにする場合に必要 */
		border: 1px solid #e0eee0;	/* 枠線 */
		vertical-align: top;		/* 行内では上に寄せる */
	}
		/* キャプション */
		.embeddedpictbox figcaption {
			display: table-caption;		/* キャプションが画像幅から外に出ないようにする */
			caption-side: bottom;		/* キャプションの位置(上にしたければtop) */
			font-size: 0.8em;			/* 文字サイズ */
			text-align: center;			/* センタリング */
			background-color: #e0eee0;	/* 背景色 */
		}

		/* 画像ボックスに含まれる画像 */
		.embeddedpictbox img {
			vertical-align: middle;
		}

	/* ▽画像そのもの */
	.embeddedimage {
		max-width: 100%;	/* 横方向にはみ出ないようにする */
		max-height: 240px;	/* 大きくなりすぎないようにする */
		width: auto;	/* 画像サイズを固定したい場合はここに具体的なpx値を指定するのがお勧め */
		height: auto;	/* 高さを固定したい場合を除いて、ここは auto のままにするのがお勧め */
	}

	/* ▽フラグ付き画像 */
	.tegalogEmbedArea figure.nsfw {
		overflow: hidden;	/* ぼかし領域がfigureのボックスからはみ出ないようにする */
	}
	.tegalogEmbedArea img.nsfw {
		filter: blur(9px);	/* ぼかす */
	}

	/* -------------- */
	/* ▼埋め込み動画 */
	/* -------------- */
	@media all and (max-width: 600px) {
		.embeddedmovie {
			display: inline-block;
			max-width: 100%;	/* はみ出ないようにする */
			width: auto;
			height: auto;
		}
	}

	/* --------------- */
	/* ▼埋め込みTweet */	/* これはツイートが埋め込まれる処理「前」用の装飾です。実際に埋め込まれるツイートはTwitter側のiframeで装飾されますので、てがろぐ側では指定できません。 */
	/* --------------- */
	.tegalogEmbedArea blockquote.twitter-tweet,
	.tegalogEmbedArea blockquote.instagram-media {
		background-color: #f8f8f8;
		border: 1px dashed #ddd;
		border-radius: 9px;
		margin: 0.3em 0;
		padding: 1em;
		font-size: 0.95em;
		color: #999;
		text-shadow: 1px 1px 1px #fff;
	}

	/* -------------------- */
	/* ▼検索語のハイライト */
	/* -------------------- */
	.searchword {
		font-weight: bold;
		background: linear-gradient(transparent 60%, #aaf0aa 60%);
	}


/* ======================= */
/* ■埋め込みツール等用CSS */
/* ======================= */
/* ――――――――――――――― */
/* ★ふわっ(その場)アニメーション */
/* ――――――――――――――― */
.fadeIn{
	animation-name:fadeInAnime;
	animation-duration:2s;
	animation-fill-mode:forwards;
	opacity:0;
}

@keyframes fadeInAnime{
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}

/* ================= */
/* ■スクリプト用CSS */
/* ================= */

/* ▼loopSlider  */
.loopSliderWrap { top: 0; left: 0; height: var(--loopSlider-height); overflow: hidden; position: absolute; }
.loopSlider { margin: 3em auto; width: 100%; /*max-width:1600px;*/ height: var(--loopSlider-height); text-align: left; position: relative; overflow: hidden; }
.loopSlider ul { height: var(--loopSlider-height); float: left; overflow: hidden; }
.loopSlider ul li { width: var(--loopSlider-width); height: var(--loopSlider-height); float: left; display: inline; overflow: hidden; }
.loopSlider * { margin: 0; padding: 0; }
.loopSliderWrap:after { content: ""; display: none; clear: none; }

.loopSlider ul li a {
	display: block;
}
.loopSlider ul li a img {
	width: var(--loopSlider-height);
	height: var(--loopSlider-height);
	margin: auto;
	border-radius: 30rem;
}
