﻿/*基本設定
----------------------------------------------------*/
html {
  font-size: 62.5%;
}
body {
  background-color: #f5f5f5;
  color: #333;
/*  font-size: 1.5rem;*//*基本は1.2rem*/
  font-size: 1.8rem;
  font-family: "Hiragino Kaku Gothic ProN", Meiryo, sans-serif;
}
*, *::before, *::after {
  box-sizing: border-box;
}
a:link, a:visited, a:hover, a:active {
  text-decoration: none;
}
/* font-familyが効かない対応 */
button, input, select, textarea {
  font-family : inherit;
}
button, input, select {
  line-height: inherit;
}
button, input, textarea {
  font-size : 100%;
}

/* ベースパーツ
----------------------------------------------------*/
/* 標準ボタン */
button,
input[type="button"],
input[type="submit"],
.btn-base {
  background: #EEE;
  border: 1px solid #808080;
  border-radius: 4px;
  color: #111;
  -moz-border-radius: 4px;
  -webkit-border-radius: 4px;
  padding: 5px 0;
  width: 100px;
  font-size:1.7rem;
  -webkit-appearance: none;
}
button:hover,
input[type="button"]:hover,
input[type="submit"]:hover,
.btn-base:hover {
  background-color:#999;
  color:white;
  cursor: pointer;
}
.btn-base {
  display: inline-block;
  text-align: center;
}
.btn-center {
  display: block;
  margin: 0 auto;
}
button:disabled,
input[type="button"]:disabled,
input[type="submit"]:disabled,
.btn-base:disabled {
  background: #EEE;
  color:#888;
  cursor: default;
}

/* 更新ボタン（目立たせるボタン） */
.btn-reload:after {
  content: url(/img/icon-reload.png);
  margin: 2px 0 0 2px;
  position: relative;
  top: 1px;
}

/* 標準テキストエリア */
textarea {
  padding: 5px;
}

/* 標準テキストボックス */
input[type="text"],
input[type="password"]  {
  border:0;
  border:solid 1px #ccc;
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  padding: 5px;
  font-size:1.7rem;
  height: 35px;
  line-height: 35px;
}
@media all and (-ms-high-contrast:none){
  input[type="text"],
  input[type="password"]  {
    line-height: 0;
  }
} /* IE10以降 */

/* テキストボックスの×を表示させない */
input::-ms-clear {
  visibility:hidden
}

/* 標準ドロップダウンリスト */
select {
  border-radius: 5px;
  -moz-border-radius: 5px;
  -webkit-border-radius: 5px;
  height: 35px;
  line-height: 35px;
  text-align: left;
  vertical-align: middle;
  font-size:1.6rem;
}
/* 非活性ドロップダウンリスト */
select:disabled {
  background: #eee;
}

/* 標準チェックボックス */
input[type="checkbox"] {
  position: fixed;
  top: -100%;
  left: -100%;
  z-index: -9999;
}
.checkbox-list {
  display: inline-block;
}
.checkbox-list > li {
  display: inline;
}
.checkbox-list label {
  cursor: pointer;
  position: relative;
  display: inline-block;
  margin-right: 5px;
}
.checkbox-list label:before {
  content: "";
  display: inline-block;
  width: 20px;
  height: 20px;
  margin: 0 10px 3px 0;
  border-radius: 3px;
  border: 1px solid #333;
  vertical-align: middle;
}
.checkbox-list :checked ~ label:after {
  content: "";
  position: absolute;
  top: 9px;
  left: 3px;
  display: block;
  width: 3px;
  height: 3px;
  background: #021ecd;
  -webkit-transform: rotate(45deg);
  -moz-transform: rotate(45deg);
  transform: rotate(45deg);
  box-shadow: 3px 0 0 0 #021ecd, 6px 0 0 0 #021ecd, 6px -3px 0 0 #021ecd, 6px -6px 0 0 #021ecd, 6px -9px 0 0 #021ecd, 6px -12px 0 0 #021ecd;
}

/* 非活性チェックボックス */
.checkbox-list input:disabled ~ label {
  cursor: default;
  color: #888;
}
.checkbox-list input:disabled ~ label:before {
  border: 1px solid #888;
}
.checkbox-list input:disabled:checked ~ label:after {
  background: #888;
  box-shadow: 3px 0 0 0 #888, 6px 0 0 0 #888, 6px -3px 0 0 #888, 6px -6px 0 0 #888, 6px -9px 0 0 #888, 6px -12px 0 0 #888;
}

/* スペースを入れないul */
.no-space-inline {
	font-size:0;
}
.no-space-inline li {
  font-size: 1.8rem;
  display: inline-block;
}

/* 共通スタイル
----------------------------------------------------*/
/* エラーメッセージ用スタイル */
.validation-summary-errors {
  color: #E80C0C;
  font-weight: bold;
  font-size: 0.9em;
  margin: 5px 5px 5px 0;
}
.validation-summary-errors ul {
  list-style-type:none;
}
.validation-summary-errors ul li {
  margin-bottom: 5px;
}
.validation-summary-errors ul li:before {
  content: "※";
  color: #E80C0C;
  font-weight: bold;
}
.input-validation-error {
  border: 1px solid #E80C0C!important;
  background-color: #ffc0cb;
}

/* カラーピッカー関連 */
#trend-group-insert-table select[id^="analogs"],
#trend-group-insert-table select[id^="digitals"] {
  margin-left: 42px;
  display: block;
  max-width: 600px;
}
#trend-group-insert-table .color-picker-text-box,
#insert-form .color-picker-text-box {
  height: 30px;
  line-height: 30px;
  font-size: 0.8em;
}

/* SVG関連
----------------------------------------------------*/
/* トレンド */
.svg-pointer {
  cursor: pointer;
}
.svg-text-left {
    text-anchor: start;
}
.svg-text-center {
    text-anchor: middle;
}
.svg-text-right {
    text-anchor: end;
}

/* 全体図、フロー図 */
g[id^="svg-item-wvtr"] text {
    text-anchor: end;
}

a:hover text {
    fill: #021ecd;
    text-decoration:underline;
}

.svg-item-blue {
    fill : blue;
}
.svg-item-orange {
    fill : orange;
}
.svg-item-white {
    fill: white;
}
.svg-item-green {
    fill : green;
}
.svg-item-red {
    fill : red;
}
.svg-item-yellow {
    fill : yellow;
}
.svg-item-springgreen {
    fill : springgreen;
}
.svg-item-silver {
    fill : silver;
}
.svg-item-pomp-red {
    fill : #FF0000;
}
.svg-item-pomp-green {
    fill : #009944;
}

/* ローディングくるくる
----------------------------------------------------*/
#loading, #ajax-loading {
  position: absolute;
  top: 0;
  right: 0;
  bottom: 0;
  left: 0;
  margin: auto;
  width: 10px;
  height: 10px;
  border-radius: 50%;
  box-shadow:
    0 -30px 0 0 #bbb,
    15px -26px 0 0 #aaa,
    26px -15px 0 0 #999,
    30px 0 0 0 #888,
    26px 15px 0 0 #777,
    15px 26px 0 0 #666,
    0 30px 0 0 #555,
    -15px 26px 0 0 #444,
    -26px 15px 0 0 #333,
    -30px 0 0 0 #222,
    -26px -15px 0 0 #111,
    -15px -26px 0 0 #000;
  animation: loading 1s infinite steps(12, start);
}
@keyframes loading {
  0% {
    transform: rotate(0deg);
  }
  100% {
    transform: rotate(360deg);  
  }
}
/* ローディング用オーバーレイ */
#loading-overlay, #ajax-loading-overlay{
  display: none;
  width: 100%;
  height:100%;
  text-align: center;
  position: fixed;
  top: 0;
  z-index: 100;
  background: rgba(0,0,0,.1);
}

.requiered-mark:after {
  content: "必須";
  color: #FF0000;
  background: #FFB6C1;
  font-size: 0.6em;
  margin: 0 0 0 5px;
  vertical-align: middle;
  border-radius: 20px;
}

/* 補正
----------------------------------------------------*/
/* padding */
.p0 {
  padding: 0!important;
}
/* margin */
.m0 {
  margin: 0!important;
}
/* margin-top */
.mt10 {
  margin-top: 10px!important;
}
/* margin-bottom */
.mb10 {
  margin-bottom: 10px!important;
}
.mb20 {
  margin-bottom: 20px!important;
}
/* margin-left */
.ml05 {
    margin-left: 5px !important;
}
.ml15 {
  margin-left: 15px!important;
}
.ml20 {
  margin-left: 20px!important;
}
.ml50 {
  margin-left: 50px!important;
}
.ml90 {
  margin-left: 90px!important;
}
.ml110 {
  margin-left: 110px!important;
}
.ml140 {
  margin-left: 140px!important;
}
.ml230 {
  margin-left: 230px!important;
}
.ml400 {
  margin-left: 400px!important;
}
.ml460 {
  margin-left: 460px!important;
}
/* margin-right */
.mr10 {
    margin-right: 10px !important;
}
.mr15 {
    margin-right: 15px !important;
}
.mr20 {
    margin-right: 20px !important;
}
/* width */
.w60 {
  width: 60px!important;
}
.w80 {
  width: 80px!important;
}
.w100 {
  width: 100px!important;
}
.w100p {
  width: 100%!important;
}
.w120 {
  width: 120px!important;
}
.w150 {
  width: 150px!important;
}
.w200 {
  width: 200px!important;
}
.w220 {
  width: 220px!important;
}
.w250 {
  width: 250px!important;
}
.w300{
  width: 300px!important;
}
.w350{
  width: 350px!important;
}
.w500 {
  width: 500px!important;
}
.w600 {
  width: 600px!important;
}
.w700 {
  width: 700px!important;
}
.w900 {
  width: 900px!important;
}
.ma-w300 {
  max-width: 300px!important;
}
/* height */
.h40p {
  height: 40%!important;
}
.h150 {
  height: 150px!important;
}
.h300 {
  height: 300px!important;
}
.h400 {
  height: 400px!important;
}
.h500 {
  height: 500px!important;
}
.h600 {
  height: 600px!important;
}
.h750 {
  height: 750px!important;
}

/* display */
.inline-block {
  display: inline-block!important;
}
/* font */
.font-bold {
  font-weight: bold!important;
}
.font-color-red {
  color: #DF0101;
}