@charset "utf-8";

/********* HTML再定義 ***********************************************/

h2, h3, h4, h5, h6 {
	font-size: 120%;
}
h2 {
	margin: 15px 0;
	padding: 5px 0;
	border-top: 1px solid var(--secondary);
	border-bottom: 1px solid var(--secondary);
}
form h3 {
	padding: .25rem;
	background-color: var(--light);
}

/********* 全体 *****************************************************/

html {
	position: relative;
	min-height: 100%;
}
html,
body {
	overflow-x: hidden;
}
body {
	margin-bottom: 40px;
}

/********* フッター *************************************************/

div#footer {
	position: absolute;
	bottom: 0;
	width: 100%;
	height: 40px;
	line-height: 38px;
	background-color: var(--light);
	margin-left: -15px;
	z-index: 500;
}

/********* メニュー *************************************************/

div#menu {
	position: fixed;
	top: 0;
	bottom: 0;
	left: 0;
	z-index: 100;
	padding: 40px 0 0;
	background-color: var(--teal);
}

div#menu .menubar-sticky {
	position: relative;
	top: 0;
	font-size: .875rem;
	height: calc(100vh - 78px);
	overflow-x: hidden;
	overflow-y: auto;
}
@supports ((position: -webkit-sticky) or (position: sticky)) {
	.menubar-sticky {
		position: -webkit-sticky;
		position: sticky;
	}
}

div#menu h2 {
	font-size: 1.2rem;
}
div#menu h3{
	margin-bottom: 0;
}
div#menu h3 a{
	display: block;
	padding: .25rem .5rem
}
div#menu h3 a:hover {
	background-color: var(--light);
	color: var(--dark) !important;
	text-decoration: none;
}
div#menu h3 a.active {
	background-color: var(--dark);
	color: var(--white) !important;
}

div#menu .nav-link {
	font-weight: 500;
	color: var(--dark);
}
div#menu .nav-link:hover {
	background-color: var(--light);
}
div#menu .nav-link.active {
	background-color: var(--primary);
	color: var(--white);
}
@media (max-width: 767.98px) {
	div#menu {
		position: relative;
		top: 0;
		height: 100%;
		padding-top: 0;
	}
}

/** メニュー折り畳みのキャレット **/
h3 a[aria-expanded="false"]::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f104";
	float: right;
	margin-left: .25rem;
}
h3 a[aria-expanded="true"]::after {
	font-family: "Font Awesome 5 Free";
	font-weight: 900;
	content: "\f107";
	float: right;
	margin-left: .25rem;
}

/********* 内容 *****************************************************/

div#container > .row {
	padding-top: 40px;
}

/********* フォーム *************************************************/

input.form-control[type="number"] {
	max-width: 8rem;
}
td.number {
	max-width: 4rem;
}

/********* TinyMCE全画面表示 *************************************************/

.mce-fullscreen {
	z-index: 1040 !important;
}

/********* ファイル入力 *************************************************/

.custom-file-input:lang(ja) ~ .custom-file-label::after {
	content: "参照";
}

.custom-file {
	overflow: hidden;
}
.custom-file-label {
	white-space: nowrap;
}

/********* 個別指定 *************************************************/

.list ul li ul {
	margin-left: 1em;
}

li.list-btn {
	list-style: none;
	margin-left: -1rem;
}

/** アクセス解析プラグイン **/
table.calendar tr td a {
	text-decoration:underline;
}

div.kaiseki {
	background:#CCCCCC;
	border-radius:10px;	/* CSS3 */
	-webkit-border-radius:10px;	/* safari chrome */
	-moz-border-radius:10px;	/* firefox */
	z-index:1;
}

/** jquery tablesorter（非公式フォーク版） **/
table.tablesorter {
	width: 100%;
}
table.tablesorter thead tr .tablesorter-header {
	background-image: url(../images/tablesorter/bg.gif);
	background-repeat: no-repeat;
	background-position: center right;
	cursor: pointer;
	white-space: normal;
	padding: 4px 20px 4px 4px;
}
table.tablesorter thead tr .tablesorter-headerAsc {
	background-image: url(../images/tablesorter/asc.gif);
}
table.tablesorter thead tr .tablesorter-headerDesc {
	background-image: url(../images/tablesorter/desc.gif);
}
table.tablesorter thead tr .sorter-false {
	background-image: none;
	cursor: default;
	padding: 4px;
}

/********* コード表示 *************************************************/


blockquote {
	overflow: auto;
	margin: .5rem 0;
	padding: .5rem 1rem 0;
	border-left: 2px solid #7777AA;
}
blockquote div, blockquote p, blockquote li, blockquote dt, blockquote dd {
	color: #777777;
}

pre {
	overflow: auto;
	margin: 0.25rem 0;
	padding: 10px;
	border: 1px solid #DDDDDD;
	background: #EEEEEE;
}
pre.precode {
	padding: 0;
	border: 0;
}
pre.precode > code {
	display: block;
	overflow: auto;
	padding: 0.5em;
	color: #C0C0C0;
	background: #20201d;
	letter-spacing: .8px;
	line-height: 1.4;
	font-family: Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;
	white-space: pre-wrap;
	word-wrap: break-word;
	-o-tab-size: 2 ;
	-moz-tab-size: 2 ;
	tab-size: 2 ;
}
p + pre.precode {
	margin-top: -0.5rem;
}
li > pre.precode {
	margin: 0.125rem 0;
}
pre.precode + p {
	margin-top: 0.25rem;
}
.file {
	color: #000080;
}
.directory {
	color: #800000;
}
.plus {
	color: #ff0000;
}
.minus {
	color: #00aa00;
}
.move {
	color: #00ffff;
}
pre.precode code .plus {
	color: #ff2222;
}
pre.precode code .minus {
	color: #00ff00;
}

/********* コピーボタン *********************************************/

pre.precode {
	position: relative;
}
pre.precode .copy-btn {
	line-height: 1.25rem;
	color: #555;
	font-size: 82.5%;
	display: block;
	position: absolute;
	right: 0;
	top: 0;
	margin: 0 0 0.25rem 0;
	padding: 0 0.5rem;
	z-index: 999;
	border: solid 1px #20201d;
	border-radius: 0 0 0 4px;
	background: #e8e8e8;
	cursor: pointer;
}

