@charset "UTF-8";

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

/* サイズ */
.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,"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 th,
.info-table td,
.permission {
    border: 1px solid #666;
    padding: 3px 8px;
    text-align: center;
    vertical-align: middle;
    word-break: break-word;
    line-height: 1.4;
    height: calc(1.4em * 2);
    white-space: normal;
}
.info-table thead th { 
    background:#ccc;
    padding: 3px 8px;
    font-weight: 600;
}

.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;
}

.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;
}

/* ソート */
.sort-area {
	position: absolute;
	top: 10px;
	right: 30px;
	font-size: 0.8rem;
}
.sort-link {
	text-decoration: none;
}
.sort-item {
	background-color: #fff;
	border: 1px solid #808080;
	height: 100%;
	color: #808080;
	padding: 3px 5px;
}
.sort-item.active {
	background-color: #808080;
	color: #fff;
}
.sort-link:first-child .sort-item {
    margin-left: 0;
    border-top-left-radius: 1.0rem;
    border-bottom-left-radius: 1.0rem;
}
.sort-link:last-child .sort-item {
	border-top-right-radius: 1.0rem;
	border-bottom-right-radius: 1.0rem;
}
.sort-link:not(:first-child) .sort-item {
    margin-left: -1px;
}

/* ページング */
.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;
}
.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: #808080;
	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: 18px;
}
.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 {
  font-family: arial;
  font-size: 24px;
  height: 400px;
  /* 準備 */
  position: relative;
}

.login-form {
  /* 水平・垂直方向の中央揃え */
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  border: #000 1px solid;
  margin: auto;
  width: 50%;
  height: 400px;
  padding: 30px;
}
.login-form form {
	padding-top: 100px;
}

.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;
}

/** 並び替え */
.sort-btn {
  padding: 10px 20px;
  margin-top: 10px;
  background-color: #888;
  color: white;
  border: none;
  border-radius: 5px;
}
.sort-btn i {
	margin-right: 10px;
}
.ui-sortable-handle {
  cursor: move !important;
  margin-right: 8px;
}

.ui-sortable-helper {
  opacity: 0.6;
}

/** ユーザー */
.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;
	}

	/* ソート */
	.sort-item {
		font-size: 0.5rem;
	}
}


@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%;
	}
	
}
