
/* 全体 */
html {
	font-family: 'Noto Sans JP',adobe-clean,'adobe clean','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
	background-color: white;
}
body {
	position: relative;
}
	#box-body-background {
		position: fixed;
		top: 0;
		left: 0;
		width: 100%;
		height: 300%;
		background-image: url("../image/bg-body.jpg");
		background-repeat: repeat-y;
		background-position: calc(50% + 120px) 0;
		z-index: -1;
		animation: parallax-bg linear;
		animation-timeline: scroll();
	}
	@keyframes parallax-bg {
	  from { transform: translateY(    0px); }
	  to   { transform: translateY(-1200px); }
	}
#box-body {
	max-width: 1310px;
	margin: 0 auto;
	padding: 0 5px;
}

.pc-only {}
.mobile-only { display: none; }

/* 共通汎用：aタグ */
a {
	cursor: pointer;
}
	a:hover {
		text-decoration: underline;
	}

/* 共通汎用：ボタン */
button {
	transition: opacity 0.4s;
}
	button:hover {
		opacity: 0.7;
	}

/* 共通汎用：入力 */
input,
textarea {
	padding: 4px;
	border: solid 1px #aaa;
	background-color: #fefefe;
	font-size: 14px;
}
	input[type=radio] {
		padding: 0;
		border: none;
		box-shadow: none;
	}
	input.date-picker {
		background-image: url("../../../images/icon_calendar.png");
		background-position: 97% center;
		background-repeat: no-repeat;
	}
	input.input-number-only {
		text-align: right;
	}
select {
	padding: 4px;
	border: inset 2px #eee;
	background-color: #ffffee;
	-webkit-appearance: listbox;
	appearance: listbox;
}


/* ヘッダー */
header {
	position: relative;
	display: flex;
	align-items: center;
	height: 184px;
	padding-bottom: 56px;
	background-color: #e7eef6;
}
	/* ヘッダー：ロゴ */
	#box-header-logo {
		display: inline-block;
		width: 500px;
		height: 72px;
		margin-left: calc((100vw - 1320px) / 2 - 20px);
	}
		#box-header-logo h1 a:nth-child(1) {
			display: inline-block;
			width: 50px;
			height: 52px;
			margin: 0 12px -2px 24px;
			background-image: url("../image/logo-univ.svg");
			background-repeat: no-repeat;
			background-size: contain;
			background-position: center 2px;
		}
		#box-header-logo h1 a:nth-child(2) {
			display: inline-block;
			width: 300px;
			height: 58px;
			text-decoration: none;
		}
			#box-header-logo h1 a:nth-child(2):before {
				content: "学術情報基盤図書館";
				display: block;
				font-size: 28px;
				line-height: 40px;
				letter-spacing: 4px;
				font-weight: 500;
			}
			#box-header-logo h1 a:nth-child(2):after {
				content: "Library and Information Technology";
				display: block;
				font-size: 15px;
				letter-spacing: 0.8px;
				font-weight: 500;
			}
	/* ヘッダー：サイト内検索 */
	#box-header-search {
		display: inline-block;
		width: 300px;
		margin-top: -12px;
		font-size: 14px;
	}
		.form-search {
			position: relative;
			width: 260px;
			height: 38px;
			margin-top: 5px;
			border: solid 2px #51a7dd;
			border-radius: 10px 19px 19px 10px;
			background-color: white;
		}
			.form-search input {
				width: 216px;
				height: 26px;
				margin: 3px 0 0 8px;
				border: none;
			}
			.form-search button {
				position: absolute;
				top: 2px;
				right: 2px;
				width: 30px;
				height: 30px;
				background-image: url("../image/button-search.svg");
				background-repeat: no-repeat;
				border: none;
			}
	/* ヘッダー：リンク */
	#box-header-nav {
		display: inline-block;
		width: 520px;
		margin-right: 8px;
		text-align: right;
	}
		.box-header-nav {
			position: relative;
			display: inline-block;
			width: auto;
			margin-bottom: 8px;
		}
			.box-header-nav + .box-header-nav {
				margin-left: 20px;
			}
			.box-header-nav:before {
				content: "";
				position: absolute;
				display: block;
				background-repeat: no-repeat;
			}
				.box-header-nav:nth-child(1):before { top: 5px; left:  5px; width: 14px; height: 20px; background-image: url("../image/icon-access.svg"); }
				.box-header-nav:nth-child(2):before { top: 5px; left:  2px; width: 18px; height: 18px; background-image: url("../image/icon-floormap.svg"); }
				.box-header-nav:nth-child(3):before { top: 3px; left: -1px; width: 23px; height: 18px; background-image: url("../image/icon-sitemap.svg"); }
				.box-header-nav:nth-child(4):before { top: 4px; left: -2px; width: 22px; height: 18px; background-image: url("../image/icon-univ.svg"); }
			.box-header-nav a {
				margin-left: 24px;
				line-height: 150%;
			}

/* グローバルメニュー */
#nav-global-menu {
	position: relative;
	margin-top: -72px;
	padding-bottom: 56px;
	z-index: 5;
}
	#list-global-menu {
		display: flex;
		justify-content: space-between;
		max-width: 1310px;
		margin: 0 auto 10px;
	}
		#list-global-menu>li {
			position:relative;
			width: 244px;
			height: 47px;
			background-image: url("../image/button-global-menu.png");
			background-repeat: no-repeat;
			transition: background-position-y .4s, padding .4s;
		}
			#list-global-menu>li:hover {
				padding-top: 3px;
				background-position-y: 3px;
				border-radius: 10px;
			}
			#list-global-menu>li>span {
				display: block;
				width: 100%;
				padding: 11px 0;
				font-size: 18px;
				text-align: center;
			}
		#list-global-menu .list-global-sub-menu {
			position: absolute;
			top: 60px;
			left: -1px;
			display: none;
			min-width: 244px;
			padding: 32px 0 32px 42px;
			background-color: white;
			border: solid 2px #0096de;
			border-radius: 20px;
			line-height: 200%;
			z-index: 3;
		}
			#list-global-menu .list-global-sub-menu:before {
				content: "";
				position: absolute;
				top: -6px;
				left: 116px;
				display: block;
				width: 10px;
				height: 9px;
				background-color: white;
				border-top: solid 2px #0096de;
				border-right: solid 2px #0096de;
				border-bottom: none;
				border-left: none;
				transform: rotate(-45deg);
				z-index: 3;
			}
			#list-global-menu .list-global-sub-menu>li {
				display: inline-block;
				width: calc(100% - 42px);
				vertical-align: top;
			}
			#list-global-menu .list-global-sub-menu span {
				display: inline-block;
				width: 100%;
				background-color: #e5e7e8;
				text-align: center;
			}
			#list-global-menu .list-global-sub-menu ul {
				position: relative;
				width: 100%;
				margin: 10px 0 5px;
			}
				#list-global-menu .list-global-sub-menu li li {
					position: relative;
					width: 100%;
					padding: 0 0 0 24px;
					border: none;
				}
					#list-global-menu .list-global-sub-menu li li:before {
						content: "▼";
						position: absolute;
						top: 1px;
						left: 6px;
						font-size: 10px;
						color: #0096de;
						transform: rotate(-90deg);
					}
				#list-global-menu .list-global-sub-menu li a {
					padding: 4px 0;
					font-size: 17px;
					text-align: left;
				}
					#list-global-menu .list-global-sub-menu li a:after {
						content: unset !important;
					}
					#list-global-menu .list-global-sub-menu li a:hover {
						background-color: rgba(255, 255, 255, 0.4);
						text-decoration: underline;
					}
			#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist { left: -122px; width: 1022px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist:before { left: 238px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist>li:nth-child(1) { width: 301px; margin-right: 42px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist>li:nth-child(2) { width: 212px; margin-right: 42px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist>li:nth-child(3) { width: 326px; }
			#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository { left: -386px; width: 984px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository:before { left: 500px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository>li:nth-child(1) { width: 450px; margin-right: 32px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository>li:nth-child(2) { width: 412px; margin-right: 32px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository>li:nth-child(3) { width: 205px; }
			#list-global-menu .list-global-sub-menu#list-global-sub-menu-contactus  { width: 312px; left: unset !important; right: -1px; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-contactus:before { left: 182px; }


/* グローバルメニューオーバーレイ */
#box-global-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	display: none;
	width: 100vw;
	height: 100vh;
	background-color: rgba(0, 0, 0, 0.4);
	z-index: 4;
}


/* サイドバー */
#nav-sidebar {
	display: inline-block;
	width: 314px;
	margin-bottom: 50px;
}
	/* サイドバー：共通：aタグ */
	#nav-sidebar a {
		display: block;
		width: 100%;
		height: 100%;
		padding: 9px 18px;
		transition: background-color 0.4s;
	}
		#nav-sidebar a:hover {
			background-color: rgba(255, 255, 255, 0.4);
			text-decoration: none;
		}
	/* サイドバー：カレンダー */
	#box-sidebar-clendar {
		position: relative;
	}
		#box-sidebar-clendar iframe {
			width: 314px;
			height: 523px;
			border-radius: 10px;
		}
	/* サイドバー：メニュー */
	#list-sidebar-menu {
		margin-top: 20px;
		padding: 20px 16px 2px;
		border: solid 4px #51a7dd;
		border-radius: 20px;
		box-shadow: 8px 8px 0 #51a7dd;
		background-color: white;
	}
		#list-sidebar-menu>ul>li {
			width: 274px;
			min-height: 40px;
			margin-bottom: 8px;
			font-size: 18px;
			font-weight: bold;
		}
			#list-sidebar-menu>ul>li>a.link-dropdown-menu {
				position: relative;
				width: 274px;
				min-height: 50px;
				padding: 13px 0 0 56px;
				border: solid 1px #51a7dd;
				border-radius: 14px;
				background-color: white;
				transition: opacity .4s;
			}
				#list-sidebar-menu>ul>li>a.link-dropdown-menu:hover {
					opacity: 0.5;
				}
				#list-sidebar-menu>ul>li>a.link-dropdown-menu>span {
					font-size: 16px;
				}
			#list-sidebar-menu>ul>li>a:before {
				position: absolute;
				top: 7px;
				left: 13px;
				width: 32px;
				height: 35px;
				background-repeat: no-repeat;
			}
				#list-sidebar-menu>ul>li>a.icon-study:before    { content: "";                        background-image: url("../image/icon-study.svg"); }
				#list-sidebar-menu>ul>li>a.icon-research:before { content: ""; top:  9px; left: 18px; background-image: url("../image/icon-research.svg"); }
				#list-sidebar-menu>ul>li>a.icon-class:before    { content: ""; top: 10px; left: 14px; background-image: url("../image/icon-class.svg"); }
				#list-sidebar-menu>ul>li>a.icon-notepc:before   { content: ""; top: 13px; left: 15px; background-image: url("../image/icon-notepc.svg"); }
				#list-sidebar-menu>ul>li>a.icon-shield:before   { content: ""; top:  7px; left: 15px; background-image: url("../image/icon-shield.svg"); }
				#list-sidebar-menu>ul>li>a.icon-write:before    { content: ""; top: 10px; left: 14px; background-image: url("../image/icon-write.svg"); }
		#list-sidebar-menu .list-sidebar-sub-menu {
			display: none;
			padding: 10px 0;
			background-color: white;
			color: black;
		}
			#list-sidebar-menu .list-sidebar-sub-menu li {
				position: relative;
				padding-left: 30px;
				background-color: white;
				border: none;
			}
				#list-sidebar-menu .list-sidebar-sub-menu li:before {
					content: "▼";
					position: absolute;
					top: 10px;
					left: 16px;
					font-size: 10px;
					color: #0054a7;
					transform: rotate(-90deg);
				}
				#list-sidebar-menu .list-sidebar-sub-menu li a {
					padding: 5px;
					color: #0054a7;
					text-decoration: underline;
				}


/* パンくず */
#nav-bread-crumb {
	display: inline-block;
	width: 100%;
	margin-bottom: 10px;
}
	#nav-bread-crumb a,
	#nav-bread-crumb span {
		display: inline-block;
		margin: 0 5px;
		font-size: 15px;
	}
	#nav-bread-crumb a {
		color: #0096de;
		text-decoration: underline;
	}


/* コンテンツエリア */
#main-contents {
	display: inline-block;
	width: calc(100% - 350px);
	margin-bottom: 50px;
	vertical-align: top;
	float: right;
}
	/* コンテンツエリア：汎用ボックス枠 */
	.box-border {
		border: solid 2px #0096de;
		border-radius: 20px;
		background-color: white;
	}
		.box-post-header,
		.box-post-footer {
			position: relative;
		}
		.box-post-prev,
		.box-post-list,
		.box-post-next {
			display: inline-block;
			padding: 8px 16px;
			background-color: #eeeeee;
			border: solid 1px #cccccc;
			font-size: 14px;
			color: black;
			cursor: pointer;
			transition: background-color 0.4s;
		}
			.box-post-prev:hover,
			.box-post-list:hover,
			.box-post-next:hover {
				background-color: white;
			}
			.box-post-prev.disabled,
			.box-post-list.disabled,
			.box-post-next.disabled {
				background-color: #cccccc;
				color: gray;
				cursor: default;
			}

	/* コンテンツエリア：とさーち */
	#summon-search-area {
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
		align-items: center;
		width: 100%;
		margin-bottom: 40px;
		padding: 40px;
		border: solid 4px #51a7dd;
		border-radius: 20px;
		box-shadow: 8px 8px 0 #51a7dd;
		background-color: #e7eef6;
	}
		#summon-logo a {
			display: block;
			width: 251px;
			height: 50px;
			margin-bottom: 20px;
			background-image: url("../image/logo-tosearch.png");
		}
		#summon-search-area form {
			display: flex;
			max-width: 900px;
			min-width: 600px;
		}
		#summon-search-area form select {
			margin-right: -2px;
			padding: 7px 0 7px 12px;
			border: solid 2px #0054a7;
			border-radius: 25px 0 0 25px;
			background-color: white;
			font-size: 17px;
		}
		#summon-search-area input[type="text"] {
			flex-grow: 1;
			width: 546px;
			padding: 7px 0 7px 12px;
			border: 2px solid #0054a7;
			border-right: none;
			font-size: 15px;
		}
		#summon-search-area button {
			display: block;
			width: 108px;
			height: 46px;
			margin-left: -2px;
			background-image: url("../image/button-tosearch.png");
			border: none;
		}
			#summon-search-area button:before {
				background: rgba(255, 255, 255, 0.2);
				border-radius: 0 25px 25px 0;
			}

	/* コンテンツエリア：ローテーションバナー */
	#section-contents-banner {
		position: relative;
		top: -16px;
		opacity: 0;
	}
		#section-contents-banner .owl-stage-outer {
			left: 30px;
			width: calc(100% - 60px);
			height: 84px;
		}
			#section-contents-banner .owl-item {
				display: flex;
				align-items: center;
				max-width: 278px;
				height: 84px;
				border: solid 2px #aaaaaa;
				border-radius: 10px;
				overflow: hidden;
			}
		#section-contents-banner .owl-dots {
			display: none;
		}
		#section-contents-banner .owl-nav {
			height: 0;
			margin: 0;
		}
			#section-contents-banner .owl-prev,
			#section-contents-banner .owl-next {
				background-color: transparent;
			}
			#section-contents-banner .owl-prev:before,
			#section-contents-banner .owl-next:before {
				content: "";
				position: absolute;
				top: calc(50% - 9px);
				display: block;
				width: 16px;
				height: 16px;
				border-top: solid 10px transparent;
				border-bottom: solid 10px transparent;
				filter: drop-shadow(1px 1px 1px #333333);
			}
				#section-contents-banner .owl-prev:before {
					left: 5px;
					border-right: solid 15px black;
					border-left: unset;
				}
				#section-contents-banner .owl-next:before {
					right: 5px;
					border-right: unset;
					border-left: solid 15px black;
				}

	/* コンテンツエリア：お知らせ */
	body.home #sec-contents-news h2 {
		margin-bottom: 16px;
	}
	#sec-contents-news {
		padding: 42px;
		border: solid 4px #51a7dd;
		border-radius: 20px;
		box-shadow: 8px 8px 0 #51a7dd;
		background-color: white;
	}
		#sec-contents-news .box-post-header {
			padding: 16px 8px;
		}
			#sec-contents-news .box-post-header .box-post-prev,
			#sec-contents-news .box-post-header .box-post-next {
				position: absolute;
				top: 8px;
				font-weight: normal;
			}
				#sec-contents-news .box-post-header .box-post-prev { right: 140px; }
				#sec-contents-news .box-post-header .box-post-next { right:  10px; }
		#sec-contents-news .box-post-footer {
			height: 52px;
		}
			#sec-contents-news .box-post-footer .box-post-prev,
			#sec-contents-news .box-post-footer .box-post-list,
			#sec-contents-news .box-post-footer .box-post-next {
				position: absolute;
				top: 8px;
			}
				#sec-contents-news .box-post-footer .box-post-prev { left: 10px; }
				#sec-contents-news .box-post-footer .box-post-list { left: calc(50% - 54px); }
				#sec-contents-news .box-post-footer .box-post-next { right: 10px; }
		#sec-contents-news .campus1,
		#sec-contents-news .campus2,
		#sec-contents-news .campus3 {
			display: inline-block;
			width: 51px;
			min-width: 51px;
			height: 24px;
			margin-right: 5px;
			background-repeat: no-repeat;
		}
			#sec-contents-news .campus1.active { background-image: url("../image/icon-central.svg"); }
			#sec-contents-news .campus2.active { background-image: url("../image/icon-medical.svg"); }
			#sec-contents-news .campus3.active { background-image: url("../image/icon-monobe.svg"); }

		#sec-contents-news .box-footer {
			display: flex;
			align-items: center;
			border-top: solid 1px #0096de;
		}
			#sec-contents-news .box-footer a {
				position: relative;
				display: block;
				width: 200px;
				height: 40px;
				margin: 30px auto 0;
				padding-top: 8px;
				background-color: #0054a7;
				border-radius: 14px;
				color: white;
				font-size: 18px;
				font-weight: bold;
				text-align: center;
				transition: opacity 0.4s;
			}
				#sec-contents-news .box-footer a:after {
					content: "";
					position: absolute;
					top: calc(50% - 5px);
					right: 15px;
					display: block;
					width: 10px;
					height: 10px;
					background-color: white;
					border-radius: 10px;
				}
				#sec-contents-news .box-footer a:hover {
					opacity: 0.7;
					text-decoration: none;
				}
		#sec-contents-news a {
			padding-left: unset;
			font-size: unset;
			font-weight: unset;
			color: unset;
			text-decoration: unset;
		}
			#sec-contents-news a:before {
				content: unset;
			}
			#sec-contents-news a:hover {
				text-decoration: underline;
			}
		.box-news {
			position: relative;
			padding: 20px 10px;
			border-top: solid 1px #0096de;
		}
			.box-news:after {
				position: absolute;
				top: calc(50% - 5px);
				right: 5px;
				display: block;
				width: 10px;
				height: 10px;
				background-color: #0096de;
				border-radius: 10px;
			}
				body.home .box-news:after {
					content: "";
				}
			.box-news-option {
				display: flex;
				align-items: center;
				margin-bottom: 10px;
			}
				.box-news time {
					display: inline-block;
					width: 150px;
					color: #909090;
				}
			.box-news .title {
				display: flex;
				align-items: center;
				padding: unset;
				border: unset;
				color: unset;
				font-size: unset;
			}
		.box-news-detail {
			max-height: 150px;
			padding: 20px;
			overflow: auto;
		}
			.box-news-detail .img-news-thumbnail {
				max-width: 200px !important;
				margin: 0 20px 20px 0;
				float: left;
			}
		.single-news .box-news-detail {
			max-height: unset;
		}
	/* コンテンツエリア：WordPressページング */
	.wp-paginate {
		position: absolute;
		top: 8px;
		right: 8px;
		display: inline-block;
		height: 35px;
		padding: 7px;
		background-color: white;
		font-size: 16px;
	}
		.wp-paginate .page-numbers {
			display: inline-block;
			min-width: 14px;
			margin-left: unset;
			text-align: center;
			color: gray;
		}
			.wp-paginate .page-numbers.current {
				color: red;
				font-weight: bold;
			}
		.wp-paginate .prev,
		.wp-paginate .next {
			position: relative;
			text-align: left;
			margin-left: 3px;
		}
			.wp-paginate .prev:before,
			.wp-paginate .next:before {
				content: "▼" !important;
				position: absolute;
				top: 3px;
				left: 2px;
				font-size: 11px;
				color: black;
				transform: rotate(90deg);
			}
			.wp-paginate .next:before {
				left: unset;
				right: 3px;
				transform: rotate(-90deg);
			}
		.wp-paginate select {
			margin: -2px 4px 0 8px;
			padding: 0;
			font-size: 14px;
		}
		.box-pagenate-option {
			display: inline;
		}

	/* コンテンツエリア：利用案内（フロアマップ） */
	#sec-contents-guidance,
	#sec-contents-floormap {
		position: relative;
		padding: 43px 50px;
		border: solid 4px #51a7dd;
		border-radius: 20px;
		box-shadow: 8px 8px 0 #51a7dd;
		background-color: white;
		overflow: hidden;
	}
		#sec-contents-guidance ul,
		#sec-contents-floormap ul {
			position: relative;
			display: flex;
			justify-content: space-between;
			width: calc(100% - 25px);
			margin-top: 30px;
		}
			#sec-contents-guidance ul:before,
			#sec-contents-floormap ul:before {
				content: "";
				position: absolute;
				bottom: -6px;
				left: 0;
				display: block;
				width: calc(100% + 25px);
				height: 6px;
				background-color: #003e92;
			}
		#sec-contents-guidance .tab-guidance,
		#sec-contents-floormap .tab-guidance {
			position: relative;
			width: 244px;
			margin-right: 15px;
			padding: 15px 0;
			border-top: solid 6px #a2a2a2;
			border-right: solid 6px #a2a2a2;
			border-left: solid 6px #a2a2a2;
			text-align: center;
			cursor: pointer;
			transition: background-color 0.4s;
		}
			#sec-contents-guidance .tab-guidance:nth-child(1),
			#sec-contents-floormap .tab-guidance:nth-child(1) {
				border-right: unset;
			}
			#sec-contents-guidance .tab-guidance:nth-child(2),
			#sec-contents-floormap .tab-guidance:nth-child(2) {
				border-right: unset;
			}
			#sec-contents-guidance .tab-guidance:nth-child(3),
			#sec-contents-floormap .tab-guidance:nth-child(3) {
				border-left: unset;
			}
			#sec-contents-guidance .tab-guidance.active + .tab-guidance,
			#sec-contents-floormap .tab-guidance.active + .tab-guidance {
				border-right: solid 6px #a2a2a2;
				border-left: unset;
			}
			#sec-contents-guidance .tab-guidance.active,
			#sec-contents-floormap .tab-guidance.active {
				background-color: white;
				border: solid 6px #003e92;
				border-bottom: unset;
				border-left: unset;
				cursor: default;
				z-index: 2;
			}
				#sec-contents-guidance .tab-guidance.active:before,
				#sec-contents-guidance .tab-guidance.active:after,
				#sec-contents-floormap .tab-guidance.active:before,
				#sec-contents-floormap .tab-guidance.active:after {
					content: "";
					position: absolute;
					display: block;
				}
				#sec-contents-guidance .tab-guidance.active:before,
				#sec-contents-floormap .tab-guidance.active:before {
					top: -6px;
					left: 0;
					width: 6px;
					height: calc(100% + 12px);
					background-color: #003e92;
				}
				#sec-contents-guidance .tab-guidance.active:after,
				#sec-contents-floormap .tab-guidance.active:after {
					bottom: -7px;
					left: 6px;
					width: calc(100% - 6px);
					height: 8px;
					background-color: white;
				}
		#sec-contents-guidance section,
		#sec-contents-floormap section {
			position: absolute;
			top: 170px;
			left: 0;
			width: 100%;
			min-height: 400px;
			margin-bottom: 50px;
			padding: 10px;
			opacity: 0;
			transition: opacity 0.4s;
		}
			#sec-contents-guidance section.active,
			#sec-contents-floormap section.active {
				opacity: 1;
				z-index: 1;
			}
		#sec-contents-guidance  .img-guidance-main {
			display: block;
			max-width: 500px;
			margin: 36px auto;
		}
		#sec-contents-guidance h3 {
			margin: 20px 50px;
		}
		#sec-contents-guidance p,
		#sec-contents-floormap p {
			margin: 0 0 40px 50px;
			font-size: 17px;
			line-height: 1.4;
		}
			#sec-contents-guidance p a {
				margin-right: 100px;
			}
			#sec-contents-guidance p span {
				display: block;
				margin-top: 24px;
			}
			#sec-contents-guidance p button,
			#sec-contents-floormap p button {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 60px;
				height: 40px;
				margin-right: 20px;
				background: none;
				border: solid 1px #0096de;
				border-radius: 10px;
				font-size: 17px;
				font-weight: bold;
				color: #0096de;
				float: left;
				transition: color 0.4s, background 0.4s, border 0.4s;
			}
				#sec-contents-guidance p button:hover,
				#sec-contents-guidance p button.active,
				#sec-contents-floormap p button:hover,
				#sec-contents-floormap p button.active {
					background: #003e92;
					border-color: #003e92;
					color: white;
				}
					#sec-contents-guidance p button:hover:before,
					#sec-contents-floormap p button:hover:before {
						content: unset;
					}
		#sec-contents-guidance .box-floormap,
		#sec-contents-floormap .box-floormap {
			position: relative;
			height: 810px;
			margin: 116px 50px 32px 50px;
		}
			#sec-contents-guidance .box-floormap>div,
			#sec-contents-floormap .box-floormap>div {
				position: absolute;
				top: 0;
				left: 0;
				opacity: 0;
				transition: opacity 0.4s;
			}
				#sec-contents-guidance .box-floormap>div.active,
				#sec-contents-floormap .box-floormap>div.active {
					opacity: 1;
				}
			#sec-contents-guidance .box-floormap .box-floormap-header,
			#sec-contents-floormap .box-floormap .box-floormap-header {
				display: flex;
			}
				#sec-contents-guidance .box-floormap .box-floormap-header h4,
				#sec-contents-floormap .box-floormap .box-floormap-header h4 {
					display: inline-block;
					width: 72px;
					padding: unset;
					border: unset;
					font-size: 60px;
					font-weight: bold;
					color: #003e92;
				}
				#sec-contents-guidance .box-floormap .box-floormap-header img,
				#sec-contents-floormap .box-floormap .box-floormap-header img {
					display: inline-block;
					width: calc(100% - 76px);
					height: auto;
					max-width: 687px;
					margin-bottom: 10px;
				}
					#sec-contents-guidance #map-central-3f .box-floormap-header img { max-width: 500px; }
					#sec-contents-guidance #map-central-4f .box-floormap-header img { max-width: 500px; }
					#sec-contents-guidance #map-central-5f .box-floormap-header img { max-width: 500px; }
					#sec-contents-guidance #map-central-6f .box-floormap-header img { max-width: 500px; }
					#sec-contents-guidance #map-medical-1f .box-floormap-header img { max-width: 685px; }
					#sec-contents-guidance #map-medical-2f .box-floormap-header img { max-width: 638px; }
					#sec-contents-floormap #map-central-3f .box-floormap-header img { max-width: 500px; }
					#sec-contents-floormap #map-central-4f .box-floormap-header img { max-width: 500px; }
					#sec-contents-floormap #map-central-5f .box-floormap-header img { max-width: 500px; }
					#sec-contents-floormap #map-central-6f .box-floormap-header img { max-width: 500px; }
					#sec-contents-floormap #map-medical-1f .box-floormap-header img { max-width: 685px; }
					#sec-contents-floormap #map-medical-2f .box-floormap-header img { max-width: 638px; }
			#sec-contents-guidance .box-floormap h5,
			#sec-contents-floormap .box-floormap h5 {
				display: flex;
				align-items: center;
				height: 40px;
				margin: 0;
				padding-left: 20px;
				background-color: #333333;
				font-size: 17px;
				font-weight: bold;
				color: white;
			}
				#sec-contents-guidance .box-floormap h5:before,
				#sec-contents-floormap .box-floormap h5:before {
					content: unset;
				}
			#sec-contents-guidance .box-floormap dl,
			#sec-contents-floormap .box-floormap dl {
				background-color: white;
				font-size: 16px;
			}
				#sec-contents-guidance .box-floormap dl div,
				#sec-contents-floormap .box-floormap dl div {
					display: flex;
					align-items: center;
					min-height: 40px;
					padding: 5px 0;
				}
					#sec-contents-guidance .box-floormap dl div:nth-child(2n+2),
					#sec-contents-floormap .box-floormap dl div:nth-child(2n+2) {
						background-color: #ebebeb;
					}
			#sec-contents-guidance .box-floormap .dt-map-building,
			#sec-contents-floormap .box-floormap .dt-map-building {
				display: inline-block;
				min-width: 68px;
				margin: 0 1px 1px 0;
				padding: 0 6px;
				text-align: center;
			}
			#sec-contents-guidance .box-floormap .dt-map-hole,
			#sec-contents-floormap .box-floormap .dt-map-hole {
				display: inline-block;
				min-width: 208px;
				margin: 0 1px 1px 0;
				padding: 0 6px;
			}
			#sec-contents-guidance .box-floormap dd,
			#sec-contents-floormap .box-floormap dd {
				display: inline-block;
				min-width: 370px;
				margin-bottom: 1px;
				padding: 0 6px;
				font-size: 15px;
			}

	/* コンテンツエリア：資料検索 */
	#sec-contents-searchlink {
		position: relative;
	}
		#sec-contents-searchlink .cms-wrapper {
			padding: unset;
			background-color: unset;
			border: unset;
			border-radius: unset;
			box-shadow: unset;
			
		}
		#sec-contents-searchlink .tab-searchlink:nth-child(2) {
			padding: 10px 0 0;
			font-size: 13px;
		}
		#sec-contents-searchlink>ul {
			display: flex;
		}
		#sec-contents-searchlink>ul li {
			width: 150px;
			padding: 14px 0;
			background-color: #51a7dd;
			border: solid 4px #51a7dd;
			border-bottom-color: transparent;
			border-radius: 20px 20px 0 0;
			text-align: center;
			color: white;
			cursor: pointer;
			transition: background-color 0.4s;
		}
			#sec-contents-searchlink>ul li + li {
				margin-left: 10px;
			}
			#sec-contents-searchlink>ul li.active {
				background-color: white;
				border-bottom: unset;
				cursor: default;
				color: black;
				z-index: 2;
			}
		#sec-contents-searchlink section {
			position: absolute;
			top: 51px;
			left: 0;
			width: 100%;
			margin-bottom: 50px;
			padding: 30px 50px;
			border: solid 4px #51a7dd;
			border-radius: 0 20px 20px;
			box-shadow: 8px 8px 0 #51a7dd;
			background-color: white;
			height: 0;
			overflow: hidden;
			opacity: 0;
			transition: opacity 0.4s;
		}
			#sec-contents-searchlink section.active {
				height: auto;
				opacity: 1;
				z-index: 1;
			}
		#sec-contents-searchlink .box-searchlink-explain {
			margin: -10px 0 50px;
		}
			#sec-contents-searchlink .box-searchlink-explain p {
				margin: 10px 0 30px;
				line-height: 160%;
			}
		#sec-contents-searchlink .box-searchlink-link {
			margin-bottom: 24px;
			font-size: 18px;
			line-height: 1.4;
		}

	/* コンテンツエリア：サイト内検索 */
	#sec-contents-search {
		padding: 10px;
	}
		#sec-contents-search h2 {
			padding: 10px 20px;
		}
		#sec-contents-search a {
			padding-left: unset;
			font-size: unset;
			text-decoration: unset;
		}
			#sec-contents-search a:before {
				content: unset;
			}
			#sec-contents-search a:hover {
				text-decoration: underline;
			}
		#sec-contents-search .box-search-result {
			margin: 20px 10px;
			padding: 10px 20px;
			border-top: solid 1px #0096de;
		}
			#sec-contents-search .box-search-result a {
				color: blue;
				text-decoration: underline;
			}
			#sec-contents-search .box-search-result .box-search-result-content {
				padding: 10px 20px 0;
				line-height: 150%;
			}


/* TOPボタン */
#button-return-top {
	position: fixed;
	top: calc(100vh - 65px);
	left: calc(100vw - 65px);
	display: none;
	width: 40px;
	height: 40px;
	padding: 0;
	background: #51a7dd;
	border: none;
	border-radius: 8px;
	box-shadow: 2px 2px 0 #0054a7;
	font-size: 12px;
	text-align: center;
	color: white;
	opacity: 0.9;
	z-index: 2;
	animation: button-return-top-float 2s ease-in-out infinite;
}
	#button-return-top:before {
		content: unset;
	}
	#button-return-top:hover {
		opacity: 0.6;
	}
@keyframes button-return-top-float {
	0%   { transform: translateY(0); }
	50%  { transform: translateY(-10px); }
	100% { transform: translateY(0); }
}


/* フッター */
footer {
	position: relative;
	clear: both;
	height: 340px;
	background-color: #e7eef6;
	background-image: url("../image/bg-footer.svg");
	background-repeat: repeat-x;
	background-position: left bottom;
	animation: bg-slider 24s linear infinite;
	z-index: 1;
}
@keyframes bg-slider {
	from { background-position: 0 bottom; }
    to   { background-position: -1573px bottom; }
}
	#box-footer-body {
		max-width: 1280px;
		margin: 0 auto;
		padding: 0 5px;
	}

		/* フッター：ロゴ */
		#box-footer-logo {
			position: relative;
			display: flex;
			align-items: center;
			width: 500px;
			height: 180px;
			padding-top: 24px;
			float: left;
		}
			#box-footer-logo:after {
				content: "Copyright (C) Kochi University. All Rights Reserved";
				position: absolute;
				bottom: 0;
				left: 20px;
				font-size: 13px;
			}
			#box-footer-logo a:first-child {
				display: inline-block;
				width: 50px;
				height: 52px;
				margin: 0 12px;
				background-image: url("../image/logo-univ.svg");
				background-repeat: no-repeat;
				background-size: contain;
				background-position: center 2px;
			}
			#box-footer-logo a:last-child {
				display: inline-block;
				width: 300px;
				height: 58px;
				text-decoration: none;
			}
				#box-footer-logo a:nth-child(2):before {
					content: "学術情報基盤図書館";
					display: block;
					margin-top: 1px;
					font-size: 28px;
					line-height: 37px;
					letter-spacing: 4px;
					font-weight: 500;
				}
				#box-footer-logo a:nth-child(2):after {
					content: "Library and Information Technology";
					display: block;
					font-size: 15px;
					letter-spacing: 0.8px;
					font-weight: 500;
				}

		/* フッター：リンク：共通 */
		#box-footer-body ul {
			display: flex;
			justify-content: space-between;
		}
			#box-footer-body ul li a {
				display: flex;
				align-items: center;
				font-size: 17px;
			}
				#box-footer-body ul li a:before {
					display: inline-block;
					margin: 1px 4px 0 0;
					font-size: 10px;
				}
					#box-footer-body ul li a:hover {
						text-decoration: none;
						font-weight: bold;
					}
		/* フッター：リンク上段 */
		#box-footer-link-first {
			display: inline-block;
			width: calc(100% - 535px);
			margin: 100px 0 40px 30px;
		}
			#box-footer-link-first ul li a:before {
				content: "●";
				color: #0096de;
			}
		/* フッター：リンク下段 */
		#box-footer-link-second {
			display: inline-block;
			width: calc(100% - 535px);
			margin-left: 30px;
		}
			#box-footer-link-second ul li a:before {
				content: "▼";
				transform: rotate(-90deg);
			}




/* WordPress エディタにより付加されたクラス（これを変更する場合、wp-editor.css にも同様の変更を適用することを忘れないでください） */
.wp-content h1 { margin: 20px 0; font-size: 32px; font-weight: bold; }
.wp-content h2 { margin: 20px 0; font-size: 28px; font-weight: bold; }
.wp-content h3 { margin: 20px 0; font-size: 24px; font-weight: bold; }
.wp-content h4 { margin: 20px 0; font-size: 20px; font-weight: bold; }
.wp-content h5 { margin: 20px 0; font-size: 16px; font-weight: bold; }
.wp-content h6 { margin: 20px 0; font-size: 12px; font-weight: bold; }
.wp-content ul { margin: 10px 10px 10px 40px; }
	.wp-content li { list-style: circle; }
.wp-content ol { margin: 10px 10px 10px 40px; }
	.wp-content ol li { list-style: auto; }
.wp-content blockquote {
	padding: 6px 10px;
	border: solid 1px silver;
	border-left-width: 4px;
	border-radius: 3px;
	background-color: white;
}
.wp-content a {
	color: blue;
	text-decoration: underline;
}
.wp-content th,
.wp-content td {
	padding: 3px;
	border: solid 1px gray;
}
.wp-content th {
	background-color: #bbccff;
}


/* 現行サイト移行用 */
.lib-wrapper {
	padding: 10px;
	border: solid 4px #51a7dd;
	border-radius: 20px;
	box-shadow: 8px 8px 0 #51a7dd;
	background-color: white;
}
	.lib-wrapper h1 {
		margin: 5px 0 0;
		padding: 5px 0;
		font-size: 1.4em;
		background-image: url("../image/lib/h1_icon.png");
		background-repeat: no-repeat;
		background-position-y: 8px;
		text-indent: 30px;
		color: #009999;
		line-height: 130%;
	}
	.lib-wrapper h2 {
		margin: 2em 0 5px;
		font-size: 0.9em;
		font-weight: bold;
		color: #000000;
		background: transparent;
		border-bottom-width: 1px;
		border-left-width: 5px;
		border-bottom-style: solid;
		border-left-style: solid;
		border-bottom-color: #009999;
		border-left-color: #009999;
		padding: 5px;
	}
	.lib-wrapper h3 {
		background-color: #DCE6EB;
		font-size: 0.9em;
		padding: 5px;
		font-weight: normal;
	}
	.lib-wrapper .enhanced li {
		margin: 10px;
		padding: 0 0 5px 10px;
		text-indent: 20px;
		background-image: url("../image/lib/content_enhanced_li.png");
		background-repeat: no-repeat;
		background-position-y: 2px;
		list-style-type: none;
	}
	.lib-wrapper li {
		font-size: 0.9em;
		line-height: 150%;
		margin-bottom: 1em;
	}
	.lib-wrapper p {
		font-size: 0.9em;
		line-height: 150%;
	}
	.lib-wrapper a {
		color: #339999;
	}
	.lib-wrapper table {
		margin-top: 10px;
		font-size: 0.9em;
	}
		.lib-wrapper th {
			background-color: #009999;
			color: #FFFFFF;
			padding: 5px;
			border: solid 1px white;
		}
		.lib-wrapper td {
			background-color: #DCE6EB;
			border: solid 1px white;
		}
	.lib-wrapper hr {
		margin: 0.5em 0;
	}
	.lib-wrapper .hpb-parts-hl-style {
		border-color: #cccccc;
	}
	.lib-wrapper .hpb-parts-hl-07 {
		margin: 0px;
		padding: 0px 0px 0px 0.2em;
		border-left-width: 1.2em !important;
		border-left-style: solid !important;
		border-bottom-width: 2px !important;
		border-bottom-style: solid !important;
		border-top-style: none !important;
		border-right-style: none !important;
		line-height: 1.2em;
	}
	.lib-wrapper img {
		margin-right: 5px;
	}
	.lib-wrapper blockquote {
		display: block;
		margin-block-start: 1em;
		margin-block-end: 1em;
		margin-inline-start: 40px;
		margin-inline-end: 40px;
		margin: 16px 0;
		padding: 0;
		border: none;
		background-color: unset;
	}



/* 大学様HTML入力補助用 */
.ku1-wrapper,
.ku2-wrapper,
.cms-wrapper {
	padding: 30px 50px 50px;
	border: solid 4px #51a7dd;
	border-radius: 20px;
	box-shadow: 8px 8px 0 #51a7dd;
	background-color: white;
}
	.ku1-wrapper,
	.ku2-wrapper {
		line-height: 140%;
	}
	.ku1-wrapper h2,
	.ku2-wrapper h2,
	.cms-wrapper h2 {
		display: flex;
		align-items: center;
		font-size: 30px;
		font-weight: bold;
	}
		.ku1-wrapper h2,
		.ku2-wrapper h2 {
			display: block;
		}
		.ku2-wrapper h2 {
			margin-bottom: 10px;
			padding-bottom: 10px;
			border-bottom: solid 2px #51a7dd;
			color: #51a7dd;
			line-height: 100%;
		}
		.ku1-wrapper h2.icon-book,
		.ku2-wrapper h2.icon-book,
		.cms-wrapper h2.icon-book {
			position: relative;
			padding-left: 44px;
		}
			.ku1-wrapper h2.icon-book:before,
			.ku2-wrapper h2.icon-book:before,
			.cms-wrapper h2.icon-book:before {
				content: "";
				position: absolute;
				top: 2px;
				left: 0;
				width: 34px;
				height: 33px;
				background-image: url("../image/icon-book.svg");
				background-repeat: no-repeat;
			}
		.cms-wrapper h2 span {
			margin: 2px 0 0 16px;
			font-size: 15px;
		}
	.ku1-wrapper h3,
	.ku2-wrapper h3,
	.cms-wrapper h3 {
		margin: 20px 0;
		padding: 7px 0;
		font-size: 22px;
		border-bottom: solid 2px #003e92;
	}
		.ku2-wrapper h3 {
			margin-bottom: 10px;
			padding: 11px 16px 13px;
			background-color: #51a7dd;
			border: none;
			color: white;
		}
	.ku1-wrapper h4,
	.ku2-wrapper h4,
	.cms-wrapper h4 {
		display: inline-block;
		margin-bottom: 10px;
		padding: 15px 30px;
		border: solid 1px #003e92;
		color: #003e92;
		font-size: 17px;
	}
		.ku1-wrapper h4,
		.ku2-wrapper h4 {
			display: block;
		}
		.ku2-wrapper h4 {
			padding: 10px 20px;
			background-color: #dce6eb;
		}
	.ku1-wrapper h5,
	.ku2-wrapper h5,
	.cms-wrapper h5 {
		margin: 10px 0;
	}
		.ku1-wrapper h5:before,
		.cms-wrapper h5:before {
			content: "□ ";
		}
		.ku2-wrapper h5:before {
			content: "● ";
		}
	.ku1-wrapper a,
	.ku2-wrapper a,
	.cms-wrapper a {
		position: relative;
		padding-left: 20px;
		color: #0096de;
		font-size: 17px;
		font-weight: bold;
		text-decoration: underline;
	}
		.ku1-wrapper .enhanced a:before,
		.ku2-wrapper .enhanced a:before,
		.cms-wrapper a:before {
			content: "▼";
			position: absolute;
			top: 7px;
			left: 2px;
			font-size: 10px;
			line-height: 15px;
			transform: rotate(-90deg);
		}
		.ku1-wrapper a,
		.ku2-wrapper a,
		.cms-wrapper a.no-arrow {
			padding-left: 0;
		}
			.cms-wrapper a.no-arrow:before {
				content: unset;
			}
			.ku1-wrapper .enhanced a,
			.ku2-wrapper .enhanced a {
				padding-left: 20px;
			}
		.ku1-wrapper a.active,
		.ku2-wrapper a.active,
		.cms-wrapper a.active {
			color: black;
			text-decoration: none;
			cursor: default;
		}
		.ku1-wrapper a.link-genre,
		.ku2-wrapper a.link-genre,
		.cms-wrapper a.link-genre {
			padding-left: 92px;
		}
			.ku1-wrapper a.link-genre:after,
			.ku2-wrapper a.link-genre:after,
			.cms-wrapper a.link-genre:after {
				content: attr(data-genre);
				position: absolute;
				top: 2px;
				left: 20px;
				display: flex;
				align-items: center;
				justify-content: center;
				width: 64px;
				height: 24px;
				border-radius: 10px;
				background-color: #0096de;
				color: white;
				font-size: 13px;
				font-weight: bold;
			}
		.ku1-wrapper .box-limit-indicator,
		.ku2-wrapper .box-limit-indicator,
		.cms-wrapper .box-limit-indicator {
			position: relative;
			top: -1px;
			display: inline-block;
			margin-left: 24px;
			padding: 2px 10px 2px 20px;
			border: solid 1px #111111;
			border-radius: 10px;
			background-image: url("../image/icon-eye.svg");
			background-position: 5px center;
			background-repeat: no-repeat;
			font-size: 13px;
			color: #111111;
		}
			.ku1-wrapper .box-limit-indicator + .box-limit-indicator,
			.ku2-wrapper .box-limit-indicator + .box-limit-indicator,
			.cms-wrapper .box-limit-indicator + .box-limit-indicator {
				margin-left: 8px;
			}
		.ku1-wrapper .box-link-explain,
		.ku2-wrapper .box-link-explain,
		.cms-wrapper .box-link-explain {
			padding: 12px 72px 32px 24px;
			font-size: 16px;
		}
	.ku1-wrapper li,
	.ku2-wrapper li,
	.cms-wrapper li {
		line-height: 150%;
	}
		.ku1-wrapper .enhanced li,
		.ku2-wrapper .enhanced li,
		.cms-wrapper .enhanced li {
			margin: 10px;
			padding: 0 0 5px 10px;
			list-style: none;
		}
	.ku1-wrapper ul.list-square,
	.ku2-wrapper ul.list-square,
	.cms-wrapper ul.list-square {
		margin-left: 20px;
	}
		.ku1-wrapper ul.list-square li,
		.ku2-wrapper ul.list-square li,
		.cms-wrapper ul.list-square li {
			position: relative;
			margin: 15px 0;
			list-style: none;
		}
			.ku1-wrapper ul.list-square li:before,
			.ku2-wrapper ul.list-square li:before,
			.cms-wrapper ul.list-square li:before {
				content: "■";
				position: absolute;
				top: 4px;
				left: -17px;
				color: #003e92;
				font-size: 10px;
			}
			.ku1-wrapper ul.list-square li.list-explain,
			.ku2-wrapper ul.list-square li.list-explain,
			.cms-wrapper ul.list-square li.list-explain {
				left: -17px;
				color: red;
			}
				.ku1-wrapper ul.list-square li.list-explain:before,
				.ku2-wrapper ul.list-square li.list-explain:before,
				.cms-wrapper ul.list-square li.list-explain:before {
					content: unset;
				}
	.ku1-wrapper p,
	.ku2-wrapper p,
	.cms-wrapper p,
	.ku1-wrapper .cms-textbox,
	.ku2-wrapper .cms-textbox,
	.cms-wrapper .cms-textbox {
		margin: 5px 0;
		line-height: 140%;
	}
		.ku1-wrapper p,
		.ku2-wrapper p {
			padding-left: 15px;
		}
	.ku1-wrapper table,
	.ku2-wrapper table,
	.cms-wrapper table {
		margin: 5px 0;
	}
		.ku1-wrapper table + table,
		.ku2-wrapper table + table,
		.cms-wrapper table + table {
			margin-top: 10px;
		}
	.ku1-wrapper td,
	.ku1-wrapper th,
	.ku2-wrapper td,
	.ku2-wrapper th,
	.cms-wrapper td,
	.cms-wrapper th {
		padding: 5px;
	}
		.ku1-wrapper td,
		.ku2-wrapper td,
		.cms-wrapper td {
			background-color: white;
		}
	.ku1-wrapper .note-paper,
	.ku2-wrapper .note-paper,
	.cms-wrapper .note-paper {
		display: inline-block;
		margin-bottom: 3px;
		padding: 3px 8px;
		background-color: #ffeeaa;
	}
	.ku1-wrapper fieldset,
	.ku2-wrapper fieldset,
	.cms-wrapper fieldset {
		margin: 0 5px 5px 5px;
		padding: 0 10px;
		border: solid 1px gray;
	}
		.ku1-wrapper fieldset legend,
		.ku2-wrapper fieldset legend,
		.cms-wrapper fieldset legend {
			margin: 0 10px;
			padding: 0 10px;
		}
	.ku1-wrapper img,
	.ku2-wrapper img,
	.cms-wrapper img {
		max-width: 100%;
	}





/* レスポンシブ対応 */
/* 横1080pxを超えない画面サイズの場合、スマホと判断 */
@media (max-width: 1079px) {
	html {
		font-family: 'Noto Sans JP',adobe-clean,'adobe clean','ヒラギノ角ゴ Pro W3','Hiragino Kaku Gothic Pro','メイリオ',Meiryo,'ＭＳ Ｐゴシック','MS PGothic',sans-serif;
		background-color: #eaf4f7;
	}
	#box-body {
		position: relative;
		width: 390px;
		margin: 0 auto;
		padding: 0 5px;
	}

	.pc-only { display: none !important; }
	.mobile-only { display: block; }

	/* ヘッダー */
	header {
		min-width: 390px;
		height: 100px;
		margin: 0 auto 32px;
		padding: 0 10px;
	}
		/* ヘッダー：ロゴ */
		#box-header-logo {
			display: block;
			width: 100%;
			max-width: 390px;
			margin: 0 auto;
		}
			#box-header-logo h1 {
				display: flex;
				align-items: center;
				margin-top: 8px;
			}
			#box-header-logo h1 a:nth-child(1) {
				margin: 0 20px 0 0;
			}
			#box-header-logo h1 a:nth-child(2) {
				display: inline-block;
				width: 260px;
				height: 54px;
			}
				#box-header-logo h1 a:nth-child(2):before {
					margin-top: 4px;
					font-size: 22px;
					line-height: 24px;
				}
				#box-header-logo h1 a:nth-child(2):after {
					margin-top: 6px;
					font-size: 13px;
					letter-spacing: 0.2px;
				}
			#button-mobile-menu {
				display: inline-block;
				width: 50px;
				height: 50px;
				background-image: url("../image/sp/button-menu.svg");
				background-repeat: no-repeat;
				cursor: pointer;
			}

	/* グローバルメニュー */
	#nav-global-menu {
		position: fixed;
		top: 65px;
		left: calc(max(100vw, 390px));
		display: block;
		width: calc(max(100vw, 390px));
		height: calc(max(100vh, 100%));
		padding: 0 calc(50vw - 195px) 50px calc(50vw - 195px);
		background-color: #0096de;
		overflow: auto;
		opacity: 0;
		z-index: 5;
		transition: left 0.4s, opacity 0.4s;
	}
		#nav-global-menu.active {
			left: 0;
			opacity: 1;
		}
		/* グローバルメニュー：サイト内検索＆閉じるボタン */
		#box-global-menu-header {
			display: flex;
			align-items: center;
			justify-content: space-between;
			width: 390px;
			height: 100px;
		}
			#box-global-menu-header .form-search {
				height: 44px;
				margin: 0 0 0 25px;
				border-radius: 10px 22px 22px 10px
			}
				#box-global-menu-header .form-search input {
					height: 34px;
				}
				#box-global-menu-header .form-search button {
					top: 3px;
					right: 3px;
					width: 34px;
					height: 34px;
					background-image: url("../image/sp/button-search.svg");
				}
			#box-global-menu-header #button-global-menu-close {
				width: 50px;
				height: 50px;
				margin-right: 25px;
				background-image: url("../image/sp/button-close.svg");
				background-repeat: no-repeat;
				float: right;
				cursor: pointer;
			}
		/* グローバルメニュー：リスト */
		#list-global-menu {
			display: block;
			margin: 0 40px;
		}
			#list-global-menu>li {
				position:relative;
				width: 310px;
				height: auto;
				color: white;
				background: none;
			}
				#list-global-menu>li:hover {
					padding-top: unset;
					background-position-y: unset;
					border-radius: unset;
				}
				#list-global-menu>li>span,
				#list-global-menu a {
					position: relative;
					display: block;
					width: 100%;
					padding: 11px 0 11px 25px;
					text-align: left;
					font-size: 19px;
					cursor: pointer;
				}
					#list-global-menu>li>span:before,
					#list-global-menu a:before {
						content: "";
						position: absolute;
						top: 18px;
						left: 0;
						display: block;
						width: 10px;
						height: 10px;
						background-color: white;
						border-radius: 10px;
					}
					#list-global-menu>li>span:after,
					#list-global-menu a:after {
						content: "";
						position: absolute;
						top: 7px;
						right: 0;
						display: block;
						width: 30px;
						height: 30px;
						background-repeat: no-repeat;
					}
					#list-global-menu>li>span.link-close:after {
						background-image: url("../image/sp/button-plus.svg");
					}
					#list-global-menu>li>span.link-open:after {
						background-image: url("../image/sp/button-minus.svg");
					}
			#list-global-menu .list-global-sub-menu {
				position: relative;
				top: unset;
				left: unset;
				width: 315px;
				padding: 5px 25px;
				border: unset;
				border-radius: unset;
				background-color: unset;
			}
				#list-global-menu .list-global-sub-menu:before {
					content: unset;
				}
				#list-global-menu .list-global-sub-menu>li {
					display: block;
					width: 100%;
				}
				#list-global-menu .list-global-sub-menu span {
					width: 100%;
					background-color: unset;
					border: solid 2px white;
					font-size: 19px;
				}
					#list-global-menu .list-global-sub-menu li li {
						padding-left: 25px;
					}
					#list-global-menu .list-global-sub-menu li a {
						padding-left: 25px;
						font-size: 19px;
					}
						#list-global-menu .list-global-sub-menu li a:before {
							content: "▼";
							position: absolute;
							top: 16px;
							left: -8px;
							background-color: unset;
							font-size: 10px;
							transform: rotate(-90deg);
						}
						#list-global-menu .list-global-sub-menu li a:hover {
							background-color: unset;
						}
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist { left: unset; width: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist:before { left: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist>li:nth-child(1) { width: unset; margin-right: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist>li:nth-child(2) { width: unset; margin-right: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-searchlist>li:nth-child(3) { width: unset; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository { left: unset; width: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository:before { left: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository>li:nth-child(1) { width: unset; margin-right: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository>li:nth-child(2) { width: unset; margin-right: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-repository>li:nth-child(3) { width: unset; }
				#list-global-menu .list-global-sub-menu#list-global-sub-menu-contactus  { width: unset; right: unset; }
					#list-global-menu .list-global-sub-menu#list-global-sub-menu-contactus:before { left: unset; }

	/* コンテンツエリア */
	#main-contents {
		display: block;
		width: 390px;
		float: unset;
	}

		/* コンテンツエリア：とさーち */
		#summon-logo a {
			width: 274px;
			height: 44px;
			background-image: url("../image/sp/logo-tosearch.png");
		}
		#summon-search-area form {
			display: flex;
			width: 360px;
			height: 46px;
			max-width: unset;
			min-width: unset;
		}
			#summon-search-area form select {
				width: 121px;
				font-size: 15px;
			}
			#summon-search-area input[type="text"] {
				width: 241px;
				border: solid 2px #0096de;
				border-radius: 0 23px 23px 0;
				font-size: 14px;
			}
			#summon-search-area button {
				width: 34px;
				height: 34px;
				margin: 6px 0 0 -40px;
				background-image: url("../image/sp/button-tosearch.svg");
			}

		/* コンテンツエリア：お知らせ */
		#sec-contents-news {
			padding: 35px 20px;
		}
			#sec-contents-news h2.box-post-header {
				padding-top: 0;
				padding-bottom: 72px;
			}
				#sec-contents-news h2.box-post-header .box-post-prev {
					top: 58px;
					right: unset;
					left: 10px;
				}
				#sec-contents-news h2.box-post-header .box-post-next {
					top: 58px;
					right: 10px;
				}
			#sec-contents-news h2box-post-footer {
				height: 92px;
			}
				#sec-contents-news h2.box-post-footer .box-post-list {
					top: 48px;
				}
			.single-news .box-news .title {
				position: relative;
				display: block;
				margin-top: 32px;
			}
				.single-news .box-news .title .campus1,
				.single-news .box-news .title .campus2,
				.single-news .box-news .title .campus3 {
					position: absolute;
					top: -34px;
				}
					.single-news .box-news .title .campus1.active { left:     0; }
					.single-news .box-news .title .campus2.active { left:  56px; }
					.single-news .box-news .title .campus3.active { left: 112px; }
		.wp-paginate {
			top: 36px;
			padding-right: 0;
			text-align: right;
			background: transparent;
		}
			.box-pagenate-option {
				display: block;
				margin-top: 8px;
			}
			.box-news-detail .img-news-thumbnail {
				max-width: 285px !important;
				margin: 0 0 20px 0;
				float: unset;
			}

		/* コンテンツエリア：利用案内 */
		#sec-contents-guidance,
		#sec-contents-floormap {
			padding: 30px 15px;
		}
			#sec-contents-guidance ul,
			#sec-contents-floormap ul {
				width: 100%;
			}
				#sec-contents-guidance ul:before,
				#sec-contents-floormap ul:before {
					width: 100%;
				}
				#sec-contents-guidance .tab-guidance,
				#sec-contents-floormap .tab-guidance {
					margin-right: 5px;
				}
				#sec-contents-guidance section,
				#sec-contents-floormap section {
					top: 154px;
				}
				#sec-contents-guidance .img-guidance-main {
					max-width: 330px;
				}
				#sec-contents-guidance h3 {
					margin-left: 5px;
				}
				#sec-contents-guidance p,
				#sec-contents-floormap p {
					margin-left: 29px;
				}
					#sec-contents-guidance p a {
						margin-right: unset;
					}
					#sec-contents-guidance p button,
					#sec-contents-floormap p button {
						margin-bottom: 5px;
					}
				#sec-contents-guidance .box-floormap,
				#sec-contents-floormap .box-floormap {
					height: 810px;
					margin-left: 5px;
				}
					#sec-contents-guidance .box-floormap dl,
					#sec-contents-floormap .box-floormap dl {
						margin-left: 0 !important;
					}
					#sec-contents-guidance .box-floormap .dt-map-hole,
					#sec-contents-floormap .box-floormap .dt-map-hole {
						width: 295px;
					}
					#sec-contents-guidance .box-floormap dd,
					#sec-contents-floormap .box-floormap dd {
						display: none;
					}

		/* コンテンツエリア：資料検索 */
		#sec-contents-searchlink ul {
			width: 100%;
		}
			#sec-contents-searchlink .tab-searchlink {
				margin: 0 2px 0 0;
				padding-top: 17px;
				padding-bottom: 8px;
				font-size: 12px;
			}
				#sec-contents-searchlink .tab-searchlink:nth-child(2) {
					padding-top: 15px;
					font-size: 9px;
				}
				#sec-contents-searchlink .tab-searchlink:nth-child(5) {
					margin: 0;
					padding-top: 11px;
				}
			#sec-contents-searchlink section {
				padding: 30px 15px 50px;
				border-top-right-radius: unset;
			}
			#sec-contents-searchlink h3 {
				margin-left: 5px;
			}
			#sec-contents-searchlink .box-searchlink-link {
				margin-left: 24px;
			}

	/* サイドバー */
	#nav-sidebar {
		display: block;
		margin: 0 auto 50px;
	}
		#nav-sidebar a:hover {
			background-color: unset;
		}

	/* フッター */
	footer {
		position: relative;
		min-width: 390px;
		height: 470px;
		background-image: url("../image/sp/bg-footer.svg");
		animation: bg-slider-mobile 20s linear infinite;
	}
	@keyframes bg-slider-mobile {
		from { background-position: 0 bottom; }
	    to   { background-position: -881px bottom; }
	}
		footer:after {
			content: "Copyright (C) Kochi University. All Rights Reserved";
			position: absolute;
			bottom: 72px;
			left: 0;
			width: 100%;
			font-size: 13px;
			text-align: center;
		}
		#box-footer-body {
			max-width: 390px;
		}
			/* フッター：ロゴ */
			#box-footer-logo {
				display: flex;
				align-items: center;
				justify-content: center;
				width: 100%;
				height: 120px;
				padding: 0;
				float: unset;
			}
				#box-footer-logo:after {
					content: unset;
				}
				#box-footer-logo a:first-child {
					margin:  0 9px 0 0;
				}
				#box-footer-logo a:last-child {
					width: 250px;
					height: 54px;
					margin: 0 0 0 8px;
				}
					#box-footer-logo a:last-child:before {
						margin-top: 5px;
						font-size: 22px;
						line-height: 24px;
					}
					#box-footer-logo a:last-child:after {
						margin-top: 6px;
						font-size: 13px;
						letter-spacing: 0.2px;
					}
			/* フッター：リンク：共通 */
			#box-footer-body ul {
				display: block;
			}
				#box-footer-body ul li a {
					align-items: left;
					margin-bottom: 25px;
				}
			/* フッター：リンク上段 */
			#box-footer-link-first {
				width: calc(50% - 35px);
				margin: 0 0 0 30px;
				vertical-align: top;
			}
				#box-footer-link-first ul li a:before {
					content: "●";
					color: #0096de;
				}
			/* フッター：リンク下段 */
			#box-footer-link-second {
				width: calc(50% - 35px);
				margin: 0 0 0 35px;
				vertical-align: top;
			}
				#box-footer-link-second ul li a {
					font-size: 15px;
				}
					#box-footer-link-second ul li a:before {
						content: "▼";
						transform: rotate(-90deg);
					}

	/* TOPボタン */
	#button-return-top {
		top: calc(100vh - 53px);
		left: calc(100vw - 53px);
	}

	/* 大学様HTML入力補助用 */
	.lib-wrapper,
	.ku1-wrapper,
	.ku2-wrapper,
	.cms-wrapper {
		padding: 15px 15px 30px;
		overflow: auto;
	}
		.ku1-wrapper h2,
		.ku2-wrapper h2,
		.cms-wrapper h2 {
			line-height: 1;
		}
		.ku1-wrapper .box-limit-indicator,
		.ku2-wrapper .box-limit-indicator,
		.cms-wrapper .box-limit-indicator {
			margin-left: 5px;
		}
}


