html.safari.touch #ac-localnav .ac-ln-button {
	padding-top: 4px;
	padding-bottom: 2px;
}

body {
	line-break: strict;
}

#ac-globalfooter .ac-gf-icon-after::after, #ac-globalfooter .ac-gf-more::after {
	top: -0.14em;
}
/* ribbon */
@keyframes ribbon-drop {
	0% {
		transform: translateY(-100%);
	}

	to {
		transform: translateY(0);
	}
}

.ribbon {
	overflow: hidden;
	--ribbon-background-color: #fff;
	--ribbon-text-color: #1d1d1f;
	--ribbon-link-color: #0066cc;
	--ribbon-focus-color: rgba(0, 125, 250, 0.6);
	background: #f5f5f7;
}

.ribbon-content-wrapper {
	text-align: center;
}

.ribbon-content {
	margin-left: auto;
	margin-right: auto;
	width: 980px;
}

@media only screen and (min-width: 1441px) {
	.ribbon-content {
		margin-left: auto;
		margin-right: auto;
		width: 980px;
	}
}

@media only screen and (max-width: 1068px) {
	.ribbon-content {
		margin-left: auto;
		margin-right: auto;
		width: 692px;
	}
}

@media only screen and (max-width: 734px) {
	.ribbon-content {
		margin-left: auto;
		margin-right: auto;
		width: 87.5%;
	}
}

.ribbon-link {
	white-space: nowrap;
}

.ribbon-link:focus {
	text-decoration: underline;
}

.ribbon .ribbon-content-wrapper {
	padding-top: 13px;
	padding-bottom: 13px;
}

.ribbon .ribbon-content {
	font-size: 14px;
	line-height: 1.4285914286;
	font-weight: 400;
	letter-spacing: -0.016em;
	font-family:
		SF Pro Text,
		SF Pro Icons,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon .ribbon-content:lang(ja) {
	letter-spacing: 0em;
	font-family:
		SF Pro JP,
		SF Pro Text,
		SF Pro Icons,
		Hiragino Kaku Gothic Pro,
		ヒラギノ角ゴ Pro W3,
		メイリオ,
		Meiryo,
		ＭＳ Ｐゴシック,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color);
}

.ribbon .ribbon-content {
	color: var(--ribbon-text-color);
}

.ribbon .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

.ribbon .ribbon-link {
	color: var(--ribbon-link-color);
}

.ribbon-elevated .ribbon-content-wrapper {
	padding-top: 1.4117647059em;
	padding-bottom: 1.4117647059em;
}

.ribbon-elevated .ribbon-content {
	font-size: 17px;
	line-height: 1.4705882353;
	font-weight: 400;
	letter-spacing: -0.022em;
	font-family:
		SF Pro Text,
		SF Pro Icons,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-elevated .ribbon-content:lang(ja) {
	letter-spacing: 0em;
	font-family:
		SF Pro JP,
		SF Pro Text,
		SF Pro Icons,
		Hiragino Kaku Gothic Pro,
		ヒラギノ角ゴ Pro W3,
		メイリオ,
		Meiryo,
		ＭＳ Ｐゴシック,
		Helvetica Neue,
		Helvetica,
		Arial,
		sans-serif;
}

.ribbon-blue {
	--ribbon-background-color: #0071e3;
	--ribbon-text-color: white;
	--ribbon-link-color: white;
	--ribbon-focus-color: rgba(255, 255, 255, 0.6);
}

.ribbon-blue .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color);
}

.ribbon-blue .ribbon-content {
	color: var(--ribbon-text-color);
}

.ribbon-blue .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

.ribbon-blue .ribbon-link {
	color: var(--ribbon-link-color);
}

.ribbon-blue-to-default {
	--ribbon-background-color: #fff;
	--ribbon-background-color-initial: #0071e3;
	--ribbon-text-color: #1d1d1f;
	--ribbon-text-color-initial: white;
	--ribbon-link-color: #0066cc;
	--ribbon-focus-color: rgba(0, 125, 250, 0.6);
	--ribbon-link-color-initial: white;
}

.ribbon-blue-to-default .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color-initial);
	animation: animate-background-0071e3-fff 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.ribbon-blue-to-default .ribbon-content-wrapper {
		background-color: var(--ribbon-background-color);
		animation: none;
	}
}

.ribbon-blue-to-default .ribbon-content {
	color: var(--ribbon-text-color-initial);
	animation: animate-color-white-1d1d1f 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.ribbon-blue-to-default .ribbon-content {
		color: var(--ribbon-text-color);
		animation: none;
	}
}

.ribbon-blue-to-default .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

.ribbon-blue-to-default .ribbon-link {
	color: var(--ribbon-link-color-initial);
	animation: animate-color-white-0066cc 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.ribbon-blue-to-default .ribbon-link {
		color: var(--ribbon-link-color);
		animation: none;
	}
}

.ribbon-drop-wrapper {
	animation: ribbon-drop 0.8s ease-in-out forwards;
}

@media (prefers-reduced-motion) {
	.ribbon-drop-wrapper {
		animation: none;
	}
}

.theme-dark.ribbon, .theme-dark .ribbon {
	--ribbon-background-color: #1d1d1f;
	--ribbon-text-color: #fff;
	--ribbon-link-color: #2997ff;
	--ribbon-focus-color: rgba(0, 125, 250, 0.6);
}

.theme-dark.ribbon .ribbon-content-wrapper, .theme-dark .ribbon .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color);
}

.theme-dark.ribbon .ribbon-content, .theme-dark .ribbon .ribbon-content {
	color: var(--ribbon-text-color);
}

.theme-dark.ribbon .ribbon-link:focus, .theme-dark .ribbon .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

.theme-dark.ribbon .ribbon-link, .theme-dark .ribbon .ribbon-link {
	color: var(--ribbon-link-color);
}

.theme-dark.ribbon-blue, .theme-dark .ribbon-blue {
	--ribbon-background-color: #0071e3;
	--ribbon-text-color: white;
	--ribbon-link-color: white;
	--ribbon-focus-color: rgba(255, 255, 255, 0.6);
}

.theme-dark.ribbon-blue .ribbon-content-wrapper, .theme-dark .ribbon-blue .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color);
}

.theme-dark.ribbon-blue .ribbon-content, .theme-dark .ribbon-blue .ribbon-content {
	color: var(--ribbon-text-color);
}

.theme-dark.ribbon-blue .ribbon-link:focus, .theme-dark .ribbon-blue .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

.theme-dark.ribbon-blue .ribbon-link, .theme-dark .ribbon-blue .ribbon-link {
	color: var(--ribbon-link-color);
}

.theme-dark.ribbon-blue-to-default, .theme-dark .ribbon-blue-to-default {
	--ribbon-background-color: #1d1d1f;
	--ribbon-background-color-initial: #0071e3;
	--ribbon-text-color: #fff;
	--ribbon-text-color-initial: white;
	--ribbon-link-color: #2997ff;
	--ribbon-focus-color: rgba(0, 125, 250, 0.6);
	--ribbon-link-color-initial: white;
}

@keyframes animate-background-0071e3-1d1d1f {
	0% {
		background-color: var(--ribbon-background-color-initial);
	}

	to {
		background-color: var(--ribbon-background-color);
	}
}

.theme-dark.ribbon-blue-to-default .ribbon-content-wrapper, .theme-dark .ribbon-blue-to-default .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color-initial);
	animation: animate-background-0071e3-1d1d1f 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.theme-dark.ribbon-blue-to-default .ribbon-content-wrapper, .theme-dark .ribbon-blue-to-default .ribbon-content-wrapper {
		background-color: var(--ribbon-background-color);
		animation: none;
	}
}

@keyframes animate-color-white-fff {
	0% {
		color: var(--ribbon-text-color-initial);
	}

	to {
		color: var(--ribbon-text-color);
	}
}

.theme-dark.ribbon-blue-to-default .ribbon-content, .theme-dark .ribbon-blue-to-default .ribbon-content {
	color: var(--ribbon-text-color-initial);
	animation: animate-color-white-fff 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.theme-dark.ribbon-blue-to-default .ribbon-content, .theme-dark .ribbon-blue-to-default .ribbon-content {
		color: var(--ribbon-text-color);
		animation: none;
	}
}

.theme-dark.ribbon-blue-to-default .ribbon-link:focus, .theme-dark .ribbon-blue-to-default .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

@keyframes animate-color-white-2997ff {
	0% {
		color: var(--ribbon-link-color-initial);
	}

	to {
		color: var(--ribbon-link-color);
	}
}

.theme-dark.ribbon-blue-to-default .ribbon-link, .theme-dark .ribbon-blue-to-default .ribbon-link {
	color: var(--ribbon-link-color-initial);
	animation: animate-color-white-2997ff 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.theme-dark.ribbon-blue-to-default .ribbon-link, .theme-dark .ribbon-blue-to-default .ribbon-link {
		color: var(--ribbon-link-color);
		animation: none;
	}
}

.theme-light.ribbon, .theme-light .ribbon {
	--ribbon-background-color: #fff;
	--ribbon-text-color: #1d1d1f;
	--ribbon-link-color: #0066cc;
	--ribbon-focus-color: rgba(0, 125, 250, 0.6);
}

.theme-light.ribbon .ribbon-content-wrapper, .theme-light .ribbon .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color);
}

.theme-light.ribbon .ribbon-content, .theme-light .ribbon .ribbon-content {
	color: var(--ribbon-text-color);
}

.theme-light.ribbon .ribbon-link:focus, .theme-light .ribbon .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

.theme-light.ribbon .ribbon-link, .theme-light .ribbon .ribbon-link {
	color: var(--ribbon-link-color);
}

.theme-light.ribbon-blue, .theme-light .ribbon-blue {
	--ribbon-background-color: #0071e3;
	--ribbon-text-color: white;
	--ribbon-link-color: white;
	--ribbon-focus-color: rgba(255, 255, 255, 0.6);
}

.theme-light.ribbon-blue .ribbon-content-wrapper, .theme-light .ribbon-blue .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color);
}

.theme-light.ribbon-blue .ribbon-content, .theme-light .ribbon-blue .ribbon-content {
	color: var(--ribbon-text-color);
}

.theme-light.ribbon-blue .ribbon-link:focus, .theme-light .ribbon-blue .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

.theme-light.ribbon-blue .ribbon-link, .theme-light .ribbon-blue .ribbon-link {
	color: var(--ribbon-link-color);
}

.theme-light.ribbon-blue-to-default, .theme-light .ribbon-blue-to-default {
	--ribbon-background-color: #fff;
	--ribbon-background-color-initial: #0071e3;
	--ribbon-text-color: #1d1d1f;
	--ribbon-text-color-initial: white;
	--ribbon-link-color: #0066cc;
	--ribbon-focus-color: rgba(0, 125, 250, 0.6);
	--ribbon-link-color-initial: white;
}

@keyframes animate-background-0071e3-fff {
	0% {
		background-color: var(--ribbon-background-color-initial);
	}

	to {
		background-color: var(--ribbon-background-color);
	}
}

.theme-light.ribbon-blue-to-default .ribbon-content-wrapper, .theme-light .ribbon-blue-to-default .ribbon-content-wrapper {
	background-color: var(--ribbon-background-color-initial);
	animation: animate-background-0071e3-fff 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.theme-light.ribbon-blue-to-default .ribbon-content-wrapper, .theme-light .ribbon-blue-to-default .ribbon-content-wrapper {
		background-color: var(--ribbon-background-color);
		animation: none;
	}
}

@keyframes animate-color-white-1d1d1f {
	0% {
		color: var(--ribbon-text-color-initial);
	}

	to {
		color: var(--ribbon-text-color);
	}
}

.theme-light.ribbon-blue-to-default .ribbon-content, .theme-light .ribbon-blue-to-default .ribbon-content {
	color: var(--ribbon-text-color-initial);
	animation: animate-color-white-1d1d1f 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.theme-light.ribbon-blue-to-default .ribbon-content, .theme-light .ribbon-blue-to-default .ribbon-content {
		color: var(--ribbon-text-color);
		animation: none;
	}
}

.theme-light.ribbon-blue-to-default .ribbon-link:focus, .theme-light .ribbon-blue-to-default .ribbon-link:focus {
	outline-color: var(--ribbon-focus-color);
}

@keyframes animate-color-white-0066cc {
	0% {
		color: var(--ribbon-link-color-initial);
	}

	to {
		color: var(--ribbon-link-color);
	}
}

.theme-light.ribbon-blue-to-default .ribbon-link, .theme-light .ribbon-blue-to-default .ribbon-link {
	color: var(--ribbon-link-color-initial);
	animation: animate-color-white-0066cc 1s ease-in-out 1.8s forwards;
}

@media (prefers-reduced-motion) {
	.theme-light.ribbon-blue-to-default .ribbon-link, .theme-light .ribbon-blue-to-default .ribbon-link {
		color: var(--ribbon-link-color);
		animation: none;
	}
}

@media (max-width: 415px) {
	.ribbon .ribbon-content {
		max-width: 320px;
	}
}

.footnote-supglyph {
	position: relative;
	vertical-align: initial;
	text-underline-offset: -0.28em;
}

.ribbon .footnote-supglyph a {
	color: inherit;
}
