/* ============================================================
   日本腸活協会 - ヘッダー／フッター／追従メニュー／全画面メニュー
   脱Elementor 専用CSS（既存の巨大CSSには依存しない）
   ============================================================ */

:root {
	--color-primary: #f5a623; /* オレンジ系（要：実際のブランドカラーに調整） */
	--color-text: #2b2620;
	--color-bg: #ffffff;
	--header-height: 90px;
	--sticky-height: 64px;
}

/* ============================================================
   Elementor側の装飾画像のボタン被り問題：
   画像側（JS制御あり）ではなく、ボタン側にz-indexを付与して前面に出す
   ============================================================ */
.elementor-element-85b1703,
.elementor-element-a2701a3 {
	position: relative !important;
	z-index: 10 !important;
}

/* 装飾画像の横幅が画面よりはみ出す問題：positionには触れず、幅だけ制限 */
.elementor-element-c7ce555.elementor-fixed {
	max-width: 100vw !important;
	right: 0 !important;
}

/* 装飾画像に被らないよう、フッターのナビゲーション類を前面に出す */
.chokatsu-footer {
	position: relative;
	z-index: 10;
}

* { box-sizing: border-box; }

/* ---------- ヘッダー ---------- */
.chokatsu-header {
	position: sticky;
	top: 0;
	z-index: 100;
	background-color: #FFFFFF;
	opacity: 0.8;
	border-bottom: 1px solid #eee;
}
.chokatsu-header__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 10px 16px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	min-height: 100px;
}
@media (max-width: 767px) {
	.chokatsu-header__inner { min-height: 63px; }
}
.chokatsu-header__logo img {
	width: 270px;
	height: auto;
	display: block;
}
@media (max-width: 767px) {
	.chokatsu-header__logo {
		width: 40%;
		z-index: 20;
		position: relative;
	}
	.chokatsu-header__logo img {
		width: 100%;
		height: auto;
	}
}

/* PCナビ */
.chokatsu-nav--pc { display: none; }
@media (min-width: 1024px) {
	.chokatsu-nav--pc { display: block; }
	.chokatsu-nav__list {
		list-style: none;
		margin: 0;
		padding: 0;
		font-size: 14px;
	}
	.chokatsu-nav__row {
		display: flex;
		justify-content: flex-end;
		align-items: center;
		gap: 28px;
		margin-bottom: 14px;
	}
	.chokatsu-nav__row:last-child { margin-bottom: 0; }
	.chokatsu-nav__list a {
		color: var(--color-text);
		text-decoration: none;
		display: inline-flex;
		align-items: center;
		gap: 6px;
	}
	.chokatsu-nav__list a:hover,
	.chokatsu-nav__list a.is-current { color: var(--color-primary); }
	.chokatsu-nav__caret { flex-shrink: 0; }

	.has-submenu { position: relative; display: inline-block; }
	.has-submenu:hover .chokatsu-nav__submenu { display: block; }
	.chokatsu-nav__submenu {
		display: none;
		position: absolute;
		top: 100%;
		left: 0;
		background: #fff;
		box-shadow: 0 4px 12px rgba(0,0,0,.08);
		list-style: none;
		margin: 0;
		padding: 8px 0 0;
		min-width: 220px;
		z-index: 10;
	}
	.chokatsu-nav__submenu li { padding: 0; }
	.chokatsu-nav__submenu a {
		display: block;
		padding: 8px 16px;
		white-space: nowrap;
	}
}

/* ハンバーガー（スマホ） */
/* ハンバーガー（スマホのみ表示） */
.chokatsu-nav__hamburger {
	display: flex !important;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	gap: 3px;
	width: 18px;
	height: 18px;
	padding: 0;
	background: transparent;
	border: none;
	cursor: pointer;
	flex-shrink: 0;
}
@media (min-width: 1024px) {
	.chokatsu-nav__hamburger { display: none !important; }
}
.chokatsu-nav__hamburger span {
	display: block;
	width: 18px;
	height: 2px;
	background-color: #2b2620;
	border-radius: 2px;
}

/* スマホ用クイックリンク（ヘッダー直下、固定なしの通常配置） */
.chokatsu-header__quicklinks { display: none; }
@media (max-width: 1023px) {
	.chokatsu-header__quicklinks {
		display: flex;
		gap: 16px;
		justify-content: center;
		padding: 8px 16px 12px;
		border-top: 1px solid #f2f2f2;
	}
	.chokatsu-header__quicklinks a {
		display: flex;
		align-items: center;
		gap: 6px;
		font-size: 11px;
		color: var(--color-text);
		text-decoration: none;
	}
	.chokatsu-header__quicklinks img { width: 16px; height: 16px; }
}

/* ---------- 追従メニュー（スマホ画面下に3つ固定表示） ---------- */
.sticky-buttons {
	position: fixed;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 90;
	display: flex;
}
@media (min-width: 1024px) {
	.sticky-buttons { display: none; } /* PCでは非表示。必要に応じて調整 */
}
.sticky-buttons__item {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 2px;
	padding: 8px 4px;
	font-size: 10px;
	line-height: 1.3;
	text-decoration: none;
	color: #fff !important;
	text-align: center;
	background-color: #F89F00;
	box-sizing: border-box;
}
.sticky-buttons__item span {
	color: #fff;
	word-break: break-all;
}
.sticky-buttons__item img { width: 16px; height: 16px; flex-shrink: 0; }
.sticky-buttons__item + .sticky-buttons__item {
	border-left: 1px solid rgba(255,255,255,.3);
}

/* ---------- 全画面メニュー ---------- */
.fullscreen-menu {
	position: fixed;
	inset: 0;
	background: #fff;
	z-index: 999999;
	opacity: 0;
	visibility: hidden;
	transition: opacity .25s ease;
	overflow-y: auto;
}
.fullscreen-menu.is-open {
	opacity: 1;
	visibility: visible;
}
.fullscreen-menu__inner {
	max-width: 900px;
	margin: 0 auto;
	padding: 24px;
}
.fullscreen-menu__top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 32px;
}
.fullscreen-menu__logo { width: 150px; height: auto; }
.fullscreen-menu__close {
	background: none;
	border: none;
	font-size: 32px;
	line-height: 1;
	cursor: pointer;
	color: var(--color-text);
}
.fullscreen-menu__sns {
	display: flex;
	gap: 20px;
	justify-content: center;
	margin-bottom: 40px;
}
.fullscreen-menu__sns a { color: var(--color-text); }
.fullscreen-menu__nav ul {
	list-style: none;
	margin: 0;
	padding: 0;
	text-align: center;
	font-family: "Noto Sans JP", sans-serif;
}
.fullscreen-menu__nav li { margin: 0; }
.fullscreen-menu__nav a {
	display: block;
	padding: 30px 0;
	font-size: 16px;
	color: #1D1D1D;
	text-decoration: none;
}
.fullscreen-menu__nav a:hover,
.fullscreen-menu__nav a.is-current {
	font-weight: bold;
}

/* 「日本腸活協会とは」のサブメニュー（協会概要／特定商取引法／プライバシーポリシー） */
.fullscreen-menu__submenu {
	list-style: none;
	margin: 0 0 16px;
	padding: 0;
}
.fullscreen-menu__submenu li { margin: 0; }
.fullscreen-menu__submenu a {
	padding: 12px 0;
	font-size: 13px;
	color: #666;
}

/* ---------- フッター ---------- */
.chokatsu-footer {
	background-color: #FFFFFF;
	padding: 48px 24px;
	margin-top: 60px;
}
.chokatsu-footer__inner {
	max-width: 1000px;
	margin: 0 auto;
	text-align: center;
}
/* ① アンカーリンク行（3つの活動｜メンバー｜とは｜記事一覧） */
.chokatsu-footer__quicklinks {
	font-size: 13px;
	margin-bottom: 16px;
}
.chokatsu-footer__quicklinks a { color: var(--color-text); text-decoration: none; }
.chokatsu-footer__quicklinks a:hover { color: var(--color-primary); }

/* ② TOPページ｜お申込み・問い合わせ【LINE】 */
.chokatsu-footer__links { font-size: 13px; margin-bottom: 28px; }
.chokatsu-footer__links a { color: var(--color-text); text-decoration: underline; }

.chokatsu-footer__divider { margin: 0 8px; color: #ccc; }

/* ③ サイト共通ナビゲーション */
.chokatsu-footer__nav ul {
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 16px 28px;
	margin: 0 0 28px;
	padding: 0;
	font-size: 13px;
}
.chokatsu-footer__nav a { color: var(--color-text); text-decoration: none; }
.chokatsu-footer__nav a:hover { color: var(--color-primary); }

/* ④ 協会情報・コピーライト */
.chokatsu-footer__org { font-size: 14px; margin-bottom: 8px; }
.chokatsu-footer__copyright { font-size: 12px; color: #888; }

/* スマホ時、左下の追従ボタンとフッター内容が重ならないよう少し余白を追加 */
@media (max-width: 1023px) {
	.chokatsu-footer { padding-bottom: 90px; }
}
