.ngaioma {
	--ngaioma-duration: 300ms;
	--ngaioma-group-column-gap: 18px;
	--ngaioma-group-row-gap: 0;
	--ngaioma-header-background: transparent;
	--ngaioma-active-header-background: var(--ngaioma-header-background);
	--ngaioma-panel-background: transparent;
	--ngaioma-title-color: #12385b;
	--ngaioma-title-hover-color: var(--ngaioma-title-color);
	--ngaioma-toggle-color: #7c7469;
	--ngaioma-active-toggle-color: var(--ngaioma-toggle-color);
	--ngaioma-toggle-background: transparent;
	--ngaioma-active-toggle-background: var(--ngaioma-toggle-background);
	--ngaioma-title-alignment: flex-start;
	--ngaioma-title-text-align: left;
	--ngaioma-title-parts-gap: 0px;
	--ngaioma-header-gap: 14px;
	--ngaioma-header-padding-top: 14px;
	--ngaioma-header-padding-right: 0px;
	--ngaioma-header-padding-left: 0px;
	--ngaioma-toggle-box-size: 32px;
	--ngaioma-panel-padding-top: 18px;
	--ngaioma-panel-padding-right: 0px;
	--ngaioma-panel-padding-bottom: 18px;
	--ngaioma-panel-extra-left: 0px;
	--ngaioma-marker-size: 16px;
	--ngaioma-marker-color: #12385b;
	--ngaioma-link-alignment: flex-start;
	--ngaioma-link-text-align: left;
	--ngaioma-subgroup-column-gap: 18px;
	--ngaioma-subgroup-row-gap: 18px;
	--ngaioma-subgroup-title-color: #12385b;
	--ngaioma-subgroup-title-hover-color: var(--ngaioma-subgroup-title-color);
	--ngaioma-subgroup-title-spacing: 8px;
	display: flex;
	flex-wrap: wrap;
	row-gap: var(--ngaioma-group-row-gap);
	width: 100%;
}

.ngaioma *,
.ngaioma *::before,
.ngaioma *::after {
	box-sizing: border-box;
}

.ngaioma__group {
	flex: 0 0 var(--ngaioma-group-width, 100%);
	max-width: var(--ngaioma-group-width, 100%);
	min-width: 0;
	padding-right: calc(var(--ngaioma-group-column-gap) / 2);
	padding-left: calc(var(--ngaioma-group-column-gap) / 2);
	border-bottom: 0;
}

.ngaioma__header {
	display: flex;
	align-items: center;
	gap: var(--ngaioma-header-gap);
	width: 100%;
	padding-top: var(--ngaioma-header-padding-top);
	padding-right: var(--ngaioma-header-padding-right);
	padding-bottom: 0;
	padding-left: var(--ngaioma-header-padding-left);
	background-color: var(--ngaioma-header-background) !important;
}

.ngaioma__group.is-open > .ngaioma__header {
	background-color: var(--ngaioma-active-header-background) !important;
}

.ngaioma[data-header-click="true"] .ngaioma__header {
	cursor: pointer;
}

.ngaioma--arrow-right .ngaioma__header {
	flex-direction: row-reverse;
}

.ngaioma .ngaioma__toggle {
	display: inline-flex;
	flex: 0 0 var(--ngaioma-toggle-box-size);
	align-items: center;
	justify-content: center;
	width: var(--ngaioma-toggle-box-size);
	height: var(--ngaioma-toggle-box-size);
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: var(--ngaioma-toggle-background) !important;
	box-shadow: none;
	color: var(--ngaioma-toggle-color) !important;
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ngaioma .ngaioma__toggle:hover,
.ngaioma .ngaioma__toggle:focus {
	border: 0;
	background-color: var(--ngaioma-toggle-background) !important;
	box-shadow: none;
}

.ngaioma .ngaioma__group.is-open > .ngaioma__header .ngaioma__toggle,
.ngaioma .ngaioma__group.is-open > .ngaioma__header .ngaioma__toggle:hover,
.ngaioma .ngaioma__group.is-open > .ngaioma__header .ngaioma__toggle:focus {
	background-color: var(--ngaioma-active-toggle-background) !important;
	color: var(--ngaioma-active-toggle-color) !important;
}

.ngaioma__toggle--empty {
	cursor: default;
}

.ngaioma__toggle-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 9px;
	height: 9px;
	line-height: 0;
}

.ngaioma__toggle-icon--open {
	display: none;
}

.ngaioma__group.is-open .ngaioma__toggle-icon--closed {
	display: none;
}

.ngaioma__group.is-open .ngaioma__toggle-icon--open {
	display: inline-flex;
}

.ngaioma__toggle-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ngaioma__arrow {
	display: block;
	width: 100%;
	height: 100%;
	border-right: 1px solid currentColor;
	border-bottom: 1px solid currentColor;
	transform: rotate(45deg) translate(-1px, -1px);
	transition: transform var(--ngaioma-duration) ease;
}

.ngaioma__toggle-icon--open .ngaioma__arrow {
	transform: rotate(225deg) translate(-1px, -1px);
}

.ngaioma__labels {
	position: relative;
	display: flex;
	flex: 1 1 auto;
	min-width: 0;
	flex-direction: column;
	align-items: var(--ngaioma-title-alignment);
	gap: 0;
	padding-bottom: 7px;
	text-align: var(--ngaioma-title-text-align);
}

.ngaioma--title-block .ngaioma__labels {
	flex-direction: column;
	align-items: var(--ngaioma-title-alignment);
}

.ngaioma--title-block .ngaioma__title-tag {
	margin-top: var(--ngaioma-title-parts-gap);
}

.ngaioma--title-inline .ngaioma__labels {
	flex-flow: row wrap;
	align-items: baseline;
	justify-content: var(--ngaioma-title-alignment);
}

.ngaioma__labels::before,
.ngaioma__labels::after {
	position: absolute;
	bottom: 0;
	left: 0;
	height: 1px;
	content: "";
}

.ngaioma__labels::before {
	width: 100%;
	background: #e5e5e5;
}

.ngaioma__labels::after {
	z-index: 1;
	width: 34px;
	background: #12385b;
}

.ngaioma--no-underline .ngaioma__labels::after {
	display: none;
}

.ngaioma--no-title-line .ngaioma__labels::before {
	display: none;
}

.ngaioma--no-title-line.ngaioma--no-underline .ngaioma__labels {
	padding-bottom: 0;
}

.ngaioma__subtitle {
	display: block;
	margin: 0;
	color: #9a886c;
	font-family: inherit;
	font-size: 12px;
	font-weight: 400;
	line-height: 1.35;
}

.ngaioma--title-inline .ngaioma__subtitle {
	display: inline-block;
}

.ngaioma__title-tag {
	display: block;
	margin: 0;
	padding: 0;
	border: 0;
	font: inherit;
	line-height: inherit;
	text-align: inherit;
}

.ngaioma--title-inline .ngaioma__title-tag {
	display: inline-flex;
	align-items: baseline;
	margin-inline-start: var(--ngaioma-title-parts-gap);
}

.ngaioma .ngaioma__title,
.ngaioma button.ngaioma__title,
.ngaioma a.ngaioma__title,
.ngaioma span.ngaioma__title {
	display: inline-block;
	max-width: 100%;
	margin: 0;
	padding: 0;
	border: 0;
	border-radius: 0;
	background-color: transparent !important;
	box-shadow: none;
	color: var(--ngaioma-title-color) !important;
	font-family: "Noto Serif TC", serif;
	font-size: 23px;
	font-weight: 500;
	line-height: 1.35;
	text-align: inherit;
	text-decoration: none;
	word-break: break-word;
}

.ngaioma__title-toggle {
	cursor: pointer;
	-webkit-appearance: none;
	appearance: none;
}

.ngaioma .ngaioma__title:hover,
.ngaioma .ngaioma__title:focus {
	border: 0;
	background-color: transparent !important;
	box-shadow: none;
	color: var(--ngaioma-title-hover-color) !important;
	text-decoration: none;
}

.ngaioma .ngaioma__group.is-open .ngaioma__title {
	background-color: transparent !important;
	color: var(--ngaioma-title-color) !important;
}

.ngaioma__toggle:focus-visible,
.ngaioma__title:focus-visible,
.ngaioma__link:focus-visible {
	outline: 2px solid currentColor;
	outline-offset: 3px;
}

.ngaioma__panel {
	overflow: hidden;
	max-height: 0;
	opacity: 0;
	visibility: hidden;
	background-color: var(--ngaioma-panel-background) !important;
	transition:
		max-height var(--ngaioma-duration) ease,
		opacity var(--ngaioma-duration) ease,
		visibility 0s linear var(--ngaioma-duration);
}

.ngaioma__group.is-open .ngaioma__panel {
	opacity: 1;
	visibility: visible;
	transition:
		max-height var(--ngaioma-duration) ease,
		opacity var(--ngaioma-duration) ease,
		visibility 0s linear 0s;
}

.ngaioma--accordion-disabled .ngaioma__panel {
	overflow: visible;
	max-height: none !important;
	opacity: 1;
	visibility: visible;
	transition: none;
}

.ngaioma--accordion-disabled .ngaioma__toggle {
	display: none !important;
}

.ngaioma--accordion-disabled .ngaioma__header {
	cursor: default;
}

.ngaioma__panel-inner {
	padding-top: var(--ngaioma-panel-padding-top);
	padding-right: var(--ngaioma-panel-padding-right);
	padding-bottom: var(--ngaioma-panel-padding-bottom);
	padding-left: var(--ngaioma-panel-extra-left);
	background-color: var(--ngaioma-panel-background) !important;
}

.ngaioma--accordion-enabled.ngaioma--arrow-left .ngaioma__panel-inner {
	padding-left: calc(var(--ngaioma-toggle-box-size) + var(--ngaioma-header-gap) + var(--ngaioma-panel-extra-left));
}

.ngaioma--accordion-enabled.ngaioma--arrow-right .ngaioma__panel-inner,
.ngaioma--accordion-disabled .ngaioma__panel-inner {
	padding-left: var(--ngaioma-panel-extra-left);
}

.ngaioma__subgroups {
	display: flex;
	flex-wrap: wrap;
	row-gap: var(--ngaioma-subgroup-row-gap);
	width: 100%;
}

.ngaioma__links + .ngaioma__subgroups {
	margin-top: var(--ngaioma-subgroup-row-gap);
}

.ngaioma__subgroup {
	flex: 0 0 var(--ngaioma-subgroup-width, 100%);
	max-width: var(--ngaioma-subgroup-width, 100%);
	min-width: 0;
	padding-right: var(--ngaioma-subgroup-column-gap);
}

.ngaioma .ngaioma__subgroup-title {
	display: block;
	margin: 0 0 var(--ngaioma-subgroup-title-spacing);
	padding: 0;
	color: var(--ngaioma-subgroup-title-color) !important;
	font-family: inherit;
	font-size: 18px;
	font-weight: 600;
	line-height: 1.35;
	text-align: var(--ngaioma-link-text-align);
	text-decoration: none;
	word-break: break-word;
}

.ngaioma a.ngaioma__subgroup-title:hover,
.ngaioma a.ngaioma__subgroup-title:focus,
.ngaioma a.ngaioma__subgroup-title.is-current {
	color: var(--ngaioma-subgroup-title-hover-color) !important;
	text-decoration: none;
}

.ngaioma__links {
	--ngaioma-link-column-gap: 18px;
	display: flex;
	flex-wrap: wrap;
	row-gap: 0;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ngaioma__link-item {
	flex: 0 0 var(--ngaioma-item-width, 50%);
	max-width: var(--ngaioma-item-width, 50%);
	margin: 0;
	padding-right: var(--ngaioma-link-column-gap);
	padding-left: 0;
	list-style: none;
}

.ngaioma__link {
	display: flex;
	min-width: 0;
	align-items: center;
	justify-content: var(--ngaioma-link-alignment);
	gap: 8px;
	padding: 7px 0;
	color: #55514b;
	font-family: inherit;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.5;
	text-align: var(--ngaioma-link-text-align);
	text-decoration: none;
	word-break: break-word;
	transition: color 180ms ease;
}

.ngaioma__link:hover,
.ngaioma__link:focus,
.ngaioma__link.is-current {
	color: #12385b;
	text-decoration: none;
}

.ngaioma--marker-dot .ngaioma__link::before,
.ngaioma--marker-line .ngaioma__link::before {
	display: block;
	flex: 0 0 auto;
	background: var(--ngaioma-marker-color);
	content: "";
}

.ngaioma--marker-dot .ngaioma__link::before {
	width: 4px;
	height: 4px;
	border-radius: 50%;
}

.ngaioma--marker-line .ngaioma__link::before {
	width: 10px;
	height: 1px;
}

.ngaioma__custom-marker {
	display: inline-flex;
	flex: 0 0 var(--ngaioma-marker-size);
	align-items: center;
	justify-content: center;
	width: var(--ngaioma-marker-size);
	height: var(--ngaioma-marker-size);
	color: var(--ngaioma-marker-color);
	line-height: 1;
}

.ngaioma__custom-marker--icon i,
.ngaioma__custom-marker--icon svg {
	display: block;
	width: 100%;
	height: 100%;
	color: inherit;
	fill: currentColor;
}

.ngaioma__custom-marker--icon i {
	font-size: var(--ngaioma-marker-size);
}

.ngaioma__marker-image {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ngaioma__link-text {
	min-width: 0;
	text-align: var(--ngaioma-link-text-align);
}

.ngaioma__editor-notice {
	padding: 12px;
	border: 1px dashed #aaa;
	background: #f7f7f7;
	color: #555;
	font-size: 13px;
	text-align: center;
}

@media (max-width: 1024px) {
	.ngaioma__subgroup {
		flex-basis: var(--ngaioma-subgroup-width-tablet, var(--ngaioma-subgroup-width, 100%));
		max-width: var(--ngaioma-subgroup-width-tablet, var(--ngaioma-subgroup-width, 100%));
	}
}

@media (max-width: 767px) {
	.ngaioma__subgroup {
		flex-basis: var(--ngaioma-subgroup-width-mobile, var(--ngaioma-subgroup-width-tablet, var(--ngaioma-subgroup-width, 100%)));
		max-width: var(--ngaioma-subgroup-width-mobile, var(--ngaioma-subgroup-width-tablet, var(--ngaioma-subgroup-width, 100%)));
	}
}

@media (prefers-reduced-motion: reduce) {
	.ngaioma__arrow,
	.ngaioma__panel {
		transition-duration: 0.01ms !important;
	}
}
