@charset "utf-8";  
*{
	font-family: sans-serif;
}

div, span, p, blockquote, h1, h2, h3, h4,
a, font, img, strong, 
b, u, i, center,  
dl, dt, dd, ol, ul, li, 
table, tbody, tr, th, td {  
	user-drag: none;
	-webkit-user-drag: none;
	-moz-user-select: none;
	margin:0;
  padding:0;
  background: transparent;
  border:0;
  border-collapse:  collapse; 
  outline:0;
  font-size:1em;
  box-sizing: border-box;
  padding-inline-start:0;
}


/*------------------------------------------------------------ 
  カラールール
------------------------------------------------------------*/  
html,body{
	background:#fff;
	color:#484848;
	scroll-behavior: smooth;
}
a {
	color:#555;
}


/*------------------------------------------------------------ 
	デフォルトスタイル 
------------------------------------------------------------*/  
html, body{
  height:auto;
	width:100%;
  margin:0;
  padding:0;
  z-index: 0;
  border:0;
  outline:0;
}
html {
	font-family: "SF Pro JP", "SF Pro Display", "SF Pro Icons", "Hiragino Kaku Gothic Pro", "ヒラギノ角ゴ Pro W3", メイリオ, Meiryo, "ＭＳ Ｐゴシック", "Helvetica Neue", Helvetica, Arial, sans-serif
}

h2{font-size: 1.4em;}

img	{ display: block;}
br	{ clear:both;}
blockquote, q {quotes: none;}
a {
	text-decoration: none;
	-webkit-tap-highlight-color:rgba(0,0,0,0); 
}

article, aside, canvas, details, figcaption, figure,  
footer, header, hgroup, menu, nav, section, summary {  
	display: block;  
} 

footer{
	position: fixed;
	bottom: 0;
	display: flex;
	flex-direction: row;
	justify-content: space-around;
	width: 100%;
	background: #d4d4d4;
	gap: 1px;
}

footer button{
	width: calc(100% / 3);
	text-align: center;
	color: #333;
}
footer button {
	width: calc(100% / 3);
	text-align: center;
	color: #333;
	border-radius: 0;
	font-size: 14px;
	padding: 35px 5px 5px 5px;
}


.env_disp_area_dev, .env_disp_area_stg {
	position: fixed;
	width: 100%;
	text-align: center;
	z-index: 10000;
	font-size: 12px;
}

.env_disp_area_dev{
	background: #00ff14;
}
.env_disp_area_stg {
	background: #ff00f7;
	color: #fff;
}

input {
  padding: 10px;
  margin: 5px;
  border: 1px solid #aaa;
  border-radius: 5px;
  font-size: 23px;
  color: #444;
}

input[type="submit"] {
	display: block;
	text-align: center;
	background: orange;
	border: none;
	margin: 30px auto;
	color: #fff;
}

select {
  width: 170px;
  padding: 10px;
  margin: 5px;
  border: 1px solid #aaa;
  border-radius: 5px;
  font-size: 23px;
  color: #444;
}

button {
  border: none;
  margin: 0px;
  color: #fff;
  font-size: 20px;
  border-radius: 5px;
}

table {
	background: #333;
	width: 100%;
	max-width: 1500px;
	margin: 20px 0 0 0;
	border-collapse: separate;
	border-spacing: 1px;
}

th {
	background: #f2c19b;
	padding: 10px;
	text-align: center;
}
td {
	background: #fff;
	padding: 10px;
}


.mark_registed {
	display: flex;
	align-items: center;
	justify-content: center;
	text-align: center;
	height: 100%;
	width: 100%;
	color: #1dbe33;
	font-weight: bold;
}

.btnEdit {
	background: #ff7400;
	padding: 5px;
	text-align: center;
	border-radius: 5px;
	color: #fff;
}

.btn{
	display: inline;
	padding: 7px 20px;
	margin: 0 10px;
	border-radius: 5px;
	background: #ff9600;
	color: #fff;
}

.window {
	display: none;
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 600px;
	height: fit-content;
	margin: auto;
	padding: 20px 0 0 0;
	background: #fff;
	border-radius: 10px;
	z-index: 300;
}
.window h2 {
	text-align: center;
}
.window .managerName {
	text-align: center;
	font-size: 24px;
	margin: 20px auto;
	font-weight: bold;
}
.window select {
	display: block;
	margin: 0 auto;
	width: fit-content;
}
.window .btnArea {
	display: flex;
	width: 100%;
	margin-top: 30px;
}
.windowBtn {
	width: 50%;
	text-align: center;
	padding: 10px;
	color: #fff;
	font-weight: bold;
}
.btnOK{
	background-color: #74c792;
	border-radius: 0 0 0 10px;
}
.btnCancel{
	background-color: #c23535;
	border-radius: 0 0 10px 0;
}




/* ==================================== 
	ウィンドウベーススタイル
==================================== */ 
.windowBase{
	position: fixed;
	display: none;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	margin: auto;
	width: 97%;
	max-width: 500px;
	padding: 20px;
	height: fit-content;
	background: #fff;
	box-shadow: 0 0 10px rgba(0,0,0,0.2);
	border-radius: 10px;
	z-index: 500;
	animation: fadeInUp 0.3s ease-out 1 forwards;
}
.windowBase h3::before {
	content: "■";
	font-size: 10px;
	padding: 0 0 10px 0;
	margin: 2px 2px 10px 2px;
	color: #ffb05c;
}
.closeBtnBase {
	width: 40px;
	height: 40px;
	border-radius: 50px;
	background: red;
	position: absolute;
	top: auto;
	left: 0;
	right: 0;
	bottom: -20px;
	margin: auto;
}

.windowBase .submitBtn{
	display: block;
	text-align: center;
	background: orange;
	border: none;
	margin: 30px auto;
	padding: 20px;
	width: 80%;
	color: #fff;
}

.windowBase .headText{
	margin: 15px 5px;
}

.windowBase .errArea{
	margin: 0px 5px 15px 5px;
	font-size: 14px;
	color: red;}



/* ==================================== 
	Loading
==================================== */ 
.loading{
  position: absolute;
  top: 0;
  bottom: 0;
  right: 0;
  left: 0;
  width: 200px;
  height: 300px;
  margin: auto;
}

.loading img {
	width: 50%;
	margin: 0 auto 20px auto;
  transform: rotate3d(1, 0.5, 0.5, 504deg);
  border-radius: 10px;
  animation: loadingCard 3s ease-in-out 0s infinite alternate forwards;
}

@keyframes loadingCard{
    0% {transform: rotate3d(1, 0.5, 0.5, 0deg);}
  100% {transform: rotate3d(1, 0.5, 0.5, 720deg);}
}

.loading p {
	letter-spacing: 1px;
  color: #fff;
	font-size: 1.3em;
  animation: loadingtext 0.4s ease-in-out 0s infinite alternate forwards;
}

@keyframes loadingtext{
    0% {text-shadow: 0 0 1px #fff;}
  100% {text-shadow: 0 0 5px #fff;}
}






/* ウィンドウ表示時のカバー */
#coverAll{
	display: none;
	position: fixed;
  top: 0;
  left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0,0,0,0.3);
	z-index: 200;
  backdrop-filter: blur(3px);
}



/* 各種汎用アニメーション */
@keyframes zoomIn {
  0% { transform: scale(0.9); opacity: 0;}
100% { transform: scale(  1); opacity: 1;}
}

@keyframes zoomOut {
0% { transform: scale(  1); opacity: 1;}
100% { transform: scale(0.9); opacity: 0;}
}

@keyframes fadeInUp {
  0% {transform: translateY(30px);opacity: 0;}
100% {transform: translateY(   0);opacity: 1;}
}
@keyframes fadeOutUp {
  0% {transform: translateY(   0);opacity: 1;}
100% {transform: translateY(-30px);opacity: 0;}
}

@keyframes fadeIn {
0% {opacity: 0;}
100% {opacity: 1;}
}
@keyframes fadeOut {
0% {opacity: 1;}
100% {opacity: 0;}
}

@keyframes cutInOut {
0%   {transform: translateY( 30px);opacity: 0;}
20%  {transform: translateY(  0px);opacity: 1;}
80%  {transform: translateY(  0px);opacity: 1;}
100% {transform: translateY(-30px);opacity: 0;}
}

