/* =========================================================
   1. 基本設定（スマホで文字がはみ出さないようにガード）
========================================================= */
body {
	overflow-x: hidden !important;
/* 横揺れ防止の絶対ルール */
	width: 100% !important;
}

/* =========================================================
   2. メニュー & 各種カード（スマホ最適化）
========================================================= */
/* スマホ（1000px以下）の表示設定 */
@media (max-width: 1000px) {
	/* 横並びを解除して縦1列に */
	.menu-cards .wp-block-columns,
											    .yu-menu-full-section,
											    .wp-block-columns {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	/* 各カード：画面幅に収まるよう調整 */
	.menu-cards .wp-block-column,
											    .wp-block-column {
		width: 92% !important;
	/* 画面の左右に少しだけ隙間を作る */
		max-width: 500px !important;
	/* 大きなスマホでも広がりすぎない */
		margin: 0 auto 20px !important;
	/* 中央寄せ ＋ 下の余白 */
		padding: 20px !important;
		box-sizing: border-box !important;
		display: block !important;
		float: none !important;
	}
	
	/* 画像：横幅いっぱいで高さを固定 */
	.menu-cards .wp-block-image img,
											    .menu-cards img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 9 !important;
	/* スマホで最も綺麗な比率 */
		object-fit: cover !important;
	}
}

/* =========================================================
   3. お客様の声（スマホ横スワイプ対応）
========================================================= */
@media (max-width: 768px) {
	.yu-voice-section .wp-block-columns {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
	/* 横スクロール有効 */
		gap: 15px !important;
		padding: 0 20px 20px !important;
	}
	
	.yu-voice-section .wp-block-column {
		flex: 0 0 85% !important;
	/* 1枚を85%幅にしてチラ見せ */
		max-width: 85% !important;
		height: auto !important;
		min-height: 350px !important;
	/* 高さを自然に確保 */
	}
}

/* =========================================================
   4. ヘッダー（スマホで重ならないように）
========================================================= */
@media (max-width: 768px) {
	.yu-header {
		position: relative !important;
	/* HERO画像の上に重ねない */
		background: #fff !important;
		padding: 10px 0 !important;
	}
	
	.yu-copy-main {
		font-size: 38px !important;
	/* 店名の文字サイズを適正化 */
		margin-top: 10px !important;
	}
}

/* =========================================================
   5. PC表示（大きな画面での洗練レイアウト維持）
========================================================= */
@media (min-width: 1025px) {
	.menu-cards .wp-block-columns {
		display: flex !important;
		align-items: stretch !important;
		justify-content: center !important;
		gap: 20px !important;
	}
	
	.menu-cards .wp-block-column {
		flex: 1 !important;
		max-width: 320px !important;
	}
}

/* =========================================================
   HERO AREA（スライダー）の完全修正
========================================================= */
/* 1. 全体の土台：ここで高さを絶対死守する */
.yu-bg {
	position: relative !important;
	width: 100% !important;
/* PCでの高さ設定 */
	height: 600px !important;
	min-height: 70vh !important;
	background: #1F2A44 !important;
/* 画像読み込み前の予備色 */
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

/* 2. スライダーコンテナ：親の高さ100%を維持 */
.yu-hero, .yu-slider {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 1 !important;
}

/* 3. 画像：アスペクト比を無視せず画面いっぱいに広げる */
.yu-slider img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
/* これで隙間を埋める */
	opacity: 0;
	animation: yuHeroAnim 24s infinite;
}

/* 4. 文字レイヤー：画像の上に必ず乗せる */
.yu-wrap-horizontal {
	position: relative !important;
	z-index: 10 !important;
/* 画像(1)より上に */
	width: 100% !important;
	text-align: center !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

/* 5. スマホ専用：高さをスマホに最適化 */
@media (max-width: 768px) {
	.yu-bg {
		height: 500px !important;
	/* スマホで見やすい高さに固定 */
		min-height: 50vh !important;
	}
	
	.yu-copy-main {
		font-size: clamp(32px, 8vw, 44px) !important;
	/* 画面幅に合わせて自動縮小 */
		line-height: 1.5 !important;
	}
}

/* アニメーション（以前のものを微調整） */
@keyframes yuHeroAnim {
	0% {
		opacity: 0;
		transform: scale(1.05);
	}
	
	5% {
		opacity: 1;
	}
	
	30% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1);
	}
	
	100% {
		opacity: 0;
	}
}

/* =========================================================
   YOU Relaxation & Body Care 統合CSS（整理・復旧版）
========================================================= */
/* 1) ベース（フォント/全体） */
body, button, input, textarea, select {
	font-family: "Noto Sans JP", "Hiragino Mincho ProN", sans-serif !important;
	font-weight: 400;
	letter-spacing: .03em;
	color: #1F2A44;
}

h1,h2,h3,h4,h5,h6 {
	font-family: "Noto Sans JP", sans-serif !important;
	font-weight: 600;
	letter-spacing: .05em;
	color: #1F2A44;
}

/* 2) HERO（背景スライダー＋文字アニメ）★元の動きを再現 */
.yu-bg {
	position: relative !important;
	width: 100% !important;
	height: 600px !important;
	min-height: 70vh !important;
	background: #333 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.yu-hero, .yu-slider {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 0 !important;
}

.yu-slider img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	opacity: 0;
	animation: yuHero 24s infinite;
}

@keyframes yuHero {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	
	5% {
		opacity: 1;
	}
	
	30% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1.0);
	}
	
	100% {
		opacity: 0;
	}
}

.yu-slider img:nth-child(1) {
	animation-delay: 0;
}

.yu-slider img:nth-child(2) {
	animation-delay: 8s;
}

.yu-slider img:nth-child(3) {
	animation-delay: 16s;
}

/* 3) 店名の1文字アニメーション ＋ サイズ調整 */
.yu-wrap-horizontal {
	position: relative !important;
	z-index: 5 !important;
	text-align: center !important;
	width: 100%;
}

.yu-copy-main {
	display: block !important;
	font-size: 80px !important;
	font-weight: 500 !important;
	letter-spacing: .12em !important;
	line-height: 1.2 !important;
	color: #fff !important;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.4) !important;
	text-align: center !important;
}

.yu-copy-main span {
	display: inline-block !important;
	opacity: 0;
	transform: translateY(20px);
	animation: yuFadeTextUp 1.5s ease forwards;
	animation-delay: calc(0.5s + (var(--i) * 0.1s));
}

@keyframes yuFadeTextUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 4) コンセプト・こんな方に（セクション装飾） */
.yu-concept-section, .yu-target-section {
	padding: 60px 20px !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
}

.yu-target-card {
	background: #fff !important;
	border: 1px solid rgba(0,0,0,.12) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.06) !important;
	transition: transform .25s ease !important;
}

.yu-target-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 18px 38px rgba(0,0,0,.10) !important;
}

/* 5) スマホ対応 */
@media (max-width: 768px) {
	.yu-bg {
		height: 450px !important;
		min-height: 60vh !important;
	}
	
	.yu-copy-main {
		font-size: 44px !important;
		letter-spacing: .08em !important;
	}
	
	.yu-concept-section, .yu-target-section {
		padding: 40px 15px !important;
	}
}

/* 6) 共通ボタン（以前の設定を継承） */
.wp-block-button__link, .yu-btn-outline {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 40px !important;
	min-height: 54px !important;
	border: 1px solid #1F2A44 !important;
	color: #1F2A44 !important;
	background: transparent !important;
	text-decoration: none !important;
	transition: .25s ease;
}

.wp-block-button__link:hover, .yu-btn-outline:hover {
	background: #1F2A44 !important;
	color: #fff !important;
}

/* --- 共通・ベース --- */
.yu-bg, .yu-concept-section, .yu-target-section {
	font-family: 'Hiragino Mincho ProN', 'serif';
	color: #1F2A44;
}

/* --- スライダーセクション --- */
.yu-bg {
	position: relative;
	width: 100%;
	height: clamp(450px, 75vh, 650px);
	background: #1F2A44;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.yu-hero, .yu-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.yu-slider img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	animation: yuHeroFade 24s infinite;
}

.yu-slider img:nth-child(1) {
	animation-delay: 0;
}

.yu-slider img:nth-child(2) {
	animation-delay: 8s;
}

.yu-slider img:nth-child(3) {
	animation-delay: 16s;
}

@keyframes yuHeroFade {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	
	5% {
		opacity: 1;
	}
	
	33% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1.0);
	}
	
	100% {
		opacity: 0;
	}
}

/* メインタイトル */
.yu-copy-main {
	position: relative;
	z-index: 10;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 10vw, 85px);
	font-weight: 500;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.5);
}

.yu-copy-main span {
	display: inline-block;
	opacity: 0;
	animation: yuTextUp 1.2s ease forwards;
	animation-delay: calc(0.3s + (var(--i) * 0.1s));
}

@keyframes yuTextUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.yu-amp {
	display: inline-block;
	margin: 0 -.1em;
	transform: scale(0.9);
}

/* --- コンセプトセクション --- */
.yu-concept-section {
	max-width: 1100px;
	margin: 60px auto;
	padding: 0 20px;
}

.yu-concept-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
}

.yu-concept-logo {
	flex: 0 0 300px;
	text-align: center;
}

.yu-concept-logo img {
	width: 100%;
	max-width: 280px;
	height: auto;
}

.yu-concept-content {
	flex: 1;
	min-width: 320px;
	border-left: 1px solid #C8A96A;
	padding-left: 30px;
}

.yu-concept-content h2 {
	margin: 0 0 20px;
	letter-spacing: .05em;
	line-height: 1.6;
	font-weight: 600;
	font-size: clamp(1rem, 4vw, 1.2rem);
}

.yu-concept-content p {
	font-size: .9rem;
	color: #444;
	margin: 0 0 15px;
	line-height: 1.8;
}

.yu-btn-outline {
	display: inline-block;
	padding: 10px 50px;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	letter-spacing: .15em;
}

/* --- こんな方にセクション --- */
.yu-target-section {
	max-width: 1100px;
	margin: 50px auto;
	padding: 0 20px;
}

.yu-section-header {
	text-align: center;
	margin-bottom: 25px;
}

.yu-sub-title {
	font-size: .7rem;
	color: #C8A96A;
	letter-spacing: .2em;
	margin-bottom: 5px;
	font-weight: bold;
}

.yu-section-header h2 {
	font-size: 1.3rem;
	letter-spacing: .15em;
	font-weight: 500;
	margin: 0;
}

.yu-line {
	width: 25px;
	height: 1px;
	background-color: #C8A96A;
	margin: 10px auto;
}

.yu-target-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	justify-content: center;
}

.yu-target-card {
	flex: 1 1 280px;
	max-width: 340px;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 4px 10px rgba(0,0,0,0.02);
	border: 1px solid #f9f9f9;
}

.yu-target-card img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.yu-card-body {
	padding: 15px;
	text-align: center;
}

.yu-card-body p {
	font-size: .85rem;
	line-height: 1.5;
	margin: 0;
}

.yu-target-footer {
	text-align: center;
	margin-top: 20px;
	font-size: .75rem;
	color: #888;
}

/* スマホ用微調整 */
@media (max-width: 768px) {
	.yu-concept-content {
		border-left: none;
		padding-left: 0;
		text-align: center;
	}
	
	.yu-target-card {
		flex: 1 1 45%;
		min-width: 140px;
	}/* スマホで2列 */
	
}



/* ヘッダー全体の共通設定 */
.yu-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	padding: 15px 40px;
	box-sizing: border-box;
}

/* 中身を包むコンテナ */
.yu-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

/* 右側の2段エリア */
.yu-header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* 1段目と2段目共通の横並び設定 */
.yu-nav-row {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* メニューのリンク文字 */
.yu-nav-row a {
	color: #ffffff;
	text-decoration: none;
	font-family: "Hiragino Mincho ProN", "YuMincho", serif;
	font-size: 11px;
	letter-spacing: -.02em;
	white-space: nowrap;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* ボタンの装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff;
	padding: 4px 12px;
}

.yu-btn-reserve {
	background: #C8A96A;
	color: #1F2A44 !important;
	padding: 4px 18px;
	font-weight: bold;
}

/* スマホ対応 */
@media (max-width: 768px) {
	.yu-site-header {
		padding: 10px 15px;
		position: relative;
		background: #1F2A44;
	}
	
	.yu-header-inner {
		flex-direction: column;
		align-items: center;
	}
	
	.yu-header-right {
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
}

/* ヘッダーの基本レイアウト */
.yu-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	padding: 15px 40px;
	box-sizing: border-box;
}

.yu-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.yu-header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* 横並び・右寄せの共通設定 */
.yu-nav-row {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* 文字デザイン */
.yu-nav-row a {
	color: #ffffff !important;
	text-decoration: none;
	font-family: 'Hiragino Mincho ProN', serif;
	font-size: 11px;
	letter-spacing: -.02em;
	white-space: nowrap;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* ロゴとアイコンの調整 */
.yu-header-logo {
	height: 55px;
	width: auto;
	filter: brightness(0) invert(1);
}

.yu-white-icon {
	filter: brightness(0) invert(1);
}

.yu-icon-link {
	padding: 0 !important;
	border: none !important;
}

/* ボタン装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff;
	padding: 4px 12px;
}

.yu-btn-reserve {
	background: #C8A96A;
	color: #1F2A44 !important;
	padding: 4px 18px;
	font-weight: bold;
	text-shadow: none !important;
}

/* スマホ対応 */
@media (max-width: 768px) {
	.yu-site-header {
		position: relative;
		background: #1F2A44;
		padding: 10px 15px;
	}
	
	.yu-header-inner {
		flex-direction: column;
		align-items: center;
	}
	
	.yu-header-right {
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
	
	.yu-nav-row {
		justify-content: center;
		gap: 10px;
	}
}

/* 1. スマホでのヘッダー配置を安定させる */
@media (max-width: 768px) {
	/* ヘッダーを画像に重ねず、背景色を付けて独立させる */
	.yu-site-header {
		position: relative !important;
		background: #1F2A44 !important;
	/* ロゴ共通のネイビー */
		padding: 10px 10px 20px !important;
		width: 100% !important;
		height: auto !important;
	}
	
	.yu-header-inner {
		flex-direction: column !important;
		align-items: center !important;
		gap: 10px !important;
	}
	
	/* 2. ロゴのサイズをスマホ用に最適化 */
	.yu-header-logo {
		height: 35px !important;
		margin-bottom: 5px !important;
	}
	
	/* 3. 右側エリア全体を中央に寄せる */
	.yu-header-right {
		align-items: center !important;
		width: 100% !important;
		gap: 12px !important;
	}
	
	/* 4. 文字を白く、サイズを適切に調整 */
	.yu-nav-row a {
		color: #ffffff !important;
		font-size: 12px !important;
		text-shadow: none !important;
	/* 背景があるため影は不要 */
		letter-spacing: .02em !important;
		padding: 4px 0 !important;
	}
	
	/* 5. 2段目のメニュー：横並びを維持しつつ中央揃え */
	nav.yu-nav-row {
		justify-content: center !important;
		gap: 10px 12px !important;
	/* 項目が多いため適宜改行を許可 */
		width: 100% !important;
	}
	
	/* 6. お問い合わせ・予約ボタンのサイズ調整 */
	.yu-btn-contact, .yu-btn-reserve {
		font-size: 11px !important;
		padding: 6px 12px !important;
		min-width: 80px !important;
		text-align: center !important;
	}
	
	/* 7. SNSアイコン */
	.yu-action-row {
		gap: 15px !important;
		margin-bottom: 5px !important;
	}
}

/* --- 共通：ヘッダーをスライダーに重ねる --- */
.yu-site-header {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 9999 !important;
	padding: 20px 0 !important;
	box-sizing: border-box !important;
}

.yu-header-inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	padding: 0 40px !important;
}

/* 右側の2段エリア */
.yu-header-right {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 8px !important;
}

/* 段ごとの横並び設定 */
.yu-nav-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 15px !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;
}

/* 文字デザイン */
.yu-nav-row a {
	color: #ffffff !important;
	text-decoration: none !important;
	font-family: "Hiragino Mincho ProN", serif !important;
	font-size: 13px !important;
	letter-spacing: -.02em !important;
	white-space: nowrap !important;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6) !important;
}

/* ボタン装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff !important;
	padding: 4px 12px !important;
}

.yu-btn-reserve {
	background: #C8A96A !important;
	color: #1F2A44 !important;
	padding: 4px 18px !important;
	font-weight: bold !important;
	text-shadow: none !important;
}

/* --- スマホ専用：崩れと重なりを解消 --- */
@media (max-width: 768px) {
	.yu-site-header {
		position: relative !important;
	/* 重ねず独立させる */
		background: #1F2A44 !important;
	/* ネイビー背景 */
		padding: 15px 10px !important;
	}
	
	.yu-header-inner {
		flex-direction: column !important;
	/* 縦に積む */
		align-items: center !important;
		padding: 0 10px !important;
	}
	
	.yu-header-right {
		align-items: center !important;
		width: 100% !important;
		margin-top: 10px !important;
	}
	
	.yu-nav-row {
		justify-content: center !important;
		flex-wrap: wrap !important;
	/* 2行以上に分ける */
		gap: 8px 12px !important;
		width: 100% !important;
	}
	
	.yu-nav-row a {
		font-size: 12px !important;
	}
}



/* ===== ヘッダーを2段構造にする ===== */
/* ヘッダー全体を縦並びに */
header .wp-block-group,
header .wp-block-columns {
	flex-direction: column !important;
}

/* 1段目 */
header .wp-block-columns:first-child {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

/* 2段目ナビ */
header .wp-block-navigation {
	margin-top: 20px !important;
	display: flex !important;
	justify-content: center !important;
}

/* ナビ項目間隔 */
header .wp-block-navigation__container {
	gap: 32px !important;
}

header .wp-block-navigation {
	border-top: 1px solid rgba(255,255,255,.2);
	padding-top: 18px;
}

/* ===============================
   スマホ専用ヘッダー整理
================================ */
@media (max-width: 768px) {
	/* ヘッダー高さ固定 */
	header,
					  .site-header {
		height: 70px !important;
		padding: 0 16px !important;
		display: flex !important;
		align-items: center !important;
	}
	
	/* 2段構造をやめる */
	header .wp-block-group,
					  header .wp-block-columns {
		flex-direction: row !important;
	}
	
	/* 上段ボタン非表示 */
	header .wp-block-button,
					  header .wp-block-buttons,
					  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ナビはハンバーガー化 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* ロゴサイズ調整 */
	header img {
		height: 36px !important;
		width: auto !important;
	}
}

/* ===============================
   スマホヘッダー完全整理
================================ */
@media (max-width: 768px) {
	/* ヘッダー固定 */
	header,
				  .site-header {
		height: 70px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0 16px !important;
	}
	
	/* 2段構造解除 */
	header .wp-block-group,
				  header .wp-block-columns {
		flex-direction: row !important;
	}
	
	/* PCナビ非表示 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガー表示 */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* 上段ボタン非表示 */
	header .wp-block-buttons,
				  header .wp-block-button,
				  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ナビ背景色を削除 */
	header .wp-block-navigation {
		background: transparent !important;
		border: none !important;
	}
}

/* ===============================
   HEADER RESET (only neutralize header overrides)
================================ */
/* 1) これまでの header 強制レイアウトを無効化 */
header,
header.wp-block-template-part,
header .wp-block-group,
header .wp-block-columns,
header nav.wp-block-navigation,
header .wp-block-navigation__container,
header .wp-block-navigation__responsive-container,
header .wp-block-navigation__responsive-container-content {
}


/* 3) PCナビを普通に横並び */
@media (min-width:769px) {
	header .wp-block-navigation__container {
		display: flex;
		gap: 24px;
	}
}

/* 4) スマホはハンバーガーを使う */
@media (max-width:768px) {
	header .wp-block-navigation__container {
		display: none;
	}
	
	header .wp-block-navigation__responsive-container-open {
		display: block;
	}
}


/* =======================
   スマホ完全修正
======================= */

	
	/* PCナビ消す */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガー出す */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* ボタン・SNS消す */
	header .wp-block-buttons,
				  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ロゴサイズ */
	header img {
		height: 34px !important;
	}
}

/* ===================================
   HEADER TOTAL RESET (最終強制リセット)
=================================== */
@media (max-width:768px) {
	/* すべてのheader強制レイアウトを無効化 */
	header,
				  header * {
	}
	
	/* ヘッダーだけ最低限再定義 */
	header {
		position: relative !important;
		background: #1F2A44 !important;
		padding: 10px 15px !important;
	}
	
	/* ロゴサイズ */
	header img {
		height: 34px !important;
		width: auto !important;
	}
}


	
	/* PCナビ消す */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガー表示 */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* ボタン・SNS消す */
	header .wp-block-buttons,
				  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ロゴサイズ */
	header img {
		height: 32px !important;
		width: auto !important;
	}
}

/* ===================================
   スマホ：ヒーローをフル幅に戻す
=================================== */
@media (max-width:768px) {
	/* ヒーローセクションを画面いっぱいに */
	.yu-bg {
		width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		max-width: 100vw !important;
	}
	
	/* 画像もフル幅 */
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
	}
}

/* ===================================
   スマホ：ヒーローを完全フル幅化（最終版）
=================================== */
@media (max-width:768px) {
	/* ページ全体の横制限解除 */
	.wp-site-blocks,
				  main,
				  .wp-block-group {
		max-width: 100% !important;
	}
	
	/* ヒーローを画面幅いっぱいに */
	.yu-bg {
		position: relative !important;
		width: 100vw !important;
		left: 50% !important;
		right: 50% !important;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		max-width: 100vw !important;
	}
}

/* ===================================
   スマホ：ハンバーガーメニュー強制表示
=================================== */
@media (max-width:768px) {
	/* PCナビは非表示 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーボタン強制表示 */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	/* 閉じるボタンも有効化 */
	header .wp-block-navigation__responsive-container-close {
		display: block !important;
	}
	
	/* ナビ全体を通常モードに戻す */
	header .wp-block-navigation__responsive-container {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100vh !important;
		background: #1F2A44 !important;
		z-index: 9999 !important;
	}
}

/* ===== スマホヘッダー修正 ===== */
@media (max-width: 768px) {
	header {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9999;
	}
	
	/* スライダーに余白を作る */
	.wp-block-cover,
				.wp-block-group:first-of-type {
		padding-top: 80px !important;
	}
	
	/* ハンバーガーを強制表示 */
	.wp-block-navigation__responsive-container-open {
		display: block !important;
		position: absolute;
		right: 20px;
		top: 25px;
		z-index: 9999;
	}
	
	/* ナビ線を消す */
	.wp-block-navigation {
		border: none !important;
	}
}

/* ===== スマホ完全リセット ===== */
@media (max-width: 768px) {
	header {
		position: relative !important;
		background: #1f2a44;
		z-index: 1000;
	}
	
	/* ハンバーガーを確実に表示 */
	.wp-block-navigation__responsive-container-open {
		display: block !important;
		position: absolute;
		right: 20px;
		top: 20px;
		color: #fff;
	}
	
	/* ナビ線削除 */
	.wp-block-navigation {
		border: none !important;
	}
}

/* ===== スマホでハンバーガーを正しく表示 ===== */
@media (max-width:768px) {
	/* PCナビは隠す */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーボタン表示 */
	header .wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	/* メニュー開閉エリアをWordPress標準に戻す */
	header .wp-block-navigation__responsive-container {
		position: fixed !important;
		width: 100% !important;
		height: 100vh !important;
		background: #1F2A44 !important;
		z-index: 9999 !important;
	}
}

/* ===== 強制ハンバーガー復活 ===== */
@media (max-width:768px) {
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		z-index: 99999 !important;
	}
	
	.wp-block-navigation__container {
		display: none !important;
	}
}


/* ===============================
   フッターをフル幅に戻す
================================= */
footer,
.wp-block-template-part.footer,
.site-footer {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}


/* ===============================
   スマホ横ズレ完全修正
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	.wp-site-blocks,
		  .yu-bg,
		  .wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	/* 100vwを強制無効化 */
	[style*="100vw"],
		  footer,
		  .site-footer {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* ===============================
   スライダー完全リセット（スマホ）
================================= */
@media (max-width:768px) {
	.yu-bg {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		left: 0 !important;
		right: 0 !important;
		overflow: hidden !important;
	}
	
	.yu-slider,
		  .yu-hero {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}
	
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		left: 0 !important;
	}
}

/* ===============================
   スマホ ハンバーガー復活
================================= */
@media (max-width:768px) {
	/* PCナビは消すけど */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーは必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}

/* ===============================
   スマホ：YOU Relax & Bodywork 1行固定
================================= */
@media (max-width:768px) {
	.yu-copy-main {
		white-space: nowrap !important;
		font-size: clamp(26px,6vw,40px) !important;
		letter-spacing: .08em !important;
	}
}

/* ===============================
   スマホナビ 正常動作版
================================= */
@media (max-width:768px) {
	/* ハンバーガー必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	
	/* 通常ナビは隠す（開いた時は表示される） */
	.wp-block-navigation__container {
		display: flex !important;
	}
}

/* ===============================
   スマホナビ 正常動作版
================================= */
@media (max-width:768px) {
	/* ハンバーガー必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	
	/* 通常ナビは隠す（開いた時は表示される） */
	.wp-block-navigation__container {
		display: flex !important;
	}
}

/* ===============================
   お客様の声 横3列レイアウト
================================= */
@media (min-width:769px) {
	.yu-voice-wrapper {
		display: flex !important;
		gap: 40px !important;
		align-items: stretch !important;
	}
	
	.yu-voice-wrapper > div {
		flex: 1 !important;
		display: flex !important;
		flex-direction: column !important;
	}
}

/* ===============================
   お客様の声 横3列化
================================= */
.yu-voice-wrapper {
	display: flex;
	gap: 30px;
}

/* PCのみ横並びにしたい場合 */
@media (max-width:768px) {
	.yu-voice-wrapper {
		flex-direction: column;
	}
}

/* ===============================
   お客様の声 センター補正
================================= */
.yu-voice-wrapper {
	display: flex;
	gap: 30px;
	justify-content: center;
/* ← これが重要 */
}

.yu-voice-wrapper > div {
	max-width: 340px;
/* カード幅を固定 */
	width: 100%;
}

/* ===============================
   全体フォントを明朝に統一
================================= */
body,
.wp-site-blocks,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
h1, h2, h3, h4, h5, h6,
p,
a,
span,
li {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif !important;
}

/* /* ===============================
   PC 横幅 正しい拡張方法
================================= */
@media (min-width:1024px) {
	.wp-site-blocks {
		max-width: 1400px !important;
		margin: 0 auto !important;
	}
}

/* ===============================
   全体ボタン ホバーアニメーション
================================= */
.wp-block-button__link,
.yu-btn-outline,
button,
input[type="submit"] {
	transition: all .3s ease;
}

/* ホバー時 */
.wp-block-button__link:hover,
.yu-btn-outline:hover,
button:hover,
input[type="submit"]:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0,0,0,.25);
}

/* クリック時 */
.wp-block-button__link:active,
button:active {
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(0,0,0,.2);
}

/* ===============================
   全体センター安定化リセット
================================= */
html, body {
	overflow-x: hidden;
}

.wp-site-blocks {
	max-width: 1400px;
	width: 92%;
	margin: 0 auto;
}

section {
	margin-left: auto;
	margin-right: auto;
}

@media (min-width:1200px) {
	.wp-site-blocks {
		max-width: 1600px;
	}
}

/* サイト全体をフルワイド化 */
.wp-site-blocks,
.alignwide,
.alignfull {
	max-width: 100% !important;
	width: 100% !important;
}

/* 中央寄せ制限を解除 */
.wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* 横スクロール防止 */
body {
	overflow-x: hidden;
}

/* LINEアイコン拡大 */
a[href*="line"] img,
.line-icon img {
	width: 100px !important;
	height: 100px !important;
}

/* 右側地図を拡大 */
.wp-block-column:last-child iframe,
.wp-block-column:last-child img {
	width: 100% !important;
	height: 420px !important;
}

/* アクセスセクション カラム比率固定 */
.wp-block-columns {
	align-items: flex-start;
}

.wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 40%;
}

.wp-block-columns > .wp-block-column:last-child {
	flex: 0 0 60%;
}

/* 地図サイズ調整 */
.wp-block-columns > .wp-block-column:last-child iframe {
	width: 100%;
	height: 450px;
}

/* 横ズレ完全修正 */
html, body {
	overflow-x: hidden;
}

.wp-site-blocks {
	margin: 0 auto !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wp-block-group,
.wp-block-columns {
	margin-left: auto !important;
	margin-right: auto !important;
}

.yu-access-clean-text {
	width: 100%;
	max-width: 100%;
	font-family: "Hiragino Mincho ProN", serif;
	color: #444;
	line-height: 1.8;
}

/* アクセスセクション横幅拡張 */
.yu-access-clean-text {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/* カラム全体を広げる */
.wp-block-columns {
	max-width: 1400px;
	margin: 0 auto;
}

.wp-block-columns {
	max-width: 1500px;
}

.yu-access-clean-text {
	padding-top: 40px;
	padding-bottom: 40px;
}

/* 横ズレ完全リセット */
html, body {
	overflow-x: hidden !important;
}

* {
	box-sizing: border-box;
}

/* 100vwを使っている要素を強制修正 */
[class*="yu-"],
.wp-block-group,
.wp-block-columns,
.wp-site-blocks {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Relax & Bodywork を1行固定 */
.yu-copy-main {
	white-space: nowrap;
}

/* 文字がはみ出さないように中央固定 */
.yu-wrap-horizontal {
	text-align: center;
}

/* PCは1行固定 */
@media (min-width:769px) {
	.yu-copy-main {
		white-space: nowrap;
	}
}

/* スマホは少し縮小 */
@media (max-width:768px) {
	.yu-copy-main {
		font-size: 34px !important;
		white-space: nowrap;
	}
}

.yu-copy-main {
	text-align: center;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.yu-copy-main span {
	display: inline-block;
}

.yu-copy-main br {
	display: block;
}

.yu-copy-main {
	letter-spacing: .05em;
}

/* =================================
   HERO タイトル 最終固定
================================= */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

.yu-copy-main br {
	display: block !important;
}

.yu-copy-main span {
	display: inline-block !important;
}

/* Relax & Bodywork を1行に固定 */
.yu-copy-main span:nth-last-child(-n+8) {
	white-space: nowrap !important;
}

/* スマホ最適化 */
@media(max-width:768px) {
	.yu-copy-main {
		font-size: 32px !important;
	}
}

/* HERO タイトル最終固定 */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

.yu-copy-main br {
	display: block !important;
}

.yu-copy-main {
	font-size: clamp(36px,6vw,80px) !important;
}

/* ===============================
   全体センター強制修正
================================= */
html, body {
	overflow-x: hidden !important;
}

.wp-site-blocks {
	width: 100% !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	box-sizing: border-box !important;
}

/* メニューセクション中央 */
section {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ===============================
   レイアウト完全安定版
================================= */
/* サイト全体を中央基準に統一 */
.wp-site-blocks {
	max-width: 1400px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

/* ヒーローは中央基準に戻す */
.yu-bg {
	width: 100% !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	left: 0 !important;
	transform: none !important;
}

/* ===============================
   HEROだけフル幅・他は中央固定
================================= */
/* ① ヒーローは画面いっぱい */
.yu-bg {
	position: relative !important;
	width: 100vw !important;
	left: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	max-width: 100vw !important;
}

/* ② サイト本文は中央固定 */
.wp-site-blocks {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

/* ③ 横ズレ防止 */
html, body {
	overflow-x: hidden !important;
}

/* ===============================
   Reservation エリア洗練
================================= */
section[style*="Reservation"] {
	max-width: 560px !important;
	margin: 80px auto !important;
	padding: 45px 40px !important;
	background: #f7f3ec !important;
	border: 1px solid rgba(31,42,68,.1) !important;
}

/* ボタンを軽くする */
section[style*="Reservation"] a {
	background: #fff !important;
	transition: all .3s ease;
}

section[style*="Reservation"] a:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/* ===============================
   BLOG エリア整形
================================= */
section[style*="BLOG"] {
	max-width: 800px !important;
	margin: 60px auto 120px !important;
	padding: 35px 40px !important;
	background: #f8f5ef !important;
	border: 1px solid rgba(31,42,68,.08) !important;
}

/* BLOGタイトル余白 */
section[style*="BLOG"] h2 {
	font-size: 1.3rem !important;
	letter-spacing: .15em !important;
}

/* ===============================
   MESSAGE + IMAGE ZONE 整形
================================= */
.yu-message-wrap {
	max-width: 1100px;
	margin: 120px auto 80px;
	padding: 0 20px;
}

.yu-message-section {
	text-align: center;
	margin-bottom: 70px;
}

.yu-message-title {
	font-size: clamp(30px,4vw,42px);
	letter-spacing: .25em;
	margin-bottom: 30px;
	position: relative;
	display: inline-block;
}

.yu-message-title::after {
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	background: #C8A96A;
	margin: 30px auto 0;
}

.yu-message-sub {
	font-size: 18px;
	letter-spacing: .18em;
	margin-bottom: 40px;
	opacity: .85;
}

.yu-message-text {
	font-size: 16px;
	letter-spacing: .12em;
	line-height: 2;
	color: #444;
}

.yu-message-sub {
	white-space: nowrap;
	display: inline-block;
}

.yu-message-title {
	white-space: normal;
	letter-spacing: .18em;
}

.site-logo,
.site-title {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.site-description {
	display: inline;
	margin-left: 8px;
}

.logo_text {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.logo_text p {
	display: inline;
	margin: 0;
}

.logo_text {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.logo_text .site-title {
	font-weight: 700;
	letter-spacing: .05em;
}

.logo_text .site-description {
	font-size: 14px;
	opacity: .8;
}

.yu-copy-main {
	white-space: nowrap;
}

.yu-copy-main {
	white-space: nowrap;
	font-size: clamp(28px, 6vw, 90px);
}

/* HEROタイトル最終固定 */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

/* Relax & Bodywork を1行に固定 */
.yu-copy-main br {
	display: block !important;
}

.yu-copy-main span:nth-child(n+4) {
	white-space: nowrap !important;
}

.yu-message-title {
	white-space: nowrap;
}

/* ===============================
   メッセージ スマホだけ改行
================================= */
@media (max-width:768px) {
	.yu-message-title {
		white-space: normal !important;
		font-size: 24px !important;
		letter-spacing: .15em !important;
		line-height: 1.6 !important;
	}
}

/* ===============================
   メッセージ スマホ改行調整
================================= */
@media (max-width:768px) {
	.yu-message-title {
		white-space: normal !important;
		font-size: 24px !important;
		letter-spacing: .15em !important;
		line-height: 1.6 !important;
	}
	
	.yu-message-sub {
		white-space: normal !important;
		font-size: 16px !important;
		letter-spacing: .12em !important;
		line-height: 1.8 !important;
	}
}

/* =================================
   スマホ 横ズレ完全リセット
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	/* サイト全体 */
	.wp-site-blocks,
	  main,
	  .wp-block-group,
	  .wp-block-columns,
	  section,
	  .alignwide,
	  .alignfull {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	/* 100vwを使っている要素を無効化 */
	[style*="100vw"],
	  .yu-bg {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* =================================
   スマホ 強制フル幅固定（最終）
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	/* サイト本体を100%に固定 */
	.wp-site-blocks {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	/* 全セクションをフル幅 */
	.wp-block-group,
	  .wp-block-columns,
	  section,
	  main {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media (max-width:768px) {
	* {
		max-width: 100% !important;
	}
}

/* =========================================================
   1. 基本設定（スマホで文字がはみ出さないようにガード）
========================================================= */
body {
	overflow-x: hidden !important;
/* 横揺れ防止の絶対ルール */
	width: 100% !important;
}

/* =========================================================
   2. メニュー & 各種カード（スマホ最適化）
========================================================= */
/* スマホ（1000px以下）の表示設定 */
@media (max-width: 1000px) {
	/* 横並びを解除して縦1列に */
	.menu-cards .wp-block-columns,
											    .yu-menu-full-section,
											    .wp-block-columns {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	/* 各カード：画面幅に収まるよう調整 */
	.menu-cards .wp-block-column,
											    .wp-block-column {
		width: 92% !important;
	/* 画面の左右に少しだけ隙間を作る */
		max-width: 500px !important;
	/* 大きなスマホでも広がりすぎない */
		margin: 0 auto 20px !important;
	/* 中央寄せ ＋ 下の余白 */
		padding: 20px !important;
		box-sizing: border-box !important;
		display: block !important;
		float: none !important;
	}
	
	/* 画像：横幅いっぱいで高さを固定 */
	.menu-cards .wp-block-image img,
											    .menu-cards img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 9 !important;
	/* スマホで最も綺麗な比率 */
		object-fit: cover !important;
	}
}

/* =========================================================
   3. お客様の声（スマホ横スワイプ対応）
========================================================= */
@media (max-width: 768px) {
	.yu-voice-section .wp-block-columns {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
	/* 横スクロール有効 */
		gap: 15px !important;
		padding: 0 20px 20px !important;
	}
	
	.yu-voice-section .wp-block-column {
		flex: 0 0 85% !important;
	/* 1枚を85%幅にしてチラ見せ */
		max-width: 85% !important;
		height: auto !important;
		min-height: 350px !important;
	/* 高さを自然に確保 */
	}
}

/* =========================================================
   4. ヘッダー（スマホで重ならないように）
========================================================= */
@media (max-width: 768px) {
	.yu-header {
		position: relative !important;
	/* HERO画像の上に重ねない */
		background: #fff !important;
		padding: 10px 0 !important;
	}
	
	.yu-copy-main {
		font-size: 38px !important;
	/* 店名の文字サイズを適正化 */
		margin-top: 10px !important;
	}
}

/* =========================================================
   5. PC表示（大きな画面での洗練レイアウト維持）
========================================================= */
@media (min-width: 1025px) {
	.menu-cards .wp-block-columns {
		display: flex !important;
		align-items: stretch !important;
		justify-content: center !important;
		gap: 20px !important;
	}
	
	.menu-cards .wp-block-column {
		flex: 1 !important;
		max-width: 320px !important;
	}
}

/* =========================================================
   HERO AREA（スライダー）の完全修正
========================================================= */
/* 1. 全体の土台：ここで高さを絶対死守する */
.yu-bg {
	position: relative !important;
	width: 100% !important;
/* PCでの高さ設定 */
	height: 600px !important;
	min-height: 70vh !important;
	background: #1F2A44 !important;
/* 画像読み込み前の予備色 */
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

/* 2. スライダーコンテナ：親の高さ100%を維持 */
.yu-hero, .yu-slider {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 1 !important;
}

/* 3. 画像：アスペクト比を無視せず画面いっぱいに広げる */
.yu-slider img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
/* これで隙間を埋める */
	opacity: 0;
	animation: yuHeroAnim 24s infinite;
}

/* 4. 文字レイヤー：画像の上に必ず乗せる */
.yu-wrap-horizontal {
	position: relative !important;
	z-index: 10 !important;
/* 画像(1)より上に */
	width: 100% !important;
	text-align: center !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

/* 5. スマホ専用：高さをスマホに最適化 */
@media (max-width: 768px) {
	.yu-bg {
		height: 500px !important;
	/* スマホで見やすい高さに固定 */
		min-height: 50vh !important;
	}
	
	.yu-copy-main {
		font-size: clamp(32px, 8vw, 44px) !important;
	/* 画面幅に合わせて自動縮小 */
		line-height: 1.2 !important;
	}
}

/* アニメーション（以前のものを微調整） */
@keyframes yuHeroAnim {
	0% {
		opacity: 0;
		transform: scale(1.05);
	}
	
	5% {
		opacity: 1;
	}
	
	30% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1);
	}
	
	100% {
		opacity: 0;
	}
}

/* =========================================================
   YOU Relaxation & Body Care 統合CSS（整理・復旧版）
========================================================= */
/* 1) ベース（フォント/全体） */
body, button, input, textarea, select {
	font-family: "Noto Sans JP", "Hiragino Mincho ProN", sans-serif !important;
	font-weight: 400;
	letter-spacing: .03em;
	color: #1F2A44;
}

h1,h2,h3,h4,h5,h6 {
	font-family: "Noto Sans JP", sans-serif !important;
	font-weight: 600;
	letter-spacing: .05em;
	color: #1F2A44;
}

/* 2) HERO（背景スライダー＋文字アニメ）★元の動きを再現 */
.yu-bg {
	position: relative !important;
	width: 100% !important;
	height: 600px !important;
	min-height: 70vh !important;
	background: #333 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.yu-hero, .yu-slider {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 0 !important;
}

.yu-slider img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	opacity: 0;
	animation: yuHero 24s infinite;
}

@keyframes yuHero {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	
	5% {
		opacity: 1;
	}
	
	30% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1.0);
	}
	
	100% {
		opacity: 0;
	}
}

.yu-slider img:nth-child(1) {
	animation-delay: 0;
}

.yu-slider img:nth-child(2) {
	animation-delay: 8s;
}

.yu-slider img:nth-child(3) {
	animation-delay: 16s;
}

/* 3) 店名の1文字アニメーション ＋ サイズ調整 */
.yu-wrap-horizontal {
	position: relative !important;
	z-index: 5 !important;
	text-align: center !important;
	width: 100%;
}

.yu-copy-main {
	display: block !important;
	font-size: 80px !important;
	font-weight: 500 !important;
	letter-spacing: .12em !important;
	line-height: 1.2 !important;
	color: #fff !important;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.4) !important;
	text-align: center !important;
}

.yu-copy-main span {
	display: inline-block !important;
	opacity: 0;
	transform: translateY(20px);
	animation: yuFadeTextUp 1.5s ease forwards;
	animation-delay: calc(0.5s + (var(--i) * 0.1s));
}

@keyframes yuFadeTextUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 4) コンセプト・こんな方に（セクション装飾） */
.yu-concept-section, .yu-target-section {
	padding: 60px 20px !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
}

.yu-target-card {
	background: #fff !important;
	border: 1px solid rgba(0,0,0,.12) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.06) !important;
	transition: transform .25s ease !important;
}

.yu-target-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 18px 38px rgba(0,0,0,.10) !important;
}

/* 5) スマホ対応 */
@media (max-width: 768px) {
	.yu-bg {
		height: 450px !important;
		min-height: 60vh !important;
	}
	
	.yu-copy-main {
		font-size: 44px !important;
		letter-spacing: .08em !important;
	}
	
	.yu-concept-section, .yu-target-section {
		padding: 40px 15px !important;
	}
}

/* 6) 共通ボタン（以前の設定を継承） */
.wp-block-button__link, .yu-btn-outline {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 40px !important;
	min-height: 54px !important;
	border: 1px solid #1F2A44 !important;
	color: #1F2A44 !important;
	background: transparent !important;
	text-decoration: none !important;
	transition: .25s ease;
}

.wp-block-button__link:hover, .yu-btn-outline:hover {
	background: #1F2A44 !important;
	color: #fff !important;
}

/* --- 共通・ベース --- */
.yu-bg, .yu-concept-section, .yu-target-section {
	font-family: 'Hiragino Mincho ProN', 'serif';
	color: #1F2A44;
}

/* --- スライダーセクション --- */
.yu-bg {
	position: relative;
	width: 100%;
	height: clamp(450px, 75vh, 650px);
	background: #1F2A44;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.yu-hero, .yu-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.yu-slider img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	animation: yuHeroFade 24s infinite;
}

.yu-slider img:nth-child(1) {
	animation-delay: 0;
}

.yu-slider img:nth-child(2) {
	animation-delay: 8s;
}

.yu-slider img:nth-child(3) {
	animation-delay: 16s;
}

@keyframes yuHeroFade {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	
	5% {
		opacity: 1;
	}
	
	33% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1.0);
	}
	
	100% {
		opacity: 0;
	}
}

/* メインタイトル */
.yu-copy-main {
	position: relative;
	z-index: 10;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 10vw, 85px);
	font-weight: 500;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.5);
}

.yu-copy-main span {
	display: inline-block;
	opacity: 0;
	animation: yuTextUp 1.2s ease forwards;
	animation-delay: calc(0.3s + (var(--i) * 0.1s));
}

@keyframes yuTextUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.yu-amp {
	display: inline-block;
	margin: 0 -.1em;
	transform: scale(0.9);
}

/* --- コンセプトセクション --- */
.yu-concept-section {
	max-width: 1100px;
	margin: 60px auto;
	padding: 0 20px;
}

.yu-concept-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
}

.yu-concept-logo {
	flex: 0 0 300px;
	text-align: center;
}

.yu-concept-logo img {
	width: 100%;
	max-width: 280px;
	height: auto;
}

.yu-concept-content {
	flex: 1;
	min-width: 320px;
	border-left: 1px solid #C8A96A;
	padding-left: 30px;
}

.yu-concept-content h2 {
	margin: 0 0 20px;
	letter-spacing: .05em;
	line-height: 1.6;
	font-weight: 600;
	font-size: clamp(1rem, 4vw, 1.2rem);
}

.yu-concept-content p {
	font-size: .9rem;
	color: #444;
	margin: 0 0 15px;
	line-height: 1.8;
}

.yu-btn-outline {
	display: inline-block;
	padding: 10px 50px;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	letter-spacing: .15em;
}

/* --- こんな方にセクション --- */
.yu-target-section {
	max-width: 1100px;
	margin: 50px auto;
	padding: 0 20px;
}

.yu-section-header {
	text-align: center;
	margin-bottom: 25px;
}

.yu-sub-title {
	font-size: .7rem;
	color: #C8A96A;
	letter-spacing: .2em;
	margin-bottom: 5px;
	font-weight: bold;
}

.yu-section-header h2 {
	font-size: 1.3rem;
	letter-spacing: .15em;
	font-weight: 500;
	margin: 0;
}

.yu-line {
	width: 25px;
	height: 1px;
	background-color: #C8A96A;
	margin: 10px auto;
}

.yu-target-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	justify-content: center;
}

.yu-target-card {
	flex: 1 1 280px;
	max-width: 340px;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 4px 10px rgba(0,0,0,0.02);
	border: 1px solid #f9f9f9;
}

.yu-target-card img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.yu-card-body {
	padding: 15px;
	text-align: center;
}

.yu-card-body p {
	font-size: .85rem;
	line-height: 1.5;
	margin: 0;
}

.yu-target-footer {
	text-align: center;
	margin-top: 20px;
	font-size: .75rem;
	color: #888;
}

/* スマホ用微調整 */
@media (max-width: 768px) {
	.yu-concept-content {
		border-left: none;
		padding-left: 0;
		text-align: center;
	}
	
	.yu-target-card {
		flex: 1 1 45%;
		min-width: 140px;
	}/* スマホで2列 */
	
}



/* ヘッダー全体の共通設定 */
.yu-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	padding: 15px 40px;
	box-sizing: border-box;
}

/* 中身を包むコンテナ */
.yu-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

/* 右側の2段エリア */
.yu-header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* 1段目と2段目共通の横並び設定 */
.yu-nav-row {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* メニューのリンク文字 */
.yu-nav-row a {
	color: #ffffff;
	text-decoration: none;
	font-family: "Hiragino Mincho ProN", "YuMincho", serif;
	font-size: 11px;
	letter-spacing: -.02em;
	white-space: nowrap;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* ボタンの装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff;
	padding: 4px 12px;
}

.yu-btn-reserve {
	background: #C8A96A;
	color: #1F2A44 !important;
	padding: 4px 18px;
	font-weight: bold;
}

/* スマホ対応 */
@media (max-width: 768px) {
	.yu-site-header {
		padding: 10px 15px;
		position: relative;
		background: #1F2A44;
	}
	
	.yu-header-inner {
		flex-direction: column;
		align-items: center;
	}
	
	.yu-header-right {
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
}

/* ヘッダーの基本レイアウト */
.yu-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	padding: 15px 40px;
	box-sizing: border-box;
}

.yu-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.yu-header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* 横並び・右寄せの共通設定 */
.yu-nav-row {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* 文字デザイン */
.yu-nav-row a {
	color: #ffffff !important;
	text-decoration: none;
	font-family: 'Hiragino Mincho ProN', serif;
	font-size: 11px;
	letter-spacing: -.02em;
	white-space: nowrap;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* ロゴとアイコンの調整 */
.yu-header-logo {
	height: 55px;
	width: auto;
	filter: brightness(0) invert(1);
}

.yu-white-icon {
	filter: brightness(0) invert(1);
}

.yu-icon-link {
	padding: 0 !important;
	border: none !important;
}

/* ボタン装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff;
	padding: 4px 12px;
}

.yu-btn-reserve {
	background: #C8A96A;
	color: #1F2A44 !important;
	padding: 4px 18px;
	font-weight: bold;
	text-shadow: none !important;
}

/* スマホ対応 */
@media (max-width: 768px) {
	.yu-site-header {
		position: relative;
		background: #1F2A44;
		padding: 10px 15px;
	}
	
	.yu-header-inner {
		flex-direction: column;
		align-items: center;
	}
	
	.yu-header-right {
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
	
	.yu-nav-row {
		justify-content: center;
		gap: 10px;
	}
}

/* 1. スマホでのヘッダー配置を安定させる */
@media (max-width: 768px) {
	/* ヘッダーを画像に重ねず、背景色を付けて独立させる */
	.yu-site-header {
		position: relative !important;
		background: #1F2A44 !important;
	/* ロゴ共通のネイビー */
		padding: 10px 10px 20px !important;
		width: 100% !important;
		height: auto !important;
	}
	
	.yu-header-inner {
		flex-direction: column !important;
		align-items: center !important;
		gap: 10px !important;
	}
	
	/* 2. ロゴのサイズをスマホ用に最適化 */
	.yu-header-logo {
		height: 35px !important;
		margin-bottom: 5px !important;
	}
	
	/* 3. 右側エリア全体を中央に寄せる */
	.yu-header-right {
		align-items: center !important;
		width: 100% !important;
		gap: 12px !important;
	}
	
	/* 4. 文字を白く、サイズを適切に調整 */
	.yu-nav-row a {
		color: #ffffff !important;
		font-size: 12px !important;
		text-shadow: none !important;
	/* 背景があるため影は不要 */
		letter-spacing: .02em !important;
		padding: 4px 0 !important;
	}
	
	/* 5. 2段目のメニュー：横並びを維持しつつ中央揃え */
	nav.yu-nav-row {
		justify-content: center !important;
		gap: 10px 12px !important;
	/* 項目が多いため適宜改行を許可 */
		width: 100% !important;
	}
	
	/* 6. お問い合わせ・予約ボタンのサイズ調整 */
	.yu-btn-contact, .yu-btn-reserve {
		font-size: 11px !important;
		padding: 6px 12px !important;
		min-width: 80px !important;
		text-align: center !important;
	}
	
	/* 7. SNSアイコン */
	.yu-action-row {
		gap: 15px !important;
		margin-bottom: 5px !important;
	}
}

/* --- 共通：ヘッダーをスライダーに重ねる --- */
.yu-site-header {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 9999 !important;
	padding: 20px 0 !important;
	box-sizing: border-box !important;
}

.yu-header-inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	padding: 0 40px !important;
}

/* 右側の2段エリア */
.yu-header-right {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 8px !important;
}

/* 段ごとの横並び設定 */
.yu-nav-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 15px !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;
}

/* 文字デザイン */
.yu-nav-row a {
	color: #ffffff !important;
	text-decoration: none !important;
	font-family: "Hiragino Mincho ProN", serif !important;
	font-size: 13px !important;
	letter-spacing: -.02em !important;
	white-space: nowrap !important;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6) !important;
}

/* ボタン装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff !important;
	padding: 4px 12px !important;
}

.yu-btn-reserve {
	background: #C8A96A !important;
	color: #1F2A44 !important;
	padding: 4px 18px !important;
	font-weight: bold !important;
	text-shadow: none !important;
}

/* --- スマホ専用：崩れと重なりを解消 --- */
@media (max-width: 768px) {
	.yu-site-header {
		position: relative !important;
	/* 重ねず独立させる */
		background: #1F2A44 !important;
	/* ネイビー背景 */
		padding: 15px 10px !important;
	}
	
	.yu-header-inner {
		flex-direction: column !important;
	/* 縦に積む */
		align-items: center !important;
		padding: 0 10px !important;
	}
	
	.yu-header-right {
		align-items: center !important;
		width: 100% !important;
		margin-top: 10px !important;
	}
	
	.yu-nav-row {
		justify-content: center !important;
		flex-wrap: wrap !important;
	/* 2行以上に分ける */
		gap: 8px 12px !important;
		width: 100% !important;
	}
	
	.yu-nav-row a {
		font-size: 12px !important;
	}
}


/* ===== ヘッダーを2段構造にする ===== */
/* ヘッダー全体を縦並びに */
header .wp-block-group,
header .wp-block-columns {
	flex-direction: column !important;
}

/* 1段目 */
header .wp-block-columns:first-child {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

/* 2段目ナビ */
header .wp-block-navigation {
	margin-top: 20px !important;
	display: flex !important;
	justify-content: center !important;
}

/* ナビ項目間隔 */
header .wp-block-navigation__container {
	gap: 32px !important;
}

header .wp-block-navigation {
	border-top: 1px solid rgba(255,255,255,.2);
	padding-top: 18px;
}

/* ===============================
   スマホ専用ヘッダー整理
================================ */
@media (max-width: 768px) {
	/* ヘッダー高さ固定 */
	header,
					  .site-header {
		height: 70px !important;
		padding: 0 16px !important;
		display: flex !important;
		align-items: center !important;
	}
	
	/* 2段構造をやめる */
	header .wp-block-group,
					  header .wp-block-columns {
		flex-direction: row !important;
	}
	
	/* 上段ボタン非表示 */
	header .wp-block-button,
					  header .wp-block-buttons,
					  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ナビはハンバーガー化 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* ロゴサイズ調整 */
	header img {
		height: 36px !important;
		width: auto !important;
	}
}

/* ===============================
   スマホヘッダー完全整理
================================ */
@media (max-width: 768px) {
	/* ヘッダー固定 */
	header,
				  .site-header {
		height: 70px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0 16px !important;
	}
	
	/* 2段構造解除 */
	header .wp-block-group,
				  header .wp-block-columns {
		flex-direction: row !important;
	}
	
	/* PCナビ非表示 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガー表示 */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* 上段ボタン非表示 */
	header .wp-block-buttons,
				  header .wp-block-button,
				  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ナビ背景色を削除 */
	header .wp-block-navigation {
		background: transparent !important;
		border: none !important;
	}
}


/* ===================================
   HEADER TOTAL RESET (最終強制リセット)
=================================== */
@media (max-width:768px) {
	/* すべてのheader強制レイアウトを無効化 */
	header,
				  header * {
	}
	
	/* ヘッダーだけ最低限再定義 */
	header {
		position: relative !important;
		background: #1F2A44 !important;
		padding: 10px 15px !important;
	}
	
	/* ロゴサイズ */
	header img {
		height: 34px !important;
		width: auto !important;
	}
}



/* ===============================
   スマホ横ズレ完全修正
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	.wp-site-blocks,
		  .yu-bg,
		  .wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	/* 100vwを強制無効化 */
	[style*="100vw"],
		  footer,
		  .site-footer {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* ===============================
   スライダー完全リセット（スマホ）
================================= */
@media (max-width:768px) {
	.yu-bg {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		left: 0 !important;
		right: 0 !important;
		overflow: hidden !important;
	}
	
	.yu-slider,
		  .yu-hero {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}
	
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		left: 0 !important;
	}
}

/* ===============================
   スマホ ハンバーガー復活
================================= */
@media (max-width:768px) {
	/* PCナビは消すけど */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーは必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}

/* ===============================
   スマホ：YOU Relax & Bodywork 1行固定
================================= */
@media (max-width:768px) {
	.yu-copy-main {
		white-space: nowrap !important;
		font-size: clamp(26px,6vw,40px) !important;
		letter-spacing: .08em !important;
	}
}

/* ===============================
   スマホナビ 正常動作版
================================= */
@media (max-width:768px) {
	/* ハンバーガー必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	
	/* 通常ナビは隠す（開いた時は表示される） */
	.wp-block-navigation__container {
		display: flex !important;
	}
}

/* ===============================
   スマホナビ 正常動作版
================================= */
@media (max-width:768px) {
	/* ハンバーガー必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	
	/* 通常ナビは隠す（開いた時は表示される） */
	.wp-block-navigation__container {
		display: flex !important;
	}
}

/* ===============================
   お客様の声 横3列レイアウト
================================= */
@media (min-width:769px) {
	.yu-voice-wrapper {
		display: flex !important;
		gap: 40px !important;
		align-items: stretch !important;
	}
	
	.yu-voice-wrapper > div {
		flex: 1 !important;
		display: flex !important;
		flex-direction: column !important;
	}
}

/* ===============================
   お客様の声 横3列化
================================= */
.yu-voice-wrapper {
	display: flex;
	gap: 30px;
}

/* PCのみ横並びにしたい場合 */
@media (max-width:768px) {
	.yu-voice-wrapper {
		flex-direction: column;
	}
}

/* ===============================
   お客様の声 センター補正
================================= */
.yu-voice-wrapper {
	display: flex;
	gap: 30px;
	justify-content: center;
/* ← これが重要 */
}

.yu-voice-wrapper > div {
	max-width: 340px;
/* カード幅を固定 */
	width: 100%;
}

/* ===============================
   全体フォントを明朝に統一
================================= */
body,
.wp-site-blocks,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
h1, h2, h3, h4, h5, h6,
p,
a,
span,
li {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif !important;
}

/* /* ===============================
   PC 横幅 正しい拡張方法
================================= */
@media (min-width:1024px) {
	.wp-site-blocks {
		max-width: 1400px !important;
		margin: 0 auto !important;
	}
}

/* ===============================
   全体ボタン ホバーアニメーション
================================= */
.wp-block-button__link,
.yu-btn-outline,
button,
input[type="submit"] {
	transition: all .3s ease;
}

/* ホバー時 */
.wp-block-button__link:hover,
.yu-btn-outline:hover,
button:hover,
input[type="submit"]:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0,0,0,.25);
}

/* クリック時 */
.wp-block-button__link:active,
button:active {
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(0,0,0,.2);
}

/* ===============================
   全体センター安定化リセット
================================= */
html, body {
	overflow-x: hidden;
}

.wp-site-blocks {
	max-width: 1400px;
	width: 92%;
	margin: 0 auto;
}

section {
	margin-left: auto;
	margin-right: auto;
}

@media (min-width:1200px) {
	.wp-site-blocks {
		max-width: 1600px;
	}
}

/* サイト全体をフルワイド化 */
.wp-site-blocks,
.alignwide,
.alignfull {
	max-width: 100% !important;
	width: 100% !important;
}

/* 中央寄せ制限を解除 */
.wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* 横スクロール防止 */
body {
	overflow-x: hidden;
}

/* LINEアイコン拡大 */
a[href*="line"] img,
.line-icon img {
	width: 60px !important;
	height: 60px !important;
}

/* 右側地図を拡大 */
.wp-block-column:last-child iframe,
.wp-block-column:last-child img {
	width: 100% !important;
	height: 420px !important;
}

/* アクセスセクション カラム比率固定 */
.wp-block-columns {
	align-items: flex-start;
}

.wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 40%;
}

.wp-block-columns > .wp-block-column:last-child {
	flex: 0 0 60%;
}

/* 地図サイズ調整 */
.wp-block-columns > .wp-block-column:last-child iframe {
	width: 100%;
	height: 450px;
}

/* 横ズレ完全修正 */
html, body {
	overflow-x: hidden;
}

.wp-site-blocks {
	margin: 0 auto !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wp-block-group,
.wp-block-columns {
	margin-left: auto !important;
	margin-right: auto !important;
}

.yu-access-clean-text {
	width: 100%;
	max-width: 100%;
	font-family: "Hiragino Mincho ProN", serif;
	color: #444;
	line-height: 1.8;
}

/* アクセスセクション横幅拡張 */
.yu-access-clean-text {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/* カラム全体を広げる */
.wp-block-columns {
	max-width: 1400px;
	margin: 0 auto;
}

.wp-block-columns {
	max-width: 1500px;
}

.yu-access-clean-text {
	padding-top: 40px;
	padding-bottom: 40px;
}

/* 横ズレ完全リセット */
html, body {
	overflow-x: hidden !important;
}

* {
	box-sizing: border-box;
}

/* 100vwを使っている要素を強制修正 */
[class*="yu-"],
.wp-block-group,
.wp-block-columns,
.wp-site-blocks {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Relax & Bodywork を1行固定 */
.yu-copy-main {
	white-space: nowrap;
}

/* 文字がはみ出さないように中央固定 */
.yu-wrap-horizontal {
	text-align: center;
}

/* PCは1行固定 */
@media (min-width:769px) {
	.yu-copy-main {
		white-space: nowrap;
	}
}

/* スマホは少し縮小 */
@media (max-width:768px) {
	.yu-copy-main {
		font-size: 34px !important;
		white-space: nowrap;
	}
}

.yu-copy-main {
	text-align: center;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.yu-copy-main span {
	display: inline-block;
}

.yu-copy-main br {
	display: block;
}

.yu-copy-main {
	letter-spacing: .05em;
}

/* =================================
   HERO タイトル 最終固定
================================= */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

.yu-copy-main br {
	display: block !important;
}

.yu-copy-main span {
	display: inline-block !important;
}

/* Relax & Bodywork を1行に固定 */
.yu-copy-main span:nth-last-child(-n+8) {
	white-space: nowrap !important;
}

/* スマホ最適化 */
@media(max-width:768px) {
	.yu-copy-main {
		font-size: 32px !important;
	}
}

/* HERO タイトル最終固定 */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

.yu-copy-main br {
	display: block !important;
}

.yu-copy-main {
	font-size: clamp(36px,6vw,80px) !important;
}

/* ===============================
   全体センター強制修正
================================= */
html, body {
	overflow-x: hidden !important;
}

.wp-site-blocks {
	width: 100% !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	box-sizing: border-box !important;
}

/* メニューセクション中央 */
section {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ===============================
   レイアウト完全安定版
================================= */
/* サイト全体を中央基準に統一 */
.wp-site-blocks {
	max-width: 1400px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

/* ヒーローは中央基準に戻す */
.yu-bg {
	width: 100% !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	left: 0 !important;
	transform: none !important;
}

/* ===============================
   HEROだけフル幅・他は中央固定
================================= */
/* ① ヒーローは画面いっぱい */
.yu-bg {
	position: relative !important;
	width: 100vw !important;
	left: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	max-width: 100vw !important;
}

/* ② サイト本文は中央固定 */
.wp-site-blocks {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

/* ③ 横ズレ防止 */
html, body {
	overflow-x: hidden !important;
}

/* ===============================
   Reservation エリア洗練
================================= */
section[style*="Reservation"] {
	max-width: 560px !important;
	margin: 80px auto !important;
	padding: 45px 40px !important;
	background: #f7f3ec !important;
	border: 1px solid rgba(31,42,68,.1) !important;
}

/* ボタンを軽くする */
section[style*="Reservation"] a {
	background: #fff !important;
	transition: all .3s ease;
}

section[style*="Reservation"] a:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/* ===============================
   BLOG エリア整形
================================= */
section[style*="BLOG"] {
	max-width: 800px !important;
	margin: 60px auto 120px !important;
	padding: 35px 40px !important;
	background: #f8f5ef !important;
	border: 1px solid rgba(31,42,68,.08) !important;
}

/* BLOGタイトル余白 */
section[style*="BLOG"] h2 {
	font-size: 1.3rem !important;
	letter-spacing: .15em !important;
}

/* ===============================
   MESSAGE + IMAGE ZONE 整形
================================= */
.yu-message-wrap {
	max-width: 1100px;
	margin: 120px auto 80px;
	padding: 0 20px;
}

.yu-message-section {
	text-align: center;
	margin-bottom: 70px;
}

.yu-message-title {
	font-size: clamp(30px,4vw,42px);
	letter-spacing: .25em;
	margin-bottom: 30px;
	position: relative;
	display: inline-block;
}

.yu-message-title::after {
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	background: #C8A96A;
	margin: 30px auto 0;
}

.yu-message-sub {
	font-size: 18px;
	letter-spacing: .18em;
	margin-bottom: 40px;
	opacity: .85;
}

.yu-message-text {
	font-size: 16px;
	letter-spacing: .12em;
	line-height: 2;
	color: #444;
}

.yu-message-sub {
	white-space: nowrap;
	display: inline-block;
}

.yu-message-title {
	white-space: normal;
	letter-spacing: .18em;
}

.site-logo,
.site-title {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.site-description {
	display: inline;
	margin-left: 8px;
}

.logo_text {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.logo_text p {
	display: inline;
	margin: 0;
}

.logo_text {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.logo_text .site-title {
	font-weight: 700;
	letter-spacing: .05em;
}

.logo_text .site-description {
	font-size: 14px;
	opacity: .8;
}

.yu-copy-main {
	white-space: nowrap;
}

.yu-copy-main {
	white-space: nowrap;
	font-size: clamp(28px, 6vw, 90px);
}

/* HEROタイトル最終固定 */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

/* Relax & Bodywork を1行に固定 */
.yu-copy-main br {
	display: block !important;
}

.yu-copy-main span:nth-child(n+4) {
	white-space: nowrap !important;
}

.yu-message-title {
	white-space: nowrap;
}

/* ===============================
   メッセージ スマホだけ改行
================================= */
@media (max-width:768px) {
	.yu-message-title {
		white-space: normal !important;
		font-size: 24px !important;
		letter-spacing: .15em !important;
		line-height: 1.6 !important;
	}
}

/* ===============================
   メッセージ スマホ改行調整
================================= */
@media (max-width:768px) {
	.yu-message-title {
		white-space: normal !important;
		font-size: 24px !important;
		letter-spacing: .15em !important;
		line-height: 1.6 !important;
	}
	
	.yu-message-sub {
		white-space: normal !important;
		font-size: 16px !important;
		letter-spacing: .12em !important;
		line-height: 1.8 !important;
	}
}

/* =================================
   スマホ 横ズレ完全リセット
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	/* サイト全体 */
	.wp-site-blocks,
	  main,
	  .wp-block-group,
	  .wp-block-columns,
	  section,
	  .alignwide,
	  .alignfull {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	/* 100vwを使っている要素を無効化 */
	[style*="100vw"],
	  .yu-bg {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* =================================
   スマホ 強制フル幅固定（最終）
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	/* サイト本体を100%に固定 */
	.wp-site-blocks {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	/* 全セクションをフル幅 */
	.wp-block-group,
	  .wp-block-columns,
	  section,
	  main {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media (max-width:768px) {
	* {
		max-width: 100% !important;
	}
}

/* =================================
   ヒーローバナー中央修正（スマホ）
================================= */
@media (max-width:768px) {
	.yu-bg {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		left: 0 !important;
		right: 0 !important;
	}
	
	.yu-hero,
	  .yu-slider {
		width: 100% !important;
		left: 0 !important;
	}
	
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
}

/* =================================
   ヒーローバナー中央修正（スマホ）
================================= */
@media (max-width:768px) {
	.yu-bg {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		left: 0 !important;
		right: 0 !important;
	}
	
	.yu-hero,
	  .yu-slider {
		width: 100% !important;
		left: 0 !important;
	}
	
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
}

/* =========================
   MENUセクション スマホ修正
========================= */
@media (max-width:768px) {
	.yu-menu-jp-full-wide {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 20px !important;
	/* 余白は残す */
	}
	
	/* 画像もはみ出さないように */
	.yu-menu-jp-full-wide img {
		width: 100% !important;
		height: auto !important;
	}
}

@media (max-width:768px) {
	.wp-site-blocks {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* =========================================================
   1. 基本設定（スマホで文字がはみ出さないようにガード）
========================================================= */
body {
	overflow-x: hidden !important;
/* 横揺れ防止の絶対ルール */
	width: 100% !important;
}

/* =========================================================
   2. メニュー & 各種カード（スマホ最適化）
========================================================= */
/* スマホ（1000px以下）の表示設定 */
@media (max-width: 1000px) {
	/* 横並びを解除して縦1列に */
	.menu-cards .wp-block-columns,
											    .yu-menu-full-section,
											    .wp-block-columns {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	/* 各カード：画面幅に収まるよう調整 */
	.menu-cards .wp-block-column,
											    .wp-block-column {
		width: 92% !important;
	/* 画面の左右に少しだけ隙間を作る */
		max-width: 500px !important;
	/* 大きなスマホでも広がりすぎない */
		margin: 0 auto 20px !important;
	/* 中央寄せ ＋ 下の余白 */
		padding: 20px !important;
		box-sizing: border-box !important;
		display: block !important;
		float: none !important;
	}
	
	/* 画像：横幅いっぱいで高さを固定 */
	.menu-cards .wp-block-image img,
											    .menu-cards img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 9 !important;
	/* スマホで最も綺麗な比率 */
		object-fit: cover !important;
	}
}

/* =========================================================
   3. お客様の声（スマホ横スワイプ対応）
========================================================= */
@media (max-width: 768px) {
	.yu-voice-section .wp-block-columns {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
	/* 横スクロール有効 */
		gap: 15px !important;
		padding: 0 20px 20px !important;
	}
	
	.yu-voice-section .wp-block-column {
		flex: 0 0 85% !important;
	/* 1枚を85%幅にしてチラ見せ */
		max-width: 85% !important;
		height: auto !important;
		min-height: 350px !important;
	/* 高さを自然に確保 */
	}
}

/* =========================================================
   4. ヘッダー（スマホで重ならないように）
========================================================= */
@media (max-width: 768px) {
	.yu-header {
		position: relative !important;
	/* HERO画像の上に重ねない */
		background: #fff !important;
		padding: 10px 0 !important;
	}
	
	.yu-copy-main {
		font-size: 38px !important;
	/* 店名の文字サイズを適正化 */
		margin-top: 10px !important;
	}
}

/* =========================================================
   5. PC表示（大きな画面での洗練レイアウト維持）
========================================================= */
@media (min-width: 1025px) {
	.menu-cards .wp-block-columns {
		display: flex !important;
		align-items: stretch !important;
		justify-content: center !important;
		gap: 20px !important;
	}
	
	.menu-cards .wp-block-column {
		flex: 1 !important;
		max-width: 320px !important;
	}
}

/* =========================================================
   HERO AREA（スライダー）の完全修正
========================================================= */
/* 1. 全体の土台：ここで高さを絶対死守する */
.yu-bg {
	position: relative !important;
	width: 100% !important;
/* PCでの高さ設定 */
	height: 600px !important;
	min-height: 70vh !important;
	background: #1F2A44 !important;
/* 画像読み込み前の予備色 */
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

/* 2. スライダーコンテナ：親の高さ100%を維持 */
.yu-hero, .yu-slider {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 1 !important;
}

/* 3. 画像：アスペクト比を無視せず画面いっぱいに広げる */
.yu-slider img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
/* これで隙間を埋める */
	opacity: 0;
	animation: yuHeroAnim 24s infinite;
}

/* 4. 文字レイヤー：画像の上に必ず乗せる */
.yu-wrap-horizontal {
	position: relative !important;
	z-index: 10 !important;
/* 画像(1)より上に */
	width: 100% !important;
	text-align: center !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

/* 5. スマホ専用：高さをスマホに最適化 */
@media (max-width: 768px) {
	.yu-bg {
		height: 500px !important;
	/* スマホで見やすい高さに固定 */
		min-height: 50vh !important;
	}
	
	.yu-copy-main {
		font-size: clamp(32px, 8vw, 44px) !important;
	/* 画面幅に合わせて自動縮小 */
		line-height: 1.2 !important;
	}
}

/* アニメーション（以前のものを微調整） */
@keyframes yuHeroAnim {
	0% {
		opacity: 0;
		transform: scale(1.05);
	}
	
	5% {
		opacity: 1;
	}
	
	30% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1);
	}
	
	100% {
		opacity: 0;
	}
}

/* =========================================================
   YOU Relaxation & Body Care 統合CSS（整理・復旧版）
========================================================= */
/* 1) ベース（フォント/全体） */
body, button, input, textarea, select {
	font-family: "Noto Sans JP", "Hiragino Mincho ProN", sans-serif !important;
	font-weight: 400;
	letter-spacing: .03em;
	color: #1F2A44;
}

h1,h2,h3,h4,h5,h6 {
	font-family: "Noto Sans JP", sans-serif !important;
	font-weight: 600;
	letter-spacing: .05em;
	color: #1F2A44;
}

/* 2) HERO（背景スライダー＋文字アニメ）★元の動きを再現 */
.yu-bg {
	position: relative !important;
	width: 100% !important;
	height: 600px !important;
	min-height: 70vh !important;
	background: #333 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.yu-hero, .yu-slider {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 0 !important;
}

.yu-slider img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	opacity: 0;
	animation: yuHero 24s infinite;
}

@keyframes yuHero {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	
	5% {
		opacity: 1;
	}
	
	30% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1.0);
	}
	
	100% {
		opacity: 0;
	}
}

.yu-slider img:nth-child(1) {
	animation-delay: 0;
}

.yu-slider img:nth-child(2) {
	animation-delay: 8s;
}

.yu-slider img:nth-child(3) {
	animation-delay: 16s;
}

/* 3) 店名の1文字アニメーション ＋ サイズ調整 */
.yu-wrap-horizontal {
	position: relative !important;
	z-index: 5 !important;
	text-align: center !important;
	width: 100%;
}

.yu-copy-main {
	display: block !important;
	font-size: 80px !important;
	font-weight: 500 !important;
	letter-spacing: .12em !important;
	line-height: 1.2 !important;
	color: #fff !important;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.4) !important;
	text-align: center !important;
}

.yu-copy-main span {
	display: inline-block !important;
	opacity: 0;
	transform: translateY(20px);
	animation: yuFadeTextUp 1.5s ease forwards;
	animation-delay: calc(0.5s + (var(--i) * 0.1s));
}

@keyframes yuFadeTextUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 4) コンセプト・こんな方に（セクション装飾） */
.yu-concept-section, .yu-target-section {
	padding: 60px 20px !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
}

.yu-target-card {
	background: #fff !important;
	border: 1px solid rgba(0,0,0,.12) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.06) !important;
	transition: transform .25s ease !important;
}

.yu-target-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 18px 38px rgba(0,0,0,.10) !important;
}

/* 5) スマホ対応 */
@media (max-width: 768px) {
	.yu-bg {
		height: 450px !important;
		min-height: 60vh !important;
	}
	
	.yu-copy-main {
		font-size: 44px !important;
		letter-spacing: .08em !important;
	}
	
	.yu-concept-section, .yu-target-section {
		padding: 40px 15px !important;
	}
}

/* 6) 共通ボタン（以前の設定を継承） */
.wp-block-button__link, .yu-btn-outline {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 40px !important;
	min-height: 54px !important;
	border: 1px solid #1F2A44 !important;
	color: #1F2A44 !important;
	background: transparent !important;
	text-decoration: none !important;
	transition: .25s ease;
}

.wp-block-button__link:hover, .yu-btn-outline:hover {
	background: #1F2A44 !important;
	color: #fff !important;
}

/* --- 共通・ベース --- */
.yu-bg, .yu-concept-section, .yu-target-section {
	font-family: 'Hiragino Mincho ProN', 'serif';
	color: #1F2A44;
}

/* --- スライダーセクション --- */
.yu-bg {
	position: relative;
	width: 100%;
	height: clamp(450px, 75vh, 650px);
	background: #1F2A44;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.yu-hero, .yu-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.yu-slider img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	animation: yuHeroFade 24s infinite;
}

.yu-slider img:nth-child(1) {
	animation-delay: 0;
}

.yu-slider img:nth-child(2) {
	animation-delay: 8s;
}

.yu-slider img:nth-child(3) {
	animation-delay: 16s;
}

@keyframes yuHeroFade {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	
	5% {
		opacity: 1;
	}
	
	33% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1.0);
	}
	
	100% {
		opacity: 0;
	}
}

/* メインタイトル */
.yu-copy-main {
	position: relative;
	z-index: 10;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 10vw, 85px);
	font-weight: 500;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.5);
}

.yu-copy-main span {
	display: inline-block;
	opacity: 0;
	animation: yuTextUp 1.2s ease forwards;
	animation-delay: calc(0.3s + (var(--i) * 0.1s));
}

@keyframes yuTextUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.yu-amp {
	display: inline-block;
	margin: 0 -.1em;
	transform: scale(0.9);
}

/* --- コンセプトセクション --- */
.yu-concept-section {
	max-width: 1100px;
	margin: 60px auto;
	padding: 0 20px;
}

.yu-concept-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
}

.yu-concept-logo {
	flex: 0 0 300px;
	text-align: center;
}

.yu-concept-logo img {
	width: 100%;
	max-width: 280px;
	height: auto;
}

.yu-concept-content {
	flex: 1;
	min-width: 320px;
	border-left: 1px solid #C8A96A;
	padding-left: 30px;
}

.yu-concept-content h2 {
	margin: 0 0 20px;
	letter-spacing: .05em;
	line-height: 1.6;
	font-weight: 600;
	font-size: clamp(1rem, 4vw, 1.2rem);
}

.yu-concept-content p {
	font-size: .9rem;
	color: #444;
	margin: 0 0 15px;
	line-height: 1.8;
}

.yu-btn-outline {
	display: inline-block;
	padding: 10px 50px;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	letter-spacing: .15em;
}

/* --- こんな方にセクション --- */
.yu-target-section {
	max-width: 1100px;
	margin: 50px auto;
	padding: 0 20px;
}

.yu-section-header {
	text-align: center;
	margin-bottom: 25px;
}

.yu-sub-title {
	font-size: .7rem;
	color: #C8A96A;
	letter-spacing: .2em;
	margin-bottom: 5px;
	font-weight: bold;
}

.yu-section-header h2 {
	font-size: 1.3rem;
	letter-spacing: .15em;
	font-weight: 500;
	margin: 0;
}

.yu-line {
	width: 25px;
	height: 1px;
	background-color: #C8A96A;
	margin: 10px auto;
}

.yu-target-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	justify-content: center;
}

.yu-target-card {
	flex: 1 1 280px;
	max-width: 340px;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 4px 10px rgba(0,0,0,0.02);
	border: 1px solid #f9f9f9;
}

.yu-target-card img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.yu-card-body {
	padding: 15px;
	text-align: center;
}

.yu-card-body p {
	font-size: .85rem;
	line-height: 1.5;
	margin: 0;
}

.yu-target-footer {
	text-align: center;
	margin-top: 20px;
	font-size: .75rem;
	color: #888;
}

/* スマホ用微調整 */
@media (max-width: 768px) {
	.yu-concept-content {
		border-left: none;
		padding-left: 0;
		text-align: center;
	}
	
	.yu-target-card {
		flex: 1 1 45%;
		min-width: 140px;
	}/* スマホで2列 */
	
}



/* ヘッダー全体の共通設定 */
.yu-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	padding: 15px 40px;
	box-sizing: border-box;
}

/* 中身を包むコンテナ */
.yu-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

/* 右側の2段エリア */
.yu-header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* 1段目と2段目共通の横並び設定 */
.yu-nav-row {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* メニューのリンク文字 */
.yu-nav-row a {
	color: #ffffff;
	text-decoration: none;
	font-family: "Hiragino Mincho ProN", "YuMincho", serif;
	font-size: 11px;
	letter-spacing: -.02em;
	white-space: nowrap;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* ボタンの装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff;
	padding: 4px 12px;
}

.yu-btn-reserve {
	background: #C8A96A;
	color: #1F2A44 !important;
	padding: 4px 18px;
	font-weight: bold;
}

/* スマホ対応 */
@media (max-width: 768px) {
	.yu-site-header {
		padding: 10px 15px;
		position: relative;
		background: #1F2A44;
	}
	
	.yu-header-inner {
		flex-direction: column;
		align-items: center;
	}
	
	.yu-header-right {
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
}

/* ヘッダーの基本レイアウト */
.yu-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	padding: 15px 40px;
	box-sizing: border-box;
}

.yu-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.yu-header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* 横並び・右寄せの共通設定 */
.yu-nav-row {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* 文字デザイン */
.yu-nav-row a {
	color: #ffffff !important;
	text-decoration: none;
	font-family: 'Hiragino Mincho ProN', serif;
	font-size: 11px;
	letter-spacing: -.02em;
	white-space: nowrap;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* ロゴとアイコンの調整 */
.yu-header-logo {
	height: 55px;
	width: auto;
	filter: brightness(0) invert(1);
}

.yu-white-icon {
	filter: brightness(0) invert(1);
}

.yu-icon-link {
	padding: 0 !important;
	border: none !important;
}

/* ボタン装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff;
	padding: 4px 12px;
}

.yu-btn-reserve {
	background: #C8A96A;
	color: #1F2A44 !important;
	padding: 4px 18px;
	font-weight: bold;
	text-shadow: none !important;
}

/* スマホ対応 */
@media (max-width: 768px) {
	.yu-site-header {
		position: relative;
		background: #1F2A44;
		padding: 10px 15px;
	}
	
	.yu-header-inner {
		flex-direction: column;
		align-items: center;
	}
	
	.yu-header-right {
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
	
	.yu-nav-row {
		justify-content: center;
		gap: 10px;
	}
}

/* 1. スマホでのヘッダー配置を安定させる */
@media (max-width: 768px) {
	/* ヘッダーを画像に重ねず、背景色を付けて独立させる */
	.yu-site-header {
		position: relative !important;
		background: #1F2A44 !important;
	/* ロゴ共通のネイビー */
		padding: 10px 10px 20px !important;
		width: 100% !important;
		height: auto !important;
	}
	
	.yu-header-inner {
		flex-direction: column !important;
		align-items: center !important;
		gap: 10px !important;
	}
	
	/* 2. ロゴのサイズをスマホ用に最適化 */
	.yu-header-logo {
		height: 35px !important;
		margin-bottom: 5px !important;
	}
	
	/* 3. 右側エリア全体を中央に寄せる */
	.yu-header-right {
		align-items: center !important;
		width: 100% !important;
		gap: 12px !important;
	}
	
	/* 4. 文字を白く、サイズを適切に調整 */
	.yu-nav-row a {
		color: #ffffff !important;
		font-size: 12px !important;
		text-shadow: none !important;
	/* 背景があるため影は不要 */
		letter-spacing: .02em !important;
		padding: 4px 0 !important;
	}
	
	/* 5. 2段目のメニュー：横並びを維持しつつ中央揃え */
	nav.yu-nav-row {
		justify-content: center !important;
		gap: 10px 12px !important;
	/* 項目が多いため適宜改行を許可 */
		width: 100% !important;
	}
	
	/* 6. お問い合わせ・予約ボタンのサイズ調整 */
	.yu-btn-contact, .yu-btn-reserve {
		font-size: 11px !important;
		padding: 6px 12px !important;
		min-width: 80px !important;
		text-align: center !important;
	}
	
	/* 7. SNSアイコン */
	.yu-action-row {
		gap: 15px !important;
		margin-bottom: 5px !important;
	}
}

/* --- 共通：ヘッダーをスライダーに重ねる --- */
.yu-site-header {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 9999 !important;
	padding: 20px 0 !important;
	box-sizing: border-box !important;
}

.yu-header-inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	padding: 0 40px !important;
}

/* 右側の2段エリア */
.yu-header-right {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 8px !important;
}

/* 段ごとの横並び設定 */
.yu-nav-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 15px !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;
}

/* 文字デザイン */
.yu-nav-row a {
	color: #ffffff !important;
	text-decoration: none !important;
	font-family: "Hiragino Mincho ProN", serif !important;
	font-size: 13px !important;
	letter-spacing: -.02em !important;
	white-space: nowrap !important;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6) !important;
}

/* ボタン装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff !important;
	padding: 4px 12px !important;
}

.yu-btn-reserve {
	background: #C8A96A !important;
	color: #1F2A44 !important;
	padding: 4px 18px !important;
	font-weight: bold !important;
	text-shadow: none !important;
}

/* --- スマホ専用：崩れと重なりを解消 --- */
@media (max-width: 768px) {
	.yu-site-header {
		position: relative !important;
	/* 重ねず独立させる */
		background: #1F2A44 !important;
	/* ネイビー背景 */
		padding: 15px 10px !important;
	}
	
	.yu-header-inner {
		flex-direction: column !important;
	/* 縦に積む */
		align-items: center !important;
		padding: 0 10px !important;
	}
	
	.yu-header-right {
		align-items: center !important;
		width: 100% !important;
		margin-top: 10px !important;
	}
	
	.yu-nav-row {
		justify-content: center !important;
		flex-wrap: wrap !important;
	/* 2行以上に分ける */
		gap: 8px 12px !important;
		width: 100% !important;
	}
	
	.yu-nav-row a {
		font-size: 12px !important;
	}
}



/* ===== ヘッダーを2段構造にする ===== */
/* ヘッダー全体を縦並びに */
header .wp-block-group,
header .wp-block-columns {
	flex-direction: column !important;
}

/* 1段目 */
header .wp-block-columns:first-child {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

/* 2段目ナビ */
header .wp-block-navigation {
	margin-top: 20px !important;
	display: flex !important;
	justify-content: center !important;
}

/* ナビ項目間隔 */
header .wp-block-navigation__container {
	gap: 32px !important;
}

header .wp-block-navigation {
	border-top: 1px solid rgba(255,255,255,.2);
	padding-top: 18px;
}

/* ===============================
   スマホ専用ヘッダー整理
================================ */
@media (max-width: 768px) {
	/* ヘッダー高さ固定 */
	header,
					  .site-header {
		height: 70px !important;
		padding: 0 16px !important;
		display: flex !important;
		align-items: center !important;
	}
	
	/* 2段構造をやめる */
	header .wp-block-group,
					  header .wp-block-columns {
		flex-direction: row !important;
	}
	
	/* 上段ボタン非表示 */
	header .wp-block-button,
					  header .wp-block-buttons,
					  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ナビはハンバーガー化 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* ロゴサイズ調整 */
	header img {
		height: 36px !important;
		width: auto !important;
	}
}

/* ===============================
   スマホヘッダー完全整理
================================ */
@media (max-width: 768px) {
	/* ヘッダー固定 */
	header,
				  .site-header {
		height: 70px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0 16px !important;
	}
	
	/* 2段構造解除 */
	header .wp-block-group,
				  header .wp-block-columns {
		flex-direction: row !important;
	}
	
	/* PCナビ非表示 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガー表示 */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* 上段ボタン非表示 */
	header .wp-block-buttons,
				  header .wp-block-button,
				  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ナビ背景色を削除 */
	header .wp-block-navigation {
		background: transparent !important;
		border: none !important;
	}
}

/* ===============================
   HEADER RESET (only neutralize header overrides)
================================ */
/* 1) これまでの header 強制レイアウトを無効化 */
header,
header.wp-block-template-part,
header .wp-block-group,
header .wp-block-columns,
header nav.wp-block-navigation,
header .wp-block-navigation__container,
header .wp-block-navigation__responsive-container,
header .wp-block-navigation__responsive-container-content {
}



/* 3) PCナビを普通に横並び */
@media (min-width:769px) {
	header .wp-block-navigation__container {
		display: flex;
		gap: 24px;
	}
}

/* 4) スマホはハンバーガーを使う */
@media (max-width:768px) {
	header .wp-block-navigation__container {
		display: none;
	}
	
	header .wp-block-navigation__responsive-container-open {
		display: block;
	}
}


/* =======================
   スマホ完全修正
======================= */

	/* PCナビ消す */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガー出す */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* ボタン・SNS消す */
	header .wp-block-buttons,
				  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ロゴサイズ */
	header img {
		height: 34px !important;
	}
}

/* ===================================
   HEADER TOTAL RESET (最終強制リセット)
=================================== */
@media (max-width:768px) {
	/* すべてのheader強制レイアウトを無効化 */
	header,
				  header * {
	}
	
	/* ヘッダーだけ最低限再定義 */
	header {
		position: relative !important;
		background: #1F2A44 !important;
		padding: 10px 15px !important;
	}
	
	/* ロゴサイズ */
	header img {
		height: 34px !important;
		width: auto !important;
	}
}



/* ===================================
   スマホ：ヒーローをフル幅に戻す
=================================== */
@media (max-width:768px) {
	/* ヒーローセクションを画面いっぱいに */
	.yu-bg {
		width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		max-width: 100vw !important;
	}
	
	/* 画像もフル幅 */
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
	}
}

/* ===================================
   スマホ：ヒーローを完全フル幅化（最終版）
=================================== */
@media (max-width:768px) {
	/* ページ全体の横制限解除 */
	.wp-site-blocks,
				  main,
				  .wp-block-group {
		max-width: 100% !important;
	}
	
	/* ヒーローを画面幅いっぱいに */
	.yu-bg {
		position: relative !important;
		width: 100vw !important;
		left: 50% !important;
		right: 50% !important;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		max-width: 100vw !important;
	}
}

/* ===================================
   スマホ：ハンバーガーメニュー強制表示
=================================== */
@media (max-width:768px) {
	/* PCナビは非表示 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーボタン強制表示 */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	/* 閉じるボタンも有効化 */
	header .wp-block-navigation__responsive-container-close {
		display: block !important;
	}
	
	/* ナビ全体を通常モードに戻す */
	header .wp-block-navigation__responsive-container {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100vh !important;
		background: #1F2A44 !important;
		z-index: 9999 !important;
	}
}

/* ===== スマホヘッダー修正 ===== */
@media (max-width: 768px) {
	header {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9999;
	}
	
	/* スライダーに余白を作る */
	.wp-block-cover,
				.wp-block-group:first-of-type {
		padding-top: 80px !important;
	}
	
	/* ハンバーガーを強制表示 */
	.wp-block-navigation__responsive-container-open {
		display: block !important;
		position: absolute;
		right: 20px;
		top: 25px;
		z-index: 9999;
	}
	
	/* ナビ線を消す */
	.wp-block-navigation {
		border: none !important;
	}
}

/* ===== スマホ完全リセット ===== */
@media (max-width: 768px) {
	header {
		position: relative !important;
		background: #1f2a44;
		z-index: 1000;
	}
	
	/* ハンバーガーを確実に表示 */
	.wp-block-navigation__responsive-container-open {
		display: block !important;
		position: absolute;
		right: 20px;
		top: 20px;
		color: #fff;
	}
	
	/* ナビ線削除 */
	.wp-block-navigation {
		border: none !important;
	}
}

/* ===== スマホでハンバーガーを正しく表示 ===== */
@media (max-width:768px) {
	/* PCナビは隠す */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーボタン表示 */
	header .wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	/* メニュー開閉エリアをWordPress標準に戻す */
	header .wp-block-navigation__responsive-container {
		position: fixed !important;
		width: 100% !important;
		height: 100vh !important;
		background: #1F2A44 !important;
		z-index: 9999 !important;
	}
}

/* ===== 強制ハンバーガー復活 ===== */
@media (max-width:768px) {
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		z-index: 99999 !important;
	}
	
	.wp-block-navigation__container {
		display: none !important;
	}
}


/* ===============================
   スマホ横ズレ完全修正
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	.wp-site-blocks,
		  .yu-bg,
		  .wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	/* 100vwを強制無効化 */
	[style*="100vw"],
		  footer,
		  .site-footer {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* ===============================
   スライダー完全リセット（スマホ）
================================= */
@media (max-width:768px) {
	.yu-bg {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		left: 0 !important;
		right: 0 !important;
		overflow: hidden !important;
	}
	
	.yu-slider,
		  .yu-hero {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}
	
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		left: 0 !important;
	}
}

/* ===============================
   スマホ ハンバーガー復活
================================= */
@media (max-width:768px) {
	/* PCナビは消すけど */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーは必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}

/* ===============================
   スマホ：YOU Relax & Bodywork 1行固定
================================= */
@media (max-width:768px) {
	.yu-copy-main {
		white-space: nowrap !important;
		font-size: clamp(26px,6vw,40px) !important;
		letter-spacing: .08em !important;
	}
}

/* ===============================
   スマホナビ 正常動作版
================================= */
@media (max-width:768px) {
	/* ハンバーガー必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	
	/* 通常ナビは隠す（開いた時は表示される） */
	.wp-block-navigation__container {
		display: flex !important;
	}
}

/* ===============================
   スマホナビ 正常動作版
================================= */
@media (max-width:768px) {
	/* ハンバーガー必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	
	/* 通常ナビは隠す（開いた時は表示される） */
	.wp-block-navigation__container {
		display: flex !important;
	}
}

/* ===============================
   お客様の声 横3列レイアウト
================================= */
@media (min-width:769px) {
	.yu-voice-wrapper {
		display: flex !important;
		gap: 40px !important;
		align-items: stretch !important;
	}
	
	.yu-voice-wrapper > div {
		flex: 1 !important;
		display: flex !important;
		flex-direction: column !important;
	}
}

/* ===============================
   お客様の声 横3列化
================================= */
.yu-voice-wrapper {
	display: flex;
	gap: 30px;
}

/* PCのみ横並びにしたい場合 */
@media (max-width:768px) {
	.yu-voice-wrapper {
		flex-direction: column;
	}
}

/* ===============================
   お客様の声 センター補正
================================= */
.yu-voice-wrapper {
	display: flex;
	gap: 30px;
	justify-content: center;
/* ← これが重要 */
}

.yu-voice-wrapper > div {
	max-width: 340px;
/* カード幅を固定 */
	width: 100%;
}

/* ===============================
   全体フォントを明朝に統一
================================= */
body,
.wp-site-blocks,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
h1, h2, h3, h4, h5, h6,
p,
a,
span,
li {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif !important;
}

/* /* ===============================
   PC 横幅 正しい拡張方法
================================= */
@media (min-width:1024px) {
	.wp-site-blocks {
		max-width: 1400px !important;
		margin: 0 auto !important;
	}
}

/* ===============================
   全体ボタン ホバーアニメーション
================================= */
.wp-block-button__link,
.yu-btn-outline,
button,
input[type="submit"] {
	transition: all .3s ease;
}

/* ホバー時 */
.wp-block-button__link:hover,
.yu-btn-outline:hover,
button:hover,
input[type="submit"]:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0,0,0,.25);
}

/* クリック時 */
.wp-block-button__link:active,
button:active {
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(0,0,0,.2);
}

/* ===============================
   全体センター安定化リセット
================================= */
html, body {
	overflow-x: hidden;
}

.wp-site-blocks {
	max-width: 1400px;
	width: 92%;
	margin: 0 auto;
}

section {
	margin-left: auto;
	margin-right: auto;
}

@media (min-width:1200px) {
	.wp-site-blocks {
		max-width: 1600px;
	}
}

/* サイト全体をフルワイド化 */
.wp-site-blocks,
.alignwide,
.alignfull {
	max-width: 100% !important;
	width: 100% !important;
}

/* 中央寄せ制限を解除 */
.wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* 横スクロール防止 */
body {
	overflow-x: hidden;
}

/* LINEアイコン拡大 */
a[href*="line"] img,
.line-icon img {
	width: 60px !important;
	height: 60px !important;
}

/* 右側地図を拡大 */
.wp-block-column:last-child iframe,
.wp-block-column:last-child img {
	width: 100% !important;
	height: 420px !important;
}

/* アクセスセクション カラム比率固定 */
.wp-block-columns {
	align-items: flex-start;
}

.wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 40%;
}

.wp-block-columns > .wp-block-column:last-child {
	flex: 0 0 60%;
}

/* 地図サイズ調整 */
.wp-block-columns > .wp-block-column:last-child iframe {
	width: 100%;
	height: 450px;
}

/* 横ズレ完全修正 */
html, body {
	overflow-x: hidden;
}

.wp-site-blocks {
	margin: 0 auto !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wp-block-group,
.wp-block-columns {
	margin-left: auto !important;
	margin-right: auto !important;
}

.yu-access-clean-text {
	width: 100%;
	max-width: 100%;
	font-family: "Hiragino Mincho ProN", serif;
	color: #444;
	line-height: 1.8;
}

/* アクセスセクション横幅拡張 */
.yu-access-clean-text {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/* カラム全体を広げる */
.wp-block-columns {
	max-width: 1400px;
	margin: 0 auto;
}

.wp-block-columns {
	max-width: 1500px;
}

.yu-access-clean-text {
	padding-top: 40px;
	padding-bottom: 40px;
}

/* 横ズレ完全リセット */
html, body {
	overflow-x: hidden !important;
}

* {
	box-sizing: border-box;
}

/* 100vwを使っている要素を強制修正 */
[class*="yu-"],
.wp-block-group,
.wp-block-columns,
.wp-site-blocks {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Relax & Bodywork を1行固定 */
.yu-copy-main {
	white-space: nowrap;
}

/* 文字がはみ出さないように中央固定 */
.yu-wrap-horizontal {
	text-align: center;
}

/* PCは1行固定 */
@media (min-width:769px) {
	.yu-copy-main {
		white-space: nowrap;
	}
}

/* スマホは少し縮小 */
@media (max-width:768px) {
	.yu-copy-main {
		font-size: 34px !important;
		white-space: nowrap;
	}
}

.yu-copy-main {
	text-align: center;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.yu-copy-main span {
	display: inline-block;
}

.yu-copy-main br {
	display: block;
}

.yu-copy-main {
	letter-spacing: .05em;
}

/* =================================
   HERO タイトル 最終固定
================================= */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

.yu-copy-main br {
	display: block !important;
}

.yu-copy-main span {
	display: inline-block !important;
}

/* Relax & Bodywork を1行に固定 */
.yu-copy-main span:nth-last-child(-n+8) {
	white-space: nowrap !important;
}

/* スマホ最適化 */
@media(max-width:768px) {
	.yu-copy-main {
		font-size: 32px !important;
	}
}

/* HERO タイトル最終固定 */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

.yu-copy-main br {
	display: block !important;
}

.yu-copy-main {
	font-size: clamp(36px,6vw,80px) !important;
}

/* ===============================
   全体センター強制修正
================================= */
html, body {
	overflow-x: hidden !important;
}

.wp-site-blocks {
	width: 100% !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	box-sizing: border-box !important;
}

/* メニューセクション中央 */
section {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ===============================
   レイアウト完全安定版
================================= */
/* サイト全体を中央基準に統一 */
.wp-site-blocks {
	max-width: 1400px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

/* ヒーローは中央基準に戻す */
.yu-bg {
	width: 100% !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	left: 0 !important;
	transform: none !important;
}

/* ===============================
   HEROだけフル幅・他は中央固定
================================= */
/* ① ヒーローは画面いっぱい */
.yu-bg {
	position: relative !important;
	width: 100vw !important;
	left: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	max-width: 100vw !important;
}

/* ② サイト本文は中央固定 */
.wp-site-blocks {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

/* ③ 横ズレ防止 */
html, body {
	overflow-x: hidden !important;
}

/* ===============================
   Reservation エリア洗練
================================= */
section[style*="Reservation"] {
	max-width: 560px !important;
	margin: 80px auto !important;
	padding: 45px 40px !important;
	background: #f7f3ec !important;
	border: 1px solid rgba(31,42,68,.1) !important;
}

/* ボタンを軽くする */
section[style*="Reservation"] a {
	background: #fff !important;
	transition: all .3s ease;
}

section[style*="Reservation"] a:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/* ===============================
   BLOG エリア整形
================================= */
section[style*="BLOG"] {
	max-width: 800px !important;
	margin: 60px auto 120px !important;
	padding: 35px 40px !important;
	background: #f8f5ef !important;
	border: 1px solid rgba(31,42,68,.08) !important;
}

/* BLOGタイトル余白 */
section[style*="BLOG"] h2 {
	font-size: 1.3rem !important;
	letter-spacing: .15em !important;
}

/* ===============================
   MESSAGE + IMAGE ZONE 整形
================================= */
.yu-message-wrap {
	max-width: 1100px;
	margin: 120px auto 80px;
	padding: 0 20px;
}

.yu-message-section {
	text-align: center;
	margin-bottom: 70px;
}

.yu-message-title {
	font-size: clamp(30px,4vw,42px);
	letter-spacing: .25em;
	margin-bottom: 30px;
	position: relative;
	display: inline-block;
}

.yu-message-title::after {
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	background: #C8A96A;
	margin: 30px auto 0;
}

.yu-message-sub {
	font-size: 18px;
	letter-spacing: .18em;
	margin-bottom: 40px;
	opacity: .85;
}

.yu-message-text {
	font-size: 16px;
	letter-spacing: .12em;
	line-height: 2;
	color: #444;
}

.yu-message-sub {
	white-space: nowrap;
	display: inline-block;
}

.yu-message-title {
	white-space: normal;
	letter-spacing: .18em;
}

.site-logo,
.site-title {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.site-description {
	display: inline;
	margin-left: 8px;
}

.logo_text {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.logo_text p {
	display: inline;
	margin: 0;
}

.logo_text {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.logo_text .site-title {
	font-weight: 700;
	letter-spacing: .05em;
}

.logo_text .site-description {
	font-size: 14px;
	opacity: .8;
}

.yu-copy-main {
	white-space: nowrap;
}

.yu-copy-main {
	white-space: nowrap;
	font-size: clamp(28px, 6vw, 90px);
}

/* HEROタイトル最終固定 */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

/* Relax & Bodywork を1行に固定 */
.yu-copy-main br {
	display: block !important;
}

.yu-copy-main span:nth-child(n+4) {
	white-space: nowrap !important;
}

.yu-message-title {
	white-space: nowrap;
}

/* ===============================
   メッセージ スマホだけ改行
================================= */
@media (max-width:768px) {
	.yu-message-title {
		white-space: normal !important;
		font-size: 24px !important;
		letter-spacing: .15em !important;
		line-height: 1.6 !important;
	}
}

/* ===============================
   メッセージ スマホ改行調整
================================= */
@media (max-width:768px) {
	.yu-message-title {
		white-space: normal !important;
		font-size: 24px !important;
		letter-spacing: .15em !important;
		line-height: 1.6 !important;
	}
	
	.yu-message-sub {
		white-space: normal !important;
		font-size: 16px !important;
		letter-spacing: .12em !important;
		line-height: 1.8 !important;
	}
}

/* =================================
   スマホ 横ズレ完全リセット
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	/* サイト全体 */
	.wp-site-blocks,
	  main,
	  .wp-block-group,
	  .wp-block-columns,
	  section,
	  .alignwide,
	  .alignfull {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	/* 100vwを使っている要素を無効化 */
	[style*="100vw"],
	  .yu-bg {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* =================================
   スマホ 強制フル幅固定（最終）
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	/* サイト本体を100%に固定 */
	.wp-site-blocks {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	/* 全セクションをフル幅 */
	.wp-block-group,
	  .wp-block-columns,
	  section,
	  main {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media (max-width:768px) {
	* {
		max-width: 100% !important;
	}
}

/* =========================================================
   1. 基本設定（スマホで文字がはみ出さないようにガード）
========================================================= */
body {
	overflow-x: hidden !important;
/* 横揺れ防止の絶対ルール */
	width: 100% !important;
}

/* =========================================================
   2. メニュー & 各種カード（スマホ最適化）
========================================================= */
/* スマホ（1000px以下）の表示設定 */
@media (max-width: 1000px) {
	/* 横並びを解除して縦1列に */
	.menu-cards .wp-block-columns,
											    .yu-menu-full-section,
											    .wp-block-columns {
		display: block !important;
		width: 100% !important;
		padding: 0 !important;
		margin: 0 !important;
	}
	
	/* 各カード：画面幅に収まるよう調整 */
	.menu-cards .wp-block-column,
											    .wp-block-column {
		width: 92% !important;
	/* 画面の左右に少しだけ隙間を作る */
		max-width: 500px !important;
	/* 大きなスマホでも広がりすぎない */
		margin: 0 auto 20px !important;
	/* 中央寄せ ＋ 下の余白 */
		padding: 20px !important;
		box-sizing: border-box !important;
		display: block !important;
		float: none !important;
	}
	
	/* 画像：横幅いっぱいで高さを固定 */
	.menu-cards .wp-block-image img,
											    .menu-cards img {
		width: 100% !important;
		height: auto !important;
		aspect-ratio: 16 / 9 !important;
	/* スマホで最も綺麗な比率 */
		object-fit: cover !important;
	}
}

/* =========================================================
   3. お客様の声（スマホ横スワイプ対応）
========================================================= */
@media (max-width: 768px) {
	.yu-voice-section .wp-block-columns {
		display: flex !important;
		flex-direction: row !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
	/* 横スクロール有効 */
		gap: 15px !important;
		padding: 0 20px 20px !important;
	}
	
	.yu-voice-section .wp-block-column {
		flex: 0 0 85% !important;
	/* 1枚を85%幅にしてチラ見せ */
		max-width: 85% !important;
		height: auto !important;
		min-height: 350px !important;
	/* 高さを自然に確保 */
	}
}

/* =========================================================
   4. ヘッダー（スマホで重ならないように）
========================================================= */
@media (max-width: 768px) {
	.yu-header {
		position: relative !important;
	/* HERO画像の上に重ねない */
		background: #fff !important;
		padding: 10px 0 !important;
	}
	
	.yu-copy-main {
		font-size: 38px !important;
	/* 店名の文字サイズを適正化 */
		margin-top: 10px !important;
	}
}

/* =========================================================
   5. PC表示（大きな画面での洗練レイアウト維持）
========================================================= */
@media (min-width: 1025px) {
	.menu-cards .wp-block-columns {
		display: flex !important;
		align-items: stretch !important;
		justify-content: center !important;
		gap: 20px !important;
	}
	
	.menu-cards .wp-block-column {
		flex: 1 !important;
		max-width: 320px !important;
	}
}

/* =========================================================
   HERO AREA（スライダー）の完全修正
========================================================= */
/* 1. 全体の土台：ここで高さを絶対死守する */
.yu-bg {
	position: relative !important;
	width: 100% !important;
/* PCでの高さ設定 */
	height: 600px !important;
	min-height: 70vh !important;
	background: #1F2A44 !important;
/* 画像読み込み前の予備色 */
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
	margin: 0 !important;
}

/* 2. スライダーコンテナ：親の高さ100%を維持 */
.yu-hero, .yu-slider {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 1 !important;
}

/* 3. 画像：アスペクト比を無視せず画面いっぱいに広げる */
.yu-slider img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
/* これで隙間を埋める */
	opacity: 0;
	animation: yuHeroAnim 24s infinite;
}

/* 4. 文字レイヤー：画像の上に必ず乗せる */
.yu-wrap-horizontal {
	position: relative !important;
	z-index: 10 !important;
/* 画像(1)より上に */
	width: 100% !important;
	text-align: center !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

/* 5. スマホ専用：高さをスマホに最適化 */
@media (max-width: 768px) {
	.yu-bg {
		height: 500px !important;
	/* スマホで見やすい高さに固定 */
		min-height: 50vh !important;
	}
	
	.yu-copy-main {
		font-size: clamp(32px, 8vw, 44px) !important;
	/* 画面幅に合わせて自動縮小 */
		line-height: 1.2 !important;
	}
}

/* アニメーション（以前のものを微調整） */
@keyframes yuHeroAnim {
	0% {
		opacity: 0;
		transform: scale(1.05);
	}
	
	5% {
		opacity: 1;
	}
	
	30% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1);
	}
	
	100% {
		opacity: 0;
	}
}

/* =========================================================
   YOU Relaxation & Body Care 統合CSS（整理・復旧版）
========================================================= */
/* 1) ベース（フォント/全体） */
body, button, input, textarea, select {
	font-family: "Noto Sans JP", "Hiragino Mincho ProN", sans-serif !important;
	font-weight: 400;
	letter-spacing: .03em;
	color: #1F2A44;
}

h1,h2,h3,h4,h5,h6 {
	font-family: "Noto Sans JP", sans-serif !important;
	font-weight: 600;
	letter-spacing: .05em;
	color: #1F2A44;
}

/* 2) HERO（背景スライダー＋文字アニメ）★元の動きを再現 */
.yu-bg {
	position: relative !important;
	width: 100% !important;
	height: 600px !important;
	min-height: 70vh !important;
	background: #333 !important;
	overflow: hidden !important;
	display: flex !important;
	align-items: center !important;
	justify-content: center !important;
}

.yu-hero, .yu-slider {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	z-index: 0 !important;
}

.yu-slider img {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
	opacity: 0;
	animation: yuHero 24s infinite;
}

@keyframes yuHero {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	
	5% {
		opacity: 1;
	}
	
	30% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1.0);
	}
	
	100% {
		opacity: 0;
	}
}

.yu-slider img:nth-child(1) {
	animation-delay: 0;
}

.yu-slider img:nth-child(2) {
	animation-delay: 8s;
}

.yu-slider img:nth-child(3) {
	animation-delay: 16s;
}

/* 3) 店名の1文字アニメーション ＋ サイズ調整 */
.yu-wrap-horizontal {
	position: relative !important;
	z-index: 5 !important;
	text-align: center !important;
	width: 100%;
}

.yu-copy-main {
	display: block !important;
	font-size: 80px !important;
	font-weight: 500 !important;
	letter-spacing: .12em !important;
	line-height: 1.2 !important;
	color: #fff !important;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.4) !important;
	text-align: center !important;
}

.yu-copy-main span {
	display: inline-block !important;
	opacity: 0;
	transform: translateY(20px);
	animation: yuFadeTextUp 1.5s ease forwards;
	animation-delay: calc(0.5s + (var(--i) * 0.1s));
}

@keyframes yuFadeTextUp {
	0% {
		opacity: 0;
		transform: translateY(20px);
	}
	
	100% {
		opacity: 1;
		transform: translateY(0);
	}
}

/* 4) コンセプト・こんな方に（セクション装飾） */
.yu-concept-section, .yu-target-section {
	padding: 60px 20px !important;
	max-width: 1100px !important;
	margin: 0 auto !important;
}

.yu-target-card {
	background: #fff !important;
	border: 1px solid rgba(0,0,0,.12) !important;
	border-radius: 14px !important;
	overflow: hidden !important;
	box-shadow: 0 10px 24px rgba(0,0,0,.06) !important;
	transition: transform .25s ease !important;
}

.yu-target-card:hover {
	transform: translateY(-4px) !important;
	box-shadow: 0 18px 38px rgba(0,0,0,.10) !important;
}

/* 5) スマホ対応 */
@media (max-width: 768px) {
	.yu-bg {
		height: 450px !important;
		min-height: 60vh !important;
	}
	
	.yu-copy-main {
		font-size: 44px !important;
		letter-spacing: .08em !important;
	}
	
	.yu-concept-section, .yu-target-section {
		padding: 40px 15px !important;
	}
}

/* 6) 共通ボタン（以前の設定を継承） */
.wp-block-button__link, .yu-btn-outline {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	padding: 15px 40px !important;
	min-height: 54px !important;
	border: 1px solid #1F2A44 !important;
	color: #1F2A44 !important;
	background: transparent !important;
	text-decoration: none !important;
	transition: .25s ease;
}

.wp-block-button__link:hover, .yu-btn-outline:hover {
	background: #1F2A44 !important;
	color: #fff !important;
}

/* --- 共通・ベース --- */
.yu-bg, .yu-concept-section, .yu-target-section {
	font-family: 'Hiragino Mincho ProN', 'serif';
	color: #1F2A44;
}

/* --- スライダーセクション --- */
.yu-bg {
	position: relative;
	width: 100%;
	height: clamp(450px, 75vh, 650px);
	background: #1F2A44;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}

.yu-hero, .yu-slider {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}

.yu-slider img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	opacity: 0;
	animation: yuHeroFade 24s infinite;
}

.yu-slider img:nth-child(1) {
	animation-delay: 0;
}

.yu-slider img:nth-child(2) {
	animation-delay: 8s;
}

.yu-slider img:nth-child(3) {
	animation-delay: 16s;
}

@keyframes yuHeroFade {
	0% {
		opacity: 0;
		transform: scale(1.1);
	}
	
	5% {
		opacity: 1;
	}
	
	33% {
		opacity: 1;
	}
	
	38% {
		opacity: 0;
		transform: scale(1.0);
	}
	
	100% {
		opacity: 0;
	}
}

/* メインタイトル */
.yu-copy-main {
	position: relative;
	z-index: 10;
	margin: 0;
	color: #fff;
	font-size: clamp(42px, 10vw, 85px);
	font-weight: 500;
	letter-spacing: .12em;
	line-height: 1.2;
	text-align: center;
	text-shadow: 2px 2px 15px rgba(0,0,0,0.5);
}

.yu-copy-main span {
	display: inline-block;
	opacity: 0;
	animation: yuTextUp 1.2s ease forwards;
	animation-delay: calc(0.3s + (var(--i) * 0.1s));
}

@keyframes yuTextUp {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.yu-amp {
	display: inline-block;
	margin: 0 -.1em;
	transform: scale(0.9);
}

/* --- コンセプトセクション --- */
.yu-concept-section {
	max-width: 1100px;
	margin: 60px auto;
	padding: 0 20px;
}

.yu-concept-container {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 40px;
	flex-wrap: wrap;
}

.yu-concept-logo {
	flex: 0 0 300px;
	text-align: center;
}

.yu-concept-logo img {
	width: 100%;
	max-width: 280px;
	height: auto;
}

.yu-concept-content {
	flex: 1;
	min-width: 320px;
	border-left: 1px solid #C8A96A;
	padding-left: 30px;
}

.yu-concept-content h2 {
	margin: 0 0 20px;
	letter-spacing: .05em;
	line-height: 1.6;
	font-weight: 600;
	font-size: clamp(1rem, 4vw, 1.2rem);
}

.yu-concept-content p {
	font-size: .9rem;
	color: #444;
	margin: 0 0 15px;
	line-height: 1.8;
}

.yu-btn-outline {
	display: inline-block;
	padding: 10px 50px;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	letter-spacing: .15em;
}

/* --- こんな方にセクション --- */
.yu-target-section {
	max-width: 1100px;
	margin: 50px auto;
	padding: 0 20px;
}

.yu-section-header {
	text-align: center;
	margin-bottom: 25px;
}

.yu-sub-title {
	font-size: .7rem;
	color: #C8A96A;
	letter-spacing: .2em;
	margin-bottom: 5px;
	font-weight: bold;
}

.yu-section-header h2 {
	font-size: 1.3rem;
	letter-spacing: .15em;
	font-weight: 500;
	margin: 0;
}

.yu-line {
	width: 25px;
	height: 1px;
	background-color: #C8A96A;
	margin: 10px auto;
}

.yu-target-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
	justify-content: center;
}

.yu-target-card {
	flex: 1 1 280px;
	max-width: 340px;
	background: #fff;
	border-radius: 4px;
	overflow: hidden;
	box-shadow: 0 4px 10px rgba(0,0,0,0.02);
	border: 1px solid #f9f9f9;
}

.yu-target-card img {
	width: 100%;
	height: 180px;
	object-fit: cover;
	display: block;
}

.yu-card-body {
	padding: 15px;
	text-align: center;
}

.yu-card-body p {
	font-size: .85rem;
	line-height: 1.5;
	margin: 0;
}

.yu-target-footer {
	text-align: center;
	margin-top: 20px;
	font-size: .75rem;
	color: #888;
}

/* スマホ用微調整 */
@media (max-width: 768px) {
	.yu-concept-content {
		border-left: none;
		padding-left: 0;
		text-align: center;
	}
	
	.yu-target-card {
		flex: 1 1 45%;
		min-width: 140px;
	}/* スマホで2列 */
	
}



/* ヘッダー全体の共通設定 */
.yu-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	padding: 15px 40px;
	box-sizing: border-box;
}

/* 中身を包むコンテナ */
.yu-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

/* 右側の2段エリア */
.yu-header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* 1段目と2段目共通の横並び設定 */
.yu-nav-row {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* メニューのリンク文字 */
.yu-nav-row a {
	color: #ffffff;
	text-decoration: none;
	font-family: "Hiragino Mincho ProN", "YuMincho", serif;
	font-size: 11px;
	letter-spacing: -.02em;
	white-space: nowrap;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* ボタンの装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff;
	padding: 4px 12px;
}

.yu-btn-reserve {
	background: #C8A96A;
	color: #1F2A44 !important;
	padding: 4px 18px;
	font-weight: bold;
}

/* スマホ対応 */
@media (max-width: 768px) {
	.yu-site-header {
		padding: 10px 15px;
		position: relative;
		background: #1F2A44;
	}
	
	.yu-header-inner {
		flex-direction: column;
		align-items: center;
	}
	
	.yu-header-right {
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
}

/* ヘッダーの基本レイアウト */
.yu-site-header {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	z-index: 100;
	padding: 15px 40px;
	box-sizing: border-box;
}

.yu-header-inner {
	max-width: 1200px;
	margin: 0 auto;
	display: flex;
	justify-content: space-between;
	align-items: flex-start;
}

.yu-header-right {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 8px;
}

/* 横並び・右寄せの共通設定 */
.yu-nav-row {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

/* 文字デザイン */
.yu-nav-row a {
	color: #ffffff !important;
	text-decoration: none;
	font-family: 'Hiragino Mincho ProN', serif;
	font-size: 11px;
	letter-spacing: -.02em;
	white-space: nowrap;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6);
}

/* ロゴとアイコンの調整 */
.yu-header-logo {
	height: 55px;
	width: auto;
	filter: brightness(0) invert(1);
}

.yu-white-icon {
	filter: brightness(0) invert(1);
}

.yu-icon-link {
	padding: 0 !important;
	border: none !important;
}

/* ボタン装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff;
	padding: 4px 12px;
}

.yu-btn-reserve {
	background: #C8A96A;
	color: #1F2A44 !important;
	padding: 4px 18px;
	font-weight: bold;
	text-shadow: none !important;
}

/* スマホ対応 */
@media (max-width: 768px) {
	.yu-site-header {
		position: relative;
		background: #1F2A44;
		padding: 10px 15px;
	}
	
	.yu-header-inner {
		flex-direction: column;
		align-items: center;
	}
	
	.yu-header-right {
		align-items: center;
		width: 100%;
		margin-top: 10px;
	}
	
	.yu-nav-row {
		justify-content: center;
		gap: 10px;
	}
}

/* 1. スマホでのヘッダー配置を安定させる */
@media (max-width: 768px) {
	/* ヘッダーを画像に重ねず、背景色を付けて独立させる */
	.yu-site-header {
		position: relative !important;
		background: #1F2A44 !important;
	/* ロゴ共通のネイビー */
		padding: 10px 10px 20px !important;
		width: 100% !important;
		height: auto !important;
	}
	
	.yu-header-inner {
		flex-direction: column !important;
		align-items: center !important;
		gap: 10px !important;
	}
	
	/* 2. ロゴのサイズをスマホ用に最適化 */
	.yu-header-logo {
		height: 35px !important;
		margin-bottom: 5px !important;
	}
	
	/* 3. 右側エリア全体を中央に寄せる */
	.yu-header-right {
		align-items: center !important;
		width: 100% !important;
		gap: 12px !important;
	}
	
	/* 4. 文字を白く、サイズを適切に調整 */
	.yu-nav-row a {
		color: #ffffff !important;
		font-size: 12px !important;
		text-shadow: none !important;
	/* 背景があるため影は不要 */
		letter-spacing: .02em !important;
		padding: 4px 0 !important;
	}
	
	/* 5. 2段目のメニュー：横並びを維持しつつ中央揃え */
	nav.yu-nav-row {
		justify-content: center !important;
		gap: 10px 12px !important;
	/* 項目が多いため適宜改行を許可 */
		width: 100% !important;
	}
	
	/* 6. お問い合わせ・予約ボタンのサイズ調整 */
	.yu-btn-contact, .yu-btn-reserve {
		font-size: 11px !important;
		padding: 6px 12px !important;
		min-width: 80px !important;
		text-align: center !important;
	}
	
	/* 7. SNSアイコン */
	.yu-action-row {
		gap: 15px !important;
		margin-bottom: 5px !important;
	}
}

/* --- 共通：ヘッダーをスライダーに重ねる --- */
.yu-site-header {
	position: absolute !important;
	top: 0 !important;
	left: 0 !important;
	width: 100% !important;
	z-index: 9999 !important;
	padding: 20px 0 !important;
	box-sizing: border-box !important;
}

.yu-header-inner {
	max-width: 1200px !important;
	margin: 0 auto !important;
	display: flex !important;
	justify-content: space-between !important;
	align-items: flex-start !important;
	padding: 0 40px !important;
}

/* 右側の2段エリア */
.yu-header-right {
	display: flex !important;
	flex-direction: column !important;
	align-items: flex-end !important;
	gap: 8px !important;
}

/* 段ごとの横並び設定 */
.yu-nav-row {
	display: flex !important;
	flex-direction: row !important;
	align-items: center !important;
	gap: 15px !important;
	justify-content: flex-end !important;
	flex-wrap: nowrap !important;
}

/* 文字デザイン */
.yu-nav-row a {
	color: #ffffff !important;
	text-decoration: none !important;
	font-family: "Hiragino Mincho ProN", serif !important;
	font-size: 13px !important;
	letter-spacing: -.02em !important;
	white-space: nowrap !important;
	text-shadow: 1px 1px 4px rgba(0,0,0,0.6) !important;
}

/* ボタン装飾 */
.yu-btn-contact {
	border: 1px solid #ffffff !important;
	padding: 4px 12px !important;
}

.yu-btn-reserve {
	background: #C8A96A !important;
	color: #1F2A44 !important;
	padding: 4px 18px !important;
	font-weight: bold !important;
	text-shadow: none !important;
}

/* --- スマホ専用：崩れと重なりを解消 --- */
@media (max-width: 768px) {
	.yu-site-header {
		position: relative !important;
	/* 重ねず独立させる */
		background: #1F2A44 !important;
	/* ネイビー背景 */
		padding: 15px 10px !important;
	}
	
	.yu-header-inner {
		flex-direction: column !important;
	/* 縦に積む */
		align-items: center !important;
		padding: 0 10px !important;
	}
	
	.yu-header-right {
		align-items: center !important;
		width: 100% !important;
		margin-top: 10px !important;
	}
	
	.yu-nav-row {
		justify-content: center !important;
		flex-wrap: wrap !important;
	/* 2行以上に分ける */
		gap: 8px 12px !important;
		width: 100% !important;
	}
	
	.yu-nav-row a {
		font-size: 12px !important;
	}
}


/* ===== ヘッダーを2段構造にする ===== */
/* ヘッダー全体を縦並びに */
header .wp-block-group,
header .wp-block-columns {
	flex-direction: column !important;
}

/* 1段目 */
header .wp-block-columns:first-child {
	display: flex !important;
	justify-content: space-between !important;
	align-items: center !important;
}

/* 2段目ナビ */
header .wp-block-navigation {
	margin-top: 20px !important;
	display: flex !important;
	justify-content: center !important;
}

/* ナビ項目間隔 */
header .wp-block-navigation__container {
	gap: 32px !important;
}

header .wp-block-navigation {
	border-top: 1px solid rgba(255,255,255,.2);
	padding-top: 18px;
}

/* ===============================
   スマホ専用ヘッダー整理
================================ */
@media (max-width: 768px) {
	/* ヘッダー高さ固定 */
	header,
					  .site-header {
		height: 70px !important;
		padding: 0 16px !important;
		display: flex !important;
		align-items: center !important;
	}
	
	/* 2段構造をやめる */
	header .wp-block-group,
					  header .wp-block-columns {
		flex-direction: row !important;
	}
	
	/* 上段ボタン非表示 */
	header .wp-block-button,
					  header .wp-block-buttons,
					  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ナビはハンバーガー化 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* ロゴサイズ調整 */
	header img {
		height: 36px !important;
		width: auto !important;
	}
}

/* ===============================
   スマホヘッダー完全整理
================================ */
@media (max-width: 768px) {
	/* ヘッダー固定 */
	header,
				  .site-header {
		height: 70px !important;
		display: flex !important;
		align-items: center !important;
		justify-content: space-between !important;
		padding: 0 16px !important;
	}
	
	/* 2段構造解除 */
	header .wp-block-group,
				  header .wp-block-columns {
		flex-direction: row !important;
	}
	
	/* PCナビ非表示 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガー表示 */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
	}
	
	/* 上段ボタン非表示 */
	header .wp-block-buttons,
				  header .wp-block-button,
				  header .wp-block-social-links {
		display: none !important;
	}
	
	/* ナビ背景色を削除 */
	header .wp-block-navigation {
		background: transparent !important;
		border: none !important;
	}
}


/* ===================================
   スマホ：ヒーローをフル幅に戻す
=================================== */
@media (max-width:768px) {
	/* ヒーローセクションを画面いっぱいに */
	.yu-bg {
		width: 100vw !important;
		margin-left: calc(50% - 50vw) !important;
		margin-right: calc(50% - 50vw) !important;
		max-width: 100vw !important;
	}
	
	/* 画像もフル幅 */
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
	}
}

/* ===================================
   スマホ：ヒーローを完全フル幅化（最終版）
=================================== */
@media (max-width:768px) {
	/* ページ全体の横制限解除 */
	.wp-site-blocks,
				  main,
				  .wp-block-group {
		max-width: 100% !important;
	}
	
	/* ヒーローを画面幅いっぱいに */
	.yu-bg {
		position: relative !important;
		width: 100vw !important;
		left: 50% !important;
		right: 50% !important;
		margin-left: -50vw !important;
		margin-right: -50vw !important;
		max-width: 100vw !important;
	}
}

/* ===================================
   スマホ：ハンバーガーメニュー強制表示
=================================== */
@media (max-width:768px) {
	/* PCナビは非表示 */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーボタン強制表示 */
	header .wp-block-navigation__responsive-container-open {
		display: block !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	/* 閉じるボタンも有効化 */
	header .wp-block-navigation__responsive-container-close {
		display: block !important;
	}
	
	/* ナビ全体を通常モードに戻す */
	header .wp-block-navigation__responsive-container {
		display: block !important;
		position: fixed !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100vh !important;
		background: #1F2A44 !important;
		z-index: 9999 !important;
	}
}

/* ===== スマホヘッダー修正 ===== */
@media (max-width: 768px) {
	header {
		position: absolute;
		top: 0;
		left: 0;
		width: 100%;
		z-index: 9999;
	}
	
	/* スライダーに余白を作る */
	.wp-block-cover,
				.wp-block-group:first-of-type {
		padding-top: 80px !important;
	}
	
	/* ハンバーガーを強制表示 */
	.wp-block-navigation__responsive-container-open {
		display: block !important;
		position: absolute;
		right: 20px;
		top: 25px;
		z-index: 9999;
	}
	
	/* ナビ線を消す */
	.wp-block-navigation {
		border: none !important;
	}
}

/* ===== スマホ完全リセット ===== */
@media (max-width: 768px) {
	header {
		position: relative !important;
		background: #1f2a44;
		z-index: 1000;
	}
	
	/* ハンバーガーを確実に表示 */
	.wp-block-navigation__responsive-container-open {
		display: block !important;
		position: absolute;
		right: 20px;
		top: 20px;
		color: #fff;
	}
	
	/* ナビ線削除 */
	.wp-block-navigation {
		border: none !important;
	}
}

/* ===== スマホでハンバーガーを正しく表示 ===== */
@media (max-width:768px) {
	/* PCナビは隠す */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーボタン表示 */
	header .wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
	
	/* メニュー開閉エリアをWordPress標準に戻す */
	header .wp-block-navigation__responsive-container {
		position: fixed !important;
		width: 100% !important;
		height: 100vh !important;
		background: #1F2A44 !important;
		z-index: 9999 !important;
	}
}

/* ===== 強制ハンバーガー復活 ===== */
@media (max-width:768px) {
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
		position: relative !important;
		z-index: 99999 !important;
	}
	
	.wp-block-navigation__container {
		display: none !important;
	}
}


/* ===============================
   フッターをフル幅に戻す
================================= */
footer,
.wp-block-template-part.footer,
.site-footer {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: calc(50% - 50vw) !important;
	margin-right: calc(50% - 50vw) !important;
}


/* ===============================
   スマホ横ズレ完全修正
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	.wp-site-blocks,
		  .yu-bg,
		  .wp-block-group {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
	
	/* 100vwを強制無効化 */
	[style*="100vw"],
		  footer,
		  .site-footer {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* ===============================
   スライダー完全リセット（スマホ）
================================= */
@media (max-width:768px) {
	.yu-bg {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
		left: 0 !important;
		right: 0 !important;
		overflow: hidden !important;
	}
	
	.yu-slider,
		  .yu-hero {
		position: absolute !important;
		top: 0 !important;
		left: 0 !important;
		width: 100% !important;
		height: 100% !important;
	}
	
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
		left: 0 !important;
	}
}

/* ===============================
   スマホ ハンバーガー復活
================================= */
@media (max-width:768px) {
	/* PCナビは消すけど */
	header .wp-block-navigation__container {
		display: none !important;
	}
	
	/* ハンバーガーは必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		visibility: visible !important;
		opacity: 1 !important;
	}
}

/* ===============================
   スマホ：YOU Relax & Bodywork 1行固定
================================= */
@media (max-width:768px) {
	.yu-copy-main {
		white-space: nowrap !important;
		font-size: clamp(26px,6vw,40px) !important;
		letter-spacing: .08em !important;
	}
}

/* ===============================
   スマホナビ 正常動作版
================================= */
@media (max-width:768px) {
	/* ハンバーガー必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	
	/* 通常ナビは隠す（開いた時は表示される） */
	.wp-block-navigation__container {
		display: flex !important;
	}
}

/* ===============================
   スマホナビ 正常動作版
================================= */
@media (max-width:768px) {
	/* ハンバーガー必ず表示 */
	.wp-block-navigation__responsive-container-open {
		display: flex !important;
		opacity: 1 !important;
		visibility: visible !important;
	}
	
	/* 通常ナビは隠す（開いた時は表示される） */
	.wp-block-navigation__container {
		display: flex !important;
	}
}

/* ===============================
   お客様の声 横3列レイアウト
================================= */
@media (min-width:769px) {
	.yu-voice-wrapper {
		display: flex !important;
		gap: 40px !important;
		align-items: stretch !important;
	}
	
	.yu-voice-wrapper > div {
		flex: 1 !important;
		display: flex !important;
		flex-direction: column !important;
	}
}

/* ===============================
   お客様の声 横3列化
================================= */
.yu-voice-wrapper {
	display: flex;
	gap: 30px;
}

/* PCのみ横並びにしたい場合 */
@media (max-width:768px) {
	.yu-voice-wrapper {
		flex-direction: column;
	}
}

/* ===============================
   お客様の声 センター補正
================================= */
.yu-voice-wrapper {
	display: flex;
	gap: 30px;
	justify-content: center;
/* ← これが重要 */
}

.yu-voice-wrapper > div {
	max-width: 340px;
/* カード幅を固定 */
	width: 100%;
}

/* ===============================
   全体フォントを明朝に統一
================================= */
body,
.wp-site-blocks,
.wp-block-group,
.wp-block-columns,
.wp-block-column,
h1, h2, h3, h4, h5, h6,
p,
a,
span,
li {
	font-family: "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", "Noto Serif JP", serif !important;
}

/* /* ===============================
   PC 横幅 正しい拡張方法
================================= */
@media (min-width:1024px) {
	.wp-site-blocks {
		max-width: 1400px !important;
		margin: 0 auto !important;
	}
}

/* ===============================
   全体ボタン ホバーアニメーション
================================= */
.wp-block-button__link,
.yu-btn-outline,
button,
input[type="submit"] {
	transition: all .3s ease;
}

/* ホバー時 */
.wp-block-button__link:hover,
.yu-btn-outline:hover,
button:hover,
input[type="submit"]:hover {
	transform: translateY(-3px);
	box-shadow: 0 8px 20px rgba(0,0,0,.25);
}

/* クリック時 */
.wp-block-button__link:active,
button:active {
	transform: translateY(-1px);
	box-shadow: 0 4px 10px rgba(0,0,0,.2);
}

/* ===============================
   全体センター安定化リセット
================================= */
html, body {
	overflow-x: hidden;
}

.wp-site-blocks {
	max-width: 1400px;
	width: 92%;
	margin: 0 auto;
}

section {
	margin-left: auto;
	margin-right: auto;
}

@media (min-width:1200px) {
	.wp-site-blocks {
		max-width: 1600px;
	}
}

/* サイト全体をフルワイド化 */
.wp-site-blocks,
.alignwide,
.alignfull {
	max-width: 100% !important;
	width: 100% !important;
}

/* 中央寄せ制限を解除 */
.wp-site-blocks {
	padding-left: 0 !important;
	padding-right: 0 !important;
}

/* 横スクロール防止 */
body {
	overflow-x: hidden;
}

/* LINEアイコン拡大 */
a[href*="line"] img,
.line-icon img {
	width: 60px !important;
	height: 60px !important;
}

/* 右側地図を拡大 */
.wp-block-column:last-child iframe,
.wp-block-column:last-child img {
	width: 100% !important;
	height: 420px !important;
}

/* アクセスセクション カラム比率固定 */
.wp-block-columns {
	align-items: flex-start;
}

.wp-block-columns > .wp-block-column:first-child {
	flex: 0 0 40%;
}

.wp-block-columns > .wp-block-column:last-child {
	flex: 0 0 60%;
}

/* 地図サイズ調整 */
.wp-block-columns > .wp-block-column:last-child iframe {
	width: 100%;
	height: 450px;
}

/* 横ズレ完全修正 */
html, body {
	overflow-x: hidden;
}

.wp-site-blocks {
	margin: 0 auto !important;
	max-width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
}

.wp-block-group,
.wp-block-columns {
	margin-left: auto !important;
	margin-right: auto !important;
}

.yu-access-clean-text {
	width: 100%;
	max-width: 100%;
	font-family: "Hiragino Mincho ProN", serif;
	color: #444;
	line-height: 1.8;
}

/* アクセスセクション横幅拡張 */
.yu-access-clean-text {
	width: 100%;
	max-width: 1200px;
	margin: 0 auto;
}

/* カラム全体を広げる */
.wp-block-columns {
	max-width: 1400px;
	margin: 0 auto;
}

.wp-block-columns {
	max-width: 1500px;
}

.yu-access-clean-text {
	padding-top: 40px;
	padding-bottom: 40px;
}

/* 横ズレ完全リセット */
html, body {
	overflow-x: hidden !important;
}

* {
	box-sizing: border-box;
}

/* 100vwを使っている要素を強制修正 */
[class*="yu-"],
.wp-block-group,
.wp-block-columns,
.wp-site-blocks {
	max-width: 100% !important;
	width: 100% !important;
	margin-left: auto !important;
	margin-right: auto !important;
}

/* Relax & Bodywork を1行固定 */
.yu-copy-main {
	white-space: nowrap;
}

/* 文字がはみ出さないように中央固定 */
.yu-wrap-horizontal {
	text-align: center;
}

/* PCは1行固定 */
@media (min-width:769px) {
	.yu-copy-main {
		white-space: nowrap;
	}
}

/* スマホは少し縮小 */
@media (max-width:768px) {
	.yu-copy-main {
		font-size: 34px !important;
		white-space: nowrap;
	}
}

.yu-copy-main {
	text-align: center;
	width: 100%;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}

.yu-copy-main span {
	display: inline-block;
}

.yu-copy-main br {
	display: block;
}

.yu-copy-main {
	letter-spacing: .05em;
}

/* =================================
   HERO タイトル 最終固定
================================= */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

.yu-copy-main br {
	display: block !important;
}

.yu-copy-main span {
	display: inline-block !important;
}

/* Relax & Bodywork を1行に固定 */
.yu-copy-main span:nth-last-child(-n+8) {
	white-space: nowrap !important;
}

/* スマホ最適化 */
@media(max-width:768px) {
	.yu-copy-main {
		font-size: 32px !important;
	}
}

/* HERO タイトル最終固定 */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

.yu-copy-main br {
	display: block !important;
}

.yu-copy-main {
	font-size: clamp(36px,6vw,80px) !important;
}

/* ===============================
   全体センター強制修正
================================= */
html, body {
	overflow-x: hidden !important;
}

.wp-site-blocks {
	width: 100% !important;
	max-width: 1200px !important;
	margin: 0 auto !important;
	padding-left: 20px !important;
	padding-right: 20px !important;
	box-sizing: border-box !important;
}

/* メニューセクション中央 */
section {
	margin-left: auto !important;
	margin-right: auto !important;
}

/* ===============================
   レイアウト完全安定版
================================= */
/* サイト全体を中央基準に統一 */
.wp-site-blocks {
	max-width: 1400px !important;
	width: 100% !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

/* ヒーローは中央基準に戻す */
.yu-bg {
	width: 100% !important;
	max-width: 1400px !important;
	margin: 0 auto !important;
	left: 0 !important;
	transform: none !important;
}

/* ===============================
   HEROだけフル幅・他は中央固定
================================= */
/* ① ヒーローは画面いっぱい */
.yu-bg {
	position: relative !important;
	width: 100vw !important;
	left: 50% !important;
	margin-left: -50vw !important;
	margin-right: -50vw !important;
	max-width: 100vw !important;
}

/* ② サイト本文は中央固定 */
.wp-site-blocks {
	max-width: 1400px !important;
	margin: 0 auto !important;
	padding-left: 40px !important;
	padding-right: 40px !important;
	box-sizing: border-box !important;
}

/* ③ 横ズレ防止 */
html, body {
	overflow-x: hidden !important;
}

/* ===============================
   Reservation エリア洗練
================================= */
section[style*="Reservation"] {
	max-width: 560px !important;
	margin: 80px auto !important;
	padding: 45px 40px !important;
	background: #f7f3ec !important;
	border: 1px solid rgba(31,42,68,.1) !important;
}

/* ボタンを軽くする */
section[style*="Reservation"] a {
	background: #fff !important;
	transition: all .3s ease;
}

section[style*="Reservation"] a:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 20px rgba(0,0,0,.08);
}

/* ===============================
   BLOG エリア整形
================================= */
section[style*="BLOG"] {
	max-width: 800px !important;
	margin: 60px auto 120px !important;
	padding: 35px 40px !important;
	background: #f8f5ef !important;
	border: 1px solid rgba(31,42,68,.08) !important;
}

/* BLOGタイトル余白 */
section[style*="BLOG"] h2 {
	font-size: 1.3rem !important;
	letter-spacing: .15em !important;
}

/* ===============================
   MESSAGE + IMAGE ZONE 整形
================================= */
.yu-message-wrap {
	max-width: 1100px;
	margin: 120px auto 80px;
	padding: 0 20px;
}

.yu-message-section {
	text-align: center;
	margin-bottom: 70px;
}

.yu-message-title {
	font-size: clamp(30px,4vw,42px);
	letter-spacing: .25em;
	margin-bottom: 30px;
	position: relative;
	display: inline-block;
}

.yu-message-title::after {
	content: "";
	display: block;
	width: 30px;
	height: 1px;
	background: #C8A96A;
	margin: 30px auto 0;
}

.yu-message-sub {
	font-size: 18px;
	letter-spacing: .18em;
	margin-bottom: 40px;
	opacity: .85;
}

.yu-message-text {
	font-size: 16px;
	letter-spacing: .12em;
	line-height: 2;
	color: #444;
}

.yu-message-sub {
	white-space: nowrap;
	display: inline-block;
}

.yu-message-title {
	white-space: normal;
	letter-spacing: .18em;
}

.site-logo,
.site-title {
	display: flex;
	align-items: baseline;
	gap: 10px;
}

.site-description {
	display: inline;
	margin-left: 8px;
}

.logo_text {
	display: flex;
	align-items: baseline;
	gap: 8px;
}

.logo_text p {
	display: inline;
	margin: 0;
}

.logo_text {
	display: flex;
	align-items: baseline;
	gap: 12px;
}

.logo_text .site-title {
	font-weight: 700;
	letter-spacing: .05em;
}

.logo_text .site-description {
	font-size: 14px;
	opacity: .8;
}

.yu-copy-main {
	white-space: nowrap;
}

.yu-copy-main {
	white-space: nowrap;
	font-size: clamp(28px, 6vw, 90px);
}

/* HEROタイトル最終固定 */
.yu-copy-main {
	display: block !important;
	text-align: center !important;
	white-space: normal !important;
	letter-spacing: .05em !important;
}

/* Relax & Bodywork を1行に固定 */
.yu-copy-main br {
	display: block !important;
}

.yu-copy-main span:nth-child(n+4) {
	white-space: nowrap !important;
}

.yu-message-title {
	white-space: nowrap;
}

/* ===============================
   メッセージ スマホだけ改行
================================= */
@media (max-width:768px) {
	.yu-message-title {
		white-space: normal !important;
		font-size: 24px !important;
		letter-spacing: .15em !important;
		line-height: 1.6 !important;
	}
}

/* ===============================
   メッセージ スマホ改行調整
================================= */
@media (max-width:768px) {
	.yu-message-title {
		white-space: normal !important;
		font-size: 24px !important;
		letter-spacing: .15em !important;
		line-height: 1.6 !important;
	}
	
	.yu-message-sub {
		white-space: normal !important;
		font-size: 16px !important;
		letter-spacing: .12em !important;
		line-height: 1.8 !important;
	}
}

/* =================================
   スマホ 横ズレ完全リセット
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	/* サイト全体 */
	.wp-site-blocks,
	  main,
	  .wp-block-group,
	  .wp-block-columns,
	  section,
	  .alignwide,
	  .alignfull {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
	
	/* 100vwを使っている要素を無効化 */
	[style*="100vw"],
	  .yu-bg {
		width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* =================================
   スマホ 強制フル幅固定（最終）
================================= */
@media (max-width:768px) {
	html, body {
		width: 100% !important;
		max-width: 100% !important;
		overflow-x: hidden !important;
	}
	
	/* サイト本体を100%に固定 */
	.wp-site-blocks {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 !important;
	}
	
	/* 全セクションをフル幅 */
	.wp-block-group,
	  .wp-block-columns,
	  section,
	  main {
		width: 100% !important;
		max-width: 100% !important;
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

@media (max-width:768px) {
	* {
		max-width: 100% !important;
	}
}

/* =================================
   ヒーローバナー中央修正（スマホ）
================================= */
@media (max-width:768px) {
	.yu-bg {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		left: 0 !important;
		right: 0 !important;
	}
	
	.yu-hero,
	  .yu-slider {
		width: 100% !important;
		left: 0 !important;
	}
	
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
}

/* =================================
   ヒーローバナー中央修正（スマホ）
================================= */
@media (max-width:768px) {
	.yu-bg {
		position: relative !important;
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		left: 0 !important;
		right: 0 !important;
	}
	
	.yu-hero,
	  .yu-slider {
		width: 100% !important;
		left: 0 !important;
	}
	
	.yu-slider img {
		width: 100% !important;
		height: 100% !important;
		object-fit: cover !important;
	}
}

/* =========================
   MENUセクション スマホ修正
========================= */
@media (max-width:768px) {
	.yu-menu-jp-full-wide {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 !important;
		padding: 0 20px !important;
	/* 余白は残す */
	}
	
	/* 画像もはみ出さないように */
	.yu-menu-jp-full-wide img {
		width: 100% !important;
		height: auto !important;
	}
}

@media (max-width:768px) {
	.wp-site-blocks {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}
}

/* =========================
   メッセージセクション PC中央固定
========================= */
.yu-message-section {
	width: 100%;
	display: flex;
	justify-content: center;
}

.yu-message-section > div {
	max-width: 900px;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

/* ======================
   メッセージ全体PC中央固定
====================== */
.yu-message-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 80px 20px;
	text-align: center;
}

.yu-message-section {
	max-width: 800px;
	margin: 0 auto 60px;
}

.yu-message-images {
	display: flex;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
}

.yu-message-images img {
	max-width: 400px;
	width: 100%;
}

/* =========================
   メッセージPC完全安定版
========================= */
.yu-message-wrap {
	max-width: 1100px;
	margin: 0 auto;
	padding: 120px 20px;
	text-align: center;
}

.yu-message-section {
	max-width: 900px;
	margin: 0 auto 80px;
}

.yu-message-title {
	font-size: 42px;
	letter-spacing: .1em;
	margin-bottom: 30px;
}

.yu-message-sub {
	font-size: 18px;
	margin-bottom: 40px;
}

.yu-message-text {
	font-size: 16px;
	margin-bottom: 10px;
}

.yu-message-images {
	display: flex;
	justify-content: center;
	gap: 30px;
	flex-wrap: wrap;
}

.yu-message-images img {
	width: 350px;
	max-width: 100%;
}

/* ===== スマホ幅を完全中央固定 ===== */
@media (max-width: 768px) {
	.site-content,
	  .entry-content,
	  .container,
	  .inner,
	  .wrap {
		max-width: 100% !important;
		width: 100% !important;
		margin: 0 auto !important;
		padding-left: 16px !important;
		padding-right: 16px !important;
		box-sizing: border-box;
	}
}

/* ===== メニューだけスマホ中央固定 ===== */
@media (max-width:768px) {
	.yu-menu-jp-full-wide {
		padding: 0 16px !important;
		box-sizing: border-box;
	}
	
	.yu-menu-jp-full-wide div[style*="min-width"] {
		min-width: 0 !important;
		width: 100% !important;
	}
	
	.yu-menu-jp-full-wide > div {
		flex-direction: column !important;
		gap: 20px !important;
	}
}

/* ===== メニュー完全中央固定 ===== */
@media (max-width:768px) {
	.yu-menu-jp-full-wide {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 auto !important;
		padding: 0 16px !important;
		box-sizing: border-box !important;
		overflow: hidden !important;
	}
	
	.yu-menu-jp-full-wide > div {
		flex-direction: column !important;
		gap: 20px !important;
	/* 35 → 20に縮小 */
	}
	
	.yu-menu-jp-full-wide img {
		width: 100% !important;
		height: auto !important;
	}
}

html, body {
	overflow-x: hidden !important;
}

/* ===== メニュー共通 ===== */
.yu-menu-item {
	width: 100%;
	margin-bottom: 50px;
	padding-bottom: 40px;
	border-bottom: 1px solid #f0f0f0;
	box-sizing: border-box;
}

.yu-menu-img img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 2px;
}

/* ===== スマホ ===== */
@media (max-width:768px) {
	.yu-menu-item {
		display: block;
	}
	
	.yu-menu-img {
		margin-bottom: 20px;
	}
}

/* ===== PC ===== */
@media (min-width:769px) {
	.yu-menu-item {
		display: flex;
		gap: 35px;
		align-items: stretch;
	}
	
	.yu-menu-img {
		flex: 1.2;
	}
	
	.yu-menu-text {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
}

/* ===== メニュー全体 ===== */
.yu-menu-wrap {
	width: 100%;
	margin: 0 auto;
	padding: 0 16px;
	box-sizing: border-box;
}

.yu-menu-item {
	width: 100%;
	margin-bottom: 50px;
	padding-bottom: 40px;
	border-bottom: 1px solid #f0f0f0;
	box-sizing: border-box;
}

.yu-menu-img img {
	width: 100%;
	height: auto;
	display: block;
	border-radius: 2px;
}

.yu-menu-title-en {
	font-size: .75rem;
	color: #C8A96A;
	letter-spacing: .15em;
	font-weight: bold;
	margin: 0;
}

.yu-menu-title-jp {
	font-size: 1.4rem;
	margin: 5px 0;
	font-weight: 600;
}

.yu-menu-text p {
	font-size: .9rem;
	line-height: 1.8;
	margin: 15px 0;
	color: #555;
}

.yu-menu-text ul {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	border-top: 2px solid #1F2A44;
}

.yu-menu-text li {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	font-weight: 600;
}

.yu-menu-btn {
	display: block;
	text-align: center;
	padding: 14px 0;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	font-weight: bold;
	letter-spacing: .1em;
}

/* ===== スマホ ===== */
@media (max-width:768px) {
	.yu-menu-item {
		display: block;
	}
	
	.yu-menu-img {
		margin-bottom: 20px;
	}
}

/* ===== PC ===== */
@media (min-width:769px) {
	.yu-menu-item {
		display: flex;
		gap: 35px;
		align-items: stretch;
	}
	
	.yu-menu-img {
		flex: 1.2;
	}
	
	.yu-menu-text {
		flex: 1;
		display: flex;
		flex-direction: column;
		justify-content: space-between;
	}
}

/* ===== PCで画像サイズ統一 ===== */
@media (min-width:769px) {
	.yu-menu-img {
		aspect-ratio: 2 / 1;
	/* ← 全メニュー共通比率 */
		overflow: hidden;
	}
	
	.yu-menu-img img {
		width: 100%;
		height: 100%;
		object-fit: cover;
	/* トリミングして統一 */
	}
}

/* ===== メニューを完全中央固定 ===== */
.yu-menu-wrap {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: 50% !important;
	transform: translateX(-50%) !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

/* 親containerの影響を消す */
.yu-menu-wrap * {
	box-sizing: border-box;
}

/* 横スクロール防止 */
html,body {
	overflow-x: hidden;
}

/* ===== メニューを完全中央固定 ===== */
.yu-menu-wrap {
	width: 100vw !important;
	max-width: 100vw !important;
	margin-left: 50% !important;
	transform: translateX(-50%) !important;
	padding: 0 20px !important;
	box-sizing: border-box !important;
}

/* 親containerの影響を消す */
.yu-menu-wrap * {
	box-sizing: border-box;
}

/* 横スクロール防止 */
html,body {
	overflow-x: hidden;
}

/* --- メニューセクション全体の共通設定 --- */
.yu-menu-container {
	max-width: 1100px;
	margin: 0 auto;
	padding: 40px 20px;
	font-family: 'Hiragino Mincho ProN', 'serif';
	color: #1F2A44;
}

/* 各メニュー項目のレイアウト */
.yu-menu-item {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin-bottom: 80px;
	gap: 40px;
}

/* PC版：偶数番目の項目を左右反転させる */
.yu-menu-item:nth-child(even) {
	flex-direction: row-reverse;
}

/* 画像エリアの設定 */
.yu-menu-img {
	flex: 1.2 1 400px;
	aspect-ratio: 16/9;
	overflow: hidden;
	border-radius: 2px;
}

.yu-menu-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform .6s ease;
}

.yu-menu-item:hover .yu-menu-img img {
	transform: scale(1.05);
}

/* コンテンツエリアの設定 */
.yu-menu-content {
	flex: 1 1 350px;
}

/* 料金リストの設定 */
.yu-menu-price-list {
	list-style: none;
	padding: 0;
	margin: 20px 0;
	border-top: 2px solid #1F2A44;
}

.yu-menu-price-list li {
	display: flex;
	justify-content: space-between;
	padding: 12px 0;
	border-bottom: 1px solid #eee;
	font-weight: 600;
}

/* 予約ボタンの設定 */
.yu-menu-btn {
	display: block;
	text-align: center;
	padding: 15px 0;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	font-weight: bold;
	letter-spacing: .1em;
	transition: .3s;
}

.yu-menu-btn:hover {
	background: #1F2A44;
	color: #fff;
}

/* 特殊ボタン（当日相談など） */
.yu-menu-btn-special {
	background: #1F2A44;
	color: #fff !important;
}

/* --- スマホ対応設定 --- */
@media (max-width: 768px) {
	.yu-menu-item, .yu-menu-item:nth-child(even) {
		flex-direction: column !important;
		gap: 20px;
		margin-bottom: 60px;
	}
	
	.yu-menu-img {
		flex: 1 1 100%;
		aspect-ratio: 2/1;
	}
	
	.yu-menu-content h2 {
		font-size: 1.3rem;
	}
}

/* グリッドコンテナ全体 */
.yu-menu-grid-container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 60px 20px;
	font-family: 'Hiragino Mincho ProN', 'serif';
	color: #1F2A44;
}

/* PC版：横並び（3列を基本に、端数は中央寄せ） */
.yu-menu-grid {
	display: flex;
	flex-wrap: wrap;
	gap: 40px 30px;
	justify-content: center;
}

/* 各メニューカードの設計 */
.yu-menu-card {
	flex: 0 1 calc(33.333% - 20px);
	min-width: 300px;
	display: flex;
	flex-direction: column;
	margin-bottom: 20px;
}

/* 画像エリア */
.yu-menu-card-img {
	width: 100%;
	aspect-ratio: 16/9;
	overflow: hidden;
	margin-bottom: 20px;
	border-radius: 2px;
}

.yu-menu-card-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* テキストエリアの装飾 */
.yu-menu-category {
	font-size: .7rem;
	color: #C8A96A;
	letter-spacing: .15em;
	font-weight: bold;
	margin: 0;
}

.yu-menu-card h2 {
	font-size: 1.4rem;
	margin: 8px 0 12px;
	font-weight: 600;
}

.yu-menu-description {
	font-size: .9rem;
	line-height: 1.8;
	color: #555;
	margin-bottom: 18px;
}

/* 料金表 */
.yu-menu-card-price {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	border-top: 2px solid #1F2A44;
}

.yu-menu-card-price li {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	font-weight: 600;
}

/* 予約ボタン */
.yu-menu-card-btn {
	margin-top: auto;
	display: block;
	text-align: center;
	padding: 14px 0;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	font-weight: bold;
	letter-spacing: .1em;
}

.yu-menu-card-btn-dark {
	background: #1F2A44;
	color: #fff !important;
}

/* --- スマホ表示：縦1列に強制切り替え --- */
@media (max-width: 768px) {
	.yu-menu-card {
		flex: 1 1 100% !important;
		min-width: 100% !important;
		margin-bottom: 50px;
	}
}

/* メニュー全体のコンテナ */
.yu-menu-list-container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 40px 20px;
	font-family: 'Hiragino Mincho ProN', 'serif';
	color: #1F2A44;
}

/* 各メニュー項目のレイアウト（PC：左画像・右テキスト固定） */
.yu-menu-list-item {
	display: flex;
	align-items: stretch;
	margin-bottom: 60px;
	gap: 40px;
	border-bottom: 1px solid #eee;
	padding-bottom: 40px;
}

/* 画像エリア */
.yu-menu-list-img {
	flex: 0 0 45%;
/* 幅を固定 */
	aspect-ratio: 16/9;
	overflow: hidden;
	border-radius: 2px;
}

.yu-menu-list-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* コンテンツエリア */
.yu-menu-list-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.yu-menu-category {
	font-size: .75rem;
	color: #C8A96A;
	letter-spacing: .15em;
	font-weight: bold;
	margin: 0;
}

.yu-menu-list-item h2 {
	font-size: 1.5rem;
	margin: 8px 0 12px;
	font-weight: 600;
}

.yu-menu-description {
	font-size: .9rem;
	line-height: 1.8;
	color: #555;
	margin-bottom: 15px;
}

/* 料金リスト */
.yu-menu-price-table {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	border-top: 2px solid #1F2A44;
}

.yu-menu-price-table li {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	font-weight: 600;
}

/* 予約ボタン */
.yu-menu-btn {
	display: block;
	text-align: center;
	padding: 14px 0;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	font-weight: bold;
	letter-spacing: .1em;
}

.yu-menu-btn-dark {
	background: #1F2A44;
	color: #fff !important;
}

/* --- スマホ表示：縦並びに切り替え --- */
@media (max-width: 768px) {
	.yu-menu-list-item {
		flex-direction: column !important;
		gap: 20px;
		margin-bottom: 50px;
	}
	
	.yu-menu-list-img {
		flex: 1 1 100%;
		aspect-ratio: 2/1;
	}
}

/* メニュー全体のコンテナ */
.yu-menu-list-container {
	max-width: 1000px;
	margin: 0 auto;
	padding: 40px 20px;
	font-family: 'Hiragino Mincho ProN', 'serif';
	color: #1F2A44;
}

/* 各メニュー項目のレイアウト（PC：左画像・右テキスト） */
.yu-menu-list-item {
	display: flex;
	align-items: stretch;
	margin-bottom: 60px;
	gap: 40px;
	border-bottom: 1px solid #eee;
	padding-bottom: 40px;
}

/* 画像エリアの設定 */
.yu-menu-list-img {
	flex: 0 0 45%;
	aspect-ratio: 16/9;
	overflow: hidden;
	border-radius: 2px;
}

.yu-menu-list-img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* コンテンツエリアの設定 */
.yu-menu-list-content {
	flex: 1;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
}

.yu-menu-category {
	font-size: .75rem;
	color: #C8A96A;
	letter-spacing: .15em;
	font-weight: bold;
	margin: 0;
}

.yu-menu-list-item h2 {
	font-size: 1.5rem;
	margin: 8px 0 12px;
	font-weight: 600;
}

.yu-menu-description {
	font-size: .9rem;
	line-height: 1.8;
	color: #555;
	margin-bottom: 15px;
}

/* 料金リスト */
.yu-menu-price-table {
	list-style: none;
	padding: 0;
	margin: 0 0 20px;
	border-top: 2px solid #1F2A44;
}

.yu-menu-price-table li {
	display: flex;
	justify-content: space-between;
	padding: 10px 0;
	border-bottom: 1px solid #eee;
	font-weight: 600;
}

/* 予約ボタン */
.yu-menu-btn {
	display: block;
	text-align: center;
	padding: 14px 0;
	border: 1px solid #1F2A44;
	color: #1F2A44;
	text-decoration: none;
	font-size: .85rem;
	font-weight: bold;
	letter-spacing: .1em;
}

.yu-menu-btn-dark {
	background: #1F2A44;
	color: #fff !important;
}

/* スマホ表示：縦並びに切り替え */
@media (max-width: 768px) {
	.yu-menu-list-item {
		flex-direction: column !important;
		gap: 20px;
	}
	
	.yu-menu-list-img {
		flex: 1 1 100%;
		aspect-ratio: 2/1;
	}
}

/* 1. サイト全体の横揺れ防止と中央寄せ */
body {
	overflow-x: hidden !important;
	width: 100% !important;
	margin: 0 !important;
	padding: 0 !important;
}

/* 2. メニューコンテナを確実に中央に配置 */
.yu-menu-list-container {
	max-width: 1100px !important;
/* 他のセクションと合わせる */
	margin: 0 auto !important;
/* 左右中央寄せの魔法 */
	padding: 60px 20px !important;
	box-sizing: border-box !important;
}

/* 3. 各メニュー項目の配置を安定させる */
.yu-menu-list-item {
	width: 100% !important;
	display: flex !important;
	justify-content: center !important;
/* 中身を中央寄りに */
}

/* --- スマホ表示：左寄りを防ぐ --- */
@media (max-width: 768px) {
	.yu-menu-list-container {
		width: 100% !important;
		padding: 40px 15px !important;
	}
	
	.yu-menu-list-item {
		margin-left: 0 !important;
		margin-right: 0 !important;
	}
}

/* 1. メニュー全体のコンテナを中央に固定 */
.yu-menu-list-container {
	max-width: 1000px !important;
/* コンテンツの最大幅 */
	margin-left: auto !important;
/* 左マージン自動（中央寄せ） */
	margin-right: auto !important;
/* 右マージン自動（中央寄せ） */
	padding: 40px 20px !important;
	box-sizing: border-box !important;
}

/* 2. 各メニュー項目の配置を安定させる */
.yu-menu-list-item {
	display: flex !important;
	justify-content: center !important;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* 3. スマホ表示：左寄りと余白の解消 */
@media (max-width: 768px) {
	.yu-menu-list-container {
		width: 100% !important;
		padding: 40px 15px !important;
	/* 左右の余白を均等に */
	}
	
	.yu-menu-list-item {
		align-items: center !important;
	/* 中央揃え */
	}
	
	.yu-menu-list-img {
		width: 100% !important;
	/* 画像を横幅いっぱいに */
		flex: 1 1 auto !important;
	}
	
	.yu-menu-list-content {
		width: 100% !important;
		text-align: left !important;
	/* テキストは左揃えが読みやすい */
	}
}

/* 1. コンテナを中央に固定し、幅を定義 */
.yu-menu-list-container {
	max-width: 1100px !important;
	margin-left: auto !important;
	margin-right: auto !important;
	padding: 60px 20px !important;
	display: block !important;
}

/* 2. 各アイテムを「横並び」に強制固定 */
.yu-menu-list-item {
	display: flex !important;
/* 縦並びを解除して横並びに */
	flex-direction: row !important;
/* 左画像・右テキスト */
	align-items: stretch !important;
	justify-content: space-between !important;
	gap: 5% !important;
/* 画像とテキストの間の余白 */
	width: 100% !important;
	margin-bottom: 80px !important;
	border-bottom: 1px solid #eee !important;
	padding-bottom: 40px !important;
}

/* 3. 画像エリアの幅を固定 */
.yu-menu-list-img {
	flex: 0 0 45% !important;
/* 画像の横幅を45%に固定 */
	max-width: 500px !important;
	aspect-ratio: 16/9 !important;
	overflow: hidden !important;
}

.yu-menu-list-img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

/* 4. テキストエリアを広げる */
.yu-menu-list-content {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

/* --- スマホ表示：ここだけ「縦並び」に上書き --- */
@media (max-width: 768px) {
	.yu-menu-list-item {
		flex-direction: column !important;
	/* スマホは縦 */
		gap: 20px !important;
	}
	
	.yu-menu-list-img {
		flex: 0 0 100% !important;
		width: 100% !important;
	}
}

/* 1. コンテナを中央に強制配置 */
.yu-menu-list-container {
	display: block !important;
	max-width: 1000px !important;
/* サイト全体の幅に合わせる */
	margin-left: auto !important;
	margin-right: auto !important;
	float: none !important;
/* 左寄せを解除 */
	padding: 60px 20px !important;
	box-sizing: border-box !important;
}

/* 2. 各メニュー項目の配置を安定させる */
.yu-menu-list-item {
	display: flex !important;
	justify-content: center !important;
	align-items: stretch !important;
	width: 100% !important;
	margin: 0 auto 60px !important;
	border-bottom: 1px solid #eee !important;
	padding-bottom: 40px !important;
	float: none !important;
}

/* 3. 画像とテキストのバランスを固定（PC） */
.yu-menu-list-img {
	flex: 0 0 45% !important;
	max-width: 450px !important;
}

.yu-menu-list-content {
	flex: 1 !important;
	text-align: left !important;
}

/* 4. スマホ表示：中央寄せと全幅化を徹底 */
@media (max-width: 768px) {
	.yu-menu-list-container {
		width: 100% !important;
		padding: 40px 15px !important;
	}
	
	.yu-menu-list-item {
		flex-direction: column !important;
	/* 縦並び */
		align-items: center !important;
		margin-bottom: 50px !important;
		gap: 20px !important;
	}
	
	.yu-menu-list-img {
		width: 100% !important;
		max-width: 100% !important;
		flex: 1 1 auto !important;
	}
	
	.yu-menu-list-content {
		width: 100% !important;
	}
	
	/* 文字が左に寄りすぎないよう調整 */
	.yu-menu-list-content h2, 
	    .yu-menu-description {
		text-align: left !important;
	}
}


/* ==========================================
   4. メニュー一覧：PC横・スマホ縦・中央寄せ
   ========================================== */
.yu-menu-list-container {
	max-width: 1000px !important;
	margin: 0 auto !important;
/* 中央寄せ */
	padding: 60px 20px !important;
}

.yu-menu-list-item {
	display: flex !important;
	flex-direction: row !important;
/* PCは横並び */
	align-items: stretch !important;
	margin-bottom: 60px !important;
	gap: 40px !important;
	border-bottom: 1px solid #eee !important;
	padding-bottom: 40px !important;
	width: 100% !important;
}

/* 画像(左45%)・テキスト(右) */
.yu-menu-list-img {
	flex: 0 0 45% !important;
	aspect-ratio: 16/9 !important;
	overflow: hidden !important;
}

.yu-menu-list-img img {
	width: 100% !important;
	height: 100% !important;
	object-fit: cover !important;
}

.yu-menu-list-content {
	flex: 1 !important;
	display: flex !important;
	flex-direction: column !important;
	justify-content: space-between !important;
}

/* スマホ：縦並び切り替え */
@media (max-width: 768px) {
	.yu-menu-list-item {
		flex-direction: column !important;
		align-items: center !important;
	}
	
	.yu-menu-list-img {
		width: 100% !important;
		flex: 1 1 auto !important;
		aspect-ratio: 2/1 !important;
	}
}

/* 見出し全体の余白 */
.yu-menu-header {
    text-align: center;
    margin-top: 60px;    /* 上の要素との間隔 */
    margin-bottom: 40px; /* 下のメニューとの間隔 */
}

/* 「施術メニュー」の文字 */
.yu-main-heading {
    font-size: 26px;      /* 文字の大きさ */
    font-weight: 500;     /* 太さ（少し細めが上品です） */
    color: #333333;       /* 文字の色 */
    letter-spacing: 0.1em; /* 文字の間隔を少し広げる */
    margin: 0;
}

/* 「Treatment Menu」の文字 */
.yu-sub-heading {
    font-size: 14px;
    color: #bfa888;       /* 落ち着いたゴールド・ベージュ系 */
    margin-top: 5px;
    letter-spacing: 0.2em;
    text-transform: uppercase; /* 英字を大文字に固定 */
}
/* セクション全体の余白 */
.yu-target-section {
    max-width: 1200px;
    margin: 60px auto;
    padding: 0 20px;
}

/* ヘッダー（見出し）部分 */
.yu-section-header {
    text-align: center;
    margin-bottom: 40px;
}
.yu-sub-title {
    font-size: 14px;
    color: #bfa888;
    letter-spacing: 0.2em;
    margin-bottom: 5px;
}
.yu-section-header h2 {
    font-size: 26px;
    color: #333;
    margin: 0;
}
.yu-line {
    width: 40px;
    height: 1px;
    background: #333;
    margin: 15px auto 0;
}

/* グリッドレイアウトの設定（3列並び） */
.yu-target-grid {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* PCで3列 */
    gap: 25px; /* カード同士の隙間 */
}

/* カードのデザイン（角丸・影・背景） */
.yu-target-card {
    background: #fff;
    border-radius: 15px; /* 角丸 */
    overflow: hidden;
    box-shadow: 0 4px 15px rgba(0, 0, 0, 0.05); /* 柔らかい影 */
    display: flex;
    flex-direction: column;
}

/* カード画像の設定 */
.yu-target-card img {
    width: 100%;
    height: 200px; /* 画像の高さを統一 */
    object-fit: cover; /* 比率を保って切り抜き */
    display: block;
}

/* カード内のテキスト部分 */
.yu-card-body {
    padding: 20px;
    text-align: center;
    flex-grow: 1;
    display: flex;
    align-items: center;
    justify-content: center;
}
.yu-card-body p {
    font-size: 14px;
    line-height: 1.6;
    color: #555;
    margin: 0;
}

/* 下部のフッターテキスト */
.yu-target-footer {
    text-align: center;
    margin-top: 40px;
    font-size: 14px;
    color: #888;
}

/* レスポンシブ対応（スマホで見やすくする） */
@media (max-width: 900px) {
    .yu-target-grid {
        grid-template-columns: repeat(2, 1fr); /* タブレットで2列 */
    }
}
@media (max-width: 600px) {
    .yu-target-grid {
        grid-template-columns: 1fr; /* スマホで1列 */
    }
}
/* クエリループ内の各記事をカード状にする */
.wp-block-post {
    background: #fff;
    border: 1px solid #eee;
    border-radius: 15px; /* 1枚目の画像に合わせた角丸 */
    overflow: hidden;
    box-shadow: 0 4px 12px rgba(0,0,0,0.05); /* 軽い影 */
    transition: transform 0.3s ease;
    padding-bottom: 20px;
    display: flex;
    flex-direction: column;
}

/* アイキャッチ画像のサイズを揃える */
.wp-block-post-featured-image img {
    width: 100%;
    height: 200px;
    object-fit: cover;
}

/* タイトルや日付の余白を調整 */
.wp-block-post-title, 
.wp-block-post-date {
    padding: 0 20px;
    margin-top: 15px;
}

.wp-block-post-title a {
    font-size: 16px;
    color: #333;
    text-decoration: none;
    font-weight: bold;
}
/* セクション共通の見出しスタイル */
.yu-section-header {
    text-align: center;
    margin-top: 80px;    /* 上の要素との間隔 */
    margin-bottom: 40px; /* ブログ記事との間隔 */
}

.yu-sub-title {
    font-size: 14px;
    color: #bfa888;       /* 以前使用した上品なゴールド系 */
    letter-spacing: 0.25em;
    margin-bottom: 8px;
    text-transform: uppercase;
}

.yu-section-header h2 {
    font-size: 26px;
    color: #333;
    margin: 0;
    font-weight: 500;
}

.yu-line {
    width: 40px;
    height: 1px;
    background: #333;
    margin: 18px auto 0;
}
/* カード全体をクリック可能にする疑似要素 */
.wp-block-post {
    position: relative; /* 基準点を作る */
}

.wp-block-post-title a::after {
    content: "";
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    z-index: 1; /* カード全体を覆う */
}
/* カード全体の余白を狭くして整える */
.wp-block-post {
    position: relative;
    padding: 15px 20px !important; /* 上下左右の余白をタイトに */
    margin-bottom: 15px !important;
    background: #fff;
    border: 1px solid #eee;
    border-radius: 12px;
    transition: all 0.3s ease;
}

/* ホバー時に少し浮き上がらせる */
.wp-block-post:hover {
    border-color: #bfa888;
    transform: translateY(-2px);
    box-shadow: 0 4px 15px rgba(0,0,0,0.05);
}

/* タイトルの文字サイズを調整 */
.wp-block-post-title {
    font-size: 16px !important;
    margin: 0 !important;
    padding-right: 100px; /* 矢印とかぶらないようにスペースを空ける */
}

.wp-block-post-title a {
    color: #333;
    text-decoration: none;
}

/* 「readmore→」の矢印を擬似的に追加 */
.wp-block-post::after {
    content: "readmore →";
    position: absolute;
    right: 20px;
    bottom: 15px;
    font-size: 12px;
    color: #bfa888; /* サブタイトルと同じ色 */
    font-weight: 500;
    letter-spacing: 0.05em;
}

/* 投稿日の位置とサイズ */
.wp-block-post-date {
    font-size: 12px !important;
    color: #999;
    margin-bottom: 5px !important;
}
/* ブログ本文中のH2見出し */
.single-post .entry-content h2 {
    font-size: 22px;
    color: #1F2A44; /* スタッフ紹介で使用した紺色 */
    padding-left: 15px;
    border-left: 4px solid #bfa888; /* 上品なゴールド系 */
    margin: 40px 0 20px;
    line-height: 1.4;
}

/* ブログ本文の段落（読みやすさの調整） */
.single-post .entry-content p {
    line-height: 1.8;
    margin-bottom: 25px;
    color: #444;
}
/* --- トップページ以外の全ページ共通ヘッダー設定 --- */

/* 1. ブログ記事と、トップ以外の固定ページの背景をネイビーに */
.single-post header, 
.page:not(.home) header,
.single-post .wp-block-template-part-header,
.page:not(.home) .wp-block-template-part-header {
    background-color: #1F2A44 !important; /* コンセプトページ共通のネイビー */
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

/* 2. 文字色を白に統一 */
.single-post header a,
.page:not(.home) header a,
.single-post header .wp-block-navigation-item__label,
.page:not(.home) header .wp-block-navigation-item__label {
    color: #ffffff !important;
}

/* 3. 丸枠メニューのデザインを適用 */
.single-post header .wp-block-navigation-item,
.page:not(.home) header .wp-block-navigation-item {
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 50px !important;
    margin: 0 5px !important;
    padding: 2px 12px !important;
    font-size: 0.9rem !important;
}

/* 4. ロゴが黒い場合は白く反転させる（必要に応じて） */
.single-post header img.custom-logo,
.page:not(.home) header img.custom-logo {
    filter: brightness(0) invert(1);
}
/* --- 固定ページとブログのヘッダーボタン修正 --- */

/* 1. 全体の背景と余白（ここはそのまま） */
.single-post header, 
.page:not(.home) header,
.single-post .wp-block-template-part-header,
.page:not(.home) .wp-block-template-part-header {
    background-color: #1F2A44 !important;
    padding-top: 15px !important;
    padding-bottom: 15px !important;
}

/* 2. メニュー項目自体の枠線を消す（二重枠の防止） */
.single-post header .wp-block-navigation-item,
.page:not(.home) header .wp-block-navigation-item {
    border: none !important; /* 外側の枠線を消去 */
    background: none !important;
}

/* 3. 中のリンクテキスト部分にだけ枠線をつける（これで1重になります） */
.single-post header .wp-block-navigation-item__content,
.page:not(.home) header .wp-block-navigation-item__content {
    border: 1px solid rgba(255, 255, 255, 0.4) !important;
    border-radius: 50px !important;
    padding: 5px 15px !important;
    color: #ffffff !important;
    font-size: 0.85rem !important;
    text-decoration: none !important;
    display: inline-block !important;
    transition: all 0.3s ease;
}

/* ホバー時の演出（お好みで） */
.single-post header .wp-block-navigation-item__content:hover,
.page:not(.home) header .wp-block-navigation-item__content:hover {
    background-color: rgba(255, 255, 255, 0.1);
    border-color: rgba(255, 255, 255, 0.8) !important;
}
/* --- ヘッダーとコンテンツの重なりを解消 --- */

/* ブログ記事（個別投稿）のタイトル周りに余白を作る */
.single-post .wp-block-post-title {
    margin-top: 200px !important; /* ヘッダーの高さに合わせて調整 */
    padding-top: 20px;
}

/* 固定ページのコンテンツ開始位置に余白を作る */
.page:not(.home) .entry-content,
.page:not(.home) .wp-block-group:first-child {
    margin-top: 200px !important;
}

/* もしアイキャッチ画像がタイトルの上にある場合は、画像に余白をつける */
.single-post .wp-block-post-featured-image {
    margin-top: 40px !important;
}
/* ギャラリー下のボタンエリア */
.yu-gallery-footer {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 60px;
}

/* もっと見るボタンのデザイン */
.yu-btn-more {
    display: inline-block;
    padding: 12px 60px;
    border: 1px solid #1F2A44; /* スタッフ紹介と同じ紺色 */
    color: #1F2A44;
    text-decoration: none;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    background: transparent;
    transition: all 0.3s ease;
    border-radius: 0; /* シャープな印象にするなら0、少し丸くするなら4px */
}

/* ホバー（マウスを乗せた時）の動き */
.yu-btn-more:hover {
    background-color: #1F2A44;
    color: #fff;
}

/* 矢印の動き */
.yu-arrow {
    display: inline-block;
    transition: transform 0.3s ease;
    margin-left: 8px;
}

.yu-btn-more:hover .yu-arrow {
    transform: translateX(5px);
}
/* ギャラリーやブログ下のボタンエリア共通 */
.yu-gallery-footer,
.yu-blog-footer {
    text-align: center;
    margin-top: 40px;
    margin-bottom: 60px;
}

/* もっと見る / 一覧ボタンの共通デザイン */
.yu-btn-more {
    display: inline-block;
    padding: 12px 60px;
    border: 1px solid #1F2A44; /* テーマカラーのネイビー */
    color: #1F2A44;
    text-decoration: none;
    font-size: 0.9rem;
    letter-spacing: 0.1em;
    background: transparent;
    transition: all 0.3s ease;
    border-radius: 0;
    font-family: 'Hiragino Mincho ProN', 'YuMincho', serif;
}

/* ホバー時の挙動 */
.yu-btn-more:hover {
    background-color: #1F2A44;
    color: #fff;
}

/* 矢印のアニメーション */
.yu-arrow {
    display: inline-block;
    transition: transform 0.3s ease;
    margin-left: 8px;
}

.yu-btn-more:hover .yu-arrow {
    transform: translateX(5px);
}


.wp-block-navigation__responsive-container{
background:#000;
}
header{
position: relative;
}
header{
position: static !important;
}

.wp-block-template-part{
position: static !important;
}
.yu-site-header {
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:999;
  padding:20px 40px;
  box-sizing:border-box;
}

.yu-header-inner {
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  max-width:1200px;
  margin:0 auto;
}

.yu-header-logo {
  height:55px;
}

.yu-header-right {
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:15px;
}

.yu-top-row {
  display:flex;
  gap:15px;
  align-items:center;
}

.yu-nav {
  display:flex;
  gap:25px;
}

.yu-nav a {
  color:#fff;
  text-decoration:none;
}

.yu-btn-contact {
  border:1px solid #fff;
  padding:5px 12px;
}

.yu-btn-reserve {
  background:#C8A96A;
  color:#1F2A44;
  padding:5px 18px;
  font-weight:bold;
}

.yu-hamburger {
  display:none;
  font-size:26px;
  cursor:pointer;
  color:#fff;
}

/* スマホ */
@media(max-width:768px){

  .yu-header-right {
    display:none;
  }

  .yu-hamburger {
    display:block;
  }

  .yu-mobile-menu {
    display:none;
    position:fixed;
    top:0;
    right:0;
    width:75%;
    height:100vh;
    background:#1F2A44;
    padding:40px;
    flex-direction:column;
    gap:20px;
  }

  .yu-mobile-menu a {
    color:#fff;
    display:block;
    margin-bottom:20px;
    font-size:18px;
  }

  .yu-mobile-menu.active {
    display:flex;
  }
}
.yu-line-contact{
text-align:center;
margin:80px auto 60px;
max-width:700px;
font-family:'Hiragino Mincho ProN','serif';
color:#1F2A44;
}

.yu-line-title{
font-size:20px;
margin-bottom:10px;
letter-spacing:1px;
}

.yu-line-text{
font-size:14px;
margin-bottom:30px;
line-height:1.8;
color:#555;
}

.yu-line-button{
display:inline-block;
background:#06C755;
color:#fff;
padding:14px 34px;
border-radius:40px;
font-size:16px;
text-decoration:none;
font-weight:bold;
box-shadow:0 4px 12px rgba(0,0,0,0.15);
}

.yu-line-button:hover{
opacity:0.9;
}
.yu-campaign{
background:#e9f4fb;
padding:60px 20px;
text-align:center;
}

.yu-campaign-label{
font-size:14px;
letter-spacing:0.3em;
color:#1F2A44;
margin-bottom:10px;
}

.yu-campaign-title{
font-size:26px;
margin-bottom:25px;
color:#1F2A44;
}

.yu-campaign-button{
display:inline-block;
padding:12px 40px;
border:1px solid #1F2A44;
color:#1F2A44;
text-decoration:none;
font-size:14px;
font-weight:600;
border-radius:30px;
transition:all .3s;
}

.yu-campaign-button:hover{
background:#1F2A44;
color:#fff;
}
.yu-staff-section{
margin:120px auto;
padding:0 20px;
max-width:1100px;
}

.yu-staff-flex-container{
display:flex;
flex-wrap:wrap;
gap:40px;
align-items:center;
justify-content:center;
margin-top:40px;
}

.yu-staff-image-side img{
width:100%;
max-width:300px;
border-radius:15px;
box-shadow:0 10px 20px rgba(0,0,0,0.05);
}

.yu-staff-text-side{
flex:1;
min-width:300px;
}

.yu-staff-heading{
font-size:1.6rem;
color:#1F2A44;
margin-bottom:25px;
letter-spacing:0.1em;
line-height:1.4;
font-weight:600;
}

.yu-highlight{
color:#1F2A44;
border-bottom:1px solid #C8A96A;
font-weight:bold;
}

.yu-staff-button{
display:inline-block;
padding:12px 60px;
border:1px solid #1F2A44;
color:#1F2A44;
text-decoration:none;
font-size:0.9rem;
letter-spacing:0.1em;
transition:all .3s;
}

.yu-staff-button:hover{
background:#1F2A44;
color:#fff;
}
.yu-staff-section{
margin:120px auto;
padding:0 20px;
max-width:1100px;
}

.yu-staff-flex-container{
display:flex;
flex-wrap:wrap;
gap:40px;
align-items:center;
margin-top:40px;
}

.yu-staff-image-side{
flex:1;
min-width:300px;
text-align:center;
}

.yu-staff-image-side img{
width:100%;
max-width:300px;
border-radius:15px;
box-shadow:0 10px 20px rgba(0,0,0,0.05);
}

.yu-staff-text-side{
flex:1;
min-width:300px;
}

.yu-staff-heading{
font-size:1.6rem;
color:#1F2A44;
margin-bottom:25px;
letter-spacing:0.1em;
line-height:1.4;
font-weight:600;
}

.yu-highlight{
color:#1F2A44;
border-bottom:1px solid #C8A96A;
font-weight:bold;
}

.yu-staff-text-side p{
font-size:0.95rem;
color:#444;
margin-bottom:20px;
line-height:1.9;
}

.yu-staff-button{
display:inline-block;
padding:12px 60px;
border:1px solid #1F2A44;
color:#1F2A44;
text-decoration:none;
font-size:0.9rem;
letter-spacing:0.1em;
transition:all .3s;
}

.yu-staff-button:hover{
background:#1F2A44;
color:#fff;
}
/* モバイルメニュー初期状態は非表示 */
.yu-mobile-menu {
  display:none;
}

/* 開いた時だけ表示 */
.yu-mobile-menu.active {
  display:flex;
}
.yu-header-logo{
  height:55px;
  width:auto;
  max-width:100%;
  object-fit:contain;
  filter:none;
}
.yu-header-logo img{
  width:auto !important;
  height:55px !important;
}
.yu-site-header{
  padding:20px 60px;
}

.yu-header-inner{
  display:flex;
  justify-content:space-between;
  align-items:center;   /* ← ここ重要 */
}

.yu-header-left{
  display:flex;
  align-items:center;
}

.yu-header-logo{
  height:120px;          /* 少し大きく */
  width:auto;
  display:block;
}
@media (min-width:769px){

/* 右上エリア共通高さ */
.header-actions a,
.header-actions .wp-block-button__link{
    height:42px;
    line-height:42px;
    padding:0 22px !important;
    display:inline-flex;
    align-items:center;
    justify-content:center;
    font-size:14px !important;
    letter-spacing:.05em;
    font-family:'Hiragino Mincho ProN',serif;
    transition:.3s ease;
}

/* 電話をボタン化 */
.header-actions .tel-link{
    border:1px solid rgba(255,255,255,.5);
    color:#fff !important;
    background:rgba(0,0,0,.25);
}

/* お問い合わせ */
.header-actions .contact-btn{
    border:1px solid #fff;
    background:transparent;
    color:#fff !important;
}

/* 予約ボタン */
.header-actions .reserve-btn{
    background:#C8A96A;
    color:#1F2A44 !important;
    font-weight:600;
}

/* ホバー */
.header-actions a:hover{
    transform:translateY(-2px);
    opacity:.9;
}

}
/* ===============================
   ヘッダー全体
=============================== */
.yu-site-header{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  z-index:999;
  padding:20px 60px;
  box-sizing:border-box;
}

.yu-header-inner{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
}

/* ===============================
   ロゴ
=============================== */
.yu-header-logo{
  height:70px;
  width:auto;
}

/* ===============================
   右側全体
=============================== */
.yu-header-right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
}

/* ===============================
   上段ボタン統一
=============================== */
.yu-top-row{
  display:flex;
  align-items:center;
  gap:18px;
}

.yu-top-row a{
  height:44px;
  padding:0 26px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-family:'Hiragino Mincho ProN',serif;
  font-size:14px;
  letter-spacing:.05em;
  text-decoration:none;
  transition:.3s ease;
}

/* 電話 */
.yu-tel{
  border:1px solid rgba(255,255,255,.4);
  background:rgba(0,0,0,.25);
  color:#fff;
}

/* お問い合わせ */
.yu-btn-contact{
  border:1px solid #fff;
  background:transparent;
  color:#fff;
}

/* 予約 */
.yu-btn-reserve{
  background:#C8A96A;
  color:#1F2A44;
  font-weight:600;
}

.yu-top-row a:hover{
  transform:translateY(-2px);
  opacity:.9;
}

/* ===============================
   下段ナビ
=============================== */
.yu-nav{
  display:flex;
  gap:24px;
}

.yu-nav a{
  font-family:'Hiragino Mincho ProN',serif;
  font-size:15px;
  color:#fff;
  text-decoration:none;
  letter-spacing:.05em;
  text-shadow:1px 1px 5px rgba(0,0,0,.7);
}

/* ===============================
   ハンバーガー（初期非表示）
=============================== */
.yu-hamburger{
  display:none;
  font-size:28px;
  color:#fff;
  cursor:pointer;
}

/* ===============================
   スマホ
=============================== */
@media(max-width:768px){

  .yu-site-header{
    position:relative;
    background:#1F2A44;
    padding:15px 20px;
  }

  .yu-header-inner{
    align-items:center;
  }

  .yu-header-right{
    display:none;
  }

  .yu-hamburger{
    display:block;
  }

  .yu-header-logo{
    height:40px;
  }

  /* モバイルメニュー */
  .yu-mobile-menu{
    display:none;
    flex-direction:column;
    background:#1F2A44;
    padding:20px;
  }

  .yu-mobile-menu a{
    color:#fff;
    text-decoration:none;
    padding:12px 0;
    font-family:'Hiragino Mincho ProN',serif;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  .yu-mobile-menu.active{
    display:flex;
  }

}
@media(max-width:768px){

  .yu-site-header{
    position:relative;
    background:#1F2A44;
    padding:15px 20px;
  }

  .yu-header-inner{
    display:flex;
    justify-content:space-between;
    align-items:center;
  }

  /* 🔥 PC用右側を完全に消す */
  .yu-header-right{
    display:none !important;
  }

  /* ハンバーガーだけ表示 */
  .yu-hamburger{
    display:block;
    font-size:28px;
    color:#fff;
    cursor:pointer;
  }

  .yu-header-logo{
    height:40px;
  }

  /* モバイルメニュー */
  .yu-mobile-menu{
    display:none;
    flex-direction:column;
    background:#1F2A44;
    padding:20px;
  }

  .yu-mobile-menu a{
    color:#fff;
    text-decoration:none;
    padding:14px 0;
    font-family:'Hiragino Mincho ProN',serif;
    border-bottom:1px solid rgba(255,255,255,.1);
  }

  .yu-mobile-menu.active{
    display:flex;
  }

}
/* ナビホバー演出 */
.yu-nav a{
  position:relative;
  transition:.3s ease;
}

.yu-nav a::after{
  content:"";
  position:absolute;
  left:0;
  bottom:-6px;
  width:0;
  height:2px;
  background:#C8A96A;
  transition:.3s ease;
}

.yu-nav a:hover::after{
  width:100%;
}
/* トップ以外は通常ヘッダーにする */
body:not(.home) .yu-site-header{
  position:relative;
  background:#1F2A44;
}
/* ===============================
   固定ページ用ヘッダー演出
=============================== */

body:not(.home) .yu-site-header{
  position:relative;
  background:#1F2A44;
  padding:30px 60px;
  box-shadow:0 8px 30px rgba(0,0,0,.1);
}

/* 下にゴールドライン */
body:not(.home) .yu-site-header::after{
  content:"";
  position:absolute;
  bottom:0;
  left:50%;
  transform:translateX(-50%);
  width:120px;
  height:2px;
  background:#C8A96A;
}
/* 閉じるボタン */
.yu-mobile-close{
  font-size:30px;
  color:#fff;
  text-align:right;
  cursor:pointer;
  margin-bottom:20px;
}
@media(max-width:768px){

  .yu-header-inner{
    display:flex !important;
    flex-direction:row !important;
    justify-content:space-between !important;
    align-items:center !important;
  }

  .yu-header-left{
    display:flex;
    align-items:center;
  }

  .yu-hamburger{
    display:block;
    font-size:28px;
    color:#fff;
    cursor:pointer;
  }

}
.yu-staff-button{
  display:inline-flex;          /* ← これが重要 */
  align-items:center;           /* 縦中央 */
  justify-content:center;       /* 横中央 */
  text-align:center;

  padding:14px 40px;
  font-family:'Hiragino Mincho ProN',serif;
  font-size:14px;
  letter-spacing:.05em;

  border:1px solid #1F2A44;
  background:transparent;
  color:#1F2A44;
  text-decoration:none;

  transition:.3s ease;
}
/* SNS横並び */
.yu-sns{
  display:flex;
  align-items:center;
  gap:14px;
}

/* アイコンサイズ統一 */
.yu-sns img{
  width:26px;
  height:26px;
  object-fit:contain;
  transition:.3s ease;
}

/* ホバー */
.yu-sns a:hover img{
  transform:translateY(-2px);
  opacity:.8;
}
/* 上段を横一列固定 */
.yu-top-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:nowrap;   /* ← これが重要 */
}

/* SNSを右端に固定 */
.yu-sns{
  display:flex;
  align-items:center;
  gap:14px;
}

/* 改行させない */
.yu-top-row > *{
  white-space:nowrap;
}
/* モバイルメニューを全画面表示にする */
.yu-mobile-menu{
  position:fixed;         /* ← これが重要 */
  top:0;
  right:0;
  width:100%;
  height:100vh;           /* ← 画面いっぱい */
  background:#1F2A44;
  display:none;
  flex-direction:column;
  padding:80px 30px 40px;
  box-sizing:border-box;
  z-index:9999;
  overflow-y:auto;        /* ← スクロール可能に */
}

/* 開いた時 */
.yu-mobile-menu.active{
  display:flex;
}

/* メニュー項目 */
.yu-mobile-menu a{
  color:#fff;
  text-decoration:none;
  font-family:'Hiragino Mincho ProN',serif;
  font-size:18px;
  padding:16px 0;
  border-bottom:1px solid rgba(255,255,255,.1);
}
.yu-mobile-close{
  position:absolute;
  top:20px;
  right:25px;
  font-size:30px;
  color:#fff;
  cursor:pointer;
}
/* ===============================
   モバイルメニュー フェード演出
=============================== */

.yu-mobile-menu{
  position:fixed;
  inset:0;
  background:#1F2A44;

  display:flex;
  flex-direction:column;
  justify-content:center;     /* ← 縦中央 */
  align-items:center;         /* ← 横中央 */

  opacity:0;
  visibility:hidden;
  transition:opacity .4s ease;

  z-index:9999;
}

/* 開いた時 */
.yu-mobile-menu.active{
  opacity:1;
  visibility:visible;
}

/* メニュー項目 */
.yu-mobile-menu a{
  color:#fff;
  text-decoration:none;
  font-family:'Hiragino Mincho ProN',serif;
  font-size:20px;
  letter-spacing:.08em;
  padding:18px 0;
  transition:.3s ease;
}

/* ホバー */
.yu-mobile-menu a:hover{
  color:#C8A96A;
}
.yu-mobile-close{
  position:absolute;
  top:25px;
  right:30px;
  font-size:34px;
  color:#fff;
  cursor:pointer;
}
.yu-top-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:nowrap;
}

.yu-sns{
  display:flex;
  align-items:center;
  gap:14px;
}
/* モバイルSNS中央揃え */
.yu-mobile-sns{
  display:flex;
  justify-content:center;   /* 横中央 */
  align-items:center;
  gap:25px;
  margin-top:30px;
  width:100%;
}

/* 文字リンクの場合 */
.yu-mobile-sns a{
  color:#fff;
  text-decoration:none;
  font-family:'Hiragino Mincho ProN',serif;
  font-size:16px;
  letter-spacing:.08em;
}
.yu-top-row{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:18px;
  flex-wrap:nowrap;  /* ← これ重要 */
}

.yu-sns{
  display:flex;
  align-items:center;
  gap:14px;
}

.yu-sns img{
  width:24px;
  height:24px;
}
/* ナビ改行防止 */
.yu-nav a{
  white-space: nowrap;   /* ← 改行禁止 */
}

/* ナビ全体を横並び固定 */
.yu-nav{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:28px;
  flex-wrap:nowrap;      /* ← 折り返し禁止 */
}

@media (max-width:768px){

  .yu-mobile-menu{
    position:fixed;
    top:0;
    left:0;
    width:100%;
    height:100vh;
    background:#1F2A44;
    display:flex;
    flex-direction:column;
    justify-content:center;
    align-items:center;
    gap:28px;

    opacity:0;
    visibility:hidden;
    transition:.4s ease;
    z-index:10000;
  }

  .yu-mobile-menu.active{
    opacity:1;
    visibility:visible;
  }

  .yu-mobile-menu a{
    color:#fff;
    font-size:20px;
    text-decoration:none;
    letter-spacing:.15em;
  }

}
.yu-book-wrap{
text-align:center;
margin:40px 0;
}

.yu-book-btn{
display:inline-block;
background:#1F2A44;
color:#ffffff;
padding:16px 42px;
font-size:18px;
text-decoration:none;
border-radius:50px;
letter-spacing:0.08em;
font-weight:600;
transition:0.3s;
}

.yu-book-btn:hover{
background:#2f3b5e;
transform:translateY(-2px);
}
/* =========================
  アイコン共通
========================= */
.yu-icon {
  width: 18px;
  height: auto;
  display: block;
  margin: 0 auto 3px;
  object-fit: contain;
  filter: brightness(0) invert(1); /* 基本は白化 */
}

/* =========================
  LINEだけ例外（元の緑を表示）
========================= */
.yu-cta.line .yu-icon {
  filter: none !important;
  opacity: 1;
}

/* =========================
  LINEだけ微調整（任意）
========================= */
.yu-cta.line .yu-icon {
  width: 18px; /* サイズ揃え */
}


/* =========================
  固定CTA本体
========================= */
.yu-fixed-cta {
  position: fixed;
  bottom: 0;
  left: 0;
  width: 100%;
  display: flex;
  z-index: 9999;
  background: #1F2A44;
}

/* ボタン */
.yu-cta {
  flex: 1;
  text-align: center;
  padding: 10px 5px;
  color: #ffffff;
  text-decoration: none;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.08em;
}

/* 区切り線 */
.yu-cta + .yu-cta {
  border-left: 1px solid rgba(255,255,255,0.2);
}

/* PC非表示 */
@media (min-width: 768px) {
  .yu-fixed-cta {
    display: none;
  }
}

/* 被り防止 */
body {
  padding-bottom: 70px;
}
/* =========================
  ボタン全体サイズ調整
========================= */
.yu-fixed-cta {
  height: 60px; /* ←高さ固定（重要） */
}

/* ボタン */
.yu-cta {
  flex: 1;
  text-align: center;
  padding: 6px 5px; /* ←ここで圧縮 */
  font-size: 10px;
  line-height: 1.2;
}

/* アイコン */
.yu-icon {
  width: 20px;
  height: 20px;
  margin-bottom: 2px;
}
/* =========================
  タップしやすさ最適化
========================= */
.yu-fixed-cta {
  height: 65px; /* ←ここ重要 */
}

/* ボタン */
.yu-cta {
  flex: 1;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 2px;
  padding: 6px 5px;
  font-size: 11px;
  line-height: 1.2;
}

/* アイコン */
.yu-icon {
  width: 20px;
  height: 20px;
}
.yu-cta.reserve {
  transform: scale(1.05);
}
/* =========================
  ページトップ（右下）
========================= */
.yu-pagetop {
  position: fixed;
  right: 15px;   /* ←ここをrightに */
  bottom: 80px;  /* CTAの上 */
  
  width: 50px !important;
  height: 50px;
  
  background: #C8A96A;
  color: #1F2A44;
  
  font-size: 16px;
  font-weight: bold;
  
  border-radius: 50%;
  text-decoration: none;
  
  display: flex;
  align-items: center;
  justify-content: center;
  
  z-index: 9999;
  box-shadow: 0 4px 10px rgba(0,0,0,0.2);
}
.yu-pagetop:hover {
  transform: translateY(-3px);
}
.yu-fixed-cta {
  z-index: 999; /* 9999 → 下げる */
}

.yu-pagetop {
  z-index: 999;
}
.yu-symptoms {
  text-align: center;
  padding: 60px 20px;
}

.yu-symptoms-title {
  font-size: 26px;
  letter-spacing: 0.1em;
  margin-bottom: 30px;
}

.yu-symptoms-list {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 15px;
}

.yu-symptom {
  display: inline-block;
  padding: 12px 28px;
  border: 1px solid #C8A96A;
  color: #1F2A44;
  text-decoration: none;
  font-size: 14px;
  letter-spacing: 0.1em;
  transition: 0.3s;
}

.yu-symptom:hover {
  background: #1F2A44;
  color: #fff;
}
.wp-block-jetpack-instagram-gallery,
.wp-block-embed-instagram {
  max-width: 900px;
  margin: 0 auto 40px;
}

.wp-block-jetpack-instagram-gallery img {
  border-radius: 8px;
}
/* Instagram全体の位置調整 */
.wp-block-jetpack-instagram-gallery {
  max-width: 900px;
  margin: 40px auto 60px;
}

/* 画像の角丸（高級感） */
.wp-block-jetpack-instagram-gallery img {
  border-radius: 10px;
}

/* 画像の高さを揃える（超重要） */
.wp-block-jetpack-instagram-gallery li {
  aspect-ratio: 1 / 1;
  overflow: hidden;
}

/* 画像を中央トリミング */
.wp-block-jetpack-instagram-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

/* タイトルとの余白 */
h3 {
  margin-bottom: 30px;
}

/* 下のボタンとの余白 */
.wp-block-jetpack-instagram-gallery {
  margin-bottom: 70px;
}
.wp-block-jetpack-instagram-gallery img {
  object-fit: contain;
  background: #fff;
}
.wp-block-post-title {
  color: #1F2A44 !important;
}
/* スライダー */
.yu-slider img {
  height: 65vh;
  object-fit: cover;
}

/* キャンペーン */
.yu-campaign img {
  width: 100%;
  max-height: 400px;
  object-fit: cover;
}
.yu-section-header {
  margin-top: 15px !important;
  padding-top: 0 !important;
}
.yu-slider,
.yu-hero,
.yu-bg {
  margin-bottom: 20px !important;
}
/* セクション全体の余白統一 */
.yu-section,
.yu-menu-list-container,
.yu-campaign,
.yu-staff,
.yu-access,
.yu-section-header {
  margin-top: 80px;
  margin-bottom: 80px;
}
/* 初期状態（隠す） */
.fade-up {
  opacity: 0;
  transform: translateY(40px);
  transition: all 0.8s ease;
}

/* 表示された状態 */
.fade-up.show {
  opacity: 1;
  transform: translateY(0);
}
.yu-access {
  max-width: 1000px;
  margin: 0 auto;
  padding: 0 20px;
}
.yu-access {
  max-width: 1000px;
  margin: 0 auto;
}

.yu-access .wp-block-columns {
  justify-content: center;
}
.yu-mobile-menu {
  display: none;
  position: fixed;
  top: 0;
  right: 0;
  width: 80%;
  height: 100%;
  background: #1F2A44;
  z-index: 9999;
  padding: 20px;
}
.yu-mobile-menu {
  display: none;
  pointer-events: auto;
}
.yu-mobile {
  position: fixed;
  top: 0;
  right: -100%;
  width: 85%;
  height: 100%;
  background: #1F2A44;
  z-index: 99999;
  padding: 30px 25px;
  display: flex;
  flex-direction: column;
  gap: 18px;
  transition: .3s;
}

.yu-mobile.active {
  right: 0;
}

.yu-close {
  font-size: 28px;
  color: #fff;
  margin-bottom: 10px;
  cursor: pointer;
}

.yu-mobile a {
  color: #fff;
  text-decoration: none;
  font-size: 16px;
  padding: 10px 0;
  border-bottom: 1px solid rgba(255,255,255,0.15);
}

/* SNS */
.yu-mobile-sns {
  display: flex;
  gap: 15px;
  margin-top: 20px;
}

.yu-mobile-sns img {
  width: 26px;
  height: 26px;
  filter: brightness(0) invert(1);
}

/* CTA */
.yu-mobile-btn {
  margin-top: auto;
  background: #C8A96A;
  color: #1F2A44 !important;
  text-align: center;
  padding: 14px;
  border-radius: 6px;
  font-weight: bold;
  text-decoration: none;
}
.yu-menu-bg {
  background: #fdfaf5;
  padding: 80px 20px;
  margin: 100px 0;
}
.yu-header {
  width: 100%;
  background: #1F2A44;
  position: relative;
  z-index: 9999;
}

.yu-header-inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 15px 20px;
}

.yu-logo img {
  height: 40px;
}

.yu-nav {
  display: flex;
  gap: 20px;
}

.yu-nav a {
  color: #fff;
  text-decoration: none;
  font-size: 13px;
}

.yu-sns {
  display: flex;
  gap: 10px;
}

.yu-sns img {
  width: 22px;
  filter: brightness(0) invert(1);
}

.yu-hamburger {
  display: none;
  font-size: 28px;
  color: #fff;
  cursor: pointer;
}

/* モバイル */
.yu-mobile {
  position: fixed;
  top: 0;
  right: -100%;
  width: 85%;
  height: 100%;
  background: #1F2A44;
  padding: 30px;
  transition: .3s;
  z-index: 99999;
  display: flex;
  flex-direction: column;
  gap: 15px;
}

.yu-mobile.active {
  right: 0;
}

.yu-mobile a {
  color: #fff;
  text-decoration: none;
  padding: 10px 0;
}

.yu-close {
  font-size: 28px;
  cursor: pointer;
}

.yu-mobile-sns {
  margin-top: 20px;
}

.yu-btn {
  margin-top: auto;
  background: #C8A96A;
  color: #1F2A44 !important;
  text-align: center;
  padding: 14px;
  border-radius: 6px;
}

/* スマホ */
@media (max-width:768px) {

  .yu-nav {
    display: none;
  }

  .yu-hamburger {
    display: block;
  }

}
.yu-sns img,
.yu-mobile-sns img {
  filter: none !important;
}
/* クリック奪ってるやつを無効化 */
.wp-block-navigation__responsive-container,
.wp-block-navigation {
  display: none !important;
  pointer-events: none !important;
}
.yu-hamburger {
  position: fixed !important;
  top: 20px;
  right: 20px;
  z-index: 999999 !important;
  pointer-events: auto !important;
}
.yu-hamburger {
  display: block !important;
  position: absolute;
  right: 20px;
  top: 20px;
  font-size: 28px;
  color: #fff;
  z-index: 999999;
  cursor: pointer;
}
.yu-close {
  position: absolute !important;
  top: 20px;
  right: 20px;
  font-size: 30px;
  color: #fff;
  z-index: 999999 !important;
  cursor: pointer;
  pointer-events: auto !important;
}
.yu-hamburger {
  color: #fff !important;
}
/* ===== ヘッダー最前面 ===== */
.yu-site-header {
  position: relative !important;
  z-index: 999999 !important;
  background: #1F2A44;
}

/* ハンバーガー */
.yu-hamburger {
  position: fixed !important;
  top: 20px;
  right: 20px;
  font-size: 28px;
  color: #fff;
  z-index: 999999 !important;
  cursor: pointer;
}

/* モバイルメニュー */
.yu-mobile-menu {
  position: fixed;
  top: 0;
  right: -100%;
  width: 85%;
  height: 100%;
  background: #1F2A44;
  z-index: 999999;
  transition: .3s;
  padding: 30px;
}

/* 開いた状態 */
.yu-mobile-menu.active {
  right: 0;
}

/* 閉じる */
.yu-mobile-close {
  position: absolute;
  top: 20px;
  right: 20px;
  font-size: 30px;
  color: #fff;
  z-index: 999999;
  cursor: pointer;
}
.yu-site-header {
  position: absolute !important;
  top: 0;
  left: 0;
  width: 100%;
  z-index: 9999 !important;
}
.yu-hamburger {
  position: absolute !important;
  right: 20px;
  top: 20px;
  font-size: 28px;
  color: #fff;
  z-index: 100000 !important;
  cursor: pointer;
  pointer-events: auto !important;
}