.fcw-window {
	--fcw-bg: #1e73be;
	--fcw-color: #fff;
	--fcw-font: 16px;
	--fcw-icon: 25px;
	--fcw-margin: 20px;
	--fcw-padding: 10px;
	--fcw-gap: 4px;
	--fcw-radius: 6px;
	position: fixed;
	z-index: 99999;
	box-sizing: border-box;
	width: max-content;
	height: max-content;
	min-width: var(--fcw-min-width, 0);
	min-height: var(--fcw-min-height, 0);
	max-width: calc(100vw - 20px);
	background: var(--fcw-bg);
	border-radius: var(--fcw-radius);
	color: var(--fcw-color);
	font-size: var(--fcw-font);
	line-height: 1.5;
	transition: min-width .2s, min-height .2s, opacity .2s;
}
.fcw-window * { box-sizing: border-box; }
.fcw-shadow { box-shadow: 0 5px 20px rgba(0,0,0,.28); }
.fcw-items {
	display: flex;
	gap: var(--fcw-gap);
	padding: calc(var(--fcw-padding) + 24px) var(--fcw-padding) var(--fcw-padding);
}
.fcw-item {
	display: flex !important;
	align-items: flex-start;
	justify-content: flex-start;
	gap: .35em;
	padding: 8px 10px;
	color: var(--fcw-color) !important;
	font-size: var(--fcw-font) !important;
	line-height: 1.5 !important;
	text-align: left !important;
	text-decoration: none !important;
	white-space: nowrap;
	border-radius: 4px;
	opacity: 1 !important;
	visibility: visible !important;
}
.fcw-text {
	display: inline-block !important;
	color: var(--fcw-color) !important;
	font: inherit !important;
	line-height: inherit !important;
	text-align: left !important;
	opacity: 1 !important;
	visibility: visible !important;
	text-indent: 0 !important;
}
.fcw-item:hover, .fcw-item:focus { background: rgba(255,255,255,.16); }
.fcw-icon { display: inline-flex !important; flex: 0 0 1.2em; align-items: center; justify-content: center; width: 1.2em; height: 1.2em; color: var(--fcw-color) !important; font-size: 1.2em; line-height: 1; opacity: 1 !important; visibility: visible !important; }
.fcw-icon img { display: block !important; width: 100% !important; height: 100% !important; max-width: none !important; object-fit: contain; border: 0; border-radius: 0; }
.fcw-toggle { position: absolute; z-index: 2; top: 5px; right: 5px; width: 24px; height: 24px; padding: 0; border: 0; background: rgba(235,235,235,.95); color: #777; font-size: 20px; line-height: 20px; cursor: pointer; }
.fcw-button-round .fcw-toggle { border-radius: 50%; }
.fcw-button-square .fcw-toggle { border-radius: 3px; }
.fcw-side-top { top: var(--fcw-margin); }
.fcw-side-bottom { bottom: var(--fcw-margin); }
.fcw-side-left { left: var(--fcw-margin); }
.fcw-side-right { right: var(--fcw-margin); }

/* 上下は1項目1行。左右は1項目1列の縦書き。 */
.fcw-side-top .fcw-items, .fcw-side-bottom .fcw-items { flex-direction: column; align-items: flex-start; }
.fcw-side-left .fcw-items, .fcw-side-right .fcw-items { flex-direction: row; align-items: flex-start; }
.fcw-side-left .fcw-item, .fcw-side-right .fcw-item { flex-direction: column; align-items: flex-start; }
.fcw-side-left .fcw-text, .fcw-side-right .fcw-text { writing-mode: vertical-rl; text-orientation: mixed; }

.fcw-side-top.fcw-align-start, .fcw-side-bottom.fcw-align-start { left: var(--fcw-margin); }
.fcw-side-top.fcw-align-center, .fcw-side-bottom.fcw-align-center { left: 50%; transform: translateX(-50%); }
.fcw-side-top.fcw-align-end, .fcw-side-bottom.fcw-align-end { right: var(--fcw-margin); }
.fcw-side-left.fcw-align-start, .fcw-side-right.fcw-align-start { top: var(--fcw-margin); }
.fcw-side-left.fcw-align-center, .fcw-side-right.fcw-align-center { top: 50%; transform: translateY(-50%); }
.fcw-side-left.fcw-align-end, .fcw-side-right.fcw-align-end { bottom: var(--fcw-margin); }
.fcw-window.fcw-minimized { width: 34px !important; height: 34px !important; min-width: 34px; min-height: 34px; overflow: hidden; transform: none; }
.fcw-window.fcw-minimized .fcw-items { display: none; }
.fcw-window.fcw-minimized .fcw-toggle { top: 5px; right: 5px; }
.fcw-side-top.fcw-minimized, .fcw-side-bottom.fcw-minimized { left: auto; right: var(--fcw-margin); }

@media (max-width: 782px) {
	.fcw-window { width: auto; height: auto; min-width: 0; min-height: 0; }
	.fcw-items, .fcw-side-top .fcw-items, .fcw-side-bottom .fcw-items, .fcw-side-left .fcw-items, .fcw-side-right .fcw-items {
		flex-direction: column;
		padding: calc(var(--fcw-padding) + 24px) var(--fcw-padding) var(--fcw-padding);
	}
	.fcw-item, .fcw-side-left .fcw-item, .fcw-side-right .fcw-item { flex-direction: row; padding: 8px; }
	.fcw-text { display: none !important; }
	.fcw-icon { display: inline-flex !important; flex-basis: var(--fcw-icon); width: var(--fcw-icon); height: var(--fcw-icon); font-size: var(--fcw-icon); }
	.fcw-side-left, .fcw-side-right { max-width: calc(100vw - 20px); }
}
