@charset "utf-8";
/* CSS Document */
/* スクロールバー */
body.gekkan .table::-webkit-scrollbar {
	display: none; /* スクロールバーを非表示にする */
}
body.gekkan .table {
	scrollbar-width: none; /* Firefoxでスクロールバーを非表示にする */
	-ms-overflow-style: none; /* スクロールバーを非表示にする */
}
.right-column {
	position: relative;
}
.scrollbar {
	width: 100%;
	height: 30px;
	overflow-x: scroll;
	overflow-y: hidden;
}

.abs {
	position: absolute;
	margin-top: 50px;
}

.inner {
	height: 1px;
	width: 2420px;
}

/* 初期設定 */
/* フォントサイズ */
.fs-l {
	font-size: 18pt;
}
.fs-m {
	font-size: 12pt;
}
.fs-s {
	font-size: 8pt;
}
/* right-column セル幅 */
.rw {
	width: 75px;
}
/* マージン */
.mb10 {
	margin-bottom: 10px;
}
.mb20 {
	margin-bottom: 20px;
}
.mb30 {
	margin-bottom: 30px;
}
.mb40 {
	margin-bottom: 40px;
}
.mb50 {
	margin-bottom: 50px;
}
.hgt50 {
	height: 50px;
}
.flt {
	float: left;
}
.bld {
	font-weight: bold;
}
/* 改行 */
.clr {
	clear: both;
}
/* 文字色 */
.ptitle {
	font-weight: bold;
	color: crimson;
}
.clgrn {
	color: forestgreen;
}
.c-red {
	color:red;
}
.c-green {
	color: green;
}
.c-blue {
	color: blue;
}
/* 背景色 */
.bgc-white {
	background-color: #fff;
}
.bgc-red {
	background-color: #FFEAEA;
}
.bgc-green {
	background-color:#E7F8E6;
}
.bgc-yellow {
	background-color:#FFFEE4;
}
/* センタリング */
.w100c {
	width: 100%;
	text-align: center;
}
/* 表のスクロールバー表示設定 */
.table-wrapper {
	display: flex;
	overflow: hidden;
	margin: 0px auto;
	width: fit-content;
	max-width: 100%;
}
.left-column {
	width: 90px;
	flex-shrink: 0;
}

.color_pink
{
	color: palevioletred;
}

/*body#week .right-column, body#month .right-column, body#w_edit .right-column {*/
body#week .right-column, 
body#month .right-column, 
body#month_edit .right-column, 
body#w_edit .right-column {
		overflow-x: auto;
	flex-grow: 1;
}
/* PC・タブレット・スマホ　共通設定 */
.wrapper {
	width: 100%;
	padding: 15px;
	margin: 0 auto;
}
.main {
	display: flex;
	justify-content: center;
}
.container {
	width: 100%;
	text-align: left;
}
.flt, .clm2 {
	height: 50px;
	line-height: 50px;
	vertical-align: middle;
}
.clm2 {
	margin-left: 220px;
}
.table {
	overflow: scroll;
}
/*.tcontents {}*/
.gyou {
	display: flex;
	justify-content: flex-start;
}

.left-column .cell {
	width: 100%;
	text-align: center;
	font-weight: bold;

}

/* 月間予定のrowとcell設定 */
body#month .left-column .cell:first-child {
}
body#month_edit .left-column .cell:first-child {
}

body#month .row {
	width: 3100px;
	clear: both;
}

body#month .row:nth-child(1) .cell:last-child,body#month .row:nth-child(2) .cell:last-child,body#month .row:nth-child(3) .cell:last-child    {
	border: none !important;
}

/* 日付の行のセル */
/*body#month .row:nth-child(1) .cell { 
}*/
/* 曜日の行のセル */
/*body#month .row:nth-child(2) .cell { 
}*/
.h20p{
	height:20px;
}
.h25p{
	height:25px;
}
.h30p{
	height:30px;
}
.h130p{
	height:130px;
}
.h60p{
	height:50px;
}
.h100p{
	height:100px;
}
.bdr_n{
	border: none !important;
}

.ng_msg:link,
.ng_msg:visited,
.ng_msg:hover,
.ng_msg:active
{
	color:#ff0000;
}

.sql-input {
	padding: 2px;
	border: 1px solid #ccc;
	border-radius: 2px;
	appearance: auto;
}


body#month .row:nth-child(1) .cell, body#month .row:nth-child(2) .cell {
/*	height: 30px;*/
	font-weight: bold;
}

body#month .row:nth-child(3) .cell { /* メモ欄の行のセル */
	writing-mode: vertical-lr;
/*	height: 130px;*/
	justify-content: normal;
	padding-top: 5px;
}
/*
body#month .row:nth-child(4) .cell {
	height: 30px;
}
body#month .row:nth-child(5) .cell {
	height: 30px;
}

body#month .row:nth-child(6) .cell {
	height: 30px;
}
*/

body#month .row:nth-child(n+7) .cell { /* 作業内容の行のセル */
	padding:5px;
	text-align: center;
}

/* 氏名セルと作業内容の行の高さ */
/*
body#month .row:nth-child(n+7) .cell, body#month .left-column .cell { 
	height: 100px;
}
*/

body#month .cell a:nth-child(n+2) {
	clear: both;
}

body#month .row:first-child .cell, body#month .left-column .cell:first-child { /* 集計行1つ目の設定 */
}

body#month .row:nth-child(2) .cell, 
body#month .left-column .cell:nth-child(2),
body#month .left-column .cell:nth-child(3)
 { /* 集計行2つ目の設定 */
}

body#month .left-column .cell {
	border: 1px solid #000;
	float: left;
	display: flex;
	align-items: center;
	text-align: left;
	padding-left: 5px;
	padding-right: 5px;
}

body#month .right-column .cell {
	border: 1px solid #000;
	float: left;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

/* 週間予定のrowとcell設定 */
body#week .left-column .cell:first-child {
/*	margin-top: 30px;*/
	margin-top: 60px;
}

body#week .row {
	width: 100%;
	clear: both;
}

body#week .row:nth-child(1) .cell { /* 日付の行のセル */
	font-weight: bold;
}
/* 曜日の行のセル */
/*body#week .row:nth-child(2) .cell { 
}*/
/*
body#week .right-column .row:nth-child(1) .cell, body#week .right-column .row:nth-child(2) .cell {
	height: 30px;
}
*/
body#week .row:nth-child(n+2) .cell { /* 作業内容の行のセル */
	padding:5px;
	text-align: center;
}

/* 氏名セルと作業内容の行の高さ */
/*
body#week .row:nth-child(n+2) .cell, body#week .left-column .cell { 
	height: 60px;
}
*/

body#week .cell a:nth-child(n+2) {
	clear: both;
}

body#week .left-column .cell {
	border: 1px solid #000;
	float: left;
	display: flex;
	align-items: center;
	text-align: left;
	padding-left: 5px;
	padding-right: 5px;
}

body#week .right-column .cell {
	width: 80px;/*edit*/
	border: 1px solid #000;
	float: left;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-wrap: wrap;
}

/* 週間編集のrowとcell設定 */
body#w_edit .row {
	width: 100%;
	clear: both;
}

body#w_edit .row:nth-child(1) {
	font-weight: bold;
}

body#w_edit .row:nth-child(1) .cell {
	height: 30px;
}

body#w_edit .cell {
	width: 150px;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: column;
	text-align: center;
	float: left;
	border: 1px solid #000;
}
body#w_edit .row:nth-child(2) .cell { /* 週間予定追加のセル高 */
	height: 130px;
}
body#w_edit .cell select { /* 週間予定追加のセレクト（プルダウン）の幅 */
	width: 150px;
}
body#w_edit .left-column .cell {
	margin-top: 30px;
	width: 100%;
	height: 130px;
	padding-left: 5px;
	padding-right: 5px;
}
.cell input {
	width: 100%;
}

form.ddown {
	text-align: center;
}
form.ddown_l {
	text-align: left;
}

form.ddown select,
form.ddown_l select {
	width: 200px;
	padding: 5px;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 16px;
	background-color: #f9f9f9;
	cursor: pointer;
	appearance: auto;
}
.fbtn {
	width: 100%;
	text-align: center;
	margin-top: 30px;
	margin-bottom: 30px;
}
.btnbox {
	width: 100%;
	text-align: center;
}

.btn {
	padding: 10px 20px;
	margin-top: 20px;
	margin-left: 20px;
	margin-right: 20px;
	color: #ffffff;
	background-color: #007bff;
	border: none;
	border-radius: 4px;
	transition: background-color 0.3s ease-in-out;
	font-weight: bold;
	text-decoration: none;
	display: inline-block;
}
.mselect_btn {
	padding: 10px 20px;
	margin-left: 20px;
	margin-right: 20px;
	color: #ffffff;
	background-color: #007bff;
	border: none;
	border-radius: 4px;
	transition: background-color 0.3s ease-in-out;
	font-weight: bold;
	text-decoration: none;
	display: inline-block;
}
.mselect_btn:hover, 
.btn:hover {
	background-color: #0056b3;
	text-decoration: none;
}
/* ナビゲーション */
nav ul {
	list-style: none;
	padding: 0;
	margin: 0;
	display: flex;
}
nav ul li {
	margin-top: 5px;
}
.nbtn {
	padding: 5px 10px;
	margin: 5px;
	color: #ffffff;
	background-color: #007bff;
	border: none;
	border-radius: 4px;
	transition: background-color 0.3s ease-in-out;
	font-weight: bold;
	text-decoration: none;
	display: inline-block;
}
.nbtn:hover {
	background-color: #0056b3;
	text-decoration: none;
}
/* ログイン */
.login-title {
	margin-bottom: 20px;
}
.login-form {
	display: flex;
	flex-direction: column;
}
.login-label {
	margin-bottom: 8px;
}
.login-input {
	padding: 10px;
	border: 1px solid #ccc;
	border-radius: 4px;
	appearance: auto;
}
.login-button {
	padding: 10px 20px;
	background-color: #007bff;
	color: white;
	border: none;
	border-radius: 4px;
	cursor: pointer;
	text-align: center;
	font-weight: bold;
}
.login-button:hover {
	background-color: #0056b3;
}

/* テーブル全体幅 */
body#week .tcontents {
	width: 700px;
}
body#w_edit .tcontents {
	width: 1050px;
}
body#month .tcontents {
	width: 2900px;
}
body#w_u_edit .tcontents {
	width: 1600px;
}

/* パソコン用 */
@media screen and (min-width:1024px) {
	body#login .wrapper, body#sisetu .wrapper {
		width: 400px;
	}
	.flt, .clm2 {
		height: 50px;
		line-height: 50px;
		vertical-align: middle;
	}
	.clm2 {
		margin-left: 220px;
	}
	.tuki15 {
		width: 795px;
	}
	.tuki16 {
		width: 848px;
	}
	.mn {
		text-align: center;
	}
}
/* タブレット用 */
@media screen and (min-width:768px) and (max-width:1023px) {
	body#w_u_edit .tcontents {
		width: 1024px;
	}
	body#login .wrapper, body#sisetu .wrapper {
		width: 400px;
	}
	.flt, .clm2 {
		height: 30px;
		line-height: 30px;
		vertical-align: middle;
	}
	.clm2 {
		margin-left: 180px;
	}
	.cell {
		border: 1px solid #000;
		float: left;
	}
	.tuki15 {
		width: 510px;
	}
	.tuki16 {
		width: 544px;
	}
}
/* スマホ用1 */
@media screen and (min-width:481px) and (max-width:767px) {
	body#w_u_edit .tcontents {
		width: 767px;
	}
	body#w_edit .cell:nth-child(8) { /* 8マス目で改行 */
		clear: both;
	}
	.flt, .clm2 {
		height: 15px;
		line-height: 15px;
		vertical-align: middle;
	}
	.clm2 {
		margin-left: 120px;
	}
	.cell {
		border: 1px solid #000;
		float: left;
	}
	.tuki15 {
		width: 375px;
	}
	.tuki16 {
		width: 400px;
	}
}
/* スマホ用2 */
@media screen and (max-width:480px) {
	nav ul li {
		margin: 10px;
	}
	body#w_u_edit .tcontents {
		width: 767px;
	}
	body#w_edit .tcontents {
		width: max-content;
	}
	body#w_edit .cell:nth-child(8) { /* 8マス目で改行 */
		clear: both;
	}
	.flt, .clm2 {
		height: 15px;
		line-height: 15px;
		vertical-align: middle;
	}
	.clm2 {
		margin-left: 120px;
	}
	.cell {
		border: 1px solid #000;
		float: left;
	}
	.tuki15 {
		width: 375px;
	}
	.tuki16 {
		width: 400px;
	}
	.nbtn {
		writing-mode: vertical-lr;
		padding: 5px 10px;
		margin: 5px;
		height: 130px;
		display: flex;
		justify-content: center;
	}
	.login-input {
		padding: 10px;
		border: 1px solid #ccc;
		border-radius: 4px;
	}
}