﻿@charset "utf-8";
/* CSS Document */
*
{
	margin:0px;
	padding:0px;
}

html
{
	
	font-family:Verdana,Roboto,"Droid Sans","メイリオ",Meiryo,"ＭＳ Ｐゴシック","MS PGothic","ヒラギノ角ゴ ProN W3", "Hiragino Kaku Gothic ProN","ヒラギノ角ゴ Pro W3","Hiragino Kaku Gothic Pro",sans-serif;
	
	margin:0px;
	padding:0px;
	background-color: #FFFFFF;
	color:#333;
	font-size:20px;
	line-height:1em;
	vertical-align:baseline;
	text-align:center;
	overflow:hidden;
	touch-action:manipulation;
	
	outline: none;
    
    touch-action:manipulation;
}

input[type="number"]::-webkit-inner-spin-button,
input[type="number"]::-webkit-outer-spin-button,
input[type="text"]::-webkit-inner-spin-button,
input[type="text"]::-webkit-outer-spin-button
{
	-webkit-appearance: none;
	margin: 0;
}


.MathJax
{
	font-size: 0.5em;
}

body
{
	position:relative;
	
	/*長押しタッチのポップアップ制限*/
	-webkit-touch-callout:none;
	-moz-touch-callout:none;
	touch-callout:none;
	
	/*ブラウザ側での画像のドラッグでの選択を制限*/
	-webkit-user-select:none;
	-moz-user-select:none;
	-ms-user-select: none;
	-khtml-user-select:none;
	-webkit-user-drag:none;
	-khtml-user-drag:none;
	user-select:none;
	
	-webkit-appearance:none;
	
	display: flex;
    flex-direction: column;
	
	background-color:#cccccc;
}

div,p,span,img
{
	margin:0px;
	padding:0px;
}

text
{
	font-family:'Times New Roman', Times, 'serif';
	text-anchor:"start";
	dominant-baseline:"ideographic";
}


input[type=radio],input[type=checkbox]
{
	display: none;
	margin: 0;
	vertical-align:middle;
	line-height:1em;
}

input[type="number"]
{
	-moz-appearance:textfield;
	
	border:none;
	outline:none;
	
	font-size:1em;
	
	text-align:center;
	vertical-align:middle;
}

input[type="text"]
{
	-moz-appearance:textfield;
	
	border:none;
	outline:none;
	
	font-size:1em;
	
	text-align:center;
	vertical-align:middle;
}

input[type="number"].lineText
{
	width:60px;
	
	cursor:default;
	
	-ms-user-select:none;
    -webkit-user-select:none;
    -moz-user-select:none;
	user-select:none;
	
	text-align:center;
	vertical-align:middle;
	
	overflow:visible;
}


input[type="text"].lineText
{
	width:60px;
	
	cursor:default;
	
	-ms-user-select:none;
    -webkit-user-select:none;
    -moz-user-select:none;
	user-select:none;
	
	text-align:center;
	vertical-align:middle;
	
	overflow:visible;
}


input.dataText
{
	width:80px;
	
	border:none;
	background-color:#ffffff;
	outline:none;
	border-radius:6px;
	font-size:1em;
	text-align:center;
}

label
{
	position: relative;
	display: inline-block;
	padding-left:32px;
	cursor: pointer;
	vertical-align:middle;
	line-height:1em;
	font-size:1em;
}

label::before,
label::after {
	position: absolute;
	content: '';
}


label::before {
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	margin-top: -11px;
	background: #FFFFFF;
	border: 1px solid #007AC5;
	border-radius: 100%;
}

label::after {
	opacity: 0;
	top: 50%;
	left: 3px;
	width: 13px;
	height: 5px;
	margin-top: -5px;
	border-left: 2px solid #FFFFFF;
	border-bottom: 2px solid #FFFFFF;
	-webkit-transform: rotate(-40deg);
	transform: rotate(-40deg);
}

input[type="checkbox"]:checked + label::before {
	background: #007AC5;
	border: 1px solid #007AC5;
}

input[type="checkbox"]:checked + label::after {
	opacity: 1;
	-webkit-transform: rotate(-40deg);
	transform: rotate(-40deg);
}


/*色違いのチェックボックスは以下のcssを複製し，色とクラス名を設定する*/
input[type="checkbox"].checkGray:checked + label::before {
	background: #CCCCCC;
	border: 1px solid #CCCCCC;
}

input[type="checkbox"].checkBlack:checked + label::before {
	background: #000000;
	border: 1px solid #000000;
}

input[type="checkbox"].checkGreen:checked + label::before {
	background: #007700;
	border: 1px solid #007700;
}

input[type="checkbox"].checkRed:checked + label::before {
	background: #EE0000;
	border: 1px solid #EE0000;
}

input[type="checkbox"].checkOrange:checked + label::before {
	background: #ff7700;
	border: 1px solid #ff7700;
}

input[type="checkbox"].checkBlue:checked + label::before {
	background: #0000CC;
	border: 1px solid #0000CC;
}

input[type="checkbox"].checkPurple:checked + label::before {
	background: #8F4FA0;
	border: 1px solid #8F4FA0;
}



label.radioLabel::before,
label.radioLabel::after {
	position: absolute;
	content: '';
}


label.radioLabel::before {
	top: 50%;
	left: 0;
	width: 20px;
	height: 20px;
	margin-top: -11px;
	background: #FFFFFF;
	border: 1px solid #007AC5;
	border-radius: 100%;
}

label.radioLabel::after {
	opacity: 0;
	top: 50%;
	left: 5px;
	width: 10px;
	height: 10px;
	margin-top: -6px;
	background: #007AC5;
	border: 1px solid #007AC5;
	border-radius: 100%;
}

input[type="radio"]:checked + label.radioLabel::before {
	background: #ffffff;
	border: 1px solid #007AC5;
}

input[type="radio"]:checked + label.radioLabel::after {
	opacity: 1;
}


span.form
{
	font-size:1.25em;
	font-family:'Times New Roman', Times, 'serif';
}

span.borderNum
{
	display:inline-block;
	border:1px #000000 solid;
	line-height:1.2em;
	padding-left:4px;
	padding-right:4px;
}

span.dragSpan
{
	display:inline-block;
	padding:0px 5px;
}


.leftBlock
{
	float:left;
}

.rightBlock
{
	float:right;
}

.clear
{
	clear:both;
}

img.imgBtn
{
	width:auto;
	height:40px;
	vertical-align:middle;
	cursor:pointer;
}

img.imgBtn1
{
	width:auto;
	height:60px;
	vertical-align:middle;
	cursor:pointer;
}

img.imgBtn2
{
	width:auto;
	height:40px;
	vertical-align:middle;
	cursor:pointer;
}

img.menuBtn
{
	width:auto;
	height:20px;
	vertical-align:middle;
	cursor:pointer;
}

#main
{
	/*画面全体*/
	display:block;
	width: 100vw;
	min-width:100vw;
	height:100%;
	
	background-color:#FF0000;
	
	position:relative;
	
	overflow:hidden;
}

#svgBlock
{
	display:block;
	float:left;
	overflow:hidden;
	background-color:#FFFFFF;
	width:100vw;
	height:100vh;
	
	z-index:500;
}

#menuBlock
{
	position:absolute;
	text-align:left;
	
	background-color:#FFFFFF;
	border-top:1px solid #888888;
	border-right:1px solid #888888;
	height:100%;
	
	z-index:900;
}

#closeBlock
{
	display:block;
	position:absolute;
	text-align:left;
	top:0px;
	left:0px;
}

#backBlock
{
	display:block;
	text-align:left;
	top:0px;
	left:0px;
	margin:0px;
	padding:0px;
    border-bottom:1px solid #888888;
    width:100%;
}

#brwsBack
{
	margin:5px;
	padding:5x;
	width:40px;
	height:40px;
	cursor:pointer;
}

#setBlock
{
	display:block;
	position:relative;
	width:100%;
	height:100%;
	overflow:auto;
	text-align:left;
}

#setBlock p
{
	position:relative;
	padding-left:20px;
	line-height:2em;
}

#setBlock p.indent
{
	position:relative;
	padding-left:40px;
}
#setBlock p.form
{
	font-family:"Times New Roman";
	font-size:1.25em;
}

#bottomBlock
{
	position:absolute;
	width:100%;
	bottom:30px;
	text-align:center;
}


p.textBtn
{
	display:inline-block;
	cursor:pointer;
	
	text-decoration:none;
	font-size:1em;
	font-weight:bold;
	width:1.5em;
	line-height:0em;
	color:#007AC5;
	
	text-align:center;
	vertical-align:middle;
	
	background-color:#FFFFFF;
	
	border:2px solid #007AC5;
	
	overflow:hidden;
}

#setBlock hr
{
	padding:0px;
	border-top:1px solid #888888;
	border-left:none;
	border-bottom:none;
	border-right:none;
	margin-top:5px;
	margin-bottom:5px;
}

#setBlock ol
{
	font-size:1em;
	line-height:1.5em;
	padding-left:55px;
	margin-right:5px;
}

#setBlock ul
{
	list-style-type:disc;
	font-size:1em;
	line-height:1.5em;
	margin-left:1em;
	padding-left:1em;
	padding-right:1em;
}


#setBlock ul.under
{
	font-size:1em;
	line-height:2em;
	margin-left:1em;
	padding:0px;
	font-size:1em;
}

#setBlock ol.number{
	padding:0 0 0 0;
	margin:0 0 0 0;
}
 
#setBlock ol.number li.headNumber{
	list-style-type:none;
	list-style-position:inside;
	text-indent:-40px;
	padding-left:80px;
	padding-right:10px;
	text-align:left;
}
 
#setBlock ol.number li{
	list-style-type:none;
	list-style-position:inside;
	padding-left:40px;
	padding-right:10px;
	text-align:left;
}

#setBlock ol.number li:before{
	display:inline-block;
	text-align:left;
	padding-left:40px;
}

#setCorrection
{
	height:40px;
	color:#FFFFFF;
}

#menuOpen
{
	position:absolute;
	cursor:pointer;
}

#menuClose
{
	cursor:pointer;
}

#zoomBlock
{
	position:absolute;
	bottom:10px;
	right:10px;
	width:40px;
}

span.times
{
	font-family:'Times New Roman', Times, 'serif';
}

span.timesI
{
	font-family:'Times New Roman', Times, 'serif';
	font-style:italic;
}

span.imgSpan
{
	cursor:pointer;
}

span.imgSpan img
{
	cursor:pointer;
	vertical-align:middle;
}

img.sliderConfigBtn
{
	cursor:pointer;
	line-height:1em;
	vertical-align:middle;
	margin:0px 5px;
	padding:0px;	
}

.sliderBlock
{
	position:relative;
	display:block;
	margin-top:10px;
	margin-left:1em;
	margin-right:10px;
	margin-bottom:10px;
	border: 1px solid #000000;
	border-radius:10px;
	background-color:#FFFFFF;
	padding:10px;
}

.sliderBlock svg
{
	position:absolute;
	display:inline;
	top:-10px;
	left:0px;
}

.sliderControl
{
	display:block;
	position:relative;
	text-align:center;
}

img.sliderControlBtn
{
	width:30px;
	height:auto;
	cursor:pointer;
}

.sliderSvg
{
	display:block;
	position:relative;
	width:auto;
}

.sliderConfig
{
	display:block;
	width:auto;
	position:relative;
	text-align:center;
	vertical-align:middle;
	margin-top:5px;
}

#sliderMin
{
	display:inline-block;	
	width:40px;
	text-align:center;
	white-space: nowrap;
}

#sliderMax
{
	display:inline-block;
	width:40px;
	text-align:center;
	white-space: nowrap;
}

.minConfig
{
	display:inline-block;
	float:left;
}

.maxConfig
{
	display:inline-block;
	float:right;
}

.configText
{
	display:inline-block;
	width:3em;
	overflow:hidden;
	text-align:center;
}

img.sliderConfigBtn
{
	width:16px;
	height:auto;
	cursor:pointer;
}

/*右下のグラフの設定ボタン*/
#configBlock
{
	display:none;
	position:fixed;
	bottom:10px;
	right:10px;
	width:30px;
	text-align:center;
	z-index:300;
}

/*軸の目盛やグリッドの選択吹き出し*/
#configBalloon
{
	position:absolute;
	bottom:0px;
	right:30px;
	font-size:1em;
	display:none;
}

/*吹き出しの足*/
#configBalloon svg
{
	position:absolute;
	bottom:20px;
	right:0px;
}

/*吹き出しの中*/
#configBalloonBlock
{
	position:absolute;
	right:9px;
	bottom:0px;
	display:inline-block;
	padding:5px;
	border-radius:5px;
	border:1px solid #000000;
	text-align:center;
	background-color:#FFFFFF;
}

table#configTable
{
	background-color:#ffffff;
	border-collapse: collapse;
}

table#configTable span.configItem
{
	display:inline-block;
	color:#007AC5;
	cursor:pointer;
}

table#configTable td.topTd
{
	border-bottom:1px solid #000000;
	padding:0px 5px;
	vertical-align: baseline;
}

table#configTable th,td
{
	padding:5px;
}

table#configTable td.rightTd
{
	border-left:1px solid #000000;
}

table#configTable td.bottomTd
{
	border-top:1px solid #000000;
}

table#configTable td.leftTd
{
	border-right:1px solid #000000;
}

/*設定選択の吹き出し*/
#configSelectBalloon
{
	position:absolute;
	right:0px;
	bottom:0px;
	font-size:1em;
	background-color:#FF0000;
	display:none;
}

/*吹き出しの足*/
#configSelectBalloon svg
{
	position:absolute;
	bottom:10px;
	right:0px;
}

#configSelectBalloon div
{
	position:absolute;
	right:9px;
	bottom:0px;
	display:inline-block;
	padding:5px;
	border-radius:5px;
	border:1px solid #000000;
	text-align:left;
	background-color:#FFFFFF;
}

.menuBalloon
{
	position:absolute;
	display:inline-block;
	font-size:0.85em;
	z-index:100000;
}

.menuBalloon svg
{
	position:absolute;
	bottom:10px;
	left:0px;
}

.menuBalloon div
{
	position:absolute;
	left:9px;
	bottom:0px;
	display:inline-block;
	padding:5px;
	border-radius:5px;
	border:1px solid #000000;
	text-align:left;
	background-color:#FFFFFF;
}

.menuBalloon div.topBlock
{
	display:inline-block;
	padding:5px;
	border-radius:5px;
	border:1px solid #000000;
	text-align:left;
	background-color:#FFFFFF;
}

span.selectItem
{
	display:block;
	width:auto;
	white-space: nowrap;
	cursor:pointer;
	background-color:#ffffff;
	padding:2.5px 0px;
}

span.textBtn
{
	vertical-align:middle;
	border:2px solid #007AC5;
	border-radius: 6px;
	color:#007AC5;
	padding:5px 10px;
	cursor:pointer;
}

span.inputSpan
{
    vertical-align:middle;
    display:inline-block;	
	width:80px;
	text-align:center;
	white-space: nowrap;
}

.selectable
{
	color:#007AC5;
	cursor:pointer;
}

.selected
{
	color:#888888;
	cursor:default;
}

.selectText
{
	padding-left:5px;
	padding-right:5px;
	color:#007AC5;
	cursor:pointer;
}

.notes
{
	color:#003B96;
	font-size:0.75em;
	font-weight:bolder;
}

#resetBtn
{
    width:auto;
    height:30px;
	margin-top:0.5em;
	padding-bottom:40px;
}

table.dataTable
{
	background-color:#FFFFFF;
	text-align:center;
	border-collapse:collapse;
	border-spacing:0;
	border:1px solid #000000;
	font-size:1em;
	margin:0px 0px 20px 20px;
}

table#dataTable tr,th,td
{
	font-weight:normal;
	border:1px solid #000000;
	padding:10px;
}



/*分数の表示*/
table.frac
{
	display:inline-block;
	margin:0px;
	padding:0px;
	line-height:1em;
	border-collapse: collapse;
	
	text-align:center;
	vertical-align:middle;
}

/*分子*/
table.frac td.numer
{
	border:none;
	font-size:1em;
	line-height:1em;
	padding:0px 0px 2px 0px;
}

/*分母*/
table.frac td.denom
{
	border-top:1px solid #000000;
	border-right:none;
	border-bottom:none;
	border-left:none;
	font-size:1em;
	line-height:1em;
	padding:2px 0px 0px 0px;
}
table.frac td.denomS
{
	border-top:1px solid #007AC5;
	border-right:none;
	border-bottom:none;
	border-left:none;
	font-size:1em;
	line-height:1em;
	padding:2px 0px 0px 0px;
}

/*スライダー制御用*/
.menuSlider
{
	margin-left:40px;
	margin-right:10px;
	display:block;
}

.menuSliderCheck
{
	margin-left:20px;
	margin-right:10px;
	display:block;
}


.sliderLeft
{
	text-align:left;
	float:left;
	display:inline-block;
}


.sliderRight
{
	text-align:right;
	float:right;
	display:inline-block;
}

.sliderRight img
{
	width:30px;
    height:auto;
	margin-left:5px;
	margin-right:5px;
	cursor:pointer;
}

.menuSliderBlock
{
	display:block;
	width:auto;
	position:relative;
}

/*スライダーの設定変更用*/
#sliderConfig
{
	display:inline-block;
	text-align:left;
	line-height:2em;
}

.sliderHead
{
	margin-right:20px;
}

.sItem
{
	margin-left:20px;
	margin-right:20px;
}

.sItem img
{
	vertical-align:middle;
	cursor:pointer;
}

.sItemOff
{
	color:#007AC5;
	cursor:pointer;
	margin-left:20px;
	margin-right:20px;
}

.sItemOn
{
	color:#888888;
	cursor:default;
	margin-left:20px;
	margin-right:20px;
}

.sliderBar
{
	display:block;
	width:auto;
	height:40px;
	margin-left:30px;
	margin-right:30px;
	position:relative;
	background-color:rgba(255,255,255,0);
}

.sliderMinText
{
	display:inline-block;
	width:30px;
	height:40px;
	position:absolute;
	left:0px;
	top:0px;
	vertical-align:middle;
	font-size:0.85em;
	color:#000000;
}

.sliderMaxText
{
	display:inline-block;
	width:30px;
	height:40px;
	position:absolute;
	right:0px;
	top:0px;
	font-size:0.85em;
	color:#000000;
}

.sliderText
{
	position:absolute;
	top:50%;
	left:50%;
	text-align:center;
	transform: translateY(-50%) translateX(-50%);
	-webkit- transform: translateY(-50%) translateX(-50%);
	white-space: nowrap;
}



/*ポップアップウィンドウ*/
#modalWindow
{
	display:none;
	position:absolute;
	width:100%;
	height:100%;
	top:0px;
	left:0px;
	background-color:rgba(0, 0, 0, 0);
	margin:0px;
	text-align:center;
	vertical-align:middle;
	z-index:1000;
}

#modalBlock
{
	position:relative;
	display:inline-block;
	background-color:#FFFFFF;
	border:2px #cccccc solid;
	border-radius:20px;
	padding:20px;
	text-align:left;
}

#modalInner
{
	display:inline-block;
	position:relative;
}

#modalClose
{
	display:inline;
	width:40px;
	height:40px;
	position:absolute;
	right:-15px;
	top:-15px;
	cursor:pointer;
}

/*デバッグ用表示*/
#debugLine
{
	display:none;
}


.dragArea
{
	font-family:"Times New Roman";
	font-size:1.25em;
	display:inline-block;
	vertical-align:middle;
	position:relative;
	padding:0px;
	margin-left:0px;
	width:auto;
	
}

.dragArea ul
{
	padding:0px;
	margin:0px;
}


.dragArea span
{
	display:inline-block;
	height:40px;
	width:20px;
	vertical-align:text-bottom;
	background-color:rgba(0,0,0,0);
	text-align:center;
	font-size:1em;
}

.dragArea .headLeft
{
	position:absolute;
	left:20px;
	top:10px;
}

.dragArea .headRight
{
	position:absolute;
	right:0px;
	top:10px;
}

.dragArea li
{
	display:inline-block;
	vertical-align:middle;
	width:20px;
	height:40px;
	cursor:default;
}

#dataBlock
{
	background-color:rgba(0,0,0,0.5);
	position:absolute;
	top:0px;
	width:100vw;
	height:100vh;
	
	text-align:center;
}

#saveBlock
{
	background-color:#FFFFFF;
	width:400px;
	height:500px;
	text-align:center;
	margin:auto auto;
    padding:0px;
	position:relative;
}

#saveDisplay
{
    background-color:#FFFFFF;
    width:400px;
    height:500px;
    overflow:auto;
	text-align:center;
	position:absolute;
    top:0px;
    left:0px;
}

#saveSvg
{
	background-color:#FFFFFF;
	position:relative;
	width:auto;
	height:auto;
	overflow:visible;
}

#dataClose
{
	display:inline-block;
	position:absolute;
	top:0px;
	right:-22px;
	cursor:pointer;
	color:#FFFFFF;
	background-color:#333333;
	width:22px;
	height:22px;
	font-size:20px;
	text-align:center;
	vertical-align:middle;
	line-height:1em;
}

.formObject 
{
    pointer-events:none;
}


#gridBtn
{
    position:absolute;
    bottom:10px;
    right:10px;
}

table#loadingTable
{
	margin:0px;
	padding:0px;
    
    width:100vw;
	height:100vh;
    
	text-align:center;
	border-collapse:collapse;
	border-spacing:0;
	border:0px;
	opacity: 1;
	position:absolute;
	left:0px;
	top:0px;
	z-index:10000;
	color:#FFFFFF;
	font-size:1.5em;
	background-color:#000000;
}

table#loadingTable td
{
	vertical-align: middle;
	border:0px;
	background-color:#000000;
}

img#loadingGif
{
	margin:0px;
	padding:0px;
}

.swtichBlock
{
    display:inline-block;
    vertical-align:middle;
    float:left;
}

span.switchText
{
    display:inline-block;
    vertical-align:middle;
    line-height:30px;
    height:30px;
    float:left;
}

.splitFormSpan
{
    display:block;
    text-align:left!important;
}

