@charset "UTF-8";
/*==========================================
mainViewのスタイル（初期設定 最大：767px）
===========================================*/
.mainView {
		position: relative;
		background-attachment: fixed; /* 背景を固定 */
}
.mainView::after {
		content: "";
		position: fixed;
		top: 0;
		left: 0;
		z-index: -9;
		width: 100%;
		height: 100vh;
		pointer-events: none;
		background:
				linear-gradient(to bottom, rgba(255, 252, 245, 0.04) 0%, rgba(255, 246, 224, 0.03) 45%, rgba(230, 190, 120, 0.04) 100%);
}
.mainView:before {
		content: "";
		display: block;
		position: fixed;
		top: 0;
		left: 0;
		z-index: -10;
		width: 100%;
		height: 100vh;
		background-image: url("../img/bg-body-sp.webp?v=20260929b");
		background-size: cover;
		background-repeat: no-repeat;
		background-position: center center;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}
.bg-slider {
		width: 100vw;
		height: 100vh;
		background-position: center center;
		background-size: cover;
		display: flex;
		align-items: center;
		justify-content: center;
		position: relative;
		z-index: 100;
}
/* -----メイン画像ロゴ----- */
.bg-slider .pc {
		display: none;
}
/* ロゴを正確に中央配置するためのリセット */
.bg-slider > p {
    margin: 0;
}

.bg-slider img {
    display: block;
    max-width: 100%;
    height: auto;
}
/* -----共通----- */
.subtitle1, .subtitle2 {
		padding-bottom: 0.5em;
}
.subtitle1 img, .subtitle2 img {
		width: 95%;
		height: auto;
}
img {
		border-radius: 5px;
}
.shadow {
		box-shadow:
				0 10px 24px rgba(100, 65, 25, 0.18), 0 3px 8px rgba(60, 35, 15, 0.12);
}
/* -----accent（クーポン）----- */
.accent {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
}
.accent img {
		width: 90%;
		border-radius: 5px;
		max-width: 806px;
		margin-top: 1em;
		margin-bottom: 1em;
}
/* -----memo---- */
.memo {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		border: thin solid #FECA4E;
		padding: 10px;
		background-color: hsla(0, 0%, 100%, 0.75);
		text-align: center;
}
.memo h3 img {
		max-width: 26px;
		margin-bottom: 5px;
}
.memo p {
		text-align: justify;
}
.memo dl {
		text-align: left;
		margin-left: 5px;
		margin-right: 5px;
		margin-top: 1em;
		margin-bottom: 1em;
}
.memo dl dt {
		background-color: #000000;
		padding: 5px;
		color: #FFFFFF;
		margin-bottom: 0.5em;
}
.memo dl dd {
		margin-bottom: 0.5em;
}
/*==========================================
greetingのスタイル（初期設定 最大：767px）
===========================================*/
#greeting {
		margin-top: 7.5em;
		margin-bottom: 3em;
}


#greeting .greeting-inner {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		padding: 1.5em 16px 2em;
		border-radius: 18px;
		box-sizing: border-box;

		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);
}
.content1 .textWrap {
		padding-left: 0.5em;
		padding-right: 0.5em;
		padding-bottom: 2em;
}
.textWrap .text1.move_left2 p {
		line-height: 1.8;
		margin-bottom: 0.5em;
}
.textWrap .text1.move_left2 .lead {
		display: table;
		max-width: 520px;
		font-size: 1.2em;
		line-height: 1.9;
		color: #465426;
		font-weight: 600;
		letter-spacing: 0.05em;
		margin: 0 auto 1.4em;
		padding: 0.38em 1.1em;

		/*background: rgba(255, 255, 255, 0.26);*/

		/*border-top: 1px solid rgba(255, 255, 255, 0.52);*/
		border-bottom: 3px solid #D6A53D;

		border-left: none;
		border-top-left-radius: 9px;
		border-top-right-radius: 9px;

		/*box-shadow:
				inset 0 1px 0 rgba(255, 255, 255, 0.45),
				0 4px 10px rgba(74, 93, 32, 0.10);
*/
		text-shadow: none;
		text-align: center;
}
.textWrap .text1.move_left2 p:not(.lead) {
		max-width: 30em;
		margin-left: auto;
		margin-right: auto;

		color: var(--theme-basic-text);
		font-weight: 400;
		line-height: 1.9;
		letter-spacing: 0.02em;
		text-shadow: none;
}
.textWrap .text1.move_left2 h2 img {
		display: block;
		max-width: 148.8px; /* 親要素の幅を超えない */
		height: auto;
		margin: 0 auto; /* 中央寄せ */
		width: 100%;
}
.textWrap .text1.move_left2 h2 {
		text-align: center;
}
/* SNS 全体のブロック */
.sns {
		margin: 2rem auto 0; /* 上に少し余白、中央寄せ */
		text-align: center;
}
/* リストのリセット & 横並び設定 */
/*==========================================
galleryのスタイル（初期設定 最大：767px）
===========================================*/
.gallery {
		margin-bottom: 0em;
		margin-top: 5.5em;
}
#gallery .gallery-inner {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		padding: 2em 1em;
		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);
}
.gallery-inner ul {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		/* スマホサイズでのみ横スクロール */
		overflow-x: auto; /* 横スクロールを有効化 */
		white-space: nowrap; /* li要素を折り返さない */
}
.gallery-inner ul li {
		margin-bottom: 1em;
		display: inline-block; /* 横並びにする */
		margin-right: 0.5em; /* li要素間の余白 */
		margin-left: 0.5em; /* li要素間の余白 */
}
.gallery-title {
		font-size: 1.4em;
		margin: 30px 0 15px;
		text-align: center;
		font-family: 'Georgia', 'Times New Roman', serif;
		color: var(--theme-basic-text);
		letter-spacing: 1px;
		position: relative;
}
.gallery-title::after {
		content: "";
		display: block;
		width: 40px;
		height: 3px; /* 少し太くすると丸みが目立ちやすい */
		background: #3F4B27;
		margin: 8px auto 0;
		border-radius: 5px; /* ← ここを大きくすると丸みが出ます */
		opacity: 0.7;
}
/*==========================================
priceのスタイル（初期設定 最大：767px）
===========================================*/
.price {
		margin-bottom: 5.5em;
		margin-top: 0em;
}
#price .price-inner {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		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);
}
/*#price .subtitle2 img {
		filter: drop-shadow(0 5px 12px rgba(0, 0, 0, 0.62)) drop-shadow(0 0 10px rgba(224, 174, 68, 0.22));
}*/
/* plan-tableは背景を持たせず、外側のprice-innerと一体化させる */
#price .plan-table {
		max-width: 820px;
		margin-left: auto;
		margin-right: auto;
		padding: 1.4em 1.2em 1.8em;
		background: var(--theme-menu-panel-bg);
		border: 1px solid var(--theme-menu-panel-line);
		border-radius: 22px;
		box-shadow: var(--theme-menu-panel-shadow);
		-webkit-backdrop-filter: blur(4px) saturate(105%);
		backdrop-filter: blur(4px) saturate(105%);
		overflow: hidden;
}
.plan-table .plan {
		color: var(--theme-basic-text);
		border-radius: 0;
		margin-bottom: 1.6em;
		padding: 0.4em 0.4em 0.8em;
		text-align: center;
		font-weight: bold;
}
.plan-name {
		max-width: 620px;
		margin: 1.8em auto 1.2em;
		padding: 12px 24px;
		border-radius: 999px;
		position: relative;
		overflow: hidden;

		background: var(--theme-menu-course-bg);

		color: #FFFDF8;

		border: 1px solid rgba(190, 157, 73, 0.55);

		box-shadow:
				inset 0 1px 0 rgba(255, 255, 255, 0.18),
				0 5px 14px rgba(101, 75, 45, 0.12);
}

.plan-name::before {
		left: 18px;
}
.plan-name::after {
		right: 18px;
}
.plan-name .plan-name-jp {
		position: relative;
		z-index: 1;
}
/*#price .plan-name::before,
#price .plan-name::after {
		background:
				linear-gradient(
						to right,
						rgba(231, 189, 91, 0),
						rgba(245, 210, 126, 0.95),
						rgba(231, 189, 91, 0)
				);
}*/
/* 英語（上段） */
.plan-name .plan-name-en {
		display: block;
		font-size: 1em;
		font-weight: 600;
		letter-spacing: 0.03em;
		margin-bottom: 2px;
}
/* 日本語（下段） */
.plan-name .plan-name-jp {
		display: block;
		font-size: 1em;
		line-height: 1.5;
		opacity: 1;
		color: #fffdf8;
		text-shadow: none;
		position: relative;
		z-index: 1;
}
.plan-item {
		display: flex;
		flex-wrap: nowrap; /* ← ドットリーダー用に折り返ししない */
		justify-content: space-between;
		align-items: center;
		gap: 0;
		margin-bottom: 1.8em;
		width: 100%;
		text-align: left;
}
.plan-item:last-child {
		margin-bottom: 0;
}
.plan-item .arrow {
		font-size: 1em;
		color: inherit;
		display: inline-block;
		vertical-align: middle;
}
.campaign-label {
		background-color: #c62828;
		color: #fffbe6;
		border: 1px solid #ffd700;
		border-radius: 3px;
		font-size: 0.65em;
		font-weight: bold;
		letter-spacing: 0.5px;
		margin-right: 3px;
		display: inline-flex;
		align-items: center;
		justify-content: center;
		height: 1.5em;
		line-height: 1.2;
		padding: 0 0.4em;
}
.campaign-price {
		color: #ffd700;
}
.extension {
		color: #0000A3;
}
.min {
		white-space: nowrap;
		font-size: 1em;
		color: var(--theme-basic-text);
		flex: 0 0 auto;
		font-weight: 600;
		text-shadow: none;
}
.normal {
		white-space: nowrap;
		font-size: 1em;
		color: var(--theme-basic-text);
		flex: 0 0 auto;
		font-weight: 700;
		text-shadow: none;
}
.plan-dots {
		flex: 1;
		border-bottom: 2px dotted rgba(63, 75, 39, 0.45);
		margin: 0 14px;
		transform: translateY(-2px);
}
.price-jpy {
		font-weight: 700;
}
.price-usd {
		opacity: 0.85;
}
/* スマホで長いコース名が見やすいように少し調整 */
.plan-name .plan-name-jp {
		line-height: 1.5;
}
.menu-detail {
		white-space: nowrap;
		color: #1F1A17;
		flex: 0 0 auto;
		font-size: 0.9em;
}
.plan-item-detail {
		align-items: center;
}
/* 必要なら旧構造の互換用として残す */
.plan-prices {
		/* display: flex; */
		/* align-items: center; */
		/* gap: 0.25em; */
}
/* -----メニュー紹介文----- */
.plan-desc {
		max-width: 100%;
		margin: -0.1em auto 1.2em;
		padding: 0.75em 0.9em;
		font-size: 0.88em;
		font-weight: 400;
		line-height: 1.75;
		letter-spacing: 0.02em;
		text-align: left;
		color: #EEDDC9;
		background:
				linear-gradient(
						135deg,
						rgba(104, 34, 98, 0.42) 0%,
						rgba(8, 2, 13, 0.70) 100%
				);
		border-top: 1px solid rgba(255, 236, 203, 0.09);
		border-bottom: 1px solid rgba(255, 236, 203, 0.07);
		border-left: 3px solid rgba(228, 183, 84, 0.78);
		border-right: 3px solid rgba(228, 183, 84, 0.42);
	box-shadow:
				inset 0 1px 0 rgba(255, 255, 255, 0.07),
				0 5px 14px rgba(0, 0, 0, 0.22);

		border-radius: 8px;
		
}
.plan-desc + .plan-item {
		margin-top: 0.4em;
}
/* -----メニュー注意事項----- */
.menu-note {
		max-width: 100%;
		margin: 2.2em auto 0;
		padding: 1.1em 1em;
		color: #EEDDC9;
		background:
				linear-gradient(
						135deg,
						rgba(83, 23, 79, 0.65) 0%,
						rgba(9, 3, 14, 0.82) 100%
				);
	border: 1px solid rgba(228, 183, 84, 0.54);
		border-radius: 10px;
		box-shadow:
				inset 0 1px 0 rgba(255, 240, 209, 0.10),
				inset 0 0 20px rgba(210, 61, 184, 0.05),
				0 8px 18px rgba(0, 0, 0, 0.28);
		font-weight: 400;
		text-align: left;
}
.menu-note-title {
		margin: 0 0 0.7em;
		padding-bottom: 0.45em;
		color: #F4D58A;
		font-size: 0.98em;
		font-weight: 600;
		line-height: 1.5;
		text-align: center;
		letter-spacing: 0.04em;
		border-bottom: 1px solid rgba(200, 167, 74, 0.45);
	border-bottom-color: rgba(231, 189, 91, 0.55);
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.75);
}
.menu-note ul {
		margin: 0;
		padding-left: 0;
		list-style: none;
}
.menu-note li {
		position: relative;
		margin-bottom: 0.45em;
		padding-left: 1.3em;
		font-size: 0.86em;
		line-height: 1.75;
	color: #EEDDC9;
}
.menu-note li::before {
		content: "";
		position: absolute;
		top: 0.72em;
		left: 0;
		width: 6px;
		height: 6px;
		background: #E7BA5D;
		border-radius: 50%;
		box-shadow:
				0 0 0 2px rgba(231, 186, 93, 0.14),
				0 0 8px rgba(231, 186, 93, 0.16);
	
}
.menu-note li:last-child {
		margin-bottom: 0;
}
.menu-note li:last-child {
		margin-bottom: 0;
}
/*==========================================
accessImgのスタイル（初期設定 最大：767px）
===========================================*/
#accessImg {
		width: 95%;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		clear: both;
		padding-top: 2em;
		display: block !important;
}
.access-title {
	font-size: 1.4em; /* .gallery-title と統一 */
	margin: 30px 0 15px;
	text-align: center;
	font-family: 'Georgia', 'Times New Roman', serif;
	color: var(--theme-basic-text);
	letter-spacing: 1px;
	position: relative;
	display: block;
}
.access-title::after {
		content: "";
		display: block;
		width: 40px;
		height: 3px;
		background: #3F4B27;
		margin: 8px auto 0;
		border-radius: 5px;
		opacity: 0.7;
}
/* セクション全体の中央寄せ（既存と同じ） */
#accessImg .accessTitle {
		text-align: center;
		width: 100%;
		margin-left: auto;
		margin-right: auto;
}
#accessImg h3 {
		margin: 1.2em auto 1.8em;
		padding: 0.75em 1em;
		max-width: 520px;

		font-size: 1.1em;
		line-height: 1.8;
		color: var(--theme-basic-text);

		background: rgba(248, 250, 236, 0.82);

		border: 1px solid rgba(189, 211, 118, 0.65);
		border-radius: 10px;

		box-shadow:
				0 5px 14px rgba(61, 82, 24, 0.08);

		text-shadow: none;
}
#accessImg ul {
		width: 90%;
		margin-left: auto;
		margin-right: auto;
		text-align: center;
		/* スマホサイズでのみ横スクロール */
		overflow-x: auto; /* 横スクロールを有効化 */
		white-space: nowrap; /* li要素を折り返さない */
}
#accessImg ul li {
		margin-bottom: 1em;
		display: inline-block; /* 横並びにする */
		margin-right: 0.5em; /* li要素間の余白 */
		margin-left: 0.5em; /* li要素間の余白 */
}
#accessImg .red {
		color: #D94F84;
		font-weight: 600;
}

/*==========================================
newsのスタイル（初期設定 最大：767px）
===========================================*/
.news {
		margin-bottom: 3em;
		margin-top: 3em;
}
#news .news-inner {
		width: 98%;
		margin-left: auto;
		margin-right: auto;
		-webkit-box-sizing: border-box;
		-moz-box-sizing: border-box;
		box-sizing: border-box;
}
#news .news-inner h2 {
		text-align: center;
		background-color: #D0A900;
		margin-bottom: 0px;
		padding-top: 0.5em;
		padding-bottom: 0.5em;
		border-top-right-radius: 5px;
		border-top-left-radius: 5px;
		font-family: "Libre Baskerville", serif;
		font-weight: 700;
		color: #FFFFFF;
}
#news .news-inner ul {
		max-height: 230px;
		overflow: scroll;
		background-color: #FFFFFF;
}
#news .news-inner ul li {
		border-bottom: 1px dotted #64605f;
		padding-left: 1em;
		padding-top: 0.5em;
		padding-bottom: 0.2em;
		margin: 0.5em;
}
#news .news-inner ul li .day {
		margin-right: 1em;
		font-weight: bold;
		margin-bottom: 0.5em;
		display: block;
}
#news .news-inner ul li:first-child .day:before {
		content: "new";
		background-color: #ff1900;
		color: #FFFFFF;
		font-weight: bold;
		font-size: 80%;
		border-radius: 3px;
		padding: 5px;
		margin-right: 3px;
}
/* ────────── スマホだけ（767px以下） ────────── */
@media screen and (max-width: 767px) {
		/* メインロゴをスマホだけ少し上へ移動 */
		/*.bg-slider .sp {
				position: relative;
				top: -14vh;
		}*/
		.plan-item {
				flex-wrap: nowrap; /* ← ドットリーダーを崩さない */
				align-items: center;
				padding-left: 6px;
				padding-right: 6px;
		}
		.plan-campaign {
				flex-basis: 100%; /* 必ず新しい行に */
				align-self: flex-start; /* 上寄せ */
				margin-top: -0.8em; /* 上への詰め */
				justify-content: center;
		}
		/* 旧仕様のためコメントアウト */
		/* .plan-prices {
    gap: 1em;
  } */
		.plan-table {
				position: relative;
				overflow: hidden;
				z-index: 0;
		}
		.plan-name {
				padding: 12px 18px;
				border-radius: 32px;
		}
		.plan-name .plan-name-jp {
				font-size: 0.95em;
				line-height: 1.45;
		}
		.min {
				font-size: 0.95em;
		}
		.normal {
				font-size: 0.95em;
		}
		.plan-dots {
				margin: 0 10px;
		}
		.price-usd {
				font-size: 0.95em;
		}
		.textWrap .text1.move_left2 .lead {
				font-size: 1.1em;
		}
		/* -----メニュー紹介文----- */
		.plan-desc {
				font-size: 0.88em;
				line-height: 1.75;
				text-align: left;
		}
}
@media screen and (min-width:768px) {
		/*==========================================
mainViewのスタイル（最小：768px）
===========================================*/
		.mainView:before {
				background-image: url("../img/bg-body-tab.webp?v=20260929b");
		}
		/* -----メイン画像ロゴ----- */
		.bg-slider .sp {
				display: none;
		}
		.bg-slider .pc {
				display: block;
		}
		/* メインロゴをスマホだけ少し上へ移動 */
		/*.bg-slider .pc {
				position: relative;
				top: -14vh;
		}*/
		/* -----共通----- */
		.subtitle2 img {
				width: 50%;
				height: auto;
		}
		/* -----memo---- */
		.memo {
				width: 70%;
				padding: 20px;
		}
		/*==========================================
greetingのスタイル（最小：768px）
===========================================*/
		#greeting .greeting-inner {
				padding: 2em;
		}
		.textWrap .text1.move_left2 h2 img {
				margin: 0 auto;
				display: block;
		}
	.sponly {
		display: none;
	}
		/*==========================================
galleryのスタイル（最小：768px）
===========================================*/
		#gallery .gallery-inner {
				width: 95%;
				padding: 5em 2em;
		}
		#gallery .gallery-inner .subtitle2 {
				margin-bottom: 2em;
		}
		.gallery-inner ul {
				width: 100%;
		}
		.gallery-inner ul li {
				width: 48%;
				margin-bottom: 1.5em;
				display: inline-block;
		}
		/*==========================================
  priceのスタイル（最小：768px）
  ===========================================*/
		#price .price-inner {
				width: 95%;
				padding: 5em 2em;
		}
		.plan-item {
				flex-wrap: nowrap;
				align-items: center;
				max-width: 560px;
				margin-left: auto;
				margin-right: auto;
		}
/*		.plan-table {
				background: linear-gradient(135deg, #FFFDF8 0%, #FFF8EC 52%, #F6EBD8 100%);
				border: 1px solid #D4AF37;
				box-shadow:
						inset 0 1px 0 rgba(255, 255, 255, 0.95), inset 0 0 18px rgba(0, 0, 0, 0.035), 0 14px 34px rgba(0, 0, 0, 0.16), 0 2px 8px rgba(120, 70, 0, 0.08);
		}*/
		.plan-campaign {
				flex-basis: auto;
				align-self: center;
				margin-top: 0;
		}
		/* 旧仕様のためコメントアウト */
		/* .plan-prices .normal::before {
    display: inline;
  } */
		.plan-name {
				padding: 14px 28px;
		}
		.plan-name .plan-name-jp {
				font-size: 1.05em;
		}
		.min {
				font-size: 1.05em;
		}
		.normal {
				font-size: 1.05em;
		}
		.plan-dots {
				margin: 0 16px;
		}
		/* -----.coupon----- */
		.price-inner .flexbox .coupon p {
				width: 55%;
				display: inline-block;
		}
		.coupon p img {
				border-radius: 5px;
				width: 100%;
		}
		/* -----.note----- */
		.flexbox.cf .plan-table.matchHeight .note {
				width: 60%;
				margin-left: auto;
				margin-right: auto;
				margin-bottom: 2.5em;
				padding-top: 1em;
				padding-bottom: 1em;
				padding-left: 2em;
		}
		.price-inner .accent4 {
				width: 50%;
		}
		.option {
				width: 80%;
		}
		/* -----メニュー紹介文----- */
		.plan-desc {
				max-width: 560px;
				margin: -0.2em auto 1.4em;
				padding: 0.7em 1.1em;
				font-size: 0.96em;
				line-height: 1.8;
				text-align: center;
		}
		/* -----メニュー注意事項----- */
		.menu-note {
				max-width: 620px;
				margin-top: 2.6em;
				padding: 1.25em 1.6em;
		}
		.menu-note-title {
				font-size: 1em;
		}
		.menu-note li {
				font-size: 0.92em;
				line-height: 1.8;
		}
		/*==========================================
accessImgのスタイル（最小：768px）
===========================================*/
		/*  #accessImg .shop-accessImg {
    width: 40%;
    margin-left: 0%;
    margin-right: 0%;
    display: inline-block;
  }
  */
		#accessImg .accessTitle {
				width: 50%;
		}
		.accessvideo {
				width: 40%;
		}
		#accessImg h3 {
				padding: 1em;
				display: inline-block;
		}
		#accessImg h3 br {
				display: none;
		}
		#accessImg ul {
				width: 100%;
		}
		#accessImg ul li {
				width: 48%;
				margin-bottom: 1.5em;
				display: inline-block;
		}
		/*==========================================
newsのスタイル（最小：768px）
===========================================*/
		#news .news-inner {
				width: 95%;
				padding: 2em;
		}
}
@media screen and (min-width:1025px) {
		.mainView:before {
				background-image: url("../img/bg-body-pc.webp?v=20260929b");
		}
		.accent #coupon {
				padding-top: 3em;
				padding-bottom: 3em;
		}
		/* -----memo---- */
		.memo {
				width: 40%;
				padding: 30px;
		}
		/*==========================================
greetingのスタイル（最小：1025px）
===========================================*/
		#greeting {
				margin-bottom: 4em;
		}
		#greeting .greeting-inner {
				width: 80%;
				border-radius: 8px;
		}
		.content1 {
				display: flex;
				align-items: center; /* 縦方向の中央揃え */
		}
		.content1 .textWrap {
				width: 49%;
				margin-right: auto; /* 右側に配置 */
		}
		.textWrap .text1.move_left2 .lead {
				max-width: 500px;
				padding: 0.15em 0.9em 0.35em;
				margin: 0 auto 1.4em;
		}
		.greeting .content1 .photo1 {
				width: 48%;
		}
		.box {
				display: flex;
				justify-content: center; /* 水平方向の中央揃え */
				align-items: center; /* 縦方向の中央揃え */
		}
		.textWrap .text1.move_left2 h2 img {}
		.textWrap .text1.move_left2 p {
				font-size: 1.1em;
		}
		.sns li a {
				width: 64px;
				height: 64px;
		}
		/*==========================================
galleryのスタイル（最小：1025px）
===========================================*/
		#gallery .gallery-inner {
				width: 90%;
				padding: 4em 2em;
				border-radius: 8px;
		}
		.gallery-inner ul {
				width: 90%;
				padding: 0.5em 0em;
				border-radius: 8px;
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
		}
		.gallery-inner ul li {
				width: 30%;
				margin-bottom: 1.5em;
				margin-right: 3.33%;
		}
		/*==========================================
  priceのスタイル（最小：1025px）
  ===========================================*/
		#price .price-inner {
				width: 90%;
				padding: 4em 2em;
				border-radius: 8px;
		}
		.plan-item {
				gap: 0;
		}
		.plan-name {
				max-width: 680px;
				padding: 14px 32px;
		}
		.plan-name .plan-name-jp {
				font-size: 1.1em;
		}
		.min {
				font-size: 1.08em;
		}
		.normal {
				font-size: 1.08em;
		}
		.plan-dots {
				margin: 0 18px;
		}
		.option {
				width: 40%;
		}
		/* -----.coupon----- */
		.accent #coupon {
				padding-top: 3em;
				padding-bottom: 3em;
		}
		/* -----.note----- */
		.flexbox.cf .plan-table.matchHeight .note {
				width: 40%;
				padding-top: 1.5em;
				padding-bottom: 1.5em;
				padding-left: 2.5em;
		}
		.price-inner .accent4 {
				width: 30%;
		}
		/* -----メニュー紹介文----- */
		.plan-desc {
				max-width: 620px;
				font-size: 1em;
				line-height: 1.85;
		}
		/* -----メニュー注意事項----- */
		.menu-note {
				max-width: 680px;
				margin-top: 3em;
				padding: 1.4em 2em;
		}
		.menu-note-title {
				font-size: 1.05em;
		}
		.menu-note li {
				font-size: 0.95em;
				line-height: 1.85;
		}
		/*==========================================
accessImgのスタイル（最小：1025px）
===========================================*/
		#accessImg .accessTitle {
				width: 40%;
		}
		#accessImg h3 {
				font-size: 1.2em;
		}
		#accessImg ul {
				width: 90%;
				padding: 0.5em 0em;
				border-radius: 8px;
				display: flex;
				flex-wrap: wrap;
				justify-content: center;
		}
		#accessImg ul li {
				width: 20%;
				margin-bottom: 1.5em;
				margin-left: 1%;
				margin-right: 1%;
		}
		/*==========================================
newsのスタイル（最小：1025px）
===========================================*/
		#news .news-inner {
				width: 80%;
				padding: 4em;
				border-radius: 8px;
				background-color: hsla(0, 0%, 100%, 0.00);
		}
		#news .news-inner h2 {
				width: 50%;
				margin-left: auto;
				margin-right: auto;
		}
		#news .news-inner ul {
				width: 50%;
				margin-left: auto;
				margin-right: auto;
		}
		#news .news-inner ul li {
				padding-top: 1em;
				padding-bottom: 1em;
		}
}


/* =========================================================
   HP01 page background v0.1
   shop.json の main / main_tablet / main_pc をページ全体背景に使用
   ========================================================= */

/* Smartphone: < 768px */
.mainView::before {
  background-image: var(--hp01-page-bg-sp, url("../img/bg-body-sp.webp?v=20260929b"));
}

/* Tablet: 768px - 1199px */
@media screen and (min-width: 768px) and (max-width: 1199px) {
  .mainView::before {
    background-image: var(--hp01-page-bg-tab, url("../img/bg-body-tab.webp?v=20260929b"));
  }
}

/* PC: >= 1200px */
@media screen and (min-width: 1200px) {
  .mainView::before {
    background-image: var(--hp01-page-bg-pc, url("../img/bg-body-pc.webp?v=20260929b"));
  }
}
