@charset "UTF-8";

.readonly {
	background-color: #e9ecef !important;
}

/* サイズ */
.w-3 {
	width: 3%;
}

.w-4 {
	width: 4%;
}

.w-5 {
	width: 5%;
}

.w-7 {
	width: 7%;
}

.w-10 {
	width: 10%;
}

.w-15 {
	width: 15%;
}

.w-20 {
	width: 20%;
}

.w-25 {
	width: 25%;
}

.w-30 {
	width: 30%;
}

.w-45 {
	width: 45%;
}

.w-60 {
	width: 60%;
}

.w-70 {
	width: 70%;
}

.w-80 {
	width: 80%;
}

.w-90 {
	width: 90%;
}

.w-no {
	width: 100px;
}

.w-content {
	width: 150px;
}

.w-content-long {
	width: 450px;
}

.w-delete {
	width: 100px;
}

.h-20 {
	height: 20% !important;
}

.h-80 {
	height: 80% !important;
}

.font-11px {
	font-size: 11px;
}

.left {
	float: left;
}

.small-blank {
	line-height: 10px;
}

html {
	margin: 0;
	padding: 0;
}

body {
	font-family: -apple-system, "Times New Roman", "BlinkMacSystemFont", "Helvetica Neue", "Hiragino Kaku Gothic ProN", "Hiragino Sans", "Meiryo", sans-serif;
	font-size: 12px;
	margin: 0;
	min-height: 100vh;
	position: relative;
	padding-bottom: 35px;
}

.table {
	display: table;
	border-collapse: collapse;
}

.tr {
	display: table-row;
}

.th {
	display: table-cell;
	padding: 10px;
	border: 1px solid #666;
	vertical-align: middle;
}

.td {
	display: table-cell;
	padding: 3px 8px;
	border: 1px solid #666;
	vertical-align: middle;
}

.table--nested {
	display: table;
}

.table--nested .td {
	padding: 0;
	border: none;
}

.logo-img {
	height: 30px;
}

.info-table {
	width: 100%;
	border-collapse: collapse;
	table-layout: fixed;
}

.info-table thead tr:first-child th {
	position: sticky;
	top: 0;
	background: #ccc;
	z-index: 4;
	box-shadow: inset 0 1px 0 #666;
}

.info-table thead tr:nth-child(2) th {
	position: sticky;
	top: 24px;
	background: #ccc;
	z-index: 5;
	border-top: none;
	box-shadow: inset 0 1px 0 #666;
}

.info-table th,
.info-table td,
.permission {
	border: 1px solid #666;
	padding: 3px;
	text-align: center;
	word-break: break-word;
	line-height: 1.4;
	height: calc(1.4em * 2);
	white-space: normal;
}

.info-table th,
.info-table td {
	border: 1px solid #666;
	padding: 3px;
	text-align: center;
	white-space: normal;
	word-break: break-word;
}

.info-table th {
	vertical-align: middle;
}

.info-table td {
	vertical-align: top;
}

.info-table td a {
	display: inline-block;
	vertical-align: top;
}

.table-scroll {
	max-height: 500px;
	overflow-y: auto;
	overflow-x: hidden;
	margin-top: 1rem;
}

.info-table thead th {
	position: sticky;
	top: 0;
	background: #ccc;
	z-index: 3;

	border-top: none;
	border-bottom: none;

	box-shadow:
		inset 0 1px 0 #666,
		inset 0 -1px 0 #666;
}

.sort-header a {
	display: flex;
	align-items: center;
	text-decoration: none;
}

.sort-icon {
	margin-right: 4px;
	border: 1px solid #000;
	background-color: #fff;
}

.sort-title {
	flex: 1;
}

.thin th {
	line-height: inherit;
	height: inherit;
}

/* 第2階層のcol高さ合わせ用 */
.equalize-cols>[class*="col"] {
	display: flex;
}

.equalize-cols>[class*="col"]>.equalize-box {
	display: flex;
	flex-direction: column;
	flex: 1 1 auto;
	min-height: 100%;
}

/* スクロール領域がある場合、中身を押し広げたいとき */
.equalize-box .content-area {
	flex: 1 1 auto;
}

.none-ub {
	text-decoration: none;
}

.underline_black {
	text-decoration: underline solid #000000;
}

.box-border {
	border: solid 1px #000;
	padding: 10px;
}

a {
	color: #000;
}

a:hover {
	color: #555;
}

.hidden {
	display: none;
}

.no-active {
	color: #c0c0c0;
}

.form-row {
	margin-top: 0.7rem !important;
	margin-bottom: 0.7rem !important;
}

.form-inline[readonly] {
	background-color: #e9ecef;
	opacity: 1;
}

.readonly {
	background-color: #e9ecef;
	opacity: 1;
}

.inline {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
}

.inline .form-control {
	width: auto;
	min-width: 200px;
}

.inline .form-label {
	margin-top: auto;
	margin-bottom: auto;
}

.strong {
	color: #dc3545;
}

.has-error {
	padding: 10px 0;
	color: #dc3545;
	font-weight: bold;
	font-size: 30px;
}

.form-control {
	font-size: 13px;
}

.form-control.is-valid,
.was-validated .form-control:valid {
	padding-right: 0;
	background-image: none;
}

.form-control.is-invalid,
.was-validated .form-control:invalid {
	padding-right: 0;
	background-image: none;
}

.form-select {
	font-size: 13px;
}

.contentname,
.contentname h1 {
	font-size: 20px;
	line-height: 20px;
	font-weight: bold;
	padding: 0px 0px;
}

.subname {
	font-size: 18px;
	line-height: 18px;
	font-weight: bold;
	padding: 0px;
}

.textname {
	font-size: 25px;
	line-height: 25px;
	padding: 5px 0px;
}

.pagename {
	font-size: 20px;
	line-height: 20px;
	font-weight: bold;
	padding: 0px;
}

.statusname {
	font-size: 25px;
	line-height: 25px;
	font-weight: bold;
	padding: 0px;
}

.proceed a {
	color: rgb(255, 0, 0);
}

/* パンくず */
.breadcrumb {
	margin: 0px 10px 0px 10px;
}

.breadcrumb-item+.breadcrumb-item::before {
	/*区切り線の変更*/
	content: ">";
}

.breadcrumb a {
	/* 文字色 */
	color: #000;
}

.breadcrumb-item+.breadcrumb-item::before {
	/* 区切り線の文字色変更 */
	color: #000;
}

/* ページング */
.pagination_area {
	position: relative;
	width: 100%;
	margin: 0 auto;
	text-align: center;
}

.pagination {
	display: flex;
	padding-left: 0;
	list-style: none;
	border-radius: 0.25rem;
	margin: 10px;
}

.page-link {
	position: relative;
	display: block;
	padding: 0.5rem;
	margin-left: -1px;
	line-height: 1;
	color: #808080;
	background-color: #fff;
	border: 1px solid #808080;
}

.page-link:hover {
	color: #808080;
	background-color: #fff;
	border: 1px solid #808080;
}

.page-item.active .page-link {
	background-color: #808080;
	border-color: #808080;
	z-index: 3;
	color: #fff;
}

.page-item:first-child .page-link {
	margin-left: 0;
	border-top-left-radius: 0.25rem;
	border-bottom-left-radius: 0.25rem;
}

/* メイン枠 */
#all-content {
	margin: auto;
	overflow-wrap: break-word;
	word-wrap: break-word;
}

.content-area {
	position: relative;
}

.card-list {
	border: solid 1px #000;
	height: 100%;
}

/* 検索枠 */
#search-form {
	border: solid 1px #000;
	background-color: #D8D8D8;
	padding: 5px;
}

.search-title {
	text-align: center;
	padding: 5px;
	border-bottom: none;
}

.search-content {
	/** border: solid 1px #000; */
}

/* 画像 */
.list-img {
	max-width: 130px;
	height: auto;
}

.no-img {
	padding: 0.1rem;
	background-color: #fff;
	border: 1px solid #dee2e6;
	border-radius: 0.25rem;
	max-width: 130px;
	height: auto;
}

.thumbnail {
	padding: 1.5px;
	margin-bottom: 0px;
}

.img-thumbnail {
	max-width: 100%;
	height: auto;
	opacity: 0.9;
}

.thumbUp {
	width: 100px;
}

.photo-box {
	position: relative;
	width: 100px;
	height: 100px;
}

.photo-select {
	border: 1px solid #ced4da;
	background-color: #e9ecef;
	margin-top: 5px;
	width: 100px;
	text-align: center;
	border-radius: 0.2rem;
	cursor: pointer;
}

.photo-select label {
	cursor: pointer;
}

.photo-clear {
	position: absolute;
	top: 0;
	right: 0;
	background-color: #fff;
}

/* 入力フォーム */

.more-detail {
	border: 1px solid #ced4da;
	background-color: #e9ecef;
	padding: 5px;
	width: 150px;
	text-align: center;
	border-radius: 0.2rem;
	cursor: pointer;
}

.more-detail2 {
	border: 1px solid #ced4da;
	background-color: #e9ecef;
	padding: 5px;
	width: 200px;
	text-align: center;
	border-radius: 0.2rem;
	cursor: pointer;
}

.reflection {
	border: 1px solid #ced4da;
	background-color: #e9ecef;
	padding: 5px;
	width: 50px;
	text-align: center;
	border-radius: 0.2rem;
	cursor: pointer;
}

.detail-area {
	border: 1px solid #ced4da;
	background-color: #f7f8f9;
}

.clear-detail {
	border: 1px solid #ced4da;
	background-color: #e9ecef;
	padding: 5px;
	width: 50px;
	text-align: center;
	border-radius: 0.2rem;
	cursor: pointer;
}

.input-grayout {
	background-color: #ddd;
}


.login-form input {
	width: 85% !important;
}

#view {
	display: inline-block;
	padding: 5px 0px;
}

.fa-eye-slash:before {
	font-size: 20px;
}

/* ボタン */
.btn {
	display: inline-block;
	max-width: 90%;
	color: #fff;
	cursor: pointer;
	text-align: center;
	text-decoration: none;
	position: relative;
	overflow: hidden;
	width: 150px;
	font-size: 13px;
}

.btn:hover {
	color: #fff;
}

.btn::before {
	content: '';
	position: absolute;
	top: 0;
	display: block;
	width: 100%;
	height: 100%;
	left: -100%;
	background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
	transform: skewX(-25deg);
	-webkit-transition: 0.7s;
	transition: 0.7s;
}

.btn:hover::before {
	left: 100%;
}

.btn-top-list {
	background-color: #ee8348;
	color: #FFF;
	font-size: 30px;
	width: 300px;
}

.btn-top-master {
	background-color: #5593d0;
	color: #FFF;
	font-size: 30px;
	width: 300px;
}

.btn-search {
	background-color: #3451f3;
	color: #FFF;
}

.btn-close-detail {
	background-color: #808080;
	color: #FFF;
}

.btn-normal {
	background-color: #3451f3;
	color: #FFF;
}

.btn-confirm {
	background-color: #3451f3;
	color: #FFF;
}

.btn-delete {
	background-color: #ff3535;
	color: #FFF;
}

.btn-department {
	background-color: #ff3535;
	color: #FFF;
	width: 150px;
	height: 100px;
	font-size: 30px;
}

.btn-approve-confirm {
	background-color: #3451f3;
	color: #FFF;
}

.btn-approve-delete {
	background-color: #ff3535;
	color: #FFF;
}

.btn-output {
	background-color: #3451f3;
	color: #FFF;
}

.btn-clear {
	background-color: #fff;
	color: #808080;
	border: 2px #808080 solid;
}

.btn-clear:hover {
	background-color: #808080;
	color: #fff;
}

.btn-clear::before {
	content: '';
	/*絶対配置でキラッと光るの位置を決める*/
	position: absolute;
	top: 0;
	display: block;
	/*キラッと光る形状*/
	width: 100%;
	height: 100%;
	left: -100%;
	background-image: linear-gradient(130deg, rgba(255, 255, 255, 0) 25%, rgba(255, 255, 255, 0.5) 50%, rgba(255, 255, 255, 0) 75%);
	transform: skewX(-25deg);
	-webkit-transition: 0.7s;
	transition: 0.7s;
}

.zipcode-select {
	border: 1px solid #ced4da;
	background-color: #e9ecef;
	margin-top: 5px;
	padding: 5px;
	text-align: center;
	border-radius: 0.2rem;
	cursor: pointer;
	font-size: 13px;
}

#tempSave {
	position: fixed;
	top: 100px;
	right: 50px;
	z-index: 1000;
}

/** ログインフォーム */
.login-content {
	min-height: calc(100vh - 120px);
	display: flex;
	justify-content: center;
	align-items: center;
}

.login-form {
	border: 1px solid #ccc;
	width: 500px;
	padding: 40px;
	background: #fff;
	border-radius: 6px;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.15);
	font-size: 16px;
}

.login-form form {
	margin-top: 30px;
	margin-bottom: 10px;
}

.info-title {
	background-color: #ccc;
	text-align: center;
	font-weight: 600;
}

/** TOP */
.alert-approvalRequest {
	font-weight: bold;
	font-size: 20px;
}

/** トグル */
.toggle-btn,
.toggle-btn-all {
	padding: 10px 20px;
	margin-top: 10px;
	background-color: #888;
	color: white;
	border: none;
	cursor: pointer;
	border-radius: 5px;
}

/** ユーザー */
.user-info .info-title {
	background-color: #ccc;
}

/* フッター */
footer {
	background: #c22b1e;
	position: absolute;
	left: 0;
	bottom: 0;
	width: 100%;
	height: 35px;
}

footer .cont {
	display: flex;
}

footer .cont-item {
	display: block;
	width: calc(100% / 3);
}

footer .nav {
	display: block;
}

footer .nav .ttl:first-child {
	margin-top: 0;
}

footer .nav .ttl {
	display: block;
	font-size: 14px;
	color: #fff;
}

footer .nav a {
	color: #fff;
	text-decoration: none;
}

footer .nav ul {
	display: block;
	font-size: 14px;
	line-height: 2;
}

footer .nav li:first-child {
	margin-top: 0;
}

footer .nav li {
	display: block;
	font-size: 14px;
	line-height: 2;
}

@media (max-width: 992px) {

	/* ヘッダー背景 */
	.header-exp {
		width: 90%;
		font-size: 4vw;
	}

	.header-title {
		font-size: 20px;
	}

	.subname {
		font-size: 18px;
		line-height: 18px;
	}

	.sp-small {
		font-size: 8px;
	}
}


@media (max-width: 768px) {

	.main-content {
		width: 100%;
		margin: auto;
	}

	/* 文字装飾 */
	.contentname,
	.contentname h1 {
		font-size: 25px;
		line-height: 25px;
	}

	.annualtarget-info {
		width: 100%;
	}

	.sp-none {
		display: none;
	}

	/* 改行 */
	.br-pc {
		display: none;
	}
}


@media (min-width: 768px) {

	.pc-none {
		display: none;
	}

	/* 改行 */
	.br-sp {
		display: none;
	}

	.w-lg-50 {
		width: 50%;
	}

}