@charset "UTF-8"; /* CSS Document */


/* ----------------------------------------------
   基本設定
------------------------------------------------ */
:root {
	--jk-lib-color1: #2f1642;
	--jk-lib-color2: #3b1b52;
	--jk-lib-color3: #4f3263;
	--jk-lib-color4: #624975;
	--jk-lib-color5: #765f86;
	--jk-lib-color6: #c4bbcb;
	--jk-lib-color7: #d8d1dc;
	--jk-lib-color8: #ebe8ee;
	--jk-lib-color9: #f3f1f5;
	--jk-personal-color1: #8d3300;
	--jk-personal-color2: #b04000;
	--jk-personal-color3: #b8531a;
	--jk-personal-color4: #c06633;
	--jk-personal-color5: #d08c66;
	--jk-personal-color6: #dfb399;
	--jk-personal-color7: #efd9cc;
	--jk-personal-color8: #f7ece6;
	--jk-personal-color9: #faf4f0;
	--jk-neutral-color1: #181818;
	--jk-neutral-color2: #2f2f2f;
	--jk-neutral-color3: #474747;
	--jk-neutral-color4: #5e5e5d;
	--jk-neutral-color5: #70706e;
	--jk-neutral-color6: #8e8e8d;
	--jk-neutral-color7: #bebebc;
	--jk-neutral-color8: #d6d6d2;
	--jk-neutral-color9: #ededeb;
	--jk-neutral-color10: #f5f5f5;
	--jk-bg-color: var(--jk-neutral-color10);
	--jk-text-color: var(--jk-neutral-color1);
	--jk-text-sub-color: var(--jk-neutral-color5);
	--jk-link-color: #0070b3;
	--jk-link-hover-color: #005a8f;
	--jk-link-bg-color: #e6f1f7;
	--jk-link-visited-color: #77004c;
	--jk-link-visited-hover-color: #530035;
	--jk-alert-color: #a8281b;
	--jk-alert-hover-color: #761c13;
	--jk-alert-bg-color: #f6eae8;
	--jk-info-color: #1b5225;
	--jk-info-hover-color: #13391a;
	--jk-info-bg-color: #e8eee9;
	--jk-border-color: var(--jk-neutral-color8);
	--jk-border-radius: .25rem;
	--jk-border-radius-lg: .5rem;
	--bs-form-invalid-color: var(--jk-alert-color);
	--bs-form-invalid-border-color: var(--jk-alert-color);
	--bs-form-valid-color: var(--jk-info-color);
	--bs-form-valid-border-color: var(--jk-info-color);
}

body {
	font-family: "Helvetica Neue", Arial, "Hiragino Kaku Gothic ProN", "Hiragino Sans", Meiryo, sans-serif;
	color: var(--jk-text-color);
	background: var(--jk-bg-color);
	overflow-wrap: anywhere;
	word-break: normal;
	line-break: strict;
}
img {
	max-width: 100%;
	height: auto;
	border: none;
}
h1,h2,h3,h4,h5,h6 {
	font-weight: bold;
}
input::-webkit-input-placeholder {
	line-height: 1 !important;
}
input::-ms-clear {
	visibility: hidden;
}
input::-ms-reveal {
	visibility: hidden;
}
input:focus,
input:focus-visible,
select:focus,
select:focus-visible {
	outline: auto !important;
	box-shadow: none !important;
}
pre {
	margin: 0;
}
a:not(.btn),
a:link:not(.btn) {
	color: var(--jk-link-color);
}
a:visited:not(.btn) {
	color: var(--jk-link-visited-color);
}
a:focus-visible {
	outline: auto !important;
	box-shadow: initial !important;
}
button:focus-visible {
	outline: auto !important;
	box-shadow: initial !important;
}

.small, small {
	font-size: .875rem;
	font-weight: normal;
}
.bi {
	width: 1em;
	height: 1em;
	vertical-align: -.125em;
	fill: currentcolor;
}
.offcanvas-title {
	font-size: 1.25rem;
}
.btn {
	--bs-btn-padding-x: 1rem;
	--bs-btn-padding-y: .5rem;
	--bs-btn-font-weight: bold;
	--bs-btn-border-width: 2px;
	--bs-btn-border-radius: 999em;
	--bs-btn-disabled-opacity: .3;
	text-decoration: none !important;
}
.btn-group-lg > .btn,
.btn-lg {
	--bs-btn-padding-x: 1.5rem;
	--bs-btn-padding-y: .875rem;
	--bs-btn-font-size: 1.125rem;
	--bs-btn-border-width: 3px;
}
.btn-primary {
	--bs-btn-bg: var(--jk-link-color);
	--bs-btn-border-color: var(--jk-link-color);
	--bs-btn-hover-bg: var(--jk-link-hover-color);
	--bs-btn-hover-border-color: var(--jk-link-hover-color);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--jk-link-hover-color);
	--bs-btn-active-border-color: var(--jk-link-hover-color);
	--bs-btn-disabled-bg: var(--jk-link-color);
	--bs-btn-disabled-border-color: var(--jk-link-color);
}
.btn-secondary {
	--bs-btn-color: var(--jk-neutral-color3);
	--bs-btn-bg: var(--jk-neutral-color9);
	--bs-btn-border-color: var(--jk-neutral-color9);
	--bs-btn-hover-color: var(--jk-neutral-color1);
	--bs-btn-hover-bg: var(--jk-neutral-color8);
	--bs-btn-hover-border-color: var(--jk-neutral-color8);
	--bs-btn-active-color: var(--jk-neutral-color1);
	--bs-btn-active-bg: var(--jk-neutral-color8);
	--bs-btn-active-border-color: var(--jk-neutral-color8);
	--bs-btn-disabled-color: var(--jk-neutral-color3);
	--bs-btn-disabled-bg: var(--jk-neutral-color9);
	--bs-btn-disabled-border-color: var(--jk-neutral-color9);
	--bs-btn-disabled-opacity: .5;
}
.btn-outline-primary {
	--bs-btn-bg: #fff;
	--bs-btn-color: var(--jk-link-color);
	--bs-btn-border-color: var(--jk-link-color);
	--bs-btn-hover-color: var(--jk-link-hover-color);
	--bs-btn-hover-bg: var(--jk-link-bg-color);
	--bs-btn-hover-border-color: var(--jk-link-hover-color);
	--bs-btn-active-color: var(--jk-link-hover-color);
	--bs-btn-active-bg: var(--jk-link-bg-color);
	--bs-btn-active-border-color: var(--jk-link-hover-color);
	--bs-btn-disabled-color: var(--jk-link-color);
	--bs-btn-disabled-border-color: var(--jk-link-color);
}
.btn-outline-secondary {
	--bs-btn-bg: #fff;
	--bs-btn-color: var(--jk-neutral-color3);
	--bs-btn-border-color: var(--jk-neutral-color9);
	--bs-btn-hover-color: var(--jk-neutral-color2);
	--bs-btn-hover-bg: #fff;
	--bs-btn-hover-border-color: var(--jk-neutral-color8);
	--bs-btn-active-color: var(--jk-neutral-color2);
	--bs-btn-active-bg: #fff;
	--bs-btn-active-border-color: var(--jk-neutral-color8);
	--bs-btn-disabled-color: var(--jk-neutral-color3);
	--bs-btn-disabled-border-color: var(--jk-neutral-color9);
	--bs-btn-disabled-opacity: .5;
}
.btn-secondary.lib {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--jk-lib-color2);
	--bs-btn-border-color: var(--jk-lib-color2);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--jk-lib-color1);
	--bs-btn-hover-border-color: var(--jk-lib-color1);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--jk-lib-color1);
	--bs-btn-active-border-color: var(--jk-lib-color1);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--jk-lib-color2);
	--bs-btn-disabled-border-color: var(--jk-lib-color2);
}
.btn-outline-secondary.lib {
	--bs-btn-color: var(--jk-lib-color2);
	--bs-btn-border-color: var(--jk-lib-color2);
	--bs-btn-hover-color: var(--jk-lib-color1);
	--bs-btn-hover-bg: var(--jk-lib-color9);
	--bs-btn-hover-border-color: var(--jk-lib-color1);
	--bs-btn-active-color: var(--jk-lib-color1);
	--bs-btn-active-bg: var(--jk-lib-color9);
	--bs-btn-active-border-color: var(--jk-lib-color1);
	--bs-btn-disabled-color: var(--jk-lib-color2);
	--bs-btn-disabled-border-color: var(--jk-lib-color2);
}
.btn-secondary.personal {
	--bs-btn-color: #fff;
	--bs-btn-bg: var(--jk-personal-color2);
	--bs-btn-border-color: var(--jk-personal-color2);
	--bs-btn-hover-color: #fff;
	--bs-btn-hover-bg: var(--jk-personal-color1);
	--bs-btn-hover-border-color: var(--jk-personal-color1);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--jk-personal-color1);
	--bs-btn-active-border-color: var(--jk-personal-color1);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-bg: var(--jk-personal-color2);
	--bs-btn-disabled-border-color: var(--jk-personal-color2);
}
.btn-outline-secondary.personal {
	--bs-btn-color: var(--jk-personal-color2);
	--bs-btn-border-color: var(--jk-personal-color2);
	--bs-btn-hover-color: var(--jk-personal-color1);
	--bs-btn-hover-bg: var(--jk-personal-color9);
	--bs-btn-hover-border-color: var(--jk-personal-color1);
	--bs-btn-active-color: var(--jk-personal-color1);
	--bs-btn-active-bg: var(--jk-personal-color9);
	--bs-btn-active-border-color: var(--jk-personal-color1);
	--bs-btn-disabled-color: var(--jk-personal-color2);
	--bs-btn-disabled-border-color: var(--jk-personal-color2);
}
.btn-light {
	--bs-btn-bg: #fff;
	--bs-btn-border-color: #fff;
	--bs-btn-hover-bg: var(--jk-neutral-color10);
	--bs-btn-hover-border-color: var(--jk-neutral-color10);
	--bs-btn-active-color: #fff;
	--bs-btn-active-bg: var(--jk-neutral-color10);
	--bs-btn-active-border-color: var(--jk-neutral-color10);
	--bs-btn-disabled-bg: #fff;
	--bs-btn-disabled-border-color: #fff;
}
.btn-outline-light {
	--bs-btn-bg: transparent;
	--bs-btn-hover-bg: transparent;
	--bs-btn-color: #fff;
	--bs-btn-border-color: #fff;
	--bs-btn-hover-color: var(--jk-neutral-color10);
	--bs-btn-hover-border-color: var(--jk-neutral-color10);
	--bs-btn-active-color: var(--jk-neutral-color10);
	--bs-btn-active-border-color: var(--jk-neutral-color10);
	--bs-btn-disabled-color: #fff;
	--bs-btn-disabled-border-color: #fff;
}
.btn.arrow::before {
	display: inline-block;
	width: var(--bs-btn-font-size);
	font: var(--fa-font-solid);
	font-size: .75em;
	line-height: var(--bs-btn-font-size);
	color: #fff;
	content: "\f105";
	margin-right: .5rem;
	background: var(--bs-btn-color);
	border-radius: 50%;
	vertical-align: .1em;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
.btn.arrow:hover::before {
	background: var(--bs-btn-hover-color);
}
.btn.btn-outline-light.arrow::before {
	color: #000;
}

.form-label {
	float: inherit;
	width: 100%;
	font-size: 1rem;
	margin-bottom: .25rem;
}
.form-control {
	padding-top: .75rem;
	padding-bottom: .75rem;
	border: 1px solid var(--jk-neutral-color6);
}
.form-select {
	padding-top: .75rem;
	padding-bottom: .75rem;
	border: 1px solid var(--jk-neutral-color6);
	cursor: pointer;
}
.form-check {
	line-height: 1.5;
}
.form-check-label {
	cursor: pointer;
}
.form-check-box {
	padding: 1rem;
	border: 1px solid var(--jk-neutral-color6);
	border-radius: var(--bs-border-radius);
}
.form-check-input {
	border-color: var(--jk-neutral-color6);
}
.form-check-input:checked {
	background-color: var(--jk-link-color);
	border-color: var(--jk-link-color);
}
.form-check-input[type="checkbox"]:indeterminate {
	background-color: var(--jk-link-color);
	border-color: var(--jk-link-color);
}
.form-switch .form-check-input {
	--bs-form-switch-bg: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='rgba%28142, 142, 141, 1%29'/%3e%3c/svg%3e");
}
.form-text {
	color: var(--jk-text-sub-color);
}
.form-control.is-valid,
.was-validated .form-control:valid {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 8 8'%3e%3cpath fill='%231b5225' d='M2.3 6.73.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");
}
.form-control.is-invalid,
.was-validated .form-control:invalid {
	background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23a8281b'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23a8281b' stroke='none'/%3e%3c/svg%3e");
}
.form-select.is-invalid:not([multiple]):not([size]),
.form-select.is-invalid:not([multiple])[size="1"],
.was-validated .form-select:invalid:not([multiple]):not([size]),
.was-validated .form-select:invalid:not([multiple])[size="1"] {
	--bs-form-select-bg-icon: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' width='12' height='12' fill='none' stroke='%23a8281b'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23a8281b' stroke='none'/%3e%3c/svg%3e");
}
.invalid-feedback {
	margin: 0;
}
.error-summary {
	display: none;
	color: var(--jk-alert-color);
	margin: 0 0 1.5rem;
	padding: 1.25rem;
	background: var(--jk-alert-bg-color);
}
.error-summary h2 {
	font-size: 1rem !important;
	margin: 0 0 .75rem !important;
	padding: 0 !important;
}
.error-summary h2::before {
	display: none;
}
.error-summary ul {
	margin: 0;
	padding: 0;
}
.error-summary ul li {
	font-size: .875rem;
	line-height: 1.5;
	margin: .25rem 0 0;
	padding: 0;
	list-style-type: none;
}
.error-summary ul li a {
	position: relative;
	display: inline-block;
	color: var(--jk-alert-color) !important;
	padding-left: 1.25em;
}
.error-summary ul li a:hover {
	color: var(--jk-alert-hover-color) !important;
}
.error-summary ul li a::before {
	position: absolute;
	top: .25em;
	left: 0;
	display: inline-block;
	font: var(--fa-font-solid);
	content: "\f107";
}

.colorLib {
	font-weight: bold;
	color: var(--jk-lib-color2);
}
.colorPersonal {
	font-weight: bold;
	color: var(--jk-personal-color2);
}
.colorAlert {
	font-weight: bold;
	color: var(--jk-alert-color);
}
.nowrap {
	white-space: nowrap;
}


/* ----------------------------------------------
   ヘッダー
------------------------------------------------ */
#header .container-fluid {
	position: relative;
	padding: 1rem 2.5rem;
	background: #fff;
	box-shadow: 0 .25rem .25rem rgba(0,0,0,.15);
}
#header .navbar {
	padding: 0;
}
#header .navbar-nav .nav-link {
	color: var(--jk-text-color);
	white-space: nowrap;
}
#header .navbar-nav .nav-link small {
	font-size: .75rem;
}
#header .navbar-nav .dropdown-item {
	color: var(--jk-text-color);
	background: none;
}
#header .logo {
	margin: 0;
}
#header .logo a {
	display: inline-block;
}
#header .logo img {
	height: 1.75rem;
}
#header .navbar-toggler {
	padding: 0;
	border: none;
}
body.lib #header .navbar-nav .nav-link::before {
	color: var(--jk-lib-color2);
}
body.personal #header .navbar-nav .nav-link::before {
	color: var(--jk-personal-color2);
}
#header .navbar-nav .search-basic::before,
#header .navbar-nav .shelf::before,
#header .navbar-nav .link-collection::before,
#header .navbar-nav .myfolder::before,
#header .navbar-nav .pdf::before {
	font: var(--fa-font-solid);
	margin-right: .25rem;
}
#header .navbar-nav .search-basic::before {
	content: "\f002";
}
#header .navbar-nav .search-advanced::before {
	display: inline-block;
	width: 1em;
	height: 1em;
	content: "";
	background-color: currentColor;
	mask: url('data:image/svg+xml;charset=utf8,%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20version%3D%221.1%22%20viewBox%3D%220%200%20512%20512%22%3E%0A%3Cpath%20d%3D%22M502.6%2C457.6l-126.1-126.2c25-34.3%2C39.8-76.5%2C39.8-122.2s-2.1-33.8-6-49.7l-57.8%2C52.6c-1.6%2C77.8-65.2%2C140.5-143.4%2C140.5s-143.4-64.2-143.4-143.4%2C1.1-20.4%2C3.2-30c.3-2.5.9-5%2C1.8-7.3%2C16.4-61.1%2C72.2-106.1%2C138.5-106.1s58.2%2C9.3%2C81.3%2C25.2l44.5-39.5c1.4-1.3%2C2.8-2.5%2C4.3-3.5C303.7%2C19.2%2C258.4%2C2%2C209.2%2C2%2C94.7%2C2%2C2%2C94.7%2C2%2C209.2s92.7%2C207.2%2C207.2%2C207.2%2C88-14.7%2C122.2-39.8l126.1%2C126.2c12.5%2C12.5%2C32.7%2C12.5%2C45.1%2C0%2C12.5-12.5%2C12.5-32.7%2C0-45.1Z%22%2F%3E%0A%3Cpath%20d%3D%22M405.8%2C98.6l-25.4-25.4c-1.4-1.4-3-2.2-4.8-2.5-.5%2C0-1.1-.1-1.6-.1h0c-2.3%2C0-4.7.8-6.4%2C2.6l-41.9%2C37.2-117.8%2C104.7-72-72c-1.8-1.8-4.1-2.7-6.4-2.7s-4.7.9-6.4%2C2.7l-25.4%2C25.4c-3.5%2C3.5-3.5%2C9.3%2C0%2C12.9l72%2C72%2C31.8%2C31.8c1.8%2C1.8%2C4.1%2C2.7%2C6.4%2C2.7s4.7-.9%2C6.4-2.7l31.8-28.2%2C106.6-97.1%2C50.3-45.9%2C2.7-2.4c3.5-3.5%2C3.5-9.3%2C0-12.9Z%22%2F%3E%0A%3Cpath%20d%3D%22M70%2C174.3c.2-.8.4-1.6.6-2.5-.9%2C2.4-1.5%2C4.8-1.8%2C7.3.3-1.4.6-2.9%2C1-4.3%2C0-.2%2C0-.4.1-.6Z%22%2F%3E%0A%3Cpath%20d%3D%22M69.9%2C174.8c0-.2%2C0-.4.1-.6%2C0%2C.2%2C0%2C.4-.1.6Z%22%2F%3E%0A%3C%2Fsvg%3E');
	margin-right: .25rem;
	vertical-align: -.1em;
}
#header .navbar-nav .shelf::before {
	content: "\f02d";
}
#header .navbar-nav .link-collection::before {
	content: "\f03a";
}
#header .navbar-nav .myfolder::before {
	content: "\e185";
}
#header .navbar-nav .pdf::before {
	content: "\f1c1";
}
#header .navbar-nav .login,
#header .navbar-nav .logout {
	font-size: .875rem;
	padding: .125rem .5rem;
	border-width: 1px;
	white-space: nowrap;
}
#header .navbar-nav .login::before,
#header .navbar-nav .logout::before {
	font: var(--fa-font-solid);
	color: var(--bs-btn-color);
	margin-right: .25rem;
	transition: color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;
}
#header .navbar-nav .login::before {
	content: "\f2f6";
}
#header .navbar-nav .logout::before {
	content: "\f2f5";
}
#header .navbar-nav .fa-up-right-from-square {
	font-size: .875rem;
	color: var(--jk-text-sub-color);
}


/* ----------------------------------------------
   フッター
------------------------------------------------ */
#footer {
	font-size: .875rem;
	line-height: 1.7;
	color: #fff;
	padding: 2.5rem 0;
	background: var(--jk-neutral-color1);
}
#footer ul {
	margin: 0;
	padding: 0;
	list-style-type: none;
}
#footer li {
	margin: 0;
	padding: 0;
}
#footer a {
	color: #fff;
	text-decoration: none;
}
#footer .fa-up-right-from-square {
	font-size: .75rem;
	color: var(--jk-neutral-color8);
}
#footer .sns {
	display: flex;
	align-items: center;
	font-size: 1.5rem;
	line-height: 1;
}
#footer .sns li+li {
	margin-left: 1rem;
}
#footer .abjmark li.txt {
	font-size: .75rem;
	color: var(--jk-neutral-color8);
}
#footer .abjmark li.txt a {
	color: var(--jk-neutral-color8);
}
#footer .copyright {
	font-size: .75rem;
	margin: 0;
}

#spFooterNav {
	display: none;
}

#pageTopBtn {
	position: fixed;
	right: 20px;
	bottom: -100px;
	width: 40px;
	height: 40px;
	background: var(--jk-neutral-color2);
	border: 2px solid var(--jk-neutral-color10);
	border-radius: 50%;
	box-shadow: 0 .25rem .25rem rgba(0,0,0,.15);
	overflow: hidden;
	cursor: pointer;
	transition: .3s;
	z-index: 100;
}
#pageTopBtn.show {
	bottom: 20px;
}
#pageTopBtn:before {
	position: absolute;
	top: 0px;
	left: 0px;
	width: 100%;
	font: var(--fa-font-solid);
	font-size: 1rem;
	line-height: 36px;
	color: #fff;
	content: "\f062";
	text-align: center;
}
#pageTopBtn:focus-visible {
	background: var(--jk-neutral-color10) !important;
	border: 2px solid var(--jk-neutral-color2) !important;
	outline: 2px solid var(--jk-neutral-color10) !important;
}
#pageTopBtn:focus-visible:before {
	color: var(--jk-neutral-color2) !important;
}


/* ----------------------------------------------
   サイドバー
------------------------------------------------ */
#sidebar[aria-hidden="false"] {
	display: block;
}
#sidebar[aria-hidden="true"] {
	display: none;
}


/* ----------------------------------------------
   メインコンテンツ
------------------------------------------------ */
#contents {
	line-height: 1.8;
}


/* ----------------------------------------------
   会員向けお知らせ
------------------------------------------------ */
#memberInfo {
	margin: 2.5rem 0;
}
#memberInfo .box {
	padding: 1.25rem 2rem 1rem;
	background: #fff;
	border: 3px solid var(--jk-neutral-color2);
}
#memberInfo .title {
	display: block;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.2;
	color: var(--jk-neutral-color2);
	margin: 0;
	padding: 0;
}
#memberInfo .title::before {
	font: var(--fa-font-solid);
	content: "\f06a";
	margin-right: .5rem;
}
#memberInfo .subTitle {
	display: block;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--jk-neutral-color2);
	margin: .5rem 0 0;
}
#memberInfo .body {
	padding: .25rem 0 0;
}
#memberInfo .body p {
	margin: 0;
}
#memberInfo.collapsed {
	margin: 0 0 1rem;
}
#memberInfo.collapsed .head {
	margin: 0;
}
#memberInfo.collapsed button {
	width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	text-align: left;
}
#memberInfo.collapsed button .title {
	position: relative;
	padding-right: 1.5rem;
}
#memberInfo.collapsed button .title::after {
	position: absolute;
	top: 0;
	right: 0;
	font: var(--fa-font-solid);
	font-weight: 900;
	line-height: 1.2;
	color: var(--jk-neutral-color2);
	content: "\f068";
	-webkit-text-stroke: 1px var(--jk-neutral-color2);
	text-stroke: 1px var(--jk-neutral-color2);
}
#memberInfo.collapsed button.collapsed .title::after {
	content: "\f067";
}


/* ----------------------------------------------
   障害情報
------------------------------------------------ */
#failure {
	margin: 2.5rem 0;
}
#failure .box {
	padding: 1.25rem 2rem 1rem;
	background: #fff;
	border: 3px solid var(--jk-alert-color);
}
#failure .title {
	display: block;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.2;
	color: var(--jk-alert-color);
	margin: 0;
	padding: 0;
}
#failure .title::before {
	font: var(--fa-font-solid);
	content: "\f06a";
	margin-right: .5rem;
}
#failure .subTitle {
	display: block;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--jk-alert-color);
	margin: .5rem 0 0;
}
#failure .body {
	padding: .25rem 0 0;
}
#failure .body p {
	margin: 0;
}
#failure.collapsed {
	margin: 0 0 1rem;
}
#failure.collapsed .head {
	margin: 0;
}
#failure.collapsed button {
	width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	text-align: left;
}
#failure.collapsed button .title {
	position: relative;
	padding-right: 1.5rem;
}
#failure.collapsed button .title::after {
	position: absolute;
	top: 0;
	right: 0;
	font: var(--fa-font-solid);
	font-weight: 900;
	line-height: 1.2;
	color: var(--jk-alert-color);
	content: "\f068";
	-webkit-text-stroke: 1px var(--jk-alert-color);
	text-stroke: 1px var(--jk-alert-color);
}
#failure.collapsed button.collapsed .title::after {
	content: "\f067";
}


/* ----------------------------------------------
   メンテナンス情報
------------------------------------------------ */
#maintenance {
	margin: 2.5rem 0;
}
#maintenance .box {
	padding: 1.25rem 2rem 1rem;
	background: #fff;
	border: 3px solid var(--jk-info-color);
}
#maintenance .title {
	display: block;
	font-size: 1.25rem;
	font-weight: bold;
	line-height: 1.2;
	color: var(--jk-info-color);
	margin: 0;
	padding: 0;
}
#maintenance .title::before {
	font: var(--fa-font-solid);
	content: "\f06a";
	margin-right: .5rem;
}
#maintenance .subTitle {
	display: block;
	font-size: 1.125rem;
	font-weight: bold;
	line-height: 1.5;
	color: var(--jk-info-color);
	margin: .5rem 0 0;
}
#maintenance .body {
	padding: .25rem 0 0;
}
#maintenance .body p {
	margin: 0;
}
#maintenance.collapsed {
	margin: 0 0 1rem;
}
#maintenance.collapsed .head {
	margin: 0;
}
#maintenance.collapsed button {
	width: 100%;
	margin: 0;
	padding: 0;
	background: none;
	border: none;
	text-align: left;
}
#maintenance.collapsed button .title {
	position: relative;
	padding-right: 1.5rem;
}
#maintenance.collapsed button .title::after {
	position: absolute;
	top: 0;
	right: 0;
	font: var(--fa-font-solid);
	font-weight: 900;
	line-height: 1.2;
	color: var(--jk-info-color);
	content: "\f068";
	-webkit-text-stroke: 1px var(--jk-info-color);
	text-stroke: 1px var(--jk-info-color);
}
#maintenance.collapsed button.collapsed .title::after {
	content: "\f067";
}


/* ----------------------------------------------
   Media Queries
------------------------------------------------ */
@media (hover: hover) {
	
	a:not(.btn):hover,
	a:link:not(.btn):hover {
		color: var(--jk-link-hover-color);
	}
	a:not(.btn):visited:hover {
		color: var(--jk-link-visited-hover-color);
	}
	a span.hoverLine {
		background: linear-gradient(var(--jk-link-color),var(--jk-link-color)) 100% 100%/0 1px no-repeat;
		transition: background-size .4s cubic-bezier(.23,1,.32,1) 0s !important;
	}
	button span.hoverLine {
		background: linear-gradient(var(--jk-text-color),var(--jk-text-color)) 100% 100%/0 1px no-repeat;
		transition: background-size .4s cubic-bezier(.23,1,.32,1) 0s !important;
	}
	a:hover span.hoverLine,
	button:hover span.hoverLine,
	a:focus span.hoverLine,
	button:focus span.hoverLine {
		background-size: 100% 1px !important;
		background-position: 0 100% !important;
	}
	.btn.btn-primary span.hoverLine,
	.btn.btn-secondary.lib span.hoverLine,
	.btn.btn-secondary.personal span.hoverLine,
	.btn.btn-outline-light span.hoverLine {
		background: linear-gradient(#fff,#fff) 100% 100%/0 1px no-repeat;
	}
	.btn.btn-secondary span.hoverLine {
		background: linear-gradient(var(--jk-neutral-color3),var(--jk-neutral-color3)) 100% 100%/0 1px no-repeat;
	}
	.btn.btn-outline-primary span.hoverLine {
		background: linear-gradient(var(--jk-link-hover-color),var(--jk-link-hover-color)) 100% 100%/0 1px no-repeat;
	}
	.btn.btn-outline-secondary span.hoverLine {
		background: linear-gradient(var(--jk-neutral-color4),var(--jk-neutral-color4)) 100% 100%/0 1px no-repeat;
	}
	.btn.btn-outline-secondary.lib span.hoverLine {
		background: linear-gradient(var(--jk-lib-color2),var(--jk-lib-color2)) 100% 100%/0 1px no-repeat;
	}
	.btn.btn-outline-secondary.personal span.hoverLine {
		background: linear-gradient(var(--jk-personal-color2),var(--jk-personal-color2)) 100% 100%/0 1px no-repeat;
	}
	
	.jkTooltip {
		position: relative;
	}
	.jkTooltip:hover::after {
		position: absolute;
		top: -.5rem;
		left: 50%;
		transform: translate(-50%, -100%);
		width: 12em;
		font-size: .75rem;
		font-weight: normal;
		line-height: 1.5;
		color: #fff;
		padding: .75rem;
		content: attr(data-title);
		background-color: #000;
		border-radius: .5rem;
		box-shadow: .125rem .125rem .75rem rgba(0,0,0,.15);
		text-align: left;
		white-space: normal;
	}
	
	#footer .links a span.hoverLine,
	#footer .abjmark a span.hoverLine {
		background: linear-gradient(#fff,#fff) 100% 100%/0 1px no-repeat;
	}
	
	#pageTopBtn:hover {
		background: var(--jk-neutral-color1);
	}
	
	#memberInfo.collapsed button span.hoverLine {
		background: linear-gradient(var(--jk-neutral-color2),var(--jk-neutral-color2)) 100% 100%/0 1px no-repeat;
	}
	#failure.collapsed button span.hoverLine {
		background: linear-gradient(var(--jk-alert-color),var(--jk-alert-color)) 100% 100%/0 1px no-repeat;
	}
	#maintenance.collapsed button span.hoverLine {
		background: linear-gradient(var(--jk-info-color),var(--jk-info-color)) 100% 100%/0 1px no-repeat;
	}
	
}

@media print, screen and (hover: hover) and (min-width: 1200px) {
	
	#header .navbar-nav .nav-link span.hoverLine,
	#header .navbar-nav .dropdown-item span.hoverLine {
		background: linear-gradient(var(--jk-text-color),var(--jk-text-color)) 100% 100%/0 1px no-repeat;
	}
	#header .dropdown:hover .dropdown-menu {
		left: 50%;
		display: block;
		padding: 1rem;
		box-shadow: .25rem .25rem .25rem rgba(0,0,0,.15);
		transform: translateX(-50%);
	}
	#header .dropdown:hover .dropdown-menu.advanced {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 1rem;
	}
	#header .dropdown:hover .dropdown-menu.dropdown-menu-md-end {
		right: 0;
	}
	#header .dropdown > .dropdown-toggle:active {
		pointer-events: none;
	}
	
}

@media print, screen and (min-width: 1200px) {
	
	.wrap {
		max-width: 1040px;
		margin: 0 auto;
	}
	
	/* ヘッダー */
	#header .navbar-nav .nav-link {
		margin-left: 1.75rem;
		padding: .5rem 0;
	}
	#header .navbar-nav .nav-btn {
		display: flex;
		align-items: center;
		margin-left: 1.75rem;
	}
	#header .dropdown-menu.show {
		padding: 1rem;
		box-shadow: .25rem .25rem .25rem rgba(0,0,0,.15);
	}
	#header .dropdown-menu.advanced.show {
		display: grid;
		grid-template-columns: 1fr 1fr;
		column-gap: 1rem;
	}
	
	/* フッター */
	#footer .menu {
		display: flex;
		flex-direction: column;
		align-items: center;
		line-height: 1;
	}
	#footer .menu li+li {
		margin-left: .375rem;
		padding-left: .375rem;
		border-left: 1px solid var(--jk-neutral-color4);
	}
	#footer .links {
		display: flex;
		margin-bottom: 1.5rem;
	}
	#footer .abjmark {
		display: flex;
		align-items: center;
		margin: 1.5rem 0 2rem;
		padding: 1rem 0;
		border-top: 1px solid var(--jk-neutral-color2);
		border-bottom: 1px solid var(--jk-neutral-color2);
	}
	#footer .abjmark .img {
		margin-right: 1rem;
	}
	#footer .copyright {
		text-align: center;
	}
	#footer.simple .menu,
	#footer.form .menu {
		display: flex;
		justify-content: center;
		margin-bottom: 2rem;
	}
	#footer.simple .links,
	#footer.form .links {
		margin-bottom: 0;
	}
	
}

@media only screen and (max-width: 1199px) {
	
	.btn-group-lg > .btn,
	.btn-lg {
		--bs-btn-padding-x: 1rem;
		--bs-btn-padding-y: .75rem;
		--bs-btn-font-size: 1rem;
		--bs-btn-border-width: 2px;
	}
	.form-check-box {
		padding: .75rem 1rem;
	}
	.error-summary {
		margin: 0 0 1.5rem;
		padding: 1rem;
	}
	
	/* ヘッダー */
	#header .container-fluid {
		padding: 1rem 1.25rem;
	}
	#header .logo img {
		height: 1.375rem;
	}
	#header .navbar-nav .nav-btn .btn {
		margin: 1rem 0;
		padding: .5rem 1rem;
	}
	
	/* フッター */
	#footer {
		font-size: .875rem;
		padding: 1.5rem 1.25rem;
	}
	#footer .links {
		display: grid;
		grid-template-columns: repeat(auto-fill, minmax(11.5em, 1fr));
		gap: .25rem;
		padding-bottom: 1rem;
	}
	#footer .links li {
		margin-bottom: .5rem;
	}
	#footer .sns {
		justify-content: center;
		padding-bottom: 1.5rem;
	}
	#footer .abjmark {
		line-height: 1.4;
		padding: 1.25rem 0;
		border-top: 1px solid var(--jk-neutral-color2);
		border-bottom: 1px solid var(--jk-neutral-color2);
	}
	#footer .abjmark .img {
		margin: 0 0 1rem;
		text-align: center;
	}
	#footer .abjmark .img img {
		width: 40px;
	}
	#footer .copyright {
		font-size: .75rem;
		padding: 1rem 50px 0 0;
		text-align: left;
	}
	#footer.simple .links,
	#footer.form .links {
		display: flex;
		padding-bottom: 0;
	}
	#footer.simple .links li,
	#footer.form .links li {
		margin: 0;
		padding-right: 1rem;
	}
	#footer.simple .links li a,
	#footer.form .links li a {
		display: inline-block;
		line-height: 1;
	}
	
	#spFooterNav {
		position: fixed;
		left: 0;
		bottom: 0;
		display: block;
		width: 100%;
		padding: .5rem;
		background: #222;
		z-index: 1000;
	}
	#spFooterNav .tabMenu {
		display: flex;
		align-items: center;
	}
	#spFooterNav .menu {
		flex: 1;
		text-align: center;
	}
	#spFooterNav .btn {
		font-size: 1.125rem;
		line-height: 1;
		color: #fff;
	}
	#spFooterNav .btn .caption {
		display: block;
		font-size: .625rem;
		padding-top: .5rem;
		white-space: nowrap;
	}
	
	#pageTopBtn {
		right: .75rem;
	}
	#pageTopBtn.show {
		bottom: .75rem;
	}
	
	/* 会員向けお知らせ */
	#memberInfo {
		margin: 1.25rem 1rem;
	}
	#memberInfo .box {
		padding: 1rem;
		border-width: 2px;
	}
	#memberInfo .title {
		font-size: 1.125rem;
	}
	#memberInfo .title::before {
		margin-right: .25rem;
	}
	#memberInfo .subTitle {
		font-size: 1rem;
	}
	#memberInfo .body p {
		font-size: .875rem;
	}
	
	/* 障害情報 */
	#failure {
		margin: 1.25rem 1rem;
	}
	#failure .box {
		padding: 1rem;
		border-width: 2px;
	}
	#failure .title {
		font-size: 1.125rem;
	}
	#failure .title::before {
		margin-right: .25rem;
	}
	#failure .subTitle {
		font-size: 1rem;
	}
	#failure .body p {
		font-size: .875rem;
	}
	
	/* メンテナンス情報 */
	#maintenance {
		margin: 1.25rem 1rem;
	}
	#maintenance .box {
		padding: 1rem;
		border-width: 2px;
	}
	#maintenance .title {
		font-size: 1.125rem;
	}
	#maintenance .title::before {
		margin-right: .25rem;
	}
	#maintenance .subTitle {
		font-size: 1rem;
	}
	#maintenance .body p {
		font-size: .875rem;
	}
	
}

@media only screen and (max-width: 374px){
	
	html {
		font-size: 4.266666vw;
	}
	
}


/* ----------------------------------------------
   印刷対応
------------------------------------------------ */
@page {
	
	margin: 10mm;
	size: A4 portrait;
	
}

@media print {
	
	body {
		min-width: inherit;
		width: 1100px;
		print-color-adjust: exact;
		-webkit-print-color-adjust: exact;
	}
	#pageTopBtn {
		display: none;
	}
	.offcanvas,
	#selectTextNav {
		display: none !important;
	}
	
}


