html,
body {
	margin: 0;
	padding: 0;
	font-size: medium;
	font-family: Meiryo, "Hiragino Kaku Gothic ProN", Verdana, "Helvetica Neue", Helvetica, Arial, sans-serif;
	line-height: 1.43;
	color: #bbb;
	background-color: #111;
}
.current {
	font-weight: bold;
}
img,
svg,
video {
	max-width:100%;
	height:auto;
}
pre {
	border: 1px solid #e1e1e8;
	background-color: #f7f7f9;
	border-radius: 4px;
	filter: invert(100%);
	> code {
		display: block;
		padding: 1em;
		overflow: auto;
		color: #d44950;
	}
}
code {
	color: #c47f82;
}
h1,
h2,
h3,
h4,
h5,
h6 {
	font-weight: bold;
}
h1 {
	font-size: 36px;
}
a {
	color: #ddd;
	text-decoration: none;
}
a:hover {
	text-decoration: underline;
}
p, ul, ol, dl {
	margin: 1em 0;
}
dl dd {
	margin-left: 2em;
}
p, li, dt, dd {
	line-height: 1.6;
}

// --------------------------------------
// px2style
.px2-h2 h2, h2 {
	font-size: 30px;
}
.px2-h3 h3, h3 {
	font-size: 26px;
}
.px2-h4 h4, h4 {
	font-size: 23px;
}
.px2-h5 h5, h5 {
	font-size: 20px;
}
.px2-h6 h6, h6 {
	font-size: 16px;
}

.px2-h2,
.px2-h3,
.px2-h4,
.px2-h5,
.px2-h6 {
	.px2-linklist {
		ul.px2-horizontal-list > li > a {
			color: var(--theme-keycolor);
			font-weight: normal;
			&::before {
				content: "";
				width: 0;
				height: 0;
				display: inline-block;
				margin-right: 0.2em;
				border-width: 0.35em 0 0.35em 0.6em;
				border-style: solid;
				border-color: var(--px2-main-color, #00a0e6);
				border-top-color: transparent;
				border-bottom-color: transparent;
			}
		}
	}
}


.px2-modal .px2-modal__body-inner > .px2-form-input-list {
	margin-left: -20px;
	margin-right: -20px;

	.px2-form-input-list__ul > .px2-form-input-list__li {
		.px2-form-input-list__label {
			padding-left: 20px;
			padding-right: 20px;
		}
		.px2-form-input-list__input {
			padding-left: 20px;
			padding-right: 20px;
		}
	}
}

.px2-section.px2-section--framed {
	.px2-section__heading {
		*,
		.px2-h2, h2,
		.px2-h3, h3,
		.px2-h4, h4,
		.px2-h5, h5,
		.px2-h6, h6 {
			font-size: 20px;
		}
	}
	.px2-section__body {
		> *:first-child,
		> *:first-child > *:first-child {
			margin-top: 0;
		}
		> *:last-child,
		> *:last-child > *:last-child {
			margin-bottom: 0;
		}
	}
}

.px2-notice {
	.px2-h2 h2, h2,
	.px2-h3 h3, h3,
	.px2-h4 h4, h4,
	.px2-h5 h5, h5,
	.px2-h6 h6, h6 {
		font-size: 20px;
	}

	> :first-child,
	> :first-child > :first-child {
		margin-top: 0;
	}
	> :last-child,
	> :last-child > :last-child {
		margin-bottom: 0;
	}
}


/**
 * Header
 */
.theme-header{
	background-color: var(--theme-keycolor);
	color: var(--theme-textcolor-on-keycolor);
	border-top: 4px solid var(--theme-subcolor);

	/**
	 * Site Identity
	 */
	&__si,
	&__si * {
		color: var(--theme-textcolor-on-keycolor);
	}
	&__si a:hover {
		color: var(--theme-textcolor-on-keycolor);
	}

	/**
	 * ショルダーメニュー
	 */
	&__shouldernavi ul li a{
		color: var(--theme-textcolor-on-keycolor);
	}

	/**
	 * グローバルメニュー
	 */
	&__globalnavi ul li a {
		background-color: #f5f5ff55;
	}
}

/**
 * ハンバーガーメニュー
 */
.theme-hamburger-menu {
	&__body {
		background-color: #0004;
		color: #fff;

		&-inner {
			background-color: #333;
		}
	}

	button.theme-hamburger-menu__open-btn {
		background-color: #000;
		.theme-hamburger-menu__open-btn-inner {
			border: 2px solid #bbb;
			span.theme-hamburger-menu__open-btn-decoration-a,
			&::after,
			&::before {
				border-top: 2px solid #bbb;
			}
		}
	}

	// --------------------------------------
	// Content
	&__mega-menu {
		ul {
			li {
				a {
					&:hover {
						background-color: #444;
					}
				}
			}
		}
	}

	&__shoulder-menu {
		border-top: 1px solid #666;

		ul {
			li {
				a {
					&:hover {
						background-color: #444;
					}
				}
			}
		}
	}
}

/**
 * Back to PageTop (float)
 */
.theme-back-to-pagetop-float {
	a.theme-back-to-pagetop-float__back-to-top {
		background-color: #000;

		.theme-back-to-pagetop-float__back-to-top-inner {
			border: 2px solid #bbb;

			span.theme-back-to-pagetop-float__back-to-top-decoration-a {
				border-top: 2px solid #bbb;
				border-left: 2px solid #bbb;
			}
		}
	}
}
