@charset "UTF-8";
/*-ページ全体の指定-*/
html, body, header, section, article, nav, footer,
div, p, h1, h2, h3, h4, h5,
ul, ol, li, dl, dt, dd,
table, tr, th, td, tbody, thead, tfoot {
	margin: 0;
	padding: 0;
}

/*-すべての要素の「幅」と「高さ」に、padding や border を含める-*/
*, *::before, *::after {
	box-sizing: border-box;
}

a {
	text-decoration: none;
	cursor:pointer;
}

.orign{
	background-color: var(--p_color);	
}
/*----------------------------------------*/
html {
	min-height: 100%;
	position: relative;
}
body {
	height: 100%;
	width: 100%;
	color: #444444;
	margin: 0px;
	padding: 0px;
	margin-bottom: 20px;
	font-family:"ヒラギノ角ゴ Pro W3",'Meiryo UI',"Arial","SimSun","Hiragino Kaku GothicPro","Sans-Serif","Osaka";
	font-size: 14px;
	-webkit-text-size-adjust: 100%;
	-moz-text-size-adjust: 100%;
	-ms-text-size-adjust: 100%;
	-o-text-size-adjust: 100%;
	text-size-adjust: 100%;
}
form {
	background:transparent;
}
/*コンテナー
------------------------------------------*/
#container {
	margin-top: 0;
	padding-top: 0;
	text-align:center;
	height: 100%;/*重要*/
}

/*ヘッダー--------------------------------*/
#header {
	background-color: var(--p_color);
	position: relative;
	min-height: 40px;
	color: white;
}
.header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 1rem;
	margin-left: auto;
	margin-right: auto;
	color: white;
	position: sticky;
	top: 0;
	z-index: 10;
	flex-wrap: wrap;
	height: auto;
	max-width: 900px;
}
#header h3{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	-webkit-transform: translate(-50%, -50%);
	-ms-transform: translate(-50%, -50%);
	min-width: 280px;
	white-space: nowrap;
}
#header a{
	color: white;
}
/*上部ボタン*/
#btnHead{
	position: absolute;
	top: 3px;
	right: 10%;
	width: 100px;
}

@media screen and (max-width:600px) {
	/*600px以下*/
	#btnTop {
		top:auto;
		bottom: 38px;
	}
}
.btnLeft{
	float: left;
	margin-top: 3px;
	margin-left: 14px;
}
/*コンテンツ
/*----------------------------------------*/
#contents {
	max-width: 1600px;
	min-height: 100%;
	margin-right: auto;
	margin-left: auto;
	margin-top: 0;
	padding-top: 0;
	padding-bottom: 0;
	clear: left;
}

/*フッター（最下部コピーライト部分）
------------------------------------------*/
#footer {
	position: absolute;
	bottom: 0;
	clear: both;
	width: 100%;
	height: 24px;
	margin-right: auto;
	margin-left: auto;
	padding-top: 4px;
	text-align: center;
	color: #FFF;
	font-size: 0.8em;
}

/*select,input,textarea-------------------*/
/*デフォルトスタイルを無効-------------*/
button,
input[type="date"],
input[type="time"],
/*input[type="number"],*/
input[type="reset"],
input[type="text"],
input[type="button"],
input[type="submit"],
input[type="email"],
select{
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	border-radius: 0;
	/*Firefox用*/
	text-indent: .01px;
}
/*Chrome、Safari 右のボタンを消す*/
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
	-webkit-appearance: none;
	margin: 0;
	text-align: right;
}
/*Firefox、IEi 右のボタンを消す*/
input[type="number"] {
	-moz-appearance:textfield;
	text-align: right;
}
/*IE対応*/
select::-ms-expand {
	display: none;
}
/*デフォルトスタイルを無効終わり----------*/
select, textarea, button,.bord,.bord2 { 
	vertical-align:middle;
}
select{
	font-family : inherit;/*bodyに指定したfont-familyが、inputタグとtextareaタグには反映されない…対策*/
	/*font-size : 1.1em;*/
	font-weight: 600;
	border: 1px #888888 solid;
	background: transparent;/*透明*/
	padding:4px 6px;
	height: 30px;
	border-radius: 0px;
}
textarea{
	font-family : inherit;
	font-size : 1.1em;
	border: 1px #888888 solid;
	line-height: 1.4em;
}
/*select終わり、以下 input-----------------*/
input[type="date"],
input[type="time"],
input[type="text"],
input[type="number"],
input[type="tel"],
input[type="email"],
input[type="password"]{
	vertical-align:middle;
	background-color: transparent;/*透明*/
	border: 1px #888888 solid;
	webkit-box-shadow: 0 0 0px 1000px snow inset;/*Crome 背景色*/
	font-weight: 550;
	padding: 2px 8px;
	line-height: 26px;
	border-radius: 0px;
}
input[type="number"]{
 text-align: right;
}
input[type="submit"],
input[type="button"],
input[type="reset"],
button {
	background-color: var(--p_color);
	color: white;
	vertical-align:middle;
	text-decoration:none;
	line-height: 26px;
	padding: 3px 14px;
	text-align: center;
	font-size:0.93em;
	border-style: none;
	cursor: pointer;
	border-radius: 3px;
	border: 1px #888888 solid;
	white-space: nowrap;/*折り返し禁止*/
}
input[type="submit"]:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
button:hover{
	color: #DDDDDD;
	-webkit-transition: all .3s;
	transition: all .3s;
	border-color: #444444;
}

button[type~="button"]:hover, button[class~="Blue"]:hover {
	outline: 1px solid rgba(255, 255, 255, 0.8);
	outline-offset: 1px;
}

button[type~="button"]:active, button[class~="Blue"]:hover {
	filter: saturate(1.2);
	box-shadow: inset 0 0 5px rgba(255, 255, 255, 0.3);
}
/*----------------------------------------*/
.bord {
	background-color: var(--p_color);
	display: inline-block;
	text-align: center ;
	white-space: nowrap;
	padding: 6px 10px;
	color: white;
	border-radius: 0px;
	border: 1px #888888 solid;
}
.bord2 {
	display: inline-block;
	text-align: center ;
	white-space: nowrap;
	padding: 6px 10px;
	border-radius: 0px;
	border: 1px #888888 solid;
}
label input{
	vertical-align: -0.1em;
}
/*言語選択-------------*/
form[name='form-lang']{
	height:21px;
}
/*----------------------------------------*/
/*言語選択用------*/
.radio{
	display:inline-block;
	vertical-align:top;
}
.radio label {
	cursor:pointer;
}
/* ラジオボタンを消す */
.radio input[type="radio"] {
	display: none;
}
fieldset{
	border: 1px #888888 solid;
}
.shadow{
	color: #444444;
	background-color: white;
	-webkit-box-shadow: 0px 0px 15px rgba(0,0,0,0.3);	/*影の設定。*/
	box-shadow: 0px 0px 15px rgba(0,0,0,0.3);
}
/*----------------------------------------*/
table {
	border-collapse:collapse;
	border-spacing:0;
	margin-left: auto;
	margin-right: auto;
	max-width: 98%;
}
.tbl {
	border-collapse: separate;
	/*border: 1px #86BABA solid;*/
}

thead th {
	text-align: center ;
	padding: 4px 6px;
	height: 16px;
}

th {
	background-color: var(--p_color);
	padding: 4px;
	color: white;
	font-size: 0.85em;
	border: 1px #777777 solid;
	white-space:nowrap;
}

td {
	font-size: 0.95em;
	padding: 4px;
	border-spacing: 0px;
	border: 1px #777777 solid;
	font-weight: 600;
}

tfoot th {
	font-size: 0.95em;
	height: 16px;
}

.table tr:hover {
	background-color: dimgray;
}

.table td:hover {
	background-color: gray;
}

/* list ---------------------------------*/
ul{
	list-style-type: none;
	padding: 0px;
}
.inline li{
	padding-top: 0px;;
	display: inline;
	margin-right: 0px;
}
/*----------------------------------------*/
.C {
	text-align: center;
}
.R {
	text-align: right;
	padding-right: 8px;
}
.L {
	text-align: left;
	padding-left: 8px;
}
/*------------------------------------------*/
span { 
	white-space: nowrap;
}
/*------------------------------------------*/
/*Radioのみ*/
label radio {
	position      : relative;
	display       : inline-block;
	width         : 15px;
	height        : 15px;
	border        : 1px solid #666666;
	border-radius : 100%;
	overflow      : hidden;
	cursor        : pointer;
}
label radio:before {
	content          : '';
	display          : block;
	width            : 11px;
	height           : 11px;
	border-radius    : 100%;
	position         : absolute;
	top              : 2px;
	left             : 2px;
	z-index          : 1;
	background-color : #D65; 
}
label radio input[type="radio"] {
	-moz-appearance: none;
	-webkit-appearance: none;
	margin     : 0px;
	position   : absolute;
	z-index    : 2;
	top        : -2px;
	left       : -23px;
	width      : 20px;
	height     : 20px;
	display    : block;
	box-shadow : 20px 0px white;
}
label radio input[type="radio"]:checked {
	box-shadow : none;
}
label radio input[type="radio"]:focus {
	box-shadow : 20px 0px white;
	opacity    : 0.2;
}

/*カラーモード部*/
.square {
	width: 32px;
	height: 32px;
	display:inline-block;
}
.square2 {
	width: 64px;
	height: 32px;
	display:inline-block;
}
#a + label{
	background-color:dimgray;
}
#b + label{
	background-color:darkslateblue;
}
#c + label{
	background-color:midnightblue;
}
#d + label{
	background-color:indigo;
}
#e + label{
	background-color:purple;
}
#f + label{
	background-color:darkslategray;
}
#g + label{
	background-color:darkolivegreen;
}
#h + label{
	background-color:darkgreen;
}
#i + label{
	background-color:firebrick;
}
#j + label{
	background-color:maroon;
}
#k + label{
	background-color:saddlebrown;
}
#l + label{
	background-color:crimson;
}

.white{
	background-color: white;
	border: 1px #888888 solid;
}
.black{
	background-color: black;
	border: 1px #888888 solid;
}

/*色設定*/
.Red{
	background-color: red;
}
.Blue{
	background-color: blue;
}
.Gray{
	background-color: gray;
	color: white;
}
.Orange{
	background-color: orange;
}
.Darkorange{
	background-color: darkorange;
}
.Black{
	background-color: black;
}
.Tomato{
	background-color: tomato;
}
.Limegreen{
	background-color: limegreen;
}
.Lightgray{
	background-color: lightgray;
}
.Skyblue{
	background-color: skyblue;
}
/*スクロールバー*/
div::-webkit-scrollbar, ::-webkit-scrollbar{
	width: 1px;
}
div::-webkit-scrollbar-track, ::-webkit-scrollbar-track{
	background: white;
	border: none;
	border-radius: 1px;
	box-shadow: inset 0 0 2px #777; 
}
div::-webkit-scrollbar-thumb, ::-webkit-scrollbar-thumb{
	background: #aaa;
	border-radius: 1px;
	box-shadow: none;
}
/*読込中*/
#loader{
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	z-index:1000;
}
