@charset "UTF-8";
/* =====================================================================
 *  AI×Web 経営実装 LP  ―  独立スタイル（Cocoon 完全遮断）
 *  Design : Editorial × Aurora × Dark Gold
 *  Author : 2026 Edition
 *  Notes  : 親テーマの影響を受けないよう、全ての値を !important では
 *           なく「優先度の高いセレクタ＋強い名前空間」で防御している。
 *           上書きの必要があれば、本ファイルにのみ追記すること。
 * ===================================================================== */

/* ───── 1. RESET / SCOPE ──────────────────────────────────────────── */
body.aiwebsmb-page,
body.aiwebsmb-page * ,
body.aiwebsmb-page *::before,
body.aiwebsmb-page *::after {
	box-sizing: border-box;
	margin: 0;
	padding: 0;
	-webkit-text-size-adjust: 100%;
}

body.aiwebsmb-page {
	margin: 0;
	background: #04060F;
	color: #F0F0F4;
	font-family: 'Noto Sans JP', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif;
	font-size: 16px;
	line-height: 1.7;
	overflow-x: hidden;
	-webkit-font-smoothing: antialiased;
	-moz-osx-font-smoothing: grayscale;
	font-feature-settings: "palt" 1;
}
body.aiwebsmb-page img,
body.aiwebsmb-page svg { max-width: 100%; height: auto; display: block; }

body.aiwebsmb-page a { color: inherit; text-decoration: none; }
body.aiwebsmb-page button { font-family: inherit; }
body.aiwebsmb-page input,
body.aiwebsmb-page select,
body.aiwebsmb-page textarea {
	font-family: inherit;
	color: inherit;
}

html { scroll-behavior: smooth; }

/* ───── 2. DESIGN TOKENS ──────────────────────────────────────────── */
body.aiwebsmb-page {
	--bg-deepest: #04060F;
	--bg-dark:    #070B18;
	--bg-card:    #0E1425;
	--bg-raised:  #141B32;
	--bg-glass:   rgba(255,255,255,0.04);

	--gold:       #F0A500;
	--gold-light: #F5C040;
	--gold-dim:   rgba(240,165,0,0.15);
	--gold-soft:  rgba(240,165,0,0.06);

	--blue:       #3A7BF7;
	--blue-light: #6FA3FF;
	--blue-dim:   rgba(58,123,247,0.15);

	--green:      #10B981;
	--green-dim:  rgba(16,185,129,0.15);
	--red:        #F04F5A;

	--text-1:     #F0F0F4;
	--text-2:     #A8B0C8;
	--text-3:     #606878;

	--border:      rgba(255,255,255,0.08);
	--border-2:    rgba(255,255,255,0.12);
	--border-gold: rgba(240,165,0,0.30);

	--serif: 'Noto Serif JP', 'Hiragino Mincho ProN', serif;
	--sans:  'Noto Sans JP', -apple-system, sans-serif;
	--mono:  'Space Mono', ui-monospace, monospace;

	--r-card: 18px;
	--r-btn:  12px;

	--ease-out:   cubic-bezier(0.22, 1, 0.36, 1);
	--ease-in-out: cubic-bezier(0.65, 0, 0.35, 1);
	--t-fast:  180ms var(--ease-out);
	--t-base:  360ms var(--ease-out);
	--t-slow:  720ms var(--ease-out);

	--shadow-soft:   0 18px 48px -20px rgba(0,0,0,0.7);
	--shadow-strong: 0 40px 100px -30px rgba(0,0,0,0.85);
	--shadow-gold:   0 28px 80px -28px rgba(240,165,0,0.45);

	/* Editorial spacing scale (8pt + golden ratio anchors) */
	--space-1:  8px;
	--space-2: 16px;
	--space-3: 24px;
	--space-4: 32px;
	--space-5: 48px;
	--space-6: 72px;
	--space-7: 104px;
}

/* ───── 3. TYPOGRAPHY ─────────────────────────────────────────────── */
body.aiwebsmb-page .display {
	font-family: var(--serif);
	font-weight: 900;
	line-height: 1.22;
	letter-spacing: -0.02em;
}
body.aiwebsmb-page .section-title {
	font-family: var(--serif);
	font-weight: 700;
	font-size: clamp(1.85rem, 3.6vw, 2.85rem);
	line-height: 1.32;
	letter-spacing: -0.015em;
	margin-bottom: var(--space-3);
	color: var(--text-1);
}
body.aiwebsmb-page .section-title.small { font-size: clamp(1.35rem, 2.4vw, 1.65rem); }
body.aiwebsmb-page .section-title.centered,
body.aiwebsmb-page .lead.centered { text-align: center; }

body.aiwebsmb-page .eyebrow {
	font-family: var(--mono);
	font-size: 0.72rem;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: var(--gold);
	font-weight: 700;
}
body.aiwebsmb-page .label {
	font-size: 0.78rem;
	color: var(--text-3);
	font-weight: 500;
	letter-spacing: 0.06em;
	display: block;
	margin-bottom: var(--space-1);
}
body.aiwebsmb-page .lead {
	color: var(--text-2);
	font-size: clamp(0.95rem, 1.6vw, 1.05rem);
	margin-bottom: var(--space-5);
	line-height: 1.95;
	max-width: 64ch;
}
body.aiwebsmb-page .lead.centered { margin-left: auto; margin-right: auto; }

body.aiwebsmb-page .hl       { color: var(--gold); }
body.aiwebsmb-page .hl-blue  { color: var(--blue-light); }
body.aiwebsmb-page .hl-green { color: var(--green); }

::selection { background: rgba(240,165,0,0.35); color: #fff; }

/* ───── QUIZ LEAD CARD (視認性強化) ───────────── */
body.aiwebsmb-page .quiz-lead-card {
	position: relative;
	max-width: 720px;
	margin: 0 auto var(--space-5);
	padding: 30px 36px 32px;
	border-radius: 20px;
	background:
		radial-gradient(120% 180% at 50% 0%, rgba(240,165,0,0.10) 0%, rgba(240,165,0,0.00) 55%),
		linear-gradient(180deg, rgba(20,26,46,0.92) 0%, rgba(10,14,28,0.95) 100%);
	border: 1px solid rgba(240,165,0,0.35);
	box-shadow:
		0 0 0 1px rgba(240,165,0,0.06) inset,
		0 18px 50px -20px rgba(240,165,0,0.25),
		0 30px 80px -30px rgba(0,0,0,0.7);
	text-align: center;
	overflow: hidden;
}
body.aiwebsmb-page .quiz-lead-card::before {
	content: '';
	position: absolute;
	inset: 0;
	border-radius: inherit;
	padding: 1px;
	background: linear-gradient(135deg,
		rgba(240,165,0,0.55) 0%,
		rgba(245,192,64,0.15) 40%,
		rgba(111,163,255,0.35) 100%);
	-webkit-mask:
		linear-gradient(#000 0 0) content-box,
		linear-gradient(#000 0 0);
	-webkit-mask-composite: xor;
	        mask-composite: exclude;
	pointer-events: none;
}
body.aiwebsmb-page .quiz-lead-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-family: var(--mono);
	font-size: 0.72rem;
	letter-spacing: 0.18em;
	color: var(--gold-light);
	background: rgba(240,165,0,0.10);
	border: 1px solid rgba(240,165,0,0.30);
	padding: 6px 14px;
	border-radius: 999px;
	margin-bottom: 18px;
	text-transform: uppercase;
}
body.aiwebsmb-page .quiz-lead-badge-dot {
	width: 7px; height: 7px;
	border-radius: 50%;
	background: var(--gold);
	box-shadow: 0 0 10px rgba(240,165,0,0.85);
	animation: quizLeadPulse 2.4s ease-in-out infinite;
}
@keyframes quizLeadPulse {
	0%, 100% { opacity: 1;    transform: scale(1);   }
	50%      { opacity: 0.55; transform: scale(1.35);}
}
body.aiwebsmb-page .quiz-lead-text {
	font-family: var(--serif);
	font-size: clamp(1.02rem, 1.7vw, 1.18rem);
	line-height: 2.0;
	color: #FFFFFF;
	margin: 0;
	letter-spacing: 0.01em;
}
body.aiwebsmb-page .quiz-lead-hl {
	color: var(--gold);
	font-weight: 700;
	text-shadow: 0 0 18px rgba(240,165,0,0.35);
}
body.aiwebsmb-page .quiz-lead-tool {
	display: inline-block;
	padding: 2px 10px;
	margin: 0 2px;
	font-family: var(--mono);
	font-size: 0.9em;
	color: var(--blue-light);
	background: rgba(111,163,255,0.10);
	border: 1px solid rgba(111,163,255,0.35);
	border-radius: 6px;
	letter-spacing: 0.02em;
}
body.aiwebsmb-page .quiz-lead-strong {
	display: inline-block;
	margin-top: 6px;
	font-weight: 700;
	color: #FFFFFF;
	background: linear-gradient(120deg,
		rgba(240,165,0,0.00) 0%,
		rgba(240,165,0,0.22) 50%,
		rgba(240,165,0,0.00) 100%);
	padding: 2px 4px;
	border-radius: 4px;
}

/* SP最適化 */
@media (max-width: 600px) {
	body.aiwebsmb-page .quiz-lead-card {
		padding: 24px 20px 26px;
		margin-bottom: var(--space-4);
	}
	body.aiwebsmb-page .quiz-lead-text {
		font-size: 0.98rem;
		line-height: 1.95;
	}
	body.aiwebsmb-page .quiz-lead-tool { padding: 2px 8px; }
}


/* ───── 4. LAYOUT ─────────────────────────────────────────────────── */
body.aiwebsmb-page .section {
	padding: clamp(88px, 11vw, 140px) clamp(20px, 6vw, 80px);
	position: relative;
}
body.aiwebsmb-page .inner {
	max-width: 1100px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
body.aiwebsmb-page .bg-alt { background: var(--bg-dark); }

body.aiwebsmb-page .grid-2 { display: grid; grid-template-columns: 1fr 1fr; gap: 40px; }
body.aiwebsmb-page .grid-3 { display: grid; grid-template-columns: repeat(3, 1fr); gap: 24px; }
@media (max-width: 860px) {
	body.aiwebsmb-page .grid-2,
	body.aiwebsmb-page .grid-3 { grid-template-columns: 1fr; gap: 20px; }
}

body.aiwebsmb-page .section-label-wrap {
	display: flex;
	align-items: center;
	gap: 18px;
	margin-bottom: var(--space-3);
}
body.aiwebsmb-page .section-label-wrap.centered { justify-content: center; }
body.aiwebsmb-page .section-label-line {
	height: 1px;
	width: 48px;
	background: linear-gradient(90deg, transparent, var(--gold));
}
body.aiwebsmb-page .section-label-wrap.centered .section-label-line:last-child {
	background: linear-gradient(90deg, var(--gold), transparent);
}

/* ───── 5. NAV ────────────────────────────────────────────────────── */
body.aiwebsmb-page #aiwebsmb-nav {
	position: fixed;
	top: 0; left: 0; right: 0;
	z-index: 1000;
	background: rgba(4,6,15,0.55);
	backdrop-filter: saturate(160%) blur(22px);
	-webkit-backdrop-filter: saturate(160%) blur(22px);
	border-bottom: 1px solid var(--border);
	padding: 14px clamp(20px,6vw,80px);
	display: flex;
	align-items: center;
	justify-content: space-between;
	transition: background var(--t-base), border-color var(--t-base), padding var(--t-base);
}
body.aiwebsmb-page #aiwebsmb-nav.is-scrolled {
	background: rgba(4,6,15,0.85);
	padding: 10px clamp(20px,6vw,80px);
}
body.aiwebsmb-page #aiwebsmb-nav .nav-logo {
	font-family: var(--serif);
	font-size: 1.05rem;
	font-weight: 700;
	color: var(--text-1);
	letter-spacing: 0.01em;
}
body.aiwebsmb-page #aiwebsmb-nav .nav-logo span { color: var(--gold); margin: 0 2px; }
body.aiwebsmb-page #aiwebsmb-nav .nav-cta { font-size: 0.84rem; padding: 10px 22px; }

@media (max-width: 520px) {
	body.aiwebsmb-page #aiwebsmb-nav .nav-logo { font-size: 0.92rem; }
	body.aiwebsmb-page #aiwebsmb-nav .nav-cta  { font-size: 0.76rem; padding: 8px 14px; }
}

/* ───── 6. BUTTONS ────────────────────────────────────────────────── */
body.aiwebsmb-page .btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 14px 28px;
	border-radius: var(--r-btn);
	font-family: var(--sans);
	font-size: 0.95rem;
	font-weight: 700;
	cursor: pointer;
	border: 1.5px solid transparent;
	transition: transform var(--t-fast), box-shadow var(--t-base),
				background var(--t-base), border-color var(--t-base), color var(--t-base);
	text-decoration: none;
	letter-spacing: 0.01em;
	position: relative;
	overflow: hidden;
	isolation: isolate;
}
body.aiwebsmb-page .btn .arrow {
	display: inline-block;
	transition: transform var(--t-base);
}
body.aiwebsmb-page .btn:hover .arrow { transform: translateX(4px); }
body.aiwebsmb-page .btn-block { width: 100%; padding: 16px 24px; font-size: 1rem; }
body.aiwebsmb-page .btn-large { font-size: 1.05rem; padding: 18px 36px; }
body.aiwebsmb-page .btn-cta-large { font-size: 1.1rem; padding: 20px 40px; }

body.aiwebsmb-page .btn-gold {
	background: linear-gradient(135deg, var(--gold), var(--gold-light));
	color: #0A0600;
	box-shadow: 0 8px 30px -10px rgba(240,165,0,0.45);
}
body.aiwebsmb-page .btn-gold::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, var(--gold-light), #FFE0A0);
	opacity: 0;
	transition: opacity var(--t-base);
	z-index: -1;
}
body.aiwebsmb-page .btn-gold:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 40px -10px rgba(240,165,0,0.55);
}
body.aiwebsmb-page .btn-gold:hover::before { opacity: 1; }

body.aiwebsmb-page .btn-outline {
	background: transparent;
	border-color: var(--border-gold);
	color: var(--gold);
}
body.aiwebsmb-page .btn-outline:hover {
	background: var(--gold-dim);
	border-color: var(--gold);
	transform: translateY(-2px);
}

body.aiwebsmb-page .btn-blue {
	background: linear-gradient(135deg, var(--blue), #5090FF);
	color: #fff;
	box-shadow: 0 8px 30px -10px rgba(58,123,247,0.5);
}
body.aiwebsmb-page .btn-blue:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 40px -10px rgba(58,123,247,0.6);
	background: linear-gradient(135deg, #5090FF, #7AB0FF);
}

/* ───── 7. SCROLL REVEAL ──────────────────────────────────────────── */
body.aiwebsmb-page .fade-up {
	opacity: 0;
	transform: translateY(36px);
	transition: opacity var(--t-slow), transform var(--t-slow);
	will-change: opacity, transform;
}
body.aiwebsmb-page .fade-up.in {
	opacity: 1;
	transform: translateY(0);
}
@media (prefers-reduced-motion: reduce) {
	body.aiwebsmb-page .fade-up { opacity: 1; transform: none; transition: none; }
	body.aiwebsmb-page * { animation: none !important; transition: none !important; }
}

/* ───── 8. HERO ───────────────────────────────────────────────────── */
body.aiwebsmb-page #hero {
	min-height: 100vh;
	min-height: 100svh;
	display: flex;
	align-items: center;
	padding: 140px clamp(20px,6vw,80px) 160px;
	position: relative;
	overflow: hidden;
	background: radial-gradient(ellipse at top, #0A1024 0%, #04060F 70%);
}
body.aiwebsmb-page .hero-bg {
	position: absolute;
	inset: 0;
	pointer-events: none;
	z-index: 0;
}
body.aiwebsmb-page .hero-aurora {
	position: absolute;
	inset: -20% -10%;
	background:
		radial-gradient(ellipse 55% 45% at 25% 25%, rgba(58,123,247,0.22) 0%, transparent 60%),
		radial-gradient(ellipse 40% 40% at 80% 70%, rgba(240,165,0,0.18) 0%, transparent 65%),
		radial-gradient(ellipse 50% 50% at 50% 110%, rgba(91,47,239,0.18) 0%, transparent 70%);
	filter: blur(20px);
	animation: aurora-drift 22s ease-in-out infinite alternate;
}
@keyframes aurora-drift {
	0%   { transform: translate3d(0, 0, 0) scale(1); }
	50%  { transform: translate3d(-2%, 1%, 0) scale(1.04); }
	100% { transform: translate3d(2%, -1%, 0) scale(1); }
}
body.aiwebsmb-page .hero-grid-lines {
	position: absolute;
	inset: 0;
	background-image:
		linear-gradient(rgba(255,255,255,0.030) 1px, transparent 1px),
		linear-gradient(90deg, rgba(255,255,255,0.030) 1px, transparent 1px);
	background-size: 64px 64px;
	mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 80%);
	-webkit-mask-image: radial-gradient(ellipse 80% 80% at 50% 50%, black 30%, transparent 80%);
}
body.aiwebsmb-page .hero-noise {
	position: absolute;
	inset: 0;
	opacity: 0.35;
	mix-blend-mode: overlay;
	background-image: url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='160' height='160'><filter id='n'><feTurbulence baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix type='matrix' values='0 0 0 0 1  0 0 0 0 1  0 0 0 0 1  0 0 0 0.04 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
}
body.aiwebsmb-page #hero .inner {
	position: relative;
	z-index: 1;
	width: 100%;
}
body.aiwebsmb-page .hero-eyebrow {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--gold-dim);
	border: 1px solid var(--border-gold);
	border-radius: 999px;
	padding: 7px 18px;
	margin-bottom: var(--space-4);
}
body.aiwebsmb-page .hero-headline {
    font-size: clamp(2.5rem, 6vw, 4.6rem);
    margin-bottom: var(--space-4);
    max-width: 820px;
}
body.aiwebsmb-page .hero-headline em {
	font-style: normal;
	color: var(--gold);
	position: relative;
	display: inline-block;
}
body.aiwebsmb-page .hero-headline em::after {
	content: '';
	position: absolute;
	left: 0; right: 0;
	bottom: 0.04em;
	height: 0.18em;
	background: var(--gold-dim);
	z-index: -1;
	border-radius: 2px;
}
@media (max-width: 480px) {
    body.aiwebsmb-page .hero-headline {
        font-size: 1.9rem;
    }
}
body.aiwebsmb-page .hero-sub {
	font-size: clamp(1rem, 1.6vw, 1.18rem);
	color: var(--text-2);
	max-width: 600px;
	margin-bottom: var(--space-5);
	line-height: 1.92;
}

/* hero widget */
body.aiwebsmb-page .hero-widget {
	background: linear-gradient(180deg, rgba(20,27,50,0.9), rgba(14,20,37,0.9));
	border: 1px solid var(--border-2);
	border-radius: 22px;
	padding: 34px;
	max-width: 720px;
	box-shadow: var(--shadow-strong);
	backdrop-filter: blur(12px);
	overflow: visible;
}
body.aiwebsmb-page .hero-widget-title {
	font-size: 0.95rem;
	font-weight: 700;
	color: var(--gold);
	margin-bottom: var(--space-3);
	display: flex;
	align-items: center;
	gap: 10px;
}
body.aiwebsmb-page .dot-pulse {
	width: 8px; height: 8px;
	background: var(--gold);
	border-radius: 50%;
	box-shadow: 0 0 0 0 rgba(240,165,0,0.6);
	animation: pulse 2s infinite;
}
@keyframes pulse {
	0%   { box-shadow: 0 0 0 0 rgba(240,165,0,0.6); }
	70%  { box-shadow: 0 0 0 12px rgba(240,165,0,0); }
	100% { box-shadow: 0 0 0 0 rgba(240,165,0,0); }
}
body.aiwebsmb-page .widget-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}
@media (max-width: 600px) {
	body.aiwebsmb-page .widget-row { grid-template-columns: 1fr; }
}
body.aiwebsmb-page .widget-select {
	width: 100%;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 13px 40px 13px 16px;
	color: var(--text-1);
	font-size: 0.92rem;
	cursor: pointer;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='M1 1l5 5 5-5' stroke='%23A8B0C8' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 16px center;
	transition: border-color var(--t-fast), background var(--t-fast);
}
body.aiwebsmb-page .widget-select:focus,
body.aiwebsmb-page .widget-select:hover {
	outline: none;
	border-color: var(--gold);
	background-color: rgba(240,165,0,0.04);
}
body.aiwebsmb-page .widget-select option { background: #0E1425; color: #F0F0F4; }

body.aiwebsmb-page .ai-response-area {
	margin-top: var(--space-3);
	min-height: 80px;
	background: linear-gradient(135deg, rgba(240,165,0,0.06), rgba(240,165,0,0.02));
	border: 1px solid var(--border-gold);
	border-radius: 14px;
	padding: 22px;
	font-size: 0.96rem;
	line-height: 1.85;
	color: var(--text-1);
	display: none;
	animation: fade-soft 0.4s var(--ease-out);
}
body.aiwebsmb-page .ai-response-area.visible { display: block; }
@keyframes fade-soft { from { opacity: 0; transform: translateY(8px);} to { opacity:1; transform:translateY(0);} }

body.aiwebsmb-page .trust-row {
	display: flex;
	gap: 24px;
	flex-wrap: wrap;
	align-items: center;
	margin-top: var(--space-5);
	padding-top: var(--space-2);
}
body.aiwebsmb-page .trust-badge {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 0.83rem;
	color: var(--text-3);
}
body.aiwebsmb-page .trust-dot {
	width: 6px; height: 6px;
	border-radius: 50%;
	background: var(--green);
	box-shadow: 0 0 8px rgba(16,185,129,0.6);
}

/* scroll indicator */
body.aiwebsmb-page .scroll-indicator {
	position: absolute;
	left: 50%;
	bottom: 28px;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 8px;
	opacity: 0.55;
}
body.aiwebsmb-page .scroll-line {
	width: 1px;
	height: 36px;
	background: linear-gradient(to bottom, transparent, var(--text-3));
	animation: scroll-line-grow 2.2s ease-in-out infinite;
	transform-origin: top;
}
@keyframes scroll-line-grow {
	0%, 100% { transform: scaleY(0.3); opacity: 0.4; }
	50%      { transform: scaleY(1);   opacity: 1; }
}
body.aiwebsmb-page .scroll-label {
	font-family: var(--mono);
	font-size: 0.62rem;
	letter-spacing: 0.32em;
	color: var(--text-3);
}
@media (max-width: 700px) { body.aiwebsmb-page .scroll-indicator { display: none; } }

/* ───── 9. BEFORE / AFTER ─────────────────────────────────────────── */
body.aiwebsmb-page .ba-container {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
	border-radius: 22px;
	overflow: hidden;
}
@media (max-width: 760px) {
	body.aiwebsmb-page .ba-container { grid-template-columns: 1fr; gap: 12px; }
}
body.aiwebsmb-page .ba-col {
	padding: 48px 36px;
	position: relative;
}
body.aiwebsmb-page .ba-before {
	background: linear-gradient(180deg, rgba(240,80,80,0.10), rgba(240,80,80,0.04));
	border: 1px solid rgba(240,80,80,0.18);
	border-radius: 22px 0 0 22px;
}
body.aiwebsmb-page .ba-after {
	background: linear-gradient(180deg, rgba(16,185,129,0.10), rgba(16,185,129,0.04));
	border: 1px solid rgba(16,185,129,0.18);
	border-radius: 0 22px 22px 0;
}
@media (max-width: 760px) {
	body.aiwebsmb-page .ba-before { border-radius: 22px; }
	body.aiwebsmb-page .ba-after  { border-radius: 22px; }
}
body.aiwebsmb-page .ba-label {
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 6px 14px;
	border-radius: 999px;
	display: inline-block;
	margin-bottom: var(--space-4);
	font-weight: 700;
}
body.aiwebsmb-page .ba-before .ba-label { background: rgba(240,80,80,0.18); color: #FF8080; }
body.aiwebsmb-page .ba-after  .ba-label { background: rgba(16,185,129,0.18); color: #34D399; }

body.aiwebsmb-page .ba-items { list-style: none; }
body.aiwebsmb-page .ba-items li {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid rgba(255,255,255,0.06);
	font-size: 0.95rem;
	line-height: 1.7;
	color: var(--text-1);
}
body.aiwebsmb-page .ba-items li:last-child { border-bottom: none; padding-bottom: 0; }
body.aiwebsmb-page .ba-items li:first-child { padding-top: 0; }
body.aiwebsmb-page .ba-icon {
	width: 24px;
	height: 24px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 0.78rem;
	margin-top: 3px;
	font-weight: 700;
}
body.aiwebsmb-page .ba-before .ba-icon { background: rgba(240,80,80,0.22); color: #FF8080; }
body.aiwebsmb-page .ba-after  .ba-icon { background: rgba(16,185,129,0.22); color: #34D399; }

/* ───── 10. PAIN CARDS ────────────────────────────────────────────── */
body.aiwebsmb-page .pain-card {
	background: linear-gradient(180deg, var(--bg-card), rgba(14,20,37,0.6));
	border: 1px solid var(--border);
	border-radius: var(--r-card);
	padding: 30px 28px;
	transition: transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base), background var(--t-base);
	cursor: default;
	position: relative;
	overflow: hidden;
}
body.aiwebsmb-page .pain-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 80% 60% at 50% 0%, rgba(240,165,0,0.10), transparent 70%);
	opacity: 0;
	transition: opacity var(--t-base);
	pointer-events: none;
}
body.aiwebsmb-page .pain-card:hover {
	transform: translateY(-6px);
	border-color: var(--border-gold);
	box-shadow: 0 30px 60px -20px rgba(0,0,0,0.55), 0 0 50px -20px rgba(240,165,0,0.18);
}
body.aiwebsmb-page .pain-card:hover::before { opacity: 1; }

body.aiwebsmb-page .pain-number {
	font-family: var(--mono);
	font-size: 2.6rem;
	font-weight: 700;
	color: rgba(240,165,0,0.22);
	line-height: 1;
	margin-bottom: 14px;
	transition: color var(--t-base);
}
body.aiwebsmb-page .pain-card:hover .pain-number { color: rgba(240,165,0,0.6); }
body.aiwebsmb-page .pain-title {
	font-family: var(--serif);
	font-size: 1.12rem;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--text-1);
	line-height: 1.5;
}
body.aiwebsmb-page .pain-body {
	font-size: 0.9rem;
	color: var(--text-2);
	line-height: 1.78;
}

/* ───── 11. INTERACTIVE AI ────────────────────────────────────────── */
body.aiwebsmb-page #interactive .challenge-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 14px;
	margin-bottom: var(--space-4);
}
@media (max-width: 700px) { body.aiwebsmb-page #interactive .challenge-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 440px) { body.aiwebsmb-page #interactive .challenge-grid { grid-template-columns: 1fr; } }
body.aiwebsmb-page .challenge-card {
	background: var(--bg-card);
	border: 1.5px solid var(--border);
	border-radius: 14px;
	padding: 22px 18px;
	cursor: pointer;
	transition: all var(--t-base);
	font-size: 0.92rem;
	font-weight: 500;
	text-align: center;
	color: var(--text-1);
	position: relative;
	overflow: hidden;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
}
body.aiwebsmb-page .challenge-card::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgba(58,123,247,0.20), rgba(58,123,247,0));
	opacity: 0;
	transition: opacity var(--t-base);
}
body.aiwebsmb-page .challenge-card > * { position: relative; z-index: 1; }
body.aiwebsmb-page .challenge-card:hover {
	border-color: var(--blue);
	transform: translateY(-3px);
}
body.aiwebsmb-page .challenge-card:hover::before { opacity: 0.4; }
body.aiwebsmb-page .challenge-card.active {
	border-color: var(--blue);
	box-shadow: 0 0 30px -8px rgba(58,123,247,0.5);
}
body.aiwebsmb-page .challenge-card.active::before { opacity: 1; }
body.aiwebsmb-page .challenge-icon {
	font-size: 1.8rem;
	margin-bottom: 10px;
	display: block;
}

body.aiwebsmb-page .ai-solution-box {
	background: linear-gradient(180deg, var(--bg-card), rgba(14,20,37,0.7));
	border: 1px solid var(--border);
	border-radius: 18px;
	padding: 28px 32px;
	min-height: 170px;
	display: flex;
	align-items: flex-start;
	gap: 18px;
	box-shadow: var(--shadow-soft);
}
body.aiwebsmb-page .ai-avatar {
	width: 44px;
	height: 44px;
	border-radius: 12px;
	background: linear-gradient(135deg, var(--blue), #5B2FEF);
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	font-size: 1.2rem;
	box-shadow: 0 8px 24px -10px rgba(58,123,247,0.6);
	margin-top: 2px;
}
body.aiwebsmb-page .ai-solution-body { flex: 1; min-width: 0; }
body.aiwebsmb-page .ai-text {
	font-size: 0.96rem;
	line-height: 1.92;
	color: var(--text-1);
	white-space: pre-wrap;
	word-wrap: break-word;
	overflow-wrap: anywhere;
}
body.aiwebsmb-page .ai-text.dimmed { color: var(--text-3); }

@media (max-width: 480px) {
	body.aiwebsmb-page .ai-solution-box {
		padding: 20px 18px;
		gap: 14px;
	}
	body.aiwebsmb-page .ai-avatar {
		width: 36px;
		height: 36px;
		border-radius: 10px;
		flex-shrink: 0;
	}
	body.aiwebsmb-page .ai-avatar img {
		width: 36px;
		height: 36px;
	}
	body.aiwebsmb-page .ai-text {
		font-size: 0.9rem;
		line-height: 1.82;
	}
}

/* ───── 12. HOW IT WORKS ─────────────────────────────────────────── */
body.aiwebsmb-page .steps {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 0;
	position: relative;
}
@media (max-width: 760px) { body.aiwebsmb-page .steps { grid-template-columns: 1fr; gap: 20px; } }
body.aiwebsmb-page .step {
	padding: 36px 30px;
	position: relative;
	text-align: center;
}
body.aiwebsmb-page .step-number {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	background: var(--gold-dim);
	border: 1.5px solid var(--border-gold);
	color: var(--gold);
	font-family: var(--mono);
	font-size: 1.22rem;
	font-weight: 700;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 22px;
	position: relative;
}
body.aiwebsmb-page .step-number::before {
	content: '';
	position: absolute;
	inset: -8px;
	border-radius: 50%;
	border: 1px dashed rgba(240,165,0,0.25);
	animation: rotate-slow 24s linear infinite;
}
@keyframes rotate-slow { to { transform: rotate(360deg); } }

body.aiwebsmb-page .step-connector {
	position: absolute;
	top: 70px;
	right: -1px;
	width: 1px;
	height: calc(100% - 70px);
	background: linear-gradient(to bottom, var(--border-gold), transparent);
}
@media (max-width: 760px) { body.aiwebsmb-page .step-connector { display: none; } }

body.aiwebsmb-page .step-title {
	font-family: var(--serif);
	font-size: 1.15rem;
	font-weight: 700;
	margin-bottom: 12px;
	color: var(--text-1);
}
body.aiwebsmb-page .step-body {
	font-size: 0.9rem;
	color: var(--text-2);
	line-height: 1.78;
	text-align: left;          /* ← カード内中央揃えから左揃えに変更 */
	max-width: 30ch;           /* 読みやすさ確保（任意） */
	margin-left: auto;         /* カードの中央寄せレイアウトを維持しつつ */
	margin-right: auto;        /* テキストブロックを中央配置 */
}
body.aiwebsmb-page .step-time {
	display: inline-block;
	margin-top: 16px;
	font-size: 0.74rem;
	font-family: var(--mono);
	color: var(--gold);
	background: var(--gold-dim);
	padding: 4px 14px;
	border-radius: 999px;
	letter-spacing: 0.05em;
}

body.aiwebsmb-page .security-strip {
	background: linear-gradient(135deg, rgba(16,185,129,0.08), rgba(16,185,129,0.02));
	border: 1px solid rgba(16,185,129,0.22);
	border-radius: 14px;
	padding: 20px 26px;
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 0.88rem;
	color: var(--text-2);
	line-height: 1.7;
	margin: var(--space-5) auto 0;
	max-width: 760px;
}
body.aiwebsmb-page .security-strip strong { color: var(--green); font-weight: 700; }
body.aiwebsmb-page .security-icon { font-size: 1.5rem; flex-shrink: 0; }

/* ───── 13. JISHA FORM ────────────────────────────────────────────── */
body.aiwebsmb-page .jisha-form {
	background: linear-gradient(180deg, var(--bg-card), rgba(14,20,37,0.7));
	border: 1px solid var(--border-2);
	border-radius: 22px;
	padding: 40px;
	max-width: 720px;
	margin: 0 auto;
	box-shadow: var(--shadow-soft);
}
@media (max-width: 480px) { body.aiwebsmb-page .jisha-form { padding: 24px; } }
body.aiwebsmb-page .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 16px;
	margin-bottom: 16px;
}
@media (max-width: 600px) { body.aiwebsmb-page .form-row { grid-template-columns: 1fr; } }
body.aiwebsmb-page .form-single { margin-bottom: var(--space-3); }
body.aiwebsmb-page .form-input {
	width: 100%;
	background: rgba(255,255,255,0.04);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 13px 16px;
	color: var(--text-1);
	font-size: 0.92rem;
	transition: border-color var(--t-fast), background var(--t-fast);
}
body.aiwebsmb-page .form-input:focus {
	outline: none;
	border-color: var(--gold);
	background: rgba(240,165,0,0.04);
}
body.aiwebsmb-page .form-input::placeholder { color: var(--text-3); }

body.aiwebsmb-page .jisha-output { margin-top: var(--space-3); display: none; }
body.aiwebsmb-page .jisha-output.visible { display: block; animation: fade-soft 0.5s var(--ease-out); }
body.aiwebsmb-page .jisha-output-inner {
	background: linear-gradient(135deg, rgba(58,123,247,0.07), rgba(58,123,247,0.02));
	border: 1px solid rgba(58,123,247,0.30);
	border-radius: 16px;
	padding: 28px;
	font-size: 1rem;
	line-height: 1.85;
	position: relative;
	overflow: hidden;
}
body.aiwebsmb-page .jisha-output-inner::before {
	content: '';
	position: absolute;
	top: 0; left: 0; right: 0;
	height: 2px;
	background: linear-gradient(90deg, var(--blue), var(--gold), var(--blue));
	background-size: 200% 100%;
	animation: shimmer 2.4s infinite linear;
}
@keyframes shimmer { 0%{ background-position: -200% 0; } 100%{ background-position: 200% 0; } }
body.aiwebsmb-page .jisha-label { color: var(--blue-light); margin-bottom: 14px; }
body.aiwebsmb-page .jisha-text { font-size: 0.96rem; line-height: 1.9; color: var(--text-1); }

/* ───── 14. ROI ───────────────────────────────────────────────────── */
body.aiwebsmb-page .roi-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 22px;
}
@media (max-width: 900px) { body.aiwebsmb-page .roi-grid { grid-template-columns: repeat(2, 1fr); } }
@media (max-width: 480px) { body.aiwebsmb-page .roi-grid { grid-template-columns: 1fr; } }
body.aiwebsmb-page .roi-card {
	background: linear-gradient(180deg, var(--bg-card), rgba(14,20,37,0.6));
	border: 1px solid var(--border);
	border-radius: 18px;
	padding: 34px 24px;
	text-align: center;
	transition: transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base);
}
body.aiwebsmb-page .roi-card:hover {
	transform: translateY(-4px);
	border-color: var(--border-gold);
	box-shadow: 0 24px 60px -20px rgba(240,165,0,0.20);
}
body.aiwebsmb-page .roi-number {
	font-family: var(--mono);
	font-size: clamp(2rem, 3.4vw, 2.7rem);
	font-weight: 700;
	color: var(--gold);
	line-height: 1;
	margin-bottom: 12px;
	letter-spacing: -0.01em;
}
body.aiwebsmb-page .roi-number.is-green { color: var(--green); }
body.aiwebsmb-page .roi-label {
	font-size: 0.88rem;
	color: var(--text-2);
	margin-top: 10px;
	line-height: 1.55;
}
body.aiwebsmb-page .roi-source {
	font-size: 0.74rem;
	color: var(--text-3);
	margin-top: 8px;
}

body.aiwebsmb-page .subsidy-card {
	margin-top: var(--space-4);
	background: linear-gradient(135deg, rgba(240,165,0,0.06), rgba(240,165,0,0.02));
	border: 1px solid var(--border-gold);
	border-radius: var(--r-card);
	padding: 28px 32px;
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
body.aiwebsmb-page .subsidy-icon { font-size: 2.6rem; }
body.aiwebsmb-page .subsidy-title {
	font-size: 1.05rem;
	font-weight: 700;
	margin-bottom: 6px;
	color: var(--gold);
	font-family: var(--serif);
}
body.aiwebsmb-page .subsidy-body {
	font-size: 0.9rem;
	color: var(--text-2);
	line-height: 1.78;
}

/* ───── 15. VOICES ────────────────────────────────────────────────── */
body.aiwebsmb-page .voice-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 24px;
}
@media (max-width: 860px) { body.aiwebsmb-page .voice-grid { grid-template-columns: 1fr; } }
body.aiwebsmb-page .voice-card {
    background: linear-gradient(180deg, var(--bg-card), rgba(14,20,37,0.7));
    border: 1px solid var(--border);
    border-radius: var(--r-card);
    padding: 32px 28px 28px;
    transition: transform var(--t-base), border-color var(--t-base);
    display: flex;
    flex-direction: column;
    align-items: flex-start;
    text-align: left;
}
body.aiwebsmb-page .voice-card:hover {
	transform: translateY(-4px);
	border-color: var(--border-2);
}
body.aiwebsmb-page .voice-quote {
    font-family: var(--serif);
    font-size: 0.97rem;
    line-height: 1.98;
    color: var(--text-2);
    margin-bottom: var(--space-3);
    position: relative;
    padding: 0 4px 0 16px;
    width: 100%;
    border-left: 2.5px solid rgba(240,165,0,0.45);
}
body.aiwebsmb-page .voice-quote::before {
    content: '"';
    display: block;
    text-align: left;
    font-size: 2.2rem;
    color: var(--gold);
    font-family: var(--serif);
    line-height: 1;
    opacity: 0.55;
    margin-bottom: 2px;
}
body.aiwebsmb-page .voice-person {
    display: flex;
    flex-direction: column;
    align-items: center;        /* flex-start → center */
    gap: 6px;
    padding-top: 16px;
    border-top: 1px solid var(--border);
    width: 100%;
    text-align: center;         /* left → center */
}

body.aiwebsmb-page .voice-avatar {
	width: 42px;
	height: 42px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 1.05rem;
	flex-shrink: 0;
}
body.aiwebsmb-page .voice-avatar.v-blue  { background: rgba(58,123,247,0.22); }
body.aiwebsmb-page .voice-avatar.v-green { background: rgba(16,185,129,0.22); }
body.aiwebsmb-page .voice-avatar.v-gold  { background: rgba(240,165,0,0.22); }
body.aiwebsmb-page .voice-name { font-size: 0.86rem; font-weight: 700; color: var(--text-1); text-align: center; }
body.aiwebsmb-page .voice-role { font-size: 0.78rem; color: var(--text-3); margin-top: 2px; text-align: center; }


/* カード上部の個人写真 */
body.aiwebsmb-page .voice-card-photo {
	width: 120px;
	height: 120px;
	border-radius: 50%;
	overflow: hidden;
	margin: 0 auto var(--space-3);
	border: 2.5px solid var(--border-gold);
	box-shadow:
		0 0 0 6px rgba(240,165,0,0.07),
		0 16px 40px -12px rgba(0,0,0,0.55);
	flex-shrink: 0;
}
body.aiwebsmb-page .voice-card-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	object-position: center top;
	display: block;
}

/* ───── 16. CASES ─────────────────────────────────────────────────── */
body.aiwebsmb-page .case-card {
	background: linear-gradient(180deg, var(--bg-card), rgba(14,20,37,0.6));
	border: 1px solid var(--border);
	border-radius: 22px;
	padding: 36px;
	transition: transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base);
	display: flex;
	flex-direction: column;
}
body.aiwebsmb-page .case-card:hover {
	transform: translateY(-6px);
	border-color: var(--border-gold);
	box-shadow: 0 36px 80px -30px rgba(0,0,0,0.6);
}
body.aiwebsmb-page .case-industry {
	font-family: var(--mono);
	font-size: 0.7rem;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--blue-light);
	background: var(--blue-dim);
	padding: 6px 14px;
	border-radius: 999px;
	display: inline-block;
	margin-bottom: var(--space-3);
	width: fit-content;
}
body.aiwebsmb-page .case-title {
	font-family: var(--serif);
	font-size: 1.32rem;
	font-weight: 700;
	margin-bottom: 18px;
	color: var(--text-1);
	line-height: 1.45;
}
body.aiwebsmb-page .case-metrics {
	display: flex;
	gap: 24px;
	margin-bottom: 20px;
	flex-wrap: wrap;
	padding: 16px 0;
	border-top: 1px solid var(--border);
	border-bottom: 1px solid var(--border);
}
body.aiwebsmb-page .case-metric-value {
	font-family: var(--mono);
	font-size: 1.7rem;
	font-weight: 700;
	color: var(--green);
	letter-spacing: -0.01em;
}
body.aiwebsmb-page .case-metric-label {
	font-size: 0.76rem;
	color: var(--text-3);
	margin-top: 2px;
}
body.aiwebsmb-page .case-body {
	font-size: 0.9rem;
	color: var(--text-2);
	line-height: 1.78;
}

/* ───── 17. TIMELINE ──────────────────────────────────────────────── */
body.aiwebsmb-page .timeline {
	position: relative;
	padding-left: 38px;
}
body.aiwebsmb-page .timeline::before {
	content: '';
	position: absolute;
	left: 10px;
	top: 6px;
	bottom: 0;
	width: 2px;
	background: linear-gradient(to bottom, var(--gold), rgba(240,165,0,0.05));
}
body.aiwebsmb-page .tl-item { position: relative; margin-bottom: var(--space-4); }
body.aiwebsmb-page .tl-item:last-child { margin-bottom: 0; }
body.aiwebsmb-page .tl-dot {
	position: absolute;
	left: -38px;
	top: 6px;
	width: 22px;
	height: 22px;
	border-radius: 50%;
	background: var(--gold);
	box-shadow: 0 0 18px rgba(240,165,0,0.55);
	display: flex;
	align-items: center;
	justify-content: center;
}
body.aiwebsmb-page .tl-dot-inner {
	width: 8px;
	height: 8px;
	border-radius: 50%;
	background: var(--bg-deepest);
}
body.aiwebsmb-page .tl-tag {
	font-family: var(--mono);
	font-size: 0.72rem;
	color: var(--gold);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 8px;
}
body.aiwebsmb-page .tl-title {
	font-family: var(--serif);
	font-size: 1.08rem;
	font-weight: 700;
	margin-bottom: 8px;
	color: var(--text-1);
}
body.aiwebsmb-page .tl-body {
	font-size: 0.9rem;
	color: var(--text-2);
	line-height: 1.78;
}

/* ───── 18. PLAN ──────────────────────────────────────────────────── */
body.aiwebsmb-page .plan-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 22px;
}
@media (max-width: 860px) { body.aiwebsmb-page .plan-grid { grid-template-columns: 1fr; } }
body.aiwebsmb-page .plan-card {
	background: linear-gradient(180deg, var(--bg-card), rgba(14,20,37,0.7));
	border: 1px solid var(--border);
	border-radius: 22px;
	padding: 36px 30px;
	transition: transform var(--t-base), border-color var(--t-base), box-shadow var(--t-base);
	display: flex;
	flex-direction: column;
	position: relative;
}
body.aiwebsmb-page .plan-card:hover {
	transform: translateY(-4px);
	border-color: var(--border-2);
}
body.aiwebsmb-page .plan-card.featured {
	border-color: var(--border-gold);
	background: linear-gradient(180deg, rgba(240,165,0,0.06), rgba(20,27,50,0.7));
	box-shadow: var(--shadow-gold);
	transform: scale(1.02);
}
@media (max-width: 860px) { body.aiwebsmb-page .plan-card.featured { transform: none; } }
body.aiwebsmb-page .plan-card.featured:hover { transform: translateY(-6px) scale(1.02); }
body.aiwebsmb-page .plan-badge {
	position: absolute;
	top: -14px;
	left: 50%;
	transform: translateX(-50%);
	background: linear-gradient(135deg, var(--gold), var(--gold-light));
	color: #0A0600;
	font-size: 0.72rem;
	font-weight: 700;
	padding: 6px 18px;
	border-radius: 999px;
	white-space: nowrap;
	box-shadow: 0 8px 22px -8px rgba(240,165,0,0.6);
}
body.aiwebsmb-page .plan-name {
	font-family: var(--serif);
	font-size: 1.45rem;
	font-weight: 700;
	margin-bottom: 10px;
	color: var(--text-1);
}
body.aiwebsmb-page .plan-name-gold { color: var(--gold); }
body.aiwebsmb-page .plan-desc {
	font-size: 0.88rem;
	color: var(--text-2);
	margin-bottom: var(--space-3);
	line-height: 1.72;
}
body.aiwebsmb-page .plan-features {
	list-style: none;
	margin-bottom: var(--space-3);
	flex: 1;
}
body.aiwebsmb-page .plan-features li {
	padding: 10px 0;
	border-bottom: 1px solid var(--border);
	font-size: 0.88rem;
	display: flex;
	gap: 12px;
	align-items: flex-start;
	line-height: 1.55;
	color: var(--text-1);
}
body.aiwebsmb-page .plan-features li:last-child { border-bottom: none; }
body.aiwebsmb-page .check {
	color: var(--green);
	font-size: 0.9rem;
	flex-shrink: 0;
	margin-top: 2px;
	font-weight: 700;
}

body.aiwebsmb-page .plan-ai-box {
	background: linear-gradient(180deg, var(--bg-card), rgba(14,20,37,0.6));
	border: 1px solid var(--border);
	border-radius: 18px;
	padding: 32px;
	margin-top: var(--space-5);
	text-align: center;
}
body.aiwebsmb-page .plan-ai-eyebrow { margin-bottom: 14px; }
body.aiwebsmb-page .plan-ai-desc {
	font-size: 0.9rem;
	color: var(--text-2);
	margin-bottom: var(--space-3);
	line-height: 1.75;
}
body.aiwebsmb-page .plan-ai-input-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
	margin-bottom: 16px;
}
@media (max-width: 540px) { body.aiwebsmb-page .plan-ai-input-row { grid-template-columns: 1fr; } }
body.aiwebsmb-page .plan-ai-input {
	width: 100%;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--border);
	border-radius: 10px;
	padding: 13px 16px;
	color: var(--text-1);
	font-size: 0.92rem;
	transition: border-color var(--t-fast);
}
body.aiwebsmb-page .plan-ai-input:focus { outline: none; border-color: var(--blue); }
body.aiwebsmb-page .plan-ai-result { margin-top: 18px; text-align: left; font-size: 0.95rem; line-height: 1.8; color: var(--text-1); display: none; }
body.aiwebsmb-page .plan-ai-result.visible { display: block; animation: fade-soft 0.4s var(--ease-out); }
body.aiwebsmb-page .plan-ai-result-inner {
	background: var(--bg-raised);
	border: 1px solid var(--border-gold);
	border-radius: 14px;
	padding: 22px;
	font-size: 0.92rem;
	line-height: 1.85;
}

/* ───── 19. QUIZ ──────────────────────────────────────────────────── */
body.aiwebsmb-page #quiz {
	background: var(--bg-deepest);
	position: relative;
	overflow: hidden;
}
body.aiwebsmb-page #quiz::before {
	content: '';
	position: absolute;
	inset: 0;
	background: radial-gradient(ellipse 60% 60% at 50% 50%, rgba(240,165,0,0.07) 0%, transparent 70%);
	pointer-events: none;
}
body.aiwebsmb-page .quiz-container {
	max-width: 760px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
body.aiwebsmb-page .quiz-progress {
	display: flex;
	gap: 8px;
	margin-bottom: var(--space-5);
}
body.aiwebsmb-page .quiz-progress-dot {
	height: 4px;
	flex: 1;
	border-radius: 999px;
	background: var(--border);
	transition: background var(--t-base), box-shadow var(--t-base);
}
body.aiwebsmb-page .quiz-progress-dot.done {
	background: linear-gradient(90deg, var(--gold), var(--gold-light));
	box-shadow: 0 0 12px rgba(240,165,0,0.35);
}
body.aiwebsmb-page .quiz-question {
	display: none;
	animation: quizFadeIn 0.45s var(--ease-out);
}
body.aiwebsmb-page .quiz-question.active { display: block; }
@keyframes quizFadeIn { from { opacity: 0; transform: translateY(14px);} to { opacity: 1; transform: translateY(0);} }

body.aiwebsmb-page .quiz-q-text {
	font-family: var(--serif);
	font-size: 1.42rem;
	font-weight: 700;
	margin-bottom: 10px;
	line-height: 1.5;
	color: var(--text-1);
}
body.aiwebsmb-page .quiz-q-sub {
	font-size: 0.9rem;
	color: var(--text-2);
	margin-bottom: var(--space-4);
}
body.aiwebsmb-page .quiz-options {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 12px;
}
@media (max-width: 540px) { body.aiwebsmb-page .quiz-options { grid-template-columns: 1fr; } }
body.aiwebsmb-page .quiz-option {
	background: var(--bg-card);
	border: 1.5px solid var(--border);
	border-radius: 14px;
	padding: 18px 22px;
	cursor: pointer;
	font-size: 0.95rem;
	font-weight: 500;
	text-align: center;
	transition: all var(--t-base);
	color: var(--text-1);
}
body.aiwebsmb-page .quiz-option:hover {
	border-color: var(--gold);
	background: var(--gold-dim);
	transform: translateY(-2px);
}
body.aiwebsmb-page .quiz-option.selected {
	border-color: var(--gold);
	background: var(--gold-dim);
	color: var(--gold);
	box-shadow: 0 0 22px -6px rgba(240,165,0,0.4);
}
body.aiwebsmb-page .quiz-result { display: none; }
body.aiwebsmb-page .quiz-result.visible { display: block; animation: fade-soft 0.5s var(--ease-out); }
body.aiwebsmb-page .quiz-result-header { text-align: center; margin-bottom: var(--space-4); }
body.aiwebsmb-page .quiz-result-icon { font-size: 2.6rem; margin-bottom: 14px; }
body.aiwebsmb-page .quiz-result-sub { font-size: 0.9rem; color: var(--text-2); margin-top: 8px; }

body.aiwebsmb-page .prompt-box {
	background: var(--bg-card);
	border: 1px solid var(--border-gold);
	border-radius: 18px;
	padding: 30px;
	position: relative;
	margin-bottom: var(--space-3);
	box-shadow: var(--shadow-soft);
}
body.aiwebsmb-page .prompt-label {
	font-family: var(--mono);
	font-size: 0.7rem;
	color: var(--gold);
	text-transform: uppercase;
	letter-spacing: 0.12em;
	margin-bottom: 14px;
}
body.aiwebsmb-page .prompt-text {
	font-family: var(--mono);
	font-size: 0.86rem;
	line-height: 1.92;
	color: var(--text-1);
	white-space: pre-wrap;
	word-break: break-word;
}
body.aiwebsmb-page .copy-btn {
	position: absolute;
	top: 18px;
	right: 18px;
	background: linear-gradient(135deg, var(--gold), var(--gold-light));
	color: #0A0600;
	border: none;
	border-radius: 8px;
	padding: 8px 14px;
	font-size: 0.78rem;
	font-weight: 700;
	cursor: pointer;
	transition: transform var(--t-fast), box-shadow var(--t-base);
}
body.aiwebsmb-page .copy-btn:hover { transform: translateY(-1px); box-shadow: 0 6px 18px -4px rgba(240,165,0,0.5); }

body.aiwebsmb-page .quiz-result-cta { text-align: center; margin-top: var(--space-3); }
body.aiwebsmb-page .quiz-result-cta p {
	font-size: 0.92rem;
	color: var(--text-2);
	margin-bottom: 20px;
	line-height: 1.78;
}

/* ───── 20. FINAL CTA ─────────────────────────────────────────────── */
body.aiwebsmb-page #final-cta {
	padding: clamp(96px, 12vw, 150px) clamp(20px,6vw,80px);
	background: linear-gradient(180deg, #060B1A, #080E20);
	text-align: center;
	position: relative;
	overflow: hidden;
}
body.aiwebsmb-page .cta-bg {
	position: absolute;
	inset: 0;
	background:
		radial-gradient(ellipse 70% 80% at 50% 50%, rgba(240,165,0,0.08) 0%, transparent 70%),
		radial-gradient(ellipse 50% 40% at 50% 100%, rgba(58,123,247,0.08) 0%, transparent 70%);
	pointer-events: none;
}
body.aiwebsmb-page .cta-inner {
	max-width: 700px;
	margin: 0 auto;
	position: relative;
	z-index: 1;
}
body.aiwebsmb-page .cta-eyebrow { display: block; margin-bottom: var(--space-3); }
body.aiwebsmb-page .eyebrow.centered { text-align: center; }

body.aiwebsmb-page .cta-headline {
	font-size: clamp(2rem, 4.4vw, 3.4rem);
	margin-bottom: var(--space-3);
	line-height: 1.28;
}
body.aiwebsmb-page .cta-headline em {
	font-style: normal;
	color: var(--gold);
}
body.aiwebsmb-page .cta-sub {
	font-size: 1.05rem;
	color: var(--text-2);
	line-height: 1.92;
	margin-bottom: var(--space-5);
}
body.aiwebsmb-page .cta-buttons {
	display: flex;
	gap: 16px;
	justify-content: center;
	flex-wrap: wrap;
}
body.aiwebsmb-page .cta-note {
	margin-top: var(--space-3);
	font-size: 0.82rem;
	color: var(--text-3);
	line-height: 1.8;
}

/* ───── 21. FOOTER ────────────────────────────────────────────────── */
body.aiwebsmb-page #aiwebsmb-footer {
	padding: 36px clamp(20px,6vw,80px);
	background: #030508;
	border-top: 1px solid var(--border);
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 16px;
}
body.aiwebsmb-page #aiwebsmb-footer .footer-logo {
	font-family: var(--serif);
	font-size: 1rem;
	font-weight: 700;
	color: var(--text-1);
	text-decoration: none;
	display: inline-flex;
	align-items: center;
	gap: 0;
	position: relative;
	padding-bottom: 2px;
	transition: opacity var(--t-fast);
}
body.aiwebsmb-page #aiwebsmb-footer .footer-logo::after {
	content: '';
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 1px;
	background: linear-gradient(90deg, var(--gold), var(--gold-light));
	transform: scaleX(0);
	transform-origin: left center;
	transition: transform 320ms var(--ease-out);
}
body.aiwebsmb-page #aiwebsmb-footer .footer-logo:hover { opacity: 0.82; }
body.aiwebsmb-page #aiwebsmb-footer .footer-logo:hover::after { transform: scaleX(1); }
body.aiwebsmb-page #aiwebsmb-footer .footer-logo span { color: var(--gold); }
body.aiwebsmb-page #aiwebsmb-footer .footer-copy {
	font-size: 0.78rem;
	color: var(--text-3);
}
body.aiwebsmb-page #aiwebsmb-footer .footer-links { display: flex; gap: 24px; }
body.aiwebsmb-page #aiwebsmb-footer .footer-links a {
	font-size: 0.78rem;
	color: var(--text-3);
	transition: color var(--t-fast);
}
body.aiwebsmb-page #aiwebsmb-footer .footer-links a:hover { color: var(--gold); }

/* ───── 22. LOADING ───────────────────────────────────────────────── */
body.aiwebsmb-page .loading-wrap {
	display: flex;
	align-items: center;
	gap: 10px;
	color: var(--text-3);
	font-size: 0.88rem;
}
body.aiwebsmb-page .spinner {
	width: 18px; height: 18px;
	border: 2px solid var(--border-2);
	border-top-color: var(--gold);
	border-radius: 50%;
	animation: spin 0.8s linear infinite;
}
@keyframes spin { to { transform: rotate(360deg); } }

/* ───── 23. RESPONSIVE FINALS ─────────────────────────────────────── */
@media (max-width: 480px) {
	body.aiwebsmb-page .hero-widget { padding: 22px; }
	body.aiwebsmb-page .step { padding: 28px 18px; }
	body.aiwebsmb-page .case-card, body.aiwebsmb-page .plan-card { padding: 26px 22px; }
	body.aiwebsmb-page .pain-card { padding: 24px 22px; }
}

/* ───── 24. PRINT (safety) ────────────────────────────────────────── */
@media print {
	body.aiwebsmb-page { background: #fff; color: #000; }
	body.aiwebsmb-page #aiwebsmb-nav,
	body.aiwebsmb-page .scroll-indicator,
	body.aiwebsmb-page .hero-bg,
	body.aiwebsmb-page .cta-bg { display: none; }
}

/* ═════════════════════════════════════════════════════════════════════
 *  25. IMAGE LAYER  ―  v1.1.0 画像実装レイヤー
 *  本ブロックは画像設置改修（2026-06）で追加された純粋な追記レイヤー。
 *  既存スタイルには一切触れず、画像挿入箇所のみを定義する。
 *  ロールバックする場合は本ブロックを丸ごと削除すること。
 * ═════════════════════════════════════════════════════════════════════ */

/* ───── 25-1. 汎用画像リセット（aiwebsmb スコープ内のみ） ────────── */
body.aiwebsmb-page img {
	max-width: 100%;
	height: auto;
	display: block;
	-webkit-user-drag: none;
	user-select: none;
}

/* ───── 25-2. FV: AIアシスタント徽章（_4.webp） ──────────────────── */
body.aiwebsmb-page .hero-widget.has-ai-badge { position: relative; }
body.aiwebsmb-page .hero-widget-ai-badge {
	position: absolute;
	top: -34px;
	right: -22px;
	width: 88px;
	height: 88px;
	border-radius: 50%;
	overflow: hidden;
	filter: drop-shadow(0 12px 30px rgba(58,123,247,0.45));
	pointer-events: none;
	z-index: 2;
	animation: badge-float 6s ease-in-out infinite;
}
body.aiwebsmb-page .hero-widget-ai-badge img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}
@keyframes badge-float {
	0%, 100% { transform: translateY(0); }
	50%      { transform: translateY(-6px); }
}
@media (max-width: 600px) {
	body.aiwebsmb-page .hero-widget-ai-badge {
		width: 64px; height: 64px;
		top: -22px; right: -12px;
	}
}

/* ───── 25-3. FV: 監修者カード（_5.webp） ────────────────────────── */
body.aiwebsmb-page .hero-widget-author {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-top: 18px;
	padding-top: 16px;
	border-top: 1px solid var(--border);
}
body.aiwebsmb-page .hero-widget-author-photo {
	width: 44px;
	height: 44px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	border: 1.5px solid var(--border-gold);
	box-shadow: 0 6px 18px -8px rgba(240,165,0,0.5);
}
body.aiwebsmb-page .hero-widget-author-photo img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
body.aiwebsmb-page .hero-widget-author-label {
	font-size: 0.7rem;
	font-family: var(--mono);
	color: var(--text-3);
	letter-spacing: 0.12em;
	text-transform: uppercase;
}
body.aiwebsmb-page .hero-widget-author-name {
	font-size: 0.86rem;
	color: var(--text-1);
	font-weight: 700;
	margin-top: 2px;
}

/* ───── 25-4. FV: トラストフレーム装飾（_3.webp） ────────────────── */
body.aiwebsmb-page .trust-row { position: relative; }
body.aiwebsmb-page .trust-frame {
	position: absolute;
	left: 0;
	top: -28px;
	width: 100%;
	max-width: 320px;
	opacity: 0.4;
	pointer-events: none;
	mix-blend-mode: screen;
}
body.aiwebsmb-page .trust-frame img {
	width: 100%;
	filter: drop-shadow(0 0 10px rgba(240,165,0,0.3));
}
@media (max-width: 600px) {
	body.aiwebsmb-page .trust-frame { display: none; }
}

/* ───── 25-5. Before / After キービジュアル（_6, _7.webp） ──────── */
body.aiwebsmb-page .ba-col { position: relative; overflow: hidden; }
body.aiwebsmb-page .ba-visual {
	position: absolute;
	top: 50%;
	right: -40px;
	transform: translateY(-50%);
	width: 240px;
	height: 240px;
	opacity: 0.85;
	pointer-events: none;
	z-index: 0;
	filter: drop-shadow(0 30px 60px rgba(0,0,0,0.4));
}
body.aiwebsmb-page .ba-visual img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
body.aiwebsmb-page .ba-before .ba-visual {
	filter: drop-shadow(0 20px 50px rgba(240,80,80,0.35)) saturate(0.9);
}
body.aiwebsmb-page .ba-after .ba-visual {
	filter: drop-shadow(0 20px 50px rgba(16,185,129,0.4)) saturate(1.1);
}
/* テキストを画像より前面に */
body.aiwebsmb-page .ba-col .ba-label,
body.aiwebsmb-page .ba-col .ba-items { position: relative; z-index: 1; }
@media (max-width: 960px) {
	body.aiwebsmb-page .ba-visual {
		width: 180px; height: 180px; right: -30px; opacity: 0.55;
	}
}
@media (max-width: 600px) {
	body.aiwebsmb-page .ba-visual {
		width: 140px; height: 140px; right: -20px; top: 20px;
		transform: none; opacity: 0.45;
	}
}

/* ───── 25-6. Pain Card 背景ウォーターマーク（_8.webp） ─────────── */
body.aiwebsmb-page .pain-card.has-watermark { overflow: hidden; }
body.aiwebsmb-page .pain-watermark {
	position: absolute;
	right: -40px;
	bottom: -40px;
	width: 200px;
	height: 200px;
	background-image: url("https://alpha.hr-kirameki.com/wp-content/uploads/2026/06/ai-web-smb_8.webp");
	background-size: contain;
	background-repeat: no-repeat;
	background-position: center;
	opacity: 0.05;
	pointer-events: none;
	z-index: 0;
	transition: opacity var(--t-base), transform var(--t-base);
}
body.aiwebsmb-page .pain-card.has-watermark:hover .pain-watermark {
	opacity: 0.12;
	transform: scale(1.08) rotate(-3deg);
}
body.aiwebsmb-page .pain-card.has-watermark > *:not(.pain-watermark) {
	position: relative;
	z-index: 1;
}

/* ───── 25-7. Challenge カードの画像アイコン（_9, _10, _11.webp） ── */
body.aiwebsmb-page .challenge-icon.challenge-icon--img {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 64px;
	height: 64px;
	margin: 0 auto 12px;
	padding: 0;
	font-size: 0;
	background: radial-gradient(circle, rgba(240,165,0,0.08), transparent 70%);
	border-radius: 50%;
}
body.aiwebsmb-page .challenge-icon.challenge-icon--img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 0 12px rgba(240,165,0,0.45));
	transition: filter var(--t-base), transform var(--t-base);
}
body.aiwebsmb-page .challenge-card:hover .challenge-icon.challenge-icon--img img {
	filter: drop-shadow(0 0 18px rgba(240,165,0,0.75));
	transform: scale(1.08);
}
body.aiwebsmb-page .challenge-card.active .challenge-icon.challenge-icon--img img {
	filter: drop-shadow(0 0 22px rgba(58,123,247,0.65));
}

/* ───── 25-8. AI Avatar の画像化（_12.webp） ─────────────────────── */
body.aiwebsmb-page .ai-avatar.ai-avatar--img {
	padding: 0;
	overflow: hidden;
	font-size: 0;
}
body.aiwebsmb-page .ai-avatar.ai-avatar--img img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 12px;
}

/* ───── 25-9. How Step キービジュアル（_13, _14, _15.webp） ──────── */
body.aiwebsmb-page .step-visual {
	width: 100%;
	max-width: 240px;
	margin: 0 auto 18px;
	aspect-ratio: 4 / 3;
	display: flex;
	align-items: center;
	justify-content: center;
	position: relative;
	pointer-events: none;
}
body.aiwebsmb-page .step-visual::before {
	content: '';
	position: absolute;
	inset: 10% 5%;
	background: radial-gradient(ellipse at center, rgba(240,165,0,0.16), transparent 60%);
	filter: blur(20px);
	z-index: 0;
}
body.aiwebsmb-page .step-visual img {
	position: relative;
	z-index: 1;
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	filter: drop-shadow(0 18px 40px rgba(0,0,0,0.45));
}
@media (max-width: 760px) {
	body.aiwebsmb-page .step-visual { max-width: 200px; }
}

/* ───── 25-10. 補助金アイコン画像化（_16.webp） ──────────────────── */
body.aiwebsmb-page .subsidy-icon.subsidy-icon--img {
	width: 96px;
	height: 96px;
	font-size: 0;
	flex-shrink: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}
body.aiwebsmb-page .subsidy-icon.subsidy-icon--img img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 8px 24px rgba(240,165,0,0.35));
}
@media (max-width: 600px) {
	body.aiwebsmb-page .subsidy-icon.subsidy-icon--img {
		width: 72px; height: 72px;
	}
}

/* ───── 25-11. セクションキービジュアル（_17.webp） ─────────── */
body.aiwebsmb-page .section-keyvisual {
	max-width: 480px;
	margin: 0 auto var(--space-4);
	border-radius: 18px;
	overflow: hidden;
	position: relative;
}
body.aiwebsmb-page .section-keyvisual::before {
	content: '';
	position: absolute;
	inset: 0;
	background: linear-gradient(180deg, transparent 60%, rgba(4,6,15,0.5) 100%);
	pointer-events: none;
	z-index: 1;
}
body.aiwebsmb-page .section-keyvisual img {
	width: 100%;
	height: auto;
	object-fit: cover;
	border-radius: 18px;
	filter: drop-shadow(0 24px 60px rgba(0,0,0,0.5));
}
body.aiwebsmb-page .section-keyvisual--wide {
	max-width: 800px;
	aspect-ratio: 16 / 9;
}
body.aiwebsmb-page .section-keyvisual--wide img {
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

/* ═══════════════════════════════════════════════════════════════════
 *  25-11b. #cases 全面背景画像（_18.webp）
 *  手法：Ken Burns アニメーション × 多層グラデーション × Glassmorphism
 *  ─ 静止感を排除し、現場写真を最大限ダイナミックに演出する
 * ═══════════════════════════════════════════════════════════════════ */

/* ── セクション基盤：スタッキングコンテキストを独立化 ── */
body.aiwebsmb-page #cases.has-bg-scene {
	position: relative;
	overflow: hidden;
	isolation: isolate;
}

/* ──────────────────────────────────────────────────
 *  背景画像レイヤー
 *  inset: -10% で拡縮アニメーションの余白を確保し、
 *  overflow: hidden で親の外へはみ出さない
 * ────────────────────────────────────────────────── */
body.aiwebsmb-page #cases.has-bg-scene .cases-bg {
	position: absolute;
	inset: -10%;
	background-image: url("https://alpha.hr-kirameki.com/wp-content/uploads/2026/06/ai-web-smb_18.webp");
	background-size: cover;
	background-position: center 35%;   /* 正方形画像の上寄り：人物の顔・表情を捉える */
	background-repeat: no-repeat;
	will-change: transform;
	animation: cases-ken-burns 26s ease-in-out infinite alternate;
	z-index: 0;
}

/* Ken Burns：ゆるやかな拡縮＋微細パンで現場に「息吹」を与える */
@keyframes cases-ken-burns {
	0%   { transform: scale(1.00) translate(  0%,    0%); }
	33%  { transform: scale(1.06) translate(-1.6%,  0.4%); }
	66%  { transform: scale(1.04) translate( 1.2%, -0.5%); }
	100% { transform: scale(1.09) translate(-0.5%,  1.1%); }
}

/* ──────────────────────────────────────────────────
 *  多層グラデーション オーバーレイ
 *  ① 上端フェード ── 見出し・アイブローの視認性
 *  ② 下端フェード ── カード群の読みやすさと暗部の締め
 *  ③ 周辺ビネット ── 中央の人物群へ自然な視線誘導
 *  ④ ゴールドティント ── ブランドカラーとの色調統一
 *  ⑤ ベースダーク ── 輝度の最低保証
 * ────────────────────────────────────────────────── */
body.aiwebsmb-page #cases.has-bg-scene .cases-bg-overlay {
	position: absolute;
	inset: 0;
	z-index: 1;
	pointer-events: none;
	background:
		/* ① 上端フェード */
		linear-gradient(180deg,
			rgba(4,6,15,0.90)  0%,
			rgba(4,6,15,0.50) 18%,
			transparent        38%
		),
		/* ② 下端フェード */
		linear-gradient(0deg,
			rgba(4,6,15,0.97)  0%,
			rgba(4,6,15,0.72) 26%,
			transparent        52%
		),
		/* ③ 周辺ビネット */
		radial-gradient(ellipse 78% 95% at 50% 50%,
			transparent         28%,
			rgba(4,6,15,0.42) 100%
		),
		/* ④ ゴールドティント */
		radial-gradient(ellipse 110% 55% at 50% 32%,
			rgba(240,165,0,0.065) 0%,
			transparent           62%
		),
		/* ⑤ ベースダーク */
		rgba(4,6,15,0.42);
}

/* ── コンテンツ：全レイヤーの最前面に配置 ── */
body.aiwebsmb-page #cases.has-bg-scene .inner {
	position: relative;
	z-index: 2;
}

/* ──────────────────────────────────────────────────
 *  ケースカード：Glassmorphism
 *  写真背景と文字情報の間に奥行きと透明感のある面を挟み、
 *  「現場の上に浮かぶカード」という立体構造を演出する
 * ────────────────────────────────────────────────── */
body.aiwebsmb-page #cases.has-bg-scene .case-card {
	background: linear-gradient(
		158deg,
		rgba(14,20,37,0.86),
		rgba(7,11,24,0.72)
	);
	backdrop-filter: saturate(148%) blur(14px);
	-webkit-backdrop-filter: saturate(148%) blur(14px);
	border-color: rgba(255,255,255,0.10);
	box-shadow:
		0 8px 32px rgba(0,0,0,0.55),
		inset 0 1px 0 rgba(255,255,255,0.07);
}
body.aiwebsmb-page #cases.has-bg-scene .case-card:hover {
	background: linear-gradient(
		158deg,
		rgba(14,20,37,0.93),
		rgba(7,11,24,0.82)
	);
	border-color: var(--border-gold);
	box-shadow:
		0 24px 60px rgba(0,0,0,0.65),
		0 0 0 1px rgba(240,165,0,0.12),
		inset 0 1px 0 rgba(255,255,255,0.10);
}

/* ──────────────────────────────────────────────────
 *  レスポンシブ対応
 *  タブレット以下：アニメーション・backdrop-filter を停止し
 *  描画負荷を軽減。オーバーレイは濃度を高めて可読性を確保。
 * ────────────────────────────────────────────────── */
@media (max-width: 860px) {
	body.aiwebsmb-page #cases.has-bg-scene .cases-bg {
		inset: 0;
		animation: none;
		background-position: center 28%;
	}
	body.aiwebsmb-page #cases.has-bg-scene .cases-bg-overlay {
		background:
			linear-gradient(180deg,
				rgba(4,6,15,0.94)  0%,
				rgba(4,6,15,0.60) 20%,
				transparent        42%
			),
			linear-gradient(0deg,
				rgba(4,6,15,0.97)  0%,
				rgba(4,6,15,0.78) 28%,
				transparent        56%
			),
			rgba(4,6,15,0.52);
	}
	body.aiwebsmb-page #cases.has-bg-scene .case-card {
		backdrop-filter: none;
		-webkit-backdrop-filter: none;
		background: linear-gradient(180deg,
			rgba(14,20,37,0.93),
			rgba(7,11,24,0.88)
		);
	}
}

/* ── prefers-reduced-motion：アニメーション完全停止 ── */
@media (prefers-reduced-motion: reduce) {
	body.aiwebsmb-page #cases.has-bg-scene .cases-bg {
		animation: none;
		inset: 0;
		transform: none;
	}
}

/* ───── 25-12. プランカードのアイコン（_19, _20, _21.webp） ──────── */
body.aiwebsmb-page .plan-card .plan-icon {
	width: 80px;
	height: 80px;
	margin: 0 0 18px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: radial-gradient(circle, rgba(240,165,0,0.12), transparent 70%);
	border-radius: 50%;
	transition: transform var(--t-base);
}
body.aiwebsmb-page .plan-card .plan-icon img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	filter: drop-shadow(0 4px 16px rgba(240,165,0,0.45));
}
body.aiwebsmb-page .plan-card:hover .plan-icon { transform: rotate(-6deg) scale(1.06); }
body.aiwebsmb-page .plan-card.featured .plan-icon {
	background: radial-gradient(circle, rgba(240,165,0,0.22), transparent 70%);
}

/* ───── 25-13. Final CTA キービジュアル（_22, _23.webp） ─────────── */
body.aiwebsmb-page #final-cta.has-keyvisuals .cta-inner {
	position: relative;
	z-index: 2;
}
body.aiwebsmb-page .cta-keyvisual {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	width: clamp(280px, 28vw, 460px);
	height: auto;
	pointer-events: none;
	z-index: 1;
	opacity: 0.85;
}
body.aiwebsmb-page .cta-keyvisual img {
	width: 100%;
	height: auto;
	object-fit: contain;
}
body.aiwebsmb-page .cta-keyvisual--left {
	left: 2vw;
	filter: drop-shadow(0 30px 60px rgba(0,0,0,0.55));
}
body.aiwebsmb-page .cta-keyvisual--right {
	right: 2vw;
	filter: drop-shadow(0 0 80px rgba(240,165,0,0.35))
	        drop-shadow(0 30px 60px rgba(0,0,0,0.55));
	animation: dashboard-float 8s ease-in-out infinite;
}

@keyframes dashboard-float {
	0%, 100% { transform: translateY(-50%) translateY(0); }
	50%      { transform: translateY(-50%) translateY(-10px); }
}
@media (max-width: 1280px) {
	body.aiwebsmb-page .cta-keyvisual { opacity: 0.5; }
	body.aiwebsmb-page .cta-keyvisual--left  { left: 1vw; }
	body.aiwebsmb-page .cta-keyvisual--right { right: 1vw; }
}

@media (max-width: 960px) {
	/* 人物画像：左上に小さく配置（PC時の空間記憶を維持） */
	body.aiwebsmb-page .cta-keyvisual--left {
		left: 0; right: auto; top: 3%;
		width: clamp(140px, 22vw, 200px);
		transform: none;
		opacity: 0.32;
	}
	/* データ画像：右下に小さく配置（PC時の空間記憶を維持） */
	body.aiwebsmb-page .cta-keyvisual--right {
		right: 0; left: auto; top: auto; bottom: 3%;
		width: clamp(140px, 22vw, 200px);
		transform: none;
		opacity: 0.38;
		animation: none;
	}
}

@media (max-width: 600px) {
	/* 人物画像（_22-1.webp）：左上コーナーへ「装飾アクセント」化 */
	body.aiwebsmb-page .cta-keyvisual--left {
		left: -10px;
		top: 0;
		width: 130px;
		opacity: 0.2;
		transform: rotate(-4deg);
		filter: blur(0.3px) drop-shadow(0 10px 24px rgba(0,0,0,0.5));
	}
	/* データ画像（_23.webp）：右下コーナーへ「装飾アクセント」化 */
	body.aiwebsmb-page .cta-keyvisual--right {
		left: auto;
		top: auto;
		right: -10px;
		bottom: 0;
		width: 130px;
		opacity: 0.22;
		transform: rotate(4deg);
		filter: blur(0.3px)
		        drop-shadow(0 0 30px rgba(240,165,0,0.25))
		        drop-shadow(0 10px 24px rgba(0,0,0,0.5));
	}
}

/* 超小型端末（iPhone SE等）の微調整 */
@media (max-width: 374px) {
	body.aiwebsmb-page .cta-keyvisual--left,
	body.aiwebsmb-page .cta-keyvisual--right {
		width: 100px;
		opacity: 0.16;
	}
}

/* ───── 25-14. グローバル: パフォーマンス最適化 ─────────────────── */
body.aiwebsmb-page .ba-visual img,
body.aiwebsmb-page .step-visual img,
body.aiwebsmb-page .cta-keyvisual img {
    content-visibility: auto;
}
@media (prefers-reduced-motion: reduce) {
	body.aiwebsmb-page .hero-widget-ai-badge,
	body.aiwebsmb-page .cta-keyvisual--right { animation: none; }
}

/* ───── 26. HERO KEYVISUAL (_1.webp) ──────────────────────────────── */
body.aiwebsmb-page .hero-keyvisual {
	position: absolute;
	top: 50%;
	right: clamp(-60px, -4vw, -20px);
	transform: translateY(-52%);
	width: clamp(340px, 44vw, 640px);
	height: auto;
	pointer-events: none;
	z-index: 0;
	opacity: 0.88;
}
body.aiwebsmb-page .hero-keyvisual img {
	width: 100%;
	height: auto;
	object-fit: contain;
	filter:
		drop-shadow(0 40px 80px rgba(0,0,0,0.65))
		drop-shadow(0 0 60px rgba(240,165,0,0.18));
}
/* コンテンツと重なりすぎないよう内側コンテンツに z-index を明示 */
body.aiwebsmb-page #hero .inner { z-index: 2; }

/* タブレット */
@media (max-width: 1024px) {
	body.aiwebsmb-page .hero-keyvisual {
		width: clamp(260px, 38vw, 420px);
		opacity: 0.55;
		right: -20px;
	}
}
/* スマホ：非表示（コンテンツと干渉するため） */
@media (max-width: 700px) {
	body.aiwebsmb-page .hero-keyvisual { display: none; }
}

/* ═════════════════════════════════════════════════════════════════════
 *  27. FORM MODAL & PRIVACY POLICY PANEL  ―  v1.2.0
 *  このブロックは CF7 モーダル改修（2026-06）で追加された純粋な追記レイヤー。
 *  ロールバックする場合は本ブロックを丸ごと削除すること。
 * ═════════════════════════════════════════════════════════════════════ */

/* ───── 27-1. モーダルオーバーレイ ──────────────────────────────── */
body.aiwebsmb-page .aiws-modal-overlay {
	position: fixed;
	inset: 0;
	z-index: 2000;
	background: rgba(4,6,15,0.82);
	backdrop-filter: blur(8px);
	-webkit-backdrop-filter: blur(8px);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 16px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 280ms var(--ease-out);
}
body.aiwebsmb-page .aiws-modal-overlay.is-open {
	opacity: 1;
	pointer-events: auto;
}

/* ───── 27-2. モーダルラッパー ──────────────────────────────────── */
body.aiwebsmb-page .aiws-modal-wrap {
	position: relative;
	width: 100%;
	max-width: 600px;
	max-height: 90vh;
	background: var(--bg-card);
	border: 1px solid var(--border-gold);
	border-radius: 24px;
	box-shadow: 0 40px 100px -20px rgba(0,0,0,0.85), 0 0 60px rgba(240,165,0,0.1);
	overflow: hidden;
	display: flex;
	flex-direction: column;
	transform: translateY(24px);
	transition: transform 320ms var(--ease-out);
}
body.aiwebsmb-page .aiws-modal-overlay.is-open .aiws-modal-wrap {
	transform: translateY(0);
}

/* ───── 27-3. モーダルヘッダー ──────────────────────────────────── */
body.aiwebsmb-page .aiws-modal-header {
	padding: 32px 36px 24px;
	border-bottom: 1px solid var(--border);
	flex-shrink: 0;
}
body.aiwebsmb-page .aiws-modal-title {
	font-family: var(--serif);
	font-size: clamp(1.25rem, 3vw, 1.65rem);
	font-weight: 700;
	line-height: 1.35;
	color: var(--text-1);
	margin: 10px 0 8px;
}
body.aiwebsmb-page .aiws-modal-subtitle {
	font-size: 0.8rem;
	color: var(--gold);
	font-weight: 700;
	letter-spacing: 0.06em;
}

/* ───── 27-4. 閉じるボタン ───────────────────────────────────────── */
body.aiwebsmb-page .aiws-modal-close {
	position: absolute;
	top: 16px;
	right: 16px;
	width: 36px;
	height: 36px;
	background: rgba(255,255,255,0.07);
	border: 1px solid var(--border);
	border-radius: 50%;
	color: var(--text-2);
	font-size: 1rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background var(--t-fast), color var(--t-fast), transform var(--t-fast);
	z-index: 10;
}
body.aiwebsmb-page .aiws-modal-close:hover {
	background: rgba(255,255,255,0.14);
	color: var(--text-1);
	transform: scale(1.1);
}

/* ───── 27-5. フォーム本体エリア ────────────────────────────────── */
body.aiwebsmb-page .aiws-modal-form-body {
	padding: 28px 36px 36px;
	overflow-y: auto;
	flex: 1;
	overscroll-behavior: contain;
}
@media (max-width: 520px) {
	body.aiwebsmb-page .aiws-modal-header { padding: 24px 20px 18px; }
	body.aiwebsmb-page .aiws-modal-form-body { padding: 20px 20px 28px; }
}

/* ───── 27-6. PPスライドパネル ──────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-panel {
	position: absolute;
	inset: 0;
	background: var(--bg-card);
	display: flex;
	flex-direction: column;
	z-index: 5;
	transform: translateX(100%);
	transition: transform 320ms var(--ease-out);
}
body.aiwebsmb-page .aiws-pp-panel.is-open {
	transform: translateX(0);
}
body.aiwebsmb-page .aiws-pp-panel-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 20px 24px;
	border-bottom: 1px solid var(--border);
	flex-shrink: 0;
}
body.aiwebsmb-page .aiws-pp-panel-back {
	background: none;
	border: 1px solid var(--border);
	border-radius: 8px;
	color: var(--text-2);
	font-size: 0.82rem;
	padding: 6px 14px;
	cursor: pointer;
	transition: border-color var(--t-fast), color var(--t-fast);
}
body.aiwebsmb-page .aiws-pp-panel-back:hover {
	border-color: var(--gold);
	color: var(--gold);
}
body.aiwebsmb-page .aiws-pp-panel-body {
	flex: 1;
	overflow-y: auto;
	padding: 24px;
	overscroll-behavior: contain;
}
body.aiwebsmb-page .aiws-pp-content {
	font-size: 0.9rem;
	line-height: 1.9;
	color: var(--text-2);
}
body.aiwebsmb-page .aiws-pp-content h3 {
	font-family: var(--serif);
	font-size: 1.05rem;
	color: var(--text-1);
	margin: 0 0 16px;
}
body.aiwebsmb-page .aiws-pp-content p,
body.aiwebsmb-page .aiws-pp-content ul { margin-bottom: 16px; }
body.aiwebsmb-page .aiws-pp-content li { padding-left: 1.2em; list-style: disc; }
body.aiwebsmb-page .aiws-pp-panel-footer {
	padding: 16px 24px 24px;
	border-top: 1px solid var(--border);
	flex-shrink: 0;
}


/* ═══════════════════════════════════════════════════════════════════
 *  27-6b. PRIVACY POLICY ―― 本番版エディトリアルデザイン
 *  Design : Editorial × Aurora × Dark Gold（2026 Production Edition）
 *  Scope  : .aiws-pp-content--v2 配下のみ
 * ═══════════════════════════════════════════════════════════════════ */

/* ───── パネル本体の余白を最適化（v2のみ） ─────────────────────────── */
body.aiwebsmb-page .aiws-pp-panel-body:has(.aiws-pp-content--v2) {
	padding: 0;
	background:
		radial-gradient(ellipse at top, rgba(240,165,0,0.05) 0%, transparent 55%),
		var(--bg-card);
}

/* ───── スクロールバーの装飾 ─────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-panel-body:has(.aiws-pp-content--v2)::-webkit-scrollbar {
	width: 8px;
}
body.aiwebsmb-page .aiws-pp-panel-body:has(.aiws-pp-content--v2)::-webkit-scrollbar-track {
	background: transparent;
}
body.aiwebsmb-page .aiws-pp-panel-body:has(.aiws-pp-content--v2)::-webkit-scrollbar-thumb {
	background: linear-gradient(180deg, var(--gold-dim), rgba(240,165,0,0.05));
	border-radius: 999px;
}
body.aiwebsmb-page .aiws-pp-panel-body:has(.aiws-pp-content--v2)::-webkit-scrollbar-thumb:hover {
	background: linear-gradient(180deg, var(--gold), var(--gold-dim));
}

/* ───── コンテンツルート ─────────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-content--v2 {
	font-size: 0.92rem;
	line-height: 1.95;
	color: var(--text-2);
	padding: 0;
	letter-spacing: 0.02em;
}

/* ───── ヒーローエリア ──────────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-hero {
	position: relative;
	padding: 56px 32px 44px;
	text-align: center;
	border-bottom: 1px solid var(--border);
	overflow: hidden;
	isolation: isolate;
}
body.aiwebsmb-page .aiws-pp-hero-deco {
	position: absolute;
	inset: 0;
	z-index: -1;
	background:
		radial-gradient(ellipse 60% 80% at 50% 0%, rgba(240,165,0,0.12) 0%, transparent 70%),
		linear-gradient(180deg, rgba(240,165,0,0.04) 0%, transparent 100%);
	pointer-events: none;
}
body.aiwebsmb-page .aiws-pp-hero-deco::before {
	content: '';
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	width: 240px;
	height: 240px;
	border-radius: 50%;
	background: radial-gradient(circle, rgba(240,165,0,0.08) 0%, transparent 60%);
	filter: blur(20px);
}
body.aiwebsmb-page .aiws-pp-hero-eyebrow {
	font-family: 'Inter', sans-serif;
	font-size: 0.7rem;
	font-weight: 600;
	letter-spacing: 0.45em;
	color: var(--gold);
	margin: 0 0 16px;
	text-transform: uppercase;
}
body.aiwebsmb-page .aiws-pp-hero-title {
	font-family: var(--serif);
	font-size: 1.7rem;
	font-weight: 600;
	color: var(--text-1);
	margin: 0 0 24px;
	letter-spacing: 0.04em;
	background: linear-gradient(180deg, #FFFFFF 0%, #D0D5E0 100%);
	-webkit-background-clip: text;
	background-clip: text;
	-webkit-text-fill-color: transparent;
	line-height: 1.4;
}
body.aiwebsmb-page .aiws-pp-hero-title::after {
	content: '';
	display: block;
	width: 48px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--gold), transparent);
	margin: 20px auto 0;
}
body.aiwebsmb-page .aiws-pp-hero-lead {
	font-size: 0.88rem;
	line-height: 2;
	color: var(--text-2);
	max-width: 540px;
	margin: 0 auto;
}
body.aiwebsmb-page .aiws-pp-hero-lead-em {
	display: inline-block;
	margin-top: 8px;
	color: var(--gold-light);
	font-weight: 500;
	letter-spacing: 0.05em;
}

/* ───── 条文リスト（ol）─────────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-articles {
	list-style: none;
	padding: 32px 28px 12px;
	margin: 0;
	counter-reset: none;
}

/* ───── 各条文 ───────────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-article {
	display: grid;
	grid-template-columns: 56px 1fr;
	gap: 20px;
	padding: 28px 0;
	border-bottom: 1px dashed var(--border);
	position: relative;
	transition: border-color var(--t-fast);
}
body.aiwebsmb-page .aiws-pp-article:last-child {
	border-bottom: none;
}
body.aiwebsmb-page .aiws-pp-article:hover {
	border-bottom-color: var(--border-gold);
}

/* ───── 条文ナンバー ────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-article-num {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	padding-top: 2px;
}
body.aiwebsmb-page .aiws-pp-article-num span {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 44px;
	height: 44px;
	border-radius: 50%;
	border: 1px solid var(--border-gold);
	background:
		radial-gradient(circle at 30% 30%, rgba(240,165,0,0.18), transparent 70%),
		var(--bg-card);
	font-family: var(--serif);
	font-size: 0.95rem;
	font-weight: 600;
	color: var(--gold);
	letter-spacing: 0.05em;
	box-shadow:
		0 0 0 4px rgba(240,165,0,0.04),
		inset 0 0 12px rgba(240,165,0,0.08);
	transition: transform var(--t-fast), box-shadow var(--t-fast);
}
body.aiwebsmb-page .aiws-pp-article:hover .aiws-pp-article-num span {
	transform: scale(1.06);
	box-shadow:
		0 0 0 6px rgba(240,165,0,0.06),
		inset 0 0 14px rgba(240,165,0,0.14);
}

/* ───── 条文ボディ ──────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-article-body {
	min-width: 0;
}
body.aiwebsmb-page .aiws-pp-article-title {
	font-family: var(--serif);
	font-size: 1.05rem;
	font-weight: 600;
	color: var(--text-1);
	margin: 0 0 14px;
	letter-spacing: 0.03em;
	line-height: 1.5;
	padding-bottom: 10px;
	border-bottom: 1px solid var(--border);
	position: relative;
}
body.aiwebsmb-page .aiws-pp-article-title::before {
	content: '';
	position: absolute;
	left: 0;
	bottom: -1px;
	width: 32px;
	height: 1px;
	background: var(--gold);
}
body.aiwebsmb-page .aiws-pp-article-body p {
	font-size: 0.88rem;
	line-height: 1.95;
	color: var(--text-2);
	margin: 0 0 12px;
}
body.aiwebsmb-page .aiws-pp-article-body p:last-child {
	margin-bottom: 0;
}
body.aiwebsmb-page .aiws-pp-article-body strong {
	color: var(--text-1);
	font-weight: 600;
}

/* ───── 条文内リスト ────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-list {
	list-style: none;
	padding: 0;
	margin: 14px 0 16px;
}
body.aiwebsmb-page .aiws-pp-list li {
	position: relative;
	padding: 10px 12px 10px 32px;
	font-size: 0.87rem;
	line-height: 1.85;
	color: var(--text-2);
	background: rgba(255,255,255,0.015);
	border-left: 2px solid var(--border-gold);
	margin-bottom: 6px;
	border-radius: 0 6px 6px 0;
	transition: background var(--t-fast), border-color var(--t-fast);
}
body.aiwebsmb-page .aiws-pp-list li:hover {
	background: rgba(240,165,0,0.04);
	border-left-color: var(--gold);
}
body.aiwebsmb-page .aiws-pp-list li::before {
	content: '';
	position: absolute;
	left: 14px;
	top: 18px;
	width: 6px;
	height: 6px;
	border-radius: 50%;
	background: var(--gold);
	box-shadow: 0 0 8px rgba(240,165,0,0.5);
}

/* ───── 重要条文（第2条）のハイライト ─────────────────────────────── */
body.aiwebsmb-page .aiws-pp-article--highlight {
	background: linear-gradient(135deg, rgba(240,165,0,0.04) 0%, transparent 60%);
	border-radius: 12px;
	padding: 28px 20px;
	margin: 8px -20px;
	border-bottom: 1px solid var(--border-gold) !important;
}
body.aiwebsmb-page .aiws-pp-article--highlight .aiws-pp-article-num span {
	background:
		radial-gradient(circle at 30% 30%, rgba(240,165,0,0.35), transparent 70%),
		var(--bg-card);
	border-color: var(--gold);
	color: var(--gold-light);
	box-shadow:
		0 0 0 4px rgba(240,165,0,0.08),
		0 0 20px rgba(240,165,0,0.2),
		inset 0 0 14px rgba(240,165,0,0.15);
}

/* ───── コールアウト（第2条強調ブロック） ─────────────────────────── */
body.aiwebsmb-page .aiws-pp-callout {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	padding: 18px 20px;
	margin: 16px 0;
	background:
		linear-gradient(135deg, rgba(240,165,0,0.10) 0%, rgba(240,165,0,0.02) 100%);
	border: 1px solid var(--border-gold);
	border-radius: 10px;
	position: relative;
	overflow: hidden;
}
body.aiwebsmb-page .aiws-pp-callout::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	width: 3px;
	height: 100%;
	background: linear-gradient(180deg, var(--gold), var(--gold-dim));
}
body.aiwebsmb-page .aiws-pp-callout-icon {
	flex-shrink: 0;
	width: 24px;
	height: 24px;
	color: var(--gold);
	margin-top: 2px;
	filter: drop-shadow(0 0 6px rgba(240,165,0,0.4));
}
body.aiwebsmb-page .aiws-pp-callout p {
	margin: 0 !important;
	font-size: 0.9rem !important;
	line-height: 1.85 !important;
	color: var(--text-1) !important;
}
body.aiwebsmb-page .aiws-pp-callout strong {
	color: var(--gold-light) !important;
	font-weight: 600;
	letter-spacing: 0.02em;
}

/* ───── お問い合わせ窓口カード（第7条） ──────────────────────────── */
body.aiwebsmb-page .aiws-pp-contact-card {
	margin-top: 16px;
	padding: 24px 24px 22px;
	background:
		linear-gradient(135deg, rgba(14,20,37,0.6) 0%, rgba(14,20,37,0.3) 100%),
		radial-gradient(ellipse at top right, rgba(240,165,0,0.06), transparent 60%);
	border: 1px solid var(--border-2);
	border-radius: 12px;
	position: relative;
	overflow: hidden;
}
body.aiwebsmb-page .aiws-pp-contact-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--gold), transparent);
}
body.aiwebsmb-page .aiws-pp-contact-label {
	font-family: 'Inter', sans-serif;
	font-size: 0.68rem !important;
	font-weight: 600;
	letter-spacing: 0.3em;
	color: var(--gold) !important;
	text-transform: none;
	margin: 0 0 16px !important;
	padding-bottom: 12px;
	border-bottom: 1px dashed var(--border-gold);
	text-align: center;
}
body.aiwebsmb-page .aiws-pp-contact-company {
	font-family: var(--serif) !important;
	font-size: 1.25rem !important;
	font-weight: 600;
	color: var(--text-1) !important;
	letter-spacing: 0.12em;
	margin: 0 0 4px !important;
	line-height: 1.4 !important;
	text-align: center;
}
body.aiwebsmb-page .aiws-pp-contact-brand {
	font-family: var(--serif) !important;
	font-size: 0.95rem !important;
	color: var(--gold-light) !important;
	letter-spacing: 0.15em;
	margin: 0 0 14px !important;
	line-height: 1.4 !important;
	text-align: center;
}
body.aiwebsmb-page .aiws-pp-contact-address {
	font-size: 0.85rem !important;
	color: var(--text-2) !important;
	margin: 0 0 12px !important;
	line-height: 1.6 !important;
	text-align: center;
}
body.aiwebsmb-page .aiws-pp-contact-email {
	margin: 0 !important;
	text-align: center;
}
body.aiwebsmb-page .aiws-pp-contact-email a {
	display: inline-block;
	font-family: 'Inter', sans-serif;
	font-size: 0.9rem;
	color: var(--gold-light);
	text-decoration: none;
	padding: 8px 18px;
	border: 1px solid var(--border-gold);
	border-radius: 999px;
	background: rgba(240,165,0,0.05);
	letter-spacing: 0.04em;
	transition:
		background var(--t-fast),
		border-color var(--t-fast),
		color var(--t-fast),
		transform var(--t-fast);
}
body.aiwebsmb-page .aiws-pp-contact-email a:hover {
	background: var(--gold);
	border-color: var(--gold);
	color: #04060F;
	transform: translateY(-1px);
	box-shadow: 0 6px 18px rgba(240,165,0,0.25);
}

/* ───── フッターメタ（制定日） ───────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-footer-meta {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 18px;
	padding: 36px 28px 48px;
	margin-top: 12px;
}
body.aiwebsmb-page .aiws-pp-footer-line {
	flex: 1;
	max-width: 80px;
	height: 1px;
	background: linear-gradient(90deg, transparent, var(--border-gold), transparent);
}
body.aiwebsmb-page .aiws-pp-footer-date {
	font-family: var(--serif);
	font-size: 0.82rem;
	color: var(--text-2);
	letter-spacing: 0.15em;
	margin: 0;
	white-space: nowrap;
}

/* ───── レスポンシブ（モバイル最適化） ───────────────────────────── */
@media (max-width: 600px) {
	body.aiwebsmb-page .aiws-pp-hero {
		padding: 40px 20px 32px;
	}
	body.aiwebsmb-page .aiws-pp-hero-title {
		font-size: 1.4rem;
	}
	body.aiwebsmb-page .aiws-pp-hero-lead {
		font-size: 0.82rem;
		line-height: 1.9;
	}
	body.aiwebsmb-page .aiws-pp-articles {
		padding: 24px 18px 8px;
	}
	body.aiwebsmb-page .aiws-pp-article {
		grid-template-columns: 44px 1fr;
		gap: 14px;
		padding: 22px 0;
	}
	body.aiwebsmb-page .aiws-pp-article-num span {
		width: 36px;
		height: 36px;
		font-size: 0.82rem;
	}
	body.aiwebsmb-page .aiws-pp-article-title {
		font-size: 0.98rem;
	}
	body.aiwebsmb-page .aiws-pp-article--highlight {
		padding: 22px 14px;
		margin: 8px -14px;
	}
	body.aiwebsmb-page .aiws-pp-callout {
		padding: 14px 16px;
		gap: 10px;
	}
	body.aiwebsmb-page .aiws-pp-callout-icon {
		width: 20px;
		height: 20px;
	}
	body.aiwebsmb-page .aiws-pp-list li {
		padding: 8px 10px 8px 28px;
		font-size: 0.84rem;
	}
	body.aiwebsmb-page .aiws-pp-contact-card {
		padding: 20px 18px 18px;
	}
	body.aiwebsmb-page .aiws-pp-contact-company {
		font-size: 1.12rem !important;
	}
	body.aiwebsmb-page .aiws-pp-footer-meta {
		padding: 28px 20px 36px;
		gap: 12px;
	}
	body.aiwebsmb-page .aiws-pp-footer-line {
		max-width: 50px;
	}
}

/* ───── アクセシビリティ：減アニメ環境 ──────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	body.aiwebsmb-page .aiws-pp-article,
	body.aiwebsmb-page .aiws-pp-article-num span,
	body.aiwebsmb-page .aiws-pp-list li,
	body.aiwebsmb-page .aiws-pp-contact-email a {
		transition: none !important;
	}
	body.aiwebsmb-page .aiws-pp-contact-email a:hover {
		transform: none;
	}
}

/* ───── 27-7. CF7 フォームスタイル（モーダル内） ─────────────────── */
/* ラベル */
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form label {
	display: block;
	font-size: 0.88rem;
	font-weight: 500;
	color: var(--text-2);
	margin-bottom: 18px;
}
/* テキスト入力・テキストエリア・電話 */
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form input[type="text"],
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form input[type="email"],
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form input[type="tel"],
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form textarea {
	display: block;
	width: 100%;
	margin-top: 6px;
	padding: 13px 16px;
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--border);
	border-radius: 10px;
	color: var(--text-1);
	font-size: 0.95rem;
	font-family: var(--sans);
	line-height: 1.6;
	transition: border-color var(--t-fast), background var(--t-fast);
}
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form input:focus,
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form textarea:focus {
	outline: none;
	border-color: var(--gold);
	background: rgba(240,165,0,0.04);
}
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form textarea {
	min-height: 110px;
	resize: vertical;
}
/* バリデーションエラー */
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-not-valid {
	border-color: var(--red) !important;
}
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-not-valid-tip {
	font-size: 0.78rem;
	color: var(--red);
	display: block;
	margin-top: 4px;
}
/* 送信結果メッセージ */
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-response-output {
	margin: 14px 0 0;
	padding: 12px 16px;
	border-radius: 10px;
	font-size: 0.88rem;
	border: 1px solid var(--border);
	color: var(--text-2);
}
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-mail-sent-ok {
	border-color: var(--green);
	background: var(--green-dim);
	color: var(--green);
}
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-validation-errors,
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-mail-sent-ng {
	border-color: var(--red);
	background: rgba(240,79,90,0.08);
	color: var(--red);
}

/* CF7 acceptance の入れ子構造を全階層flex化し、確実に1行で並べる */
body.aiwebsmb-page .aiws-accept-wrap .wpcf7-form-control-wrap,
body.aiwebsmb-page .aiws-accept-wrap .wpcf7-acceptance,
body.aiwebsmb-page .aiws-accept-wrap .wpcf7-list-item {
	display: inline-flex;
	align-items: center;
	width: auto;
	margin: 0;
	padding: 0;
	vertical-align: middle;
}

body.aiwebsmb-page .aiws-accept-wrap label {
	display: inline-flex;
	align-items: center;
	justify-content: flex-start;
	gap: 8px;
	cursor: pointer;
	margin: 0;
	white-space: nowrap; /* ラベル文言の折り返しを防止 */
}

body.aiwebsmb-page .aiws-accept-wrap input[type="checkbox"] {
	margin: 0;
	padding: 0;
	flex-shrink: 0;
}

body.aiwebsmb-page .aiws-accept-wrap .wpcf7-list-item-label {
	line-height: 1.4;
	display: inline-block;
	white-space: normal; /* 極端に狭い画面のみテキストは折り返し可 */
}

/* ───── 27-8. PPチェック行 ──────────────────────────────────────── */
body.aiwebsmb-page .aiws-pp-row {
	margin-top: 22px;
	padding: 18px 20px;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--border);
	border-radius: 12px;
}
body.aiwebsmb-page .aiws-pp-notice {
	font-size: 0.85rem;
	color: var(--text-3);
	margin-bottom: 12px;
}
body.aiwebsmb-page .aiws-pp-open-btn {
	background: none;
	border: none;
	color: var(--gold);
	font-size: 0.85rem;
	font-weight: 700;
	text-decoration: underline;
	cursor: pointer;
	padding: 0;
	font-family: var(--sans);
}
body.aiwebsmb-page .aiws-pp-open-btn:hover { opacity: 0.75; }
body.aiwebsmb-page .aiws-accept-wrap {
	display: flex;
	flex-wrap: nowrap;        /* チェックボックスとテキストを必ず同一行に */
	align-items: center;
	gap: 8px;
	font-size: 0.88rem;
	color: var(--text-2);
	width: 100%;
}

body.aiwebsmb-page .aiws-accept-check input[type="checkbox"] {
	width: 18px;
	height: 18px;
	accent-color: var(--gold);
	cursor: pointer;
	flex-shrink: 0;
}

/* ───── 27-9. 送信ボタン（CF7内 .entry-button） ───────────────── */
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form .wpcf7-submit.entry-button {
	display: block;
	width: 100%;
	margin-top: 20px;
	padding: 16px 24px;
	background: linear-gradient(135deg, var(--gold), var(--gold-light));
	color: #0A0600;
	font-family: var(--sans);
	font-size: 1rem;
	font-weight: 700;
	border: none;
	border-radius: var(--r-btn);
	cursor: pointer;
	box-shadow: 0 8px 30px -10px rgba(240,165,0,0.45);
	transition: transform var(--t-fast), box-shadow var(--t-base);
	letter-spacing: 0.01em;
}
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form .wpcf7-submit.entry-button:hover {
	transform: translateY(-2px);
	box-shadow: 0 14px 40px -10px rgba(240,165,0,0.55);
}
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-form .wpcf7-submit.entry-button:disabled {
	opacity: 0.45;
	cursor: not-allowed;
	transform: none;
}

/* ───── 27-10. スピナー（CF7送信中） ───────────────────────────── */
body.aiwebsmb-page .aiws-modal-form-body .wpcf7-spinner {
	display: none;
}

/* ───── 27-11. フッターお問い合わせボタン（改修2用） ────────────── */
body.aiwebsmb-page .footer-contact-btn {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	background: linear-gradient(135deg, var(--gold), var(--gold-light));
	color: #0A0600;
	font-size: 0.82rem;
	font-weight: 700;
	padding: 10px 20px;
	border: none;
	border-radius: 999px;
	cursor: pointer;
	box-shadow: 0 4px 16px -6px rgba(240,165,0,0.5);
	font-family: var(--sans);
	transition: transform var(--t-fast), box-shadow var(--t-base);
	white-space: nowrap;
}
body.aiwebsmb-page .footer-contact-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 8px 22px -6px rgba(240,165,0,0.6);
}

/* ───── 27-12. フッターレイアウト調整（ボタン追加対応） ─────────── */
@media (max-width: 640px) {
	body.aiwebsmb-page #aiwebsmb-footer {
		flex-direction: column;
		align-items: flex-start;
		gap: 12px;
	}
	body.aiwebsmb-page #aiwebsmb-footer .footer-links {
		width: 100%;
		justify-content: space-between;
		align-items: center;
	}
}

/* ===================================================================== *
 *  ───── 28. PAGETOP : 至高 流体ガラスボタン ────────────────────────
 *  Design : Liquid Glass × Aurora × Behavior-Predictive
 *  Layer  : z-index 1500（nav:1000 < ptop:1500 < modal:2000）
 *  States : dormant / hint / ready / hover / press / hide
 * ===================================================================== */

/* SVGのdefs本体は非表示（フィルタ定義のみ参照される） */
body.aiwebsmb-page .aiws-ptop-defs {
	position: absolute;
	width: 0; height: 0;
	overflow: hidden;
	pointer-events: none;
}

/* ── ボタン本体 : 流体カプセル ───────────────────────────────── */
body.aiwebsmb-page .aiws-ptop {
	/* 位置 */
	position: fixed;
	right: clamp(20px, 3.2vw, 40px);
	bottom: clamp(20px, 3.2vw, 40px);
	z-index: 1500;

	/* 形状（流体カプセル：完全な円でも四角でもない superellipse） */
	width: 64px;
	height: 64px;
	border: none;
	padding: 0;
	background: transparent;
	cursor: pointer;
	font-family: var(--sans);
	color: var(--gold-light);

	/* superellipse 風の流体角 */
	border-radius: 42% 58% 56% 44% / 48% 44% 56% 52%;

	/* GPU 合成・パフォーマンス */
	will-change: transform, opacity, filter;
	transform: translate3d(0, 24px, 0) scale(0.9);
	opacity: 0;
	pointer-events: none;

	/* 初期は非表示（行動予測まで眠る） */
	transition:
		opacity   .55s cubic-bezier(.22,.61,.36,1),
		transform .65s cubic-bezier(.22,.61,.36,1),
		filter    .35s ease-out;

	-webkit-tap-highlight-color: transparent;
	outline: none;
}

/* SVG defs ホスト */
body.aiwebsmb-page .aiws-ptop > * {
	position: absolute;
	inset: 0;
	border-radius: inherit;
}

/* ── ① オーロラ層（ブランド色の呼吸） ────────────────────────── */
body.aiwebsmb-page .aiws-ptop__aurora {
	background:
		conic-gradient(from 0deg at 50% 50%,
			rgba(240,165,0,.55) 0deg,
			rgba(58,123,247,.45) 110deg,
			rgba(16,185,129,.35) 210deg,
			rgba(245,192,64,.55) 320deg,
			rgba(240,165,0,.55) 360deg);
	filter: blur(8px) saturate(140%);
	opacity: .85;
	mix-blend-mode: screen;
	animation: aiwsPtopAurora 9s linear infinite;
}
@keyframes aiwsPtopAurora {
	to { transform: rotate(360deg); }
}

/* ── ② ガラス層（背景吸着 / backdrop） ───────────────────────── */
body.aiwebsmb-page .aiws-ptop__glass {
	background:
		radial-gradient(120% 120% at 30% 25%,
			rgba(255,255,255,.22) 0%,
			rgba(255,255,255,.05) 45%,
			rgba(255,255,255,0)   75%),
		linear-gradient(180deg,
			rgba(255,255,255,.10) 0%,
			rgba(255,255,255,.02) 60%,
			rgba(255,255,255,.06) 100%);
	-webkit-backdrop-filter: blur(14px) saturate(160%) brightness(108%);
	backdrop-filter:         blur(14px) saturate(160%) brightness(108%);
	border: 1px solid rgba(255,255,255,.18);
	box-shadow:
		inset 0 1px 0 rgba(255,255,255,.35),
		inset 0 -1px 0 rgba(0,0,0,.18),
		0 18px 40px -22px rgba(0,0,0,.65),
		0 6px 18px -10px rgba(240,165,0,.22);
}

/* ── ③ 波紋層（クリック / ホバーで起動） ─────────────────────── */
body.aiwebsmb-page .aiws-ptop__ripple {
	pointer-events: none;
	opacity: 0;
}
body.aiwebsmb-page .aiws-ptop__ripple::before,
body.aiwebsmb-page .aiws-ptop__ripple::after {
	content: "";
	position: absolute;
	inset: 0;
	border-radius: inherit;
	border: 1px solid rgba(245,192,64,.55);
	opacity: 0;
}

/* ── ④ コア（矢印アイコンを内包） ───────────────────────────── */
body.aiwebsmb-page .aiws-ptop__core {
	display: grid;
	place-items: center;
	filter: url(#aiwsPtopFluid);   /* 流体歪み（SVG filter） */
	transition: transform .35s var(--ease-out, ease-out);
}
body.aiwebsmb-page .aiws-ptop__arrow {
	width: 22px;
	height: 22px;
	color: var(--gold-light);
	filter: drop-shadow(0 0 6px rgba(245,192,64,.55));
	transition: transform .45s cubic-bezier(.22,.61,.36,1);
}

/* ── ⑤ ラベル「TOP」（極小、ホバーでフェード） ───────────────── */
body.aiwebsmb-page .aiws-ptop__label {
	position: absolute;
	left: 50%;
	bottom: -22px;
	transform: translateX(-50%);
	font-family: var(--mono);
	font-size: 10px;
	letter-spacing: .22em;
	color: var(--gold-light);
	opacity: 0;
	transition: opacity .3s ease-out, transform .3s ease-out;
	pointer-events: none;
	text-shadow: 0 0 8px rgba(240,165,0,.35);
}

/* ─────────────────────────────────────────────────────────────
 *  STATE : ready ─ 通常表示（スクロール一定量＋上向き気配）
 * ───────────────────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-ptop[data-state="ready"],
body.aiwebsmb-page .aiws-ptop[data-state="hint"] {
	opacity: 1;
	pointer-events: auto;
	transform: translate3d(0, 0, 0) scale(1);
	animation: aiwsPtopBreath 4.2s ease-in-out infinite;
}
@keyframes aiwsPtopBreath {
	0%, 100% { transform: translate3d(0, 0, 0)    scale(1.00); }
	50%      { transform: translate3d(0, -3px, 0) scale(1.03); }
}

/* hint = 行動予測により先出し（やや控えめ） */
body.aiwebsmb-page .aiws-ptop[data-state="hint"] {
	opacity: .78;
	transform: translate3d(0, 4px, 0) scale(.96);
}

/* ─────────────────────────────────────────────────────────────
 *  STATE : 重力（下スクロール時に重くなり、上スクロール時に浮く）
 *  --grav は JS が -1.0 〜 +1.0 で書き換える
 * ───────────────────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-ptop {
	--grav: 0;
}
body.aiwebsmb-page .aiws-ptop[data-state="ready"],
body.aiwebsmb-page .aiws-ptop[data-state="hint"] {
	/* breath と重力を合成 */
	transform:
		translate3d(0, calc(var(--grav) * 6px), 0)
		scale(calc(1 + var(--grav) * -0.04));
	animation: aiwsPtopBreath 4.2s ease-in-out infinite;
}

/* ─────────────────────────────────────────────────────────────
 *  STATE : hover
 * ───────────────────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-ptop:hover,
body.aiwebsmb-page .aiws-ptop:focus-visible {
	animation-play-state: paused;
}
body.aiwebsmb-page .aiws-ptop:hover .aiws-ptop__core,
body.aiwebsmb-page .aiws-ptop:focus-visible .aiws-ptop__core {
	transform: translateY(-2px) scale(1.06);
}
body.aiwebsmb-page .aiws-ptop:hover .aiws-ptop__arrow,
body.aiwebsmb-page .aiws-ptop:focus-visible .aiws-ptop__arrow {
	transform: translateY(-3px);
	filter: drop-shadow(0 0 12px rgba(245,192,64,.85));
}
body.aiwebsmb-page .aiws-ptop:hover .aiws-ptop__label,
body.aiwebsmb-page .aiws-ptop:focus-visible .aiws-ptop__label {
	opacity: 1;
	transform: translateX(-50%) translateY(-2px);
}
body.aiwebsmb-page .aiws-ptop:hover .aiws-ptop__aurora,
body.aiwebsmb-page .aiws-ptop:focus-visible .aiws-ptop__aurora {
	animation-duration: 4.5s;
	opacity: 1;
}
body.aiwebsmb-page .aiws-ptop:focus-visible {
	box-shadow:
		0 0 0 2px rgba(4,6,15,1),
		0 0 0 4px rgba(240,165,0,.65);
}

/* ─────────────────────────────────────────────────────────────
 *  STATE : press（クリック瞬間 → 波紋発火）
 * ───────────────────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-ptop[data-state="press"] .aiws-ptop__ripple::before {
	animation: aiwsPtopRipple1 .9s ease-out forwards;
}
body.aiwebsmb-page .aiws-ptop[data-state="press"] .aiws-ptop__ripple::after {
	animation: aiwsPtopRipple2 1.1s ease-out forwards .08s;
}
body.aiwebsmb-page .aiws-ptop[data-state="press"] .aiws-ptop__core {
	transform: translateY(-6px) scale(.94);
}
@keyframes aiwsPtopRipple1 {
	0%   { opacity: .9; transform: scale(1); }
	100% { opacity: 0;  transform: scale(1.9); }
}
@keyframes aiwsPtopRipple2 {
	0%   { opacity: .6; transform: scale(1); }
	100% { opacity: 0;  transform: scale(2.4); }
}

/* ─────────────────────────────────────────────────────────────
 *  STATE : hide（モーダルオープン時など）
 * ───────────────────────────────────────────────────────────── */
body.aiwebsmb-page .aiws-ptop[data-state="hide"],
body.aiwebsmb-page .aiws-ptop[data-state="dormant"] {
	opacity: 0;
	pointer-events: none;
	transform: translate3d(0, 24px, 0) scale(.9);
	animation: none;
}

/* ─────────────────────────────────────────────────────────────
 *  Reduced Motion : 至高 ≠ 排他
 * ───────────────────────────────────────────────────────────── */
@media (prefers-reduced-motion: reduce) {
	body.aiwebsmb-page .aiws-ptop,
	body.aiwebsmb-page .aiws-ptop__aurora,
	body.aiwebsmb-page .aiws-ptop__core {
		animation: none !important;
		transition-duration: .2s !important;
	}
	body.aiwebsmb-page .aiws-ptop__core { filter: none; }
}

/* ─────────────────────────────────────────────────────────────
 *  Responsive
 * ───────────────────────────────────────────────────────────── */
@media (max-width: 640px) {
	body.aiwebsmb-page .aiws-ptop {
		width: 56px;
		height: 56px;
		right: 16px;
		bottom: calc(16px + env(safe-area-inset-bottom, 0px));
	}
	body.aiwebsmb-page .aiws-ptop__arrow { width: 20px; height: 20px; }
	body.aiwebsmb-page .aiws-ptop__label { display: none; }
}

/* iOS Safari : backdrop-filter 未対応時のフォールバック */
@supports not ((backdrop-filter: blur(1px)) or (-webkit-backdrop-filter: blur(1px))) {
	body.aiwebsmb-page .aiws-ptop__glass {
		background:
			radial-gradient(120% 120% at 30% 25%,
				rgba(255,255,255,.18) 0%,
				rgba(255,255,255,.04) 45%,
				rgba(255,255,255,0)   75%),
			rgba(14,20,37,.72);
	}
}
