/* CSS Document */

:root{
	--dC-dialogBorder:#2343BC;
	--dC-topBar:linear-gradient(45deg, #52C851,#169B14);
	--dC-scrollBar:linear-gradient(0deg, #52C851, #169B14);
}
html { scroll-behavior: smooth;}
body{
	font-weight: 400;
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 2rem;
	width:100vw;
	overflow-x: hidden;
}
 body, input, textarea, select { font-size: 16px; }

#landing p{
	font-family: 'M PLUS 1p', sans-serif;
	transform: rotate(0.03deg); 	
	font-size: 2rem;
	max-width: 600px;
	text-align: left;
	margin: auto;
}
#landing h2{
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 4rem;
	font-weight: 800;	
	transform: rotate(0.03deg); 
}
#landing h3{
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 4rem;
	font-weight: 800;	
	transform: rotate(0.03deg); 
}
#landing h4{
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 2.5rem;
	font-weight: 800;	
	transform: rotate(0.03deg); 
}
#landing h5{
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 3rem;
	font-weight: 800;	
	transform: rotate(0.03deg); 
	background-color: #169B14;color:white;
	text-align: center;
	padding: 10px 0px;
	max-width: 640px;
	margin: 0px auto 20px;
}
#landing h6{
	font-family: 'M PLUS 1p', sans-serif;
	font-size: 2.5rem;
	font-weight: 800;	
	transform: rotate(0.03deg); 
	color:#169B14;
	text-align: center;
}
.tc{
	text-align: center;
}
.p10{padding: 10px 0px;	}
.p20{padding: 20px 0px;	}
.p30{padding: 30px 0px;	}
.p40{padding: 40px 0px;	}
.p50{padding: 50px 0px;	}
.p60{padding: 60px 0px;	}
.p70{padding: 70px 0px;	}
.pb10{padding-bottom: 10px;	}
.pb20{padding-bottom: 20px;	}
.pb30{padding-bottom: 30px;	}
.pb40{padding-bottom: 40px;	}
.pb50{padding-bottom: 50px;	}
.pb60{padding-bottom: 60px;	}
.pb70{padding-bottom: 70px;	}

.ib{
	display: inline-block;
}
.sp{
	display: none;
}
@media screen and (max-width: 764px) {
	#main{ max-width:360px;}
	.sp{display: inherit;}
	h3{font-size: 2.8rem;}
}

.statictext{
	padding: 50px 10px 70px;
}
.statictext p{
	margin-bottom: 40px !important;
}

a{
	text-decoration: none;
	color:#205FAB;
}
a:hover{
	color:#3695E3;
}

.desc{
	color:gray;
	font-size: 14px;
}
.help{
	color:white;
	background-color: #8FB9D4;
	border:none;
}

#topbar{
	background: var(--dC-topBar);
	padding: 4px;
	color:white;
}
#vmenu{
	background-color: #555555;
	position: fixed;
	height: 100vh;
	overflow: visible;
	z-index: 100;
	overflow-y: auto;
	padding: 10px;
	color:white;
	padding-top:50px;	
	width: 160px;
}
#vmenu >ol{
	padding-left: 0px;
	cursor: pointer;
}
#vmenu >ol >ol{
	padding-left: 20px;
}
#vmenu ol li{
	list-style: none;
	margin-bottom: 8px;
	color:white;
	border-radius: 3px;
	padding-left: 10px;
}
#vmenu ol a{
	text-decoration: none;
}
#vmenu ol li:hover{
	background-color: #D1D1D1;	
}
#vmenu li[aria-expanded="true"] {
	background-color: #D1D1D1;
	color:black;
}
#vmenu .active li{
	background-color: #E0F0F9;
	color:black;
}

#mainarea{
	padding: 30px;
	padding-left: 190px;
	padding-top: 50px;	
	background-color: #F8F8F8;
	width: 100%;
	position: absolute;
	min-height: 100vh;
}

.thinscrollbar::-webkit-scrollbar {
  width: 7px;
}
.thinscrollbar::-webkit-scrollbar-thumb {
  background: var(--dC-scrollBar);
  border-radius: 3px;
}
.thinscrollbar::-webkit-scrollbar-track {
  background: rgba(100,100,100, .8);
}

#dialog>div{
	text-align:center;
	padding: 30px;
	border: solid 2px var(--dC-dialogBorder);
	border-radius: 5px; 
	max-width: 420px;
	min-width: 420px;
	background-color: white;
	z-index: 100;	
}
@media screen and (max-width: 640px) {
#dialog>div{
	padding: 10px;
	border: solid 2px var(--dC-dialogBorder);
	border-radius: 5px;
	width:100%;
	min-width: 100vw;
	max-width: 100vw;
	position: relative;
}
}

.icon_info{
	width:320px;
	margin: auto;
}

.category{
	text-align: left;
	background-color: #2B52AC;
	border-radius: 10px;
	color:white;
	padding: 8px 20px;
	width:400px;
	max-width: 100%;
	font-size: 2rem;
	margin: 5px auto;
}
.questionlink{
	font-size: 2rem;
	text-align: left;
	border:solid 1px #00075E;
	padding: 10px;
	margin: 5px auto;
	width:96%;	
	background-color: #E1EDFF;
	color:#00064F;
}
.question{
	font-size: 2.4rem;
	text-align: left;
	border:solid 1px #00075E;
	padding: 10px 20px;
	margin: 5px auto 30px;
	width:96%;
	max-width: 800px;
	background-color: #E1EDFF;
}
.answer{
	padding: 5px;
	width:96%;
	
}


@media screen and (max-width: 764px) {
#faqform .form-control{
	width:75%;
	display: inline-block;
	}
#faqform button{
	width:20%;
	display: inline-block;
	}
}

/* tutorial */
.tutorial{
	width:100%;
	max-width:600px;
	margin: auto;
	padding: 0px 10px;	
}
.tutorial td{
	padding: 22px 0px!important;
	font-size: 18px;
	font-weight: bold;
}
.tutorial .play{
	position: relative;
	padding-right: 20px;	
	padding-left: 20px;	
}

.tutorial .badge{
	position: absolute;
	right:-10px;
	top:-7px;
	background-color: #DC0B0E;
	color:white;
	font-size: 16px;	
}
.tutorial a{
	color:#156B00;
}


/* chapter */

.projector {
    width: 360px;
	margin: 0px auto 0px;
	overflow: hidden;
    -webkit-transform: translateZ(0); /* Optional: When heavy at iOS6+ */
}
.projector .title{
	font-size:24px;
	background-color: #1F8A1C;
	color:white;
	padding: 10px 0px 8px 10px;
	line-height: 24px;
	border-radius: 10px 10px 0px 0px;
}
.projector .title a{
	color:white!important;
}
.flipsnap {
}

.flipsnap:after {
    content: '';
    display: block;
    clear: both;
    height: 0;
}
.pointer{
	text-align: center;
	color:lightgray;
}
.pointer .current{
	color:#29D400;
}

.movebtn{
	position: absolute;
	top:260px;
	font-size:28px;
	background-color: #1F8A1C;
	color:white;
	z-index:100;
	line-height: 28px;
	padding: 4px 12px;border-radius: 10px;
}

.slide {
    float: left;
    width: 360px;
}
.slide .inner{
	height: 70vh;
	max-height: 500px;
	
    font-size: 16px;
    text-align: center;
    padding: 5px;
    background: #EFEFEF;
    border: 5px solid #1F8A1C;
    color: #666;
	position: relative;
	top:-2px;
	border-radius: 0px 0px 10px 10px;
}
.slide .picture{
	position: relative;
	width:100%;
	max-width: 280px;
}
.slide .text{
	text-align: left;
	margin-top: 10px;
}
.tutorialfin{
	position: absolute;
	z-index: 100;
	width:70px;
	height:70px;
	top:5px;
	left:-60px;
}

/* tour */
.tour{
	width:100%;
	max-width:1200px;
	margin: auto;
	padding: 0px 10px;
	text-align: center;
}
.slidebox{
	position: relative;
	width:100%;
	max-width:480px;
	margin: auto;	
}
.tour .picture img{
	margin: auto;
}
.tour .card{
	width:100%;
	max-width: 332px;
	padding: 5px;
	border: solid 1px black;
	margin: 5px;
	cursor: pointer;
	height: 200px;
	overflow-y: hidden;
	display: inline-block;
	background-color: white;
}
.tour .title{	
	text-align: left;
	margin: auto;
	font-weight: bold;
}
.tour .desc{
	text-align: left;
	margin: auto;
}

.tour .play{
	position: relative;
	padding-right: 20px;	
	padding-left: 20px;	
}

.tour .projector .title{
	background-color: #E36200;
}
.tour .slide .inner{
    background: white;
    border: 5px solid #E36200;
    color: #000;
	height: 65vh;
	max-height: 400px;	
	padding-left: 20px;
	padding-right: 20px;
}
.tour .pointer .current{
	color:#F78200;
}
.tour .movebtn{
	background-color: #E36200;
	top:220px;
}
.tour .projector .title{
	padding: 10px 0px 8px 0px;
	line-height: 24px;
	border-radius: 10px 10px 0px 0px;
	text-align: center;
}
.tour .tlink{
	display: block;
	margin: 10px auto;
	background-color: #1F8A1C;
	color:white;
	text-align: center;
	padding: 4px;
	border-radius: 4px;
}
.tour .tlink:hover{
	text-decoration: none;
}
.tour .slide .picture{
	position: relative;
	width:inherit;
	max-width: 300px;
}
.tour .tlink{
	background-image: url(/svg/tutorial_btn.svg);
	background-repeat: no-repeat;
}

@media screen and (min-width: 480px) {
.movebtn{
	top:260px;
	font-size:40px;
	line-height: 40px;
	padding: 8px 18px;
}
}

@media screen and (max-width: 764px) {
	.magic-table td,.magic-table th{
		display: block;
		border: none !important;
	}
	.magic-table tr{
		display: inline-block;
		border: none !important;
	}
	.magic-table th{
		padding-bottom: 0px !important;
	}	
	.magic-table td{
		padding-top: 0px !important;
	}		
}

.btmmenu{
	text-align: center;
	background-color: #454545;	
	color:white;
}

.btmmenu div{
	padding: 8px;	
	font-size: 10px;
	line-height: 10px;
	font-weight: bold;
	cursor: pointer;
}.btmmenu i{
	font-size: 24px;
	margin-top: 4px;
	margin-bottom: 8px;
}

.policybox{
	width:100%;overflow-y: scroll;height: 150px;border:solid 1px #7E7E7E;padding: 10px;margin-bottom: 10px;
}
.policybox p{
	font-size: 1.5rem !important;
}

.helpmenu{
	width:100%;
	float: left;
	cursor: pointer;
	border-radius: 10px;
}
.helpmenu div{
	margin: 0px 0px 5px;
	height:80px;
	text-align: left;
	color:white;
	padding: 6px 10px;
	font-size: 1.4rem;
}
.helpmenu div strong{
	display: block;
	font-size: 1.8rem;
	text-align: center;
}

/* new index */

h1{margin: 0px;display: inline;font-size: 16px;}
h2{margin: 0px;display: inline;font-size: 16px;}

#maincontent{
	padding-top: 50px;
	overflow-x: hidden;
}
	
#globalmenu .navbar-default{
	background-image: none;
	box-shadow: none;
	border: none;
	background-color: #EDEDED;
}

#globalmenu .nav>li>a{
	padding: 6px 10px;
	margin: 9px;
	background-color: white;
	border-radius: 5px;
	font-size: 14px;
	font-weight: 700;
}

.topimage{
	width:100vw;overflow-x: hidden;	
}
#toptitle .catchcopy{
	color:#ED5124;font-size: 20px;font-weight: 700;	
}
#toptitle .logo{
	height:50px;max-width:90vw;	
}
#toptitle .text{
	max-width:300px;display: inline-block;text-align: left;margin: 15px 0px;font-weight: 500;	
}

#topsp{
	position: absolute;z-index: 100;left: 50%;
	pointer-events: none;
}
#topsp img{
	position: relative;
	left:-160px;	
	top:-20px;
}
#topgreen{
	background-image: url(/img2/topgreen.jpg);
	height: 400px;
	background-position: right;
	background-repeat: no-repeat;	
}
#toptitle>div{
text-align: center;display: inline-block;padding: 30px 0px 0px 60px;	
}
#toptitle{
height: 400px;	
transform: rotate(0.03deg); 	
}
#topabout{
	padding: 20px;max-width:900px;margin: auto;text-align: left;
}
#topabout #sp5{
	position: relative;
	top:-20px;
	left:-400px;
}
#topabout div2{
text-align: center;display: inline-block;padding: 30px 0px 0px 60px;
	max-width: 400px;
	position: relative;
}
.svgtitle{
	height:40px;
	margin: 15px 0px 30px;	
}

.block1{
	padding: 20px;
	text-align: center;
	transform: rotate(0.03deg); 	
}
.block2{
	padding: 0px;margin: auto;max-width: 900px;text-align: center;transform: rotate(0.03deg); 
}

.news{
	padding-top: 50px;
	background-color:#DEFFE2;
}
.minibtn{
	height: 29px;	
}
#abouttext{
	padding: 40px 0px 0px 60px;	
	z-index: 100;
	text-shadow: 1px 1px #fff;
}
.bridgetext{
	font-family: 'Noto Sans JP', sans-serif;
	font-size: 24px;
	font-weight: 500;
}
.awake{
	background-repeat: no-repeat;
	background-position:  center top 20px;
	background-size:contain ;
	text-align: center;
	min-height: 280px;
}
.awake1{background-image: url(/svg2/awake1b.svg);}
.awake2{background-image: url(/svg2/awake2b.svg);}
.awake3{background-image: url(/svg2/awake3b.svg);}

.awakehead{
	width:240px;	
}
.awake a img{
	width:240px;	
}
.awake .text{
	text-align: left;
	width:70%;
	display: inline-block;
	margin-bottom: 30px;
}
.awake a{
	display: inline-block;
	margin-bottom: 4px;
}
#awakeblock{
	margin-top: 40px;
}

.voice{
	margin: 0px 10px 30px;
	background-color: white;
	padding: 15px;
	text-align: center;
	filter: drop-shadow(3px 3px 4px #999999);
	overflow: hidden;
}
.voice img{width:100%;max-width: 280px;margin:0px auto 10px;}
.voice .title{font-family: 'Noto Sans JP', sans-serif;font-size: 22px;font-weight: 700;text-align: left;}
.voice .body{font-size: 14px;font-weight: 400;margin: 10px 0px;text-align: left;}
.voice .auth{font-size: 18px;font-weight: 700;text-align: right;}
.voiceblock .disc{text-align: right;font-size: 12px;color:#5E5E5E;max-width: 900px;margin: auto;}
.voiceblock .row,#voiceslider{max-width: 900px;margin: auto;}
.voiceblock h2 img{max-width: 80%;height:40px;margin: 15px 0px 30px;}

#functionblock{
	background-image: url(/img2/spimage7.jpg);
	height: 280px;
	background-size: cover;
	background-position: center center;
	position: relative;
}
#functionblock img{
	position: absolute;
}
#functionblock .i1{	width:280px;top:80px;left:50px;	}
#functionblock .i2{	width:240px;top:100px;right:50px;	}
#functionblock .i3{	width:240px;top:100px;right:50px;display: none;}

#docsblock{
	background-image: url(/img2/docback.jpg);
	background-size: cover;
	background-position: center center;
	position: relative;
}


#tourblock{
	background-image: url(/img2/tour.jpg);
	height: 280px;
	background-size: cover;
	background-position: center top -50px;
	position: relative;
}
#tourblock img{
	position: absolute;
}
#tourblock .i1{	width:240px;top:30px;left:50px;	}
#tourblock .i2{	width:240px;top:30px;right:150px;	}

#spectable{width:100%;max-width: 720px;border: solid 1px black;border-collapse: collapse;background-color: white;margin: auto;}
#spectable td{padding: 10px;border:solid 1px gray;}
#spectable .c1{width:30%;}
#spectable .c2{width:70%;}

#functionblock2{
	
}
#functionblock2 .fi1{	height: 260px;width:260px;border-radius: 130px;background-color: lightgray;position: absolute;background-image: url(/img2/picture.jpg);background-size: cover;}
#functionblock2 .fi2{	height: 260px;width:260px;border-radius: 130px;background-color: lightgray;position: absolute;right:0px;background-image: url(/img2/selfcheck.jpg);background-size: cover;	}
#functionblock2 .ft1{	padding:10px 0px 0px 260px;}
#functionblock2 .ft2{	padding:30px 260px 0px 0px;text-align: right;}

@media screen and (max-width: 764px) {
	
#functionblock2 .fi1{	left:-130px;	}
#functionblock2 .fi2{	right:-130px;top:50px;	}
#functionblock2 .ft1{	padding:30px 0px 0px 130px;}
#functionblock2 .ft2{	padding:30px 130px 0px 0px;}
	
#tourblock{
	background-size: 200%;
	background-position: left 0px center;
	width:100vw;
	overflow-x: hidden;
}	
#tourblock .i1{	width:200px;top:20px;left:20px;	}
#tourblock .i2{	width:240px;top:140px;left:20px;right:auto;	filter: invert(100%) }
	
#functionblock{	background-position: left;background-size: 200%;}
#functionblock .i1{	width:240px;top:50px;left:20px;	}
#functionblock .i2{	display: none;	}
#functionblock .i3{	width:240px;top:180px;left:20px;right:auto;display:block; }	
#awakeblock{
	margin-top: 0px;
}
.awake{
	background-position:  left -60px top 0px;
	text-align: left;
	padding-top: 60px;
}
.awakehead{
	width:40%;
	float: left;
}	
.awake a{
	display: block;
	text-align: right;
	padding-right: 30px;
}	
	
.awake .text{
	display: inline-block;
	width:58%;
	margin-bottom: 20px;
}	
	
	
#topsp{
	left:20px;
}
#topsp img{
	left:0px;
}
#topgreen{
background-position: right -100px top 0px;
}	
#toptitle{
	text-align: center;
	margin-bottom: 50px;
	}
#toptitle>div{
padding: 50px 0px 0px 0px;	
}	
.block1{
	padding: 50px 10px;
	width:100vw;
	overflow-x: hidden;
	}
.svgtitle{
	max-width: 300px;
}
#topabout #sp5{
	left:-25%;
	max-width: 150%;
}	
#abouttext{
	padding: 30px 20px 30px;
	text-align: center;
}
	
}

@media screen and (max-width: 380px) {
#topgreen{
background-position: right -160px top 0px;
}	
#topsp img{
	left:-30px;
}	
}

/* manage */

#manage{
		
}
#manage h1{
	display: block;
	font-size: 30px;
	font-weight: bold;
	margin: 0px 0px 40px;
	padding-top: 20px;
}
#manage h2{
	display: block;
	font-size: 28px;
	font-weight: bold;
	margin: 80px 0px 40px;
	padding-top: 20px;
	border-top:solid 1px #DDD;
}
#manage p,#manage ol{
	display: block;
	margin: 30px 0px;
}
#manage .desc div,#manage ol li{
	margin-bottom: 20px;		
}

/* dataviewer */

#dataviewerdesc{
		
}
#dataviewerdesc h1{
	display: block;
	font-size: 30px;
	font-weight: bold;
	margin: 0px 0px 40px;
	padding-top: 20px;
}
#dataviewerdesc h2{
	text-align: center;
	display: block;
	font-size: 28px;
	font-weight: bold;
	margin: 30px 0px 40px;
}
#dataviewerdesc p,#dataviewerdesc ol{
	display: block;
	margin: 30px 0px;
}
#dataviewerdesc .desc div,#dataviewerdesc ol li{
	margin-bottom: 20px;		
}
#dataviewerdesc .greenbox{
	border: solid 2px #0EA707;border-radius: 10px;padding: 20px;margin-top: 70px;	
}
.stepbtn{
	max-width:200px;
	margin: 0px auto;
	position: relative;
	top:10px;
	z-index: 100;
}

#dataviewerdesc .mark{
	font-size: 12px;
	padding: 2px 10px;
	border-radius: 4px;
	color:white;
	background-color: #5C5C5C;
	margin-left: 10px;
	display: inline-block;
}
#dataviewerdesc .mark1{background-color: #14C100;}
#dataviewerdesc .mark2{background-color: #F4A700;}


/* dv menu */

#dvmenu div{
	height: 160px;
	text-align: center;
	border:solid 1px #428313;
	border-radius: 8px;
	padding: 20px;
}
.dvindextable tr:hover{
	background-color: #F7FFDB;	
}
.dvindextable .unit{
	color:gray;
	font-size: 12px;
}

/* loader */
.load{
	position:fixed;
	top: 50%;
	left: 50%;
	margin-right: -50%;
	transform: translate(-50%, -50%);
	z-index:1000;
	cursor: wait;
	background-color: #333333;
	height: 100%;
	width:100%;
	opacity:0.5;
}
.loader {
	border: 8px solid #E3FCE7;
	border-radius: 50%;
	margin:auto;
	border-top: 8px solid #227B08;
	width: 60px;
	height: 60px;
	animation: spin 1s linear infinite;
}
@keyframes spin{
0%{
transform: rotate(0deg);
}
100%{
transform: rotate(360deg);
}
}
.load1{
	animation: sk-scaleout 1.0s infinite ease-in-out;
	position:fixed;
	top: 50%;
	left: 50%;	
	margin-right: -50%;
	transform: translate(-50%, -50%);
	z-index:1001;
	text-align: center;
	background-color: black;
	color:#ffffff;
	opacity:1;
	padding: 20px;
}

.datatable th,.datatable td{
	text-align: center!important;
}

/* chart */
#chart-container{
margin-top: 70px;
  position: relative;
  height:50vw;
  max-height: 80vh;
  overflow: hidden;
}

