﻿html, body {
	font-family: 'ヒラギノ角ゴ ProN', 'Hiragino Kaku Gothic ProN', 'メイリオ', Meiryo, 'ＭＳ Ｐゴシック', 'MS PGothic', sans-serif;
}

body {
	padding-top: 100px;
	padding-bottom: 20px;
}

a {
	color: #343a40;
}

.description {
	font-size: 0.9em;
	line-height: 2.0em;
}

h2, .h2 {
	padding: 0.25em 0.5em; /*上下 左右の余白*/
	background: transparent; /*背景透明に*/
	border-left: solid 5px #dee2e6; /*左線*/
	font-size: 1.4rem;
	margin-bottom: 0.8em;
}

/* ヘッダー（メニューバー） */
a.nav-link, .user-name {
	color: #343a40 !important;
}

a.nav-link {
	font-size: 1.0rem;
}
.user-name {
	font-size: 0.9rem;
}

a.nav-link:hover {
	background-color: #f8f9fa;
}

@media (max-width: 991.98px) {
	.hidden-md {
		display: none;
	}
}

.navbar-toggler {
	border: 0px;
}

.navbar-toggler button {
	border: 1px solid transparent;
}

/* spanタグ等で リードオンリー風のテキスト表示 */
.input-text-readonly {
	background-color: #f8f9fa !important;
	height: calc(1.5em + 0.75rem + 2px);
	padding: 0.375rem 0.75rem;
	background-clip: padding-box;
	border: 1px solid #ced4da;
	border-radius: 0.25rem;
	transition: border-color 0.15s ease-in-out, box-shadow 0.15s ease-in-out;
	line-height: 1.5;
	color: #495057;
}

span.form-control {
	min-height: calc(1.5em + 0.75rem + 2px);
	height: auto; /* height指定の打ち消し用 */
}

/* 検索条件の枠 */
.search-condition {
	background-color: #f8f9fa;
	border: 1px solid #dee2e6;
	border-radius: 0.4rem;
	padding: 1rem 1.5rem;
	margin-bottom: 1.5rem;
}

.search-condition .col-form-label {
	text-align: right;
}

@media (max-width: 991.98px) {
	.search-condition .col-form-label {
		text-align: left;
	}
}

.cal {
	max-width: 180px;
}

/* ラジオボタンの見た目ボタン化 */
.btn-radio {
	display: none;
}

.btn-radio:checked + label {
	background: #17a2b8; /* マウス選択時の背景色を指定する */
	color: #ffffff; /* マウス選択時のフォント色を指定する */
	border: 2px solid #17a2b8;
}

.btn-radio + label {
	margin-right: 10px;
	padding: 4px 6px;
	border: 2px solid #17a2b8;
	border-radius: 5px;
	color: #17a2b8;
	background-color: #fff;
	cursor: pointer;
	user-select: none;
}

/* ツールチップ */
.tooltip-target {
	display: inline-block; /* インライン要素化 */
	border-bottom: dashed 1px #212529; /* 下線を引く */
	cursor: help;
}

.tooltip-target .tooltip-text {
	display: none;
}

.tooltip-target .tooltip-text:before {
	content: '';
	display: block;
	position: absolute; /* relativeからの絶対位置 */
	height: 0;
	width: 0;
	top: 110px;
	left: 70px;
	border: 13px transparent solid;
	border-right-width: 0;
	border-left-color: #17a2b8;
	transform: rotate(90deg); /* 傾きをつける */
	-webkit-transform: rotate(90deg);
	-o-transform: rotate(90deg);
	z-index: 100;
}

.tooltip-target:hover {
	position: relative;
	color: #17a2b8;
}

.tooltip-target:hover .tooltip-text {
	display: block; /* ボックス要素にする */
	position: absolute; /* relativeからの絶対位置 */
	top: -135px;
	left: -50px;
	font-size: 90%;
	color: #fff;
	text-align: left;
	background-color: #17a2b8;
	width: 260px;
	height: 120px;
	padding: 5px 5px 5px 10px;
	border-radius: 3px;
	box-shadow: 0 0 8px #808080;
	z-index: 100;
}

/* フッターメニュー */
#menu {
	list-style-type: none;
	padding-left:0;
}

#menu li {
	margin: 3px 8px;
}

footer .small {
	color: #6c757d;
}

/* 上に戻るボタン */
#page_top {
	width: 80px;
	height: 60px;
	position: fixed;
	right: 10px;
	bottom: 10px;
}

#page_top a {
	position: relative;
	display: block;
	width: 80px;
	height: 60px;
	text-decoration: none;
	background: #3f98ef;
	opacity: 0.6;
	border-radius: 10%;
	border:0;
}


#page_top a:hover {
	background: #3f98ef;
	opacity: 1.0;
	border-radius: 10%;
	border:0;
}

#page_top a::after {
	font-family: "Font Awesome 5 Free";
	content: '\f062';
	font-weight: 900;
	font-size: 25px;
	color: #fff;
	position: absolute;
	height: 60px;
	top: 0;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

#page_top a::before {
	content: 'PAGE TOP';
	font-size: 12px;
	color: #fff;
	position: absolute;
	height: 0px;
	top: 15px;
	bottom: 0;
	right: 0;
	left: 0;
	margin: auto;
	text-align: center;
}

/* エラーページ用 */
h2.error {
	font-size: 8vw;
	color: #dc3545;
}

p.error a {
	color: #0056b3;
	font-weight: bold;
	text-decoration: none;
	background-color: transparent;
}

p.error a:hover {
	color: #0056b3;
	font-weight: bold;
	text-decoration: underline;
}

/* Animation Keyframe */

/* https://daneden.github.io/animate.css/ */
@-webkit-keyframes heartBeat {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	7% {
		-webkit-transform: scale(1.3);
		transform: scale(1.3);
	}

	14% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	21% {
		-webkit-transform: scale(1.3);
		transform: scale(1.3);
	}

	35% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

@keyframes heartBeat {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	7% {
		-webkit-transform: scale(1.3);
		transform: scale(1.3);
	}

	14% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	21% {
		-webkit-transform: scale(1.3);
		transform: scale(1.3);
	}

	35% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

/* https://webdesignfacts.net/entry/css-background-animation/#CSS-11 */
.wait-area .circles {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.wait-area .circles li {
	position: absolute;
	display: block;
	list-style: none;
	background: rgba(216, 201, 201, 0.3);
	animation: bubble 5s linear infinite;
	top: 85%;
	left: 8%;
	width: 20px;
	height: 20px;
	border-radius: 100%;
}

.wait-area .circles li:nth-child(1) {
	top: 10%;
	left: 20%;
	width: 80px;
	height: 80px;
	animation-delay: 1s;
	animation-duration: 18s;
}

.wait-area .circles li:nth-child(2) {
	top: 30%;
	left: 10%;
	width: 25px;
	height: 25px;
	animation-delay: 0s;
	animation-duration: 12s;
}

.wait-area .circles li:nth-child(3) {
	top: 15%;
	left: 70%;
	width: 40px;
	height: 40px;
	animation-delay: 0s;
}

.wait-area .circles li:nth-child(4) {
	top: 47%;
	left: 40%;
	width: 60px;
	height: 60px;
	animation-delay: 2s;
	animation-duration: 18s;
}

.wait-area .circles li:nth-child(5) {
	top: 70%;
	left: 35%;
	width: 40px;
	height: 40px;
	animation-delay: 1s;
	animation-duration: 6s;
}

.wait-area .circles li:nth-child(6) {
	top: 20%;
	left: 75%;
	width: 110px;
	height: 110px;
	animation-delay: 0s;
	animation-duration: 20s;
}

.wait-area .circles li:nth-child(7) {
	top: 40%;
	left: 50%;
	width: 150px;
	height: 150px;
	animation-delay: 1s;
	animation-duration: 18s;
}

.wait-area .circles li:nth-child(8) {
	top: 68%;
	left: 26%;
	width: 35px;
	height: 35px;
	animation-delay: 0s;
	animation-duration: 15s;
}

.wait-area .circles li:nth-child(9) {
	top: 68%;
	left: 6%;
	width: 75px;
	height: 75px;
	animation-delay: 2s;
	animation-duration: 10s;
}

.wait-area .circles li:nth-child(10) {
	top: 20%;
	left: 30%;
	width: 105px;
	height: 105px;
	animation-delay: 1s;
	animation-duration: 15s;
}

@keyframes bubble {
	0% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}

	50% {
		-webkit-transform: scale(1.8);
		transform: scale(1.8);
	}

	100% {
		-webkit-transform: scale(1);
		transform: scale(1);
	}
}

/* feedly のボタンが被ってジャマなので(田中) */
#feedly-mini {
	display: none;
}

